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
@@ -56,18 +56,18 @@ ${this.parser.parse(e)}</blockquote>
56
56
  ${e}</tr>
57
57
  `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
58
58
  `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${es(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),s=ea(e);if(null===s)return r;let a='<a href="'+(e=s)+'"';return t&&(a+=' title="'+es(t)+'"'),a+=">"+r+"</a>"}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let s=ea(e);if(null===s)return es(n);e=s;let a=`<img src="${e}" alt="${es(n)}"`;return t&&(a+=` title="${es(t)}"`),a+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:es(e.text)}},ep=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},ed=class e{options;renderer;textRenderer;constructor(e){this.options=e||n,this.options.renderer=this.options.renderer||new eu,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ep}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t="";for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==e||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(r.type)){t+=e||"";continue}}switch(r.type){case"space":t+=this.renderer.space(r);break;case"hr":t+=this.renderer.hr(r);break;case"heading":t+=this.renderer.heading(r);break;case"code":t+=this.renderer.code(r);break;case"table":t+=this.renderer.table(r);break;case"blockquote":t+=this.renderer.blockquote(r);break;case"list":t+=this.renderer.list(r);break;case"checkbox":t+=this.renderer.checkbox(r);break;case"html":t+=this.renderer.html(r);break;case"def":t+=this.renderer.def(r);break;case"paragraph":t+=this.renderer.paragraph(r);break;case"text":t+=this.renderer.text(r);break;default:{let e='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n="";for(let r=0;r<e.length;r++){let s=e[r];if(this.options.extensions?.renderers?.[s.type]){let e=this.options.extensions.renderers[s.type].call({parser:this},s);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){n+=e||"";continue}}switch(s.type){case"escape":case"text":n+=t.text(s);break;case"html":n+=t.html(s);break;case"link":n+=t.link(s);break;case"image":n+=t.image(s);break;case"checkbox":n+=t.checkbox(s);break;case"strong":n+=t.strong(s);break;case"em":n+=t.em(s);break;case"codespan":n+=t.codespan(s);break;case"br":n+=t.br(s);break;case"del":n+=t.del(s);break;default:{let e='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return n}},eg=class{options;block;constructor(e){this.options=e||n}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?eh.lex:eh.lexInline}provideParser(e=this.block){return e?ed.parse:ed.parseInline}},ef=new class{defaults=t();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=ed;Renderer=eu;TextRenderer=ep;Lexer=eh;Tokenizer=ec;Hooks=eg;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":for(let e of r.header)n=n.concat(this.walkTokens(e.tokens,t));for(let e of r.rows)for(let r of e)n=n.concat(this.walkTokens(r.tokens,t));break;case"list":n=n.concat(this.walkTokens(r.items,t));break;default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let s=e[r].flat(1/0);n=n.concat(this.walkTokens(s,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new eu(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;let r=e.renderer[n],s=t[n];t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=s.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new ec(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;let r=e.tokenizer[n],s=t[n];t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=s.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new eg;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if(["options","block"].includes(n))continue;let r=e.hooks[n],s=t[n];eg.passThroughHooks.has(n)?t[n]=e=>{if(this.defaults.async&&eg.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await r.call(t,e);return s.call(t,n)})();let a=r.call(t,e);return s.call(t,a)}:t[n]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await r.apply(t,e);return!1===n&&(n=await s.apply(t,e)),n})();let n=r.apply(t,e);return!1===n&&(n=s.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return eh.lex(e,t??this.defaults)}parser(e,t){return ed.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},s={...this.defaults,...r},a=this.onError(!!s.silent,!!s.async);if(!0===this.defaults.async&&!1===r.async)return a(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return a(Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return a(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let n=s.hooks?await s.hooks.preprocess(t):t,r=await (s.hooks?await s.hooks.provideLexer(e):e?eh.lex:eh.lexInline)(n,s),a=s.hooks?await s.hooks.processAllTokens(r):r;s.walkTokens&&await Promise.all(this.walkTokens(a,s.walkTokens));let i=await (s.hooks?await s.hooks.provideParser(e):e?ed.parse:ed.parseInline)(a,s);return s.hooks?await s.hooks.postprocess(i):i})().catch(a);try{s.hooks&&(t=s.hooks.preprocess(t));let n=(s.hooks?s.hooks.provideLexer(e):e?eh.lex:eh.lexInline)(t,s);s.hooks&&(n=s.hooks.processAllTokens(n)),s.walkTokens&&this.walkTokens(n,s.walkTokens);let r=(s.hooks?s.hooks.provideParser(e):e?ed.parse:ed.parseInline)(n,s);return s.hooks&&(r=s.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
59
- Please report this to https://github.com/markedjs/marked.`,e){let e="<p>An error occurred:</p><pre>"+es(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function ek(e,t){return ef.parse(e,t)}function em(e,t){let n=[],r=e;for(;r.length>t;){let e=r.slice(0,t),s=[e.lastIndexOf("\n\n"),e.lastIndexOf("\n"),e.lastIndexOf(" ")].find(e=>e>t/2),a=s??t,i=r.charCodeAt(a-1);!s&&i>=55296&&i<=56319&&(a-=1),n.push(r.slice(0,a).trim()),r=r.slice(a).trim()}return r&&n.push(r),n}function ex(e,t){var n,r,s,a,i,l,o;switch(e.type){case"heading":return n=eb(e.tokens??[],t),r=e.depth,"discord"===(s=t)&&r<=3?`${"#".repeat(r)} ${n}`:ey(n,"strong",s);case"paragraph":return eb(e.tokens??[],t);case"text":return e.tokens?eb(e.tokens,t):eR(e_(e.text),t);case"list":return function e(t,n,r){return t.items.map((s,a)=>{let i=t.ordered?`${Number(t.start||1)+a}.`:"discord"===n?"-":"•",l=s.task?s.checked?"☑ ":"☐ ":"",[o,...c]=s.tokens.filter(e=>"checkbox"!==e.type),h=`${r} `;return[`${r}${i} ${l}${o?ex(o,n):""}`,...c.map(t=>"list"===t.type?e(t,n,h):ex(t,n).replace(/^/gm,h))].filter(e=>e.trim()).join("\n")}).join("\n")}(e,t,"");case"blockquote":return a=(e.tokens??[]).map(e=>ex(e,t)).filter(Boolean).join("\n"),i=t,a?"telegram"===i?`<blockquote>${a}</blockquote>`:"plain"===i?a:a.replace(/^/gm,"> "):"";case"table":let c;return l=e,o=t,[ey((c=e=>e.map(e=>eb(e.tokens,o)).join(" · "))(l.header),"strong",o),...l.rows.map(c)].join("\n");case"code":return e$(e.lang??"",e.text,t);case"html":return eR(e_(e.text.replace(/<[^>]*>/g,"")).trim(),t);default:return""}}function eb(e,t){return e.map(e=>{switch(e.type){case"text":return e.tokens?eb(e.tokens,t):eR(e_(e.text),t);case"escape":return eR(e.text,t);case"strong":case"em":case"del":return ey(eb(e.tokens??[],t),e.type,t);case"codespan":var n,r;return n=e.text,"telegram"===(r=t)?`<code>${eR(n,r)}</code>`:"slack"===r?`\`${eR(n,r)}\``:"discord"===r?n.includes("`")?`\`\` ${n} \`\``:`\`${n}\``:n;case"link":var s=e,a=t;let i=eb(s.tokens,a);if(!/^(https?|mailto):/i.test(s.href))return i;let l=s.text===s.href;switch(a){case"telegram":return`<a href="${eR(s.href,a).replaceAll('"',"&quot;")}">${i}</a>`;case"discord":return l?s.href:`[${i}](${s.href.replaceAll(")","%29")})`;case"slack":return l?`<${s.href}>`:`<${s.href}|${i}>`;default:return l?s.href:`${i} ${s.href}`}case"image":return eR(e_(e.text),t);case"br":return"\n";case"html":return/^<br\s*\/?>$/i.test(e.text)?"\n":"";default:return"text"in e?eR(e_(String(e.text)),t):""}}).join("")}ek.options=ek.setOptions=function(e){return ef.setOptions(e),ek.defaults=ef.defaults,n=ek.defaults,ek},ek.getDefaults=t,ek.defaults=n,ek.use=function(...e){return ef.use(...e),ek.defaults=ef.defaults,n=ek.defaults,ek},ek.walkTokens=function(e,t){return ef.walkTokens(e,t)},ek.parseInline=ef.parseInline,ek.Parser=ed,ek.parser=ed.parse,ek.Renderer=eu,ek.TextRenderer=ep,ek.Lexer=eh,ek.lexer=eh.lex,ek.Tokenizer=ec,ek.Hooks=eg,ek.parse=ek,ek.options,ek.setOptions,ek.use,ek.walkTokens,ek.parseInline,ed.parse,eh.lex;let ew={telegram:{strong:["<b>","</b>"],em:["<i>","</i>"],del:["<s>","</s>"]},discord:{strong:["**","**"],em:["*","*"],del:["~~","~~"]},slack:{strong:["*","*"],em:["_","_"],del:["~","~"]}};function ey(e,t,n){if(!e||"plain"===n)return e;let[r,s]=ew[n][t];return`${r}${e}${s}`}function e$(e,t,n){return"telegram"===n?e?`<pre><code class="language-${eR(e,n)}">${eR(t,n)}</code></pre>`:`<pre>${eR(t,n)}</pre>`:"discord"===n?`\`\`\`${e}
59
+ Please report this to https://github.com/markedjs/marked.`,e){let e="<p>An error occurred:</p><pre>"+es(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function ek(e,t){return ef.parse(e,t)}function em(e,t){let n=[],r=e;for(;r.length>t;){let e=r.slice(0,t),s=[e.lastIndexOf("\n\n"),e.lastIndexOf("\n"),e.lastIndexOf(" ")].find(e=>e>t/2),a=s??t,i=r.charCodeAt(a-1);!s&&i>=55296&&i<=56319&&(a-=1),n.push(r.slice(0,a).trim()),r=r.slice(a).trim()}return r&&n.push(r),n}function ex(e,t){var n,r,s,a,i,l,o;switch(e.type){case"heading":return n=eb(e.tokens??[],t),r=e.depth,"discord"===(s=t)&&r<=3?`${"#".repeat(r)} ${n}`:ey(n,"strong",s);case"paragraph":return eb(e.tokens??[],t);case"text":return e.tokens?eb(e.tokens,t):eS(eT(e.text),t);case"list":return function e(t,n,r){return t.items.map((s,a)=>{let i=t.ordered?`${Number(t.start||1)+a}.`:"discord"===n?"-":"•",l=s.task?s.checked?"☑ ":"☐ ":"",[o,...c]=s.tokens.filter(e=>"checkbox"!==e.type),h=`${r} `;return[`${r}${i} ${l}${o?ex(o,n):""}`,...c.map(t=>"list"===t.type?e(t,n,h):ex(t,n).replace(/^/gm,h))].filter(e=>e.trim()).join("\n")}).join("\n")}(e,t,"");case"blockquote":return a=(e.tokens??[]).map(e=>ex(e,t)).filter(Boolean).join("\n"),i=t,a?"telegram"===i?`<blockquote>${a}</blockquote>`:"plain"===i?a:a.replace(/^/gm,"> "):"";case"table":let c;return l=e,o=t,[ey((c=e=>e.map(e=>eb(e.tokens,o)).join(" · "))(l.header),"strong",o),...l.rows.map(c)].join("\n");case"code":return e$(e.lang??"",e.text,t);case"html":return eS(eT(e.text.replace(/<[^>]*>/g,"")).trim(),t);default:return""}}function eb(e,t){return e.map(e=>{switch(e.type){case"text":return e.tokens?eb(e.tokens,t):eS(eT(e.text),t);case"escape":return eS(e.text,t);case"strong":case"em":case"del":return ey(eb(e.tokens??[],t),e.type,t);case"codespan":var n,r;return n=e.text,"telegram"===(r=t)?`<code>${eS(n,r)}</code>`:"slack"===r?`\`${eS(n,r)}\``:"discord"===r?n.includes("`")?`\`\` ${n} \`\``:`\`${n}\``:n;case"link":var s=e,a=t;let i=eb(s.tokens,a)||eS(eR(s.href),a);if(!/^(https?|mailto):/i.test(s.href))return i;let l=s.text===s.href;switch(a){case"telegram":return`<a href="${eS(s.href,a).replaceAll('"',"&quot;")}">${i}</a>`;case"discord":return l?s.href:`[${i}](${s.href.replaceAll(")","%29")})`;case"slack":return l?`<${s.href}>`:`<${s.href}|${i}>`;default:return l?s.href:`${i} ${s.href}`}case"image":return eS(eT(e.text)||eR(e.href),t);case"br":return"\n";case"html":return/^<br\s*\/?>$/i.test(e.text)?"\n":"";default:return"text"in e?eS(eT(String(e.text)),t):""}}).join("")}ek.options=ek.setOptions=function(e){return ef.setOptions(e),ek.defaults=ef.defaults,n=ek.defaults,ek},ek.getDefaults=t,ek.defaults=n,ek.use=function(...e){return ef.use(...e),ek.defaults=ef.defaults,n=ek.defaults,ek},ek.walkTokens=function(e,t){return ef.walkTokens(e,t)},ek.parseInline=ef.parseInline,ek.Parser=ed,ek.parser=ed.parse,ek.Renderer=eu,ek.TextRenderer=ep,ek.Lexer=eh,ek.lexer=eh.lex,ek.Tokenizer=ec,ek.Hooks=eg,ek.parse=ek,ek.options,ek.setOptions,ek.use,ek.walkTokens,ek.parseInline,ed.parse,eh.lex;let ew={telegram:{strong:["<b>","</b>"],em:["<i>","</i>"],del:["<s>","</s>"]},discord:{strong:["**","**"],em:["*","*"],del:["~~","~~"]},slack:{strong:["*","*"],em:["_","_"],del:["~","~"]}};function ey(e,t,n){if(!e||"plain"===n)return e;let[r,s]=ew[n][t];return`${r}${e}${s}`}function e$(e,t,n){return"telegram"===n?e?`<pre><code class="language-${eS(e,n)}">${eS(t,n)}</code></pre>`:`<pre>${eS(t,n)}</pre>`:"discord"===n?`\`\`\`${e}
60
60
  ${t}
61
61
  \`\`\``:"slack"===n?`\`\`\`
62
- ${eR(t,n)}
63
- \`\`\``:t}function eR(e,t){return"telegram"===t||"slack"===t?e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;"):"discord"===t?e.replace(/[\\*_~`|>[\]]/g,"\\$&").replace(/^(\s*)(#|-|\+|\d+\.)(?=\s)/gm,"$1\\$2"):e}let eS={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" "};function e_(e){return e.replace(/&(#x[\da-f]+|#\d+|[a-z]+);/gi,(e,t)=>{if("#"!==t[0])return eS[t.toLowerCase()]??e;let n="x"===t[1].toLowerCase()?Number.parseInt(t.slice(2),16):Number(t.slice(1));return n>0&&n<=1114111?String.fromCodePoint(n):e})}e.s(["chatPieces",0,function(e,t,n){let r="plain"in e?[{kind:"text",drawn:eR(e.plain,t),words:e.plain}]:new eh({gfm:!0}).lex(e.markdown).flatMap(e=>(function(e,t){if("code"===e.type)return[{kind:"code",lang:e.lang??"",body:e.text}];let n=ex(e,t);return n?[{kind:"text",drawn:n,words:ex(e,"plain")}]:[]})(e,t)),s=[],a="",i=e=>{if(a&&a.length+2+e.length<=n){a+=`
62
+ ${eS(t,n)}
63
+ \`\`\``:t}function eR(e){try{let t=new URL(e,"http://here"),n=t.searchParams.get("path")??t.pathname;return decodeURIComponent(n.split("/").filter(Boolean).pop()??"")}catch{return e.split("/").pop()??""}}function eS(e,t){return"telegram"===t||"slack"===t?e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;"):"discord"===t?e.replace(/[\\*_~`|>[\]]/g,"\\$&").replace(/^(\s*)(#|-|\+|\d+\.)(?=\s)/gm,"$1\\$2"):e}let e_={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" "};function eT(e){return e.replace(/&(#x[\da-f]+|#\d+|[a-z]+);/gi,(e,t)=>{if("#"!==t[0])return e_[t.toLowerCase()]??e;let n="x"===t[1].toLowerCase()?Number.parseInt(t.slice(2),16):Number(t.slice(1));return n>0&&n<=1114111?String.fromCodePoint(n):e})}e.s(["chatPieces",0,function(e,t,n){let r="plain"in e?[{kind:"text",drawn:eS(e.plain,t),words:e.plain}]:new eh({gfm:!0}).lex(e.markdown).flatMap(e=>(function(e,t){if("code"===e.type)return[{kind:"code",lang:e.lang??"",body:e.text}];let n=ex(e,t);return n?[{kind:"text",drawn:n,words:ex(e,"plain")}]:[]})(e,t)),s=[],a="",i=e=>{if(a&&a.length+2+e.length<=n){a+=`
64
64
 
65
- ${e}`;return}a&&s.push(a),a=e};for(let e of r){let r="code"===e.kind?e$(e.lang,e.body,t):e.drawn;if(r.length<=n)i(r);else if("code"===e.kind)for(let r of function(e,t,n,r){let s=r-e$(e,"",n).length,a=t.split("\n").flatMap(e=>e.length>s?em(e,s):[e]),i=[],l=[];for(let t of a)l.length&&e$(e,[...l,t].join("\n"),n).length>r&&(i.push(e$(e,l.join("\n"),n)),l=[]),l.push(t);return l.length&&i.push(e$(e,l.join("\n"),n)),i}(e.lang,e.body,t,n))i(r);else for(let r of function e(t,n,r){return em(t,r).flatMap(t=>{let s=eR(t,n);return s.length<=r||t.length<2?[s]:e(t,n,Math.floor(r*t.length/s.length))})}(e.words,t,n))i(r)}return a&&s.push(a),s.length?s:[eR("…",t)]}],686907)},407723,e=>{"use strict";e.s(["runSocket",0,function(e,t,n){return new Promise((r,s)=>{let a=new WebSocket(e),i=e=>{a.readyState===WebSocket.OPEN&&a.send(JSON.stringify(e))},l=!1,o=e=>{l||(l=!0,n.removeEventListener("abort",h),r(e))},c=(e,t)=>{o({code:e,reason:t}),a.close(e,t)},h=()=>c(1e3,"");n.addEventListener("abort",h,{once:!0}),a.addEventListener("message",e=>{try{t.message(JSON.parse(String(e.data)),i,c)}catch{}}),a.addEventListener("error",()=>{a.readyState===WebSocket.OPEN||l||(l=!0,n.removeEventListener("abort",h),s(Error(`Could not connect to ${new URL(e).host}`)))}),a.addEventListener("close",e=>o({code:e.code,reason:e.reason}))})}])},440219,e=>{"use strict";var t=e.i(864064),n=e.i(686907),r=e.i(407723);let s="https://discord.com/api/v10",a={4004:"Discord did not take the bot token: it was reset or mistyped. Reset it on the application's Bot page and paste the new one here.",4013:"Discord refused the intents this bot asked for.",4014:"Discord refused an intent this bot is not allowed — check the bot's page."};e.s(["createDiscord",0,function(e){async function i(n,r,a){let i=a instanceof FormData;for(let l=0;;l++){let o=await fetch(`${s}${r}`,{method:n,headers:{authorization:`Bot ${e}`,...i||!a?{}:{"content-type":"application/json"}},body:i?a:a?JSON.stringify(a):void 0}).catch(e=>{throw Error(`Could not reach ${new URL(s).host}`,{cause:e})});if(o.ok)return 204===o.status?null:await o.json();let c=await o.json().catch(()=>null);if(429===o.status&&await (0,t.waitOut)(c?.retry_after,l))continue;let h=c?.message??`Discord answered ${o.status}`;throw 401===o.status?new t.ChannelRefusal(h):Error(h)}}let l=e=>{let t=e.length<=5?1:5,n=[];for(let r=0;r<e.length&&n.length<5;r+=t)n.push({type:1,components:e.slice(r,r+t).map(e=>({type:2,style:2,label:e.text.slice(0,80),custom_id:e.data}))});return n};return{limits:{take:1/0,file:0x1400000,picture:0x1400000},async listen(n,s){let l,o=null,c=!0;try{let h=await (0,r.runSocket)("wss://gateway.discord.gg/?v=10&encoding=json",{message(t,r,s){let{op:a,d:h,s:u,t:p}=t;if(null!==u&&(o=u),10===a){let t=h.heartbeat_interval;l=setInterval(()=>{if(!c)return s(4e3,"Discord stopped answering");c=!1,r({op:1,d:o})},t),r({op:2,d:{token:e,intents:4096,properties:{os:process.platform,browser:"thursday",device:"thursday"}}})}else if(1===a)r({op:1,d:o});else if(11===a)c=!0;else if(7===a||9===a)s(4e3,"Discord asked for a new connection");else if(0===a&&"READY"===p){let e;n.ready(h.user.username,(e=h.application?.id)?`https://discord.com/oauth2/authorize?client_id=${e}&scope=bot&permissions=0`:null,h.user.id)}else if(0===a&&p){var d,g;let e=(d=p,g=h,"MESSAGE_CREATE"===d?g.guild_id||g.author.bot?null:{kind:"message",chat:g.channel_id,name:g.author.global_name||g.author.username,handle:`@${g.author.username}`,words:g.content.trim(),files:(g.attachments??[]).map(e=>({name:e.filename,size:e.size,fetch:async()=>{let t=await fetch(e.url);if(!t.ok)throw Error(`Discord answered ${t.status} for the file`);return new File([await t.arrayBuffer()],e.filename,{type:e.content_type??""})}})),unreadable:!1}:"INTERACTION_CREATE"===d?3!==g.type||g.guild_id?null:(i("POST",`/interactions/${g.id}/${g.token}/callback`,{type:6}).catch(()=>{}),{kind:"press",chat:g.channel_id,data:g.data?.custom_id??"",under:g.message?{id:g.message.id,text:g.message.content}:null}):null);e&&n.incoming(e)}}},s),u=a[h.code];if(u)throw new t.ChannelRefusal(u);if(!s.aborted)throw Error(h.reason||`Discord closed the connection (${h.code})`)}finally{clearInterval(l)}},async say(e,t,r){let s=(0,n.chatPieces)(t,"discord",1900);for(let[t,n]of s.entries())await i("POST",`/channels/${e}/messages`,{content:n,flags:4,allowed_mentions:{parse:[]},...r?.length&&t===s.length-1?{components:l(r)}:{}})},async typing(e){await i("POST",`/channels/${e}/typing`).catch(()=>{})},async settle(e,t,r){let s=`
65
+ ${e}`;return}a&&s.push(a),a=e};for(let e of r){let r="code"===e.kind?e$(e.lang,e.body,t):e.drawn;if(r.length<=n)i(r);else if("code"===e.kind)for(let r of function(e,t,n,r){let s=r-e$(e,"",n).length,a=t.split("\n").flatMap(e=>e.length>s?em(e,s):[e]),i=[],l=[];for(let t of a)l.length&&e$(e,[...l,t].join("\n"),n).length>r&&(i.push(e$(e,l.join("\n"),n)),l=[]),l.push(t);return l.length&&i.push(e$(e,l.join("\n"),n)),i}(e.lang,e.body,t,n))i(r);else for(let r of function e(t,n,r){return em(t,r).flatMap(t=>{let s=eS(t,n);return s.length<=r||t.length<2?[s]:e(t,n,Math.floor(r*t.length/s.length))})}(e.words,t,n))i(r)}return a&&s.push(a),s.length?s:[eS("…",t)]}],686907)},407723,e=>{"use strict";e.s(["runSocket",0,function(e,t,n){return new Promise((r,s)=>{let a=new WebSocket(e),i=e=>{a.readyState===WebSocket.OPEN&&a.send(JSON.stringify(e))},l=!1,o=e=>{l||(l=!0,n.removeEventListener("abort",h),r(e))},c=(e,t)=>{o({code:e,reason:t}),a.close(e,t)},h=()=>c(1e3,"");n.addEventListener("abort",h,{once:!0}),a.addEventListener("message",e=>{try{t.message(JSON.parse(String(e.data)),i,c)}catch{}}),a.addEventListener("error",()=>{a.readyState===WebSocket.OPEN||l||(l=!0,n.removeEventListener("abort",h),s(Error(`Could not connect to ${new URL(e).host}`)))}),a.addEventListener("close",e=>o({code:e.code,reason:e.reason}))})}])},440219,e=>{"use strict";var t=e.i(864064),n=e.i(686907),r=e.i(407723);let s="https://discord.com/api/v10",a={4004:"Discord did not take the bot token: it was reset or mistyped. Reset it on the application's Bot page and paste the new one here.",4013:"Discord refused the intents this bot asked for.",4014:"Discord refused an intent this bot is not allowed — check the bot's page."};e.s(["createDiscord",0,function(e){async function i(n,r,a){let i=a instanceof FormData;for(let l=0;;l++){let o=await fetch(`${s}${r}`,{method:n,headers:{authorization:`Bot ${e}`,...i||!a?{}:{"content-type":"application/json"}},body:i?a:a?JSON.stringify(a):void 0}).catch(e=>{throw Error(`Could not reach ${new URL(s).host}`,{cause:e})});if(o.ok)return 204===o.status?null:await o.json();let c=await o.json().catch(()=>null);if(429===o.status&&await (0,t.waitOut)(c?.retry_after,l))continue;let h=c?.message??`Discord answered ${o.status}`;throw 401===o.status?new t.ChannelRefusal(h):Error(h)}}let l=e=>{let t=e.length<=5?1:5,n=[];for(let r=0;r<e.length&&n.length<5;r+=t)n.push({type:1,components:e.slice(r,r+t).map(e=>({type:2,style:2,label:e.text.slice(0,80),custom_id:e.data}))});return n};return{limits:{take:1/0,file:0x1400000,picture:0x1400000},async listen(n,s){let l,o=null,c=!0;try{let h=await (0,r.runSocket)("wss://gateway.discord.gg/?v=10&encoding=json",{message(t,r,s){let{op:a,d:h,s:u,t:p}=t;if(null!==u&&(o=u),10===a){let t=h.heartbeat_interval;l=setInterval(()=>{if(!c)return s(4e3,"Discord stopped answering");c=!1,r({op:1,d:o})},t),r({op:2,d:{token:e,intents:4096,properties:{os:process.platform,browser:"thursday",device:"thursday"}}})}else if(1===a)r({op:1,d:o});else if(11===a)c=!0;else if(7===a||9===a)s(4e3,"Discord asked for a new connection");else if(0===a&&"READY"===p){let e;n.ready(h.user.username,(e=h.application?.id)?`https://discord.com/oauth2/authorize?client_id=${e}&scope=bot&permissions=0`:null,h.user.id)}else if(0===a&&p){var d,g;let e=(d=p,g=h,"MESSAGE_CREATE"===d?g.guild_id||g.author.bot?null:{kind:"message",chat:g.channel_id,name:g.author.global_name||g.author.username,handle:`@${g.author.username}`,words:g.content.trim(),files:(g.attachments??[]).map(e=>({name:e.filename,size:e.size,fetch:async()=>{let t=await fetch(e.url);if(!t.ok)throw Error(`Discord answered ${t.status} for the file`);return new File([await t.arrayBuffer()],e.filename,{type:e.content_type??""})}})),unreadable:!1}:"INTERACTION_CREATE"===d?3!==g.type||g.guild_id?null:(i("POST",`/interactions/${g.id}/${g.token}/callback`,{type:6}).catch(()=>{}),{kind:"press",chat:g.channel_id,data:g.data?.custom_id??"",under:g.message?{id:g.message.id,text:g.message.content}:null}):null);e&&n.incoming(e)}}},s),u=a[h.code];if(u)throw new t.ChannelRefusal(u);if(!s.aborted)throw Error(h.reason||`Discord closed the connection (${h.code})`)}finally{clearInterval(l)}},async say(e,t,r){let s=(0,n.chatPieces)(t,"discord",1900);for(let[t,n]of s.entries())await i("POST",`/channels/${e}/messages`,{content:n,flags:4,allowed_mentions:{parse:[]},...r?.length&&t===s.length-1?{components:l(r)}:{}})},async typing(e){await i("POST",`/channels/${e}/typing`).catch(()=>{})},async settle(e,t,r){let s=`
66
66
 
67
67
  → ${(0,n.chatPieces)({plain:r},"discord",1900)[0]}`;await i("PATCH",`/channels/${e}/messages/${t.id}`,{content:`${t.text.slice(0,1900-s.length)}${s}`,components:[]}).catch(()=>{})},async sendFiles(e,t){for(let n=0;n<t.length;n+=10){let r=t.slice(n,n+10),s=new FormData;for(let[e,t]of(s.set("payload_json",JSON.stringify({attachments:r.map((e,t)=>({id:t,filename:e.name}))})),r.entries()))s.set(`files[${e}]`,new Blob([t.bytes]),t.name);await i("POST",`/channels/${e}/messages`,s)}}}}])},61900,e=>{"use strict";e.i(912714),e.i(660526);var t=e.i(750227),n=e.i(687388);e.i(629668),e.i(786025),e.i(640911);var r=e.i(41444);(0,t.join)(n.APP_DIR,n.PATHS.skills.default,"artifact","runtime","render.mjs"),(0,r.PromiseChain)(),e.s([])},480604,e=>{"use strict";var t=e.i(864064),n=e.i(686907),r=e.i(407723);let s="https://slack.com/api",a=new Set(["invalid_auth","not_authed","account_inactive","token_revoked","not_allowed_token_type","missing_scope"]);e.s(["createSlack",0,function(e,i){async function l(n,r,o=i){for(let i=0;;i++){let l=await fetch(`${s}/${n}`,{method:"POST",headers:{authorization:`Bearer ${o}`,"content-type":"application/json; charset=utf-8"},body:JSON.stringify(r)}).catch(e=>{throw Error(`Could not reach ${new URL(s).host}`,{cause:e})}),c=l.headers.get("retry-after");if(429===l.status&&await (0,t.waitOut)(null===c?null:Number(c),i))continue;let h=await l.json().catch(()=>null);if(h?.ok)return h;let u=h?.error??`http_${l.status}`;if(!a.has(u))throw Error(`Slack answered ${u} to ${n}`);let p=o===e,d=h?.needed??"a scope";throw new t.ChannelRefusal("missing_scope"===u?p?`Slack says this app-level token lacks ${d} — generate one with it under Basic Information › App-Level Tokens and paste it here.`:`Slack says the app lacks a permission (${d}) — make it from the manifest in the guide.`:p?`Slack turned the app-level token away (${u}). Generate a new one under Basic Information › App-Level Tokens and paste it here.`:`Slack turned the bot token away (${u}). Copy the Bot User OAuth Token again from Install App and paste it here.`,+!p)}}let o=new Map;async function c(e){let t=o.get(e);if(t)return t;let n=await l("users.info",{user:e}).then(t=>({name:t.user?.real_name||t.user?.name||e,handle:t.user?.name?`@${t.user.name}`:null})).catch(()=>({name:e,handle:null}));return o.set(e,n),n}async function h(e,t){if("events_api"===e){let e=t.event??{},n=!e.subtype||"file_share"===e.subtype;if("message"!==e.type||"im"!==e.channel_type||!n||e.bot_id||!e.user||!e.channel)return null;let r=await c(e.user);return{kind:"message",chat:e.channel,name:r.name,handle:r.handle,words:(e.text??"").trim(),files:(e.files??[]).flatMap(e=>{let t=e.url_private_download;if(!t)return[];let n=e.name??"file";return[{name:n,size:e.size,fetch:async()=>{let r=await fetch(t,{headers:{authorization:`Bearer ${i}`}});if(!r.ok)throw Error(`Slack answered ${r.status} for the file`);return new File([await r.arrayBuffer()],n,{type:e.mimetype??""})}}]}),unreadable:!1}}return"interactive"===e&&"block_actions"===t.type?t.channel?.id?{kind:"press",chat:t.channel.id,data:t.actions?.[0]?.value??"",under:t.message?.ts&&t.message.text?{id:t.message.ts,text:t.message.text}:null}:null:null}return{limits:{take:1/0,file:0x40000000,picture:0x40000000},async listen(t,n){let s=await l("auth.test",{}),{url:a}=await l("apps.connections.open",{},e);t.ready(s.user?`@${s.user}`:"the app",null,s.bot_id??s.user_id??"");let i=await (0,r.runSocket)(a,{message(e,n){let{type:r,envelope_id:s,payload:a}=e;s&&n({envelope_id:s}),r&&a&&h(r,a).then(e=>{e&&t.incoming(e)})}},n);if(!n.aborted)throw Error(`Slack closed the connection (${i.code})`)},async say(e,t,r){let s=(0,n.chatPieces)(t,"slack",2900);for(let[t,n]of s.entries()){let a=r?.length&&t===s.length-1;await l("chat.postMessage",{channel:e,text:n,unfurl_links:!1,unfurl_media:!1,...a?{blocks:[{type:"section",text:{type:"mrkdwn",text:n}},{type:"actions",elements:r.slice(0,25).map((e,t)=>({type:"button",action_id:`choice_${t}`,text:{type:"plain_text",text:e.text.slice(0,75)},value:e.data}))}]}:{}})}},async typing(){},async settle(e,t,r){let s=`
68
68
 
69
69
  → ${(0,n.chatPieces)({plain:r},"slack",2900)[0]}`;await l("chat.update",{channel:e,ts:t.id,text:`${t.text.slice(0,2900-s.length)}${s}`,blocks:[]}).catch(()=>{})},async sendFiles(e,t){let n=[];for(let{bytes:e,name:r}of t){let t=new URLSearchParams({filename:r,length:String(e.byteLength)}),a=await fetch(`${s}/files.getUploadURLExternal`,{method:"POST",headers:{authorization:`Bearer ${i}`},body:t}),l=await a.json();if(!l.ok||!l.upload_url||!l.file_id)throw Error(`Slack answered ${l.error??a.status} to the upload`);let o=await fetch(l.upload_url,{method:"POST",body:new Blob([e])});if(!o.ok)throw Error(`Slack answered ${o.status} to the upload`);n.push({id:l.file_id,title:r})}n.length&&await l("files.completeUploadExternal",{files:n,channel_id:e})}}}])},377858,e=>{"use strict";var t=e.i(687388),n=e.i(864064),r=e.i(686907);let s="https://api.telegram.org",a={take:0x1400000,file:0x3200000,picture:0xa00000};class i extends Error{status;constructor(e,t){super(e),this.status=t}}e.s(["createTelegram",0,function(e){async function l(t,r,a){let l=r instanceof FormData;for(let o=0;;o++){let c=await fetch(`${s}/bot${e}/${t}`,{method:"POST",signal:a,...l?{body:r}:{headers:{"content-type":"application/json"},body:JSON.stringify(r??{})}}).catch(e=>{throw Error(`Could not reach ${new URL(s).host}`,{cause:e})}),h=await c.json().catch(()=>null);if(h?.ok)return h.result;if(429===c.status&&await (0,n.waitOut)(h?.parameters?.retry_after,o))continue;let u=h?.description??`Telegram answered ${c.status}`;if(401===c.status)throw new n.ChannelRefusal(`Telegram said “${u}”: this token was revoked or mistyped. Get it again from @BotFather and paste it here.`);throw new i(u,c.status)}}async function o(t,n,r){let{file_path:a}=await l("getFile",{file_id:t});if(!a)throw Error("Telegram did not say where the file is");let i=await fetch(`${s}/file/bot${e}/${a}`);if(!i.ok)throw Error(`Telegram answered ${i.status} for the file`);let o=a.includes(".")?a.slice(a.lastIndexOf(".")):"";return new File([await i.arrayBuffer()],n.includes(".")?n:`${n}${o}`,r?{type:r}:void 0)}let c=0;async function h(e,t){let n=new FormData;if(n.set("chat_id",e),1===t.length){n.set("photo",new Blob([t[0].bytes]),t[0].name),await l("sendPhoto",n);return}for(let[e,r]of(n.set("media",JSON.stringify(t.map((e,t)=>({type:"photo",media:`attach://p${t}`})))),t.entries()))n.set(`p${e}`,new Blob([r.bytes]),r.name);await l("sendMediaGroup",n)}return{limits:a,async listen(e,n){let r=await l("getMe",void 0,n);for(e.ready(r.username?`@${r.username}`:r.first_name??"the bot",r.username?`https://t.me/${r.username}`:null,String(r.id));!n.aborted;)for(let r of(await l("getUpdates",{offset:c,timeout:t.REACH.pollSeconds,allowed_updates:["message","callback_query"]},AbortSignal.any([n,AbortSignal.timeout((t.REACH.pollSeconds+15)*1e3)])))){c=r.update_id+1;let t=function(e){let t,n=e.callback_query;if(n)return l("answerCallbackQuery",{callback_query_id:n.id}).catch(()=>{}),{kind:"press",chat:String(n.from.id),data:n.data??"",under:n.message?.text?{id:String(n.message.message_id),text:n.message.text,keep:n.message.entities}:null};let r=e.message;if(!r?.from||"private"!==r.chat.type)return null;let s=r.photo?.at(-1),a=r.document?{id:r.document.file_id,name:r.document.file_name??"file",type:r.document.mime_type,size:r.document.file_size}:s?{id:s.file_id,name:`photo-${r.message_id}`,type:"",size:s.file_size}:null;return{kind:"message",chat:String(r.chat.id),name:(t=r.from,[t?.first_name,t?.last_name].filter(Boolean).join(" ")||(t?.username?`@${t.username}`:"Someone")),handle:r.from.username?`@${r.from.username}`:null,words:(r.text??r.caption??"").trim(),files:a?[{name:a.name,size:a.size,fetch:()=>o(a.id,a.name,a.type)}]:[],unreadable:!!(r.voice||r.audio||r.video)}}(r);t&&e.incoming(t)}},async say(e,t,n){let s=(0,r.chatPieces)(t,"telegram",4e3);for(let[t,r]of s.entries())await l("sendMessage",{chat_id:e,text:r,parse_mode:"HTML",link_preview_options:{is_disabled:!0},...n?.length&&t===s.length-1?{reply_markup:{inline_keyboard:n.map(e=>[{text:e.text,callback_data:e.data}])}}:{}})},async typing(e){await l("sendChatAction",{chat_id:e,action:"typing"}).catch(()=>{})},async settle(e,t,n){await l("editMessageText",{chat_id:e,message_id:Number(t.id),text:`${t.text}
70
70
 
71
- → ${n}`,entities:t.keep,link_preview_options:{is_disabled:!0}}).catch(()=>{})},async sendFiles(e,t){let n=t.filter(e=>e.picture),r=t.filter(e=>!e.picture);for(let t=0;t<n.length;t+=10){let s=n.slice(t,t+10);await h(e,s).catch(e=>{if(!(e instanceof i&&400===e.status))throw e;r.unshift(...s)})}for(let t of r){let n=new FormData;n.set("chat_id",e),n.set("document",new Blob([t.bytes]),t.name),await l("sendDocument",n)}}}}])},201356,e=>e.a(async(t,n)=>{try{e.i(666680),e.i(912714),e.i(380690),e.i(687388);var r=e.i(386075);e.i(54282);var s=e.i(39803),a=e.i(742712),i=e.i(378884),l=e.i(340698);e.i(15538);var o=e.i(22676),c=e.i(97334);e.i(629668),e.i(786025);var h=e.i(440998);e.i(704161),e.i(640911),e.i(864064),e.i(686907),e.i(440219),e.i(61900);var u=e.i(834332);e.i(480604),e.i(377858);var p=t([r,s,a,i,l,o,c,h]);[r,s,a,i,l,o,c,h]=p.then?(await p)():p;let k=globalThis,m=k.__reach??={live:new Map,last:null,told:new Map,choices:new Map,listening:null,gone:null,looking:null,idle:null};async function d(e){return await m.live.get(e)?.settled,g(e)}async function g(e){let t=await (0,l.readConfig)((0,u.reachPersonKey)(e));if(!t)return null;try{let e=JSON.parse(t);return"string"==typeof e.chat&&"string"==typeof e.name?{chat:e.chat,name:e.name,bot:"string"==typeof e.bot?e.bot:null}:null}catch{return null}}async function f(){return{channels:await Promise.all([...m.live.values()].map(async e=>({name:e.name,bot:e.bot,link:e.link,allowed:await d(e.name).then(e=>e&&{chat:e.chat,name:e.name}),asking:e.asking,refused:e.refused,problem:e.problem})))}}Date.now(),process.uptime(),e.s(["readReachStatus",0,f]),n()}catch(e){n(e)}},!1),15538,e=>{"use strict";e.i(687388),e.i(944971),e.i(704161),e.s([])}];
71
+ → ${n}`,entities:t.keep,link_preview_options:{is_disabled:!0}}).catch(()=>{})},async sendFiles(e,t){let n=t.filter(e=>e.picture),r=t.filter(e=>!e.picture);for(let t=0;t<n.length;t+=10){let s=n.slice(t,t+10);await h(e,s).catch(e=>{if(!(e instanceof i&&400===e.status))throw e;r.unshift(...s)})}for(let t of r){let n=new FormData;n.set("chat_id",e),n.set("document",new Blob([t.bytes]),t.name),await l("sendDocument",n)}}}}])},201356,e=>e.a(async(t,n)=>{try{e.i(666680),e.i(912714),e.i(380690),e.i(687388);var r=e.i(386075);e.i(54282);var s=e.i(39803),a=e.i(742712),i=e.i(378884),l=e.i(340698);e.i(15538);var o=e.i(22676),c=e.i(97334);e.i(629668),e.i(786025);var h=e.i(440998);e.i(704161),e.i(640911),e.i(864064),e.i(686907),e.i(440219),e.i(61900);var u=e.i(834332);e.i(480604),e.i(377858);var p=t([r,s,a,i,l,o,c,h]);[r,s,a,i,l,o,c,h]=p.then?(await p)():p;let k=globalThis,m=k.__reach??={live:new Map,last:null,told:new Map,choices:new Map,listening:null,gone:null,looking:null,idle:null};async function d(e){return await m.live.get(e)?.settled,g(e)}async function g(e){let t=await (0,l.readConfig)((0,u.reachPersonKey)(e));if(!t)return null;try{let e=JSON.parse(t);return"string"==typeof e.chat&&"string"==typeof e.name?{chat:e.chat,name:e.name,bot:"string"==typeof e.bot?e.bot:null}:null}catch{return null}}async function f(){return{channels:await Promise.all([...m.live.values()].map(async e=>({name:e.name,bot:e.bot,link:e.link,allowed:await d(e.name).then(e=>e&&{chat:e.chat,name:e.name}),asking:e.asking,refused:e.refused,problem:e.problem})))}}Date.now(),process.uptime(),e.s(["readReachStatus",0,f]),n()}catch(e){n(e)}},!1),15538,e=>{"use strict";e.i(687388),e.i(944971),e.i(704161),e.i(41444),e.s([])}];
72
72
 
73
73
  //# sourceMappingURL=_05gl-xy._.js.map
@@ -0,0 +1,8 @@
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)))},242792,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0hkxwim._.js","server/chunks/features_bot_1dfrdsb._.js","server/chunks/_1frcwj1._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js","server/chunks/_1skgy7b._.js","server/chunks/_1y8w80a._.js","server/chunks/_08btiir._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(799791)))},327784,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0mrk2it._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_1skgy7b._.js","server/chunks/_08btiir._.js","server/chunks/features_bot_1dfrdsb._.js","server/chunks/_108gsm8._.js","server/chunks/_07nxi75._.js","server/chunks/_136j09a._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__0bqveex._.js","server/chunks/_0s8ao8z._.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/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__0nmust6._.js","server/chunks/_0hin38_._.js","server/chunks/_1y8w80a._.js","server/chunks/_15negpy._.js","server/chunks/_0ucx1jv._.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_bot_1dfrdsb._.js","server/chunks/_108gsm8._.js","server/chunks/_08btiir._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_0s8ao8z._.js","server/chunks/_136j09a._.js","server/chunks/_0xygcxs._.js","server/chunks/_19kea1l._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_1skgy7b._.js","server/chunks/_0hgvg55._.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_bot_1dfrdsb._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_1frcwj1._.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/_108gsm8._.js","server/chunks/_08btiir._.js","server/chunks/[root-of-the-server]__0bqveex._.js","server/chunks/_1skgy7b._.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/_0s8ao8z._.js","server/chunks/_15negpy._.js","server/chunks/_1y8w80a._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__1_h4hf9._.js","server/chunks/_0hin38_._.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:h,NewerDatabase:c}=await e.A(266965);await h().catch(e=>{e instanceof c&&(console.error(` ${e.message}
2
+ Nothing was changed. Start the newer one (npx thursday-agent@latest), or update this one, and it opens as it was.
3
+ `),process.exit(66)),n.error(`Cannot migrate ${t}`),console.error(` ${e instanceof Error?e.message:e}
4
+ Starting over gives an empty one. API keys, bots, connectors, calls, threads and memory go with it; the workspace and skills stay.
5
+ 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.
6
+ `),process.exit(65)});let{ensureRootNotes:i}=await e.A(566024);await i();let{refreshSeedWords:v}=await e.A(242792);await v().then(e=>{e&&n.info(`${e} ready-made bot(s) took their seed's new words`)}).catch(e=>n.error("refresh seed words",e));let{installGuide:l}=await e.A(171772);await l().catch(e=>n.error("install guide",e));let{sweepJobFiles:u,sweepThreads:k}=await e.A(327784);await k();let{closeEndedQuestions:j}=await e.A(193435);await j().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 m=()=>void u().catch(e=>n.error("sweep job files",e));m(),setInterval(m,a.sweepEveryMs).unref();let{deleteEndedCalls:w,sweepCalls:p}=await e.A(917723);await p();let{removeFinishedThreads:f}=await e.A(327784),d=()=>void(async()=>{let e=new Date(Date.now()-o.forMs),s=await w(e),r=await f(e);(s||r)&&n.info(`cleared ${s} old call(s) and ${r} old job(s)`)})().catch(e=>n.error("sweep history",e));d(),setInterval(d,o.sweepEveryMs).unref();let{presence:g}=await e.A(102473),{pauseThreads:b}=await e.A(327784),{heldCalls:y}=await e.A(975158);g.onGone(()=>{p(y()).catch(e=>n.error("browser gone",e))});let{startRoutineClock:A}=await e.A(569286);A();let{adoptKeptSessions:P}=await e.A(741548);await P().catch(e=>n.error("adopt kept sessions",e));let{startReach:x}=await e.A(975158);if(x().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],["SIGHUP",129]])process.on(e,()=>{r||(r=!0,n.info(`${e} — parking what was running`),Promise.race([b("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:$}=await e.A(51833);$().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)))}];
7
+
8
+ //# sourceMappingURL=_06hnfi8._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[139886,e=>{"use strict";let i=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["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"}])},333925,e=>{"use strict";let i=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),s=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${t}/local.db`,r=`file:${a}`,o=".ai-workspace",n={workspace:o,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${o}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},m="artifact";e.s(["APP_DIR",0,i,"APP_NAME",0,"Thursday","APP_URL",0,s,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"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},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"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}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,r,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3},"LOOK",0,{maxBytes:4194304},"MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,n,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:m,"picture-book":m,"interactive-page":m},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},375814,e=>{"use strict";var i=e.i(139886),t=e.i(333925);let s=e=>`text/${e}; charset=utf-8`,a={md:{kind:"markdown",mime:s("markdown")},markdown:{kind:"markdown",mime:s("markdown")},csv:{kind:"csv",mime:s("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:s("plain")},log:{kind:"text",mime:s("plain")},html:{kind:"frame",mime:s("html")},htm:{kind:"frame",mime:s("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:s("css")},js:{kind:"none",mime:s("javascript")},woff2:{kind:"none",mime:"font/woff2"}},r=e=>e.split(".").pop()?.toLowerCase()??"",o=new Set(["css","js","woff2"]),n=Object.keys(a).filter(e=>!o.has(e)),m=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${n.join("|")})\b`,"giu"),l=`${t.PATHS.workspace}/`,p=i.queryKey.file(""),c=e=>e.startsWith(`${t.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(r(e));e.s(["extensionOf",0,r,"leadFirst",0,function(e){let i=e.findIndex(c);return i>0?[e[i],...e.filter((e,t)=>t!==i)]:e},"mimeOf",0,e=>a[r(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,s="";for(let[e]of i.matchAll(m)){let i=!e.includes("/"),a=function(e){let i,t,s=(t=(i=function(e){if(!e.startsWith(p))return e;let i=e.slice(p.length);try{return decodeURIComponent(i)}catch{return i}}(e.trim())).indexOf(l))>=0?i.slice(t+l.length)||null:i.startsWith("/")||/^[A-Za-z]:/.test(i)||i.split("/").includes("..")?null:i||null;if(!s)return null;let[a,...r]=s.split("/");return r.length&&a.includes(".")?null:s}(i?s+e:e);i||(s=a?.slice(0,a.lastIndexOf("/")+1)??""),a&&t.add(a)}return[...t].slice(0,12)},"viewKindOf",0,e=>a[r(e)]?.kind??"none"])}];
1
+ module.exports=[139886,e=>{"use strict";let i=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["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",callEnd:"/api/thursday/call/end",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",automaticModel:"/api/llm-model/automatic",modelCatalog:"/api/llm-model/catalog",gatewayCredits:"/api/llm-model/credits",subscriptionUsage:"/api/llm-model/subscription"}])},333925,e=>{"use strict";let i=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),s=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${t}/local.db`,r=`file:${a}`,o=".ai-workspace",n={workspace:o,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${o}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},l="artifact";e.s(["APP_DIR",0,i,"APP_NAME",0,"Thursday","APP_URL",0,s,"ARTIFACT_SKILL",0,l,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"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},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"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}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,r,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3},"LOOK",0,{maxBytes:4194304},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,n,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:l,"picture-book":l,"interactive-page":l},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},375814,e=>{"use strict";var i=e.i(139886),t=e.i(333925);let s=e=>`text/${e}; charset=utf-8`,a={md:{kind:"markdown",mime:s("markdown")},markdown:{kind:"markdown",mime:s("markdown")},csv:{kind:"csv",mime:s("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:s("plain")},log:{kind:"text",mime:s("plain")},html:{kind:"frame",mime:s("html")},htm:{kind:"frame",mime:s("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:s("css")},js:{kind:"none",mime:s("javascript")},woff2:{kind:"none",mime:"font/woff2"}},r=e=>e.split(".").pop()?.toLowerCase()??"",o=new Set(["css","js","woff2"]),n=Object.keys(a).filter(e=>!o.has(e)),l=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${n.join("|")})\b`,"giu"),m=`${t.PATHS.workspace}/`,p=i.queryKey.file(""),c=e=>e.startsWith(`${t.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(r(e));e.s(["extensionOf",0,r,"leadFirst",0,function(e){let i=e.findIndex(c);return i>0?[e[i],...e.filter((e,t)=>t!==i)]:e},"mimeOf",0,e=>a[r(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,s="";for(let[e]of i.matchAll(l)){let i=!e.includes("/"),a=function(e){let i,t,s=(t=(i=function(e){if(!e.startsWith(p))return e;let i=e.slice(p.length);try{return decodeURIComponent(i)}catch{return i}}(e.trim())).indexOf(m))>=0?i.slice(t+m.length)||null:i.startsWith("/")||/^[A-Za-z]:/.test(i)||i.split("/").includes("..")?null:i||null;if(!s)return null;let[a,...r]=s.split("/");return r.length&&a.includes(".")?null:s}(i?s+e:e);i||(s=a?.slice(0,a.lastIndexOf("/")+1)??""),a&&t.add(a)}return[...t].slice(0,12)},"viewKindOf",0,e=>a[r(e)]?.kind??"none"])}];
2
2
 
3
3
  //# sourceMappingURL=_06u9yo-._.js.map