thursday-agent 0.5.0 → 0.7.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 (667) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +3 -2
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.json +8 -1
  6. package/.next/routes-manifest.json +18 -6
  7. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +13 -13
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/.next/server/app/api/artifact/route.js +10 -6
  21. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  22. package/.next/server/app/api/bot/memory/files/route.js +5 -4
  23. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  24. package/.next/server/app/api/bot/memory/route.js +8 -8
  25. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  26. package/.next/server/app/api/bot/route.js +8 -8
  27. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  28. package/.next/server/app/api/bot/thread/[id]/route/app-paths-manifest.json +3 -0
  29. package/.next/server/app/api/bot/thread/[id]/route.js +15 -0
  30. package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -0
  31. package/.next/server/app/api/bot/thread/[id]/route_client-reference-manifest.js +3 -0
  32. package/.next/server/app/api/bot/thread/route/app-paths-manifest.json +3 -0
  33. package/.next/server/app/api/bot/thread/route.js +15 -0
  34. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -0
  35. package/.next/server/app/api/bot/thread/route_client-reference-manifest.js +3 -0
  36. package/.next/server/app/api/config/route.js +7 -7
  37. package/.next/server/app/api/config/route.js.nft.json +1 -1
  38. package/.next/server/app/api/events/route.js +3 -3
  39. package/.next/server/app/api/events/route.js.nft.json +1 -1
  40. package/.next/server/app/api/file/[...path]/route.js +4 -4
  41. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  42. package/.next/server/app/api/llm-model/catalog/route.js +8 -8
  43. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/credits/route.js +8 -8
  45. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
  46. package/.next/server/app/api/llm-model/route.js +8 -8
  47. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  48. package/.next/server/app/api/llm-model/subscription/route.js +8 -8
  49. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  50. package/.next/server/app/api/mcp/[name]/route.js +6 -6
  51. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  52. package/.next/server/app/api/mcp/oauth/callback/route.js +4 -4
  53. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  54. package/.next/server/app/api/mcp/route.js +6 -6
  55. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  56. package/.next/server/app/api/mcp/tools/route.js +6 -6
  57. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  58. package/.next/server/app/api/memory/edit/route.js +15 -15
  59. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  60. package/.next/server/app/api/memory/route.js +7 -6
  61. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  62. package/.next/server/app/api/skills/[source]/[name]/route.js +6 -6
  63. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/skills/route.js +6 -6
  65. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  66. package/.next/server/app/api/thursday/call/route.js +10 -11
  67. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  68. package/.next/server/app/api/thursday/skills/route.js +9 -10
  69. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  70. package/.next/server/app/api/thursday/tool-call/route.js +15 -15
  71. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  72. package/.next/server/app/api/workspace/missing/route/app-paths-manifest.json +3 -0
  73. package/.next/server/app/api/workspace/missing/route/build-manifest.json +12 -0
  74. package/.next/server/app/api/workspace/missing/route/server-reference-manifest.json +4 -0
  75. package/.next/server/app/api/workspace/missing/route.js +12 -0
  76. package/.next/server/app/api/workspace/missing/route.js.map +5 -0
  77. package/.next/server/app/api/workspace/missing/route.js.nft.json +1 -0
  78. package/.next/server/app/api/workspace/missing/route_client-reference-manifest.js +3 -0
  79. package/.next/server/app/api/workspace/route.js +5 -5
  80. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  81. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  82. package/.next/server/app/artifact/[...path]/page.js +4 -3
  83. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  84. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  86. package/.next/server/app/page/server-reference-manifest.json +67 -45
  87. package/.next/server/app/page.js +11 -9
  88. package/.next/server/app/page.js.nft.json +1 -1
  89. package/.next/server/app/page_client-reference-manifest.js +1 -1
  90. package/.next/server/app-paths-manifest.json +3 -2
  91. package/.next/server/chunks/[root-of-the-server]__0-06t3f._.js +8 -0
  92. package/.next/server/chunks/[root-of-the-server]__02846fb._.js +8 -0
  93. package/.next/server/chunks/[root-of-the-server]__05luceg._.js +3 -0
  94. package/.next/server/chunks/[root-of-the-server]__06--3q3._.js +8 -0
  95. package/.next/server/chunks/[root-of-the-server]__06l05n_._.js +3 -0
  96. package/.next/server/chunks/[root-of-the-server]__07bnah_._.js +3 -0
  97. package/.next/server/chunks/[root-of-the-server]__08eae20._.js +8 -0
  98. package/.next/server/chunks/[root-of-the-server]__0_ue8oe._.js +3 -0
  99. package/.next/server/chunks/[root-of-the-server]__0btqrct._.js +3 -0
  100. package/.next/server/chunks/[root-of-the-server]__0c9fgca._.js +5 -0
  101. package/.next/server/chunks/[root-of-the-server]__0h_x6q6._.js +5 -0
  102. package/.next/server/chunks/{[root-of-the-server]__0pa2n68._.js → [root-of-the-server]__0kxrvxf._.js} +2 -2
  103. package/.next/server/chunks/{[root-of-the-server]__0q0vvt2._.js → [root-of-the-server]__0ov3iir._.js} +2 -2
  104. package/.next/server/chunks/[root-of-the-server]__0qwtlmx._.js +8 -0
  105. package/.next/server/chunks/[root-of-the-server]__0sm5xvm._.js +3 -0
  106. package/.next/server/chunks/[root-of-the-server]__0zp35ul._.js +5 -0
  107. package/.next/server/chunks/[root-of-the-server]__144u9d_._.js +3 -0
  108. package/.next/server/chunks/[root-of-the-server]__18-2tsq._.js +5 -0
  109. package/.next/server/chunks/[root-of-the-server]__1e-ci13._.js +3 -0
  110. package/.next/server/chunks/[root-of-the-server]__1e2365e._.js +8 -0
  111. package/.next/server/chunks/[root-of-the-server]__1fix932._.js +8 -0
  112. package/.next/server/chunks/{[root-of-the-server]__0ce8nf8._.js → [root-of-the-server]__1g3t7vn._.js} +3 -3
  113. package/.next/server/chunks/[root-of-the-server]__1kp-83u._.js +5 -0
  114. package/.next/server/chunks/[root-of-the-server]__1kv8p3e._.js +5 -0
  115. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +2 -3
  116. package/.next/server/chunks/_02szwk8._.js +5 -0
  117. package/.next/server/chunks/_05h2cii._.js +1 -1
  118. package/.next/server/chunks/_06c9kie._.js +216 -0
  119. package/.next/server/chunks/{_1x6kd1r._.js → _07y2gj-._.js} +1 -1
  120. package/.next/server/chunks/_0a43a-0._.js +3 -0
  121. package/.next/server/chunks/_0bujjey._.js +5 -0
  122. package/.next/server/chunks/_0c9j6rb._.js +1 -1
  123. package/.next/server/chunks/_0dkd549._.js +3 -0
  124. package/.next/server/chunks/_0ej1kvv._.js +3 -0
  125. package/.next/server/chunks/_0f6ts7z._.js +3 -0
  126. package/.next/server/chunks/_0gm9hyv._.js +55 -0
  127. package/.next/server/chunks/_0i55en5._.js +25 -0
  128. package/.next/server/chunks/_0k50n27._.js +18 -0
  129. package/.next/server/chunks/_0khihjk._.js +3 -3
  130. package/.next/server/chunks/_0n74zsf._.js +5 -5
  131. package/.next/server/chunks/_0nvm9ef._.js +3 -0
  132. package/.next/server/chunks/_0p56fn0._.js +3 -0
  133. package/.next/server/chunks/_0recufk._.js +1 -1
  134. package/.next/server/chunks/_0xbkz10._.js +3 -0
  135. package/.next/server/chunks/_10tkr26._.js +3 -0
  136. package/.next/server/chunks/{_0ioz3nd._.js → _11u2kp7._.js} +1 -1
  137. package/.next/server/chunks/_11ujpya._.js +3 -0
  138. package/.next/server/chunks/_127nx_p._.js +5 -0
  139. package/.next/server/chunks/_17l5ygt._.js +1 -1
  140. package/.next/server/chunks/_19uauj6._.js +3 -0
  141. package/.next/server/chunks/_1_5mnq4._.js +5 -5
  142. package/.next/server/chunks/_1abl6t9._.js +55 -0
  143. package/.next/server/chunks/_1d0j961._.js +3 -3
  144. package/.next/server/chunks/_1dbixxz._.js +3 -0
  145. package/.next/server/chunks/_1dc_d1q._.js +98 -0
  146. package/.next/server/chunks/_1drgfx4._.js +5 -5
  147. package/.next/server/chunks/_1e48czp._.js +3 -3
  148. package/.next/server/chunks/_1f31u5x._.js +5 -0
  149. package/.next/server/chunks/_1gnjfli._.js +3 -0
  150. package/.next/server/chunks/_1kg70wc._.js +3 -3
  151. package/.next/server/chunks/_1klbcft._.js +5 -0
  152. package/.next/server/chunks/_1krd9rf._.js +4 -1
  153. package/.next/server/chunks/_1kwmzab._.js +3 -0
  154. package/.next/server/chunks/{_1pf4qe-._.js → _1oxj9fa._.js} +1 -1
  155. package/.next/server/chunks/{_1f46eie._.js → _1pcmdbb._.js} +1 -1
  156. package/.next/server/chunks/_1qgix-j._.js +3 -0
  157. package/.next/server/chunks/{lib_logger_ts_1exwjut._.js → _1rpchta._.js} +5 -5
  158. package/.next/server/chunks/_1vsej-s._.js +5 -0
  159. package/.next/server/chunks/_1yx0p_s._.js +5 -0
  160. package/.next/server/chunks/{_0rnf-6n._.js → _20fsr_z._.js} +6 -6
  161. package/.next/server/chunks/_2128hkj._.js +5 -0
  162. package/.next/server/chunks/_next-internal_server_app_api_bot_thread_[id]_route_actions_1fstjn2.js +3 -0
  163. package/.next/server/chunks/_next-internal_server_app_api_bot_thread_route_actions_003ccso.js +3 -0
  164. package/.next/server/chunks/_next-internal_server_app_api_workspace_missing_route_actions_1fidi6p.js +3 -0
  165. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  166. package/.next/server/chunks/features_0-cnt0l._.js +4 -0
  167. package/.next/server/chunks/features_0hdaci0._.js +4 -0
  168. package/.next/server/chunks/features_1e39j7-._.js +8 -0
  169. package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +1 -1
  170. package/.next/server/chunks/features_memory_1uqvksn._.js +1 -1
  171. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0v_7drq._.js → node_modules_consola_dist_chunks_prompt_mjs_0a7-pbw._.js} +1 -1
  172. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_17k8irj._.js → node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js} +1 -1
  173. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0i7cvml._.js → node_modules_consola_dist_chunks_prompt_mjs_107pxfn._.js} +1 -1
  174. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0icqaqw._.js → node_modules_consola_dist_chunks_prompt_mjs_15hbel8._.js} +1 -1
  175. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_18i-23e._.js +3 -0
  176. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1bewgf3._.js +3 -0
  177. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1nlww1m._.js +3 -0
  178. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1q77nfx._.js +3 -0
  179. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xqdzx_._.js +3 -0
  180. package/.next/server/chunks/{node_modules_zod_v4_1801ax7._.js → node_modules_zod_v4_0lkux5-._.js} +2 -2
  181. package/.next/server/chunks/{node_modules_zod_v4_1cha_bw._.js → node_modules_zod_v4_1jmr9cq._.js} +2 -2
  182. package/.next/server/chunks/{node_modules_zod_v4_0ubdflj._.js → node_modules_zod_v4_1yrxmek._.js} +2 -2
  183. package/.next/server/chunks/node_modules_zod_v4_classic_errors_0tp0y-q.js +3 -0
  184. package/.next/server/chunks/ssr/[root-of-the-server]__0-e011f._.js +3 -0
  185. package/.next/server/chunks/ssr/[root-of-the-server]__09q9med._.js +1 -1
  186. package/.next/server/chunks/ssr/[root-of-the-server]__0lyi8i2._.js +1 -1
  187. package/.next/server/chunks/ssr/[root-of-the-server]__0pd8yr7._.js +3 -0
  188. package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
  189. package/.next/server/chunks/ssr/[root-of-the-server]__18dthbp._.js +3 -0
  190. package/.next/server/chunks/ssr/[root-of-the-server]__18e68w8._.js +3 -0
  191. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  192. package/.next/server/chunks/ssr/[root-of-the-server]__1nygfik._.js +5 -0
  193. package/.next/server/chunks/ssr/[root-of-the-server]__1sdphb0._.js +8 -0
  194. package/.next/server/chunks/ssr/[root-of-the-server]__1vdmfbe._.js +3 -0
  195. package/.next/server/chunks/ssr/[root-of-the-server]__1waa3rc._.js +85 -0
  196. package/.next/server/chunks/ssr/_0-2qsxo._.js +3 -0
  197. package/.next/server/chunks/ssr/_00rehl_._.js +3 -0
  198. package/.next/server/chunks/ssr/{_1lz_cq2._.js → _02oc_h5._.js} +76 -97
  199. package/.next/server/chunks/ssr/_05yghx6._.js +3 -0
  200. package/.next/server/chunks/ssr/_07nbwap._.js +3 -0
  201. package/.next/server/chunks/ssr/_08c4z-9._.js +3 -0
  202. package/.next/server/chunks/ssr/_0_qfdlw._.js +4 -0
  203. package/.next/server/chunks/ssr/{_0m2lsd1._.js → _0b6_jv-._.js} +2 -2
  204. package/.next/server/chunks/ssr/_0evkpto._.js +3 -0
  205. package/.next/server/chunks/ssr/_0geg212._.js +3 -0
  206. package/.next/server/chunks/ssr/{_1jdgjv9._.js → _0hxt2ul._.js} +2 -2
  207. package/.next/server/chunks/ssr/_0i_6q1w._.js +2 -2
  208. package/.next/server/chunks/ssr/_0lu1n_x._.js +1 -1
  209. package/.next/server/chunks/ssr/_0no7i1o._.js +3 -0
  210. package/.next/server/chunks/ssr/_0tzg--b._.js +3 -0
  211. package/.next/server/chunks/ssr/{_15j2_8f._.js → _0wzaht-._.js} +2 -2
  212. package/.next/server/chunks/ssr/_0z-g0uy._.js +3 -0
  213. package/.next/server/chunks/ssr/_114ylv7._.js +7 -0
  214. package/.next/server/chunks/ssr/_123y-ah._.js +3 -0
  215. package/.next/server/chunks/ssr/_12c-iwh._.js +3 -0
  216. package/.next/server/chunks/ssr/_12w42gi._.js +3 -0
  217. package/.next/server/chunks/ssr/_161kqav._.js +3 -0
  218. package/.next/server/chunks/ssr/_167hchk._.js +3 -0
  219. package/.next/server/chunks/ssr/{_0ap2fzn._.js → _16c6_xm._.js} +2 -2
  220. package/.next/server/chunks/ssr/_18opah7._.js +3 -0
  221. package/.next/server/chunks/ssr/_1_krfph._.js +3 -0
  222. package/.next/server/chunks/ssr/{_0rzucul._.js → _1_x5spz._.js} +3 -3
  223. package/.next/server/chunks/ssr/_1a61fc9._.js +3 -0
  224. package/.next/server/chunks/ssr/_1ey7qn-._.js +70 -0
  225. package/.next/server/chunks/ssr/_1g9vs7q._.js +3 -0
  226. package/.next/server/chunks/ssr/_1jmz33w._.js +3 -0
  227. package/.next/server/chunks/ssr/_1rgtxhr._.js +5 -0
  228. package/.next/server/chunks/ssr/_1slp25y._.js +3 -0
  229. package/.next/server/chunks/ssr/_1w_t7h7._.js +101 -0
  230. package/.next/server/chunks/ssr/{_0s99bgb._.js → _1wyfaq_._.js} +9 -3
  231. package/.next/server/chunks/ssr/_200gt-m._.js +102 -0
  232. package/.next/server/chunks/ssr/components_ui_tabs_tsx_0ej40b4._.js +3 -0
  233. package/.next/server/chunks/ssr/features_bot_thread_query_ts_023eklt._.js +4 -0
  234. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  235. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  236. package/.next/server/chunks/ssr/features_workspace_00jz2hu._.js +8 -0
  237. package/.next/server/chunks/ssr/{_1-teee5._.js → lib_logger_ts_0-olsze._.js} +2 -7
  238. package/.next/server/chunks/ssr/{node_modules_05-n6dz._.js → node_modules_02ai7br._.js} +1 -1
  239. package/.next/server/chunks/ssr/{node_modules_1chvq5f._.js → node_modules_02deexj._.js} +1 -1
  240. package/.next/server/chunks/ssr/{node_modules_0m383r2._.js → node_modules_07za262._.js} +1 -1
  241. package/.next/server/chunks/ssr/{node_modules_07dsgkx._.js → node_modules_0_s9get._.js} +1 -1
  242. package/.next/server/chunks/ssr/{node_modules_1a0kmjl._.js → node_modules_0n3c7h0._.js} +1 -1
  243. package/.next/server/chunks/ssr/{node_modules_0zeg3x_._.js → node_modules_0od6jwr._.js} +1 -1
  244. package/.next/server/chunks/ssr/{node_modules_1y79i83._.js → node_modules_0rdt7pk._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_17bwo43._.js → node_modules_0tusx4d._.js} +3 -3
  246. package/.next/server/chunks/ssr/{node_modules_04sksn9._.js → node_modules_0w1z7kz._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_1uyk91w._.js → node_modules_0wdupfz._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_0ifp389._.js → node_modules_1720w0a._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_0u9da1h._.js → node_modules_18lsg7d._.js} +1 -1
  250. package/.next/server/chunks/ssr/{node_modules_1k6n600._.js → node_modules_1b94fxf._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_20c28js._.js → node_modules_1ecdo1s._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_0fkeku3._.js → node_modules_1fa9ag7._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_1j8j4pt._.js → node_modules_1fv-_si._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_0-dr_o7._.js → node_modules_1hf461g._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_1lz0oxc._.js → node_modules_1m71ta-._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_1t77e4n._.js → node_modules_1n93n-g._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_16mkxuo._.js → node_modules_1n9lqu9._.js} +1 -1
  258. package/.next/server/chunks/ssr/{node_modules_1k7z2j6._.js → node_modules_1npnsvd._.js} +1 -1
  259. package/.next/server/chunks/ssr/{node_modules_056qgf-._.js → node_modules_1rn2r0n._.js} +1 -1
  260. package/.next/server/chunks/ssr/{node_modules_0x3-ply._.js → node_modules_1seuurl._.js} +2 -2
  261. package/.next/server/chunks/ssr/{node_modules_0bvopy2._.js → node_modules_1vq-mfk._.js} +1 -1
  262. package/.next/server/chunks/ssr/{node_modules_0iur59s._.js → node_modules_1vzyw1t._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_1k8j8n0._.js → node_modules_1w359w4._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_1x0ztf4._.js → node_modules_1yajbl6._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_1-y7nni._.js → node_modules_20eqhy8._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0bkwd0u._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_019sbis._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0p9a9su._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0s6piq3._.js} +1 -1
  268. package/.next/server/chunks/ssr/{node_modules_@vercel_oidc_dist_1o553h-._.js → node_modules_@vercel_oidc_dist_05itbb1._.js} +1 -1
  269. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_trash_mjs_0px2gzr._.js +3 -0
  270. package/.next/server/middleware-build-manifest.js +3 -3
  271. package/.next/server/pages/404.html +1 -1
  272. package/.next/server/pages/500.html +1 -1
  273. package/.next/server/server-reference-manifest.js +1 -1
  274. package/.next/server/server-reference-manifest.json +68 -46
  275. package/.next/static/chunks/07vqbk_9t4em4.js +2 -0
  276. package/.next/static/chunks/08krja1zx7nqg.js +1 -0
  277. package/.next/static/chunks/0g4b348l0pve7.js +1 -0
  278. package/.next/static/chunks/0qcuwdk132jjt.js +1 -0
  279. package/.next/static/chunks/0vlgzqo9ka90v.js +1 -0
  280. package/.next/static/chunks/{11r2yp_yh9_qn.js → 0z69gvysmave7.js} +1 -1
  281. package/.next/static/chunks/0zrupxgci5gqc.js +1 -0
  282. package/.next/static/chunks/12fvz1w5ows75.js +1 -0
  283. package/.next/static/chunks/14t03ned286iu.js +1 -0
  284. package/.next/static/chunks/156xxbkrz5lzu.js +18 -0
  285. package/.next/static/chunks/1fz14reod4lft.js +1 -0
  286. package/.next/static/chunks/1g23dbabl-vkr.js +1 -0
  287. package/.next/static/chunks/1ohslk4568tm3.js +1 -0
  288. package/.next/static/chunks/1qy_rc3oxfxok.js +1 -0
  289. package/.next/static/chunks/1sbmwswc9k2-1.js +1 -0
  290. package/.next/static/chunks/1vqezbhjm3goq.js +1 -0
  291. package/.next/static/chunks/1zea7qdl-7365.js +1 -0
  292. package/.next/static/chunks/1zvqumkg7kmo0.css +1 -0
  293. package/.next/static/chunks/26hpqt3y6bogl.js +12 -0
  294. package/.next/static/chunks/2_j5mqm6d-z18.js +99 -0
  295. package/.next/static/chunks/2dt6tu7a22svs.js +1 -0
  296. package/.next/static/chunks/2h5ls3d86kya6.js +1 -0
  297. package/.next/static/chunks/2wc6y1ht6dfuy.js +1 -0
  298. package/.next/static/chunks/{435atsnhs7ksu.js → 2xr0zpll7thyi.js} +2 -2
  299. package/.next/static/chunks/31jztc-yq30m7.js +1 -0
  300. package/.next/static/chunks/391af0i8eljzk.js +1 -0
  301. package/.next/static/chunks/3bfwpww3m3x4u.js +1 -0
  302. package/.next/static/chunks/{38gweqdo4jpfj.js → 3izg0a3k87q1-.js} +5 -5
  303. package/.next/static/chunks/3p2s2cjokx1aa.js +5 -0
  304. package/.next/static/chunks/{408ueu4hfvcg7.js → 41s3fml5oivsa.js} +1 -1
  305. package/README.md +45 -193
  306. package/app/api/events/app-event.ts +6 -4
  307. package/app/api/query-key.ts +25 -16
  308. package/bin/database.mjs +37 -0
  309. package/bin/thursday.mjs +44 -28
  310. package/components/ui/custom-icon.tsx +0 -60
  311. package/components/ui/radio-group.tsx +37 -0
  312. package/components/ui/shiny-text.tsx +33 -6
  313. package/database/migrations/{20260910173049_numerous_spirit → 20260916145701_clever_multiple_man}/migration.sql +80 -24
  314. package/database/migrations/{20260910173049_numerous_spirit → 20260916145701_clever_multiple_man}/snapshot.json +689 -110
  315. package/database/migrations/20260916160713_thread_cancelled/migration.sql +2 -0
  316. package/database/migrations/{20260911030320_opposite_jack_power → 20260916160713_thread_cancelled}/snapshot.json +706 -84
  317. package/docs/how-it-works.md +40 -35
  318. package/docs/images/keeps-going.png +0 -0
  319. package/docs/images/two-minds.png +0 -0
  320. package/docs/live-calls.md +236 -0
  321. package/docs/thread-rooms.md +71 -0
  322. package/features/ai/chatgpt.ts +1 -2
  323. package/features/ai/live.schema.ts +128 -0
  324. package/features/ai/load-tools.ts +152 -79
  325. package/features/ai/model.schema.ts +2 -120
  326. package/features/ai/model.ts +52 -88
  327. package/features/ai/prompts/bot.prompt.ts +91 -214
  328. package/features/ai/prompts/live.prompt.ts +169 -0
  329. package/features/ai/prompts/prompt-helper.ts +92 -32
  330. package/features/ai/prompts/thursday.prompt.ts +164 -190
  331. package/features/ai/tools/bot.tool.ts +38 -145
  332. package/features/ai/tools/call.tool.ts +33 -5
  333. package/features/ai/tools/connected.ts +5 -3
  334. package/features/ai/tools/mcp.tool.ts +7 -4
  335. package/features/ai/tools/memory.tool.ts +35 -31
  336. package/features/ai/tools/skills.tool.ts +11 -6
  337. package/features/ai/tools/studio.tool.ts +26 -21
  338. package/features/ai/tools/tool-name.ts +3 -5
  339. package/features/ai/tools/workspace.tool.ts +33 -10
  340. package/features/artifact/artifact.action.ts +2 -2
  341. package/features/artifact/artifact.query.ts +112 -61
  342. package/features/artifact/artifact.schema.ts +8 -6
  343. package/features/artifact/components/artifact-setting.tsx +83 -33
  344. package/features/bot/bot.action.ts +43 -36
  345. package/features/bot/bot.memory.ts +137 -20
  346. package/features/bot/bot.query.ts +28 -11
  347. package/features/bot/bot.run.ts +296 -744
  348. package/features/bot/bot.runner.ts +463 -864
  349. package/features/bot/bot.schema.ts +93 -82
  350. package/features/bot/bot.seed.ts +141 -64
  351. package/features/bot/components/bot-mark.tsx +324 -232
  352. package/features/bot/components/bot-room.tsx +1613 -697
  353. package/features/bot/components/bot-roster.tsx +8 -13
  354. package/features/bot/components/bot-setting.tsx +58 -42
  355. package/features/bot/components/bot-tool.tsx +55 -87
  356. package/features/bot/components/mark-palette.tsx +35 -32
  357. package/features/bot/components/path-chips.tsx +33 -3
  358. package/features/bot/components/thread-badge.tsx +34 -0
  359. package/features/bot/components/thread-reply.tsx +639 -0
  360. package/features/bot/components/thread-setting.tsx +674 -0
  361. package/features/bot/mark.const.ts +79 -31
  362. package/features/bot/room.query.ts +889 -0
  363. package/features/bot/room.schema.ts +64 -0
  364. package/features/bot/seed-bots.ts +2 -1
  365. package/features/bot/thread.query.ts +971 -0
  366. package/features/bot/thread.store.ts +587 -0
  367. package/features/config/components/voice-key.tsx +113 -88
  368. package/features/config/config.const.ts +5 -9
  369. package/features/connectors/mcp.schema.ts +0 -2
  370. package/features/intro/components/intro.tsx +169 -139
  371. package/features/memory/components/memory-setting.tsx +2 -7
  372. package/features/memory/memory.schema.ts +14 -23
  373. package/features/settings/components/setting-ui.tsx +0 -44
  374. package/features/settings/components/settings.tsx +12 -12
  375. package/features/settings/settings.alert.ts +3 -3
  376. package/features/settings/settings.store.ts +1 -1
  377. package/features/skills/skills.schema.ts +0 -2
  378. package/features/thursday/ascii.const.ts +74 -0
  379. package/features/thursday/components/ascii-field.tsx +24 -44
  380. package/features/thursday/components/ascii-orb.tsx +525 -381
  381. package/features/thursday/components/call-log.tsx +46 -44
  382. package/features/thursday/components/face.tsx +40 -10
  383. package/features/thursday/components/side-captions.tsx +273 -0
  384. package/features/thursday/components/tab-state.tsx +14 -6
  385. package/features/thursday/components/thursday-mark.tsx +1 -0
  386. package/features/thursday/components/thursday-setting.tsx +633 -333
  387. package/features/thursday/components/thursday.tsx +315 -274
  388. package/features/thursday/components/voice-picker.tsx +255 -0
  389. package/features/thursday/face.store.ts +5 -0
  390. package/features/thursday/thursday.action.ts +96 -72
  391. package/features/thursday/thursday.query.ts +49 -30
  392. package/features/thursday/thursday.schema.ts +37 -35
  393. package/features/thursday/thursday.store.ts +14 -7
  394. package/features/thursday/tool-call.ts +3 -3
  395. package/features/thursday/tool-line.ts +5 -3
  396. package/features/thursday/use-thursday.ts +801 -457
  397. package/features/workspace/file-kind.ts +9 -0
  398. package/features/workspace/workspace.query.ts +17 -0
  399. package/features/workspace/workspace.ts +82 -36
  400. package/hooks/use-hotkey.ts +3 -2
  401. package/lib/live/live.schema.ts +26 -0
  402. package/lib/live/live.server.ts +153 -0
  403. package/lib/live/live.session.ts +574 -0
  404. package/lib/{realtime/realtime.tap.ts → live/live.tap.ts} +41 -12
  405. package/lib/live/live.transport.ts +152 -0
  406. package/lib/protocol/use-server-pages.ts +9 -5
  407. package/lib/utils.ts +21 -20
  408. package/package.json +2 -2
  409. package/public/voices/alloy.ogg +0 -0
  410. package/public/voices/ash.ogg +0 -0
  411. package/public/voices/ballad.ogg +0 -0
  412. package/public/voices/beacon.ogg +0 -0
  413. package/public/voices/bossa.ogg +0 -0
  414. package/public/voices/cedar.ogg +0 -0
  415. package/public/voices/cinder.ogg +0 -0
  416. package/public/voices/coral.ogg +0 -0
  417. package/public/voices/delta.ogg +0 -0
  418. package/public/voices/echo.ogg +0 -0
  419. package/public/voices/gleam.ogg +0 -0
  420. package/public/voices/marin.ogg +0 -0
  421. package/public/voices/meridian.ogg +0 -0
  422. package/public/voices/quartz.ogg +0 -0
  423. package/public/voices/ripple.ogg +0 -0
  424. package/public/voices/sage.ogg +0 -0
  425. package/public/voices/shimmer.ogg +0 -0
  426. package/public/voices/stone.ogg +0 -0
  427. package/public/voices/tempo.ogg +0 -0
  428. package/public/voices/verse.ogg +0 -0
  429. package/public/voices/vesper.ogg +0 -0
  430. package/public/voices/willow.ogg +0 -0
  431. package/scripts/artifact-paths.test.mts +38 -0
  432. package/scripts/bot-context.test.mts +1408 -0
  433. package/scripts/live-history.test.mts +115 -0
  434. package/scripts/live-session.test.mts +938 -0
  435. package/server.js +1 -1
  436. package/skills/browser/SKILL.md +11 -1
  437. package/skills/computer/SKILL.md +1 -1
  438. package/skills/find-skills/SKILL.md +3 -8
  439. package/skills/interactive-page/SKILL.md +12 -7
  440. package/skills/interactive-page/references/diagram.md +89 -0
  441. package/skills/interactive-page/scripts/archify/LICENSE +22 -0
  442. package/skills/interactive-page/scripts/archify/README.md +25 -0
  443. package/skills/interactive-page/scripts/archify/assets/JetBrainsMono-OFL.txt +93 -0
  444. package/skills/interactive-page/scripts/archify/assets/template.html +14934 -0
  445. package/skills/interactive-page/scripts/archify/bin/archify.mjs +2126 -0
  446. package/skills/interactive-page/scripts/archify/bin/open-artifact.mjs +86 -0
  447. package/skills/interactive-page/scripts/archify/bin/preview.mjs +653 -0
  448. package/skills/interactive-page/scripts/archify/bin/visual-check.mjs +829 -0
  449. package/skills/interactive-page/scripts/archify/delta/architecture-delta.mjs +1223 -0
  450. package/skills/interactive-page/scripts/archify/examples/agent-run.lifecycle.json +60 -0
  451. package/skills/interactive-page/scripts/archify/examples/agent-tool-call.workflow.json +94 -0
  452. package/skills/interactive-page/scripts/archify/examples/async-job-roundtrip.sequence.json +61 -0
  453. package/skills/interactive-page/scripts/archify/examples/cache-miss-request.sequence.json +82 -0
  454. package/skills/interactive-page/scripts/archify/examples/checkout-platform.base.architecture.json +31 -0
  455. package/skills/interactive-page/scripts/archify/examples/checkout-platform.head.architecture.json +31 -0
  456. package/skills/interactive-page/scripts/archify/examples/deployment-release.lifecycle.json +49 -0
  457. package/skills/interactive-page/scripts/archify/examples/event-stream.dataflow.json +57 -0
  458. package/skills/interactive-page/scripts/archify/examples/incident-response.workflow.json +64 -0
  459. package/skills/interactive-page/scripts/archify/examples/product-analytics.dataflow.json +76 -0
  460. package/skills/interactive-page/scripts/archify/examples/production-deployment.architecture.json +71 -0
  461. package/skills/interactive-page/scripts/archify/examples/release-delivery.workflow.json +62 -0
  462. package/skills/interactive-page/scripts/archify/examples/web-app.architecture.json +46 -0
  463. package/skills/interactive-page/scripts/archify/migrations/workflow-v2.mjs +279 -0
  464. package/skills/interactive-page/scripts/archify/recipes/scenarios.mjs +284 -0
  465. package/skills/interactive-page/scripts/archify/references/authoring-contract.md +243 -0
  466. package/skills/interactive-page/scripts/archify/references/delivery-contract.md +120 -0
  467. package/skills/interactive-page/scripts/archify/references/viewer-runtime.md +45 -0
  468. package/skills/interactive-page/scripts/archify/renderers/architecture/grid.mjs +62 -0
  469. package/skills/interactive-page/scripts/archify/renderers/architecture/render-architecture.mjs +1078 -0
  470. package/skills/interactive-page/scripts/archify/renderers/dataflow/README.md +104 -0
  471. package/skills/interactive-page/scripts/archify/renderers/dataflow/render-dataflow.mjs +483 -0
  472. package/skills/interactive-page/scripts/archify/renderers/lifecycle/README.md +115 -0
  473. package/skills/interactive-page/scripts/archify/renderers/lifecycle/render-lifecycle.mjs +561 -0
  474. package/skills/interactive-page/scripts/archify/renderers/sequence/README.md +114 -0
  475. package/skills/interactive-page/scripts/archify/renderers/sequence/render-sequence.mjs +464 -0
  476. package/skills/interactive-page/scripts/archify/renderers/shared/brand-marks.mjs +563 -0
  477. package/skills/interactive-page/scripts/archify/renderers/shared/cli.mjs +218 -0
  478. package/skills/interactive-page/scripts/archify/renderers/shared/desktop-readability.mjs +26 -0
  479. package/skills/interactive-page/scripts/archify/renderers/shared/diagnostics.mjs +127 -0
  480. package/skills/interactive-page/scripts/archify/renderers/shared/engineering-profiles.mjs +157 -0
  481. package/skills/interactive-page/scripts/archify/renderers/shared/generated-brand-marks.mjs +3 -0
  482. package/skills/interactive-page/scripts/archify/renderers/shared/generated-validators.mjs +13 -0
  483. package/skills/interactive-page/scripts/archify/renderers/shared/geometry.mjs +1423 -0
  484. package/skills/interactive-page/scripts/archify/renderers/shared/i18n.mjs +595 -0
  485. package/skills/interactive-page/scripts/archify/renderers/shared/layout-report.mjs +40 -0
  486. package/skills/interactive-page/scripts/archify/renderers/shared/legend.mjs +217 -0
  487. package/skills/interactive-page/scripts/archify/renderers/shared/output-path.mjs +340 -0
  488. package/skills/interactive-page/scripts/archify/renderers/shared/repository-evidence.mjs +238 -0
  489. package/skills/interactive-page/scripts/archify/renderers/shared/repository-location.mjs +58 -0
  490. package/skills/interactive-page/scripts/archify/renderers/shared/text-fit.mjs +49 -0
  491. package/skills/interactive-page/scripts/archify/renderers/shared/utils.mjs +232 -0
  492. package/skills/interactive-page/scripts/archify/renderers/shared/validator.mjs +86 -0
  493. package/skills/interactive-page/scripts/archify/renderers/workflow/README.md +223 -0
  494. package/skills/interactive-page/scripts/archify/renderers/workflow/render-workflow.mjs +35 -0
  495. package/skills/interactive-page/scripts/archify/renderers/workflow/workflow-compiler.mjs +4400 -0
  496. package/skills/interactive-page/scripts/archify/renderers/workflow/workflow-migration-geometry.mjs +144 -0
  497. package/skills/interactive-page/scripts/archify/schemas/README.md +211 -0
  498. package/skills/interactive-page/scripts/archify/schemas/architecture.schema.json +178 -0
  499. package/skills/interactive-page/scripts/archify/schemas/common.schema.json +115 -0
  500. package/skills/interactive-page/scripts/archify/schemas/dataflow.schema.json +243 -0
  501. package/skills/interactive-page/scripts/archify/schemas/lifecycle.schema.json +266 -0
  502. package/skills/interactive-page/scripts/archify/schemas/sequence.schema.json +223 -0
  503. package/skills/interactive-page/scripts/archify/schemas/workflow.schema.json +428 -0
  504. package/skills/interactive-page/scripts/archify/scripts/check-render-output.mjs +916 -0
  505. package/skills/interactive-page/scripts/archify/scripts/render-examples.mjs +26 -0
  506. package/skills/interactive-page/scripts/bundle-artifact.sh +9 -8
  507. package/skills/skill-creator/SKILL.md +4 -5
  508. package/.next/server/app/api/bot/task/[id]/route/app-paths-manifest.json +0 -3
  509. package/.next/server/app/api/bot/task/[id]/route.js +0 -16
  510. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +0 -1
  511. package/.next/server/app/api/bot/task/[id]/route_client-reference-manifest.js +0 -3
  512. package/.next/server/app/api/bot/task/route/app-paths-manifest.json +0 -3
  513. package/.next/server/app/api/bot/task/route.js +0 -16
  514. package/.next/server/app/api/bot/task/route.js.nft.json +0 -1
  515. package/.next/server/app/api/bot/task/route_client-reference-manifest.js +0 -3
  516. package/.next/server/chunks/[root-of-the-server]__026u77e._.js +0 -5
  517. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +0 -3
  518. package/.next/server/chunks/[root-of-the-server]__050zri4._.js +0 -3
  519. package/.next/server/chunks/[root-of-the-server]__0bg9710._.js +0 -3
  520. package/.next/server/chunks/[root-of-the-server]__0ffbg85._.js +0 -3
  521. package/.next/server/chunks/[root-of-the-server]__0in-d5s._.js +0 -3
  522. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +0 -3
  523. package/.next/server/chunks/[root-of-the-server]__0pa9k-f._.js +0 -8
  524. package/.next/server/chunks/[root-of-the-server]__0qi_m0e._.js +0 -8
  525. package/.next/server/chunks/[root-of-the-server]__0tq0m_k._.js +0 -3
  526. package/.next/server/chunks/[root-of-the-server]__0xep6j_._.js +0 -3
  527. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +0 -5
  528. package/.next/server/chunks/[root-of-the-server]__11n256_._.js +0 -5
  529. package/.next/server/chunks/[root-of-the-server]__144l7qt._.js +0 -8
  530. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +0 -5
  531. package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +0 -3
  532. package/.next/server/chunks/[root-of-the-server]__1fizn31._.js +0 -3
  533. package/.next/server/chunks/[root-of-the-server]__1jg8t86._.js +0 -8
  534. package/.next/server/chunks/[root-of-the-server]__1lldzy9._.js +0 -3
  535. package/.next/server/chunks/[root-of-the-server]__1llj3-b._.js +0 -3
  536. package/.next/server/chunks/[root-of-the-server]__1p8m3f4._.js +0 -3
  537. package/.next/server/chunks/[root-of-the-server]__1peqvsi._.js +0 -3
  538. package/.next/server/chunks/[root-of-the-server]__1w8gm5h._.js +0 -10
  539. package/.next/server/chunks/[root-of-the-server]__1xt39nn._.js +0 -8
  540. package/.next/server/chunks/[root-of-the-server]__1zb8mfo._.js +0 -8
  541. package/.next/server/chunks/_0-73of8._.js +0 -55
  542. package/.next/server/chunks/_0-fjql4._.js +0 -31
  543. package/.next/server/chunks/_00xh_q0._.js +0 -25
  544. package/.next/server/chunks/_051qh8u._.js +0 -3
  545. package/.next/server/chunks/_05sovvj._.js +0 -3
  546. package/.next/server/chunks/_091bi8d._.js +0 -3
  547. package/.next/server/chunks/_0fzqt2y._.js +0 -142
  548. package/.next/server/chunks/_0lr92vd._.js +0 -3
  549. package/.next/server/chunks/_0mecv0f._.js +0 -31
  550. package/.next/server/chunks/_0mh8j4m._.js +0 -3
  551. package/.next/server/chunks/_0sb7tlz._.js +0 -3
  552. package/.next/server/chunks/_0si7xzn._.js +0 -3
  553. package/.next/server/chunks/_0u10wmw._.js +0 -55
  554. package/.next/server/chunks/_0wp4le3._.js +0 -3
  555. package/.next/server/chunks/_0y5fg-x._.js +0 -3
  556. package/.next/server/chunks/_1230wbx._.js +0 -10
  557. package/.next/server/chunks/_12nheja._.js +0 -3
  558. package/.next/server/chunks/_13510xh._.js +0 -3
  559. package/.next/server/chunks/_15hq89o._.js +0 -3
  560. package/.next/server/chunks/_18-1wcc._.js +0 -55
  561. package/.next/server/chunks/_18d7-5p._.js +0 -3
  562. package/.next/server/chunks/_1c78vw5._.js +0 -237
  563. package/.next/server/chunks/_1h5_8sk._.js +0 -3
  564. package/.next/server/chunks/_1hdnxb7._.js +0 -3
  565. package/.next/server/chunks/_1j8k_j5._.js +0 -3
  566. package/.next/server/chunks/_1nula3v._.js +0 -3
  567. package/.next/server/chunks/_1php4eq._.js +0 -3
  568. package/.next/server/chunks/_1yuv4vp._.js +0 -3
  569. package/.next/server/chunks/_1zkfbaa._.js +0 -3
  570. package/.next/server/chunks/_next-internal_server_app_api_bot_task_[id]_route_actions_1_k_8u3.js +0 -3
  571. package/.next/server/chunks/_next-internal_server_app_api_bot_task_route_actions_0xln6ra.js +0 -3
  572. package/.next/server/chunks/features_0rpfxbk._.js +0 -3
  573. package/.next/server/chunks/features_1qf3cei._.js +0 -8
  574. package/.next/server/chunks/features_bot_0zt92oh._.js +0 -3
  575. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1jidylq._.js +0 -3
  576. package/.next/server/chunks/ssr/[externals]__0dizgek._.js +0 -3
  577. package/.next/server/chunks/ssr/[root-of-the-server]__0-nob52._.js +0 -4
  578. package/.next/server/chunks/ssr/[root-of-the-server]__092knlj._.js +0 -3
  579. package/.next/server/chunks/ssr/[root-of-the-server]__0mz33a7._.js +0 -3
  580. package/.next/server/chunks/ssr/[root-of-the-server]__0s4wb56._.js +0 -3
  581. package/.next/server/chunks/ssr/[root-of-the-server]__0s9dq5u._.js +0 -3
  582. package/.next/server/chunks/ssr/[root-of-the-server]__0sd3izg._.js +0 -3
  583. package/.next/server/chunks/ssr/[root-of-the-server]__0vnmv-s._.js +0 -3
  584. package/.next/server/chunks/ssr/[root-of-the-server]__1-13tcn._.js +0 -43
  585. package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +0 -61
  586. package/.next/server/chunks/ssr/[root-of-the-server]__1zidpfl._.js +0 -3
  587. package/.next/server/chunks/ssr/_001_ms1._.js +0 -33
  588. package/.next/server/chunks/ssr/_01n3o0m._.js +0 -3
  589. package/.next/server/chunks/ssr/_04z2c7b._.js +0 -3
  590. package/.next/server/chunks/ssr/_06tssji._.js +0 -3
  591. package/.next/server/chunks/ssr/_0fk4c7d._.js +0 -3
  592. package/.next/server/chunks/ssr/_0h42fze._.js +0 -3
  593. package/.next/server/chunks/ssr/_0h7zdni._.js +0 -3
  594. package/.next/server/chunks/ssr/_0mggveb._.js +0 -3
  595. package/.next/server/chunks/ssr/_0nbpc_8._.js +0 -3
  596. package/.next/server/chunks/ssr/_0q0zan6._.js +0 -70
  597. package/.next/server/chunks/ssr/_0zcjrbg._.js +0 -3
  598. package/.next/server/chunks/ssr/_0zhoc3r._.js +0 -3
  599. package/.next/server/chunks/ssr/_11j92tu._.js +0 -3
  600. package/.next/server/chunks/ssr/_13fke0x._.js +0 -3
  601. package/.next/server/chunks/ssr/_18cymkq._.js +0 -3
  602. package/.next/server/chunks/ssr/_1ebxla1._.js +0 -3
  603. package/.next/server/chunks/ssr/_1nj4niv._.js +0 -42
  604. package/.next/server/chunks/ssr/_1ov37if._.js +0 -3
  605. package/.next/server/chunks/ssr/_1ovmc9s._.js +0 -3
  606. package/.next/server/chunks/ssr/_1sji22n._.js +0 -3
  607. package/.next/server/chunks/ssr/_1vi_uo7._.js +0 -3
  608. package/.next/server/chunks/ssr/_1vyd1ji._.js +0 -3
  609. package/.next/server/chunks/ssr/_1xx4zlb._.js +0 -3
  610. package/.next/server/chunks/ssr/components_ui_1y1l7yj._.js +0 -3
  611. package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +0 -3
  612. package/.next/server/chunks/ssr/lib_realtime_12wg_dd._.js +0 -27
  613. package/.next/server/chunks/ssr/lib_realtime_15h_v1v._.js +0 -27
  614. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0npjf8-._.js +0 -3
  615. package/.next/static/chunks/0n3jle9kbqfr2.js +0 -40
  616. package/.next/static/chunks/0r5qcctujhxli.js +0 -1
  617. package/.next/static/chunks/10teww7wt-f6h.js +0 -1
  618. package/.next/static/chunks/126fj4pga_72k.js +0 -1
  619. package/.next/static/chunks/159udiexf6dom.js +0 -2
  620. package/.next/static/chunks/18a96rkhi4_yd.js +0 -1
  621. package/.next/static/chunks/18gi7o2ibrgh8.js +0 -3
  622. package/.next/static/chunks/1dkjg87pxk0n9.js +0 -28
  623. package/.next/static/chunks/1q9z1tohil7xn.js +0 -1
  624. package/.next/static/chunks/1sjgfets224re.js +0 -1
  625. package/.next/static/chunks/1wszsr83t01gh.js +0 -1
  626. package/.next/static/chunks/22_zkas21rpna.js +0 -1
  627. package/.next/static/chunks/2fh4-3z_q8b_w.js +0 -1
  628. package/.next/static/chunks/2h0sd2vumhb15.js +0 -1
  629. package/.next/static/chunks/2szintyibu0s5.js +0 -1
  630. package/.next/static/chunks/2t4vhi3m8ahya.js +0 -1
  631. package/.next/static/chunks/2tigdtz3dpcy8.js +0 -1
  632. package/.next/static/chunks/3-b6b7entqazs.js +0 -1
  633. package/.next/static/chunks/3786h5vayt80-.js +0 -28
  634. package/.next/static/chunks/3cq5g494yuke8.css +0 -1
  635. package/.next/static/chunks/3dmbhsv2u_8kj.js +0 -1
  636. package/.next/static/chunks/3hibbjnt85-k6.js +0 -1
  637. package/.next/static/chunks/3i0a5px-oufgc.js +0 -1
  638. package/.next/static/chunks/3wexk9qo8zuj3.js +0 -18
  639. package/.next/static/chunks/3xk7yqgomx7yq.js +0 -1
  640. package/.next/static/chunks/3xre8bu_pk1p_.js +0 -1
  641. package/.next/static/chunks/3zv6t3i77xhr_.js +0 -1
  642. package/database/migrations/20260911030320_opposite_jack_power/migration.sql +0 -1
  643. package/docs/images/task-thread.png +0 -0
  644. package/features/bot/components/task-badge.tsx +0 -42
  645. package/features/bot/components/task-reply.tsx +0 -328
  646. package/features/bot/components/task-setting.tsx +0 -524
  647. package/features/bot/task.query.ts +0 -1079
  648. package/features/bot/task.store.ts +0 -487
  649. package/lib/realtime/client-secret.ts +0 -86
  650. package/lib/realtime/open-session.ts +0 -31
  651. package/lib/realtime/openai.ts +0 -35
  652. package/lib/realtime/realtime.audio.ts +0 -196
  653. package/lib/realtime/realtime.driver.ts +0 -489
  654. package/lib/realtime/realtime.protocol.ts +0 -393
  655. package/lib/realtime/realtime.schema.ts +0 -37
  656. package/lib/realtime/realtime.session.ts +0 -106
  657. package/lib/realtime/realtime.transport.ts +0 -384
  658. package/lib/realtime/xai.ts +0 -39
  659. /package/.next/server/app/api/bot/{task → thread}/[id]/route/build-manifest.json +0 -0
  660. /package/.next/server/app/api/bot/{task → thread}/[id]/route/server-reference-manifest.json +0 -0
  661. /package/.next/server/app/api/bot/{task → thread}/[id]/route.js.map +0 -0
  662. /package/.next/server/app/api/bot/{task → thread}/route/build-manifest.json +0 -0
  663. /package/.next/server/app/api/bot/{task → thread}/route/server-reference-manifest.json +0 -0
  664. /package/.next/server/app/api/bot/{task → thread}/route.js.map +0 -0
  665. /package/.next/static/{G6-gNoyGDEcgAsq-L4PE1 → yyRVBc0xxYQsh3GpbQX9b}/_buildManifest.js +0 -0
  666. /package/.next/static/{G6-gNoyGDEcgAsq-L4PE1 → yyRVBc0xxYQsh3GpbQX9b}/_clientMiddlewareManifest.js +0 -0
  667. /package/.next/static/{G6-gNoyGDEcgAsq-L4PE1 → yyRVBc0xxYQsh3GpbQX9b}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[249049,a=>{"use strict";var b=a.i(187924),c=a.i(752562),d=a.i(474215),e=a.i(572131),f=a.i(767561),g=a.i(340695),h=a.i(205522),i=a.i(379630),j=a.i(96340),k=a.i(313237),l=a.i(759497),m=a.i(497895),n=a.i(449546),o=a.i(478978);function p({provider:a,saved:c,autoFocus:d,dense:e,value:f,ready:g,saving:h,onValue:j,onSubmit:k}){return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2 px-0.5 text-muted-foreground",children:[(0,b.jsx)(i.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:(0,m.cn)("font-mono",e?"text-[11px]":"text-[12.5px]"),children:a.label})]}),(0,b.jsx)(q,{provider:a,saved:c,autoFocus:d,dense:e,value:f,ready:g,saving:h,onValue:j,onSubmit:k})]})}function q({provider:a,saved:d,autoFocus:e,dense:f,value:i,ready:j,saving:k,onValue:l,onSubmit:n}){let o=i.trim().startsWith("xai-")||i.trim().startsWith("sk-ant-");return(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),n()},className:(0,m.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",d||j?"border-foreground bg-transparent":"border-border"),children:[(0,b.jsx)(h.Input,{autoFocus:e,type:"password","aria-label":"OpenAI API key",autoComplete:"off",value:i,spellCheck:!1,placeholder:d?"Replace it":"sk-…",onChange:a=>l(a.target.value),className:(0,m.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]")}),i?(0,b.jsx)(g.Button,{type:"submit",size:"sm",variant:o?"outline":"default",loading:k,disabled:!j,className:(0,m.cn)("shrink-0",f?"h-7 px-3":"h-9 px-4"),children:o?`Not ${a.label}?`:"Save"}):d&&(0,b.jsx)("span",{className:(0,m.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)(c.Check,{className:f?"size-3":"size-4"})})]})}a.s(["KEY_MIN",0,8,"KeyInput",0,q,"VoiceKeys",0,function({ref:a,autoFocus:c,dense:h=!1,onCancel:i,onSaved:q,className:r}){let{data:s}=(0,l.useServerRoute)(f.queryKey.config),[t,u]=(0,e.useState)({}),[v,w]=(0,e.useState)(null),[x]=(0,k.useServerAction)(n.setConfigAction,{onOk:()=>{(0,l.revalidate)(f.queryKey.config),(0,l.revalidate)(f.queryKey.llmModel)}}),y=a=>(t[a]?.trim().length??0)>=8,z=async a=>{let b=a.apiKeyName;if(!y(b)||v)return!1;w(b);try{return await x(b,t[b]),u(a=>({...a,[b]:""})),q?.(a.id),!0}catch{return!1}finally{w(null)}};return(0,e.useImperativeHandle)(a,()=>({pending:()=>y(j.LIVE_PROVIDER.apiKeyName),flush:async()=>!y(j.LIVE_PROVIDER.apiKeyName)||z(j.LIVE_PROVIDER)})),(0,b.jsxs)("div",{className:(0,m.cn)("w-full",h?"space-y-2":"space-y-4",r),children:[h&&(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"}),i&&(0,b.jsx)(g.Button,{type:"button",size:"icon",variant:"ghost","aria-label":"Not now",onClick:i,className:"-my-1 size-6",children:(0,b.jsx)(d.X,{className:"size-3.5"})})]}),(0,b.jsx)(p,{provider:j.LIVE_PROVIDER,saved:(0,o.isConfigSet)(s,j.LIVE_PROVIDER.apiKeyName),autoFocus:c,dense:h,value:t[j.LIVE_PROVIDER.apiKeyName]??"",ready:y(j.LIVE_PROVIDER.apiKeyName),saving:v===j.LIVE_PROVIDER.apiKeyName,onValue:a=>u(b=>({...b,[j.LIVE_PROVIDER.apiKeyName]:a})),onSubmit:()=>void z(j.LIVE_PROVIDER)}),(0,b.jsx)("p",{className:(0,m.cn)("px-0.5 font-mono text-muted-foreground",h?"text-[11px]":"pt-1 text-center text-[12.5px]"),children:h?"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."})]})}])},647509,a=>{"use strict";let b={A:[".##.","#..#","####","#..#","#..#"],B:["###.","#..#","###.","#..#","###."],C:[".###","#...","#...","#...",".###"],D:["###.","#..#","#..#","#..#","###."],E:["####","#...","###.","#...","####"],F:["####","#...","###.","#...","#..."],G:[".###","#...","#.##","#..#",".###"],H:["#..#","#..#","####","#..#","#..#"],I:["###",".#.",".#.",".#.","###"],J:["..##","...#","...#","#..#",".##."],K:["#..#","#.#.","##..","#.#.","#..#"],L:["#...","#...","#...","#...","####"],M:["#...#","##.##","#.#.#","#...#","#...#"],N:["#..#","##.#","#.##","#..#","#..#"],O:[".##.","#..#","#..#","#..#",".##."],P:["###.","#..#","###.","#...","#..."],Q:[".##.","#..#","#..#","#.#.",".#.#"],R:["###.","#..#","###.","#.#.","#..#"],S:[".###","#...",".##.","...#","###."],T:["###",".#.",".#.",".#.",".#."],U:["#..#","#..#","#..#","#..#",".##."],V:["#...#","#...#",".#.#.",".#.#.","..#.."],W:["#...#","#...#","#.#.#","##.##","#...#"],X:["#..#","#..#",".##.","#..#","#..#"],Y:["#.#","#.#",".#.",".#.",".#."],Z:["####","...#",".##.","#...","####"],0:[".##.","#.##","#..#","##.#",".##."],1:[".#.","##.",".#.",".#.","###"],2:["###.","...#",".##.","#...","####"],3:["###.","...#",".##.","...#","###."],4:["#..#","#..#","####","...#","...#"],5:["####","#...","###.","...#","###."],6:[".##.","#...","###.","#..#",".##."],7:["####","...#","..#.",".#..",".#.."],8:[".##.","#..#",".##.","#..#",".##."],9:[".##.","#..#",".###","...#",".##."],"!":["#","#","#",".","#"],"?":["###.","...#",".##.","....",".#.."],".":[".",".",".",".","#"],",":["..","..","..",".#","#."],"'":["#","#",".",".","."],"-":["...","...","###","...","..."],"+":["...",".#.","###",".#.","..."],":":[".","#",".","#","."],"(":[".#","#.","#.","#.",".#"],")":["#.",".#",".#",".#","#."],"<":["..#",".#.","#..",".#.","..#"],">":["#..",".#.","..#",".#.","#.."],"^":[".#.","#.#","...","...","..."],"~":["....",".#.#","#.#.","....","...."],"♥":[".#.#.","#####","#####",".###.","..#.."]," ":["..","..","..","..",".."]};Object.keys(b).filter(a=>!/^[A-Z0-9 ]$/.test(a)),a.s(["ALPHA_TOP",0,.82,"CHAR_RATE",0,2.2,"EMOJI_CHAR_RATE",0,.6,"EMOJI_MIN_LEVEL",0,6,"EMOJI_POOL",0,["🍎","🌹","🍓","❤️","🎈","🧨","🔴","🍊","🔥","🦊","🏀","🧡","🍑","⭐","🍋","🌻","💛","🐥","🌟","🍌","🍀","🌿","🐸","🥝","💚","🌵","🥑","💧","🌊","🫐","🐳","💙","🔵","🧊","🍇","💜","🔮","🟣","🪻","🍆","🌸","🌷","💗","🦩","🩷","🍫","🐻","🌰","🥐","🤍","☁️","🖤","⚪","⚫","🦢","🌈","🦜","🎨","🪩","🦄","✨","🍬","🎡"],"EMOJI_RATIO",0,.11,"FACE_WORD_MAX",0,8,"LETTERS",0,b,"RAMP",0,[[" "],[" ",".","`"],[".",",","·","'"],[":",";","-","^"],["=","+","~",'"'],["*","?","◦","j"],["c","v","○","7"],["o","x","◇","い"],["s","y","t","あ"],["e","a","u","な"],["k","w","z","や"],["q","h","n","米"]],"hash",0,function(a,b){let c=43758.5453*Math.sin(127.1*a+311.7*b);return c-Math.floor(c)},"smoothstep",0,function(a,b,c){let d=Math.min(1,Math.max(0,(c-a)/(b-a)));return d*d*(3-2*d)},"undrawable",0,function(a){return Array.from(a.toUpperCase()).find(a=>!(a in b))??null}])},445432,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(913834),e=a.i(287702),f=a.i(483253),g=a.i(647509);let h=[235,235,235];function i(a){let b=[[],[],[],[],[]],c=0;for(let d of Array.from(a.toUpperCase())){let a=g.LETTERS[d];if(a){if(b[0].length)for(let a of b)a.push(-1);a.forEach((a,d)=>{for(let e of a)b[d].push("#"===e?c:-1)})," "!==d&&c++}}return b}let j=i("ERROR");function k(a,b,c,d,e){return a+(b-a)*Math.min(1,e/(b>a?c:d))}function l(a,b,c,d,e,f){let g=Math.floor(b/(d*f)+a[0].length/2),h=Math.floor(c/(e*f)+a.length/2);return h<0||h>=a.length?-1:a[h][g]??-1}function m(a,b,c,d){let e=i(d),f=Math.max(1,Math.min(3,Math.floor(421.6/(e[0].length*b)))),g=0;for(let d of a)d.word=l(e,d.dx,d.dy,b,c,f),g=Math.max(g,d.word+1);return g}function n({className:a,mode:d="idle",charset:i=e.ASCII_FACE.charset,fontSize:o=e.ASCII_FACE.fontSize.default,density:p=e.ASCII_FACE.density.default,size:q=680,color:r=h,getSpectrum:s,getMicSpectrum:t,word:u=null}){let v=(0,c.useRef)(null),w=(0,c.useRef)(null),x=(0,c.useRef)([]),y=(0,c.useRef)(null),z=(0,c.useRef)(i),A=(0,c.useRef)({cur:[...r],target:r}),B=(0,c.useRef)(0),C=(0,c.useRef)(s);C.current=s;let D=(0,c.useRef)(t);D.current=t;let E=(0,c.useRef)({phrase:0,micPhrase:0,micLevel:0,bob:0,bobVel:0,amp:[,,,,].fill(0),phase:Array.from({length:4},(a,b)=>2.1*b),spin:0,rings:[]}),F=(0,c.useRef)({mode:d,start:0}),G=(0,c.useRef)({scale:.3,lift:0,gather:0,comet:0,speech:0,err:0,word:0,listen:0}),H=(0,c.useRef)(null),I=(0,c.useRef)({cw:1,ch:1});return(0,c.useEffect)(()=>{let a=v.current;if(!a)return;let b=.95*o/p,c=1.25*o/p,d=680/q,e=b*d,f=c*d,h=Math.max(1,Math.floor(625.6/(j[0].length*e)));B.current=q,I.current={cw:e,ch:f};let i=[],k=Math.ceil(q/b),n=Math.ceil(q/c);for(let a=0;a<n;a++)for(let m=0;m<k;m++){let k=m*b,n=a*c,o=(k-q/2)*d,p=(n-q/2)*d,r=Math.hypot(o,p),s=l(j,o,p,e,f,h);s<0&&r>328||i.push({x:k+b/2,y:n+c/2,dx:o,dy:p,dist:r,angle:Math.atan2(p,o),seed:(0,g.hash)(m,a),grain:(0,g.hash)(5.7*m+19,2.3*a+53),gap:.05+.3*(0,g.hash)(7.3*m+11,3.1*a+5),emoji:(0,g.hash)(2.7*m+31,5.9*a+17)<g.EMOJI_RATIO,speck:(0,g.hash)(4.1*m+23,6.3*a+41),letter:s,word:-1})}x.current=i,H.current&&m(i,e,f,H.current.text),y.current={ascii:Array.from({length:g.RAMP.length},()=>new Int32Array(i.length)),emoji:Array.from({length:g.RAMP.length},()=>new Int32Array(i.length)),asciiN:new Int32Array(g.RAMP.length),emojiN:new Int32Array(g.RAMP.length),glyph:Array(i.length)};let r=Math.min(2,window.devicePixelRatio||1);a.width=q*r,a.height=q*r,a.style.width=`${q}px`,a.style.height=`${q}px`;let s=a.getContext("2d");return s&&(s.setTransform(r,0,0,r,0,0),s.font=`700 ${o}px ui-monospace,SFMono-Regular,Menlo,monospace`,s.textAlign="center",s.textBaseline="middle",w.current=s),()=>{s?.clearRect(0,0,q,q),x.current=[],y.current=null}},[o,p,q]),(0,c.useEffect)(()=>{z.current=i},[i]),(0,c.useEffect)(()=>{A.current.target=r},[r]),(0,c.useEffect)(()=>{F.current.mode!==d&&(F.current={mode:d,start:.001*performance.now()})},[d]),(0,c.useEffect)(()=>{if(!u)return;let{cw:a,ch:b}=I.current;H.current={text:u.text,start:.001*performance.now(),letters:m(x.current,a,b,u.text)}},[u]),(0,c.useEffect)(()=>{let a=0,b=(0,f.createVoiceFollower)(),c=(0,f.createVoiceFollower)(),d=Array(f.SPECTRUM_BANDS).fill(0),e=Array(f.SPECTRUM_BANDS).fill(0),h=.001*performance.now(),i=0,j=1,l=0,m=f=>{let n=.001*f,o=Math.min(.05,Math.max(0,n-h));h=n;let p=w.current,q=y.current;if(!p||!q){a=requestAnimationFrame(m);return}let r=z.current,s=B.current;q.asciiN.fill(0),q.emojiN.fill(0);let t=C.current?.();if(!t||t.length<2){for(let a=0;a<d.length;a++){let b=.5*Math.sin(1.7*n+1.7*a)+.3*Math.sin(.8*n+.6*a)+.2*Math.sin(3*n+2.9*a);d[a]=.5*b+.5}t=d}let u=E.current,v=b.read(t,o);u.phrase=v.phrase,v.onset>0&&(u.bobVel+=.06*v.onset,u.rings.push({born:n,power:v.onset}),u.rings.length>5&&u.rings.shift()),u.bobVel+=-(.012*u.bob)-.09*u.bobVel,u.bob+=u.bobVel;let I=D.current?.(),J=c.read(I??e,o);u.micPhrase=I?J.phrase:0,u.micLevel=I?J.level:0;let K=I&&"listening"===F.current.mode?.5+8*J.level:1;j=k(j,K,.14,.14,o),i+=o*j;for(let a=0;a<4;a++){let b=Math.floor(a*v.bands.length/4),c=Math.max(b+1,Math.floor((a+1)*v.bands.length/4)),d=0;for(let a=b;a<c;a++)d+=v.bands[a];d/=c-b;let e=.7+.6*(0,g.hash)((.9*n|0)+31*a,a);u.amp[a]+=(d*e-u.amp[a])*(.05+.02*a),u.phase[a]+=o*(.9+.5*a)*(a%2?-1:1)}for(u.spin+=o*(1.1+.9*u.phrase);u.rings.length>0&&n-u.rings[0].born>.7;)u.rings.shift();let L=F.current,M=H.current,N=M?n-M.start:0,O=null!==M&&"error"!==L.mode&&N<3.4+.08*M.letters+.35?{scale:0,lift:0,gather:0,comet:0,speech:0,err:0,word:1,listen:0}:function(a,b,c){let d={scale:1,lift:0,gather:0,comet:0,speech:0,err:0,word:0,listen:0};switch(a){case"idle":return d;case"connecting":{let a=1-Math.exp(-b/1.3);return{...d,scale:.45+.55*a,lift:.06*a,gather:1}}case"listening":return{...d,lift:.24*(.7*c.micPhrase+.3*c.micLevel),listen:1};case"speaking":return{...d,speech:1};case"working":return{...d,comet:1};case"ending":return{...d,scale:0};case"error":return{...d,scale:0,err:1}}}(L.mode,n-L.start,u),P=G.current;P.scale=k(P.scale,O.scale,.45,"ending"===L.mode?.4:.7,o),P.lift=k(P.lift,O.lift,.22,.4,o),P.gather=k(P.gather,O.gather,.3,.95,o),P.comet=k(P.comet,O.comet,.45,.9,o),P.speech=k(P.speech,O.speech,.5,.75,o),"error"===L.mode&&(P.err<=.01&&(l=0),l+=o),P.err=k(P.err,O.err,.5,.6,o),P.word=k(P.word,O.word,.35,.5,o),P.listen=k(P.listen,O.listen,.3,.6,o);let Q=P.err>.5,R=P.word>.5,S="emojiOnly"===r?g.EMOJI_CHAR_RATE:g.CHAR_RATE,T=x.current;for(let a=0;a<T.length;a++){let b=T[a],c=function(a,b,c,d,e,f){let h,i,j,k,l=e.scale>.02?function(a,b,c=0,d=1){let e=170*Math.max(.02,d),f=1-(0,g.smoothstep)(.55*e,e,a.dist);return(.58+c+.2*Math.sin(.05*a.dist-.4*b)+.07*Math.sin(.35*b))*f}(a,b,e.lift,e.scale)*(1-.6*e.speech):0;return e.gather>.01&&(l+=function(a,b,c){let d=170*c;if(a.speck>=.55||a.dist<.8*d)return 0;let e=Math.min(55,Math.floor((a.angle+Math.PI)/(2*Math.PI)*56)),f=(.7*b+(0,g.hash)(e,5.3))%1,h=a.dist-(d+(320-d)*(1-f)**1.25)-(a.grain-.5)*16;return Math.exp(-(h*h)/260)*(0,g.smoothstep)(0,.2,f)*(1-f)*1.1}(a,b,e.scale)*e.gather),e.comet>.01&&(l+=(i=Math.exp(-((h=a.dist-210)*h)/1100),i*Math.exp(-((k=Math.atan2(Math.sin(j=a.angle-3*b),Math.cos(j)))*k)/(k<0?2.8:.16))*e.comet)),e.speech>.01&&(l+=function(a,b,c,d){var e;let f=170+40*c.phrase+85*c.bob;for(let b=0;b<4;b++)f+=28*c.amp[b]*Math.sin((b+2)*(a.angle+c.spin)+c.phase[b]);let g=170+(((e=f)<=205?Math.max(110,e):205+30*Math.tanh((e-205)/30))-170)*d,h=(a.grain-.5)*20+20*Math.sin(5*a.angle+.9*b+6.283*a.seed)*.3,i=a.dist-(g+h),j=Math.exp(-(i*i)/800)+.5*Math.exp(-(a.dist*a.dist)/6e3);if(a.dist<g&&(j+=.22*(1-a.dist/g)**.6*(.75+.25*Math.sin(.05*a.dist-1.2*b))),a.speck<.22){let d=90*(.6+.9*a.grain);for(let e=0;e<c.rings.length;e++){let f=c.rings[e],h=b-f.born,i=a.dist-(g+6+h*d);j+=Math.exp(-(i*i)/500)*f.power*Math.max(0,1-h/.7)}}return j}(a,b,f,e.speech)*e.speech),e.err>.01&&(l+=function(a,b,c){if(a.letter<0)return 0;let d=c%9.2,e=.12*a.seed;return Math.max(0,(0,g.smoothstep)(0,1,(d-.65*a.letter-e)/.8)-(0,g.smoothstep)(0,1,(d-5.6-.5*a.letter-e)/.7))*(.86+.14*Math.sin(3.5*b+6*a.seed))}(a,b,c)*e.err),e.word>.01&&(l+=function(a,b,c){if(a.word<0)return 0;let d=.08*a.seed;return Math.max(0,(0,g.smoothstep)(0,1,(c-.11*a.word-d)/.3)-(0,g.smoothstep)(0,1,(c-3.4-.08*a.word-d)/.35))*(.86+.14*Math.sin(3.5*b+6*a.seed))}(a,b,d)*e.word),l}(b,n,l,N,P,u);!(Q&&b.letter>=0||R&&b.word>=0)&&((c*=(.66+.72*b.grain)*(.8+.4*(0,g.hash)(Math.floor(.05*b.dx+.5*n),Math.floor(.05*b.dy-.3*n))))>.3&&(0,g.hash)(31.7*Math.floor(1.6*n),613*b.seed)>.992&&(c=Math.max(c,.9)),c<b.gap+.05*Math.sin(.28*n+6.283*b.seed)+P.listen*(.16+((0,g.hash)(Math.floor(9*n+3*b.seed),97*b.seed)-.5)*.6*u.micLevel)&&(c=0));let d=(c=c<0?0:c>1?1:c)*(g.RAMP.length-1)|0;if(0===d)continue;let e=i*S+7*b.seed|0;if("emojiOnly"===r||"emoji"===r&&b.emoji&&d>=g.EMOJI_MIN_LEVEL){let c=((b.seed*g.EMOJI_POOL.length|0)+e)%g.EMOJI_POOL.length;q.glyph[a]=g.EMOJI_POOL[c],q.emoji[d][q.emojiN[d]++]=a}else{let c=g.RAMP[d],f=((b.seed*c.length|0)+e)%c.length;q.glyph[a]=c[f],q.ascii[d][q.asciiN[d]++]=a}}p.clearRect(0,0,s,s);let U=x.current,V=g.RAMP.length-1,W=A.current;for(let a=0;a<3;a++)W.cur[a]+=(W.target[a]-W.cur[a])*.05;p.fillStyle=`rgb(${0|W.cur[0]},${0|W.cur[1]},${0|W.cur[2]})`;for(let a=1;a<=V;a++){let b=q.asciiN[a];if(0===b)continue;p.globalAlpha=g.ALPHA_TOP*(a/V);let c=q.ascii[a];for(let a=0;a<b;a++){let b=U[c[a]];p.fillText(q.glyph[c[a]],b.x,b.y)}}for(let a=1;a<=V;a++){let b=q.emojiN[a];if(0===b)continue;p.globalAlpha=.35+a/V*.65;let c=q.emoji[a];for(let a=0;a<b;a++){let b=U[c[a]];p.fillText(q.glyph[c[a]],b.x,b.y)}}p.globalAlpha=1,a=requestAnimationFrame(m)};return a=requestAnimationFrame(m),()=>cancelAnimationFrame(a)},[]),(0,b.jsx)("canvas",{ref:v,className:a,"aria-hidden":!0,style:{display:"block",pointerEvents:"none"}})}var o=a.i(730357),p=a.i(497895);let q={idle:"idle",connecting:"connecting",ending:"connecting",listening:"listening",speaking:"speaking",working:"thinking",delegating:"delegating"},r={ripple:18,bandEase:.03,pulse:0,punch:.05,stretch:0},s={ending:"ending",idle:"idle",connecting:"connecting",listening:"listening",speaking:"speaking",working:"working",delegating:"working"},t=[247,247,247],u=[10,10,10],v={mark:{label:"Mark",hint:"A silhouette with eyes. Blinks, glances, leans into a voice.",render:function({status:a,failed:c,size:e,getSpectrum:f,look:g,className:h}){return(0,b.jsx)(d.BotMark,{size:e,seed:"thursday",color:g.color,shape:g.shape,outline:g.outline,paint:g.paint,state:q[a],crossed:c,getSpectrum:f,options:r,notify:!1,className:h})}},ascii:{label:"Ascii",hint:"A field of characters. No eyes — the whole orb is the expression.",render:function({status:a,failed:c,word:d,size:e,getSpectrum:f,getMicSpectrum:g,look:h,className:i}){let j="dark"===(0,o.useResolvedTheme)();return(0,b.jsx)(n,{mode:c?"error":s[a],word:d,size:e,color:j?t:u,getSpectrum:f,getMicSpectrum:g,charset:h.charset,fontSize:h.fontSize,density:h.density,className:i})}}},w=(0,c.memo)(function({look:a,status:d="idle",size:e=448,className:f,...g}){let h=(0,c.useRef)(null),[i,j]=(0,c.useState)(e),[k,l]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=h.current;if(!a)return;let b=new ResizeObserver(([a])=>{let b=Math.round(a.contentRect.width);b>0&&j(b)});return b.observe(a),()=>b.disconnect()},[]),(0,c.useEffect)(()=>{let a=requestAnimationFrame(()=>l(!0));return()=>cancelAnimationFrame(a)},[]);let m=v[a.kind].render;return(0,b.jsx)("div",{ref:h,className:(0,p.cn)("aspect-square transition-opacity duration-700 ease-out",k?"opacity-100":"opacity-0",f),children:(0,b.jsx)(m,{...g,look:a,status:d,size:i})})});a.s(["FACES",0,v,"Face",0,w],445432)},359006,a=>{"use strict";let b,c;var d=a.i(920226);let e=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>e(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>e(b)(a)}}};var f=a.i(96340),g=a.i(759399),h=a.i(461512);let i=h.ThursdaySettingsSchema.extend({wake:h.WakeSchema.catch(h.WAKE_DEFAULT),hotkey:h.HotkeySchema.catch(h.HOTKEY_DEFAULT),callBack:h.CallBackSchema.catch(h.CALL_BACK_DEFAULT),captionView:h.CaptionViewSchema.catch("center")}),j={...f.LIVE_DEFAULTS,wake:h.WAKE_DEFAULT,hotkey:h.HOTKEY_DEFAULT,callBack:h.CALL_BACK_DEFAULT,captionView:"center"},k=(0,d.create)()((b=a=>({...j,patch:b=>a(b)}),c={name:"thursday.settings",merge:(a,b)=>{let c=i.safeParse((0,f.migrateLiveSettings)(a)),d=c.success?c.data:j;return{...b,...d}}},(a,d,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...c},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return b((...b)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),a(...b)});let n=()=>{let a=h.partialize({...d()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=b((...b)=>(a(...b),n()));f.getInitialState=()=>p;let q=()=>{var b,c;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=d())?b:p)});let o=(null==(c=h.onRehydrateStorage)?void 0:c.call(h,null!=(b=d())?b:p))||void 0;return e(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(b=>{var c;if(f!==j)return;let[e,i]=b;if(a(g=h.merge(i,null!=(c=d())?c:p),!0),e)return n()}).then(()=>{f===j&&(null==o||o(d(),void 0),g=d(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{++j,null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}));a.s(["thursdaySettings",0,()=>{let a="u"<typeof navigator?null:navigator.language??null;return h.ThursdaySettingsSchema.parse({...k.getState(),locale:a,faceWords:"ascii"===(0,g.thursdayFace)().kind})},"useThursdayStore",0,k],359006)},27418,a=>{"use strict";var b=a.i(421042);let c={[b.TOOL_NAMES.memory_recall]:"Checking your notes",[b.TOOL_NAMES.memory_remember]:"Noting that down",[b.TOOL_NAMES.memory_forget]:"Forgetting that",[b.TOOL_NAMES.bash]:"Doing it on this computer",[b.TOOL_NAMES.web_search]:"Searching the web",[b.TOOL_NAMES.load_skill]:"Reading how to do this",[b.TOOL_NAMES.end_call]:"Ending the call"};function d(a){if(!a)return null;try{let b=JSON.parse(a);if(b&&"object"==typeof b&&!Array.isArray(b))return b}catch{}return null}a.s(["delegatedLabel",0,function(a,c){if(a!==b.TOOL_NAMES.delegate)return null;try{let a=JSON.parse(c);return"string"==typeof a.label?a.label:null}catch{return null}},"toolBot",0,function(a,c){if(a!==b.TOOL_NAMES.delegate)return null;let e=d(c)?.bot;return"string"==typeof e&&e.trim()?e.trim():null},"toolLine",0,function(a,e){let f;if(a===b.TOOL_NAMES.tool_search||a===b.TOOL_NAMES.tool_call)return"Reaching a connected service";let g=d(e);return(g&&function(a,c){if(a===b.TOOL_NAMES.memory_remember){let a="string"==typeof c.path?c.path.trim():"",b=function(a){if(!Array.isArray(a.facts))return null;let b=a.facts.map(a=>a&&"object"==typeof a&&"string"==typeof a.text?a.text.trim():"").filter(Boolean);return b.length?{text:b[0],more:b.length-1}:null}(c);if(!a)return null;if(!b)return`Noting that under ${a}`;let d=b.more>0?` (+${b.more})`:"";return`Noting under ${a}: ${function(a){let b=a.trim().replace(/\s+/g," ");if(b.length<=28)return b;let c=b.slice(0,28),d=c.lastIndexOf(" ");return`${(d>14?c.slice(0,d):c).trimEnd()}…`}(b.text)}${d}`}if(a===b.TOOL_NAMES.delegate){let a="string"==typeof c.bot?c.bot.trim():"";return a?`Handing this to ${a}`:"Handing this over"}if(a===b.TOOL_NAMES.thread){let a="string"==typeof c.thread?c.thread.trim():"";return"answer"===c.action?"Passing that back":"cancel"===c.action?"Stopping that":"open"===c.action?a?`Opening ${a}`:"Opening that":a?`Checking on ${a}`:"Checking the jobs"}return null}(a,g))??c[a]??((f=a.indexOf("__"))<=0?null:`Reaching ${a.slice(0,f).replace(/[-_]/g," ")}`)}])},332033,a=>{"use strict";var b=a.i(572131);let c=["ctrl","alt","meta"],d=/^(Control|Alt|Shift|Meta|OS)/,e=/^(input|textarea|select)$/i,f=a=>!!a&&!!(e.test(a.tagName)||a.isContentEditable||a.closest?.("[data-hotkey-capture]"));function g(a){let{code:b,ctrlKey:c,altKey:e,shiftKey:f,metaKey:g}=a;if(!b||d.test(b)||!c&&!e&&!g)return null;let h=[];return c&&h.push("ctrl"),e&&h.push("alt"),f&&h.push("shift"),g&&h.push("meta"),[...h,b].join("+")}let h={ctrl:["Ctrl","⌃"],alt:["Alt","⌥"],shift:["Shift","⇧"],meta:["Meta","⌘"]};a.s(["HOTKEY_CAPTURE",0,{"data-hotkey-capture":""},"capturesKeys",0,f,"comboOf",0,g,"isCombo",0,a=>{let b=a.split("+"),e=b.at(-1);return!!(e&&!d.test(e)&&b.slice(0,-1).some(a=>c.includes(a)))},"useHotkey",0,function({enabled:a,combo:c,onPress:d}){let e=(0,b.useRef)(d);e.current=d,(0,b.useEffect)(()=>{if(!a||!c)return;let b=a=>{a.repeat||f(a.target)||g(a)===c&&(a.preventDefault(),e.current())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,c])},"useHotkeyLabel",0,function(a){let[c,d]=(0,b.useState)(!1);return(0,b.useEffect)(()=>d(/mac/i.test(navigator.userAgent)),[]),a?function(a,b=!1){let c=a.split("+"),d=c.at(-1)??"",e=c.slice(0,-1).map(a=>h[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,c):null}])}];
2
+
3
+ //# sourceMappingURL=_05yghx6._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[897020,a=>{"use strict";var b=a.i(187924);a.s([],804434),a.i(804434);var c=a.i(572131),d=a.i(801811),e=a.i(357738),f=a.i(462824),g=a.i(524715),h=a.i(394552),i=a.i(307436),j=a.i(407393),k=a.i(827576);let l={checked:a=>a?{"data-checked":""}:{"data-unchecked":""},...j.transitionStatusMapping,...k.fieldValidityMapping};var m=a.i(85933),n=a.i(300557),o=a.i(926184),p=a.i(221436),q=a.i(579587),r=a.i(796511),s=a.i(1230),t=a.i(832362),u=a.i(77260),v=a.i(346919),w=a.i(769476);let x=c.createContext(void 0);var y=a.i(376224),z=a.i(854662);let A=c.createContext(void 0),B=c.forwardRef(function(a,j){let{render:k,className:z,disabled:B=!1,readOnly:C=!1,required:D=!1,"aria-labelledby":E,value:F,inputRef:G,nativeButton:H=!1,id:I,style:J,...K}=a,L=c.useContext(x),{disabled:M,readOnly:N,required:O,form:P,checkedValue:Q,touched:R=!1,validation:S,name:T,setCheckedValue:U=g.NOOP,setTouched:V=g.NOOP,registerInputRef:W=g.NOOP}=L??{},{setTouched:X,setFilled:Y,state:Z,disabled:$}=(0,s.useFieldRootContext)(),_=(0,t.useFieldItemContext)(),{labelId:aa,getDescriptionProps:ab}=(0,u.useLabelableContext)(),ac=$||_.disabled||M||B,ad=N||C,ae=O||D,af=L?Q===F:""===F,ag=c.useRef(null),ah=c.useRef(null),ai=S?.registerInput,aj=c.useCallback(a=>ai?.(a,{controlRef:ag,value:void 0}),[ai]),ak=(0,d.useMergedRefs)(G,ah,W,aj);(0,e.useIsoLayoutEffect)(()=>{ah.current?.checked&&Y(!0)},[Y]),(0,e.useIsoLayoutEffect)(()=>{if(ah.current){if(ac&&af)return void W(null);W(ah.current)}},[af,ac,W]);let al=(0,n.useBaseUiId)(),am=(0,w.useLabelableId)({id:I}),an=H?void 0:am,ao={role:"radio","aria-checked":af,"aria-labelledby":(0,v.useAriaLabelledBy)(E,aa,ah,!H,an),[q.ACTIVE_COMPOSITE_ITEM]:af?"":void 0,id:H?am:al,onKeyDown(a){"Enter"===a.key&&a.preventDefault()},onClick(a){if(a.defaultPrevented||ac||ad)return;a.preventDefault();let b=ah.current;b&&(0,m.dispatchClickWithModifiers)(b,a)},onFocus(a){a.defaultPrevented||ac||ad||!R||(ah.current?.click(),V(!1))}},{getButtonProps:ap,buttonRef:aq}=(0,p.useButton)({disabled:ac,native:H,composite:!1}),ar={type:"radio",ref:ak,form:P,id:an,name:T,tabIndex:-1,style:T?f.visuallyHiddenInput:f.visuallyHidden,"aria-hidden":!0,...void 0!==F?{value:(0,y.serializeValue)(F)}:g.EMPTY_OBJECT,disabled:ac,checked:af,required:ae,readOnly:ad,onChange(a){if(a.nativeEvent.defaultPrevented||ac||ad||void 0===F)return;let b=(0,h.createChangeEventDetails)(i.REASONS.none,a.nativeEvent);U(F,b),b.isCanceled||X(!0)},onClick(a){a.stopPropagation()},onFocus(){ag.current?.focus()}},as=c.useMemo(()=>({...Z,required:ae,disabled:ac,readOnly:ad,checked:af}),[Z,ac,ad,af,ae]),at=void 0!==L,au=[j,ag,aq],av=[ao,K,ap,ab,S?a=>S.getValidationProps(ac,a):g.EMPTY_OBJECT],aw=(0,o.useRenderElement)("span",a,{enabled:!at,state:as,ref:au,props:av,stateAttributesMapping:l});return(0,b.jsxs)(A.Provider,{value:as,children:[at?(0,b.jsx)(r.CompositeItem,{tag:"span",render:k,className:z,style:J,state:as,refs:au,props:av,stateAttributesMapping:l}):aw,(0,b.jsx)("input",{...ar,suppressHydrationWarning:!0})]})});var C=a.i(305687),D=a.i(348250);let E=c.forwardRef(function(a,b){let{render:d,className:e,style:f,keepMounted:g=!1,...h}=a,i=function(){let a=c.useContext(A);if(void 0===a)throw Error((0,z.default)(52));return a}(),j=i.checked,{mounted:k,transitionStatus:m,setMounted:n}=(0,D.useTransitionStatus)(j),p={...i,transitionStatus:m},q=c.useRef(null),r=(0,o.useRenderElement)("span",a,{ref:[b,q],state:p,props:h,stateAttributesMapping:l});return((0,C.useOpenChangeComplete)({batch:!0,enabled:!j,open:j,ref:q,onComplete(){j||n(!1)}}),g||k)?r:null});a.s(["Indicator",0,E,"Root",0,B],642851);var F=a.i(642851),F=F,G=a.i(950381),H=a.i(854401),I=a.i(30116),J=a.i(669649),K=a.i(801548),L=a.i(958589),M=a.i(717326),N=a.i(971154),O=a.i(541302),P=a.i(964072);let Q=[J.SHIFT],R=c.forwardRef(function(a,d){let{render:e,className:f,disabled:g,readOnly:h,required:i,onValueChange:j,value:l,defaultValue:m,form:o,name:p,inputRef:q,id:r,style:t,...v}=a,{setTouched:w,setFocused:y,validationMode:z,name:A,disabled:B,state:C,validation:D,setDirty:E,setFilled:F,validityData:J}=(0,s.useFieldRootContext)(),{labelId:R}=(0,u.useLabelableContext)(),{clearErrors:S,elementRef:T}=(0,O.useFormContext)(),U=(0,N.useFieldsetRootContext)(!0),V=B||g,W=A??p,X=(0,n.useBaseUiId)(r),[Y,Z]=(0,G.useControlled)({controlled:l,default:m,name:"RadioGroup",state:"value"}),[$,_]=c.useState(!1),aa=(0,H.useStableCallback)((a,b)=>{j?.(a,b),b.isCanceled||Z(a)}),ab=D.getInputControl,ac=c.useMemo(()=>({get current(){return ab()}}),[ab]),ad=c.useRef(null),ae=c.useRef(null);function af(a){let b;return q&&("function"==typeof q?b=q(a):q.current=a),ad.current=a,b}let ag=(0,H.useStableCallback)(a=>{if(!a||a.disabled)return;ae.current||(ae.current=a);let b=ad.current,c=a.checked||null==b||b.disabled?af(a):void 0;return()=>{ae.current===a&&(ae.current=null),ad.current===a?c?(c(),ad.current=null):af(null):c?.()}}),ah=(0,H.useStableCallback)(()=>{let a=T.current;if(!a)return Y??null;for(let b of D.registeredInputs.keys())if(b.checked&&(0,M.isEligibleInput)(b,a))return Y??null;return null});(0,L.useRegisterFieldControl)(ac,X,Y??null,ah,!V,p),(0,P.useValueChanged)(Y,()=>{S(W),E(Y!==J.initialValue),F(null!=Y),D.change(Y);let a=ae.current;null==Y&&a&&!a.disabled&&af(a)});let ai=R??U?.legendId,aj={...C,disabled:V??!1,required:i??!1,readOnly:h??!1},ak=c.useMemo(()=>({checkedValue:Y,disabled:V,form:o,validation:D,name:W,readOnly:h,registerInputRef:ag,required:i,setCheckedValue:aa,setTouched:_,touched:$}),[Y,V,o,D,W,h,ag,i,aa,_,$]);return(0,b.jsx)(x.Provider,{value:ak,children:(0,b.jsx)(K.CompositeRoot,{render:e,className:f,style:t,state:aj,props:[{id:r,role:"radiogroup","aria-required":i||void 0,"aria-disabled":V||void 0,"aria-readonly":h||void 0,"aria-labelledby":ai,onFocus(){y(!0)},onBlur(a){(0,I.contains)(a.currentTarget,a.relatedTarget)||(w(!0),y(!1),"onBlur"===z&&D.commit(Y))},onKeyDownCapture(a){a.key.startsWith("Arrow")&&(_(!0),y(!0))}},v,a=>D.getValidationProps(V??!1,a)],refs:[d],stateAttributesMapping:k.fieldValidityMapping,enableHomeAndEndKeys:!1,modifierKeys:Q})})});var S=a.i(497895);a.s(["RadioGroup",0,function({className:a,...c}){return(0,b.jsx)(R,{"data-slot":"radio-group",className:(0,S.cn)("grid w-full gap-2",a),...c})},"RadioGroupItem",0,function({className:a,...c}){return(0,b.jsx)(F.Root,{"data-slot":"radio-group-item",className:(0,S.cn)("group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground group-has-[:focus-visible]/field-label:data-checked:border-primary dark:data-checked:bg-primary",a),...c,children:(0,b.jsx)(F.Indicator,{"data-slot":"radio-group-indicator",className:"flex size-4 items-center justify-center",children:(0,b.jsx)("span",{className:"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground"})})})}],897020)},102306,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(141146),f=a.i(866491),g=a.i(951675),h=a.i(572131),i=a.i(767561),j=a.i(340695),k=a.i(446181),l=a.i(545097),m=a.i(950463),n=a.i(287702),o=a.i(8468),p=a.i(619477),q=a.i(199169),r=a.i(313237),s=a.i(862966),t=a.i(497895),u=a.i(110241),v=a.i(306118),w=a.i(27418),x=a.i(346075),y=b([o]);[o]=y.then?(await y)():y;let F={running:"working",waiting:"waiting on you",done:"done",cancelled:"stopped"},G={running:"text-muted-foreground",waiting:t.WAITING_INK,done:"text-muted-foreground",cancelled:"text-muted-foreground"},H="h-[min(34rem,58vh)] min-h-64 px-1";function z(){let{items:a,isLoading:b,isLoadingMore:c,error:e,hasMore:f,sentinelRef:l,refresh:m}=(0,s.useServerPages)({key:(a,b)=>{if(0===a)return i.queryKey.callHistory(null);let c=b?.at(-1);return c?i.queryKey.callHistory((0,q.toDate)(c.startedAt).toISOString()):null},size:n.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),o=(0,h.useMemo)(()=>[...a].reverse(),[a]),[u,w]=(0,r.useServerAction)(v.deleteEndedCallsAction,{okMessage:a=>1===a?"1 call deleted":`${a} calls deleted`,onOk:m}),x=async()=>{await k.notify.confirm({title:"Delete every call?",description:"Every turn of every call goes — and she stops reading any of it back into the next call. A call still on the line stays.",okText:"Delete all",destructive:!0})&&u()},y=(0,h.useRef)(null),z=(0,h.useRef)(!1),C=(0,h.useRef)(0);return((0,h.useLayoutEffect)(()=>{let a=y.current;a&&0!==o.length&&(z.current?a.scrollTop=a.scrollHeight-C.current:(z.current=!0,a.scrollTop=a.scrollHeight),C.current=a.scrollHeight-a.scrollTop)},[o]),b)?(0,d.jsx)("div",{className:(0,t.cn)(H,"overflow-hidden"),children:(0,d.jsx)(A,{})}):e?(0,d.jsx)(p.SettingError,{message:e.message}):(0,d.jsx)(d.Fragment,{children:0===o.length?(0,d.jsx)("p",{className:"px-1 text-sm leading-relaxed text-muted-foreground",children:"No calls yet. Everything said on the line is kept here — hers and yours, in the order it was said."}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{ref:y,onScroll:a=>{let b=a.currentTarget;C.current=b.scrollHeight-b.scrollTop},className:(0,t.cn)(H,"overflow-y-auto overscroll-contain pb-6"),children:[(0,d.jsx)(p.SettingMore,{hasMore:f,loading:c,sentinelRef:l,count:1,ghost:(0,d.jsx)(A,{})}),o.map((a,b)=>(0,d.jsx)(B,{call:a,first:0===b,onDropped:m},a.id))]}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsxs)(j.Button,{variant:"ghost",loading:w,onClick:x,className:"text-muted-foreground hover:text-destructive",children:[(0,d.jsx)(g.Trash2,{}),"Delete all"]})})]})})}function A(){return(0,d.jsxs)("div",{className:"pb-3",children:[(0,d.jsxs)("div",{className:"flex h-7 items-center gap-2.5",children:[(0,d.jsx)(m.Skeleton,{className:"h-3 w-24"}),(0,d.jsx)(m.Skeleton,{className:"h-3 w-10"})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(m.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-sm"})}),(0,d.jsxs)("div",{className:"mt-3 flex items-start gap-2",children:[(0,d.jsx)(m.Skeleton,{className:"mt-0.5 size-[18px] shrink-0 rounded-full"}),(0,d.jsx)(m.Skeleton,{className:"mt-1 h-3.5 w-2/3"})]})]})}let I=a=>"user"===a.role?"user":"her";function B({call:a,first:b,onDropped:c}){let[e,f]=(0,r.useServerAction)(u.deleteCallAction,{okMessage:"Call deleted",onOk:c}),h=(0,q.toDate)(a.startedAt),i=a.turns.at(-1),l=a.endedAt&&i?function(a,b){let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3));if(c<60)return`${c}s`;let d=Math.floor(c/60);return d<60?`${d}m ${String(c%60).padStart(2,"0")}s`:`${Math.floor(d/60)}h ${String(d%60).padStart(2,"0")}m`}(h,(0,q.toDate)(i.at)):"on the line",m=async()=>{await k.notify.confirm({title:`Delete the call from ${(0,q.whenOf)(h)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&e(a.id)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,t.cn)("group flex items-center gap-2.5",b?"mt-1":"mt-11"),children:[(0,d.jsx)("span",{title:[a.provider,a.model,a.backendModel,null===a.seconds?null:`${a.seconds}s active`,a.endedReason].filter(Boolean).join(" · "),className:"font-mono text-[10px] tracking-[0.14em] uppercase",children:(0,q.whenOf)(h)}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:l}),(0,d.jsx)("span",{className:"ml-auto flex size-7 shrink-0 items-center justify-center",children:a.endedAt&&(0,d.jsx)(j.Button,{size:"icon-sm",variant:"ghost",loading:f,"aria-label":"Delete this call",onClick:m,className:"text-muted-foreground/60 opacity-0 transition-opacity group-hover:opacity-100 hover:text-destructive focus-visible:opacity-100",children:(0,d.jsx)(g.Trash2,{})})})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(function(a){let b=[];for(let c of a){let a=b.at(-1);if(a&&"tool"===c.role&&"tool"===a.turn.role&&a.turn.tool===c.tool&&a.turn.text===c.text){a.repeats+=1;continue}b.push({turn:c,repeats:1})}return b})(a.turns).map(({turn:b,repeats:c},e,f)=>{var g,h;let i,j=f[e-1]?.turn,k=f[e+1]?.turn;return(0,d.jsx)(C,{turn:b,job:(g=a,h=b,(i=(0,w.delegatedLabel)(h.tool,h.text))?g.jobs.find(a=>a.label===i):void 0),repeats:c,opensRun:!j||I(j)!==I(b),closesRun:!k||I(k)!==I(b)},b.id)})]})}function C({turn:a,job:b,opensRun:c,closesRun:e,repeats:f=1}){return"tool"===a.role?(0,d.jsx)(E,{turn:a,job:b,repeats:f,opensRun:c}):"user"===a.role?(0,d.jsx)("div",{className:(0,t.cn)("flex justify-end",c?"mt-3":"mt-1"),children:(0,d.jsx)("p",{className:(0,t.cn)("max-w-[min(34rem,78%)] rounded-2xl bg-muted px-3.5 py-2 text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",e&&"rounded-br-sm"),children:a.text})}):(0,d.jsxs)("div",{className:(0,t.cn)("flex items-start gap-2",c?"mt-3":"mt-1"),children:[(0,d.jsx)(D,{face:c,className:"mt-0.5"}),(0,d.jsx)("p",{className:"max-w-[min(34rem,78%)] text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",children:a.text})]})}function D({face:a,className:b}){return(0,d.jsx)("span",{className:(0,t.cn)("grid size-[18px] shrink-0 place-items-center",b),children:a&&(0,d.jsx)(x.ThursdayMark,{size:18})})}function E({turn:a,job:b,repeats:c,opensRun:e}){let f=a.tool??"",g=(0,o.toolIcon)(f),h=(0,w.toolLine)(f,a.text);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,t.cn)("flex items-center gap-2",e?"mt-3":"mt-1.5"),children:[(0,d.jsx)(D,{face:e}),(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-muted-foreground",children:[(0,d.jsx)(g,{className:"size-3 shrink-0"}),h&&(0,d.jsx)("span",{className:"truncate text-[11px] break-keep",children:h}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:f}),c>1&&(0,d.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",c]})]})]}),b&&(0,d.jsxs)("p",{className:"mt-0.5 ml-[26px] flex min-w-0 items-baseline gap-1.5 text-[11px]",children:["running"===b.status?(0,d.jsx)(l.ShinyText,{text:F.running,className:"shrink-0 font-mono text-[10px]"}):(0,d.jsx)("span",{className:(0,t.cn)("shrink-0 font-mono text-[10px]",G[b.status]),children:F[b.status]}),b.outcome&&"running"!==b.status&&(0,d.jsx)("span",{className:"truncate text-muted-foreground",children:(0,t.plainText)(b.outcome)})]})]})}a.s(["CallHistoryRow",0,function(){return(0,d.jsxs)("button",{type:"button",onClick:()=>k.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,d.jsx)(p.SettingDialogContent,{title:"Call history",description:"Everything said on the line, oldest at the top. Scroll up for older calls.",children:(0,d.jsx)(z,{})})}),className:"flex w-full min-w-0 items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.Phone,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,d.jsx)(e.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})}]),c()}catch(a){c(a)}},!1),922056,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(752562),f=a.i(26268),g=a.i(572131),h=a.i(767561),i=a.i(340695),j=a.i(825715),k=a.i(205522),l=a.i(446181),m=a.i(897020),n=a.i(777794),o=a.i(280281),p=a.i(546893),q=a.i(287702),r=a.i(96340),s=a.i(626280),t=a.i(324835),u=a.i(249049),v=a.i(449546),w=a.i(619477),x=a.i(102306),y=a.i(445432),z=a.i(346075),A=a.i(203282),B=a.i(334392),C=a.i(759399),D=a.i(37025),E=a.i(332288),F=a.i(461512),G=a.i(359006),H=a.i(888396),I=a.i(332033),J=a.i(616682),K=a.i(249890),L=a.i(313237),M=a.i(759497),N=a.i(497895),O=b([x]);function P({columns:a,children:b}){return(0,d.jsx)("div",{className:"@container",children:(0,d.jsx)("div",{className:(0,N.cn)("grid divide-y divide-border/60 overflow-hidden rounded-xl border border-border/60",3===a?"@3xl:grid-cols-3 @3xl:divide-x @3xl:divide-y-0":"@xl:grid-cols-2 @xl:divide-x @xl:divide-y-0"),children:b})})}function Q({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex min-h-5 items-center gap-3",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:a}),b]})}function R({value:a,face:b,hasKey:c,onChange:e}){return(0,d.jsx)(w.SettingGroup,{label:"Models",note:"Both run on your OpenAI key. Instructions are saved when you leave the field.",children:(0,d.jsxs)("div",{className:"@container divide-y divide-border/60 rounded-xl border border-border/60",children:[!c&&(0,d.jsx)(U,{}),(0,d.jsxs)(S,{name:"Voice",fact:"billed by the minute",children:[(0,d.jsx)("div",{className:"grid gap-4 @xl:grid-cols-2",children:(0,d.jsx)(T,{label:"model",children:(0,d.jsx)(j.Combobox,{value:K.LIVE_MODEL,onChange:()=>void 0,options:[{value:K.LIVE_MODEL,label:"GPT-Live 1"}],"aria-label":"Voice model",disabled:!0})})}),(0,d.jsx)(T,{label:"voice",children:(0,d.jsx)(A.VoicePicker,{voice:a.voice,face:b,onChange:a=>e({voice:a.trim()||r.LIVE_DEFAULTS.voice})})}),(0,d.jsx)(T,{label:"instructions",children:(0,d.jsx)(Z,{value:a.voicePrompt,onCommit:a=>e({voicePrompt:a}),placeholder:"How to address you, how much to say, what to skip.","aria-label":"Voice instructions"})})]}),(0,d.jsxs)(S,{name:"Backend",fact:"billed per token",children:[(0,d.jsx)(T,{label:"model",children:(0,d.jsx)(V,{value:a.backendModel,onChange:a=>e({backendModel:a})})}),(0,d.jsx)(T,{label:"reasoning",children:(0,d.jsx)(n.Segmented,{"aria-label":"Reasoning effort",className:"w-full flex-wrap *:flex-1",options:ah,value:a.reasoningEffort??"auto",onChange:a=>e({reasoningEffort:"auto"===a?null:a})})}),(0,d.jsx)(T,{label:"tools",children:(0,d.jsx)(W,{webSearch:a.webSearch,onWebSearch:a=>e({webSearch:a})})}),(0,d.jsx)(T,{label:"instructions",children:(0,d.jsx)(Z,{value:a.backendPrompt,onCommit:a=>e({backendPrompt:a}),placeholder:"How work should be handed over, what to check first.","aria-label":"Backend instructions"})})]})]})})}function S({name:a,fact:b,children:c}){return(0,d.jsxs)("div",{className:"grid gap-4 p-5 @2xl:grid-cols-[8.5rem_minmax(0,1fr)] @2xl:gap-6",children:[(0,d.jsxs)("span",{className:"space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:a}),(0,d.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:b})]}),(0,d.jsx)("div",{className:"min-w-0 space-y-4",children:c})]})}function T({label:a,children:b}){return(0,d.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,d.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:a}),b]})}function U(){let[a,b]=(0,g.useState)(""),[c,e]=(0,L.useServerAction)(v.setConfigAction,{onOk:()=>{(0,M.revalidate)(h.queryKey.llmModel),(0,M.revalidate)(h.queryKey.config),b("")}}),f=a.trim().length>=u.KEY_MIN;return(0,d.jsxs)("div",{className:"space-y-3 p-5",children:[(0,d.jsxs)("span",{className:"block space-y-0.5",children:[(0,d.jsx)("span",{className:(0,N.cn)("block text-sm font-medium",N.WAITING_INK),children:"No OpenAI key"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Her voice and the backend both run on it"})]}),(0,d.jsx)(u.KeyInput,{dense:!0,provider:r.LIVE_PROVIDER,saved:!1,value:a,ready:f,saving:e,onValue:b,onSubmit:()=>f&&c(r.LIVE_PROVIDER.apiKeyName,a)})]})}function V({value:a,onChange:b}){let c=r.LIVE_BACKEND_MODELS.some(b=>b.id===a),f=(0,H.useDraft)(c?"":a,a=>b(a||r.LIVE_DEFAULTS.backendModel),{min:0});return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("div",{role:"radiogroup","aria-label":"Backend model",className:"grid grid-cols-2 gap-2 @3xl:grid-cols-4",children:r.LIVE_BACKEND_MODELS.map(c=>{let f=c.id===a;return(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":f,onClick:()=>b(c.id),className:(0,N.cn)("min-w-0 space-y-0.5 rounded-lg border px-3 py-2.5 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"border-foreground bg-muted/40":"border-border/60 hover:bg-muted/50"),children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:c.label}),f&&(0,d.jsx)(e.Check,{className:"size-3.5 shrink-0"})]}),(0,d.jsxs)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:[c.id," · ",c.tier]})]},c.id)})}),(0,d.jsx)(k.Input,{value:f.value,onChange:a=>f.set(a.target.value),onBlur:f.commit,onKeyDown:f.onKeyDown,placeholder:"Other model id","aria-label":"Other backend model id",spellCheck:!1,className:"font-mono text-sm"})]})}[x]=O.then?(await O)():O;let ah=[{value:"auto",label:"auto",title:"The model's own default"},...r.LIVE_REASONING.map(a=>({value:a,label:a,title:`Reasoning effort ${a}`}))];function W({webSearch:a,onWebSearch:b}){let{data:c}=(0,M.useServerRoute)(h.queryKey.callSkills),[e]=(0,L.useServerAction)(E.setCallSkillsAction,{onOk:()=>(0,M.revalidate)(h.queryKey.callSkills)});return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex flex-wrap gap-x-7 gap-y-3",children:[(0,d.jsx)(X,{label:"Search the web",checked:a,onChange:b}),(0,d.jsx)(X,{label:"Read skills herself",checked:c??!1,disabled:void 0===c,onChange:a=>e(a)})]}),a&&(0,d.jsx)(w.SettingNote,{children:"Each search adds to the backend's OpenAI usage."}),c&&(0,d.jsx)(Y,{})]})}function X({label:a,checked:b,disabled:c,onChange:e}){return(0,d.jsxs)("label",{className:"flex items-center gap-2.5 text-sm",children:[(0,d.jsx)(o.Switch,{checked:b,disabled:c,onCheckedChange:e}),a]})}function Y(){let{data:a}=(0,M.useServerRoute)(h.queryKey.skills);return a?(0,d.jsx)(w.SettingNote,{className:(0,N.cn)(!a.length&&N.WAITING_INK),children:a.length?`The same ${a.length} a bot reads. Each one she opens spends a page of the call on it.`:"Nothing installed yet — there is nothing for her to read."}):null}function Z({value:a,onCommit:b,placeholder:c,"aria-label":e}){let f=(0,H.useDraft)(a,b,{min:0});return(0,d.jsx)(p.Textarea,{value:f.value,maxLength:J.COMMON_VALIDATE.prompt.max,onChange:a=>f.set(a.target.value),onBlur:f.commit,placeholder:c,"aria-label":e})}function $(){let[a,b]=(0,L.useServerAction)(D.resetHistoryAction,{okMessage:({calls:a,threads:b,notes:c})=>`Wiped ${a} calls, ${b} jobs, ${c} notes`,onOk:()=>{(0,M.revalidate)(h.queryKey.memory),(0,M.revalidate)(h.queryKey.threads),(0,M.revalidate)(h.queryKey.callHistory(null))}}),c=async()=>{await l.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay.",okText:"Reset",destructive:!0})&&a()};return(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3 p-4",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.TriangleAlert,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:"Reset history"}),(0,d.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:"Calls, jobs and memory. Keys and bots stay."})]}),(0,d.jsx)(i.Button,{variant:"outline",size:"sm",loading:b,onClick:c,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})}function _({value:a,onChange:b}){let c=c=>b({...a,...c});return(0,d.jsx)(w.SettingGroup,{label:"Face",children:(0,d.jsxs)("div",{className:"space-y-5 py-2",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center gap-4 pt-2",children:[(0,d.jsx)(y.Face,{look:a,size:176,className:"w-44"}),(0,d.jsx)(n.Segmented,{"aria-label":"Face",options:B.FACE_KINDS.map(a=>({value:a,label:y.FACES[a].label})),value:a.kind,onChange:a=>c({kind:a})}),(0,d.jsx)("p",{className:"max-w-sm text-center text-xs text-muted-foreground",children:y.FACES[a.kind].hint})]}),"mark"===a.kind&&(0,d.jsx)(s.MarkPalette,{color:a.paint?void 0:a.color,themePicked:!a.paint&&!a.color,onTheme:()=>c({color:void 0,paint:void 0}),onPick:a=>c({color:a,paint:void 0}),paint:a.paint,onPaint:b=>c({paint:a.paint===b?void 0:b})}),"mark"===a.kind&&(0,d.jsx)(aa,{label:"Shape",children:(0,d.jsx)(n.Segmented,{"aria-label":"Shape",options:t.MARK_SHAPES.map(a=>({value:a,label:(0,d.jsx)("span",{className:"capitalize",children:a})})),value:a.shape??"blob",onChange:a=>c({shape:a})})}),"mark"===a.kind&&(0,d.jsx)(aa,{label:"Style",children:(0,d.jsx)(n.Segmented,{"aria-label":"Style",options:[{value:"solid",label:"Solid"},{value:"outline",label:"Outline"}],value:a.outline?"outline":"solid",onChange:a=>c({outline:"outline"===a||void 0})})}),"ascii"===a.kind&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(aa,{label:"Glyphs",children:(0,d.jsx)(n.Segmented,{"aria-label":"Glyphs",options:B.ASCII_CHARSETS.map(a=>({value:a,label:ai[a]})),value:a.charset,onChange:a=>c({charset:a})})}),(0,d.jsx)(aa,{label:"Size",children:(0,d.jsx)(ab,{min:q.ASCII_FACE.fontSize.min,max:q.ASCII_FACE.fontSize.max,step:1,value:a.fontSize,format:a=>`${a}px`,onChange:a=>c({fontSize:a})})}),(0,d.jsx)(aa,{label:"Density",children:(0,d.jsx)(ab,{min:q.ASCII_FACE.density.min,max:q.ASCII_FACE.density.max,step:.1,value:a.density,format:a=>`${a.toFixed(1)}x`,onChange:a=>c({density:a})})})]})]})})}let ai={ascii:"Characters",emoji:"Sprinkled",emojiOnly:"All emoji"};function aa({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"w-16 shrink-0 font-mono text-[11px] text-muted-foreground",children:a}),b]})}function ab({value:a,onChange:b,format:c,...e}){return(0,d.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,d.jsx)("input",{type:"range",...e,value:a,onChange:a=>b(Number(a.target.value)),className:"min-w-0 flex-1 accent-foreground"}),(0,d.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:c(a)})]})}let aj={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Both sides",hint:"Hers on the left, yours on the right. ↑ ↓ step back through the call."}};function ac({value:a,onChange:b}){return(0,d.jsx)(w.SettingGroup,{label:"Captions",children:(0,d.jsx)("div",{className:"@container",children:(0,d.jsx)("div",{role:"radiogroup","aria-label":"Captions",className:"grid gap-3 @xl:grid-cols-2",children:F.CAPTION_VIEWS.map(c=>{let f=c===a;return(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":f,onClick:()=>b(c),className:(0,N.cn)("min-w-0 space-y-3 rounded-xl border p-3 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"border-foreground":"border-border/60 hover:bg-muted/50"),children:[(0,d.jsx)(ad,{view:c}),(0,d.jsxs)("span",{className:"flex items-center gap-3 px-1 pb-0.5",children:[(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:aj[c].label}),(0,d.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:aj[c].hint})]}),f&&(0,d.jsx)(e.Check,{className:"size-4 shrink-0"})]})]},c)})})})})}function ad({view:a}){let b="block h-1 max-w-full rounded-full bg-foreground/20";return(0,d.jsx)("span",{className:"flex h-24 items-center justify-center rounded-lg bg-muted",children:"center"===a?(0,d.jsxs)("span",{className:"flex flex-col items-center gap-2.5",children:[(0,d.jsx)(z.ThursdayMark,{size:32}),(0,d.jsx)("span",{className:(0,N.cn)(b,"w-28")})]}):(0,d.jsxs)("span",{className:"grid w-full grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-4 px-6",children:[(0,d.jsxs)("span",{className:"space-y-1.5",children:[(0,d.jsx)("span",{className:(0,N.cn)(b,"w-24")}),(0,d.jsx)("span",{className:(0,N.cn)(b,"w-16")})]}),(0,d.jsx)(z.ThursdayMark,{size:32}),(0,d.jsx)("span",{children:(0,d.jsx)("span",{className:(0,N.cn)(b,"ml-auto w-20")})})]})})}function ae({value:a,onChange:b}){return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(Q,{label:"She calls you"}),(0,d.jsx)(m.RadioGroup,{"aria-label":"She calls you",value:a,onValueChange:a=>b(F.CallBackSchema.parse(a)),className:"gap-2.5",children:F.CALL_BACK_MODES.map(a=>(0,d.jsxs)("label",{className:"flex min-w-0 items-center gap-2.5 text-sm",children:[(0,d.jsx)(m.RadioGroupItem,{value:a}),(0,d.jsx)("span",{className:"truncate",children:F.CALL_BACK_LABEL[a]})]},a))}),(0,d.jsx)(w.SettingNote,{children:ak[a]}),"off"!==a&&(0,d.jsx)(w.SettingNote,{children:"Needs this tab open. It rings on screen until you answer, decline or let it go; the desktop notification covers a tab you are not looking at."})]})}let ak={off:"Nothing opens a call but you.",waiting:"A job that stopped to ask gets her to ring you.",any:"Anything a bot finishes, she rings you to tell you."};function af({value:a,onChange:b}){let c=(0,H.useDraft)(a.phrase,c=>b({...a,phrase:c}),{min:F.WAKE_PHRASE.min}),e=c.value.trim().split(/\s+/).length<2;return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(Q,{label:"Wake phrase",children:(0,d.jsx)(o.Switch,{"aria-label":"Answer to her name",checked:a.enabled,onCheckedChange:c=>b({...a,enabled:c})})}),(0,d.jsx)(k.Input,{value:c.value,maxLength:F.WAKE_PHRASE.max,spellCheck:!1,disabled:!a.enabled,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,d.jsx)(w.SettingNote,{children:a.enabled?e?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count.":"Between calls, the browser listens for it and picks up."})]})}function ag({value:a,onChange:b}){let[c,e]=(0,g.useState)(!1),[f,h]=(0,g.useState)(!1),i=(0,I.useHotkeyLabel)((0,I.isCombo)(a.combo)?a.combo:null);return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(Q,{label:"Shortcut",children:(0,d.jsx)(o.Switch,{"aria-label":"Answer to a key",checked:a.enabled,onCheckedChange:c=>b({...a,enabled:c})})}),(0,d.jsx)("button",{type:"button",...I.HOTKEY_CAPTURE,disabled:!a.enabled,onClick:()=>{h(!1),e(!0)},onBlur:()=>e(!1),onKeyDown:c?c=>{if("Tab"===c.key)return;if(c.preventDefault(),c.stopPropagation(),"Escape"===c.key)return e(!1);let d=(0,I.comboOf)(c.nativeEvent);if(!d)return h(!0);h(!1),e(!1),b({...a,combo:d})}:void 0,className:(0,N.cn)("flex h-8 w-full items-center justify-center rounded-lg border px-3 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50",c?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:c?"Press the keys…":i??"Set a shortcut"}),(0,d.jsx)(w.SettingNote,{children:f?"Hold Ctrl, Alt or Cmd — a plain key is typing.":c?"Esc to keep the one you have.":a.enabled?"Only while this tab has focus. Not while you are typing.":"Starts a call, and ends the one that is running."})]})}a.s(["ThursdaySetting",0,function(){let a=(0,G.useThursdayStore)(),b=(0,G.useThursdayStore)(a=>a.patch),{data:c=[],isLoading:e,error:f}=(0,M.useServerRoute)(h.queryKey.llmModel),g=(0,C.useThursdayFace)();if(e)return(0,d.jsx)(w.SettingSkeleton,{rows:4});if(f)return(0,d.jsx)(w.SettingError,{message:f.message});let i=c.some(a=>a.apiKeyName===r.LIVE_PROVIDER.apiKeyName&&a.hasKey);return(0,d.jsxs)(w.SettingScreen,{footer:(0,d.jsx)(w.SettingRailNote,{children:"Both of her prompts are assembled fresh on every call — memory, the roster and your skills go in. Changes here apply from the next call."}),children:[(0,d.jsx)(_,{value:g,onChange:C.setThursdayFace}),(0,d.jsx)(ac,{value:a.captionView,onChange:a=>b({captionView:a})}),(0,d.jsx)(R,{value:a,face:g,hasKey:i,onChange:b}),(0,d.jsx)(w.SettingGroup,{label:"Starting a call",children:(0,d.jsxs)(P,{columns:3,children:[(0,d.jsx)(af,{value:a.wake,onChange:a=>b({wake:a})}),(0,d.jsx)(ag,{value:a.hotkey,onChange:a=>b({hotkey:a})}),(0,d.jsx)(ae,{value:a.callBack,onChange:a=>b({callBack:a})})]})}),(0,d.jsx)(w.SettingGroup,{label:"History",children:(0,d.jsxs)(P,{columns:2,children:[(0,d.jsx)(x.CallHistoryRow,{}),(0,d.jsx)($,{})]})})]})}]),c()}catch(a){c(a)}},!1),203282,a=>{"use strict";var b=a.i(187924),c=a.i(752562),d=a.i(589027),e=a.i(474215),f=a.i(572131),g=a.i(340695),h=a.i(205522),i=a.i(545097),j=a.i(864037),k=a.i(96340),l=a.i(445432),m=a.i(483253),n=a.i(497895);let o=Array(m.SPECTRUM_BANDS).fill(0);a.s(["VoicePicker",0,function({voice:a,face:p,onChange:q}){let[r,s]=(0,f.useState)(!1),[t,u]=(0,f.useState)(a),[v,w]=(0,f.useState)(!1),[x,y]=(0,f.useState)(""),z=(0,f.useRef)(null),A=(0,f.useRef)(null),B=(0,f.useRef)(0),C=(0,f.useRef)(!1),D=(0,f.useCallback)(()=>A.current&&C.current?A.current.clip.read():o,[]),E=a=>{C.current=a,w(a)};(0,f.useEffect)(()=>{if(r)return()=>{let a=A.current;A.current=null,a&&(a.element.pause(),a.clip.close())}},[r]);let F=(a,b)=>{a===B.current&&(B.current++,E(!1),j.toast.add({type:"error",title:"Voice sample did not play",description:(0,n.errorToString)(b)}))},G=()=>{B.current++;let a=z.current;a&&(a.pause(),a.currentTime=0),E(!1)};return r?(0,b.jsxs)("div",{className:"@container space-y-2",children:[(0,b.jsx)("audio",{ref:z,onEnded:()=>E(!1),onError:a=>{C.current&&F(B.current,a.currentTarget.error?.message||"The clip could not be read.")},children:(0,b.jsx)("track",{kind:"captions"})}),(0,b.jsxs)("div",{className:"rounded-xl border border-border/60 p-3",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:"click a name to hear it"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",className:"ml-auto","aria-label":"Close",onClick:()=>{G(),s(!1),y(""),u(a)},children:(0,b.jsx)(e.X,{})})]}),(0,b.jsxs)("div",{className:"grid gap-4 @md:grid-cols-[11rem_minmax(0,1fr)]",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,b.jsx)(l.Face,{look:p,status:v?"speaking":"idle",getSpectrum:D,size:176,className:"w-44"}),(0,b.jsx)("span",{className:"text-sm font-medium",children:v?(0,b.jsx)(i.ShinyText,{text:t}):t}),(0,b.jsx)("span",{className:"h-4 font-mono text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[t]})]}),(0,b.jsx)("div",{className:"max-h-56 min-w-0 overflow-y-auto",children:k.LIVE_VOICES.map(d=>(0,b.jsxs)("button",{type:"button",onClick:()=>(a=>{let b=z.current;if(!b)return;if(v&&a===t)return void G();u(a),y(""),A.current?.element!==b&&(A.current?.clip.close(),A.current={element:b,clip:(0,m.createClipTap)(b)}),A.current.clip.resume();let c=++B.current;b.src=(0,k.voiceSamplePath)(a),E(!0),b.play().catch(a=>{a instanceof DOMException&&"AbortError"===a.name||F(c,a)})})(d),className:(0,n.cn)("flex w-full items-center gap-2 rounded-md px-1.5 py-1.5 text-sm outline-none hover:bg-accent focus-visible:bg-accent",d===t&&"bg-accent text-accent-foreground"),children:[(0,b.jsx)("span",{className:"flex-1 text-left",children:v&&d===t?(0,b.jsx)(i.ShinyText,{text:d}):d}),(0,b.jsx)("span",{className:"shrink truncate font-mono text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[d]}),(0,b.jsx)(c.Check,{className:(0,n.cn)("size-3.5 shrink-0",d===a?"opacity-100":"opacity-0")})]},d))})]})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(h.Input,{value:x,onChange:a=>y(a.target.value),placeholder:"another voice id","aria-label":"Another voice id",spellCheck:!1,className:"font-mono text-sm"}),(0,b.jsx)(g.Button,{className:"shrink-0",onClick:()=>{let b=x.trim()||t;G(),s(!1),y(""),u(b),b!==a&&q(b)},children:"Save"})]})]}):(0,b.jsxs)("button",{type:"button",onClick:()=>s(!0),"aria-label":"Voice",className:(0,n.cn)(h.inputClassName,"flex items-center gap-2 text-left font-mono text-sm hover:border-ring"),children:[(0,b.jsx)("span",{className:"shrink-0",children:a}),(0,b.jsx)("span",{className:"min-w-0 truncate text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[a]}),(0,b.jsx)(d.ChevronDown,{className:"ml-auto size-3.5 shrink-0 text-muted-foreground"})]})}])},37025,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f9c1e49c706caa152ff08631b3d9e546f03fbe3c4",b.callServer,void 0,b.findSourceMapURL,"resetHistoryAction");a.s(["resetHistoryAction",0,c])},332288,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fc7d0deb4c2007c1476881a012b11964f41b6b577",b.callServer,void 0,b.findSourceMapURL,"setCallSkillsAction");a.s(["setCallSkillsAction",0,c])},110241,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f510287bfbf77f7ba17ebc5a170ef1f0732f37260",b.callServer,void 0,b.findSourceMapURL,"deleteCallAction");a.s(["deleteCallAction",0,c])},306118,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fab13470bc62e14372a3f42bc27a46f6ca1888c81",b.callServer,void 0,b.findSourceMapURL,"deleteEndedCallsAction");a.s(["deleteEndedCallsAction",0,c])},866491,a=>{"use strict";var b=a.i(164831);let c={name:"phone",size:24,node:[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]]};c.node;let d=(0,b.default)(c);a.s(["Phone",0,d],866491)}];
2
+
3
+ //# sourceMappingURL=_07nbwap._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[8468,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(752562),f=a.i(589027),g=a.i(168370),h=a.i(847799),i=a.i(62140),j=a.i(875160),k=a.i(328423),l=a.i(488540),m=a.i(233540),n=a.i(674746),o=a.i(357307),p=a.i(924613),q=a.i(572131),r=a.i(767561),s=a.i(545097),t=a.i(950463),u=a.i(421042),v=a.i(107340),w=a.i(86922),x=a.i(600154),y=a.i(369768),z=a.i(759497),A=a.i(497895),B=b([y]);[y]=B.then?(await B)():B;let I={[u.TOOL_NAMES.web_search]:function({tool:a,threadId:b,collapsed:c}){let e=L(a.results);return(0,d.jsxs)(E,{tool:a,threadId:b,icon:m.Search,collapsed:c,children:[(0,d.jsxs)("p",{className:"px-3 pt-1 pb-1.5 text-[13px] leading-snug break-keep",children:["“",a.input,"”"]}),e.length>0&&(0,d.jsx)("ol",{className:"space-y-0.5 px-3 pb-2",children:e.map((a,b)=>(0,d.jsxs)("li",{className:"flex gap-2 text-[11.5px] leading-snug text-muted-foreground",children:[(0,d.jsx)("span",{className:"mt-1.25 size-1 shrink-0 rounded-full bg-muted-foreground/50"}),(0,d.jsx)("span",{className:"truncate",children:a})]},`${b}-${a}`))})]})},[u.TOOL_NAMES.bash]:function({tool:a,threadId:b,collapsed:c}){let e=L(a.results);return(0,d.jsx)(E,{tool:a,threadId:b,icon:o.Terminal,collapsed:c,children:(0,d.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,d.jsx)("span",{className:"text-muted-foreground/60",children:"$ "}),a.input,e.length>0&&(0,d.jsx)("span",{className:"block text-muted-foreground",children:e.join("\n")})]})})},[u.TOOL_NAMES.write_file]:a=>(0,d.jsx)(C,{icon:h.FilePen,...a})},J={[u.TOOL_NAMES.web_search]:m.Search,[u.TOOL_NAMES.bash]:o.Terminal,[u.TOOL_NAMES.write_file]:h.FilePen,[u.TOOL_NAMES.memory_recall]:w.MemoryMark,[u.TOOL_NAMES.memory_remember]:w.MemoryMark,[u.TOOL_NAMES.memory_forget]:w.MemoryMark,[u.TOOL_NAMES.memory_conversation]:w.MemoryMark,[u.TOOL_NAMES.load_skill]:x.SkillsMark,[u.TOOL_NAMES.tool_search]:v.McpMark,[u.TOOL_NAMES.tool_call]:v.McpMark,[u.TOOL_NAMES.delegate]:n.Send,[u.TOOL_NAMES.thread]:i.ListChecks,[u.TOOL_NAMES.send_message]:k.MessageSquare,[u.TOOL_NAMES.end_call]:l.PhoneOff},K=a=>J[a]??p.Wrench;function C({icon:a,tool:b,threadId:c,collapsed:e}){let f=b.path??b.input;return(0,d.jsxs)(E,{tool:b,threadId:c,icon:a,collapsed:e,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 pt-1 pb-1.5",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:b.input}),(0,d.jsxs)(y.FileLink,{path:f,label:`Open ${f}`,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,d.jsx)(g.ExternalLink,{className:"size-3"}),"Open"]})]}),(0,d.jsx)(H,{lines:L(b.results),mono:!0})]})}function D({tool:a,threadId:b,collapsed:c}){return(0,d.jsxs)(E,{tool:a,threadId:b,icon:K(a.name),collapsed:c,children:[(0,d.jsx)("p",{className:"px-3 pt-1 pb-1.5 text-[12px] leading-snug break-keep",children:a.input}),(0,d.jsx)(H,{lines:L(a.results)})]})}function E({tool:a,threadId:b,icon:c,collapsed:g=!1,children:h}){let i=void 0===a.results,[k,l]=(0,q.useState)(!g),m=k||i,n=b&&a.callId&&((a.results?.length??0)>0||a.more);return(0,d.jsxs)("div",{className:(0,A.cn)("@container w-full overflow-hidden rounded-xl transition-colors",m?"bg-background/80 dark:bg-white/4":"hover:bg-foreground/4"),children:[(0,d.jsxs)("button",{type:"button",onClick:()=>l(a=>!a),"aria-expanded":m,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,d.jsx)("span",{className:"grid size-5 shrink-0 place-items-center rounded-[7px] bg-foreground/8 text-muted-foreground",children:i?(0,d.jsx)(j.Loader2,{className:"size-3 animate-spin"}):(0,d.jsx)(c,{className:"size-3"})}),a.note?(0,d.jsxs)(d.Fragment,{children:[i?(0,d.jsx)(s.ShinyText,{text:a.note,speed:2.4,className:"min-w-0 flex-1 truncate text-[12px] leading-4 break-keep"}):(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-[12px] leading-4 break-keep",children:a.note}),(0,d.jsx)("span",{className:"hidden min-w-0 flex-1 truncate font-mono text-[11px] leading-4 text-muted-foreground/85 @lg:block",children:a.input})]}):i?(0,d.jsx)(s.ShinyText,{text:a.input,speed:2.4,className:"min-w-0 flex-1 truncate font-mono text-[11px] leading-4"}):(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] leading-4 text-foreground/80",children:a.input}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:a.name}),!i&&(0,d.jsx)(e.Check,{className:"size-3 shrink-0 text-muted-foreground/50"}),(0,d.jsx)(f.ChevronDown,{className:(0,A.cn)("size-3 shrink-0 text-muted-foreground/50 transition-transform",m&&"rotate-180")})]}),m&&(0,d.jsxs)("div",{className:"pb-1.5 pl-[1.625rem]",children:[h,n&&(0,d.jsx)(F,{threadId:b,callId:a.callId})]})]})}function F({threadId:a,callId:b}){let[c,e]=(0,q.useState)(!1),{data:g,isLoading:h}=(0,z.useServerRoute)(c?r.queryKey.toolResult(a,b):null);return(0,d.jsxs)("div",{className:"px-3 pb-1",children:[(0,d.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,d.jsx)(f.ChevronDown,{className:(0,A.cn)("size-3",c&&"rotate-180")}),c?"Less":"Everything"]}),c&&(h||!g?(0,d.jsx)(t.Skeleton,{className:"mt-1.5 h-12 w-full rounded-lg"}):(0,d.jsxs)("div",{className:"mt-1.5 space-y-1.5",children:[M(g).map((a,b)=>(0,d.jsx)(G,{src:a},`${b}-${a.length}`)),L(g).length>0&&(0,d.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:L(g).join("\n")})]}))]})}function G({src:a}){return(0,d.jsx)("img",{src:a,alt:"",className:"block w-full rounded-lg bg-muted object-contain"})}function H({lines:a,mono:b}){return 0===a.length?null:(0,d.jsx)("ul",{className:"px-3 pb-1.5",children:a.map((a,c)=>(0,d.jsx)("li",{className:(0,A.cn)("truncate text-[11px] leading-relaxed text-muted-foreground",b&&"font-mono"),children:a},`${c}-${a}`))})}let L=a=>a?.flatMap(a=>"text"===a.type?[a.text]:[])??[],M=a=>a?.flatMap(a=>"image"===a.type?[a.src]:[])??[];a.s(["BotTool",0,function(a){let b=I[a.tool.name]??D;return(0,d.jsx)(b,{...a})},"toolIcon",0,K]),c()}catch(a){c(a)}},!1),107340,a=>{"use strict";var b=a.i(164831);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["McpMark",0,d],107340)},86922,a=>{"use strict";var b=a.i(164831);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["MemoryMark",0,d],86922)},600154,a=>{"use strict";let b=a.i(689594).BookMarked;a.s(["SkillsMark",0,b])},346075,a=>{"use strict";var b=a.i(187924),c=a.i(913834),d=a.i(759399);let e="thursday";a.s(["THURSDAY_SEED",0,e,"ThursdayMark",0,function({size:a=16,className:f}){let g=(0,d.useThursdayFace)();return(0,b.jsx)(c.BotMark,{size:a,seed:e,color:g.color,shape:g.shape,outline:g.outline,paint:g.paint,notify:!1,className:f})}])},334392,a=>{"use strict";a.s(["ASCII_CHARSETS",0,["ascii","emoji","emojiOnly"],"FACE_KINDS",0,["mark","ascii"]])},759399,a=>{"use strict";var b=a.i(572131),c=a.i(461512);let d="thursday.icon";function e(){return c.FACE_DEFAULT}let f=e(),g=new Set;function h(){for(let a of g)a()}a.s(["setThursdayFace",0,function(a){f=a;try{window.localStorage.setItem(d,JSON.stringify(a))}catch{}h()},"thursdayFace",0,function(){return f},"useThursdayFace",0,function(){return(0,b.useSyncExternalStore)(a=>{g.add(a);let b=a=>{a.key===d&&(f=e(),h())};return window.addEventListener("storage",b),()=>{g.delete(a),window.removeEventListener("storage",b)}},()=>f,()=>c.FACE_DEFAULT)}])},461512,a=>{"use strict";var b=a.i(702080),c=a.i(287702),d=a.i(96340),e=a.i(411509),f=a.i(334392),g=a.i(249890);let h=d.LiveSettingsSchema.extend({locale:b.default.string().max(35).nullish(),faceWords:b.default.boolean().optional()}),i=e.botIconSchema.extend({kind:b.default.enum(f.FACE_KINDS).default("ascii"),charset:b.default.enum(f.ASCII_CHARSETS).default(c.ASCII_FACE.charset),fontSize:b.default.number().min(c.ASCII_FACE.fontSize.min).max(c.ASCII_FACE.fontSize.max).default(c.ASCII_FACE.fontSize.default),density:b.default.number().min(c.ASCII_FACE.density.min).max(c.ASCII_FACE.density.max).default(c.ASCII_FACE.density.default)}).parse({}),j={min:3,max:32},k=b.default.object({enabled:b.default.boolean(),phrase:b.default.string().trim().min(j.min).max(j.max)}),l=b.default.object({enabled:b.default.boolean(),combo:b.default.string().trim().min(1).max(64)}),m=["off","waiting","any"],n=b.default.enum(m),o=["center","sides"],p=b.default.enum(o);b.default.object({id:b.default.string().min(1),role:b.default.enum(["user","assistant","tool"]),tool:b.default.string().nullish(),text:b.default.string(),seq:b.default.number().int().min(0),fragments:b.default.array(g.LiveFragmentSchema).nullish()}),b.default.object({id:b.default.string().min(1),text:b.default.string(),seq:b.default.number().int().min(0)}),a.s(["CALL_BACK_DEFAULT",0,"off","CALL_BACK_LABEL",0,{off:"Never",waiting:"When a job needs me",any:"Whenever a job ends"},"CALL_BACK_MODES",0,m,"CAPTION_VIEWS",0,o,"CallBackSchema",0,n,"CaptionViewSchema",0,p,"FACE_DEFAULT",0,i,"HOTKEY_DEFAULT",0,{enabled:!0,combo:"alt+shift+KeyT"},"HotkeySchema",0,l,"ThursdaySettingsSchema",0,h,"WAKE_DEFAULT",0,{enabled:!0,phrase:"hey thursday"},"WAKE_PHRASE",0,j,"WakeSchema",0,k])},847799,a=>{"use strict";var b=a.i(164831);let c={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"]};c.node;let d=(0,b.default)(c);a.s(["FilePen",0,d],847799)},62140,a=>{"use strict";var b=a.i(164831);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["ListChecks",0,d],62140)},328423,a=>{"use strict";var b=a.i(164831);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["MessageSquare",0,d],328423)},488540,a=>{"use strict";var b=a.i(164831);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["PhoneOff",0,d],488540)},674746,a=>{"use strict";var b=a.i(164831);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["Send",0,d],674746)},357307,a=>{"use strict";var b=a.i(164831);let c={name:"terminal",size:24,node:[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]};c.node;let d=(0,b.default)(c);a.s(["Terminal",0,d],357307)}];
2
+
3
+ //# sourceMappingURL=_08c4z-9._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[701876,a=>{"use strict";var b=a.i(451208);a.s([],489277),a.i(489277),a.s(["7f82c7e8d420b33957d9cd9585a395848aea8e24e9",()=>b.openFileAction],701876)},451208,a=>{"use strict";var b=a.i(137936),c=a.i(821415),d=a.i(912714),e=a.i(750227),f=a.i(569572),g=a.i(293480);async function h(a){let b=await (0,c.insideWorkspace)(a);b||(0,g.publicError)("Outside the workspace");let e=await (0,d.stat)(b).catch(()=>null);e||(0,g.publicError)("File not found"),e.isFile()||(0,g.publicError)("That is a folder, not a file"),await (0,d.rm)(b)}async function i(){let a=(0,e.join)(c.WORKSPACE,f.PATHS.scratch);for(let b of(await (0,d.readdir)(a).catch(()=>[])))await (0,d.rm)((0,e.join)(a,b),{recursive:!0,force:!0})}a.i(684321);var j=a.i(225689),k=a.i(874533),l=a.i(812057);let m={darwin:a=>["open",[a]],win32:a=>["cmd.exe",["/c","start","",a]],linux:a=>["xdg-open",[a]]};async function n(a){await (0,d.access)(a);let b=m[process.platform]?.(a);if(!b)throw Error(`Opening files is not wired up on ${process.platform}.`);let[c,e]=b;await (0,l.promisify)(k.execFile)(c,e,{windowsHide:!0})}var o=a.i(182248),p=a.i(713095);let q=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?");let d=(await (0,c.openWorkspace)()).resolve(b);try{await n(d)}catch(a){(0,g.publicError)(`Could not open ${b}: ${(0,o.errorToString)(a)}`)}}),r=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?"),await h(b)}),s=(0,j.serverAction)(async()=>i());(0,p.ensureServerEntryExports)([q,r,s]),(0,b.registerServerReference)(q,"7f82c7e8d420b33957d9cd9585a395848aea8e24e9",null),(0,b.registerServerReference)(r,"7f5cb090bc50765e05bcbe51a3e9787de458d2c2d7",null),(0,b.registerServerReference)(s,"7fdb0e583cb0c8a4cbf774bb658d5815c8148fe93b",null),a.s(["deleteWorkspaceFileAction",0,r,"emptyScratchAction",0,s,"openFileAction",0,q],451208)},225689,a=>{"use strict";a.i(570396);var b=a.i(673727),c=a.i(975160),d=a.i(176668),e=a.i(293480);let f=a=>!!a&&"object"==typeof a&&(!0===a.$ok||!1===a.$ok),g=a=>f(a)&&a.$ok,h=a=>({$ok:!0,data:a}),i=a=>({$ok:!1,message:a});async function j(a){try{let b=h(await a());for(;g(b)&&f(b.data);)b=b.data;return b}catch(a){if((0,b.unstable_rethrow)(a),(0,e.isPublicError)(a))return i(a.message);if(a instanceof c.ZodError)return i(a.issues[0]?.message);if(f(a)&&!a.$ok)return a;return d.logger.error(a),i()}}a.s(["serverAction",0,a=>(...b)=>j(()=>a(...b))],225689)},293480,a=>{"use strict";class b extends Error{message;constructor(a){super(a),this.message=a}}a.s(["isPublicError",0,a=>a instanceof b,"publicError",0,function(a){throw new b(a)}])},832030,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_readline_1u65a-m._.js","server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_1j4x-_j._.js"].map(b=>a.l(b))).then(()=>b(322479)))},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)}];
3
+
4
+ //# sourceMappingURL=_0_qfdlw._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[703228,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(263359),f=a.i(689594),g=a.i(707963),h=a.i(141146),i=a.i(998697),j=a.i(483138),k=a.i(69095),l=a.i(696732),m=a.i(567826),n=a.i(403512),o=a.i(233540),p=a.i(917256),q=a.i(951675),r=a.i(201661),s=a.i(572131),t=a.i(767561),u=a.i(340695),v=a.i(316474),w=a.i(205522),x=a.i(846991),y=a.i(446181),z=a.i(950463),A=a.i(280281),B=a.i(621958),C=a.i(546893),D=a.i(287702),E=a.i(619477),F=a.i(473994),G=a.i(516648),H=a.i(864446),I=a.i(247442),J=a.i(313237),K=a.i(759497),L=a.i(497895),M=b([x]);[x]=M.then?(await M)():M;let W={browser:l.Globe,computer:e.AppWindow,"find-skills":o.Search,"interactive-page":m.MousePointer2,"skill-creator":p.SquarePen};function N({skill:a}){let[b,c]=(0,J.useServerAction)(G.deleteSkillAction,{onOk:()=>(0,K.revalidate)(t.queryKey.skills)}),[e]=(0,J.useServerAction)(H.setSkillDisabledAction,{onOk:()=>(0,K.revalidate)(t.queryKey.skills)}),g=async()=>{await y.notify.confirm({title:`Delete ${a.name}?`,description:"Every file in this skill is deleted for good.",okText:"Delete",destructive:!0})&&b(a.dir)},i="default"===a.source&&W[a.dir]||f.BookMarked;return(0,d.jsxs)("div",{className:"group flex items-center transition-colors hover:bg-muted/50",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>{var b;return b=a,y.notify.component({className:"sm:max-w-4xl",renderer:()=>(0,d.jsx)(O,{skill:b})})},className:"flex min-w-0 flex-1 items-center gap-3 py-4 pl-4 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)("span",{className:(0,L.cn)("grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",a.disabled&&"opacity-45"),children:(0,d.jsx)(i,{className:"size-4"})}),(0,d.jsxs)("span",{className:(0,L.cn)("min-w-0 flex-1 space-y-0.5",a.disabled&&"opacity-45"),children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:a.name}),(0,d.jsx)("span",{className:"line-clamp-2 text-xs leading-relaxed text-muted-foreground",children:a.description})]}),(0,d.jsx)(h.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 group-hover:text-foreground"})]}),(0,d.jsxs)("div",{className:"mr-4 ml-5 flex w-18 shrink-0 items-center justify-end gap-3",children:[(0,d.jsx)(A.Switch,{checked:!a.disabled,onCheckedChange:b=>e(a.source,a.dir,!b),"aria-label":`${a.name} on or off`,className:"shrink-0"}),"custom"===a.source?(0,d.jsx)(u.Button,{size:"icon-sm",variant:"ghost",loading:c,onClick:g,className:"shrink-0 text-muted-foreground",children:(0,d.jsx)(q.Trash2,{})}):(0,d.jsx)("span",{className:"size-7 shrink-0"})]})]})}function O({skill:a}){let[b,c]=(0,s.useState)(""),[e,f]=(0,s.useState)("SKILL.md");return(0,d.jsx)(E.SettingDialogContent,{title:a.name,description:(0,d.jsx)(P,{skill:a,path:e??b}),children:(0,d.jsxs)("div",{className:"flex h-[36rem] divide-x divide-border/60 overflow-hidden rounded-xl border border-border/60 bg-background",children:[(0,d.jsxs)("div",{className:"flex w-44 shrink-0 flex-col overflow-y-auto bg-muted/20 py-1",children:[b&&(0,d.jsxs)("button",{type:"button",onClick:()=>c(b.split("/").slice(0,-1).join("/")),className:"mx-1 mb-1 flex items-center gap-1 rounded-md px-2 py-1 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/50 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)(g.ChevronLeft,{className:"size-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:b.split("/").pop()})]}),(0,d.jsx)(R,{source:a.source,dir:a.dir,path:b,current:e,onPick:a=>{let d=b?`${b}/${a.name}`:a.name;"dir"===a.kind?c(d):f(d)}})]}),(0,d.jsx)("div",{className:"min-w-0 flex-1 overflow-y-auto",children:e?(0,d.jsx)(T,{source:a.source,dir:a.dir,path:e}):(0,d.jsx)("p",{className:"p-6 text-sm text-muted-foreground/60",children:"Pick a file"})})]})})}function P({skill:a,path:b}){if(!a)return(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground/60",children:"Pick a skill"});let c=[a.name,...b.split("/").filter(Boolean)];return(0,d.jsx)("span",{className:"flex min-w-0 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:c.map((a,b)=>(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[b>0&&(0,d.jsx)(h.ChevronRight,{className:"size-3 shrink-0 opacity-50"}),(0,d.jsx)("span",{className:(0,L.cn)("truncate",b===c.length-1&&"text-foreground"),children:a})]},`${b}-${a}`))})}function Q({icon:a,label:b,active:c,hasChildren:e,onClick:f}){return(0,d.jsxs)("button",{type:"button",onClick:f,className:(0,L.cn)("mx-1 flex items-center gap-1.5 rounded-md px-2 py-1 text-left text-xs outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",c?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/50 hover:text-foreground"),children:[(0,d.jsx)("span",{className:"shrink-0 text-muted-foreground/70 [&>svg]:size-3",children:a}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:b}),e&&(0,d.jsx)(h.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/50"})]})}function R({source:a,dir:b,path:c,current:e,onPick:f}){let{data:g,isLoading:h,error:l}=(0,K.useServerRoute)(t.queryKey.skillNode(a,b,c));return l?(0,d.jsx)("p",{className:"p-3 font-mono text-xs text-destructive",children:l.message}):h||!g?(0,d.jsxs)("div",{className:"space-y-2 p-2",children:[(0,d.jsx)(z.Skeleton,{className:"h-5 w-full"}),(0,d.jsx)(z.Skeleton,{className:"h-5 w-4/5"})]}):"dir"!==g.kind?null:(0,d.jsxs)(d.Fragment,{children:[g.entries.map(a=>(0,d.jsx)(Q,{icon:"dir"===a.kind?(0,d.jsx)(k.Folder,{}):a.name.endsWith(".md")?(0,d.jsx)(j.FileText,{}):(0,d.jsx)(i.File,{}),label:a.name,hasChildren:"dir"===a.kind,active:(c?`${c}/${a.name}`:a.name)===e,onClick:()=>f(a)},a.name)),0===g.entries.length&&(0,d.jsx)("p",{className:"p-3 text-xs text-muted-foreground/60",children:"Empty folder"})]})}function S({content:a}){let b=/^---\r?\n([\s\S]*?)\r?\n---[ \t]*\r?\n?/.exec(a),c=b?.[1].trim(),e=b?a.slice(b[0].length):a;return(0,d.jsxs)("div",{className:"min-w-0",children:[c&&(0,d.jsx)("pre",{className:"border-b border-border/60 bg-muted/20 px-5 py-3 font-mono text-[11px] leading-relaxed whitespace-pre-wrap text-muted-foreground",children:c}),(0,d.jsx)("div",{className:"px-5 py-4 text-sm leading-relaxed",children:(0,d.jsx)(x.Markdown,{children:e})})]})}function T({source:a,dir:b,path:c}){let{data:e,isLoading:f,error:g}=(0,K.useServerRoute)(t.queryKey.skillNode(a,b,c));if(g)return(0,d.jsx)("p",{className:"p-4 font-mono text-xs text-destructive",children:g.message});if(f||!e)return(0,d.jsxs)("div",{className:"space-y-3 p-5",children:[(0,d.jsx)(z.Skeleton,{className:"h-5 w-2/3"}),(0,d.jsx)(z.Skeleton,{className:"h-4 w-full"}),(0,d.jsx)(z.Skeleton,{className:"h-4 w-5/6"})]});if("file"!==e.kind)return null;let h=c.split("/").pop()??"";return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"sticky top-0 z-20 flex items-center justify-between gap-2 border-b border-border/60 bg-background/90 px-5 py-2 font-mono text-[11px] text-muted-foreground backdrop-blur",children:[(0,d.jsx)("span",{className:"truncate",children:h}),(0,d.jsx)("span",{className:"shrink-0",children:(0,L.formatBytes)(e.size)})]}),null===e.content?(0,d.jsx)("p",{className:"px-5 py-4 text-sm text-muted-foreground/60",children:"Not a text file — the agent can still read it from disk."}):h.toLowerCase().endsWith(".md")?(0,d.jsx)(S,{content:e.content}):(0,d.jsx)("pre",{className:"overflow-x-auto px-5 py-4 font-mono text-[13px] leading-relaxed whitespace-pre text-foreground/90",children:e.content})]})}function U(){return y.notify.component({className:"sm:max-w-lg",renderer:({close:a})=>(0,d.jsx)(V,{onDone:a})})}function V({onDone:a}){let[b,c]=(0,s.useState)("write"),[e,f]=(0,s.useState)(""),[g,h]=(0,s.useState)(""),[i,j]=(0,s.useState)(""),[k,l]=(0,s.useState)(null),[m,o]=(0,s.useState)(!1),p=(0,s.useRef)(null),q={errorMessage:!1,onOk:()=>{(0,K.revalidate)(t.queryKey.skills),a()}},[x,y,,z]=(0,J.useServerAction)(F.createSkillAction,q),[A,G,,H]=(0,J.useServerAction)(I.uploadSkillAction,q),M=y||G,N="write"===b?z:H,O=!M&&("write"===b?e.trim()&&g.trim()&&i.trim():null!==k),P=async()=>{var a;!O||("write"===b?x({name:e.trim(),description:g.trim(),content:i}):k&&A({fileName:k.name,base64:await (a=k,new Promise((b,c)=>{let d=new FileReader;d.onload=()=>{let a=d.result;b(a.slice(a.indexOf(",")+1))},d.onerror=()=>c(d.error),d.readAsDataURL(a)}))}))},Q=a=>{let b=a?.[0]??null;b&&l(b)};return(0,d.jsxs)(E.SettingDialogContent,{title:"New skill",description:"Instructions the agent loads by name when a task calls for them.",footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(u.Button,{variant:"ghost",onClick:a,children:"Cancel"}),(0,d.jsxs)(u.Button,{disabled:!O,loading:M,onClick:P,children:[!M&&("write"===b?(0,d.jsx)(n.Plus,{}):(0,d.jsx)(r.Upload,{})),"write"===b?"Create":"Upload"]})]}),children:[(0,d.jsxs)(B.Tabs,{value:b,onValueChange:a=>c(a),children:[(0,d.jsxs)(B.TabsList,{className:"w-full",children:[(0,d.jsx)(B.TabsTrigger,{value:"write",children:"Write"}),(0,d.jsx)(B.TabsTrigger,{value:"upload",children:"Upload"})]}),(0,d.jsxs)(B.TabsContent,{value:"write",className:"space-y-5 pt-4",children:[(0,d.jsxs)(v.Field,{children:[(0,d.jsx)(v.FieldLabel,{htmlFor:"skill-name",children:"Name"}),(0,d.jsxs)(v.FieldContent,{children:[(0,d.jsx)(w.Input,{id:"skill-name",value:e,onChange:a=>f(a.target.value),placeholder:"deploy-checklist",spellCheck:!1,autoFocus:!0}),(0,d.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[D.PATHS.skills.custom,"/",e.trim()||"…","/SKILL.md"]})]})]}),(0,d.jsxs)(v.Field,{children:[(0,d.jsx)(v.FieldLabel,{htmlFor:"skill-description",children:"Description"}),(0,d.jsx)(v.FieldContent,{children:(0,d.jsx)(w.Input,{id:"skill-description",value:g,onChange:a=>h(a.target.value),placeholder:"When to use it — this is how the agent decides to load it"})})]}),(0,d.jsxs)(v.Field,{children:[(0,d.jsx)(v.FieldLabel,{htmlFor:"skill-content",children:"Content"}),(0,d.jsx)(C.Textarea,{id:"skill-content",value:i,onChange:a=>j(a.target.value),placeholder:"Markdown. The steps, the rules, the examples.",className:"min-h-40 resize-none font-mono text-xs"})]})]}),(0,d.jsxs)(B.TabsContent,{value:"upload",className:"space-y-4 pt-4",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>p.current?.click(),onDragOver:a=>{a.preventDefault(),o(!0)},onDragLeave:()=>o(!1),onDrop:a=>{a.preventDefault(),o(!1),Q(a.dataTransfer.files)},className:(0,L.cn)("flex w-full flex-col items-center gap-2 rounded-xl border border-dashed px-6 py-10 text-center outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",m?"border-foreground/60 bg-muted/60":"border-border hover:bg-muted/40"),children:[(0,d.jsx)(r.Upload,{className:"size-5 text-muted-foreground"}),k?(0,d.jsxs)("span",{className:"text-sm",children:[k.name,(0,d.jsx)("span",{className:"ml-2 font-mono text-[11px] text-muted-foreground",children:(0,L.formatBytes)(k.size)})]}):(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:"Drop a file here, or click to choose"})]}),(0,d.jsx)("input",{ref:p,type:"file",accept:".md,.zip,.skill",className:"hidden",onChange:a=>Q(a.target.files)}),(0,d.jsxs)("div",{className:"space-y-1 text-xs text-muted-foreground",children:[(0,d.jsx)("p",{className:"font-medium text-foreground/80",children:"File requirements"}),(0,d.jsxs)("p",{children:["A ",(0,d.jsx)("span",{className:"font-mono",children:".md"})," file needs a YAML block with the skill's name and description."]}),(0,d.jsxs)("p",{children:["A ",(0,d.jsx)("span",{className:"font-mono",children:".zip"})," or"," ",(0,d.jsx)("span",{className:"font-mono",children:".skill"})," archive needs a SKILL.md inside — the rest of its folder comes along."]})]})]})]}),N&&(0,d.jsx)("p",{className:"font-mono text-xs text-destructive",children:N})]})}a.s(["SkillsSetting",0,function(){let[a,b]=(0,s.useState)(""),{data:c,isLoading:e,error:f}=(0,K.useServerRoute)(t.queryKey.skills),g=c??[];if(e)return(0,d.jsx)(E.SettingSkeleton,{rows:4});if(f)return(0,d.jsx)(E.SettingError,{message:f.message});let h=a.trim().toLowerCase(),i=g.filter(a=>!h||`${a.name} ${a.description}`.toLowerCase().includes(h)),j=g.filter(a=>!a.disabled).length;return(0,d.jsxs)(E.SettingScreen,{footer:(0,d.jsxs)(E.SettingRailNote,{children:[g.filter(a=>"default"===a.source).length," shipped · ",g.filter(a=>"custom"===a.source).length," ","installed"]}),children:[(0,d.jsx)(E.SettingToolbar,{count:`${j} on \xb7 ${g.length-j} off`,children:(0,d.jsx)(E.SettingFilter,{value:a,onChange:b,placeholder:"Filter skills"})}),(0,d.jsx)(E.SettingGroup,{label:"Custom",hint:"yours — added here · wins a name clash",children:(0,d.jsx)(E.SettingItems,{addRow:{label:"Add skill",onClick:U},children:i.filter(a=>"custom"===a.source).map(a=>(0,d.jsx)(N,{skill:a},`custom/${a.dir}`))})}),(0,d.jsx)(E.SettingGroup,{label:"Default",hint:"ships with the app · switch off, can't edit or delete",children:(0,d.jsx)(E.SettingItems,{children:i.filter(a=>"default"===a.source).map(a=>(0,d.jsx)(N,{skill:a},`default/${a.dir}`))})}),j>D.PROMPT_CROWDED.skills&&(0,d.jsxs)(E.SettingNote,{children:[j," skills are on. Each is a line in every prompt a bot reads, and one more to look past when it picks."]})]})},"openSkillCreate",0,U]),c()}catch(a){c(a)}},!1),473994,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fd2be038aaf192febe6ff64aaa1cae78aa143c0c0",b.callServer,void 0,b.findSourceMapURL,"createSkillAction");a.s(["createSkillAction",0,c])},516648,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f9f1e120f08a19080c12fcdb8240f9c4acc302d2e",b.callServer,void 0,b.findSourceMapURL,"deleteSkillAction");a.s(["deleteSkillAction",0,c])},864446,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f63c41bac986f62db6dafc188e4e50b71eff95d4d",b.callServer,void 0,b.findSourceMapURL,"setSkillDisabledAction");a.s(["setSkillDisabledAction",0,c])},247442,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fc28100d5c9fe991232c48d1c4ed58771916e504e",b.callServer,void 0,b.findSourceMapURL,"uploadSkillAction");a.s(["uploadSkillAction",0,c])},263359,a=>{"use strict";var b=a.i(164831);let c={name:"app-window",size:24,node:[["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}],["path",{d:"M10 4v4",key:"pp8u80"}],["path",{d:"M2 8h20",key:"d11cs7"}],["path",{d:"M6 4v4",key:"1svtjw"}]]};c.node;let d=(0,b.default)(c);a.s(["AppWindow",0,d],263359)},567826,a=>{"use strict";var b=a.i(164831);let c={name:"mouse-pointer-2",size:24,node:[["path",{d:"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",key:"edeuup"}]]};c.node;let d=(0,b.default)(c);a.s(["MousePointer2",0,d],567826)},917256,a=>{"use strict";var b=a.i(164831);let c={name:"square-pen",size:24,node:[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],aliases:["pen-box","edit","pen-square"]};c.node;let d=(0,b.default)(c);a.s(["SquarePen",0,d],917256)},201661,a=>{"use strict";var b=a.i(164831);let c={name:"upload",size:24,node:[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]};c.node;let d=(0,b.default)(c);a.s(["Upload",0,d],201661)}];
1
+ module.exports=[703228,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(263359),f=a.i(689594),g=a.i(707963),h=a.i(141146),i=a.i(998697),j=a.i(483138),k=a.i(69095),l=a.i(696732),m=a.i(567826),n=a.i(403512),o=a.i(233540),p=a.i(917256),q=a.i(951675),r=a.i(201661),s=a.i(572131),t=a.i(767561),u=a.i(340695),v=a.i(316474),w=a.i(205522),x=a.i(846991),y=a.i(446181),z=a.i(950463),A=a.i(280281),B=a.i(621958),C=a.i(546893),D=a.i(287702),E=a.i(619477),F=a.i(789265),G=a.i(529816),H=a.i(650606),I=a.i(681480),J=a.i(313237),K=a.i(759497),L=a.i(497895),M=b([x]);[x]=M.then?(await M)():M;let W={browser:l.Globe,computer:e.AppWindow,"find-skills":o.Search,"interactive-page":m.MousePointer2,"skill-creator":p.SquarePen};function N({skill:a}){let[b,c]=(0,J.useServerAction)(G.deleteSkillAction,{onOk:()=>(0,K.revalidate)(t.queryKey.skills)}),[e]=(0,J.useServerAction)(H.setSkillDisabledAction,{onOk:()=>(0,K.revalidate)(t.queryKey.skills)}),g=async()=>{await y.notify.confirm({title:`Delete ${a.name}?`,description:"Every file in this skill is deleted for good.",okText:"Delete",destructive:!0})&&b(a.dir)},i="default"===a.source&&W[a.dir]||f.BookMarked;return(0,d.jsxs)("div",{className:"group flex items-center transition-colors hover:bg-muted/50",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>{var b;return b=a,y.notify.component({className:"sm:max-w-4xl",renderer:()=>(0,d.jsx)(O,{skill:b})})},className:"flex min-w-0 flex-1 items-center gap-3 py-4 pl-4 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)("span",{className:(0,L.cn)("grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",a.disabled&&"opacity-45"),children:(0,d.jsx)(i,{className:"size-4"})}),(0,d.jsxs)("span",{className:(0,L.cn)("min-w-0 flex-1 space-y-0.5",a.disabled&&"opacity-45"),children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:a.name}),(0,d.jsx)("span",{className:"line-clamp-2 text-xs leading-relaxed text-muted-foreground",children:a.description})]}),(0,d.jsx)(h.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 group-hover:text-foreground"})]}),(0,d.jsxs)("div",{className:"mr-4 ml-5 flex w-18 shrink-0 items-center justify-end gap-3",children:[(0,d.jsx)(A.Switch,{checked:!a.disabled,onCheckedChange:b=>e(a.source,a.dir,!b),"aria-label":`${a.name} on or off`,className:"shrink-0"}),"custom"===a.source?(0,d.jsx)(u.Button,{size:"icon-sm",variant:"ghost",loading:c,onClick:g,className:"shrink-0 text-muted-foreground",children:(0,d.jsx)(q.Trash2,{})}):(0,d.jsx)("span",{className:"size-7 shrink-0"})]})]})}function O({skill:a}){let[b,c]=(0,s.useState)(""),[e,f]=(0,s.useState)("SKILL.md");return(0,d.jsx)(E.SettingDialogContent,{title:a.name,description:(0,d.jsx)(P,{skill:a,path:e??b}),children:(0,d.jsxs)("div",{className:"flex h-[36rem] divide-x divide-border/60 overflow-hidden rounded-xl border border-border/60 bg-background",children:[(0,d.jsxs)("div",{className:"flex w-44 shrink-0 flex-col overflow-y-auto bg-muted/20 py-1",children:[b&&(0,d.jsxs)("button",{type:"button",onClick:()=>c(b.split("/").slice(0,-1).join("/")),className:"mx-1 mb-1 flex items-center gap-1 rounded-md px-2 py-1 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/50 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)(g.ChevronLeft,{className:"size-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:b.split("/").pop()})]}),(0,d.jsx)(R,{source:a.source,dir:a.dir,path:b,current:e,onPick:a=>{let d=b?`${b}/${a.name}`:a.name;"dir"===a.kind?c(d):f(d)}})]}),(0,d.jsx)("div",{className:"min-w-0 flex-1 overflow-y-auto",children:e?(0,d.jsx)(T,{source:a.source,dir:a.dir,path:e}):(0,d.jsx)("p",{className:"p-6 text-sm text-muted-foreground/60",children:"Pick a file"})})]})})}function P({skill:a,path:b}){if(!a)return(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground/60",children:"Pick a skill"});let c=[a.name,...b.split("/").filter(Boolean)];return(0,d.jsx)("span",{className:"flex min-w-0 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:c.map((a,b)=>(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[b>0&&(0,d.jsx)(h.ChevronRight,{className:"size-3 shrink-0 opacity-50"}),(0,d.jsx)("span",{className:(0,L.cn)("truncate",b===c.length-1&&"text-foreground"),children:a})]},`${b}-${a}`))})}function Q({icon:a,label:b,active:c,hasChildren:e,onClick:f}){return(0,d.jsxs)("button",{type:"button",onClick:f,className:(0,L.cn)("mx-1 flex items-center gap-1.5 rounded-md px-2 py-1 text-left text-xs outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",c?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/50 hover:text-foreground"),children:[(0,d.jsx)("span",{className:"shrink-0 text-muted-foreground/70 [&>svg]:size-3",children:a}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:b}),e&&(0,d.jsx)(h.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/50"})]})}function R({source:a,dir:b,path:c,current:e,onPick:f}){let{data:g,isLoading:h,error:l}=(0,K.useServerRoute)(t.queryKey.skillNode(a,b,c));return l?(0,d.jsx)("p",{className:"p-3 font-mono text-xs text-destructive",children:l.message}):h||!g?(0,d.jsxs)("div",{className:"space-y-2 p-2",children:[(0,d.jsx)(z.Skeleton,{className:"h-5 w-full"}),(0,d.jsx)(z.Skeleton,{className:"h-5 w-4/5"})]}):"dir"!==g.kind?null:(0,d.jsxs)(d.Fragment,{children:[g.entries.map(a=>(0,d.jsx)(Q,{icon:"dir"===a.kind?(0,d.jsx)(k.Folder,{}):a.name.endsWith(".md")?(0,d.jsx)(j.FileText,{}):(0,d.jsx)(i.File,{}),label:a.name,hasChildren:"dir"===a.kind,active:(c?`${c}/${a.name}`:a.name)===e,onClick:()=>f(a)},a.name)),0===g.entries.length&&(0,d.jsx)("p",{className:"p-3 text-xs text-muted-foreground/60",children:"Empty folder"})]})}function S({content:a}){let b=/^---\r?\n([\s\S]*?)\r?\n---[ \t]*\r?\n?/.exec(a),c=b?.[1].trim(),e=b?a.slice(b[0].length):a;return(0,d.jsxs)("div",{className:"min-w-0",children:[c&&(0,d.jsx)("pre",{className:"border-b border-border/60 bg-muted/20 px-5 py-3 font-mono text-[11px] leading-relaxed whitespace-pre-wrap text-muted-foreground",children:c}),(0,d.jsx)("div",{className:"px-5 py-4 text-sm leading-relaxed",children:(0,d.jsx)(x.Markdown,{children:e})})]})}function T({source:a,dir:b,path:c}){let{data:e,isLoading:f,error:g}=(0,K.useServerRoute)(t.queryKey.skillNode(a,b,c));if(g)return(0,d.jsx)("p",{className:"p-4 font-mono text-xs text-destructive",children:g.message});if(f||!e)return(0,d.jsxs)("div",{className:"space-y-3 p-5",children:[(0,d.jsx)(z.Skeleton,{className:"h-5 w-2/3"}),(0,d.jsx)(z.Skeleton,{className:"h-4 w-full"}),(0,d.jsx)(z.Skeleton,{className:"h-4 w-5/6"})]});if("file"!==e.kind)return null;let h=c.split("/").pop()??"";return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"sticky top-0 z-20 flex items-center justify-between gap-2 border-b border-border/60 bg-background/90 px-5 py-2 font-mono text-[11px] text-muted-foreground backdrop-blur",children:[(0,d.jsx)("span",{className:"truncate",children:h}),(0,d.jsx)("span",{className:"shrink-0",children:(0,L.formatBytes)(e.size)})]}),null===e.content?(0,d.jsx)("p",{className:"px-5 py-4 text-sm text-muted-foreground/60",children:"Not a text file — the agent can still read it from disk."}):h.toLowerCase().endsWith(".md")?(0,d.jsx)(S,{content:e.content}):(0,d.jsx)("pre",{className:"overflow-x-auto px-5 py-4 font-mono text-[13px] leading-relaxed whitespace-pre text-foreground/90",children:e.content})]})}function U(){return y.notify.component({className:"sm:max-w-lg",renderer:({close:a})=>(0,d.jsx)(V,{onDone:a})})}function V({onDone:a}){let[b,c]=(0,s.useState)("write"),[e,f]=(0,s.useState)(""),[g,h]=(0,s.useState)(""),[i,j]=(0,s.useState)(""),[k,l]=(0,s.useState)(null),[m,o]=(0,s.useState)(!1),p=(0,s.useRef)(null),q={errorMessage:!1,onOk:()=>{(0,K.revalidate)(t.queryKey.skills),a()}},[x,y,,z]=(0,J.useServerAction)(F.createSkillAction,q),[A,G,,H]=(0,J.useServerAction)(I.uploadSkillAction,q),M=y||G,N="write"===b?z:H,O=!M&&("write"===b?e.trim()&&g.trim()&&i.trim():null!==k),P=async()=>{var a;!O||("write"===b?x({name:e.trim(),description:g.trim(),content:i}):k&&A({fileName:k.name,base64:await (a=k,new Promise((b,c)=>{let d=new FileReader;d.onload=()=>{let a=d.result;b(a.slice(a.indexOf(",")+1))},d.onerror=()=>c(d.error),d.readAsDataURL(a)}))}))},Q=a=>{let b=a?.[0]??null;b&&l(b)};return(0,d.jsxs)(E.SettingDialogContent,{title:"New skill",description:"Instructions the agent loads by name when a task calls for them.",footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(u.Button,{variant:"ghost",onClick:a,children:"Cancel"}),(0,d.jsxs)(u.Button,{disabled:!O,loading:M,onClick:P,children:[!M&&("write"===b?(0,d.jsx)(n.Plus,{}):(0,d.jsx)(r.Upload,{})),"write"===b?"Create":"Upload"]})]}),children:[(0,d.jsxs)(B.Tabs,{value:b,onValueChange:a=>c(a),children:[(0,d.jsxs)(B.TabsList,{className:"w-full",children:[(0,d.jsx)(B.TabsTrigger,{value:"write",children:"Write"}),(0,d.jsx)(B.TabsTrigger,{value:"upload",children:"Upload"})]}),(0,d.jsxs)(B.TabsContent,{value:"write",className:"space-y-5 pt-4",children:[(0,d.jsxs)(v.Field,{children:[(0,d.jsx)(v.FieldLabel,{htmlFor:"skill-name",children:"Name"}),(0,d.jsxs)(v.FieldContent,{children:[(0,d.jsx)(w.Input,{id:"skill-name",value:e,onChange:a=>f(a.target.value),placeholder:"deploy-checklist",spellCheck:!1,autoFocus:!0}),(0,d.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[D.PATHS.skills.custom,"/",e.trim()||"…","/SKILL.md"]})]})]}),(0,d.jsxs)(v.Field,{children:[(0,d.jsx)(v.FieldLabel,{htmlFor:"skill-description",children:"Description"}),(0,d.jsx)(v.FieldContent,{children:(0,d.jsx)(w.Input,{id:"skill-description",value:g,onChange:a=>h(a.target.value),placeholder:"When to use it — this is how the agent decides to load it"})})]}),(0,d.jsxs)(v.Field,{children:[(0,d.jsx)(v.FieldLabel,{htmlFor:"skill-content",children:"Content"}),(0,d.jsx)(C.Textarea,{id:"skill-content",value:i,onChange:a=>j(a.target.value),placeholder:"Markdown. The steps, the rules, the examples.",className:"min-h-40 resize-none font-mono text-xs"})]})]}),(0,d.jsxs)(B.TabsContent,{value:"upload",className:"space-y-4 pt-4",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>p.current?.click(),onDragOver:a=>{a.preventDefault(),o(!0)},onDragLeave:()=>o(!1),onDrop:a=>{a.preventDefault(),o(!1),Q(a.dataTransfer.files)},className:(0,L.cn)("flex w-full flex-col items-center gap-2 rounded-xl border border-dashed px-6 py-10 text-center outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",m?"border-foreground/60 bg-muted/60":"border-border hover:bg-muted/40"),children:[(0,d.jsx)(r.Upload,{className:"size-5 text-muted-foreground"}),k?(0,d.jsxs)("span",{className:"text-sm",children:[k.name,(0,d.jsx)("span",{className:"ml-2 font-mono text-[11px] text-muted-foreground",children:(0,L.formatBytes)(k.size)})]}):(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:"Drop a file here, or click to choose"})]}),(0,d.jsx)("input",{ref:p,type:"file",accept:".md,.zip,.skill",className:"hidden",onChange:a=>Q(a.target.files)}),(0,d.jsxs)("div",{className:"space-y-1 text-xs text-muted-foreground",children:[(0,d.jsx)("p",{className:"font-medium text-foreground/80",children:"File requirements"}),(0,d.jsxs)("p",{children:["A ",(0,d.jsx)("span",{className:"font-mono",children:".md"})," file needs a YAML block with the skill's name and description."]}),(0,d.jsxs)("p",{children:["A ",(0,d.jsx)("span",{className:"font-mono",children:".zip"})," or"," ",(0,d.jsx)("span",{className:"font-mono",children:".skill"})," archive needs a SKILL.md inside — the rest of its folder comes along."]})]})]})]}),N&&(0,d.jsx)("p",{className:"font-mono text-xs text-destructive",children:N})]})}a.s(["SkillsSetting",0,function(){let[a,b]=(0,s.useState)(""),{data:c,isLoading:e,error:f}=(0,K.useServerRoute)(t.queryKey.skills),g=c??[];if(e)return(0,d.jsx)(E.SettingSkeleton,{rows:4});if(f)return(0,d.jsx)(E.SettingError,{message:f.message});let h=a.trim().toLowerCase(),i=g.filter(a=>!h||`${a.name} ${a.description}`.toLowerCase().includes(h)),j=g.filter(a=>!a.disabled).length;return(0,d.jsxs)(E.SettingScreen,{footer:(0,d.jsxs)(E.SettingRailNote,{children:[g.filter(a=>"default"===a.source).length," shipped · ",g.filter(a=>"custom"===a.source).length," ","installed"]}),children:[(0,d.jsx)(E.SettingToolbar,{count:`${j} on \xb7 ${g.length-j} off`,children:(0,d.jsx)(E.SettingFilter,{value:a,onChange:b,placeholder:"Filter skills"})}),(0,d.jsx)(E.SettingGroup,{label:"Custom",hint:"yours — added here · wins a name clash",children:(0,d.jsx)(E.SettingItems,{addRow:{label:"Add skill",onClick:U},children:i.filter(a=>"custom"===a.source).map(a=>(0,d.jsx)(N,{skill:a},`custom/${a.dir}`))})}),(0,d.jsx)(E.SettingGroup,{label:"Default",hint:"ships with the app · switch off, can't edit or delete",children:(0,d.jsx)(E.SettingItems,{children:i.filter(a=>"default"===a.source).map(a=>(0,d.jsx)(N,{skill:a},`default/${a.dir}`))})}),j>D.PROMPT_CROWDED.skills&&(0,d.jsxs)(E.SettingNote,{children:[j," skills are on. Each is a line in every prompt a bot reads, and one more to look past when it picks."]})]})},"openSkillCreate",0,U]),c()}catch(a){c(a)}},!1),789265,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f762c6aa3b61bb8959005004173b58b3a00a33bc1",b.callServer,void 0,b.findSourceMapURL,"createSkillAction");a.s(["createSkillAction",0,c])},529816,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f802b56ac4b475092ccbfa7c0a4768c871dfc7087",b.callServer,void 0,b.findSourceMapURL,"deleteSkillAction");a.s(["deleteSkillAction",0,c])},650606,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f1a2f4e2d202c7fa438a862ef14ddf55caf1c45f8",b.callServer,void 0,b.findSourceMapURL,"setSkillDisabledAction");a.s(["setSkillDisabledAction",0,c])},681480,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f5985bbde6a386e3586444eed4f54c0183ee80fff",b.callServer,void 0,b.findSourceMapURL,"uploadSkillAction");a.s(["uploadSkillAction",0,c])},263359,a=>{"use strict";var b=a.i(164831);let c={name:"app-window",size:24,node:[["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}],["path",{d:"M10 4v4",key:"pp8u80"}],["path",{d:"M2 8h20",key:"d11cs7"}],["path",{d:"M6 4v4",key:"1svtjw"}]]};c.node;let d=(0,b.default)(c);a.s(["AppWindow",0,d],263359)},696732,a=>{"use strict";var b=a.i(164831);let c={name:"globe",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]};c.node;let d=(0,b.default)(c);a.s(["Globe",0,d],696732)},567826,a=>{"use strict";var b=a.i(164831);let c={name:"mouse-pointer-2",size:24,node:[["path",{d:"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",key:"edeuup"}]]};c.node;let d=(0,b.default)(c);a.s(["MousePointer2",0,d],567826)},917256,a=>{"use strict";var b=a.i(164831);let c={name:"square-pen",size:24,node:[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],aliases:["pen-box","edit","pen-square"]};c.node;let d=(0,b.default)(c);a.s(["SquarePen",0,d],917256)},201661,a=>{"use strict";var b=a.i(164831);let c={name:"upload",size:24,node:[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]};c.node;let d=(0,b.default)(c);a.s(["Upload",0,d],201661)}];
2
2
 
3
- //# sourceMappingURL=_0m2lsd1._.js.map
3
+ //# sourceMappingURL=_0b6_jv-._.js.map