thursday-agent 0.17.2 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +4 -2
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +28 -12
  6. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/server/app/_global-error.html +1 -1
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  13. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/_not-found.html +1 -1
  15. package/.next/server/app/_not-found.rsc +12 -12
  16. package/.next/server/app/_not-found.segments/_full.segment.rsc +12 -12
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +11 -11
  18. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  19. package/.next/server/app/api/artifact/route.js +7 -7
  20. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/memory/files/route.js +4 -4
  22. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  23. package/.next/server/app/api/bot/memory/route.js +4 -4
  24. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bot/route.js +4 -4
  26. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  27. package/.next/server/app/api/bot/thread/[id]/route.js +1 -1
  28. package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
  29. package/.next/server/app/api/bot/thread/file/route/app-paths-manifest.json +3 -0
  30. package/.next/server/app/api/bot/thread/file/route.js +29 -0
  31. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -0
  32. package/.next/server/app/api/bot/thread/file/route_client-reference-manifest.js +3 -0
  33. package/.next/server/app/api/bot/thread/route.js +1 -1
  34. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  35. package/.next/server/app/api/config/route.js +1 -1
  36. package/.next/server/app/api/config/route.js.nft.json +1 -1
  37. package/.next/server/app/api/events/route.js +2 -2
  38. package/.next/server/app/api/events/route.js.nft.json +1 -1
  39. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/file/[...path]/route.js +4 -4
  41. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  42. package/.next/server/app/api/llm-model/automatic/route.js +3 -3
  43. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/catalog/[provider]/route/app-paths-manifest.json +3 -0
  45. package/.next/server/app/api/llm-model/catalog/{route.js → [provider]/route.js} +8 -8
  46. package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -0
  47. package/.next/server/app/api/llm-model/catalog/[provider]/route_client-reference-manifest.js +3 -0
  48. package/.next/server/app/api/llm-model/credits/[provider]/route/app-paths-manifest.json +3 -0
  49. package/.next/server/app/api/llm-model/credits/[provider]/route/build-manifest.json +12 -0
  50. package/.next/server/app/api/llm-model/credits/[provider]/route/server-reference-manifest.json +4 -0
  51. package/.next/server/app/api/llm-model/credits/{route.js → [provider]/route.js} +8 -8
  52. package/.next/server/app/api/llm-model/credits/[provider]/route.js.map +5 -0
  53. package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -0
  54. package/.next/server/app/api/llm-model/credits/[provider]/route_client-reference-manifest.js +3 -0
  55. package/.next/server/app/api/llm-model/route.js +1 -1
  56. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  57. package/.next/server/app/api/llm-model/subscription/route.js +1 -1
  58. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  59. package/.next/server/app/api/mcp/[name]/route.js +1 -1
  60. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  61. package/.next/server/app/api/mcp/oauth/callback/route.js +2 -2
  62. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  63. package/.next/server/app/api/mcp/route.js +1 -1
  64. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  65. package/.next/server/app/api/mcp/tools/route.js +1 -1
  66. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  67. package/.next/server/app/api/memory/edit/route.js +12 -12
  68. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  69. package/.next/server/app/api/memory/route.js +1 -1
  70. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  71. package/.next/server/app/api/reach/route.js +17 -17
  72. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  73. package/.next/server/app/api/routine/route.js +6 -6
  74. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  75. package/.next/server/app/api/running/route/app-paths-manifest.json +3 -0
  76. package/.next/server/app/api/running/route/build-manifest.json +12 -0
  77. package/.next/server/app/api/running/route/server-reference-manifest.json +4 -0
  78. package/.next/server/app/api/running/route.js +10 -0
  79. package/.next/server/app/api/running/route.js.map +5 -0
  80. package/.next/server/app/api/running/route.js.nft.json +1 -0
  81. package/.next/server/app/api/running/route_client-reference-manifest.js +3 -0
  82. package/.next/server/app/api/signins/route.js +4 -4
  83. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  84. package/.next/server/app/api/skills/[source]/[name]/route.js +7 -7
  85. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  86. package/.next/server/app/api/skills/route.js +6 -6
  87. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  88. package/.next/server/app/api/thursday/call/end/route.js +1 -1
  89. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  90. package/.next/server/app/api/thursday/call/route.js +1 -1
  91. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  92. package/.next/server/app/api/thursday/settings/route.js +1 -1
  93. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  94. package/.next/server/app/api/thursday/text/route.js +12 -12
  95. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  96. package/.next/server/app/api/thursday/tool-call/route.js +13 -13
  97. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  98. package/.next/server/app/api/workspace/files/route.js +7 -7
  99. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  100. package/.next/server/app/api/workspace/route.js +6 -6
  101. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  102. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +94 -6
  103. package/.next/server/app/artifact/[...path]/page.js +9 -5
  104. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  105. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  106. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  107. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  108. package/.next/server/app/page/server-reference-manifest.json +161 -128
  109. package/.next/server/app/page.js +10 -9
  110. package/.next/server/app/page.js.nft.json +1 -1
  111. package/.next/server/app/page_client-reference-manifest.js +1 -1
  112. package/.next/server/app-paths-manifest.json +4 -2
  113. package/.next/server/chunks/[root-of-the-server]__00qyw01._.js +1 -1
  114. package/.next/server/chunks/[root-of-the-server]__02ra64t._.js +5 -0
  115. package/.next/server/chunks/{[root-of-the-server]__05dp5tr._.js → [root-of-the-server]__06ky9of._.js} +2 -2
  116. package/.next/server/chunks/[root-of-the-server]__0b565-x._.js +7 -0
  117. package/.next/server/chunks/[root-of-the-server]__0bmtib_._.js +7 -0
  118. package/.next/server/chunks/[root-of-the-server]__0bqveex._.js +1 -1
  119. package/.next/server/chunks/[root-of-the-server]__0brmiv2._.js +7 -0
  120. package/.next/server/chunks/[root-of-the-server]__0eivkvk._.js +2 -2
  121. package/.next/server/chunks/[root-of-the-server]__0f7m79q._.js +1 -1
  122. package/.next/server/chunks/[root-of-the-server]__0g38-aj._.js +2 -2
  123. package/.next/server/chunks/[root-of-the-server]__0gvdr2h._.js +5 -0
  124. package/.next/server/chunks/[root-of-the-server]__0h656y-._.js +2 -2
  125. package/.next/server/chunks/[root-of-the-server]__0hm3tiq._.js +2 -2
  126. package/.next/server/chunks/[root-of-the-server]__0hzdqnv._.js +2 -2
  127. package/.next/server/chunks/[root-of-the-server]__0kzmxpg._.js +3 -0
  128. package/.next/server/chunks/[root-of-the-server]__0mgyt8p._.js +2 -2
  129. package/.next/server/chunks/[root-of-the-server]__0mrk2it._.js +1 -1
  130. package/.next/server/chunks/[root-of-the-server]__0o5s5-o._.js +5 -0
  131. package/.next/server/chunks/[root-of-the-server]__0p80i1n._.js +1 -1
  132. package/.next/server/chunks/[root-of-the-server]__0qdoc_9._.js +5 -0
  133. package/.next/server/chunks/[root-of-the-server]__0qzho69._.js +1 -1
  134. package/.next/server/chunks/[root-of-the-server]__0sm5xvm._.js +1 -1
  135. package/.next/server/chunks/[root-of-the-server]__0v_kuor._.js +5 -0
  136. package/.next/server/chunks/{[root-of-the-server]__061o2_x._.js → [root-of-the-server]__0ypkfbu._.js} +1 -1
  137. package/.next/server/chunks/[root-of-the-server]__1-18_pz._.js +1 -1
  138. package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
  139. package/.next/server/chunks/{[root-of-the-server]__01k3vi3._.js → [root-of-the-server]__14iga7p._.js} +1 -1
  140. package/.next/server/chunks/[root-of-the-server]__16gn7zn._.js +3 -0
  141. package/.next/server/chunks/[root-of-the-server]__18e65_-._.js +3 -0
  142. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  143. package/.next/server/chunks/[root-of-the-server]__1_cgawk._.js +5 -0
  144. package/.next/server/chunks/[root-of-the-server]__1ceammd._.js +1 -1
  145. package/.next/server/chunks/[root-of-the-server]__1ckt1yj._.js +1 -1
  146. package/.next/server/chunks/[root-of-the-server]__1cu5f3z._.js +1 -1
  147. package/.next/server/chunks/[root-of-the-server]__1dth047._.js +5 -0
  148. package/.next/server/chunks/{[root-of-the-server]__1k2qs1m._.js → [root-of-the-server]__1fc6v12._.js} +1 -1
  149. package/.next/server/chunks/[root-of-the-server]__1hviq62._.js +2 -2
  150. package/.next/server/chunks/[root-of-the-server]__1ksm9m-._.js +12 -0
  151. package/.next/server/chunks/[root-of-the-server]__1m1q6u5._.js +3 -0
  152. package/.next/server/chunks/[root-of-the-server]__1m_dmf6._.js +5 -0
  153. package/.next/server/chunks/[root-of-the-server]__1mys2c3._.js +5 -0
  154. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  155. package/.next/server/chunks/[root-of-the-server]__1p0njle._.js +5 -0
  156. package/.next/server/chunks/[root-of-the-server]__1p47fbb._.js +2 -2
  157. package/.next/server/chunks/[root-of-the-server]__1pugoq0._.js +1 -1
  158. package/.next/server/chunks/{[root-of-the-server]__0ts7ai0._.js → [root-of-the-server]__1trns9g._.js} +1 -1
  159. package/.next/server/chunks/[root-of-the-server]__1ygplx1._.js +1 -1
  160. package/.next/server/chunks/[root-of-the-server]__1zn039k._.js +1 -1
  161. package/.next/server/chunks/[root-of-the-server]__20w_g71._.js +3 -0
  162. package/.next/server/chunks/_01c32w9._.js +1 -1
  163. package/.next/server/chunks/_02bov6_._.js +1 -1
  164. package/.next/server/chunks/_06hnfi8._.js +2 -2
  165. package/.next/server/chunks/_06u9yo-._.js +1 -1
  166. package/.next/server/chunks/_08354bn._.js +12 -11
  167. package/.next/server/chunks/_08_-9ay._.js +7 -0
  168. package/.next/server/chunks/_08s4vft._.js +1 -1
  169. package/.next/server/chunks/_0bgjf07._.js +5 -0
  170. package/.next/server/chunks/_0c49lmw._.js +1 -1
  171. package/.next/server/chunks/_0fb6dvr._.js +1 -1
  172. package/.next/server/chunks/_0hgvg55._.js +1 -1
  173. package/.next/server/chunks/_0iw19ig._.js +1 -1
  174. package/.next/server/chunks/_0poi1t2._.js +1 -1
  175. package/.next/server/chunks/_0s8ao8z._.js +1 -1
  176. package/.next/server/chunks/_0t_7gji._.js +1 -1
  177. package/.next/server/chunks/_0ucx1jv._.js +1 -1
  178. package/.next/server/chunks/_0uzj57i._.js +1 -1
  179. package/.next/server/chunks/_0wyh244._.js +112 -0
  180. package/.next/server/chunks/_1-sk_q4._.js +1 -1
  181. package/.next/server/chunks/_108gsm8._.js +2 -2
  182. package/.next/server/chunks/_136j09a._.js +5 -5
  183. package/.next/server/chunks/_15negpy._.js +2 -2
  184. package/.next/server/chunks/_1d7og_q._.js +1 -1
  185. package/.next/server/chunks/_1dxq827._.js +2 -2
  186. package/.next/server/chunks/_1e54wxa._.js +1 -1
  187. package/.next/server/chunks/_1frcwj1._.js +1 -1
  188. package/.next/server/chunks/_1gn2r2q._.js +8 -6
  189. package/.next/server/chunks/_1gxankq._.js +2 -2
  190. package/.next/server/chunks/_1i3uucm._.js +1 -1
  191. package/.next/server/chunks/_1jvy78-._.js +5 -0
  192. package/.next/server/chunks/_1lg0lsu._.js +53 -0
  193. package/.next/server/chunks/_1njolhx._.js +294 -0
  194. package/.next/server/chunks/_1q6e56i._.js +8 -6
  195. package/.next/server/chunks/_1qgix-j._.js +1 -1
  196. package/.next/server/chunks/_1wtb-77._.js +294 -0
  197. package/.next/server/chunks/_1wwl_7o._.js +1 -1
  198. package/.next/server/chunks/_1y8w80a._.js +5 -5
  199. package/.next/server/chunks/_1yx285_._.js +3 -0
  200. package/.next/server/chunks/_20qn224._.js +3 -0
  201. package/.next/server/chunks/_211dn2c._.js +1 -1
  202. package/.next/server/chunks/_next-internal_server_app_api_bot_thread_file_route_actions_0q3be0o.js +3 -0
  203. package/.next/server/chunks/_next-internal_server_app_api_llm-model_catalog_[provider]_route_actions_1i0449q.js +3 -0
  204. package/.next/server/chunks/_next-internal_server_app_api_llm-model_credits_[provider]_route_actions_0iui9hz.js +3 -0
  205. package/.next/server/chunks/_next-internal_server_app_api_running_route_actions_0o1g-aw.js +3 -0
  206. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  207. package/.next/server/chunks/features_bot_08z387_._.js +3 -3
  208. package/.next/server/chunks/features_bot_0zy_q8y._.js +7 -7
  209. package/.next/server/chunks/features_bot_1dfrdsb._.js +7 -7
  210. package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +3 -3
  211. package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +3 -3
  212. package/.next/server/chunks/{node_modules_1rosz79._.js → node_modules_035o7ku._.js} +1 -1
  213. package/.next/server/chunks/{node_modules_1er1u8w._.js → node_modules_0tn5t13._.js} +1 -1
  214. package/.next/server/chunks/{node_modules_103lpef._.js → node_modules_12oq3hr._.js} +1 -1
  215. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0g87zst._.js → node_modules_consola_dist_chunks_prompt_mjs_0yd5xa0._.js} +1 -1
  216. package/.next/server/chunks/ssr/[root-of-the-server]__04upd5v._.js +1 -1
  217. package/.next/server/chunks/ssr/[root-of-the-server]__0p0mv2u._.js +3 -0
  218. package/.next/server/chunks/ssr/[root-of-the-server]__0sk5enu._.js +3 -0
  219. package/.next/server/chunks/ssr/[root-of-the-server]__0xyaud4._.js +3 -0
  220. package/.next/server/chunks/ssr/[root-of-the-server]__1-gi9sm._.js +3 -0
  221. package/.next/server/chunks/ssr/[root-of-the-server]__16nn3pe._.js +3 -0
  222. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  223. package/.next/server/chunks/ssr/[root-of-the-server]__1c8-7cw._.js +3 -0
  224. package/.next/server/chunks/ssr/{[root-of-the-server]__1d7usu0._.js → [root-of-the-server]__1qn0axo._.js} +2 -2
  225. package/.next/server/chunks/ssr/[root-of-the-server]__1tb5vve._.js +47 -0
  226. package/.next/server/chunks/ssr/_02cm0fr._.js +5 -0
  227. package/.next/server/chunks/ssr/{features_bot_1knyan7._.js → _07nmtxo._.js} +2 -2
  228. package/.next/server/chunks/ssr/_088vzgn._.js +1 -1
  229. package/.next/server/chunks/ssr/{_1dfv66y._.js → _0bg1u1j._.js} +2 -2
  230. package/.next/server/chunks/ssr/_0cv9tmv._.js +1 -1
  231. package/.next/server/chunks/ssr/{_10-_awu._.js → _0f9hx5p._.js} +2 -2
  232. package/.next/server/chunks/ssr/_0g9ula_._.js +3 -0
  233. package/.next/server/chunks/ssr/{_1aqjk-1._.js → _0irozu9._.js} +2 -2
  234. package/.next/server/chunks/ssr/{_123y-ah._.js → _0is8m6y._.js} +2 -2
  235. package/.next/server/chunks/ssr/_0iwsdp7._.js +3 -0
  236. package/.next/server/chunks/ssr/_0l7rjg5._.js +1 -1
  237. package/.next/server/chunks/ssr/{lib_logger_ts_0-olsze._.js → _0mfgsk-._.js} +4 -2
  238. package/.next/server/chunks/ssr/{_0fo4552._.js → _0nk80t6._.js} +53 -13
  239. package/.next/server/chunks/ssr/_0p6w0ef._.js +3 -0
  240. package/.next/server/chunks/ssr/_0pbav_w._.js +3 -0
  241. package/.next/server/chunks/ssr/{_0vo_oym._.js → _0q-mdwv._.js} +8 -8
  242. package/.next/server/chunks/ssr/_0s5_ahb._.js +3 -0
  243. package/.next/server/chunks/ssr/{_0e2fnvg._.js → _0t5f2c3._.js} +2 -2
  244. package/.next/server/chunks/ssr/_0v9r8g2._.js +1 -1
  245. package/.next/server/chunks/ssr/_0x8ophf._.js +1 -1
  246. package/.next/server/chunks/ssr/_0x9f717._.js +60 -0
  247. package/.next/server/chunks/ssr/_107vtdk._.js +162 -0
  248. package/.next/server/chunks/ssr/{_17a4qyk._.js → _12lql1x._.js} +3 -3
  249. package/.next/server/chunks/ssr/{_163dr78._.js → _165wnr4._.js} +2 -2
  250. package/.next/server/chunks/ssr/_16_7zeo._.js +3 -0
  251. package/.next/server/chunks/ssr/_17komoi._.js +3 -0
  252. package/.next/server/chunks/ssr/_190hjys._.js +3 -0
  253. package/.next/server/chunks/ssr/_1bfrntd._.js +6 -0
  254. package/.next/server/chunks/ssr/{_01al00i._.js → _1booff4._.js} +2 -2
  255. package/.next/server/chunks/ssr/{_0xfafez._.js → _1ew1j7l._.js} +2 -2
  256. package/.next/server/chunks/ssr/_1i2swyr._.js +3 -0
  257. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  258. package/.next/server/chunks/ssr/_1qsa25k._.js +3 -0
  259. package/.next/server/chunks/ssr/_1soynbw._.js +6 -0
  260. package/.next/server/chunks/ssr/_1vc2xmu._.js +3 -0
  261. package/.next/server/chunks/ssr/{_14oirtb._.js → _1wq90j8._.js} +2 -2
  262. package/.next/server/chunks/ssr/_1xwtbdz._.js +3 -0
  263. package/.next/server/chunks/ssr/_1zrhkf0._.js +310 -0
  264. package/.next/server/chunks/ssr/_21awrs2._.js +5 -0
  265. package/.next/server/chunks/ssr/features_0796o8r._.js +1 -1
  266. package/.next/server/chunks/ssr/features_bot_0tb4ui-._.js +2 -2
  267. package/.next/server/chunks/ssr/features_bot_1c56lew._.js +37 -0
  268. package/.next/server/chunks/ssr/features_bot_1fn_grf._.js +3 -0
  269. package/.next/server/chunks/ssr/{features_config_09n-q9q._.js → features_config_05zi68v._.js} +3 -3
  270. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  271. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  272. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  273. package/.next/server/chunks/ssr/features_workspace_workspace_ts_1wc7_u_._.js +4 -4
  274. package/.next/server/chunks/ssr/{node_modules_1k5i-_9._.js → node_modules_0-sux1a._.js} +1 -1
  275. package/.next/server/chunks/ssr/{node_modules_0msrhxf._.js → node_modules_01oezhb._.js} +1 -1
  276. package/.next/server/chunks/ssr/{node_modules_1gq3ght._.js → node_modules_04m6ebg._.js} +1 -1
  277. package/.next/server/chunks/ssr/{node_modules_0nmkv-v._.js → node_modules_067jfov._.js} +1 -1
  278. package/.next/server/chunks/ssr/{node_modules_0gd9hbz._.js → node_modules_06ugby3._.js} +1 -1
  279. package/.next/server/chunks/ssr/{node_modules_0d6j33x._.js → node_modules_07p51j3._.js} +1 -1
  280. package/.next/server/chunks/ssr/{node_modules_10_fv2a._.js → node_modules_0995xyq._.js} +1 -1
  281. package/.next/server/chunks/ssr/{node_modules_1lmyts8._.js → node_modules_0_uecwx._.js} +1 -1
  282. package/.next/server/chunks/ssr/{node_modules_04x5wyv._.js → node_modules_0dsyc90._.js} +1 -1
  283. package/.next/server/chunks/ssr/{node_modules_0__0tvm._.js → node_modules_0hli6s2._.js} +1 -1
  284. package/.next/server/chunks/ssr/{node_modules_0k8-y89._.js → node_modules_0m-bde_._.js} +1 -1
  285. package/.next/server/chunks/ssr/{node_modules_1p_6sq7._.js → node_modules_0oqfdbr._.js} +1 -1
  286. package/.next/server/chunks/ssr/node_modules_0qd7p5f._.js +3 -0
  287. package/.next/server/chunks/ssr/{node_modules_13g-d25._.js → node_modules_0tgy5s5._.js} +1 -1
  288. package/.next/server/chunks/ssr/{node_modules_1_8-jcj._.js → node_modules_1-kjmls._.js} +1 -1
  289. package/.next/server/chunks/ssr/{node_modules_0m73b88._.js → node_modules_1-l3ka5._.js} +1 -1
  290. package/.next/server/chunks/ssr/{node_modules_113l3e5._.js → node_modules_1-w3ayh._.js} +1 -1
  291. package/.next/server/chunks/ssr/{node_modules_0q-klni._.js → node_modules_133exgm._.js} +1 -1
  292. package/.next/server/chunks/ssr/{node_modules_1xb-ndg._.js → node_modules_17xc5_k._.js} +1 -1
  293. package/.next/server/chunks/ssr/{node_modules_021lid9._.js → node_modules_1_i_w30._.js} +1 -1
  294. package/.next/server/chunks/ssr/{node_modules_1ri_eip._.js → node_modules_1a2cjfk._.js} +1 -1
  295. package/.next/server/chunks/ssr/{node_modules_13bqv6i._.js → node_modules_1k752fe._.js} +1 -1
  296. package/.next/server/chunks/ssr/{node_modules_1qstb1x._.js → node_modules_1lie7z8._.js} +1 -1
  297. package/.next/server/chunks/ssr/{node_modules_096up6a._.js → node_modules_1mv70-y._.js} +1 -1
  298. package/.next/server/chunks/ssr/{node_modules_156kv_t._.js → node_modules_1r611t2._.js} +1 -1
  299. package/.next/server/chunks/ssr/node_modules_1vfd8dz._.js +3 -0
  300. package/.next/server/chunks/ssr/{node_modules_0cjnmzp._.js → node_modules_1yaowd7._.js} +1 -1
  301. package/.next/server/chunks/ssr/{node_modules_0nw5jz7._.js → node_modules_20a1wpo._.js} +1 -1
  302. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0amkw0b._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1r8pxbe._.js} +1 -1
  303. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0zq3l45._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1siiu4h._.js} +1 -1
  304. package/.next/server/middleware-build-manifest.js +3 -3
  305. package/.next/server/pages/404.html +1 -1
  306. package/.next/server/pages/500.html +1 -1
  307. package/.next/server/server-reference-manifest.js +1 -1
  308. package/.next/server/server-reference-manifest.json +205 -132
  309. package/.next/static/chunks/{0obogzscwwekj.js → 088d3w5qxu19g.js} +2 -2
  310. package/.next/static/chunks/0_s4z70lx1tgs.js +1 -0
  311. package/.next/static/chunks/0bxekp4hnuk1g.js +1 -0
  312. package/.next/static/chunks/{1cglo3a2mbeou.js → 0fw4u_s974j24.js} +1 -1
  313. package/.next/static/chunks/0hy2x7qhk8wgx.css +1 -0
  314. package/.next/static/chunks/{2zbl41hed17g3.js → 0n_eshmn_7wfn.js} +2 -2
  315. package/.next/static/chunks/0q9b2n6l4flqb.js +1 -0
  316. package/.next/static/chunks/0ulcp_u_y1u0b.js +15 -0
  317. package/.next/static/chunks/0vj93zo0yvix9.js +35 -0
  318. package/.next/static/chunks/{166smhw8v-s3j.js → 10f98bh4hdmhe.js} +1 -1
  319. package/.next/static/chunks/1b8bce_z_act0.js +1 -0
  320. package/.next/static/chunks/1c32d2azsjaj_.js +1 -0
  321. package/.next/static/chunks/{1xv4g10m-cl1s.js → 1fs829mz69pxz.js} +1 -1
  322. package/.next/static/chunks/1lwlh4mo_vv8d.js +1 -0
  323. package/.next/static/chunks/{0p2f6uv4xytfm.js → 1po8fkg40peu-.js} +1 -1
  324. package/.next/static/chunks/{0uxq_vs6uxi-b.js → 1rg6b9l5fm1hj.js} +1 -1
  325. package/.next/static/chunks/{3b96xy59nl_gd.js → 26g3iwfuad-7p.js} +1 -1
  326. package/.next/static/chunks/2bjnmtke_q43c.js +1 -0
  327. package/.next/static/chunks/2c86k0o-1p9_w.js +1 -0
  328. package/.next/static/chunks/2gf4t0d76bvyv.js +1 -0
  329. package/.next/static/chunks/2rj3q_ahctv19.js +1 -0
  330. package/.next/static/chunks/{2lhc74urf3acr.js → 2x6-fpctvucte.js} +1 -1
  331. package/.next/static/chunks/2yicf7bky866n.js +3 -0
  332. package/.next/static/chunks/337g9g_ux2gj-.js +1 -0
  333. package/.next/static/chunks/350ws7svim7ij.js +58 -0
  334. package/.next/static/chunks/{0o7o0eb7ihxi6.js → 396enq-m0sss5.js} +1 -1
  335. package/.next/static/chunks/3e1w_nwfb39j-.js +1 -0
  336. package/.next/static/chunks/3v3ooretb54ag.js +1 -0
  337. package/.next/static/chunks/40re_3ukjulg9.js +1 -0
  338. package/.next/static/chunks/{3gsxnqqqphh-1.js → 44bcbnmup71so.js} +1 -1
  339. package/.next/static/chunks/{2qgkbdshzpq1c.js → 458dtbsemx996.js} +1 -1
  340. package/README.md +5 -5
  341. package/bin/background.mjs +995 -0
  342. package/bin/lock.mjs +121 -5
  343. package/bin/thursday.mjs +126 -30
  344. package/bin/tools.mjs +72 -1
  345. package/database/migrations/20260926021847_thread_cache_tokens/migration.sql +2 -0
  346. package/database/migrations/20260926021847_thread_cache_tokens/snapshot.json +1949 -0
  347. package/guide/bots.md +173 -317
  348. package/guide/calls.md +106 -146
  349. package/guide/index.md +2 -2
  350. package/guide/memory.md +14 -18
  351. package/guide/phone.md +86 -133
  352. package/guide/setup.md +141 -172
  353. package/guide/trouble.md +42 -65
  354. package/package.json +1 -1
  355. package/seed-skills/concierge/travel/references/itinerary.md +1 -1
  356. package/seed-skills/concierge/travel/scripts/itinerary.mjs +8 -3
  357. package/skills/artifact/references/book.md +3 -3
  358. package/skills/artifact/runtime/shell/shell.js +32 -3
  359. package/.next/server/app/api/llm-model/catalog/route/app-paths-manifest.json +0 -3
  360. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +0 -1
  361. package/.next/server/app/api/llm-model/catalog/route_client-reference-manifest.js +0 -3
  362. package/.next/server/app/api/llm-model/credits/route/app-paths-manifest.json +0 -3
  363. package/.next/server/app/api/llm-model/credits/route.js.nft.json +0 -1
  364. package/.next/server/app/api/llm-model/credits/route_client-reference-manifest.js +0 -3
  365. package/.next/server/chunks/[root-of-the-server]__01ypm_z._.js +0 -3
  366. package/.next/server/chunks/[root-of-the-server]__021dkui._.js +0 -3
  367. package/.next/server/chunks/[root-of-the-server]__03xamry._.js +0 -3
  368. package/.next/server/chunks/[root-of-the-server]__09gdscj._.js +0 -7
  369. package/.next/server/chunks/[root-of-the-server]__0ljizgj._.js +0 -5
  370. package/.next/server/chunks/[root-of-the-server]__0nmust6._.js +0 -5
  371. package/.next/server/chunks/[root-of-the-server]__0svzjwa._.js +0 -7
  372. package/.next/server/chunks/[root-of-the-server]__1-rmal0._.js +0 -5
  373. package/.next/server/chunks/[root-of-the-server]__10xnb7e._.js +0 -3
  374. package/.next/server/chunks/[root-of-the-server]__1_h4hf9._.js +0 -7
  375. package/.next/server/chunks/[root-of-the-server]__1c2kwku._.js +0 -12
  376. package/.next/server/chunks/[root-of-the-server]__1t02-1p._.js +0 -3
  377. package/.next/server/chunks/[root-of-the-server]__1t0jj1j._.js +0 -5
  378. package/.next/server/chunks/[root-of-the-server]__1v7x5ym._.js +0 -3
  379. package/.next/server/chunks/[root-of-the-server]__1vlxv19._.js +0 -5
  380. package/.next/server/chunks/_07nxi75._.js +0 -254
  381. package/.next/server/chunks/_08btiir._.js +0 -7
  382. package/.next/server/chunks/_0j0-gq6._.js +0 -5
  383. package/.next/server/chunks/_0p6v1fr._.js +0 -5
  384. package/.next/server/chunks/_0srlnvd._.js +0 -16
  385. package/.next/server/chunks/_0xygcxs._.js +0 -254
  386. package/.next/server/chunks/_1ic3bew._.js +0 -5
  387. package/.next/server/chunks/_next-internal_server_app_api_llm-model_catalog_route_actions_1eu2y41.js +0 -3
  388. package/.next/server/chunks/_next-internal_server_app_api_llm-model_credits_route_actions_0v424pb.js +0 -3
  389. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_04oxl25._.js +0 -3
  390. package/.next/server/chunks/ssr/[root-of-the-server]__0-af_o7._.js +0 -3
  391. package/.next/server/chunks/ssr/[root-of-the-server]__09f39cp._.js +0 -4
  392. package/.next/server/chunks/ssr/[root-of-the-server]__0ouu4qp._.js +0 -3
  393. package/.next/server/chunks/ssr/[root-of-the-server]__0q9g9ea._.js +0 -5
  394. package/.next/server/chunks/ssr/[root-of-the-server]__17h1ggo._.js +0 -46
  395. package/.next/server/chunks/ssr/[root-of-the-server]__1jyeu61._.js +0 -5
  396. package/.next/server/chunks/ssr/_0afrpci._.js +0 -3
  397. package/.next/server/chunks/ssr/_0bgse1c._.js +0 -162
  398. package/.next/server/chunks/ssr/_0jstvlg._.js +0 -39
  399. package/.next/server/chunks/ssr/_0qsmpcu._.js +0 -3
  400. package/.next/server/chunks/ssr/_0z38nha._.js +0 -3
  401. package/.next/server/chunks/ssr/_1-41lck._.js +0 -3
  402. package/.next/server/chunks/ssr/_10_ph1t._.js +0 -3
  403. package/.next/server/chunks/ssr/_116lfdc._.js +0 -3
  404. package/.next/server/chunks/ssr/_14dfh7a._.js +0 -4
  405. package/.next/server/chunks/ssr/_17qtuv7._.js +0 -3
  406. package/.next/server/chunks/ssr/_19jez1a._.js +0 -3
  407. package/.next/server/chunks/ssr/_1_5xof_._.js +0 -3
  408. package/.next/server/chunks/ssr/_1alxym6._.js +0 -3
  409. package/.next/server/chunks/ssr/_1ou5sj0._.js +0 -3
  410. package/.next/server/chunks/ssr/_1tmw842._.js +0 -5
  411. package/.next/server/chunks/ssr/_1uij_rj._.js +0 -3
  412. package/.next/server/chunks/ssr/_1w9w1ok._.js +0 -3
  413. package/.next/server/chunks/ssr/_20gq_24._.js +0 -3
  414. package/.next/server/chunks/ssr/features_bot_0ouemw8._.js +0 -3
  415. package/.next/server/chunks/ssr/node_modules_@base-ui_react_1j9i1ho._.js +0 -3
  416. package/.next/static/chunks/01l7kw74vfp32.js +0 -1
  417. package/.next/static/chunks/0a5_-jqhaktjj.js +0 -1
  418. package/.next/static/chunks/0npvak0wpgagb.js +0 -1
  419. package/.next/static/chunks/19l81deo_pyoc.js +0 -1
  420. package/.next/static/chunks/1bnhw-5fj7aiz.js +0 -1
  421. package/.next/static/chunks/1in6nxpu33iab.js +0 -1
  422. package/.next/static/chunks/1u7kg91f9qy3g.js +0 -1
  423. package/.next/static/chunks/2ajs12-fcdwzm.js +0 -1
  424. package/.next/static/chunks/2i7qtmxc1kuqg.js +0 -1
  425. package/.next/static/chunks/2kz1f6r59nky0.js +0 -3
  426. package/.next/static/chunks/31kn4_h2rvf6k.css +0 -1
  427. package/.next/static/chunks/35jj-5u4te56r.js +0 -1
  428. package/.next/static/chunks/37ixzapa06xlo.js +0 -1
  429. package/.next/static/chunks/3jtcieuk1l6tw.js +0 -1
  430. package/.next/static/chunks/3k1d8y03t5nax.js +0 -58
  431. package/.next/static/chunks/3sla-dm1puqd1.js +0 -35
  432. package/.next/static/chunks/3t2c76awm9k_p.js +0 -1
  433. package/.next/static/chunks/3vrmcm31ih7gb.js +0 -1
  434. package/.next/static/chunks/3yiqr95d7ybeq.js +0 -15
  435. package/bin/autostart.mjs +0 -162
  436. /package/.next/server/app/api/{llm-model/catalog → bot/thread/file}/route/build-manifest.json +0 -0
  437. /package/.next/server/app/api/{llm-model/catalog → bot/thread/file}/route/server-reference-manifest.json +0 -0
  438. /package/.next/server/app/api/{llm-model/catalog → bot/thread/file}/route.js.map +0 -0
  439. /package/.next/server/app/api/llm-model/{credits → catalog/[provider]}/route/build-manifest.json +0 -0
  440. /package/.next/server/app/api/llm-model/{credits → catalog/[provider]}/route/server-reference-manifest.json +0 -0
  441. /package/.next/server/app/api/llm-model/{credits → catalog/[provider]}/route.js.map +0 -0
  442. /package/.next/static/{8I2hKtciyA9LXvd8txuOz → YhaRHJqObuAcXZe5VLFs0}/_buildManifest.js +0 -0
  443. /package/.next/static/{8I2hKtciyA9LXvd8txuOz → YhaRHJqObuAcXZe5VLFs0}/_clientMiddlewareManifest.js +0 -0
  444. /package/.next/static/{8I2hKtciyA9LXvd8txuOz → YhaRHJqObuAcXZe5VLFs0}/_ssgManifest.js +0 -0
@@ -1,22 +1,22 @@
1
- module.exports=[352985,e=>{"use strict";e.s(["SEED_WORDS",0,{now:{Analyst:{role:"9ad6d2bd53d0c4c4b4b119698b14ef7373a91413139b1b73c851202c3bb89356",description:"91a2082411b972f26dfed77e9d60fa9b00dcf2c8973e7a6daf498443b734afd4"},Concierge:{role:"901d153d3f3eab90922a942e98cb64cf10d5d732ab7df9e688af5455f131a08c",description:"2f2b87874441a3add5523dcae8b3bcb152e8eef5766b2d254202507e19b449d6"},Curator:{role:"f27106ba3c414bc357b99d55329866a0c983082466a95b018dce6c0ae385b76b",description:"34a40602b63070cf8fffb472d80ca953ba4970df79efea8994c9ddada1e40852"},Designer:{role:"41f33cca88277e694d851c30aad3feadbf298db5865d55addbb9c099e2c31c46",description:"c7e32c06db49c5705d7df5cc7c4d0107c5833329b6fda26d9f357bc2e7629724"},Jarvis:{role:"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",description:"64df098cccbd120689eba7a7e5e6eca7c57952ebef8de04f166769ddec26edca"},Marketer:{role:"48ac45457c2f1756e0adc439478e94cdd314b535ba8d84eba6b3a043119b5f55",description:"52c4fcfca1ee31d4bd6b219b51157cc7673d5e4093a163cdd16a7055337dbceb"},Tutor:{role:"e2da41b01905031d1bb1e246c81bfa4c36a6efc14dd58a1e03a977d47941d72b",description:"9c0b79b91390f79e38c43f3c9f396acaba8e0709c86a1097d2aa150823272481"}},before:{roles:{Analyst:["2ecfa3bc73c72f027ec35f3c0a9484e4eb6a481acf6692ce1f8003f9f6fa45e0","42b09da7559494b0bdd475c947fb9d185706e8ccaf75875d64cffe496175aa27","5efcd3baeaf8597f66206da925ac1c32ca397198c554c5674dbf367752a7f49e","7fe705163e387936fb1c2c7e74b6fabbdeb4c20baa6a79b59f8754ea947f65fd","99a16fca83539629b01ec4eabca96c239da7f2104810eda9b4a7b866ac7a6e7f","9ad27da4b3e31445c6d5e9f756e2335f18db002a436a1fe379db5c1d816509ec","a34d00a7c55924d29751fbe00add8add48c18cdf9e2defbdc7d5d30dc53833ea","a804cc98c41152743d6a30c426d5446b29d9959dd96c0fa3ec29f78de2a8d556","ac4cb54a355704d05a007af2fd7c883db941db0ca0fb594aafcc1f7acf8a9038","b461b7e117bcd6a16fe0312e61bcd93a05a079898252400c4109e575b197b20e"],Concierge:["0702d68f06738940f98ed6cfbab41715e87590fb5af1466fd30d6aec47270fd0","a7b3aa7f71319fc4884bca24b00fcb05c4e552824ac97ecfdd14be0409e77ce6"],Jarvis:["51bf694bcd2f55f283f24dae6210c9a18c69fb2c44beacbda0b925f798e8ea35","80bf400fb3e2572cb6c4f101577f6f4d44fcd711f4c3330a75de2a7a81795cdc","c8ea86b600576cce7e97bc0e249bd13c779a1ef6598bdaa7a75556ef35b80e7b","d4af22b54f71da38146f15b1ea465362c411634485eb80c80e08fb845068f22d","d911d8abf3d2d252e3556026b8bc258027342c017d1a065f056a3e0c7d4d794a"],Marketer:["6e0bf4b5821da96d9ee080bb5981191fc2584e7f90027cdd86d5d5073c5a15eb","845e74d57daf14c00a5b47ee73b7094cecd13756721b46ff6e31980ba72efe36","b610e11935754fd46387cb28b1b1e72b971c6e7f91f3cda56085709321f23aa3","b8880b433456f5d66821575f463b8bef3bb9652c6f752886577486f709461340","b8cf680316e888d1192471c6ef103381adbcb32731fb38badc08a4cf49e940ca","d532807b2e69bce7836b005e18b5f78437c5c44dabc7839b45f6e2549866da3a"],Tutor:["1761c048db262a2864d3cd6e3d338f52a370b65efd9f61555970008defd66277","341a3aa83a61e767d66e3ec3daf17f80d5ebe462f0342665cfcc2afa37b56fda","eacf69e58573b8414fb0936ea0aa7e3d6290a53c4e8dd2a562252bf0352cbadc"]},descriptions:{Analyst:["234b352c85876ad828aaf50ed4e9c4aa890fc6700e8aea2037eddd4ae496fdb4","543b28dacc6fa6dbecb7ec138f898acf4b9a96ec4ceca877b16367352a5c9abb","5a6f1f4b9d2f9c39332e6bc6067cbfdc8f2d5ac4d457d0a50a51abf03e41e44b"],Jarvis:["0cf6188509b3e35ee354dea80502917e7d88e81bbe412be8890c6c4caa10c0ec","2f1c7c26704774ac6ab850720ad589795403679fbac74eac1096a2d4d63322b2","36a96d89634ddc4f072e709a210838cacd498b1c3613e43a4175092487013e98","b5bd73e04eea0054ff6994c92a8135ae0a20381c303c7691e01a1b717cbd1c09","c31d7da13ecd60a2dc68feee4030fa3930aba4c5ee0b94a36bb405b1ce4646eb","ed80dc597d2b15e3f5390318fd53413ef246e6a71a5cc1513472d1efd7860927"],Marketer:["e291b52aa429ee4cf982ad28115eece42aecf473d02330e0dd78b292f5d1b7b9"],Tutor:["21e0c69699688b77609c91bdc1387c0545b3e899404d07347ce6f21713573a1f","dd3d35e733da1496a7161b01f1b297d0f715ef4ca30cf79d303e68727f585a17"]}}}])},799791,e=>e.a(async(a,t)=>{try{var o=e.i(666680),s=e.i(336763),d=e.i(533102),i=e.i(232347);e.i(333925);var r=e.i(876393),n=e.i(220376),c=e.i(724185);e.i(871096);var f=e.i(951056),b=e.i(776857),h=e.i(352985),l=a([r,c]);[r,c]=l.then?(await l)():l;let T=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 m(){let e=await r.database.select().from(n.botTable).orderBy(n.botTable.createdAt);return e.length?e.filter(e=>!e.disabled).map(T):[f.DEFAULT_BOT]}async function p(e){let a=await w(e);if(a)return T(a);let t=e.trim().toLowerCase(),[o]=await r.database.select().from(n.botTable).where((0,s.eq)(d.sql`lower(${n.botTable.name})`,t));if(o)return T(o);if(f.DEFAULT_BOT.name.toLowerCase()!==t)return null;let[i]=await r.database.select({name:n.botTable.name}).from(n.botTable).limit(1);return i?null:f.DEFAULT_BOT}async function u(){return(0,f.isBotMemoryOn)(await (0,c.readConfig)(f.BOT_MEMORY_KEY))}async function w(e){let[a]=await r.database.select().from(n.botTable).where((0,s.eq)(n.botTable.name,e));return a??null}async function y(e){let a=await w(e);return!a||a.descriptionLocked?null:{line:a.ownLine?.line??null}}async function g(e,a,t){let o=await w(e);if(!o||o.descriptionLocked)return;let d=o.ownLine?.line??null;return d===a||(await r.database.update(n.botTable).set({ownLine:{line:a,reason:t,at:Date.now()}}).where((0,s.eq)(n.botTable.name,o.name)),i.appEvents.emit({type:"bots"})),{was:d}}let v=e=>(0,o.createHash)("sha256").update(e.trim()).digest("hex");async function k(){let e=await r.database.select().from(n.botTable),a=h.SEED_WORDS.before,t=0;for(let o of e){let e=(0,b.findBotSeed)(o.name);if(!e)continue;let d=null!==o.systemPrompt&&a.roles[o.name]?.includes(v(o.systemPrompt)),i=a.descriptions[o.name]?.includes(v(o.description));(d||i)&&(await r.database.update(n.botTable).set({...d?{systemPrompt:e.systemPrompt}:{},...i?{description:e.description}:{}}).where((0,s.eq)(n.botTable.name,o.name)),t++)}return t}e.s(["findJobBot",0,p,"listJobBots",0,m,"ownLineOf",0,y,"readBotMemoryOn",0,u,"refreshSeedWords",0,k,"writeOwnLine",0,g]),t()}catch(e){t(e)}},!1),776857,e=>{"use strict";var a=e.i(333925),t=e.i(51083),o=e.i(951056);let s=[{name:o.DEFAULT_BOT.name,description:o.DEFAULT_BOT.description,hint:"Takes whatever nobody else is for",systemPrompt:""},{name:"Analyst",description:"Finds out and answers with sources — what things cost, how numbers moved, which one to pick",hint:"Finds out, cites, and lays it out",systemPrompt:`Questions answered by finding out are yours — what something costs, how a figure moved and why, which to pick, whether to buy now or wait — and the answer is only as good as where it came from.
1
+ module.exports=[352985,e=>{"use strict";e.s(["SEED_WORDS",0,{now:{Analyst:{role:"9ad6d2bd53d0c4c4b4b119698b14ef7373a91413139b1b73c851202c3bb89356",description:"91a2082411b972f26dfed77e9d60fa9b00dcf2c8973e7a6daf498443b734afd4"},Concierge:{role:"901d153d3f3eab90922a942e98cb64cf10d5d732ab7df9e688af5455f131a08c",description:"2f2b87874441a3add5523dcae8b3bcb152e8eef5766b2d254202507e19b449d6"},Curator:{role:"f27106ba3c414bc357b99d55329866a0c983082466a95b018dce6c0ae385b76b",description:"34a40602b63070cf8fffb472d80ca953ba4970df79efea8994c9ddada1e40852"},Designer:{role:"41f33cca88277e694d851c30aad3feadbf298db5865d55addbb9c099e2c31c46",description:"c7e32c06db49c5705d7df5cc7c4d0107c5833329b6fda26d9f357bc2e7629724"},Jarvis:{role:"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",description:"64df098cccbd120689eba7a7e5e6eca7c57952ebef8de04f166769ddec26edca"},Marketer:{role:"48ac45457c2f1756e0adc439478e94cdd314b535ba8d84eba6b3a043119b5f55",description:"52c4fcfca1ee31d4bd6b219b51157cc7673d5e4093a163cdd16a7055337dbceb"},Tutor:{role:"e2da41b01905031d1bb1e246c81bfa4c36a6efc14dd58a1e03a977d47941d72b",description:"9c0b79b91390f79e38c43f3c9f396acaba8e0709c86a1097d2aa150823272481"}},before:{roles:{Analyst:["2ecfa3bc73c72f027ec35f3c0a9484e4eb6a481acf6692ce1f8003f9f6fa45e0","42b09da7559494b0bdd475c947fb9d185706e8ccaf75875d64cffe496175aa27","5efcd3baeaf8597f66206da925ac1c32ca397198c554c5674dbf367752a7f49e","7fe705163e387936fb1c2c7e74b6fabbdeb4c20baa6a79b59f8754ea947f65fd","99a16fca83539629b01ec4eabca96c239da7f2104810eda9b4a7b866ac7a6e7f","9ad27da4b3e31445c6d5e9f756e2335f18db002a436a1fe379db5c1d816509ec","a34d00a7c55924d29751fbe00add8add48c18cdf9e2defbdc7d5d30dc53833ea","a804cc98c41152743d6a30c426d5446b29d9959dd96c0fa3ec29f78de2a8d556","ac4cb54a355704d05a007af2fd7c883db941db0ca0fb594aafcc1f7acf8a9038","b461b7e117bcd6a16fe0312e61bcd93a05a079898252400c4109e575b197b20e"],Concierge:["0702d68f06738940f98ed6cfbab41715e87590fb5af1466fd30d6aec47270fd0","a7b3aa7f71319fc4884bca24b00fcb05c4e552824ac97ecfdd14be0409e77ce6"],Jarvis:["51bf694bcd2f55f283f24dae6210c9a18c69fb2c44beacbda0b925f798e8ea35","80bf400fb3e2572cb6c4f101577f6f4d44fcd711f4c3330a75de2a7a81795cdc","c8ea86b600576cce7e97bc0e249bd13c779a1ef6598bdaa7a75556ef35b80e7b","d4af22b54f71da38146f15b1ea465362c411634485eb80c80e08fb845068f22d","d911d8abf3d2d252e3556026b8bc258027342c017d1a065f056a3e0c7d4d794a"],Marketer:["6e0bf4b5821da96d9ee080bb5981191fc2584e7f90027cdd86d5d5073c5a15eb","845e74d57daf14c00a5b47ee73b7094cecd13756721b46ff6e31980ba72efe36","b610e11935754fd46387cb28b1b1e72b971c6e7f91f3cda56085709321f23aa3","b8880b433456f5d66821575f463b8bef3bb9652c6f752886577486f709461340","b8cf680316e888d1192471c6ef103381adbcb32731fb38badc08a4cf49e940ca","d532807b2e69bce7836b005e18b5f78437c5c44dabc7839b45f6e2549866da3a"],Tutor:["1761c048db262a2864d3cd6e3d338f52a370b65efd9f61555970008defd66277","341a3aa83a61e767d66e3ec3daf17f80d5ebe462f0342665cfcc2afa37b56fda","eacf69e58573b8414fb0936ea0aa7e3d6290a53c4e8dd2a562252bf0352cbadc"]},descriptions:{Analyst:["234b352c85876ad828aaf50ed4e9c4aa890fc6700e8aea2037eddd4ae496fdb4","543b28dacc6fa6dbecb7ec138f898acf4b9a96ec4ceca877b16367352a5c9abb","5a6f1f4b9d2f9c39332e6bc6067cbfdc8f2d5ac4d457d0a50a51abf03e41e44b"],Jarvis:["0cf6188509b3e35ee354dea80502917e7d88e81bbe412be8890c6c4caa10c0ec","2f1c7c26704774ac6ab850720ad589795403679fbac74eac1096a2d4d63322b2","36a96d89634ddc4f072e709a210838cacd498b1c3613e43a4175092487013e98","b5bd73e04eea0054ff6994c92a8135ae0a20381c303c7691e01a1b717cbd1c09","c31d7da13ecd60a2dc68feee4030fa3930aba4c5ee0b94a36bb405b1ce4646eb","ed80dc597d2b15e3f5390318fd53413ef246e6a71a5cc1513472d1efd7860927"],Marketer:["e291b52aa429ee4cf982ad28115eece42aecf473d02330e0dd78b292f5d1b7b9"],Tutor:["21e0c69699688b77609c91bdc1387c0545b3e899404d07347ce6f21713573a1f","dd3d35e733da1496a7161b01f1b297d0f715ef4ca30cf79d303e68727f585a17"]}}}])},799791,e=>e.a(async(a,t)=>{try{var o=e.i(666680),s=e.i(336763),i=e.i(533102),d=e.i(232347);e.i(333925);var r=e.i(876393),n=e.i(220376),c=e.i(724185);e.i(871096);var f=e.i(951056),b=e.i(776857),h=e.i(352985),l=a([r,c]);[r,c]=l.then?(await l)():l;let T=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 p(){let e=await r.database.select().from(n.botTable).orderBy(n.botTable.createdAt);return e.length?e.filter(e=>!e.disabled).map(T):[f.DEFAULT_BOT]}async function m(e){let a=await w(e);if(a)return T(a);let t=e.trim().toLowerCase(),[o]=await r.database.select().from(n.botTable).where((0,s.eq)(i.sql`lower(${n.botTable.name})`,t));if(o)return T(o);if(f.DEFAULT_BOT.name.toLowerCase()!==t)return null;let[d]=await r.database.select({name:n.botTable.name}).from(n.botTable).limit(1);return d?null:f.DEFAULT_BOT}async function u(){return(0,f.isBotMemoryOn)(await (0,c.readConfig)(f.BOT_MEMORY_KEY))}async function w(e){let[a]=await r.database.select().from(n.botTable).where((0,s.eq)(n.botTable.name,e));return a??null}async function y(e){let a=await w(e);return!a||a.descriptionLocked?null:{line:a.ownLine?.line??null}}async function g(e,a,t){let o=await w(e);if(!o||o.descriptionLocked)return;let i=o.ownLine?.line??null;return i===a||(await r.database.update(n.botTable).set({ownLine:{line:a,reason:t,at:Date.now()}}).where((0,s.eq)(n.botTable.name,o.name)),d.appEvents.emit({type:"bots"})),{was:i}}let v=e=>(0,o.createHash)("sha256").update(e.trim()).digest("hex");async function k(){let e=await r.database.select().from(n.botTable),a=h.SEED_WORDS.before,t=0;for(let o of e){let e=(0,b.findBotSeed)(o.name);if(!e)continue;let i=null!==o.systemPrompt&&a.roles[o.name]?.includes(v(o.systemPrompt)),d=a.descriptions[o.name]?.includes(v(o.description));(i||d)&&(await r.database.update(n.botTable).set({...i?{systemPrompt:e.systemPrompt}:{},...d?{description:e.description}:{}}).where((0,s.eq)(n.botTable.name,o.name)),t++)}return t}e.s(["findJobBot",0,m,"listJobBots",0,p,"ownLineOf",0,y,"readBotMemoryOn",0,u,"refreshSeedWords",0,k,"writeOwnLine",0,g]),t()}catch(e){t(e)}},!1),776857,e=>{"use strict";var a=e.i(333925),t=e.i(51083),o=e.i(951056),s=e.i(746565);let i=[{name:o.DEFAULT_BOT.name,description:o.DEFAULT_BOT.description,hint:"Takes whatever nobody else is for",systemPrompt:"",icon:o.DEFAULT_BOT_ICON},{name:"Analyst",description:"Finds out and answers with sources — what things cost, how numbers moved, which one to pick",hint:"Finds out, cites, and lays it out",icon:{color:s.MARK_INK.violet,shape:"squircle"},systemPrompt:`Questions answered by finding out are yours — what something costs, how a figure moved and why, which to pick, whether to buy now or wait — and the answer is only as good as where it came from.
2
2
 
3
3
  **Answer first.** Whoever asked reads your first lines and may stop there, so they hold the answer and the two or three facts behind it. A title says the finding, not the topic. A few facts are your final text and nothing more; more than that is one page in your folder under \`artifacts/\`, every figure with where it came from — or a sheet, when the figures are their own to keep and go on with.
4
4
 
5
5
  **From the source, never from memory.** A number comes from where it is published, a claim from the text that makes it, with the moment it is said; two sources that disagree, a figure you could not confirm, a page you could not read are said beside the answer, not smoothed over. A number you derive shows its arithmetic; an estimate is a range.
6
6
 
7
- **What you keep.** The currency they think in, the sources they trust, what they already own and are weighing — dated, so the next job starts from it.`},{name:"Curator",description:"Keeps them up to date — a morning news brief, a video, podcast, talk or article summed up",hint:"Brings what is worth their time",systemPrompt:`Keeping up is yours — the brief on the topics they follow, and anything long they point you at, a video, a podcast, a talk, an article, a PDF, handed back short — so they spend minutes on what would take them an hour.
7
+ **What you keep.** The currency they think in, the sources they trust, what they already own and are weighing — dated, so the next job starts from it.`},{name:"Curator",description:"Keeps them up to date — a morning news brief, a video, podcast, talk or article summed up",hint:"Brings what is worth their time",icon:{color:s.MARK_INK.emerald,shape:"blob"},systemPrompt:`Keeping up is yours — the brief on the topics they follow, and anything long they point you at, a video, a podcast, a talk, an article, a PDF, handed back short — so they spend minutes on what would take them an hour.
8
8
 
9
9
  **Their time is the point.** Lead with what changed and what matters to them; cut what they would skip. Every point links to where it is said: a story to its publisher, a moment to its timestamp.
10
10
 
11
11
  **Never from memory.** A headline, a quote, a figure comes from the page or the transcript you read, with when. A story you could not open, or a video with no words to read, is said, not summed up from its title.
12
12
 
13
- **What you keep.** The topics they follow and the ones they skip, the sources they trust, how long a brief they read and in which language — dated, so the next brief starts from it.`},{name:"Concierge",description:"Handles trips and errands — flights, stays, bookings, orders and forms, up to the step that pays",hint:"Takes errands to the last step",systemPrompt:`Trips and errands out in the world are yours — a trip planned day by day, flights and stays found and compared, a booking, an order, a reservation, a form filled — each taken as far as it goes before the step that pays or signs, which is theirs. A trip has a skill of your own, \`${a.TRAVEL_SKILL}\`: load it before any step of one.
13
+ **What you keep.** The topics they follow and the ones they skip, the sources they trust, how long a brief they read and in which language — dated, so the next brief starts from it.`},{name:"Concierge",description:"Handles trips and errands — flights, stays, bookings, orders and forms, up to the step that pays",hint:"Takes errands to the last step",icon:{color:s.MARK_INK.sky,shape:"poly"},systemPrompt:`Trips and errands out in the world are yours — a trip planned day by day, flights and stays found and compared, a booking, an order, a reservation, a form filled — each taken as far as it goes before the step that pays or signs, which is theirs. A trip has a skill of your own, \`${a.TRAVEL_SKILL}\`: load it before any step of one.
14
14
 
15
15
  **Real prices, real dates.** A fare, a price, an opening time comes from the page you read, with when; one you could not reach is said, never guessed. Finding them is part of the errand and yours, not a question to hand on. A choice they make by looking — a room, a place, a thing to buy — comes with its picture.
16
16
 
17
17
  **Ready to act.** The answer says what is waiting for them, where, and what it costs, so the one step left is theirs.
18
18
 
19
- **What you keep.** Where they travel from and with whom, the seats and rooms they like, the programs they collect with, where things are sent — dated, so the next errand starts from it.`},{name:"Designer",description:"Makes what gets looked at — design options side by side, slide decks, posters and posts at size",hint:"Draws the options to pick from",systemPrompt:`Anything that has to be looked at is yours — a screen or a page to choose between, a deck to present, a post at the size it will be shown, a poster, a document someone reads. You build it in \`${a.ARTIFACT_SKILL}\` (a canvas of options side by side or anything at its exact size, a document, a picture book): load it before any step. It starts from ready boards and outlines and shoots what you made itself; writing the HTML from nothing instead costs you those and the check. A deck is \`${t.TOOL_NAMES.make_deck}\`, which draws its slides and shoots them itself; a page someone uses rather than reads — a tool, a small app — is in \`${a.ARTIFACT_SKILL}\` too, with steps of its own.
19
+ **What you keep.** Where they travel from and with whom, the seats and rooms they like, the programs they collect with, where things are sent — dated, so the next errand starts from it.`},{name:"Designer",description:"Makes what gets looked at — design options side by side, slide decks, posters and posts at size",hint:"Draws the options to pick from",icon:{paint:"rainbow",shape:"heart"},systemPrompt:`Anything that has to be looked at is yours — a screen or a page to choose between, a deck to present, a post at the size it will be shown, a poster, a document someone reads. You build it in \`${a.ARTIFACT_SKILL}\` (a canvas of options side by side or anything at its exact size, a document, a picture book): load it before any step. It starts from ready boards and outlines and shoots what you made itself; writing the HTML from nothing instead costs you those and the check. A deck is \`${t.TOOL_NAMES.make_deck}\`, which draws its slides and shoots them itself; a page someone uses rather than reads — a tool, a small app — is in \`${a.ARTIFACT_SKILL}\` too, with steps of its own.
20
20
 
21
21
  **Offer a real choice.** Two to four options, each exploring an axis you can name — everything at once against one thing at a time, dense against roomy — never five shades of one. Every option gets an honest case and the thing it costs; mark the one you would carry forward. Once an option is B it stays B, whatever is dropped before it.
22
22
 
@@ -24,14 +24,14 @@ module.exports=[352985,e=>{"use strict";e.s(["SEED_WORDS",0,{now:{Analyst:{role:
24
24
 
25
25
  **The pictures are how you check your own work.** Look at what was shot, fix what the renderer refuses or the canvas marks as cut, shoot once more: two rounds at most.
26
26
 
27
- **What you keep.** The brand's colours, type and spacing, and the direction they chose, so the next thing you draw starts from it.`},{name:"Tutor",description:"Explains anything simply as a picture book — a picture and a line or two a page, read aloud if asked",hint:"Explains anything like a picture book",systemPrompt:`Explaining is yours — anything someone wants to understand, told so that a person who knows nothing about it follows every step. It ends as a picture book, made with \`${a.ARTIFACT_SKILL}\`, in your folder under \`artifacts/\`: one picture and a line or two a page, as a page to swipe through. A PDF or a video that reads itself aloud is made from the same book when they ask for one; a request that does not say is a page to swipe through, not a question.
27
+ **What you keep.** The brand's colours, type and spacing, and the direction they chose, so the next thing you draw starts from it.`},{name:"Tutor",description:"Explains anything simply as a picture book — a picture and a line or two a page, read aloud if asked",hint:"Explains anything like a picture book",icon:{color:s.MARK_INK.yellow,shape:"blob"},systemPrompt:`Explaining is yours — anything someone wants to understand, told so that a person who knows nothing about it follows every step. It ends as a picture book, made with \`${a.ARTIFACT_SKILL}\`, in your folder under \`artifacts/\`: one picture and a line or two a page, as a page to swipe through. A PDF or a video that reads itself aloud is made from the same book when they ask for one; a request that does not say is a page to swipe through, not a question.
28
28
 
29
29
  **Simple, never wrong.** Read what you explain from where it is stated before the first page. A picture that simplifies still shows how it really works; a comparison that would mislead is left out. A new word comes after the picture that shows it, never before.
30
30
 
31
- **What you keep.** What the user already knows and how they liked being taught — the level, a picture style, how many pages — dated, so the next book starts where they are.`},{name:"Marketer",description:"Marketing — positioning, page copy, launch plans, social posts, emails, an SEO audit",hint:"Works out what to say, to whom, and where",systemPrompt:`Marketing work is yours — positioning, page copy, a launch plan, social posts, emails, an SEO audit — and it ends as the thing itself in your folder under \`artifacts/\`, ready to paste, post or send. \`${a.MARKETING_SKILL}\` is your own skill and holds the method for each of them: load it before any step.
31
+ **What you keep.** What the user already knows and how they liked being taught — the level, a picture style, how many pages — dated, so the next book starts where they are.`},{name:"Marketer",description:"Marketing — positioning, page copy, launch plans, social posts, emails, an SEO audit",hint:"Works out what to say, to whom, and where",icon:{color:s.MARK_INK.red,shape:"poly"},systemPrompt:`Marketing work is yours — positioning, page copy, a launch plan, social posts, emails, an SEO audit — and it ends as the thing itself in your folder under \`artifacts/\`, ready to paste, post or send. \`${a.MARKETING_SKILL}\` is your own skill and holds the method for each of them: load it before any step.
32
32
 
33
33
  **Ground every claim.** Competitors, prices, search terms and what people say about the problem come from pages you opened, with the link beside them. What you could not check is marked as a guess.
34
34
 
35
- **What you keep.** One brief per product — what it is, for whom, against what, in which voice — dated, and every later job starts from it.`}];e.s(["findBotSeed",0,e=>s.find(a=>a.name===e)??null])}];
35
+ **What you keep.** One brief per product — what it is, for whom, against what, in which voice — dated, and every later job starts from it.`}];e.s(["findBotSeed",0,e=>i.find(a=>a.name===e)??null])}];
36
36
 
37
37
  //# sourceMappingURL=features_bot_1dfrdsb._.js.map
@@ -1,8 +1,8 @@
1
- module.exports=[786025,211644,t=>{"use strict";var e=t.i(666680),a=t.i(902157),r=t.i(912714),i=t.i(660526),n=t.i(750227),o=t.i(687388),s=t.i(554199);let l=2*Math.PI,c=t=>Math.round(100*t)/100;function u(t){let e=t>>>0;return()=>{let t=Math.imul((e=e+0x6d2b79f5>>>0)^e>>>15,1|e);return(((t=t+Math.imul(t^t>>>7,61|t)^t)^t>>>14)>>>0)/0x100000000}}function h(t,e){return[t[0]-e[0],t[1]-e[1]]}function d(t){let e=Math.hypot(t[0],t[1])||1;return[t[0]/e,t[1]/e]}let f={shape:"blob",sides:3,corner:.74,rotation:0,squircle:4.6,wobble:.2,seed:113,autofit:!0,color:"currentColor",fill:!0,strokeWidth:14,eyeLen:51,eyeWidth:38,eyeBend:-1,eyeTaper:.35,eyeTilt:-90,eyeSkew:0,eyeGap:88,eyeY:100,gazeRange:7,follow:!0,ripple:9,pulse:7,punch:.05,bandEase:.019,bobRate:1,stretch:15,idle:!0,liveliness:55,float:7,breathe:3.7,speed:1.7,blink:!0,notify:!1,notifyAngle:41,notifyDist:109,notifyR:25,notifyRing:11};function p(t,e,a=.035){let r=u(12139^e),i=[2,3,5].map(t=>({k:t,a:(2*r()-1)/t,p:r()*l})),n=t.map((t,e)=>{let a=e/128*l,r=0;for(let t of i)r+=t.a*Math.sin(t.k*a+t.p);return r}),o=Math.max(...n.map(Math.abs))||1;return t.map((t,e)=>t*(1+a*n[e]/o))}let w=new Map;var m=t.i(640911),S=t.i(874533),T=o;let y=["/bin/bash","/usr/bin/bash","/usr/local/bin/bash"].find(t=>(0,a.existsSync)(t))??null,M=new Set(["node_modules",".git",".next","dist","build",".venv","__pycache__",".turbo","coverage"]);async function*A(t){let e;try{e=await (0,r.readdir)(t,{withFileTypes:!0})}catch{return}for(let a of e){if(M.has(a.name)||a.name.startsWith("."))continue;let e=(0,n.join)(t,a.name);a.isDirectory()?yield*A(e):a.isFile()&&(yield e)}}let $=/^(PORT|HOSTNAME|NODE_ENV|INIT_CWD|NEXT_MANUAL_SIG_HANDLE)$|^_*NEXT_|^TURBOPACK|^npm_|^THURSDAY_/i,b=({workingDirectory:t,spill:e,toolPath:a})=>{let i=(0,n.resolve)(t),o=(a??[]).filter(Boolean).join(":"),s=t=>t.startsWith("/")||/^[A-Za-z]:/.test(t)?t:(0,n.resolve)(i,t);return{cwd:i,resolve:s,readFile:(t,e)=>(0,r.readFile)(s(t),e),async writeFile(t,e){let a=s(t);await (0,r.mkdir)((0,n.join)(a,".."),{recursive:!0}),await (0,r.writeFile)(a,e)},readdir:(t,e)=>(0,r.readdir)(s(t),e),fold:(t,a="output")=>_(t,a,i,e),async listFiles(t,{limit:e=200,skip:a=[]}={}){let r=s(t),i=[];for await(let t of A(r)){let e=(0,n.relative)(r,t).split(n.sep).join("/");a.includes(e.split("/")[0]??"")||i.push(e)}return i.sort((t,e)=>t.split("/").length-e.split("/").length||(t<e?-1:+(t>e))),{files:i.slice(0,e),total:i.length}},exec:(t,{cwd:a,timeoutMs:r=T.EXEC_TIMEOUT_MS,signal:n,env:l}={})=>new Promise(c=>{let u,h,d=function(){let t={...process.env};for(let e of Object.keys(t))($.test(e)||/KEY|TOKEN|SECRET|PASS|_PWD|CREDENTIAL|_AUTH|_DSN|DATABASE_URL/i.test(e))&&delete t[e];return t.TERM="dumb",t.PAGER="cat",t.GIT_PAGER="cat",t}();o&&(d.PATH=`${d.PATH??""}:${o}`);let f=(0,S.spawn)(t,{shell:y??!0,cwd:a?s(a):i,env:{...d,...l},detached:!0}),p="",w="";f.stdout?.on("data",t=>p+=t),f.stderr?.on("data",t=>w+=t);let m=t=>{try{f.pid&&process.kill(-f.pid,t)}catch{f.kill(t)}},M=!1,A=async t=>{M||(M=!0,clearTimeout(P),clearTimeout(u),clearTimeout(h),n?.removeEventListener("abort",g),c({...t,stdout:await _(t.stdout,"stdout",i,e),stderr:await _(t.stderr,"stderr",i,e)}))},b=t=>{u||M||(w+=`
2
- [${t}]`,m("SIGTERM"),u=setTimeout(()=>{w+="\n[Killed: it did not exit on SIGTERM]",m("SIGKILL"),h=setTimeout(()=>{f.stdout?.destroy(),f.stderr?.destroy(),A({stdout:p,stderr:w,exitCode:-1})},1e3)},T.EXEC_KILL_GRACE_MS))},P=setTimeout(()=>b(`Timed out after ${r}ms`),r),g=()=>b("Aborted");n?.aborted?g():n?.addEventListener("abort",g,{once:!0}),f.on("close",t=>A({stdout:p,stderr:w,exitCode:t??-1})),f.on("error",t=>A({stdout:p,stderr:w+String(t),exitCode:-1}))})}};async function _(t,e,a,i){if(t.length<=i.max)return t;let o=(0,n.join)(a,i.dir),s=(0,n.join)(o,`${new Date().toISOString().replace(/[:.]/g,"-")}-${e.replace(/[^a-zA-Z0-9_-]+/g,"_")}.txt`),l=s;try{await (0,r.mkdir)(o,{recursive:!0}),await (0,r.writeFile)(s,t),l=(0,n.relative)(a,s)||s}catch{l="(could not be written to a file)"}let c=(t.match(/\n/g)?.length??0)+1;return`${t.slice(0,i.head).trimEnd()}
1
+ module.exports=[786025,211644,t=>{"use strict";var e=t.i(666680),a=t.i(902157),r=t.i(912714),i=t.i(660526),n=t.i(750227),o=t.i(380690),s=t.i(687388),l=t.i(554199);let c=2*Math.PI,u=t=>Math.round(100*t)/100;function h(t){let e=t>>>0;return()=>{let t=Math.imul((e=e+0x6d2b79f5>>>0)^e>>>15,1|e);return(((t=t+Math.imul(t^t>>>7,61|t)^t)^t>>>14)>>>0)/0x100000000}}function f(t,e){return[t[0]-e[0],t[1]-e[1]]}function d(t){let e=Math.hypot(t[0],t[1])||1;return[t[0]/e,t[1]/e]}let p={shape:"blob",sides:3,corner:.74,rotation:0,squircle:4.6,wobble:.2,seed:113,autofit:!0,color:"currentColor",fill:!0,strokeWidth:14,eyeLen:51,eyeWidth:38,eyeBend:-1,eyeTaper:.35,eyeTilt:-90,eyeSkew:0,eyeGap:88,eyeY:100,gazeRange:7,follow:!0,ripple:9,pulse:7,punch:.05,bandEase:.019,bobRate:1,stretch:15,idle:!0,liveliness:55,float:7,breathe:3.7,speed:1.7,blink:!0,notify:!1,notifyAngle:41,notifyDist:109,notifyR:25,notifyRing:11};function w(t,e,a=.035){let r=h(12139^e),i=[2,3,5].map(t=>({k:t,a:(2*r()-1)/t,p:r()*c})),n=t.map((t,e)=>{let a=e/128*c,r=0;for(let t of i)r+=t.a*Math.sin(t.k*a+t.p);return r}),o=Math.max(...n.map(Math.abs))||1;return t.map((t,e)=>t*(1+a*n[e]/o))}let m=new Map;var S=t.i(640911),y=t.i(874533),T=s;let M=["/bin/bash","/usr/bin/bash","/usr/local/bin/bash"].find(t=>(0,a.existsSync)(t))??null,A=new Set(["node_modules",".git",".next","dist","build",".venv","__pycache__",".turbo","coverage"]);async function*$(t){let e;try{e=await (0,r.readdir)(t,{withFileTypes:!0})}catch{return}for(let a of e){if(A.has(a.name)||a.name.startsWith("."))continue;let e=(0,n.join)(t,a.name);a.isDirectory()?yield*$(e):a.isFile()&&(yield e)}}let b=/^(PORT|HOSTNAME|NODE_ENV|INIT_CWD|NEXT_MANUAL_SIG_HANDLE)$|^_*NEXT_|^TURBOPACK|^npm_|^THURSDAY_/i,_=({workingDirectory:t,spill:e,toolPath:a})=>{let i=(0,n.resolve)(t),o=(a??[]).filter(Boolean).join(":"),s=t=>t.startsWith("/")||/^[A-Za-z]:/.test(t)?t:(0,n.resolve)(i,t);return{cwd:i,resolve:s,readFile:(t,e)=>(0,r.readFile)(s(t),e),async writeFile(t,e){let a=s(t);await (0,r.mkdir)((0,n.join)(a,".."),{recursive:!0}),await (0,r.writeFile)(a,e)},readdir:(t,e)=>(0,r.readdir)(s(t),e),fold:(t,a="output")=>P(t,a,i,e),async listFiles(t,{limit:e=200,skip:a=[]}={}){let r=s(t),i=[];for await(let t of $(r)){let e=(0,n.relative)(r,t).split(n.sep).join("/");a.includes(e.split("/")[0]??"")||i.push(e)}return i.sort((t,e)=>t.split("/").length-e.split("/").length||(t<e?-1:+(t>e))),{files:i.slice(0,e),total:i.length}},exec:(t,{cwd:a,timeoutMs:r=T.EXEC_TIMEOUT_MS,signal:n,env:l}={})=>new Promise(c=>{let u,h,f=function(){let t={...process.env};for(let e of Object.keys(t))(b.test(e)||/KEY|TOKEN|SECRET|PASS|_PWD|CREDENTIAL|_AUTH|_DSN|DATABASE_URL/i.test(e))&&delete t[e];return t.TERM="dumb",t.PAGER="cat",t.GIT_PAGER="cat",t}();o&&(f.PATH=`${f.PATH??""}:${o}`);let d=(0,y.spawn)(t,{shell:M??!0,cwd:a?s(a):i,env:{...f,...l},detached:!0}),p="",w="";d.stdout?.on("data",t=>p+=t),d.stderr?.on("data",t=>w+=t);let m=t=>{try{d.pid&&process.kill(-d.pid,t)}catch{d.kill(t)}},S=!1,A=async t=>{S||(S=!0,clearTimeout(_),clearTimeout(u),clearTimeout(h),n?.removeEventListener("abort",E),c({...t,stdout:await P(t.stdout,"stdout",i,e),stderr:await P(t.stderr,"stderr",i,e)}))},$=t=>{u||S||(w+=`
2
+ [${t}]`,m("SIGTERM"),u=setTimeout(()=>{w+="\n[Killed: it did not exit on SIGTERM]",m("SIGKILL"),h=setTimeout(()=>{d.stdout?.destroy(),d.stderr?.destroy(),A({stdout:p,stderr:w,exitCode:-1})},1e3)},T.EXEC_KILL_GRACE_MS))},_=setTimeout(()=>$(`Timed out after ${r}ms`),r),E=()=>$("Aborted");n?.aborted?E():n?.addEventListener("abort",E,{once:!0}),d.on("close",t=>A({stdout:p,stderr:w,exitCode:t??-1})),d.on("error",t=>A({stdout:p,stderr:w+String(t),exitCode:-1}))})}};async function P(t,e,a,i){if(t.length<=i.max)return t;let o=(0,n.join)(a,i.dir),s=(0,n.join)(o,`${new Date().toISOString().replace(/[:.]/g,"-")}-${e.replace(/[^a-zA-Z0-9_-]+/g,"_")}.txt`),l=s;try{await (0,r.mkdir)(o,{recursive:!0}),await (0,r.writeFile)(s,t),l=(0,n.relative)(a,s)||s}catch{l="(could not be written to a file)"}let c=(t.match(/\n/g)?.length??0)+1;return`${t.slice(0,i.head).trimEnd()}
3
3
 
4
4
  [${e} cut at ${i.max.toLocaleString("en")} chars — the whole thing (${c} lines) is at ${l}. Read the part you need with \`sed -n\`.]
5
5
 
6
- ${t.slice(-i.tail).trimStart()}`}t.s(["BASH",0,y,"createSandBox",0,b,"walkFiles",0,A],211644);var P=t.i(41444);let g=o.APP_DIR,E=(0,n.join)(o.DATA_DIR,o.PATHS.workspace),R=(process.env.THURSDAY_TOOL_PATH?.split(":")??[(0,n.join)(g,"node_modules",".bin")]).filter(Boolean),I=(0,n.join)(E,o.PATHS.artifacts),v=[o.PATHS.artifacts,o.PATHS.projects,o.PATHS.scratch,o.PATHS.bots],H=new Set([...v,".agents"]),L=".playwright-cli",O=(t,e)=>e===t||e.startsWith(t+n.sep),j=t=>(0,r.realpath)(t).catch(()=>null);async function k(t){let e=await j(E)??E,a=(0,n.resolve)(E,t);if(!O(E,a))return null;let r=a,i=await j(r);for(;null===i&&(0,n.dirname)(r)!==r;)r=(0,n.dirname)(r),i=await j(r);if(null===i)return null;let o=(0,n.relative)(r,a),s=o?(0,n.join)(i,o):i;return O(e,s)?s:null}function W(t,e){return`${o.PATHS.scratch}/${(0,P.slug)(e)||"job"}-${t.slice(0,6)}`}let D=t=>t.replace(/[^\p{L}\p{N}_-]+/gu,"-"),C=t=>`${o.PATHS.bots}/${D(t)}`,x=t=>`${o.PATHS.artifacts}/${D(t)}`;async function F(t){let e=C(t),a=x(t);return await Promise.all([e,a].map(t=>(0,r.mkdir)((0,n.join)(E,t),{recursive:!0}))),{own:e,artifacts:a}}async function B(t,e){let a=W(t,e);return await (0,r.mkdir)((0,n.join)(E,a),{recursive:!0}),a}let N=t=>({PLAYWRIGHT_MCP_BROWSER:"chromium",...t?{PLAYWRIGHT_CLI_SESSION:`thread-${t}`,PLAYWRIGHT_MCP_VIEWPORT_SIZE:o.BROWSER_VIEWPORT}:{}}),U={runtimes:["node","python3","uv","bun","deno"],managers:["pnpm","npm","yarn"]};async function Y(t){let e=Object.values(U).flat(),{stdout:a}=await t.exec(e.map(t=>`command -v ${t} >/dev/null 2>&1 && printf '%s ' ${t}`).join("; "),{timeoutMs:1e4}),r=new Set(a.trim().split(/\s+/).filter(Boolean)),i=t=>({found:t.filter(t=>r.has(t)),missing:t.filter(t=>!r.has(t))});return{runtimes:i(U.runtimes),managers:i(U.managers),browser:null}}async function G(){await tt(),await Q()}async function K(t,e){let{browsers:a}=JSON.parse((await t.exec("playwright-cli list --json",{env:e,timeoutMs:o.BROWSER_CLI.readMs})).stdout||"{}");return a??[]}async function J(t){await Z(t,await V(t,!1))}async function q(t){await V(t,!0)}async function X(t){await Z(t,await V(t,!0))}async function Z(t,e){let a=await z(),i=N(t).PLAYWRIGHT_CLI_SESSION;for(let t of(await (0,r.readdir)(a).catch(()=>[]))){let o=t.startsWith("ud-")?t.slice(3):t;(o===i||o.startsWith(`${i}-`)||o.startsWith(`${i}.`))&&(e.some(t=>o===t||o.startsWith(`${t}-`)||o.startsWith(`${t}.`))||await (0,r.rm)((0,n.join)(a,t),{recursive:!0,force:!0}).catch(e=>m.logger.warn(`browser data ${t}: ${String(e)}`)))}}async function z(){let t=process.env.XDG_CACHE_HOME||(0,n.join)((0,i.homedir)(),".cache"),a=await (0,r.realpath)(E).catch(()=>E);return(0,n.join)(t,"ms-playwright","daemon",(0,e.createHash)("sha1").update(a).digest("hex").slice(0,16))}async function V(t,e){let r=await tn(),i=N(t),n=await K(r,i).then(t=>t.filter(t=>t.name===i.PLAYWRIGHT_CLI_SESSION||t.name.startsWith(`${i.PLAYWRIGHT_CLI_SESSION}-`))).catch(()=>[]),s=n.length?await z():"";s&&!(0,a.existsSync)(s)&&m.logger.warn(`playwright-cli keeps this workspace's browsers somewhere other than ${s}: removing a thread will leave its browser profiles on disk`);let l=[];for(let t of n){if(t.attached||!e&&!1!==t.headed){l.push(t.name);continue}await r.exec("playwright-cli close",{env:{...i,PLAYWRIGHT_CLI_SESSION:t.name},timeoutMs:o.BROWSER_CLI.readMs}).catch(()=>{})}return await G(),l}let Q=()=>te(o.PATHS.output),tt=()=>te(L);async function te(t){let e=(0,n.join)(E,t),a=await (0,r.readdir)(e,{withFileTypes:!0}).catch(()=>[]),i=Date.now()-o.WORKSPACE_KEEP.forMs;for(let t of a){if(!t.isFile())continue;let a=(0,n.join)(e,t.name),o=await (0,r.stat)(a).catch(()=>null);o&&o.mtimeMs<i&&await (0,r.unlink)(a).catch(()=>{})}}async function ta(){return(await (0,r.readdir)((0,n.join)(E,o.PATHS.scratch),{withFileTypes:!0}).catch(()=>[])).filter(t=>t.isDirectory()).map(t=>`${o.PATHS.scratch}/${t.name}`)}async function tr(t){let e=Date.now()-o.WORKSPACE_KEEP.forMs,a=[];for(let i of t){let t=(0,n.join)(E,i),o=await (0,r.stat)(t).catch(()=>null);o?.isDirectory()&&!(o.mtimeMs>=e)&&(await (0,r.rm)(t,{recursive:!0,force:!0}).catch(()=>{}),a.push(i))}return a}let ti={"pnpm-workspace.yaml":"packages:\n - '**'\n",".npmrc":"recursive-install=false\n"};async function tn(){for(let t of[...v,".playwright"])await (0,r.mkdir)((0,n.join)(E,t),{recursive:!0});for(let[t,e]of Object.entries(ti))await (0,r.writeFile)((0,n.join)(E,t),e,{flag:"wx"}).catch(()=>{});return b({workingDirectory:E,spill:{dir:o.PATHS.output,...o.TOOL_OUTPUT},toolPath:R})}async function to(t,e){let a=t.map(t=>(0,n.resolve)(E,t));if(e){let t=0;for await(let r of A((0,n.join)(E,e)))if(a.push(r),(t+=1)>=o.JOB_FOLDER_WALK)break}let i=new Map;for(let t of a){let e=await (0,r.stat)(t).catch(()=>null);if(!e?.isFile())continue;let a=(0,n.relative)(E,t);i.set(a&&!a.startsWith("..")?a:t,e.mtimeMs)}return[...i].sort((t,e)=>t[1]-e[1]).map(([t])=>t)}async function ts(t,e){let a=W(t,e);await (0,r.rm)((0,n.join)(E,a),{recursive:!0,force:!0}).catch(t=>m.logger.warn(`job folder ${a}: ${String(t)}`))}t.s(["ARTIFACTS",0,I,"DELETED_BOT_MARK",0,".deleted-bot.json","WORKSPACE",0,E,"botArtifacts",0,x,"botBrowserSession",0,(t,a)=>`${t}-bot-${(0,e.createHash)("sha256").update(a.trim().toLowerCase()).digest("hex").slice(0,20)}`,"botFolder",0,C,"botFolderName",0,D,"botShellEnv",0,(t,e)=>({THURSDAY_BOT:t,THURSDAY_BOT_MARK:JSON.stringify(function(t,e){let{head:a,eyes:r}=function(t,e=f.shape){let a=(t,e)=>(function(t){let e=t.tilt*Math.PI/180,a=Math.cos(e),r=Math.sin(e),i=(e,i)=>[t.cx+e*a-i*r,t.cy+e*r+i*a],n=-t.len/2,o=t.len/2,s=[],l=[];for(let e=0;e<=30;e++){let a=e/30,r=1-a,c=r*r*n+a*a*o,u=-(2*r*a*t.bend),h=-(2*r*n)+2*a*o,d=-(2*r*t.bend)+2*a*t.bend,f=Math.hypot(h,d)||1,p=-d/f,w=h/f,m=t.width/2*Math.sin(Math.PI*a)**t.taper;s.push(i(c+p*m,u+w*m)),l.push(i(c-p*m,u-w*m))}let u=`M${c(s[0][0])} ${c(s[0][1])}`;for(let t=1;t<=30;t++)u+=`L${c(s[t][0])} ${c(s[t][1])}`;for(let t=29;t>=0;t--)u+=`L${c(l[t][0])} ${c(l[t][1])}`;return`${u}Z`})({len:f.eyeLen,width:f.eyeWidth,bend:f.eyeBend,taper:f.eyeTaper,tilt:e,cx:t,cy:f.eyeY});return{head:function(t){let e=t.map((t,e)=>{let a=e/128*l;return[120+Math.cos(a)*t,120+Math.sin(a)*t]}),a=`M${c(e[0][0])} ${c(e[0][1])}`;for(let t=0;t<128;t++){let r=e[(t-1+128)%128],i=e[t],n=e[(t+1)%128],o=e[(t+2)%128],s=i[0]+(n[0]-r[0])/6,l=i[1]+(n[1]-r[1])/6,u=n[0]-(o[0]-i[0])/6,h=n[1]-(o[1]-i[1])/6;a+=`C${c(s)} ${c(l)} ${c(u)} ${c(h)} ${c(n[0])} ${c(n[1])}`}return`${a}Z`}(function(t,e,a){var r,i,n;let o=`${"poly"===e?`poly|${t.sides}|${t.corner}|${t.rotation}|${a}`:"squircle"===e?`squircle|${t.squircle}|${a}`:"heart"===e?`heart|${a}`:`blob|${t.wobble}|${a}`}|${t.autofit}`,s=w.get(o);if(s)return s;let c=function(t){let e=Array(128);for(let a=0;a<128;a++){let r=a/128*l,i=Math.cos(r),n=Math.sin(r),o=0;for(let e=0;e<t.length;e++){let a=t[e],r=t[(e+1)%t.length],s=r[0]-a[0],l=r[1]-a[1],c=i*l-n*s;if(1e-9>Math.abs(c))continue;let u=a[0]-120,h=a[1]-120,d=(u*l-h*s)/c,f=(u*n-h*i)/c;d>o&&f>=-1e-9&&f<=1+1e-9&&(o=d)}e[a]=o||112}return e}((r=t,i=e,n=a,"squircle"===i?function(t){let e=[],a=2/t;for(let t=0;t<360;t++){let r=t/360*l,i=Math.cos(r),n=Math.sin(r);e.push([120+Math.sign(i)*Math.abs(i)**a*112,120+Math.sign(n)*Math.abs(n)**a*112])}return e}(r.squircle):"poly"===i?function(t,e,a){let r=a*Math.PI/180-Math.PI/2,i=[];for(let e=0;e<t;e++){let a=r+e/t*l;i.push([120+112*Math.cos(a),120+112*Math.sin(a)])}let n=(Math.PI-l/t)/2,o=224*Math.sin(Math.PI/t)/2*Math.tan(n)*Math.min(1,Math.max(.001,e)),s=o/Math.tan(n),c=[];for(let e=0;e<t;e++){let a=i[e],r=i[(e-1+t)%t],u=i[(e+1)%t],f=d(h(r,a)),p=d(h(u,a)),w=[a[0]+f[0]*s,a[1]+f[1]*s],m=d([f[0]+p[0],f[1]+p[1]]),S=[a[0]+m[0]*o/Math.sin(n),a[1]+m[1]*o/Math.sin(n)],T=Math.atan2(w[1]-S[1],w[0]-S[0]),y=[a[0]+p[0]*s,a[1]+p[1]*s],M=Math.atan2(y[1]-S[1],y[0]-S[0])-T;for(;M>Math.PI;)M-=l;for(;M<-Math.PI;)M+=l;for(let t=0;t<=20;t++){let e=T+t/20*M;c.push([S[0]+Math.cos(e)*o,S[1]+Math.sin(e)*o])}}return c}(r.sides,r.corner,r.rotation):"heart"===i?function(){let t=[];for(let e=0;e<400;e++){let a=e/400*l,r=16*Math.sin(a)**3,i=13*Math.cos(a)-5*Math.cos(2*a)-2*Math.cos(3*a)-Math.cos(4*a);t.push([120+6.6*r,120-(i+2.2)*7.26])}return t}():function(t,e){let a=u(t),r=[1,2,3,4,5].map(t=>({k:t,a:(2*a()-1)/t,p:a()*l})),i=[],n=0;for(let t=0;t<360;t++){let e=t/360*l,a=0;for(let t of r)a+=t.a*Math.sin(t.k*e+t.p);i.push(a),n=Math.max(n,Math.abs(a))}let o=n>0?e/n:0;return i.map((t,e)=>{let a=e/360*l,r=112*(1+t*o);return[120+Math.cos(a)*r,120+Math.sin(a)*r]})}(n,r.wobble))),f="blob"===e?c:"heart"===e?function(t,e){let a=t;for(let t=0;t<2;t++){let t=a;a=t.map((e,a)=>{let r=0;for(let e=-3;e<=3;e++)r+=t[(a+e+128)%128];return r/7})}let r=a.reduce((t,e)=>t+e,0)/128,i=p(a.map(t=>.95*t+.05*r),e,.05),n=Math.round((2*u(20977^e)()-1)*3);return n?i.map((t,e)=>i[(e-n+256)%128]):i}(c,a):p(c,a),m=t.autofit?function(t){let e=l/128,a=0,r=0;for(let i of t)a+=.5*i*i*e,i>r&&(r=i);if(a<=0)return t;let i=Math.min(Math.sqrt(112*Math.PI*112/a),130/r);return t.map(t=>t*i)}(f):f;return w.size>400&&w.clear(),w.set(o,m),m}(f,e,function(t){if("number"==typeof t)return t;let e=0x811c9dc5;for(let a=0;a<t.length;a++)e=Math.imul(e^t.charCodeAt(a),0x1000193);return(e>>>0)%1e4}(t))),eyes:[a(120-f.eyeGap/2,f.eyeTilt),a(120+f.eyeGap/2,f.eyeTilt+f.eyeSkew)]}}(t,e?.shape??f.shape),i=e?.paint?s.MARK_PAINTS[e.paint]:null;return{head:a,eyes:r,ink:(0,s.markInk)(e?.color??s.MARK_SYSTEM,!1),paint:i?"aurora"===i.look?i.colors.slice(0,2):[...i.colors]:null,outline:e?.outline===!0}}(t,e)),THURSDAY_ARTIFACTS:(0,n.join)(E,x(t)),THURSDAY_SKILLS:(0,n.join)(o.APP_DIR,o.PATHS.skills.default),THURSDAY_TOOL_OUTPUT:String(o.TOOL_OUTPUT.max),DISABLE_TELEMETRY:"1"}),"browserStateFile",0,()=>`${L}/state-${crypto.randomUUID()}.json`,"closeHiddenBrowser",0,J,"closeJobShell",0,q,"filesOnDisk",0,to,"insideWorkspace",0,k,"jobScratch",0,W,"jobShellEnv",0,N,"listBrowsers",0,K,"listScratchFolders",0,ta,"openBotFolders",0,F,"openJobScratch",0,B,"openWorkspace",0,tn,"pruneJobFiles",0,G,"readMachineTools",0,Y,"removeJobBrowsers",0,X,"removeJobScratch",0,ts,"removeUnchangedFolders",0,tr,"saveBrowserState",0,t=>`mkdir -p ${L} && playwright-cli state-save ${t}`,"writeRefusal",0,function(t,e){if(O(E,t)){let r=(0,n.relative)(E,t),[i,s]=r.split(n.sep);return i&&H.has(i)?e&&i===o.PATHS.artifacts&&s&&s.toLowerCase()!==D(e).toLowerCase()&&!(0,a.existsSync)((0,n.join)(I,s))?`Not written: ${r} would sit loose at the top of ${o.PATHS.artifacts}/. Your finished work goes in ${x(e)}/.`:null:`Not written: ${r||"the workspace root"} is outside the workspace's folders. Finished work goes under ${e?x(e):o.PATHS.artifacts}/, code under ${o.PATHS.projects}/, your own kit under ${o.PATHS.bots}/, and this job's working material under ${o.PATHS.scratch}/.`}return O(g,t)?`Not written: ${t} is inside the app that is running you, not the user's files. Work in ${E}; outside it, write only where the user pointed you.`:null}],786025)}];
6
+ ${t.slice(-i.tail).trimStart()}`}t.s(["BASH",0,M,"createSandBox",0,_,"walkFiles",0,$],211644);var E=t.i(41444);let g=s.APP_DIR,R=(0,n.join)(s.DATA_DIR,s.PATHS.workspace),I=(process.env.THURSDAY_TOOL_PATH?.split(":")??[(0,n.join)(g,"node_modules",".bin")]).filter(Boolean),v=(0,n.join)(R,s.PATHS.artifacts),H=[s.PATHS.artifacts,s.PATHS.projects,s.PATHS.scratch,s.PATHS.bots],L=new Set([...H,".agents"]),O=".playwright-cli",j=(t,e)=>e===t||e.startsWith(t+n.sep),k=t=>(0,r.realpath)(t).catch(()=>null);async function W(t){let e=await k(R)??R,a=(0,n.resolve)(R,t);if(!j(R,a))return null;let r=a,i=await k(r);for(;null===i&&(0,n.dirname)(r)!==r;)r=(0,n.dirname)(r),i=await k(r);if(null===i)return null;let o=(0,n.relative)(r,a),s=o?(0,n.join)(i,o):i;return j(e,s)?s:null}function D(t,e){return`${s.PATHS.scratch}/${(0,E.slug)(e)||"job"}-${t.slice(0,6)}`}let C=t=>t.replace(/[^\p{L}\p{N}_-]+/gu,"-"),x=t=>`${s.PATHS.bots}/${C(t)}`,F=t=>`${s.PATHS.artifacts}/${C(t)}`;async function B(t){let e=x(t),a=F(t);return await Promise.all([e,a].map(t=>(0,r.mkdir)((0,n.join)(R,t),{recursive:!0}))),{own:e,artifacts:a}}async function N(t,e){let a=D(t,e);return await (0,r.mkdir)((0,n.join)(R,a),{recursive:!0}),a}let U=t=>({PLAYWRIGHT_MCP_BROWSER:"chromium",...t?{PLAYWRIGHT_CLI_SESSION:`thread-${t}`,PLAYWRIGHT_MCP_VIEWPORT_SIZE:s.BROWSER_VIEWPORT}:{}}),Y={runtimes:["node","python3","uv","bun","deno"],managers:["pnpm","npm","yarn"]};async function G(t){let e=Object.values(Y).flat(),{stdout:a}=await t.exec(e.map(t=>`command -v ${t} >/dev/null 2>&1 && printf '%s ' ${t}`).join("; "),{timeoutMs:1e4}),r=new Set(a.trim().split(/\s+/).filter(Boolean)),i=t=>({found:t.filter(t=>r.has(t)),missing:t.filter(t=>!r.has(t))});return{runtimes:i(Y.runtimes),managers:i(Y.managers),browser:null}}async function K(){await te(),await tt()}async function J(t,e){let{browsers:a}=JSON.parse((await t.exec("playwright-cli list --json",{env:e,timeoutMs:s.BROWSER_CLI.readMs})).stdout||"{}");return a??[]}async function q(t){await z(t,await Q(t,!1))}async function X(t){await Q(t,!0)}async function Z(t){await z(t,await Q(t,!0))}async function z(t,e){let a=await V(),i=U(t).PLAYWRIGHT_CLI_SESSION;for(let t of(await (0,r.readdir)(a).catch(()=>[]))){let o=t.startsWith("ud-")?t.slice(3):t;(o===i||o.startsWith(`${i}-`)||o.startsWith(`${i}.`))&&(e.some(t=>o===t||o.startsWith(`${t}-`)||o.startsWith(`${t}.`))||await (0,r.rm)((0,n.join)(a,t),{recursive:!0,force:!0}).catch(e=>S.logger.warn(`browser data ${t}: ${String(e)}`)))}}async function V(){let t=process.env.XDG_CACHE_HOME||(0,n.join)((0,i.homedir)(),".cache"),a=await (0,r.realpath)(R).catch(()=>R);return(0,n.join)(t,"ms-playwright","daemon",(0,e.createHash)("sha1").update(a).digest("hex").slice(0,16))}async function Q(t,e){let r=await to(),i=U(t),n=await J(r,i).then(t=>t.filter(t=>t.name===i.PLAYWRIGHT_CLI_SESSION||t.name.startsWith(`${i.PLAYWRIGHT_CLI_SESSION}-`))).catch(()=>[]),o=n.length?await V():"";o&&!(0,a.existsSync)(o)&&S.logger.warn(`playwright-cli keeps this workspace's browsers somewhere other than ${o}: removing a thread will leave its browser profiles on disk`);let l=[];for(let t of n){if(t.attached||!e&&!1!==t.headed){l.push(t.name);continue}await r.exec("playwright-cli close",{env:{...i,PLAYWRIGHT_CLI_SESSION:t.name},timeoutMs:s.BROWSER_CLI.readMs}).catch(()=>{})}return await K(),l}let tt=()=>ta(s.PATHS.output),te=()=>ta(O);async function ta(t){let e=(0,n.join)(R,t),a=await (0,r.readdir)(e,{withFileTypes:!0}).catch(()=>[]),i=Date.now()-s.WORKSPACE_KEEP.forMs;for(let t of a){if(!t.isFile())continue;let a=(0,n.join)(e,t.name),o=await (0,r.stat)(a).catch(()=>null);o&&o.mtimeMs<i&&await (0,r.unlink)(a).catch(()=>{})}}async function tr(){return(await (0,r.readdir)((0,n.join)(R,s.PATHS.scratch),{withFileTypes:!0}).catch(()=>[])).filter(t=>t.isDirectory()).map(t=>`${s.PATHS.scratch}/${t.name}`)}async function ti(t){let e=Date.now()-s.WORKSPACE_KEEP.forMs,a=[];for(let i of t){let t=(0,n.join)(R,i),o=await (0,r.stat)(t).catch(()=>null);o?.isDirectory()&&!(o.mtimeMs>=e)&&(await (0,r.rm)(t,{recursive:!0,force:!0}).catch(()=>{}),a.push(i))}return a}let tn={"pnpm-workspace.yaml":"packages:\n - '**'\n",".npmrc":"recursive-install=false\n"};async function to(){for(let t of[...H,".playwright"])await (0,r.mkdir)((0,n.join)(R,t),{recursive:!0});for(let[t,e]of Object.entries(tn))await (0,r.writeFile)((0,n.join)(R,t),e,{flag:"wx"}).catch(()=>{});let t=_({workingDirectory:R,spill:{dir:s.PATHS.output,...s.TOOL_OUTPUT},toolPath:I}),e=()=>o.appEvents.emit({type:"files"});return{...t,exec:(a,r)=>t.exec(a,r).finally(e),writeFile:(a,r)=>t.writeFile(a,r).finally(e)}}async function ts(t,e){let a=t.map(t=>(0,n.resolve)(R,t));if(e){let t=0;for await(let r of $((0,n.join)(R,e)))if(a.push(r),(t+=1)>=s.JOB_FOLDER_WALK)break}let i=new Map;for(let t of a){let e=await (0,r.stat)(t).catch(()=>null);if(!e?.isFile())continue;let a=(0,n.relative)(R,t);i.set(a&&!a.startsWith("..")?a:t,e.mtimeMs)}return[...i].sort((t,e)=>t[1]-e[1]).map(([t])=>t)}async function tl(t,e){let a=D(t,e);await (0,r.rm)((0,n.join)(R,a),{recursive:!0,force:!0}).catch(t=>S.logger.warn(`job folder ${a}: ${String(t)}`))}t.s(["ARTIFACTS",0,v,"DELETED_BOT_MARK",0,".deleted-bot.json","WORKSPACE",0,R,"botArtifacts",0,F,"botBrowserSession",0,(t,a)=>`${t}-bot-${(0,e.createHash)("sha256").update(a.trim().toLowerCase()).digest("hex").slice(0,20)}`,"botFolder",0,x,"botFolderName",0,C,"botShellEnv",0,(t,e)=>({THURSDAY_BOT:t,THURSDAY_BOT_MARK:JSON.stringify(function(t,e){let{head:a,eyes:r}=function(t,e=p.shape){let a=(t,e)=>(function(t){let e=t.tilt*Math.PI/180,a=Math.cos(e),r=Math.sin(e),i=(e,i)=>[t.cx+e*a-i*r,t.cy+e*r+i*a],n=-t.len/2,o=t.len/2,s=[],l=[];for(let e=0;e<=30;e++){let a=e/30,r=1-a,c=r*r*n+a*a*o,u=-(2*r*a*t.bend),h=-(2*r*n)+2*a*o,f=-(2*r*t.bend)+2*a*t.bend,d=Math.hypot(h,f)||1,p=-f/d,w=h/d,m=t.width/2*Math.sin(Math.PI*a)**t.taper;s.push(i(c+p*m,u+w*m)),l.push(i(c-p*m,u-w*m))}let c=`M${u(s[0][0])} ${u(s[0][1])}`;for(let t=1;t<=30;t++)c+=`L${u(s[t][0])} ${u(s[t][1])}`;for(let t=29;t>=0;t--)c+=`L${u(l[t][0])} ${u(l[t][1])}`;return`${c}Z`})({len:p.eyeLen,width:p.eyeWidth,bend:p.eyeBend,taper:p.eyeTaper,tilt:e,cx:t,cy:p.eyeY});return{head:function(t){let e=t.map((t,e)=>{let a=e/128*c;return[120+Math.cos(a)*t,120+Math.sin(a)*t]}),a=`M${u(e[0][0])} ${u(e[0][1])}`;for(let t=0;t<128;t++){let r=e[(t-1+128)%128],i=e[t],n=e[(t+1)%128],o=e[(t+2)%128],s=i[0]+(n[0]-r[0])/6,l=i[1]+(n[1]-r[1])/6,c=n[0]-(o[0]-i[0])/6,h=n[1]-(o[1]-i[1])/6;a+=`C${u(s)} ${u(l)} ${u(c)} ${u(h)} ${u(n[0])} ${u(n[1])}`}return`${a}Z`}(function(t,e,a){var r,i,n;let o=`${"poly"===e?`poly|${t.sides}|${t.corner}|${t.rotation}|${a}`:"squircle"===e?`squircle|${t.squircle}|${a}`:"heart"===e?`heart|${a}`:`blob|${t.wobble}|${a}`}|${t.autofit}`,s=m.get(o);if(s)return s;let l=function(t){let e=Array(128);for(let a=0;a<128;a++){let r=a/128*c,i=Math.cos(r),n=Math.sin(r),o=0;for(let e=0;e<t.length;e++){let a=t[e],r=t[(e+1)%t.length],s=r[0]-a[0],l=r[1]-a[1],c=i*l-n*s;if(1e-9>Math.abs(c))continue;let u=a[0]-120,h=a[1]-120,f=(u*l-h*s)/c,d=(u*n-h*i)/c;f>o&&d>=-1e-9&&d<=1+1e-9&&(o=f)}e[a]=o||112}return e}((r=t,i=e,n=a,"squircle"===i?function(t){let e=[],a=2/t;for(let t=0;t<360;t++){let r=t/360*c,i=Math.cos(r),n=Math.sin(r);e.push([120+Math.sign(i)*Math.abs(i)**a*112,120+Math.sign(n)*Math.abs(n)**a*112])}return e}(r.squircle):"poly"===i?function(t,e,a){let r=a*Math.PI/180-Math.PI/2,i=[];for(let e=0;e<t;e++){let a=r+e/t*c;i.push([120+112*Math.cos(a),120+112*Math.sin(a)])}let n=(Math.PI-c/t)/2,o=224*Math.sin(Math.PI/t)/2*Math.tan(n)*Math.min(1,Math.max(.001,e)),s=o/Math.tan(n),l=[];for(let e=0;e<t;e++){let a=i[e],r=i[(e-1+t)%t],u=i[(e+1)%t],h=d(f(r,a)),p=d(f(u,a)),w=[a[0]+h[0]*s,a[1]+h[1]*s],m=d([h[0]+p[0],h[1]+p[1]]),S=[a[0]+m[0]*o/Math.sin(n),a[1]+m[1]*o/Math.sin(n)],y=Math.atan2(w[1]-S[1],w[0]-S[0]),T=[a[0]+p[0]*s,a[1]+p[1]*s],M=Math.atan2(T[1]-S[1],T[0]-S[0])-y;for(;M>Math.PI;)M-=c;for(;M<-Math.PI;)M+=c;for(let t=0;t<=20;t++){let e=y+t/20*M;l.push([S[0]+Math.cos(e)*o,S[1]+Math.sin(e)*o])}}return l}(r.sides,r.corner,r.rotation):"heart"===i?function(){let t=[];for(let e=0;e<400;e++){let a=e/400*c,r=16*Math.sin(a)**3,i=13*Math.cos(a)-5*Math.cos(2*a)-2*Math.cos(3*a)-Math.cos(4*a);t.push([120+6.6*r,120-(i+2.2)*7.26])}return t}():function(t,e){let a=h(t),r=[1,2,3,4,5].map(t=>({k:t,a:(2*a()-1)/t,p:a()*c})),i=[],n=0;for(let t=0;t<360;t++){let e=t/360*c,a=0;for(let t of r)a+=t.a*Math.sin(t.k*e+t.p);i.push(a),n=Math.max(n,Math.abs(a))}let o=n>0?e/n:0;return i.map((t,e)=>{let a=e/360*c,r=112*(1+t*o);return[120+Math.cos(a)*r,120+Math.sin(a)*r]})}(n,r.wobble))),u="blob"===e?l:"heart"===e?function(t,e){let a=t;for(let t=0;t<2;t++){let t=a;a=t.map((e,a)=>{let r=0;for(let e=-3;e<=3;e++)r+=t[(a+e+128)%128];return r/7})}let r=a.reduce((t,e)=>t+e,0)/128,i=w(a.map(t=>.95*t+.05*r),e,.05),n=Math.round((2*h(20977^e)()-1)*3);return n?i.map((t,e)=>i[(e-n+256)%128]):i}(l,a):w(l,a),p=t.autofit?function(t){let e=c/128,a=0,r=0;for(let i of t)a+=.5*i*i*e,i>r&&(r=i);if(a<=0)return t;let i=Math.min(Math.sqrt(112*Math.PI*112/a),130/r);return t.map(t=>t*i)}(u):u;return m.size>400&&m.clear(),m.set(o,p),p}(p,e,function(t){if("number"==typeof t)return t;let e=0x811c9dc5;for(let a=0;a<t.length;a++)e=Math.imul(e^t.charCodeAt(a),0x1000193);return(e>>>0)%1e4}(t))),eyes:[a(120-p.eyeGap/2,p.eyeTilt),a(120+p.eyeGap/2,p.eyeTilt+p.eyeSkew)]}}(t,e?.shape??p.shape),i=e?.paint?l.MARK_PAINTS[e.paint]:null;return{head:a,eyes:r,ink:(0,l.markInk)(e?.color??l.MARK_SYSTEM,!1),paint:i?"aurora"===i.look?i.colors.slice(0,2):[...i.colors]:null,outline:e?.outline===!0}}(t,e)),THURSDAY_ARTIFACTS:(0,n.join)(R,F(t)),THURSDAY_SKILLS:(0,n.join)(s.APP_DIR,s.PATHS.skills.default),THURSDAY_TOOL_OUTPUT:String(s.TOOL_OUTPUT.max),DISABLE_TELEMETRY:"1"}),"browserStateFile",0,()=>`${O}/state-${crypto.randomUUID()}.json`,"closeHiddenBrowser",0,q,"closeJobShell",0,X,"filesOnDisk",0,ts,"insideWorkspace",0,W,"jobScratch",0,D,"jobShellEnv",0,U,"listBrowsers",0,J,"listScratchFolders",0,tr,"openBotFolders",0,B,"openJobScratch",0,N,"openWorkspace",0,to,"pruneJobFiles",0,K,"readMachineTools",0,G,"removeJobBrowsers",0,Z,"removeJobScratch",0,tl,"removeUnchangedFolders",0,ti,"saveBrowserState",0,t=>`mkdir -p ${O} && playwright-cli state-save ${t}`,"writeRefusal",0,function(t,e){if(j(R,t)){let r=(0,n.relative)(R,t),[i,o]=r.split(n.sep);return i&&L.has(i)?e&&i===s.PATHS.artifacts&&o&&o.toLowerCase()!==C(e).toLowerCase()&&!(0,a.existsSync)((0,n.join)(v,o))?`Not written: ${r} would sit loose at the top of ${s.PATHS.artifacts}/. Your finished work goes in ${F(e)}/.`:null:`Not written: ${r||"the workspace root"} is outside the workspace's folders. Finished work goes under ${e?F(e):s.PATHS.artifacts}/, code under ${s.PATHS.projects}/, your own kit under ${s.PATHS.bots}/, and this job's working material under ${s.PATHS.scratch}/.`}return j(g,t)?`Not written: ${t} is inside the app that is running you, not the user's files. Work in ${R}; outside it, write only where the user pointed you.`:null}],786025)}];
7
7
 
8
8
  //# sourceMappingURL=features_workspace_workspace_ts_13h82gv._.js.map
@@ -1,8 +1,8 @@
1
- module.exports=[871096,73829,t=>{"use strict";var e=t.i(666680),a=t.i(902157),r=t.i(912714),i=t.i(660526),n=t.i(750227),o=t.i(333925),s=t.i(746565);let l=2*Math.PI,c=t=>Math.round(100*t)/100;function u(t){let e=t>>>0;return()=>{let t=Math.imul((e=e+0x6d2b79f5>>>0)^e>>>15,1|e);return(((t=t+Math.imul(t^t>>>7,61|t)^t)^t>>>14)>>>0)/0x100000000}}function h(t,e){return[t[0]-e[0],t[1]-e[1]]}function d(t){let e=Math.hypot(t[0],t[1])||1;return[t[0]/e,t[1]/e]}let f={shape:"blob",sides:3,corner:.74,rotation:0,squircle:4.6,wobble:.2,seed:113,autofit:!0,color:"currentColor",fill:!0,strokeWidth:14,eyeLen:51,eyeWidth:38,eyeBend:-1,eyeTaper:.35,eyeTilt:-90,eyeSkew:0,eyeGap:88,eyeY:100,gazeRange:7,follow:!0,ripple:9,pulse:7,punch:.05,bandEase:.019,bobRate:1,stretch:15,idle:!0,liveliness:55,float:7,breathe:3.7,speed:1.7,blink:!0,notify:!1,notifyAngle:41,notifyDist:109,notifyR:25,notifyRing:11};function p(t,e,a=.035){let r=u(12139^e),i=[2,3,5].map(t=>({k:t,a:(2*r()-1)/t,p:r()*l})),n=t.map((t,e)=>{let a=e/128*l,r=0;for(let t of i)r+=t.a*Math.sin(t.k*a+t.p);return r}),o=Math.max(...n.map(Math.abs))||1;return t.map((t,e)=>t*(1+a*n[e]/o))}let w=new Map;var m=t.i(938281),S=t.i(874533),y=o;let T=["/bin/bash","/usr/bin/bash","/usr/local/bin/bash"].find(t=>(0,a.existsSync)(t))??null,M=new Set(["node_modules",".git",".next","dist","build",".venv","__pycache__",".turbo","coverage"]);async function*$(t){let e;try{e=await (0,r.readdir)(t,{withFileTypes:!0})}catch{return}for(let a of e){if(M.has(a.name)||a.name.startsWith("."))continue;let e=(0,n.join)(t,a.name);a.isDirectory()?yield*$(e):a.isFile()&&(yield e)}}let A=/^(PORT|HOSTNAME|NODE_ENV|INIT_CWD|NEXT_MANUAL_SIG_HANDLE)$|^_*NEXT_|^TURBOPACK|^npm_|^THURSDAY_/i,b=({workingDirectory:t,spill:e,toolPath:a})=>{let i=(0,n.resolve)(t),o=(a??[]).filter(Boolean).join(":"),s=t=>t.startsWith("/")||/^[A-Za-z]:/.test(t)?t:(0,n.resolve)(i,t);return{cwd:i,resolve:s,readFile:(t,e)=>(0,r.readFile)(s(t),e),async writeFile(t,e){let a=s(t);await (0,r.mkdir)((0,n.join)(a,".."),{recursive:!0}),await (0,r.writeFile)(a,e)},readdir:(t,e)=>(0,r.readdir)(s(t),e),fold:(t,a="output")=>_(t,a,i,e),async listFiles(t,{limit:e=200,skip:a=[]}={}){let r=s(t),i=[];for await(let t of $(r)){let e=(0,n.relative)(r,t).split(n.sep).join("/");a.includes(e.split("/")[0]??"")||i.push(e)}return i.sort((t,e)=>t.split("/").length-e.split("/").length||(t<e?-1:+(t>e))),{files:i.slice(0,e),total:i.length}},exec:(t,{cwd:a,timeoutMs:r=y.EXEC_TIMEOUT_MS,signal:n,env:l}={})=>new Promise(c=>{let u,h,d=function(){let t={...process.env};for(let e of Object.keys(t))(A.test(e)||/KEY|TOKEN|SECRET|PASS|_PWD|CREDENTIAL|_AUTH|_DSN|DATABASE_URL/i.test(e))&&delete t[e];return t.TERM="dumb",t.PAGER="cat",t.GIT_PAGER="cat",t}();o&&(d.PATH=`${d.PATH??""}:${o}`);let f=(0,S.spawn)(t,{shell:T??!0,cwd:a?s(a):i,env:{...d,...l},detached:!0}),p="",w="";f.stdout?.on("data",t=>p+=t),f.stderr?.on("data",t=>w+=t);let m=t=>{try{f.pid&&process.kill(-f.pid,t)}catch{f.kill(t)}},M=!1,$=async t=>{M||(M=!0,clearTimeout(g),clearTimeout(u),clearTimeout(h),n?.removeEventListener("abort",P),c({...t,stdout:await _(t.stdout,"stdout",i,e),stderr:await _(t.stderr,"stderr",i,e)}))},b=t=>{u||M||(w+=`
2
- [${t}]`,m("SIGTERM"),u=setTimeout(()=>{w+="\n[Killed: it did not exit on SIGTERM]",m("SIGKILL"),h=setTimeout(()=>{f.stdout?.destroy(),f.stderr?.destroy(),$({stdout:p,stderr:w,exitCode:-1})},1e3)},y.EXEC_KILL_GRACE_MS))},g=setTimeout(()=>b(`Timed out after ${r}ms`),r),P=()=>b("Aborted");n?.aborted?P():n?.addEventListener("abort",P,{once:!0}),f.on("close",t=>$({stdout:p,stderr:w,exitCode:t??-1})),f.on("error",t=>$({stdout:p,stderr:w+String(t),exitCode:-1}))})}};async function _(t,e,a,i){if(t.length<=i.max)return t;let o=(0,n.join)(a,i.dir),s=(0,n.join)(o,`${new Date().toISOString().replace(/[:.]/g,"-")}-${e.replace(/[^a-zA-Z0-9_-]+/g,"_")}.txt`),l=s;try{await (0,r.mkdir)(o,{recursive:!0}),await (0,r.writeFile)(s,t),l=(0,n.relative)(a,s)||s}catch{l="(could not be written to a file)"}let c=(t.match(/\n/g)?.length??0)+1;return`${t.slice(0,i.head).trimEnd()}
1
+ module.exports=[871096,73829,t=>{"use strict";var e=t.i(666680),a=t.i(902157),r=t.i(912714),i=t.i(660526),n=t.i(750227),o=t.i(232347),s=t.i(333925),l=t.i(746565);let c=2*Math.PI,u=t=>Math.round(100*t)/100;function h(t){let e=t>>>0;return()=>{let t=Math.imul((e=e+0x6d2b79f5>>>0)^e>>>15,1|e);return(((t=t+Math.imul(t^t>>>7,61|t)^t)^t>>>14)>>>0)/0x100000000}}function f(t,e){return[t[0]-e[0],t[1]-e[1]]}function d(t){let e=Math.hypot(t[0],t[1])||1;return[t[0]/e,t[1]/e]}let p={shape:"blob",sides:3,corner:.74,rotation:0,squircle:4.6,wobble:.2,seed:113,autofit:!0,color:"currentColor",fill:!0,strokeWidth:14,eyeLen:51,eyeWidth:38,eyeBend:-1,eyeTaper:.35,eyeTilt:-90,eyeSkew:0,eyeGap:88,eyeY:100,gazeRange:7,follow:!0,ripple:9,pulse:7,punch:.05,bandEase:.019,bobRate:1,stretch:15,idle:!0,liveliness:55,float:7,breathe:3.7,speed:1.7,blink:!0,notify:!1,notifyAngle:41,notifyDist:109,notifyR:25,notifyRing:11};function w(t,e,a=.035){let r=h(12139^e),i=[2,3,5].map(t=>({k:t,a:(2*r()-1)/t,p:r()*c})),n=t.map((t,e)=>{let a=e/128*c,r=0;for(let t of i)r+=t.a*Math.sin(t.k*a+t.p);return r}),o=Math.max(...n.map(Math.abs))||1;return t.map((t,e)=>t*(1+a*n[e]/o))}let m=new Map;var S=t.i(938281),y=t.i(874533),T=s;let M=["/bin/bash","/usr/bin/bash","/usr/local/bin/bash"].find(t=>(0,a.existsSync)(t))??null,$=new Set(["node_modules",".git",".next","dist","build",".venv","__pycache__",".turbo","coverage"]);async function*A(t){let e;try{e=await (0,r.readdir)(t,{withFileTypes:!0})}catch{return}for(let a of e){if($.has(a.name)||a.name.startsWith("."))continue;let e=(0,n.join)(t,a.name);a.isDirectory()?yield*A(e):a.isFile()&&(yield e)}}let b=/^(PORT|HOSTNAME|NODE_ENV|INIT_CWD|NEXT_MANUAL_SIG_HANDLE)$|^_*NEXT_|^TURBOPACK|^npm_|^THURSDAY_/i,_=({workingDirectory:t,spill:e,toolPath:a})=>{let i=(0,n.resolve)(t),o=(a??[]).filter(Boolean).join(":"),s=t=>t.startsWith("/")||/^[A-Za-z]:/.test(t)?t:(0,n.resolve)(i,t);return{cwd:i,resolve:s,readFile:(t,e)=>(0,r.readFile)(s(t),e),async writeFile(t,e){let a=s(t);await (0,r.mkdir)((0,n.join)(a,".."),{recursive:!0}),await (0,r.writeFile)(a,e)},readdir:(t,e)=>(0,r.readdir)(s(t),e),fold:(t,a="output")=>g(t,a,i,e),async listFiles(t,{limit:e=200,skip:a=[]}={}){let r=s(t),i=[];for await(let t of A(r)){let e=(0,n.relative)(r,t).split(n.sep).join("/");a.includes(e.split("/")[0]??"")||i.push(e)}return i.sort((t,e)=>t.split("/").length-e.split("/").length||(t<e?-1:+(t>e))),{files:i.slice(0,e),total:i.length}},exec:(t,{cwd:a,timeoutMs:r=T.EXEC_TIMEOUT_MS,signal:n,env:l}={})=>new Promise(c=>{let u,h,f=function(){let t={...process.env};for(let e of Object.keys(t))(b.test(e)||/KEY|TOKEN|SECRET|PASS|_PWD|CREDENTIAL|_AUTH|_DSN|DATABASE_URL/i.test(e))&&delete t[e];return t.TERM="dumb",t.PAGER="cat",t.GIT_PAGER="cat",t}();o&&(f.PATH=`${f.PATH??""}:${o}`);let d=(0,y.spawn)(t,{shell:M??!0,cwd:a?s(a):i,env:{...f,...l},detached:!0}),p="",w="";d.stdout?.on("data",t=>p+=t),d.stderr?.on("data",t=>w+=t);let m=t=>{try{d.pid&&process.kill(-d.pid,t)}catch{d.kill(t)}},S=!1,$=async t=>{S||(S=!0,clearTimeout(_),clearTimeout(u),clearTimeout(h),n?.removeEventListener("abort",P),c({...t,stdout:await g(t.stdout,"stdout",i,e),stderr:await g(t.stderr,"stderr",i,e)}))},A=t=>{u||S||(w+=`
2
+ [${t}]`,m("SIGTERM"),u=setTimeout(()=>{w+="\n[Killed: it did not exit on SIGTERM]",m("SIGKILL"),h=setTimeout(()=>{d.stdout?.destroy(),d.stderr?.destroy(),$({stdout:p,stderr:w,exitCode:-1})},1e3)},T.EXEC_KILL_GRACE_MS))},_=setTimeout(()=>A(`Timed out after ${r}ms`),r),P=()=>A("Aborted");n?.aborted?P():n?.addEventListener("abort",P,{once:!0}),d.on("close",t=>$({stdout:p,stderr:w,exitCode:t??-1})),d.on("error",t=>$({stdout:p,stderr:w+String(t),exitCode:-1}))})}};async function g(t,e,a,i){if(t.length<=i.max)return t;let o=(0,n.join)(a,i.dir),s=(0,n.join)(o,`${new Date().toISOString().replace(/[:.]/g,"-")}-${e.replace(/[^a-zA-Z0-9_-]+/g,"_")}.txt`),l=s;try{await (0,r.mkdir)(o,{recursive:!0}),await (0,r.writeFile)(s,t),l=(0,n.relative)(a,s)||s}catch{l="(could not be written to a file)"}let c=(t.match(/\n/g)?.length??0)+1;return`${t.slice(0,i.head).trimEnd()}
3
3
 
4
4
  [${e} cut at ${i.max.toLocaleString("en")} chars — the whole thing (${c} lines) is at ${l}. Read the part you need with \`sed -n\`.]
5
5
 
6
- ${t.slice(-i.tail).trimStart()}`}t.s(["BASH",0,T,"createSandBox",0,b,"walkFiles",0,$],73829);var g=t.i(64774);let P=o.APP_DIR,E=(0,n.join)(o.DATA_DIR,o.PATHS.workspace),R=(process.env.THURSDAY_TOOL_PATH?.split(":")??[(0,n.join)(P,"node_modules",".bin")]).filter(Boolean),I=(0,n.join)(E,o.PATHS.artifacts),v=[o.PATHS.artifacts,o.PATHS.projects,o.PATHS.scratch,o.PATHS.bots],H=new Set([...v,".agents"]),L=".playwright-cli",O=(t,e)=>e===t||e.startsWith(t+n.sep),k=t=>(0,r.realpath)(t).catch(()=>null);async function j(t){let e=await k(E)??E,a=(0,n.resolve)(E,t);if(!O(E,a))return null;let r=a,i=await k(r);for(;null===i&&(0,n.dirname)(r)!==r;)r=(0,n.dirname)(r),i=await k(r);if(null===i)return null;let o=(0,n.relative)(r,a),s=o?(0,n.join)(i,o):i;return O(e,s)?s:null}function W(t,e){return`${o.PATHS.scratch}/${(0,g.slug)(e)||"job"}-${t.slice(0,6)}`}let C=t=>`${o.PATHS.bots}/${t.replace(/[^\p{L}\p{N}_-]+/gu,"-")}`,x=t=>`${o.PATHS.artifacts}/${t.replace(/[^\p{L}\p{N}_-]+/gu,"-")}`;async function D(t){let e=C(t),a=x(t);return await Promise.all([e,a].map(t=>(0,r.mkdir)((0,n.join)(E,t),{recursive:!0}))),{own:e,artifacts:a}}async function B(t,e){let a=W(t,e);return await (0,r.mkdir)((0,n.join)(E,a),{recursive:!0}),a}let N=t=>({PLAYWRIGHT_MCP_BROWSER:"chromium",...t?{PLAYWRIGHT_CLI_SESSION:`thread-${t}`,PLAYWRIGHT_MCP_VIEWPORT_SIZE:o.BROWSER_VIEWPORT}:{}}),F=null,U={runtimes:["node","python3","uv","bun","deno"],managers:["pnpm","npm","yarn"]};async function Y(t){let e=Object.values(U).flat(),{stdout:a}=await t.exec(e.map(t=>`command -v ${t} >/dev/null 2>&1 && printf '%s ' ${t}`).join("; "),{timeoutMs:1e4}),r=new Set(a.trim().split(/\s+/).filter(Boolean)),i=t=>({found:t.filter(t=>r.has(t)),missing:t.filter(t=>!r.has(t))});return{runtimes:i(U.runtimes),managers:i(U.managers),browser:F}}async function G(){if(process.env.THURSDAY_SKIP_BROWSER)return;let t=await to(),e=await t.exec("playwright-cli install-browser chromium").catch(t=>({exitCode:1,stderr:String(t)}));(F=0===e.exitCode)||m.logger.warn(`no browser — bots cannot open a page until \`playwright-cli install-browser chromium\` succeeds: ${e.stderr.trim().split("\n").at(-1)??""}`)}async function K(){await te(),await tt()}async function J(t,e){let{browsers:a}=JSON.parse((await t.exec("playwright-cli list --json",{env:e,timeoutMs:o.BROWSER_CLI.readMs})).stdout||"{}");return a??[]}async function q(t){await z(t,await Q(t,!1))}async function X(t){await Q(t,!0)}async function Z(t){await z(t,await Q(t,!0))}async function z(t,e){let a=await V(),i=N(t).PLAYWRIGHT_CLI_SESSION;for(let t of(await (0,r.readdir)(a).catch(()=>[]))){let o=t.startsWith("ud-")?t.slice(3):t;(o===i||o.startsWith(`${i}-`)||o.startsWith(`${i}.`))&&(e.some(t=>o===t||o.startsWith(`${t}-`)||o.startsWith(`${t}.`))||await (0,r.rm)((0,n.join)(a,t),{recursive:!0,force:!0}).catch(e=>m.logger.warn(`browser data ${t}: ${String(e)}`)))}}async function V(){let t=process.env.XDG_CACHE_HOME||(0,n.join)((0,i.homedir)(),".cache"),a=await (0,r.realpath)(E).catch(()=>E);return(0,n.join)(t,"ms-playwright","daemon",(0,e.createHash)("sha1").update(a).digest("hex").slice(0,16))}async function Q(t,e){let r=await to(),i=N(t),n=await J(r,i).then(t=>t.filter(t=>t.name===i.PLAYWRIGHT_CLI_SESSION||t.name.startsWith(`${i.PLAYWRIGHT_CLI_SESSION}-`))).catch(()=>[]),s=n.length?await V():"";s&&!(0,a.existsSync)(s)&&m.logger.warn(`playwright-cli keeps this workspace's browsers somewhere other than ${s}: removing a thread will leave its browser profiles on disk`);let l=[];for(let t of n){if(t.attached||!e&&!1!==t.headed){l.push(t.name);continue}await r.exec("playwright-cli close",{env:{...i,PLAYWRIGHT_CLI_SESSION:t.name},timeoutMs:o.BROWSER_CLI.readMs}).catch(()=>{})}return await K(),l}let tt=()=>ta(o.PATHS.output),te=()=>ta(L);async function ta(t){let e=(0,n.join)(E,t),a=await (0,r.readdir)(e,{withFileTypes:!0}).catch(()=>[]),i=Date.now()-o.WORKSPACE_KEEP.forMs;for(let t of a){if(!t.isFile())continue;let a=(0,n.join)(e,t.name),o=await (0,r.stat)(a).catch(()=>null);o&&o.mtimeMs<i&&await (0,r.unlink)(a).catch(()=>{})}}async function tr(){return(await (0,r.readdir)((0,n.join)(E,o.PATHS.scratch),{withFileTypes:!0}).catch(()=>[])).filter(t=>t.isDirectory()).map(t=>`${o.PATHS.scratch}/${t.name}`)}async function ti(t){let e=Date.now()-o.WORKSPACE_KEEP.forMs,a=[];for(let i of t){let t=(0,n.join)(E,i),o=await (0,r.stat)(t).catch(()=>null);o?.isDirectory()&&!(o.mtimeMs>=e)&&(await (0,r.rm)(t,{recursive:!0,force:!0}).catch(()=>{}),a.push(i))}return a}let tn={"pnpm-workspace.yaml":"packages:\n - '**'\n",".npmrc":"recursive-install=false\n"};async function to(){for(let t of[...v,".playwright"])await (0,r.mkdir)((0,n.join)(E,t),{recursive:!0});for(let[t,e]of Object.entries(tn))await (0,r.writeFile)((0,n.join)(E,t),e,{flag:"wx"}).catch(()=>{});return b({workingDirectory:E,spill:{dir:o.PATHS.output,...o.TOOL_OUTPUT},toolPath:R})}async function ts(t,e){let a=t.map(t=>(0,n.resolve)(E,t));if(e){let t=0;for await(let r of $((0,n.join)(E,e)))if(a.push(r),(t+=1)>=o.JOB_FOLDER_WALK)break}let i=new Map;for(let t of a){let e=await (0,r.stat)(t).catch(()=>null);if(!e?.isFile())continue;let a=(0,n.relative)(E,t);i.set(a&&!a.startsWith("..")?a:t,e.mtimeMs)}return[...i].sort((t,e)=>t[1]-e[1]).map(([t])=>t)}async function tl(t,e){let a=W(t,e);await (0,r.rm)((0,n.join)(E,a),{recursive:!0,force:!0}).catch(t=>m.logger.warn(`job folder ${a}: ${String(t)}`))}t.s(["WORKSPACE",0,E,"botArtifacts",0,x,"botBrowserSession",0,(t,a)=>`${t}-bot-${(0,e.createHash)("sha256").update(a.trim().toLowerCase()).digest("hex").slice(0,20)}`,"botFolder",0,C,"botShellEnv",0,(t,e)=>({THURSDAY_BOT:t,THURSDAY_BOT_MARK:JSON.stringify(function(t,e){let{head:a,eyes:r}=function(t,e=f.shape){let a=(t,e)=>(function(t){let e=t.tilt*Math.PI/180,a=Math.cos(e),r=Math.sin(e),i=(e,i)=>[t.cx+e*a-i*r,t.cy+e*r+i*a],n=-t.len/2,o=t.len/2,s=[],l=[];for(let e=0;e<=30;e++){let a=e/30,r=1-a,c=r*r*n+a*a*o,u=-(2*r*a*t.bend),h=-(2*r*n)+2*a*o,d=-(2*r*t.bend)+2*a*t.bend,f=Math.hypot(h,d)||1,p=-d/f,w=h/f,m=t.width/2*Math.sin(Math.PI*a)**t.taper;s.push(i(c+p*m,u+w*m)),l.push(i(c-p*m,u-w*m))}let u=`M${c(s[0][0])} ${c(s[0][1])}`;for(let t=1;t<=30;t++)u+=`L${c(s[t][0])} ${c(s[t][1])}`;for(let t=29;t>=0;t--)u+=`L${c(l[t][0])} ${c(l[t][1])}`;return`${u}Z`})({len:f.eyeLen,width:f.eyeWidth,bend:f.eyeBend,taper:f.eyeTaper,tilt:e,cx:t,cy:f.eyeY});return{head:function(t){let e=t.map((t,e)=>{let a=e/128*l;return[120+Math.cos(a)*t,120+Math.sin(a)*t]}),a=`M${c(e[0][0])} ${c(e[0][1])}`;for(let t=0;t<128;t++){let r=e[(t-1+128)%128],i=e[t],n=e[(t+1)%128],o=e[(t+2)%128],s=i[0]+(n[0]-r[0])/6,l=i[1]+(n[1]-r[1])/6,u=n[0]-(o[0]-i[0])/6,h=n[1]-(o[1]-i[1])/6;a+=`C${c(s)} ${c(l)} ${c(u)} ${c(h)} ${c(n[0])} ${c(n[1])}`}return`${a}Z`}(function(t,e,a){var r,i,n;let o=`${"poly"===e?`poly|${t.sides}|${t.corner}|${t.rotation}|${a}`:"squircle"===e?`squircle|${t.squircle}|${a}`:"heart"===e?`heart|${a}`:`blob|${t.wobble}|${a}`}|${t.autofit}`,s=w.get(o);if(s)return s;let c=function(t){let e=Array(128);for(let a=0;a<128;a++){let r=a/128*l,i=Math.cos(r),n=Math.sin(r),o=0;for(let e=0;e<t.length;e++){let a=t[e],r=t[(e+1)%t.length],s=r[0]-a[0],l=r[1]-a[1],c=i*l-n*s;if(1e-9>Math.abs(c))continue;let u=a[0]-120,h=a[1]-120,d=(u*l-h*s)/c,f=(u*n-h*i)/c;d>o&&f>=-1e-9&&f<=1+1e-9&&(o=d)}e[a]=o||112}return e}((r=t,i=e,n=a,"squircle"===i?function(t){let e=[],a=2/t;for(let t=0;t<360;t++){let r=t/360*l,i=Math.cos(r),n=Math.sin(r);e.push([120+Math.sign(i)*Math.abs(i)**a*112,120+Math.sign(n)*Math.abs(n)**a*112])}return e}(r.squircle):"poly"===i?function(t,e,a){let r=a*Math.PI/180-Math.PI/2,i=[];for(let e=0;e<t;e++){let a=r+e/t*l;i.push([120+112*Math.cos(a),120+112*Math.sin(a)])}let n=(Math.PI-l/t)/2,o=224*Math.sin(Math.PI/t)/2*Math.tan(n)*Math.min(1,Math.max(.001,e)),s=o/Math.tan(n),c=[];for(let e=0;e<t;e++){let a=i[e],r=i[(e-1+t)%t],u=i[(e+1)%t],f=d(h(r,a)),p=d(h(u,a)),w=[a[0]+f[0]*s,a[1]+f[1]*s],m=d([f[0]+p[0],f[1]+p[1]]),S=[a[0]+m[0]*o/Math.sin(n),a[1]+m[1]*o/Math.sin(n)],y=Math.atan2(w[1]-S[1],w[0]-S[0]),T=[a[0]+p[0]*s,a[1]+p[1]*s],M=Math.atan2(T[1]-S[1],T[0]-S[0])-y;for(;M>Math.PI;)M-=l;for(;M<-Math.PI;)M+=l;for(let t=0;t<=20;t++){let e=y+t/20*M;c.push([S[0]+Math.cos(e)*o,S[1]+Math.sin(e)*o])}}return c}(r.sides,r.corner,r.rotation):"heart"===i?function(){let t=[];for(let e=0;e<400;e++){let a=e/400*l,r=16*Math.sin(a)**3,i=13*Math.cos(a)-5*Math.cos(2*a)-2*Math.cos(3*a)-Math.cos(4*a);t.push([120+6.6*r,120-(i+2.2)*7.26])}return t}():function(t,e){let a=u(t),r=[1,2,3,4,5].map(t=>({k:t,a:(2*a()-1)/t,p:a()*l})),i=[],n=0;for(let t=0;t<360;t++){let e=t/360*l,a=0;for(let t of r)a+=t.a*Math.sin(t.k*e+t.p);i.push(a),n=Math.max(n,Math.abs(a))}let o=n>0?e/n:0;return i.map((t,e)=>{let a=e/360*l,r=112*(1+t*o);return[120+Math.cos(a)*r,120+Math.sin(a)*r]})}(n,r.wobble))),f="blob"===e?c:"heart"===e?function(t,e){let a=t;for(let t=0;t<2;t++){let t=a;a=t.map((e,a)=>{let r=0;for(let e=-3;e<=3;e++)r+=t[(a+e+128)%128];return r/7})}let r=a.reduce((t,e)=>t+e,0)/128,i=p(a.map(t=>.95*t+.05*r),e,.05),n=Math.round((2*u(20977^e)()-1)*3);return n?i.map((t,e)=>i[(e-n+256)%128]):i}(c,a):p(c,a),m=t.autofit?function(t){let e=l/128,a=0,r=0;for(let i of t)a+=.5*i*i*e,i>r&&(r=i);if(a<=0)return t;let i=Math.min(Math.sqrt(112*Math.PI*112/a),130/r);return t.map(t=>t*i)}(f):f;return w.size>400&&w.clear(),w.set(o,m),m}(f,e,function(t){if("number"==typeof t)return t;let e=0x811c9dc5;for(let a=0;a<t.length;a++)e=Math.imul(e^t.charCodeAt(a),0x1000193);return(e>>>0)%1e4}(t))),eyes:[a(120-f.eyeGap/2,f.eyeTilt),a(120+f.eyeGap/2,f.eyeTilt+f.eyeSkew)]}}(t,e?.shape??f.shape),i=e?.paint?s.MARK_PAINTS[e.paint]:null;return{head:a,eyes:r,ink:(0,s.markInk)(e?.color??s.MARK_SYSTEM,!1),paint:i?"aurora"===i.look?i.colors.slice(0,2):[...i.colors]:null,outline:e?.outline===!0}}(t,e)),THURSDAY_ARTIFACTS:(0,n.join)(E,x(t)),THURSDAY_SKILLS:(0,n.join)(o.APP_DIR,o.PATHS.skills.default),THURSDAY_TOOL_OUTPUT:String(o.TOOL_OUTPUT.max),DISABLE_TELEMETRY:"1"}),"browserStateFile",0,()=>`${L}/state-${crypto.randomUUID()}.json`,"closeHiddenBrowser",0,q,"closeJobShell",0,X,"ensureBrowser",0,G,"filesOnDisk",0,ts,"insideWorkspace",0,j,"jobScratch",0,W,"jobShellEnv",0,N,"listBrowsers",0,J,"listScratchFolders",0,tr,"openBotFolders",0,D,"openJobScratch",0,B,"openWorkspace",0,to,"pruneJobFiles",0,K,"readMachineTools",0,Y,"removeJobBrowsers",0,Z,"removeJobScratch",0,tl,"removeUnchangedFolders",0,ti,"saveBrowserState",0,t=>`mkdir -p ${L} && playwright-cli state-save ${t}`,"writeRefusal",0,function(t,e){if(O(E,t)){let r=(0,n.relative)(E,t),[i,s]=r.split(n.sep);return i&&H.has(i)?e&&i===o.PATHS.artifacts&&s&&s.toLowerCase()!==e.replace(/[^\p{L}\p{N}_-]+/gu,"-").toLowerCase()&&!(0,a.existsSync)((0,n.join)(I,s))?`Not written: ${r} would sit loose at the top of ${o.PATHS.artifacts}/. Your finished work goes in ${x(e)}/.`:null:`Not written: ${r||"the workspace root"} is outside the workspace's folders. Finished work goes under ${e?x(e):o.PATHS.artifacts}/, code under ${o.PATHS.projects}/, your own kit under ${o.PATHS.bots}/, and this job's working material under ${o.PATHS.scratch}/.`}return O(P,t)?`Not written: ${t} is inside the app that is running you, not the user's files. Work in ${E}; outside it, write only where the user pointed you.`:null}],871096)}];
6
+ ${t.slice(-i.tail).trimStart()}`}t.s(["BASH",0,M,"createSandBox",0,_,"walkFiles",0,A],73829);var P=t.i(64774);let E=s.APP_DIR,R=(0,n.join)(s.DATA_DIR,s.PATHS.workspace),I=(process.env.THURSDAY_TOOL_PATH?.split(":")??[(0,n.join)(E,"node_modules",".bin")]).filter(Boolean),v=(0,n.join)(R,s.PATHS.artifacts),H=[s.PATHS.artifacts,s.PATHS.projects,s.PATHS.scratch,s.PATHS.bots],L=new Set([...H,".agents"]),O=".playwright-cli",k=(t,e)=>e===t||e.startsWith(t+n.sep),j=t=>(0,r.realpath)(t).catch(()=>null);async function W(t){let e=await j(R)??R,a=(0,n.resolve)(R,t);if(!k(R,a))return null;let r=a,i=await j(r);for(;null===i&&(0,n.dirname)(r)!==r;)r=(0,n.dirname)(r),i=await j(r);if(null===i)return null;let o=(0,n.relative)(r,a),s=o?(0,n.join)(i,o):i;return k(e,s)?s:null}function x(t,e){return`${s.PATHS.scratch}/${(0,P.slug)(e)||"job"}-${t.slice(0,6)}`}let C=t=>`${s.PATHS.bots}/${t.replace(/[^\p{L}\p{N}_-]+/gu,"-")}`,D=t=>`${s.PATHS.artifacts}/${t.replace(/[^\p{L}\p{N}_-]+/gu,"-")}`;async function B(t){let e=C(t),a=D(t);return await Promise.all([e,a].map(t=>(0,r.mkdir)((0,n.join)(R,t),{recursive:!0}))),{own:e,artifacts:a}}async function F(t,e){let a=x(t,e);return await (0,r.mkdir)((0,n.join)(R,a),{recursive:!0}),a}let N=t=>({PLAYWRIGHT_MCP_BROWSER:"chromium",...t?{PLAYWRIGHT_CLI_SESSION:`thread-${t}`,PLAYWRIGHT_MCP_VIEWPORT_SIZE:s.BROWSER_VIEWPORT}:{}}),U=null,Y={runtimes:["node","python3","uv","bun","deno"],managers:["pnpm","npm","yarn"]};async function G(t){let e=Object.values(Y).flat(),{stdout:a}=await t.exec(e.map(t=>`command -v ${t} >/dev/null 2>&1 && printf '%s ' ${t}`).join("; "),{timeoutMs:1e4}),r=new Set(a.trim().split(/\s+/).filter(Boolean)),i=t=>({found:t.filter(t=>r.has(t)),missing:t.filter(t=>!r.has(t))});return{runtimes:i(Y.runtimes),managers:i(Y.managers),browser:U}}async function K(){if(process.env.THURSDAY_SKIP_BROWSER)return;let t=await ts(),e=await t.exec("playwright-cli install-browser chromium").catch(t=>({exitCode:1,stderr:String(t)}));(U=0===e.exitCode)||S.logger.warn(`no browser — bots cannot open a page until \`playwright-cli install-browser chromium\` succeeds: ${e.stderr.trim().split("\n").at(-1)??""}`)}async function J(){await ta(),await te()}async function q(t,e){let{browsers:a}=JSON.parse((await t.exec("playwright-cli list --json",{env:e,timeoutMs:s.BROWSER_CLI.readMs})).stdout||"{}");return a??[]}async function X(t){await V(t,await tt(t,!1))}async function Z(t){await tt(t,!0)}async function z(t){await V(t,await tt(t,!0))}async function V(t,e){let a=await Q(),i=N(t).PLAYWRIGHT_CLI_SESSION;for(let t of(await (0,r.readdir)(a).catch(()=>[]))){let o=t.startsWith("ud-")?t.slice(3):t;(o===i||o.startsWith(`${i}-`)||o.startsWith(`${i}.`))&&(e.some(t=>o===t||o.startsWith(`${t}-`)||o.startsWith(`${t}.`))||await (0,r.rm)((0,n.join)(a,t),{recursive:!0,force:!0}).catch(e=>S.logger.warn(`browser data ${t}: ${String(e)}`)))}}async function Q(){let t=process.env.XDG_CACHE_HOME||(0,n.join)((0,i.homedir)(),".cache"),a=await (0,r.realpath)(R).catch(()=>R);return(0,n.join)(t,"ms-playwright","daemon",(0,e.createHash)("sha1").update(a).digest("hex").slice(0,16))}async function tt(t,e){let r=await ts(),i=N(t),n=await q(r,i).then(t=>t.filter(t=>t.name===i.PLAYWRIGHT_CLI_SESSION||t.name.startsWith(`${i.PLAYWRIGHT_CLI_SESSION}-`))).catch(()=>[]),o=n.length?await Q():"";o&&!(0,a.existsSync)(o)&&S.logger.warn(`playwright-cli keeps this workspace's browsers somewhere other than ${o}: removing a thread will leave its browser profiles on disk`);let l=[];for(let t of n){if(t.attached||!e&&!1!==t.headed){l.push(t.name);continue}await r.exec("playwright-cli close",{env:{...i,PLAYWRIGHT_CLI_SESSION:t.name},timeoutMs:s.BROWSER_CLI.readMs}).catch(()=>{})}return await J(),l}let te=()=>tr(s.PATHS.output),ta=()=>tr(O);async function tr(t){let e=(0,n.join)(R,t),a=await (0,r.readdir)(e,{withFileTypes:!0}).catch(()=>[]),i=Date.now()-s.WORKSPACE_KEEP.forMs;for(let t of a){if(!t.isFile())continue;let a=(0,n.join)(e,t.name),o=await (0,r.stat)(a).catch(()=>null);o&&o.mtimeMs<i&&await (0,r.unlink)(a).catch(()=>{})}}async function ti(){return(await (0,r.readdir)((0,n.join)(R,s.PATHS.scratch),{withFileTypes:!0}).catch(()=>[])).filter(t=>t.isDirectory()).map(t=>`${s.PATHS.scratch}/${t.name}`)}async function tn(t){let e=Date.now()-s.WORKSPACE_KEEP.forMs,a=[];for(let i of t){let t=(0,n.join)(R,i),o=await (0,r.stat)(t).catch(()=>null);o?.isDirectory()&&!(o.mtimeMs>=e)&&(await (0,r.rm)(t,{recursive:!0,force:!0}).catch(()=>{}),a.push(i))}return a}let to={"pnpm-workspace.yaml":"packages:\n - '**'\n",".npmrc":"recursive-install=false\n"};async function ts(){for(let t of[...H,".playwright"])await (0,r.mkdir)((0,n.join)(R,t),{recursive:!0});for(let[t,e]of Object.entries(to))await (0,r.writeFile)((0,n.join)(R,t),e,{flag:"wx"}).catch(()=>{});let t=_({workingDirectory:R,spill:{dir:s.PATHS.output,...s.TOOL_OUTPUT},toolPath:I}),e=()=>o.appEvents.emit({type:"files"});return{...t,exec:(a,r)=>t.exec(a,r).finally(e),writeFile:(a,r)=>t.writeFile(a,r).finally(e)}}async function tl(t,e){let a=t.map(t=>(0,n.resolve)(R,t));if(e){let t=0;for await(let r of A((0,n.join)(R,e)))if(a.push(r),(t+=1)>=s.JOB_FOLDER_WALK)break}let i=new Map;for(let t of a){let e=await (0,r.stat)(t).catch(()=>null);if(!e?.isFile())continue;let a=(0,n.relative)(R,t);i.set(a&&!a.startsWith("..")?a:t,e.mtimeMs)}return[...i].sort((t,e)=>t[1]-e[1]).map(([t])=>t)}async function tc(t,e){let a=x(t,e);await (0,r.rm)((0,n.join)(R,a),{recursive:!0,force:!0}).catch(t=>S.logger.warn(`job folder ${a}: ${String(t)}`))}t.s(["WORKSPACE",0,R,"botArtifacts",0,D,"botBrowserSession",0,(t,a)=>`${t}-bot-${(0,e.createHash)("sha256").update(a.trim().toLowerCase()).digest("hex").slice(0,20)}`,"botFolder",0,C,"botShellEnv",0,(t,e)=>({THURSDAY_BOT:t,THURSDAY_BOT_MARK:JSON.stringify(function(t,e){let{head:a,eyes:r}=function(t,e=p.shape){let a=(t,e)=>(function(t){let e=t.tilt*Math.PI/180,a=Math.cos(e),r=Math.sin(e),i=(e,i)=>[t.cx+e*a-i*r,t.cy+e*r+i*a],n=-t.len/2,o=t.len/2,s=[],l=[];for(let e=0;e<=30;e++){let a=e/30,r=1-a,c=r*r*n+a*a*o,u=-(2*r*a*t.bend),h=-(2*r*n)+2*a*o,f=-(2*r*t.bend)+2*a*t.bend,d=Math.hypot(h,f)||1,p=-f/d,w=h/d,m=t.width/2*Math.sin(Math.PI*a)**t.taper;s.push(i(c+p*m,u+w*m)),l.push(i(c-p*m,u-w*m))}let c=`M${u(s[0][0])} ${u(s[0][1])}`;for(let t=1;t<=30;t++)c+=`L${u(s[t][0])} ${u(s[t][1])}`;for(let t=29;t>=0;t--)c+=`L${u(l[t][0])} ${u(l[t][1])}`;return`${c}Z`})({len:p.eyeLen,width:p.eyeWidth,bend:p.eyeBend,taper:p.eyeTaper,tilt:e,cx:t,cy:p.eyeY});return{head:function(t){let e=t.map((t,e)=>{let a=e/128*c;return[120+Math.cos(a)*t,120+Math.sin(a)*t]}),a=`M${u(e[0][0])} ${u(e[0][1])}`;for(let t=0;t<128;t++){let r=e[(t-1+128)%128],i=e[t],n=e[(t+1)%128],o=e[(t+2)%128],s=i[0]+(n[0]-r[0])/6,l=i[1]+(n[1]-r[1])/6,c=n[0]-(o[0]-i[0])/6,h=n[1]-(o[1]-i[1])/6;a+=`C${u(s)} ${u(l)} ${u(c)} ${u(h)} ${u(n[0])} ${u(n[1])}`}return`${a}Z`}(function(t,e,a){var r,i,n;let o=`${"poly"===e?`poly|${t.sides}|${t.corner}|${t.rotation}|${a}`:"squircle"===e?`squircle|${t.squircle}|${a}`:"heart"===e?`heart|${a}`:`blob|${t.wobble}|${a}`}|${t.autofit}`,s=m.get(o);if(s)return s;let l=function(t){let e=Array(128);for(let a=0;a<128;a++){let r=a/128*c,i=Math.cos(r),n=Math.sin(r),o=0;for(let e=0;e<t.length;e++){let a=t[e],r=t[(e+1)%t.length],s=r[0]-a[0],l=r[1]-a[1],c=i*l-n*s;if(1e-9>Math.abs(c))continue;let u=a[0]-120,h=a[1]-120,f=(u*l-h*s)/c,d=(u*n-h*i)/c;f>o&&d>=-1e-9&&d<=1+1e-9&&(o=f)}e[a]=o||112}return e}((r=t,i=e,n=a,"squircle"===i?function(t){let e=[],a=2/t;for(let t=0;t<360;t++){let r=t/360*c,i=Math.cos(r),n=Math.sin(r);e.push([120+Math.sign(i)*Math.abs(i)**a*112,120+Math.sign(n)*Math.abs(n)**a*112])}return e}(r.squircle):"poly"===i?function(t,e,a){let r=a*Math.PI/180-Math.PI/2,i=[];for(let e=0;e<t;e++){let a=r+e/t*c;i.push([120+112*Math.cos(a),120+112*Math.sin(a)])}let n=(Math.PI-c/t)/2,o=224*Math.sin(Math.PI/t)/2*Math.tan(n)*Math.min(1,Math.max(.001,e)),s=o/Math.tan(n),l=[];for(let e=0;e<t;e++){let a=i[e],r=i[(e-1+t)%t],u=i[(e+1)%t],h=d(f(r,a)),p=d(f(u,a)),w=[a[0]+h[0]*s,a[1]+h[1]*s],m=d([h[0]+p[0],h[1]+p[1]]),S=[a[0]+m[0]*o/Math.sin(n),a[1]+m[1]*o/Math.sin(n)],y=Math.atan2(w[1]-S[1],w[0]-S[0]),T=[a[0]+p[0]*s,a[1]+p[1]*s],M=Math.atan2(T[1]-S[1],T[0]-S[0])-y;for(;M>Math.PI;)M-=c;for(;M<-Math.PI;)M+=c;for(let t=0;t<=20;t++){let e=y+t/20*M;l.push([S[0]+Math.cos(e)*o,S[1]+Math.sin(e)*o])}}return l}(r.sides,r.corner,r.rotation):"heart"===i?function(){let t=[];for(let e=0;e<400;e++){let a=e/400*c,r=16*Math.sin(a)**3,i=13*Math.cos(a)-5*Math.cos(2*a)-2*Math.cos(3*a)-Math.cos(4*a);t.push([120+6.6*r,120-(i+2.2)*7.26])}return t}():function(t,e){let a=h(t),r=[1,2,3,4,5].map(t=>({k:t,a:(2*a()-1)/t,p:a()*c})),i=[],n=0;for(let t=0;t<360;t++){let e=t/360*c,a=0;for(let t of r)a+=t.a*Math.sin(t.k*e+t.p);i.push(a),n=Math.max(n,Math.abs(a))}let o=n>0?e/n:0;return i.map((t,e)=>{let a=e/360*c,r=112*(1+t*o);return[120+Math.cos(a)*r,120+Math.sin(a)*r]})}(n,r.wobble))),u="blob"===e?l:"heart"===e?function(t,e){let a=t;for(let t=0;t<2;t++){let t=a;a=t.map((e,a)=>{let r=0;for(let e=-3;e<=3;e++)r+=t[(a+e+128)%128];return r/7})}let r=a.reduce((t,e)=>t+e,0)/128,i=w(a.map(t=>.95*t+.05*r),e,.05),n=Math.round((2*h(20977^e)()-1)*3);return n?i.map((t,e)=>i[(e-n+256)%128]):i}(l,a):w(l,a),p=t.autofit?function(t){let e=c/128,a=0,r=0;for(let i of t)a+=.5*i*i*e,i>r&&(r=i);if(a<=0)return t;let i=Math.min(Math.sqrt(112*Math.PI*112/a),130/r);return t.map(t=>t*i)}(u):u;return m.size>400&&m.clear(),m.set(o,p),p}(p,e,function(t){if("number"==typeof t)return t;let e=0x811c9dc5;for(let a=0;a<t.length;a++)e=Math.imul(e^t.charCodeAt(a),0x1000193);return(e>>>0)%1e4}(t))),eyes:[a(120-p.eyeGap/2,p.eyeTilt),a(120+p.eyeGap/2,p.eyeTilt+p.eyeSkew)]}}(t,e?.shape??p.shape),i=e?.paint?l.MARK_PAINTS[e.paint]:null;return{head:a,eyes:r,ink:(0,l.markInk)(e?.color??l.MARK_SYSTEM,!1),paint:i?"aurora"===i.look?i.colors.slice(0,2):[...i.colors]:null,outline:e?.outline===!0}}(t,e)),THURSDAY_ARTIFACTS:(0,n.join)(R,D(t)),THURSDAY_SKILLS:(0,n.join)(s.APP_DIR,s.PATHS.skills.default),THURSDAY_TOOL_OUTPUT:String(s.TOOL_OUTPUT.max),DISABLE_TELEMETRY:"1"}),"browserStateFile",0,()=>`${O}/state-${crypto.randomUUID()}.json`,"closeHiddenBrowser",0,X,"closeJobShell",0,Z,"ensureBrowser",0,K,"filesOnDisk",0,tl,"insideWorkspace",0,W,"jobScratch",0,x,"jobShellEnv",0,N,"listBrowsers",0,q,"listScratchFolders",0,ti,"openBotFolders",0,B,"openJobScratch",0,F,"openWorkspace",0,ts,"pruneJobFiles",0,J,"readMachineTools",0,G,"removeJobBrowsers",0,z,"removeJobScratch",0,tc,"removeUnchangedFolders",0,tn,"saveBrowserState",0,t=>`mkdir -p ${O} && playwright-cli state-save ${t}`,"writeRefusal",0,function(t,e){if(k(R,t)){let r=(0,n.relative)(R,t),[i,o]=r.split(n.sep);return i&&L.has(i)?e&&i===s.PATHS.artifacts&&o&&o.toLowerCase()!==e.replace(/[^\p{L}\p{N}_-]+/gu,"-").toLowerCase()&&!(0,a.existsSync)((0,n.join)(v,o))?`Not written: ${r} would sit loose at the top of ${s.PATHS.artifacts}/. Your finished work goes in ${D(e)}/.`:null:`Not written: ${r||"the workspace root"} is outside the workspace's folders. Finished work goes under ${e?D(e):s.PATHS.artifacts}/, code under ${s.PATHS.projects}/, your own kit under ${s.PATHS.bots}/, and this job's working material under ${s.PATHS.scratch}/.`}return k(E,t)?`Not written: ${t} is inside the app that is running you, not the user's files. Work in ${R}; outside it, write only where the user pointed you.`:null}],871096)}];
7
7
 
8
8
  //# sourceMappingURL=features_workspace_workspace_ts_1iyjroj._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[967030,e=>{e.v(e=>Promise.resolve().then(()=>e(783697)))},683671,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@vercel_oidc_dist_token_1o4m7ms.js"].map(s=>e.l(s))).then(()=>s(390391)))},329280,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_readline_1u65a-m._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_02axwqv._.js"].map(s=>e.l(s))).then(()=>s(781937)))}];
2
2
 
3
- //# sourceMappingURL=node_modules_1rosz79._.js.map
3
+ //# sourceMappingURL=node_modules_035o7ku._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[967030,e=>{e.v(e=>Promise.resolve().then(()=>e(783697)))},683671,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@vercel_oidc_dist_token_1o4m7ms.js"].map(s=>e.l(s))).then(()=>s(390391)))},329280,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_readline_1u65a-m._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_02axwqv._.js"].map(s=>e.l(s))).then(()=>s(781937)))}];
2
2
 
3
- //# sourceMappingURL=node_modules_1er1u8w._.js.map
3
+ //# sourceMappingURL=node_modules_0tn5t13._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[967030,e=>{e.v(e=>Promise.resolve().then(()=>e(783697)))},683671,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@vercel_oidc_dist_token_1o4m7ms.js"].map(s=>e.l(s))).then(()=>s(390391)))},329280,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_readline_1u65a-m._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_02axwqv._.js"].map(s=>e.l(s))).then(()=>s(781937)))}];
2
2
 
3
- //# sourceMappingURL=node_modules_103lpef._.js.map
3
+ //# sourceMappingURL=node_modules_12oq3hr._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[329280,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_readline_1u65a-m._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_02axwqv._.js"].map(s=>e.l(s))).then(()=>s(781937)))}];
2
2
 
3
- //# sourceMappingURL=node_modules_consola_dist_chunks_prompt_mjs_0g87zst._.js.map
3
+ //# sourceMappingURL=node_modules_consola_dist_chunks_prompt_mjs_0yd5xa0._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},773791,a=>{"use strict";a.s(["AppEventSource",()=>c,"useAppEvent",()=>d]);var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AppEventSource() from the server but AppEventSource is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/api/events/app-event.client.ts","AppEventSource"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useAppEvent() from the server but useAppEvent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/api/events/app-event.client.ts","useAppEvent")},33795,a=>{"use strict";var b=a.i(773791);a.n(b)},326758,a=>{a.v("/_next/static/media/favicon.37o1pjldwi2uc.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},438872,a=>{"use strict";let b={src:a.i(326758).default,width:48,height:48};a.s(["default",0,b])},50708,a=>a.a(async(b,c)=>{try{var d=a.i(907997),e=a.i(33795),f=a.i(636616),g=a.i(725466),h=a.i(84389),i=a.i(180112),j=a.i(811368),k=a.i(587370),l=a.i(569549),m=b([g,l]);async function n({searchParams:a}){let{intro:b}=await a,[c,m]=await Promise.all([(0,g.isCallable)(),(0,l.hasAnyCall)()]);return(0,d.jsxs)("div",{className:"h-full min-h-0 flex-1",children:[(0,d.jsx)(k.Thursday,{ready:c}),(0,d.jsx)(h.Intro,{ready:c,firstRun:!m,forced:void 0!==b,icons:(0,f.rollSeedIcons)()}),(0,d.jsx)(i.ReachAsk,{}),(0,d.jsx)(j.Boot,{}),(0,d.jsx)(e.AppEventSource,{})]})}[g,l]=m.then?(await m)():m,a.s(["default",0,n]),c()}catch(a){c(a)}},!1),826030,function(a){a.n(a.i(50708))},982616,a=>{"use strict";a.s(["Intro",()=>b]);let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call Intro() from the server but Intro is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/features/intro/components/intro.tsx","Intro")},84389,a=>{"use strict";var b=a.i(982616);a.n(b)},663137,a=>{"use strict";a.s(["ReachAsk",()=>b]);let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call ReachAsk() from the server but ReachAsk is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/features/reach/components/reach-ask.tsx","ReachAsk")},180112,a=>{"use strict";var b=a.i(663137);a.n(b)},128756,a=>{"use strict";a.s(["Boot",()=>b]);let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call Boot() from the server but Boot is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/features/thursday/components/boot.tsx","Boot")},811368,a=>{"use strict";var b=a.i(128756);a.n(b)},588694,a=>{"use strict";a.s(["Ear",()=>c,"Thursday",()=>d]);var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Ear() from the server but Ear is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/features/thursday/components/thursday.tsx","Ear"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call Thursday() from the server but Thursday is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/features/thursday/components/thursday.tsx","Thursday")},587370,a=>{"use strict";var b=a.i(588694);a.n(b)},651717,a=>{"use strict";var b=a.i(612948),c=a.i(167436),d=a.i(594331);a.i(670408);let e=(0,b.instrumentModuleGetter)(()=>a.r(438872)),f=(0,b.instrumentModuleGetter)(()=>a.r(70864)),g=(0,b.instrumentModuleGetter)(()=>a.r(43619)),h=(0,b.instrumentModuleGetter)(()=>a.r(13718)),i=(0,b.instrumentModuleGetter)(()=>a.r(118198)),j=(0,b.instrumentModuleGetter)(()=>a.r(262212)),k=["",{children:["__PAGE__",{},{metadata:{},page:[(0,b.instrumentModuleGetter)(()=>a.r(826030)),"[project]/app/page.tsx"]},[]]},{metadata:{icon:[async()=>{let a=(0,d.interopDefault)(await e());return[{url:`/favicon.ico?${a.src.split("/").splice(-1)[0]}`,sizes:`${a.width}x${a.height}`,type:"image/x-icon"}]}],manifest:"/manifest.webmanifest"},layout:[f,"[project]/app/layout.tsx"],"not-found":[g,"[project]/node_modules/next/dist/client/components/builtin/not-found.js"],forbidden:[h,"[project]/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[i,"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js"],"global-error":[j,"[project]/node_modules/next/dist/client/components/builtin/global-error.js"]},[]],l=a.r.bind(a),m=a.l.bind(a),n=(0,c.createAppPageEntrypoint)({tree:k,page:"/page",pathname:"/",require:l,loadChunk:m,interopDefault:d.interopDefault}),o=n.__next_app__,p=n.routeModule,q=n.handler;a.s(["__next_app__",0,o,"handler",0,q,"routeModule",0,p],583385),a.i(583385);var r=a.i(722922);a.s(["ClientPageRoot",()=>r.ClientPageRoot,"ClientSegmentRoot",()=>r.ClientSegmentRoot,"Fragment",()=>r.Fragment,"HTTPAccessFallbackBoundary",()=>r.HTTPAccessFallbackBoundary,"InstantValidation",()=>r.InstantValidation,"LayoutRouter",()=>r.LayoutRouter,"LoadingBoundaryProvider",()=>r.LoadingBoundaryProvider,"Postpone",()=>r.Postpone,"RenderFromTemplateContext",()=>r.RenderFromTemplateContext,"RootLayoutBoundary",()=>r.RootLayoutBoundary,"SegmentViewNode",()=>r.SegmentViewNode,"SegmentViewStateNode",()=>r.SegmentViewStateNode,"__next_app__",0,o,"captureOwnerStack",()=>r.captureOwnerStack,"collectPrefetchHints",()=>r.collectPrefetchHints,"collectSegmentData",()=>r.collectSegmentData,"createElement",()=>r.createElement,"createMetadataComponents",()=>r.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>r.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>r.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>r.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>r.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>r.createTemporaryReferenceSet,"decodeAction",()=>r.decodeAction,"decodeFormState",()=>r.decodeFormState,"decodeReply",()=>r.decodeReply,"handler",0,q,"isEmptyHTMLPrelude",()=>r.isEmptyHTMLPrelude,"patchFetch",()=>r.patchFetch,"preconnect",()=>r.preconnect,"preloadFont",()=>r.preloadFont,"preloadStyle",()=>r.preloadStyle,"prerender",()=>r.prerender,"prerenderToNodeStream",()=>r.prerenderToNodeStream,"renderToPipeableStream",()=>r.renderToPipeableStream,"renderToReadableStream",()=>r.renderToReadableStream,"routeModule",0,p,"serverHooks",()=>r.serverHooks,"taintObjectReference",()=>r.taintObjectReference],651717)}];
1
+ module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},773791,a=>{"use strict";a.s(["AppEventSource",()=>c,"useAppEvent",()=>d]);var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AppEventSource() from the server but AppEventSource is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/api/events/app-event.client.ts","AppEventSource"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useAppEvent() from the server but useAppEvent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/api/events/app-event.client.ts","useAppEvent")},33795,a=>{"use strict";var b=a.i(773791);a.n(b)},326758,a=>{a.v("/_next/static/media/favicon.37o1pjldwi2uc.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},438872,a=>{"use strict";let b={src:a.i(326758).default,width:48,height:48};a.s(["default",0,b])},50708,a=>a.a(async(b,c)=>{try{var d=a.i(907997),e=a.i(33795),f=a.i(725466),g=a.i(84389),h=a.i(756984),i=a.i(180112),j=a.i(811368),k=a.i(587370),l=a.i(569549),m=b([f,h,l]);async function n({searchParams:a}){let{intro:b}=await a,[c,m,o]=await Promise.all([(0,f.isCallable)(),(0,l.hasAnyCall)(),(0,h.hasPassedIntro)()]);return(0,d.jsxs)("div",{className:"h-full min-h-0 flex-1",children:[(0,d.jsx)(k.Thursday,{ready:c}),(0,d.jsx)(g.Intro,{ready:c,firstRun:!m&&!o,forced:void 0!==b}),(0,d.jsx)(i.ReachAsk,{}),(0,d.jsx)(j.Boot,{}),(0,d.jsx)(e.AppEventSource,{})]})}[f,h,l]=m.then?(await m)():m,a.s(["default",0,n]),c()}catch(a){c(a)}},!1),826030,function(a){a.n(a.i(50708))},982616,a=>{"use strict";a.s(["Intro",()=>b]);let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call Intro() from the server but Intro is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/features/intro/components/intro.tsx","Intro")},84389,a=>{"use strict";var b=a.i(982616);a.n(b)},663137,a=>{"use strict";a.s(["ReachAsk",()=>b]);let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call ReachAsk() from the server but ReachAsk is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/features/reach/components/reach-ask.tsx","ReachAsk")},180112,a=>{"use strict";var b=a.i(663137);a.n(b)},128756,a=>{"use strict";a.s(["Boot",()=>b]);let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call Boot() from the server but Boot is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/features/thursday/components/boot.tsx","Boot")},811368,a=>{"use strict";var b=a.i(128756);a.n(b)},588694,a=>{"use strict";a.s(["Ear",()=>c,"Thursday",()=>d]);var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Ear() from the server but Ear is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/features/thursday/components/thursday.tsx","Ear"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call Thursday() from the server but Thursday is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/features/thursday/components/thursday.tsx","Thursday")},587370,a=>{"use strict";var b=a.i(588694);a.n(b)},651717,a=>{"use strict";var b=a.i(612948),c=a.i(167436),d=a.i(594331);a.i(670408);let e=(0,b.instrumentModuleGetter)(()=>a.r(438872)),f=(0,b.instrumentModuleGetter)(()=>a.r(70864)),g=(0,b.instrumentModuleGetter)(()=>a.r(43619)),h=(0,b.instrumentModuleGetter)(()=>a.r(13718)),i=(0,b.instrumentModuleGetter)(()=>a.r(118198)),j=(0,b.instrumentModuleGetter)(()=>a.r(262212)),k=["",{children:["__PAGE__",{},{metadata:{},page:[(0,b.instrumentModuleGetter)(()=>a.r(826030)),"[project]/app/page.tsx"]},[]]},{metadata:{icon:[async()=>{let a=(0,d.interopDefault)(await e());return[{url:`/favicon.ico?${a.src.split("/").splice(-1)[0]}`,sizes:`${a.width}x${a.height}`,type:"image/x-icon"}]}],manifest:"/manifest.webmanifest"},layout:[f,"[project]/app/layout.tsx"],"not-found":[g,"[project]/node_modules/next/dist/client/components/builtin/not-found.js"],forbidden:[h,"[project]/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[i,"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js"],"global-error":[j,"[project]/node_modules/next/dist/client/components/builtin/global-error.js"]},[]],l=a.r.bind(a),m=a.l.bind(a),n=(0,c.createAppPageEntrypoint)({tree:k,page:"/page",pathname:"/",require:l,loadChunk:m,interopDefault:d.interopDefault}),o=n.__next_app__,p=n.routeModule,q=n.handler;a.s(["__next_app__",0,o,"handler",0,q,"routeModule",0,p],583385),a.i(583385);var r=a.i(722922);a.s(["ClientPageRoot",()=>r.ClientPageRoot,"ClientSegmentRoot",()=>r.ClientSegmentRoot,"Fragment",()=>r.Fragment,"HTTPAccessFallbackBoundary",()=>r.HTTPAccessFallbackBoundary,"InstantValidation",()=>r.InstantValidation,"LayoutRouter",()=>r.LayoutRouter,"LoadingBoundaryProvider",()=>r.LoadingBoundaryProvider,"Postpone",()=>r.Postpone,"RenderFromTemplateContext",()=>r.RenderFromTemplateContext,"RootLayoutBoundary",()=>r.RootLayoutBoundary,"SegmentViewNode",()=>r.SegmentViewNode,"SegmentViewStateNode",()=>r.SegmentViewStateNode,"__next_app__",0,o,"captureOwnerStack",()=>r.captureOwnerStack,"collectPrefetchHints",()=>r.collectPrefetchHints,"collectSegmentData",()=>r.collectSegmentData,"createElement",()=>r.createElement,"createMetadataComponents",()=>r.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>r.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>r.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>r.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>r.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>r.createTemporaryReferenceSet,"decodeAction",()=>r.decodeAction,"decodeFormState",()=>r.decodeFormState,"decodeReply",()=>r.decodeReply,"handler",0,q,"isEmptyHTMLPrelude",()=>r.isEmptyHTMLPrelude,"patchFetch",()=>r.patchFetch,"preconnect",()=>r.preconnect,"preloadFont",()=>r.preloadFont,"preloadStyle",()=>r.preloadStyle,"prerender",()=>r.prerender,"prerenderToNodeStream",()=>r.prerenderToNodeStream,"renderToPipeableStream",()=>r.renderToPipeableStream,"renderToReadableStream",()=>r.renderToReadableStream,"routeModule",0,p,"serverHooks",()=>r.serverHooks,"taintObjectReference",()=>r.taintObjectReference],651717)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__04upd5v._.js.map
@@ -0,0 +1,3 @@
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"))},986368,a=>{"use strict";let b;var c=a.i(572131),d=a.i(767561);let e=(b=new Set,{emit(a){for(let c of[...b])try{c(a)}catch(a){console.error("event listener failed",a)}},subscribe:a=>(b.add(a),()=>{b.delete(a)})});a.s(["AppEventSource",0,function(){return(0,c.useEffect)(()=>{var a;let b,c,f,g,h;return a=d.queryKey.events,b=null,c=null,f=1e3,g=!1,(h=()=>{let d=new EventSource(a);b=d,d.onopen=()=>{f=1e3},d.onmessage=a=>{let b;try{b=JSON.parse(a.data)}catch{return}e.emit(b)},d.onerror=()=>{g||d.readyState!==EventSource.CLOSED||(d.close(),c&&clearTimeout(c),c=setTimeout(h,f),f=Math.min(2*f,8e3))}})(),()=>{g=!0,c&&clearTimeout(c),b?.close()}},[]),null},"useAppEvent",0,function(a){let b;b=(0,c.useRef)(a),(0,c.useEffect)(()=>{b.current=a}),(0,c.useEffect)(()=>e.subscribe(a=>{let c;return c=b.current[a.type],void c?.(a)}),[e])}],986368)},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:25e3,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,openingHoldMs:3e3},"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},"SCREEN_SHARE",0,{frameRate:5,longestSide:1600,qualities:[.8,.6,.45],scales:[1,.75,.5,.35],firstFrameMs:3e3},"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}])},517346,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fb36fa4dd7826dbac4a4f469f5a340c6068d02531",b.callServer,void 0,b.findSourceMapURL,"setSignInBotAction");a.s(["setSignInBotAction",0,c])},332033,a=>{"use strict";var b=a.i(572131);let c=["ctrl","alt","meta"],d=/^(Control|Alt|Shift|Meta|OS)/,e=/^(input|textarea|select)$/i,f=a=>!!a&&!!(e.test(a.tagName)||a.isContentEditable||a.closest?.("[data-hotkey-capture]")),g=a=>{let b="nativeEvent"in a?a.nativeEvent:a;return b.isComposing||229===b.keyCode},h=[],i=a=>{if("Escape"!==a.key||a.defaultPrevented||g(a))return;let b=h.at(-1);b&&(a.preventDefault(),b.current())};function j(a){let{code:b,ctrlKey:c,altKey:e,shiftKey:f,metaKey:g}=a;if(!b||d.test(b)||!c&&!e&&!g)return null;let h=[];return c&&h.push("ctrl"),e&&h.push("alt"),f&&h.push("shift"),g&&h.push("meta"),[...h,b].join("+")}let k={ctrl:["Ctrl","⌃"],alt:["Alt","⌥"],shift:["Shift","⇧"],meta:["Meta","⌘"]};a.s(["HOTKEY_CAPTURE",0,{"data-hotkey-capture":""},"capturesKeys",0,f,"comboOf",0,j,"composing",0,g,"isCombo",0,a=>{let b=a.split("+"),e=b.at(-1);return!!(e&&!d.test(e)&&b.slice(0,-1).some(a=>c.includes(a)))},"useEscape",0,function(a,c){let d=(0,b.useRef)(c);d.current=c,(0,b.useEffect)(()=>{if(a)return h.push(d),1===h.length&&window.addEventListener("keydown",i),()=>{h.splice(h.indexOf(d),1),h.length||window.removeEventListener("keydown",i)}},[a])},"useHotkey",0,function({enabled:a,combo:c,onPress:d}){let e=(0,b.useRef)(d);e.current=d,(0,b.useEffect)(()=>{if(!a||!c)return;let b=a=>{a.repeat||f(a.target)||j(a)===c&&(a.preventDefault(),e.current())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,c])},"useHotkeyLabel",0,function(a){let[c,d]=(0,b.useState)(!1);return(0,b.useEffect)(()=>d(/mac/i.test(navigator.userAgent)),[]),a?function(a,b=!1){let c=a.split("+"),d=c.at(-1)??"",e=c.slice(0,-1).map(a=>k[a]?.[+!!b]??a),f=d.replace(/^(Key|Digit|Numpad)/,"").replace(/([a-z])([A-Z])/g,"$1 $2")||d;return b?[...e,f].join(""):[...e,f].join(" + ")}(a,c):null},"windowKey",0,a=>!a.defaultPrevented&&!g(a)&&!f(a.target)&&!a.target?.closest?.('[role="dialog"]')])},327598,a=>{"use strict";var b=a.i(164831);let c={name:"arrow-up",size:24,node:[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]};c.node;let d=(0,b.default)(c);a.s(["ArrowUp",0,d],327598)},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)},875160,a=>{"use strict";var b=a.i(702918);a.s(["Loader2",()=>b.default])},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])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0p0mv2u._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[70729,a=>{a.v(a=>Promise.resolve().then(()=>a(666680)))},133300,a=>{a.v(a=>Promise.resolve().then(()=>a(203469)))},276307,a=>{a.v(a=>Promise.resolve().then(()=>a(221214)))},763543,a=>{a.v(a=>Promise.resolve().then(()=>a(674986)))},343064,a=>{a.v(a=>Promise.resolve().then(()=>a(344853)))},756984,a=>a.a(async(b,c)=>{try{var d=a.i(725466),e=b([d]);[d]=e.then?(await e)():e;let h="INTRO_PASSED";async function f(){return await (0,d.readConfig)(h)==="on"}async function g(){await (0,d.writeConfig)(h,"on")}a.s(["hasPassedIntro",0,f,"markIntroPassed",0,g]),c()}catch(a){c(a)}},!1),453556,a=>{a.v(a=>Promise.resolve().then(()=>a(233398)))},394298,a=>{a.v(a=>Promise.resolve().then(()=>a(684321)))},941981,a=>a.a(async(b,c)=>{try{var d=a.i(874533),e=a.i(666680),f=a.i(912714),g=a.i(750227),h=a.i(812057),i=a.i(569572),j=a.i(344853),k=a.i(293480);a.i(684321);var l=a.i(821415),m=b([j]);async function n(a){let b=await (0,l.openWorkspace)(),c=new Set(await (0,f.readdir)((0,g.join)(l.WORKSPACE,i.GIVEN_FILES.dir)).catch(()=>[])),d=[];for(let e of a){let a=e.name.normalize("NFC").replace(/[^\p{L}\p{N}._-]+/gu,"-").replace(/^[-.]+|-+$/g,"")||"file",f=a.lastIndexOf("."),g=f>0?a.slice(0,f):a,h=f>0?a.slice(f):"",j=a;for(let a=2;c.has(j);a++)j=`${g}-${a}${h}`;c.add(j);let k=`${i.GIVEN_FILES.dir}/${j}`;await b.writeFile(k,Buffer.from(await e.arrayBuffer())),d.push(k)}return d}async function o(a){let b=await (0,l.insideWorkspace)(a);b||(0,k.publicError)("Outside the workspace");let c=await (0,f.stat)(b).catch(()=>null);c||(0,k.publicError)("File not found"),c.isFile()||(0,k.publicError)("That is a folder, not a file"),await (0,f.rm)(b)}[j]=m.then?(await m)():m;let s=/<meta name="revision" content="([^"]*)">/,t=/<meta name="sheet-xlsx" content="[0-9a-f]*"/,u=(0,g.join)(i.APP_DIR,i.PATHS.skills.default,"artifact","scripts","spreadsheet.mjs"),v=(0,h.promisify)(d.execFile);async function p(a,b){return v(process.execPath,[u,"sync",a,"--page",b],{env:{NODE_ENV:"production",PATH:process.env.PATH??""},maxBuffer:4194304}).then(()=>!0,a=>{if(3===a.code)return!1;(0,k.publicError)(a.stderr?.trim().split("\n").at(-1)||"The Excel file could not be written.")})}async function q(a,b,c){let d,g;/\.html?$/i.test(a)||(0,k.publicError)("Only a page keeps its own edits");let h=await (0,l.insideWorkspace)(a);h||(0,k.publicError)("Outside the workspace");let j=await (0,f.stat)(h).catch(()=>null);j?.isFile()||(0,k.publicError)("File not found"),Buffer.byteLength(b)>i.WORKSPACE_VIEW.elementMax&&(0,k.publicError)(`Larger than ${Math.round(i.WORKSPACE_VIEW.elementMax/1024/1024)} MB`);let m=await (0,f.readFile)(h,"utf8");if((s.exec(m)?.[1]??"")!==c)return{changed:!0};let n=s.test(b)?(0,e.randomBytes)(6).toString("hex"):"",o=n?b.replace(s,`<meta name="revision" content="${n}">`):b,q=`${h}.${crypto.randomUUID()}.saving`;try{if(await (0,f.writeFile)(q,o),t.test(m)&&!await p(q,h))return await (0,f.rm)(q,{force:!0}),{changed:!0};await (0,f.rename)(q,h)}catch(a){throw await (0,f.rm)(q,{force:!0}),a}return{changed:!1,revision:n,version:(d=n||null,g=await (0,f.stat)(h),`${d??""}:${g.size.toString(16)}-${g.mtimeMs.toString(16)}`)}}async function r(){let a=(0,g.join)(l.WORKSPACE,i.PATHS.scratch),b=new Set((await (0,j.listThreadFolders)()).filter(a=>"running"===a.status||"waiting"===a.status).map(a=>(0,l.jobScratch)(a.id,a.label).split("/").pop()));for(let c of(await (0,f.readdir)(a).catch(()=>[])))b.has(c)||await (0,f.rm)((0,g.join)(a,c),{recursive:!0,force:!0})}a.s(["deleteWorkspaceFile",0,o,"emptyScratch",0,r,"keepGivenFiles",0,n,"savePage",0,q]),c()}catch(a){c(a)}},!1),122690,a=>{a.v(a=>Promise.resolve().then(()=>a(821415)))},422842,a=>{"use strict";a.i(570396);var b=a.i(673727),c=a.i(975160),d=a.i(176668),e=a.i(293480);let f=a=>!!a&&"object"==typeof a&&(!0===a.$ok||!1===a.$ok),g=a=>f(a)&&a.$ok,h=a=>({$ok:!0,data:a}),i=a=>({$ok:!1,message:a});async function j(a){try{let b=h(await a());for(;g(b)&&f(b.data);)b=b.data;return b}catch(a){if((0,b.unstable_rethrow)(a),(0,e.isPublicError)(a))return i(a.message);if(a instanceof c.ZodError)return i(a.issues[0]?.message);if(f(a)&&!a.$ok)return a;return d.logger.error(a),i()}}a.s(["toResult",0,j],422842)},682672,a=>{a.v(a=>Promise.resolve().then(()=>a(72918)))},966249,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_@vercel_oidc_dist_token_16gdpgb.js"].map(b=>a.l(b))).then(()=>b(860544)))},832030,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_readline_1u65a-m._.js","server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_1j4x-_j._.js"].map(b=>a.l(b))).then(()=>b(322479)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0sk5enu._.js.map
@@ -0,0 +1,3 @@
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"))},148016,a=>{"use strict";let b=a=>a.split("/").map(encodeURIComponent).join("/");a.s(["decodePagePath",0,a=>a.map(decodeURIComponent).join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:a=>({url:"/api/memory",query:{offset:a||null}}),mcp:"/api/mcp",mcpServer:a=>({url:"/api/mcp",pathVariable:[a]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(a,b,c)=>({url:"/api/skills",pathVariable:[a,b],query:{path:c}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:a=>({url:"/api/bot/memory/files",query:{bot:a}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:a=>({url:"/api/bot/thread",query:{history:1,before:a}}),thread:a=>({url:"/api/bot/thread",query:{id:a}}),fileNotes:"/api/bot/thread/file",fileNote:(a,b)=>({url:"/api/bot/thread/file",query:{path:a,from:b}}),toolResult:(a,b)=>({url:"/api/bot/thread",pathVariable:[a],query:{call:b}}),workspace:"/api/workspace",workspaceFolder:(a,b)=>({url:"/api/workspace",query:{path:a||null,rows:b}}),workspaceFiles:a=>({url:"/api/workspace/files",query:{paths:JSON.stringify(a)}}),artifacts:"/api/artifact",artifactShelf:a=>({url:"/api/artifact",query:{rows:a}}),artifactSet:(a,b)=>({url:"/api/artifact",query:{set:a,rows:b}}),file:a=>`/api/file/${b(a)}`,fileFace:a=>`/api/file/${b(a)}?face`,favicon:a=>`/api/favicon/${encodeURIComponent(a)}`,fileView:a=>`/artifact/${b(a)}`,events:"/api/events",config:"/api/config",callHistory:a=>({url:"/api/thursday/call",query:{before:a}}),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:a=>`/api/llm-model/catalog/${a}`,keyCredits:a=>`/api/llm-model/credits/${a}`,subscriptionUsage:"/api/llm-model/subscription",running:"/api/running"}])},684321,a=>{"use strict";var b=a.i(148016),c=a.i(569572);let d=a=>`text/${a}; charset=utf-8`,e={md:{kind:"markdown",mime:d("markdown")},markdown:{kind:"markdown",mime:d("markdown")},csv:{kind:"csv",mime:d("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:d("plain")},log:{kind:"text",mime:d("plain")},html:{kind:"frame",mime:d("html")},htm:{kind:"frame",mime:d("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:d("css")},js:{kind:"none",mime:d("javascript")},woff2:{kind:"none",mime:"font/woff2"}},f=a=>a.split(".").pop()?.toLowerCase()??"",g=new Set(["css","js","woff2"]),h=Object.keys(e).filter(a=>!g.has(a)),i=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${h.join("|")})\b`,"giu"),j=`${c.PATHS.workspace}/`,k=b.queryKey.file(""),l=a=>a.startsWith(`${c.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(f(a));a.s(["extensionOf",0,f,"leadFirst",0,function(a){let b=a.findIndex(l);return b>0?[a[b],...a.filter((a,c)=>c!==b)]:a},"mimeOf",0,a=>e[f(a)]?.mime??"application/octet-stream","pathsIn",0,function(a){let b=a.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),c=new Set,d="";for(let[a]of b.matchAll(i)){let b=!a.includes("/"),e=function(a){let b,c,d=(c=(b=function(a){if(!a.startsWith(k))return a;let b=a.slice(k.length);try{return decodeURIComponent(b)}catch{return b}}(a.trim())).indexOf(j))>=0?b.slice(c+j.length)||null:b.startsWith("/")||/^[A-Za-z]:/.test(b)||b.split("/").includes("..")?null:b||null;if(!d)return null;let[e,...f]=d.split("/");return f.length&&e.includes(".")?null:d}(b?d+a:a);b||(d=e?.slice(0,e.lastIndexOf("/")+1)??""),e&&c.add(e)}return[...c].slice(0,12)},"viewKindOf",0,a=>e[f(a)]?.kind??"none"])},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__0xyaud4._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},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"))},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"))},814747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},341889,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(767561),e=a.i(497895);a.s(["SiteIcon",0,function({host:a,className:f="size-3.5 rounded-full",fallback:g}){let[h,i]=(0,c.useState)(!1);return h?g??(0,b.jsx)("span",{"aria-hidden":!0,className:(0,e.cn)("grid shrink-0 place-items-center bg-foreground/10 text-[8.5px] font-medium text-foreground/70 uppercase",f),children:a[0]}):(0,b.jsx)("img",{src:d.queryKey.favicon(a),alt:"",onError:()=>i(!0),className:(0,e.cn)("shrink-0",f)})}])},280281,a=>{"use strict";var b=a.i(187924);a.s([],584102),a.i(584102);var c=a.i(572131),d=a.i(950381),e=a.i(801811),f=a.i(357738),g=a.i(462824),h=a.i(524715),i=a.i(926184),j=a.i(300557),k=a.i(221436),l=a.i(854662);let m=c.createContext(void 0),n={...a.i(827576).fieldValidityMapping,checked:a=>a?{"data-checked":""}:{"data-unchecked":""}};var o=a.i(85933),p=a.i(1230),q=a.i(958589),r=a.i(541302),s=a.i(77260),t=a.i(346919),u=a.i(769476),v=a.i(394552),w=a.i(307436),x=a.i(964072);let y=c.forwardRef(function(a,l){let{checked:y,className:z,defaultChecked:A,"aria-labelledby":B,form:C,id:D,inputRef:E,name:F,nativeButton:G=!1,onCheckedChange:H,readOnly:I=!1,required:J=!1,disabled:K=!1,render:L,uncheckedValue:M,value:N,style:O,...P}=a,{clearErrors:Q}=(0,r.useFormContext)(),{state:R,setTouched:S,setDirty:T,validityData:U,setFilled:V,setFocused:W,validationMode:X,disabled:Y,name:Z,validation:$}=(0,p.useFieldRootContext)(),{labelId:_}=(0,s.useLabelableContext)(),aa=Y||K,ab=Z??F,ac=c.useRef(null),ad=(0,e.useMergedRefs)(ac,E,$.inputRef),ae=c.useRef(null),af=(0,j.useBaseUiId)(),ag=(0,u.useLabelableId)({id:D}),ah=G?void 0:ag,[ai,aj]=(0,d.useControlled)({controlled:y,default:!!A,name:"Switch",state:"checked"});(0,q.useRegisterFieldControl)(ae,af,ai,void 0,!aa,F),(0,f.useIsoLayoutEffect)(()=>{V(ai)},[ai,V]),(0,x.useValueChanged)(ai,()=>{Q(ab),T(ai!==U.initialValue),$.change(ai)});let{getButtonProps:ak,buttonRef:al}=(0,k.useButton)({disabled:aa,native:G}),am=(0,t.useAriaLabelledBy)(B,_,ac,!G,ah),an={...$.getValidationProps(aa),checked:ai,disabled:aa,form:C,id:ah,name:ab,required:J,style:ab?g.visuallyHiddenInput:g.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ad,onChange(a){if(a.nativeEvent.defaultPrevented)return;if(I)return void a.preventDefault();let b=a.currentTarget.checked,c=(0,v.createChangeEventDetails)(w.REASONS.none,a.nativeEvent);H?.(b,c),c.isCanceled||aj(b)},onClick(a){a.stopPropagation()},onFocus(){ae.current?.focus()},...void 0!==N?{value:N}:h.EMPTY_OBJECT},ao=c.useMemo(()=>({...R,checked:ai,disabled:aa,readOnly:I,required:J}),[R,ai,aa,I,J]),ap=(0,i.useRenderElement)("span",a,{state:ao,ref:[l,ae,al],props:[{id:G?ag:af,role:"switch","aria-checked":ai,"aria-readonly":I||void 0,"aria-required":J||void 0,"aria-labelledby":am,onFocus(){aa||W(!0)},onBlur(){let a=ac.current;a&&!aa&&(S(!0),W(!1),"onBlur"===X&&$.commit(a.checked))},onClick(a){if(I||aa)return;a.preventDefault();let b=ac.current;b&&(0,o.dispatchClickWithModifiers)(b,a)}},P,ak,a=>$.getValidationProps(aa,a)],stateAttributesMapping:n});return(0,b.jsxs)(m.Provider,{value:ao,children:[ap,!ai&&ab&&void 0!==M&&(0,b.jsx)("input",{type:"hidden",form:C,name:ab,value:M,disabled:aa}),(0,b.jsx)("input",{...an,suppressHydrationWarning:!0})]})}),z=c.forwardRef(function(a,b){let{render:d,className:e,style:f,...g}=a,h=function(){let a=c.useContext(m);if(void 0===a)throw Error((0,l.default)(63));return a}();return(0,i.useRenderElement)("span",a,{state:h,ref:b,stateAttributesMapping:n,props:g})});a.s(["Root",0,y,"Thumb",0,z],940499);var A=a.i(940499),A=A,B=a.i(497895);a.s(["Switch",0,function({className:a,size:c="default",...d}){return(0,b.jsx)(A.Root,{"data-slot":"switch","data-size":c,className:(0,B.cn)("cursor-pointer peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-brand data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",a),...d,children:(0,b.jsx)(A.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-brand-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}],280281)},346919,a=>{"use strict";var b=a.i(572131),c=a.i(357738),d=a.i(300557);a.s(["useAriaLabelledBy",0,function(a,e,f,g=!0,h){let[i,j]=b.useState(),k=(0,d.useBaseUiId)(h?`${h}-label`:void 0),l=a??e??i;return(0,c.useIsoLayoutEffect)(()=>{let b=a||e||!g?void 0:function(a,b){let c=function(a){if(!a)return;let b=a.parentElement;if(b&&"LABEL"===b.tagName)return b;let c=a.id;if(c){let b=a.nextElementSibling;if(b&&b.htmlFor===c)return b}let d=a.labels;return d&&d[0]}(a);if(c)return!c.id&&b&&(c.id=b),c.id||void 0}(f.current,k);i!==b&&j(b)}),l}])},57753,(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(809750);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}},69845,(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"}}},301479,(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")]}},325279,(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}`}}},314225,(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(325279);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}}},809750,(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(325279),r=a.r(314225),s=a.r(57753),t=a.r(301479),u=a.r(69845);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}},830988,a=>{"use strict";var b=a.i(244513),c=a.i(852587),d=a.i(23464),e=a.i(57270),f=a.i(774016),g=a.i(959296);a.s(["formatDistanceStrict",0,function(a,h,i){var j;let k,l,m=(0,c.getDefaultOptions)(),n=i?.locale??m.locale??b.defaultLocale,o=(l=(0,f.toDate)(a)-(0,f.toDate)(h))<0?-1:l>0?1:l;if(isNaN(o))throw RangeError("Invalid time value");let p=Object.assign({},i,{addSuffix:i?.addSuffix,comparison:o}),[q,r]=(0,e.normalizeDates)(i?.in,...o>0?[h,a]:[a,h]),s=(j=i?.roundingMethod??"round",a=>{let b=(j?Math[j]:Math.trunc)(a);return 0===b?0:b}),t=r.getTime()-q.getTime(),u=t/g.millisecondsInMinute,v=(t-((0,d.getTimezoneOffsetInMilliseconds)(r)-(0,d.getTimezoneOffsetInMilliseconds)(q)))/g.millisecondsInMinute,w=i?.unit;if("second"===(k=w||(u<1?"second":u<60?"minute":u<g.minutesInDay?"hour":v<g.minutesInMonth?"day":v<g.minutesInYear?"month":"year"))){let a=s(t/1e3);return n.formatDistance("xSeconds",a,p)}if("minute"===k){let a=s(u);return n.formatDistance("xMinutes",a,p)}if("hour"===k){let a=s(u/60);return n.formatDistance("xHours",a,p)}if("day"===k){let a=s(v/g.minutesInDay);return n.formatDistance("xDays",a,p)}if("month"===k){let a=s(v/g.minutesInMonth);return 12===a&&"month"!==w?n.formatDistance("xYears",1,p):n.formatDistance("xMonths",a,p)}else{let a=s(v/g.minutesInYear);return n.formatDistance("xYears",a,p)}}],830988)},987234,a=>{"use strict";var b=a.i(934754),c=a.i(830988);a.s(["formatDistanceToNowStrict",0,function(a,d){return(0,c.formatDistanceStrict)(a,(0,b.constructNow)(a),d)}])},823319,a=>{"use strict";var b=a.i(164831);let c={name:"arrow-up-right",size:24,node:[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]};c.node;let d=(0,b.default)(c);a.s(["ArrowUpRight",0,d],823319)},692867,a=>{"use strict";var b=a.i(164831);let c={name:"audio-lines",size:24,node:[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]]};c.node;let d=(0,b.default)(c);a.s(["AudioLines",0,d],692867)},626335,a=>{"use strict";var b=a.i(164831);let c={name:"captions",size:24,node:[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]],aliases:["subtitles"]};c.node;let d=(0,b.default)(c);a.s(["Captions",0,d],626335)},585650,a=>{"use strict";var b=a.i(164831);let c={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};c.node;let d=(0,b.default)(c);a.s(["Copy",0,d],585650)},607396,a=>{"use strict";var b=a.i(164831);let c={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};c.node;let d=(0,b.default)(c);a.s(["default",0,d])},844561,a=>{"use strict";var b=a.i(164831);let c={name:"folder-open",size:24,node:[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]};c.node;let d=(0,b.default)(c);a.s(["FolderOpen",0,d],844561)},474896,a=>{"use strict";var b=a.i(164831);let c={name:"log-in",size:24,node:[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]]};c.node;let d=(0,b.default)(c);a.s(["LogIn",0,d],474896)},26268,a=>{"use strict";var b=a.i(623577);a.s(["TriangleAlert",()=>b.default])},869789,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={actionAsyncStorage:function(){return f.actionAsyncStorage},workAsyncStorage:function(){return g.workAsyncStorage},workUnitAsyncStorage:function(){return h.workUnitAsyncStorage}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(120635),g=a.r(556704),h=a.r(832319);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1-gi9sm._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[70729,a=>{a.v(a=>Promise.resolve().then(()=>a(666680)))},748567,a=>a.a(async(b,c)=>{try{var d=a.i(910350);a.i(69999);var e=a.i(451208),f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),957977,a=>a.a(async(b,c)=>{try{var d=a.i(748567),e=a.i(910350),f=a.i(69999),g=a.i(451208),h=b([d,e,g]);[d,e,g]=h.then?(await h)():h,a.s(["7f135921467e706387b9b751c7b8157b863a67324b",()=>g.revealFileAction,"7f146b8d620b2bc289f054c71cd79d8599d6fb21a9",()=>e.markSeenAction,"7f8909c53c5d4b5a99be64478e40069d75ed8016ca",()=>g.savePageAction,"7f8b8815ec695c4c397e836959e2c14a8c27292c87",()=>e.withdrawStepInAction,"7fa384df167e1bb4dcbe5caf68d4f62ed10612396e",()=>e.handFileAction,"7fb36fa4dd7826dbac4a4f469f5a340c6068d02531",()=>f.setSignInBotAction,"7fcbc10c4893cf675b06d663bf905f142765a53a91",()=>g.openFileAction,"7fd6341ef482f47309c465e4aaad8d4090990e554f",()=>e.tellFileThreadAction,"7fe224fabc6f5424e6a9eb30b17f9947fa0ab01fbd",()=>g.giveFilesAction,"7ff256e664924cbbd05093fc10332239388f38c06c",()=>e.answerThreadAction,"7ffc284eb7cf99f12020e7059e1d13acbf62869e6b",()=>e.cancelThreadAction]),c()}catch(a){c(a)}},!1),133300,a=>{a.v(a=>Promise.resolve().then(()=>a(203469)))},276307,a=>{a.v(a=>Promise.resolve().then(()=>a(221214)))},763543,a=>{a.v(a=>Promise.resolve().then(()=>a(674986)))},343064,a=>{a.v(a=>Promise.resolve().then(()=>a(344853)))},394298,a=>{a.v(a=>Promise.resolve().then(()=>a(684321)))},941981,a=>a.a(async(b,c)=>{try{var d=a.i(874533),e=a.i(666680),f=a.i(912714),g=a.i(750227),h=a.i(812057),i=a.i(569572),j=a.i(344853),k=a.i(293480);a.i(684321);var l=a.i(821415),m=b([j]);async function n(a){let b=await (0,l.openWorkspace)(),c=new Set(await (0,f.readdir)((0,g.join)(l.WORKSPACE,i.GIVEN_FILES.dir)).catch(()=>[])),d=[];for(let e of a){let a=e.name.normalize("NFC").replace(/[^\p{L}\p{N}._-]+/gu,"-").replace(/^[-.]+|-+$/g,"")||"file",f=a.lastIndexOf("."),g=f>0?a.slice(0,f):a,h=f>0?a.slice(f):"",j=a;for(let a=2;c.has(j);a++)j=`${g}-${a}${h}`;c.add(j);let k=`${i.GIVEN_FILES.dir}/${j}`;await b.writeFile(k,Buffer.from(await e.arrayBuffer())),d.push(k)}return d}async function o(a){let b=await (0,l.insideWorkspace)(a);b||(0,k.publicError)("Outside the workspace");let c=await (0,f.stat)(b).catch(()=>null);c||(0,k.publicError)("File not found"),c.isFile()||(0,k.publicError)("That is a folder, not a file"),await (0,f.rm)(b)}[j]=m.then?(await m)():m;let s=/<meta name="revision" content="([^"]*)">/,t=/<meta name="sheet-xlsx" content="[0-9a-f]*"/,u=(0,g.join)(i.APP_DIR,i.PATHS.skills.default,"artifact","scripts","spreadsheet.mjs"),v=(0,h.promisify)(d.execFile);async function p(a,b){return v(process.execPath,[u,"sync",a,"--page",b],{env:{NODE_ENV:"production",PATH:process.env.PATH??""},maxBuffer:4194304}).then(()=>!0,a=>{if(3===a.code)return!1;(0,k.publicError)(a.stderr?.trim().split("\n").at(-1)||"The Excel file could not be written.")})}async function q(a,b,c){let d,g;/\.html?$/i.test(a)||(0,k.publicError)("Only a page keeps its own edits");let h=await (0,l.insideWorkspace)(a);h||(0,k.publicError)("Outside the workspace");let j=await (0,f.stat)(h).catch(()=>null);j?.isFile()||(0,k.publicError)("File not found"),Buffer.byteLength(b)>i.WORKSPACE_VIEW.elementMax&&(0,k.publicError)(`Larger than ${Math.round(i.WORKSPACE_VIEW.elementMax/1024/1024)} MB`);let m=await (0,f.readFile)(h,"utf8");if((s.exec(m)?.[1]??"")!==c)return{changed:!0};let n=s.test(b)?(0,e.randomBytes)(6).toString("hex"):"",o=n?b.replace(s,`<meta name="revision" content="${n}">`):b,q=`${h}.${crypto.randomUUID()}.saving`;try{if(await (0,f.writeFile)(q,o),t.test(m)&&!await p(q,h))return await (0,f.rm)(q,{force:!0}),{changed:!0};await (0,f.rename)(q,h)}catch(a){throw await (0,f.rm)(q,{force:!0}),a}return{changed:!1,revision:n,version:(d=n||null,g=await (0,f.stat)(h),`${d??""}:${g.size.toString(16)}-${g.mtimeMs.toString(16)}`)}}async function r(){let a=(0,g.join)(l.WORKSPACE,i.PATHS.scratch),b=new Set((await (0,j.listThreadFolders)()).filter(a=>"running"===a.status||"waiting"===a.status).map(a=>(0,l.jobScratch)(a.id,a.label).split("/").pop()));for(let c of(await (0,f.readdir)(a).catch(()=>[])))b.has(c)||await (0,f.rm)((0,g.join)(a,c),{recursive:!0,force:!0})}a.s(["deleteWorkspaceFile",0,o,"emptyScratch",0,r,"keepGivenFiles",0,n,"savePage",0,q]),c()}catch(a){c(a)}},!1),122690,a=>{a.v(a=>Promise.resolve().then(()=>a(821415)))},422842,a=>{"use strict";a.i(570396);var b=a.i(673727),c=a.i(975160),d=a.i(176668),e=a.i(293480);let f=a=>!!a&&"object"==typeof a&&(!0===a.$ok||!1===a.$ok),g=a=>f(a)&&a.$ok,h=a=>({$ok:!0,data:a}),i=a=>({$ok:!1,message:a});async function j(a){try{let b=h(await a());for(;g(b)&&f(b.data);)b=b.data;return b}catch(a){if((0,b.unstable_rethrow)(a),(0,e.isPublicError)(a))return i(a.message);if(a instanceof c.ZodError)return i(a.issues[0]?.message);if(f(a)&&!a.$ok)return a;return d.logger.error(a),i()}}a.s(["toResult",0,j],422842)},682672,a=>{a.v(a=>Promise.resolve().then(()=>a(72918)))},966249,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_@vercel_oidc_dist_token_16gdpgb.js"].map(b=>a.l(b))).then(()=>b(860544)))},832030,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_readline_1u65a-m._.js","server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_1j4x-_j._.js"].map(b=>a.l(b))).then(()=>b(322479)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__16nn3pe._.js.map