thursday-agent 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +6 -0
  6. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/server/app/_global-error.html +1 -1
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  13. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/_not-found.html +1 -1
  15. package/.next/server/app/_not-found.rsc +3 -3
  16. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  18. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  19. package/.next/server/app/api/artifact/route.js +13 -14
  20. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/memory/files/route.js +11 -6
  22. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  23. package/.next/server/app/api/bot/memory/route.js +11 -11
  24. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bot/route.js +11 -11
  26. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  27. package/.next/server/app/api/bot/thread/file/route.js +19 -19
  28. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
  29. package/.next/server/app/api/bot/thread/lessons/route/app-paths-manifest.json +3 -0
  30. package/.next/server/app/api/bot/thread/lessons/route/build-manifest.json +12 -0
  31. package/.next/server/app/api/bot/thread/lessons/route/server-reference-manifest.json +4 -0
  32. package/.next/server/app/api/bot/thread/lessons/route.js +18 -0
  33. package/.next/server/app/api/bot/thread/lessons/route.js.map +5 -0
  34. package/.next/server/app/api/bot/thread/lessons/route.js.nft.json +1 -0
  35. package/.next/server/app/api/bot/thread/lessons/route_client-reference-manifest.js +3 -0
  36. package/.next/server/app/api/bot/thread/route.js +8 -9
  37. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  38. package/.next/server/app/api/bot/tool-result/[id]/route.js +10 -11
  39. package/.next/server/app/api/bot/tool-result/[id]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/config/route.js +6 -7
  41. package/.next/server/app/api/config/route.js.nft.json +1 -1
  42. package/.next/server/app/api/events/route.js +4 -4
  43. package/.next/server/app/api/events/route.js.nft.json +1 -1
  44. package/.next/server/app/api/favicon/[host]/route.js +3 -3
  45. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  46. package/.next/server/app/api/file/[...path]/route.js +11 -6
  47. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  48. package/.next/server/app/api/llm-model/automatic/route.js +10 -11
  49. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  50. package/.next/server/app/api/llm-model/catalog/[provider]/route.js +10 -11
  51. package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
  52. package/.next/server/app/api/llm-model/credits/[provider]/route.js +10 -11
  53. package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
  54. package/.next/server/app/api/llm-model/route.js +8 -9
  55. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  56. package/.next/server/app/api/llm-model/subscription/route.js +8 -9
  57. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  58. package/.next/server/app/api/mcp/[name]/route.js +8 -9
  59. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  60. package/.next/server/app/api/mcp/oauth/callback/route.js +10 -11
  61. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  62. package/.next/server/app/api/mcp/route.js +8 -9
  63. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  64. package/.next/server/app/api/mcp/tools/route.js +8 -9
  65. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  66. package/.next/server/app/api/memory/edit/route.js +19 -19
  67. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  68. package/.next/server/app/api/memory/route.js +6 -7
  69. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  70. package/.next/server/app/api/reach/route.js +20 -20
  71. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  72. package/.next/server/app/api/routine/route.js +12 -12
  73. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  74. package/.next/server/app/api/running/route.js +3 -3
  75. package/.next/server/app/api/running/route.js.nft.json +1 -1
  76. package/.next/server/app/api/signins/route.js +11 -7
  77. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  78. package/.next/server/app/api/skills/[source]/[name]/route.js +14 -14
  79. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  80. package/.next/server/app/api/skills/route.js +14 -14
  81. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  82. package/.next/server/app/api/thursday/call/end/route.js +19 -19
  83. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  84. package/.next/server/app/api/thursday/call/plan/route.js +19 -19
  85. package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
  86. package/.next/server/app/api/thursday/call/route.js +11 -12
  87. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  88. package/.next/server/app/api/thursday/settings/route.js +11 -12
  89. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  90. package/.next/server/app/api/thursday/text/route.js +20 -20
  91. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  92. package/.next/server/app/api/thursday/tool-call/route.js +20 -20
  93. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  94. package/.next/server/app/api/update/route.js +10 -11
  95. package/.next/server/app/api/update/route.js.nft.json +1 -1
  96. package/.next/server/app/api/workspace/files/route.js +13 -13
  97. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  98. package/.next/server/app/api/workspace/route.js +13 -13
  99. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  100. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
  101. package/.next/server/app/artifact/[...path]/page.js +11 -11
  102. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  103. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  105. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  106. package/.next/server/app/page/server-reference-manifest.json +101 -68
  107. package/.next/server/app/page.js +10 -10
  108. package/.next/server/app/page.js.nft.json +1 -1
  109. package/.next/server/app/page_client-reference-manifest.js +1 -1
  110. package/.next/server/app-paths-manifest.json +1 -0
  111. package/.next/server/chunks/[root-of-the-server]__0-xeb9k._.js +3 -0
  112. package/.next/server/chunks/{[root-of-the-server]__0qkh140._.js → [root-of-the-server]__01lftiq._.js} +1 -1
  113. package/.next/server/chunks/[root-of-the-server]__022hmm4._.js +1 -1
  114. package/.next/server/chunks/{[root-of-the-server]__1im7w7z._.js → [root-of-the-server]__02td13j._.js} +1 -1
  115. package/.next/server/chunks/[root-of-the-server]__03bjojd._.js +2 -2
  116. package/.next/server/chunks/[root-of-the-server]__03jn6g5._.js +3 -0
  117. package/.next/server/chunks/[root-of-the-server]__05wauq3._.js +12 -0
  118. package/.next/server/chunks/[root-of-the-server]__06eoz24._.js +5 -0
  119. package/.next/server/chunks/{[root-of-the-server]__0sfx6id._.js → [root-of-the-server]__0_jtzqu._.js} +2 -2
  120. package/.next/server/chunks/[root-of-the-server]__0_k10q9._.js +3 -0
  121. package/.next/server/chunks/{[root-of-the-server]__1l4feoc._.js → [root-of-the-server]__0cmzvf7._.js} +1 -1
  122. package/.next/server/chunks/[root-of-the-server]__0cq8fp4._.js +3 -0
  123. package/.next/server/chunks/[root-of-the-server]__0cyki0f._.js +8 -0
  124. package/.next/server/chunks/[root-of-the-server]__0fvz6w5._.js +6 -0
  125. package/.next/server/chunks/[root-of-the-server]__0kj7-jk._.js +3 -0
  126. package/.next/server/chunks/{[root-of-the-server]__1p1ww2o._.js → [root-of-the-server]__0mq_mis._.js} +1 -1
  127. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  128. package/.next/server/chunks/{[root-of-the-server]__00dtf7h._.js → [root-of-the-server]__0o6p3jk._.js} +2 -2
  129. package/.next/server/chunks/[root-of-the-server]__0opzn4f._.js +3 -0
  130. package/.next/server/chunks/{[root-of-the-server]__0ags3y9._.js → [root-of-the-server]__0puaol7._.js} +2 -2
  131. package/.next/server/chunks/[root-of-the-server]__0qhf60h._.js +1 -1
  132. package/.next/server/chunks/{[root-of-the-server]__0ah_uba._.js → [root-of-the-server]__0s6-921._.js} +1 -1
  133. package/.next/server/chunks/{[root-of-the-server]__0n4xgfd._.js → [root-of-the-server]__0sg3_9d._.js} +2 -2
  134. package/.next/server/chunks/[root-of-the-server]__0t9e405._.js +3 -0
  135. package/.next/server/chunks/{[root-of-the-server]__20zucml._.js → [root-of-the-server]__0ubu0sh._.js} +1 -1
  136. package/.next/server/chunks/[root-of-the-server]__0ucigrb._.js +3 -0
  137. package/.next/server/chunks/{[root-of-the-server]__0_qe8iq._.js → [root-of-the-server]__0wnd1ac._.js} +2 -2
  138. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +5 -0
  139. package/.next/server/chunks/[root-of-the-server]__10x2qg8._.js +5 -0
  140. package/.next/server/chunks/{[root-of-the-server]__0fo9gc5._.js → [root-of-the-server]__114bnf1._.js} +1 -1
  141. package/.next/server/chunks/[root-of-the-server]__1343ru3._.js +3 -0
  142. package/.next/server/chunks/{[root-of-the-server]__1g6_6it._.js → [root-of-the-server]__16682o8._.js} +1 -1
  143. package/.next/server/chunks/[root-of-the-server]__16bbvlw._.js +7 -0
  144. package/.next/server/chunks/{[root-of-the-server]__1ui547o._.js → [root-of-the-server]__16cwbuc._.js} +1 -1
  145. package/.next/server/chunks/{[root-of-the-server]__05fq824._.js → [root-of-the-server]__17luxss._.js} +2 -2
  146. package/.next/server/chunks/[root-of-the-server]__17ses32._.js +3 -0
  147. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +1 -1
  148. package/.next/server/chunks/{[root-of-the-server]__1m9dh1w._.js → [root-of-the-server]__1ahc9c9._.js} +1 -1
  149. package/.next/server/chunks/[root-of-the-server]__1bewni6._.js +8 -0
  150. package/.next/server/chunks/{[root-of-the-server]__0lg1fok._.js → [root-of-the-server]__1bk734v._.js} +1 -1
  151. package/.next/server/chunks/{[root-of-the-server]__0atf1-_._.js → [root-of-the-server]__1btmuni._.js} +5 -5
  152. package/.next/server/chunks/[root-of-the-server]__1e2aiae._.js +3 -0
  153. package/.next/server/chunks/[root-of-the-server]__1fjmju_._.js +3 -0
  154. package/.next/server/chunks/[root-of-the-server]__1j-6f71._.js +3 -0
  155. package/.next/server/chunks/{[root-of-the-server]__0btxiu1._.js → [root-of-the-server]__1ltmy5k._.js} +2 -2
  156. package/.next/server/chunks/[root-of-the-server]__1mf425m._.js +8 -0
  157. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  158. package/.next/server/chunks/[root-of-the-server]__1o7z93z._.js +1 -1
  159. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +11 -0
  160. package/.next/server/chunks/[root-of-the-server]__1pho9cl._.js +3 -0
  161. package/.next/server/chunks/[root-of-the-server]__1q2jauq._.js +3 -0
  162. package/.next/server/chunks/[root-of-the-server]__1rs2v4h._.js +5 -0
  163. package/.next/server/chunks/{[root-of-the-server]__1ivv7te._.js → [root-of-the-server]__1rso8xj._.js} +2 -2
  164. package/.next/server/chunks/[root-of-the-server]__1xr0wxp._.js +3 -0
  165. package/.next/server/chunks/[root-of-the-server]__1yiazek._.js +3 -0
  166. package/.next/server/chunks/{[root-of-the-server]__0a2v56f._.js → [root-of-the-server]__20_po2e._.js} +2 -2
  167. package/.next/server/chunks/{[root-of-the-server]__0gmxpev._.js → [root-of-the-server]__20v-jxs._.js} +2 -2
  168. package/.next/server/chunks/[root-of-the-server]__212_w8j._.js +5 -0
  169. package/.next/server/chunks/_0-g8m2a._.js +72 -0
  170. package/.next/server/chunks/_0-qt5if._.js +1 -1
  171. package/.next/server/chunks/_00uhvhe._.js +12 -12
  172. package/.next/server/chunks/_02tecta._.js +5 -0
  173. package/.next/server/chunks/_04862qx._.js +3 -0
  174. package/.next/server/chunks/_05p90of._.js +3 -0
  175. package/.next/server/chunks/{_1_30lb4._.js → _06tj0ik._.js} +2 -2
  176. package/.next/server/chunks/_06u9yo-._.js +1 -1
  177. package/.next/server/chunks/_07mczew._.js +1 -1
  178. package/.next/server/chunks/_07pkeds._.js +2 -2
  179. package/.next/server/chunks/_08-mlqd._.js +1 -1
  180. package/.next/server/chunks/_08354bn._.js +12 -12
  181. package/.next/server/chunks/_08bp8w1._.js +3 -0
  182. package/.next/server/chunks/_0adsimt._.js +3 -0
  183. package/.next/server/chunks/_0bcx24d._.js +8 -0
  184. package/.next/server/chunks/{_0e8ks1n._.js → _0chqx-h._.js} +16 -12
  185. package/.next/server/chunks/_0d4f7pc._.js +5 -0
  186. package/.next/server/chunks/_0d9208_._.js +6 -0
  187. package/.next/server/chunks/{_0lip2ae._.js → _0ejet8x._.js} +16 -12
  188. package/.next/server/chunks/_0eowjm_._.js +72 -0
  189. package/.next/server/chunks/_0gxz_1b._.js +1 -1
  190. package/.next/server/chunks/_0iy3dus._.js +1 -1
  191. package/.next/server/chunks/_0jzv71c._.js +5 -0
  192. package/.next/server/chunks/{_0hin38_._.js → _0khihjk._.js} +6 -6
  193. package/.next/server/chunks/_0lrns0i._.js +3 -0
  194. package/.next/server/chunks/_0nbkv9k._.js +7 -0
  195. package/.next/server/chunks/_0p94gu0._.js +57 -0
  196. package/.next/server/chunks/_0pzqm_r._.js +3 -3
  197. package/.next/server/chunks/_0s515yz._.js +57 -0
  198. package/.next/server/chunks/_0supk_r._.js +5 -0
  199. package/.next/server/chunks/_0sxwm3y._.js +3 -0
  200. package/.next/server/chunks/_0tkzlv1._.js +3 -3
  201. package/.next/server/chunks/{_02o3ay7._.js → _0tzxrjg._.js} +2 -2
  202. package/.next/server/chunks/_0u0pa-b._.js +72 -0
  203. package/.next/server/chunks/_0umx0sn._.js +3 -0
  204. package/.next/server/chunks/_0vojr2u._.js +3 -0
  205. package/.next/server/chunks/_0wyh244._.js +12 -12
  206. package/.next/server/chunks/_0xlv72v._.js +57 -0
  207. package/.next/server/chunks/{_0a9x0xp._.js → _0y-5vzm._.js} +2 -2
  208. package/.next/server/chunks/{_0xt812m._.js → _0z06xn0._.js} +16 -12
  209. package/.next/server/chunks/_0zwjr-g._.js +1 -1
  210. package/.next/server/chunks/_1002x_9._.js +72 -0
  211. package/.next/server/chunks/{_0cdeabn._.js → _1299dpz._.js} +2 -2
  212. package/.next/server/chunks/_12htlm_._.js +9 -0
  213. package/.next/server/chunks/_13tat6z._.js +1 -1
  214. package/.next/server/chunks/_143moy6._.js +5 -0
  215. package/.next/server/chunks/_186uku9._.js +1 -1
  216. package/.next/server/chunks/_190pdee._.js +3 -0
  217. package/.next/server/chunks/_1951_6o._.js +3 -0
  218. package/.next/server/chunks/_19h6ag7._.js +3 -0
  219. package/.next/server/chunks/_1_0gehg._.js +3 -3
  220. package/.next/server/chunks/_1be0yao._.js +12 -12
  221. package/.next/server/chunks/_1dtm9bs._.js +1 -1
  222. package/.next/server/chunks/_1e1t6tm._.js +57 -0
  223. package/.next/server/chunks/_1e1yip3._.js +3 -0
  224. package/.next/server/chunks/{_0uet1h6._.js → _1e48czp._.js} +6 -6
  225. package/.next/server/chunks/_1fqa4ax._.js +72 -0
  226. package/.next/server/chunks/_1gb0_wm._.js +3 -0
  227. package/.next/server/chunks/_1i6626u._.js +3 -0
  228. package/.next/server/chunks/_1jca8ws._.js +3 -0
  229. package/.next/server/chunks/_1k6bmez._.js +1 -1
  230. package/.next/server/chunks/{_10qam6o._.js → _1kg70wc._.js} +6 -6
  231. package/.next/server/chunks/_1ko5shz._.js +1 -1
  232. package/.next/server/chunks/{_12a_gfz._.js → _1kqgeww._.js} +16 -12
  233. package/.next/server/chunks/_1kwmzab._.js +1 -1
  234. package/.next/server/chunks/_1l5qbki._.js +6 -0
  235. package/.next/server/chunks/_1mlsbwy._.js +3 -0
  236. package/.next/server/chunks/_1nej_f5._.js +72 -0
  237. package/.next/server/chunks/_1o15f0b._.js +3 -0
  238. package/.next/server/chunks/_1omiszv._.js +57 -0
  239. package/.next/server/chunks/_1otx63k._.js +3 -0
  240. package/.next/server/chunks/_1pwai-w._.js +72 -0
  241. package/.next/server/chunks/_1qdqpgf._.js +3 -0
  242. package/.next/server/chunks/_1qo2kxe._.js +3 -0
  243. package/.next/server/chunks/_1qoa_n_._.js +3 -0
  244. package/.next/server/chunks/_1qwi06-._.js +5 -0
  245. package/.next/server/chunks/_1qxheoa._.js +1 -1
  246. package/.next/server/chunks/{_1skgy7b._.js → _1ry6afh._.js} +6 -6
  247. package/.next/server/chunks/_1u9tb9z._.js +57 -0
  248. package/.next/server/chunks/_1v7z66t._.js +5 -0
  249. package/.next/server/chunks/_1vdlc8g._.js +5 -0
  250. package/.next/server/chunks/_1x2xiyw._.js +1 -1
  251. package/.next/server/chunks/_1y-e2mk._.js +79 -0
  252. package/.next/server/chunks/_1yx285_._.js +1 -1
  253. package/.next/server/chunks/_1za6dtx._.js +72 -0
  254. package/.next/server/chunks/_1zsrejy._.js +3 -0
  255. package/.next/server/chunks/_1zvhk_m._.js +1 -1
  256. package/.next/server/chunks/{_0m3sdq8._.js → _20sfopz._.js} +16 -12
  257. package/.next/server/chunks/_next-internal_server_app_api_bot_thread_lessons_route_actions_0zt-nr6.js +3 -0
  258. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  259. package/.next/server/chunks/features_0-728_-._.js +1 -1
  260. package/.next/server/chunks/features_0uy40ze._.js +1 -1
  261. package/.next/server/chunks/features_0vyrnq0._.js +3 -0
  262. package/.next/server/chunks/features_116bwtn._.js +1 -1
  263. package/.next/server/chunks/features_14kex_m._.js +3 -3
  264. package/.next/server/chunks/features_1cb9luv._.js +1 -1
  265. package/.next/server/chunks/features_1jd2zjm._.js +8 -8
  266. package/.next/server/chunks/features_1xn6un-._.js +3 -3
  267. package/.next/server/chunks/features_bot_1d6ghh5._.js +1 -1
  268. package/.next/server/chunks/features_bot_1dfrdsb._.js +1 -1
  269. package/.next/server/chunks/ssr/{[root-of-the-server]__0nfq6eh._.js → [root-of-the-server]__0ama9d0._.js} +2 -2
  270. package/.next/server/chunks/ssr/[root-of-the-server]__0auk-ke._.js +1 -1
  271. package/.next/server/chunks/ssr/{[root-of-the-server]__1vgf-i-._.js → [root-of-the-server]__0p0cgo1._.js} +2 -2
  272. package/.next/server/chunks/ssr/{[root-of-the-server]__07mxab7._.js → [root-of-the-server]__0rpm20m._.js} +2 -2
  273. package/.next/server/chunks/ssr/[root-of-the-server]__0vcuiyu._.js +3 -0
  274. package/.next/server/chunks/ssr/{[root-of-the-server]__18l3o37._.js → [root-of-the-server]__0x2--_p._.js} +2 -2
  275. package/.next/server/chunks/ssr/{[root-of-the-server]__1njrrpi._.js → [root-of-the-server]__145268e._.js} +2 -2
  276. package/.next/server/chunks/ssr/{[root-of-the-server]__0bgf9r2._.js → [root-of-the-server]__153-ebp._.js} +2 -2
  277. package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
  278. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  279. package/.next/server/chunks/ssr/[root-of-the-server]__1hqly37._.js +3 -0
  280. package/.next/server/chunks/ssr/[root-of-the-server]__1j-bkt7._.js +3 -0
  281. package/.next/server/chunks/ssr/[root-of-the-server]__1nb9kc9._.js +3 -0
  282. package/.next/server/chunks/ssr/[root-of-the-server]__1t38-p_._.js +1 -1
  283. package/.next/server/chunks/ssr/_0692i-a._.js +1 -1
  284. package/.next/server/chunks/ssr/{_0x9aecq._.js → _0732nef._.js} +2 -2
  285. package/.next/server/chunks/ssr/_0cu8_pz._.js +3 -0
  286. package/.next/server/chunks/ssr/_0gk_72-._.js +3 -0
  287. package/.next/server/chunks/ssr/_0jvrmoz._.js +9 -0
  288. package/.next/server/chunks/ssr/{_1rlfzdj._.js → _0k06tdw._.js} +3 -3
  289. package/.next/server/chunks/ssr/{_0tfponz._.js → _0l_qakv._.js} +2 -2
  290. package/.next/server/chunks/ssr/_0lqzdd0._.js +3 -0
  291. package/.next/server/chunks/ssr/{_1k5f6cg._.js → _0p18b0z._.js} +2 -2
  292. package/.next/server/chunks/ssr/{_04f6fil._.js → _0pg2mgq._.js} +3 -3
  293. package/.next/server/chunks/ssr/{_0ps83ki._.js → _0rm-9aj._.js} +2 -2
  294. package/.next/server/chunks/ssr/_128r03g._.js +10 -10
  295. package/.next/server/chunks/ssr/_17fa2ns._.js +12 -12
  296. package/.next/server/chunks/ssr/_18cjc9o._.js +3 -0
  297. package/.next/server/chunks/ssr/_1_px1o-._.js +1 -1
  298. package/.next/server/chunks/ssr/_1a_w_du._.js +1 -1
  299. package/.next/server/chunks/ssr/_1crszf7._.js +2 -2
  300. package/.next/server/chunks/ssr/_1e_9qjr._.js +1 -1
  301. package/.next/server/chunks/ssr/_1ehd80b._.js +3 -0
  302. package/.next/server/chunks/ssr/{_06o_p34._.js → _1fua8fv._.js} +2 -2
  303. package/.next/server/chunks/ssr/_1m290ru._.js +3 -0
  304. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  305. package/.next/server/chunks/ssr/{_16qphtt._.js → _1q30h74._.js} +2 -2
  306. package/.next/server/chunks/ssr/_1q9r6u6._.js +1 -1
  307. package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
  308. package/.next/server/chunks/ssr/{_079xt7h._.js → _1v_5j9l._.js} +23 -19
  309. package/.next/server/chunks/ssr/_1x_6jyh._.js +3 -0
  310. package/.next/server/chunks/ssr/{components_ui_markdown-body_tsx_1ac61z0._.js → components_ui_markdown-body_tsx_0ywzjrl._.js} +2 -2
  311. package/.next/server/chunks/ssr/features_0rrgq_t._.js +1 -1
  312. package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
  313. package/.next/server/chunks/ssr/features_bot_1stfytf._.js +1 -1
  314. package/.next/server/chunks/ssr/features_bot_components_01ye2wp._.js +1 -1
  315. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +2 -2
  316. package/.next/server/chunks/ssr/features_bot_components_thread-setting_tsx_0yae7zy._.js +1 -1
  317. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  318. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  319. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  320. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  321. package/.next/server/chunks/ssr/features_skills_components_skills-setting_tsx_1wtuuip._.js +1 -1
  322. package/.next/server/chunks/ssr/features_thursday_components_thursday-setting_tsx_1_6ydrc._.js +1 -1
  323. package/.next/server/chunks/ssr/{node_modules_1rtx020._.js → node_modules_0-s3xam._.js} +1 -1
  324. package/.next/server/chunks/ssr/{node_modules_0ukjqyk._.js → node_modules_02p2t58._.js} +1 -1
  325. package/.next/server/chunks/ssr/{node_modules_1kv5-zo._.js → node_modules_03gt5eg._.js} +1 -1
  326. package/.next/server/chunks/ssr/{node_modules_0t4ep0l._.js → node_modules_03ytewb._.js} +1 -1
  327. package/.next/server/chunks/ssr/{node_modules_0dfjba7._.js → node_modules_05yikon._.js} +1 -1
  328. package/.next/server/chunks/ssr/{node_modules_0x_r46g._.js → node_modules_060s01j._.js} +2 -2
  329. package/.next/server/chunks/ssr/{node_modules_15f2sid._.js → node_modules_07k-xj6._.js} +1 -1
  330. package/.next/server/chunks/ssr/{node_modules_0i3xlf-._.js → node_modules_08xo4p2._.js} +2 -2
  331. package/.next/server/chunks/ssr/{node_modules_0o5tzyn._.js → node_modules_09e0lw8._.js} +1 -1
  332. package/.next/server/chunks/ssr/{node_modules_1umqska._.js → node_modules_0a1kt26._.js} +1 -1
  333. package/.next/server/chunks/ssr/{node_modules_0w-dsl0._.js → node_modules_0ahwwc6._.js} +2 -2
  334. package/.next/server/chunks/ssr/{node_modules_0k-r85l._.js → node_modules_0c2vpni._.js} +2 -2
  335. package/.next/server/chunks/ssr/{node_modules_1g9_m7_._.js → node_modules_0e7nwfw._.js} +1 -1
  336. package/.next/server/chunks/ssr/{node_modules_1o_q011._.js → node_modules_0er1nmg._.js} +2 -2
  337. package/.next/server/chunks/ssr/{node_modules_122hfb2._.js → node_modules_0f3769j._.js} +1 -1
  338. package/.next/server/chunks/ssr/{node_modules_1lwcjnq._.js → node_modules_0fi5we8._.js} +1 -1
  339. package/.next/server/chunks/ssr/{node_modules_03ntdqv._.js → node_modules_0i2j6g6._.js} +1 -1
  340. package/.next/server/chunks/ssr/{node_modules_1rrbt-g._.js → node_modules_0ka66-h._.js} +1 -1
  341. package/.next/server/chunks/ssr/{node_modules_1k9u0x_._.js → node_modules_0keiwh2._.js} +2 -2
  342. package/.next/server/chunks/ssr/{node_modules_1kqsyd_._.js → node_modules_0mihldg._.js} +1 -1
  343. package/.next/server/chunks/ssr/{node_modules_0-8ygub._.js → node_modules_0mujceo._.js} +1 -1
  344. package/.next/server/chunks/ssr/{node_modules_162v3_m._.js → node_modules_0ntw_qg._.js} +1 -1
  345. package/.next/server/chunks/ssr/{node_modules_0zw6cf-._.js → node_modules_0py4_6y._.js} +1 -1
  346. package/.next/server/chunks/ssr/{node_modules_1jvg854._.js → node_modules_0qu8a5o._.js} +1 -1
  347. package/.next/server/chunks/ssr/{node_modules_0b8revr._.js → node_modules_0sk7kv9._.js} +1 -1
  348. package/.next/server/chunks/ssr/{node_modules_13rr6rm._.js → node_modules_0ted14c._.js} +2 -2
  349. package/.next/server/chunks/ssr/{node_modules_0pv4uha._.js → node_modules_0u78wn3._.js} +1 -1
  350. package/.next/server/chunks/ssr/{node_modules_152kfg-._.js → node_modules_0umtxxj._.js} +1 -1
  351. package/.next/server/chunks/ssr/{node_modules_1w2-as3._.js → node_modules_0ze7604._.js} +1 -1
  352. package/.next/server/chunks/ssr/{node_modules_1p_tdep._.js → node_modules_116k0n3._.js} +1 -1
  353. package/.next/server/chunks/ssr/{node_modules_0507yvc._.js → node_modules_15_65ve._.js} +1 -1
  354. package/.next/server/chunks/ssr/{node_modules_1rxd-pq._.js → node_modules_16hmz5b._.js} +1 -1
  355. package/.next/server/chunks/ssr/{node_modules_0mbx677._.js → node_modules_16ki2uq._.js} +1 -1
  356. package/.next/server/chunks/ssr/{node_modules_0tx0umb._.js → node_modules_19xrd6b._.js} +2 -2
  357. package/.next/server/chunks/ssr/{node_modules_16wbh_d._.js → node_modules_1_c3zat._.js} +2 -2
  358. package/.next/server/chunks/ssr/{node_modules_0kdzuew._.js → node_modules_1axn4aw._.js} +2 -2
  359. package/.next/server/chunks/ssr/{node_modules_1j59ehc._.js → node_modules_1bjctcm._.js} +1 -1
  360. package/.next/server/chunks/ssr/{node_modules_1awgatr._.js → node_modules_1cxx8tm._.js} +1 -1
  361. package/.next/server/chunks/ssr/{node_modules_012orll._.js → node_modules_1d7evv9._.js} +1 -1
  362. package/.next/server/chunks/ssr/{node_modules_1mxdor4._.js → node_modules_1depc7o._.js} +1 -1
  363. package/.next/server/chunks/ssr/{node_modules_1p5__vf._.js → node_modules_1dm5c-u._.js} +1 -1
  364. package/.next/server/chunks/ssr/{node_modules_02fw1bp._.js → node_modules_1fdivhl._.js} +1 -1
  365. package/.next/server/chunks/ssr/{node_modules_1u5xb0j._.js → node_modules_1gxpcyd._.js} +1 -1
  366. package/.next/server/chunks/ssr/{node_modules_1838s3x._.js → node_modules_1ih7lxu._.js} +2 -2
  367. package/.next/server/chunks/ssr/{node_modules_1tqxzmp._.js → node_modules_1k-0av-._.js} +1 -1
  368. package/.next/server/chunks/ssr/{node_modules_1_rbg_o._.js → node_modules_1kpg87p._.js} +1 -1
  369. package/.next/server/chunks/ssr/{node_modules_0x_do0y._.js → node_modules_1le-lim._.js} +2 -2
  370. package/.next/server/chunks/ssr/{node_modules_0qrh5xo._.js → node_modules_1lnx_h4._.js} +1 -1
  371. package/.next/server/chunks/ssr/{node_modules_06oedzb._.js → node_modules_1mwxdhp._.js} +1 -1
  372. package/.next/server/chunks/ssr/{node_modules_02t-i_c._.js → node_modules_1q2a30m._.js} +2 -2
  373. package/.next/server/chunks/ssr/{node_modules_1hgqn53._.js → node_modules_1soi3y1._.js} +2 -2
  374. package/.next/server/chunks/ssr/{node_modules_1ywecve._.js → node_modules_1sphzx9._.js} +1 -1
  375. package/.next/server/chunks/ssr/{node_modules_04e__3n._.js → node_modules_1tfn213._.js} +2 -2
  376. package/.next/server/chunks/ssr/{node_modules_1v065ct._.js → node_modules_1vmqt-a._.js} +1 -1
  377. package/.next/server/chunks/ssr/{node_modules_1qyanf-._.js → node_modules_1w8ljz0._.js} +2 -2
  378. package/.next/server/chunks/ssr/{node_modules_1sum8sx._.js → node_modules_208s6_i._.js} +1 -1
  379. package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1y07ypr._.js → node_modules_katex_dist_katex_mjs_0jhievg._.js} +1 -1
  380. package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1l3addz._.js → node_modules_katex_dist_katex_mjs_1zcod1m._.js} +1 -1
  381. package/.next/server/middleware-build-manifest.js +3 -3
  382. package/.next/server/pages/404.html +1 -1
  383. package/.next/server/pages/500.html +1 -1
  384. package/.next/server/server-reference-manifest.js +1 -1
  385. package/.next/server/server-reference-manifest.json +102 -69
  386. package/.next/static/chunks/078xraafllix3.js +1 -0
  387. package/.next/static/chunks/{1j2zjawu_2th7.js → 0nev6q2iq077s.js} +1 -1
  388. package/.next/static/chunks/{2adz3q18q052w.js → 0ocx6nt76fc71.js} +1 -1
  389. package/.next/static/chunks/0oo3vqzbrckzw.js +1 -0
  390. package/.next/static/chunks/{2b08w7t0hc1fp.js → 0piazplcpaho6.js} +1 -1
  391. package/.next/static/chunks/{0rx67d-x-1mmv.js → 0totfwrzgu9zy.js} +1 -1
  392. package/.next/static/chunks/{1s5t41jiomssd.css → 0tpwm72wdln0d.css} +1 -1
  393. package/.next/static/chunks/{1c3tarihhldvd.js → 0u_wx1-lmoae2.js} +1 -1
  394. package/.next/static/chunks/152u4p6c_6spk.js +1 -0
  395. package/.next/static/chunks/{0yp1so_h9mfhf.js → 1fignuuc030t2.js} +1 -1
  396. package/.next/static/chunks/2-zfbypxf0agx.js +1 -0
  397. package/.next/static/chunks/{36hfkcfa5a6be.js → 21wm184xoke98.js} +9 -9
  398. package/.next/static/chunks/{14e3ie8pgxgdb.js → 25-zh-0nfxqyg.js} +1 -1
  399. package/.next/static/chunks/29p2mdrn-z1oz.js +1 -0
  400. package/.next/static/chunks/{3hl237797_a8e.js → 2biit-egkb-xl.js} +2 -2
  401. package/.next/static/chunks/{29r_coa80ubpw.js → 2cciu1ow-svbf.js} +1 -1
  402. package/.next/static/chunks/{0xlr5fmtxb42l.js → 2kt0nc5m372ie.js} +2 -2
  403. package/.next/static/chunks/2v486bh_6kl11.js +1 -0
  404. package/.next/static/chunks/33_a4j5altfr5.js +1 -0
  405. package/.next/static/chunks/37pwubc1t0jyy.js +1 -0
  406. package/.next/static/chunks/{0eepme181mw6f.js → 38rbtwatw658l.js} +1 -1
  407. package/.next/static/chunks/{233p45nuh4m5b.css → 3d-1vk5hzu5rq.css} +2 -2
  408. package/.next/static/chunks/{2voeol7_1tit_.js → 3da8rr3q6pt0b.js} +1 -1
  409. package/.next/static/chunks/3i12sqqp1v8a8.js +1 -0
  410. package/.next/static/chunks/{2h5rvagz5wdhy.js → 3iwdx3_gikxbg.js} +1 -1
  411. package/.next/static/chunks/{3a98r51s8rjtt.js → 3k_xm_e4grb9u.js} +1 -1
  412. package/.next/static/chunks/{1b-3utyj58fn1.js → 3odtl00mfb4u7.js} +1 -1
  413. package/.next/static/chunks/3wblbyhomh9va.js +1 -0
  414. package/.next/static/chunks/{42xlx1decmn82.js → 3x2goglbfw5t7.js} +1 -1
  415. package/database/migrations/20261006014533_first_mercury/migration.sql +16 -0
  416. package/database/migrations/20261006014533_first_mercury/snapshot.json +2134 -0
  417. package/database/migrations/20261006022849_purple_young_avengers/migration.sql +1 -0
  418. package/database/migrations/20261006022849_purple_young_avengers/snapshot.json +2144 -0
  419. package/database/migrations/20261006040316_lazy_ogun/migration.sql +3 -0
  420. package/database/migrations/20261006040316_lazy_ogun/snapshot.json +2174 -0
  421. package/database/migrations/20261006043313_modern_goliath/migration.sql +1 -0
  422. package/database/migrations/20261006043313_modern_goliath/snapshot.json +2184 -0
  423. package/guide/bots.md +29 -0
  424. package/guide/phone.md +3 -1
  425. package/package.json +1 -1
  426. package/.next/server/chunks/[root-of-the-server]__00qilm2._.js +0 -3
  427. package/.next/server/chunks/[root-of-the-server]__01jpmcj._.js +0 -11
  428. package/.next/server/chunks/[root-of-the-server]__0bzz4u5._.js +0 -8
  429. package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +0 -5
  430. package/.next/server/chunks/[root-of-the-server]__0elyqrt._.js +0 -3
  431. package/.next/server/chunks/[root-of-the-server]__0jqidnu._.js +0 -8
  432. package/.next/server/chunks/[root-of-the-server]__0mmynvy._.js +0 -5
  433. package/.next/server/chunks/[root-of-the-server]__0mzzwmt._.js +0 -8
  434. package/.next/server/chunks/[root-of-the-server]__0qo3zap._.js +0 -8
  435. package/.next/server/chunks/[root-of-the-server]__0rqmdxt._.js +0 -6
  436. package/.next/server/chunks/[root-of-the-server]__0sea36s._.js +0 -10
  437. package/.next/server/chunks/[root-of-the-server]__0unmyur._.js +0 -6
  438. package/.next/server/chunks/[root-of-the-server]__0wimh1u._.js +0 -8
  439. package/.next/server/chunks/[root-of-the-server]__0zezbds._.js +0 -5
  440. package/.next/server/chunks/[root-of-the-server]__12hkdpz._.js +0 -8
  441. package/.next/server/chunks/[root-of-the-server]__13dy1f5._.js +0 -5
  442. package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +0 -3
  443. package/.next/server/chunks/[root-of-the-server]__14inehv._.js +0 -3
  444. package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +0 -5
  445. package/.next/server/chunks/[root-of-the-server]__17yv6lg._.js +0 -5
  446. package/.next/server/chunks/[root-of-the-server]__1ac25yp._.js +0 -12
  447. package/.next/server/chunks/[root-of-the-server]__1hjb8wf._.js +0 -3
  448. package/.next/server/chunks/[root-of-the-server]__1jcu_e9._.js +0 -5
  449. package/.next/server/chunks/[root-of-the-server]__1jmr2ed._.js +0 -8
  450. package/.next/server/chunks/[root-of-the-server]__1onvx8x._.js +0 -5
  451. package/.next/server/chunks/[root-of-the-server]__1r2kimd._.js +0 -3
  452. package/.next/server/chunks/[root-of-the-server]__1rjj4i4._.js +0 -3
  453. package/.next/server/chunks/[root-of-the-server]__1s3umyw._.js +0 -3
  454. package/.next/server/chunks/[root-of-the-server]__212tz6e._.js +0 -8
  455. package/.next/server/chunks/_0-mqt2w._.js +0 -3
  456. package/.next/server/chunks/_0bcg3vg._.js +0 -6
  457. package/.next/server/chunks/_0cm67bo._.js +0 -6
  458. package/.next/server/chunks/_0gifi_2._.js +0 -7
  459. package/.next/server/chunks/_0li046e._.js +0 -3
  460. package/.next/server/chunks/_0mirg2-._.js +0 -3
  461. package/.next/server/chunks/_0oj2slk._.js +0 -5
  462. package/.next/server/chunks/_0oyz9x0._.js +0 -3
  463. package/.next/server/chunks/_0pljp-1._.js +0 -3
  464. package/.next/server/chunks/_0rdxqrk._.js +0 -5
  465. package/.next/server/chunks/_0sxih1y._.js +0 -3
  466. package/.next/server/chunks/_0u-96in._.js +0 -9
  467. package/.next/server/chunks/_0wjia9n._.js +0 -5
  468. package/.next/server/chunks/_0x2mdif._.js +0 -5
  469. package/.next/server/chunks/_0xa89lt._.js +0 -3
  470. package/.next/server/chunks/_0y2a-fg._.js +0 -3
  471. package/.next/server/chunks/_0ynjnhl._.js +0 -5
  472. package/.next/server/chunks/_1-sk_q4._.js +0 -3
  473. package/.next/server/chunks/_1355-km._.js +0 -3
  474. package/.next/server/chunks/_14-kmob._.js +0 -5
  475. package/.next/server/chunks/_1d7gbgb._.js +0 -3
  476. package/.next/server/chunks/_1d_enhu._.js +0 -3
  477. package/.next/server/chunks/_1evvnbp._.js +0 -18
  478. package/.next/server/chunks/_1g10pf5._.js +0 -3
  479. package/.next/server/chunks/_1icgbi8._.js +0 -18
  480. package/.next/server/chunks/_1ihge52._.js +0 -6
  481. package/.next/server/chunks/_1k92b3d._.js +0 -3
  482. package/.next/server/chunks/_1nfr-75._.js +0 -3
  483. package/.next/server/chunks/_1o2r4ja._.js +0 -5
  484. package/.next/server/chunks/_1pv6xbq._.js +0 -5
  485. package/.next/server/chunks/_1qgix-j._.js +0 -3
  486. package/.next/server/chunks/_1sd6nev._.js +0 -3
  487. package/.next/server/chunks/_1t8fv7b._.js +0 -18
  488. package/.next/server/chunks/_1ufbxe1._.js +0 -5
  489. package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +0 -3
  490. package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +0 -8
  491. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0omj5b1._.js +0 -3
  492. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0s2o664._.js +0 -3
  493. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ufuc3s._.js +0 -3
  494. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1cvpr1j._.js +0 -3
  495. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js +0 -3
  496. package/.next/server/chunks/node_modules_zod_v4_03dw6sa._.js +0 -57
  497. package/.next/server/chunks/node_modules_zod_v4_0h0-drr._.js +0 -57
  498. package/.next/server/chunks/node_modules_zod_v4_0uctlhw._.js +0 -57
  499. package/.next/server/chunks/node_modules_zod_v4_13mu186._.js +0 -57
  500. package/.next/server/chunks/node_modules_zod_v4_17gxt3_._.js +0 -57
  501. package/.next/server/chunks/node_modules_zod_v4_1mygyfn._.js +0 -3
  502. package/.next/server/chunks/node_modules_zod_v4_1u-rl3b._.js +0 -57
  503. package/.next/server/chunks/ssr/[root-of-the-server]__0lv-wr_._.js +0 -3
  504. package/.next/server/chunks/ssr/[root-of-the-server]__0utwbb5._.js +0 -3
  505. package/.next/server/chunks/ssr/[root-of-the-server]__1fvh0zn._.js +0 -3
  506. package/.next/server/chunks/ssr/[root-of-the-server]__1ynag_l._.js +0 -3
  507. package/.next/server/chunks/ssr/_01l1svp._.js +0 -3
  508. package/.next/server/chunks/ssr/_01m2s2p._.js +0 -3
  509. package/.next/server/chunks/ssr/_0f3t9pm._.js +0 -9
  510. package/.next/server/chunks/ssr/_183f3bo._.js +0 -3
  511. package/.next/server/chunks/ssr/_1kj3d2q._.js +0 -3
  512. package/.next/server/chunks/ssr/_1tu2bpk._.js +0 -3
  513. package/.next/server/chunks/ssr/lib_utils_ts_0_f1xvm._.js +0 -3
  514. package/.next/static/chunks/051z85h3ofmif.js +0 -1
  515. package/.next/static/chunks/1l0_q-kf0cbaj.js +0 -1
  516. package/.next/static/chunks/1la1aeosxvwmz.js +0 -1
  517. package/.next/static/chunks/227tjgj_th6uf.js +0 -1
  518. package/.next/static/chunks/2jo02hrgs_zqm.js +0 -1
  519. package/.next/static/chunks/3k7fum0yljmyr.js +0 -1
  520. package/.next/static/chunks/3sawwm4vucnzn.js +0 -1
  521. package/.next/static/chunks/3sjv-rshh-98q.js +0 -1
  522. package/.next/static/chunks/3tejx8kiotsia.js +0 -1
  523. /package/.next/static/{mTdCVAiiVKCutbZcekyHn → nXUvWsiGKRvNRk8kqeJ-u}/_buildManifest.js +0 -0
  524. /package/.next/static/{mTdCVAiiVKCutbZcekyHn → nXUvWsiGKRvNRk8kqeJ-u}/_clientMiddlewareManifest.js +0 -0
  525. /package/.next/static/{mTdCVAiiVKCutbZcekyHn → nXUvWsiGKRvNRk8kqeJ-u}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[720275,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1r2kimd._.js","server/chunks/_1hw1ujv._.js","server/chunks/node_modules_1yxqtu5._.js"].map(s=>e.l(s))).then(()=>s(656446)))},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)))}];
1
+ module.exports=[720275,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0s6-921._.js","server/chunks/_1hw1ujv._.js","server/chunks/node_modules_1yxqtu5._.js"].map(s=>e.l(s))).then(()=>s(656446)))},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=_0cdeabn._.js.map
3
+ //# sourceMappingURL=_1299dpz._.js.map
@@ -0,0 +1,9 @@
1
+ module.exports=[102473,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1_04mcf._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(232347)))},130022,e=>{e.v(s=>Promise.all(["server/chunks/config_ts_1g4sz5o._.js"].map(s=>e.l(s))).then(()=>s(333925)))},7313,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__17ses32._.js","server/chunks/_1ry6afh._.js"].map(s=>e.l(s))).then(()=>s(876393)))},266965,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1orn-5b._.js","server/chunks/_0khihjk._.js"].map(s=>e.l(s))).then(()=>s(946280)))},171772,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1ndi14y._.js"].map(s=>e.l(s))).then(()=>s(973589)))},242792,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0ucigrb._.js","server/chunks/features_bot_1dfrdsb._.js","server/chunks/features_0uy40ze._.js","server/chunks/_0jzv71c._.js","server/chunks/_07pkeds._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_0xlv72v._.js","server/chunks/_1kg70wc._.js","server/chunks/_07ftwpg._.js","server/chunks/_0bcx24d._.js","server/chunks/_0d9208_._.js"].map(s=>e.l(s))).then(()=>s(799791)))},327784,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1rso8xj._.js","server/chunks/features_thursday_1klv0m2._.js","server/chunks/features_1cb9luv._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_07pkeds._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_0jzv71c._.js","server/chunks/_0d9208_._.js","server/chunks/features_bot_1dfrdsb._.js","server/chunks/_1823_7a._.js","server/chunks/_0bcx24d._.js","server/chunks/_0p94gu0._.js","server/chunks/_0chqx-h._.js","server/chunks/_1kg70wc._.js","server/chunks/_00uhvhe._.js","server/chunks/_07ftwpg._.js","server/chunks/_0supk_r._.js","server/chunks/_0_y-ab-._.js"].map(s=>e.l(s))).then(()=>s(49002)))},477930,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1pho9cl._.js","server/chunks/_07pkeds._.js","server/chunks/_0jzv71c._.js","server/chunks/_0d9208_._.js","server/chunks/_1e48czp._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_07ftwpg._.js","server/chunks/_0xlv72v._.js","server/chunks/_0bcx24d._.js"].map(s=>e.l(s))).then(()=>s(487338)))},193435,e=>{e.v(s=>Promise.all(["server/chunks/_04862qx._.js","server/chunks/features_1cb9luv._.js","server/chunks/[root-of-the-server]__1rs2v4h._.js","server/chunks/_07ftwpg._.js","server/chunks/_1823_7a._.js","server/chunks/_0xlv72v._.js","server/chunks/_1e48czp._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(5509)))},68704,e=>{e.v(s=>Promise.all(["server/chunks/_1x2xiyw._.js","server/chunks/_07pkeds._.js","server/chunks/_0d9208_._.js","server/chunks/_07ftwpg._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_0xlv72v._.js","server/chunks/[root-of-the-server]__1rs2v4h._.js","server/chunks/_1ry6afh._.js"].map(s=>e.l(s))).then(()=>s(514025)))},482437,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1btmuni._.js","server/chunks/features_bot_1dfrdsb._.js","server/chunks/features_thursday_1klv0m2._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/features_1cb9luv._.js","server/chunks/_0jzv71c._.js","server/chunks/_07ftwpg._.js","server/chunks/_0d9208_._.js","server/chunks/_0s515yz._.js","server/chunks/_1823_7a._.js","server/chunks/_0ejet8x._.js","server/chunks/_07pkeds._.js","server/chunks/_0yqg5qu._.js","server/chunks/_1kg70wc._.js","server/chunks/_0bcx24d._.js","server/chunks/_0supk_r._.js","server/chunks/_0tkzlv1._.js"].map(s=>e.l(s))).then(()=>s(28405)))},566024,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1-ga0kh._.js","server/chunks/_07ftwpg._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_0xlv72v._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_1e48czp._.js"].map(s=>e.l(s))).then(()=>s(1363)))},975158,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__20_po2e._.js","server/chunks/features_bot_1dfrdsb._.js","server/chunks/_07pkeds._.js","server/chunks/features_thursday_1klv0m2._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_07ftwpg._.js","server/chunks/_0bcx24d._.js","server/chunks/_0jzv71c._.js","server/chunks/_0d9208_._.js","server/chunks/features_1cb9luv._.js","server/chunks/_1kg70wc._.js","server/chunks/_1823_7a._.js","server/chunks/_0z06xn0._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_1y-e2mk._.js","server/chunks/_1omiszv._.js","server/chunks/_1be0yao._.js","server/chunks/_1_0gehg._.js","server/chunks/_0supk_r._.js","server/chunks/features_1jd2zjm._.js"].map(s=>e.l(s))).then(()=>s(312485)))},569286,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1j-6f71._.js","server/chunks/features_thursday_1klv0m2._.js","server/chunks/features_0uy40ze._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_07ftwpg._.js","server/chunks/_07pkeds._.js","server/chunks/_0jzv71c._.js","server/chunks/_0d9208_._.js","server/chunks/features_bot_1dfrdsb._.js","server/chunks/_0_y-ab-._.js","server/chunks/_0xlv72v._.js","server/chunks/_00uhvhe._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_0chqx-h._.js","server/chunks/_1823_7a._.js","server/chunks/_1kg70wc._.js","server/chunks/_0supk_r._.js","server/chunks/_0bcx24d._.js"].map(s=>e.l(s))).then(()=>s(733184)))},741548,e=>{e.v(s=>Promise.all(["server/chunks/_07mczew._.js","server/chunks/[root-of-the-server]__212_w8j._.js","server/chunks/_0jzv71c._.js","server/chunks/_0d9208_._.js","server/chunks/_07pkeds._.js","server/chunks/_1e1t6tm._.js","server/chunks/_0bcx24d._.js","server/chunks/_1kg70wc._.js","server/chunks/_07ftwpg._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(379651)))},917723,e=>{e.v(s=>Promise.all(["server/chunks/_07mczew._.js","server/chunks/features_thursday_1klv0m2._.js","server/chunks/features_1cb9luv._.js","server/chunks/_07ftwpg._.js","server/chunks/_1l5qbki._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/_07pkeds._.js","server/chunks/_0xlv72v._.js","server/chunks/_1e48czp._.js","server/chunks/_1823_7a._.js","server/chunks/[root-of-the-server]__1rs2v4h._.js"].map(s=>e.l(s))).then(()=>s(520401)))},51833,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1343ru3._.js","server/chunks/_07pkeds._.js","server/chunks/_0jzv71c._.js","server/chunks/_0d9208_._.js","server/chunks/_0xlv72v._.js","server/chunks/_0bcx24d._.js","server/chunks/_07ftwpg._.js","server/chunks/_1kg70wc._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(871096)))},482438,e=>{"use strict";async function s(){let{APP_DIR:s,BROWSER_IDLE:r,DATA_DIR:_,DB_PATH:t,ENV_PATH:n,HISTORY_KEEP:h,WORKSPACE_KEEP:c}=await e.A(130022),{logger:a}=await e.A(415568),{migrateDatabase:v,NewerDatabase:o}=await e.A(266965);await v().catch(e=>{e instanceof o&&(console.error(` ${e.message}
2
+ Nothing was changed. Start the newer one (npx thursday-agent@latest), or update this one, and it opens as it was.
3
+ `),process.exit(66)),a.error(`Cannot migrate ${t}`),console.error(` ${e instanceof Error?e.message:e}
4
+ Starting over gives an empty one. API keys, bots, connectors, calls, threads and memory go with it; the workspace and skills stay.
5
+ The old ${t} is moved aside as .corrupt-<time> rather than removed, so a file damaged by a crash or a full disk can still be opened.
6
+ `),process.exit(65)});let{ENCRYPTION_KEY_NAME:u,encryptionKey:k}=await e.A(109244);try{"made"===k().from&&a.info(`made the key that seals saved secrets, in ${n}`)}catch(e){a.error(`Cannot load ${u}`),console.error(` ${e instanceof Error?e.message:e}
7
+ `),process.exit(1)}let{sealStoredSecrets:l}=await e.A(68704);await l().then(({sealed:e,unreadable:s,scrub:r})=>{e&&a.info(`sealed ${e} secret(s) kept in the clear`),"done"===r&&a.info("rewrote the database: no key it held in the clear is left in it"),"pending"===r&&a.warn("the database's log could not be emptied: a key it held in the clear may be left in it until the next start rewrites it"),s.length&&a.warn(`${s.join(", ")} can't be unlocked: sealed with an encryption key this data folder no longer has (${u} in ${n}). Put that .env back from a backup and start the app again to open them, or enter each again — Settings marks them`)}).catch(e=>a.error("seal secrets (the next start tries again)",e));let{ensureRootNotes:j}=await e.A(566024);await j();let{refreshSeedWords:i}=await e.A(242792);await i().then(e=>{e&&a.info(`${e} ready-made bot(s) took their seed's new words`)}).catch(e=>a.error("refresh seed words",e));let{installGuide:d}=await e.A(171772);await d().catch(e=>a.error("install guide",e));let{closeIdleBrowsers:f,sweepJobFiles:w,sweepThreads:m}=await e.A(327784);await m();let{closeEndedQuestions:p}=await e.A(193435);await p().then(({closed:e,cleared:s})=>{(e||s)&&a.info(`closed ${e} question(s) on ${s} ended job(s)`)}).catch(e=>a.error("close ended questions",e));let g=()=>void w().catch(e=>a.error("sweep job files",e));g(),setInterval(g,c.sweepEveryMs).unref();let b=()=>void f().catch(e=>a.error("close idle browsers",e));b(),setInterval(b,r.checkEveryMs).unref();let{deleteEndedCalls:y,sweepCalls:x}=await e.A(917723);await x();let{keepCallMemory:A}=await e.A(482437);A();let{removeFinishedThreads:P}=await e.A(327784),{deleteOldLessons:z}=await e.A(477930),$=()=>void(async()=>{let e=new Date(Date.now()-h.forMs),s=await y(e),r=await P(e),_=await z(e);(s||r||_)&&a.info(`cleared ${s} old call(s), ${r} old job(s) and ${_} old lesson(s)`)})().catch(e=>a.error("sweep history",e));$(),setInterval($,h.sweepEveryMs).unref();let{presence:I}=await e.A(102473),{pauseThreads:q}=await e.A(327784),{heldCalls:E}=await e.A(975158);I.onGone(()=>{x(E()).then(()=>void A()).catch(e=>a.error("browser gone",e))});let{startRoutineClock:S}=await e.A(569286);S();let{adoptKeptSessions:M}=await e.A(741548);await M().catch(e=>a.error("adopt kept sessions",e));let{startReach:T}=await e.A(975158);if(T().catch(e=>a.error("start reach",e)),process.env.NEXT_MANUAL_SIG_HANDLE){let{checkpoint:s}=await e.A(7313),{closeHiddenBrowsers:r}=await e.A(51833),_=!1;for(let[e,t]of[["SIGINT",130],["SIGTERM",143],["SIGHUP",129]])process.on(e,()=>{if(_)return;_=!0,a.info(`${e} — parking what was running`);let n=q("The server was shut down while this was running.").catch(e=>a.error("pause threads",e)).then(()=>s()).catch(e=>a.error("checkpoint",e)),h=r().catch(e=>a.error("close browsers",e)),c=new Promise(e=>setTimeout(e,3e3));Promise.race([Promise.all([n,h]),c]).finally(()=>process.exit(t))})}a.info(`up — app ${s}, data ${_}`);let{ensureBrowser:G}=await e.A(51833);G().catch(e=>a.debug("browser fetch",e))}e.s(["boot",0,s])},415568,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0ncs9uu._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(938281)))},109244,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__03bjojd._.js"].map(s=>e.l(s))).then(()=>s(685178)))}];
8
+
9
+ //# sourceMappingURL=_12htlm_._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[161335,e=>e.a(async(t,a)=>{try{var r=e.i(148831),o=e.i(91264),n=t([r]);[r]=n.then?(await n)():n;let l=(0,o.serverRoute)(()=>(0,r.findAllServers)());e.s(["GET",0,l]),a()}catch(e){a(e)}},!1),312508,e=>{"use strict";var t=e.i(747909),a=e.i(174017),r=e.i(996250),o=e.i(759756),n=e.i(561916),l=e.i(174677),i=e.i(869741),s=e.i(316795),c=e.i(487718),p=e.i(995169),u=e.i(47587),m=e.i(666012),d=e.i(570101),T=e.i(626937),b=e.i(10372),h=e.i(193695);e.i(52474);var v=e.i(600220);let f=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/mcp/route",pathname:"/api/mcp",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/mcp/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(161335),...{}}),{workAsyncStorage:g,workUnitAsyncStorage:S,serverHooks:R}=f;async function w(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),f.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/mcp/route";g=g.replace(/\/index$/,"")||"/";let S=await f.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,deploymentId:w,params:y,nextConfig:E,parsedUrl:C,isDraftMode:A,prerenderManifest:N,routerServerContext:x,isOnDemandRevalidate:q,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:_,serverActionsManifest:j}=S,I=(0,i.normalizeAppPath)(g),H=!!(N.dynamicRoutes[I]||N.routes[P]),M=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,C,!1):t.end("This page could not be found"),null);if(H&&!A){let e=!!N.routes[P],t=N.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await M();throw new h.NoFallbackError}}let k=null;!H||f.isDev||A||(k="/index"===(k=P)?"/":k);let D=!0===f.isDev||!H,U=H&&!D;j&&_&&(0,l.setManifestsSingleton)({page:g,clientReferenceManifest:_,serverActionsManifest:j});let B=e.method||"GET",$=(0,n.getTracer)(),F=$.getActiveScopeSpan(),K=!!(null==x?void 0:x.isWrappedByNextServer),L=!!(0,o.getRequestMeta)(e,"minimalMode"),G=(0,o.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,E,N,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let J={params:y,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts,useCacheTimeout:E.experimental.useCacheTimeout},cacheComponents:!!E.cacheComponents,validationLevel:E.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:G,hmrRefreshHash:(0,o.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:E.cacheLife,staticPageGenerationTimeout:E.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,o)=>f.onRequestError(e,t,r,o,x)},sharedContext:{buildId:R,deploymentId:w}},V=new s.NodeNextRequest(e),W=new s.NodeNextResponse(t),z=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t)),X=async({previousCacheEntry:a})=>{try{if(!L&&q&&O&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await f.handle(z,J);e.fetchMetrics=J.renderOpts.fetchMetrics;let n=J.renderOpts.pendingWaitUntil;n&&r.waitUntil&&(r.waitUntil(n),n=void 0);let l=J.renderOpts.collectedTags;if(!H)return await (0,m.sendResponse)(V,W,o,n),null;{let e=await o.blob(),t=(0,d.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[b.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=b.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,r=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=b.INFINITE_CACHE?!1!==a&&a>0?E.expireTime:void 0:J.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await f.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,x),t}},Z=async(o,l)=>{try{var i,s;let o=await f.handleResponse({req:e,nextConfig:E,cacheKey:k,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:O,responseGenerator:X,waitUntil:r.waitUntil,isMinimalMode:L});if(!H)return;if((null==o||null==(i=o.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==o||null==(s=o.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",q?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,d.fromNodeOutgoingHttpHeaders)(o.value.headers);L&&H||n.delete(b.NEXT_CACHE_TAGS_HEADER),!o.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,T.getCacheControlHeader)(o.cacheControl)),await (0,m.sendResponse)(V,W,new Response(o.value.body,{headers:n,status:o.value.status||200}));return}catch(t){if(t instanceof h.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,x),H)throw t;await (0,m.sendResponse)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!o)return;let e=t.statusCode;o.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(o.setStatus({code:n.SpanStatusCode.ERROR}),o.setAttribute("error.type",e.toString()));let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route")||I,i=`${B} ${r}`;o.setAttributes({"next.route":r,"http.route":r,"next.span_name":i}),o.updateName(i),l&&l!==o&&(l.setAttribute("http.route",r),l.updateName(i))})()}};if(K&&F)await Z(F,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>Z(e,t)),void 0,!K)}}e.s(["handler",0,w,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:g,workUnitAsyncStorage:S})},"routeModule",0,f,"serverHooks",0,R,"workAsyncStorage",0,g,"workUnitAsyncStorage",0,S])},148831,e=>e.a(async(t,a)=>{try{var r=e.i(875225),o=e.i(260338),n=e.i(518899),l=e.i(380690),i=e.i(528790),s=e.i(613240),c=e.i(279041),p=e.i(441963),u=e.i(53748),m=e.i(561298),d=t([i]);function T(e){return(0,p.isRemoteConfig)(e)?{url:e.url}:{command:e.command,args:e.args}}async function b(){return(await i.database.select({name:s.mcpServerTable.name,config:s.mcpServerTable.config,lastError:s.mcpServerTable.lastError,toolCount:(0,o.count)(s.mcpToolTable.id)}).from(s.mcpServerTable).leftJoin(s.mcpToolTable,(0,r.eq)(s.mcpToolTable.serverName,s.mcpServerTable.name)).groupBy(s.mcpServerTable.name)).map(e=>({...e,config:T(e.config)}))}async function h(e){let[t]=await i.database.select({name:s.mcpServerTable.name,config:s.mcpServerTable.config,lastError:s.mcpServerTable.lastError,toolsSyncedAt:s.mcpServerTable.toolsSyncedAt}).from(s.mcpServerTable).where((0,r.eq)(s.mcpServerTable.name,e));return t?{...t,config:T(t.config),tools:await v(e)}:null}async function v(e){return i.database.select({id:s.mcpToolTable.id,name:s.mcpToolTable.name,description:s.mcpToolTable.description,inputSchema:s.mcpToolTable.inputSchema,outputSchema:s.mcpToolTable.outputSchema}).from(s.mcpToolTable).where((0,r.eq)(s.mcpToolTable.serverName,e)).orderBy(s.mcpToolTable.name)}[i]=d.then?(await d)():d;let C=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,(0,m.openSecret)(t)]));function f(e){let t,a,r=function(e){try{return(0,p.isRemoteConfig)(e)?e.headers?{...e,headers:C(e.headers)}:e:e.env?{...e,env:C(e.env)}:e}catch(e){if(e instanceof m.UnreadableSecret)return null;throw e}}(e.config);r||(0,u.publicError)((t=e.name,(0,c.lostWords)(`The key saved for "${t}"`,"Add it again under the same name, with its key: bots keep the tools they pinned.")));let o=e.oauth&&function(e){try{return function(e){let{sealed:t,...a}=e;return t?{...JSON.parse((0,m.openSecret)(t)),...a}:a}(e)}catch(e){if(e instanceof m.UnreadableSecret)return null;throw e}}(e.oauth);return e.oauth&&!o&&(0,u.publicError)((a=e.name,(0,c.lostWords)(`The sign-in saved for "${a}"`,"Reconnect to sign in again."))),{...e,config:r,oauth:o}}async function g(e){let[t]=await i.database.select().from(s.mcpServerTable).where((0,r.eq)(s.mcpServerTable.name,e));return t?f(t):null}let A=()=>l.appEvents.emit({type:"mcp"});async function S(e,t){await i.database.transaction(async a=>{t.length&&await a.insert(s.mcpToolTable).values(t.map(t=>({...t,serverName:e}))).onConflictDoUpdate({target:[s.mcpToolTable.serverName,s.mcpToolTable.name],set:{description:R(s.mcpToolTable.description),inputSchema:R(s.mcpToolTable.inputSchema),outputSchema:R(s.mcpToolTable.outputSchema)}}),await a.delete(s.mcpToolTable).where(t.length?(0,r.and)((0,r.eq)(s.mcpToolTable.serverName,e),(0,r.notInArray)(s.mcpToolTable.name,t.map(e=>e.name))):(0,r.eq)(s.mcpToolTable.serverName,e)),await a.update(s.mcpServerTable).set({lastError:null,toolsSyncedAt:new Date}).where((0,r.eq)(s.mcpServerTable.name,e))}),A()}function R(e){return n.sql.raw(`excluded."${e.name}"`)}async function w(e,t){await i.database.update(s.mcpServerTable).set({lastError:t}).where((0,r.eq)(s.mcpServerTable.name,e)),A()}async function y(e,t){await i.database.update(s.mcpServerTable).set({oauth:t&&function(e){let{state:t,authorizationServer:a,...r}=e,o=Object.values(r).some(e=>void 0!==e);return{state:t,authorizationServer:a,...o&&{sealed:(0,m.sealSecret)(JSON.stringify(r))}}}(t)}).where((0,r.eq)(s.mcpServerTable.name,e)),A()}async function E(e){let[t]=await i.database.select().from(s.mcpServerTable).where(n.sql`json_extract(${s.mcpServerTable.oauth}, '$.state') = ${e}`);return t?f(t):null}e.s(["findAllServers",0,b,"findAllTools",0,function(){return i.database.select({id:s.mcpToolTable.id,name:s.mcpToolTable.name,serverName:s.mcpToolTable.serverName,description:s.mcpToolTable.description}).from(s.mcpToolTable).orderBy(s.mcpToolTable.serverName,s.mcpToolTable.name)},"findPinnedTools",0,function(e){return i.database.select({server:s.mcpToolTable.serverName,name:s.mcpToolTable.name,description:s.mcpToolTable.description,inputSchema:s.mcpToolTable.inputSchema}).from(s.botMcpToolTable).innerJoin(s.mcpToolTable,(0,r.eq)(s.botMcpToolTable.toolId,s.mcpToolTable.id)).where((0,r.eq)(s.botMcpToolTable.botName,e)).orderBy(s.mcpToolTable.serverName,s.mcpToolTable.name)},"findServer",0,g,"findServerByOAuthState",0,E,"findServerDetail",0,h,"findToolSchemas",0,function(e,t){return t.length?i.database.select({name:s.mcpToolTable.name,description:s.mcpToolTable.description,inputSchema:s.mcpToolTable.inputSchema}).from(s.mcpToolTable).where((0,r.and)((0,r.eq)(s.mcpToolTable.serverName,e),(0,r.inArray)(s.mcpToolTable.name,t))).orderBy(s.mcpToolTable.name):Promise.resolve([])},"listServerNames",0,function(){return i.database.select({name:s.mcpServerTable.name}).from(s.mcpServerTable).orderBy(s.mcpServerTable.name)},"listToolNames",0,function(e){let t=i.database.select({server:s.mcpToolTable.serverName,name:s.mcpToolTable.name}).from(s.mcpToolTable);return e?t.where((0,r.eq)(s.mcpToolTable.serverName,e)).orderBy(s.mcpToolTable.name):t.orderBy(s.mcpToolTable.serverName,s.mcpToolTable.name)},"saveConnectionError",0,w,"saveOAuthData",0,y,"syncServerTools",0,S]),a()}catch(e){a(e)}},!1),441963,e=>{"use strict";var t=e.i(907855),a=e.i(704161);let r=t.object({url:t.url(),headers:t.record(t.string(),t.string()).optional()}),o=t.object({command:t.string().min(1),args:t.array(t.string()).optional(),env:t.record(t.string(),t.string()).optional()}),n=t.union([r,o]),l=t.object({name:t.string(),description:t.string().optional(),inputSchema:t.looseObject({}).optional(),outputSchema:t.looseObject({}).optional()});t.object({clientInformation:t.looseObject({}).optional(),tokens:t.looseObject({}).optional(),authorizationServer:t.looseObject({}).optional(),codeVerifier:t.string().optional(),state:t.string().optional()});let i=t.object({name:t.string().min(1).max(40),config:n,toolCount:t.number().int(),lastError:t.string().nullish()}),s=l.extend({id:t.number().int(),description:t.string().nullish()});i.omit({toolCount:!0}).extend({tools:s.array().default([]),toolsSyncedAt:a.DateLikeSchema}),t.object({name:t.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:n}),t.union([t.object({mcpServers:t.record(t.string(),n)}),t.record(t.string(),n)]),e.s(["isRemoteConfig",0,function(e){return"url"in e}])}];
1
+ module.exports=[161335,e=>e.a(async(t,a)=>{try{var r=e.i(148831),o=e.i(91264),n=t([r]);[r]=n.then?(await n)():n;let l=(0,o.serverRoute)(()=>(0,r.findAllServers)());e.s(["GET",0,l]),a()}catch(e){a(e)}},!1),312508,e=>{"use strict";var t=e.i(747909),a=e.i(174017),r=e.i(996250),o=e.i(759756),n=e.i(561916),l=e.i(174677),i=e.i(869741),s=e.i(316795),c=e.i(487718),u=e.i(995169),p=e.i(47587),m=e.i(666012),d=e.i(570101),T=e.i(626937),b=e.i(10372),h=e.i(193695);e.i(52474);var v=e.i(600220);let f=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/mcp/route",pathname:"/api/mcp",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/mcp/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(161335),...{}}),{workAsyncStorage:g,workUnitAsyncStorage:S,serverHooks:R}=f;async function w(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),f.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/mcp/route";g=g.replace(/\/index$/,"")||"/";let S=await f.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,deploymentId:w,params:y,nextConfig:E,parsedUrl:C,isDraftMode:A,prerenderManifest:N,routerServerContext:x,isOnDemandRevalidate:q,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:_,serverActionsManifest:j}=S,I=(0,i.normalizeAppPath)(g),M=!!(N.dynamicRoutes[I]||N.routes[P]),H=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,C,!1):t.end("This page could not be found"),null);if(M&&!A){let e=!!N.routes[P],t=N.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await H();throw new h.NoFallbackError}}let k=null;!M||f.isDev||A||(k="/index"===(k=P)?"/":k);let D=!0===f.isDev||!M,U=M&&!D;j&&_&&(0,l.setManifestsSingleton)({page:g,clientReferenceManifest:_,serverActionsManifest:j});let B=e.method||"GET",$=(0,n.getTracer)(),F=$.getActiveScopeSpan(),K=!!(null==x?void 0:x.isWrappedByNextServer),L=!!(0,o.getRequestMeta)(e,"minimalMode"),G=(0,o.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,E,N,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:y,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts,useCacheTimeout:E.experimental.useCacheTimeout},cacheComponents:!!E.cacheComponents,validationLevel:E.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:G,hmrRefreshHash:(0,o.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:E.cacheLife,staticPageGenerationTimeout:E.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,o)=>f.onRequestError(e,t,r,o,x)},sharedContext:{buildId:R,deploymentId:w}},J=new s.NodeNextRequest(e),W=new s.NodeNextResponse(t),z=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t)),X=async({previousCacheEntry:a})=>{try{if(!L&&q&&O&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await f.handle(z,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let n=V.renderOpts.pendingWaitUntil;n&&r.waitUntil&&(r.waitUntil(n),n=void 0);let l=V.renderOpts.collectedTags;if(!M)return await (0,m.sendResponse)(J,W,o,n),null;{let e=await o.blob(),t=(0,d.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[b.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=b.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=b.INFINITE_CACHE?!1!==a&&a>0?E.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await f.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,x),t}},Z=async(o,l)=>{try{var i,s;let o=await f.handleResponse({req:e,nextConfig:E,cacheKey:k,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:O,responseGenerator:X,waitUntil:r.waitUntil,isMinimalMode:L});if(!M)return;if((null==o||null==(i=o.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==o||null==(s=o.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",q?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,d.fromNodeOutgoingHttpHeaders)(o.value.headers);L&&M||n.delete(b.NEXT_CACHE_TAGS_HEADER),!o.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,T.getCacheControlHeader)(o.cacheControl)),await (0,m.sendResponse)(J,W,new Response(o.value.body,{headers:n,status:o.value.status||200}));return}catch(t){if(t instanceof h.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,x),M)throw t;await (0,m.sendResponse)(J,W,new Response(null,{status:500}));return}finally{(()=>{if(!o)return;let e=t.statusCode;o.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(o.setStatus({code:n.SpanStatusCode.ERROR}),o.setAttribute("error.type",e.toString()));let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route")||I,i=`${B} ${r}`;o.setAttributes({"next.route":r,"http.route":r,"next.span_name":i}),o.updateName(i),l&&l!==o&&(l.setAttribute("http.route",r),l.updateName(i))})()}};if(K&&F)await Z(F,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${B} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>Z(e,t)),void 0,!K)}}e.s(["handler",0,w,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:g,workUnitAsyncStorage:S})},"routeModule",0,f,"serverHooks",0,R,"workAsyncStorage",0,g,"workUnitAsyncStorage",0,S])},148831,e=>e.a(async(t,a)=>{try{var r=e.i(875225),o=e.i(260338),n=e.i(518899),l=e.i(380690),i=e.i(528790),s=e.i(613240),c=e.i(279041),u=e.i(441963),p=e.i(53748),m=e.i(561298),d=e.i(41444),T=t([i]);function b(e){return(0,u.isRemoteConfig)(e)?{url:e.url}:{command:e.command,args:e.args}}async function h(){return(await i.database.select({name:s.mcpServerTable.name,config:s.mcpServerTable.config,lastError:s.mcpServerTable.lastError,toolCount:(0,o.count)(s.mcpToolTable.id)}).from(s.mcpServerTable).leftJoin(s.mcpToolTable,(0,r.eq)(s.mcpToolTable.serverName,s.mcpServerTable.name)).groupBy(s.mcpServerTable.name)).map(e=>({...e,config:b(e.config)}))}async function v(e){let[t]=await i.database.select({name:s.mcpServerTable.name,config:s.mcpServerTable.config,lastError:s.mcpServerTable.lastError,toolsSyncedAt:s.mcpServerTable.toolsSyncedAt}).from(s.mcpServerTable).where((0,r.eq)(s.mcpServerTable.name,e));return t?{...t,config:b(t.config),tools:await f(e)}:null}async function f(e){return i.database.select({id:s.mcpToolTable.id,name:s.mcpToolTable.name,description:s.mcpToolTable.description,inputSchema:s.mcpToolTable.inputSchema,outputSchema:s.mcpToolTable.outputSchema}).from(s.mcpToolTable).where((0,r.eq)(s.mcpToolTable.serverName,e)).orderBy(s.mcpToolTable.name)}[i]=T.then?(await T)():T;let q=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,(0,m.openSecret)(t)]));function g(e){try{return(0,u.isRemoteConfig)(e)?e.headers?{...e,headers:q(e.headers)}:e:e.env?{...e,env:q(e.env)}:e}catch(e){if(e instanceof m.UnreadableSecret)return null;throw e}}function S(e){try{return function(e){let{sealed:t,...a}=e;return t?{...JSON.parse((0,m.openSecret)(t)),...a}:a}(e)}catch(e){if(e instanceof m.UnreadableSecret)return null;throw e}}function R(e){let t,a,r=g(e.config);r||(0,p.publicError)((t=e.name,(0,c.lostWords)(`The key saved for "${t}"`,"Add it again under the same name, with its key: bots keep the tools they pinned.")));let o=e.oauth&&S(e.oauth);return e.oauth&&!o&&(0,p.publicError)((a=e.name,(0,c.lostWords)(`The sign-in saved for "${a}"`,"Reconnect to sign in again."))),{...e,config:r,oauth:o}}async function w(e){let[t]=await i.database.select().from(s.mcpServerTable).where((0,r.eq)(s.mcpServerTable.name,e));return t?R(t):null}let O=()=>l.appEvents.emit({type:"mcp"});async function y(e,t){await i.database.transaction(async a=>{t.length&&await a.insert(s.mcpToolTable).values(t.map(t=>({...t,serverName:e}))).onConflictDoUpdate({target:[s.mcpToolTable.serverName,s.mcpToolTable.name],set:{description:E(s.mcpToolTable.description),inputSchema:E(s.mcpToolTable.inputSchema),outputSchema:E(s.mcpToolTable.outputSchema)}}),await a.delete(s.mcpToolTable).where(t.length?(0,r.and)((0,r.eq)(s.mcpToolTable.serverName,e),(0,r.notInArray)(s.mcpToolTable.name,t.map(e=>e.name))):(0,r.eq)(s.mcpToolTable.serverName,e)),await a.update(s.mcpServerTable).set({lastError:null,toolsSyncedAt:new Date}).where((0,r.eq)(s.mcpServerTable.name,e))}),O()}function E(e){return n.sql.raw(`excluded."${e.name}"`)}async function C(e,t){await i.database.update(s.mcpServerTable).set({lastError:t}).where((0,r.eq)(s.mcpServerTable.name,e)),O()}async function A(e,t){await i.database.update(s.mcpServerTable).set({oauth:t&&function(e){let{state:t,authorizationServer:a,...r}=e,o=Object.values(r).some(e=>void 0!==e);return{state:t,authorizationServer:a,...o&&{sealed:(0,m.sealSecret)(JSON.stringify(r))}}}(t)}).where((0,r.eq)(s.mcpServerTable.name,e)),O()}async function N(e){let[t]=await i.database.select().from(s.mcpServerTable).where(n.sql`json_extract(${s.mcpServerTable.oauth}, '$.state') = ${e}`);return t?R(t):null}async function x(){return(await i.database.select({config:s.mcpServerTable.config,oauth:s.mcpServerTable.oauth}).from(s.mcpServerTable)).flatMap(e=>{let t=g(e.config),a=Object.values((t&&((0,u.isRemoteConfig)(t)?t.headers:t.env))??{}).flatMap(e=>[e,e.split(" ").at(-1)??e]),{state:r,authorizationServer:o,...n}=e.oauth&&S(e.oauth)||{};return[...a,...(0,d.stringsIn)(n)]})}e.s(["connectorSecretValues",0,x,"findAllServers",0,h,"findAllTools",0,function(){return i.database.select({id:s.mcpToolTable.id,name:s.mcpToolTable.name,serverName:s.mcpToolTable.serverName,description:s.mcpToolTable.description}).from(s.mcpToolTable).orderBy(s.mcpToolTable.serverName,s.mcpToolTable.name)},"findPinnedTools",0,function(e){return i.database.select({server:s.mcpToolTable.serverName,name:s.mcpToolTable.name,description:s.mcpToolTable.description,inputSchema:s.mcpToolTable.inputSchema}).from(s.botMcpToolTable).innerJoin(s.mcpToolTable,(0,r.eq)(s.botMcpToolTable.toolId,s.mcpToolTable.id)).where((0,r.eq)(s.botMcpToolTable.botName,e)).orderBy(s.mcpToolTable.serverName,s.mcpToolTable.name)},"findServer",0,w,"findServerByOAuthState",0,N,"findServerDetail",0,v,"findToolSchemas",0,function(e,t){return t.length?i.database.select({name:s.mcpToolTable.name,description:s.mcpToolTable.description,inputSchema:s.mcpToolTable.inputSchema}).from(s.mcpToolTable).where((0,r.and)((0,r.eq)(s.mcpToolTable.serverName,e),(0,r.inArray)(s.mcpToolTable.name,t))).orderBy(s.mcpToolTable.name):Promise.resolve([])},"listServerNames",0,function(){return i.database.select({name:s.mcpServerTable.name}).from(s.mcpServerTable).orderBy(s.mcpServerTable.name)},"listToolNames",0,function(e){let t=i.database.select({server:s.mcpToolTable.serverName,name:s.mcpToolTable.name}).from(s.mcpToolTable);return e?t.where((0,r.eq)(s.mcpToolTable.serverName,e)).orderBy(s.mcpToolTable.name):t.orderBy(s.mcpToolTable.serverName,s.mcpToolTable.name)},"saveConnectionError",0,C,"saveOAuthData",0,A,"syncServerTools",0,y]),a()}catch(e){a(e)}},!1),441963,e=>{"use strict";var t=e.i(907855),a=e.i(704161);let r=t.object({url:t.url(),headers:t.record(t.string(),t.string()).optional()}),o=t.object({command:t.string().min(1),args:t.array(t.string()).optional(),env:t.record(t.string(),t.string()).optional()}),n=t.union([r,o]),l=t.object({name:t.string(),description:t.string().optional(),inputSchema:t.looseObject({}).optional(),outputSchema:t.looseObject({}).optional()});t.object({clientInformation:t.looseObject({}).optional(),tokens:t.looseObject({}).optional(),authorizationServer:t.looseObject({}).optional(),codeVerifier:t.string().optional(),state:t.string().optional()});let i=t.object({name:t.string().min(1).max(40),config:n,toolCount:t.number().int(),lastError:t.string().nullish()}),s=l.extend({id:t.number().int(),description:t.string().nullish()});i.omit({toolCount:!0}).extend({tools:s.array().default([]),toolsSyncedAt:a.DateLikeSchema}),t.object({name:t.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:n}),t.union([t.object({mcpServers:t.record(t.string(),n)}),t.record(t.string(),n)]),e.s(["isRemoteConfig",0,function(e){return"url"in e}])}];
2
2
 
3
3
  //# sourceMappingURL=_13tat6z._.js.map
@@ -0,0 +1,5 @@
1
+ module.exports=[380690,e=>{"use strict";let t,a,n,r,i,s;var o,u=e.i(687388),l=e.i(850063);let d={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},c=globalThis,m=c.__appEvents??=(t=new Set,{emit(e){for(let a of[...t])try{a(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),h=c.__presence??=(o=u.BROWSER_GONE_MS,a=!1,n=null,r=new Set,i=new Set,s=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return a},track(e){if(e>0){n&&clearTimeout(n),n=null,a||(a=!0,s(i));return}!n&&a&&(n=setTimeout(()=>{n=null,a=!1,s(r)},o))},onGone:e=>(r.add(e),()=>r.delete(e)),onBack:e=>(i.add(e),()=>i.delete(e))}),f=c.__appEventStream??=(0,l.createEventStream)(m,{coalesce:{ms:u.SIGNAL_PACE_MS,keyOf:e=>e.type in d?e.type:null},onWatchers:h.track});e.s(["appEventStream",0,f,"appEvents",0,m,"presence",0,h],380690)},687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),a=process.env.THURSDAY_HOME?.trim()||process.cwd(),n=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,r=`${a}/local.db`,i=`file:${r}`,s=`${a}/.env`,o=".ai-workspace",u={workspace:o,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${o}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},l="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,n,"ARTIFACT_SKILL",0,l,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"BOT_LESSON",0,{fileChars:64e3,listed:40,shownChars:2e3},"BOT_MEMORY_LIMITS",0,{files:60,chars:3e3},"BOT_REFLECT",0,{minTools:5,steps:8},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:8,concurrent:8,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_IDLE",0,{closeAfterMs:36e5,checkEveryMs:3e5},"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_HISTORY_PAGE",0,10,"CALL_MEMORY",0,{steps:8,turns:300,stepMs:12e4,catchUpMs:864e5},"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CATALOG_MS",0,6e5,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"CHATGPT_USAGE_HIGH",0,80,"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,a,"DB_FILE_NAME",0,i,"DB_PATH",0,r,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,s,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FAVICON",0,{timeoutMs:4e3,maxBytes:3e5,kept:500,againMs:6e4,pageBytes:65536},"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"HIDDEN_SECRET_MIN",0,12,"INBOX_FINISHED",0,5,"INBOX_UNREAD",0,20,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"KEY_LOW_CREDIT",0,1,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3,instructionsTokens:16384},"LOOK",0,{maxBytes:4194304,perRequest:0xc00000},"MAIL_CHECK",0,{backMs:18e5,waitMs:12e4,waitMaxMs:3e5,chars:6e3},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_EDIT",0,{maxSteps:20},"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PAGE_SIZE",0,50,"PATHS",0,u,"PLAN_CALL",0,{delegationBytes:4096,pictureBytes:262144},"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200,watchOutput:300,boardAsk:100},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3,mailFreshMs:1728e5,mailCheckAgainMs:3e4,mailHoldMs:36e5,mailPushAfterMs:1e3,mailIdleMs:24e4,mailDnsMs:5e3,mailIdsKept:200,mailLookMs:3e5},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5,watchMs:6e4,watchChars:2e3},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:l,"picture-book":l,"interactive-page":l},"SKILL_FILES",0,{uploadBytes:0x1400000,inlineBytes:524288,unpackedBytes:0x6400000,archiveEntries:1e3},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10,chunkMs:12e4},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","UPDATE",0,{checkMs:864e5,againMs:6e5,timeoutMs:5e3,quietMs:864e5,waitMs:3e5,pollMs:2e3},"WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5},"WORKSPACE_VIEW",0,{rows:200,textMax:524288,autoCloseMs:5e3,elementMax:0x3200000}])},850063,e=>{"use strict";var t=e.i(640911);e.s(["createEventStream",0,function(e,a={}){let n=new TextEncoder,r=a.heartbeatMs??2e4,i=0;return{respond:(s,o)=>{let u=()=>{};return new Response(new ReadableStream({async start(l){let d=!1,c=new Map,m=[],h=e=>{if(!d)try{l.enqueue(n.encode(e))}catch{u()}},f=e=>h(`data: ${JSON.stringify(e)}
2
+
3
+ `),M=e=>{let t={last:null},n=setTimeout(()=>{c.delete(e),!d&&t.last&&(f(t.last),M(e))},a.coalesce?.ms);c.set(e,{timer:n,wait:t})},g=e=>{if(d)return;let t=a.coalesce?.keyOf(e)??null;if(null===t)return f(e);let n=c.get(t);if(n){n.wait.last=e;return}f(e),M(t)},p=e.subscribe(e=>m?m.push(e):g(e)),S=setInterval(()=>h(": ping\n\n"),r);i+=1,a.onWatchers?.(i),u=()=>{if(!d){for(let e of(d=!0,i-=1,a.onWatchers?.(i),p(),clearInterval(S),c.values()))clearTimeout(e.timer);try{l.close()}catch{}}},s.addEventListener("abort",u);try{for(let e of await o?.()??[])f(e)}catch(e){t.logger.error("event stream opening failed",e),u();return}let E=m;for(let e of(m=null,E))g(e)},cancel(){u()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return i}}}])},89929,609730,277988,e=>{"use strict";var t=e.i(874321);function a(e,a){return(0,t.constructFrom)(a||e,e)}e.s(["toDate",0,a],609730),e.s(["getTimezoneOffsetInMilliseconds",0,function(e){let t=a(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-n}],89929),e.s(["normalizeDates",0,function(e,...a){let n=t.constructFrom.bind(null,e||a.find(e=>"object"==typeof e));return a.map(n)}],277988)},874321,438220,e=>{"use strict";let t=Symbol.for("constructDateFrom");e.s(["constructFromSymbol",0,t,"millisecondsInDay",0,864e5,"millisecondsInMinute",0,6e4,"millisecondsInWeek",0,6048e5,"minutesInDay",0,1440,"minutesInMonth",0,43200,"minutesInYear",0,525600],438220),e.s(["constructFrom",0,function(e,a){return"function"==typeof e?e(a):e&&"object"==typeof e&&t in e?e[t](a):e instanceof Date?new e.constructor(a):new Date(a)}],874321)},599447,e=>{"use strict";var t=e.i(874321);e.s(["constructNow",0,function(e){return(0,t.constructFrom)(e,Date.now())}])},881237,662001,e=>{"use strict";var t;let a={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function n(e){return (t={})=>{let a=t.width?String(t.width):e.defaultWidth;return e.formats[a]||e.formats[e.defaultWidth]}}let r={date:n({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:n({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:n({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},i={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function s(e){return(t,a)=>{let n;if("formatting"===(a?.context?String(a.context):"standalone")&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=a?.width?String(a.width):t;n=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=a?.width?String(a.width):e.defaultWidth;n=e.values[r]||e.values[t]}return n[e.argumentCallback?e.argumentCallback(t):t]}}let o={ordinalNumber:(e,t)=>{let a=Number(e),n=a%100;if(n>20||n<10)switch(n%10){case 1:return a+"st";case 2:return a+"nd";case 3:return a+"rd"}return a+"th"},era:s({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:s({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:s({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:s({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:s({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function u(e){return(t,a={})=>{let n,r=a.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],s=t.match(i);if(!s)return null;let o=s[0],u=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(u)?function(e,t){for(let a=0;a<e.length;a++)if(t(e[a]))return a}(u,e=>e.test(o)):function(e,t){for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&t(e[a]))return a}(u,e=>e.test(o));return n=e.valueCallback?e.valueCallback(l):l,{value:n=a.valueCallback?a.valueCallback(n):n,rest:t.slice(o.length)}}}let l={ordinalNumber:(t={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,a={})=>{let n=e.match(t.matchPattern);if(!n)return null;let r=n[0],i=e.match(t.parsePattern);if(!i)return null;let s=t.valueCallback?t.valueCallback(i[0]):i[0];return{value:s=a.valueCallback?a.valueCallback(s):s,rest:e.slice(r.length)}}),era:u({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:u({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:u({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:u({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:u({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};e.s(["defaultLocale",0,{code:"en-US",formatDistance:(e,t,n)=>{let r,i=a[e];if(r="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),n?.addSuffix)if(n.comparison&&n.comparison>0)return"in "+r;else return r+" ago";return r},formatLong:r,formatRelative:(e,t,a,n)=>i[e],localize:o,match:l,options:{weekStartsOn:0,firstWeekContainsDate:1}}],881237);let d={};e.s(["getDefaultOptions",0,function(){return d}],662001)},551047,e=>{"use strict";var t=e.i(862061),a=e.i(907855);function n(e){return t._isoDateTime(a.ZodISODateTime,e)}function r(e){return t._isoDate(a.ZodISODate,e)}function i(e){return t._isoTime(a.ZodISOTime,e)}function s(e){return t._isoDuration(a.ZodISODuration,e)}e.s(["date",0,r,"datetime",0,n,"duration",0,s,"time",0,i],691681),e.i(691681),e.s(["ZodISODate",()=>a.ZodISODate,"ZodISODateTime",()=>a.ZodISODateTime,"ZodISODuration",()=>a.ZodISODuration,"ZodISOTime",()=>a.ZodISOTime,"date",0,r,"datetime",0,n,"duration",0,s,"time",0,i],551047)}];
4
+
5
+ //# sourceMappingURL=_143moy6._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[879078,e=>{"use strict";var t=e.i(687388);e.s(["seedKitName",0,e=>{let s=e.trim().toLowerCase();return Object.hasOwn(t.SEED_KITS_RENAMED,s)?t.SEED_KITS_RENAMED[s]:s}])},696968,e=>e.a(async(t,s)=>{try{let A;var r=e.i(666680),i=e.i(912714),n=e.i(750227),a=e.i(523008),o=e.i(687388),l=e.i(265143),c=e.i(340698),u=e.i(280809),f=e.i(786025),h=e.i(640911),d=e.i(53748),p=e.i(41444),m=e.i(879078),g=t([l,c]);function y(e){if("default"===e)return(0,n.resolve)(o.APP_DIR,o.PATHS.skills.default);if("custom"===e)return(0,n.resolve)(o.DATA_DIR,o.PATHS.skills.custom);let t=(0,u.botOfSource)(e)??"";return e.startsWith("kit:")?(0,n.resolve)(o.APP_DIR,o.PATHS.skills.seeds,(0,m.seedKitName)(t)):(0,n.resolve)(f.WORKSPACE,o.PATHS.bots,t,o.PATHS.skills.own)}[l,c]=g.then?(await g)():g;let O=()=>A??=(0,i.readFile)((0,n.join)(o.APP_DIR,o.PATHS.skills.seeds,"retired.json"),"utf8").then(e=>{let{sha256:t}=JSON.parse(e);return new Map(Object.entries(t).map(([e,t])=>[e,new Set(t)]))}).catch(()=>new Map),L=new Set([".DS_Store","__MACOSX"]);async function b(e,t){let[s,r]=await Promise.all([(0,i.realpath)(e),(0,i.realpath)(t)]).catch(()=>(0,d.publicError)("File not found")),a=(0,n.relative)(s,r);return(a.startsWith("..")||(0,n.isAbsolute)(a))&&(0,d.publicError)("File not found"),r}function S(e){let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);if(!t)return{head:null,body:e.trim(),rest:e,fence:""};let s=e.slice(t[0].length);return{head:t[1]??null,body:s.trim(),rest:s,fence:t[0]}}let T=e=>{let t=function({metadata:e,platforms:t}){let s=e?.platforms;return"string"==typeof s?s.split(/[\s,]+/).filter(Boolean):t}(e);return!t?.length||t.includes(process.platform)};async function k(){try{return(0,u.parseSkillsOff)(await (0,c.readConfig)(u.SKILLS_OFF_KEY))}catch(e){return h.logger.warn(`skills switched off could not be read — ${(0,p.errorToString)(e)}`),new Set}}let C=(e,t)=>!0===e.disabled||t.has(e.name.toLowerCase());function w(e){let t,{head:s}=S(e);s||(0,d.publicError)("SKILL.md needs a YAML block with name and description");try{t=(0,a.parse)(s)}catch{(0,d.publicError)("SKILL.md frontmatter is not valid YAML")}let r=u.SkillFrontmatterSchema.safeParse(t);return r.success||(0,d.publicError)(`SKILL.md frontmatter: ${r.error.issues[0]?.message??"invalid"}`),r.data}async function v(e,t,s){try{let a,o=await (0,i.readFile)((0,n.join)(y(e),t,"SKILL.md"),"utf-8"),l=w(o);if(e.startsWith("own:")&&(a=l.name,s.get(a)?.has((0,r.createHash)("sha256").update(o,"utf8").digest("hex"))))return null;return{...l,source:e,dir:t}}catch{return null}}async function E(){let e=[],t=await k(),s=await O(),r=await (0,l.listBotNames)().catch(e=>(h.logger.warn(`skills: the bots could not be listed — ${(0,p.errorToString)(e)}`),[]));for(let{source:n,bot:a}of[{source:"default"},{source:"custom"},...[...r].sort((e,t)=>e.localeCompare(t)).flatMap(e=>[{source:`kit:${(0,f.botFolderName)(e)}`,bot:e},{source:`own:${(0,f.botFolderName)(e)}`,bot:e}])]){let r=[];try{r=(await (0,i.readdir)(y(n),{withFileTypes:!0})).filter(e=>e.isDirectory()&&!L.has(e.name)).map(e=>e.name).sort()}catch{continue}for(let i of r){let r=await v(n,i,s);r&&T(r)&&e.push({...r,...a?{bot:a}:{},disabled:C(r,t)})}}return e}async function N(e,t,s=""){let r,a,l,c,u,f,h=(a=y(e),l=(0,n.resolve)(a,t),(!(c=(0,n.relative)(a,l))||c.startsWith("..")||c.includes(n.sep)||"."===c)&&(0,d.publicError)("Skill not found"),l),p=(u=(0,n.resolve)(h,s),((f=(0,n.relative)(h,u)).startsWith("..")||(0,n.isAbsolute)(f))&&(0,d.publicError)("File not found"),u),m=await b(h,p);try{r=await (0,i.stat)(m)}catch{(0,d.publicError)("File not found")}if(r.isDirectory()){let e=await (0,i.readdir)(m,{withFileTypes:!0}),t=[];for(let s of e)if(!L.has(s.name)){if(s.isDirectory())t.push({name:s.name,kind:"dir"});else if(s.isFile()){let e=await (0,i.stat)((0,n.join)(m,s.name));t.push({name:s.name,kind:"file",size:e.size})}}return t.sort((e,t)=>Number("file"===e.kind)-Number("file"===t.kind)||e.name.localeCompare(t.name)),{kind:"dir",entries:t}}if(r.size>o.SKILL_FILES.inlineBytes)return{kind:"file",content:null,size:r.size};let g=await (0,i.readFile)(m),S=g.subarray(0,1024).includes(0)?null:g.toString("utf-8");return{kind:"file",content:S,size:r.size,...null!==S&&p===(0,n.join)(h,"SKILL.md")?{description:function(e){try{return w(e).description}catch{return}}(S)}:{}}}e.s(["findAllSkills",0,E,"isSkillOff",0,C,"parseFrontmatter",0,w,"readRetired",0,O,"readSkillNode",0,N,"readSkillsOff",0,k,"runsHere",0,T,"splitFrontmatter",0,S]),s()}catch(e){s(e)}},!1),280809,e=>{"use strict";var t=e.i(907855);let s=t.union([t.enum(["custom","default"]),t.templateLiteral(["kit:",t.string().regex(/^[\p{L}\p{N}_-]+$/u)]),t.templateLiteral(["own:",t.string().regex(/^[\p{L}\p{N}_-]+$/u)])]),r=t.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long").regex(/^[a-z0-9][a-z0-9_-]*$/i,"Use letters, numbers, dashes and underscores only"),i=t.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long"),n=t.object({name:i,description:t.string().trim().min(1,"Description is required"),metadata:t.record(t.string(),t.unknown()).optional(),disabled:t.boolean().optional(),platforms:t.array(t.string()).optional()});n.extend({name:r,content:t.string().trim().min(1,"Content is required")}),e.s(["SKILLS_OFF_KEY",0,"SKILLS_OFF","SkillFrontmatterSchema",0,n,"SkillSourceSchema",0,s,"botOfSource",0,e=>e.startsWith("kit:")||e.startsWith("own:")?e.slice(4):null,"firstSentence",0,e=>e.trim().split(/(?<=[.。])\s|\n/)[0].trim(),"parseSkillsOff",0,function(e){if(!e)return new Set;try{let t=JSON.parse(e);return new Set(Array.isArray(t)?t.filter(e=>"string"==typeof e).map(e=>e.trim().toLowerCase()):[])}catch{return new Set}}])},962004,(e,t,s)=>{"use strict";let r=Symbol.for("yaml.alias"),i=Symbol.for("yaml.document"),n=Symbol.for("yaml.map"),a=Symbol.for("yaml.pair"),o=Symbol.for("yaml.scalar"),l=Symbol.for("yaml.seq"),c=Symbol.for("yaml.node.type"),u=e=>!!e&&"object"==typeof e&&e[c]===o;function f(e){if(e&&"object"==typeof e)switch(e[c]){case n:case l:return!0}return!1}s.ALIAS=r,s.DOC=i,s.MAP=n,s.NODE_TYPE=c,s.PAIR=a,s.SCALAR=o,s.SEQ=l,s.hasAnchor=e=>(u(e)||f(e))&&!!e.anchor,s.isAlias=e=>!!e&&"object"==typeof e&&e[c]===r,s.isCollection=f,s.isDocument=e=>!!e&&"object"==typeof e&&e[c]===i,s.isMap=e=>!!e&&"object"==typeof e&&e[c]===n,s.isNode=function(e){if(e&&"object"==typeof e)switch(e[c]){case r:case n:case o:case l:return!0}return!1},s.isPair=e=>!!e&&"object"==typeof e&&e[c]===a,s.isScalar=u,s.isSeq=e=>!!e&&"object"==typeof e&&e[c]===l},705746,(e,t,s)=>{"use strict";var r=e.r(962004);let i=Symbol("break visit"),n=Symbol("skip children"),a=Symbol("remove node");function o(e,t){let s=f(t);r.isDocument(e)?l(null,e.contents,s,Object.freeze([e]))===a&&(e.contents=null):l(null,e,s,Object.freeze([]))}function l(e,t,s,n){let o=h(e,t,s,n);if(r.isNode(o)||r.isPair(o))return d(e,n,o),l(e,o,s,n);if("symbol"!=typeof o){if(r.isCollection(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let r=l(e,t.items[e],s,n);if("number"==typeof r)e=r-1;else{if(r===i)return i;r===a&&(t.items.splice(e,1),e-=1)}}}else if(r.isPair(t)){n=Object.freeze(n.concat(t));let e=l("key",t.key,s,n);if(e===i)return i;e===a&&(t.key=null);let r=l("value",t.value,s,n);if(r===i)return i;r===a&&(t.value=null)}}return o}async function c(e,t){let s=f(t);r.isDocument(e)?await u(null,e.contents,s,Object.freeze([e]))===a&&(e.contents=null):await u(null,e,s,Object.freeze([]))}async function u(e,t,s,n){let o=await h(e,t,s,n);if(r.isNode(o)||r.isPair(o))return d(e,n,o),u(e,o,s,n);if("symbol"!=typeof o){if(r.isCollection(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let r=await u(e,t.items[e],s,n);if("number"==typeof r)e=r-1;else{if(r===i)return i;r===a&&(t.items.splice(e,1),e-=1)}}}else if(r.isPair(t)){n=Object.freeze(n.concat(t));let e=await u("key",t.key,s,n);if(e===i)return i;e===a&&(t.key=null);let r=await u("value",t.value,s,n);if(r===i)return i;r===a&&(t.value=null)}}return o}function f(e){return"object"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function h(e,t,s,i){return"function"==typeof s?s(e,t,i):r.isMap(t)?s.Map?.(e,t,i):r.isSeq(t)?s.Seq?.(e,t,i):r.isPair(t)?s.Pair?.(e,t,i):r.isScalar(t)?s.Scalar?.(e,t,i):r.isAlias(t)?s.Alias?.(e,t,i):void 0}function d(e,t,s){let i=t[t.length-1];if(r.isCollection(i))i.items[e]=s;else if(r.isPair(i))"key"===e?i.key=s:i.value=s;else if(r.isDocument(i))i.contents=s;else{let e=r.isAlias(i)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}o.BREAK=i,o.SKIP=n,o.REMOVE=a,c.BREAK=i,c.SKIP=n,c.REMOVE=a,s.visit=o,s.visitAsync=c},343474,(e,t,s)=>{"use strict";var r=e.r(962004),i=e.r(705746);let n={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},a=e=>e.replace(/[!,[\]{}]/g,e=>n[e]);class o{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},o.defaultYaml,e),this.tags=Object.assign({},o.defaultTags,t)}clone(){let e=new o(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new o(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:o.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},o.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:o.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},o.defaultTags),this.atNextDocument=!1);let s=e.trim().split(/[ \t]+/),r=s.shift();switch(r){case"%TAG":{if(2!==s.length&&(t(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;let[e,r]=s;return this.tags[e]=r,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==s.length)return t(0,"%YAML directive should contain exactly one part"),!1;let[e]=s;if("1.1"===e||"1.2"===e)return this.yaml.version=e,!0;{let s=/^\d+\.\d+$/.test(e);return t(6,`Unsupported YAML version ${e}`,s),!1}}default:return t(0,`Unknown directive ${r}`,!0),!1}}tagName(e,t){if("!"===e)return"!";if("!"!==e[0])return t(`Not a valid tag: ${e}`),null;if("<"===e[1]){let s=e.slice(2,-1);return"!"===s||"!!"===s?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(">"!==e[e.length-1]&&t("Verbatim tags must end with a >"),s)}let[,s,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[s];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return"!"===s?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,s]of Object.entries(this.tags))if(e.startsWith(s))return t+a(e.substring(s.length));return"!"===e[0]?e:`!<${e}>`}toString(e){let t,s=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags);if(e&&n.length>0&&r.isNode(e.contents)){let s={};i.visit(e.contents,(e,t)=>{r.isNode(t)&&t.tag&&(s[t.tag]=!0)}),t=Object.keys(s)}else t=[];for(let[r,i]of n)("!!"!==r||"tag:yaml.org,2002:"!==i)&&(!e||t.some(e=>e.startsWith(i)))&&s.push(`%TAG ${r} ${i}`);return s.join("\n")}}o.defaultYaml={explicit:!1,version:"1.2"},o.defaultTags={"!!":"tag:yaml.org,2002:"},s.Directives=o},397943,(e,t,s)=>{"use strict";var r=e.r(962004),i=e.r(705746);function n(e){let t=new Set;return i.visit(e,{Value(e,s){s.anchor&&t.add(s.anchor)}}),t}function a(e,t){for(let s=1;;++s){let r=`${e}${s}`;if(!t.has(r))return r}}s.anchorIsValid=function(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=JSON.stringify(e);throw Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0},s.anchorNames=n,s.createNodeAnchors=function(e,t){let s=[],i=new Map,o=null;return{onAnchor:r=>{s.push(r),o??(o=n(e));let i=a(t,o);return o.add(i),i},setAnchors:()=>{for(let e of s){let t=i.get(e);if("object"==typeof t&&t.anchor&&(r.isScalar(t.node)||r.isCollection(t.node)))t.node.anchor=t.anchor;else{let t=Error("Failed to resolve repeated object (this should not happen)");throw t.source=e,t}}},sourceObjects:i}},s.findNewAnchor=a},53418,(e,t,s)=>{"use strict";s.applyReviver=function e(t,s,r,i){if(i&&"object"==typeof i)if(Array.isArray(i))for(let s=0,r=i.length;s<r;++s){let r=i[s],n=e(t,i,String(s),r);void 0===n?delete i[s]:n!==r&&(i[s]=n)}else if(i instanceof Map)for(let s of Array.from(i.keys())){let r=i.get(s),n=e(t,i,s,r);void 0===n?i.delete(s):n!==r&&i.set(s,n)}else if(i instanceof Set)for(let s of Array.from(i)){let r=e(t,i,s,s);void 0===r?i.delete(s):r!==s&&(i.delete(s),i.add(r))}else for(let[s,r]of Object.entries(i)){let n=e(t,i,s,r);void 0===n?delete i[s]:n!==r&&(i[s]=n)}return t.call(s,r,i)}},984922,(e,t,s)=>{"use strict";var r=e.r(962004);s.toJS=function e(t,s,i){if(Array.isArray(t))return t.map((t,s)=>e(t,String(s),i));if(t&&"function"==typeof t.toJSON){if(!i||!r.hasAnchor(t))return t.toJSON(s,i);let e={aliasCount:0,count:1,res:void 0};i.anchors.set(t,e),i.onCreate=t=>{e.res=t,delete i.onCreate};let n=t.toJSON(s,i);return i.onCreate&&i.onCreate(n),n}return"bigint"!=typeof t||i?.keep?t:Number(t)}},88865,(e,t,s)=>{"use strict";var r=e.r(53418),i=e.r(962004),n=e.r(984922);s.NodeBase=class{constructor(e){Object.defineProperty(this,i.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:s,onAnchor:a,reviver:o}={}){if(!i.isDocument(e))throw TypeError("A document argument is required");let l={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof s?s:100},c=n.toJS(this,"",l);if("function"==typeof a)for(let{count:e,res:t}of l.anchors.values())a(t,e);return"function"==typeof o?r.applyReviver(o,{"":c},"",c):c}}},378862,(e,t,s)=>{"use strict";var r=e.r(397943),i=e.r(705746),n=e.r(962004),a=e.r(88865),o=e.r(984922);class l extends a.NodeBase{constructor(e){super(n.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){let s,r;if(t?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let a of(t?.aliasResolveCache?s=t.aliasResolveCache:(s=[],i.visit(e,{Node:(e,t)=>{(n.isAlias(t)||n.hasAnchor(t))&&s.push(t)}}),t&&(t.aliasResolveCache=s)),s)){if(a===this)break;a.anchor===this.source&&(r=a)}if(r&&t){let{anchors:e,doc:s,maxAliasCount:i}=t,a=e.get(r);if(a||(o.toJS(r,null,t),a=e.get(r)),a?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0&&(a.count+=1,0===a.aliasCount&&(a.aliasCount=function e(t,s,r){if(n.isAlias(s)){let e=s.resolve(t),i=r&&e&&r.get(e);return i?i.count*i.aliasCount:0}if(n.isCollection(s)){let i=0;for(let n of s.items){let s=e(t,n,r);s>i&&(i=s)}return i}return n.isPair(s)?Math.max(e(t,s.key,r),e(t,s.value,r)):1}(s,r,e)),a.count*a.aliasCount>i))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return r}toJSON(e,t){if(!t)return{source:this.source};let s=this.resolve(t.doc,t);if(!s)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);return t.anchors.get(s).res}toString(e,t,s){let i=`*${this.source}`;if(e){if(r.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${i} `}return i}}s.Alias=l},45942,(e,t,s)=>{"use strict";var r=e.r(962004),i=e.r(88865),n=e.r(984922);class a extends i.NodeBase{constructor(e){super(r.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:n.toJS(this.value,e,t)}toString(){return String(this.value)}}a.BLOCK_FOLDED="BLOCK_FOLDED",a.BLOCK_LITERAL="BLOCK_LITERAL",a.PLAIN="PLAIN",a.QUOTE_DOUBLE="QUOTE_DOUBLE",a.QUOTE_SINGLE="QUOTE_SINGLE",s.Scalar=a,s.isScalarValue=e=>!e||"function"!=typeof e&&"object"!=typeof e},312270,(e,t,s)=>{"use strict";var r=e.r(378862),i=e.r(962004),n=e.r(45942);s.createNode=function(e,t,s){let a;if(i.isDocument(e)&&(e=e.contents),i.isNode(e))return e;if(i.isPair(e)){let t=s.schema[i.MAP].createNode?.(s.schema,null,s);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"u">typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:o,onAnchor:l,onTagObj:c,schema:u,sourceObjects:f}=s;if(o&&e&&"object"==typeof e){if(a=f.get(e))return a.anchor??(a.anchor=l(e)),new r.Alias(a.anchor);a={anchor:null,node:null},f.set(e,a)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let h=function(e,t,s){if(t){let e=s.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return s.find(t=>t.identify?.(e)&&!t.format)}(e,t,u.tags);if(!h){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){let t=new n.Scalar(e);return a&&(a.node=t),t}h=e instanceof Map?u[i.MAP]:Symbol.iterator in Object(e)?u[i.SEQ]:u[i.MAP]}c&&(c(h),delete s.onTagObj);let d=h?.createNode?h.createNode(s.schema,e,s):"function"==typeof h?.nodeClass?.from?h.nodeClass.from(s.schema,e,s):new n.Scalar(e);return t?d.tag=t:h.default||(d.tag=h.tag),a&&(a.node=d),d}},226634,(e,t,s)=>{"use strict";var r=e.r(312270),i=e.r(962004),n=e.r(88865);function a(e,t,s){let i=s;for(let e=t.length-1;e>=0;--e){let s=t[e];if("number"==typeof s&&Number.isInteger(s)&&s>=0){let e=[];e[s]=i,i=e}else i=new Map([[s,i]])}return r.createNode(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}let o=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class l extends n.NodeBase{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>i.isNode(t)||i.isPair(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(o(e))this.add(t);else{let[s,...r]=e,n=this.get(s,!0);if(i.isCollection(n))n.addIn(r,t);else if(void 0===n&&this.schema)this.set(s,a(this.schema,r,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${r}`)}}deleteIn(e){let[t,...s]=e;if(0===s.length)return this.delete(t);let r=this.get(t,!0);if(i.isCollection(r))return r.deleteIn(s);throw Error(`Expected YAML collection at ${t}. Remaining path: ${s}`)}getIn(e,t){let[s,...r]=e,n=this.get(s,!0);return 0===r.length?!t&&i.isScalar(n)?n.value:n:i.isCollection(n)?n.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!i.isPair(t))return!1;let s=t.value;return null==s||e&&i.isScalar(s)&&null==s.value&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(e){let[t,...s]=e;if(0===s.length)return this.has(t);let r=this.get(t,!0);return!!i.isCollection(r)&&r.hasIn(s)}setIn(e,t){let[s,...r]=e;if(0===r.length)this.set(s,t);else{let e=this.get(s,!0);if(i.isCollection(e))e.setIn(r,t);else if(void 0===e&&this.schema)this.set(s,a(this.schema,r,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${r}`)}}}s.Collection=l,s.collectionFromPath=a,s.isEmptyPath=o},836803,(e,t,s)=>{"use strict";function r(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}s.indentComment=r,s.lineComment=(e,t,s)=>e.endsWith("\n")?r(s,t):s.includes("\n")?"\n"+r(s,t):(e.endsWith(" ")?"":" ")+s,s.stringifyComment=e=>e.replace(/^(?!$)(?: $)?/gm,"#")},136502,(e,t,s)=>{"use strict";let r="block",i="quoted";function n(e,t,s){let r=t,i=t+1,n=e[i];for(;" "===n||" "===n;)if(t<i+s)n=e[++t];else{do n=e[++t];while(n&&"\n"!==n)r=t,n=e[i=t+1]}return r}s.FOLD_BLOCK=r,s.FOLD_FLOW="flow",s.FOLD_QUOTED=i,s.foldFlowLines=function(e,t,s="flow",{indentAtStart:a,lineWidth:o=80,minContentWidth:l=20,onFold:c,onOverflow:u}={}){let f,h,d;if(!o||o<0)return e;o<l&&(l=0);let p=Math.max(1+l,1+o-t.length);if(e.length<=p)return e;let m=[],g={},y=o-t.length;"number"==typeof a&&(a>o-Math.max(2,l)?m.push(0):y=o-a);let b=!1,S=-1,k=-1,w=-1;for(s===r&&-1!==(S=n(e,S,t.length))&&(y=S+p);d=e[S+=1];){if(s===i&&"\\"===d){switch(k=S,e[S+1]){case"x":S+=3;break;case"u":S+=5;break;case"U":S+=9;break;default:S+=1}w=S}if("\n"===d)s===r&&(S=n(e,S,t.length)),y=S+t.length+p,f=void 0;else{if(" "===d&&h&&" "!==h&&"\n"!==h&&" "!==h){let t=e[S+1];t&&" "!==t&&"\n"!==t&&" "!==t&&(f=S)}if(S>=y)if(f)m.push(f),y=f+p,f=void 0;else if(s===i){for(;" "===h||" "===h;)h=d,d=e[S+=1],b=!0;let t=S>w+1?S-2:k-1;if(g[t])return e;m.push(t),g[t]=!0,y=t+p,f=void 0}else b=!0}h=d}if(b&&u&&u(),0===m.length)return e;c&&c();let v=e.slice(0,m[0]);for(let r=0;r<m.length;++r){let n=m[r],a=m[r+1]||e.length;0===n?v=`
1
+ module.exports=[879078,e=>{"use strict";var t=e.i(687388);e.s(["seedKitName",0,e=>{let s=e.trim().toLowerCase();return Object.hasOwn(t.SEED_KITS_RENAMED,s)?t.SEED_KITS_RENAMED[s]:s}])},696968,e=>e.a(async(t,s)=>{try{let A;var r=e.i(666680),i=e.i(912714),n=e.i(750227),a=e.i(523008),o=e.i(687388),l=e.i(265143),c=e.i(340698),u=e.i(280809),f=e.i(786025),h=e.i(640911),d=e.i(53748),p=e.i(41444),m=e.i(879078),g=t([l,c,f]);function y(e){if("default"===e)return(0,n.resolve)(o.APP_DIR,o.PATHS.skills.default);if("custom"===e)return(0,n.resolve)(o.DATA_DIR,o.PATHS.skills.custom);let t=(0,u.botOfSource)(e)??"";return e.startsWith("kit:")?(0,n.resolve)(o.APP_DIR,o.PATHS.skills.seeds,(0,m.seedKitName)(t)):(0,n.resolve)(f.WORKSPACE,o.PATHS.bots,t,o.PATHS.skills.own)}[l,c,f]=g.then?(await g)():g;let O=()=>A??=(0,i.readFile)((0,n.join)(o.APP_DIR,o.PATHS.skills.seeds,"retired.json"),"utf8").then(e=>{let{sha256:t}=JSON.parse(e);return new Map(Object.entries(t).map(([e,t])=>[e,new Set(t)]))}).catch(()=>new Map),L=new Set([".DS_Store","__MACOSX"]);async function b(e,t){let[s,r]=await Promise.all([(0,i.realpath)(e),(0,i.realpath)(t)]).catch(()=>(0,d.publicError)("File not found")),a=(0,n.relative)(s,r);return(a.startsWith("..")||(0,n.isAbsolute)(a))&&(0,d.publicError)("File not found"),r}function S(e){let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);if(!t)return{head:null,body:e.trim(),rest:e,fence:""};let s=e.slice(t[0].length);return{head:t[1]??null,body:s.trim(),rest:s,fence:t[0]}}let T=e=>{let t=function({metadata:e,platforms:t}){let s=e?.platforms;return"string"==typeof s?s.split(/[\s,]+/).filter(Boolean):t}(e);return!t?.length||t.includes(process.platform)};async function k(){try{return(0,u.parseSkillsOff)(await (0,c.readConfig)(u.SKILLS_OFF_KEY))}catch(e){return h.logger.warn(`skills switched off could not be read — ${(0,p.errorToString)(e)}`),new Set}}let C=(e,t)=>!0===e.disabled||t.has(e.name.toLowerCase());function w(e){let t,{head:s}=S(e);s||(0,d.publicError)("SKILL.md needs a YAML block with name and description");try{t=(0,a.parse)(s)}catch{(0,d.publicError)("SKILL.md frontmatter is not valid YAML")}let r=u.SkillFrontmatterSchema.safeParse(t);return r.success||(0,d.publicError)(`SKILL.md frontmatter: ${r.error.issues[0]?.message??"invalid"}`),r.data}async function v(e,t,s){try{let a,o=await (0,i.readFile)((0,n.join)(y(e),t,"SKILL.md"),"utf-8"),l=w(o);if(e.startsWith("own:")&&(a=l.name,s.get(a)?.has((0,r.createHash)("sha256").update(o,"utf8").digest("hex"))))return null;return{...l,source:e,dir:t}}catch{return null}}async function E(){let e=[],t=await k(),s=await O(),r=await (0,l.listBotNames)().catch(e=>(h.logger.warn(`skills: the bots could not be listed — ${(0,p.errorToString)(e)}`),[]));for(let{source:n,bot:a}of[{source:"default"},{source:"custom"},...[...r].sort((e,t)=>e.localeCompare(t)).flatMap(e=>[{source:`kit:${(0,f.botFolderName)(e)}`,bot:e},{source:`own:${(0,f.botFolderName)(e)}`,bot:e}])]){let r=[];try{r=(await (0,i.readdir)(y(n),{withFileTypes:!0})).filter(e=>e.isDirectory()&&!L.has(e.name)).map(e=>e.name).sort()}catch{continue}for(let i of r){let r=await v(n,i,s);r&&T(r)&&e.push({...r,...a?{bot:a}:{},disabled:C(r,t)})}}return e}async function N(e,t,s=""){let r,a,l,c,u,f,h=(a=y(e),l=(0,n.resolve)(a,t),(!(c=(0,n.relative)(a,l))||c.startsWith("..")||c.includes(n.sep)||"."===c)&&(0,d.publicError)("Skill not found"),l),p=(u=(0,n.resolve)(h,s),((f=(0,n.relative)(h,u)).startsWith("..")||(0,n.isAbsolute)(f))&&(0,d.publicError)("File not found"),u),m=await b(h,p);try{r=await (0,i.stat)(m)}catch{(0,d.publicError)("File not found")}if(r.isDirectory()){let e=await (0,i.readdir)(m,{withFileTypes:!0}),t=[];for(let s of e)if(!L.has(s.name)){if(s.isDirectory())t.push({name:s.name,kind:"dir"});else if(s.isFile()){let e=await (0,i.stat)((0,n.join)(m,s.name));t.push({name:s.name,kind:"file",size:e.size})}}return t.sort((e,t)=>Number("file"===e.kind)-Number("file"===t.kind)||e.name.localeCompare(t.name)),{kind:"dir",entries:t}}if(r.size>o.SKILL_FILES.inlineBytes)return{kind:"file",content:null,size:r.size};let g=await (0,i.readFile)(m),S=g.subarray(0,1024).includes(0)?null:g.toString("utf-8");return{kind:"file",content:S,size:r.size,...null!==S&&p===(0,n.join)(h,"SKILL.md")?{description:function(e){try{return w(e).description}catch{return}}(S)}:{}}}e.s(["findAllSkills",0,E,"isSkillOff",0,C,"parseFrontmatter",0,w,"readRetired",0,O,"readSkillNode",0,N,"readSkillsOff",0,k,"runsHere",0,T,"splitFrontmatter",0,S]),s()}catch(e){s(e)}},!1),280809,e=>{"use strict";var t=e.i(907855);let s=t.union([t.enum(["custom","default"]),t.templateLiteral(["kit:",t.string().regex(/^[\p{L}\p{N}_-]+$/u)]),t.templateLiteral(["own:",t.string().regex(/^[\p{L}\p{N}_-]+$/u)])]),r=t.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long").regex(/^[a-z0-9][a-z0-9_-]*$/i,"Use letters, numbers, dashes and underscores only"),i=t.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long"),n=t.object({name:i,description:t.string().trim().min(1,"Description is required"),metadata:t.record(t.string(),t.unknown()).optional(),disabled:t.boolean().optional(),platforms:t.array(t.string()).optional()});n.extend({name:r,content:t.string().trim().min(1,"Content is required")}),e.s(["SKILLS_OFF_KEY",0,"SKILLS_OFF","SkillFrontmatterSchema",0,n,"SkillSourceSchema",0,s,"botOfSource",0,e=>e.startsWith("kit:")||e.startsWith("own:")?e.slice(4):null,"firstSentence",0,e=>e.trim().split(/(?<=[.。])\s|\n/)[0].trim(),"parseSkillsOff",0,function(e){if(!e)return new Set;try{let t=JSON.parse(e);return new Set(Array.isArray(t)?t.filter(e=>"string"==typeof e).map(e=>e.trim().toLowerCase()):[])}catch{return new Set}}])},962004,(e,t,s)=>{"use strict";let r=Symbol.for("yaml.alias"),i=Symbol.for("yaml.document"),n=Symbol.for("yaml.map"),a=Symbol.for("yaml.pair"),o=Symbol.for("yaml.scalar"),l=Symbol.for("yaml.seq"),c=Symbol.for("yaml.node.type"),u=e=>!!e&&"object"==typeof e&&e[c]===o;function f(e){if(e&&"object"==typeof e)switch(e[c]){case n:case l:return!0}return!1}s.ALIAS=r,s.DOC=i,s.MAP=n,s.NODE_TYPE=c,s.PAIR=a,s.SCALAR=o,s.SEQ=l,s.hasAnchor=e=>(u(e)||f(e))&&!!e.anchor,s.isAlias=e=>!!e&&"object"==typeof e&&e[c]===r,s.isCollection=f,s.isDocument=e=>!!e&&"object"==typeof e&&e[c]===i,s.isMap=e=>!!e&&"object"==typeof e&&e[c]===n,s.isNode=function(e){if(e&&"object"==typeof e)switch(e[c]){case r:case n:case o:case l:return!0}return!1},s.isPair=e=>!!e&&"object"==typeof e&&e[c]===a,s.isScalar=u,s.isSeq=e=>!!e&&"object"==typeof e&&e[c]===l},705746,(e,t,s)=>{"use strict";var r=e.r(962004);let i=Symbol("break visit"),n=Symbol("skip children"),a=Symbol("remove node");function o(e,t){let s=f(t);r.isDocument(e)?l(null,e.contents,s,Object.freeze([e]))===a&&(e.contents=null):l(null,e,s,Object.freeze([]))}function l(e,t,s,n){let o=h(e,t,s,n);if(r.isNode(o)||r.isPair(o))return d(e,n,o),l(e,o,s,n);if("symbol"!=typeof o){if(r.isCollection(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let r=l(e,t.items[e],s,n);if("number"==typeof r)e=r-1;else{if(r===i)return i;r===a&&(t.items.splice(e,1),e-=1)}}}else if(r.isPair(t)){n=Object.freeze(n.concat(t));let e=l("key",t.key,s,n);if(e===i)return i;e===a&&(t.key=null);let r=l("value",t.value,s,n);if(r===i)return i;r===a&&(t.value=null)}}return o}async function c(e,t){let s=f(t);r.isDocument(e)?await u(null,e.contents,s,Object.freeze([e]))===a&&(e.contents=null):await u(null,e,s,Object.freeze([]))}async function u(e,t,s,n){let o=await h(e,t,s,n);if(r.isNode(o)||r.isPair(o))return d(e,n,o),u(e,o,s,n);if("symbol"!=typeof o){if(r.isCollection(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let r=await u(e,t.items[e],s,n);if("number"==typeof r)e=r-1;else{if(r===i)return i;r===a&&(t.items.splice(e,1),e-=1)}}}else if(r.isPair(t)){n=Object.freeze(n.concat(t));let e=await u("key",t.key,s,n);if(e===i)return i;e===a&&(t.key=null);let r=await u("value",t.value,s,n);if(r===i)return i;r===a&&(t.value=null)}}return o}function f(e){return"object"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function h(e,t,s,i){return"function"==typeof s?s(e,t,i):r.isMap(t)?s.Map?.(e,t,i):r.isSeq(t)?s.Seq?.(e,t,i):r.isPair(t)?s.Pair?.(e,t,i):r.isScalar(t)?s.Scalar?.(e,t,i):r.isAlias(t)?s.Alias?.(e,t,i):void 0}function d(e,t,s){let i=t[t.length-1];if(r.isCollection(i))i.items[e]=s;else if(r.isPair(i))"key"===e?i.key=s:i.value=s;else if(r.isDocument(i))i.contents=s;else{let e=r.isAlias(i)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}o.BREAK=i,o.SKIP=n,o.REMOVE=a,c.BREAK=i,c.SKIP=n,c.REMOVE=a,s.visit=o,s.visitAsync=c},343474,(e,t,s)=>{"use strict";var r=e.r(962004),i=e.r(705746);let n={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},a=e=>e.replace(/[!,[\]{}]/g,e=>n[e]);class o{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},o.defaultYaml,e),this.tags=Object.assign({},o.defaultTags,t)}clone(){let e=new o(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new o(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:o.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},o.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:o.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},o.defaultTags),this.atNextDocument=!1);let s=e.trim().split(/[ \t]+/),r=s.shift();switch(r){case"%TAG":{if(2!==s.length&&(t(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;let[e,r]=s;return this.tags[e]=r,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==s.length)return t(0,"%YAML directive should contain exactly one part"),!1;let[e]=s;if("1.1"===e||"1.2"===e)return this.yaml.version=e,!0;{let s=/^\d+\.\d+$/.test(e);return t(6,`Unsupported YAML version ${e}`,s),!1}}default:return t(0,`Unknown directive ${r}`,!0),!1}}tagName(e,t){if("!"===e)return"!";if("!"!==e[0])return t(`Not a valid tag: ${e}`),null;if("<"===e[1]){let s=e.slice(2,-1);return"!"===s||"!!"===s?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(">"!==e[e.length-1]&&t("Verbatim tags must end with a >"),s)}let[,s,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[s];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return"!"===s?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,s]of Object.entries(this.tags))if(e.startsWith(s))return t+a(e.substring(s.length));return"!"===e[0]?e:`!<${e}>`}toString(e){let t,s=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags);if(e&&n.length>0&&r.isNode(e.contents)){let s={};i.visit(e.contents,(e,t)=>{r.isNode(t)&&t.tag&&(s[t.tag]=!0)}),t=Object.keys(s)}else t=[];for(let[r,i]of n)("!!"!==r||"tag:yaml.org,2002:"!==i)&&(!e||t.some(e=>e.startsWith(i)))&&s.push(`%TAG ${r} ${i}`);return s.join("\n")}}o.defaultYaml={explicit:!1,version:"1.2"},o.defaultTags={"!!":"tag:yaml.org,2002:"},s.Directives=o},397943,(e,t,s)=>{"use strict";var r=e.r(962004),i=e.r(705746);function n(e){let t=new Set;return i.visit(e,{Value(e,s){s.anchor&&t.add(s.anchor)}}),t}function a(e,t){for(let s=1;;++s){let r=`${e}${s}`;if(!t.has(r))return r}}s.anchorIsValid=function(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=JSON.stringify(e);throw Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0},s.anchorNames=n,s.createNodeAnchors=function(e,t){let s=[],i=new Map,o=null;return{onAnchor:r=>{s.push(r),o??(o=n(e));let i=a(t,o);return o.add(i),i},setAnchors:()=>{for(let e of s){let t=i.get(e);if("object"==typeof t&&t.anchor&&(r.isScalar(t.node)||r.isCollection(t.node)))t.node.anchor=t.anchor;else{let t=Error("Failed to resolve repeated object (this should not happen)");throw t.source=e,t}}},sourceObjects:i}},s.findNewAnchor=a},53418,(e,t,s)=>{"use strict";s.applyReviver=function e(t,s,r,i){if(i&&"object"==typeof i)if(Array.isArray(i))for(let s=0,r=i.length;s<r;++s){let r=i[s],n=e(t,i,String(s),r);void 0===n?delete i[s]:n!==r&&(i[s]=n)}else if(i instanceof Map)for(let s of Array.from(i.keys())){let r=i.get(s),n=e(t,i,s,r);void 0===n?i.delete(s):n!==r&&i.set(s,n)}else if(i instanceof Set)for(let s of Array.from(i)){let r=e(t,i,s,s);void 0===r?i.delete(s):r!==s&&(i.delete(s),i.add(r))}else for(let[s,r]of Object.entries(i)){let n=e(t,i,s,r);void 0===n?delete i[s]:n!==r&&(i[s]=n)}return t.call(s,r,i)}},984922,(e,t,s)=>{"use strict";var r=e.r(962004);s.toJS=function e(t,s,i){if(Array.isArray(t))return t.map((t,s)=>e(t,String(s),i));if(t&&"function"==typeof t.toJSON){if(!i||!r.hasAnchor(t))return t.toJSON(s,i);let e={aliasCount:0,count:1,res:void 0};i.anchors.set(t,e),i.onCreate=t=>{e.res=t,delete i.onCreate};let n=t.toJSON(s,i);return i.onCreate&&i.onCreate(n),n}return"bigint"!=typeof t||i?.keep?t:Number(t)}},88865,(e,t,s)=>{"use strict";var r=e.r(53418),i=e.r(962004),n=e.r(984922);s.NodeBase=class{constructor(e){Object.defineProperty(this,i.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:s,onAnchor:a,reviver:o}={}){if(!i.isDocument(e))throw TypeError("A document argument is required");let l={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof s?s:100},c=n.toJS(this,"",l);if("function"==typeof a)for(let{count:e,res:t}of l.anchors.values())a(t,e);return"function"==typeof o?r.applyReviver(o,{"":c},"",c):c}}},378862,(e,t,s)=>{"use strict";var r=e.r(397943),i=e.r(705746),n=e.r(962004),a=e.r(88865),o=e.r(984922);class l extends a.NodeBase{constructor(e){super(n.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){let s,r;if(t?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let a of(t?.aliasResolveCache?s=t.aliasResolveCache:(s=[],i.visit(e,{Node:(e,t)=>{(n.isAlias(t)||n.hasAnchor(t))&&s.push(t)}}),t&&(t.aliasResolveCache=s)),s)){if(a===this)break;a.anchor===this.source&&(r=a)}if(r&&t){let{anchors:e,doc:s,maxAliasCount:i}=t,a=e.get(r);if(a||(o.toJS(r,null,t),a=e.get(r)),a?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0&&(a.count+=1,0===a.aliasCount&&(a.aliasCount=function e(t,s,r){if(n.isAlias(s)){let e=s.resolve(t),i=r&&e&&r.get(e);return i?i.count*i.aliasCount:0}if(n.isCollection(s)){let i=0;for(let n of s.items){let s=e(t,n,r);s>i&&(i=s)}return i}return n.isPair(s)?Math.max(e(t,s.key,r),e(t,s.value,r)):1}(s,r,e)),a.count*a.aliasCount>i))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return r}toJSON(e,t){if(!t)return{source:this.source};let s=this.resolve(t.doc,t);if(!s)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);return t.anchors.get(s).res}toString(e,t,s){let i=`*${this.source}`;if(e){if(r.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${i} `}return i}}s.Alias=l},45942,(e,t,s)=>{"use strict";var r=e.r(962004),i=e.r(88865),n=e.r(984922);class a extends i.NodeBase{constructor(e){super(r.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:n.toJS(this.value,e,t)}toString(){return String(this.value)}}a.BLOCK_FOLDED="BLOCK_FOLDED",a.BLOCK_LITERAL="BLOCK_LITERAL",a.PLAIN="PLAIN",a.QUOTE_DOUBLE="QUOTE_DOUBLE",a.QUOTE_SINGLE="QUOTE_SINGLE",s.Scalar=a,s.isScalarValue=e=>!e||"function"!=typeof e&&"object"!=typeof e},312270,(e,t,s)=>{"use strict";var r=e.r(378862),i=e.r(962004),n=e.r(45942);s.createNode=function(e,t,s){let a;if(i.isDocument(e)&&(e=e.contents),i.isNode(e))return e;if(i.isPair(e)){let t=s.schema[i.MAP].createNode?.(s.schema,null,s);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"u">typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:o,onAnchor:l,onTagObj:c,schema:u,sourceObjects:f}=s;if(o&&e&&"object"==typeof e){if(a=f.get(e))return a.anchor??(a.anchor=l(e)),new r.Alias(a.anchor);a={anchor:null,node:null},f.set(e,a)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let h=function(e,t,s){if(t){let e=s.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return s.find(t=>t.identify?.(e)&&!t.format)}(e,t,u.tags);if(!h){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){let t=new n.Scalar(e);return a&&(a.node=t),t}h=e instanceof Map?u[i.MAP]:Symbol.iterator in Object(e)?u[i.SEQ]:u[i.MAP]}c&&(c(h),delete s.onTagObj);let d=h?.createNode?h.createNode(s.schema,e,s):"function"==typeof h?.nodeClass?.from?h.nodeClass.from(s.schema,e,s):new n.Scalar(e);return t?d.tag=t:h.default||(d.tag=h.tag),a&&(a.node=d),d}},226634,(e,t,s)=>{"use strict";var r=e.r(312270),i=e.r(962004),n=e.r(88865);function a(e,t,s){let i=s;for(let e=t.length-1;e>=0;--e){let s=t[e];if("number"==typeof s&&Number.isInteger(s)&&s>=0){let e=[];e[s]=i,i=e}else i=new Map([[s,i]])}return r.createNode(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}let o=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class l extends n.NodeBase{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>i.isNode(t)||i.isPair(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(o(e))this.add(t);else{let[s,...r]=e,n=this.get(s,!0);if(i.isCollection(n))n.addIn(r,t);else if(void 0===n&&this.schema)this.set(s,a(this.schema,r,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${r}`)}}deleteIn(e){let[t,...s]=e;if(0===s.length)return this.delete(t);let r=this.get(t,!0);if(i.isCollection(r))return r.deleteIn(s);throw Error(`Expected YAML collection at ${t}. Remaining path: ${s}`)}getIn(e,t){let[s,...r]=e,n=this.get(s,!0);return 0===r.length?!t&&i.isScalar(n)?n.value:n:i.isCollection(n)?n.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!i.isPair(t))return!1;let s=t.value;return null==s||e&&i.isScalar(s)&&null==s.value&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(e){let[t,...s]=e;if(0===s.length)return this.has(t);let r=this.get(t,!0);return!!i.isCollection(r)&&r.hasIn(s)}setIn(e,t){let[s,...r]=e;if(0===r.length)this.set(s,t);else{let e=this.get(s,!0);if(i.isCollection(e))e.setIn(r,t);else if(void 0===e&&this.schema)this.set(s,a(this.schema,r,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${r}`)}}}s.Collection=l,s.collectionFromPath=a,s.isEmptyPath=o},836803,(e,t,s)=>{"use strict";function r(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}s.indentComment=r,s.lineComment=(e,t,s)=>e.endsWith("\n")?r(s,t):s.includes("\n")?"\n"+r(s,t):(e.endsWith(" ")?"":" ")+s,s.stringifyComment=e=>e.replace(/^(?!$)(?: $)?/gm,"#")},136502,(e,t,s)=>{"use strict";let r="block",i="quoted";function n(e,t,s){let r=t,i=t+1,n=e[i];for(;" "===n||" "===n;)if(t<i+s)n=e[++t];else{do n=e[++t];while(n&&"\n"!==n)r=t,n=e[i=t+1]}return r}s.FOLD_BLOCK=r,s.FOLD_FLOW="flow",s.FOLD_QUOTED=i,s.foldFlowLines=function(e,t,s="flow",{indentAtStart:a,lineWidth:o=80,minContentWidth:l=20,onFold:c,onOverflow:u}={}){let f,h,d;if(!o||o<0)return e;o<l&&(l=0);let p=Math.max(1+l,1+o-t.length);if(e.length<=p)return e;let m=[],g={},y=o-t.length;"number"==typeof a&&(a>o-Math.max(2,l)?m.push(0):y=o-a);let b=!1,S=-1,k=-1,w=-1;for(s===r&&-1!==(S=n(e,S,t.length))&&(y=S+p);d=e[S+=1];){if(s===i&&"\\"===d){switch(k=S,e[S+1]){case"x":S+=3;break;case"u":S+=5;break;case"U":S+=9;break;default:S+=1}w=S}if("\n"===d)s===r&&(S=n(e,S,t.length)),y=S+t.length+p,f=void 0;else{if(" "===d&&h&&" "!==h&&"\n"!==h&&" "!==h){let t=e[S+1];t&&" "!==t&&"\n"!==t&&" "!==t&&(f=S)}if(S>=y)if(f)m.push(f),y=f+p,f=void 0;else if(s===i){for(;" "===h||" "===h;)h=d,d=e[S+=1],b=!0;let t=S>w+1?S-2:k-1;if(g[t])return e;m.push(t),g[t]=!0,y=t+p,f=void 0}else b=!0}h=d}if(b&&u&&u(),0===m.length)return e;c&&c();let v=e.slice(0,m[0]);for(let r=0;r<m.length;++r){let n=m[r],a=m[r+1]||e.length;0===n?v=`
2
2
  ${t}${e.slice(0,a)}`:(s===i&&g[n]&&(v+=`${e[n]}\\`),v+=`
3
3
  ${t}${e.slice(n+1,a)}`)}return v}},623157,(e,t,s)=>{"use strict";let r;var i=e.r(45942),n=e.r(136502);let a=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth});function o(e,t){let s=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return s;let{implicitKey:r}=t,i=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),l="",c=0;for(let e=0,t=s[e];t;t=s[++e])if(" "===t&&"\\"===s[e+1]&&"n"===s[e+2]&&(l+=s.slice(c,e)+"\\ ",e+=1,c=e,t="\\"),"\\"===t)switch(s[e+1]){case"u":{l+=s.slice(c,e);let t=s.substr(e+2,4);switch(t){case"0000":l+="\\0";break;case"0007":l+="\\a";break;case"000b":l+="\\v";break;case"001b":l+="\\e";break;case"0085":l+="\\N";break;case"00a0":l+="\\_";break;case"2028":l+="\\L";break;case"2029":l+="\\P";break;default:"00"===t.substr(0,2)?l+="\\x"+t.substr(2):l+=s.substr(e,6)}e+=5,c=e+1}break;case"n":if(r||'"'===s[e+2]||s.length<i)e+=1;else{for(l+=s.slice(c,e)+"\n\n";"\\"===s[e+2]&&"n"===s[e+3]&&'"'!==s[e+4];)l+="\n",e+=2;l+=o," "===s[e+2]&&(l+="\\"),e+=1,c=e+1}break;default:e+=1}return l=c?l+s.slice(c):s,r?l:n.foldFlowLines(l,o,n.FOLD_QUOTED,a(t,!1))}function l(e,t){if(!1===t.options.singleQuote||t.implicitKey&&e.includes("\n")||/[ \t]\n|\n[ \t]/.test(e))return o(e,t);let s=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),r="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
4
4
  ${s}`)+"'";return t.implicitKey?r:n.foldFlowLines(r,s,n.FOLD_FLOW,a(t,!1))}function c(e,t){let s,{singleQuote:r}=t.options;if(!1===r)s=o;else{let t=e.includes('"'),i=e.includes("'");s=t&&!i?l:i&&!t?o:r?l:o}return s(e,t)}try{r=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{r=/\n+(?!\n|$)/g}function u({comment:e,type:t,value:s},o,l,f){let h,d,p,m,{blockQuote:g,commentString:y,lineWidth:b}=o.options;if(!g||/\n[\t ]+$/.test(s))return c(s,o);let S=o.indent||(o.forceBlockIndent||(m=s,/^(%|---|\.\.\.)/m.test(m))?" ":""),k="literal"===g||"folded"!==g&&t!==i.Scalar.BLOCK_FOLDED&&(t===i.Scalar.BLOCK_LITERAL||!function(e,t,s){if(!t||t<0)return!1;let r=t-s,i=e.length;if(i<=r)return!1;for(let t=0,s=0;t<i;++t)if("\n"===e[t]){if(t-s>r)return!0;if(i-(s=t+1)<=r)return!1}return!0}(s,b,S.length));if(!s)return k?"|\n":">\n";for(d=s.length;d>0;--d){let e=s[d-1];if("\n"!==e&&" "!==e&&" "!==e)break}let w=s.substring(d),v=w.indexOf("\n");-1===v?h="-":s===w||v!==w.length-1?(h="+",f&&f()):h="",w&&(s=s.slice(0,-w.length),"\n"===w[w.length-1]&&(w=w.slice(0,-1)),w=w.replace(r,`$&${S}`));let E=!1,N=-1;for(p=0;p<s.length;++p){let e=s[p];if(" "===e)E=!0;else if("\n"===e)N=p;else break}let A=s.substring(0,N<p?N+1:p);A&&(s=s.substring(A.length),A=A.replace(/\n+/g,`$&${S}`));let O=S?"2":"1",L=(E?O:"")+h;if(e&&(L+=" "+y(e.replace(/ ?[\r\n]+/g," ")),l&&l()),!k){let e=s.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${S}`),r=!1,l=a(o,!0);"folded"!==g&&t!==i.Scalar.BLOCK_FOLDED&&(l.onOverflow=()=>{r=!0});let c=n.foldFlowLines(`${A}${e}${w}`,S,n.FOLD_BLOCK,l);if(!r)return`>${L}
@@ -0,0 +1,3 @@
1
+ module.exports=[175936,e=>{"use strict";let a=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["decodePath",0,e=>e.join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:e=>({url:"/api/memory",query:{offset:e||null}}),mcp:"/api/mcp",mcpServer:e=>({url:"/api/mcp",pathVariable:[e]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(e,a,i)=>({url:"/api/skills",pathVariable:[e,a],query:{path:i}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:e=>({url:"/api/bot/memory/files",query:{bot:e}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:(e,a)=>({url:"/api/bot/thread",query:{history:1,before:e,q:a||void 0}}),thread:e=>({url:"/api/bot/thread",query:{id:e}}),lessons:e=>({url:"/api/bot/thread/lessons",query:e}),fileNotes:"/api/bot/thread/file",fileNote:(e,a)=>({url:"/api/bot/thread/file",query:{path:e,from:a}}),toolResult:(e,a)=>({url:"/api/bot/tool-result",pathVariable:[e],query:{call:a}}),workspace:"/api/workspace",workspaceFolder:(e,a)=>({url:"/api/workspace",query:{path:e||null,rows:a}}),workspaceFiles:e=>({url:"/api/workspace/files",query:{paths:JSON.stringify(e)}}),artifacts:"/api/artifact",artifactShelf:e=>({url:"/api/artifact",query:{rows:e}}),artifactSet:(e,a)=>({url:"/api/artifact",query:{set:e,rows:a}}),file:e=>`/api/file/${a(e)}`,fileFace:e=>`/api/file/${a(e)}?face`,favicon:e=>`/api/favicon/${encodeURIComponent(e)}`,fileView:e=>`/artifact/${a(e)}`,events:"/api/events",config:"/api/config",callHistory:e=>({url:"/api/thursday/call",query:{before:e}}),thursdaySettings:"/api/thursday/settings",toolCall:"/api/thursday/tool-call",callEnd:"/api/thursday/call/end",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",automaticModel:"/api/llm-model/automatic",modelCatalog:e=>`/api/llm-model/catalog/${e}`,keyCredits:e=>`/api/llm-model/credits/${e}`,subscriptionUsage:"/api/llm-model/subscription",running:"/api/running",update:"/api/update"}])},554199,e=>{"use strict";let a="currentColor",i=[{id:"system",label:"System",value:a},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"}],t=Object.fromEntries(i.map(e=>[e.id,e.value])),l=i.filter(e=>e.value!==a).map(e=>e.value),n=[t.amber,t.red],r={[t.cyan]:"#009dbb",[t.teal]:"#00a190",[t.green]:"#00a640",[t.lime]:"#5ca100",[t.amber]:"#d07b00",[t.orange]:"#ec6700",[t.sky]:"#0098dc",[t.emerald]:"#00a46d",[t.yellow]:"#bb8600"},o={rainbow:{label:"Rainbow",look:"flow",colors:[0,45,90,140,190,240,290,330,360].map(e=>`oklch(0.77 0.16 ${e})`)},duo:{label:"Duo",look:"duo",colors:["#818CF8","#F472B6"]},aurora:{label:"Aurora",look:"aurora",edge:"dark",colors:["#1a2f73","#2c56c9","#34d399","#22d3ee","#a7f3d0"]},"aurora-pink":{label:"Pink aurora",look:"aurora",edge:"dark",colors:["#3a1478","#7c3aed","#f472b6","#e879f9","#fbcfe8"]}},s=Object.keys(o);e.s(["MARK_INK",0,t,"MARK_PAINTS",0,o,"MARK_PAINT_IDS",0,s,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,a,"markInk",0,(e,a)=>a?e:r[e]??e,"randomMarkFill",0,function(){let e=[...l.filter(e=>!n.includes(e)).map(e=>({color:e})),...s.map(e=>({paint:e}))];return e[Math.floor(Math.random()*e.length)]}])},340698,e=>e.a(async(a,i)=>{try{var t=e.i(875225),l=e.i(380690),n=e.i(687388),r=e.i(528790),o=e.i(613240);e.i(264079);var s=e.i(561298),m=e.i(41444),u=e.i(279041),c=a([r]);async function d(e){return(await g(e)).value}async function p(e,a){var i;let t,l,r;return await f(e)==="unreadable"?(i=e,t=u.CONFIG_ENTRIES[i],l=t?.signIn?"sign-in":"key",r=t?.signIn?"Sign in again":"Enter it again",(0,u.lostWords)(`The saved ${t?.label??i} ${l}`,`${r} in Settings.`,`${s.ENCRYPTION_KEY_NAME} in ${n.ENV_PATH}`)):a}async function f(e){return(await g(e)).state}async function g(e){let a=process.env[e]?.trim();if(a)return{state:"set",value:a};let i=await b(e);if(void 0===i)return{state:"unset"};let t=y(i)?.trim();return void 0===t?{state:"unreadable"}:t?{state:"set",value:t}:{state:"unset"}}async function b(e){let[a]=await r.database.select({value:o.configTable.value}).from(o.configTable).where((0,t.eq)(o.configTable.key,e));return a?.value}function y(e){try{return(0,s.openSecret)(e)}catch(e){if(e instanceof s.UnreadableSecret)return null;throw e}}async function k(e,a){let i=(0,u.isSecretKey)(e)?(0,s.sealSecret)(a):a;await r.database.insert(o.configTable).values({key:e,value:i}).onConflictDoUpdate({target:o.configTable.key,set:{value:i}}),u.CONFIG_KEYS.includes(e)&&l.appEvents.emit({type:"config"})}async function v(){let e=(await r.database.select().from(o.configTable)).flatMap(e=>{if(!(0,u.isSecretKey)(e.key))return[];let a=y(e.value)?.trim();return a?u.CONFIG_ENTRIES[e.key]?.signIn?h(a):[a]:[]}),a=u.CONFIG_KEYS.filter(u.isSecretKey).flatMap(e=>{let a=process.env[e]?.trim();return a?u.CONFIG_ENTRIES[e]?.signIn?h(a):[a]:[]});return[...e,...a]}function h(e){try{return(0,m.stringsIn)(JSON.parse(e))}catch{return[e]}}[r]=c.then?(await c)():c,e.s(["configFromEnv",0,function(e){return!!process.env[e]?.trim()},"configSecretValues",0,v,"configState",0,f,"missingKeyWords",0,p,"readConfig",0,d,"writeConfig",0,k]),i()}catch(e){i(e)}},!1),629668,e=>{"use strict";var a=e.i(175936),i=e.i(687388);let t=e=>`text/${e}; charset=utf-8`,l={md:{kind:"markdown",mime:t("markdown")},markdown:{kind:"markdown",mime:t("markdown")},csv:{kind:"csv",mime:t("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:t("plain")},log:{kind:"text",mime:t("plain")},html:{kind:"frame",mime:t("html")},htm:{kind:"frame",mime:t("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:t("css")},js:{kind:"none",mime:t("javascript")},woff2:{kind:"none",mime:"font/woff2"}},n=e=>e.split(".").pop()?.toLowerCase()??"",r=e=>l[n(e)]?.kind??"none",o=new Set(["node_modules","__pycache__"]),s=new Set(["css","js","woff2"]),m=Object.keys(l).filter(e=>!s.has(e)),u=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${m.join("|")})\b`,"giu"),c=`${i.PATHS.workspace}/`,d=a.queryKey.file("");function p(e){let a=function(e){if(!e.startsWith(d))return e;let a=e.slice(d.length);try{return decodeURIComponent(a)}catch{return a}}(e.trim()),i=a.indexOf(c);return i>=0?a.slice(i+c.length)||null:a.startsWith("/")||/^[A-Za-z]:/.test(a)||a.split("/").includes("..")?null:a||null}let f=e=>e.startsWith(`${i.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(n(e));e.s(["extensionOf",0,n,"isListedFile",0,e=>!e.startsWith(".")&&!s.has(n(e)),"isListedFolder",0,e=>!e.startsWith(".")&&!o.has(e),"isPicture",0,e=>"image"===r(e)&&"svg"!==n(e),"leadFirst",0,function(e){let a=e.findIndex(f);return a>0?[e[a],...e.filter((e,i)=>i!==a)]:e},"mimeOf",0,e=>l[n(e)]?.mime??"application/octet-stream","pathsIn",0,function(e){let a=e.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),i=new Set,t="";for(let[e]of a.matchAll(u)){let a=!e.includes("/"),l=function(e){let a=p(e);if(!a)return null;let[i,...t]=a.split("/");return t.length&&i.includes(".")?null:a}(a?t+e:e);a||(t=l?.slice(0,l.lastIndexOf("/")+1)??""),l&&i.add(l)}return[...i].slice(0,12)},"viewKindOf",0,r,"workspaceRelative",0,p])},334512,e=>{"use strict";var a=e.i(862061),i=e.i(907855);e.s(["bigint",0,function(e){return a._coercedBigint(i.ZodBigInt,e)},"boolean",0,function(e){return a._coercedBoolean(i.ZodBoolean,e)},"date",0,function(e){return a._coercedDate(i.ZodDate,e)},"number",0,function(e){return a._coercedNumber(i.ZodNumber,e)},"string",0,function(e){return a._coercedString(i.ZodString,e)}])}];
2
+
3
+ //# sourceMappingURL=_190pdee._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[175936,e=>{"use strict";let t=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["decodePath",0,e=>e.join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:e=>({url:"/api/memory",query:{offset:e||null}}),mcp:"/api/mcp",mcpServer:e=>({url:"/api/mcp",pathVariable:[e]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(e,t,i)=>({url:"/api/skills",pathVariable:[e,t],query:{path:i}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:e=>({url:"/api/bot/memory/files",query:{bot:e}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:(e,t)=>({url:"/api/bot/thread",query:{history:1,before:e,q:t||void 0}}),thread:e=>({url:"/api/bot/thread",query:{id:e}}),lessons:e=>({url:"/api/bot/thread/lessons",query:e}),fileNotes:"/api/bot/thread/file",fileNote:(e,t)=>({url:"/api/bot/thread/file",query:{path:e,from:t}}),toolResult:(e,t)=>({url:"/api/bot/tool-result",pathVariable:[e],query:{call:t}}),workspace:"/api/workspace",workspaceFolder:(e,t)=>({url:"/api/workspace",query:{path:e||null,rows:t}}),workspaceFiles:e=>({url:"/api/workspace/files",query:{paths:JSON.stringify(e)}}),artifacts:"/api/artifact",artifactShelf:e=>({url:"/api/artifact",query:{rows:e}}),artifactSet:(e,t)=>({url:"/api/artifact",query:{set:e,rows:t}}),file:e=>`/api/file/${t(e)}`,fileFace:e=>`/api/file/${t(e)}?face`,favicon:e=>`/api/favicon/${encodeURIComponent(e)}`,fileView:e=>`/artifact/${t(e)}`,events:"/api/events",config:"/api/config",callHistory:e=>({url:"/api/thursday/call",query:{before:e}}),thursdaySettings:"/api/thursday/settings",toolCall:"/api/thursday/tool-call",callEnd:"/api/thursday/call/end",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",automaticModel:"/api/llm-model/automatic",modelCatalog:e=>`/api/llm-model/catalog/${e}`,keyCredits:e=>`/api/llm-model/credits/${e}`,subscriptionUsage:"/api/llm-model/subscription",running:"/api/running",update:"/api/update"}])},771716,e=>e.a(async(t,i)=>{try{var a=e.i(912714),n=e.i(750227),r=e.i(687388),l=e.i(265143),s=e.i(629668),o=e.i(786025),c=e.i(53748),m=t([l,o]);async function u(e){let[t,i]=await Promise.all([(0,o.insideWorkspace)(e),(0,o.insideWorkspace)(r.PATHS.artifacts)]);return t&&i&&t.startsWith(i+n.sep)||(0,c.publicError)("Not an artifact"),t}async function d(e,t,i){if(!(0,s.isListedFile)(i))return null;let r=(0,s.viewKindOf)(i),l=await (0,a.stat)((0,n.join)(e,i)).catch(()=>null);return l?.isFile()?{path:t,name:i,bytes:l.size,at:l.mtime,view:r}:null}async function p(e,t,i,r){let l=`${t}/${i.name}`;if(i.isDirectory()){if(!(0,s.isListedFolder)(i.name))return null;let t=(0,n.join)(e,i.name),[o,c]=await Promise.all([(0,a.stat)(t).catch(()=>null),(0,a.readdir)(t,{withFileTypes:!0}).catch(()=>[])]),m=c.filter(e=>e.isFile()&&(0,s.isListedFile)(e.name)).length;return o&&0!==m?{name:i.name,path:l,bot:r,at:o.mtime,kind:"set",bytes:0,count:m,view:"none"}:null}if(!i.isFile())return null;let o=await d(e,l,i.name);return o&&{name:o.name,path:o.path,bot:r,at:o.at,kind:"file",bytes:o.bytes,count:1,view:o.view}}async function f(){let e=await (0,l.listBotNames)();return new Map(e.map(e=>[(0,o.botFolderName)(e).toLowerCase(),e]))}async function g(e){let[t,i,...a]=e.split("/");return t===r.PATHS.artifacts&&i&&a.length?(await f()).get(i.toLowerCase())??null:null}async function y(e){try{let{bot:t}=JSON.parse(await (0,a.readFile)((0,n.join)(e,o.DELETED_BOT_MARK),"utf8"));return"string"==typeof t&&t.trim()?t:null}catch{return null}}async function h(e=r.ARTIFACT_VIEW.rows){let[t,i]=await Promise.all([(0,a.readdir)(o.ARTIFACTS,{withFileTypes:!0}).catch(()=>[]),f()]),l=(await Promise.all(t.map(async e=>{let t=(0,n.join)(o.ARTIFACTS,e.name),l=e.isDirectory()?i.get(e.name.toLowerCase())??await y(t):null;if(!l)return[await p(o.ARTIFACTS,r.PATHS.artifacts,e,null)];let s=`${r.PATHS.artifacts}/${e.name}`,c=await (0,a.readdir)(t,{withFileTypes:!0}).catch(()=>[]);return Promise.all(c.map(e=>p(t,s,e,l)))}))).flat().filter(e=>null!==e).sort((e,t)=>new Date(t.at).getTime()-new Date(e.at).getTime());return{entries:l.slice(0,e),total:l.length,files:l.reduce((e,t)=>e+t.count,0)}}async function w(e,t=r.ARTIFACT_VIEW.setFiles){let i=await u(e),l=await (0,a.readdir)(i,{withFileTypes:!0}).catch(()=>null);l||(0,c.publicError)("No such set");let s=(await Promise.all(l.filter(e=>e.isFile()).map(t=>d(i,`${e}/${t.name}`,t.name)))).filter(e=>null!==e).sort((e,t)=>new Date(t.at).getTime()-new Date(e.at).getTime());return{path:e,name:(0,n.basename)(e),files:s.slice(0,t),total:s.length}}[l,o]=m.then?(await m)():m,e.s(["botOfArtifact",0,g,"readSet",0,w,"readShelf",0,h]),i()}catch(e){i(e)}},!1),340698,e=>e.a(async(t,i)=>{try{var a=e.i(875225),n=e.i(380690),r=e.i(687388),l=e.i(528790),s=e.i(613240);e.i(264079);var o=e.i(561298),c=e.i(41444),m=e.i(279041),u=t([l]);async function d(e){return(await g(e)).value}async function p(e,t){var i;let a,n,l;return await f(e)==="unreadable"?(i=e,a=m.CONFIG_ENTRIES[i],n=a?.signIn?"sign-in":"key",l=a?.signIn?"Sign in again":"Enter it again",(0,m.lostWords)(`The saved ${a?.label??i} ${n}`,`${l} in Settings.`,`${o.ENCRYPTION_KEY_NAME} in ${r.ENV_PATH}`)):t}async function f(e){return(await g(e)).state}async function g(e){let t=process.env[e]?.trim();if(t)return{state:"set",value:t};let i=await y(e);if(void 0===i)return{state:"unset"};let a=h(i)?.trim();return void 0===a?{state:"unreadable"}:a?{state:"set",value:a}:{state:"unset"}}async function y(e){let[t]=await l.database.select({value:s.configTable.value}).from(s.configTable).where((0,a.eq)(s.configTable.key,e));return t?.value}function h(e){try{return(0,o.openSecret)(e)}catch(e){if(e instanceof o.UnreadableSecret)return null;throw e}}async function w(e,t){let i=(0,m.isSecretKey)(e)?(0,o.sealSecret)(t):t;await l.database.insert(s.configTable).values({key:e,value:i}).onConflictDoUpdate({target:s.configTable.key,set:{value:i}}),m.CONFIG_KEYS.includes(e)&&n.appEvents.emit({type:"config"})}async function k(){let e=(await l.database.select().from(s.configTable)).flatMap(e=>{if(!(0,m.isSecretKey)(e.key))return[];let t=h(e.value)?.trim();return t?m.CONFIG_ENTRIES[e.key]?.signIn?b(t):[t]:[]}),t=m.CONFIG_KEYS.filter(m.isSecretKey).flatMap(e=>{let t=process.env[e]?.trim();return t?m.CONFIG_ENTRIES[e]?.signIn?b(t):[t]:[]});return[...e,...t]}function b(e){try{return(0,c.stringsIn)(JSON.parse(e))}catch{return[e]}}[l]=u.then?(await u)():u,e.s(["configFromEnv",0,function(e){return!!process.env[e]?.trim()},"configSecretValues",0,k,"configState",0,f,"missingKeyWords",0,p,"readConfig",0,d,"writeConfig",0,w]),i()}catch(e){i(e)}},!1),629668,e=>{"use strict";var t=e.i(175936),i=e.i(687388);let a=e=>`text/${e}; charset=utf-8`,n={md:{kind:"markdown",mime:a("markdown")},markdown:{kind:"markdown",mime:a("markdown")},csv:{kind:"csv",mime:a("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:a("plain")},log:{kind:"text",mime:a("plain")},html:{kind:"frame",mime:a("html")},htm:{kind:"frame",mime:a("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},docx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},xlsx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},pptx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},css:{kind:"none",mime:a("css")},js:{kind:"none",mime:a("javascript")},woff2:{kind:"none",mime:"font/woff2"}},r=e=>e.split(".").pop()?.toLowerCase()??"",l=e=>n[r(e)]?.kind??"none",s=new Set(["node_modules","__pycache__"]),o=new Set(["css","js","woff2"]),c=Object.keys(n).filter(e=>!o.has(e)),m=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${c.join("|")})\b`,"giu"),u=`${i.PATHS.workspace}/`,d=t.queryKey.file("");function p(e){let t=function(e){if(!e.startsWith(d))return e;let t=e.slice(d.length);try{return decodeURIComponent(t)}catch{return t}}(e.trim()),i=t.indexOf(u);return i>=0?t.slice(i+u.length)||null:t.startsWith("/")||/^[A-Za-z]:/.test(t)||t.split("/").includes("..")?null:t||null}let f=e=>e.startsWith(`${i.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(r(e));e.s(["extensionOf",0,r,"isListedFile",0,e=>!e.startsWith(".")&&!o.has(r(e)),"isListedFolder",0,e=>!e.startsWith(".")&&!s.has(e),"isPicture",0,e=>"image"===l(e)&&"svg"!==r(e),"leadFirst",0,function(e){let t=e.findIndex(f);return t>0?[e[t],...e.filter((e,i)=>i!==t)]:e},"mimeOf",0,e=>n[r(e)]?.mime??"application/octet-stream","pathsIn",0,function(e){let t=e.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),i=new Set,a="";for(let[e]of t.matchAll(m)){let t=!e.includes("/"),n=function(e){let t=p(e);if(!t)return null;let[i,...a]=t.split("/");return a.length&&i.includes(".")?null:t}(t?a+e:e);t||(a=n?.slice(0,n.lastIndexOf("/")+1)??""),n&&i.add(n)}return[...i].slice(0,12)},"viewKindOf",0,l,"workspaceRelative",0,p])},334512,e=>{"use strict";var t=e.i(862061),i=e.i(907855);e.s(["bigint",0,function(e){return t._coercedBigint(i.ZodBigInt,e)},"boolean",0,function(e){return t._coercedBoolean(i.ZodBoolean,e)},"date",0,function(e){return t._coercedDate(i.ZodDate,e)},"number",0,function(e){return t._coercedNumber(i.ZodNumber,e)},"string",0,function(e){return t._coercedString(i.ZodString,e)}])}];
2
+
3
+ //# sourceMappingURL=_1951_6o._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[720275,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1q2jauq._.js","server/chunks/_1hw1ujv._.js","server/chunks/node_modules_1yxqtu5._.js"].map(s=>e.l(s))).then(()=>s(656446)))},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
+
3
+ //# sourceMappingURL=_19h6ag7._.js.map
@@ -1,5 +1,5 @@
1
1
  module.exports=[539470,e=>e.a(async(t,r)=>{try{var n=e.i(588762),a=e.i(333925),o=e.i(5509),i=e.i(900533),s=e.i(64774),u=t([o]);async function c(){let e=await (0,o.listThreadOverview)();if(!e.length)return null;let t=e.map(e=>{let t=(0,n.formatDistanceToNowStrict)((0,i.toDate)(e.updatedAt),{addSuffix:!0}),r=e.room.questions[0],o="waiting"===e.status&&r?`waiting on the user since ${t} — ${r.bot} asked: ${(0,s.clip)(r.text,a.PROMPT_LINE.jobOutcome)}`:"waiting"===e.status?`stopped ${t}, not finished`:"running"===e.status?`running, last moved ${t}`:`${e.status} ${t}`;return`- "${e.label}" (${e.id}) — ${e.bot} — ${o}`});return`[The threads as this call opened, open work first. They move while you talk.]
2
- ${t.join("\n")}`}[o]=u.then?(await u)():u,e.s(["loadCallStanding",0,c]),r()}catch(e){r(e)}},!1),79290,e=>e.a(async(t,r)=>{try{var n=e.i(333925),a=e.i(973589),o=e.i(51083),i=e.i(799791),s=e.i(951056),u=e.i(5509),c=e.i(1363),l=e.i(232549),d=e.i(343229),f=e.i(520401),h=e.i(871096),p=e.i(340697),m=e.i(497287),g=e.i(636608),y=t([i,u,c,d,f,p]);async function b(e){var t,r,y,b,_,R,v,O;let k,{backendPrompt:S,written:P=!1,phone:T=!1,readSkills:j}=e,D=await (0,h.openWorkspace)(),[A,x,N,M,C,$,I]=await Promise.all([(0,d.loadSkills)(D),(0,c.listNoteIndex)(),(0,c.readNotes)(l.MEMORY_ALWAYS_LISTED,{touch:!1}),(0,p.listConnectedToolNames)(),(0,i.listJobBots)(),(0,f.listRecentTurns)(n.RECENT_CALL.rows,e.callId),(0,i.readBotMemoryOn)()]),L=await (0,u.listCallJobs)($.map(e=>e.callId)),U=[(0,g.thursdayIdentity)(new Date,e.where),P?(0,m.personaLines)(e.persona):"",P?(0,g.styleLines)(e.stylePrompt):"",E(x,N.notes),(t=C,r=(0,g.reachNames)(j?[]:A,M),y=I,b=T,0===t.length?"":`## Background work
2
+ ${t.join("\n")}`}[o]=u.then?(await u)():u,e.s(["loadCallStanding",0,c]),r()}catch(e){r(e)}},!1),79290,e=>e.a(async(t,r)=>{try{var n=e.i(333925),a=e.i(973589),o=e.i(51083),i=e.i(799791),s=e.i(951056),u=e.i(5509),c=e.i(1363),l=e.i(232549),d=e.i(343229),f=e.i(520401),h=e.i(871096),p=e.i(340697),m=e.i(497287),g=e.i(636608),y=t([i,u,c,d,f,h,p]);async function b(e){var t,r,y,b,_,R,v,O;let k,{backendPrompt:S,written:P=!1,phone:T=!1,readSkills:j}=e,D=await (0,h.openWorkspace)(),[A,x,N,M,C,$,I]=await Promise.all([(0,d.loadSkills)(D),(0,c.listNoteIndex)(),(0,c.readNotes)(l.MEMORY_ALWAYS_LISTED,{touch:!1}),(0,p.listConnectedToolNames)(),(0,i.listJobBots)(),(0,f.listRecentTurns)(n.RECENT_CALL.rows,e.callId),(0,i.readBotMemoryOn)()]),L=await (0,u.listCallJobs)($.map(e=>e.callId)),U=[(0,g.thursdayIdentity)(new Date,e.where),P?(0,m.personaLines)(e.persona):"",P?(0,g.styleLines)(e.stylePrompt):"",E(x,N.notes),(t=C,r=(0,g.reachNames)(j?[]:A,M),y=I,b=T,0===t.length?"":`## Background work
3
3
 
4
4
  Who you hand work to — the names \`${o.TOOL_NAMES.thread_start}\` takes.
5
5
 
@@ -36,7 +36,7 @@ What was said on the last calls, verbatim, newest last. It is the past: pick it
36
36
 
37
37
  A \`${o.TOOL_NAMES.thread_start}\` line carries the thread's handle and how it ended; the handle is for the thread tools, never said aloud. What they ask for now is often one of these carried further.
38
38
 
39
- ${(0,g.recentCallLines)(v.map(e=>({...e,jobs:O.filter(t=>t.callId===e.callId)})),n.RECENT_CALL.tokens)}`:""),w(S)].filter(Boolean).join("\n\n");return(0,g.logPromptSize)("thursday",U),U}[i,u,c,d,f,p]=y.then?(await y)():y;let w=e=>e?.trim()?`## Additional instructions
39
+ ${(0,g.recentCallLines)(v.map(e=>({...e,jobs:O.filter(t=>t.callId===e.callId)})),n.RECENT_CALL.tokens)}`:""),w(S)].filter(Boolean).join("\n\n");return(0,g.logPromptSize)("thursday",U),U}[i,u,c,d,f,h,p]=y.then?(await y)():y;let w=e=>e?.trim()?`## Additional instructions
40
40
 
41
41
  Written by the user. Follow them together with everything above.
42
42
 
@@ -57,7 +57,7 @@ ${f}What tells you most about them comes first: what they loved or could not sta
57
57
  **Keep memory clean as you write.** A fact that repeats, narrows or changes one already in the note replaces it, merged into one line, rather than sitting beside it. A later call finds a note only by its path and its line: give something new its own path below, and when a line no longer says what its note is about, \`${o.TOOL_NAMES.memory_describe}\` puts it right.
58
58
 
59
59
  ${l.MEMORY_PATHS.map(e=>`- ${e.path} — ${e.of}`).join("\n")}`;return[c,d,h].join("\n\n")}function _(e){let t=e.facts.map(e=>`- ${e.text} #${e.id}`);return`${e.path} — ${e.description}
60
- ${t.length?t.join("\n"):"- (nothing yet)"}`}e.s(["loadThursdayPrompt",0,b,"memoryChapter",0,E]),r()}catch(e){r(e)}},!1),181300,e=>e.a(async(t,r)=>{try{var n=e.i(912714),a=e.i(734732),o=e.i(749906),i=e.i(139886),s=e.i(333925),u=e.i(247839),c=e.i(113022),l=e.i(986507),d=e.i(864328),f=e.i(539470),h=e.i(79290),p=e.i(690285),m=e.i(51083),g=e.i(656719),y=e.i(724185),b=e.i(375814),E=e.i(426455),_=e.i(938281);e.i(825184);var w=e.i(212389),R=e.i(64774),v=e.i(520401),O=e.i(933395),k=e.i(293822),S=t([c,l,f,h,y,v]);async function P(){let e=await Promise.all(O.TEXT_CALL_PROVIDERS.map(async e=>await (0,y.readConfig)(e.apiKeyName)?e.apiKeyName:null));return(0,O.textCallRunsOn)(t=>e.includes(t))}async function T(e,t){if(t)return t;let r=await P();return r||(0,w.publicError)(V),{provider:r,model:e.backendModel}}async function j(e,t){if("chatgpt"!==e.provider||!(0,l.isPlanSpent)(t)||!await (0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName))return null;let r=(await (0,v.readLiveSettings)()).backendModel,n=d.TEXT_MODEL_PROVIDERS.openai.suggestModels.find(e=>e.id===r)?.label??r,a=t instanceof Error?t.message:String(t);return{ref:{provider:"openai",model:r},why:a,line:`${a} Answering on your OpenAI key (${n}) until it resets.`}}async function D(e){if(!(0,l.isPlanSpent)(e))return e;let t=e instanceof Error?e.message:String(e);return new w.PublicError(await (0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName)?`${t} Write again and she answers on your OpenAI key.`:`${t} With an OpenAI key in Settings › API keys, she answers on it until then.`)}async function A(e){let t=await T(await (0,v.readLiveSettings)(),e),[r,n]=await Promise.all([(0,v.insertCall)({provider:t.provider,model:s.TEXT_CALL.model,backendModel:t.model}),(0,f.loadCallStanding)()]);return{callId:r,standing:n}}[c,l,f,h,y,v]=S.then?(await S)():S,o.object({callId:o.string().min(1),standing:o.string().nullish(),runsOn:d.textModelRefSchema.nullish(),turn:o.string().min(1),messages:o.array(o.unknown()).min(1),where:o.unknown().optional()}),globalThis.__textCallTurns??=new Map;let $="workspace:",I=e=>({type:"file",mediaType:(0,b.mimeOf)(e),filename:e,data:{type:"url",url:new URL(`${$}${encodeURIComponent(e)}`)}}),L=e=>{let t=e.data,r=t instanceof URL?t:t?.type==="url"?t.url:null;return r instanceof URL&&r.protocol===$?decodeURIComponent(r.pathname):null},U=(e,t)=>t?.length?[{type:"text",text:e},...t.map(I)]:e;i.queryKey.file("");let B=new WeakMap,W=e=>e.map(e=>B.get(e)??e);async function x(e,t,r){if(t)return{missed:`${e} is a picture, and ${t} cannot see pictures, so it was not sent to you.`};let a=await (0,p.checkPicture)(e);if("missing"in a)return{missed:`There is no file at ${e} in the workspace, so no picture was sent to you.`};if("notPicture"in a)return{missed:`${e} is not a png, jpg, webp or gif, so it was not sent to you as a picture.`};if("tooBig"in a)return{missed:`${(0,p.tooBigToSee)(e,a.tooBig)} It was not sent to you.`};if(a.bytes>r)return{missed:`${e} is a picture not sent with this message: the pictures after it fill the ${(0,R.formatBytes)(s.LOOK.perRequest)} one message to you carries. Look at it with look_at to see it.`};let o=await (0,n.readFile)(a.full).catch(()=>null);return o?{data:o.toString("base64"),mediaType:a.mediaType,bytes:o.length}:{missed:`${e} could not be read, so no picture was sent to you.`}}async function N(e,t){let r=(0,l.seesToolImages)(t)?null:t.model,n=s.LOOK.perRequest-e.reduce((e,t)=>e+function(e){if("user"!==e.role||"string"==typeof e.content)return 0;let t=0;for(let r of e.content){if("file"!==r.type)continue;let e=r.data,n=e?.type==="data"?e.data:e;"string"==typeof n?t+=Math.floor(3*n.length/4):(n instanceof Uint8Array||n instanceof ArrayBuffer)&&(t+=n.byteLength)}return t}(t),0),a=[...e];for(let e=a.length-1;e>=0;e-=1){let t=a[e];if("user"!==t.role||"string"==typeof t.content||!t.content.some(e=>"file"===e.type&&null!==L(e)))continue;let o=[];for(let e of[...t.content].reverse()){let t="file"===e.type?L(e):null;if(!t){o.unshift(e);continue}let a=await x(t,r,n);if("missed"in a){o.unshift({type:"text",text:a.missed});continue}n-=a.bytes,o.unshift({type:"text",text:`${t}, as an image:`},{type:"file",mediaType:a.mediaType,data:{type:"data",data:a.data}})}let i={role:"user",content:o};B.set(i,t),a[e]=i}return a}async function M(e){var t;let r,n,{callId:o,standing:i,messages:u,said:c,signal:l}=e,[d,f]=await Promise.all([C(o,null,!0),(0,v.nextTurnSeq)(o)]);null!==c&&await (0,v.saveTurns)(o,[{id:crypto.randomUUID(),role:"user",text:c,seq:f}]);let h=(t=o,r=null===c?f:f+1,{step:async e=>{for(let n of e.content)if("tool-call"===n.type){let a=e.content.find(e=>"tool-result"===e.type&&e.toolCallId===n.toolCallId);await (0,v.saveTurns)(t,[{id:n.toolCallId,role:"tool",tool:n.toolName,text:n.toolName===m.TOOL_NAMES.web_search?function(e,t){let r=t??{},n=[(e??{}).query,r.action?.query].find(e=>"string"==typeof e&&!!e.trim()),a=Array.isArray(r.sources)?r.sources.flatMap(e=>e&&"object"==typeof e&&"url"in e&&"string"==typeof e.url?[{url:e.url,..."title"in e&&"string"==typeof e.title?{title:e.title}:{}}]:[]):[];return JSON.stringify({query:n??null,sources:a})}(n.input,a?.type==="tool-result"?a.output:null):JSON.stringify(n.input??{}),seq:r++}])}else"text"===n.type&&n.text.trim()?await (0,v.saveTurns)(t,[{id:crypto.randomUUID(),role:"assistant",text:n.text.trim(),seq:r++}]):"reasoning"===n.type&&n.text.trim()&&await (0,v.saveThought)(t,{id:crypto.randomUUID(),text:n.text.trim(),seq:r})},said:(e,n=crypto.randomUUID())=>(0,v.saveTurns)(t,[{id:n,role:"user",text:e,seq:r++}])}),p=X(i),g=u.at(-1),y=e.pictures?.length&&g?.role==="user"&&"string"==typeof g.content?[...u.slice(0,-1),{role:"user",content:U(g.content,e.pictures)}]:u,b=[...p,...y],E=0,w=async t=>(0,a.generateText)({model:t.model,instructions:t.system,messages:await N(W(b),t.ref),allowSystemInMessages:!0,tools:t.tools,providerOptions:t.providerOptions,stopWhen:(0,a.stepCountIs)(s.TEXT_CALL.maxSteps),abortSignal:l,prepareStep:async({stepNumber:r,messages:n})=>{let a=r>0?e.notes?.()??[]:[];for(let e of(b=[...n,...a.map(e=>({role:"user",content:U(e.text,e.pictures)}))],a))e.said&&await h.said(e.text);return a.length?{messages:await N(b,t.ref)}:void 0},onStepEnd:async e=>{E+=1,await h.step(e)}}),R=null;try{n=await w(d)}catch(t){let e=E?null:await j(d.ref,t);if(!e)throw await D(t);_.logger.info(`text call ${o}: ${e.line}`),R=e.line;try{n=await w(await C(o,e.ref,!0))}catch(e){throw await D(e)}}return{text:n.text.trim(),did:n.steps.flatMap(e=>e.toolCalls.map(e=>(0,k.toolLine)(e.toolName,JSON.stringify(e.input??{}))??e.toolName)),messages:W([...b.slice(p.length),...n.steps.at(-1)?.response.messages??[]]),moved:R}}let X=e=>e?[{role:"system",content:e}]:[];async function C(e,t,r=!1,n){let a=await (0,v.readLiveSettings)(),o=await T(a,t),i="openai"===o.provider||"chatgpt"===o.provider,[s,d,f,p,b]=await Promise.all([(0,l.getTextModel)(o),(0,h.loadThursdayPrompt)({backendPrompt:a.backendPrompt,written:!0,callId:e,phone:r,persona:a.persona,stylePrompt:a.stylePrompt,readSkills:a.readSkills,where:n}),(0,c.loadTools)({target:"thursday",callId:e,webSearch:a.webSearch,readSkills:a.readSkills,written:!0,model:o,phone:r}),(0,y.readConfig)(g.EXA_API_KEY),(0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName)]),_=s.searchTools&&Object.values(s.searchTools)[0],w={...f,...a.webSearch&&!p&&_?{[m.TOOL_NAMES.web_search]:_}:{}},R=i?b?await (0,E.acceptedReasoning)({apiKey:b,model:o.model,effort:a.reasoningEffort}):(0,E.wantedReasoning)(a.reasoningEffort):null;return{ref:o,model:s.model,system:d,tools:w,providerOptions:{openai:{...R?.effort?{reasoningEffort:R.effort}:{},...R&&"summary"in R&&R.summary?{reasoningSummary:R.summary}:{}}}}}let V="Writing to Thursday needs a GPT subscription sign-in or an OpenAI key — Settings › API keys.";e.s(["answerInWriting",0,M,"openTextCall",0,A,"readTextCallProvider",0,P]),r()}catch(e){r(e)}},!1),426455,e=>{"use strict";var t=e.i(749906),r=e.i(333925),n=e.i(938281);e.i(556325),t.object({session:t.object({id:t.string().min(1)}),transport:t.object({type:t.literal("webrtc"),sdp:t.string().min(1)})});let a=new Map;function o(e){return"none"===e?{effort:e}:{...e?{effort:e}:{},summary:"auto"}}async function i(e){let{apiKey:t,model:i,effort:s}=e,u=`${i} ${s??"auto"}`,c=a.get(u);if(void 0!==c)return c;let l=o(s);for(;;){let e=await fetch("https://api.openai.com/v1/responses/input_tokens",{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(r.LIVE_CALL.reasoningCheckMs),body:JSON.stringify({model:i,input:".",reasoning:l})}).catch(()=>null);if(!e)return l;let o=Object.keys(l).length?l:null;if(e.ok)return a.set(u,o),o;let s=await e.json().catch(()=>null),c=s?.error?.param?.replace(/^reasoning\./,"");if("effort"!==c&&"summary"!==c||!(c in l))return l;if(n.logger.warn(`${i} takes no reasoning ${c}; calls omit it`),delete l[c],!Object.keys(l).length)return a.set(u,null),null}}e.s(["acceptedReasoning",0,i,"wantedReasoning",0,o])},461067,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return a}});class n extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class a extends URLSearchParams{append(){throw new n}delete(){throw new n}set(){throw new n}sort(){throw new n}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},574542,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return a}});var n,a=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},4166,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={REDIRECT_ERROR_CODE:function(){return i},isRedirectError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(574542),i="NEXT_REDIRECT";function s(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,a=t.slice(2,-2).join(";"),s=Number(t.at(-2));return r===i&&("replace"===n||"push"===n)&&"string"==typeof a&&!isNaN(s)&&s in o.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},845135,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={actionAsyncStorage:function(){return o.actionAsyncStorage},workAsyncStorage:function(){return i.workAsyncStorage},workUnitAsyncStorage:function(){return s.workUnitAsyncStorage}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(120635),i=e.r(556704),s=e.r(832319);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},543212,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return u},getRedirectStatusCodeFromError:function(){return h},getRedirectTypeFromError:function(){return f},getURLFromRedirectError:function(){return d},permanentRedirect:function(){return l},redirect:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(574542),i=e.r(4166),s=e.r(845135);function u(e,t,r=o.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(i.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n.digest=`${i.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function c(e,t){throw u(e,t??=s.actionAsyncStorage?.getStore()?.isAction?"push":"replace",o.RedirectStatusCode.TemporaryRedirect)}function l(e,t="replace"){throw u(e,t,o.RedirectStatusCode.PermanentRedirect)}function d(e){return(0,i.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function f(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function h(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},33394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return o},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return s},getAccessFallbackErrorTypeByStatus:function(){return l},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},i=new Set(Object.values(o)),s="NEXT_HTTP_ERROR_FALLBACK";function u(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===s&&i.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function l(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},944760,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return o}});let n=e.r(33394),a=`${n.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function o(){let e=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw e.digest=a,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},825345,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},452616,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},585346,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},900338,(e,t,r)=>{"use strict";function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});return{resolve:e,reject:t,promise:r}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createPromiseWithResolvers",{enumerable:!0,get:function(){return n}})},865832,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,o={RENDER_STAGE_ADVANCE_ORDER:function(){return l},RenderStage:function(){return c},StagedRenderingController:function(){return p},SyncIOMode:function(){return h},getNextStage:function(){return d},isAdvanceableRenderStage:function(){return f}};for(var i in o)Object.defineProperty(r,i,{enumerable:!0,get:o[i]});let s=e.r(585346),u=e.r(900338);var c=((n={})[n.Before=1]="Before",n[n.ShellStatic=11]="ShellStatic",n[n.Static=13]="Static",n[n.ShellRuntime=21]="ShellRuntime",n[n.Runtime=23]="Runtime",n[n.Dynamic=30]="Dynamic",n[n.Abandoned=40]="Abandoned",n);let l=[11,13,21,23,30];function d(e){return l[l.indexOf(e)+1]}function f(e){return 1<e&&e<=30}var h=((a={})[a.Untracked=1]="Untracked",a[a.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",a[a.AllowedInDynamic=3]="AllowedInDynamic",a);class p{constructor({abortSignal:e,abandonController:t,syncIO:r,finalStage:n}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:g(),13:g(),21:g(),23:g(),30:g()},this.abortSignal=e,this.abandonController=t,this.syncIOMode=r,this.finalStage=n,e&&e.addEventListener("abort",()=>{let{reason:t}=e;for(let e of Object.values(this.triggers)){var r,n;r=e,n=t,"pending"===r.state&&(r.state="cancelled",r._listeners.length=0,r.promise.catch(m),r._rejectPromise(n))}},{once:!0}),t&&t.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(e,t){var r,n;r=this.triggers[e],n=t,"pending"===r.state?r._listeners.push(n):n()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(e){let{currentStage:t}=this;if(1!==t&&30!==t&&40!==t){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=e,this.currentStage=40;return}this.syncInterruptReason=e,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(e){return this.triggers[d(e)].triggeredAt??1/0}abandonRender(){let{currentStage:e}=this;if(1===e)throw Object.defineProperty(new s.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===e||40===e)return;let t=l.indexOf(e)+1,r=l.indexOf(30);for(let e=t;e<r;e++)this.resolveStage(l[e]);this.currentStage=40}advanceStage(e){if(null!==this.finalStage&&e>this.finalStage)throw Object.defineProperty(new s.InvariantError(`Attempted to advance to stage ${c[e]} but the render is limited to ${c[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:t}=this;if(30===t||40===t||e<=t)return;this.currentStage=e;let r=1===t?0:l.indexOf(t)+1,n=l.indexOf(e);for(let e=r;e<=n;e++)this.resolveStage(l[e])}resolveStage(e){var t=this.triggers[e];if("pending"===t.state){t.state="triggered",t.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:e}=t;for(let t=0;t<e.length;t++)e[t]();e.length=0}finally{t._resolvePromise()}}}getStagePromise(e){return this.triggers[e].promise}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){let n=this.getStagePromise(e).then(()=>r);return this.abortSignal&&n.catch(m),n}}function m(){}function g(){let{promise:e,resolve:t,reject:r}=(0,u.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:e,_listeners:[],_resolvePromise:t,_rejectPromise:r}}},756725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ClientHookDynamicError:function(){return l},RENDER_STAGES_BY_DATA_KIND:function(){return S},applyOwnerStack:function(){return P},isClientHookDynamicError:function(){return d},isHangingPromiseRejectionError:function(){return i},makeClientHookHangingPromise:function(){return w},makeDevtoolsIOAwarePromise:function(){return k},makeDynamicHangingPromise:function(){return h},makeFallbackParamsHangingPromise:function(){return g},makePromiseFromTrigger:function(){return O},makeRuntimeHangingPromise:function(){return m},makeStageHangingPromise:function(){return y},makeUntrackedHangingPromise:function(){return p},trackFallbackParamsAccessed:function(){return E},trackRuntimeDataAccessed:function(){return b}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(865832);function i(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===s}e.r(832319),e.r(559043);let s="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${e}".`),this.route=e,this.expression=t,this.digest=s}}let c="CLIENT_HOOK_DYNAMIC";class l extends Error{constructor(e,t){super(`Route "${e}": Next.js encountered URL data \`${t}\` in a Client Component outside of \`<Suspense>\`.
60
+ ${t.length?t.join("\n"):"- (nothing yet)"}`}e.s(["loadThursdayPrompt",0,b,"memoryChapter",0,E]),r()}catch(e){r(e)}},!1),181300,e=>e.a(async(t,r)=>{try{var n=e.i(912714),a=e.i(734732),o=e.i(749906),i=e.i(139886),s=e.i(333925),u=e.i(247839),c=e.i(113022),l=e.i(986507),d=e.i(864328),f=e.i(539470),h=e.i(79290),p=e.i(690285),m=e.i(51083),g=e.i(656719),y=e.i(724185),b=e.i(375814),E=e.i(426455),_=e.i(938281);e.i(825184);var w=e.i(212389),R=e.i(64774),v=e.i(520401),O=e.i(933395),k=e.i(293822),S=t([c,l,f,h,p,y,v]);async function P(){let e=await Promise.all(O.TEXT_CALL_PROVIDERS.map(async e=>await (0,y.readConfig)(e.apiKeyName)?e.apiKeyName:null));return(0,O.textCallRunsOn)(t=>e.includes(t))}async function T(e,t){if(t)return t;let r=await P();return r||(0,w.publicError)(V),{provider:r,model:e.backendModel}}async function j(e,t){if("chatgpt"!==e.provider||!(0,l.isPlanSpent)(t)||!await (0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName))return null;let r=(await (0,v.readLiveSettings)()).backendModel,n=d.TEXT_MODEL_PROVIDERS.openai.suggestModels.find(e=>e.id===r)?.label??r,a=t instanceof Error?t.message:String(t);return{ref:{provider:"openai",model:r},why:a,line:`${a} Answering on your OpenAI key (${n}) until it resets.`}}async function D(e){if(!(0,l.isPlanSpent)(e))return e;let t=e instanceof Error?e.message:String(e);return new w.PublicError(await (0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName)?`${t} Write again and she answers on your OpenAI key.`:`${t} With an OpenAI key in Settings › API keys, she answers on it until then.`)}async function A(e){let t=await T(await (0,v.readLiveSettings)(),e),[r,n]=await Promise.all([(0,v.insertCall)({provider:t.provider,model:s.TEXT_CALL.model,backendModel:t.model}),(0,f.loadCallStanding)()]);return{callId:r,standing:n}}[c,l,f,h,p,y,v]=S.then?(await S)():S,o.object({callId:o.string().min(1),standing:o.string().nullish(),runsOn:d.textModelRefSchema.nullish(),turn:o.string().min(1),messages:o.array(o.unknown()).min(1),where:o.unknown().optional()}),globalThis.__textCallTurns??=new Map;let $="workspace:",I=e=>({type:"file",mediaType:(0,b.mimeOf)(e),filename:e,data:{type:"url",url:new URL(`${$}${encodeURIComponent(e)}`)}}),L=e=>{let t=e.data,r=t instanceof URL?t:t?.type==="url"?t.url:null;return r instanceof URL&&r.protocol===$?decodeURIComponent(r.pathname):null},U=(e,t)=>t?.length?[{type:"text",text:e},...t.map(I)]:e;i.queryKey.file("");let B=new WeakMap,W=e=>e.map(e=>B.get(e)??e);async function x(e,t,r){if(t)return{missed:`${e} is a picture, and ${t} cannot see pictures, so it was not sent to you.`};let a=await (0,p.checkPicture)(e);if("missing"in a)return{missed:`There is no file at ${e} in the workspace, so no picture was sent to you.`};if("notPicture"in a)return{missed:`${e} is not a png, jpg, webp or gif, so it was not sent to you as a picture.`};if("tooBig"in a)return{missed:`${(0,p.tooBigToSee)(e,a.tooBig)} It was not sent to you.`};if(a.bytes>r)return{missed:`${e} is a picture not sent with this message: the pictures after it fill the ${(0,R.formatBytes)(s.LOOK.perRequest)} one message to you carries. Look at it with look_at to see it.`};let o=await (0,n.readFile)(a.full).catch(()=>null);return o?{data:o.toString("base64"),mediaType:a.mediaType,bytes:o.length}:{missed:`${e} could not be read, so no picture was sent to you.`}}async function N(e,t){let r=(0,l.seesToolImages)(t)?null:t.model,n=s.LOOK.perRequest-e.reduce((e,t)=>e+function(e){if("user"!==e.role||"string"==typeof e.content)return 0;let t=0;for(let r of e.content){if("file"!==r.type)continue;let e=r.data,n=e?.type==="data"?e.data:e;"string"==typeof n?t+=Math.floor(3*n.length/4):(n instanceof Uint8Array||n instanceof ArrayBuffer)&&(t+=n.byteLength)}return t}(t),0),a=[...e];for(let e=a.length-1;e>=0;e-=1){let t=a[e];if("user"!==t.role||"string"==typeof t.content||!t.content.some(e=>"file"===e.type&&null!==L(e)))continue;let o=[];for(let e of[...t.content].reverse()){let t="file"===e.type?L(e):null;if(!t){o.unshift(e);continue}let a=await x(t,r,n);if("missed"in a){o.unshift({type:"text",text:a.missed});continue}n-=a.bytes,o.unshift({type:"text",text:`${t}, as an image:`},{type:"file",mediaType:a.mediaType,data:{type:"data",data:a.data}})}let i={role:"user",content:o};B.set(i,t),a[e]=i}return a}async function M(e){var t;let r,n,{callId:o,standing:i,messages:u,said:c,signal:l}=e,[d,f]=await Promise.all([C(o,null,!0),(0,v.nextTurnSeq)(o)]);null!==c&&await (0,v.saveTurns)(o,[{id:crypto.randomUUID(),role:"user",text:c,seq:f}]);let h=(t=o,r=null===c?f:f+1,{step:async e=>{for(let n of e.content)if("tool-call"===n.type){let a=e.content.find(e=>"tool-result"===e.type&&e.toolCallId===n.toolCallId);await (0,v.saveTurns)(t,[{id:n.toolCallId,role:"tool",tool:n.toolName,text:n.toolName===m.TOOL_NAMES.web_search?function(e,t){let r=t??{},n=[(e??{}).query,r.action?.query].find(e=>"string"==typeof e&&!!e.trim()),a=Array.isArray(r.sources)?r.sources.flatMap(e=>e&&"object"==typeof e&&"url"in e&&"string"==typeof e.url?[{url:e.url,..."title"in e&&"string"==typeof e.title?{title:e.title}:{}}]:[]):[];return JSON.stringify({query:n??null,sources:a})}(n.input,a?.type==="tool-result"?a.output:null):JSON.stringify(n.input??{}),seq:r++}])}else"text"===n.type&&n.text.trim()?await (0,v.saveTurns)(t,[{id:crypto.randomUUID(),role:"assistant",text:n.text.trim(),seq:r++}]):"reasoning"===n.type&&n.text.trim()&&await (0,v.saveThought)(t,{id:crypto.randomUUID(),text:n.text.trim(),seq:r})},said:(e,n=crypto.randomUUID())=>(0,v.saveTurns)(t,[{id:n,role:"user",text:e,seq:r++}])}),p=X(i),g=u.at(-1),y=e.pictures?.length&&g?.role==="user"&&"string"==typeof g.content?[...u.slice(0,-1),{role:"user",content:U(g.content,e.pictures)}]:u,b=[...p,...y],E=0,w=async t=>(0,a.generateText)({model:t.model,instructions:t.system,messages:await N(W(b),t.ref),allowSystemInMessages:!0,tools:t.tools,providerOptions:t.providerOptions,stopWhen:(0,a.stepCountIs)(s.TEXT_CALL.maxSteps),abortSignal:l,prepareStep:async({stepNumber:r,messages:n})=>{let a=r>0?e.notes?.()??[]:[];for(let e of(b=[...n,...a.map(e=>({role:"user",content:U(e.text,e.pictures)}))],a))e.said&&await h.said(e.text);return a.length?{messages:await N(b,t.ref)}:void 0},onStepEnd:async e=>{E+=1,await h.step(e)}}),R=null;try{n=await w(d)}catch(t){let e=E?null:await j(d.ref,t);if(!e)throw await D(t);_.logger.info(`text call ${o}: ${e.line}`),R=e.line;try{n=await w(await C(o,e.ref,!0))}catch(e){throw await D(e)}}return{text:n.text.trim(),did:n.steps.flatMap(e=>e.toolCalls.map(e=>(0,k.toolLine)(e.toolName,JSON.stringify(e.input??{}))??e.toolName)),messages:W([...b.slice(p.length),...n.steps.at(-1)?.response.messages??[]]),moved:R}}let X=e=>e?[{role:"system",content:e}]:[];async function C(e,t,r=!1,n){let a=await (0,v.readLiveSettings)(),o=await T(a,t),i="openai"===o.provider||"chatgpt"===o.provider,[s,d,f,p,b]=await Promise.all([(0,l.getTextModel)(o),(0,h.loadThursdayPrompt)({backendPrompt:a.backendPrompt,written:!0,callId:e,phone:r,persona:a.persona,stylePrompt:a.stylePrompt,readSkills:a.readSkills,where:n}),(0,c.loadTools)({target:"thursday",callId:e,webSearch:a.webSearch,readSkills:a.readSkills,written:!0,model:o,phone:r}),(0,y.readConfig)(g.EXA_API_KEY),(0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName)]),_=s.searchTools&&Object.values(s.searchTools)[0],w={...f,...a.webSearch&&!p&&_?{[m.TOOL_NAMES.web_search]:_}:{}},R=i?b?await (0,E.acceptedReasoning)({apiKey:b,model:o.model,effort:a.reasoningEffort}):(0,E.wantedReasoning)(a.reasoningEffort):null;return{ref:o,model:s.model,system:d,tools:w,providerOptions:{openai:{...R?.effort?{reasoningEffort:R.effort}:{},...R&&"summary"in R&&R.summary?{reasoningSummary:R.summary}:{}}}}}let V="Writing to Thursday needs a GPT subscription sign-in or an OpenAI key — Settings › API keys.";e.s(["answerInWriting",0,M,"openTextCall",0,A,"readTextCallProvider",0,P]),r()}catch(e){r(e)}},!1),426455,e=>{"use strict";var t=e.i(749906),r=e.i(333925),n=e.i(938281);e.i(556325),t.object({session:t.object({id:t.string().min(1)}),transport:t.object({type:t.literal("webrtc"),sdp:t.string().min(1)})});let a=new Map;function o(e){return"none"===e?{effort:e}:{...e?{effort:e}:{},summary:"auto"}}async function i(e){let{apiKey:t,model:i,effort:s}=e,u=`${i} ${s??"auto"}`,c=a.get(u);if(void 0!==c)return c;let l=o(s);for(;;){let e=await fetch("https://api.openai.com/v1/responses/input_tokens",{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(r.LIVE_CALL.reasoningCheckMs),body:JSON.stringify({model:i,input:".",reasoning:l})}).catch(()=>null);if(!e)return l;let o=Object.keys(l).length?l:null;if(e.ok)return a.set(u,o),o;let s=await e.json().catch(()=>null),c=s?.error?.param?.replace(/^reasoning\./,"");if("effort"!==c&&"summary"!==c||!(c in l))return l;if(n.logger.warn(`${i} takes no reasoning ${c}; calls omit it`),delete l[c],!Object.keys(l).length)return a.set(u,null),null}}e.s(["acceptedReasoning",0,i,"wantedReasoning",0,o])},461067,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return a}});class n extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class a extends URLSearchParams{append(){throw new n}delete(){throw new n}set(){throw new n}sort(){throw new n}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},574542,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return a}});var n,a=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},4166,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={REDIRECT_ERROR_CODE:function(){return i},isRedirectError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(574542),i="NEXT_REDIRECT";function s(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,a=t.slice(2,-2).join(";"),s=Number(t.at(-2));return r===i&&("replace"===n||"push"===n)&&"string"==typeof a&&!isNaN(s)&&s in o.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},845135,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={actionAsyncStorage:function(){return o.actionAsyncStorage},workAsyncStorage:function(){return i.workAsyncStorage},workUnitAsyncStorage:function(){return s.workUnitAsyncStorage}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(120635),i=e.r(556704),s=e.r(832319);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},543212,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return u},getRedirectStatusCodeFromError:function(){return h},getRedirectTypeFromError:function(){return f},getURLFromRedirectError:function(){return d},permanentRedirect:function(){return l},redirect:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(574542),i=e.r(4166),s=e.r(845135);function u(e,t,r=o.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(i.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n.digest=`${i.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function c(e,t){throw u(e,t??=s.actionAsyncStorage?.getStore()?.isAction?"push":"replace",o.RedirectStatusCode.TemporaryRedirect)}function l(e,t="replace"){throw u(e,t,o.RedirectStatusCode.PermanentRedirect)}function d(e){return(0,i.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function f(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function h(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},33394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return o},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return s},getAccessFallbackErrorTypeByStatus:function(){return l},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},i=new Set(Object.values(o)),s="NEXT_HTTP_ERROR_FALLBACK";function u(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===s&&i.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function l(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},944760,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return o}});let n=e.r(33394),a=`${n.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function o(){let e=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw e.digest=a,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},825345,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},452616,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},585346,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},900338,(e,t,r)=>{"use strict";function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});return{resolve:e,reject:t,promise:r}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createPromiseWithResolvers",{enumerable:!0,get:function(){return n}})},865832,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,o={RENDER_STAGE_ADVANCE_ORDER:function(){return l},RenderStage:function(){return c},StagedRenderingController:function(){return p},SyncIOMode:function(){return h},getNextStage:function(){return d},isAdvanceableRenderStage:function(){return f}};for(var i in o)Object.defineProperty(r,i,{enumerable:!0,get:o[i]});let s=e.r(585346),u=e.r(900338);var c=((n={})[n.Before=1]="Before",n[n.ShellStatic=11]="ShellStatic",n[n.Static=13]="Static",n[n.ShellRuntime=21]="ShellRuntime",n[n.Runtime=23]="Runtime",n[n.Dynamic=30]="Dynamic",n[n.Abandoned=40]="Abandoned",n);let l=[11,13,21,23,30];function d(e){return l[l.indexOf(e)+1]}function f(e){return 1<e&&e<=30}var h=((a={})[a.Untracked=1]="Untracked",a[a.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",a[a.AllowedInDynamic=3]="AllowedInDynamic",a);class p{constructor({abortSignal:e,abandonController:t,syncIO:r,finalStage:n}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:g(),13:g(),21:g(),23:g(),30:g()},this.abortSignal=e,this.abandonController=t,this.syncIOMode=r,this.finalStage=n,e&&e.addEventListener("abort",()=>{let{reason:t}=e;for(let e of Object.values(this.triggers)){var r,n;r=e,n=t,"pending"===r.state&&(r.state="cancelled",r._listeners.length=0,r.promise.catch(m),r._rejectPromise(n))}},{once:!0}),t&&t.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(e,t){var r,n;r=this.triggers[e],n=t,"pending"===r.state?r._listeners.push(n):n()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(e){let{currentStage:t}=this;if(1!==t&&30!==t&&40!==t){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=e,this.currentStage=40;return}this.syncInterruptReason=e,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(e){return this.triggers[d(e)].triggeredAt??1/0}abandonRender(){let{currentStage:e}=this;if(1===e)throw Object.defineProperty(new s.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===e||40===e)return;let t=l.indexOf(e)+1,r=l.indexOf(30);for(let e=t;e<r;e++)this.resolveStage(l[e]);this.currentStage=40}advanceStage(e){if(null!==this.finalStage&&e>this.finalStage)throw Object.defineProperty(new s.InvariantError(`Attempted to advance to stage ${c[e]} but the render is limited to ${c[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:t}=this;if(30===t||40===t||e<=t)return;this.currentStage=e;let r=1===t?0:l.indexOf(t)+1,n=l.indexOf(e);for(let e=r;e<=n;e++)this.resolveStage(l[e])}resolveStage(e){var t=this.triggers[e];if("pending"===t.state){t.state="triggered",t.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:e}=t;for(let t=0;t<e.length;t++)e[t]();e.length=0}finally{t._resolvePromise()}}}getStagePromise(e){return this.triggers[e].promise}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){let n=this.getStagePromise(e).then(()=>r);return this.abortSignal&&n.catch(m),n}}function m(){}function g(){let{promise:e,resolve:t,reject:r}=(0,u.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:e,_listeners:[],_resolvePromise:t,_rejectPromise:r}}},756725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ClientHookDynamicError:function(){return l},RENDER_STAGES_BY_DATA_KIND:function(){return S},applyOwnerStack:function(){return P},isClientHookDynamicError:function(){return d},isHangingPromiseRejectionError:function(){return i},makeClientHookHangingPromise:function(){return w},makeDevtoolsIOAwarePromise:function(){return k},makeDynamicHangingPromise:function(){return h},makeFallbackParamsHangingPromise:function(){return g},makePromiseFromTrigger:function(){return O},makeRuntimeHangingPromise:function(){return m},makeStageHangingPromise:function(){return y},makeUntrackedHangingPromise:function(){return p},trackFallbackParamsAccessed:function(){return E},trackRuntimeDataAccessed:function(){return b}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(865832);function i(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===s}e.r(832319),e.r(559043);let s="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${e}".`),this.route=e,this.expression=t,this.digest=s}}let c="CLIENT_HOOK_DYNAMIC";class l extends Error{constructor(e,t){super(`Route "${e}": Next.js encountered URL data \`${t}\` in a Client Component outside of \`<Suspense>\`.
61
61
 
62
62
  This blocks prerendering because the value is only available at runtime.
63
63