thursday-agent 0.4.0 → 0.5.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 (199) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  11. package/.next/server/app/_not-found.html +1 -1
  12. package/.next/server/app/_not-found.rsc +1 -1
  13. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  14. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/api/artifact/route.js +4 -4
  17. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  18. package/.next/server/app/api/bot/memory/files/route.js +3 -3
  19. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  20. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  22. package/.next/server/app/api/bot/task/[id]/route.js +8 -8
  23. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
  24. package/.next/server/app/api/bot/task/route.js +6 -6
  25. package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
  26. package/.next/server/app/api/config/route.js.nft.json +1 -1
  27. package/.next/server/app/api/events/route.js.nft.json +1 -1
  28. package/.next/server/app/api/file/[...path]/route.js +4 -4
  29. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  30. package/.next/server/app/api/llm-model/catalog/route.js +2 -2
  31. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  32. package/.next/server/app/api/llm-model/credits/route.js +2 -2
  33. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
  34. package/.next/server/app/api/llm-model/route.js +2 -2
  35. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  36. package/.next/server/app/api/llm-model/subscription/route.js +2 -2
  37. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  38. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  39. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  40. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  41. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  42. package/.next/server/app/api/memory/edit/route.js +11 -11
  43. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  44. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  45. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  46. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  47. package/.next/server/app/api/thursday/call/route.js +6 -6
  48. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  49. package/.next/server/app/api/thursday/skills/route.js +6 -6
  50. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  51. package/.next/server/app/api/thursday/tool-call/route.js +8 -8
  52. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  53. package/.next/server/app/api/workspace/route.js +3 -2
  54. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  55. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  56. package/.next/server/app/artifact/[...path]/page.js +2 -2
  57. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  58. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  60. package/.next/server/app/page/server-reference-manifest.json +40 -40
  61. package/.next/server/app/page.js +1 -1
  62. package/.next/server/app/page.js.nft.json +1 -1
  63. package/.next/server/app/page_client-reference-manifest.js +1 -1
  64. package/.next/server/chunks/[root-of-the-server]__026u77e._.js +5 -0
  65. package/.next/server/chunks/{[root-of-the-server]__02xjoto._.js → [root-of-the-server]__050zri4._.js} +1 -1
  66. package/.next/server/chunks/[root-of-the-server]__0bg9710._.js +3 -0
  67. package/.next/server/chunks/[root-of-the-server]__0in-d5s._.js +3 -0
  68. package/.next/server/chunks/[root-of-the-server]__0pa9k-f._.js +8 -0
  69. package/.next/server/chunks/[root-of-the-server]__0qi_m0e._.js +8 -0
  70. package/.next/server/chunks/[root-of-the-server]__0tq0m_k._.js +3 -0
  71. package/.next/server/chunks/[root-of-the-server]__0xep6j_._.js +3 -0
  72. package/.next/server/chunks/[root-of-the-server]__144l7qt._.js +8 -0
  73. package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +1 -1
  74. package/.next/server/chunks/[root-of-the-server]__1jg8t86._.js +8 -0
  75. package/.next/server/chunks/{[root-of-the-server]__12cabg9._.js → [root-of-the-server]__1lldzy9._.js} +1 -1
  76. package/.next/server/chunks/{[root-of-the-server]__01dkp4a._.js → [root-of-the-server]__1peqvsi._.js} +1 -1
  77. package/.next/server/chunks/[root-of-the-server]__1w8gm5h._.js +10 -0
  78. package/.next/server/chunks/[root-of-the-server]__1xt39nn._.js +8 -0
  79. package/.next/server/chunks/[root-of-the-server]__1zb8mfo._.js +8 -0
  80. package/.next/server/chunks/_0-fjql4._.js +11 -6
  81. package/.next/server/chunks/_00xh_q0._.js +1 -1
  82. package/.next/server/chunks/{_1_9mjx-._.js → _091bi8d._.js} +1 -1
  83. package/.next/server/chunks/_0fzqt2y._.js +29 -21
  84. package/.next/server/chunks/{_0u4aiy2._.js → _0lr92vd._.js} +1 -1
  85. package/.next/server/chunks/_0mecv0f._.js +11 -6
  86. package/.next/server/chunks/{_0sbynis._.js → _0si7xzn._.js} +1 -1
  87. package/.next/server/chunks/_1230wbx._.js +5 -5
  88. package/.next/server/chunks/{_0obojvv._.js → _18d7-5p._.js} +1 -1
  89. package/.next/server/chunks/_1c78vw5._.js +33 -25
  90. package/.next/server/chunks/_1d0j961._.js +2 -2
  91. package/.next/server/chunks/_1krd9rf._.js +1 -1
  92. package/.next/server/chunks/{_03a0897._.js → _1zkfbaa._.js} +1 -1
  93. package/.next/server/chunks/features_1qf3cei._.js +6 -1
  94. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0r28-sm._.js → node_modules_consola_dist_chunks_prompt_mjs_17k8irj._.js} +1 -1
  95. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_1xoq2rl._.js → node_modules_consola_dist_chunks_prompt_mjs_1jidylq._.js} +1 -1
  96. package/.next/server/chunks/ssr/[root-of-the-server]__0-nob52._.js +4 -0
  97. package/.next/server/chunks/ssr/{[root-of-the-server]__202p40z._.js → [root-of-the-server]__0s4wb56._.js} +1 -1
  98. package/.next/server/chunks/ssr/{[root-of-the-server]__0xsog8n._.js → [root-of-the-server]__0sd3izg._.js} +2 -2
  99. package/.next/server/chunks/ssr/{[root-of-the-server]__1gtlw6v._.js → [root-of-the-server]__1-13tcn._.js} +2 -2
  100. package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +1 -1
  101. package/.next/server/chunks/ssr/{[root-of-the-server]__0s9l2sv._.js → [root-of-the-server]__1zidpfl._.js} +1 -1
  102. package/.next/server/chunks/ssr/_001_ms1._.js +6 -1
  103. package/.next/server/chunks/ssr/{_0gb4gmf._.js → _04z2c7b._.js} +2 -2
  104. package/.next/server/chunks/ssr/{_1nnsk7z._.js → _06tssji._.js} +2 -2
  105. package/.next/server/chunks/ssr/_0fk4c7d._.js +3 -0
  106. package/.next/server/chunks/ssr/_0i_6q1w._.js +1 -1
  107. package/.next/server/chunks/ssr/{_1h0rw11._.js → _0m2lsd1._.js} +2 -2
  108. package/.next/server/chunks/ssr/_0mggveb._.js +3 -0
  109. package/.next/server/chunks/ssr/{_1jhd09t._.js → _0nbpc_8._.js} +2 -2
  110. package/.next/server/chunks/ssr/{_1fojd41._.js → _0rzucul._.js} +3 -3
  111. package/.next/server/chunks/ssr/_0s99bgb._.js +1 -1
  112. package/.next/server/chunks/ssr/_1-teee5._.js +4 -4
  113. package/.next/server/chunks/ssr/{_0fz4mf_._.js → _11j92tu._.js} +2 -2
  114. package/.next/server/chunks/ssr/{_1b2mjwr._.js → _1ebxla1._.js} +2 -2
  115. package/.next/server/chunks/ssr/{_1gd8q8l._.js → _1jdgjv9._.js} +2 -2
  116. package/.next/server/chunks/ssr/_1lz_cq2._.js +19 -11
  117. package/.next/server/chunks/ssr/{_0ilna52._.js → _1nj4niv._.js} +2 -2
  118. package/.next/server/chunks/ssr/_1ovmc9s._.js +3 -0
  119. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  120. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  121. package/.next/server/chunks/ssr/{node_modules_0pvd7q-._.js → node_modules_0-dr_o7._.js} +1 -1
  122. package/.next/server/chunks/ssr/{node_modules_1_pc9kq._.js → node_modules_04sksn9._.js} +1 -1
  123. package/.next/server/chunks/ssr/{node_modules_1vh5ntv._.js → node_modules_05-n6dz._.js} +1 -1
  124. package/.next/server/chunks/ssr/{node_modules_0b__sgl._.js → node_modules_056qgf-._.js} +1 -1
  125. package/.next/server/chunks/ssr/{node_modules_0g7fzk3._.js → node_modules_07dsgkx._.js} +1 -1
  126. package/.next/server/chunks/ssr/{node_modules_04jf_m8._.js → node_modules_0bvopy2._.js} +1 -1
  127. package/.next/server/chunks/ssr/{node_modules_0arus10._.js → node_modules_0fkeku3._.js} +1 -1
  128. package/.next/server/chunks/ssr/{node_modules_14om4ar._.js → node_modules_0ifp389._.js} +1 -1
  129. package/.next/server/chunks/ssr/{node_modules_0cxaxk9._.js → node_modules_0iur59s._.js} +1 -1
  130. package/.next/server/chunks/ssr/{node_modules_1aaxuef._.js → node_modules_0m383r2._.js} +1 -1
  131. package/.next/server/chunks/ssr/{node_modules_1qpjvy5._.js → node_modules_0u9da1h._.js} +1 -1
  132. package/.next/server/chunks/ssr/{node_modules_1cx_ql6._.js → node_modules_0zeg3x_._.js} +1 -1
  133. package/.next/server/chunks/ssr/{node_modules_0_-_a--._.js → node_modules_1-y7nni._.js} +1 -1
  134. package/.next/server/chunks/ssr/{node_modules_08dhkiq._.js → node_modules_16mkxuo._.js} +1 -1
  135. package/.next/server/chunks/ssr/{node_modules_198nmll._.js → node_modules_1a0kmjl._.js} +1 -1
  136. package/.next/server/chunks/ssr/{node_modules_1efrqxi._.js → node_modules_1chvq5f._.js} +1 -1
  137. package/.next/server/chunks/ssr/{node_modules_0yugy6m._.js → node_modules_1j8j4pt._.js} +1 -1
  138. package/.next/server/chunks/ssr/{node_modules_09q35v_._.js → node_modules_1k6n600._.js} +1 -1
  139. package/.next/server/chunks/ssr/{node_modules_1cz2hle._.js → node_modules_1k7z2j6._.js} +1 -1
  140. package/.next/server/chunks/ssr/{node_modules_1gdh31p._.js → node_modules_1k8j8n0._.js} +1 -1
  141. package/.next/server/chunks/ssr/{node_modules_1eg7m6c._.js → node_modules_1lz0oxc._.js} +1 -1
  142. package/.next/server/chunks/ssr/{node_modules_0940ns5._.js → node_modules_1t77e4n._.js} +1 -1
  143. package/.next/server/chunks/ssr/{node_modules_00etblx._.js → node_modules_1uyk91w._.js} +1 -1
  144. package/.next/server/chunks/ssr/{node_modules_0had7xd._.js → node_modules_1x0ztf4._.js} +1 -1
  145. package/.next/server/chunks/ssr/{node_modules_14q6g4n._.js → node_modules_1y79i83._.js} +1 -1
  146. package/.next/server/chunks/ssr/{node_modules_1hpopmo._.js → node_modules_20c28js._.js} +1 -1
  147. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1b748ic._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0bkwd0u._.js} +1 -1
  148. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1z4hm5e._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0p9a9su._.js} +1 -1
  149. package/.next/server/chunks/ssr/{node_modules_@vercel_oidc_dist_06mk8id._.js → node_modules_@vercel_oidc_dist_1o553h-._.js} +1 -1
  150. package/.next/server/middleware-build-manifest.js +3 -3
  151. package/.next/server/pages/404.html +1 -1
  152. package/.next/server/pages/500.html +1 -1
  153. package/.next/server/server-reference-manifest.js +1 -1
  154. package/.next/server/server-reference-manifest.json +41 -41
  155. package/.next/static/chunks/{39j0fvpybzabl.js → 0n3jle9kbqfr2.js} +2 -2
  156. package/.next/static/chunks/{0fl3gwe4-l6tz.js → 11r2yp_yh9_qn.js} +1 -1
  157. package/.next/static/chunks/{1jd09sxcjddu1.js → 126fj4pga_72k.js} +1 -1
  158. package/.next/static/chunks/{0gnqdjn2lvdad.js → 159udiexf6dom.js} +1 -1
  159. package/.next/static/chunks/{08qe4as2q428z.js → 18gi7o2ibrgh8.js} +1 -1
  160. package/.next/static/chunks/{2u7xt6mxg44lf.js → 1q9z1tohil7xn.js} +1 -1
  161. package/.next/static/chunks/{3zmcsnuo25zvq.js → 1sjgfets224re.js} +1 -1
  162. package/.next/static/chunks/{0wcprt5ot5she.js → 1wszsr83t01gh.js} +1 -1
  163. package/.next/static/chunks/{0w52rrrmuj9r9.js → 2szintyibu0s5.js} +1 -1
  164. package/.next/static/chunks/{0hwap1-p0m5sa.js → 3-b6b7entqazs.js} +1 -1
  165. package/.next/static/chunks/{17p6tk6k88dq6.js → 3dmbhsv2u_8kj.js} +1 -1
  166. package/.next/static/chunks/{214ya3n5gxeih.js → 3i0a5px-oufgc.js} +1 -1
  167. package/.next/static/chunks/{1w73ece_6bheu.js → 3wexk9qo8zuj3.js} +3 -3
  168. package/.next/static/chunks/3xre8bu_pk1p_.js +1 -0
  169. package/.next/static/chunks/{3woj-xd7ki5_i.js → 3zv6t3i77xhr_.js} +1 -1
  170. package/.next/static/chunks/{3akmqm77muj4-.js → 408ueu4hfvcg7.js} +1 -1
  171. package/.next/static/chunks/{15m575979un5f.js → 435atsnhs7ksu.js} +6 -6
  172. package/bin/thursday.mjs +0 -0
  173. package/features/ai/prompts/bot.prompt.ts +1 -1
  174. package/features/ai/tools/bot.tool.ts +3 -3
  175. package/features/ai/tools/skills.tool.ts +25 -8
  176. package/features/bot/bot.run.ts +184 -73
  177. package/features/bot/bot.runner.ts +48 -23
  178. package/features/bot/task.query.ts +107 -4
  179. package/features/bot/task.store.ts +3 -5
  180. package/features/workspace/workspace.ts +27 -20
  181. package/package.json +1 -1
  182. package/skills/browser/SKILL.md +6 -5
  183. package/.next/server/chunks/[root-of-the-server]__04q--0f._.js +0 -8
  184. package/.next/server/chunks/[root-of-the-server]__0bl-e63._.js +0 -3
  185. package/.next/server/chunks/[root-of-the-server]__0jq4ohy._.js +0 -8
  186. package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +0 -8
  187. package/.next/server/chunks/[root-of-the-server]__1339jnv._.js +0 -8
  188. package/.next/server/chunks/[root-of-the-server]__18_teo8._.js +0 -8
  189. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +0 -10
  190. package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +0 -8
  191. package/.next/server/chunks/_1zjrdag._.js +0 -3
  192. package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +0 -4
  193. package/.next/server/chunks/ssr/_0n3toaw._.js +0 -3
  194. package/.next/server/chunks/ssr/_1-_etts._.js +0 -3
  195. package/.next/server/chunks/ssr/_1f-dg-6._.js +0 -3
  196. package/.next/static/chunks/00rd4-v8r7axp.js +0 -1
  197. /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → G6-gNoyGDEcgAsq-L4PE1}/_buildManifest.js +0 -0
  198. /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → G6-gNoyGDEcgAsq-L4PE1}/_clientMiddlewareManifest.js +0 -0
  199. /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → G6-gNoyGDEcgAsq-L4PE1}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[102473,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1_04mcf._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(232347)))},130022,e=>{e.v(s=>Promise.all(["server/chunks/config_ts_1g4sz5o._.js"].map(s=>e.l(s))).then(()=>s(333925)))},266965,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1orn-5b._.js","server/chunks/_0khihjk._.js"].map(s=>e.l(s))).then(()=>s(946280)))},327784,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1anc1p9._.js","server/chunks/_1230wbx._.js","server/chunks/_1kg70wc._.js","server/chunks/_05h2cii._.js","server/chunks/_15hq89o._.js","server/chunks/_1c78vw5._.js","server/chunks/_0u10wmw._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__01dkp4a._.js","server/chunks/_0mecv0f._.js"].map(s=>e.l(s))).then(()=>s(49002)))},566024,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1-ga0kh._.js","server/chunks/_05h2cii._.js","server/chunks/_1e48czp._.js","server/chunks/_0-73of8._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(1363)))},917723,e=>{e.v(s=>Promise.all(["server/chunks/_051qh8u._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__1ccon1w._.js","server/chunks/_0-fjql4._.js","server/chunks/_18-1wcc._.js","server/chunks/_1e48czp._.js","server/chunks/_0y5fg-x._.js"].map(s=>e.l(s))).then(()=>s(520401)))},51833,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__1wa1k7r._.js"].map(s=>e.l(s))).then(()=>s(871096)))},482438,e=>{"use strict";async function s(){let{APP_DIR:s,APP_NAME:r,DATA_DIR:_,WORKSPACE_KEEP:t}=await e.A(130022),{logger:o}=await e.A(415568),{migrateDatabase:n}=await e.A(266965);await n();let{ensureRootNotes:a}=await e.A(566024);await a();let{sweepJobFiles:c,sweepTasks:h}=await e.A(327784);await h();let i=()=>void c().catch(e=>o.error("sweep job files",e));i(),setInterval(i,t.sweepEveryMs).unref();let{sweepCalls:l}=await e.A(917723);await l();let{presence:v}=await e.A(102473),{pauseTasks:u,resumeStoppedTasks:k}=await e.A(327784);if(v.onGone(()=>{o.info("browser gone — stopping what was running"),u("The browser closed while this was running.").catch(e=>o.error("pause tasks",e)),l().catch(e=>o.error("sweep calls",e))}),v.onBack(()=>{k().catch(e=>o.error("resume tasks",e))}),process.env.NEXT_MANUAL_SIG_HANDLE){let e=!1;for(let[s,r]of[["SIGINT",130],["SIGTERM",143]])process.on(s,()=>{e||(e=!0,o.info(`${s} — parking what was running`),Promise.race([u("The server was shut down while this was running.").catch(e=>o.error("pause tasks",e)),new Promise(e=>setTimeout(e,3e3))]).finally(()=>process.exit(r)))})}o.info(`${r} is up — app ${s}, data ${_}`);let{ensureBrowser:w}=await e.A(51833);w().catch(e=>o.debug("browser fetch",e))}e.s(["boot",0,s])},415568,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0ncs9uu._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(938281)))}];
1
+ module.exports=[102473,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1_04mcf._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(232347)))},130022,e=>{e.v(s=>Promise.all(["server/chunks/config_ts_1g4sz5o._.js"].map(s=>e.l(s))).then(()=>s(333925)))},266965,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1orn-5b._.js","server/chunks/_0khihjk._.js"].map(s=>e.l(s))).then(()=>s(946280)))},327784,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1anc1p9._.js","server/chunks/_1230wbx._.js","server/chunks/_1kg70wc._.js","server/chunks/_05h2cii._.js","server/chunks/_15hq89o._.js","server/chunks/_1c78vw5._.js","server/chunks/_0u10wmw._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__1peqvsi._.js","server/chunks/_0mecv0f._.js"].map(s=>e.l(s))).then(()=>s(49002)))},566024,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__1-ga0kh._.js","server/chunks/_05h2cii._.js","server/chunks/_1e48czp._.js","server/chunks/_0-73of8._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(1363)))},917723,e=>{e.v(s=>Promise.all(["server/chunks/_051qh8u._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__1w8gm5h._.js","server/chunks/_0-fjql4._.js","server/chunks/_18-1wcc._.js","server/chunks/_1e48czp._.js","server/chunks/_0y5fg-x._.js"].map(s=>e.l(s))).then(()=>s(520401)))},51833,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__0qi_m0e._.js"].map(s=>e.l(s))).then(()=>s(871096)))},482438,e=>{"use strict";async function s(){let{APP_DIR:s,APP_NAME:r,DATA_DIR:_,WORKSPACE_KEEP:t}=await e.A(130022),{logger:o}=await e.A(415568),{migrateDatabase:n}=await e.A(266965);await n();let{ensureRootNotes:a}=await e.A(566024);await a();let{sweepJobFiles:h,sweepTasks:c}=await e.A(327784);await c();let i=()=>void h().catch(e=>o.error("sweep job files",e));i(),setInterval(i,t.sweepEveryMs).unref();let{sweepCalls:l}=await e.A(917723);await l();let{presence:v}=await e.A(102473),{pauseTasks:u,resumeStoppedTasks:k}=await e.A(327784);if(v.onGone(()=>{o.info("browser gone — stopping what was running"),u("The browser closed while this was running.").catch(e=>o.error("pause tasks",e)),l().catch(e=>o.error("sweep calls",e))}),v.onBack(()=>{k().catch(e=>o.error("resume tasks",e))}),process.env.NEXT_MANUAL_SIG_HANDLE){let e=!1;for(let[s,r]of[["SIGINT",130],["SIGTERM",143]])process.on(s,()=>{e||(e=!0,o.info(`${s} — parking what was running`),Promise.race([u("The server was shut down while this was running.").catch(e=>o.error("pause tasks",e)),new Promise(e=>setTimeout(e,3e3))]).finally(()=>process.exit(r)))})}o.info(`${r} is up — app ${s}, data ${_}`);let{ensureBrowser:w}=await e.A(51833);w().catch(e=>o.debug("browser fetch",e))}e.s(["boot",0,s])},415568,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0ncs9uu._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(s=>e.l(s))).then(()=>s(938281)))}];
2
2
 
3
3
  //# sourceMappingURL=_1krd9rf._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[282640,e=>e.a(async(t,a)=>{try{var r=e.i(780274),n=e.i(91264),i=e.i(53748),o=t([r]);[r]=o.then?(await o)():o;let s=(0,n.serverRoute)(async(e,{params:t})=>{let{id:a}=await t,n=new URL(e.url).searchParams.get("call");if(n){let e=await (0,r.readToolResult)(a,n);return e||(0,i.publicError)("No such tool result"),e}(0,i.publicError)("Which part — `call`?")});e.s(["GET",0,s]),a()}catch(e){a(e)}},!1),327889,e=>{"use strict";var t=e.i(747909),a=e.i(174017),r=e.i(996250),n=e.i(759756),i=e.i(561916),o=e.i(174677),s=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),h=e.i(570101),R=e.i(626937),v=e.i(10372),m=e.i(193695);e.i(52474);var g=e.i(600220);let E=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/bot/task/[id]/route",pathname:"/api/bot/task/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bot/task/[id]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(282640),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:f,serverHooks:C}=E;async function x(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/bot/task/[id]/route";w=w.replace(/\/index$/,"")||"/";let f=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:C,deploymentId:x,params:_,nextConfig:A,parsedUrl:T,isDraftMode:b,prerenderManifest:y,routerServerContext:P,isOnDemandRevalidate:S,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:k,serverActionsManifest:q}=f,H=(0,s.normalizeAppPath)(w),I=!!(y.dynamicRoutes[H]||y.routes[O]),M=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,T,!1):t.end("This page could not be found"),null);if(I&&!b){let e=!!y.routes[O],t=y.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await M();throw new m.NoFallbackError}}let U=null;!I||E.isDev||b||(U="/index"===(U=O)?"/":U);let D=!0===E.isDev||!I,j=I&&!D;q&&k&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:k,serverActionsManifest:q});let F=e.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),$=!!(null==P?void 0:P.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,A,y,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:_,previewProps:y.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:A.cacheLife,staticPageGenerationTimeout:A.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>E.onRequestError(e,t,r,n,P)},sharedContext:{buildId:C,deploymentId:x}},W=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:a})=>{try{if(!B&&S&&N&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await E.handle(z,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let i=V.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let o=V.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(W,X,n,i),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==a&&a>0?A.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:S})},!1,P),t}},J=async(n,o)=>{try{var s,l;let n=await E.handleResponse({req:e,nextConfig:A,cacheKey:U,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:N,responseGenerator:Z,waitUntil:r.waitUntil,isMinimalMode:B});if(!I)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",S?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);B&&I||i.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,R.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(W,X,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:S})},!1,P),I)throw t;await (0,p.sendResponse)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:i.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route")||H,s=`${F} ${r}`;n.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),n.updateName(s),o&&o!==n&&(o.setAttribute("http.route",r),o.updateName(s))})()}};if($&&L)await J(L,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!$)}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:f})},"routeModule",0,E,"serverHooks",0,C,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,f])},329280,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_node_readline_1u65a-m._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_02axwqv._.js"].map(t=>e.l(t))).then(()=>t(781937)))}];
2
2
 
3
- //# sourceMappingURL=_03a0897._.js.map
3
+ //# sourceMappingURL=_1zkfbaa._.js.map
@@ -1,3 +1,8 @@
1
- module.exports=[316172,e=>{"use strict";var t=e.i(912714),a=e.i(847841),s=e.i(907855),n=e.i(353885),o=e.i(629668),r=e.i(786025);let l={name:n.TOOL_NAMES.delegate,description:"Hand a job to a bot. Returns immediately; the job runs in the background and its result is put in front of you later.",parameters:s.object({bot:s.string().describe("A name from the bot list."),request:s.string().describe("The whole job. The bot cannot hear the call, so everything it needs goes here — names, paths, what the user actually asked for — in their own language and their own words: it is the only language the bot has, and whatever it writes comes back to them. **Their request, never your reading of it**: a condition, a caution or a smaller goal they did not say is how a job comes back as the wrong thing. When their words leave a real choice open, ask them on the call and put the answer here."),label:s.string().describe("Two or three words naming the job, in the user's language. Used on screen and said out loud.")})},i={name:n.TOOL_NAMES.ask_bot,description:"Hand one part of the job you are holding to another bot and wait for what they bring back. The job stays yours.",parameters:s.object({bot:s.string().describe("A name from the bot list."),request:s.string().describe("The part they take: the outcome you want, the shape to hand it back in (a path, a number, a list), and every name, path, number and limit that bears on it. It reaches them under the job and the call it came from, which are attached for you — write the part, not the job again."),context:s.string().describe("What you have done on the job so far and why this part is theirs — exact values, and the paths of files you wrote for them to read. They see this, the part, the job and the call; not your thread or your tool output, so a value you leave out is one they fetch again.")})},u={name:n.TOOL_NAMES.ask_back,description:"Ask the bot that handed you this part. They answer from what they have — the original request, the call it came from, what they found before asking you.",parameters:s.object({question:s.string().describe("One whole question — what you need and why. They cannot take it to the user for you, so ask what they would know.")})},c={name:n.TOOL_NAMES.ask_thursday,description:"Ask Thursday, who handed you this job. The job stops until an answer comes back.",parameters:s.object({question:s.string().describe("One whole question — what you need and why. One or two sentences, in the user's language: she may read it to them out loud, options and all."),options:s.union([s.string().array(),s.string()]).nullish().describe('Only when there really are choices — two or three, each short, as an array: ["Signed in", "Not yet"]. Null for an open question.')})},d={name:n.TOOL_NAMES.answer,description:"Answer the job you were given. Calling this ends the job — nothing after it runs.",parameters:s.object({result:s.string().describe("The answer itself — what you found or did, not a replay of how. As long as the answer needs and no longer: one number is one line. In the user's language; the thread is on their screen. If you could not do it, say what stopped you.")})},h={name:n.TOOL_NAMES.task,description:"Check a job you handed over, answer what it is asking, or cancel it.",parameters:s.object({action:s.enum(["status","answer","cancel"]),task:s.string().nullish().describe('The job, by its label or by the handle a past call\'s transcript carries. Leave it out with `answer` and it goes to the job that moved last — what "that one" means a moment after it answered. With `status`: null for every job in one line each — that is the list — or name one to get its answer in full.'),answer:s.string().nullish().describe("With `answer`: what to tell the bot — the answer to its question, a course correction for a job still running, or what to do next on one that finished.")})},b=(0,a.tool)({description:c.description,inputSchema:c.parameters}),p=(0,a.tool)({description:d.description,inputSchema:d.parameters,execute:async({result:e})=>{let t=await f(e);return t.length?`${k} these files do not exist — ${t.join(", ")}. Write them first, or take the paths out of the answer.`:"Answered. The job is closed; nothing further runs."}}),k="Not answered:";async function f(e){let a=[];for(let s of(0,o.pathsIn)(e)){let e=await (0,r.insideWorkspace)(s);e&&(await (0,t.stat)(e).then(e=>e.isFile(),()=>!1)||a.push(s))}return a}e.s(["answerAccepted",0,e=>"string"!=typeof e||!e.startsWith(k),"answerTool",0,p,"askBackSpec",0,u,"askBotSpec",0,i,"askThursdayTool",0,b,"delegateSpec",0,l,"isAnswerCall",0,e=>e===n.TOOL_NAMES.answer||"report"===e,"taskSpec",0,h])},353885,e=>{"use strict";e.s(["STUDIO_TOOLS",0,{generate_image:"generate_image",generate_speech:"generate_speech",transcribe:"transcribe",generate_video:"generate_video"},"TOOL_NAMES",0,{memory_recall:"memory_recall",memory_remember:"memory_remember",memory_forget:"memory_forget",memory_conversation:"memory_conversation",bash:"bash",write_file:"write_file",tool_search:"tool_search",tool_call:"tool_call",load_skill:"load_skill",web_search:"web_search",delegate:"delegate",task:"task",ask_bot:"ask_bot",ask_thursday:"ask_thursday",ask_back:"ask_back",answer:"answer",end_call:"end_call"}])},780274,e=>e.a(async(t,a)=>{try{var s=e.i(875225),n=e.i(349129),o=e.i(260338),r=e.i(518899),l=e.i(380690),i=e.i(687388),u=e.i(528790),c=e.i(613240),d=e.i(316172),h=e.i(353885),b=e.i(41444),p=e.i(944971),k=t([u]);[u]=k.then?(await k)():k;let U=()=>l.appEvents.emit({type:"tasks"}),H={id:c.taskTable.id,bot:c.taskTable.bot,label:c.taskTable.label,request:c.taskTable.request,status:c.taskTable.status,outcome:c.taskTable.outcome,pending:c.taskTable.pending,seen:c.taskTable.seen,inputTokens:c.taskTable.inputTokens,outputTokens:c.taskTable.outputTokens,contextTokens:c.taskTable.contextTokens,contextBudget:c.taskTable.contextBudget,createdAt:c.taskTable.createdAt,updatedAt:c.taskTable.updatedAt};async function f(e){let{opening:t,...a}=e,[s]=await u.database.insert(c.taskTable).values({id:crypto.randomUUID(),status:"running",...a}).returning();return await N(s.id,0,{bot:null,parent:null,role:"user",content:t}),U(),s}async function g(e,t){await u.database.update(c.taskTable).set({...t,updatedAt:new Date}).where((0,s.eq)(c.taskTable.id,e)),U()}async function m(e,t,a=null){(t.input||t.output||null!==a)&&(await u.database.update(c.taskTable).set({inputTokens:r.sql`${c.taskTable.inputTokens} + ${t.input}`,outputTokens:r.sql`${c.taskTable.outputTokens} + ${t.output}`,...null===a?{}:{contextTokens:a.tokens,contextBudget:a.budget}}).where((0,s.eq)(c.taskTable.id,e)),U())}async function y(e){let[t]=await u.database.select().from(c.taskTable).where((0,s.eq)(c.taskTable.id,e));return t??null}async function T(){let[e,t]=await Promise.all([u.database.select(H).from(c.taskTable).where((0,s.inArray)(c.taskTable.status,["running","waiting"])).orderBy((0,n.desc)(c.taskTable.updatedAt)),u.database.select(H).from(c.taskTable).where((0,s.inArray)(c.taskTable.status,["done","failed"])).orderBy((0,n.desc)(c.taskTable.updatedAt)).limit(i.INBOX_FINISHED)]),a=[...e,...t].sort((e,t)=>t.updatedAt.getTime()-e.updatedAt.getTime());return v(a)}async function w(e={}){let t=await u.database.select(H).from(c.taskTable).where(e.before?(0,s.lt)(c.taskTable.updatedAt,e.before):void 0).orderBy((0,n.desc)(c.taskTable.updatedAt)).limit(e.limit??p.TASK_HISTORY_PAGE);return v(t)}async function M(e){return e.length?await u.database.select({id:c.taskTable.id,callId:c.taskTable.callId,label:c.taskTable.label,status:c.taskTable.status,outcome:c.taskTable.outcome}).from(c.taskTable).where((0,s.inArray)(c.taskTable.callId,e)).orderBy(c.taskTable.createdAt):[]}async function _(e){let t=await u.database.select({role:c.taskMessageTable.role,bot:c.taskMessageTable.bot,note:c.taskMessageTable.note,compact:c.taskMessageTable.compact}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.isNull)(c.taskMessageTable.parent))).orderBy((0,n.desc)(c.taskMessageTable.seq)),a=0;for(let e of t){if(e.note){e.compact||(a+=1);continue}if(null===e.bot||"user"===e.role)break}return a}async function A(e){let t=await u.database.select({parent:c.taskMessageTable.parent,bot:c.taskMessageTable.bot,content:c.taskMessageTable.content}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.isNotNull)(c.taskMessageTable.parent),(0,s.eq)(c.taskMessageTable.role,"assistant"))).orderBy(c.taskMessageTable.seq),a=new Map;for(let e of t){if(!e.parent)continue;let t=a.get(e.parent)??{bot:e.bot??"",texts:[],then:null},s=e.content;for(let e of"string"==typeof s?[{type:"text",text:s}]:s)"text"===e.type&&e.text.trim()?(t.texts.push(e.text.trim()),t.then=null):"tool-call"===e.type&&(t.then=`${e.toolName} ${L(e.toolName,e.input)}`.trim());a.set(e.parent,t)}let n=new Map;for(let[e,t]of a){let a=[...t.texts.slice(-3).map(e=>(0,b.clip)(e,600)),t.then?`Then: ${t.then}`:""].filter(Boolean).join("\n\n");a&&n.set(e,{bot:t.bot,tail:a})}return n}function S(e){let t=new Set;for(let a of e)if(Array.isArray(a))for(let e of a){if("tool-call"!==e.type||e.toolName!==h.TOOL_NAMES.write_file)continue;let a=e.input?.path;"string"==typeof a&&a.trim()&&(t.delete(a.trim()),t.add(a.trim()))}return[...t]}async function O(e){let t=await u.database.select({content:c.taskMessageTable.content}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.eq)(c.taskMessageTable.role,"assistant"))).orderBy(c.taskMessageTable.seq);return S(t.map(e=>e.content))}async function x(e){let t=e.trim();if(!t)return null;let a=await y(t);if(a)return a;let s=t.toLowerCase();return(await u.database.select().from(c.taskTable).orderBy((0,n.desc)(c.taskTable.updatedAt)).limit(20)).find(e=>e.label.toLowerCase()===s)??null}async function N(e,t,a){await u.database.insert(c.taskMessageTable).values({taskId:e,seq:t,...a,compact:a.compact??!1,note:a.note??!1}).onConflictDoUpdate({target:[c.taskMessageTable.taskId,c.taskMessageTable.seq],set:{role:a.role,content:a.content,compact:a.compact??!1,note:a.note??!1}}),U()}async function q(e,t){t.length&&(await u.database.delete(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.inArray)(c.taskMessageTable.seq,t))),U())}async function I(e){let[t]=await u.database.select({seq:(0,o.max)(c.taskMessageTable.seq)}).from(c.taskMessageTable).where((0,s.eq)(c.taskMessageTable.taskId,e));return t?.seq??-1}async function j(e){let t=await u.database.select({role:c.taskMessageTable.role,content:c.taskMessageTable.content,compact:c.taskMessageTable.compact}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.isNull)(c.taskMessageTable.parent))).orderBy(c.taskMessageTable.seq),a=t.findLastIndex(e=>e.compact);return(a>0?[t[0],...t.slice(a)]:t).map(e=>({role:e.role,content:e.content}))}async function v(e){if(0===e.length)return[];let t=await u.database.select().from(c.taskMessageTable).where((0,s.inArray)(c.taskMessageTable.taskId,e.map(e=>e.id))).orderBy(c.taskMessageTable.seq),a=new Map(e.map(e=>[e.id,e.bot])),n=new Map;for(let e of t){let t=n.get(e.taskId)??[];t.push(...function(e,t){let a={seq:e.seq,bot:e.bot,parent:e.parent,at:e.createdAt},s=t=>`${e.id}-${t}`,n=e.content;if("user"===e.role){if(0===e.seq)return[];let t="string"==typeof n?n:n.flatMap(e=>"text"===e.type&&e.text?[e.text]:[]).join("\n").trim();if(!t)return[];if(e.compact)return[{...a,id:s(0),kind:"note",text:t}];if(e.note){let e=t.endsWith(R)?t.slice(0,-R.length).trimEnd():t;return[{...a,id:s(0),kind:"stop",text:e}]}return[{...a,id:s(0),kind:"user",text:(0,p.untagSpeaker)(t)}]}if("assistant"===e.role){let n=e.content;if("string"==typeof n)return n.trim()?[{...a,id:s(0),kind:"text",text:n.trim()}]:[];let o=[];return n.forEach((e,n)=>{if("text"===e.type){let t=e.text.trim();t&&o.push({...a,id:s(n),kind:"text",text:t});return}if("tool-result"===e.type)return void o.push(C(a,s(n),e));if("tool-call"!==e.type)return;let r=e.input??{};if(e.toolName===h.TOOL_NAMES.ask_thursday)o.push({...a,id:s(n),kind:"waiting",callId:e.toolCallId,question:String(r.question??""),options:$(r.options)});else if((0,d.isAnswerCall)(e.toolName)){let e=String(r.result??"").trim();e&&o.push({...a,id:s(n),kind:"text",text:e})}else e.toolName===h.TOOL_NAMES.ask_bot?o.push({...a,id:s(n),kind:"ask",callId:e.toolCallId,to:String(r.bot??""),text:String(r.request??"")}):e.toolName===h.TOOL_NAMES.ask_back?o.push({...a,id:s(n),kind:"ask",callId:e.toolCallId,to:t,text:String(r.question??"")}):e.toolName===h.TOOL_NAMES.bash?o.push({...a,id:s(n),kind:"tool",callId:e.toolCallId,name:e.toolName,input:(0,b.clip)(String(r.command??""),120),note:E(r)}):o.push({...a,id:s(n),kind:"tool",callId:e.toolCallId,name:e.toolName,input:L(e.toolName,r),note:E(r),path:e.toolName===h.TOOL_NAMES.write_file?P(r,"path")??null:null})}),o}if("tool"===e.role){let t=[];return e.content.forEach((e,n)=>{if("tool-result"===e.type&&!((0,d.isAnswerCall)(e.toolName)&&(0,d.answerAccepted)(e.output)))if(e.toolName===h.TOOL_NAMES.ask_thursday){let o=W(e.output,4).flatMap(e=>"text"===e.type?[e.text]:[]).join("\n");t.push({...a,id:s(n),kind:"user",text:(0,p.untagSpeaker)(o)})}else if(e.toolName===h.TOOL_NAMES.ask_bot||e.toolName===h.TOOL_NAMES.ask_back){let o=W(e.output,4).flatMap(e=>"text"===e.type?[e.text]:[]).join("\n");t.push({...a,id:s(n),kind:"ask-result",callId:e.toolCallId,text:o})}else t.push(C(a,s(n),e))}),t}return[]}(e,a.get(e.taskId)??"")),n.set(e.taskId,t)}return e.map(e=>(function(e,t){let{pending:a,inputTokens:s,outputTokens:n,...o}=e;return{...o,ask:"waiting"===e.status?{question:e.outcome??"",options:a?.options??[],auto:a?.auto===!0}:null,tokens:{input:s,output:n},lines:t}})(e,n.get(e.id)??[]))}let J=["query","command","prompt","url","path","pattern","request","question","title","name","task","text"],P=(e,t)=>{let a=e[t];return"string"==typeof a&&a.trim()?a:null};function E(e){let t=P(e,"description");return t?(0,b.clip)(t,120):null}function L(e,t){let a=t??{};if("object"!=typeof a||Array.isArray(a))return(0,b.clip)(String(t??""),120);if(e===h.TOOL_NAMES.bash)return E(a)??(0,b.clip)(String(a.command??""),120);if(e===h.TOOL_NAMES.tool_call||e===h.TOOL_NAMES.tool_search){let e=Array.isArray(a.tools)?a.tools.map(String).join(", "):String(a.tool??""),t=a.args&&"object"==typeof a.args?JSON.stringify(a.args):"";return(0,b.clip)([String(a.server??""),e,t].filter(Boolean).join(" "),120)}for(let e of J){let t=P(a,e);if(t)return(0,b.clip)(t,120)}for(let e of Object.keys(a)){let t=P(a,e);if(t)return(0,b.clip)(t,120)}return Object.keys(a).length?(0,b.clip)(JSON.stringify(a),120):""}async function B(e,t){for(let a of(await u.database.select({role:c.taskMessageTable.role,content:c.taskMessageTable.content}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.inArray)(c.taskMessageTable.role,["tool","assistant"])))))if("string"!=typeof a.content){for(let e of a.content)if("tool-result"===e.type&&e.toolCallId===t)return W(e.output,400)}return null}let R="Anything that was under way — a command, a page loading, a download — may not have finished: check before relying on it, then carry on.";function C(e,t,a){let s=W(a.output,5);return{...e,id:t,kind:"tool-result",callId:a.toolCallId,name:a.toolName,results:s.slice(0,4),more:s.length>4}}function $(e){return Array.isArray(e)?e.map(e=>String(e).trim()).filter(Boolean):[]}function W(e,t){if(null==e)return[];if("string"==typeof e)return D(e,t);if("object"!=typeof e)return D(String(e),t);switch(e.type){case"text":case"error-text":return D(String(e.value??""),t);case"json":case"error-json":return W(e.value,t);case"execution-denied":return D("Denied.",t);case"content":{if(!Array.isArray(e.value))return[];let a=[];for(let s of e.value){if("text"===s.type&&"string"==typeof s.text){a.push(...D(s.text,t));continue}let e=function(e){let t=String(e.mediaType??"");if(!t.startsWith("image/"))return null;let a=e.data;return"string"==typeof a?`data:${t};base64,${a}`:a?.type==="url"&&a.url?a.url:a?.type==="data"&&"string"==typeof a.data?`data:${t};base64,${a.data}`:null}(s);e&&a.push({type:"image",src:e})}return a}}return Array.isArray(e.sources)?e.sources.map(e=>String(e?.title??"")).filter(Boolean).slice(0,t).map(e=>({type:"text",text:e})):"string"==typeof e.stdout?D(e.stdout||String(e.stderr??""),t):"string"==typeof e.answer?D(e.answer,t):D(JSON.stringify(e),t)}function D(e,t){return e.split("\n").map(e=>e.trim()).filter(Boolean).slice(0,t).map(e=>({type:"text",text:e}))}e.s(["addTaskUsage",0,m,"countStopsSinceSpoken",0,_,"deleteMessages",0,q,"findTask",0,y,"insertTask",0,f,"lastSeq",0,I,"listBorrowedTails",0,A,"listCallJobs",0,M,"listInboxTasks",0,T,"listTaskHistory",0,w,"listThread",0,j,"listWrittenPaths",0,O,"optionsOf",0,$,"readToolResult",0,B,"resolveTask",0,x,"stopNote",0,e=>`${e} ${R}`,"updateTask",0,g,"upsertMessage",0,N,"writtenPathsIn",0,S]),a()}catch(e){a(e)}},!1)];
1
+ module.exports=[316172,e=>{"use strict";var t=e.i(912714),a=e.i(847841),s=e.i(907855),o=e.i(353885),n=e.i(629668),r=e.i(786025);let l={name:o.TOOL_NAMES.delegate,description:"Hand a job to a bot. Returns immediately; the job runs in the background and its result is put in front of you later.",parameters:s.object({bot:s.string().describe("A name from the bot list."),request:s.string().describe("The whole job. The bot cannot hear the call, so everything it needs goes here — names, paths, what the user actually asked for — in their own language and their own words: it is the only language the bot has, and whatever it writes comes back to them. **Their request, never your reading of it**: a condition, a caution or a smaller goal they did not say is how a job comes back as the wrong thing. When their words leave a real choice open, ask them on the call and put the answer here."),label:s.string().describe("Two or three words naming the job, in the user's language. Used on screen and said out loud.")})},i={name:o.TOOL_NAMES.ask_bot,description:"Send a request to another bot on this job and wait for their reply. The same bot continues its own work and conversation whenever you ask it again. The job stays yours.",parameters:s.object({bot:s.string().describe("A name from the bot list."),request:s.string().describe("The part they take: the outcome you want, the shape to hand it back in (a path, a number, a list), and every name, path, number and limit that bears on it. It reaches them under the job and the call it came from, which are attached for you — write the part, not the job again."),context:s.string().describe("Pass on what you know that they do not: exact values and paths they need. They keep their own previous work and your exchanges, but cannot read your private thread or tool output.")})},u={name:o.TOOL_NAMES.ask_back,description:"Ask the bot that handed you this part. They answer from what they have — the original request, the call it came from, what they found before asking you.",parameters:s.object({question:s.string().describe("One whole question — what you need and why. They cannot take it to the user for you, so ask what they would know.")})},c={name:o.TOOL_NAMES.ask_thursday,description:"Ask Thursday, who handed you this job. The job stops until an answer comes back.",parameters:s.object({question:s.string().describe("One whole question — what you need and why. One or two sentences, in the user's language: she may read it to them out loud, options and all."),options:s.union([s.string().array(),s.string()]).nullish().describe('Only when there really are choices — two or three, each short, as an array: ["Signed in", "Not yet"]. Null for an open question.')})},d={name:o.TOOL_NAMES.answer,description:"Answer the job you were given. Calling this ends the job — nothing after it runs.",parameters:s.object({result:s.string().describe("The answer itself — what you found or did, not a replay of how. As long as the answer needs and no longer: one number is one line. In the user's language; the thread is on their screen. If you could not do it, say what stopped you.")})},p={name:o.TOOL_NAMES.task,description:"Check a job you handed over, answer what it is asking, or cancel it.",parameters:s.object({action:s.enum(["status","answer","cancel"]),task:s.string().nullish().describe('The job, by its label or by the handle a past call\'s transcript carries. Leave it out with `answer` and it goes to the job that moved last — what "that one" means a moment after it answered. With `status`: null for every job in one line each — that is the list — or name one to get its answer in full.'),answer:s.string().nullish().describe("With `answer`: what to tell the bot — the answer to its question, a course correction for a job still running, or what to do next on one that finished.")})},h=(0,a.tool)({description:c.description,inputSchema:c.parameters}),b=(0,a.tool)({description:d.description,inputSchema:d.parameters,execute:async({result:e})=>{let t=await f(e);return t.length?`${k} these files do not exist — ${t.join(", ")}. Write them first, or take the paths out of the answer.`:"Answered. The job is closed; nothing further runs."}}),k="Not answered:";async function f(e){let a=[];for(let s of(0,n.pathsIn)(e)){let e=await (0,r.insideWorkspace)(s);e&&(await (0,t.stat)(e).then(e=>e.isFile(),()=>!1)||a.push(s))}return a}e.s(["answerAccepted",0,e=>"string"!=typeof e||!e.startsWith(k),"answerTool",0,b,"askBackSpec",0,u,"askBotSpec",0,i,"askThursdayTool",0,h,"delegateSpec",0,l,"isAnswerCall",0,e=>e===o.TOOL_NAMES.answer||"report"===e,"taskSpec",0,p])},353885,e=>{"use strict";e.s(["STUDIO_TOOLS",0,{generate_image:"generate_image",generate_speech:"generate_speech",transcribe:"transcribe",generate_video:"generate_video"},"TOOL_NAMES",0,{memory_recall:"memory_recall",memory_remember:"memory_remember",memory_forget:"memory_forget",memory_conversation:"memory_conversation",bash:"bash",write_file:"write_file",tool_search:"tool_search",tool_call:"tool_call",load_skill:"load_skill",web_search:"web_search",delegate:"delegate",task:"task",ask_bot:"ask_bot",ask_thursday:"ask_thursday",ask_back:"ask_back",answer:"answer",end_call:"end_call"}])},780274,e=>e.a(async(t,a)=>{try{var s=e.i(875225),o=e.i(349129),n=e.i(260338),r=e.i(518899),l=e.i(380690),i=e.i(687388),u=e.i(528790),c=e.i(613240),d=e.i(316172),p=e.i(353885),h=e.i(41444),b=e.i(944971),k=t([u]);[u]=k.then?(await k)():k;let P=()=>l.appEvents.emit({type:"tasks"}),H={id:c.taskTable.id,bot:c.taskTable.bot,label:c.taskTable.label,request:c.taskTable.request,status:c.taskTable.status,outcome:c.taskTable.outcome,pending:c.taskTable.pending,seen:c.taskTable.seen,inputTokens:c.taskTable.inputTokens,outputTokens:c.taskTable.outputTokens,contextTokens:c.taskTable.contextTokens,contextBudget:c.taskTable.contextBudget,createdAt:c.taskTable.createdAt,updatedAt:c.taskTable.updatedAt};async function f(e){let{opening:t,...a}=e,[s]=await u.database.insert(c.taskTable).values({id:crypto.randomUUID(),status:"running",...a}).returning();return await x(s.id,0,{bot:null,parent:null,role:"user",content:t}),P(),s}async function g(e,t){await u.database.update(c.taskTable).set({...t,updatedAt:new Date}).where((0,s.eq)(c.taskTable.id,e)),P()}async function m(e,t,a=null){(t.input||t.output||null!==a)&&(await u.database.update(c.taskTable).set({inputTokens:r.sql`${c.taskTable.inputTokens} + ${t.input}`,outputTokens:r.sql`${c.taskTable.outputTokens} + ${t.output}`,...null===a?{}:{contextTokens:a.tokens,contextBudget:a.budget}}).where((0,s.eq)(c.taskTable.id,e)),P())}async function y(e){let[t]=await u.database.select().from(c.taskTable).where((0,s.eq)(c.taskTable.id,e));return t??null}async function T(){let[e,t]=await Promise.all([u.database.select(H).from(c.taskTable).where((0,s.inArray)(c.taskTable.status,["running","waiting"])).orderBy((0,o.desc)(c.taskTable.updatedAt)),u.database.select(H).from(c.taskTable).where((0,s.inArray)(c.taskTable.status,["done","failed"])).orderBy((0,o.desc)(c.taskTable.updatedAt)).limit(i.INBOX_FINISHED)]),a=[...e,...t].sort((e,t)=>t.updatedAt.getTime()-e.updatedAt.getTime());return L(a)}async function w(e={}){let t=await u.database.select(H).from(c.taskTable).where(e.before?(0,s.lt)(c.taskTable.updatedAt,e.before):void 0).orderBy((0,o.desc)(c.taskTable.updatedAt)).limit(e.limit??b.TASK_HISTORY_PAGE);return L(t)}async function M(e){return e.length?await u.database.select({id:c.taskTable.id,callId:c.taskTable.callId,label:c.taskTable.label,status:c.taskTable.status,outcome:c.taskTable.outcome}).from(c.taskTable).where((0,s.inArray)(c.taskTable.callId,e)).orderBy(c.taskTable.createdAt):[]}async function _(e){let t=await u.database.select({role:c.taskMessageTable.role,bot:c.taskMessageTable.bot,note:c.taskMessageTable.note,compact:c.taskMessageTable.compact}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.isNull)(c.taskMessageTable.parent))).orderBy((0,o.desc)(c.taskMessageTable.seq)),a=0;for(let e of t){if(e.note){e.compact||(a+=1);continue}if(null===e.bot||"user"===e.role)break}return a}async function A(e){let t=await u.database.select({parent:c.taskMessageTable.parent,bot:c.taskMessageTable.bot,content:c.taskMessageTable.content}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.isNotNull)(c.taskMessageTable.parent),(0,s.inArray)(c.taskMessageTable.role,["assistant","tool"]))).orderBy(c.taskMessageTable.seq),a=new Map,o=new Map;for(let e of t){if(!e.parent)continue;let t=a.get(e.parent)??{bot:e.bot??"",texts:[],then:null,exchanges:[]},s=e.content;for(let e of"string"==typeof s?[{type:"text",text:s}]:s)if("text"===e.type&&e.text.trim())t.texts.push(e.text.trim()),t.then=null;else if("tool-call"===e.type)t.then=`${e.toolName} ${$(e.toolName,e.input)}`.trim(),e.toolName===p.TOOL_NAMES.ask_back&&o.set(e.toolCallId,String(e.input.question??""));else if("tool-result"===e.type&&e.toolName===p.TOOL_NAMES.ask_back){let a=D(e.output,1/0).flatMap(e=>"text"===e.type?[e.text]:[]).join("\n");t.exchanges.push(`They asked you: ${o.get(e.toolCallId)??""}
2
+ You answered: ${a}`)}a.set(e.parent,t)}let n=new Map;for(let[e,t]of a){let a=[...t.texts.slice(-3).map(e=>(0,h.clip)(e,600)),...t.exchanges.map(e=>(0,h.clip)(e,600)),t.then?`Then: ${t.then}`:""].filter(Boolean).join("\n\n");a&&n.set(e,{bot:t.bot,tail:a})}return n}function S(e){let t=new Set;for(let a of e)if(Array.isArray(a))for(let e of a){if("tool-call"!==e.type||e.toolName!==p.TOOL_NAMES.write_file)continue;let a=e.input?.path;"string"==typeof a&&a.trim()&&(t.delete(a.trim()),t.add(a.trim()))}return[...t]}async function O(e){let t=await u.database.select({content:c.taskMessageTable.content}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.eq)(c.taskMessageTable.role,"assistant"))).orderBy(c.taskMessageTable.seq);return S(t.map(e=>e.content))}async function N(e){let t=e.trim();if(!t)return null;let a=await y(t);if(a)return a;let s=t.toLowerCase();return(await u.database.select().from(c.taskTable).orderBy((0,o.desc)(c.taskTable.updatedAt)).limit(20)).find(e=>e.label.toLowerCase()===s)??null}async function x(e,t,a){await u.database.insert(c.taskMessageTable).values({taskId:e,seq:t,...a,compact:a.compact??!1,note:a.note??!1}).onConflictDoUpdate({target:[c.taskMessageTable.taskId,c.taskMessageTable.seq],set:{role:a.role,content:a.content,compact:a.compact??!1,note:a.note??!1}}),P()}async function q(e,t){t.length&&(await u.database.delete(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.inArray)(c.taskMessageTable.seq,t))),P())}async function I(e){let[t]=await u.database.select({seq:(0,n.max)(c.taskMessageTable.seq)}).from(c.taskMessageTable).where((0,s.eq)(c.taskMessageTable.taskId,e));return t?.seq??-1}async function j(e){let t=await u.database.select({role:c.taskMessageTable.role,content:c.taskMessageTable.content,compact:c.taskMessageTable.compact}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.isNull)(c.taskMessageTable.parent))).orderBy(c.taskMessageTable.seq),a=t.findLastIndex(e=>e.compact);return(a>0?[t[0],...t.slice(a)]:t).map(e=>({role:e.role,content:e.content}))}async function v(e,t){let a=await u.database.select().from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.isNotNull)(c.taskMessageTable.parent),(0,s.eq)(r.sql`lower(${c.taskMessageTable.bot})`,t.toLowerCase()))).orderBy(c.taskMessageTable.seq),o=await u.database.select({content:c.taskMessageTable.content,bot:c.taskMessageTable.bot}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.eq)(c.taskMessageTable.role,"assistant"))).orderBy(c.taskMessageTable.seq),n=new Map;for(let e of o)if(Array.isArray(e.content))for(let a of e.content){if("tool-call"!==a.type||a.toolName!==p.TOOL_NAMES.ask_bot)continue;let s=a.input;n.set(a.toolCallId,{role:"user",content:`${e.bot} → ${t}:
3
+
4
+ ${s.request??""}
5
+
6
+ ${s.context??""}`})}let l=[],i=new Set;for(let e of a){if(e.parent&&!i.has(e.parent)&&(i.add(e.parent),"user"!==e.role||e.compact)){let t=n.get(e.parent);t&&l.push({message:t,compact:!1})}l.push({message:{role:e.role,content:e.content},compact:e.compact})}let d=l.findLastIndex(e=>e.compact);return(d>0?[l[0],...l.slice(d)]:l).map(e=>e.message)}async function L(e){if(0===e.length)return[];let t=await u.database.select().from(c.taskMessageTable).where((0,s.inArray)(c.taskMessageTable.taskId,e.map(e=>e.id))).orderBy(c.taskMessageTable.seq),a=new Map(e.map(e=>[e.id,e.bot])),o=new Map;for(let e of t)if("assistant"===e.role&&Array.isArray(e.content))for(let t of e.content)"tool-call"===t.type&&t.toolName===p.TOOL_NAMES.ask_bot&&e.bot&&o.set(`${e.taskId}:${t.toolCallId}`,e.bot);let n=new Map;for(let e of t){let t=n.get(e.taskId)??[];t.push(...function(e,t){let a={seq:e.seq,bot:e.bot,parent:e.parent,at:e.createdAt},s=t=>`${e.id}-${t}`,o=e.content;if("user"===e.role){if(0===e.seq||e.parent&&!e.compact&&!e.note)return[];let t="string"==typeof o?o:o.flatMap(e=>"text"===e.type&&e.text?[e.text]:[]).join("\n").trim();if(!t)return[];if(e.compact)return[{...a,id:s(0),kind:"note",text:t}];if(e.note){let e=t.endsWith(F)?t.slice(0,-F.length).trimEnd():t;return[{...a,id:s(0),kind:"stop",text:e}]}return[{...a,id:s(0),kind:"user",text:(0,b.untagSpeaker)(t)}]}if("assistant"===e.role){let o=e.content;if("string"==typeof o)return o.trim()?[{...a,id:s(0),kind:"text",text:o.trim()}]:[];let n=[];return o.forEach((e,o)=>{if("text"===e.type){let t=e.text.trim();t&&n.push({...a,id:s(o),kind:"text",text:t});return}if("tool-result"===e.type)return void n.push(C(a,s(o),e));if("tool-call"!==e.type)return;let r=e.input??{};if(e.toolName===p.TOOL_NAMES.ask_thursday)n.push({...a,id:s(o),kind:"waiting",callId:e.toolCallId,question:String(r.question??""),options:W(r.options)});else if((0,d.isAnswerCall)(e.toolName)){let e=String(r.result??"").trim();e&&n.push({...a,id:s(o),kind:"text",text:e})}else e.toolName===p.TOOL_NAMES.ask_bot?n.push({...a,id:s(o),kind:"ask",callId:e.toolCallId,to:String(r.bot??""),text:String(r.request??"")}):e.toolName===p.TOOL_NAMES.ask_back?n.push({...a,id:s(o),kind:"ask",callId:e.toolCallId,to:t,text:String(r.question??"")}):e.toolName===p.TOOL_NAMES.bash?n.push({...a,id:s(o),kind:"tool",callId:e.toolCallId,name:e.toolName,input:(0,h.clip)(String(r.command??""),120),note:E(r)}):n.push({...a,id:s(o),kind:"tool",callId:e.toolCallId,name:e.toolName,input:$(e.toolName,r),note:E(r),path:e.toolName===p.TOOL_NAMES.write_file?R(r,"path")??null:null})}),n}if("tool"===e.role){let t=[];return e.content.forEach((e,o)=>{if("tool-result"===e.type&&!((0,d.isAnswerCall)(e.toolName)&&(0,d.answerAccepted)(e.output)))if(e.toolName===p.TOOL_NAMES.ask_thursday){let n=D(e.output,4).flatMap(e=>"text"===e.type?[e.text]:[]).join("\n");t.push({...a,id:s(o),kind:"user",text:(0,b.untagSpeaker)(n)})}else if(e.toolName===p.TOOL_NAMES.ask_bot||e.toolName===p.TOOL_NAMES.ask_back){let n=D(e.output,4).flatMap(e=>"text"===e.type?[e.text]:[]).join("\n");t.push({...a,id:s(o),kind:"ask-result",callId:e.toolCallId,text:n})}else t.push(C(a,s(o),e))}),t}return[]}(e,(e.parent?o.get(`${e.taskId}:${e.parent}`):null)??a.get(e.taskId)??"")),n.set(e.taskId,t)}return e.map(e=>(function(e,t){let{pending:a,inputTokens:s,outputTokens:o,...n}=e;return{...n,ask:"waiting"===e.status?{question:e.outcome??"",options:a?.options??[],auto:a?.auto===!0}:null,tokens:{input:s,output:o},lines:t}})(e,n.get(e.id)??[]))}let J=["query","command","prompt","url","path","pattern","request","question","title","name","task","text"],R=(e,t)=>{let a=e[t];return"string"==typeof a&&a.trim()?a:null};function E(e){let t=R(e,"description");return t?(0,h.clip)(t,120):null}function $(e,t){let a=t??{};if("object"!=typeof a||Array.isArray(a))return(0,h.clip)(String(t??""),120);if(e===p.TOOL_NAMES.bash)return E(a)??(0,h.clip)(String(a.command??""),120);if(e===p.TOOL_NAMES.tool_call||e===p.TOOL_NAMES.tool_search){let e=Array.isArray(a.tools)?a.tools.map(String).join(", "):String(a.tool??""),t=a.args&&"object"==typeof a.args?JSON.stringify(a.args):"";return(0,h.clip)([String(a.server??""),e,t].filter(Boolean).join(" "),120)}for(let e of J){let t=R(a,e);if(t)return(0,h.clip)(t,120)}for(let e of Object.keys(a)){let t=R(a,e);if(t)return(0,h.clip)(t,120)}return Object.keys(a).length?(0,h.clip)(JSON.stringify(a),120):""}async function B(e,t){for(let a of(await u.database.select({role:c.taskMessageTable.role,content:c.taskMessageTable.content}).from(c.taskMessageTable).where((0,s.and)((0,s.eq)(c.taskMessageTable.taskId,e),(0,s.inArray)(c.taskMessageTable.role,["tool","assistant"])))))if("string"!=typeof a.content){for(let e of a.content)if("tool-result"===e.type&&e.toolCallId===t)return D(e.output,400)}return null}let F="Anything that was under way — a command, a page loading, a download — may not have finished: check before relying on it, then carry on.";function C(e,t,a){let s=D(a.output,5);return{...e,id:t,kind:"tool-result",callId:a.toolCallId,name:a.toolName,results:s.slice(0,4),more:s.length>4}}function W(e){return Array.isArray(e)?e.map(e=>String(e).trim()).filter(Boolean):[]}function D(e,t){if(null==e)return[];if("string"==typeof e)return U(e,t);if("object"!=typeof e)return U(String(e),t);switch(e.type){case"text":case"error-text":return U(String(e.value??""),t);case"json":case"error-json":return D(e.value,t);case"execution-denied":return U("Denied.",t);case"content":{if(!Array.isArray(e.value))return[];let a=[];for(let s of e.value){if("text"===s.type&&"string"==typeof s.text){a.push(...U(s.text,t));continue}let e=function(e){let t=String(e.mediaType??"");if(!t.startsWith("image/"))return null;let a=e.data;return"string"==typeof a?`data:${t};base64,${a}`:a?.type==="url"&&a.url?a.url:a?.type==="data"&&"string"==typeof a.data?`data:${t};base64,${a.data}`:null}(s);e&&a.push({type:"image",src:e})}return a}}return Array.isArray(e.sources)?e.sources.map(e=>String(e?.title??"")).filter(Boolean).slice(0,t).map(e=>({type:"text",text:e})):"string"==typeof e.stdout?U(e.stdout||String(e.stderr??""),t):"string"==typeof e.answer?U(e.answer,t):U(JSON.stringify(e),t)}function U(e,t){return e.split("\n").map(e=>e.trim()).filter(Boolean).slice(0,t).map(e=>({type:"text",text:e}))}e.s(["addTaskUsage",0,m,"countStopsSinceSpoken",0,_,"deleteMessages",0,q,"findTask",0,y,"insertTask",0,f,"lastSeq",0,I,"listBorrowedTails",0,A,"listBotThread",0,v,"listCallJobs",0,M,"listInboxTasks",0,T,"listTaskHistory",0,w,"listThread",0,j,"listWrittenPaths",0,O,"optionsOf",0,W,"readToolResult",0,B,"resolveTask",0,N,"stopNote",0,e=>`${e} ${F}`,"updateTask",0,g,"upsertMessage",0,x,"writtenPathsIn",0,S]),a()}catch(e){a(e)}},!1)];
2
7
 
3
8
  //# sourceMappingURL=features_1qf3cei._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[329280,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_readline_1u65a-m._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_02axwqv._.js"].map(s=>e.l(s))).then(()=>s(781937)))}];
2
2
 
3
- //# sourceMappingURL=node_modules_consola_dist_chunks_prompt_mjs_0r28-sm._.js.map
3
+ //# sourceMappingURL=node_modules_consola_dist_chunks_prompt_mjs_17k8irj._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[329280,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_node_readline_1u65a-m._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_02axwqv._.js"].map(s=>e.l(s))).then(()=>s(781937)))}];
2
2
 
3
- //# sourceMappingURL=node_modules_consola_dist_chunks_prompt_mjs_1xoq2rl._.js.map
3
+ //# sourceMappingURL=node_modules_consola_dist_chunks_prompt_mjs_1jidylq._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[874533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},912714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},509656,(a,b,c)=>{b.exports=a.x("node:tty",()=>require("node:tty"))},812057,(a,b,c)=>{b.exports=a.x("node:util",()=>require("node:util"))},701876,a=>{"use strict";var b=a.i(451208);a.s([],489277),a.i(489277),a.s(["7fe75c180b16ec13b8c8052e5fbacba3e5789f0aca",()=>b.openFileAction],701876)},451208,a=>{"use strict";var b=a.i(137936),c=a.i(821415),d=a.i(912714),e=a.i(750227),f=a.i(569572),g=a.i(293480);async function h(a){let b=await (0,c.insideWorkspace)(a);b||(0,g.publicError)("Outside the workspace");let e=await (0,d.stat)(b).catch(()=>null);e||(0,g.publicError)("File not found"),e.isFile()||(0,g.publicError)("That is a folder, not a file"),await (0,d.rm)(b)}async function i(){let a=(0,e.join)(c.WORKSPACE,f.PATHS.scratch);for(let b of(await (0,d.readdir)(a).catch(()=>[])))await (0,d.rm)((0,e.join)(a,b),{recursive:!0,force:!0})}a.i(684321);var j=a.i(225689),k=a.i(874533),l=a.i(812057);let m={darwin:a=>["open",[a]],win32:a=>["cmd.exe",["/c","start","",a]],linux:a=>["xdg-open",[a]]};async function n(a){await (0,d.access)(a);let b=m[process.platform]?.(a);if(!b)throw Error(`Opening files is not wired up on ${process.platform}.`);let[c,e]=b;await (0,l.promisify)(k.execFile)(c,e,{windowsHide:!0})}var o=a.i(182248),p=a.i(713095);let q=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?");let d=(await (0,c.openWorkspace)()).resolve(b);try{await n(d)}catch(a){(0,g.publicError)(`Could not open ${b}: ${(0,o.errorToString)(a)}`)}}),r=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?"),await h(b)}),s=(0,j.serverAction)(async()=>i());(0,p.ensureServerEntryExports)([q,r,s]),(0,b.registerServerReference)(q,"7fe75c180b16ec13b8c8052e5fbacba3e5789f0aca",null),(0,b.registerServerReference)(r,"7f2cd09869c1a94eb452d214e327ed12bf3043400f",null),(0,b.registerServerReference)(s,"7fffb395383564466b268157450b588677d6134f7b",null),a.s(["deleteWorkspaceFileAction",0,r,"emptyScratchAction",0,s,"openFileAction",0,q],451208)},225689,a=>{"use strict";a.i(570396);var b=a.i(673727),c=a.i(975160),d=a.i(176668),e=a.i(293480);let f=a=>!!a&&"object"==typeof a&&(!0===a.$ok||!1===a.$ok),g=a=>f(a)&&a.$ok,h=a=>({$ok:!0,data:a}),i=a=>({$ok:!1,message:a});async function j(a){try{let b=h(await a());for(;g(b)&&f(b.data);)b=b.data;return b}catch(a){if((0,b.unstable_rethrow)(a),(0,e.isPublicError)(a))return i(a.message);if(a instanceof c.ZodError)return i(a.issues[0]?.message);if(f(a)&&!a.$ok)return a;return d.logger.error(a),i()}}a.s(["serverAction",0,a=>(...b)=>j(()=>a(...b))],225689)},293480,a=>{"use strict";class b extends Error{message;constructor(a){super(a),this.message=a}}a.s(["isPublicError",0,a=>a instanceof b,"publicError",0,function(a){throw new b(a)}])},832030,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_readline_1u65a-m._.js","server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_1j4x-_j._.js"].map(b=>a.l(b))).then(()=>b(322479)))},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0-nob52._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[509656,(a,b,c)=>{b.exports=a.x("node:tty",()=>require("node:tty"))},812057,(a,b,c)=>{b.exports=a.x("node:util",()=>require("node:util"))},707196,a=>{"use strict";var b=a.i(730983),c=a.i(100031);let d=(0,b.realtimeSession)({transport:({credential:a,audio:b,on:d})=>(0,c.createWebRtcTransport)({url:"https://api.openai.com/v1/realtime/calls",secret:a.value,label:"OpenAI",audio:b,on:d}),sessionUpdate:a=>({type:"session.update",session:{type:"realtime",model:a.model,instructions:a.instructions,audio:{input:{transcription:{model:"gpt-live-transcribe"}},output:{voice:a.voice}},tools:(0,b.toFunctionTools)(a.tools)}})});a.s(["createOpenAiSession",0,d])},715837,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0dizgek._.js","server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_05cwqv2._.js"].map(b=>a.l(b))).then(()=>b(270101)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__202p40z._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0s4wb56._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},287702,a=>{"use strict";process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),process.env.THURSDAY_HOME?.trim()||process.cwd(),process.env.THURSDAY_URL?.trim()||process.env.PORT?.trim();let b=".ai-workspace",c={workspace:b,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",skills:{default:"skills",custom:`${b}/.agents/skills`}};a.s(["APP_NAME",0,"Thursday","ARTIFACT_VIEW",0,{rows:200,setFiles:120},"ASCII_FACE",0,{charset:"emojiOnly",fontSize:{default:8,min:4,max:16},density:{default:1.4,min:.6,max:2}},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},depth:2,askBack:3,silenceMs:3e5,autoResumes:3,retryAfterMs:[3e4,12e4,3e5],overflowShrink:.6,compactFiles:40},"BROWSER_SKILL",0,"browser","CALL_HISTORY_PAGE",0,10,"IS_DEV",0,!1,"PAGE_SIZE",0,50,"PATHS",0,c,"PROMPT_CROWDED",0,{bots:10,skills:20},"STUDIO_SERVER",0,"studio","WORKSPACE_VIEW",0,{rows:200,textMax:524288,elementMax:0x3200000}])},992025,a=>{a.v(a=>Promise.resolve().then(()=>a(948986)))},929490,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0b__sgl._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(161868)))},969267,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1aaxuef._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1feyqvf._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_cytoscape_dist_cytoscape_esm_mjs_0arohj6._.js","server/chunks/ssr/node_modules_11trqmi._.js"].map(b=>a.l(b))).then(()=>b(626047)))},784520,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0qwth-_._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_blockDiagram-I7D4REHJ_mjs_0qg1lr5._.js"].map(b=>a.l(b))).then(()=>b(155638)))},613707,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-F27PBJKO_mjs_0ms0zmb._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_c4Diagram-7LVT6UL2_mjs_06bhe3-._.js"].map(b=>a.l(b))).then(()=>b(557384)))},53467,a=>{"use strict";var b=a.i(261234),c=a.i(539110);a.i(975930);var d=a.i(671731),e=(0,c.__name)(a=>{let{securityLevel:c}=(0,b.getConfig2)(),e=(0,d.select)("body");if("sandbox"===c){let b=(0,d.select)(`#i${a}`),c=b.node()?.contentDocument??document;e=(0,d.select)(c.body)}return e.select(`#${a}`)},"selectSvgElement");a.s(["selectSvgElement",0,e])},882458,a=>{"use strict";var b=a.i(416635),c=a.i(43429),d=a.i(428212),e=a.i(916573),f=a.i(887370),g=a.i(261234),h=a.i(875117),i=a.i(539110),j={common:g.common_default,getConfig:g.getConfig,insertCluster:b.insertCluster,insertEdge:c.insertEdge,insertEdgeLabel:c.insertEdgeLabel,insertMarkers:c.markers_default,insertNode:d.insertNode,interpolateToCurve:f.interpolateToCurve,labelHelper:e.labelHelper,log:h.log,positionEdgeLabel:c.positionEdgeLabel},k={},l=(0,i.__name)(a=>{for(let b of a)k[b.name]=b},"registerLayoutLoaders");(0,i.__name)(()=>{l([{name:"dagre",loader:(0,i.__name)(async()=>await a.A(390118),"loader")},{name:"swimlane",loader:(0,i.__name)(async()=>await a.A(860094),"loader")},{name:"cose-bilkent",loader:(0,i.__name)(async()=>await a.A(989520),"loader")}])},"registerDefaultLayoutLoaders")();var m=(0,i.__name)(async(a,b)=>{if(!(a.layoutAlgorithm in k))throw Error(`Unknown layout algorithm: ${a.layoutAlgorithm}`);if(a.diagramId)for(let b of a.nodes){let c=b.domId||b.id;b.domId=`${a.diagramId}-${c}`}let c=k[a.layoutAlgorithm],d=await c.loader(),{theme:e,themeVariables:f}=a.config,{useGradient:g,gradientStart:h,gradientStop:i}=f,l=b.attr("id");if(b.append("defs").append("filter").attr("id",`${l}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${e?.includes("dark")?"#FFFFFF":"#000000"}`),b.append("defs").append("filter").attr("id",`${l}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${e?.includes("dark")?"#FFFFFF":"#000000"}`),g){let a=b.append("linearGradient").attr("id",b.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");a.append("svg:stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),a.append("svg:stop").attr("offset","100%").attr("stop-color",i).attr("stop-opacity",1)}return d.render(a,b,j,{algorithm:c.algorithm})},"render"),n=(0,i.__name)((a="",{fallback:b="dagre"}={})=>{if(a in k)return a;if(b in k)return h.log.warn(`Layout algorithm ${a} is not registered. Using ${b} as fallback.`),b;throw Error(`Both layout algorithms ${a} and ${b} are not registered.`)},"getRegisteredLayoutAlgorithm");a.s(["getRegisteredLayoutAlgorithm",0,n,"registerLayoutLoaders",0,l,"render",0,m])},854712,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1v463pe._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-TICWLB2K_mjs_1t97mh7._.js"].map(b=>a.l(b))).then(()=>b(336243)))},892569,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0thh8pk._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-TICWLB2K_mjs_1t97mh7._.js"].map(b=>a.l(b))).then(()=>b(538994)))},989520,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1nl12mt._.js","server/chunks/ssr/node_modules_cytoscape_dist_cytoscape_esm_mjs_0arohj6._.js"].map(b=>a.l(b))).then(()=>b(127273)))},388833,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1eg7m6c._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(517237)))},390118,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_dagre-GXQ25YYZ_mjs_0k_lz8d._.js","server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_0g66msq.js"].map(b=>a.l(b))).then(()=>b(920028)))},831868,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1qpjvy5._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0eji647._.js"].map(b=>a.l(b))).then(()=>b(767190)))},840309,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1cz2hle._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(464445)))},835410,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1vh5ntv._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(617803)))},728413,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0940ns5._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_diagram-VX7I27RA_mjs_0dl8gzm._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_13hksv_._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(217755)))},992149,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_00etblx._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(752425)))},70220,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_14om4ar._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(137554)))},595386,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0il0v7d._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_erDiagram-RLTQ6QDP_mjs_18g60i7._.js"].map(b=>a.l(b))).then(()=>b(239909)))},707604,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0ql0igl._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SHT3W25Y_mjs_00p5j42._.js"].map(b=>a.l(b))).then(()=>b(1258)))},598518,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1831lye._.js","server/chunks/ssr/node_modules_1_d0q_7._.js"].map(b=>a.l(b))).then(()=>b(722966)))},126571,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0_-_a--._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0dlpxwr._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-WWUBYQGX_mjs_0g15hiw._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(349834)))},814636,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_14q6g4n._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1ok0411._.js"].map(b=>a.l(b))).then(()=>b(525902)))},147136,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_ishikawaDiagram-5VMMS53U_mjs_05o2e4d._.js"].map(b=>a.l(b))).then(()=>b(206340)))},719552,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_201yvda._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_journeyDiagram-3NMN7TZE_mjs_16ehrbl._.js"].map(b=>a.l(b))).then(()=>b(450754)))},653408,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-5VM5RSS4_mjs_0tg6kya._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_kanban-definition-UXKFOSKX_mjs_1uiqd5g._.js"].map(b=>a.l(b))).then(()=>b(301315)))},165250,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1turj0n._.js","server/chunks/ssr/1daa_mermaid_dist_chunks_mermaid_core_mindmap-definition-YA3MSWOX_mjs_19k8byt._.js"].map(b=>a.l(b))).then(()=>b(790158)))},325455,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0yugy6m._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(595628)))},934650,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1z4hm5e._.js","server/chunks/ssr/node_modules_1rg7lj4._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1sgfrma._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(748116)))},389088,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_111pp7w._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AXDQQJYC_mjs_0h4a9wq._.js"].map(b=>a.l(b))).then(()=>b(888630)))},523431,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1gdh31p._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(846881)))},458290,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1turj0n._.js","server/chunks/ssr/1daa_mermaid_dist_chunks_mermaid_core_requirementDiagram-BXWQKSXE_mjs_0kwiv6n._.js"].map(b=>a.l(b))).then(()=>b(443250)))},215730,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_d3-scale_src_1tr1qwb._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_sankeyDiagram-P5KCCOFB_mjs_187yyta._.js"].map(b=>a.l(b))).then(()=>b(656950)))},295724,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1o1kg4c._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WJ2MYXX4_mjs_1n01m3a._.js"].map(b=>a.l(b))).then(()=>b(571979)))},482052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_sizeCapture-INFHLROL_mjs_179zv_p._.js"].map(b=>a.l(b))).then(()=>b(865684)))},438231,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1rxlz7e._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_stateDiagram-D77RDMKH_mjs_1mer5fv._.js","server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_0g66msq.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-IMKFNOWR_mjs_0vdq1-l._.js"].map(b=>a.l(b))).then(()=>b(168538)))},991687,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0jkhu0x._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-IMKFNOWR_mjs_0vdq1-l._.js"].map(b=>a.l(b))).then(()=>b(472309)))},860094,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_swimlanes-42K2YHIH_mjs_0scuk32._.js"].map(b=>a.l(b))).then(()=>b(827033)))},819980,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_04f6p6a._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SHT3W25Y_mjs_00p5j42._.js"].map(b=>a.l(b))).then(()=>b(1471)))},623969,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_d3-shape_src_arc_1-w13bo.js","server/chunks/ssr/1daa_mermaid_dist_chunks_mermaid_core_timeline-definition-24CTP7MA_mjs_10dmaxt._.js"].map(b=>a.l(b))).then(()=>b(301394)))},788557,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_vennDiagram-4TSXK5OY_mjs_0anqu7y._.js"].map(b=>a.l(b))).then(()=>b(509170)))},925161,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1aaxuef._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_wardleyDiagram-VM6X3IG4_mjs_0kh3fjb._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_17wxxyr._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(914844)))},506751,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0xht9wg._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_xychartDiagram-S5SC5T6Z_mjs_08t5e44._.js"].map(b=>a.l(b))).then(()=>b(176947)))},236914,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_streamdown_dist_highlighted-body-KPVGNVTW_1fnf894.js"].map(b=>a.l(b))).then(()=>b(391282)))},172487,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_streamdown_dist_mermaid-HWGCJPDP_093xi20.js"].map(b=>a.l(b))).then(()=>b(853409)))}];
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},287702,a=>{"use strict";process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),process.env.THURSDAY_HOME?.trim()||process.cwd(),process.env.THURSDAY_URL?.trim()||process.env.PORT?.trim();let b=".ai-workspace",c={workspace:b,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",skills:{default:"skills",custom:`${b}/.agents/skills`}};a.s(["APP_NAME",0,"Thursday","ARTIFACT_VIEW",0,{rows:200,setFiles:120},"ASCII_FACE",0,{charset:"emojiOnly",fontSize:{default:8,min:4,max:16},density:{default:1.4,min:.6,max:2}},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},depth:2,askBack:3,silenceMs:3e5,autoResumes:3,retryAfterMs:[3e4,12e4,3e5],overflowShrink:.6,compactFiles:40},"BROWSER_SKILL",0,"browser","CALL_HISTORY_PAGE",0,10,"IS_DEV",0,!1,"PAGE_SIZE",0,50,"PATHS",0,c,"PROMPT_CROWDED",0,{bots:10,skills:20},"STUDIO_SERVER",0,"studio","WORKSPACE_VIEW",0,{rows:200,textMax:524288,elementMax:0x3200000}])},992025,a=>{a.v(a=>Promise.resolve().then(()=>a(948986)))},929490,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1k6n600._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(161868)))},969267,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0m383r2._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1feyqvf._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_cytoscape_dist_cytoscape_esm_mjs_0arohj6._.js","server/chunks/ssr/node_modules_11trqmi._.js"].map(b=>a.l(b))).then(()=>b(626047)))},784520,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0qwth-_._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_blockDiagram-I7D4REHJ_mjs_0qg1lr5._.js"].map(b=>a.l(b))).then(()=>b(155638)))},613707,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-F27PBJKO_mjs_0ms0zmb._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_c4Diagram-7LVT6UL2_mjs_06bhe3-._.js"].map(b=>a.l(b))).then(()=>b(557384)))},53467,a=>{"use strict";var b=a.i(261234),c=a.i(539110);a.i(975930);var d=a.i(671731),e=(0,c.__name)(a=>{let{securityLevel:c}=(0,b.getConfig2)(),e=(0,d.select)("body");if("sandbox"===c){let b=(0,d.select)(`#i${a}`),c=b.node()?.contentDocument??document;e=(0,d.select)(c.body)}return e.select(`#${a}`)},"selectSvgElement");a.s(["selectSvgElement",0,e])},882458,a=>{"use strict";var b=a.i(416635),c=a.i(43429),d=a.i(428212),e=a.i(916573),f=a.i(887370),g=a.i(261234),h=a.i(875117),i=a.i(539110),j={common:g.common_default,getConfig:g.getConfig,insertCluster:b.insertCluster,insertEdge:c.insertEdge,insertEdgeLabel:c.insertEdgeLabel,insertMarkers:c.markers_default,insertNode:d.insertNode,interpolateToCurve:f.interpolateToCurve,labelHelper:e.labelHelper,log:h.log,positionEdgeLabel:c.positionEdgeLabel},k={},l=(0,i.__name)(a=>{for(let b of a)k[b.name]=b},"registerLayoutLoaders");(0,i.__name)(()=>{l([{name:"dagre",loader:(0,i.__name)(async()=>await a.A(390118),"loader")},{name:"swimlane",loader:(0,i.__name)(async()=>await a.A(860094),"loader")},{name:"cose-bilkent",loader:(0,i.__name)(async()=>await a.A(989520),"loader")}])},"registerDefaultLayoutLoaders")();var m=(0,i.__name)(async(a,b)=>{if(!(a.layoutAlgorithm in k))throw Error(`Unknown layout algorithm: ${a.layoutAlgorithm}`);if(a.diagramId)for(let b of a.nodes){let c=b.domId||b.id;b.domId=`${a.diagramId}-${c}`}let c=k[a.layoutAlgorithm],d=await c.loader(),{theme:e,themeVariables:f}=a.config,{useGradient:g,gradientStart:h,gradientStop:i}=f,l=b.attr("id");if(b.append("defs").append("filter").attr("id",`${l}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${e?.includes("dark")?"#FFFFFF":"#000000"}`),b.append("defs").append("filter").attr("id",`${l}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${e?.includes("dark")?"#FFFFFF":"#000000"}`),g){let a=b.append("linearGradient").attr("id",b.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");a.append("svg:stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),a.append("svg:stop").attr("offset","100%").attr("stop-color",i).attr("stop-opacity",1)}return d.render(a,b,j,{algorithm:c.algorithm})},"render"),n=(0,i.__name)((a="",{fallback:b="dagre"}={})=>{if(a in k)return a;if(b in k)return h.log.warn(`Layout algorithm ${a} is not registered. Using ${b} as fallback.`),b;throw Error(`Both layout algorithms ${a} and ${b} are not registered.`)},"getRegisteredLayoutAlgorithm");a.s(["getRegisteredLayoutAlgorithm",0,n,"registerLayoutLoaders",0,l,"render",0,m])},854712,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1v463pe._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-TICWLB2K_mjs_1t97mh7._.js"].map(b=>a.l(b))).then(()=>b(336243)))},892569,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0thh8pk._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-TICWLB2K_mjs_1t97mh7._.js"].map(b=>a.l(b))).then(()=>b(538994)))},989520,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1nl12mt._.js","server/chunks/ssr/node_modules_cytoscape_dist_cytoscape_esm_mjs_0arohj6._.js"].map(b=>a.l(b))).then(()=>b(127273)))},388833,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1lz0oxc._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(517237)))},390118,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_dagre-GXQ25YYZ_mjs_0k_lz8d._.js","server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_0g66msq.js"].map(b=>a.l(b))).then(()=>b(920028)))},831868,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0-dr_o7._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0eji647._.js"].map(b=>a.l(b))).then(()=>b(767190)))},840309,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0zeg3x_._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(464445)))},835410,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_05-n6dz._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(617803)))},728413,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1t77e4n._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_diagram-VX7I27RA_mjs_0dl8gzm._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_13hksv_._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(217755)))},992149,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1uyk91w._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js"].map(b=>a.l(b))).then(()=>b(752425)))},70220,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1x0ztf4._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(137554)))},595386,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0il0v7d._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_erDiagram-RLTQ6QDP_mjs_18g60i7._.js"].map(b=>a.l(b))).then(()=>b(239909)))},707604,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0ql0igl._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SHT3W25Y_mjs_00p5j42._.js"].map(b=>a.l(b))).then(()=>b(1258)))},598518,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1831lye._.js","server/chunks/ssr/node_modules_1_d0q_7._.js"].map(b=>a.l(b))).then(()=>b(722966)))},126571,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_04sksn9._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0dlpxwr._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-WWUBYQGX_mjs_0g15hiw._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(349834)))},814636,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0iur59s._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1ok0411._.js"].map(b=>a.l(b))).then(()=>b(525902)))},147136,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_ishikawaDiagram-5VMMS53U_mjs_05o2e4d._.js"].map(b=>a.l(b))).then(()=>b(206340)))},719552,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_201yvda._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_journeyDiagram-3NMN7TZE_mjs_16ehrbl._.js"].map(b=>a.l(b))).then(()=>b(450754)))},653408,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-5VM5RSS4_mjs_0tg6kya._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_kanban-definition-UXKFOSKX_mjs_1uiqd5g._.js"].map(b=>a.l(b))).then(()=>b(301315)))},165250,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1turj0n._.js","server/chunks/ssr/1daa_mermaid_dist_chunks_mermaid_core_mindmap-definition-YA3MSWOX_mjs_19k8byt._.js"].map(b=>a.l(b))).then(()=>b(790158)))},325455,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0fkeku3._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(595628)))},934650,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0p9a9su._.js","server/chunks/ssr/node_modules_1rg7lj4._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1sgfrma._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(748116)))},389088,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_111pp7w._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AXDQQJYC_mjs_0h4a9wq._.js"].map(b=>a.l(b))).then(()=>b(888630)))},523431,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_1k8j8n0._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SVP7TREG_mjs_03r5m21._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0lct0v1._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(846881)))},458290,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1turj0n._.js","server/chunks/ssr/1daa_mermaid_dist_chunks_mermaid_core_requirementDiagram-BXWQKSXE_mjs_0kwiv6n._.js"].map(b=>a.l(b))).then(()=>b(443250)))},215730,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_d3-scale_src_1tr1qwb._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_sankeyDiagram-P5KCCOFB_mjs_187yyta._.js"].map(b=>a.l(b))).then(()=>b(656950)))},295724,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1o1kg4c._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WJ2MYXX4_mjs_1n01m3a._.js"].map(b=>a.l(b))).then(()=>b(571979)))},482052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_sizeCapture-INFHLROL_mjs_179zv_p._.js"].map(b=>a.l(b))).then(()=>b(865684)))},438231,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1rxlz7e._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_stateDiagram-D77RDMKH_mjs_1mer5fv._.js","server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_0g66msq.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-IMKFNOWR_mjs_0vdq1-l._.js"].map(b=>a.l(b))).then(()=>b(168538)))},991687,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0jkhu0x._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-IMKFNOWR_mjs_0vdq1-l._.js"].map(b=>a.l(b))).then(()=>b(472309)))},860094,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_swimlanes-42K2YHIH_mjs_0scuk32._.js"].map(b=>a.l(b))).then(()=>b(827033)))},819980,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_04f6p6a._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-SHT3W25Y_mjs_00p5j42._.js"].map(b=>a.l(b))).then(()=>b(1471)))},623969,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_d3-shape_src_arc_1-w13bo.js","server/chunks/ssr/1daa_mermaid_dist_chunks_mermaid_core_timeline-definition-24CTP7MA_mjs_10dmaxt._.js"].map(b=>a.l(b))).then(()=>b(301394)))},788557,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_vennDiagram-4TSXK5OY_mjs_0anqu7y._.js"].map(b=>a.l(b))).then(()=>b(509170)))},925161,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0m383r2._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_wardleyDiagram-VM6X3IG4_mjs_0kh3fjb._.js","server/chunks/ssr/node_modules_@mermaid-js_parser_dist_17wxxyr._.js","server/chunks/ssr/1daa_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_0ybwfeq._.js"].map(b=>a.l(b))).then(()=>b(914844)))},506751,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0xht9wg._.js","server/chunks/ssr/1q96_modules_mermaid_dist_chunks_mermaid_core_xychartDiagram-S5SC5T6Z_mjs_08t5e44._.js"].map(b=>a.l(b))).then(()=>b(176947)))},236914,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_streamdown_dist_highlighted-body-KPVGNVTW_1fnf894.js"].map(b=>a.l(b))).then(()=>b(391282)))},172487,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_streamdown_dist_mermaid-HWGCJPDP_093xi20.js"].map(b=>a.l(b))).then(()=>b(853409)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0xsog8n._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0sd3izg._.js.map
@@ -37,7 +37,7 @@ Photos in one step too: every \`curl -o\` in a single \`bash\` call, into the tr
37
37
 
38
38
  The page is the deliverable: the days in order, the map under each, the photos with whose page they came from, and the facts that decide what to pack. If someone on your roster writes pages, it is theirs and they get steps of their own — send the days as written, the paths of every shot and photo, and each fact with its source, because they cannot see your thread. If nobody does, write it yourself with the \`interactive-page\` skill.
39
39
 
40
- Answer with the folder under \`artifacts/\` and what is in it: the page, a map per day, the pictures.`}];e.filter(a=>a.recommended),a.s(["findBotSeed",0,a=>e.find(b=>b.name===a)??null,"rollSeedColors",0,()=>(0,d.randomMarkColors)(e.length)])},451208,a=>{"use strict";var b=a.i(137936),c=a.i(821415),d=a.i(912714),e=a.i(750227),f=a.i(569572),g=a.i(293480);async function h(a){let b=await (0,c.insideWorkspace)(a);b||(0,g.publicError)("Outside the workspace");let e=await (0,d.stat)(b).catch(()=>null);e||(0,g.publicError)("File not found"),e.isFile()||(0,g.publicError)("That is a folder, not a file"),await (0,d.rm)(b)}async function i(){let a=(0,e.join)(c.WORKSPACE,f.PATHS.scratch);for(let b of(await (0,d.readdir)(a).catch(()=>[])))await (0,d.rm)((0,e.join)(a,b),{recursive:!0,force:!0})}a.i(684321);var j=a.i(225689),k=a.i(874533),l=a.i(812057);let m={darwin:a=>["open",[a]],win32:a=>["cmd.exe",["/c","start","",a]],linux:a=>["xdg-open",[a]]};async function n(a){await (0,d.access)(a);let b=m[process.platform]?.(a);if(!b)throw Error(`Opening files is not wired up on ${process.platform}.`);let[c,e]=b;await (0,l.promisify)(k.execFile)(c,e,{windowsHide:!0})}var o=a.i(182248),p=a.i(713095);let q=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?");let d=(await (0,c.openWorkspace)()).resolve(b);try{await n(d)}catch(a){(0,g.publicError)(`Could not open ${b}: ${(0,o.errorToString)(a)}`)}}),r=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?"),await h(b)}),s=(0,j.serverAction)(async()=>i());(0,p.ensureServerEntryExports)([q,r,s]),(0,b.registerServerReference)(q,"7f4957e151a50cd41ee138dc20323d2118d625a8e9",null),(0,b.registerServerReference)(r,"7f965a01991fcb050dbcedafae89c62f2e9244fc36",null),(0,b.registerServerReference)(s,"7f1261b41219e5808ae0097ce1333efd5b440b6888",null),a.s(["deleteWorkspaceFileAction",0,r,"emptyScratchAction",0,s,"openFileAction",0,q],451208)},225689,a=>{"use strict";a.i(570396);var b=a.i(673727),c=a.i(975160),d=a.i(176668),e=a.i(293480);let f=a=>!!a&&"object"==typeof a&&(!0===a.$ok||!1===a.$ok),g=a=>f(a)&&a.$ok,h=a=>({$ok:!0,data:a}),i=a=>({$ok:!1,message:a});async function j(a){try{let b=h(await a());for(;g(b)&&f(b.data);)b=b.data;return b}catch(a){if((0,b.unstable_rethrow)(a),(0,e.isPublicError)(a))return i(a.message);if(a instanceof c.ZodError)return i(a.issues[0]?.message);if(f(a)&&!a.$ok)return a;return d.logger.error(a),i()}}a.s(["serverAction",0,a=>(...b)=>j(()=>a(...b))],225689)},293480,a=>{"use strict";class b extends Error{message;constructor(a){super(a),this.message=a}}a.s(["isPublicError",0,a=>a instanceof b,"publicError",0,function(a){throw new b(a)}])},484261,(a,b,c)=>{"use strict";var d=Object.create,e=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,j=(a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of g(b))i.call(a,h)||h===c||e(a,h,{get:()=>b[h],enumerable:!(d=f(b,h))||d.enumerable});return a},k=(a,b,c)=>(c=null!=a?d(h(a)):{},j(!b&&a&&a.__esModule?c:e(c,"default",{value:a,enumerable:!0}),a)),l={},m={isValidAccessToken:()=>u,readAuthConfig:()=>s,writeAuthConfig:()=>t};for(var n in m)e(l,n,{get:m[n],enumerable:!0});b.exports=j(e({},"__esModule",{value:!0}),l);var o=k(a.r(522734)),p=k(a.r(814747)),q=a.r(72918);function r(){let a=(0,q.getVercelDataDir)();if(!a)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return p.join(a,"auth.json")}function s(){try{let a=r();if(!o.existsSync(a))return null;let b=o.readFileSync(a,"utf8");if(!b)return null;return JSON.parse(b)}catch(a){return null}}function t(a){let b=r(),c=p.dirname(b);o.existsSync(c)||o.mkdirSync(c,{mode:504,recursive:!0}),o.writeFileSync(b,JSON.stringify(a,null,2),{mode:384})}function u(a,b=0){if(!a.token)return!1;if("number"!=typeof a.expiresAt)return!0;let c=Math.floor(Date.now()/1e3);return a.expiresAt>=c+b/1e3}},351275,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={AccessTokenMissingError:()=>k,RefreshAccessTokenFailedError:()=>l};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);class k extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class l extends Error{constructor(a){super("Failed to refresh authentication token.",{cause:a}),this.name="RefreshAccessTokenFailedError"}}},719472,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={processTokenResponse:()=>p,refreshTokenRequest:()=>o};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(446786);let l=`@vercel/oidc node-${process.version} ${(0,k.platform)()} (${(0,k.arch)()}) ${(0,k.hostname)()}`,m=null;async function n(){if(m)return m;let a=await fetch("https://vercel.com/.well-known/openid-configuration",{headers:{"user-agent":l}});if(!a.ok)throw Error("Failed to discover OAuth endpoints");let b=await a.json();if(!b||"string"!=typeof b.token_endpoint)throw Error("Invalid OAuth discovery response");let c=b.token_endpoint;return m=c,c}async function o(a){let b=await n();return await fetch(b,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":l},body:new URLSearchParams({client_id:"cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",grant_type:"refresh_token",...a})})}async function p(a){let b=await a.json();return a.ok?"object"!=typeof b||null===b?[Error("Invalid token response")]:"string"!=typeof b.access_token?[Error("Missing access_token in response")]:"Bearer"!==b.token_type?[Error("Invalid token_type in response")]:"number"!=typeof b.expires_in?[Error("Missing expires_in in response")]:[null,b]:[Error("object"==typeof b&&b&&"error"in b?String(b.error):"Token refresh failed")]}},580949,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={VercelOidcTokenError:()=>k};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);class k extends Error{constructor(a,b){super(a),this.name="VercelOidcTokenError",this.cause=b}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}}},50067,(a,b,c)=>{"use strict";var d=Object.create,e=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,j=(a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of g(b))i.call(a,h)||h===c||e(a,h,{get:()=>b[h],enumerable:!(d=f(b,h))||d.enumerable});return a},k=(a,b,c)=>(c=null!=a?d(h(a)):{},j(!b&&a&&a.__esModule?c:e(c,"default",{value:a,enumerable:!0}),a)),l={},m={findRootDir:()=>s,getUserDataDir:()=>t};for(var n in m)e(l,n,{get:m[n],enumerable:!0});b.exports=j(e({},"__esModule",{value:!0}),l);var o=k(a.r(814747)),p=k(a.r(522734)),q=k(a.r(446786)),r=a.r(580949);function s(){try{let a=process.cwd();for(;a!==o.default.dirname(a);){let b=o.default.join(a,".vercel");if(p.default.existsSync(b))return a;a=o.default.dirname(a)}}catch(a){throw new r.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function t(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(q.default.platform()){case"darwin":return o.default.join(q.default.homedir(),"Library/Application Support");case"linux":return o.default.join(q.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}},72918,(a,b,c)=>{"use strict";var d=Object.create,e=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,j=(a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of g(b))i.call(a,h)||h===c||e(a,h,{get:()=>b[h],enumerable:!(d=f(b,h))||d.enumerable});return a},k=(a,b,c)=>(c=null!=a?d(h(a)):{},j(!b&&a&&a.__esModule?c:e(c,"default",{value:a,enumerable:!0}),a)),l={},m={assertVercelOidcTokenResponse:()=>y,findProjectInfo:()=>z,getTokenPayload:()=>C,getVercelDataDir:()=>v,getVercelOidcToken:()=>x,getVercelToken:()=>w,isExpired:()=>D,loadToken:()=>B,saveToken:()=>A};for(var n in m)e(l,n,{get:m[n],enumerable:!0});b.exports=j(e({},"__esModule",{value:!0}),l);var o=k(a.r(814747)),p=k(a.r(522734)),q=a.r(580949),r=a.r(50067),s=a.r(484261),t=a.r(719472),u=a.r(351275);function v(){let a=(0,r.getUserDataDir)();return a?o.join(a,"com.vercel.cli"):null}async function w(a){let b=(0,s.readAuthConfig)();if(!b?.token)throw new u.AccessTokenMissingError;if((0,s.isValidAccessToken)(b,a?.expirationBufferMs))return b.token;if(!b.refreshToken)throw(0,s.writeAuthConfig)({}),new u.RefreshAccessTokenFailedError("No refresh token available");try{let a=await (0,t.refreshTokenRequest)({refresh_token:b.refreshToken}),[c,d]=await (0,t.processTokenResponse)(a);if(c||!d)throw(0,s.writeAuthConfig)({}),new u.RefreshAccessTokenFailedError(c);let e={token:d.access_token,expiresAt:Math.floor(Date.now()/1e3)+d.expires_in};return d.refresh_token&&(e.refreshToken=d.refresh_token),(0,s.writeAuthConfig)(e),e.token}catch(a){if((0,s.writeAuthConfig)({}),a instanceof u.AccessTokenMissingError||a instanceof u.RefreshAccessTokenFailedError)throw a;throw new u.RefreshAccessTokenFailedError(a)}}async function x(a,b,c){let d=`https://api.vercel.com/v1/projects/${b}/token?source=vercel-oidc-refresh${c?`&teamId=${c}`:""}`,e=await fetch(d,{method:"POST",headers:{Authorization:`Bearer ${a}`}});if(!e.ok)throw new q.VercelOidcTokenError(`Failed to refresh OIDC token: ${e.statusText}`);let f=await e.json();return y(f),f}function y(a){if(!a||"object"!=typeof a)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in a)||"string"!=typeof a.token)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function z(){let a=(0,r.findRootDir)();if(!a)throw new q.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let b=o.join(a,".vercel","project.json");if(!p.existsSync(b))throw new q.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let c=JSON.parse(p.readFileSync(b,"utf8"));if("string"!=typeof c.projectId&&"string"!=typeof c.orgId)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:c.projectId,teamId:c.orgId}}function A(a,b){let c=(0,r.getUserDataDir)();if(!c)throw new q.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let d=o.join(c,"com.vercel.token",`${b}.json`),e=JSON.stringify(a);p.mkdirSync(o.dirname(d),{mode:504,recursive:!0}),p.writeFileSync(d,e),p.chmodSync(d,432)}function B(a){let b=(0,r.getUserDataDir)();if(!b)throw new q.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let c=o.join(b,"com.vercel.token",`${a}.json`);if(!p.existsSync(c))return null;let d=JSON.parse(p.readFileSync(c,"utf8"));return y(d),d}function C(a){let b=a.split(".");if(3!==b.length)throw new q.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=c.padEnd(c.length+(4-c.length%4)%4,"=");return JSON.parse(Buffer.from(d,"base64").toString("utf8"))}function D(a,b=0){return 1e3*a.exp<Date.now()+b}},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
40
+ Answer with the folder under \`artifacts/\` and what is in it: the page, a map per day, the pictures.`}];e.filter(a=>a.recommended),a.s(["findBotSeed",0,a=>e.find(b=>b.name===a)??null,"rollSeedColors",0,()=>(0,d.randomMarkColors)(e.length)])},451208,a=>{"use strict";var b=a.i(137936),c=a.i(821415),d=a.i(912714),e=a.i(750227),f=a.i(569572),g=a.i(293480);async function h(a){let b=await (0,c.insideWorkspace)(a);b||(0,g.publicError)("Outside the workspace");let e=await (0,d.stat)(b).catch(()=>null);e||(0,g.publicError)("File not found"),e.isFile()||(0,g.publicError)("That is a folder, not a file"),await (0,d.rm)(b)}async function i(){let a=(0,e.join)(c.WORKSPACE,f.PATHS.scratch);for(let b of(await (0,d.readdir)(a).catch(()=>[])))await (0,d.rm)((0,e.join)(a,b),{recursive:!0,force:!0})}a.i(684321);var j=a.i(225689),k=a.i(874533),l=a.i(812057);let m={darwin:a=>["open",[a]],win32:a=>["cmd.exe",["/c","start","",a]],linux:a=>["xdg-open",[a]]};async function n(a){await (0,d.access)(a);let b=m[process.platform]?.(a);if(!b)throw Error(`Opening files is not wired up on ${process.platform}.`);let[c,e]=b;await (0,l.promisify)(k.execFile)(c,e,{windowsHide:!0})}var o=a.i(182248),p=a.i(713095);let q=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?");let d=(await (0,c.openWorkspace)()).resolve(b);try{await n(d)}catch(a){(0,g.publicError)(`Could not open ${b}: ${(0,o.errorToString)(a)}`)}}),r=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?"),await h(b)}),s=(0,j.serverAction)(async()=>i());(0,p.ensureServerEntryExports)([q,r,s]),(0,b.registerServerReference)(q,"7fe75c180b16ec13b8c8052e5fbacba3e5789f0aca",null),(0,b.registerServerReference)(r,"7f2cd09869c1a94eb452d214e327ed12bf3043400f",null),(0,b.registerServerReference)(s,"7fffb395383564466b268157450b588677d6134f7b",null),a.s(["deleteWorkspaceFileAction",0,r,"emptyScratchAction",0,s,"openFileAction",0,q],451208)},225689,a=>{"use strict";a.i(570396);var b=a.i(673727),c=a.i(975160),d=a.i(176668),e=a.i(293480);let f=a=>!!a&&"object"==typeof a&&(!0===a.$ok||!1===a.$ok),g=a=>f(a)&&a.$ok,h=a=>({$ok:!0,data:a}),i=a=>({$ok:!1,message:a});async function j(a){try{let b=h(await a());for(;g(b)&&f(b.data);)b=b.data;return b}catch(a){if((0,b.unstable_rethrow)(a),(0,e.isPublicError)(a))return i(a.message);if(a instanceof c.ZodError)return i(a.issues[0]?.message);if(f(a)&&!a.$ok)return a;return d.logger.error(a),i()}}a.s(["serverAction",0,a=>(...b)=>j(()=>a(...b))],225689)},293480,a=>{"use strict";class b extends Error{message;constructor(a){super(a),this.message=a}}a.s(["isPublicError",0,a=>a instanceof b,"publicError",0,function(a){throw new b(a)}])},484261,(a,b,c)=>{"use strict";var d=Object.create,e=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,j=(a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of g(b))i.call(a,h)||h===c||e(a,h,{get:()=>b[h],enumerable:!(d=f(b,h))||d.enumerable});return a},k=(a,b,c)=>(c=null!=a?d(h(a)):{},j(!b&&a&&a.__esModule?c:e(c,"default",{value:a,enumerable:!0}),a)),l={},m={isValidAccessToken:()=>u,readAuthConfig:()=>s,writeAuthConfig:()=>t};for(var n in m)e(l,n,{get:m[n],enumerable:!0});b.exports=j(e({},"__esModule",{value:!0}),l);var o=k(a.r(522734)),p=k(a.r(814747)),q=a.r(72918);function r(){let a=(0,q.getVercelDataDir)();if(!a)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return p.join(a,"auth.json")}function s(){try{let a=r();if(!o.existsSync(a))return null;let b=o.readFileSync(a,"utf8");if(!b)return null;return JSON.parse(b)}catch(a){return null}}function t(a){let b=r(),c=p.dirname(b);o.existsSync(c)||o.mkdirSync(c,{mode:504,recursive:!0}),o.writeFileSync(b,JSON.stringify(a,null,2),{mode:384})}function u(a,b=0){if(!a.token)return!1;if("number"!=typeof a.expiresAt)return!0;let c=Math.floor(Date.now()/1e3);return a.expiresAt>=c+b/1e3}},351275,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={AccessTokenMissingError:()=>k,RefreshAccessTokenFailedError:()=>l};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);class k extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class l extends Error{constructor(a){super("Failed to refresh authentication token.",{cause:a}),this.name="RefreshAccessTokenFailedError"}}},719472,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={processTokenResponse:()=>p,refreshTokenRequest:()=>o};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(446786);let l=`@vercel/oidc node-${process.version} ${(0,k.platform)()} (${(0,k.arch)()}) ${(0,k.hostname)()}`,m=null;async function n(){if(m)return m;let a=await fetch("https://vercel.com/.well-known/openid-configuration",{headers:{"user-agent":l}});if(!a.ok)throw Error("Failed to discover OAuth endpoints");let b=await a.json();if(!b||"string"!=typeof b.token_endpoint)throw Error("Invalid OAuth discovery response");let c=b.token_endpoint;return m=c,c}async function o(a){let b=await n();return await fetch(b,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":l},body:new URLSearchParams({client_id:"cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",grant_type:"refresh_token",...a})})}async function p(a){let b=await a.json();return a.ok?"object"!=typeof b||null===b?[Error("Invalid token response")]:"string"!=typeof b.access_token?[Error("Missing access_token in response")]:"Bearer"!==b.token_type?[Error("Invalid token_type in response")]:"number"!=typeof b.expires_in?[Error("Missing expires_in in response")]:[null,b]:[Error("object"==typeof b&&b&&"error"in b?String(b.error):"Token refresh failed")]}},580949,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={VercelOidcTokenError:()=>k};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);class k extends Error{constructor(a,b){super(a),this.name="VercelOidcTokenError",this.cause=b}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}}},50067,(a,b,c)=>{"use strict";var d=Object.create,e=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,j=(a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of g(b))i.call(a,h)||h===c||e(a,h,{get:()=>b[h],enumerable:!(d=f(b,h))||d.enumerable});return a},k=(a,b,c)=>(c=null!=a?d(h(a)):{},j(!b&&a&&a.__esModule?c:e(c,"default",{value:a,enumerable:!0}),a)),l={},m={findRootDir:()=>s,getUserDataDir:()=>t};for(var n in m)e(l,n,{get:m[n],enumerable:!0});b.exports=j(e({},"__esModule",{value:!0}),l);var o=k(a.r(814747)),p=k(a.r(522734)),q=k(a.r(446786)),r=a.r(580949);function s(){try{let a=process.cwd();for(;a!==o.default.dirname(a);){let b=o.default.join(a,".vercel");if(p.default.existsSync(b))return a;a=o.default.dirname(a)}}catch(a){throw new r.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function t(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(q.default.platform()){case"darwin":return o.default.join(q.default.homedir(),"Library/Application Support");case"linux":return o.default.join(q.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}},72918,(a,b,c)=>{"use strict";var d=Object.create,e=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,j=(a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of g(b))i.call(a,h)||h===c||e(a,h,{get:()=>b[h],enumerable:!(d=f(b,h))||d.enumerable});return a},k=(a,b,c)=>(c=null!=a?d(h(a)):{},j(!b&&a&&a.__esModule?c:e(c,"default",{value:a,enumerable:!0}),a)),l={},m={assertVercelOidcTokenResponse:()=>y,findProjectInfo:()=>z,getTokenPayload:()=>C,getVercelDataDir:()=>v,getVercelOidcToken:()=>x,getVercelToken:()=>w,isExpired:()=>D,loadToken:()=>B,saveToken:()=>A};for(var n in m)e(l,n,{get:m[n],enumerable:!0});b.exports=j(e({},"__esModule",{value:!0}),l);var o=k(a.r(814747)),p=k(a.r(522734)),q=a.r(580949),r=a.r(50067),s=a.r(484261),t=a.r(719472),u=a.r(351275);function v(){let a=(0,r.getUserDataDir)();return a?o.join(a,"com.vercel.cli"):null}async function w(a){let b=(0,s.readAuthConfig)();if(!b?.token)throw new u.AccessTokenMissingError;if((0,s.isValidAccessToken)(b,a?.expirationBufferMs))return b.token;if(!b.refreshToken)throw(0,s.writeAuthConfig)({}),new u.RefreshAccessTokenFailedError("No refresh token available");try{let a=await (0,t.refreshTokenRequest)({refresh_token:b.refreshToken}),[c,d]=await (0,t.processTokenResponse)(a);if(c||!d)throw(0,s.writeAuthConfig)({}),new u.RefreshAccessTokenFailedError(c);let e={token:d.access_token,expiresAt:Math.floor(Date.now()/1e3)+d.expires_in};return d.refresh_token&&(e.refreshToken=d.refresh_token),(0,s.writeAuthConfig)(e),e.token}catch(a){if((0,s.writeAuthConfig)({}),a instanceof u.AccessTokenMissingError||a instanceof u.RefreshAccessTokenFailedError)throw a;throw new u.RefreshAccessTokenFailedError(a)}}async function x(a,b,c){let d=`https://api.vercel.com/v1/projects/${b}/token?source=vercel-oidc-refresh${c?`&teamId=${c}`:""}`,e=await fetch(d,{method:"POST",headers:{Authorization:`Bearer ${a}`}});if(!e.ok)throw new q.VercelOidcTokenError(`Failed to refresh OIDC token: ${e.statusText}`);let f=await e.json();return y(f),f}function y(a){if(!a||"object"!=typeof a)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in a)||"string"!=typeof a.token)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function z(){let a=(0,r.findRootDir)();if(!a)throw new q.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let b=o.join(a,".vercel","project.json");if(!p.existsSync(b))throw new q.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let c=JSON.parse(p.readFileSync(b,"utf8"));if("string"!=typeof c.projectId&&"string"!=typeof c.orgId)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:c.projectId,teamId:c.orgId}}function A(a,b){let c=(0,r.getUserDataDir)();if(!c)throw new q.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let d=o.join(c,"com.vercel.token",`${b}.json`),e=JSON.stringify(a);p.mkdirSync(o.dirname(d),{mode:504,recursive:!0}),p.writeFileSync(d,e),p.chmodSync(d,432)}function B(a){let b=(0,r.getUserDataDir)();if(!b)throw new q.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let c=o.join(b,"com.vercel.token",`${a}.json`);if(!p.existsSync(c))return null;let d=JSON.parse(p.readFileSync(c,"utf8"));return y(d),d}function C(a){let b=a.split(".");if(3!==b.length)throw new q.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=c.padEnd(c.length+(4-c.length%4)%4,"=");return JSON.parse(Buffer.from(d,"base64").toString("utf8"))}function D(a,b=0){return 1e3*a.exp<Date.now()+b}},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
41
41
  Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)}];
42
42
 
43
- //# sourceMappingURL=%5Broot-of-the-server%5D__1gtlw6v._.js.map
43
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1-13tcn._.js.map