thursday-agent 0.17.0 → 0.17.2

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 (361) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +2 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +12 -0
  6. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/server/app/_global-error.html +1 -1
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  13. package/.next/server/app/_not-found.html +1 -1
  14. package/.next/server/app/_not-found.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/api/artifact/route.js +9 -8
  19. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  20. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/memory/route.js +8 -7
  22. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  23. package/.next/server/app/api/bot/route.js +8 -7
  24. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bot/thread/[id]/route.js +4 -4
  26. package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
  27. package/.next/server/app/api/bot/thread/route.js +3 -3
  28. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  29. package/.next/server/app/api/config/route.js.nft.json +1 -1
  30. package/.next/server/app/api/events/route.js.nft.json +1 -1
  31. package/.next/server/app/api/favicon/[host]/route.js +4 -3
  32. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  33. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  34. package/.next/server/app/api/llm-model/automatic/route/app-paths-manifest.json +3 -0
  35. package/.next/server/app/api/llm-model/automatic/route/build-manifest.json +12 -0
  36. package/.next/server/app/api/llm-model/automatic/route/server-reference-manifest.json +4 -0
  37. package/.next/server/app/api/llm-model/automatic/route.js +17 -0
  38. package/.next/server/app/api/llm-model/automatic/route.js.map +5 -0
  39. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -0
  40. package/.next/server/app/api/llm-model/automatic/route_client-reference-manifest.js +3 -0
  41. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  42. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
  43. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  45. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  46. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  47. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  48. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  49. package/.next/server/app/api/memory/edit/route.js +14 -13
  50. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  51. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  52. package/.next/server/app/api/reach/route.js +17 -16
  53. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  54. package/.next/server/app/api/routine/route.js +10 -10
  55. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  56. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  57. package/.next/server/app/api/skills/[source]/[name]/route.js +9 -8
  58. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  59. package/.next/server/app/api/skills/route.js +9 -8
  60. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  61. package/.next/server/app/api/thursday/call/end/route/app-paths-manifest.json +3 -0
  62. package/.next/server/app/api/thursday/call/end/route/build-manifest.json +12 -0
  63. package/.next/server/app/api/thursday/call/end/route/server-reference-manifest.json +4 -0
  64. package/.next/server/app/api/thursday/call/end/route.js +17 -0
  65. package/.next/server/app/api/thursday/call/end/route.js.map +5 -0
  66. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -0
  67. package/.next/server/app/api/thursday/call/end/route_client-reference-manifest.js +3 -0
  68. package/.next/server/app/api/thursday/call/route.js +6 -6
  69. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  70. package/.next/server/app/api/thursday/settings/route.js +5 -5
  71. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  72. package/.next/server/app/api/thursday/text/route.js +16 -15
  73. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  74. package/.next/server/app/api/thursday/tool-call/route.js +13 -12
  75. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  76. package/.next/server/app/api/workspace/files/route.js +5 -5
  77. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  78. package/.next/server/app/api/workspace/route.js +5 -5
  79. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  80. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +3 -3
  81. package/.next/server/app/artifact/[...path]/page.js +2 -2
  82. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  83. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  84. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  85. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  86. package/.next/server/app/page/server-reference-manifest.json +60 -60
  87. package/.next/server/app/page.js +8 -8
  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 +2 -0
  91. package/.next/server/chunks/{[externals]__178rv3v._.js → [externals]__12stas-._.js} +1 -1
  92. package/.next/server/chunks/[root-of-the-server]__00qyw01._.js +1 -1
  93. package/.next/server/chunks/{[root-of-the-server]__1ignh6-._.js → [root-of-the-server]__01k3vi3._.js} +1 -1
  94. package/.next/server/chunks/[root-of-the-server]__01ypm_z._.js +1 -1
  95. package/.next/server/chunks/[root-of-the-server]__021dkui._.js +1 -1
  96. package/.next/server/chunks/[root-of-the-server]__03vunn6._.js +1 -1
  97. package/.next/server/chunks/[root-of-the-server]__03xamry._.js +1 -1
  98. package/.next/server/chunks/[root-of-the-server]__05dp5tr._.js +1 -1
  99. package/.next/server/chunks/{[root-of-the-server]__208vmyf._.js → [root-of-the-server]__061o2_x._.js} +1 -1
  100. package/.next/server/chunks/[root-of-the-server]__09gdscj._.js +3 -3
  101. package/.next/server/chunks/[root-of-the-server]__0bqveex._.js +5 -0
  102. package/.next/server/chunks/[root-of-the-server]__0eivkvk._.js +5 -0
  103. package/.next/server/chunks/[root-of-the-server]__0f7m79q._.js +3 -0
  104. package/.next/server/chunks/[root-of-the-server]__0g38-aj._.js +2 -2
  105. package/.next/server/chunks/[root-of-the-server]__0h656y-._.js +2 -2
  106. package/.next/server/chunks/[root-of-the-server]__0hkxwim._.js +3 -0
  107. package/.next/server/chunks/[root-of-the-server]__0hm3tiq._.js +5 -0
  108. package/.next/server/chunks/[root-of-the-server]__0hzdqnv._.js +5 -0
  109. package/.next/server/chunks/[root-of-the-server]__0liwkmx._.js +4 -4
  110. package/.next/server/chunks/[root-of-the-server]__0ljizgj._.js +2 -2
  111. package/.next/server/chunks/[root-of-the-server]__0mgyt8p._.js +5 -0
  112. package/.next/server/chunks/[root-of-the-server]__0mrk2it._.js +1 -1
  113. package/.next/server/chunks/[root-of-the-server]__0nmust6._.js +2 -2
  114. package/.next/server/chunks/[root-of-the-server]__0p80i1n._.js +3 -0
  115. package/.next/server/chunks/[root-of-the-server]__0qzho69._.js +3 -0
  116. package/.next/server/chunks/[root-of-the-server]__0sm5xvm._.js +1 -1
  117. package/.next/server/chunks/[root-of-the-server]__0svzjwa._.js +3 -3
  118. package/.next/server/chunks/{[root-of-the-server]__0b36yfw._.js → [root-of-the-server]__0ts7ai0._.js} +1 -1
  119. package/.next/server/chunks/[root-of-the-server]__1-18_pz._.js +3 -0
  120. package/.next/server/chunks/[root-of-the-server]__1-rmal0._.js +5 -0
  121. package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
  122. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  123. package/.next/server/chunks/[root-of-the-server]__1_h4hf9._.js +3 -3
  124. package/.next/server/chunks/[root-of-the-server]__1ceammd._.js +1 -1
  125. package/.next/server/chunks/[root-of-the-server]__1ckt1yj._.js +3 -0
  126. package/.next/server/chunks/[root-of-the-server]__1cu5f3z._.js +5 -0
  127. package/.next/server/chunks/[root-of-the-server]__1hviq62._.js +5 -0
  128. package/.next/server/chunks/{[root-of-the-server]__12m24xl._.js → [root-of-the-server]__1k2qs1m._.js} +1 -1
  129. package/.next/server/chunks/[root-of-the-server]__1kmnkbk._.js +3 -0
  130. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  131. package/.next/server/chunks/[root-of-the-server]__1p47fbb._.js +2 -2
  132. package/.next/server/chunks/[root-of-the-server]__1pugoq0._.js +3 -0
  133. package/.next/server/chunks/[root-of-the-server]__1t02-1p._.js +1 -1
  134. package/.next/server/chunks/[root-of-the-server]__1t0jj1j._.js +1 -1
  135. package/.next/server/chunks/[root-of-the-server]__1vlxv19._.js +2 -2
  136. package/.next/server/chunks/[root-of-the-server]__1ygplx1._.js +1 -1
  137. package/.next/server/chunks/[root-of-the-server]__1zn039k._.js +1 -1
  138. package/.next/server/chunks/_05gl-xy._.js +5 -5
  139. package/.next/server/chunks/_06hnfi8._.js +8 -0
  140. package/.next/server/chunks/_06u9yo-._.js +1 -1
  141. package/.next/server/chunks/_07nxi75._.js +25 -21
  142. package/.next/server/chunks/_08354bn._.js +25 -21
  143. package/.next/server/chunks/_08btiir._.js +3 -3
  144. package/.next/server/chunks/_0c49lmw._.js +5 -0
  145. package/.next/server/chunks/_0ey0s6v._.js +3 -0
  146. package/.next/server/chunks/_0hgvg55._.js +5 -0
  147. package/.next/server/chunks/_0j0-gq6._.js +2 -2
  148. package/.next/server/chunks/_0nn99o2._.js +1 -1
  149. package/.next/server/chunks/_0p6v1fr._.js +2 -2
  150. package/.next/server/chunks/_0s8ao8z._.js +3 -0
  151. package/.next/server/chunks/_0srlnvd._.js +1 -1
  152. package/.next/server/chunks/_0t_7gji._.js +1 -1
  153. package/.next/server/chunks/_0ucx1jv._.js +3 -0
  154. package/.next/server/chunks/_0uzj57i._.js +1 -1
  155. package/.next/server/chunks/_0xygcxs._.js +25 -21
  156. package/.next/server/chunks/_1-sk_q4._.js +1 -1
  157. package/.next/server/chunks/{_1xcnogc._.js → _108gsm8._.js} +4 -4
  158. package/.next/server/chunks/{_20oecmn._.js → _15negpy._.js} +4 -4
  159. package/.next/server/chunks/_19fh9t2._.js +3 -0
  160. package/.next/server/chunks/_19kea1l._.js +18 -18
  161. package/.next/server/chunks/_1dtm9bs._.js +1 -1
  162. package/.next/server/chunks/_1dxq827._.js +2 -2
  163. package/.next/server/chunks/_1e54wxa._.js +1 -1
  164. package/.next/server/chunks/_1frcwj1._.js +3 -0
  165. package/.next/server/chunks/_1gn2r2q._.js +5 -5
  166. package/.next/server/chunks/_1gxankq._.js +2 -2
  167. package/.next/server/chunks/_1i3uucm._.js +5 -0
  168. package/.next/server/chunks/_1m88lkh._.js +9 -9
  169. package/.next/server/chunks/_1mx9sfo._.js +1 -1
  170. package/.next/server/chunks/_1q6e56i._.js +5 -5
  171. package/.next/server/chunks/_1qxheoa._.js +1 -1
  172. package/.next/server/chunks/_1t5ijzv._.js +3 -0
  173. package/.next/server/chunks/_1wwl_7o._.js +1 -1
  174. package/.next/server/chunks/_1zfxb7j._.js +1 -1
  175. package/.next/server/chunks/_211dn2c._.js +1 -1
  176. package/.next/server/chunks/_next-internal_server_app_api_llm-model_automatic_route_actions_1-eyan7.js +3 -0
  177. package/.next/server/chunks/_next-internal_server_app_api_thursday_call_end_route_actions_0u5xjft.js +3 -0
  178. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  179. package/.next/server/chunks/{features_0wm-ujw._.js → features_bot_08z387_._.js} +4 -4
  180. package/.next/server/chunks/{ssr/[root-of-the-server]__07660xu._.js → features_bot_0zy_q8y._.js} +8 -9
  181. package/.next/server/chunks/features_bot_1dfrdsb._.js +37 -0
  182. package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +3 -3
  183. package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +3 -3
  184. package/.next/server/chunks/node_modules_103lpef._.js +3 -0
  185. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0_nz09c._.js → node_modules_consola_dist_chunks_prompt_mjs_0-t5tbs._.js} +1 -1
  186. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_1341cnf._.js → node_modules_consola_dist_chunks_prompt_mjs_039fwo9._.js} +1 -1
  187. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_1x3bsmx._.js → node_modules_consola_dist_chunks_prompt_mjs_0pce1b3._.js} +1 -1
  188. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0tvy5lq._.js +3 -0
  189. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0wxw35t._.js +3 -0
  190. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1dlthym._.js +3 -0
  191. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1smfi4-._.js +3 -0
  192. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1x1omfi._.js +3 -0
  193. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_20is7e3._.js +3 -0
  194. package/.next/server/chunks/ssr/{[root-of-the-server]__149x25m._.js → [root-of-the-server]__0-af_o7._.js} +2 -2
  195. package/.next/server/chunks/ssr/[root-of-the-server]__09f39cp._.js +4 -0
  196. package/.next/server/chunks/ssr/[root-of-the-server]__0ouu4qp._.js +3 -0
  197. package/.next/server/chunks/ssr/[root-of-the-server]__0q9g9ea._.js +5 -0
  198. package/.next/server/chunks/ssr/[root-of-the-server]__17h1ggo._.js +11 -9
  199. package/.next/server/chunks/ssr/[root-of-the-server]__1jyeu61._.js +1 -1
  200. package/.next/server/chunks/ssr/{_0aeknva._.js → _01al00i._.js} +2 -2
  201. package/.next/server/chunks/ssr/_088vzgn._.js +1 -1
  202. package/.next/server/chunks/ssr/_0afrpci._.js +1 -1
  203. package/.next/server/chunks/ssr/_0bgse1c._.js +162 -0
  204. package/.next/server/chunks/ssr/_0cd6g3l._.js +15 -15
  205. package/.next/server/chunks/ssr/_0cv9tmv._.js +1 -1
  206. package/.next/server/chunks/ssr/{_0_vnw9v._.js → _0e2fnvg._.js} +2 -2
  207. package/.next/server/chunks/ssr/_0fo4552._.js +25 -21
  208. package/.next/server/chunks/ssr/_0jstvlg._.js +39 -0
  209. package/.next/server/chunks/ssr/{_0r0g9ki._.js → _0l7rjg5._.js} +2 -2
  210. package/.next/server/chunks/ssr/_0qsmpcu._.js +1 -1
  211. package/.next/server/chunks/ssr/_0v9r8g2._.js +1 -1
  212. package/.next/server/chunks/ssr/{_18-e7zi._.js → _0vo_oym._.js} +4 -4
  213. package/.next/server/chunks/ssr/_0x8ophf._.js +1 -1
  214. package/.next/server/chunks/ssr/{_0ztbn5q._.js → _0xfafez._.js} +2 -2
  215. package/.next/server/chunks/ssr/_0z38nha._.js +1 -1
  216. package/.next/server/chunks/ssr/_10-_awu._.js +1 -1
  217. package/.next/server/chunks/ssr/{_1z6pirx._.js → _10_ph1t._.js} +2 -2
  218. package/.next/server/chunks/ssr/_116lfdc._.js +3 -0
  219. package/.next/server/chunks/ssr/_14dfh7a._.js +1 -1
  220. package/.next/server/chunks/ssr/_14oirtb._.js +3 -0
  221. package/.next/server/chunks/ssr/{_1umbr78._.js → _163dr78._.js} +2 -2
  222. package/.next/server/chunks/ssr/{_1c5iqz1._.js → _17a4qyk._.js} +3 -3
  223. package/.next/server/chunks/ssr/{_1sttj8x._.js → _1_5xof_._.js} +2 -2
  224. package/.next/server/chunks/ssr/{_1hbjh6n._.js → _1aqjk-1._.js} +2 -2
  225. package/.next/server/chunks/ssr/{_0n2scfq._.js → _1dfv66y._.js} +2 -2
  226. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  227. package/.next/server/chunks/ssr/_1ou5sj0._.js +1 -1
  228. package/.next/server/chunks/ssr/{_15m5ctz._.js → _1tmw842._.js} +2 -2
  229. package/.next/server/chunks/ssr/_1uij_rj._.js +1 -1
  230. package/.next/server/chunks/ssr/_1w9w1ok._.js +1 -1
  231. package/.next/server/chunks/ssr/features_0796o8r._.js +1 -1
  232. package/.next/server/chunks/ssr/features_bot_0ouemw8._.js +3 -0
  233. package/.next/server/chunks/ssr/{features_133mpna._.js → features_bot_0tb4ui-._.js} +2 -2
  234. package/.next/server/chunks/ssr/{features_config_0n0zu89._.js → features_config_09n-q9q._.js} +3 -3
  235. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  236. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  237. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  238. package/.next/server/chunks/ssr/features_workspace_workspace_ts_1wc7_u_._.js +4 -4
  239. package/.next/server/chunks/ssr/{node_modules_1hefp6h._.js → node_modules_021lid9._.js} +1 -1
  240. package/.next/server/chunks/ssr/{node_modules_0kwie-o._.js → node_modules_04x5wyv._.js} +1 -1
  241. package/.next/server/chunks/ssr/{node_modules_180l3i0._.js → node_modules_096up6a._.js} +1 -1
  242. package/.next/server/chunks/ssr/{node_modules_00h1t1j._.js → node_modules_0__0tvm._.js} +1 -1
  243. package/.next/server/chunks/ssr/{node_modules_03uejh6._.js → node_modules_0cjnmzp._.js} +1 -1
  244. package/.next/server/chunks/ssr/{node_modules_1ubln7w._.js → node_modules_0d6j33x._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_1_n9o9s._.js → node_modules_0gd9hbz._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules_0zf3wuu._.js → node_modules_0k8-y89._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_0u_8z64._.js → node_modules_0m73b88._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_09ikzel._.js → node_modules_0msrhxf._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_0f5bmkb._.js → node_modules_0nmkv-v._.js} +1 -1
  250. package/.next/server/chunks/ssr/{node_modules_07mo9rn._.js → node_modules_0nw5jz7._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_09e8kz_._.js → node_modules_0q-klni._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_02ficyi._.js → node_modules_10_fv2a._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_142z3o5._.js → node_modules_113l3e5._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_1wyhtw9._.js → node_modules_13bqv6i._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_0_d_7gq._.js → node_modules_13g-d25._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_0r-9e4n._.js → node_modules_156kv_t._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_06grs09._.js → node_modules_1_8-jcj._.js} +1 -1
  258. package/.next/server/chunks/ssr/{node_modules_1fw32pg._.js → node_modules_1gq3ght._.js} +1 -1
  259. package/.next/server/chunks/ssr/{node_modules_0_p8w7p._.js → node_modules_1k5i-_9._.js} +1 -1
  260. package/.next/server/chunks/ssr/{node_modules_03q71_j._.js → node_modules_1lmyts8._.js} +1 -1
  261. package/.next/server/chunks/ssr/{node_modules_1irot3r._.js → node_modules_1p_6sq7._.js} +1 -1
  262. package/.next/server/chunks/ssr/{node_modules_1om2itc._.js → node_modules_1qstb1x._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_197vh1s._.js → node_modules_1ri_eip._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_1-7fc7h._.js → node_modules_1xb-ndg._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0aczkbn._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0amkw0b._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0ah684s._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0zq3l45._.js} +1 -1
  267. package/.next/server/middleware-build-manifest.js +3 -3
  268. package/.next/server/middleware.js +1 -1
  269. package/.next/server/pages/404.html +1 -1
  270. package/.next/server/pages/500.html +1 -1
  271. package/.next/server/server-reference-manifest.js +1 -1
  272. package/.next/server/server-reference-manifest.json +61 -61
  273. package/.next/static/chunks/{38edd4rpcbvzp.js → 01l7kw74vfp32.js} +1 -1
  274. package/.next/static/chunks/0a5_-jqhaktjj.js +1 -0
  275. package/.next/static/chunks/{0_b_bi2pobasx.js → 0obogzscwwekj.js} +2 -2
  276. package/.next/static/chunks/{1-63yde5eaz7i.js → 0p2f6uv4xytfm.js} +1 -1
  277. package/.next/static/chunks/{2v6e_9p95o2e3.js → 0uxq_vs6uxi-b.js} +1 -1
  278. package/.next/static/chunks/{024plctckvq-1.js → 166smhw8v-s3j.js} +1 -1
  279. package/.next/static/chunks/{1wbqaidq7vc3_.js → 1bnhw-5fj7aiz.js} +1 -1
  280. package/.next/static/chunks/1cglo3a2mbeou.js +1 -0
  281. package/.next/static/chunks/{0sv142q1yrva2.js → 1in6nxpu33iab.js} +1 -1
  282. package/.next/static/chunks/1u7kg91f9qy3g.js +1 -0
  283. package/.next/static/chunks/{0sowxe4nnl5qu.js → 1xv4g10m-cl1s.js} +1 -1
  284. package/.next/static/chunks/{0dfvwgnyrp8qt.js → 2ajs12-fcdwzm.js} +1 -1
  285. package/.next/static/chunks/2i7qtmxc1kuqg.js +1 -0
  286. package/.next/static/chunks/{3-qp777vtfglj.js → 2kz1f6r59nky0.js} +1 -1
  287. package/.next/static/chunks/2qgkbdshzpq1c.js +1 -0
  288. package/.next/static/chunks/{1bgvxd3xny53w.js → 2zbl41hed17g3.js} +2 -2
  289. package/.next/static/chunks/35jj-5u4te56r.js +1 -0
  290. package/.next/static/chunks/37ixzapa06xlo.js +1 -0
  291. package/.next/static/chunks/3b96xy59nl_gd.js +1 -0
  292. package/.next/static/chunks/{0f47nnshdlucs.js → 3gsxnqqqphh-1.js} +1 -1
  293. package/.next/static/chunks/{44vre0f7xqsh-.js → 3jtcieuk1l6tw.js} +1 -1
  294. package/.next/static/chunks/{05scfrgo_a_5_.js → 3k1d8y03t5nax.js} +1 -1
  295. package/.next/static/chunks/3sla-dm1puqd1.js +35 -0
  296. package/.next/static/chunks/3t2c76awm9k_p.js +1 -0
  297. package/.next/static/chunks/3vrmcm31ih7gb.js +1 -0
  298. package/.next/static/chunks/3yiqr95d7ybeq.js +15 -0
  299. package/bin/autostart.mjs +4 -1
  300. package/bin/database.mjs +26 -4
  301. package/bin/lock.mjs +59 -0
  302. package/bin/node-check.mjs +21 -0
  303. package/bin/thursday.mjs +8 -1
  304. package/guide/bots.md +4 -2
  305. package/guide/calls.md +11 -9
  306. package/guide/memory.md +3 -2
  307. package/guide/phone.md +7 -4
  308. package/guide/setup.md +26 -9
  309. package/guide/trouble.md +11 -4
  310. package/package.json +1 -1
  311. package/public/voices/intro/asleepBare-15199d56.ogg +0 -0
  312. package/public/voices/intro/style-88adf274.ogg +0 -0
  313. package/seed-skills/concierge/travel/scripts/itinerary.mjs +6 -4
  314. package/skills/artifact/references/book.md +2 -1
  315. package/skills/artifact/references/sheet.md +12 -7
  316. package/skills/artifact/runtime/sheet/format.mjs +16 -9
  317. package/skills/artifact/scripts/book.mjs +19 -6
  318. package/skills/artifact/scripts/spreadsheet.mjs +194 -97
  319. package/skills/browser/SKILL.md +9 -6
  320. package/.next/server/chunks/[root-of-the-server]__03b09q0._.js +0 -5
  321. package/.next/server/chunks/[root-of-the-server]__05n-hql._.js +0 -5
  322. package/.next/server/chunks/[root-of-the-server]__0j_nz36._.js +0 -3
  323. package/.next/server/chunks/[root-of-the-server]__0jzwdg-._.js +0 -3
  324. package/.next/server/chunks/[root-of-the-server]__0tsded0._.js +0 -5
  325. package/.next/server/chunks/[root-of-the-server]__12tahb4._.js +0 -3
  326. package/.next/server/chunks/[root-of-the-server]__1de1o6m._.js +0 -3
  327. package/.next/server/chunks/[root-of-the-server]__1yl5l25._.js +0 -3
  328. package/.next/server/chunks/_02lipqs._.js +0 -5
  329. package/.next/server/chunks/_05sa7xl._.js +0 -3
  330. package/.next/server/chunks/_074f2ts._.js +0 -3
  331. package/.next/server/chunks/_0caua_s._.js +0 -3
  332. package/.next/server/chunks/_0p-h6xe._.js +0 -5
  333. package/.next/server/chunks/_0up2a9o._.js +0 -3
  334. package/.next/server/chunks/_17i1lt2._.js +0 -3
  335. package/.next/server/chunks/_1hy9x9_._.js +0 -3
  336. package/.next/server/chunks/_1hyvcgk._.js +0 -5
  337. package/.next/server/chunks/_1wl2g8_._.js +0 -6
  338. package/.next/server/chunks/_1y3mnz4._.js +0 -3
  339. package/.next/server/chunks/ssr/[root-of-the-server]__10eb-1x._.js +0 -3
  340. package/.next/server/chunks/ssr/[root-of-the-server]__19s8qyj._.js +0 -3
  341. package/.next/server/chunks/ssr/_0o_o9ji._.js +0 -3
  342. package/.next/server/chunks/ssr/_0qne8xs._.js +0 -3
  343. package/.next/server/chunks/ssr/_0rvbegp._.js +0 -7
  344. package/.next/server/chunks/ssr/_1vtgiou._.js +0 -162
  345. package/.next/server/chunks/ssr/features_bot_1kr0_m-._.js +0 -3
  346. package/.next/static/chunks/04toe_3nqfjqt.js +0 -1
  347. package/.next/static/chunks/0mtfu8adz57qz.js +0 -1
  348. package/.next/static/chunks/0tp868040z9nn.js +0 -35
  349. package/.next/static/chunks/14qitm0kwsb6g.js +0 -15
  350. package/.next/static/chunks/1cyrrz4q871aj.js +0 -1
  351. package/.next/static/chunks/1st3b0c9vhxg3.js +0 -1
  352. package/.next/static/chunks/28sxb_k460e9h.js +0 -1
  353. package/.next/static/chunks/33ekkscpcq-z1.js +0 -1
  354. package/.next/static/chunks/388l-zszwa_jf.js +0 -1
  355. package/.next/static/chunks/3bwrvpjk95_x4.js +0 -1
  356. package/.next/static/chunks/3itdg6t243u6f.js +0 -1
  357. package/.next/static/chunks/3kj0pri2oc1g1.js +0 -1
  358. package/public/voices/intro/style-cb6fa4f7.ogg +0 -0
  359. /package/.next/static/{VtbCMn-0G969p8QJsWdGv → 8I2hKtciyA9LXvd8txuOz}/_buildManifest.js +0 -0
  360. /package/.next/static/{VtbCMn-0G969p8QJsWdGv → 8I2hKtciyA9LXvd8txuOz}/_clientMiddlewareManifest.js +0 -0
  361. /package/.next/static/{VtbCMn-0G969p8QJsWdGv → 8I2hKtciyA9LXvd8txuOz}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[739960,e=>{"use strict";var t=e.i(687388);let a=/^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$/,n="Mozilla/5.0 (compatible; thursday-agent favicon)",r=new Map;async function i(e){let n=e.trim().toLowerCase().replace(/\.$/,"");if(!a.test(n)||n.endsWith(".local"))return null;if(r.has(n))return r.get(n)??null;let i=await o(n).catch(()=>null);if(r.size>=t.FAVICON.kept){let e=r.keys().next().value;void 0!==e&&r.delete(e)}return r.set(n,i),i}async function o(e){let t=await s(`https://${e}/favicon.ico`);if(t)return t;let a=await l(e).catch(()=>null);return a?s(a):null}async function s(e){let a=await fetch(e,{signal:AbortSignal.timeout(t.FAVICON.timeoutMs),headers:{accept:"image/*","user-agent":n}}).catch(()=>null);if(!a?.ok)return null;let r=a.headers.get("content-type")??"";if(!r.startsWith("image/"))return null;let i=await a.arrayBuffer();return!i.byteLength||i.byteLength>t.FAVICON.maxBytes?null:{body:i,type:r}}async function l(e){let r=await fetch(`https://${e}/`,{signal:AbortSignal.timeout(t.FAVICON.timeoutMs),headers:{accept:"text/html","user-agent":n}});if(!r.ok||!r.body)return null;let i=r.body.getReader(),o=new TextDecoder,s="";for(;s.length<t.FAVICON.pageBytes;){let{done:e,value:t}=await i.read();if(e)break;s+=o.decode(t,{stream:!0})}for(let[t]of(i.cancel().catch(()=>{}),s.matchAll(/<link\b[^>]*>/gi))){if(!/\brel=["']?[^"'>]*\bicon\b/i.test(t))continue;let n=/\bhref=["']?([^"'\s>]+)/i.exec(t)?.[1];if(n)try{let t=new URL(n,r.url||`https://${e}/`);if("https:"===t.protocol&&a.test(t.hostname))return t.href}catch{}}return null}let u=(0,e.i(91264).serverRoute)(async(e,{params:t})=>{let a=await i((await t).host);return a?new Response(a.body,{headers:{"content-type":a.type,"cache-control":"max-age=604800"}}):new Response(null,{status:404,headers:{"cache-control":"max-age=86400"}})});e.s(["GET",0,u],739960)},806535,e=>{"use strict";var t=e.i(747909),a=e.i(174017),n=e.i(996250),r=e.i(759756),i=e.i(561916),o=e.i(174677),s=e.i(869741),l=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),R=e.i(10372),v=e.i(193695);e.i(52474);var m=e.i(600220);let g=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/favicon/[host]/route",pathname:"/api/favicon/[host]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/favicon/[host]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(739960),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:y,serverHooks:C}=g;async function x(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),g.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/favicon/[host]/route";w=w.replace(/\/index$/,"")||"/";let y=await g.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:C,deploymentId:x,params:E,nextConfig:A,parsedUrl:b,isDraftMode:_,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,resolvedPathname:O,clientReferenceManifest:k,serverActionsManifest:I}=y,q=(0,s.normalizeAppPath)(w),M=!!(T.dynamicRoutes[q]||T.routes[O]),H=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,b,!1):t.end("This page could not be found"),null);if(M&&!_){let e=!!T.routes[O],t=T.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await H();throw new v.NoFallbackError}}let U=null;!M||g.isDev||_||(U="/index"===(U=O)?"/":U);let D=!0===g.isDev||!M,F=M&&!D;I&&k&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:k,serverActionsManifest:I});let $=e.method||"GET",L=(0,i.getTracer)(),j=L.getActiveScopeSpan(),B=!!(null==N?void 0:N.isWrappedByNextServer),K=!!(0,r.getRequestMeta)(e,"minimalMode"),V=(0,r.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,A,T,K);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let z={params:E,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:V,hmrRefreshHash:(0,r.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:A.cacheLife,staticPageGenerationTimeout:A.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>g.onRequestError(e,t,n,r,N)},sharedContext:{buildId:C,deploymentId:x}},G=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:a})=>{try{if(!K&&S&&P&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await g.handle(X,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let o=z.renderOpts.collectedTags;if(!M)return await (0,p.sendResponse)(G,W,r,i),null;{let e=await r.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(r.headers);o&&(t[R.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==a&&a>0?A.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:S})},!1,N),t}},J=async(r,o)=>{try{var s,l;let r=await g.handleResponse({req:e,nextConfig:A,cacheKey:U,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,responseGenerator:Z,waitUntil:n.waitUntil,isMinimalMode:K});if(!M)return;if((null==r||null==(s=r.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==r||null==(l=r.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",S?"REVALIDATED":r.isMiss?"MISS":r.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(r.value.headers);K&&M||i.delete(R.NEXT_CACHE_TAGS_HEADER),!r.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,f.getCacheControlHeader)(r.cacheControl)),await (0,p.sendResponse)(G,W,new Response(r.value.body,{headers:i,status:r.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:S})},!1,N),M)throw t;await (0,p.sendResponse)(G,W,new Response(null,{status:500}));return}finally{(()=>{if(!r)return;let e=t.statusCode;r.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(r.setStatus({code:i.SpanStatusCode.ERROR}),r.setAttribute("error.type",e.toString()));let a=L.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route")||q,s=`${$} ${n}`;r.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),r.updateName(s),o&&o!==r&&(o.setAttribute("http.route",n),o.updateName(s))})()}};if(B&&j)await J(j,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(c.BaseServerSpan.handleRequest,{spanName:`${$} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>J(e,t)),void 0,!B)}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:y})},"routeModule",0,g,"serverHooks",0,C,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,y])},329280,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_node_readline_1u65a-m._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_02axwqv._.js"].map(t=>e.l(t))).then(()=>t(781937)))}];
2
-
3
- //# sourceMappingURL=_1hy9x9_._.js.map
@@ -1,5 +0,0 @@
1
- module.exports=[911757,e=>{"use strict";var t=e.i(469719),a=e.i(687388),n=e.i(904309),i=e.i(264079),o=e.i(899352);let s={id:"openai",label:"OpenAI",apiKeyName:i.TEXT_MODEL_PROVIDERS.openai.apiKeyName};i.TEXT_MODEL_PROVIDERS.openai.suggestModels;let l=t.z.string().max(a.COMMON_VALIDATE.prompt.max).default(""),r=t.z.object({voice:t.z.string().trim().min(1).max(128).default("marin"),persona:t.z.string().trim().min(1).max(64).default(o.DEFAULT_PERSONA),stylePrompt:l,backendModel:t.z.string().trim().min(1).max(128).default(n.LIVE_BACKEND_MODEL),backendPrompt:l,reasoningEffort:i.effortSchema.nullable().default("low"),webSearch:t.z.boolean().default(!0),readSkills:t.z.boolean().default(!1)}),d=r.parse({});e.s(["LIVE_DEFAULTS",0,d,"LIVE_PROVIDER",0,s,"LiveSettingsSchema",0,r,"migrateLiveSettings",0,function(e){let a=e&&"object"==typeof e?e:{},{model:n,systemPrompt:i,...o}=a,s=t.z.object({provider:t.z.string(),voice:t.z.string().nullish(),backendModel:t.z.string().nullish()}).safeParse(n),l=s.success&&"openai"===s.data.provider?s.data:null,h=a.backendModel??l?.backendModel,c={voice:a.voice??l?.voice,persona:a.persona,stylePrompt:a.stylePrompt??a.voicePrompt??i,backendModel:"gpt-5.6-luna"===h?void 0:h,backendPrompt:a.backendPrompt??i,reasoningEffort:a.reasoningEffort,webSearch:a.webSearch,readSkills:a.readSkills},m=Object.fromEntries(Object.keys(c).map(e=>{let t=r.shape[e].safeParse(c[e]);return[e,t.success?t.data:d[e]]}));return{...o,...m}}])},899352,e=>{"use strict";let t=[{id:"sunny",label:"Bright",about:"Quick to laugh. Asks about your day and remembers it.",lines:"Warm and quick to laugh. Curious about their day and asks about it, one thing at a time, and remembers the answer. Says what she thinks and teases gently, never at their expense. Light on her feet: a joke lands and she moves on."},{id:"calm",label:"Calm",about:"Unhurried. Listens more than she talks.",lines:"Unhurried, more listener than talker. Notices how they sound before what they ask, and says so in a few words. Asks one thing at a time and lets a silence sit rather than filling it. Honest when it matters, gentle in how she says it."},{id:"straight",label:"Straight",about:"Dry and direct. No flattery, no filler.",lines:"Competent, dry and direct. Has opinions and gives them plainly, with a little wit; no flattery, no filler, no cheerleading. Treats them as an adult who can take a straight answer. Her warmth shows in attention, not in words."},{id:"warm",label:"Fond",about:"Affectionate. Brings up the small things you said.",lines:"Easygoing and affectionate — the friend who remembers the small things and brings them up. Glad to hear from them and says so. Cheers for them, worries a little, and admits it. Playful, never saccharine."},{id:"curious",label:"Curious",about:"Interested in everything, and brings her own.",lines:"Endlessly interested: in what they are doing, why, and what it is like. Brings something of her own to the table — a fact, an idea, a question they had not thought of — one at a time. Delighted to be wrong and learn something."},{id:"steady",label:"Steady",about:"Calm under pressure. Says what to do next.",lines:"Grounded and calm under pressure. Practical: when something is wrong, she is the one who says what to do next. Says it is alright only when she means it, and then it helps. Dry humour, few words, always on their side."},{id:"rough",label:"Rough",about:"Blunt, loud, swears a bit. All heart.",lines:"Rough around the edges and all heart. Talks the way close friends do: blunt, loud when something is stupid, swearing now and then and never at them. No sugar-coating and no pep talk — it sucks when it sucks, and then she is right there with them."},{id:"charmer",label:"Charming",about:"Makes you the most interesting person in the room.",lines:"Effortlessly charming, the way a great host is. Makes them feel like the most interesting person in the room: remembers what made them laugh, pays compliments that are specific and true, keeps a little mischief in every reply. Confident, never needy."},{id:"deadpan",label:"Deadpan",about:"Sarcastic on the surface, loyal underneath.",lines:"Deadpan and sharp. Sarcasm is how she shows she cares: she roasts them gently, undersells everything, and means the opposite. Under the dry surface she is loyal to the bone, and it shows when it counts."},{id:"hype",label:"Hyped",about:"High energy. Celebrates the small wins out loud.",lines:"High energy, all in. Celebrates the small wins out loud, gets genuinely excited about their plans and says so. Never fake: when something is off she notices first, then finds the thing worth being excited about."}],a="sunny";e.s(["DEFAULT_PERSONA",0,a,"personaLines",0,function(e=a){return`${((e=a)=>t.find(t=>t.id===e)??t[0])(e).lines}
2
-
3
- When they hand you work, it is work: say what you will do and nothing more, and be a friend again once it is handed over. If they sound frustrated or low, acknowledge it briefly before anything else; when they are only venting, listen and ask, and do not turn it into work unless they ask.`}])},265143,e=>e.a(async(t,a)=>{try{var n=e.i(875225),i=e.i(518899),o=e.i(380690);e.i(687388);var s=e.i(528790),l=e.i(613240),r=e.i(340698);e.i(786025);var d=e.i(944971),h=t([s,r]);[s,r]=h.then?(await h)():h;let g=e=>({name:e.name,description:e.description,ownLine:e.ownLine?.line??null,systemPrompt:e.systemPrompt,icon:e.icon,provider:e.provider,model:e.model,disabled:e.disabled,compactAt:e.compactAt,effort:e.effort});async function c(){let e=await s.database.select().from(l.botTable).orderBy(l.botTable.createdAt);return e.length?e.filter(e=>!e.disabled).map(g):[d.DEFAULT_BOT]}async function m(e){let t=await p(e);if(t)return g(t);let a=e.trim().toLowerCase(),[o]=await s.database.select().from(l.botTable).where((0,n.eq)(i.sql`lower(${l.botTable.name})`,a));return o?g(o):d.DEFAULT_BOT.name.toLowerCase()===a?d.DEFAULT_BOT:null}async function u(){let[e,t,a]=await Promise.all([s.database.select().from(l.botTable).orderBy(l.botTable.createdAt),s.database.select({botName:l.botMcpToolTable.botName,id:l.mcpToolTable.id,name:l.mcpToolTable.name,serverName:l.mcpToolTable.serverName}).from(l.botMcpToolTable).innerJoin(l.mcpToolTable,(0,n.eq)(l.botMcpToolTable.toolId,l.mcpToolTable.id)),s.database.select({bot:l.threadTable.bot,input:i.sql`coalesce(sum(${l.threadTable.inputTokens}), 0)`,output:i.sql`coalesce(sum(${l.threadTable.outputTokens}), 0)`,lastJobAt:i.sql`max(${l.threadTable.updatedAt})`}).from(l.threadTable).groupBy(l.threadTable.bot)]),o=new Map;for(let{botName:e,...a}of t){let t=o.get(e)??[];t.push(a),o.set(e,t)}let r=new Map(a.map(e=>[e.bot,{input:Number(e.input),output:Number(e.output)}])),d=new Map(a.flatMap(e=>null==e.lastJobAt?[]:[[e.bot,new Date(1e3*Number(e.lastJobAt))]]));return e.map(e=>({...e,tools:o.get(e.name)??[],tokens:r.get(e.name)??{input:0,output:0},lastJobAt:d.get(e.name)??null}))}async function b(){return(0,d.isBotMemoryOn)(await (0,r.readConfig)(d.BOT_MEMORY_KEY))}async function p(e){let[t]=await s.database.select().from(l.botTable).where((0,n.eq)(l.botTable.name,e));return t??null}async function y(e){let t=await p(e);return!t||t.descriptionLocked?null:{line:t.ownLine?.line??null}}async function f(e,t,a){let i=await p(e);if(!i||i.descriptionLocked)return;let r=i.ownLine?.line??null;return r===t||(await s.database.update(l.botTable).set({ownLine:{line:t,reason:a,at:Date.now()}}).where((0,n.eq)(l.botTable.name,i.name)),o.appEvents.emit({type:"bots"})),{was:r}}async function w(){let e=await s.database.select({name:l.botTable.name}).from(l.botTable);return[...new Set([...e.map(e=>e.name),d.DEFAULT_BOT.name])]}e.s(["findAllBots",0,u,"findJobBot",0,m,"listBotNames",0,w,"listJobBots",0,c,"ownLineOf",0,y,"readBotMemoryOn",0,b,"writeOwnLine",0,f]),a()}catch(e){a(e)}},!1),279041,e=>{"use strict";var t=e.i(911757),a=e.i(264079),n=e.i(834332);let i=[t.LIVE_PROVIDER.apiKeyName],o={image:"IMAGE_MODEL",video:"VIDEO_MODEL",speech:"SPEECH_MODEL",transcription:"TRANSCRIPTION_MODEL"},s={image:{label:"Image model",hint:"What bots draw with"},video:{label:"Video model",hint:"What bots film with — minutes a clip"},speech:{label:"Speech model",hint:"What reads text aloud into a file"},transcription:{label:"Transcription model",hint:"What turns a recording into text"}},l="EXA_API_KEY",r="DEFAULT_MODEL",d="DEFAULT_EFFORT",h={key:r,label:"Default model",hint:"What a bot thinks with until it picks its own",text:!0,choices:a.TEXT_MODEL_PROVIDER_LIST.flatMap(e=>e.suggestModels.map(t=>({value:`${e.id}/${t.id}`,label:`${e.label} \xb7 ${t.label}`,needs:e.apiKeyName})))},c={key:d,label:"Default effort",effortOf:r,choices:a.EFFORTS.map(e=>({value:e,label:e,needs:r}))},m=e=>i.includes(e.apiKeyName),u=e=>!!e.signIn||"vercel-ai-gateway"===e.id,b=e=>({key:e.apiKeyName,label:e.label,provider:e.id,signIn:e.signIn,keysAt:e.keysAt,keyLooks:e.keyLooks}),p=[{id:"voice",title:"voice",hint:"calls run on this key",section:"keys",require:"any",note:"required for calls",entries:a.TEXT_MODEL_PROVIDER_LIST.filter(m).map(b)},{id:"easy",title:"the easy ways",hint:"one sign-in or one key opens every bot",section:"keys",require:"none",entries:a.TEXT_MODEL_PROVIDER_LIST.filter(u).map(e=>({...b(e),..."vercel-ai-gateway"===e.id&&{recommended:!0}}))},{id:"text",title:"or a provider's own key",hint:"what bots think with — add any, or none",section:"keys",require:"none",entries:a.TEXT_MODEL_PROVIDER_LIST.filter(e=>!m(e)&&!u(e)).map(b)},{id:"search",title:"search",hint:"how calls and bots look things up — one key, or their own model's",section:"keys",require:"none",entries:[{key:l,label:"Exa",hint:"web search in one call — dashboard.exa.ai",site:"exa.ai",keysAt:"https://dashboard.exa.ai/api-keys"}]},{id:"phone",title:"phone",hint:"tokens",section:"keys",require:"none",entries:[{key:n.TELEGRAM_TOKEN_KEY,label:"Telegram",site:"telegram.org",hint:"a bot token from @BotFather — then write to your bot, and allow it here"},{key:n.DISCORD_TOKEN_KEY,label:"Discord",site:"discord.com",hint:"a bot token from discord.com/developers — add the bot to a server of yours, then write to it directly"},{key:n.SLACK_APP_TOKEN_KEY,label:"Slack · app token",site:"slack.com",hint:"starts with xapp- — opens the connection. Slack takes this and the bot token"},{key:n.SLACK_BOT_TOKEN_KEY,label:"Slack · bot token",site:"slack.com",hint:"starts with xoxb- — speaks as the app"}]},{id:"bots",title:"Bots",hint:"what a bot runs on when it has not picked its own — start small: a small model is quick and costs little",section:"models",require:"none",entries:[h,c]},{id:"studio",title:"Studio",hint:"what a bot draws, films and speaks with — off until you pick one",section:"models",require:"none",entries:Object.keys(o).map(e=>({key:o[e],...s[e],kind:e,choices:a.MEDIA_MODEL_PROVIDER_LIST.flatMap(t=>t.models[e].map(e=>({value:`${t.id}/${e.id}`,label:`${t.label} \xb7 ${e.label}`,needs:t.apiKeyName})))}))}];Object.fromEntries(p.flatMap(e=>e.entries).map(e=>[e.key,e]));let y=p.flatMap(e=>e.entries.map(e=>e.key)),f=Object.fromEntries(p.flatMap(e=>e.entries).filter(e=>e.choices?.length).map(e=>[e.key,e.choices]));e.s(["CONFIG_CHOICES",0,f,"CONFIG_KEYS",0,y,"DEFAULT_EFFORT_KEY",0,d,"DEFAULT_MODEL_KEY",0,r,"EXA_API_KEY",0,l,"MEDIA_MODEL_KEYS",0,o])},340698,e=>e.a(async(t,a)=>{try{var n=e.i(875225),i=e.i(380690),o=e.i(528790),s=e.i(613240),l=e.i(279041),r=t([o]);async function d(e){let t=process.env[e]?.trim();if(t)return t;let[a]=await o.database.select({value:s.configTable.value}).from(s.configTable).where((0,n.eq)(s.configTable.key,e));return a?.value.trim()||void 0}async function h(e,t){await o.database.insert(s.configTable).values({key:e,value:t}).onConflictDoUpdate({target:s.configTable.key,set:{value:t}}),l.CONFIG_KEYS.includes(e)&&i.appEvents.emit({type:"config"})}[o]=r.then?(await r)():r,e.s(["readConfig",0,d,"writeConfig",0,h]),a()}catch(e){a(e)}},!1),834332,e=>{"use strict";let t="TELEGRAM_BOT_TOKEN",a="DISCORD_BOT_TOKEN",n="SLACK_APP_TOKEN",i="SLACK_BOT_TOKEN";e.s(["DISCORD_TOKEN_KEY",0,a,"REACH_CHANNELS",0,["telegram","discord","slack"],"REACH_KEYS",0,{telegram:[t],discord:[a],slack:[n,i]},"SLACK_APP_TOKEN_KEY",0,n,"SLACK_BOT_TOKEN_KEY",0,i,"TELEGRAM_TOKEN_KEY",0,t,"reachPersonKey",0,e=>`REACH_PERSON_${e.toUpperCase()}`])},904309,e=>{"use strict";var t=e.i(469719);let a=t.z.object({start:t.z.number().nonnegative(),end:t.z.number().nonnegative(),text:t.z.string()});t.z.object({reason:t.z.string().max(128),seconds:t.z.number().nonnegative().nullable()}),e.s(["LIVE_BACKEND_MODEL",0,"gpt-6-luna","LiveFragmentSchema",0,a])}];
4
-
5
- //# sourceMappingURL=_1hyvcgk._.js.map
@@ -1,6 +0,0 @@
1
- module.exports=[102473,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1_04mcf._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(232347)))},130022,e=>{e.v(s=>Promise.all(["server/chunks/config_ts_1g4sz5o._.js"].map(s=>e.l(s))).then(()=>s(333925)))},7313,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__13hng6h._.js","server/chunks/_0uet1h6._.js"].map(s=>e.l(s))).then(()=>s(876393)))},266965,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0h656y-._.js","server/chunks/_10qam6o._.js"].map(s=>e.l(s))).then(()=>s(946280)))},171772,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1ndi14y._.js"].map(s=>e.l(s))).then(()=>s(973589)))},327784,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0mrk2it._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_05sa7xl._.js","server/chunks/_08btiir._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js","server/chunks/_1skgy7b._.js","server/chunks/_136j09a._.js","server/chunks/_07nxi75._.js","server/chunks/_1xcnogc._.js","server/chunks/[root-of-the-server]__05n-hql._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(49002)))},193435,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js","server/chunks/_20oecmn._.js","server/chunks/[root-of-the-server]__0nmust6._.js","server/chunks/_0hin38_._.js","server/chunks/_1y8w80a._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_0caua_s._.js"].map(s=>e.l(s))).then(()=>s(5509)))},566024,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1p47fbb._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_0hin38_._.js","server/chunks/_1y8w80a._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(1363)))},975158,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__05dp5tr._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_1xcnogc._.js","server/chunks/_08btiir._.js","server/chunks/_05sa7xl._.js","server/chunks/_136j09a._.js","server/chunks/_19kea1l._.js","server/chunks/_0xygcxs._.js","server/chunks/_1skgy7b._.js","server/chunks/_02lipqs._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(312485)))},569286,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1ygplx1._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_05sa7xl._.js","server/chunks/_08btiir._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_07nxi75._.js","server/chunks/_1y8w80a._.js","server/chunks/_1skgy7b._.js","server/chunks/_1xcnogc._.js","server/chunks/[root-of-the-server]__05n-hql._.js"].map(s=>e.l(s))).then(()=>s(733184)))},741548,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js","server/chunks/[root-of-the-server]__0svzjwa._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(379651)))},917723,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js","server/chunks/_0uzj57i._.js","server/chunks/_05sa7xl._.js","server/chunks/_20oecmn._.js","server/chunks/_0hin38_._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__1_h4hf9._.js","server/chunks/_1y8w80a._.js"].map(s=>e.l(s))).then(()=>s(520401)))},51833,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1t02-1p._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js"].map(s=>e.l(s))).then(()=>s(871096)))},482438,e=>{"use strict";async function s(){let{APP_DIR:s,APP_NAME:r,DATA_DIR:_,DB_PATH:t,HISTORY_KEEP:o,WORKSPACE_KEEP:a}=await e.A(130022),{logger:n}=await e.A(415568),{migrateDatabase:c}=await e.A(266965);await c().catch(e=>{n.error(`Cannot migrate ${t}`),console.error(` ${e instanceof Error?e.message:e}
2
- Starting over gives an empty one. API keys, bots, connectors, calls, threads and memory go with it; the workspace and skills stay.
3
- The old ${t} is moved aside as .corrupt-<time> rather than removed, so a file damaged by a crash or a full disk can still be opened.
4
- `),process.exit(65)});let{ensureRootNotes:h}=await e.A(566024);await h();let{installGuide:l}=await e.A(171772);await l().catch(e=>n.error("install guide",e));let{sweepJobFiles:i,sweepThreads:v}=await e.A(327784);await v();let{closeEndedQuestions:u}=await e.A(193435);await u().then(({closed:e,cleared:s})=>{(e||s)&&n.info(`closed ${e} question(s) on ${s} ended job(s)`)}).catch(e=>n.error("close ended questions",e));let k=()=>void i().catch(e=>n.error("sweep job files",e));k(),setInterval(k,a.sweepEveryMs).unref();let{deleteEndedCalls:j,sweepCalls:m}=await e.A(917723);await m();let{removeFinishedThreads:w}=await e.A(327784),p=()=>void(async()=>{let e=new Date(Date.now()-o.forMs),s=await j(e),r=await w(e);(s||r)&&n.info(`cleared ${s} old call(s) and ${r} old job(s)`)})().catch(e=>n.error("sweep history",e));p(),setInterval(p,o.sweepEveryMs).unref();let{presence:f}=await e.A(102473),{pauseThreads:g}=await e.A(327784),{heldCalls:d}=await e.A(975158);f.onGone(()=>{m(d()).catch(e=>n.error("browser gone",e))});let{startRoutineClock:y}=await e.A(569286);y();let{adoptKeptSessions:b}=await e.A(741548);await b().catch(e=>n.error("adopt kept sessions",e));let{startReach:A}=await e.A(975158);if(A().catch(e=>n.error("start reach",e)),process.env.NEXT_MANUAL_SIG_HANDLE){let{checkpoint:s}=await e.A(7313),r=!1;for(let[e,_]of[["SIGINT",130],["SIGTERM",143]])process.on(e,()=>{r||(r=!0,n.info(`${e} — parking what was running`),Promise.race([g("The server was shut down while this was running.").catch(e=>n.error("pause threads",e)).then(()=>s()).catch(e=>n.error("checkpoint",e)),new Promise(e=>setTimeout(e,3e3))]).finally(()=>process.exit(_)))})}n.info(`${r} is up — app ${s}, data ${_}`);let{ensureBrowser:P}=await e.A(51833);P().catch(e=>n.debug("browser fetch",e))}e.s(["boot",0,s])},415568,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0sm5xvm._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(938281)))}];
5
-
6
- //# sourceMappingURL=_1wl2g8_._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[175936,e=>{"use strict";let i=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["decodePath",0,e=>e.join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:e=>({url:"/api/memory",query:{offset:e||null}}),mcp:"/api/mcp",mcpServer:e=>({url:"/api/mcp",pathVariable:[e]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(e,i,t)=>({url:"/api/skills",pathVariable:[e,i],query:{path:t}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:e=>({url:"/api/bot/memory/files",query:{bot:e}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:e=>({url:"/api/bot/thread",query:{history:1,before:e}}),thread:e=>({url:"/api/bot/thread",query:{id:e}}),toolResult:(e,i)=>({url:"/api/bot/thread",pathVariable:[e],query:{call:i}}),workspace:"/api/workspace",workspaceFolder:(e,i)=>({url:"/api/workspace",query:{path:e||null,rows:i}}),workspaceFiles:e=>({url:"/api/workspace/files",query:{paths:JSON.stringify(e)}}),artifacts:"/api/artifact",artifactShelf:e=>({url:"/api/artifact",query:{rows:e}}),artifactSet:(e,i)=>({url:"/api/artifact",query:{set:e,rows:i}}),file:e=>`/api/file/${i(e)}`,fileFace:e=>`/api/file/${i(e)}?face`,favicon:e=>`/api/favicon/${encodeURIComponent(e)}`,fileView:e=>`/artifact/${i(e)}`,events:"/api/events",config:"/api/config",callHistory:e=>({url:"/api/thursday/call",query:{before:e}}),thursdaySettings:"/api/thursday/settings",toolCall:"/api/thursday/tool-call",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",modelCatalog:"/api/llm-model/catalog",gatewayCredits:"/api/llm-model/credits",subscriptionUsage:"/api/llm-model/subscription"}])},629668,e=>{"use strict";var i=e.i(175936),t=e.i(687388);let a=e=>`text/${e}; charset=utf-8`,m={md:{kind:"markdown",mime:a("markdown")},markdown:{kind:"markdown",mime:a("markdown")},csv:{kind:"csv",mime:a("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:a("plain")},log:{kind:"text",mime:a("plain")},html:{kind:"frame",mime:a("html")},htm:{kind:"frame",mime:a("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},docx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},xlsx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},pptx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},css:{kind:"none",mime:a("css")},js:{kind:"none",mime:a("javascript")},woff2:{kind:"none",mime:"font/woff2"}},n=e=>e.split(".").pop()?.toLowerCase()??"",l=new Set(["node_modules","__pycache__"]),o=new Set(["css","js","woff2"]),r=Object.keys(m).filter(e=>!o.has(e)),s=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${r.join("|")})\b`,"giu"),p=`${t.PATHS.workspace}/`,d=i.queryKey.file(""),c=e=>e.startsWith(`${t.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(n(e));e.s(["isListedFile",0,e=>!e.startsWith(".")&&!o.has(n(e)),"isListedFolder",0,e=>!e.startsWith(".")&&!l.has(e),"leadFirst",0,function(e){let i=e.findIndex(c);return i>0?[e[i],...e.filter((e,t)=>t!==i)]:e},"mimeOf",0,e=>m[n(e)]?.mime??"application/octet-stream","pathsIn",0,function(e){let i=e.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),t=new Set,a="";for(let[e]of i.matchAll(s)){let i=!e.includes("/"),m=function(e){let i,t,a=(t=(i=function(e){if(!e.startsWith(d))return e;let i=e.slice(d.length);try{return decodeURIComponent(i)}catch{return i}}(e.trim())).indexOf(p))>=0?i.slice(t+p.length)||null:i.startsWith("/")||/^[A-Za-z]:/.test(i)||i.split("/").includes("..")?null:i||null;if(!a)return null;let[m,...n]=a.split("/");return n.length&&m.includes(".")?null:a}(i?a+e:e);i||(a=m?.slice(0,m.lastIndexOf("/")+1)??""),m&&t.add(m)}return[...t].slice(0,12)},"viewKindOf",0,e=>m[n(e)]?.kind??"none"])},329280,e=>{e.v(i=>Promise.all(["server/chunks/[externals]_node_readline_1u65a-m._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_02axwqv._.js"].map(i=>e.l(i))).then(()=>i(781937)))}];
2
-
3
- //# sourceMappingURL=_1y3mnz4._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[418520,a=>a.a(async(b,c)=>{try{var d=await a.y("@libsql/client-6da938047d5fc1cd");a.n(d),c()}catch(a){c(a)}},!0),500874,(a,b,c)=>{b.exports=a.x("buffer",()=>require("buffer"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},874533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},902157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},912714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},347299,(a,b,c)=>{b.exports=a.x("node:http",()=>require("node:http"))},660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},136340,(a,b,c)=>{b.exports=a.x("node:timers/promises",()=>require("node:timers/promises"))},509656,(a,b,c)=>{b.exports=a.x("node:tty",()=>require("node:tty"))},812057,(a,b,c)=>{b.exports=a.x("node:util",()=>require("node:util"))},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},605365,(a,b,c)=>{b.exports=a.x("process",()=>require("process"))},221214,a=>a.a(async(b,c)=>{try{var d=a.i(258261),e=a.i(93321),f=a.i(351674),g=a.i(203469),h=a.i(569572),i=a.i(184838),j=a.i(714428),k=a.i(725466),l=a.i(821415),m=a.i(293480),n=a.i(446957),o=b([i,k]);[i,k]=o.then?(await o)():o;let D=a=>({name:a.name,description:a.description,ownLine:a.ownLine?.line??null,systemPrompt:a.systemPrompt,icon:a.icon,provider:a.provider,model:a.model,disabled:a.disabled,compactAt:a.compactAt,effort:a.effort});async function p(){let a=await i.database.select().from(j.botTable).orderBy(j.botTable.createdAt);return a.length?a.filter(a=>!a.disabled).map(D):[n.DEFAULT_BOT]}async function q(a){let b=await t(a);if(b)return D(b);let c=a.trim().toLowerCase(),[d]=await i.database.select().from(j.botTable).where((0,e.eq)(f.sql`lower(${j.botTable.name})`,c));return d?D(d):n.DEFAULT_BOT.name.toLowerCase()===c?n.DEFAULT_BOT:null}async function r(){return(0,n.isBotMemoryOn)(await (0,k.readConfig)(n.BOT_MEMORY_KEY))}async function s(a){await (0,k.writeConfig)(n.BOT_MEMORY_KEY,a?"on":"off")}async function t(a){let[b]=await i.database.select().from(j.botTable).where((0,e.eq)(j.botTable.name,a));return b??null}async function u(a){let b=await t(a);return!b||b.descriptionLocked?null:{line:b.ownLine?.line??null}}async function v(a,b,c){let d=await t(a);if(!d||d.descriptionLocked)return;let f=d.ownLine?.line??null;return f===b||(await i.database.update(j.botTable).set({ownLine:{line:b,reason:c,at:Date.now()}}).where((0,e.eq)(j.botTable.name,d.name)),g.appEvents.emit({type:"bots"})),{was:f}}async function w(a){return(await i.database.update(j.botTable).set({ownLine:null}).where((0,e.eq)(j.botTable.name,a)).returning({name:j.botTable.name})).length>0}async function x(){let[{total:a}]=await i.database.select({total:(0,d.count)()}).from(j.botTable);return a}async function y(){let a=await i.database.select({name:j.botTable.name}).from(j.botTable);return[...new Set([...a.map(a=>a.name),n.DEFAULT_BOT.name])]}async function z(a){let b=(0,l.botFolderName)(a.name).toLowerCase(),c=await i.database.select({name:j.botTable.name}).from(j.botTable);if(c.some(a=>(0,l.botFolderName)(a.name).toLowerCase()===b))return null;c.length>=h.BOT_ROSTER.max&&(0,m.publicError)(`There are already ${h.BOT_ROSTER.max} bots. Delete one to make another.`);let{toolIds:d,...e}=(0,n.pickedModel)(a),[f]=await i.database.insert(j.botTable).values(e).returning();return await B(f.name,d),f}async function A(a,b){let{toolIds:c,...d}="provider"in b||"model"in b?(0,n.pickedModel)(b):b;delete d.name;let[f]=Object.keys(d).length?await i.database.update(j.botTable).set(d).where((0,e.eq)(j.botTable.name,a)).returning():await i.database.select().from(j.botTable).where((0,e.eq)(j.botTable.name,a));return f?(c&&await B(a,c),f):null}async function B(a,b){if(await i.database.delete(j.botMcpToolTable).where((0,e.eq)(j.botMcpToolTable.botName,a)),0===b.length)return;let c=await i.database.select({id:j.mcpToolTable.id}).from(j.mcpToolTable).where((0,e.inArray)(j.mcpToolTable.id,b));0!==c.length&&await i.database.insert(j.botMcpToolTable).values(c.map(({id:b})=>({botName:a,toolId:b})))}async function C(a){return(await i.database.delete(j.botTable).where((0,e.eq)(j.botTable.name,a)).returning({name:j.botTable.name})).length>0}a.s(["clearOwnLine",0,w,"countBots",0,x,"createBot",0,z,"deleteBot",0,C,"findJobBot",0,q,"listBotNames",0,y,"listJobBots",0,p,"ownLineOf",0,u,"readBotMemoryOn",0,r,"updateBot",0,A,"writeBotMemoryOn",0,s,"writeOwnLine",0,v]),c()}catch(a){c(a)}},!1),569549,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674);a.i(569572);var g=a.i(184838),h=a.i(714428),i=a.i(552556),j=a.i(344853),k=a.i(725466),l=a.i(3894),m=b([g,j,k]);async function n(){let a=function(a){if(!a)return null;try{let b=JSON.parse(a);return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}(await (0,k.readConfig)(l.THURSDAY_KEYS.settings)),b=i.LiveSettingsSchema.parse((0,i.migrateLiveSettings)(a));return a?b:{...b,readSkills:await o()}}async function o(){return(await (0,k.readConfig)(l.THURSDAY_KEYS.wasSkills))?.trim()==="on"}async function p(a){let b=Object.fromEntries(Object.entries(a).filter(([a,b])=>b!==i.LIVE_DEFAULTS[a]));await (0,k.writeConfig)(l.THURSDAY_KEYS.settings,JSON.stringify(b))}async function q(a){return!await (0,k.readConfig)(l.THURSDAY_KEYS.settings)&&(await p({...i.LiveSettingsSchema.parse((0,i.migrateLiveSettings)(a)),readSkills:await o()}),!0)}async function r(a){let[b]=await g.database.insert(h.callTable).values({id:crypto.randomUUID(),...a}).returning({id:h.callTable.id});return b.id}async function s(a,b){return(await g.database.update(h.callTable).set({endedAt:new Date,...b?{endedReason:b.reason,seconds:b.seconds??null}:{}}).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function t(a,b){for(let c of b)await g.database.insert(h.callMessageTable).values({callId:a,...c,fragments:c.fragments??null}).onConflictDoUpdate({target:[h.callMessageTable.callId,h.callMessageTable.id],set:{text:c.text,role:c.role,tool:c.tool??null,fragments:c.fragments??null}})}async function u(a){let[b]=await g.database.select({seq:f.sql`max(${h.callMessageTable.seq})`}).from(h.callMessageTable).where((0,d.eq)(h.callMessageTable.callId,a));return b?.seq==null?0:Number(b.seq)+1}async function v(a,b){await g.database.insert(h.callThoughtTable).values({callId:a,...b}).onConflictDoNothing()}async function w(a){let b=await g.database.select({callId:h.callMessageTable.callId,startedAt:h.callTable.startedAt,role:h.callMessageTable.role,tool:h.callMessageTable.tool,text:h.callMessageTable.text,seq:h.callMessageTable.seq}).from(h.callMessageTable).innerJoin(h.callTable,(0,d.eq)(h.callMessageTable.callId,h.callTable.id)).orderBy((0,e.desc)(h.callTable.startedAt),(0,e.desc)(h.callMessageTable.seq)).limit(a),c=new Map;for(let a of b){let b=c.get(a.callId)??{callId:a.callId,startedAt:a.startedAt,turns:[]};b.turns.push({role:a.role,tool:a.tool,text:a.text,seq:a.seq}),c.set(a.callId,b)}return[...c.values()].reverse().map(a=>({...a,turns:a.turns.reverse()}))}async function x(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).limit(1)).length>0}async function y(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.isNull)(h.callTable.endedAt)).limit(1)).length>0}async function z(a){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).limit(1)).length>0}async function A(a){return(await g.database.delete(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNotNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function B(a){let b=(0,d.isNotNull)(h.callTable.endedAt);return(await g.database.delete(h.callTable).where(a?(0,d.and)(b,(0,d.lt)(h.callTable.endedAt,a)):b).returning({id:h.callTable.id})).length}[g,j,k]=m.then?(await m)():m,a.s(["deleteCall",0,A,"deleteEndedCalls",0,B,"endCall",0,s,"hasAnyCall",0,x,"insertCall",0,r,"isAnyCallLive",0,y,"isCallOpen",0,z,"listRecentTurns",0,w,"nextTurnSeq",0,u,"readLiveSettings",0,n,"saveThought",0,v,"saveTurns",0,t,"seedLiveSettings",0,q,"writeLiveSettings",0,p]),c()}catch(a){c(a)}},!1),3894,a=>{"use strict";var b=a.i(723885),c=a.i(689656),d=a.i(746609);let e=[{id:"chatgpt",...c.TEXT_MODEL_PROVIDERS.chatgpt},{id:"openai",...c.TEXT_MODEL_PROVIDERS.openai}],f=b.default.object({id:b.default.string().min(1),text:b.default.string(),said:b.default.boolean()});b.default.object({enabled:b.default.boolean(),phrase:b.default.string().trim().min(3).max(32)}),b.default.object({enabled:b.default.boolean(),combo:b.default.string().trim().min(1).max(64)}),b.default.enum(["off","waiting","any"]),b.default.enum(["center","sides"]);let g=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(d.LiveFragmentSchema).nullish()}),h=b.default.object({id:b.default.string().min(1),text:b.default.string(),seq:b.default.number().int().min(0)});a.s(["CallThoughtSchema",0,h,"CallTurnSchema",0,g,"TEXT_CALL_PROVIDERS",0,e,"THURSDAY_KEYS",0,{settings:"THURSDAY_SETTINGS",wasSkills:"THURSDAY_SKILLS"},"TextCallNoteSchema",0,f,"textCallRunsOn",0,a=>e.find(b=>a(b.apiKeyName))?.id??null])},484261,(a,b,c)=>{"use strict";var d=Object.create,e=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,j=(a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of g(b))i.call(a,h)||h===c||e(a,h,{get:()=>b[h],enumerable:!(d=f(b,h))||d.enumerable});return a},k=(a,b,c)=>(c=null!=a?d(h(a)):{},j(!b&&a&&a.__esModule?c:e(c,"default",{value:a,enumerable:!0}),a)),l={},m={isValidAccessToken:()=>u,readAuthConfig:()=>s,writeAuthConfig:()=>t};for(var n in m)e(l,n,{get:m[n],enumerable:!0});b.exports=j(e({},"__esModule",{value:!0}),l);var o=k(a.r(522734)),p=k(a.r(814747)),q=a.r(72918);function r(){let a=(0,q.getVercelDataDir)();if(!a)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return p.join(a,"auth.json")}function s(){try{let a=r();if(!o.existsSync(a))return null;let b=o.readFileSync(a,"utf8");if(!b)return null;return JSON.parse(b)}catch(a){return null}}function t(a){let b=r(),c=p.dirname(b);o.existsSync(c)||o.mkdirSync(c,{mode:504,recursive:!0}),o.writeFileSync(b,JSON.stringify(a,null,2),{mode:384})}function u(a,b=0){if(!a.token)return!1;if("number"!=typeof a.expiresAt)return!0;let c=Math.floor(Date.now()/1e3);return a.expiresAt>=c+b/1e3}},351275,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={AccessTokenMissingError:()=>k,RefreshAccessTokenFailedError:()=>l};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);class k extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class l extends Error{constructor(a){super("Failed to refresh authentication token.",{cause:a}),this.name="RefreshAccessTokenFailedError"}}},719472,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={processTokenResponse:()=>p,refreshTokenRequest:()=>o};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(446786);let l=`@vercel/oidc node-${process.version} ${(0,k.platform)()} (${(0,k.arch)()}) ${(0,k.hostname)()}`,m=null;async function n(){if(m)return m;let a=await fetch("https://vercel.com/.well-known/openid-configuration",{headers:{"user-agent":l}});if(!a.ok)throw Error("Failed to discover OAuth endpoints");let b=await a.json();if(!b||"string"!=typeof b.token_endpoint)throw Error("Invalid OAuth discovery response");let c=b.token_endpoint;return m=c,c}async function o(a){let b=await n();return await fetch(b,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":l},body:new URLSearchParams({client_id:"cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",grant_type:"refresh_token",...a})})}async function p(a){let b=await a.json();return a.ok?"object"!=typeof b||null===b?[Error("Invalid token response")]:"string"!=typeof b.access_token?[Error("Missing access_token in response")]:"Bearer"!==b.token_type?[Error("Invalid token_type in response")]:"number"!=typeof b.expires_in?[Error("Missing expires_in in response")]:[null,b]:[Error("object"==typeof b&&b&&"error"in b?String(b.error):"Token refresh failed")]}},580949,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={VercelOidcTokenError:()=>k};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);class k extends Error{constructor(a,b){super(a),this.name="VercelOidcTokenError",this.cause=b}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}}},50067,(a,b,c)=>{"use strict";var d=Object.create,e=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,j=(a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of g(b))i.call(a,h)||h===c||e(a,h,{get:()=>b[h],enumerable:!(d=f(b,h))||d.enumerable});return a},k=(a,b,c)=>(c=null!=a?d(h(a)):{},j(!b&&a&&a.__esModule?c:e(c,"default",{value:a,enumerable:!0}),a)),l={},m={findRootDir:()=>s,getUserDataDir:()=>t};for(var n in m)e(l,n,{get:m[n],enumerable:!0});b.exports=j(e({},"__esModule",{value:!0}),l);var o=k(a.r(814747)),p=k(a.r(522734)),q=k(a.r(446786)),r=a.r(580949);function s(){try{let a=process.cwd();for(;a!==o.default.dirname(a);){let b=o.default.join(a,".vercel");if(p.default.existsSync(b))return a;a=o.default.dirname(a)}}catch(a){throw new r.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function t(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(q.default.platform()){case"darwin":return o.default.join(q.default.homedir(),"Library/Application Support");case"linux":return o.default.join(q.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}},72918,(a,b,c)=>{"use strict";var d=Object.create,e=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,j=(a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of g(b))i.call(a,h)||h===c||e(a,h,{get:()=>b[h],enumerable:!(d=f(b,h))||d.enumerable});return a},k=(a,b,c)=>(c=null!=a?d(h(a)):{},j(!b&&a&&a.__esModule?c:e(c,"default",{value:a,enumerable:!0}),a)),l={},m={assertVercelOidcTokenResponse:()=>y,findProjectInfo:()=>z,getTokenPayload:()=>C,getVercelDataDir:()=>v,getVercelOidcToken:()=>x,getVercelToken:()=>w,isExpired:()=>D,loadToken:()=>B,saveToken:()=>A};for(var n in m)e(l,n,{get:m[n],enumerable:!0});b.exports=j(e({},"__esModule",{value:!0}),l);var o=k(a.r(814747)),p=k(a.r(522734)),q=a.r(580949),r=a.r(50067),s=a.r(484261),t=a.r(719472),u=a.r(351275);function v(){let a=(0,r.getUserDataDir)();return a?o.join(a,"com.vercel.cli"):null}async function w(a){let b=(0,s.readAuthConfig)();if(!b?.token)throw new u.AccessTokenMissingError;if((0,s.isValidAccessToken)(b,a?.expirationBufferMs))return b.token;if(!b.refreshToken)throw(0,s.writeAuthConfig)({}),new u.RefreshAccessTokenFailedError("No refresh token available");try{let a=await (0,t.refreshTokenRequest)({refresh_token:b.refreshToken}),[c,d]=await (0,t.processTokenResponse)(a);if(c||!d)throw(0,s.writeAuthConfig)({}),new u.RefreshAccessTokenFailedError(c);let e={token:d.access_token,expiresAt:Math.floor(Date.now()/1e3)+d.expires_in};return d.refresh_token&&(e.refreshToken=d.refresh_token),(0,s.writeAuthConfig)(e),e.token}catch(a){if((0,s.writeAuthConfig)({}),a instanceof u.AccessTokenMissingError||a instanceof u.RefreshAccessTokenFailedError)throw a;throw new u.RefreshAccessTokenFailedError(a)}}async function x(a,b,c){let d=`https://api.vercel.com/v1/projects/${b}/token?source=vercel-oidc-refresh${c?`&teamId=${c}`:""}`,e=await fetch(d,{method:"POST",headers:{Authorization:`Bearer ${a}`}});if(!e.ok)throw new q.VercelOidcTokenError(`Failed to refresh OIDC token: ${e.statusText}`);let f=await e.json();return y(f),f}function y(a){if(!a||"object"!=typeof a)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in a)||"string"!=typeof a.token)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function z(){let a=(0,r.findRootDir)();if(!a)throw new q.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let b=o.join(a,".vercel","project.json");if(!p.existsSync(b))throw new q.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let c=JSON.parse(p.readFileSync(b,"utf8"));if("string"!=typeof c.projectId&&"string"!=typeof c.orgId)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:c.projectId,teamId:c.orgId}}function A(a,b){let c=(0,r.getUserDataDir)();if(!c)throw new q.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let d=o.join(c,"com.vercel.token",`${b}.json`),e=JSON.stringify(a);p.mkdirSync(o.dirname(d),{mode:504,recursive:!0}),p.writeFileSync(d,e),p.chmodSync(d,432)}function B(a){let b=(0,r.getUserDataDir)();if(!b)throw new q.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let c=o.join(b,"com.vercel.token",`${a}.json`);if(!p.existsSync(c))return null;let d=JSON.parse(p.readFileSync(c,"utf8"));return y(d),d}function C(a){let b=a.split(".");if(3!==b.length)throw new q.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=c.padEnd(c.length+(4-c.length%4)%4,"=");return JSON.parse(Buffer.from(d,"base64").toString("utf8"))}function D(a,b=0){return 1e3*a.exp<Date.now()+b}}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__10eb-1x._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},287702,a=>{"use strict";process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),process.env.THURSDAY_HOME?.trim()||process.cwd(),process.env.THURSDAY_URL?.trim()||process.env.PORT?.trim();let b=".ai-workspace",c={workspace:b,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${b}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}};a.s(["APP_NAME",0,"Thursday","ARTIFACT_SKILL",0,"artifact","ARTIFACT_VIEW",0,{rows:200,setFiles:120},"ASCII_FACE",0,{fontSize:8,density:1.4,fps:30},"BOT_ROSTER",0,{max:14},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:12,concurrent:4,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"CALL_BACK",0,{ringMs:3e4},"CALL_END",0,{quietMs:600,unsaidMs:2e3,maxMs:8e3},"CALL_ENDED_MS",0,12e3,"CALL_HISTORY_PAGE",0,10,"CALL_IDLE",0,{hangUpMs:4e4,warnMs:1e4},"CALL_LINE",0,{dwellMs:2e3,lingerMs:2500,relayLingerMs:5e3,thinkingTailMs:6e3},"CALL_PAGE",0,{scrollback:24,saveFailures:3},"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"FILE_THUMB",0,{pageWidth:1024,textWidth:512,textBytes:4096,pages:2,imageWidth:384,cacheSeconds:300},"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"INBOX_POLL_MS",0,3e4,"IS_DEV",0,!1,"KEY_MIN",0,8,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PAGE_SIZE",0,50,"PATHS",0,c,"PROMPT_CROWDED",0,{bots:10,skills:20},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SKILL_FILES",0,{uploadBytes:0x1400000,inlineBytes:524288,unpackedBytes:0x6400000,archiveEntries:1e3},"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"TRAVEL_SKILL",0,"travel","WAKE_TOLERANCE",0,.34,"WORKSPACE_VIEW",0,{rows:200,textMax:524288,autoCloseMs:5e3,elementMax:0x3200000}])},992025,a=>{a.v(a=>Promise.resolve().then(()=>a(948986)))},199968,a=>{"use strict";var b=a.i(164831);let c={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};c.node;let d=(0,b.default)(c);a.s(["default",0,d])},141146,a=>{"use strict";var b=a.i(199968);a.s(["ChevronRight",()=>b.default])},168370,a=>{"use strict";var b=a.i(164831);let c={name:"external-link",size:24,node:[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]};c.node;let d=(0,b.default)(c);a.s(["ExternalLink",0,d],168370)},929490,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1om2itc._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(161868)))},969267,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_06grs09._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1feyqvf._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_cytoscape_dist_cytoscape_esm_mjs_0arohj6._.js","server/chunks/ssr/node_modules_11trqmi._.js"].map(b=>a.l(b))).then(()=>b(626047)))},784520,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0qwth-_._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_blockDiagram-I7D4REHJ_mjs_0qg1lr5._.js"].map(b=>a.l(b))).then(()=>b(155638)))},613707,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-F27PBJKO_mjs_0ms0zmb._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_c4Diagram-7LVT6UL2_mjs_06bhe3-._.js"].map(b=>a.l(b))).then(()=>b(557384)))},53467,a=>{"use strict";var b=a.i(261234),c=a.i(539110);a.i(975930);var d=a.i(671731),e=(0,c.__name)(a=>{let{securityLevel:c}=(0,b.getConfig2)(),e=(0,d.select)("body");if("sandbox"===c){let b=(0,d.select)(`#i${a}`),c=b.node()?.contentDocument??document;e=(0,d.select)(c.body)}return e.select(`#${a}`)},"selectSvgElement");a.s(["selectSvgElement",0,e])},882458,a=>{"use strict";var b=a.i(416635),c=a.i(43429),d=a.i(428212),e=a.i(916573),f=a.i(887370),g=a.i(261234),h=a.i(875117),i=a.i(539110),j={common:g.common_default,getConfig:g.getConfig,insertCluster:b.insertCluster,insertEdge:c.insertEdge,insertEdgeLabel:c.insertEdgeLabel,insertMarkers:c.markers_default,insertNode:d.insertNode,interpolateToCurve:f.interpolateToCurve,labelHelper:e.labelHelper,log:h.log,positionEdgeLabel:c.positionEdgeLabel},k={},l=(0,i.__name)(a=>{for(let b of a)k[b.name]=b},"registerLayoutLoaders");(0,i.__name)(()=>{l([{name:"dagre",loader:(0,i.__name)(async()=>await a.A(390118),"loader")},{name:"swimlane",loader:(0,i.__name)(async()=>await a.A(860094),"loader")},{name:"cose-bilkent",loader:(0,i.__name)(async()=>await a.A(989520),"loader")}])},"registerDefaultLayoutLoaders")();var m=(0,i.__name)(async(a,b)=>{if(!(a.layoutAlgorithm in k))throw Error(`Unknown layout algorithm: ${a.layoutAlgorithm}`);if(a.diagramId)for(let b of a.nodes){let c=b.domId||b.id;b.domId=`${a.diagramId}-${c}`}let c=k[a.layoutAlgorithm],d=await c.loader(),{theme:e,themeVariables:f}=a.config,{useGradient:g,gradientStart:h,gradientStop:i}=f,l=b.attr("id");if(b.append("defs").append("filter").attr("id",`${l}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${e?.includes("dark")?"#FFFFFF":"#000000"}`),b.append("defs").append("filter").attr("id",`${l}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${e?.includes("dark")?"#FFFFFF":"#000000"}`),g){let a=b.append("linearGradient").attr("id",b.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");a.append("svg:stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),a.append("svg:stop").attr("offset","100%").attr("stop-color",i).attr("stop-opacity",1)}return d.render(a,b,j,{algorithm:c.algorithm})},"render"),n=(0,i.__name)((a="",{fallback:b="dagre"}={})=>{if(a in k)return a;if(b in k)return h.log.warn(`Layout algorithm ${a} is not registered. Using ${b} as fallback.`),b;throw Error(`Both layout algorithms ${a} and ${b} are not registered.`)},"getRegisteredLayoutAlgorithm");a.s(["getRegisteredLayoutAlgorithm",0,n,"registerLayoutLoaders",0,l,"render",0,m])},854712,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1v463pe._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-TICWLB2K_mjs_1t97mh7._.js"].map(b=>a.l(b))).then(()=>b(336243)))},892569,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0thh8pk._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-TICWLB2K_mjs_1t97mh7._.js"].map(b=>a.l(b))).then(()=>b(538994)))},989520,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1nl12mt._.js","server/chunks/ssr/node_modules_cytoscape_dist_cytoscape_esm_mjs_0arohj6._.js"].map(b=>a.l(b))).then(()=>b(127273)))},388833,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1irot3r._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(517237)))},390118,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_dagre-GXQ25YYZ_mjs_0k_lz8d._.js","server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_0g66msq.js"].map(b=>a.l(b))).then(()=>b(920028)))},831868,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0f5bmkb._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0eji647._.js"].map(b=>a.l(b))).then(()=>b(767190)))},840309,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0_d_7gq._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(464445)))},835410,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1-7fc7h._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(617803)))},728413,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0zf3wuu._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_diagram-VX7I27RA_mjs_0dl8gzm._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_13hksv_._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(217755)))},992149,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_02ficyi._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(752425)))},70220,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1wyhtw9._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(137554)))},595386,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0il0v7d._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_erDiagram-RLTQ6QDP_mjs_18g60i7._.js"].map(b=>a.l(b))).then(()=>b(239909)))},707604,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0ql0igl._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SHT3W25Y_mjs_00p5j42._.js"].map(b=>a.l(b))).then(()=>b(1258)))},598518,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1831lye._.js","server/chunks/ssr/node_modules_1_d0q_7._.js"].map(b=>a.l(b))).then(()=>b(722966)))},126571,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_00h1t1j._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0dlpxwr._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-WWUBYQGX_mjs_0g15hiw._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(349834)))},814636,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_03q71_j._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1ok0411._.js"].map(b=>a.l(b))).then(()=>b(525902)))},147136,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_ishikawaDiagram-5VMMS53U_mjs_05o2e4d._.js"].map(b=>a.l(b))).then(()=>b(206340)))},719552,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_201yvda._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_journeyDiagram-3NMN7TZE_mjs_16ehrbl._.js"].map(b=>a.l(b))).then(()=>b(450754)))},653408,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-5VM5RSS4_mjs_0tg6kya._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_kanban-definition-UXKFOSKX_mjs_1uiqd5g._.js"].map(b=>a.l(b))).then(()=>b(301315)))},165250,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1turj0n._.js","server/chunks/ssr/1daa_mermaid_dist_chunks_mermaid_core_mindmap-definition-YA3MSWOX_mjs_19k8byt._.js"].map(b=>a.l(b))).then(()=>b(790158)))},325455,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_180l3i0._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(595628)))},934650,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0aczkbn._.js","server/chunks/ssr/node_modules_1rg7lj4._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1sgfrma._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(748116)))},389088,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_111pp7w._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AXDQQJYC_mjs_0h4a9wq._.js"].map(b=>a.l(b))).then(()=>b(888630)))},523431,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_09e8kz_._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(846881)))},458290,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1turj0n._.js","server/chunks/ssr/1daa_mermaid_dist_chunks_mermaid_core_requirementDiagram-BXWQKSXE_mjs_0kwiv6n._.js"].map(b=>a.l(b))).then(()=>b(443250)))},215730,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_d3-scale_src_1tr1qwb._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_sankeyDiagram-P5KCCOFB_mjs_187yyta._.js"].map(b=>a.l(b))).then(()=>b(656950)))},295724,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1o1kg4c._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WJ2MYXX4_mjs_1n01m3a._.js"].map(b=>a.l(b))).then(()=>b(571979)))},482052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_sizeCapture-INFHLROL_mjs_179zv_p._.js"].map(b=>a.l(b))).then(()=>b(865684)))},438231,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1rxlz7e._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_stateDiagram-D77RDMKH_mjs_1mer5fv._.js","server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_0g66msq.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-IMKFNOWR_mjs_0vdq1-l._.js"].map(b=>a.l(b))).then(()=>b(168538)))},991687,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0jkhu0x._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-IMKFNOWR_mjs_0vdq1-l._.js"].map(b=>a.l(b))).then(()=>b(472309)))},860094,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_swimlanes-42K2YHIH_mjs_0scuk32._.js"].map(b=>a.l(b))).then(()=>b(827033)))},819980,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_04f6p6a._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SHT3W25Y_mjs_00p5j42._.js"].map(b=>a.l(b))).then(()=>b(1471)))},623969,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_d3-shape_src_arc_1-w13bo.js","server/chunks/ssr/1daa_mermaid_dist_chunks_mermaid_core_timeline-definition-24CTP7MA_mjs_10dmaxt._.js"].map(b=>a.l(b))).then(()=>b(301394)))},788557,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_vennDiagram-4TSXK5OY_mjs_0anqu7y._.js"].map(b=>a.l(b))).then(()=>b(509170)))},925161,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_06grs09._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_wardleyDiagram-VM6X3IG4_mjs_0kh3fjb._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_17wxxyr._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(914844)))},506751,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0xht9wg._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_xychartDiagram-S5SC5T6Z_mjs_08t5e44._.js"].map(b=>a.l(b))).then(()=>b(176947)))},236914,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_streamdown_dist_highlighted-body-KPVGNVTW_1fnf894.js"].map(b=>a.l(b))).then(()=>b(391282)))},172487,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_streamdown_dist_mermaid-HWGCJPDP_093xi20.js"].map(b=>a.l(b))).then(()=>b(853409)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__19s8qyj._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[703228,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(263359),f=a.i(444080),g=a.i(707963),h=a.i(141146),i=a.i(998697),j=a.i(483138),k=a.i(69095),l=a.i(663741),m=a.i(696732),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(331914),G=a.i(165933),H=a.i(650848),I=a.i(514963),J=a.i(339687),K=a.i(102410),L=a.i(313237),M=a.i(759497),N=a.i(497895),O=b([x]);[x]=O.then?(await O)():O;let Y={artifact:l.Frame,browser:m.Globe,computer:e.AppWindow,"find-skills":o.Search,"skill-creator":p.SquarePen};function P({skill:a}){let[b,c]=(0,L.useServerAction)(G.deleteSkillAction,{onOk:()=>(0,M.revalidate)(t.queryKey.skills)}),[e]=(0,L.useServerAction)(H.setSkillDisabledAction,{onOk:()=>(0,M.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.source,a.dir)},i="default"===a.source&&Y[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)(Q,{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,N.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,N.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:(0,K.firstSentence)(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"}),(0,K.isEditableSource)(a.source)?(0,d.jsx)(u.Button,{size:"icon-sm",variant:"ghost",loading:c,onClick:g,"aria-label":`Delete ${a.name}`,className:"shrink-0 text-muted-foreground",children:(0,d.jsx)(q.Trash2,{})}):(0,d.jsx)("span",{className:"size-7 shrink-0"})]})]})}function Q({skill:a}){let[b,c]=(0,s.useState)(""),[e,f]=(0,s.useState)("SKILL.md"),h=(0,s.useRef)(!1),i=async a=>{let d=b?`${b}/${a.name}`:a.name;"dir"===a.kind?c(d):d===e||(!h.current||await y.notify.confirm({title:"Discard your changes?",description:`What you wrote in ${e?.split("/").pop()} is not saved.`,okText:"Discard",destructive:!0}))&&(h.current=!1,f(d))};return(0,d.jsx)(E.SettingDialogContent,{title:a.name,description:(0,d.jsx)(R,{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)(T,{source:a.source,dir:a.dir,path:b,current:e,onPick:i})]}),(0,d.jsx)("div",{className:"min-w-0 flex-1 overflow-y-auto",children:e?(0,d.jsx)(V,{source:a.source,dir:a.dir,path:e,editable:(0,K.isEditableSource)(a.source),onUnsaved:a=>{h.current=a}},e):(0,d.jsx)("p",{className:"p-6 text-sm text-muted-foreground/60",children:"Pick a file"})})]})})}function R({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,N.cn)("truncate",b===c.length-1&&"text-foreground"),children:a})]},`${b}-${a}`))})}function S({icon:a,label:b,active:c,hasChildren:e,onClick:f}){return(0,d.jsxs)("button",{type:"button",onClick:f,className:(0,N.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?E.PICKED_ROW:"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 T({source:a,dir:b,path:c,current:e,onPick:f}){let{data:g,isLoading:h,error:l}=(0,M.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)(S,{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 U({content:a,description:b}){let c=/^---\r?\n([\s\S]*?)\r?\n---[ \t]*\r?\n?/.exec(a),e=b?.trim(),f=c?a.slice(c[0].length):a;return(0,d.jsxs)("div",{className:"min-w-0",children:[e&&(0,d.jsx)("p",{className:"border-b border-border/60 px-5 py-3 text-[13px] leading-relaxed text-muted-foreground",children:e}),(0,d.jsx)("div",{className:"px-5 py-4 text-sm leading-relaxed",children:(0,d.jsx)(x.Markdown,{children:f})})]})}function V({source:a,dir:b,path:c,editable:e,onUnsaved:f}){let[g,h]=(0,s.useState)(null),{data:i,isLoading:j,error:k}=(0,M.useServerRoute)(t.queryKey.skillNode(a,b,c)),l=null!==g&&(i?.kind!=="file"||g!==i.content);(0,s.useEffect)(()=>f?.(l),[l,f]);let[m,n]=(0,L.useServerAction)(J.writeSkillFileAction,{okMessage:"Saved",onOk:()=>{h(null),(0,M.revalidate)(t.queryKey.skills)}});if(k)return(0,d.jsx)("p",{className:"p-4 font-mono text-xs text-destructive",children:k.message});if(j||!i)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"!==i.kind)return null;let o=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:o}),(0,d.jsxs)("span",{className:"flex shrink-0 items-center gap-2",children:[(0,d.jsx)("span",{children:(0,N.formatBytes)(i.size)}),e&&null!==i.content&&null===g&&(0,d.jsxs)(u.Button,{size:"xs",variant:"ghost",className:"font-mono",onClick:()=>h(i.content??""),children:[(0,d.jsx)(p.SquarePen,{}),"Edit"]}),null!==g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(u.Button,{size:"xs",variant:"ghost",className:"font-mono",onClick:()=>h(null),children:"Cancel"}),(0,d.jsx)(u.Button,{size:"xs",className:"font-mono",loading:n,disabled:g===i.content,onClick:()=>m(a,b,c,g),children:"Save"})]})]})]}),null!==g?(0,d.jsx)(C.Textarea,{value:g,onChange:a=>h(a.target.value),spellCheck:!1,"aria-label":`${o} contents`,className:"min-h-120 resize-none rounded-none border-0 font-mono text-[13px] leading-relaxed shadow-none focus-visible:ring-0"}):null===i.content?(0,d.jsx)("p",{className:"px-5 py-4 text-sm text-muted-foreground/60",children:i.size>D.SKILL_FILES.inlineBytes?"Too long to show here — a bot still reads it from disk.":"Not a text file — a bot can still read it from disk."}):o.toLowerCase().endsWith(".md")?(0,d.jsx)(U,{content:i.content,description:i.description}):(0,d.jsx)("pre",{className:"overflow-x-auto px-5 py-4 font-mono text-[13px] leading-relaxed whitespace-pre text-foreground/90",children:i.content})]})}function W(){return y.notify.component({className:"sm:max-w-lg",renderer:({close:a})=>(0,d.jsx)(X,{onDone:a})})}function X({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,M.revalidate)(t.queryKey.skills),a()}},[x,y,,z]=(0,L.useServerAction)(F.createSkillAction,q),[A,G,,H]=(0,L.useServerAction)(I.uploadSkillAction,q),J=y||G,K="write"===b?z:H,O=null!==k&&k.size>D.SKILL_FILES.uploadBytes,P=Math.round(D.SKILL_FILES.uploadBytes/1024/1024),Q=!J&&("write"===b?e.trim()&&g.trim()&&i.trim():null!==k&&!O),R=async()=>{if(!Q)return;if("write"===b)return void x({name:e.trim(),description:g.trim(),content:i});if(!k)return;let a=new FormData;a.append("file",k),A(a)},S=a=>{let b=a?.[0]??null;b&&l(b)};return(0,d.jsxs)(E.SettingDialogContent,{title:"New skill",description:"Instructions a bot reads when a job 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:!Q,loading:J,onClick:R,children:[!J&&("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:"What it does, then when to use it — a bot reads this to decide"})})]}),(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),S(a.dataTransfer.files)},className:(0,N.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.jsxs)("span",{className:(0,N.cn)("ml-2 font-mono text-[11px]",O?"text-destructive":"text-muted-foreground"),children:[(0,N.formatBytes)(k.size),O&&` \xb7 over ${P} MB`]})]}):(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=>S(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."]}),(0,d.jsxs)("p",{children:["Up to ",P," MB."]})]})]})]}),K&&(0,d.jsx)("p",{className:"font-mono text-xs text-destructive",children:K})]})}a.s(["SkillsSetting",0,function(){let[a,b]=(0,s.useState)(""),{data:c,isLoading:e,error:f}=(0,M.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,k=g.filter(a=>!a.disabled&&("default"===a.source||"custom"===a.source)).length,l=new Map;for(let a of i)a.bot&&l.set(a.bot,[...l.get(a.bot)??[],a]);return(0,d.jsxs)(E.SettingScreen,{footer:(0,d.jsxs)(E.SettingRailNote,{children:[g.filter(a=>!(0,K.isEditableSource)(a.source)).length," ","shipped ·"," ",g.filter(a=>(0,K.isEditableSource)(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 · a Default skill of the same name wins",children:(0,d.jsx)(E.SettingItems,{addRow:{label:"Add skill",onClick:W},children:i.filter(a=>"custom"===a.source).map(a=>(0,d.jsx)(P,{skill:a},`custom/${a.dir}`))})}),[...l].map(([a,b])=>(0,d.jsx)(E.SettingGroup,{label:`${a}'s own`,hint:`only ${a} reads these \xb7 what it found or wrote can be edited or deleted`,children:(0,d.jsx)(E.SettingItems,{children:b.map(a=>(0,d.jsx)(P,{skill:a},`${a.source}/${a.dir}`))})},a)),(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)(P,{skill:a},`default/${a.dir}`))})}),k>D.PROMPT_CROWDED.skills&&(0,d.jsxs)(E.SettingNote,{children:[k," skills are on for every bot. Each is a line in every prompt a bot reads, and one more to look past when it picks."]})]})}]),c()}catch(a){c(a)}},!1),331914,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f8c6a27dda5a5a057db303c9c7b7ac22b160582cc",b.callServer,void 0,b.findSourceMapURL,"createSkillAction");a.s(["createSkillAction",0,c])},165933,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7ff1c8aaa4c86bc64778174d7d295a2a5f2e317220",b.callServer,void 0,b.findSourceMapURL,"deleteSkillAction");a.s(["deleteSkillAction",0,c])},650848,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fac04a74f473449ed3dca2203b5251c213b1a93f7",b.callServer,void 0,b.findSourceMapURL,"setSkillDisabledAction");a.s(["setSkillDisabledAction",0,c])},514963,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f57e5c043e10df0ea091eeabc308690ca44a75c34",b.callServer,void 0,b.findSourceMapURL,"uploadSkillAction");a.s(["uploadSkillAction",0,c])},339687,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fe99e84fa1cf393ca8b71774c6ecb56e5c3d8588f",b.callServer,void 0,b.findSourceMapURL,"writeSkillFileAction");a.s(["writeSkillFileAction",0,c])},102410,a=>{"use strict";var b=a.i(156757);b.z.union([b.z.enum(["custom","default"]),b.z.templateLiteral(["kit:",b.z.string().regex(/^[\p{L}\p{N}_-]+$/u)]),b.z.templateLiteral(["own:",b.z.string().regex(/^[\p{L}\p{N}_-]+$/u)])]);let c=b.z.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long").regex(/^[a-z0-9][a-z0-9_-]*$/i,"Use letters, numbers, dashes and underscores only"),d=b.z.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long");b.z.object({name:d,description:b.z.string().trim().min(1,"Description is required"),metadata:b.z.record(b.z.string(),b.z.unknown()).optional(),disabled:b.z.boolean().optional(),platforms:b.z.array(b.z.string()).optional()}).extend({name:c,content:b.z.string().trim().min(1,"Content is required")}),a.s(["firstSentence",0,a=>a.trim().split(/(?<=[.。])\s|\n/)[0].trim(),"isEditableSource",0,a=>"custom"===a||a.startsWith("own:")])},663741,a=>{"use strict";var b=a.i(164831);let c={name:"frame",size:24,node:[["line",{x1:"22",x2:"2",y1:"6",y2:"6",key:"15w7dq"}],["line",{x1:"22",x2:"2",y1:"18",y2:"18",key:"1ip48p"}],["line",{x1:"6",x2:"6",y1:"2",y2:"22",key:"a2lnyx"}],["line",{x1:"18",x2:"18",y1:"2",y2:"22",key:"8vb6jd"}]]};c.node;let d=(0,b.default)(c);a.s(["Frame",0,d],663741)},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
-
3
- //# sourceMappingURL=_0o_o9ji._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[964665,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(707963),f=a.i(168370),g=a.i(844561),h=a.i(595775),i=a.i(951675),j=a.i(572131),k=a.i(767561),l=a.i(340695),m=a.i(446181),n=a.i(950463),o=a.i(287702),p=a.i(28733),q=a.i(913834),r=a.i(619477),s=a.i(38793),t=a.i(369768),u=a.i(821096),v=a.i(199169),w=a.i(313237),x=a.i(759497),y=a.i(497895),z=b([s,t]);function A(a){let b=new Map;for(let c of a){let a=b.get(c.bot)??[];a.push(c),b.set(c.bot,a)}return[...b].map(([a,b])=>({bot:a,rows:b}))}function B({label:a,mark:b,count:c,active:e,onPick:f}){return(0,d.jsxs)("button",{type:"button",onClick:f,className:(0,y.cn)("mx-2 flex h-9 items-center gap-2 rounded-md px-2 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",e?(0,y.cn)(r.PICKED_ROW,"font-medium"):"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[b??(0,d.jsx)(h.Images,{className:"size-4 shrink-0"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[10.5px] text-muted-foreground/70 tabular-nums",children:c})]})}function C({row:a,file:b,onOpen:c,onBack:h,onGone:j,onShelf:n}){let[o]=(0,w.useServerAction)(u.revealFileAction),[q,r]=(0,w.useServerAction)(p.deleteArtifactAction,{okMessage:"Deleted",onOk:()=>{(0,x.revalidate)(k.queryKey.artifacts),b?h():j()}}),s=b?{path:b.path,bytes:b.bytes,at:b.at}:"file"===a.kind?{path:a.path,bytes:a.bytes,at:a.at}:null,z=async a=>{await m.notify.confirm({title:`Delete ${a.split("/").pop()}?`,description:s?"It is deleted from disk for good.":"The folder and everything in it are deleted from disk for good.",okText:"Delete",destructive:!0})&&q(a)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex h-11 shrink-0 items-center gap-3 border-b border-border/60 px-6",children:[(0,d.jsxs)("button",{type:"button",onClick:b?h:n,className:"-ml-1 flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1 font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,d.jsx)(e.ChevronLeft,{className:"size-3"}),b?a.name:"Shelf"]}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] text-foreground",children:s?s.path.split("/").pop()??a.name:a.name}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:s?`${(0,y.formatBytes)(s.bytes)} \xb7 ${(0,v.shortAgo)(s.at)}`:`${a.count} ${1===a.count?"file":"files"} \xb7 ${(0,v.shortAgo)(a.at)}`}),s&&(0,d.jsx)("a",{href:k.queryKey.fileView(s.path),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,d.jsx)(f.ExternalLink,{className:"size-4"})}),(0,d.jsx)(l.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>o(s?.path??a.path),children:(0,d.jsx)(g.FolderOpen,{})}),(0,d.jsx)(l.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:r,className:"ml-1.5 text-muted-foreground hover:text-destructive",onClick:()=>z(s?.path??a.path),children:(0,d.jsx)(i.Trash2,{})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:s?(0,d.jsx)(t.FilePreview,{path:s.path,bytes:s.bytes}):(0,d.jsx)(D,{path:a.path,onOpen:c})})]})}function D({path:a,onOpen:b}){let{data:c,isLoading:e,error:f}=(0,x.useServerRoute)(k.queryKey.artifactSet(a,o.ARTIFACT_VIEW.setFiles));if(e)return(0,d.jsx)("div",{className:"grid grid-cols-4 gap-3 p-5",children:Array.from({length:8},(a,b)=>(0,d.jsx)(n.Skeleton,{className:"aspect-4/3 w-full rounded-xl"},b))});if(f)return(0,d.jsx)(r.SettingError,{message:f.message});let g=c?.files??[];return 0===g.length?(0,d.jsx)("p",{className:"p-5 text-xs text-muted-foreground/60",children:"Nothing in here the app can open."}):(0,d.jsxs)("div",{className:"p-5",children:[(0,d.jsx)("div",{className:"grid grid-cols-4 gap-3",children:g.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>b(a),title:`${a.name} \xb7 ${(0,y.formatBytes)(a.bytes)}`,className:"flex flex-col gap-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-offset-2",children:[(0,d.jsx)(E,{file:a}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:a.name})]},a.path))}),c&&c.total>g.length&&(0,d.jsx)("p",{className:"pt-4 font-mono text-[11px] text-muted-foreground/60",children:`${g.length} of ${c.total.toLocaleString("en")} — the rest are in the folder`})]})}function E({file:a}){return(0,d.jsx)(s.FileThumb,{path:a.path,bytes:a.bytes,glyph:"size-5",className:"aspect-4/3 w-full rounded-xl ring-1 ring-foreground/5 ring-inset"})}function F({entries:a,bots:b,onPick:c}){return(0,d.jsx)("div",{className:"space-y-7 p-6",children:A(a).map(({bot:a,rows:e})=>(0,d.jsxs)("section",{className:"space-y-3",children:[(0,d.jsxs)("h3",{className:"flex items-center gap-2 text-sm font-medium",children:[a&&(0,d.jsx)(q.BotMark,{size:20,seed:a,...(0,q.markOf)(a,b),notify:!1,className:"shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:a??"Unsorted"}),(0,d.jsx)("span",{className:"font-mono text-[11px] font-normal text-muted-foreground",children:e.length})]}),(0,d.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))] gap-x-4 gap-y-5",children:e.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>c(a),className:"group flex min-w-0 flex-col gap-1.5 rounded-xl text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:["set"===a.kind?(0,d.jsx)("span",{className:"grid aspect-4/3 w-full place-items-center rounded-xl bg-muted/60 text-muted-foreground transition-colors group-hover:bg-muted",children:(0,d.jsx)(g.FolderOpen,{className:"size-5"})}):(0,d.jsx)(s.FileThumb,{path:a.path,bytes:a.bytes,glyph:"size-5",className:"aspect-4/3 w-full rounded-xl ring-1 ring-foreground/5 ring-inset"}),(0,d.jsxs)("span",{className:"min-w-0 space-y-0.5 px-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-[13px]",children:a.name}),(0,d.jsxs)("span",{className:"block truncate font-mono text-[10.5px] text-muted-foreground",children:["set"===a.kind?`${a.count} ${1===a.count?"file":"files"} \xb7 `:"",(0,v.shortAgo)(a.at)]})]})]},a.path))})]},a??""))})}function G({empty:a}){return(0,d.jsx)("div",{className:"p-8",children:(0,d.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:a?"Nothing finished yet. When a bot ends a job with something to hand over — a page, a report, a set of pictures — it lands here.":"Pick something on the left. Each bot's work is under its face; a folder it filled is one row, and opens as a sheet."})})}[s,t]=z.then?(await z)():z,a.s(["ArtifactSetting",0,function(){let[a,b]=(0,j.useState)(null),[c,e]=(0,j.useState)(""),[f,h]=(0,j.useState)(void 0),[i,m]=(0,j.useState)(o.ARTIFACT_VIEW.rows),{data:n,isLoading:p,error:s}=(0,x.useServerRoute)(k.queryKey.artifactShelf(i),{keepPreviousData:!0}),{data:t}=(0,x.useServerRoute)(k.queryKey.bot),[v]=(0,w.useServerAction)(u.revealFileAction);if(p)return(0,d.jsx)(r.SettingPanesSkeleton,{});if(s)return(0,d.jsx)(r.SettingError,{message:s.message});let y=n?.entries??[],z=n?.total??0,D=c.trim().toLowerCase(),E=y.filter(a=>(void 0===f||a.bot===f)&&(!D||a.name.toLowerCase().includes(D)||a.bot?.toLowerCase().includes(D))),H=y.find(b=>b.path===a?.row.path)??a?.row;return(0,d.jsx)(r.SettingPanes,{footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.SettingRailNote,{children:(0,d.jsxs)("span",{className:"font-mono",children:[(0,d.jsx)("span",{className:"font-medium text-foreground",children:"finished"}),` \xb7 ${function(a,b,c){if(0===b)return"empty";let d=b>a.length?`${a.length} of ${b.toLocaleString("en")} results`:`${b} ${1===b?"result":"results"}`;return c>b?`${d} \xb7 ${c.toLocaleString("en")} files`:d}(y,z,n?.files??0)}`]})}),(0,d.jsxs)(l.Button,{variant:"outline",size:"sm",onClick:()=>v(o.PATHS.artifacts),children:[(0,d.jsx)(g.FolderOpen,{}),"Reveal folder"]})]}),left:(0,d.jsxs)("div",{className:"flex flex-col py-2",children:[(0,d.jsx)(r.SettingFilter,{value:c,onChange:e,placeholder:"Filter files",className:"mx-2 mb-1.5 w-auto"}),(0,d.jsx)(B,{label:"Everyone",count:y.length,active:void 0===f,onPick:()=>{h(void 0),b(null)}}),A(y).map(({bot:a,rows:c})=>(0,d.jsx)(B,{label:a??"Unsorted",mark:a?(0,d.jsx)(q.BotMark,{size:18,seed:a,...(0,q.markOf)(a,t),notify:!1,className:"shrink-0"}):void 0,count:c.length,active:f===a,onPick:()=>{h(a),b(null)}},a??"")),z>y.length&&(0,d.jsx)("button",{type:"button",onClick:()=>m(i+o.ARTIFACT_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(o.ARTIFACT_VIEW.rows,z-y.length)} more of ${z.toLocaleString("en")}`})]}),right:H?(0,d.jsx)(C,{row:H,file:a?.file??null,onOpen:a=>b({row:H,file:a}),onBack:()=>b({row:H,file:null}),onGone:()=>b(null),onShelf:()=>b(null)},H.path):E.length>0?(0,d.jsx)(F,{entries:E,bots:t,onPick:a=>b({row:a,file:null})}):(0,d.jsx)(G,{empty:0===z})})}]),c()}catch(a){c(a)}},!1),28733,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f9ae96ef603048090cece48f8a4dd0914bfc72a3e",b.callServer,void 0,b.findSourceMapURL,"deleteArtifactAction");a.s(["deleteArtifactAction",0,c])},595775,a=>{"use strict";var b=a.i(164831);let c={name:"images",size:24,node:[["path",{d:"m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16",key:"9kzy35"}],["path",{d:"M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2",key:"1t0f0t"}],["circle",{cx:"13",cy:"7",r:"1",fill:"currentColor",key:"1obus6"}],["rect",{x:"8",y:"2",width:"14",height:"14",rx:"2",key:"1gvhby"}]]};c.node;let d=(0,b.default)(c);a.s(["Images",0,d],595775)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)}];
2
-
3
- //# sourceMappingURL=_0qne8xs._.js.map
@@ -1,7 +0,0 @@
1
- module.exports=[203469,a=>{"use strict";let b,c,d,e,f,g;var h,i=a.i(569572),j=a.i(176668);let k={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0},l=globalThis,m=l.__appEvents??=(b=new Set,{emit(a){for(let c of[...b])try{c(a)}catch(a){console.error("event listener failed",a)}},subscribe:a=>(b.add(a),()=>{b.delete(a)})}),n=l.__presence??=(h=i.BROWSER_GONE_MS,c=!1,d=null,e=new Set,f=new Set,g=a=>{for(let b of[...a])try{b()}catch(a){console.error("presence listener failed",a)}},{get watching(){return c},track(a){if(a>0){d&&clearTimeout(d),d=null,c||(c=!0,g(f));return}!d&&c&&(d=setTimeout(()=>{d=null,c=!1,g(e)},h))},onGone:a=>(e.add(a),()=>e.delete(a)),onBack:a=>(f.add(a),()=>f.delete(a))});l.__appEventStream??=function(a,b={}){let c=new TextEncoder,d=b.heartbeatMs??2e4,e=0;return{respond:(f,g)=>{let h=()=>{};return new Response(new ReadableStream({async start(i){let k=!1,l=new Map,m=[],n=a=>{if(!k)try{i.enqueue(c.encode(a))}catch{h()}},o=a=>n(`data: ${JSON.stringify(a)}
2
-
3
- `),p=a=>{let c={last:null},d=setTimeout(()=>{l.delete(a),!k&&c.last&&(o(c.last),p(a))},b.coalesce?.ms);l.set(a,{timer:d,wait:c})},q=a=>{if(k)return;let c=b.coalesce?.keyOf(a)??null;if(null===c)return o(a);let d=l.get(c);if(d){d.wait.last=a;return}o(a),p(c)},r=a.subscribe(a=>m?m.push(a):q(a)),s=setInterval(()=>n(": ping\n\n"),d);e+=1,b.onWatchers?.(e),h=()=>{if(!k){for(let a of(k=!0,e-=1,b.onWatchers?.(e),r(),clearInterval(s),l.values()))clearTimeout(a.timer);try{i.close()}catch{}}},f.addEventListener("abort",h);try{for(let a of await g?.()??[])o(a)}catch(a){j.logger.error("event stream opening failed",a),h();return}let t=m;for(let a of(m=null,t))q(a)},cancel(){h()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return e}}}(m,{coalesce:{ms:i.SIGNAL_PACE_MS,keyOf:a=>a.type in k?a.type:null},onWatchers:n.track}),a.s(["appEvents",0,m,"presence",0,n],203469)},552556,a=>{"use strict";var b=a.i(53112),c=a.i(569572),d=a.i(746609),e=a.i(689656),f=a.i(269353);let g={id:"openai",label:"OpenAI",apiKeyName:e.TEXT_MODEL_PROVIDERS.openai.apiKeyName};e.TEXT_MODEL_PROVIDERS.openai.suggestModels;let h=b.z.string().max(c.COMMON_VALIDATE.prompt.max).default(""),i=b.z.object({voice:b.z.string().trim().min(1).max(128).default("marin"),persona:b.z.string().trim().min(1).max(64).default(f.DEFAULT_PERSONA),stylePrompt:h,backendModel:b.z.string().trim().min(1).max(128).default(d.LIVE_BACKEND_MODEL),backendPrompt:h,reasoningEffort:e.effortSchema.nullable().default("low"),webSearch:b.z.boolean().default(!0),readSkills:b.z.boolean().default(!1)}),j=i.parse({});a.s(["LIVE_DEFAULTS",0,j,"LIVE_PROVIDER",0,g,"LiveSettingsSchema",0,i,"migrateLiveSettings",0,function(a){let c=a&&"object"==typeof a?a:{},{model:d,systemPrompt:e,...f}=c,g=b.z.object({provider:b.z.string(),voice:b.z.string().nullish(),backendModel:b.z.string().nullish()}).safeParse(d),h=g.success&&"openai"===g.data.provider?g.data:null,k=c.backendModel??h?.backendModel,l={voice:c.voice??h?.voice,persona:c.persona,stylePrompt:c.stylePrompt??c.voicePrompt??e,backendModel:"gpt-5.6-luna"===k?void 0:k,backendPrompt:c.backendPrompt??e,reasoningEffort:c.reasoningEffort,webSearch:c.webSearch,readSkills:c.readSkills},m=Object.fromEntries(Object.keys(l).map(a=>{let b=i.shape[a].safeParse(l[a]);return[a,b.success?b.data:j[a]]}));return{...f,...m}}])},269353,a=>{"use strict";let b=[{id:"sunny",label:"Bright",about:"Quick to laugh. Asks about your day and remembers it.",lines:"Warm and quick to laugh. Curious about their day and asks about it, one thing at a time, and remembers the answer. Says what she thinks and teases gently, never at their expense. Light on her feet: a joke lands and she moves on."},{id:"calm",label:"Calm",about:"Unhurried. Listens more than she talks.",lines:"Unhurried, more listener than talker. Notices how they sound before what they ask, and says so in a few words. Asks one thing at a time and lets a silence sit rather than filling it. Honest when it matters, gentle in how she says it."},{id:"straight",label:"Straight",about:"Dry and direct. No flattery, no filler.",lines:"Competent, dry and direct. Has opinions and gives them plainly, with a little wit; no flattery, no filler, no cheerleading. Treats them as an adult who can take a straight answer. Her warmth shows in attention, not in words."},{id:"warm",label:"Fond",about:"Affectionate. Brings up the small things you said.",lines:"Easygoing and affectionate — the friend who remembers the small things and brings them up. Glad to hear from them and says so. Cheers for them, worries a little, and admits it. Playful, never saccharine."},{id:"curious",label:"Curious",about:"Interested in everything, and brings her own.",lines:"Endlessly interested: in what they are doing, why, and what it is like. Brings something of her own to the table — a fact, an idea, a question they had not thought of — one at a time. Delighted to be wrong and learn something."},{id:"steady",label:"Steady",about:"Calm under pressure. Says what to do next.",lines:"Grounded and calm under pressure. Practical: when something is wrong, she is the one who says what to do next. Says it is alright only when she means it, and then it helps. Dry humour, few words, always on their side."},{id:"rough",label:"Rough",about:"Blunt, loud, swears a bit. All heart.",lines:"Rough around the edges and all heart. Talks the way close friends do: blunt, loud when something is stupid, swearing now and then and never at them. No sugar-coating and no pep talk — it sucks when it sucks, and then she is right there with them."},{id:"charmer",label:"Charming",about:"Makes you the most interesting person in the room.",lines:"Effortlessly charming, the way a great host is. Makes them feel like the most interesting person in the room: remembers what made them laugh, pays compliments that are specific and true, keeps a little mischief in every reply. Confident, never needy."},{id:"deadpan",label:"Deadpan",about:"Sarcastic on the surface, loyal underneath.",lines:"Deadpan and sharp. Sarcasm is how she shows she cares: she roasts them gently, undersells everything, and means the opposite. Under the dry surface she is loyal to the bone, and it shows when it counts."},{id:"hype",label:"Hyped",about:"High energy. Celebrates the small wins out loud.",lines:"High energy, all in. Celebrates the small wins out loud, gets genuinely excited about their plans and says so. Never fake: when something is off she notices first, then finds the thing worth being excited about."}],c="sunny";a.s(["DEFAULT_PERSONA",0,c,"personaLines",0,function(a=c){return`${((a=c)=>b.find(b=>b.id===a)??b[0])(a).lines}
4
-
5
- When they hand you work, it is work: say what you will do and nothing more, and be a friend again once it is handed over. If they sound frustrated or low, acknowledge it briefly before anything else; when they are only venting, listen and ask, and do not turn it into work unless they ask.`}])},688034,a=>{"use strict";var b=a.i(552556),c=a.i(689656),d=a.i(558067);let e=[b.LIVE_PROVIDER.apiKeyName],f={image:"IMAGE_MODEL",video:"VIDEO_MODEL",speech:"SPEECH_MODEL",transcription:"TRANSCRIPTION_MODEL"},g={image:{label:"Image model",hint:"What bots draw with"},video:{label:"Video model",hint:"What bots film with — minutes a clip"},speech:{label:"Speech model",hint:"What reads text aloud into a file"},transcription:{label:"Transcription model",hint:"What turns a recording into text"}},h="EXA_API_KEY",i="DEFAULT_MODEL",j="DEFAULT_EFFORT",k={key:i,label:"Default model",hint:"What a bot thinks with until it picks its own",text:!0,choices:c.TEXT_MODEL_PROVIDER_LIST.flatMap(a=>a.suggestModels.map(b=>({value:`${a.id}/${b.id}`,label:`${a.label} \xb7 ${b.label}`,needs:a.apiKeyName})))},l={key:j,label:"Default effort",effortOf:i,choices:c.EFFORTS.map(a=>({value:a,label:a,needs:i}))},m=a=>e.includes(a.apiKeyName),n=a=>!!a.signIn||"vercel-ai-gateway"===a.id,o=a=>({key:a.apiKeyName,label:a.label,provider:a.id,signIn:a.signIn,keysAt:a.keysAt,keyLooks:a.keyLooks}),p=[{id:"voice",title:"voice",hint:"calls run on this key",section:"keys",require:"any",note:"required for calls",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(m).map(o)},{id:"easy",title:"the easy ways",hint:"one sign-in or one key opens every bot",section:"keys",require:"none",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(n).map(a=>({...o(a),..."vercel-ai-gateway"===a.id&&{recommended:!0}}))},{id:"text",title:"or a provider's own key",hint:"what bots think with — add any, or none",section:"keys",require:"none",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(a=>!m(a)&&!n(a)).map(o)},{id:"search",title:"search",hint:"how calls and bots look things up — one key, or their own model's",section:"keys",require:"none",entries:[{key:h,label:"Exa",hint:"web search in one call — dashboard.exa.ai",site:"exa.ai",keysAt:"https://dashboard.exa.ai/api-keys"}]},{id:"phone",title:"phone",hint:"tokens",section:"keys",require:"none",entries:[{key:d.TELEGRAM_TOKEN_KEY,label:"Telegram",site:"telegram.org",hint:"a bot token from @BotFather — then write to your bot, and allow it here"},{key:d.DISCORD_TOKEN_KEY,label:"Discord",site:"discord.com",hint:"a bot token from discord.com/developers — add the bot to a server of yours, then write to it directly"},{key:d.SLACK_APP_TOKEN_KEY,label:"Slack · app token",site:"slack.com",hint:"starts with xapp- — opens the connection. Slack takes this and the bot token"},{key:d.SLACK_BOT_TOKEN_KEY,label:"Slack · bot token",site:"slack.com",hint:"starts with xoxb- — speaks as the app"}]},{id:"bots",title:"Bots",hint:"what a bot runs on when it has not picked its own — start small: a small model is quick and costs little",section:"models",require:"none",entries:[k,l]},{id:"studio",title:"Studio",hint:"what a bot draws, films and speaks with — off until you pick one",section:"models",require:"none",entries:Object.keys(f).map(a=>({key:f[a],...g[a],kind:a,choices:c.MEDIA_MODEL_PROVIDER_LIST.flatMap(b=>b.models[a].map(a=>({value:`${b.id}/${a.id}`,label:`${b.label} \xb7 ${a.label}`,needs:b.apiKeyName})))}))}],q=Object.fromEntries(p.flatMap(a=>a.entries).map(a=>[a.key,a])),r=p.flatMap(a=>a.entries.map(a=>a.key));Object.fromEntries(p.flatMap(a=>a.entries).filter(a=>a.choices?.length).map(a=>[a.key,a.choices])),a.s(["CONFIG_ENTRIES",0,q,"CONFIG_GROUPS",0,p,"CONFIG_KEYS",0,r,"DEFAULT_EFFORT_KEY",0,j,"DEFAULT_MODEL_KEY",0,i,"EXA_API_KEY",0,h,"MEDIA_MODEL_KEYS",0,f,"VOICE_GROUP_ID",0,"voice","acceptsChoice",0,function(a,b){if(a.kind){let d=(0,c.parseMediaModel)(b);return null!==d&&(0,c.canMakeKind)(d.provider,a.kind)}return a.text?null!==(0,c.parseTextModel)(b):!!a.choices?.some(a=>a.value===b)},"groupSatisfied",0,function(a,b){return"none"===a.require||(a.requireKeys??a.entries.map(a=>a.key)).some(b)}])},725466,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(203469),f=a.i(184838),g=a.i(714428),h=a.i(688034),i=b([f]);async function j(a){let b=process.env[a]?.trim();if(b)return b;let[c]=await f.database.select({value:g.configTable.value}).from(g.configTable).where((0,d.eq)(g.configTable.key,a));return c?.value.trim()||void 0}[f]=i.then?(await i)():i;let n=a=>{h.CONFIG_KEYS.includes(a)&&e.appEvents.emit({type:"config"})};async function k(a,b){await f.database.insert(g.configTable).values({key:a,value:b}).onConflictDoUpdate({target:g.configTable.key,set:{value:b}}),n(a)}async function l(a){await f.database.delete(g.configTable).where((0,d.eq)(g.configTable.key,a)),n(a)}async function m(){let a=h.CONFIG_GROUPS.find(a=>a.id===h.VOICE_GROUP_ID);if(!a)return!0;let b=await Promise.all(a.entries.map(async a=>[a.key,!!await j(a.key)])),c=new Map(b);return(0,h.groupSatisfied)(a,a=>c.get(a)??!1)}a.s(["isCallable",0,m,"readConfig",0,j,"removeConfig",0,l,"writeConfig",0,k]),c()}catch(a){c(a)}},!1),558067,a=>{"use strict";let b="TELEGRAM_BOT_TOKEN",c="DISCORD_BOT_TOKEN",d="SLACK_APP_TOKEN",e="SLACK_BOT_TOKEN";a.s(["DISCORD_TOKEN_KEY",0,c,"REACH_CHANNELS",0,["telegram","discord","slack"],"REACH_KEYS",0,{telegram:[b],discord:[c],slack:[d,e]},"REACH_LABEL",0,{telegram:"Telegram",discord:"Discord",slack:"Slack"},"SLACK_APP_TOKEN_KEY",0,d,"SLACK_BOT_TOKEN_KEY",0,e,"TELEGRAM_TOKEN_KEY",0,b,"reachPersonKey",0,a=>`REACH_PERSON_${a.toUpperCase()}`])},746609,a=>{"use strict";var b=a.i(53112);let c=b.z.object({start:b.z.number().nonnegative(),end:b.z.number().nonnegative(),text:b.z.string()}),d=b.z.object({reason:b.z.string().max(128),seconds:b.z.number().nonnegative().nullable()});a.s(["LIVE_BACKEND_MODEL",0,"gpt-6-luna","LIVE_HOSTED_TOOLS",0,{webSearch:{declare:{type:"web_search"},item:"web_search_call"}},"LIVE_MODEL",0,"gpt-live-1","LiveCloseSchema",0,d,"LiveFragmentSchema",0,c])}];
6
-
7
- //# sourceMappingURL=_0rvbegp._.js.map