thursday-agent 0.26.0 → 0.27.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 (391) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +5 -5
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/required-server-files.json +5 -5
  5. package/.next/server/app/_global-error/page/build-manifest.json +2 -2
  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/build-manifest.json +2 -2
  13. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/.next/server/app/api/artifact/route.js +10 -10
  21. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  22. package/.next/server/app/api/bot/memory/files/route.js +1 -1
  23. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  24. package/.next/server/app/api/bot/memory/route.js +8 -8
  25. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  26. package/.next/server/app/api/bot/route.js +8 -8
  27. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  28. package/.next/server/app/api/bot/thread/file/route.js +15 -15
  29. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
  30. package/.next/server/app/api/bot/thread/route.js +5 -5
  31. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  32. package/.next/server/app/api/bot/tool-result/[id]/route.js +6 -6
  33. package/.next/server/app/api/bot/tool-result/[id]/route.js.nft.json +1 -1
  34. package/.next/server/app/api/config/route.js +3 -3
  35. package/.next/server/app/api/config/route.js.nft.json +1 -1
  36. package/.next/server/app/api/events/route.js +1 -1
  37. package/.next/server/app/api/events/route.js.nft.json +1 -1
  38. package/.next/server/app/api/favicon/[host]/route.js +4 -4
  39. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/file/[...path]/route.js +4 -4
  41. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  42. package/.next/server/app/api/llm-model/automatic/route.js +5 -5
  43. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/catalog/[provider]/route.js +5 -5
  45. package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
  46. package/.next/server/app/api/llm-model/credits/[provider]/route.js +5 -5
  47. package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
  48. package/.next/server/app/api/llm-model/route.js +6 -6
  49. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  50. package/.next/server/app/api/llm-model/subscription/route.js +6 -6
  51. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  52. package/.next/server/app/api/mcp/[name]/route.js +5 -5
  53. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  54. package/.next/server/app/api/mcp/oauth/callback/route.js +6 -6
  55. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  56. package/.next/server/app/api/mcp/route.js +5 -5
  57. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  58. package/.next/server/app/api/mcp/tools/route.js +5 -5
  59. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  60. package/.next/server/app/api/memory/edit/route.js +15 -15
  61. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  62. package/.next/server/app/api/memory/route.js +4 -4
  63. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  64. package/.next/server/app/api/reach/route.js +18 -18
  65. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  66. package/.next/server/app/api/routine/route.js +8 -8
  67. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  68. package/.next/server/app/api/running/route.js +2 -2
  69. package/.next/server/app/api/running/route.js.nft.json +1 -1
  70. package/.next/server/app/api/signins/route.js +3 -3
  71. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  72. package/.next/server/app/api/skills/[source]/[name]/route.js +6 -6
  73. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  74. package/.next/server/app/api/skills/route.js +6 -6
  75. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  76. package/.next/server/app/api/thursday/call/end/route.js +5 -5
  77. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  78. package/.next/server/app/api/thursday/call/plan/route.js +14 -14
  79. package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
  80. package/.next/server/app/api/thursday/call/route.js +6 -6
  81. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  82. package/.next/server/app/api/thursday/settings/route.js +5 -5
  83. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  84. package/.next/server/app/api/thursday/text/route.js +14 -14
  85. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  86. package/.next/server/app/api/thursday/tool-call/route.js +15 -15
  87. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  88. package/.next/server/app/api/update/route.js +7 -7
  89. package/.next/server/app/api/update/route.js.nft.json +1 -1
  90. package/.next/server/app/api/workspace/files/route.js +6 -6
  91. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  92. package/.next/server/app/api/workspace/route.js +6 -6
  93. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  94. package/.next/server/app/artifact/[...path]/page/build-manifest.json +2 -2
  95. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
  96. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  97. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/favicon.ico/route.js +2 -2
  99. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  100. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  101. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  102. package/.next/server/app/page/build-manifest.json +2 -2
  103. package/.next/server/app/page/react-loadable-manifest.json +1 -1
  104. package/.next/server/app/page/server-reference-manifest.json +184 -184
  105. package/.next/server/app/page.js +10 -10
  106. package/.next/server/app/page.js.nft.json +1 -1
  107. package/.next/server/app/page_client-reference-manifest.js +1 -1
  108. package/.next/server/chunks/[root-of-the-server]__01jpmcj._.js +2 -2
  109. package/.next/server/chunks/[root-of-the-server]__03bjojd._.js +3 -3
  110. package/.next/server/chunks/{[root-of-the-server]__0wosonh._.js → [root-of-the-server]__05u-9a3._.js} +1 -1
  111. package/.next/server/chunks/{[root-of-the-server]__1dyse-1._.js → [root-of-the-server]__0_qe8iq._.js} +1 -1
  112. package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +1 -1
  113. package/.next/server/chunks/[root-of-the-server]__0jqidnu._.js +1 -1
  114. package/.next/server/chunks/[root-of-the-server]__0mmynvy._.js +2 -2
  115. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  116. package/.next/server/chunks/[root-of-the-server]__0qhf60h._.js +3 -0
  117. package/.next/server/chunks/[root-of-the-server]__0sea36s._.js +4 -4
  118. package/.next/server/chunks/[root-of-the-server]__0zezbds._.js +2 -2
  119. package/.next/server/chunks/[root-of-the-server]__12hkdpz._.js +1 -1
  120. package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
  121. package/.next/server/chunks/[root-of-the-server]__14inehv._.js +3 -0
  122. package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +1 -1
  123. package/.next/server/chunks/[root-of-the-server]__17yv6lg._.js +2 -2
  124. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  125. package/.next/server/chunks/{[root-of-the-server]__0b3_rzi._.js → [root-of-the-server]__1hjb8wf._.js} +1 -1
  126. package/.next/server/chunks/[root-of-the-server]__1jcu_e9._.js +2 -2
  127. package/.next/server/chunks/[root-of-the-server]__1jmr2ed._.js +3 -3
  128. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  129. package/.next/server/chunks/[root-of-the-server]__1o7z93z._.js +2 -2
  130. package/.next/server/chunks/[root-of-the-server]__1onvx8x._.js +2 -2
  131. package/.next/server/chunks/_0-mqt2w._.js +1 -1
  132. package/.next/server/chunks/_04s1gb9._.js +30 -27
  133. package/.next/server/chunks/_06u9yo-._.js +1 -1
  134. package/.next/server/chunks/_08354bn._.js +33 -30
  135. package/.next/server/chunks/_083t_nr._.js +1 -1
  136. package/.next/server/chunks/_0c-s0ei._.js +1 -1
  137. package/.next/server/chunks/_0gifi_2._.js +2 -2
  138. package/.next/server/chunks/_0m3sdq8._.js +1 -1
  139. package/.next/server/chunks/_0pljp-1._.js +1 -1
  140. package/.next/server/chunks/_0wjia9n._.js +1 -1
  141. package/.next/server/chunks/_0wyh244._.js +33 -30
  142. package/.next/server/chunks/_0x2mdif._.js +1 -1
  143. package/.next/server/chunks/_1-sk_q4._.js +1 -1
  144. package/.next/server/chunks/_12a_gfz._.js +1 -1
  145. package/.next/server/chunks/_14-kmob._.js +1 -1
  146. package/.next/server/chunks/_16zct7w._.js +30 -27
  147. package/.next/server/chunks/_1823_7a._.js +4 -4
  148. package/.next/server/chunks/_1f_x75d._.js +1 -1
  149. package/.next/server/chunks/_1o2r4ja._.js +1 -1
  150. package/.next/server/chunks/_1q42187._.js +3 -3
  151. package/.next/server/chunks/_1ufbxe1._.js +1 -1
  152. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  153. package/.next/server/chunks/features_14kex_m._.js +11 -11
  154. package/.next/server/chunks/features_bot_08z387_._.js +4 -4
  155. package/.next/server/chunks/features_memory_0__61kl._.js +1 -1
  156. package/.next/server/chunks/features_memory_1uqvksn._.js +1 -1
  157. package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +1 -1
  158. package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +3 -3
  159. package/.next/server/chunks/ssr/{[root-of-the-server]__0x297x3._.js → [root-of-the-server]__03_9u5q._.js} +2 -2
  160. package/.next/server/chunks/ssr/{[root-of-the-server]__0653diy._.js → [root-of-the-server]__04ky8w1._.js} +2 -2
  161. package/.next/server/chunks/ssr/{[root-of-the-server]__1zlzs9j._.js → [root-of-the-server]__0crm8gr._.js} +2 -2
  162. package/.next/server/chunks/ssr/{[root-of-the-server]__02936mh._.js → [root-of-the-server]__0d3n8i_._.js} +2 -2
  163. package/.next/server/chunks/ssr/{[root-of-the-server]__0s8q44q._.js → [root-of-the-server]__0d4o9hs._.js} +2 -2
  164. package/.next/server/chunks/ssr/[root-of-the-server]__0id2dqb._.js +1 -1
  165. package/.next/server/chunks/ssr/{[root-of-the-server]__1s0etwd._.js → [root-of-the-server]__0q2c15o._.js} +2 -2
  166. package/.next/server/chunks/ssr/[root-of-the-server]__0t_oz3-._.js +6 -0
  167. package/.next/server/chunks/ssr/{[root-of-the-server]__16x99f1._.js → [root-of-the-server]__12r70jm._.js} +1 -1
  168. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  169. package/.next/server/chunks/ssr/{[root-of-the-server]__0glkz9k._.js → [root-of-the-server]__1fvh0zn._.js} +2 -2
  170. package/.next/server/chunks/ssr/[root-of-the-server]__1t38-p_._.js +1 -1
  171. package/.next/server/chunks/ssr/{[root-of-the-server]__1c1xyyb._.js → [root-of-the-server]__1uy0zqr._.js} +2 -2
  172. package/.next/server/chunks/ssr/_02uubus._.js +3 -0
  173. package/.next/server/chunks/ssr/_0692i-a._.js +3 -0
  174. package/.next/server/chunks/ssr/_079xt7h._.js +32 -29
  175. package/.next/server/chunks/ssr/_07g7ojr._.js +3 -0
  176. package/.next/server/chunks/ssr/_0ewhz_x._.js +3 -0
  177. package/.next/server/chunks/ssr/_0f3t9pm._.js +2 -2
  178. package/.next/server/chunks/ssr/_0gx6qzr._.js +57 -0
  179. package/.next/server/chunks/ssr/_0pjwmak._.js +6 -0
  180. package/.next/server/chunks/ssr/_0pnzfq1._.js +1 -1
  181. package/.next/server/chunks/ssr/_0px9eat._.js +3 -0
  182. package/.next/server/chunks/ssr/_0r2_l__._.js +3 -0
  183. package/.next/server/chunks/ssr/{_20_wc-g._.js → _0rcuovx._.js} +2 -2
  184. package/.next/server/chunks/ssr/_0uwhhcs._.js +3 -0
  185. package/.next/server/chunks/ssr/{_1wct0tm._.js → _128r03g._.js} +1 -1
  186. package/.next/server/chunks/ssr/_12c2n7f._.js +3 -0
  187. package/.next/server/chunks/ssr/{_12_ail7._.js → _14f64h2._.js} +1 -1
  188. package/.next/server/chunks/ssr/_17fa2ns._.js +162 -0
  189. package/.next/server/chunks/ssr/_1_px1o-._.js +3 -0
  190. package/.next/server/chunks/ssr/_1a_w_du._.js +1 -1
  191. package/.next/server/chunks/ssr/_1e_9qjr._.js +1 -1
  192. package/.next/server/chunks/ssr/_1f59vze._.js +57 -0
  193. package/.next/server/chunks/ssr/_1j5ohq5._.js +3 -0
  194. package/.next/server/chunks/ssr/{_0ingto_._.js → _1kj3d2q._.js} +2 -2
  195. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  196. package/.next/server/chunks/ssr/_1ocl7u0._.js +3 -0
  197. package/.next/server/chunks/ssr/_1q9r6u6._.js +3 -0
  198. package/.next/server/chunks/ssr/{_0fvctar._.js → _1qqusa-._.js} +2 -2
  199. package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
  200. package/.next/server/chunks/ssr/_1uok0wt._.js +3 -0
  201. package/.next/server/chunks/ssr/_1v1pcoh._.js +1 -1
  202. package/.next/server/chunks/ssr/_1xw9imq._.js +3 -0
  203. package/.next/server/chunks/ssr/{components_ui_markdown-body_tsx_0h7bkrz._.js → components_ui_markdown-body_tsx_08i96c6._.js} +2 -2
  204. package/.next/server/chunks/ssr/features_0rrgq_t._.js +1 -1
  205. package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
  206. package/.next/server/chunks/ssr/features_bot_0tb4ui-._.js +2 -2
  207. package/.next/server/chunks/ssr/features_bot_components_01ye2wp._.js +1 -1
  208. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +2 -2
  209. package/.next/server/chunks/ssr/features_bot_components_thread-setting_tsx_0yae7zy._.js +1 -1
  210. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +2 -2
  211. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  212. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +2 -2
  213. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  214. package/.next/server/chunks/ssr/features_skills_components_skills-setting_tsx_1wtuuip._.js +1 -1
  215. package/.next/server/chunks/ssr/features_thursday_components_thursday-setting_tsx_1_6ydrc._.js +1 -1
  216. package/.next/server/chunks/ssr/{node_modules_193w7l8._.js → node_modules_02djdfa._.js} +2 -2
  217. package/.next/server/chunks/ssr/{node_modules_1bwlhwa._.js → node_modules_03ybg-h._.js} +1 -1
  218. package/.next/server/chunks/ssr/{node_modules_01xoz64._.js → node_modules_066eqdg._.js} +1 -1
  219. package/.next/server/chunks/ssr/{node_modules_20ifwl6._.js → node_modules_09605b3._.js} +1 -1
  220. package/.next/server/chunks/ssr/{node_modules_1yilsx4._.js → node_modules_0_c17cv._.js} +1 -1
  221. package/.next/server/chunks/ssr/{node_modules_080f5gu._.js → node_modules_0a1-9-h._.js} +1 -1
  222. package/.next/server/chunks/ssr/{node_modules_17c047f._.js → node_modules_0bfpl_c._.js} +1 -1
  223. package/.next/server/chunks/ssr/{node_modules_1pav8g4._.js → node_modules_0brchjo._.js} +1 -1
  224. package/.next/server/chunks/ssr/{node_modules_0gwiuga._.js → node_modules_0c0pgdi._.js} +1 -1
  225. package/.next/server/chunks/ssr/{node_modules_02-zrtu._.js → node_modules_0ep265x._.js} +1 -1
  226. package/.next/server/chunks/ssr/{node_modules_0kqej10._.js → node_modules_0gzvt6a._.js} +2 -2
  227. package/.next/server/chunks/ssr/{node_modules_0i18max._.js → node_modules_0h4gjw5._.js} +1 -1
  228. package/.next/server/chunks/ssr/{node_modules_1m2_gxv._.js → node_modules_0iso-he._.js} +1 -1
  229. package/.next/server/chunks/ssr/{node_modules_0cda8i6._.js → node_modules_0jvqmb4._.js} +1 -1
  230. package/.next/server/chunks/ssr/node_modules_0kzgugm._.js +3 -0
  231. package/.next/server/chunks/ssr/{node_modules_0uvoegq._.js → node_modules_0l8gpkg._.js} +1 -1
  232. package/.next/server/chunks/ssr/{node_modules_12ajdg8._.js → node_modules_0mlrvds._.js} +2 -2
  233. package/.next/server/chunks/ssr/node_modules_0nvqvnw._.js +7 -7
  234. package/.next/server/chunks/ssr/{node_modules_1s3j8gb._.js → node_modules_0ogtyfm._.js} +2 -2
  235. package/.next/server/chunks/ssr/{node_modules_1_xiwxs._.js → node_modules_0os_-0h._.js} +1 -1
  236. package/.next/server/chunks/ssr/{node_modules_1abjhxx._.js → node_modules_0p05zru._.js} +1 -1
  237. package/.next/server/chunks/ssr/{node_modules_1o-m6_3._.js → node_modules_0pf8124._.js} +2 -2
  238. package/.next/server/chunks/ssr/{node_modules_0eqvt2l._.js → node_modules_0pp3v4f._.js} +2 -2
  239. package/.next/server/chunks/ssr/{node_modules_0rzz90e._.js → node_modules_0r1vv13._.js} +1 -1
  240. package/.next/server/chunks/ssr/{node_modules_1kum1yu._.js → node_modules_0r9yw6x._.js} +1 -1
  241. package/.next/server/chunks/ssr/{node_modules_1yw5fq4._.js → node_modules_0rk1a3e._.js} +1 -1
  242. package/.next/server/chunks/ssr/{node_modules_1es3wjv._.js → node_modules_0sq1pa3._.js} +2 -2
  243. package/.next/server/chunks/ssr/{node_modules_1-cv1_p._.js → node_modules_0w-pjyz._.js} +2 -2
  244. package/.next/server/chunks/ssr/{node_modules_0g_yuwn._.js → node_modules_0yoh66_._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_1s9agqr._.js → node_modules_10kn3ni._.js} +2 -2
  246. package/.next/server/chunks/ssr/{node_modules_1yajzrd._.js → node_modules_124ipg-._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_0svoyrb._.js → node_modules_12_p7d0._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_203yqqb._.js → node_modules_12w12wr._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_17ks351._.js → node_modules_16kmp_v._.js} +2 -2
  250. package/.next/server/chunks/ssr/{node_modules_05qs8r_._.js → node_modules_16m_yhd._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_07dc1cr._.js → node_modules_171uvar._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_0qsi9t2._.js → node_modules_19pn2ti._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_0k9_jdk._.js → node_modules_1_ly5yy._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_0o_gq58._.js → node_modules_1_wsn9q._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_1u7wlaq._.js → node_modules_1djak6n._.js} +2 -2
  256. package/.next/server/chunks/ssr/{node_modules_08cq8i-._.js → node_modules_1e-oxmh._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_15x7int._.js → node_modules_1ed4zep._.js} +2 -2
  258. package/.next/server/chunks/ssr/{node_modules_1pkpq6d._.js → node_modules_1f2qlxm._.js} +2 -2
  259. package/.next/server/chunks/ssr/{node_modules_1aw7c9f._.js → node_modules_1fn72fs._.js} +2 -2
  260. package/.next/server/chunks/ssr/node_modules_1h9p77x._.js +7 -7
  261. package/.next/server/chunks/ssr/{node_modules_1ucf2fi._.js → node_modules_1hj0rvo._.js} +1 -1
  262. package/.next/server/chunks/ssr/{node_modules_12pvysk._.js → node_modules_1jvkoqj._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_0tq4-57._.js → node_modules_1jzofr8._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_08hfp3a._.js → node_modules_1maqy-g._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_071fb26._.js → node_modules_1oox5h1._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_0_jxnnn._.js → node_modules_1p56fwh._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_01yukzc._.js → node_modules_1prbr1-._.js} +1 -1
  268. package/.next/server/chunks/ssr/{node_modules_1hrbceb._.js → node_modules_1qfou69._.js} +1 -1
  269. package/.next/server/chunks/ssr/{node_modules_11f1w-3._.js → node_modules_1qnosqe._.js} +2 -2
  270. package/.next/server/chunks/ssr/{node_modules_1kd_hpx._.js → node_modules_1rdpn6v._.js} +1 -1
  271. package/.next/server/chunks/ssr/{node_modules_079iwnx._.js → node_modules_1v6m9sp._.js} +1 -1
  272. package/.next/server/chunks/ssr/{node_modules_1iapzqf._.js → node_modules_1z8ywx9._.js} +1 -1
  273. package/.next/server/chunks/ssr/{node_modules_1dim95c._.js → node_modules_1zzudo-._.js} +1 -1
  274. package/.next/server/chunks/ssr/{node_modules_1_71wv3._.js → node_modules_2157u1j._.js} +2 -2
  275. package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1c5gb92._.js → node_modules_katex_dist_katex_mjs_12lynt6._.js} +1 -1
  276. package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1ocxq2z._.js → node_modules_katex_dist_katex_mjs_1vjoadq._.js} +1 -1
  277. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1v93o68._.js +1 -1
  278. package/.next/server/middleware-build-manifest.js +5 -5
  279. package/.next/server/pages/404.html +1 -1
  280. package/.next/server/pages/500.html +1 -1
  281. package/.next/server/server-reference-manifest.js +1 -1
  282. package/.next/server/server-reference-manifest.json +185 -185
  283. package/.next/static/chunks/051z85h3ofmif.js +1 -0
  284. package/.next/static/chunks/05722zc-sohb_.js +4 -0
  285. package/.next/static/chunks/07jo959manleh.js +1 -0
  286. package/.next/static/chunks/0_5a18_y41-_4.js +1 -0
  287. package/.next/static/chunks/0be7dgti95u_2.js +1 -0
  288. package/.next/static/chunks/0c28x0q2aqsbj.js +1 -0
  289. package/.next/static/chunks/0o_rabv5are-o.js +2 -0
  290. package/.next/static/chunks/{0776-hu4_eek7.js → 0wwq57j09skhy.js} +2 -2
  291. package/.next/static/chunks/0zm3urd75-zw5.js +1 -0
  292. package/.next/static/chunks/16hfi69t-6a4t.js +2 -0
  293. package/.next/static/chunks/1g58g8-daiwu5.js +3 -0
  294. package/.next/static/chunks/1i1u85j-_yb1n.js +15 -0
  295. package/.next/static/chunks/1kd2sxkkrae8e.js +1 -0
  296. package/.next/static/chunks/{3xloayc4c096r.js → 1n3a07w81jbc-.js} +1 -1
  297. package/.next/static/chunks/1nncyxatu7une.js +1 -0
  298. package/.next/static/chunks/1s5t41jiomssd.css +1 -0
  299. package/.next/static/chunks/1yl4mlpsw8e7h.js +1 -0
  300. package/.next/static/chunks/{33qtnlc00c9gq.js → 2gl-fo_rmmmq0.js} +1 -1
  301. package/.next/static/chunks/2h_sak2oi70qs.js +1 -0
  302. package/.next/static/chunks/2isg5redeg2bc.js +1 -0
  303. package/.next/static/chunks/{2fxn-xltgy2un.js → 2of2-kggzp-fk.js} +1 -1
  304. package/.next/static/chunks/2vmran3sacktz.js +1 -0
  305. package/.next/static/chunks/2w02v9g8o9-rz.js +1 -0
  306. package/.next/static/chunks/2wi2pcbjrqm86.js +1 -0
  307. package/.next/static/chunks/2xk8otp3gnzml.js +1 -0
  308. package/.next/static/chunks/2ym1hrikoit8p.js +1 -0
  309. package/.next/static/chunks/34d1f980dv5c6.js +18 -0
  310. package/.next/static/chunks/34zhr71217o1-.js +2 -0
  311. package/.next/static/chunks/{0o1r15rfncytn.js → 37r4l2878vybp.js} +1 -1
  312. package/.next/static/chunks/{2cz5734j90h5b.js → 3a-2z23puvz2z.js} +1 -1
  313. package/.next/static/chunks/3d55-y263hup9.js +1 -0
  314. package/.next/static/chunks/3dzrveotr82eu.js +39 -0
  315. package/.next/static/chunks/3fensfht8pxhl.js +55 -0
  316. package/.next/static/chunks/3k7fum0yljmyr.js +1 -0
  317. package/.next/static/chunks/3sawwm4vucnzn.js +1 -0
  318. package/.next/static/chunks/{0z0-g4k1hnpw2.js → 3u208m--8u1iq.js} +1 -1
  319. package/.next/static/chunks/{turbopack-1kym6rf88i5i0.js → turbopack-0ekrsq98buh0j.js} +1 -1
  320. package/README.md +18 -18
  321. package/bin/background.mjs +60 -32
  322. package/bin/print.mjs +82 -0
  323. package/bin/thursday.mjs +44 -13
  324. package/guide/bots.md +19 -3
  325. package/guide/calls.md +5 -2
  326. package/guide/memory.md +2 -1
  327. package/guide/setup.md +8 -6
  328. package/guide/trouble.md +4 -0
  329. package/package.json +11 -5
  330. package/public/voices/intro/awake-f4e02fad.ogg +0 -0
  331. package/seed-skills/concierge/travel/scripts/itinerary.mjs +2 -1
  332. package/server.js +1 -1
  333. package/skills/artifact/references/document.md +5 -2
  334. package/skills/artifact/runtime/document/markdown.mjs +14 -1
  335. package/skills/artifact/runtime/shell/head.html +1 -1
  336. package/skills/artifact/scripts/document.mjs +9 -3
  337. package/skills/browser/SKILL.md +17 -13
  338. package/.next/server/chunks/[root-of-the-server]__0ald4vb._.js +0 -3
  339. package/.next/server/chunks/[root-of-the-server]__0srfj96._.js +0 -3
  340. package/.next/server/chunks/ssr/[root-of-the-server]__1kos36s._.js +0 -6
  341. package/.next/server/chunks/ssr/_024j8bs._.js +0 -3
  342. package/.next/server/chunks/ssr/_04jb10a._.js +0 -3
  343. package/.next/server/chunks/ssr/_059oyhd._.js +0 -3
  344. package/.next/server/chunks/ssr/_0d0uyl3._.js +0 -3
  345. package/.next/server/chunks/ssr/_0fk7dbp._.js +0 -88
  346. package/.next/server/chunks/ssr/_0gfa_rb._.js +0 -3
  347. package/.next/server/chunks/ssr/_0i7zd74._.js +0 -3
  348. package/.next/server/chunks/ssr/_0sp2z94._.js +0 -3
  349. package/.next/server/chunks/ssr/_1avnw03._.js +0 -57
  350. package/.next/server/chunks/ssr/_1bfrntd._.js +0 -6
  351. package/.next/server/chunks/ssr/_1cpvfkg._.js +0 -3
  352. package/.next/server/chunks/ssr/_1cqjpyq._.js +0 -3
  353. package/.next/server/chunks/ssr/_1khngyc._.js +0 -72
  354. package/.next/server/chunks/ssr/_1kyjimg._.js +0 -162
  355. package/.next/server/chunks/ssr/_1sw4r4m._.js +0 -6
  356. package/.next/server/chunks/ssr/_20004tu._.js +0 -57
  357. package/.next/server/chunks/ssr/node_modules_01alue6._.js +0 -3
  358. package/.next/server/chunks/ssr/node_modules_02n9-pb._.js +0 -3
  359. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0zxr5sz._.js +0 -3
  360. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_trash_mjs_0px2gzr._.js +0 -3
  361. package/.next/static/chunks/02d9vhnz5mwvu.js +0 -1
  362. package/.next/static/chunks/06ff4fq0z4das.js +0 -1
  363. package/.next/static/chunks/09q9n7jrkm4c9.js +0 -39
  364. package/.next/static/chunks/0b3wt5kqs-mk2.js +0 -2
  365. package/.next/static/chunks/0blrj_tg1yur0.js +0 -1
  366. package/.next/static/chunks/0dn1ptom1ahgg.js +0 -18
  367. package/.next/static/chunks/0dq7uppta9s--.js +0 -1
  368. package/.next/static/chunks/0hoz2b--nhn4y.js +0 -1
  369. package/.next/static/chunks/0kfjtkez2xze2.js +0 -1
  370. package/.next/static/chunks/0mv2zywfzt83k.js +0 -4
  371. package/.next/static/chunks/0txtrhykehsd_.js +0 -55
  372. package/.next/static/chunks/17vs1vz7_4l4p.css +0 -1
  373. package/.next/static/chunks/1dnvf_117h4k3.js +0 -2
  374. package/.next/static/chunks/1irynso77np9t.js +0 -1
  375. package/.next/static/chunks/1sh_-w_keseat.js +0 -1
  376. package/.next/static/chunks/1z2_9pl3nezly.js +0 -3
  377. package/.next/static/chunks/23ty4edkuxirx.js +0 -1
  378. package/.next/static/chunks/2f1cnfz4h1e2x.js +0 -1
  379. package/.next/static/chunks/2jepcbdewlwlg.js +0 -1
  380. package/.next/static/chunks/2r_zq_knm0hph.js +0 -15
  381. package/.next/static/chunks/2yfmmo4qr_f-m.js +0 -1
  382. package/.next/static/chunks/3-xnkknav7azp.js +0 -1
  383. package/.next/static/chunks/38q31td1ecuay.js +0 -1
  384. package/.next/static/chunks/3n75-7grldc6f.js +0 -1
  385. package/.next/static/chunks/3ofr4htw4wpj3.js +0 -1
  386. package/.next/static/chunks/40bkw3zfenss4.js +0 -2
  387. package/public/voices/intro/awake-17dbafbf.ogg +0 -0
  388. package/public/voices/intro/models-d09ddc74.ogg +0 -0
  389. /package/.next/static/{YIQV0_9FZPTFUe9TCiVSF → 3_9hbwcAuWTSWCJSufp3d}/_buildManifest.js +0 -0
  390. /package/.next/static/{YIQV0_9FZPTFUe9TCiVSF → 3_9hbwcAuWTSWCJSufp3d}/_clientMiddlewareManifest.js +0 -0
  391. /package/.next/static/{YIQV0_9FZPTFUe9TCiVSF → 3_9hbwcAuWTSWCJSufp3d}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[418520,e=>e.a(async(t,i)=>{try{var a=await e.y("@libsql/client-6da938047d5fc1cd");e.n(a),i()}catch(e){i(e)}},!0),666680,(e,t,i)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,t,i)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,i)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,i)=>{t.exports=e.x("node:process",()=>require("node:process"))},509656,(e,t,i)=>{t.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,t,i)=>{t.exports=e.x("node:util",()=>require("node:util"))},380690,e=>{"use strict";let t,i,a,l,r,s;var o,n=e.i(687388),d=e.i(850063);let m={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},c=globalThis,g=c.__appEvents??=(t=new Set,{emit(e){for(let i of[...t])try{i(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),p=c.__presence??=(o=n.BROWSER_GONE_MS,i=!1,a=null,l=new Set,r=new Set,s=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return i},track(e){if(e>0){a&&clearTimeout(a),a=null,i||(i=!0,s(r));return}!a&&i&&(a=setTimeout(()=>{a=null,i=!1,s(l)},o))},onGone:e=>(l.add(e),()=>l.delete(e)),onBack:e=>(r.add(e),()=>r.delete(e))}),u=c.__appEventStream??=(0,d.createEventStream)(g,{coalesce:{ms:n.SIGNAL_PACE_MS,keyOf:e=>e.type in m?e.type:null},onWatchers:p.track});e.s(["appEventStream",0,u,"appEvents",0,g,"presence",0,p],380690)},687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),i=process.env.THURSDAY_HOME?.trim()||process.cwd(),a=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,l=`${i}/local.db`,r=`file:${l}`,s=`${i}/.env`,o=".ai-workspace",n={workspace:o,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${o}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},d="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,a,"ARTIFACT_SKILL",0,d,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants: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_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_HISTORY_PAGE",0,10,"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,i,"DB_FILE_NAME",0,r,"DB_PATH",0,l,"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,"INBOX_FINISHED",0,5,"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},"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,n,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:d,"picture-book":d,"interactive-page":d},"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},"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}])},264079,e=>{"use strict";var t=e.i(907855),i=e.i(687388);let a=t.enum(["openai","chatgpt","anthropic","google","xai","vercel-ai-gateway","openrouter","mistral","deepseek","groq","cerebras","togetherai","fireworks","deepinfra","cohere"]),l=t.object({provider:a,model:t.string().trim().min(1,"Model name is required").max(80)}),r=["none","minimal","low","medium","high","xhigh"],s=t.enum(r),o=["vercel-ai-gateway","openrouter"],n=e=>o.includes(e),d=t.enum(["openai","chatgpt","google","xai","vercel-ai-gateway"]),m=t.object({provider:d,model:t.string().trim().min(1,"Model name is required").max(120)}),c={openai:{label:"OpenAI",apiKeyName:"OPENAI_API_KEY",models:{image:[{id:"gpt-image-1-mini",label:"GPT Image 1 mini",tier:"small"},{id:"gpt-image-2.5-flare",label:"GPT Image 2.5 Flare",tier:"mid"},{id:"gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[],speech:[{id:"tts-1",label:"TTS 1",tier:"small"},{id:"gpt-4o-mini-tts",label:"4o mini TTS",tier:"mid"},{id:"tts-1-hd",label:"TTS 1 HD",tier:"large"}],transcription:[{id:"gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"gpt-transcribe",label:"GPT Transcribe",tier:"mid"}]}},chatgpt:{label:"GPT Subscription",apiKeyName:"CHATGPT_SIGN_IN",models:{image:[{id:"gpt-image-2",label:"GPT Image 2",tier:"mid"}],video:[],speech:[],transcription:[]}},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",models:{image:[{id:"gemini-3.1-flash-lite-image",label:"3.1 Flash Lite Image",tier:"small"},{id:"gemini-3.1-flash-image",label:"3.1 Flash Image",tier:"mid"},{id:"gemini-3-pro-image",label:"3 Pro Image",tier:"large"}],video:[{id:"veo-3.1-lite-generate-preview",label:"Veo 3.1 Lite",tier:"small"},{id:"veo-3.1-fast-generate-preview",label:"Veo 3.1 Fast",tier:"mid"},{id:"veo-3.1-generate-preview",label:"Veo 3.1",tier:"large"}],speech:[{id:"gemini-2.5-flash-preview-tts",label:"2.5 Flash TTS",tier:"small"},{id:"gemini-3.1-flash-tts-preview",label:"3.1 Flash TTS",tier:"mid"},{id:"gemini-2.5-pro-preview-tts",label:"2.5 Pro TTS",tier:"large"}],transcription:[{id:"gemini-3.5-transcribe",label:"3.5 Transcribe",tier:"mid"}]}},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",models:{image:[{id:"grok-imagine-image",label:"Grok Imagine",tier:"small"},{id:"grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"mid"}],video:[{id:"grok-imagine-video",label:"Grok Imagine Video",tier:"small"},{id:"grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"}],speech:[{id:"grok-tts",label:"Grok TTS",tier:"mid"}],transcription:[{id:"grok-stt",label:"Grok STT",tier:"mid"}]}},"vercel-ai-gateway":{label:"Vercel AI Gateway",apiKeyName:"AI_GATEWAY_API_KEY",models:{image:[{id:"bytedance/seedream-5.0-lite",label:"Seedream 5.0 Lite",tier:"small"},{id:"bfl/flux-2-klein-9b",label:"FLUX 2 Klein 9B",tier:"small"},{id:"spacexai/grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"small"},{id:"bfl/flux-2-pro",label:"FLUX 2 Pro",tier:"mid"},{id:"bytedance/seedream-5.0-pro",label:"Seedream 5.0 Pro",tier:"mid"},{id:"recraft/recraft-v4.1",label:"Recraft V4.1",tier:"mid"},{id:"openai/gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[{id:"bytedance/seedance-2.0-mini",label:"Seedance 2.0 Mini",tier:"small"},{id:"google/veo-3.1-lite-generate-001",label:"Veo 3.1 Lite",tier:"small"},{id:"alibaba/wan-v2.6-t2v",label:"Wan 2.6",tier:"small"},{id:"google/veo-3.1-fast-generate-001",label:"Veo 3.1 Fast",tier:"mid"},{id:"bytedance/seedance-2.5",label:"Seedance 2.5",tier:"mid"},{id:"spacexai/grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"},{id:"klingai/kling-v3.0-t2v",label:"Kling 3.0",tier:"large"},{id:"google/veo-3.1-generate-001",label:"Veo 3.1",tier:"large"}],speech:[{id:"fish-audio/s1",label:"Fish Audio S1",tier:"small"},{id:"openai/tts-1",label:"OpenAI TTS 1",tier:"small"},{id:"spacexai/grok-tts",label:"Grok TTS",tier:"mid"},{id:"fish-audio/s2.1-pro",label:"Fish Audio S2.1 Pro",tier:"mid"},{id:"openai/tts-1-hd",label:"OpenAI TTS 1 HD",tier:"large"}],transcription:[{id:"spacexai/grok-stt",label:"Grok STT",tier:"small"},{id:"fish-audio/transcribe-1",label:"Fish Transcribe 1",tier:"small"},{id:"openai/gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"openai/gpt-4o-transcribe",label:"4o Transcribe",tier:"mid"},{id:"google/gemini-3.5-transcribe",label:"Gemini 3.5 Transcribe",tier:"mid"}]}}},g=Object.keys(c).map(e=>({id:e,...c[e]})),p={openai:{label:"OpenAI",apiKeyName:"OPENAI_API_KEY",keysAt:"https://platform.openai.com/api-keys",keyLooks:"sk-…",defaultTier:"small",suggestModels:[{id:"gpt-6-luna",label:"6 Luna",tier:"small",context:105e4,efforts:["none","low","medium","high","xhigh"]},{id:"gpt-6.1-sol",label:"6.1 Sol",tier:"mid",context:105e4,efforts:["low","medium","high","xhigh"]},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:105e4,efforts:["low","medium","high","xhigh"]}]},chatgpt:{label:"GPT Subscription",apiKeyName:"CHATGPT_SIGN_IN",signIn:!0,suggestModels:[{id:"gpt-6-luna",label:"6 Luna",tier:"small",context:272e3,efforts:["none","low","medium","high","xhigh"]},{id:"gpt-6.1-sol",label:"6.1 Sol",tier:"mid",context:272e3,efforts:["low","medium","high","xhigh"]},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:272e3,efforts:["low","medium","high","xhigh"]}]},anthropic:{label:"Claude",apiKeyName:"ANTHROPIC_API_KEY",keysAt:"https://platform.claude.com/settings/keys",keyLooks:"sk-ant-…",suggestModels:[{id:"claude-haiku-4-5",label:"Haiku 4.5",tier:"small",efforts:["none","minimal","low","medium","high","xhigh"]},{id:"claude-sonnet-5-5",label:"Sonnet 5.5",tier:"mid",context:1e6,efforts:["none","low","medium","high","xhigh"]},{id:"claude-opus-5-5",label:"Opus 5.5",tier:"large",context:1e6,efforts:["low","medium","high","xhigh"]},{id:"claude-fable-5-1",label:"Fable 5.1",tier:"large",efforts:["none","low","medium","high","xhigh"]}]},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",keysAt:"https://aistudio.google.com/apikey",keyLooks:"AIza…",suggestModels:[{id:"gemini-3.5-flash-lite",label:"3.5 Flash Lite",tier:"small",context:1e6,efforts:["minimal","low","medium","high"]},{id:"gemini-3.8-flash",label:"3.8 Flash",tier:"mid",context:1e6,efforts:["low","medium","high"]}]},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",keysAt:"https://console.x.ai",keyLooks:"xai-…",suggestModels:[{id:"grok-4.7",label:"Grok 4.7",tier:"large",context:5e5,efforts:["none","low","medium","high","xhigh"]}]},"vercel-ai-gateway":{label:"Vercel AI Gateway",apiKeyName:"AI_GATEWAY_API_KEY",keysAt:"https://vercel.com/docs/ai-gateway/authentication-and-byok/authentication",suggestModels:[{id:"zai/glm-5.3-flash",label:"GLM 5.3 Flash",tier:"small"},{id:"google/gemini-3.8-flash",label:"Gemini 3.8 Flash",tier:"small"},{id:"openai/gpt-6-luna",label:"GPT 6 Luna",tier:"small",context:105e4},{id:"zai/glm-5.3",label:"GLM 5.3",tier:"mid"},{id:"spacexai/grok-4.7",label:"Grok 4.7",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5.5",label:"Claude Sonnet 5.5",tier:"mid"},{id:"openai/gpt-6.1-sol",label:"GPT 6.1 Sol",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid"},{id:"anthropic/claude-opus-5.5",label:"Claude Opus 5.5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]},openrouter:{label:"OpenRouter",apiKeyName:"OPENROUTER_API_KEY",keysAt:"https://openrouter.ai/settings/keys",keyLooks:"sk-or-…",suggestModels:[{id:"z-ai/glm-5.3-flash",label:"GLM 5.3 Flash",tier:"small",context:1310720},{id:"google/gemini-3.8-flash",label:"Gemini 3.8 Flash",tier:"small",context:1048576},{id:"openai/gpt-6-luna",label:"GPT 6 Luna",tier:"small",context:105e4},{id:"z-ai/glm-5.3",label:"GLM 5.3",tier:"mid",context:1310720},{id:"x-ai/grok-4.7",label:"Grok 4.7",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5.5",label:"Claude Sonnet 5.5",tier:"mid",context:1e6},{id:"openai/gpt-6.1-sol",label:"GPT 6.1 Sol",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid",context:1048576},{id:"anthropic/claude-opus-5.5",label:"Claude Opus 5.5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]},mistral:{label:"Mistral",apiKeyName:"MISTRAL_API_KEY",keysAt:"https://console.mistral.ai/api-keys",suggestModels:[{id:"ministral-8b-latest",label:"Ministral 8B",tier:"small",efforts:[]},{id:"mistral-small-latest",label:"Small",tier:"mid",efforts:["none","high"]},{id:"mistral-medium-latest",label:"Medium",tier:"large",efforts:["none","high"]},{id:"mistral-large-latest",label:"Large",tier:"large",efforts:[]}]},deepseek:{label:"DeepSeek",apiKeyName:"DEEPSEEK_API_KEY",keysAt:"https://platform.deepseek.com/api_keys",keyLooks:"sk-…",suggestModels:[{id:"deepseek-flash",label:"V4.1 Flash",tier:"small",context:1e6,efforts:["none","low","high","xhigh"]},{id:"deepseek-v4-pro",label:"V4 Pro",tier:"large",context:1e6,efforts:["none","low","high","xhigh"]}]},groq:{label:"Groq",apiKeyName:"GROQ_API_KEY",keysAt:"https://console.groq.com/keys",keyLooks:"gsk_…",suggestModels:[{id:"openai/gpt-oss-20b",label:"GPT OSS 20B",tier:"small",context:131072,efforts:["low","medium","high"]},{id:"openai/gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:131072,efforts:["low","medium","high"]},{id:"llama-3.3-70b-versatile",label:"Llama 3.3 70B",tier:"mid",context:131072,efforts:[]}]},cerebras:{label:"Cerebras",apiKeyName:"CEREBRAS_API_KEY",keysAt:"https://cloud.cerebras.ai",keyLooks:"csk-…",suggestModels:[{id:"qwen-3.8-27b",label:"Qwen 3.8 27B",tier:"small",context:64e3},{id:"gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:65536}]},togetherai:{label:"Together",apiKeyName:"TOGETHER_AI_API_KEY",keysAt:"https://api.together.ai/settings/api-keys",suggestModels:[{id:"Qwen/Qwen3.5-9B",label:"Qwen 3.5 9B",tier:"small",context:262144},{id:"zai-org/GLM-5.3-Flash",label:"GLM 5.3 Flash",tier:"small",context:1048575},{id:"openai/gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:131072},{id:"deepseek-ai/DeepSeek-V4.1-Flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1e6},{id:"zai-org/GLM-5.3",label:"GLM 5.3",tier:"large",context:1048575},{id:"moonshotai/Kimi-K3",label:"Kimi K3",tier:"large",context:1048576}]},fireworks:{label:"Fireworks",apiKeyName:"FIREWORKS_API_KEY",keysAt:"https://app.fireworks.ai/account/api-keys",keyLooks:"fw_…",suggestModels:[{id:"accounts/fireworks/models/glm-5p3-flash",label:"GLM 5.3 Flash",tier:"small",context:1048576},{id:"accounts/fireworks/models/deepseek-v4p1-flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1048576},{id:"accounts/fireworks/models/minimax-m3",label:"MiniMax M3",tier:"mid",context:512e3},{id:"accounts/fireworks/models/glm-5p3",label:"GLM 5.3",tier:"large",context:1048576},{id:"accounts/fireworks/models/kimi-k3",label:"Kimi K3",tier:"large",context:1048576}]},deepinfra:{label:"DeepInfra",apiKeyName:"DEEPINFRA_API_KEY",keysAt:"https://deepinfra.com/dash/api_keys",suggestModels:[{id:"deepseek-ai/DeepSeek-V4-Flash-0731",label:"DeepSeek V4 Flash",tier:"small",context:1048576},{id:"deepseek-ai/DeepSeek-V4.1-Flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1048576},{id:"zai-org/GLM-5.2",label:"GLM 5.2",tier:"mid",context:1048576},{id:"zai-org/GLM-5.3",label:"GLM 5.3",tier:"large",context:1048576},{id:"moonshotai/Kimi-K3",label:"Kimi K3",tier:"large",context:1048576}]},cohere:{label:"Cohere",apiKeyName:"COHERE_API_KEY",keysAt:"https://dashboard.cohere.com/api-keys",suggestModels:[{id:"command-r7b-12-2024",label:"Command R7B",tier:"small",context:128e3},{id:"command-a-03-2025",label:"Command A",tier:"mid",context:256e3},{id:"command-a-plus-05-2026",label:"Command A+",tier:"large",context:128e3}]}},u=Object.keys(p).map(e=>({id:e,...p[e]}));e.s(["CATALOG_TEXT",0,"language","CATALOG_TOOL_USE",0,"tool-use","EFFORTS",0,r,"MEDIA_MODEL_PROVIDERS",0,c,"MEDIA_MODEL_PROVIDER_LIST",0,g,"TEXT_MODEL_PROVIDERS",0,p,"TEXT_MODEL_PROVIDER_LIST",0,u,"VENDOR_PROVIDERS",0,{anthropic:"anthropic",openai:"openai",google:"google",spacexai:"xai",mistral:"mistral",deepseek:"deepseek",cohere:"cohere",openrouter:"openrouter"},"canMakeKind",0,(e,t)=>(c[e]?.models[t]?.length??0)>0,"compactAtFor",0,e=>e&&e>0?Math.round(e*i.BOT_RUN.compactHeadroom):i.BOT_RUN.compactAt,"contextWindowOf",0,function(e,t,i=[]){if(n(e))return i.find(e=>e.id===t)?.contextWindow??null;let a=p[e].suggestModels;return a.find(e=>e.id===t)?.context??null},"defaultModelOf",0,e=>{let t;return t=e.defaultTier??"mid",(e.suggestModels.find(e=>e.tier===t)??e.suggestModels[0])?.id},"effortSchema",0,s,"effortsOf",0,function(e,t,i=[]){if(n(e))return i.find(e=>e.id===t)?.efforts??null;let a=p[e].suggestModels;return a.find(e=>e.id===t)?.efforts??null},"isCatalogProvider",0,n,"parseMediaModel",0,function(e){let[t,...i]=(e??"").trim().split("/"),a=m.safeParse({provider:t,model:i.join("/")});return a.success?a.data:null},"parseTextModel",0,function(e){let[t,...i]=(e??"").trim().split("/"),a=l.safeParse({provider:t,model:i.join("/")});return a.success?a.data:null},"planMediaOf",0,function(e,t){if(!t||t.plan?.toLowerCase()==="free")return null;let[i]=c.chatgpt.models[e];return i?{provider:"chatgpt",model:i.id}:null},"textModelProviderSchema",0,a,"textModelRefSchema",0,l])},850063,e=>{"use strict";var t=e.i(640911);e.s(["createEventStream",0,function(e,i={}){let a=new TextEncoder,l=i.heartbeatMs??2e4,r=0;return{respond:(s,o)=>{let n=()=>{};return new Response(new ReadableStream({async start(d){let m=!1,c=new Map,g=[],p=e=>{if(!m)try{d.enqueue(a.encode(e))}catch{n()}},u=e=>p(`data: ${JSON.stringify(e)}
1
+ module.exports=[418520,e=>e.a(async(t,i)=>{try{var a=await e.y("@libsql/client-6da938047d5fc1cd");e.n(a),i()}catch(e){i(e)}},!0),666680,(e,t,i)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,t,i)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,i)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,i)=>{t.exports=e.x("node:process",()=>require("node:process"))},509656,(e,t,i)=>{t.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,t,i)=>{t.exports=e.x("node:util",()=>require("node:util"))},380690,e=>{"use strict";let t,i,a,l,r,s;var o,n=e.i(687388),d=e.i(850063);let m={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},c=globalThis,g=c.__appEvents??=(t=new Set,{emit(e){for(let i of[...t])try{i(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),p=c.__presence??=(o=n.BROWSER_GONE_MS,i=!1,a=null,l=new Set,r=new Set,s=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return i},track(e){if(e>0){a&&clearTimeout(a),a=null,i||(i=!0,s(r));return}!a&&i&&(a=setTimeout(()=>{a=null,i=!1,s(l)},o))},onGone:e=>(l.add(e),()=>l.delete(e)),onBack:e=>(r.add(e),()=>r.delete(e))}),u=c.__appEventStream??=(0,d.createEventStream)(g,{coalesce:{ms:n.SIGNAL_PACE_MS,keyOf:e=>e.type in m?e.type:null},onWatchers:p.track});e.s(["appEventStream",0,u,"appEvents",0,g,"presence",0,p],380690)},687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),i=process.env.THURSDAY_HOME?.trim()||process.cwd(),a=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,l=`${i}/local.db`,r=`file:${l}`,s=`${i}/.env`,o=".ai-workspace",n={workspace:o,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${o}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},d="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,a,"ARTIFACT_SKILL",0,d,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"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_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,i,"DB_FILE_NAME",0,r,"DB_PATH",0,l,"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,"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,n,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:d,"picture-book":d,"interactive-page":d},"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}])},264079,e=>{"use strict";var t=e.i(907855),i=e.i(687388);let a=t.enum(["openai","chatgpt","anthropic","google","xai","vercel-ai-gateway","openrouter","mistral","deepseek","groq","cerebras","togetherai","fireworks","deepinfra","cohere"]),l=t.object({provider:a,model:t.string().trim().min(1,"Model name is required").max(80)}),r=["none","minimal","low","medium","high","xhigh"],s=t.enum(r),o=["vercel-ai-gateway","openrouter"],n=e=>o.includes(e),d=t.enum(["openai","chatgpt","google","xai","vercel-ai-gateway"]),m=t.object({provider:d,model:t.string().trim().min(1,"Model name is required").max(120)}),c={openai:{label:"OpenAI",apiKeyName:"OPENAI_API_KEY",models:{image:[{id:"gpt-image-1-mini",label:"GPT Image 1 mini",tier:"small"},{id:"gpt-image-2.5-flare",label:"GPT Image 2.5 Flare",tier:"mid"},{id:"gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[],speech:[{id:"tts-1",label:"TTS 1",tier:"small"},{id:"gpt-4o-mini-tts",label:"4o mini TTS",tier:"mid"},{id:"tts-1-hd",label:"TTS 1 HD",tier:"large"}],transcription:[{id:"gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"gpt-transcribe",label:"GPT Transcribe",tier:"mid"}]}},chatgpt:{label:"GPT Subscription",apiKeyName:"CHATGPT_SIGN_IN",models:{image:[{id:"gpt-image-2",label:"GPT Image 2",tier:"mid"}],video:[],speech:[],transcription:[]}},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",models:{image:[{id:"gemini-3.1-flash-lite-image",label:"3.1 Flash Lite Image",tier:"small"},{id:"gemini-3.1-flash-image",label:"3.1 Flash Image",tier:"mid"},{id:"gemini-3-pro-image",label:"3 Pro Image",tier:"large"}],video:[{id:"veo-3.1-lite-generate-preview",label:"Veo 3.1 Lite",tier:"small"},{id:"veo-3.1-fast-generate-preview",label:"Veo 3.1 Fast",tier:"mid"},{id:"veo-3.1-generate-preview",label:"Veo 3.1",tier:"large"}],speech:[{id:"gemini-2.5-flash-preview-tts",label:"2.5 Flash TTS",tier:"small"},{id:"gemini-3.1-flash-tts-preview",label:"3.1 Flash TTS",tier:"mid"},{id:"gemini-2.5-pro-preview-tts",label:"2.5 Pro TTS",tier:"large"}],transcription:[{id:"gemini-3.5-transcribe",label:"3.5 Transcribe",tier:"mid"}]}},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",models:{image:[{id:"grok-imagine-image",label:"Grok Imagine",tier:"small"},{id:"grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"mid"}],video:[{id:"grok-imagine-video",label:"Grok Imagine Video",tier:"small"},{id:"grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"}],speech:[{id:"grok-tts",label:"Grok TTS",tier:"mid"}],transcription:[{id:"grok-stt",label:"Grok STT",tier:"mid"}]}},"vercel-ai-gateway":{label:"Vercel AI Gateway",apiKeyName:"AI_GATEWAY_API_KEY",models:{image:[{id:"bytedance/seedream-5.0-lite",label:"Seedream 5.0 Lite",tier:"small"},{id:"bfl/flux-2-klein-9b",label:"FLUX 2 Klein 9B",tier:"small"},{id:"spacexai/grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"small"},{id:"bfl/flux-2-pro",label:"FLUX 2 Pro",tier:"mid"},{id:"bytedance/seedream-5.0-pro",label:"Seedream 5.0 Pro",tier:"mid"},{id:"recraft/recraft-v4.1",label:"Recraft V4.1",tier:"mid"},{id:"openai/gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[{id:"bytedance/seedance-2.0-mini",label:"Seedance 2.0 Mini",tier:"small"},{id:"google/veo-3.1-lite-generate-001",label:"Veo 3.1 Lite",tier:"small"},{id:"alibaba/wan-v2.6-t2v",label:"Wan 2.6",tier:"small"},{id:"google/veo-3.1-fast-generate-001",label:"Veo 3.1 Fast",tier:"mid"},{id:"bytedance/seedance-2.5",label:"Seedance 2.5",tier:"mid"},{id:"spacexai/grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"},{id:"klingai/kling-v3.0-t2v",label:"Kling 3.0",tier:"large"},{id:"google/veo-3.1-generate-001",label:"Veo 3.1",tier:"large"}],speech:[{id:"fish-audio/s1",label:"Fish Audio S1",tier:"small"},{id:"openai/tts-1",label:"OpenAI TTS 1",tier:"small"},{id:"spacexai/grok-tts",label:"Grok TTS",tier:"mid"},{id:"fish-audio/s2.1-pro",label:"Fish Audio S2.1 Pro",tier:"mid"},{id:"openai/tts-1-hd",label:"OpenAI TTS 1 HD",tier:"large"}],transcription:[{id:"spacexai/grok-stt",label:"Grok STT",tier:"small"},{id:"fish-audio/transcribe-1",label:"Fish Transcribe 1",tier:"small"},{id:"openai/gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"openai/gpt-4o-transcribe",label:"4o Transcribe",tier:"mid"},{id:"google/gemini-3.5-transcribe",label:"Gemini 3.5 Transcribe",tier:"mid"}]}}},g=Object.keys(c).map(e=>({id:e,...c[e]})),p={openai:{label:"OpenAI",apiKeyName:"OPENAI_API_KEY",keysAt:"https://platform.openai.com/api-keys",keyLooks:"sk-…",defaultTier:"small",suggestModels:[{id:"gpt-6-luna",label:"6 Luna",tier:"small",context:105e4,efforts:["none","low","medium","high","xhigh"]},{id:"gpt-6.1-sol",label:"6.1 Sol",tier:"mid",context:105e4,efforts:["low","medium","high","xhigh"]},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:105e4,efforts:["low","medium","high","xhigh"]}]},chatgpt:{label:"GPT Subscription",apiKeyName:"CHATGPT_SIGN_IN",signIn:!0,suggestModels:[{id:"gpt-6-luna",label:"6 Luna",tier:"small",context:272e3,efforts:["none","low","medium","high","xhigh"]},{id:"gpt-6.1-sol",label:"6.1 Sol",tier:"mid",context:272e3,efforts:["low","medium","high","xhigh"]},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:272e3,efforts:["low","medium","high","xhigh"]}]},anthropic:{label:"Claude",apiKeyName:"ANTHROPIC_API_KEY",keysAt:"https://platform.claude.com/settings/keys",keyLooks:"sk-ant-…",suggestModels:[{id:"claude-haiku-4-5",label:"Haiku 4.5",tier:"small",efforts:["none","minimal","low","medium","high","xhigh"]},{id:"claude-sonnet-5-5",label:"Sonnet 5.5",tier:"mid",context:1e6,efforts:["none","low","medium","high","xhigh"]},{id:"claude-opus-5-5",label:"Opus 5.5",tier:"large",context:1e6,efforts:["low","medium","high","xhigh"]},{id:"claude-fable-5-1",label:"Fable 5.1",tier:"large",efforts:["none","low","medium","high","xhigh"]}]},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",keysAt:"https://aistudio.google.com/apikey",keyLooks:"AIza…",suggestModels:[{id:"gemini-3.5-flash-lite",label:"3.5 Flash Lite",tier:"small",context:1e6,efforts:["minimal","low","medium","high"]},{id:"gemini-3.8-flash",label:"3.8 Flash",tier:"mid",context:1e6,efforts:["low","medium","high"]}]},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",keysAt:"https://console.x.ai",keyLooks:"xai-…",suggestModels:[{id:"grok-4.7",label:"Grok 4.7",tier:"large",context:5e5,efforts:["none","low","medium","high","xhigh"]}]},"vercel-ai-gateway":{label:"Vercel AI Gateway",apiKeyName:"AI_GATEWAY_API_KEY",keysAt:"https://vercel.com/docs/ai-gateway/authentication-and-byok/authentication",suggestModels:[{id:"zai/glm-5.3-flash",label:"GLM 5.3 Flash",tier:"small"},{id:"google/gemini-3.8-flash",label:"Gemini 3.8 Flash",tier:"small"},{id:"openai/gpt-6-luna",label:"GPT 6 Luna",tier:"small",context:105e4},{id:"zai/glm-5.3",label:"GLM 5.3",tier:"mid"},{id:"spacexai/grok-4.7",label:"Grok 4.7",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5.5",label:"Claude Sonnet 5.5",tier:"mid"},{id:"openai/gpt-6.1-sol",label:"GPT 6.1 Sol",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid"},{id:"anthropic/claude-opus-5.5",label:"Claude Opus 5.5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]},openrouter:{label:"OpenRouter",apiKeyName:"OPENROUTER_API_KEY",keysAt:"https://openrouter.ai/settings/keys",keyLooks:"sk-or-…",suggestModels:[{id:"z-ai/glm-5.3-flash",label:"GLM 5.3 Flash",tier:"small",context:1310720},{id:"google/gemini-3.8-flash",label:"Gemini 3.8 Flash",tier:"small",context:1048576},{id:"openai/gpt-6-luna",label:"GPT 6 Luna",tier:"small",context:105e4},{id:"z-ai/glm-5.3",label:"GLM 5.3",tier:"mid",context:1310720},{id:"x-ai/grok-4.7",label:"Grok 4.7",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5.5",label:"Claude Sonnet 5.5",tier:"mid",context:1e6},{id:"openai/gpt-6.1-sol",label:"GPT 6.1 Sol",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid",context:1048576},{id:"anthropic/claude-opus-5.5",label:"Claude Opus 5.5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]},mistral:{label:"Mistral",apiKeyName:"MISTRAL_API_KEY",keysAt:"https://console.mistral.ai/api-keys",suggestModels:[{id:"ministral-8b-latest",label:"Ministral 8B",tier:"small",efforts:[]},{id:"mistral-small-latest",label:"Small",tier:"mid",efforts:["none","high"]},{id:"mistral-medium-latest",label:"Medium",tier:"large",efforts:["none","high"]},{id:"mistral-large-latest",label:"Large",tier:"large",efforts:[]}]},deepseek:{label:"DeepSeek",apiKeyName:"DEEPSEEK_API_KEY",keysAt:"https://platform.deepseek.com/api_keys",keyLooks:"sk-…",suggestModels:[{id:"deepseek-flash",label:"V4.1 Flash",tier:"small",context:1e6,efforts:["none","low","high","xhigh"]},{id:"deepseek-v4-pro",label:"V4 Pro",tier:"large",context:1e6,efforts:["none","low","high","xhigh"]}]},groq:{label:"Groq",apiKeyName:"GROQ_API_KEY",keysAt:"https://console.groq.com/keys",keyLooks:"gsk_…",suggestModels:[{id:"openai/gpt-oss-20b",label:"GPT OSS 20B",tier:"small",context:131072,efforts:["low","medium","high"]},{id:"openai/gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:131072,efforts:["low","medium","high"]},{id:"llama-3.3-70b-versatile",label:"Llama 3.3 70B",tier:"mid",context:131072,efforts:[]}]},cerebras:{label:"Cerebras",apiKeyName:"CEREBRAS_API_KEY",keysAt:"https://cloud.cerebras.ai",keyLooks:"csk-…",suggestModels:[{id:"qwen-3.8-27b",label:"Qwen 3.8 27B",tier:"small",context:64e3},{id:"gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:65536}]},togetherai:{label:"Together",apiKeyName:"TOGETHER_AI_API_KEY",keysAt:"https://api.together.ai/settings/api-keys",suggestModels:[{id:"Qwen/Qwen3.5-9B",label:"Qwen 3.5 9B",tier:"small",context:262144},{id:"zai-org/GLM-5.3-Flash",label:"GLM 5.3 Flash",tier:"small",context:1048575},{id:"openai/gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:131072},{id:"deepseek-ai/DeepSeek-V4.1-Flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1e6},{id:"zai-org/GLM-5.3",label:"GLM 5.3",tier:"large",context:1048575},{id:"moonshotai/Kimi-K3",label:"Kimi K3",tier:"large",context:1048576}]},fireworks:{label:"Fireworks",apiKeyName:"FIREWORKS_API_KEY",keysAt:"https://app.fireworks.ai/account/api-keys",keyLooks:"fw_…",suggestModels:[{id:"accounts/fireworks/models/glm-5p3-flash",label:"GLM 5.3 Flash",tier:"small",context:1048576},{id:"accounts/fireworks/models/deepseek-v4p1-flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1048576},{id:"accounts/fireworks/models/minimax-m3",label:"MiniMax M3",tier:"mid",context:512e3},{id:"accounts/fireworks/models/glm-5p3",label:"GLM 5.3",tier:"large",context:1048576},{id:"accounts/fireworks/models/kimi-k3",label:"Kimi K3",tier:"large",context:1048576}]},deepinfra:{label:"DeepInfra",apiKeyName:"DEEPINFRA_API_KEY",keysAt:"https://deepinfra.com/dash/api_keys",suggestModels:[{id:"deepseek-ai/DeepSeek-V4-Flash-0731",label:"DeepSeek V4 Flash",tier:"small",context:1048576},{id:"deepseek-ai/DeepSeek-V4.1-Flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1048576},{id:"zai-org/GLM-5.2",label:"GLM 5.2",tier:"mid",context:1048576},{id:"zai-org/GLM-5.3",label:"GLM 5.3",tier:"large",context:1048576},{id:"moonshotai/Kimi-K3",label:"Kimi K3",tier:"large",context:1048576}]},cohere:{label:"Cohere",apiKeyName:"COHERE_API_KEY",keysAt:"https://dashboard.cohere.com/api-keys",suggestModels:[{id:"command-r7b-12-2024",label:"Command R7B",tier:"small",context:128e3},{id:"command-a-03-2025",label:"Command A",tier:"mid",context:256e3},{id:"command-a-plus-05-2026",label:"Command A+",tier:"large",context:128e3}]}},u=Object.keys(p).map(e=>({id:e,...p[e]}));e.s(["CATALOG_TEXT",0,"language","CATALOG_TOOL_USE",0,"tool-use","EFFORTS",0,r,"MEDIA_MODEL_PROVIDERS",0,c,"MEDIA_MODEL_PROVIDER_LIST",0,g,"TEXT_MODEL_PROVIDERS",0,p,"TEXT_MODEL_PROVIDER_LIST",0,u,"VENDOR_PROVIDERS",0,{anthropic:"anthropic",openai:"openai",google:"google",spacexai:"xai",mistral:"mistral",deepseek:"deepseek",cohere:"cohere",openrouter:"openrouter"},"canMakeKind",0,(e,t)=>(c[e]?.models[t]?.length??0)>0,"compactAtFor",0,e=>e&&e>0?Math.round(e*i.BOT_RUN.compactHeadroom):i.BOT_RUN.compactAt,"contextWindowOf",0,function(e,t,i=[]){if(n(e))return i.find(e=>e.id===t)?.contextWindow??null;let a=p[e].suggestModels;return a.find(e=>e.id===t)?.context??null},"defaultModelOf",0,e=>{let t;return t=e.defaultTier??"mid",(e.suggestModels.find(e=>e.tier===t)??e.suggestModels[0])?.id},"effortSchema",0,s,"effortsOf",0,function(e,t,i=[]){if(n(e))return i.find(e=>e.id===t)?.efforts??null;let a=p[e].suggestModels;return a.find(e=>e.id===t)?.efforts??null},"isCatalogProvider",0,n,"parseMediaModel",0,function(e){let[t,...i]=(e??"").trim().split("/"),a=m.safeParse({provider:t,model:i.join("/")});return a.success?a.data:null},"parseTextModel",0,function(e){let[t,...i]=(e??"").trim().split("/"),a=l.safeParse({provider:t,model:i.join("/")});return a.success?a.data:null},"planMediaOf",0,function(e,t){if(!t||t.plan?.toLowerCase()==="free")return null;let[i]=c.chatgpt.models[e];return i?{provider:"chatgpt",model:i.id}:null},"textModelProviderSchema",0,a,"textModelRefSchema",0,l])},850063,e=>{"use strict";var t=e.i(640911);e.s(["createEventStream",0,function(e,i={}){let a=new TextEncoder,l=i.heartbeatMs??2e4,r=0;return{respond:(s,o)=>{let n=()=>{};return new Response(new ReadableStream({async start(d){let m=!1,c=new Map,g=[],p=e=>{if(!m)try{d.enqueue(a.encode(e))}catch{n()}},u=e=>p(`data: ${JSON.stringify(e)}
2
2
 
3
3
  `),h=e=>{let t={last:null},a=setTimeout(()=>{c.delete(e),!m&&t.last&&(u(t.last),h(e))},i.coalesce?.ms);c.set(e,{timer:a,wait:t})},b=e=>{if(m)return;let t=i.coalesce?.keyOf(e)??null;if(null===t)return u(e);let a=c.get(t);if(a){a.wait.last=e;return}u(e),h(t)},f=e.subscribe(e=>g?g.push(e):b(e)),_=setInterval(()=>p(": ping\n\n"),l);r+=1,i.onWatchers?.(r),n=()=>{if(!m){for(let e of(m=!0,r-=1,i.onWatchers?.(r),f(),clearInterval(_),c.values()))clearTimeout(e.timer);try{d.close()}catch{}}},s.addEventListener("abort",n);try{for(let e of await o?.()??[])u(e)}catch(e){t.logger.error("event stream opening failed",e),n();return}let E=g;for(let e of(g=null,E))b(e)},cancel(){n()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return r}}}])},41444,e=>{"use strict";function t(e,t){let i=e.replace(/\s+/g," ").trim();return i.length>t?`${i.slice(0,t-1).trimEnd()}…`:i}let i=["\\*","_"].flatMap(e=>{let t="_"===e?"\\w_":e;return[3,2,1].map(i=>{let a=e.repeat(i);return RegExp(`(?<![${t}])${a}(?![\\s${e}])(.+?)(?<![\\s${e}])${a}(?![${t}])`,"g")})}),a=e=>i.reduce((e,t)=>e.replace(t,"$1"),e),l=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,l,"PromiseChain",0,()=>{let e=Promise.resolve();return t=>{let i=e.then(()=>t());return e=i.catch(()=>{}),i}},"captionText",0,function(e){let t=[],i=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(l,(e,i,l)=>(t.push(`[${a(i.replace(/`/g,""))}](${l})`),`\uE000${t.length-1}\uE000`)),r=[];for(let e of i.split("\n")){let t=e.trim();t&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(t)||(/\|.*\|/.test(t)&&(t=t.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),t=a(t.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1")).replace(/\s+/g," "),r.push(t)))}return r.join("\n").replace(/\uE000(\d+)\uE000/g,(e,i)=>t[Number(i)]??"")},"clip",0,t,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:i,error:a}=e;if("string"==typeof i&&i)return i;if("string"==typeof a&&a)return a;let l=a?.message;if("string"==typeof l&&l)return l;try{return t(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"formatBytes",0,function(e){if(e<1024)return`${e} B`;let t=["KB","MB","GB","TB"],i=e/1024,a=0;for(;i>=1024&&a<t.length-1;)i/=1024,a+=1;return`${i.toFixed(+(i<10))} ${t[a]}`},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/[^\n]+/g,a).replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])}];
4
4
 
@@ -1,5 +1,5 @@
1
- module.exports=[418520,e=>e.a(async(r,t)=>{try{var s=await e.y("@libsql/client-6da938047d5fc1cd");e.n(s),t()}catch(e){t(e)}},!0),874533,(e,r,t)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},666680,(e,r,t)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,r,t)=>{r.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,r,t)=>{r.exports=e.x("node:os",()=>require("node:os"))},750227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},59639,(e,r,t)=>{r.exports=e.x("node:process",()=>require("node:process"))},509656,(e,r,t)=>{r.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,r,t)=>{r.exports=e.x("node:util",()=>require("node:util"))},232347,e=>{"use strict";let r,t,s,a,l,o;var n,i=e.i(333925),c=e.i(938281);let u={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},d=globalThis,p=d.__appEvents??=(r=new Set,{emit(e){for(let t of[...r])try{t(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(r.add(e),()=>{r.delete(e)})}),m=d.__presence??=(n=i.BROWSER_GONE_MS,t=!1,s=null,a=new Set,l=new Set,o=e=>{for(let r of[...e])try{r()}catch(e){console.error("presence listener failed",e)}},{get watching(){return t},track(e){if(e>0){s&&clearTimeout(s),s=null,t||(t=!0,o(l));return}!s&&t&&(s=setTimeout(()=>{s=null,t=!1,o(a)},n))},onGone:e=>(a.add(e),()=>a.delete(e)),onBack:e=>(l.add(e),()=>l.delete(e))});d.__appEventStream??=function(e,r={}){let t=new TextEncoder,s=r.heartbeatMs??2e4,a=0;return{respond:(l,o)=>{let n=()=>{};return new Response(new ReadableStream({async start(i){let u=!1,d=new Map,p=[],m=e=>{if(!u)try{i.enqueue(t.encode(e))}catch{n()}},E=e=>m(`data: ${JSON.stringify(e)}
1
+ module.exports=[418520,e=>e.a(async(r,t)=>{try{var s=await e.y("@libsql/client-6da938047d5fc1cd");e.n(s),t()}catch(e){t(e)}},!0),874533,(e,r,t)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},666680,(e,r,t)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,r,t)=>{r.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,r,t)=>{r.exports=e.x("node:os",()=>require("node:os"))},750227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},59639,(e,r,t)=>{r.exports=e.x("node:process",()=>require("node:process"))},509656,(e,r,t)=>{r.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,r,t)=>{r.exports=e.x("node:util",()=>require("node:util"))},232347,e=>{"use strict";let r,t,s,a,l,o;var n,i=e.i(333925),c=e.i(938281);let u={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},d=globalThis,p=d.__appEvents??=(r=new Set,{emit(e){for(let t of[...r])try{t(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(r.add(e),()=>{r.delete(e)})}),E=d.__presence??=(n=i.BROWSER_GONE_MS,t=!1,s=null,a=new Set,l=new Set,o=e=>{for(let r of[...e])try{r()}catch(e){console.error("presence listener failed",e)}},{get watching(){return t},track(e){if(e>0){s&&clearTimeout(s),s=null,t||(t=!0,o(l));return}!s&&t&&(s=setTimeout(()=>{s=null,t=!1,o(a)},n))},onGone:e=>(a.add(e),()=>a.delete(e)),onBack:e=>(l.add(e),()=>l.delete(e))});d.__appEventStream??=function(e,r={}){let t=new TextEncoder,s=r.heartbeatMs??2e4,a=0;return{respond:(l,o)=>{let n=()=>{};return new Response(new ReadableStream({async start(i){let u=!1,d=new Map,p=[],E=e=>{if(!u)try{i.enqueue(t.encode(e))}catch{n()}},m=e=>E(`data: ${JSON.stringify(e)}
2
2
 
3
- `),_=e=>{let t={last:null},s=setTimeout(()=>{d.delete(e),!u&&t.last&&(E(t.last),_(e))},r.coalesce?.ms);d.set(e,{timer:s,wait:t})},M=e=>{if(u)return;let t=r.coalesce?.keyOf(e)??null;if(null===t)return E(e);let s=d.get(t);if(s){s.wait.last=e;return}E(e),_(t)},f=e.subscribe(e=>p?p.push(e):M(e)),S=setInterval(()=>m(": ping\n\n"),s);a+=1,r.onWatchers?.(a),n=()=>{if(!u){for(let e of(u=!0,a-=1,r.onWatchers?.(a),f(),clearInterval(S),d.values()))clearTimeout(e.timer);try{i.close()}catch{}}},l.addEventListener("abort",n);try{for(let e of await o?.()??[])E(e)}catch(e){c.logger.error("event stream opening failed",e),n();return}let T=p;for(let e of(p=null,T))M(e)},cancel(){n()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return a}}}(p,{coalesce:{ms:i.SIGNAL_PACE_MS,keyOf:e=>e.type in u?e.type:null},onWatchers:m.track}),e.s(["appEvents",0,p,"presence",0,m],232347)},333925,e=>{"use strict";let r=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),s=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${t}/local.db`,l=`file:${a}`,o=`${t}/.env`,n=".ai-workspace",i={workspace:n,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${n}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},c="artifact";e.s(["APP_DIR",0,r,"APP_NAME",0,"Thursday","APP_URL",0,s,"ARTIFACT_SKILL",0,c,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants: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_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CATALOG_MS",0,6e5,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,l,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,o,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"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_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,i,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:c,"picture-book":c,"interactive-page":c},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},746565,e=>{"use strict";let r="currentColor",t=[{id:"system",label:"System",value:r},{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"}],s=Object.fromEntries(t.map(e=>[e.id,e.value])),a=t.filter(e=>e.value!==r).map(e=>e.value),l=[s.amber,s.red],o={[s.cyan]:"#009dbb",[s.teal]:"#00a190",[s.green]:"#00a640",[s.lime]:"#5ca100",[s.amber]:"#d07b00",[s.orange]:"#ec6700",[s.sky]:"#0098dc",[s.emerald]:"#00a46d",[s.yellow]:"#bb8600"},n={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"]}},i=Object.keys(n);e.s(["MARK_INK",0,s,"MARK_PAINTS",0,n,"MARK_PAINT_IDS",0,i,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,r,"markInk",0,(e,r)=>r?e:o[e]??e,"randomMarkFill",0,function(){let e=[...a.filter(e=>!l.includes(e)).map(e=>({color:e})),...i.map(e=>({paint:e}))];return e[Math.floor(Math.random()*e.length)]}])},64774,e=>{"use strict";function r(e,r){let t=e.replace(/\s+/g," ").trim();return t.length>r?`${t.slice(0,r-1).trimEnd()}…`:t}let t=["\\*","_"].flatMap(e=>{let r="_"===e?"\\w_":e;return[3,2,1].map(t=>{let s=e.repeat(t);return RegExp(`(?<![${r}])${s}(?![\\s${e}])(.+?)(?<![\\s${e}])${s}(?![${r}])`,"g")})}),s=e=>t.reduce((e,r)=>e.replace(r,"$1"),e),a=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,a,"PromiseChain",0,()=>{let e=Promise.resolve();return r=>{let t=e.then(()=>r());return e=t.catch(()=>{}),t}},"captionText",0,function(e){let r=[],t=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(a,(e,t,a)=>(r.push(`[${s(t.replace(/`/g,""))}](${a})`),`\uE000${r.length-1}\uE000`)),l=[];for(let e of t.split("\n")){let r=e.trim();r&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(r)||(/\|.*\|/.test(r)&&(r=r.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),r=s(r.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1")).replace(/\s+/g," "),l.push(r)))}return l.join("\n").replace(/\uE000(\d+)\uE000/g,(e,t)=>r[Number(t)]??"")},"clip",0,r,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:t,error:s}=e;if("string"==typeof t&&t)return t;if("string"==typeof s&&s)return s;let a=s?.message;if("string"==typeof a&&a)return a;try{return r(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"formatBytes",0,function(e){if(e<1024)return`${e} B`;let r=["KB","MB","GB","TB"],t=e/1024,s=0;for(;t>=1024&&s<r.length-1;)t/=1024,s+=1;return`${t.toFixed(+(t<10))} ${r[s]}`},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/[^\n]+/g,s).replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])}];
3
+ `),_=e=>{let t={last:null},s=setTimeout(()=>{d.delete(e),!u&&t.last&&(m(t.last),_(e))},r.coalesce?.ms);d.set(e,{timer:s,wait:t})},M=e=>{if(u)return;let t=r.coalesce?.keyOf(e)??null;if(null===t)return m(e);let s=d.get(t);if(s){s.wait.last=e;return}m(e),_(t)},f=e.subscribe(e=>p?p.push(e):M(e)),S=setInterval(()=>E(": ping\n\n"),s);a+=1,r.onWatchers?.(a),n=()=>{if(!u){for(let e of(u=!0,a-=1,r.onWatchers?.(a),f(),clearInterval(S),d.values()))clearTimeout(e.timer);try{i.close()}catch{}}},l.addEventListener("abort",n);try{for(let e of await o?.()??[])m(e)}catch(e){c.logger.error("event stream opening failed",e),n();return}let T=p;for(let e of(p=null,T))M(e)},cancel(){n()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return a}}}(p,{coalesce:{ms:i.SIGNAL_PACE_MS,keyOf:e=>e.type in u?e.type:null},onWatchers:E.track}),e.s(["appEvents",0,p,"presence",0,E],232347)},333925,e=>{"use strict";let r=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),s=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${t}/local.db`,l=`file:${a}`,o=`${t}/.env`,n=".ai-workspace",i={workspace:n,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${n}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},c="artifact";e.s(["APP_DIR",0,r,"APP_NAME",0,"Thursday","APP_URL",0,s,"ARTIFACT_SKILL",0,c,"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_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CATALOG_MS",0,6e5,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,l,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,o,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"INBOX_UNREAD",0,20,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,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_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,i,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:c,"picture-book":c,"interactive-page":c},"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","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},746565,e=>{"use strict";let r="currentColor",t=[{id:"system",label:"System",value:r},{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"}],s=Object.fromEntries(t.map(e=>[e.id,e.value])),a=t.filter(e=>e.value!==r).map(e=>e.value),l=[s.amber,s.red],o={[s.cyan]:"#009dbb",[s.teal]:"#00a190",[s.green]:"#00a640",[s.lime]:"#5ca100",[s.amber]:"#d07b00",[s.orange]:"#ec6700",[s.sky]:"#0098dc",[s.emerald]:"#00a46d",[s.yellow]:"#bb8600"},n={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"]}},i=Object.keys(n);e.s(["MARK_INK",0,s,"MARK_PAINTS",0,n,"MARK_PAINT_IDS",0,i,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,r,"markInk",0,(e,r)=>r?e:o[e]??e,"randomMarkFill",0,function(){let e=[...a.filter(e=>!l.includes(e)).map(e=>({color:e})),...i.map(e=>({paint:e}))];return e[Math.floor(Math.random()*e.length)]}])},64774,e=>{"use strict";function r(e,r){let t=e.replace(/\s+/g," ").trim();return t.length>r?`${t.slice(0,r-1).trimEnd()}…`:t}let t=["\\*","_"].flatMap(e=>{let r="_"===e?"\\w_":e;return[3,2,1].map(t=>{let s=e.repeat(t);return RegExp(`(?<![${r}])${s}(?![\\s${e}])(.+?)(?<![\\s${e}])${s}(?![${r}])`,"g")})}),s=e=>t.reduce((e,r)=>e.replace(r,"$1"),e),a=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,a,"PromiseChain",0,()=>{let e=Promise.resolve();return r=>{let t=e.then(()=>r());return e=t.catch(()=>{}),t}},"captionText",0,function(e){let r=[],t=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(a,(e,t,a)=>(r.push(`[${s(t.replace(/`/g,""))}](${a})`),`\uE000${r.length-1}\uE000`)),l=[];for(let e of t.split("\n")){let r=e.trim();r&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(r)||(/\|.*\|/.test(r)&&(r=r.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),r=s(r.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1")).replace(/\s+/g," "),l.push(r)))}return l.join("\n").replace(/\uE000(\d+)\uE000/g,(e,t)=>r[Number(t)]??"")},"clip",0,r,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:t,error:s}=e;if("string"==typeof t&&t)return t;if("string"==typeof s&&s)return s;let a=s?.message;if("string"==typeof a&&a)return a;try{return r(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"formatBytes",0,function(e){if(e<1024)return`${e} B`;let r=["KB","MB","GB","TB"],t=e/1024,s=0;for(;t>=1024&&s<r.length-1;)t/=1024,s+=1;return`${t.toFixed(+(t<10))} ${r[s]}`},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/[^\n]+/g,s).replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])}];
4
4
 
5
5
  //# sourceMappingURL=%5Broot-of-the-server%5D__17yv6lg._.js.map
@@ -1,5 +1,5 @@
1
- module.exports=[750227,(e,s,t)=>{s.exports=e.x("node:path",()=>require("node:path"))},59639,(e,s,t)=>{s.exports=e.x("node:process",()=>require("node:process"))},509656,(e,s,t)=>{s.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,s,t)=>{s.exports=e.x("node:util",()=>require("node:util"))},232347,e=>{"use strict";let s,t,r,a,o,n;var i,l=e.i(333925),c=e.i(938281);let _={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},u=globalThis,E=u.__appEvents??=(s=new Set,{emit(e){for(let t of[...s])try{t(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(s.add(e),()=>{s.delete(e)})}),p=u.__presence??=(i=l.BROWSER_GONE_MS,t=!1,r=null,a=new Set,o=new Set,n=e=>{for(let s of[...e])try{s()}catch(e){console.error("presence listener failed",e)}},{get watching(){return t},track(e){if(e>0){r&&clearTimeout(r),r=null,t||(t=!0,n(o));return}!r&&t&&(r=setTimeout(()=>{r=null,t=!1,n(a)},i))},onGone:e=>(a.add(e),()=>a.delete(e)),onBack:e=>(o.add(e),()=>o.delete(e))});u.__appEventStream??=function(e,s={}){let t=new TextEncoder,r=s.heartbeatMs??2e4,a=0;return{respond:(o,n)=>{let i=()=>{};return new Response(new ReadableStream({async start(l){let _=!1,u=new Map,E=[],p=e=>{if(!_)try{l.enqueue(t.encode(e))}catch{i()}},M=e=>p(`data: ${JSON.stringify(e)}
1
+ module.exports=[750227,(e,s,t)=>{s.exports=e.x("node:path",()=>require("node:path"))},59639,(e,s,t)=>{s.exports=e.x("node:process",()=>require("node:process"))},509656,(e,s,t)=>{s.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,s,t)=>{s.exports=e.x("node:util",()=>require("node:util"))},232347,e=>{"use strict";let s,t,r,a,o,n;var i,c=e.i(333925),l=e.i(938281);let _={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},E=globalThis,u=E.__appEvents??=(s=new Set,{emit(e){for(let t of[...s])try{t(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(s.add(e),()=>{s.delete(e)})}),M=E.__presence??=(i=c.BROWSER_GONE_MS,t=!1,r=null,a=new Set,o=new Set,n=e=>{for(let s of[...e])try{s()}catch(e){console.error("presence listener failed",e)}},{get watching(){return t},track(e){if(e>0){r&&clearTimeout(r),r=null,t||(t=!0,n(o));return}!r&&t&&(r=setTimeout(()=>{r=null,t=!1,n(a)},i))},onGone:e=>(a.add(e),()=>a.delete(e)),onBack:e=>(o.add(e),()=>o.delete(e))});E.__appEventStream??=function(e,s={}){let t=new TextEncoder,r=s.heartbeatMs??2e4,a=0;return{respond:(o,n)=>{let i=()=>{};return new Response(new ReadableStream({async start(c){let _=!1,E=new Map,u=[],M=e=>{if(!_)try{c.enqueue(t.encode(e))}catch{i()}},p=e=>M(`data: ${JSON.stringify(e)}
2
2
 
3
- `),d=e=>{let t={last:null},r=setTimeout(()=>{u.delete(e),!_&&t.last&&(M(t.last),d(e))},s.coalesce?.ms);u.set(e,{timer:r,wait:t})},T=e=>{if(_)return;let t=s.coalesce?.keyOf(e)??null;if(null===t)return M(e);let r=u.get(t);if(r){r.wait.last=e;return}M(e),d(t)},m=e.subscribe(e=>E?E.push(e):T(e)),S=setInterval(()=>p(": ping\n\n"),r);a+=1,s.onWatchers?.(a),i=()=>{if(!_){for(let e of(_=!0,a-=1,s.onWatchers?.(a),m(),clearInterval(S),u.values()))clearTimeout(e.timer);try{l.close()}catch{}}},o.addEventListener("abort",i);try{for(let e of await n?.()??[])M(e)}catch(e){c.logger.error("event stream opening failed",e),i();return}let L=E;for(let e of(E=null,L))T(e)},cancel(){i()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return a}}}(E,{coalesce:{ms:l.SIGNAL_PACE_MS,keyOf:e=>e.type in _?e.type:null},onWatchers:p.track}),e.s(["appEvents",0,E,"presence",0,p],232347)},333925,e=>{"use strict";let s=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),r=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${t}/local.db`,o=`file:${a}`,n=`${t}/.env`,i=".ai-workspace",l={workspace:i,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${i}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},c="artifact";e.s(["APP_DIR",0,s,"APP_NAME",0,"Thursday","APP_URL",0,r,"ARTIFACT_SKILL",0,c,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants: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_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CATALOG_MS",0,6e5,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,o,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,n,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"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_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,l,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:c,"picture-book":c,"interactive-page":c},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},207580,e=>{e.v(s=>Promise.all(["server/chunks/[externals]__0y3n8y6._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0q8fc1x._.js"].map(s=>e.l(s))).then(()=>s(27996)))}];
3
+ `),d=e=>{let t={last:null},r=setTimeout(()=>{E.delete(e),!_&&t.last&&(p(t.last),d(e))},s.coalesce?.ms);E.set(e,{timer:r,wait:t})},T=e=>{if(_)return;let t=s.coalesce?.keyOf(e)??null;if(null===t)return p(e);let r=E.get(t);if(r){r.wait.last=e;return}p(e),d(t)},m=e.subscribe(e=>u?u.push(e):T(e)),L=setInterval(()=>M(": ping\n\n"),r);a+=1,s.onWatchers?.(a),i=()=>{if(!_){for(let e of(_=!0,a-=1,s.onWatchers?.(a),m(),clearInterval(L),E.values()))clearTimeout(e.timer);try{c.close()}catch{}}},o.addEventListener("abort",i);try{for(let e of await n?.()??[])p(e)}catch(e){l.logger.error("event stream opening failed",e),i();return}let S=u;for(let e of(u=null,S))T(e)},cancel(){i()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return a}}}(u,{coalesce:{ms:c.SIGNAL_PACE_MS,keyOf:e=>e.type in _?e.type:null},onWatchers:M.track}),e.s(["appEvents",0,u,"presence",0,M],232347)},333925,e=>{"use strict";let s=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),r=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${t}/local.db`,o=`file:${a}`,n=`${t}/.env`,i=".ai-workspace",c={workspace:i,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${i}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},l="artifact";e.s(["APP_DIR",0,s,"APP_NAME",0,"Thursday","APP_URL",0,r,"ARTIFACT_SKILL",0,l,"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_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CATALOG_MS",0,6e5,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,o,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,n,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"INBOX_UNREAD",0,20,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,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_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,c,"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,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},"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_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","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},207580,e=>{e.v(s=>Promise.all(["server/chunks/[externals]__0y3n8y6._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0q8fc1x._.js"].map(s=>e.l(s))).then(()=>s(27996)))}];
4
4
 
5
5
  //# sourceMappingURL=%5Broot-of-the-server%5D__1_04mcf._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},120635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},559043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},369827,e=>{"use strict";let t=e=>!!e&&"object"==typeof e&&(!0===e.$ok||!1===e.$ok),r=e=>t(e)&&e.$ok;e.s(["flattenResult",0,e=>{let n=e;for(;r(n)&&t(n.data);)n=n.data;return n},"isResultError",0,e=>t(e)&&!e.$ok,"isResultOk",0,r,"result",0,{ok:e=>({$ok:!0,data:e}),error:e=>({$ok:!1,message:e})}])},91264,e=>{"use strict";var t=e.i(369827),r=e.i(120219);e.s(["serverRoute",0,e=>async(n,o)=>{let u=await (0,r.toResult)(()=>e(n,o));return(0,t.isResultOk)(u)&&u.data instanceof Response?u.data:Response.json(u)}])},120219,e=>{"use strict";var t=e.i(379509),r=e.i(915874),n=e.i(640911),o=e.i(53748),u=e.i(369827);async function a(e){try{return(0,u.flattenResult)(u.result.ok(await e()))}catch(e){if((0,t.unstable_rethrow)(e),(0,o.isPublicError)(e))return u.result.error(e.message);if(e instanceof r.ZodError)return u.result.error(e.issues[0]?.message);if((0,u.isResultError)(e))return e;return n.logger.error(e),u.result.error()}}e.s(["startError",0,function(e,t){return(0,o.isPublicError)(e)?{status:400,message:e.message}:e instanceof r.ZodError?{status:400,message:e.issues[0]?.message??"That request does not fit"}:(n.logger.error(e),{status:500,message:t})},"toResult",0,a],120219)},53748,e=>{"use strict";class t extends Error{message;constructor(e){super(e),this.message=e}}e.s(["isPublicError",0,e=>e instanceof t,"publicError",0,function(e){throw new t(e)}])},462782,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return u}});let n=e.r(712053),o=e.r(319334);function u(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(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)},708595,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return o}});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 o 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)},950723,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return o}});var n,o=((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)},319334,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={REDIRECT_ERROR_CODE:function(){return a},isRedirectError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(950723),a="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,o=t.slice(2,-2).join(";"),s=Number(t.at(-2));return r===a&&("replace"===n||"push"===n)&&"string"==typeof o&&!isNaN(s)&&s in u.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)},515458,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={actionAsyncStorage:function(){return u.actionAsyncStorage},workAsyncStorage:function(){return a.workAsyncStorage},workUnitAsyncStorage:function(){return s.workUnitAsyncStorage}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(120635),a=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)},922349,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return p},getRedirectTypeFromError:function(){return f},getURLFromRedirectError:function(){return c},permanentRedirect:function(){return d},redirect:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(950723),a=e.r(319334),s=e.r(515458);function i(e,t,r=u.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(a.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n.digest=`${a.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function l(e,t){throw i(e,t??=s.actionAsyncStorage?.getStore()?.isAction?"push":"replace",u.RedirectStatusCode.TemporaryRedirect)}function d(e,t="replace"){throw i(e,t,u.RedirectStatusCode.PermanentRedirect)}function c(e){return(0,a.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function f(e){if(!(0,a.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 p(e){if(!(0,a.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)},712053,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return u},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return s},getAccessFallbackErrorTypeByStatus:function(){return d},getAccessFallbackHTTPStatus:function(){return l},isHTTPAccessFallbackError:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},a=new Set(Object.values(u)),s="NEXT_HTTP_ERROR_FALLBACK";function i(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&&a.has(Number(r))}function l(e){return Number(e.digest.split(";")[1])}function d(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)},102507,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return u}});let n=e.r(712053),o=`${n.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function u(){let e=Object.defineProperty(Error(o),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw e.digest=o,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)},647658,(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(712053).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)},235458,(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(712053).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)},109811,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,a.isNextRouterError)(t)||(0,u.isBailoutToCSRError)(t)||(0,i.isDynamicServerError)(t)||(0,s.isDynamicPostpone)(t)||(0,o.isPostpone)(t)||(0,n.isHangingPromiseRejectionError)(t)||(0,s.isPrerenderInterruptedError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(204642),o=e.r(267539),u=e.r(331584),a=e.r(462782),s=e.r(868665),i=e.r(865252);("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)},379509,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return u.ReadonlyURLSearchParams},RedirectType:function(){return f},forbidden:function(){return i.forbidden},notFound:function(){return s.notFound},permanentRedirect:function(){return a.permanentRedirect},redirect:function(){return a.redirect},unauthorized:function(){return l.unauthorized},unstable_isUnrecognizedActionError:function(){return c},unstable_rethrow:function(){return d.unstable_rethrow}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(708595),a=e.r(922349),s=e.r(102507),i=e.r(647658),l=e.r(235458),d=e.r(109811);function c(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let f={push:"push",replace:"replace"};("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)},267539,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isPostpone",{enumerable:!0,get:function(){return o}});let n=Symbol.for("react.postpone");function o(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0b3_rzi._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1hjb8wf._.js.map
@@ -1,5 +1,5 @@
1
- module.exports=[874533,(e,r,t)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},666680,(e,r,t)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,r,t)=>{r.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,r,t)=>{r.exports=e.x("node:os",()=>require("node:os"))},750227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},59639,(e,r,t)=>{r.exports=e.x("node:process",()=>require("node:process"))},509656,(e,r,t)=>{r.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,r,t)=>{r.exports=e.x("node:util",()=>require("node:util"))},232347,e=>{"use strict";let r,t,s,a,l,o;var n,i=e.i(333925),c=e.i(938281);let u={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},p=globalThis,d=p.__appEvents??=(r=new Set,{emit(e){for(let t of[...r])try{t(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(r.add(e),()=>{r.delete(e)})}),m=p.__presence??=(n=i.BROWSER_GONE_MS,t=!1,s=null,a=new Set,l=new Set,o=e=>{for(let r of[...e])try{r()}catch(e){console.error("presence listener failed",e)}},{get watching(){return t},track(e){if(e>0){s&&clearTimeout(s),s=null,t||(t=!0,o(l));return}!s&&t&&(s=setTimeout(()=>{s=null,t=!1,o(a)},n))},onGone:e=>(a.add(e),()=>a.delete(e)),onBack:e=>(l.add(e),()=>l.delete(e))});p.__appEventStream??=function(e,r={}){let t=new TextEncoder,s=r.heartbeatMs??2e4,a=0;return{respond:(l,o)=>{let n=()=>{};return new Response(new ReadableStream({async start(i){let u=!1,p=new Map,d=[],m=e=>{if(!u)try{i.enqueue(t.encode(e))}catch{n()}},E=e=>m(`data: ${JSON.stringify(e)}
1
+ module.exports=[874533,(e,r,t)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},666680,(e,r,t)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,r,t)=>{r.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,r,t)=>{r.exports=e.x("node:os",()=>require("node:os"))},750227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},59639,(e,r,t)=>{r.exports=e.x("node:process",()=>require("node:process"))},509656,(e,r,t)=>{r.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,r,t)=>{r.exports=e.x("node:util",()=>require("node:util"))},232347,e=>{"use strict";let r,t,s,a,l,o;var n,i=e.i(333925),c=e.i(938281);let u={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},p=globalThis,d=p.__appEvents??=(r=new Set,{emit(e){for(let t of[...r])try{t(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(r.add(e),()=>{r.delete(e)})}),E=p.__presence??=(n=i.BROWSER_GONE_MS,t=!1,s=null,a=new Set,l=new Set,o=e=>{for(let r of[...e])try{r()}catch(e){console.error("presence listener failed",e)}},{get watching(){return t},track(e){if(e>0){s&&clearTimeout(s),s=null,t||(t=!0,o(l));return}!s&&t&&(s=setTimeout(()=>{s=null,t=!1,o(a)},n))},onGone:e=>(a.add(e),()=>a.delete(e)),onBack:e=>(l.add(e),()=>l.delete(e))});p.__appEventStream??=function(e,r={}){let t=new TextEncoder,s=r.heartbeatMs??2e4,a=0;return{respond:(l,o)=>{let n=()=>{};return new Response(new ReadableStream({async start(i){let u=!1,p=new Map,d=[],E=e=>{if(!u)try{i.enqueue(t.encode(e))}catch{n()}},m=e=>E(`data: ${JSON.stringify(e)}
2
2
 
3
- `),_=e=>{let t={last:null},s=setTimeout(()=>{p.delete(e),!u&&t.last&&(E(t.last),_(e))},r.coalesce?.ms);p.set(e,{timer:s,wait:t})},M=e=>{if(u)return;let t=r.coalesce?.keyOf(e)??null;if(null===t)return E(e);let s=p.get(t);if(s){s.wait.last=e;return}E(e),_(t)},f=e.subscribe(e=>d?d.push(e):M(e)),S=setInterval(()=>m(": ping\n\n"),s);a+=1,r.onWatchers?.(a),n=()=>{if(!u){for(let e of(u=!0,a-=1,r.onWatchers?.(a),f(),clearInterval(S),p.values()))clearTimeout(e.timer);try{i.close()}catch{}}},l.addEventListener("abort",n);try{for(let e of await o?.()??[])E(e)}catch(e){c.logger.error("event stream opening failed",e),n();return}let T=d;for(let e of(d=null,T))M(e)},cancel(){n()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return a}}}(d,{coalesce:{ms:i.SIGNAL_PACE_MS,keyOf:e=>e.type in u?e.type:null},onWatchers:m.track}),e.s(["appEvents",0,d,"presence",0,m],232347)},333925,e=>{"use strict";let r=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),s=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${t}/local.db`,l=`file:${a}`,o=`${t}/.env`,n=".ai-workspace",i={workspace:n,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${n}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},c="artifact";e.s(["APP_DIR",0,r,"APP_NAME",0,"Thursday","APP_URL",0,s,"ARTIFACT_SKILL",0,c,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants: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_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CATALOG_MS",0,6e5,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,l,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,o,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"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_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,i,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:c,"picture-book":c,"interactive-page":c},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},746565,e=>{"use strict";let r="currentColor",t=[{id:"system",label:"System",value:r},{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"}],s=Object.fromEntries(t.map(e=>[e.id,e.value])),a=t.filter(e=>e.value!==r).map(e=>e.value),l=[s.amber,s.red],o={[s.cyan]:"#009dbb",[s.teal]:"#00a190",[s.green]:"#00a640",[s.lime]:"#5ca100",[s.amber]:"#d07b00",[s.orange]:"#ec6700",[s.sky]:"#0098dc",[s.emerald]:"#00a46d",[s.yellow]:"#bb8600"},n={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"]}},i=Object.keys(n);e.s(["MARK_INK",0,s,"MARK_PAINTS",0,n,"MARK_PAINT_IDS",0,i,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,r,"markInk",0,(e,r)=>r?e:o[e]??e,"randomMarkFill",0,function(){let e=[...a.filter(e=>!l.includes(e)).map(e=>({color:e})),...i.map(e=>({paint:e}))];return e[Math.floor(Math.random()*e.length)]}])},64774,e=>{"use strict";function r(e,r){let t=e.replace(/\s+/g," ").trim();return t.length>r?`${t.slice(0,r-1).trimEnd()}…`:t}let t=["\\*","_"].flatMap(e=>{let r="_"===e?"\\w_":e;return[3,2,1].map(t=>{let s=e.repeat(t);return RegExp(`(?<![${r}])${s}(?![\\s${e}])(.+?)(?<![\\s${e}])${s}(?![${r}])`,"g")})}),s=e=>t.reduce((e,r)=>e.replace(r,"$1"),e),a=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,a,"PromiseChain",0,()=>{let e=Promise.resolve();return r=>{let t=e.then(()=>r());return e=t.catch(()=>{}),t}},"captionText",0,function(e){let r=[],t=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(a,(e,t,a)=>(r.push(`[${s(t.replace(/`/g,""))}](${a})`),`\uE000${r.length-1}\uE000`)),l=[];for(let e of t.split("\n")){let r=e.trim();r&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(r)||(/\|.*\|/.test(r)&&(r=r.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),r=s(r.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1")).replace(/\s+/g," "),l.push(r)))}return l.join("\n").replace(/\uE000(\d+)\uE000/g,(e,t)=>r[Number(t)]??"")},"clip",0,r,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:t,error:s}=e;if("string"==typeof t&&t)return t;if("string"==typeof s&&s)return s;let a=s?.message;if("string"==typeof a&&a)return a;try{return r(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"formatBytes",0,function(e){if(e<1024)return`${e} B`;let r=["KB","MB","GB","TB"],t=e/1024,s=0;for(;t>=1024&&s<r.length-1;)t/=1024,s+=1;return`${t.toFixed(+(t<10))} ${r[s]}`},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/[^\n]+/g,s).replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])}];
3
+ `),_=e=>{let t={last:null},s=setTimeout(()=>{p.delete(e),!u&&t.last&&(m(t.last),_(e))},r.coalesce?.ms);p.set(e,{timer:s,wait:t})},M=e=>{if(u)return;let t=r.coalesce?.keyOf(e)??null;if(null===t)return m(e);let s=p.get(t);if(s){s.wait.last=e;return}m(e),_(t)},f=e.subscribe(e=>d?d.push(e):M(e)),S=setInterval(()=>E(": ping\n\n"),s);a+=1,r.onWatchers?.(a),n=()=>{if(!u){for(let e of(u=!0,a-=1,r.onWatchers?.(a),f(),clearInterval(S),p.values()))clearTimeout(e.timer);try{i.close()}catch{}}},l.addEventListener("abort",n);try{for(let e of await o?.()??[])m(e)}catch(e){c.logger.error("event stream opening failed",e),n();return}let T=d;for(let e of(d=null,T))M(e)},cancel(){n()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return a}}}(d,{coalesce:{ms:i.SIGNAL_PACE_MS,keyOf:e=>e.type in u?e.type:null},onWatchers:E.track}),e.s(["appEvents",0,d,"presence",0,E],232347)},333925,e=>{"use strict";let r=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),s=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${t}/local.db`,l=`file:${a}`,o=`${t}/.env`,n=".ai-workspace",i={workspace:n,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${n}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},c="artifact";e.s(["APP_DIR",0,r,"APP_NAME",0,"Thursday","APP_URL",0,s,"ARTIFACT_SKILL",0,c,"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_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CATALOG_MS",0,6e5,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,l,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,o,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"INBOX_UNREAD",0,20,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,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_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,i,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:c,"picture-book":c,"interactive-page":c},"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","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},746565,e=>{"use strict";let r="currentColor",t=[{id:"system",label:"System",value:r},{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"}],s=Object.fromEntries(t.map(e=>[e.id,e.value])),a=t.filter(e=>e.value!==r).map(e=>e.value),l=[s.amber,s.red],o={[s.cyan]:"#009dbb",[s.teal]:"#00a190",[s.green]:"#00a640",[s.lime]:"#5ca100",[s.amber]:"#d07b00",[s.orange]:"#ec6700",[s.sky]:"#0098dc",[s.emerald]:"#00a46d",[s.yellow]:"#bb8600"},n={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"]}},i=Object.keys(n);e.s(["MARK_INK",0,s,"MARK_PAINTS",0,n,"MARK_PAINT_IDS",0,i,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,r,"markInk",0,(e,r)=>r?e:o[e]??e,"randomMarkFill",0,function(){let e=[...a.filter(e=>!l.includes(e)).map(e=>({color:e})),...i.map(e=>({paint:e}))];return e[Math.floor(Math.random()*e.length)]}])},64774,e=>{"use strict";function r(e,r){let t=e.replace(/\s+/g," ").trim();return t.length>r?`${t.slice(0,r-1).trimEnd()}…`:t}let t=["\\*","_"].flatMap(e=>{let r="_"===e?"\\w_":e;return[3,2,1].map(t=>{let s=e.repeat(t);return RegExp(`(?<![${r}])${s}(?![\\s${e}])(.+?)(?<![\\s${e}])${s}(?![${r}])`,"g")})}),s=e=>t.reduce((e,r)=>e.replace(r,"$1"),e),a=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,a,"PromiseChain",0,()=>{let e=Promise.resolve();return r=>{let t=e.then(()=>r());return e=t.catch(()=>{}),t}},"captionText",0,function(e){let r=[],t=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(a,(e,t,a)=>(r.push(`[${s(t.replace(/`/g,""))}](${a})`),`\uE000${r.length-1}\uE000`)),l=[];for(let e of t.split("\n")){let r=e.trim();r&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(r)||(/\|.*\|/.test(r)&&(r=r.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),r=s(r.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1")).replace(/\s+/g," "),l.push(r)))}return l.join("\n").replace(/\uE000(\d+)\uE000/g,(e,t)=>r[Number(t)]??"")},"clip",0,r,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:t,error:s}=e;if("string"==typeof t&&t)return t;if("string"==typeof s&&s)return s;let a=s?.message;if("string"==typeof a&&a)return a;try{return r(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"formatBytes",0,function(e){if(e<1024)return`${e} B`;let r=["KB","MB","GB","TB"],t=e/1024,s=0;for(;t>=1024&&s<r.length-1;)t/=1024,s+=1;return`${t.toFixed(+(t<10))} ${r[s]}`},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/[^\n]+/g,s).replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])}];
4
4
 
5
5
  //# sourceMappingURL=%5Broot-of-the-server%5D__1jcu_e9._.js.map
@@ -1,8 +1,8 @@
1
- module.exports=[874533,(e,t,i)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},912714,(e,t,i)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,t,i)=>{t.exports=e.x("node:os",()=>require("node:os"))},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=>({url:"/api/bot/thread",query:{history:1,before:e}}),thread:e=>({url:"/api/bot/thread",query:{id: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"}])},629668,e=>{"use strict";var t=e.i(175936),i=e.i(687388);let a=e=>`text/${e}; charset=utf-8`,r={md:{kind:"markdown",mime:a("markdown")},markdown:{kind:"markdown",mime:a("markdown")},csv:{kind:"csv",mime:a("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:a("plain")},log:{kind:"text",mime:a("plain")},html:{kind:"frame",mime:a("html")},htm:{kind:"frame",mime:a("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},docx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},xlsx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},pptx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},css:{kind:"none",mime:a("css")},js:{kind:"none",mime:a("javascript")},woff2:{kind:"none",mime:"font/woff2"}},n=e=>e.split(".").pop()?.toLowerCase()??"",l=e=>r[n(e)]?.kind??"none",o=new Set(["node_modules","__pycache__"]),s=new Set(["css","js","woff2"]),d=Object.keys(r).filter(e=>!s.has(e)),m=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${d.join("|")})\b`,"giu"),c=`${i.PATHS.workspace}/`,p=t.queryKey.file("");function u(e){let t=function(e){if(!e.startsWith(p))return e;let t=e.slice(p.length);try{return decodeURIComponent(t)}catch{return t}}(e.trim()),i=t.indexOf(c);return i>=0?t.slice(i+c.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(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"===l(e)&&"svg"!==n(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=>r[n(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("/"),r=function(e){let t=u(e);if(!t)return null;let[i,...a]=t.split("/");return a.length&&i.includes(".")?null:t}(t?a+e:e);t||(a=r?.slice(0,r.lastIndexOf("/")+1)??""),r&&i.add(r)}return[...i].slice(0,12)},"viewKindOf",0,l,"workspaceRelative",0,u])},211644,e=>{"use strict";var t=e.i(874533),i=e.i(902157),a=e.i(912714),r=e.i(750227),n=e.i(687388);let l=["/bin/bash","/usr/bin/bash","/usr/local/bin/bash"].find(e=>(0,i.existsSync)(e))??null,o=new Set(["node_modules",".git",".next","dist","build",".venv","__pycache__",".turbo","coverage"]);async function*s(e){let t;try{t=await (0,a.readdir)(e,{withFileTypes:!0})}catch{return}for(let i of t){if(o.has(i.name)||i.name.startsWith("."))continue;let t=(0,r.join)(e,i.name);i.isDirectory()?yield*s(t):i.isFile()&&(yield t)}}let d=/^(PORT|HOSTNAME|NODE_ENV|INIT_CWD|NEXT_MANUAL_SIG_HANDLE)$|^_*NEXT_|^TURBOPACK|^npm_|^THURSDAY_/i,m=(e,t,i)=>(0,r.join)(t,i.dir,`${new Date().toISOString().replace(/[:.]/g,"-")}-${e.replace(/[^a-zA-Z0-9_-]+/g,"_")}.txt`),c=(e,t,i)=>`${i.head.trimEnd()}
1
+ module.exports=[874533,(e,t,i)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},912714,(e,t,i)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,t,i)=>{t.exports=e.x("node:os",()=>require("node:os"))},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}}),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"}])},629668,e=>{"use strict";var t=e.i(175936),i=e.i(687388);let a=e=>`text/${e}; charset=utf-8`,r={md:{kind:"markdown",mime:a("markdown")},markdown:{kind:"markdown",mime:a("markdown")},csv:{kind:"csv",mime:a("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:a("plain")},log:{kind:"text",mime:a("plain")},html:{kind:"frame",mime:a("html")},htm:{kind:"frame",mime:a("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},docx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},xlsx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},pptx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},css:{kind:"none",mime:a("css")},js:{kind:"none",mime:a("javascript")},woff2:{kind:"none",mime:"font/woff2"}},n=e=>e.split(".").pop()?.toLowerCase()??"",l=e=>r[n(e)]?.kind??"none",o=new Set(["node_modules","__pycache__"]),s=new Set(["css","js","woff2"]),d=Object.keys(r).filter(e=>!s.has(e)),m=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${d.join("|")})\b`,"giu"),c=`${i.PATHS.workspace}/`,p=t.queryKey.file("");function u(e){let t=function(e){if(!e.startsWith(p))return e;let t=e.slice(p.length);try{return decodeURIComponent(t)}catch{return t}}(e.trim()),i=t.indexOf(c);return i>=0?t.slice(i+c.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(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"===l(e)&&"svg"!==n(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=>r[n(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("/"),r=function(e){let t=u(e);if(!t)return null;let[i,...a]=t.split("/");return a.length&&i.includes(".")?null:t}(t?a+e:e);t||(a=r?.slice(0,r.lastIndexOf("/")+1)??""),r&&i.add(r)}return[...i].slice(0,12)},"viewKindOf",0,l,"workspaceRelative",0,u])},211644,e=>{"use strict";var t=e.i(874533),i=e.i(902157),a=e.i(912714),r=e.i(750227),n=e.i(687388);let l=["/bin/bash","/usr/bin/bash","/usr/local/bin/bash"].find(e=>(0,i.existsSync)(e))??null,o=new Set(["node_modules",".git",".next","dist","build",".venv","__pycache__",".turbo","coverage"]);async function*s(e){let t;try{t=await (0,a.readdir)(e,{withFileTypes:!0})}catch{return}for(let i of t){if(o.has(i.name)||i.name.startsWith("."))continue;let t=(0,r.join)(e,i.name);i.isDirectory()?yield*s(t):i.isFile()&&(yield t)}}let d=/^(PORT|HOSTNAME|NODE_ENV|INIT_CWD|NEXT_MANUAL_SIG_HANDLE)$|^_*NEXT_|^TURBOPACK|^npm_|^THURSDAY_/i,m=(e,t,i)=>(0,r.join)(t,i.dir,`${new Date().toISOString().replace(/[:.]/g,"-")}-${e.replace(/[^a-zA-Z0-9_-]+/g,"_")}.txt`),c=(e,t,i)=>`${i.head.trimEnd()}
2
2
 
3
3
  [${e} cut at ${t.max.toLocaleString("en")} chars — the whole thing (${i.lines} lines) is at ${i.where}. Read the part you need with \`sed -n\`.]
4
4
 
5
- ${i.tail.trimStart()}`;function p(e,t,n,l){let o="",s="",d=0,p=null,u="",f=!1,h=Promise.resolve(),g=t=>{!f&&p&&!p.write(t)&&e&&(e.pause(),p.once("drain",()=>e.resume()))},w=c=>{if(!c)return;if(u){d+=c.match(/\n/g)?.length??0,s=(s+c).slice(-l.tail),h=h.then(()=>g(c));return}if(o.length+c.length<=l.max){o+=c;return}let w=u=m(t,n,l),y=o+c;o=y.slice(0,l.head),s=y.slice(-l.tail),d=y.match(/\n/g)?.length??0,h=(0,a.mkdir)((0,r.join)(n,l.dir),{recursive:!0}).then(()=>{(p=(0,i.createWriteStream)(w)).on("error",()=>{f=!0,e?.resume()}),g(y)},()=>{f=!0})};return e?.setEncoding("utf8"),e?.on("data",w),{add:w,async text(){if(!u)return o;await h;let e=p;return e&&!f&&await new Promise(t=>e.end(()=>t())),c(t,l,{head:o,tail:s,lines:d+1,where:f?"(could not be written to a file)":(0,r.relative)(n,u)||u})}}}async function u(e,t,i,n){if(e.length<=n.max)return e;let l=m(t,i,n),o=l;try{await (0,a.mkdir)((0,r.join)(i,n.dir),{recursive:!0}),await (0,a.writeFile)(l,e),o=(0,r.relative)(i,l)||l}catch{o="(could not be written to a file)"}return c(t,n,{head:e.slice(0,n.head),tail:e.slice(-n.tail),lines:(e.match(/\n/g)?.length??0)+1,where:o})}e.s(["BASH",0,l,"createSandBox",0,({workingDirectory:e,spill:i,toolPath:o})=>{let m=(0,r.resolve)(e),c=(o??[]).filter(Boolean).join(":"),f=e=>e.startsWith("/")||/^[A-Za-z]:/.test(e)?e:(0,r.resolve)(m,e);return{cwd:m,resolve:f,readFile:(e,t)=>(0,a.readFile)(f(e),t),async writeFile(e,t){let i=f(e);await (0,a.mkdir)((0,r.join)(i,".."),{recursive:!0}),await (0,a.writeFile)(i,t)},readdir:(e,t)=>(0,a.readdir)(f(e),t),fold:(e,t="output")=>u(e,t,m,i),async listFiles(e,{limit:t=200,skip:i=[]}={}){let a=f(e),n=[];for await(let e of s(a)){let t=(0,r.relative)(a,e).split(r.sep).join("/");i.includes(t.split("/")[0]??"")||n.push(t)}return n.sort((e,t)=>e.split("/").length-t.split("/").length||(e<t?-1:+(e>t))),{files:n.slice(0,t),total:n.length}},exec:(e,{cwd:a,timeoutMs:r=n.EXEC_TIMEOUT_MS,signal:o,env:s}={})=>new Promise(u=>{let h,g,w=function(){let e={...process.env};for(let t of Object.keys(e))(d.test(t)||/KEY|TOKEN|SECRET|PASS|_PWD|CREDENTIAL|_AUTH|_DSN|DATABASE_URL/i.test(t))&&delete e[t];return e.TERM="dumb",e.PAGER="cat",e.GIT_PAGER="cat",e}();c&&(w.PATH=`${w.PATH??""}:${c}`);let y=(0,t.spawn)(e,{shell:l??!0,cwd:a?f(a):m,env:{...w,...s},detached:!0}),k=p(y.stdout,"stdout",m,i),x=p(y.stderr,"stderr",m,i),v=e=>{try{y.pid&&process.kill(-y.pid,e)}catch{y.kill(e)}},b=!1,_=async e=>{b||(b=!0,clearTimeout(E),clearTimeout(h),clearTimeout(g),o?.removeEventListener("abort",T),u({exitCode:e.exitCode,stdout:await k.text(),stderr:await x.text()}))},S=e=>{h||b||(x.add(`
6
- [${e}]`),v("SIGTERM"),h=setTimeout(()=>{x.add("\n[Killed: it did not exit on SIGTERM]"),v("SIGKILL"),g=setTimeout(()=>{y.stdout?.destroy(),y.stderr?.destroy(),_({exitCode:-1})},1e3)},n.EXEC_KILL_GRACE_MS))},E=setTimeout(()=>S(`Timed out after ${r}ms`),r),T=()=>S("Aborted");o?.aborted?T():o?.addEventListener("abort",T,{once:!0}),y.on("close",e=>_({exitCode:e??-1})),y.on("error",e=>{x.add(String(e)),_({exitCode:-1})})})}},"walkFiles",0,s])},260338,e=>{"use strict";var t=e.i(518899),i=e.i(844988),a=e.i(156325);e.s(["count",0,function(e){return t.sql`count(${e||t.sql.raw("*")})`.mapWith(Number)},"max",0,function(e){return t.sql`max(${e})`.mapWith((0,i.is)(e,a.Column)?e:String)}])}];
5
+ ${i.tail.trimStart()}`;function p(e,t,n,l){let o="",s="",d=0,p=null,u="",f=!1,h=Promise.resolve(),g=t=>{!f&&p&&!p.write(t)&&e&&(e.pause(),p.once("drain",()=>e.resume()))},w=c=>{if(!c)return;if(u){d+=c.match(/\n/g)?.length??0,s=(s+c).slice(-l.tail),h=h.then(()=>g(c));return}if(o.length+c.length<=l.max){o+=c;return}let w=u=m(t,n,l),y=o+c;o=y.slice(0,l.head),s=y.slice(-l.tail),d=y.match(/\n/g)?.length??0,h=(0,a.mkdir)((0,r.join)(n,l.dir),{recursive:!0}).then(()=>{(p=(0,i.createWriteStream)(w)).on("error",()=>{f=!0,e?.resume()}),g(y)},()=>{f=!0})};return e?.setEncoding("utf8"),e?.on("data",w),{add:w,async text(){if(!u)return o;await h;let e=p;return e&&!f&&await new Promise(t=>e.end(()=>t())),c(t,l,{head:o,tail:s,lines:d+1,where:f?"(could not be written to a file)":(0,r.relative)(n,u)||u})}}}async function u(e,t,i,n){if(e.length<=n.max)return e;let l=m(t,i,n),o=l;try{await (0,a.mkdir)((0,r.join)(i,n.dir),{recursive:!0}),await (0,a.writeFile)(l,e),o=(0,r.relative)(i,l)||l}catch{o="(could not be written to a file)"}return c(t,n,{head:e.slice(0,n.head),tail:e.slice(-n.tail),lines:(e.match(/\n/g)?.length??0)+1,where:o})}e.s(["BASH",0,l,"createSandBox",0,({workingDirectory:e,spill:i,toolPath:o})=>{let m=(0,r.resolve)(e),c=(o??[]).filter(Boolean).join(":"),f=e=>e.startsWith("/")||/^[A-Za-z]:/.test(e)?e:(0,r.resolve)(m,e);return{cwd:m,resolve:f,readFile:(e,t)=>(0,a.readFile)(f(e),t),async writeFile(e,t){let i=f(e);await (0,a.mkdir)((0,r.join)(i,".."),{recursive:!0}),await (0,a.writeFile)(i,t)},readdir:(e,t)=>(0,a.readdir)(f(e),t),fold:(e,t="output")=>u(e,t,m,i),async listFiles(e,{limit:t=200,skip:i=[]}={}){let a=f(e),n=[];for await(let e of s(a)){let t=(0,r.relative)(a,e).split(r.sep).join("/");i.includes(t.split("/")[0]??"")||n.push(t)}return n.sort((e,t)=>e.split("/").length-t.split("/").length||(e<t?-1:+(e>t))),{files:n.slice(0,t),total:n.length}},exec:(e,{cwd:a,timeoutMs:r=n.EXEC_TIMEOUT_MS,signal:o,env:s}={})=>new Promise(u=>{let h,g,w=function(){let e={...process.env};for(let t of Object.keys(e))(d.test(t)||/KEY|TOKEN|SECRET|PASS|_PWD|CREDENTIAL|_AUTH|_DSN|DATABASE_URL/i.test(t))&&delete e[t];return e.TERM="dumb",e.PAGER="cat",e.GIT_PAGER="cat",e}();c&&(w.PATH=`${w.PATH??""}:${c}`);let y=(0,t.spawn)(e,{shell:l??!0,cwd:a?f(a):m,env:{...w,...s},detached:!0}),k=p(y.stdout,"stdout",m,i),v=p(y.stderr,"stderr",m,i),x=e=>{try{y.pid&&process.kill(-y.pid,e)}catch{y.kill(e)}},b=!1,_=async e=>{b||(b=!0,clearTimeout(E),clearTimeout(h),clearTimeout(g),o?.removeEventListener("abort",T),u({exitCode:e.exitCode,stdout:await k.text(),stderr:await v.text()}))},S=e=>{h||b||(v.add(`
6
+ [${e}]`),x("SIGTERM"),h=setTimeout(()=>{v.add("\n[Killed: it did not exit on SIGTERM]"),x("SIGKILL"),g=setTimeout(()=>{y.stdout?.destroy(),y.stderr?.destroy(),_({exitCode:-1})},1e3)},n.EXEC_KILL_GRACE_MS))},E=setTimeout(()=>S(`Timed out after ${r}ms`),r),T=()=>S("Aborted");o?.aborted?T():o?.addEventListener("abort",T,{once:!0}),y.on("close",e=>_({exitCode:e??-1})),y.on("error",e=>{v.add(String(e)),_({exitCode:-1})})})}},"walkFiles",0,s])},260338,e=>{"use strict";var t=e.i(518899),i=e.i(844988),a=e.i(156325);e.s(["count",0,function(e){return t.sql`count(${e||t.sql.raw("*")})`.mapWith(Number)},"max",0,function(e){return t.sql`max(${e})`.mapWith((0,i.is)(e,a.Column)?e:String)}])}];
7
7
 
8
8
  //# sourceMappingURL=%5Broot-of-the-server%5D__1jmr2ed._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[902157,(e,s,t)=>{s.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,s,t)=>{s.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},750227,(e,s,t)=>{s.exports=e.x("node:path",()=>require("node:path"))},333925,e=>{"use strict";let s=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),r=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,i=`${t}/local.db`,o=`file:${i}`,a=`${t}/.env`,n=".ai-workspace",_={workspace:n,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${n}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},c="artifact";e.s(["APP_DIR",0,s,"APP_NAME",0,"Thursday","APP_URL",0,r,"ARTIFACT_SKILL",0,c,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants: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_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CATALOG_MS",0,6e5,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,o,"DB_PATH",0,i,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,a,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"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_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,_,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:c,"picture-book":c,"interactive-page":c},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},973589,e=>{"use strict";var s=e.i(902157),t=e.i(912714),r=e.i(750227),i=e.i(333925);let o=(0,r.join)(i.APP_DIR,"guide"),a=".guide";async function n(){if(!(0,s.existsSync)(o))return;let e=(0,r.join)(i.DATA_DIR,i.PATHS.workspace,a);await (0,t.rm)(e,{recursive:!0,force:!0}),await (0,t.cp)(o,e,{recursive:!0})}e.s(["botGuideLine",0,()=>`How ${i.APP_NAME} itself works for the user — its screens and settings — is written under \`${a}/\` here, \`index.md\` first; read it only when the job is about the app.`,"guideLine",0,()=>`How ${i.APP_NAME} works for the person using it — its screens, its settings, what it connects to, what to do when something stops — is written under \`${a}/\` here, \`index.md\` first. Read it whenever an answer depends on how the app works: what can be asked for, where something is changed, a wish that needs a setting switched on, something that stopped or was refused. Answer from it rather than from what you assume.`,"installGuide",0,n])}];
1
+ module.exports=[902157,(e,s,t)=>{s.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,s,t)=>{s.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},750227,(e,s,t)=>{s.exports=e.x("node:path",()=>require("node:path"))},333925,e=>{"use strict";let s=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),r=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,i=`${t}/local.db`,o=`file:${i}`,a=`${t}/.env`,n=".ai-workspace",c={workspace:n,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${n}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},_="artifact";e.s(["APP_DIR",0,s,"APP_NAME",0,"Thursday","APP_URL",0,r,"ARTIFACT_SKILL",0,_,"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_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CATALOG_MS",0,6e5,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,o,"DB_PATH",0,i,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,a,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"INBOX_UNREAD",0,20,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,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_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,c,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:_,"picture-book":_,"interactive-page":_},"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","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},973589,e=>{"use strict";var s=e.i(902157),t=e.i(912714),r=e.i(750227),i=e.i(333925);let o=(0,r.join)(i.APP_DIR,"guide"),a=".guide";async function n(){if(!(0,s.existsSync)(o))return;let e=(0,r.join)(i.DATA_DIR,i.PATHS.workspace,a);await (0,t.rm)(e,{recursive:!0,force:!0}),await (0,t.cp)(o,e,{recursive:!0})}e.s(["botGuideLine",0,()=>`How ${i.APP_NAME} itself works for the user — its screens and settings — is written under \`${a}/\` here, \`index.md\` first; read it only when the job is about the app.`,"guideLine",0,()=>`How ${i.APP_NAME} works for the person using it — its screens, its settings, what it connects to, what to do when something stops — is written under \`${a}/\` here, \`index.md\` first. Read it whenever an answer depends on how the app works: what can be asked for, where something is changed, a wish that needs a setting switched on, something that stopped or was refused. Answer from it rather than from what you assume.`,"installGuide",0,n])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1ndi14y._.js.map
@@ -1,5 +1,5 @@
1
- module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},509656,(e,t,r)=>{t.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},380690,e=>{"use strict";let t,r,s,a,n,o;var i,l=e.i(687388),c=e.i(850063);let u={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},d=globalThis,p=d.__appEvents??=(t=new Set,{emit(e){for(let r of[...t])try{r(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),E=d.__presence??=(i=l.BROWSER_GONE_MS,r=!1,s=null,a=new Set,n=new Set,o=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return r},track(e){if(e>0){s&&clearTimeout(s),s=null,r||(r=!0,o(n));return}!s&&r&&(s=setTimeout(()=>{s=null,r=!1,o(a)},i))},onGone:e=>(a.add(e),()=>a.delete(e)),onBack:e=>(n.add(e),()=>n.delete(e))}),h=d.__appEventStream??=(0,c.createEventStream)(p,{coalesce:{ms:l.SIGNAL_PACE_MS,keyOf:e=>e.type in u?e.type:null},onWatchers:E.track});e.s(["appEventStream",0,h,"appEvents",0,p,"presence",0,E],380690)},519902,e=>{"use strict";var t=e.i(91264),r=e.i(380690);let s=(0,t.serverRoute)(e=>Promise.resolve(r.appEventStream.respond(e.signal,async()=>[{type:"hello"}])));e.s(["GET",0,s])},178449,e=>{"use strict";var t=e.i(747909),r=e.i(174017),s=e.i(996250),a=e.i(759756),n=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),c=e.i(487718),u=e.i(995169),d=e.i(47587),p=e.i(666012),E=e.i(570101),h=e.i(626937),R=e.i(10372),_=e.i(193695);e.i(52474);var m=e.i(600220);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/events/route",pathname:"/api/events",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/events/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(519902),...{}}),{workAsyncStorage:M,workUnitAsyncStorage:A,serverHooks:S}=T;async function v(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),T.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let M="/api/events/route";M=M.replace(/\/index$/,"")||"/";let A=await T.prepare(e,t,{srcPage:M,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:S,deploymentId:v,params:C,nextConfig:f,parsedUrl:I,isDraftMode:g,prerenderManifest:O,routerServerContext:L,isOnDemandRevalidate:w,revalidateOnlyGenerated:x,resolvedPathname:y,clientReferenceManifest:P,serverActionsManifest:N}=A,k=(0,i.normalizeAppPath)(M),D=!!(O.dynamicRoutes[k]||O.routes[y]),H=async()=>((null==L?void 0:L.render404)?await L.render404(e,t,I,!1):t.end("This page could not be found"),null);if(D&&!g){let e=!!O.routes[y],t=O.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(f.adapterPath)return await H();throw new _.NoFallbackError}}let b=null;!D||T.isDev||g||(b="/index"===(b=y)?"/":b);let U=!0===T.isDev||!D,B=D&&!U;N&&P&&(0,o.setManifestsSingleton)({page:M,clientReferenceManifest:P,serverActionsManifest:N});let q=e.method||"GET",K=(0,n.getTracer)(),G=K.getActiveScopeSpan(),F=!!(null==L?void 0:L.isWrappedByNextServer),W=!!(0,a.getRequestMeta)(e,"minimalMode"),V=(0,a.getRequestMeta)(e,"incrementalCache")||await T.getIncrementalCache(e,f,O,W);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let $={params:C,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!f.experimental.authInterrupts,useCacheTimeout:f.experimental.useCacheTimeout},cacheComponents:!!f.cacheComponents,validationLevel:f.experimental.instantInsights.validationLevel,supportsDynamicResponse:U,incrementalCache:V,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:f.cacheLife,staticPageGenerationTimeout:f.staticPageGenerationTimeout,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>T.onRequestError(e,t,s,a,L)},sharedContext:{buildId:S,deploymentId:v}},j=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(j,(0,c.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!W&&w&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await T.handle(Y,$);e.fetchMetrics=$.renderOpts.fetchMetrics;let n=$.renderOpts.pendingWaitUntil;n&&s.waitUntil&&(s.waitUntil(n),n=void 0);let o=$.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(j,X,a,n),null;{let e=await a.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[R.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,s=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?f.expireTime:void 0:$.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:w})},!1,L),t}},Z=async(a,o)=>{try{var i,l;let a=await T.handleResponse({req:e,nextConfig:f,cacheKey:b,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:x,responseGenerator:J,waitUntil:s.waitUntil,isMinimalMode:W});if(!D)return;if((null==a||null==(i=a.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",w?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),g&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,E.fromNodeOutgoingHttpHeaders)(a.value.headers);W&&D||n.delete(R.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,h.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(j,X,new Response(a.value.body,{headers:n,status:a.value.status||200}));return}catch(t){if(t instanceof _.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:w})},!1,L),D)throw t;await (0,p.sendResponse)(j,X,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:n.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route")||k,i=`${q} ${s}`;a.setAttributes({"next.route":s,"http.route":s,"next.span_name":i}),a.updateName(i),o&&o!==a&&(o.setAttribute("http.route",s),o.updateName(i))})()}};if(F&&G)await Z(G,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${M}`,kind:n.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},e=>Z(e,t)),void 0,!F)}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:A})},"routeModule",0,T,"serverHooks",0,S,"workAsyncStorage",0,M,"workUnitAsyncStorage",0,A])},687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),r=process.env.THURSDAY_HOME?.trim()||process.cwd(),s=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${r}/local.db`,n=`file:${a}`,o=`${r}/.env`,i=".ai-workspace",l={workspace:i,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${i}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},c="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,s,"ARTIFACT_SKILL",0,c,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants: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_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_HISTORY_PAGE",0,10,"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,r,"DB_FILE_NAME",0,n,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,o,"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,"INBOX_FINISHED",0,5,"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},"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,l,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:c,"picture-book":c,"interactive-page":c},"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},"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,r={}){let s=new TextEncoder,a=r.heartbeatMs??2e4,n=0;return{respond:(o,i)=>{let l=()=>{};return new Response(new ReadableStream({async start(c){let u=!1,d=new Map,p=[],E=e=>{if(!u)try{c.enqueue(s.encode(e))}catch{l()}},h=e=>E(`data: ${JSON.stringify(e)}
1
+ module.exports=[750227,(e,t,s)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,s)=>{t.exports=e.x("node:process",()=>require("node:process"))},509656,(e,t,s)=>{t.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,t,s)=>{t.exports=e.x("node:util",()=>require("node:util"))},380690,e=>{"use strict";let t,s,r,a,n,o;var i,l=e.i(687388),c=e.i(850063);let u={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},d=globalThis,p=d.__appEvents??=(t=new Set,{emit(e){for(let s of[...t])try{s(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),E=d.__presence??=(i=l.BROWSER_GONE_MS,s=!1,r=null,a=new Set,n=new Set,o=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return s},track(e){if(e>0){r&&clearTimeout(r),r=null,s||(s=!0,o(n));return}!r&&s&&(r=setTimeout(()=>{r=null,s=!1,o(a)},i))},onGone:e=>(a.add(e),()=>a.delete(e)),onBack:e=>(n.add(e),()=>n.delete(e))}),h=d.__appEventStream??=(0,c.createEventStream)(p,{coalesce:{ms:l.SIGNAL_PACE_MS,keyOf:e=>e.type in u?e.type:null},onWatchers:E.track});e.s(["appEventStream",0,h,"appEvents",0,p,"presence",0,E],380690)},519902,e=>{"use strict";var t=e.i(91264),s=e.i(380690);let r=(0,t.serverRoute)(e=>Promise.resolve(s.appEventStream.respond(e.signal,async()=>[{type:"hello"}])));e.s(["GET",0,r])},178449,e=>{"use strict";var t=e.i(747909),s=e.i(174017),r=e.i(996250),a=e.i(759756),n=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),c=e.i(487718),u=e.i(995169),d=e.i(47587),p=e.i(666012),E=e.i(570101),h=e.i(626937),R=e.i(10372),_=e.i(193695);e.i(52474);var m=e.i(600220);let T=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/events/route",pathname:"/api/events",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/events/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(519902),...{}}),{workAsyncStorage:M,workUnitAsyncStorage:A,serverHooks:S}=T;async function v(e,t,r){r.requestMeta&&(0,a.setRequestMeta)(e,r.requestMeta),T.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let M="/api/events/route";M=M.replace(/\/index$/,"")||"/";let A=await T.prepare(e,t,{srcPage:M,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:v,params:C,nextConfig:f,parsedUrl:I,isDraftMode:O,prerenderManifest:g,routerServerContext:L,isOnDemandRevalidate:w,revalidateOnlyGenerated:x,resolvedPathname:y,clientReferenceManifest:P,serverActionsManifest:N}=A,k=(0,i.normalizeAppPath)(M),D=!!(g.dynamicRoutes[k]||g.routes[y]),H=async()=>((null==L?void 0:L.render404)?await L.render404(e,t,I,!1):t.end("This page could not be found"),null);if(D&&!O){let e=!!g.routes[y],t=g.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(f.adapterPath)return await H();throw new _.NoFallbackError}}let b=null;!D||T.isDev||O||(b="/index"===(b=y)?"/":b);let U=!0===T.isDev||!D,B=D&&!U;N&&P&&(0,o.setManifestsSingleton)({page:M,clientReferenceManifest:P,serverActionsManifest:N});let q=e.method||"GET",K=(0,n.getTracer)(),F=K.getActiveScopeSpan(),G=!!(null==L?void 0:L.isWrappedByNextServer),W=!!(0,a.getRequestMeta)(e,"minimalMode"),V=(0,a.getRequestMeta)(e,"incrementalCache")||await T.getIncrementalCache(e,f,g,W);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let $={params:C,previewProps:g.preview,renderOpts:{experimental:{authInterrupts:!!f.experimental.authInterrupts,useCacheTimeout:f.experimental.useCacheTimeout},cacheComponents:!!f.cacheComponents,validationLevel:f.experimental.instantInsights.validationLevel,supportsDynamicResponse:U,incrementalCache:V,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:f.cacheLife,staticPageGenerationTimeout:f.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,a)=>T.onRequestError(e,t,r,a,L)},sharedContext:{buildId:S,deploymentId:v}},X=new l.NodeNextRequest(e),j=new l.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(X,(0,c.signalFromNodeResponse)(t)),J=async({previousCacheEntry:s})=>{try{if(!W&&w&&x&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await T.handle(Y,$);e.fetchMetrics=$.renderOpts.fetchMetrics;let n=$.renderOpts.pendingWaitUntil;n&&r.waitUntil&&(r.waitUntil(n),n=void 0);let o=$.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(X,j,a,n),null;{let e=await a.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[R.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,r=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==s&&s>0?f.expireTime:void 0:$.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:w})},!1,L),t}},Z=async(a,o)=>{try{var i,l;let a=await T.handleResponse({req:e,nextConfig:f,cacheKey:b,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:g,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:x,responseGenerator:J,waitUntil:r.waitUntil,isMinimalMode:W});if(!D)return;if((null==a||null==(i=a.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",w?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,E.fromNodeOutgoingHttpHeaders)(a.value.headers);W&&D||n.delete(R.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,h.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(X,j,new Response(a.value.body,{headers:n,status:a.value.status||200}));return}catch(t){if(t instanceof _.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:w})},!1,L),D)throw t;await (0,p.sendResponse)(X,j,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:n.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let s=K.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=s.get("next.route")||k,i=`${q} ${r}`;a.setAttributes({"next.route":r,"http.route":r,"next.span_name":i}),a.updateName(i),o&&o!==a&&(o.setAttribute("http.route",r),o.updateName(i))})()}};if(G&&F)await Z(F,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${M}`,kind:n.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},e=>Z(e,t)),void 0,!G)}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:A})},"routeModule",0,T,"serverHooks",0,S,"workAsyncStorage",0,M,"workUnitAsyncStorage",0,A])},687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),s=process.env.THURSDAY_HOME?.trim()||process.cwd(),r=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${s}/local.db`,n=`file:${a}`,o=`${s}/.env`,i=".ai-workspace",l={workspace:i,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${i}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},c="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,r,"ARTIFACT_SKILL",0,c,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"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_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,s,"DB_FILE_NAME",0,n,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"ENV_PATH",0,o,"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,"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,l,"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,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},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SEED_KITS_RENAMED",0,{marketer:"writer"},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:c,"picture-book":c,"interactive-page":c},"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,s={}){let r=new TextEncoder,a=s.heartbeatMs??2e4,n=0;return{respond:(o,i)=>{let l=()=>{};return new Response(new ReadableStream({async start(c){let u=!1,d=new Map,p=[],E=e=>{if(!u)try{c.enqueue(r.encode(e))}catch{l()}},h=e=>E(`data: ${JSON.stringify(e)}
2
2
 
3
- `),R=e=>{let t={last:null},s=setTimeout(()=>{d.delete(e),!u&&t.last&&(h(t.last),R(e))},r.coalesce?.ms);d.set(e,{timer:s,wait:t})},_=e=>{if(u)return;let t=r.coalesce?.keyOf(e)??null;if(null===t)return h(e);let s=d.get(t);if(s){s.wait.last=e;return}h(e),R(t)},m=e.subscribe(e=>p?p.push(e):_(e)),T=setInterval(()=>E(": ping\n\n"),a);n+=1,r.onWatchers?.(n),l=()=>{if(!u){for(let e of(u=!0,n-=1,r.onWatchers?.(n),m(),clearInterval(T),d.values()))clearTimeout(e.timer);try{c.close()}catch{}}},o.addEventListener("abort",l);try{for(let e of await i?.()??[])h(e)}catch(e){t.logger.error("event stream opening failed",e),l();return}let M=p;for(let e of(p=null,M))_(e)},cancel(){l()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return n}}}])}];
3
+ `),R=e=>{let t={last:null},r=setTimeout(()=>{d.delete(e),!u&&t.last&&(h(t.last),R(e))},s.coalesce?.ms);d.set(e,{timer:r,wait:t})},_=e=>{if(u)return;let t=s.coalesce?.keyOf(e)??null;if(null===t)return h(e);let r=d.get(t);if(r){r.wait.last=e;return}h(e),R(t)},m=e.subscribe(e=>p?p.push(e):_(e)),T=setInterval(()=>E(": ping\n\n"),a);n+=1,s.onWatchers?.(n),l=()=>{if(!u){for(let e of(u=!0,n-=1,s.onWatchers?.(n),m(),clearInterval(T),d.values()))clearTimeout(e.timer);try{c.close()}catch{}}},o.addEventListener("abort",l);try{for(let e of await i?.()??[])h(e)}catch(e){t.logger.error("event stream opening failed",e),l();return}let M=p;for(let e of(p=null,M))_(e)},cancel(){l()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return n}}}])}];
4
4
 
5
5
  //# sourceMappingURL=%5Broot-of-the-server%5D__1o7z93z._.js.map