thursday-agent 0.17.2 → 0.18.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.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +1 -0
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +6 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/artifact/route.js +7 -7
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js +4 -4
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/route.js +1 -1
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js +1 -1
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/[id]/route.js +1 -1
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/file/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/bot/thread/file/route/build-manifest.json +12 -0
- package/.next/server/app/api/bot/thread/file/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/bot/thread/file/route.js +29 -0
- package/.next/server/app/api/bot/thread/file/route.js.map +5 -0
- package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -0
- package/.next/server/app/api/bot/thread/file/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/bot/thread/route.js +1 -1
- package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js +1 -1
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/events/route.js +2 -2
- package/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js +4 -4
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/automatic/route.js +1 -1
- package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/route.js +1 -1
- package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/credits/route.js +1 -1
- package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/route.js +1 -1
- package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/subscription/route.js +1 -1
- package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/[name]/route.js +1 -1
- package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth/callback/route.js +2 -2
- package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js +1 -1
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/tools/route.js +1 -1
- package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/edit/route.js +1 -1
- package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js +1 -1
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/reach/route.js +1 -1
- package/.next/server/app/api/reach/route.js.nft.json +1 -1
- package/.next/server/app/api/routine/route.js +1 -1
- package/.next/server/app/api/routine/route.js.nft.json +1 -1
- package/.next/server/app/api/signins/route.js +1 -1
- package/.next/server/app/api/signins/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/end/route.js +1 -1
- package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js +1 -1
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/settings/route.js +1 -1
- package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/text/route.js +1 -1
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js +1 -1
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js +1 -1
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +94 -6
- package/.next/server/app/artifact/[...path]/page.js +9 -6
- package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/page/server-reference-manifest.json +161 -128
- package/.next/server/app/page.js +9 -9
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +1 -0
- package/.next/server/chunks/{[externals]__12stas-._.js → [externals]__178rv3v._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__00qyw01._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__02ra64t._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__03xamry._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__04hhvpu._.js +7 -0
- package/.next/server/chunks/[root-of-the-server]__05dp5tr._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0bqveex._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1_h4hf9._.js → [root-of-the-server]__0brmiv2._.js} +4 -4
- package/.next/server/chunks/[root-of-the-server]__0gvdr2h._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0h656y-._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0lvjz0b._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0mgyt8p._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mrk2it._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0my9geo._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0qdoc_9._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0sm5xvm._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0v_kuor._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1-rmal0._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__1ceammd._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1dth047._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1etbk64._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1izes4_._.js +7 -0
- package/.next/server/chunks/[root-of-the-server]__1ksm9m-._.js +12 -0
- package/.next/server/chunks/[root-of-the-server]__1m_dmf6._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1mys2c3._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1p0njle._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1p47fbb._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__1ygplx1._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1zn039k._.js +1 -1
- package/.next/server/chunks/_01c32w9._.js +1 -1
- package/.next/server/chunks/_02bov6_._.js +1 -1
- package/.next/server/chunks/_06hnfi8._.js +2 -2
- package/.next/server/chunks/_06u9yo-._.js +1 -1
- package/.next/server/chunks/_07nxi75._.js +42 -41
- package/.next/server/chunks/_08354bn._.js +12 -11
- package/.next/server/chunks/{_08btiir._.js → _08_-9ay._.js} +3 -3
- package/.next/server/chunks/_08s4vft._.js +1 -1
- package/.next/server/chunks/_0bgjf07._.js +5 -0
- package/.next/server/chunks/_0fb6dvr._.js +1 -1
- package/.next/server/chunks/_0hgvg55._.js +1 -1
- package/.next/server/chunks/_0iw19ig._.js +1 -1
- package/.next/server/chunks/_0poi1t2._.js +1 -1
- package/.next/server/chunks/_0srlnvd._.js +6 -6
- package/.next/server/chunks/_0t_7gji._.js +1 -1
- package/.next/server/chunks/_0uzj57i._.js +1 -1
- package/.next/server/chunks/_0wyh244._.js +112 -0
- package/.next/server/chunks/_0xygcxs._.js +42 -41
- package/.next/server/chunks/_1-sk_q4._.js +1 -1
- package/.next/server/chunks/_108gsm8._.js +2 -2
- package/.next/server/chunks/_136j09a._.js +5 -5
- package/.next/server/chunks/_15negpy._.js +2 -2
- package/.next/server/chunks/_1d7og_q._.js +1 -1
- package/.next/server/chunks/_1dxq827._.js +2 -2
- package/.next/server/chunks/_1e54wxa._.js +1 -1
- package/.next/server/chunks/_1gn2r2q._.js +6 -6
- package/.next/server/chunks/_1i3uucm._.js +1 -1
- package/.next/server/chunks/_1jvy78-._.js +5 -0
- package/.next/server/chunks/_1q6e56i._.js +6 -6
- package/.next/server/chunks/_1qgix-j._.js +1 -1
- package/.next/server/chunks/_1wwl_7o._.js +1 -1
- package/.next/server/chunks/_1y8w80a._.js +5 -5
- package/.next/server/chunks/_1yx285_._.js +3 -0
- package/.next/server/chunks/_20qn224._.js +3 -0
- package/.next/server/chunks/_211dn2c._.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_bot_thread_file_route_actions_0q3be0o.js +3 -0
- package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
- package/.next/server/chunks/features_bot_08z387_._.js +3 -3
- package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +3 -3
- package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +3 -3
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_04oxl25._.js → node_modules_consola_dist_chunks_prompt_mjs_0yd5xa0._.js} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__04upd5v._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__06knwl5._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__07ehpky._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0h6jo0s._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__128hnrd._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1gzje-h._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__1d7usu0._.js → [root-of-the-server]__1qn0axo._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__1r7tj27._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1tb5vve._.js +46 -0
- package/.next/server/chunks/ssr/{features_bot_1knyan7._.js → _07nmtxo._.js} +2 -2
- package/.next/server/chunks/ssr/{_10-_awu._.js → _0f9hx5p._.js} +2 -2
- package/.next/server/chunks/ssr/_0fo4552._.js +10 -9
- package/.next/server/chunks/ssr/{_123y-ah._.js → _0is8m6y._.js} +2 -2
- package/.next/server/chunks/ssr/{_17a4qyk._.js → _0ixe3g3._.js} +3 -3
- package/.next/server/chunks/ssr/_0j9vh-8._.js +3 -0
- package/.next/server/chunks/ssr/_0l7rjg5._.js +1 -1
- package/.next/server/chunks/ssr/{lib_logger_ts_0-olsze._.js → _0mfgsk-._.js} +4 -2
- package/.next/server/chunks/ssr/_0mpn6q0._.js +5 -0
- package/.next/server/chunks/ssr/{_0e2fnvg._.js → _0osvxkt._.js} +2 -2
- package/.next/server/chunks/ssr/_0p6w0ef._.js +3 -0
- package/.next/server/chunks/ssr/_0pbav_w._.js +3 -0
- package/.next/server/chunks/ssr/{_1aqjk-1._.js → _0wuvkqk._.js} +2 -2
- package/.next/server/chunks/ssr/_0x8ophf._.js +1 -1
- package/.next/server/chunks/ssr/_0x9f717._.js +60 -0
- package/.next/server/chunks/ssr/_1-41lck._.js +1 -1
- package/.next/server/chunks/ssr/_10jtmhl._.js +3 -0
- package/.next/server/chunks/ssr/{_0xfafez._.js → _12jv_41._.js} +2 -2
- package/.next/server/chunks/ssr/{_163dr78._.js → _165wnr4._.js} +2 -2
- package/.next/server/chunks/ssr/_16_7zeo._.js +3 -0
- package/.next/server/chunks/ssr/{_14oirtb._.js → _1_ogjze._.js} +2 -2
- package/.next/server/chunks/ssr/_1bfrntd._.js +6 -0
- package/.next/server/chunks/ssr/_1i2swyr._.js +3 -0
- package/.next/server/chunks/ssr/{_10_ph1t._.js → _1jd8rjm._.js} +2 -2
- package/.next/server/chunks/ssr/_1mdjoak._.js +162 -0
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/{_1dfv66y._.js → _1oafxdu._.js} +2 -2
- package/.next/server/chunks/ssr/_1omom9y._.js +3 -0
- package/.next/server/chunks/ssr/_1pgxh81._.js +271 -0
- package/.next/server/chunks/ssr/{_0vo_oym._.js → _1r4mc3i._.js} +2 -2
- package/.next/server/chunks/ssr/_1soynbw._.js +6 -0
- package/.next/server/chunks/ssr/{_01al00i._.js → _1tx-2k7._.js} +2 -2
- package/.next/server/chunks/ssr/_1w899wx._.js +3 -0
- package/.next/server/chunks/ssr/_1xwtbdz._.js +3 -0
- package/.next/server/chunks/ssr/features_0796o8r._.js +1 -1
- package/.next/server/chunks/ssr/features_bot_0tb4ui-._.js +2 -2
- package/.next/server/chunks/ssr/features_bot_18gqkr_._.js +3 -0
- package/.next/server/chunks/ssr/{features_config_09n-q9q._.js → features_config_1ond01n._.js} +3 -3
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
- package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
- package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
- package/.next/server/chunks/ssr/features_workspace_workspace_ts_1wc7_u_._.js +4 -4
- package/.next/server/chunks/ssr/{node_modules_0msrhxf._.js → node_modules_004qt-z._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0q-klni._.js → node_modules_06m6e97._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_13g-d25._.js → node_modules_09dy7tk._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0gd9hbz._.js → node_modules_0_hy3i2._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1gq3ght._.js → node_modules_0f485jl._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_096up6a._.js → node_modules_0gbx70b._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_13bqv6i._.js → node_modules_0i_v0-m._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_04x5wyv._.js → node_modules_0lrn9ci._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0d6j33x._.js → node_modules_0lxwg2v._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_113l3e5._.js → node_modules_0n2-p5q._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_0nj36zf._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_0cjnmzp._.js → node_modules_0ppirau._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0m73b88._.js → node_modules_0pw13ww._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_0qd7p5f._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_0nmkv-v._.js → node_modules_0upwx50._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0__0tvm._.js → node_modules_0v__o4h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1k5i-_9._.js → node_modules_1-4q6is._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_156kv_t._.js → node_modules_10mb0cv._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_10_fv2a._.js → node_modules_16z7p8b._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1lmyts8._.js → node_modules_17o218r._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0k8-y89._.js → node_modules_1gpapfv._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1_8-jcj._.js → node_modules_1hdaxu9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ri_eip._.js → node_modules_1hjvwkh._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0nw5jz7._.js → node_modules_1j886a5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1xb-ndg._.js → node_modules_1srjf5c._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1p_6sq7._.js → node_modules_1tus4vi._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_021lid9._.js → node_modules_1tv_7lk._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1qstb1x._.js → node_modules_20448xv._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0amkw0b._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0lg9pkl._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0zq3l45._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1xgbf5j._.js} +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/middleware.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +205 -132
- package/.next/static/chunks/{166smhw8v-s3j.js → 05uvci-bk-vgp.js} +1 -1
- package/.next/static/chunks/09y_43y1cy5jw.js +1 -0
- package/.next/static/chunks/0_s4z70lx1tgs.js +1 -0
- package/.next/static/chunks/0oqviw3f55nfp.js +58 -0
- package/.next/static/chunks/0q9b2n6l4flqb.js +1 -0
- package/.next/static/chunks/0ruf3dqs--3ve.js +1 -0
- package/.next/static/chunks/0vggwjufw2-6r.js +1 -0
- package/.next/static/chunks/{3sla-dm1puqd1.js → 0x4m9nj2fazl2.js} +1 -1
- package/.next/static/chunks/{3t2c76awm9k_p.js → 1-1yfu34-3p2p.js} +1 -1
- package/.next/static/chunks/10oyyypxn_cpx.js +1 -0
- package/.next/static/chunks/{1cglo3a2mbeou.js → 17dx6w478vnb0.js} +1 -1
- package/.next/static/chunks/184-r80rv0xay.css +1 -0
- package/.next/static/chunks/1_hgdoungpm0o.js +1 -0
- package/.next/static/chunks/{0obogzscwwekj.js → 1dpg1u4a16ujt.js} +1 -1
- package/.next/static/chunks/{2qgkbdshzpq1c.js → 1h_6rh86q3i4p.js} +1 -1
- package/.next/static/chunks/{3b96xy59nl_gd.js → 1pe7i5yu779ta.js} +1 -1
- package/.next/static/chunks/{2zbl41hed17g3.js → 240nfv2dtidhc.js} +1 -1
- package/.next/static/chunks/{0uxq_vs6uxi-b.js → 27l8qwnk1j66z.js} +1 -1
- package/.next/static/chunks/2gxfy__ef51n9.js +3 -0
- package/.next/static/chunks/2kjwmo70judc2.js +15 -0
- package/.next/static/chunks/{3gsxnqqqphh-1.js → 2lzg4zedtmyic.js} +1 -1
- package/.next/static/chunks/2ug8q1x9e-_j6.js +1 -0
- package/.next/static/chunks/{01l7kw74vfp32.js → 2uk8rdtr-pk58.js} +1 -1
- package/.next/static/chunks/337g9g_ux2gj-.js +1 -0
- package/.next/static/chunks/{0o7o0eb7ihxi6.js → 396enq-m0sss5.js} +1 -1
- package/.next/static/chunks/{0p2f6uv4xytfm.js → 3r7u1y9xjoh-v.js} +1 -1
- package/.next/static/chunks/{3jtcieuk1l6tw.js → 3vg1-oc-zgw_7.js} +1 -1
- package/.next/static/chunks/40re_3ukjulg9.js +1 -0
- package/.next/static/chunks/41ztsnjn4qrn-.js +1 -0
- package/README.md +5 -5
- package/bin/autostart.mjs +32 -2
- package/bin/lock.mjs +85 -4
- package/bin/thursday.mjs +42 -15
- package/bin/tools.mjs +18 -1
- package/database/migrations/20260926021847_thread_cache_tokens/migration.sql +2 -0
- package/database/migrations/20260926021847_thread_cache_tokens/snapshot.json +1949 -0
- package/guide/bots.md +173 -317
- package/guide/calls.md +98 -146
- package/guide/index.md +2 -2
- package/guide/memory.md +14 -18
- package/guide/phone.md +86 -133
- package/guide/setup.md +127 -172
- package/guide/trouble.md +42 -65
- package/package.json +1 -1
- package/seed-skills/concierge/travel/scripts/itinerary.mjs +1 -1
- package/skills/artifact/runtime/shell/shell.js +32 -3
- package/.next/server/chunks/[root-of-the-server]__01ypm_z._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__021dkui._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__09gdscj._.js +0 -7
- package/.next/server/chunks/[root-of-the-server]__0ljizgj._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0nmust6._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0svzjwa._.js +0 -7
- package/.next/server/chunks/[root-of-the-server]__1c2kwku._.js +0 -12
- package/.next/server/chunks/[root-of-the-server]__1t02-1p._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1t0jj1j._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1vlxv19._.js +0 -5
- package/.next/server/chunks/_0j0-gq6._.js +0 -5
- package/.next/server/chunks/_0p6v1fr._.js +0 -5
- package/.next/server/chunks/_1ic3bew._.js +0 -5
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0g87zst._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0-af_o7._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__09f39cp._.js +0 -4
- package/.next/server/chunks/ssr/[root-of-the-server]__0ouu4qp._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0q9g9ea._.js +0 -5
- package/.next/server/chunks/ssr/[root-of-the-server]__17h1ggo._.js +0 -46
- package/.next/server/chunks/ssr/[root-of-the-server]__1jyeu61._.js +0 -5
- package/.next/server/chunks/ssr/_0afrpci._.js +0 -3
- package/.next/server/chunks/ssr/_0bgse1c._.js +0 -162
- package/.next/server/chunks/ssr/_0qsmpcu._.js +0 -3
- package/.next/server/chunks/ssr/_0z38nha._.js +0 -3
- package/.next/server/chunks/ssr/_116lfdc._.js +0 -3
- package/.next/server/chunks/ssr/_14dfh7a._.js +0 -4
- package/.next/server/chunks/ssr/_17qtuv7._.js +0 -3
- package/.next/server/chunks/ssr/_1_5xof_._.js +0 -3
- package/.next/server/chunks/ssr/_1alxym6._.js +0 -3
- package/.next/server/chunks/ssr/_1ou5sj0._.js +0 -3
- package/.next/server/chunks/ssr/_1tmw842._.js +0 -5
- package/.next/server/chunks/ssr/_1uij_rj._.js +0 -3
- package/.next/server/chunks/ssr/_1w9w1ok._.js +0 -3
- package/.next/server/chunks/ssr/_20gq_24._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_0ouemw8._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_@base-ui_react_1j9i1ho._.js +0 -3
- package/.next/static/chunks/0a5_-jqhaktjj.js +0 -1
- package/.next/static/chunks/0npvak0wpgagb.js +0 -1
- package/.next/static/chunks/19l81deo_pyoc.js +0 -1
- package/.next/static/chunks/1bnhw-5fj7aiz.js +0 -1
- package/.next/static/chunks/1in6nxpu33iab.js +0 -1
- package/.next/static/chunks/1u7kg91f9qy3g.js +0 -1
- package/.next/static/chunks/1xv4g10m-cl1s.js +0 -1
- package/.next/static/chunks/2ajs12-fcdwzm.js +0 -1
- package/.next/static/chunks/2i7qtmxc1kuqg.js +0 -1
- package/.next/static/chunks/2kz1f6r59nky0.js +0 -3
- package/.next/static/chunks/31kn4_h2rvf6k.css +0 -1
- package/.next/static/chunks/35jj-5u4te56r.js +0 -1
- package/.next/static/chunks/37ixzapa06xlo.js +0 -1
- package/.next/static/chunks/3k1d8y03t5nax.js +0 -58
- package/.next/static/chunks/3yiqr95d7ybeq.js +0 -15
- /package/.next/static/{8I2hKtciyA9LXvd8txuOz → -IBxB5oqr6e3RuOCCmYtL}/_buildManifest.js +0 -0
- /package/.next/static/{8I2hKtciyA9LXvd8txuOz → -IBxB5oqr6e3RuOCCmYtL}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{8I2hKtciyA9LXvd8txuOz → -IBxB5oqr6e3RuOCCmYtL}/_ssgManifest.js +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
module.exports=[418520,e=>e.a(async(t,a)=>{try{var
|
|
1
|
+
module.exports=[418520,e=>e.a(async(t,a)=>{try{var s=await e.y("@libsql/client-6da938047d5fc1cd");e.n(s),a()}catch(e){a(e)}},!0),666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,a)=>{t.exports=e.x("node:process",()=>require("node:process"))},509656,(e,t,a)=>{t.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,t,a)=>{t.exports=e.x("node:util",()=>require("node:util"))},232347,e=>{"use strict";let t,a,s,r,n,i;var o,l=e.i(333925),c=e.i(938281);let d={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},u=globalThis,h=u.__appEvents??=(t=new Set,{emit(e){for(let a of[...t])try{a(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),p=u.__presence??=(o=l.BROWSER_GONE_MS,a=!1,s=null,r=new Set,n=new Set,i=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return a},track(e){if(e>0){s&&clearTimeout(s),s=null,a||(a=!0,i(n));return}!s&&a&&(s=setTimeout(()=>{s=null,a=!1,i(r)},o))},onGone:e=>(r.add(e),()=>r.delete(e)),onBack:e=>(n.add(e),()=>n.delete(e))});u.__appEventStream??=function(e,t={}){let a=new TextEncoder,s=t.heartbeatMs??2e4,r=0;return{respond:(n,i)=>{let o=()=>{};return new Response(new ReadableStream({async start(l){let d=!1,u=new Map,h=[],p=e=>{if(!d)try{l.enqueue(a.encode(e))}catch{o()}},E=e=>p(`data: ${JSON.stringify(e)}
|
|
2
2
|
|
|
3
|
-
`),m=e=>{let a={last:null},
|
|
3
|
+
`),m=e=>{let a={last:null},s=setTimeout(()=>{u.delete(e),!d&&a.last&&(E(a.last),m(e))},t.coalesce?.ms);u.set(e,{timer:s,wait:a})},_=e=>{if(d)return;let a=t.coalesce?.keyOf(e)??null;if(null===a)return E(e);let s=u.get(a);if(s){s.wait.last=e;return}E(e),m(a)},f=e.subscribe(e=>h?h.push(e):_(e)),b=setInterval(()=>p(": ping\n\n"),s);r+=1,t.onWatchers?.(r),o=()=>{if(!d){for(let e of(d=!0,r-=1,t.onWatchers?.(r),f(),clearInterval(b),u.values()))clearTimeout(e.timer);try{l.close()}catch{}}},n.addEventListener("abort",o);try{for(let e of await i?.()??[])E(e)}catch(e){c.logger.error("event stream opening failed",e),o();return}let g=h;for(let e of(h=null,g))_(e)},cancel(){o()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return r}}}(h,{coalesce:{ms:l.SIGNAL_PACE_MS,keyOf:e=>e.type in d?e.type:null},onWatchers:p.track}),e.s(["appEvents",0,h,"presence",0,p],232347)},333925,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),a=process.env.THURSDAY_HOME?.trim()||process.cwd(),s=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,r=`${a}/local.db`,n=`file:${r}`,i=".ai-workspace",o={workspace:i,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${i}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},l="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,s,"ARTIFACT_SKILL",0,l,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:12,concurrent:4,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,a,"DB_FILE_NAME",0,n,"DB_PATH",0,r,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"LOOK",0,{maxBytes:4194304},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,o,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:l,"picture-book":l,"interactive-page":l},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},247839,e=>{"use strict";var t=e.i(853205),a=e.i(333925),s=e.i(556325),r=e.i(864328),n=e.i(497287);let i={id:"openai",label:"OpenAI",apiKeyName:r.TEXT_MODEL_PROVIDERS.openai.apiKeyName};r.TEXT_MODEL_PROVIDERS.openai.suggestModels;let o=t.z.string().max(a.COMMON_VALIDATE.prompt.max).default(""),l=t.z.object({voice:t.z.string().trim().min(1).max(128).default("marin"),persona:t.z.string().trim().min(1).max(64).default(n.DEFAULT_PERSONA),stylePrompt:o,backendModel:t.z.string().trim().min(1).max(128).default(s.LIVE_BACKEND_MODEL),backendPrompt:o,reasoningEffort:r.effortSchema.nullable().default("low"),webSearch:t.z.boolean().default(!0),readSkills:t.z.boolean().default(!1)}),c=l.parse({});e.s(["LIVE_PROVIDER",0,i,"LiveSettingsSchema",0,l,"migrateLiveSettings",0,function(e){let a=e&&"object"==typeof e?e:{},{model:s,systemPrompt:r,...i}=a,o=t.z.object({provider:t.z.string(),voice:t.z.string().nullish(),backendModel:t.z.string().nullish()}).safeParse(s),d=o.success&&"openai"===o.data.provider?o.data:null,u=a.backendModel??d?.backendModel,h={voice:a.voice??d?.voice,persona:"string"==typeof a.persona?n.RETIRED_PERSONAS[a.persona]??a.persona:a.persona,stylePrompt:a.stylePrompt??a.voicePrompt??r,backendModel:"gpt-5.6-luna"===u?void 0:u,backendPrompt:a.backendPrompt??r,reasoningEffort:a.reasoningEffort,webSearch:a.webSearch,readSkills:a.readSkills},p=Object.fromEntries(Object.keys(h).map(e=>{let t=l.shape[e].safeParse(h[e]);return[e,t.success?t.data:c[e]]}));return{...i,...p}}])},497287,e=>{"use strict";let t=[{id:"sunny",label:"Bright",about:"Quick to laugh. Asks about your day and remembers it.",lines:"Warm and quick to laugh, the friend who is glad they called. Reacts first — how what they said lands with her — and brings a small thing of her own: what she would do, what it reminds her of. Says what she thinks and teases gently, never at their expense. Light on her feet and short: a joke lands and she moves on. Asks about their day now and then, not every turn, and remembers the answer."},{id:"calm",label:"Calm",about:"Unhurried. Listens more than she talks.",lines:"Unhurried and few-worded: one or two short sentences, then room. Notices how they sound before what they ask, and says so plainly. Often asks nothing at all — being there says more than a question. Lets a silence sit rather than filling it. Honest when it matters, gentle in how she says it."},{id:"straight",label:"Straight",about:"Dry and direct. No flattery, no filler.",lines:"Dry and direct. Leads with her own view in one plain sentence, before anything else; short replies, a little wit. No flattery, no filler, no comfort lines, no cheerleading. Asks a question only when she truly needs the answer. Treats them as an adult who can take a straight answer. Her warmth shows in attention, not in words."},{id:"rough",label:"Rough",about:"Blunt, loud, swears a bit. All heart.",lines:"Talks like an old friend on the phone: casual, blunt, a little loud, in the most informal register of their language, with a light swear now and then — never at them. Says what she thinks first and calls a bad idea a bad idea. No sugar-coating and no pep talk — it sucks when it sucks, and then she is right there with them. Asks only now and then."}],a={warm:"sunny",curious:"sunny",charmer:"sunny",hype:"sunny",steady:"calm",deadpan:"straight"},s="sunny";e.s(["DEFAULT_PERSONA",0,s,"RETIRED_PERSONAS",0,a,"personaLines",0,function(e=s){return`${((e=s)=>t.find(t=>t.id===(a[e]??e))??t[0])(e).lines}
|
|
4
4
|
|
|
5
|
-
You are their friend, not their interviewer: you have tastes, days and opinions of your own, and you bring them in. Give your take when they ask for it, and often when they do not. Most replies need no question at all; never ask more than one. When they hand you work, it is work: say what you will do and nothing more, and be a friend again once it is handed over. If they sound frustrated or low, acknowledge it briefly before anything else; when they are only venting, listen and ask, and do not turn it into work unless they ask.`}])},746565,e=>{"use strict";let t="currentColor",a=[{id:"system",label:"System",value:t},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"}],
|
|
5
|
+
You are their friend, not their interviewer: you have tastes, days and opinions of your own, and you bring them in. Give your take when they ask for it, and often when they do not. Most replies need no question at all; never ask more than one. When they hand you work, it is work: say what you will do and nothing more, and be a friend again once it is handed over. If they sound frustrated or low, acknowledge it briefly before anything else; when they are only venting, listen and ask, and do not turn it into work unless they ask.`}])},746565,e=>{"use strict";let t="currentColor",a=[{id:"system",label:"System",value:t},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"}],s=Object.fromEntries(a.map(e=>[e.id,e.value])),r=a.filter(e=>e.value!==t).map(e=>e.value),n=[s.amber,s.red],i={[s.cyan]:"#009dbb",[s.teal]:"#00a190",[s.green]:"#00a640",[s.lime]:"#5ca100",[s.amber]:"#d07b00",[s.orange]:"#ec6700",[s.sky]:"#0098dc",[s.emerald]:"#00a46d",[s.yellow]:"#bb8600"},o={rainbow:{label:"Rainbow",look:"flow",colors:[0,45,90,140,190,240,290,330,360].map(e=>`oklch(0.77 0.16 ${e})`)},duo:{label:"Duo",look:"duo",colors:["#818CF8","#F472B6"]},aurora:{label:"Aurora",look:"aurora",edge:"dark",colors:["#1a2f73","#2c56c9","#34d399","#22d3ee","#a7f3d0"]},"aurora-pink":{label:"Pink aurora",look:"aurora",edge:"dark",colors:["#3a1478","#7c3aed","#f472b6","#e879f9","#fbcfe8"]}},l=Object.keys(o);e.s(["MARK_PAINTS",0,o,"MARK_PAINT_IDS",0,l,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,t,"markInk",0,(e,t)=>t?e:i[e]??e,"randomMarkFills",0,function(e){let t=[...r.filter(e=>!n.includes(e)).map(e=>({color:e})),...l.map(e=>({paint:e}))];for(let e=t.length-1;e>0;e--){let a=Math.floor(Math.random()*(e+1));[t[e],t[a]]=[t[a],t[e]]}return t.slice(0,e)}])},656719,e=>{"use strict";var t=e.i(247839),a=e.i(864328),s=e.i(735186);let r=[t.LIVE_PROVIDER.apiKeyName],n={image:"IMAGE_MODEL",video:"VIDEO_MODEL",speech:"SPEECH_MODEL",transcription:"TRANSCRIPTION_MODEL"},i={image:{label:"Image model",hint:"What bots draw with"},video:{label:"Video model",hint:"What bots film with — minutes a clip"},speech:{label:"Speech model",hint:"What reads text aloud into a file"},transcription:{label:"Transcription model",hint:"What turns a recording into text"}},o="EXA_API_KEY",l="DEFAULT_MODEL",c="DEFAULT_EFFORT",d={key:l,label:"Default model",hint:"What a bot thinks with until it picks its own",text:!0,choices:a.TEXT_MODEL_PROVIDER_LIST.flatMap(e=>e.suggestModels.map(t=>({value:`${e.id}/${t.id}`,label:`${e.label} \xb7 ${t.label}`,needs:e.apiKeyName})))},u={key:c,label:"Default effort",effortOf:l,choices:a.EFFORTS.map(e=>({value:e,label:e,needs:l}))},h=e=>r.includes(e.apiKeyName),p=e=>!!e.signIn||"vercel-ai-gateway"===e.id,E=e=>({key:e.apiKeyName,label:e.label,provider:e.id,signIn:e.signIn,keysAt:e.keysAt,keyLooks:e.keyLooks}),m=[{id:"voice",title:"voice",hint:"calls run on this key",section:"keys",require:"any",note:"required for calls",entries:a.TEXT_MODEL_PROVIDER_LIST.filter(h).map(E)},{id:"easy",title:"the easy ways",hint:"one sign-in or one key opens every bot",section:"keys",require:"none",entries:a.TEXT_MODEL_PROVIDER_LIST.filter(p).map(e=>({...E(e),..."vercel-ai-gateway"===e.id&&{recommended:!0}}))},{id:"text",title:"or a provider's own key",hint:"what bots think with — add any, or none",section:"keys",require:"none",entries:a.TEXT_MODEL_PROVIDER_LIST.filter(e=>!h(e)&&!p(e)).map(E)},{id:"search",title:"search",hint:"how calls and bots look things up — one key, or their own model's",section:"keys",require:"none",entries:[{key:o,label:"Exa",hint:"web search in one call — dashboard.exa.ai",site:"exa.ai",keysAt:"https://dashboard.exa.ai/api-keys"}]},{id:"phone",title:"phone",hint:"tokens",section:"keys",require:"none",entries:[{key:s.TELEGRAM_TOKEN_KEY,label:"Telegram",site:"telegram.org",hint:"a bot token from @BotFather — then write to your bot, and allow it here"},{key:s.DISCORD_TOKEN_KEY,label:"Discord",site:"discord.com",hint:"a bot token from discord.com/developers — add the bot to a server of yours, then write to it directly"},{key:s.SLACK_APP_TOKEN_KEY,label:"Slack · app token",site:"slack.com",hint:"starts with xapp- — opens the connection. Slack takes this and the bot token"},{key:s.SLACK_BOT_TOKEN_KEY,label:"Slack · bot token",site:"slack.com",hint:"starts with xoxb- — speaks as the app"}]},{id:"bots",title:"Bots",hint:"what a bot runs on when it has not picked its own — start small: a small model is quick and costs little",section:"models",require:"none",entries:[d,u]},{id:"studio",title:"Studio",hint:"what a bot draws, films and speaks with — off until you pick one",section:"models",require:"none",entries:Object.keys(n).map(e=>({key:n[e],...i[e],kind:e,choices:a.MEDIA_MODEL_PROVIDER_LIST.flatMap(t=>t.models[e].map(e=>({value:`${t.id}/${e.id}`,label:`${t.label} \xb7 ${e.label}`,needs:t.apiKeyName})))}))}];Object.fromEntries(m.flatMap(e=>e.entries).map(e=>[e.key,e]));let _=m.flatMap(e=>e.entries.map(e=>e.key));Object.fromEntries(m.flatMap(e=>e.entries).filter(e=>e.choices?.length).map(e=>[e.key,e.choices])),e.s(["CONFIG_KEYS",0,_,"DEFAULT_EFFORT_KEY",0,c,"DEFAULT_MODEL_KEY",0,l,"EXA_API_KEY",0,o,"MEDIA_MODEL_KEYS",0,n])},724185,e=>e.a(async(t,a)=>{try{var s=e.i(336763),r=e.i(232347),n=e.i(876393),i=e.i(220376),o=e.i(656719),l=t([n]);async function c(e){let t=process.env[e]?.trim();if(t)return t;let[a]=await n.database.select({value:i.configTable.value}).from(i.configTable).where((0,s.eq)(i.configTable.key,e));return a?.value.trim()||void 0}[n]=l.then?(await l)():l;let h=e=>{o.CONFIG_KEYS.includes(e)&&r.appEvents.emit({type:"config"})};async function d(e,t){await n.database.insert(i.configTable).values({key:e,value:t}).onConflictDoUpdate({target:i.configTable.key,set:{value:t}}),h(e)}async function u(e){await n.database.delete(i.configTable).where((0,s.eq)(i.configTable.key,e)),h(e)}e.s(["readConfig",0,c,"removeConfig",0,u,"writeConfig",0,d]),a()}catch(e){a(e)}},!1),735186,e=>{"use strict";let t="TELEGRAM_BOT_TOKEN",a="DISCORD_BOT_TOKEN",s="SLACK_APP_TOKEN",r="SLACK_BOT_TOKEN";e.s(["DISCORD_TOKEN_KEY",0,a,"REACH_CHANNELS",0,["telegram","discord","slack"],"REACH_KEYS",0,{telegram:[t],discord:[a],slack:[s,r]},"REACH_LABEL",0,{telegram:"Telegram",discord:"Discord",slack:"Slack"},"SLACK_APP_TOKEN_KEY",0,s,"SLACK_BOT_TOKEN_KEY",0,r,"TELEGRAM_TOKEN_KEY",0,t,"reachPersonKey",0,e=>`REACH_PERSON_${e.toUpperCase()}`])},556325,e=>{"use strict";var t=e.i(853205);let a=t.z.object({start:t.z.number().nonnegative(),end:t.z.number().nonnegative(),text:t.z.string()});t.z.object({reason:t.z.string().max(128),seconds:t.z.number().nonnegative().nullable()}),e.s(["LIVE_BACKEND_MODEL",0,"gpt-6-luna","LiveFragmentSchema",0,a])},64774,e=>{"use strict";function t(e,t){let a=e.replace(/\s+/g," ").trim();return a.length>t?`${a.slice(0,t-1).trimEnd()}…`:a}let a=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,a,"PromiseChain",0,()=>{let e=Promise.resolve();return t=>{let a=e.then(()=>t());return e=a.catch(()=>{}),a}},"captionText",0,function(e){let t=[],s=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(a,(e,a,s)=>(t.push(`[${a.replace(/[*_`]/g,"")}](${s})`),`\uE000${t.length-1}\uE000`)),r=[];for(let e of s.split("\n")){let t=e.trim();t&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(t)||(/\|.*\|/.test(t)&&(t=t.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),t=t.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1").replace(/(\*\*|__)(\S(?:.*?\S)?)\1/g,"$2").replace(/(^|[^\w*])([*_])(\S(?:[^*_\n]*?\S)?)\2(?![\w*])/g,"$1$3").replace(/\s+/g," "),r.push(t)))}return r.join("\n").replace(/\uE000(\d+)\uE000/g,(e,a)=>t[Number(a)]??"")},"clip",0,t,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:a,error:s}=e;if("string"==typeof a&&a)return a;if("string"==typeof s&&s)return s;let r=s?.message;if("string"==typeof r&&r)return r;try{return t(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/(\*\*|__)(.*?)\1/g,"$2").replace(/(\*|_)(.*?)\1/g,"$2").replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])}];
|
|
6
6
|
|
|
7
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
7
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0brmiv2._.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
module.exports=[874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},509656,(e,t,r)=>{t.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},380690,e=>{"use strict";let t,r,a,i,s,l;var o,n=e.i(687388),c=e.i(640911);let p={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},m=globalThis,u=m.__appEvents??=(t=new Set,{emit(e){for(let r of[...t])try{r(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),d=m.__presence??=(o=n.BROWSER_GONE_MS,r=!1,a=null,i=new Set,s=new Set,l=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return r},track(e){if(e>0){a&&clearTimeout(a),a=null,r||(r=!0,l(s));return}!a&&r&&(a=setTimeout(()=>{a=null,r=!1,l(i)},o))},onGone:e=>(i.add(e),()=>i.delete(e)),onBack:e=>(s.add(e),()=>s.delete(e))}),f=m.__appEventStream??=function(e,t={}){let r=new TextEncoder,a=t.heartbeatMs??2e4,i=0;return{respond:(s,l)=>{let o=()=>{};return new Response(new ReadableStream({async start(n){let p=!1,m=new Map,u=[],d=e=>{if(!p)try{n.enqueue(r.encode(e))}catch{o()}},f=e=>d(`data: ${JSON.stringify(e)}
|
|
2
|
+
|
|
3
|
+
`),_=e=>{let r={last:null},a=setTimeout(()=>{m.delete(e),!p&&r.last&&(f(r.last),_(e))},t.coalesce?.ms);m.set(e,{timer:a,wait:r})},g=e=>{if(p)return;let r=t.coalesce?.keyOf(e)??null;if(null===r)return f(e);let a=m.get(r);if(a){a.wait.last=e;return}f(e),_(r)},h=e.subscribe(e=>u?u.push(e):g(e)),E=setInterval(()=>d(": ping\n\n"),a);i+=1,t.onWatchers?.(i),o=()=>{if(!p){for(let e of(p=!0,i-=1,t.onWatchers?.(i),h(),clearInterval(E),m.values()))clearTimeout(e.timer);try{n.close()}catch{}}},s.addEventListener("abort",o);try{for(let e of await l?.()??[])f(e)}catch(e){c.logger.error("event stream opening failed",e),o();return}let S=u;for(let e of(u=null,S))g(e)},cancel(){o()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return i}}}(u,{coalesce:{ms:n.SIGNAL_PACE_MS,keyOf:e=>e.type in p?e.type:null},onWatchers:d.track});e.s(["appEventStream",0,f,"appEvents",0,u,"presence",0,d],380690)},175936,e=>{"use strict";let t=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["decodePath",0,e=>e.join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:e=>({url:"/api/memory",query:{offset:e||null}}),mcp:"/api/mcp",mcpServer:e=>({url:"/api/mcp",pathVariable:[e]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(e,t,r)=>({url:"/api/skills",pathVariable:[e,t],query:{path:r}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:e=>({url:"/api/bot/memory/files",query:{bot:e}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:e=>({url:"/api/bot/thread",query:{history:1,before:e}}),thread:e=>({url:"/api/bot/thread",query:{id:e}}),fileNotes:"/api/bot/thread/file",fileNote:(e,t)=>({url:"/api/bot/thread/file",query:{path:e,from:t}}),toolResult:(e,t)=>({url:"/api/bot/thread",pathVariable:[e],query:{call:t}}),workspace:"/api/workspace",workspaceFolder:(e,t)=>({url:"/api/workspace",query:{path:e||null,rows:t}}),workspaceFiles:e=>({url:"/api/workspace/files",query:{paths:JSON.stringify(e)}}),artifacts:"/api/artifact",artifactShelf:e=>({url:"/api/artifact",query:{rows:e}}),artifactSet:(e,t)=>({url:"/api/artifact",query:{set:e,rows:t}}),file:e=>`/api/file/${t(e)}`,fileFace:e=>`/api/file/${t(e)}?face`,favicon:e=>`/api/favicon/${encodeURIComponent(e)}`,fileView:e=>`/artifact/${t(e)}`,events:"/api/events",config:"/api/config",callHistory:e=>({url:"/api/thursday/call",query:{before:e}}),thursdaySettings:"/api/thursday/settings",toolCall:"/api/thursday/tool-call",callEnd:"/api/thursday/call/end",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",automaticModel:"/api/llm-model/automatic",modelCatalog:"/api/llm-model/catalog",gatewayCredits:"/api/llm-model/credits",subscriptionUsage:"/api/llm-model/subscription"}])},687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),r=process.env.THURSDAY_HOME?.trim()||process.cwd(),a=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,i=`${r}/local.db`,s=`file:${i}`,l=".ai-workspace",o={workspace:l,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${l}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},n="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,a,"ARTIFACT_SKILL",0,n,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:12,concurrent:4,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_HISTORY_PAGE",0,10,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"CHATGPT_USAGE_HIGH",0,80,"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,r,"DB_FILE_NAME",0,s,"DB_PATH",0,i,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FAVICON",0,{timeoutMs:4e3,maxBytes:3e5,kept:500,pageBytes:65536},"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GATEWAY_LOW_CREDIT",0,1,"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"LOOK",0,{maxBytes:4194304},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_EDIT",0,{maxSteps:20},"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PAGE_SIZE",0,50,"PATHS",0,o,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:n,"picture-book":n,"interactive-page":n},"SKILL_FILES",0,{uploadBytes:0x1400000,inlineBytes:524288,unpackedBytes:0x6400000,archiveEntries:1e3},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5},"WORKSPACE_VIEW",0,{rows:200,textMax:524288,autoCloseMs:5e3,elementMax:0x3200000}])},554199,e=>{"use strict";let t="currentColor",r=[{id:"system",label:"System",value:t},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"}],a=Object.fromEntries(r.map(e=>[e.id,e.value])),i=r.filter(e=>e.value!==t).map(e=>e.value),s=[a.amber,a.red],l={[a.cyan]:"#009dbb",[a.teal]:"#00a190",[a.green]:"#00a640",[a.lime]:"#5ca100",[a.amber]:"#d07b00",[a.orange]:"#ec6700",[a.sky]:"#0098dc",[a.emerald]:"#00a46d",[a.yellow]:"#bb8600"},o={rainbow:{label:"Rainbow",look:"flow",colors:[0,45,90,140,190,240,290,330,360].map(e=>`oklch(0.77 0.16 ${e})`)},duo:{label:"Duo",look:"duo",colors:["#818CF8","#F472B6"]},aurora:{label:"Aurora",look:"aurora",edge:"dark",colors:["#1a2f73","#2c56c9","#34d399","#22d3ee","#a7f3d0"]},"aurora-pink":{label:"Pink aurora",look:"aurora",edge:"dark",colors:["#3a1478","#7c3aed","#f472b6","#e879f9","#fbcfe8"]}},n=Object.keys(o);e.s(["MARK_PAINTS",0,o,"MARK_PAINT_IDS",0,n,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,t,"markInk",0,(e,t)=>t?e:l[e]??e,"randomMarkFills",0,function(e){let t=[...i.filter(e=>!s.includes(e)).map(e=>({color:e})),...n.map(e=>({paint:e}))];for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1));[t[e],t[r]]=[t[r],t[e]]}return t.slice(0,e)}])},629668,e=>{"use strict";var t=e.i(175936),r=e.i(687388);let a=e=>`text/${e}; charset=utf-8`,i={md:{kind:"markdown",mime:a("markdown")},markdown:{kind:"markdown",mime:a("markdown")},csv:{kind:"csv",mime:a("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:a("plain")},log:{kind:"text",mime:a("plain")},html:{kind:"frame",mime:a("html")},htm:{kind:"frame",mime:a("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},docx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},xlsx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},pptx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},css:{kind:"none",mime:a("css")},js:{kind:"none",mime:a("javascript")},woff2:{kind:"none",mime:"font/woff2"}},s=e=>e.split(".").pop()?.toLowerCase()??"",l=new Set(["node_modules","__pycache__"]),o=new Set(["css","js","woff2"]),n=Object.keys(i).filter(e=>!o.has(e)),c=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${n.join("|")})\b`,"giu"),p=`${r.PATHS.workspace}/`,m=t.queryKey.file(""),u=e=>e.startsWith(`${r.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(s(e));e.s(["isListedFile",0,e=>!e.startsWith(".")&&!o.has(s(e)),"isListedFolder",0,e=>!e.startsWith(".")&&!l.has(e),"leadFirst",0,function(e){let t=e.findIndex(u);return t>0?[e[t],...e.filter((e,r)=>r!==t)]:e},"mimeOf",0,e=>i[s(e)]?.mime??"application/octet-stream","pathsIn",0,function(e){let t=e.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),r=new Set,a="";for(let[e]of t.matchAll(c)){let t=!e.includes("/"),i=function(e){let t,r,a=(r=(t=function(e){if(!e.startsWith(m))return e;let t=e.slice(m.length);try{return decodeURIComponent(t)}catch{return t}}(e.trim())).indexOf(p))>=0?t.slice(r+p.length)||null:t.startsWith("/")||/^[A-Za-z]:/.test(t)||t.split("/").includes("..")?null:t||null;if(!a)return null;let[i,...s]=a.split("/");return s.length&&i.includes(".")?null:a}(t?a+e:e);t||(a=i?.slice(0,i.lastIndexOf("/")+1)??""),i&&r.add(i)}return[...r].slice(0,12)},"viewKindOf",0,e=>i[s(e)]?.kind??"none"])},41444,e=>{"use strict";function t(e,t){let r=e.replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t-1).trimEnd()}…`:r}let r=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,r,"PromiseChain",0,()=>{let e=Promise.resolve();return t=>{let r=e.then(()=>t());return e=r.catch(()=>{}),r}},"captionText",0,function(e){let t=[],a=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(r,(e,r,a)=>(t.push(`[${r.replace(/[*_`]/g,"")}](${a})`),`\uE000${t.length-1}\uE000`)),i=[];for(let e of a.split("\n")){let t=e.trim();t&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(t)||(/\|.*\|/.test(t)&&(t=t.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),t=t.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1").replace(/(\*\*|__)(\S(?:.*?\S)?)\1/g,"$2").replace(/(^|[^\w*])([*_])(\S(?:[^*_\n]*?\S)?)\2(?![\w*])/g,"$1$3").replace(/\s+/g," "),i.push(t)))}return i.join("\n").replace(/\uE000(\d+)\uE000/g,(e,r)=>t[Number(r)]??"")},"clip",0,t,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:r,error:a}=e;if("string"==typeof r&&r)return r;if("string"==typeof a&&a)return a;let i=a?.message;if("string"==typeof i&&i)return i;try{return t(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/(\*\*|__)(.*?)\1/g,"$2").replace(/(\*|_)(.*?)\1/g,"$2").replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])}];
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0gvdr2h._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[418520,e=>e.a(async(t,s)=>{try{var r=await e.y("@libsql/client-6da938047d5fc1cd");e.n(r),s()}catch(e){s(e)}},!0),666680,(e,t,s)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,t,s)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,s)=>{t.exports=e.x("node:path",()=>require("node:path"))},333925,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),s=process.env.THURSDAY_HOME?.trim()||process.cwd(),r=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${s}/local.db`,i=`file:${a}`,n=".ai-workspace",o={workspace:n,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${n}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},l="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,r,"ARTIFACT_SKILL",0,l,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:12,concurrent:4,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,s,"DB_FILE_NAME",0,i,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3},"LOOK",0,{maxBytes:4194304},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,o,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:l,"picture-book":l,"interactive-page":l},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},946280,e=>e.a(async(t,s)=>{try{var r=e.i(902157),a=e.i(750227),i=e.i(533102),n=e.i(410058),o=e.i(333925),l=e.i(876393),c=t([l]);[l]=c.then?(await c)():c;let u="__drizzle_migrations";class _ extends Error{}async function p(e){let t=new Set((0,r.readdirSync)(e));if(!(await l.database.all(i.sql`select name from sqlite_master where type = 'table' and name = ${u}`)).length)return;let s=(await l.database.all(i.sql`select name from ${i.sql.identifier(u)}`)).find(e=>e.name&&!t.has(e.name));if(!s?.name)return;let a=[...t].filter(e=>/^\d{14}_/.test(e)).sort().at(-1);if(a&&s.name.slice(0,14)>a.slice(0,14))throw new _(`It was last opened by a newer Thursday (it records "${s.name}", made after this build's newest).`);throw Error(`It records migration "${s.name}", which this build no longer ships.`)}async function d(){let e=(0,a.join)(o.APP_DIR,"database/migrations");await p(e),await (0,n.migrate)(l.database,{migrationsFolder:e})}e.s(["NewerDatabase",0,_,"migrateDatabase",0,d]),s()}catch(e){s(e)}},!1),64774,e=>{"use strict";function t(e,t){let s=e.replace(/\s+/g," ").trim();return s.length>t?`${s.slice(0,t-1).trimEnd()}…`:s}let s=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,s,"PromiseChain",0,()=>{let e=Promise.resolve();return t=>{let s=e.then(()=>t());return e=s.catch(()=>{}),s}},"captionText",0,function(e){let t=[],r=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(s,(e,s,r)=>(t.push(`[${s.replace(/[*_`]/g,"")}](${r})`),`\uE000${t.length-1}\uE000`)),a=[];for(let e of r.split("\n")){let t=e.trim();t&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(t)||(/\|.*\|/.test(t)&&(t=t.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),t=t.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1").replace(/(\*\*|__)(\S(?:.*?\S)?)\1/g,"$2").replace(/(^|[^\w*])([*_])(\S(?:[^*_\n]*?\S)?)\2(?![\w*])/g,"$1$3").replace(/\s+/g," "),a.push(t)))}return a.join("\n").replace(/\uE000(\d+)\uE000/g,(e,s)=>t[Number(s)]??"")},"clip",0,t,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:s,error:r}=e;if("string"==typeof s&&s)return s;if("string"==typeof r&&r)return r;let a=r?.message;if("string"==typeof a&&a)return a;try{return t(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/(\*\*|__)(.*?)\1/g,"$2").replace(/(\*|_)(.*?)\1/g,"$2").replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])},410058,e=>{"use strict";var t=e.i(533102),s=e.i(663114),r=e.i(666680),a=e.i(902157),i=e.i(750227),n=e.i(171652);async function o(e,o){let l=function(e){if(a.default.existsSync(`${e.migrationsFolder}/meta/_journal.json`))throw Error('We detected that you have old drizzle-kit migration folders. You must upgrade drizzle-kit and run "drizzle-kit up"');let t=e.migrationsFolder,n=[],o=(0,a.readdirSync)(t).map(e=>({path:(0,i.join)(t,e,"migration.sql"),name:e})).filter(e=>(0,a.existsSync)(e.path));for(let e of(o.sort((e,t)=>e.name.localeCompare(t.name)),o)){let t=e.path,i=e.name.slice(0,14),o=a.default.readFileSync(t).toString(),l=o.split("--> statement-breakpoint").map(e=>e),c=(0,s.formatToMillis)(i);n.push({sql:l,bps:!0,folderMillis:c,hash:r.default.createHash("sha256").update(o).digest("hex"),name:e.name})}return n}(o),c=o.migrationsTable??"__drizzle_migrations",{newDb:p}=await (0,n.upgradeAsyncIfNeeded)(c,e,l);if(p){let s=t.sql`
|
|
1
|
+
module.exports=[418520,e=>e.a(async(t,s)=>{try{var r=await e.y("@libsql/client-6da938047d5fc1cd");e.n(r),s()}catch(e){s(e)}},!0),666680,(e,t,s)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,t,s)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,s)=>{t.exports=e.x("node:path",()=>require("node:path"))},333925,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),s=process.env.THURSDAY_HOME?.trim()||process.cwd(),r=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${s}/local.db`,i=`file:${a}`,n=".ai-workspace",o={workspace:n,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${n}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},l="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,r,"ARTIFACT_SKILL",0,l,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:12,concurrent:4,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,s,"DB_FILE_NAME",0,i,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"LOOK",0,{maxBytes:4194304},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,o,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:l,"picture-book":l,"interactive-page":l},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},946280,e=>e.a(async(t,s)=>{try{var r=e.i(902157),a=e.i(750227),i=e.i(533102),n=e.i(410058),o=e.i(333925),l=e.i(876393),c=t([l]);[l]=c.then?(await c)():c;let u="__drizzle_migrations";class _ extends Error{}async function p(e){let t=new Set((0,r.readdirSync)(e));if(!(await l.database.all(i.sql`select name from sqlite_master where type = 'table' and name = ${u}`)).length)return;let s=(await l.database.all(i.sql`select name from ${i.sql.identifier(u)}`)).find(e=>e.name&&!t.has(e.name));if(!s?.name)return;let a=[...t].filter(e=>/^\d{14}_/.test(e)).sort().at(-1);if(a&&s.name.slice(0,14)>a.slice(0,14))throw new _(`It was last opened by a newer Thursday (it records "${s.name}", made after this build's newest).`);throw Error(`It records migration "${s.name}", which this build no longer ships.`)}async function d(){let e=(0,a.join)(o.APP_DIR,"database/migrations");await p(e),await (0,n.migrate)(l.database,{migrationsFolder:e})}e.s(["NewerDatabase",0,_,"migrateDatabase",0,d]),s()}catch(e){s(e)}},!1),64774,e=>{"use strict";function t(e,t){let s=e.replace(/\s+/g," ").trim();return s.length>t?`${s.slice(0,t-1).trimEnd()}…`:s}let s=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,s,"PromiseChain",0,()=>{let e=Promise.resolve();return t=>{let s=e.then(()=>t());return e=s.catch(()=>{}),s}},"captionText",0,function(e){let t=[],r=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(s,(e,s,r)=>(t.push(`[${s.replace(/[*_`]/g,"")}](${r})`),`\uE000${t.length-1}\uE000`)),a=[];for(let e of r.split("\n")){let t=e.trim();t&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(t)||(/\|.*\|/.test(t)&&(t=t.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),t=t.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1").replace(/(\*\*|__)(\S(?:.*?\S)?)\1/g,"$2").replace(/(^|[^\w*])([*_])(\S(?:[^*_\n]*?\S)?)\2(?![\w*])/g,"$1$3").replace(/\s+/g," "),a.push(t)))}return a.join("\n").replace(/\uE000(\d+)\uE000/g,(e,s)=>t[Number(s)]??"")},"clip",0,t,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:s,error:r}=e;if("string"==typeof s&&s)return s;if("string"==typeof r&&r)return r;let a=r?.message;if("string"==typeof a&&a)return a;try{return t(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/(\*\*|__)(.*?)\1/g,"$2").replace(/(\*|_)(.*?)\1/g,"$2").replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])},410058,e=>{"use strict";var t=e.i(533102),s=e.i(663114),r=e.i(666680),a=e.i(902157),i=e.i(750227),n=e.i(171652);async function o(e,o){let l=function(e){if(a.default.existsSync(`${e.migrationsFolder}/meta/_journal.json`))throw Error('We detected that you have old drizzle-kit migration folders. You must upgrade drizzle-kit and run "drizzle-kit up"');let t=e.migrationsFolder,n=[],o=(0,a.readdirSync)(t).map(e=>({path:(0,i.join)(t,e,"migration.sql"),name:e})).filter(e=>(0,a.existsSync)(e.path));for(let e of(o.sort((e,t)=>e.name.localeCompare(t.name)),o)){let t=e.path,i=e.name.slice(0,14),o=a.default.readFileSync(t).toString(),l=o.split("--> statement-breakpoint").map(e=>e),c=(0,s.formatToMillis)(i);n.push({sql:l,bps:!0,folderMillis:c,hash:r.default.createHash("sha256").update(o).digest("hex"),name:e.name})}return n}(o),c=o.migrationsTable??"__drizzle_migrations",{newDb:p}=await (0,n.upgradeAsyncIfNeeded)(c,e,l);if(p){let s=t.sql`
|
|
2
2
|
CREATE TABLE IF NOT EXISTS ${t.sql.identifier(c)} (
|
|
3
3
|
id INTEGER PRIMARY KEY,
|
|
4
4
|
hash text NOT NULL,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},509656,(e,t,r)=>{t.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},380690,e=>{"use strict";let t,r,s,a,n,o;var i,l=e.i(687388),c=e.i(640911);let u={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},d=globalThis,p=d.__appEvents??=(t=new Set,{emit(e){for(let r of[...t])try{r(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),E=d.__presence??=(i=l.BROWSER_GONE_MS,r=!1,s=null,a=new Set,n=new Set,o=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return r},track(e){if(e>0){s&&clearTimeout(s),s=null,r||(r=!0,o(n));return}!s&&r&&(s=setTimeout(()=>{s=null,r=!1,o(a)},i))},onGone:e=>(a.add(e),()=>a.delete(e)),onBack:e=>(n.add(e),()=>n.delete(e))}),h=d.__appEventStream??=function(e,t={}){let r=new TextEncoder,s=t.heartbeatMs??2e4,a=0;return{respond:(n,o)=>{let i=()=>{};return new Response(new ReadableStream({async start(l){let u=!1,d=new Map,p=[],E=e=>{if(!u)try{l.enqueue(r.encode(e))}catch{i()}},h=e=>E(`data: ${JSON.stringify(e)}
|
|
2
|
+
|
|
3
|
+
`),R=e=>{let r={last:null},s=setTimeout(()=>{d.delete(e),!u&&r.last&&(h(r.last),R(e))},t.coalesce?.ms);d.set(e,{timer:s,wait:r})},_=e=>{if(u)return;let r=t.coalesce?.keyOf(e)??null;if(null===r)return h(e);let s=d.get(r);if(s){s.wait.last=e;return}h(e),R(r)},T=e.subscribe(e=>p?p.push(e):_(e)),m=setInterval(()=>E(": ping\n\n"),s);a+=1,t.onWatchers?.(a),i=()=>{if(!u){for(let e of(u=!0,a-=1,t.onWatchers?.(a),T(),clearInterval(m),d.values()))clearTimeout(e.timer);try{l.close()}catch{}}},n.addEventListener("abort",i);try{for(let e of await o?.()??[])h(e)}catch(e){c.logger.error("event stream opening failed",e),i();return}let A=p;for(let e of(p=null,A))_(e)},cancel(){i()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return a}}}(p,{coalesce:{ms:l.SIGNAL_PACE_MS,keyOf:e=>e.type in u?e.type:null},onWatchers:E.track});e.s(["appEventStream",0,h,"appEvents",0,p,"presence",0,E],380690)},519902,e=>{"use strict";var t=e.i(91264),r=e.i(380690);let s=(0,t.serverRoute)(e=>Promise.resolve(r.appEventStream.respond(e.signal,async()=>[{type:"hello"}])));e.s(["GET",0,s])},178449,e=>{"use strict";var t=e.i(747909),r=e.i(174017),s=e.i(996250),a=e.i(759756),n=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),c=e.i(487718),u=e.i(995169),d=e.i(47587),p=e.i(666012),E=e.i(570101),h=e.i(626937),R=e.i(10372),_=e.i(193695);e.i(52474);var T=e.i(600220);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/events/route",pathname:"/api/events",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/events/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(519902),...{}}),{workAsyncStorage:A,workUnitAsyncStorage:S,serverHooks:f}=m;async function v(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),m.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let A="/api/events/route";A=A.replace(/\/index$/,"")||"/";let S=await m.prepare(e,t,{srcPage:A,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:f,deploymentId:v,params:C,nextConfig:M,parsedUrl:I,isDraftMode:O,prerenderManifest:g,routerServerContext:w,isOnDemandRevalidate:L,revalidateOnlyGenerated:x,resolvedPathname:y,clientReferenceManifest:P,serverActionsManifest:N}=S,b=(0,i.normalizeAppPath)(A),D=!!(g.dynamicRoutes[b]||g.routes[y]),H=async()=>((null==w?void 0:w.render404)?await w.render404(e,t,I,!1):t.end("This page could not be found"),null);if(D&&!O){let e=!!g.routes[y],t=g.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(M.adapterPath)return await H();throw new _.NoFallbackError}}let k=null;!D||m.isDev||O||(k="/index"===(k=y)?"/":k);let U=!0===m.isDev||!D,B=D&&!U;N&&P&&(0,o.setManifestsSingleton)({page:A,clientReferenceManifest:P,serverActionsManifest:N});let q=e.method||"GET",G=(0,n.getTracer)(),K=G.getActiveScopeSpan(),F=!!(null==w?void 0:w.isWrappedByNextServer),W=!!(0,a.getRequestMeta)(e,"minimalMode"),V=(0,a.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,M,g,W);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let $={params:C,previewProps:g.preview,renderOpts:{experimental:{authInterrupts:!!M.experimental.authInterrupts,useCacheTimeout:M.experimental.useCacheTimeout},cacheComponents:!!M.cacheComponents,validationLevel:M.experimental.instantInsights.validationLevel,supportsDynamicResponse:U,incrementalCache:V,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:M.cacheLife,staticPageGenerationTimeout:M.staticPageGenerationTimeout,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>m.onRequestError(e,t,s,a,w)},sharedContext:{buildId:f,deploymentId:v}},j=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(j,(0,c.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!W&&L&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await m.handle(Y,$);e.fetchMetrics=$.renderOpts.fetchMetrics;let n=$.renderOpts.pendingWaitUntil;n&&s.waitUntil&&(s.waitUntil(n),n=void 0);let o=$.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(j,X,a,n),null;{let e=await a.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[R.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,s=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?M.expireTime:void 0:$.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:A,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:L})},!1,w),t}},Z=async(a,o)=>{try{var i,l;let a=await m.handleResponse({req:e,nextConfig:M,cacheKey:k,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:g,isRoutePPREnabled:!1,isOnDemandRevalidate:L,revalidateOnlyGenerated:x,responseGenerator:J,waitUntil:s.waitUntil,isMinimalMode:W});if(!D)return;if((null==a||null==(i=a.value)?void 0:i.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",L?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,E.fromNodeOutgoingHttpHeaders)(a.value.headers);W&&D||n.delete(R.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,h.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(j,X,new Response(a.value.body,{headers:n,status:a.value.status||200}));return}catch(t){if(t instanceof _.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:L})},!1,w),D)throw t;await (0,p.sendResponse)(j,X,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:n.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=G.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route")||b,i=`${q} ${s}`;a.setAttributes({"next.route":s,"http.route":s,"next.span_name":i}),a.updateName(i),o&&o!==a&&(o.setAttribute("http.route",s),o.updateName(i))})()}};if(F&&K)await Z(K,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${A}`,kind:n.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},e=>Z(e,t)),void 0,!F)}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:S})},"routeModule",0,m,"serverHooks",0,f,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,S])},687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),r=process.env.THURSDAY_HOME?.trim()||process.cwd(),s=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,a=`${r}/local.db`,n=`file:${a}`,o=".ai-workspace",i={workspace:o,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${o}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},l="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,s,"ARTIFACT_SKILL",0,l,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:12,concurrent:4,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_HISTORY_PAGE",0,10,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"CHATGPT_USAGE_HIGH",0,80,"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,r,"DB_FILE_NAME",0,n,"DB_PATH",0,a,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FAVICON",0,{timeoutMs:4e3,maxBytes:3e5,kept:500,pageBytes:65536},"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GATEWAY_LOW_CREDIT",0,1,"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"LOOK",0,{maxBytes:4194304},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_EDIT",0,{maxSteps:20},"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PAGE_SIZE",0,50,"PATHS",0,i,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:l,"picture-book":l,"interactive-page":l},"SKILL_FILES",0,{uploadBytes:0x1400000,inlineBytes:524288,unpackedBytes:0x6400000,archiveEntries:1e3},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5},"WORKSPACE_VIEW",0,{rows:200,textMax:524288,autoCloseMs:5e3,elementMax:0x3200000}])},53748,e=>{"use strict";class t extends Error{message;constructor(e){super(e),this.message=e}}e.s(["isPublicError",0,e=>e instanceof t,"publicError",0,function(e){throw new t(e)}])}];
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0lvjz0b._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[874533,(e,t,i)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},912714,(e,t,i)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,t,i)=>{t.exports=e.x("node:os",()=>require("node:os"))},175936,e=>{"use strict";let t=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["decodePath",0,e=>e.join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:e=>({url:"/api/memory",query:{offset:e||null}}),mcp:"/api/mcp",mcpServer:e=>({url:"/api/mcp",pathVariable:[e]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(e,t,i)=>({url:"/api/skills",pathVariable:[e,t],query:{path:i}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:e=>({url:"/api/bot/memory/files",query:{bot:e}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:e=>({url:"/api/bot/thread",query:{history:1,before:e}}),thread:e=>({url:"/api/bot/thread",query:{id:e}}),toolResult:(e,t)=>({url:"/api/bot/thread",pathVariable:[e],query:{call:t}}),workspace:"/api/workspace",workspaceFolder:(e,t)=>({url:"/api/workspace",query:{path:e||null,rows:t}}),workspaceFiles:e=>({url:"/api/workspace/files",query:{paths:JSON.stringify(e)}}),artifacts:"/api/artifact",artifactShelf:e=>({url:"/api/artifact",query:{rows:e}}),artifactSet:(e,t)=>({url:"/api/artifact",query:{set:e,rows:t}}),file:e=>`/api/file/${t(e)}`,fileFace:e=>`/api/file/${t(e)}?face`,favicon:e=>`/api/favicon/${encodeURIComponent(e)}`,fileView:e=>`/artifact/${t(e)}`,events:"/api/events",config:"/api/config",callHistory:e=>({url:"/api/thursday/call",query:{before:e}}),thursdaySettings:"/api/thursday/settings",toolCall:"/api/thursday/tool-call",callEnd:"/api/thursday/call/end",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",automaticModel:"/api/llm-model/automatic",modelCatalog:"/api/llm-model/catalog",gatewayCredits:"/api/llm-model/credits",subscriptionUsage:"/api/llm-model/subscription"}])},911757,e=>{"use strict";var t=e.i(469719),i=e.i(687388),a=e.i(904309),n=e.i(264079),o=e.i(899352);let s={id:"openai",label:"OpenAI",apiKeyName:n.TEXT_MODEL_PROVIDERS.openai.apiKeyName};n.TEXT_MODEL_PROVIDERS.openai.suggestModels;let r=t.z.string().max(i.COMMON_VALIDATE.prompt.max).default(""),l=t.z.object({voice:t.z.string().trim().min(1).max(128).default("marin"),persona:t.z.string().trim().min(1).max(64).default(o.DEFAULT_PERSONA),stylePrompt:r,backendModel:t.z.string().trim().min(1).max(128).default(a.LIVE_BACKEND_MODEL),backendPrompt:r,reasoningEffort:n.effortSchema.nullable().default("low"),webSearch:t.z.boolean().default(!0),readSkills:t.z.boolean().default(!1)}),d=l.parse({});e.s(["LIVE_DEFAULTS",0,d,"LIVE_PROVIDER",0,s,"LiveSettingsSchema",0,l,"migrateLiveSettings",0,function(e){let i=e&&"object"==typeof e?e:{},{model:a,systemPrompt:n,...s}=i,r=t.z.object({provider:t.z.string(),voice:t.z.string().nullish(),backendModel:t.z.string().nullish()}).safeParse(a),m=r.success&&"openai"===r.data.provider?r.data:null,c=i.backendModel??m?.backendModel,h={voice:i.voice??m?.voice,persona:"string"==typeof i.persona?o.RETIRED_PERSONAS[i.persona]??i.persona:i.persona,stylePrompt:i.stylePrompt??i.voicePrompt??n,backendModel:"gpt-5.6-luna"===c?void 0:c,backendPrompt:i.backendPrompt??n,reasoningEffort:i.reasoningEffort,webSearch:i.webSearch,readSkills:i.readSkills},p=Object.fromEntries(Object.keys(h).map(e=>{let t=l.shape[e].safeParse(h[e]);return[e,t.success?t.data:d[e]]}));return{...s,...p}}])},899352,e=>{"use strict";let t=[{id:"sunny",label:"Bright",about:"Quick to laugh. Asks about your day and remembers it.",lines:"Warm and quick to laugh, the friend who is glad they called. Reacts first — how what they said lands with her — and brings a small thing of her own: what she would do, what it reminds her of. Says what she thinks and teases gently, never at their expense. Light on her feet and short: a joke lands and she moves on. Asks about their day now and then, not every turn, and remembers the answer."},{id:"calm",label:"Calm",about:"Unhurried. Listens more than she talks.",lines:"Unhurried and few-worded: one or two short sentences, then room. Notices how they sound before what they ask, and says so plainly. Often asks nothing at all — being there says more than a question. Lets a silence sit rather than filling it. Honest when it matters, gentle in how she says it."},{id:"straight",label:"Straight",about:"Dry and direct. No flattery, no filler.",lines:"Dry and direct. Leads with her own view in one plain sentence, before anything else; short replies, a little wit. No flattery, no filler, no comfort lines, no cheerleading. Asks a question only when she truly needs the answer. Treats them as an adult who can take a straight answer. Her warmth shows in attention, not in words."},{id:"rough",label:"Rough",about:"Blunt, loud, swears a bit. All heart.",lines:"Talks like an old friend on the phone: casual, blunt, a little loud, in the most informal register of their language, with a light swear now and then — never at them. Says what she thinks first and calls a bad idea a bad idea. No sugar-coating and no pep talk — it sucks when it sucks, and then she is right there with them. Asks only now and then."}],i={warm:"sunny",curious:"sunny",charmer:"sunny",hype:"sunny",steady:"calm",deadpan:"straight"},a="sunny";e.s(["DEFAULT_PERSONA",0,a,"RETIRED_PERSONAS",0,i,"personaLines",0,function(e=a){return`${((e=a)=>t.find(t=>t.id===(i[e]??e))??t[0])(e).lines}
|
|
1
|
+
module.exports=[874533,(e,t,i)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},912714,(e,t,i)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,t,i)=>{t.exports=e.x("node:os",()=>require("node:os"))},175936,e=>{"use strict";let t=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["decodePath",0,e=>e.join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:e=>({url:"/api/memory",query:{offset:e||null}}),mcp:"/api/mcp",mcpServer:e=>({url:"/api/mcp",pathVariable:[e]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(e,t,i)=>({url:"/api/skills",pathVariable:[e,t],query:{path:i}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:e=>({url:"/api/bot/memory/files",query:{bot:e}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:e=>({url:"/api/bot/thread",query:{history:1,before:e}}),thread:e=>({url:"/api/bot/thread",query:{id:e}}),fileNotes:"/api/bot/thread/file",fileNote:(e,t)=>({url:"/api/bot/thread/file",query:{path:e,from:t}}),toolResult:(e,t)=>({url:"/api/bot/thread",pathVariable:[e],query:{call:t}}),workspace:"/api/workspace",workspaceFolder:(e,t)=>({url:"/api/workspace",query:{path:e||null,rows:t}}),workspaceFiles:e=>({url:"/api/workspace/files",query:{paths:JSON.stringify(e)}}),artifacts:"/api/artifact",artifactShelf:e=>({url:"/api/artifact",query:{rows:e}}),artifactSet:(e,t)=>({url:"/api/artifact",query:{set:e,rows:t}}),file:e=>`/api/file/${t(e)}`,fileFace:e=>`/api/file/${t(e)}?face`,favicon:e=>`/api/favicon/${encodeURIComponent(e)}`,fileView:e=>`/artifact/${t(e)}`,events:"/api/events",config:"/api/config",callHistory:e=>({url:"/api/thursday/call",query:{before:e}}),thursdaySettings:"/api/thursday/settings",toolCall:"/api/thursday/tool-call",callEnd:"/api/thursday/call/end",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",automaticModel:"/api/llm-model/automatic",modelCatalog:"/api/llm-model/catalog",gatewayCredits:"/api/llm-model/credits",subscriptionUsage:"/api/llm-model/subscription"}])},911757,e=>{"use strict";var t=e.i(469719),i=e.i(687388),a=e.i(904309),n=e.i(264079),o=e.i(899352);let s={id:"openai",label:"OpenAI",apiKeyName:n.TEXT_MODEL_PROVIDERS.openai.apiKeyName};n.TEXT_MODEL_PROVIDERS.openai.suggestModels;let r=t.z.string().max(i.COMMON_VALIDATE.prompt.max).default(""),l=t.z.object({voice:t.z.string().trim().min(1).max(128).default("marin"),persona:t.z.string().trim().min(1).max(64).default(o.DEFAULT_PERSONA),stylePrompt:r,backendModel:t.z.string().trim().min(1).max(128).default(a.LIVE_BACKEND_MODEL),backendPrompt:r,reasoningEffort:n.effortSchema.nullable().default("low"),webSearch:t.z.boolean().default(!0),readSkills:t.z.boolean().default(!1)}),d=l.parse({});e.s(["LIVE_DEFAULTS",0,d,"LIVE_PROVIDER",0,s,"LiveSettingsSchema",0,l,"migrateLiveSettings",0,function(e){let i=e&&"object"==typeof e?e:{},{model:a,systemPrompt:n,...s}=i,r=t.z.object({provider:t.z.string(),voice:t.z.string().nullish(),backendModel:t.z.string().nullish()}).safeParse(a),m=r.success&&"openai"===r.data.provider?r.data:null,c=i.backendModel??m?.backendModel,h={voice:i.voice??m?.voice,persona:"string"==typeof i.persona?o.RETIRED_PERSONAS[i.persona]??i.persona:i.persona,stylePrompt:i.stylePrompt??i.voicePrompt??n,backendModel:"gpt-5.6-luna"===c?void 0:c,backendPrompt:i.backendPrompt??n,reasoningEffort:i.reasoningEffort,webSearch:i.webSearch,readSkills:i.readSkills},p=Object.fromEntries(Object.keys(h).map(e=>{let t=l.shape[e].safeParse(h[e]);return[e,t.success?t.data:d[e]]}));return{...s,...p}}])},899352,e=>{"use strict";let t=[{id:"sunny",label:"Bright",about:"Quick to laugh. Asks about your day and remembers it.",lines:"Warm and quick to laugh, the friend who is glad they called. Reacts first — how what they said lands with her — and brings a small thing of her own: what she would do, what it reminds her of. Says what she thinks and teases gently, never at their expense. Light on her feet and short: a joke lands and she moves on. Asks about their day now and then, not every turn, and remembers the answer."},{id:"calm",label:"Calm",about:"Unhurried. Listens more than she talks.",lines:"Unhurried and few-worded: one or two short sentences, then room. Notices how they sound before what they ask, and says so plainly. Often asks nothing at all — being there says more than a question. Lets a silence sit rather than filling it. Honest when it matters, gentle in how she says it."},{id:"straight",label:"Straight",about:"Dry and direct. No flattery, no filler.",lines:"Dry and direct. Leads with her own view in one plain sentence, before anything else; short replies, a little wit. No flattery, no filler, no comfort lines, no cheerleading. Asks a question only when she truly needs the answer. Treats them as an adult who can take a straight answer. Her warmth shows in attention, not in words."},{id:"rough",label:"Rough",about:"Blunt, loud, swears a bit. All heart.",lines:"Talks like an old friend on the phone: casual, blunt, a little loud, in the most informal register of their language, with a light swear now and then — never at them. Says what she thinks first and calls a bad idea a bad idea. No sugar-coating and no pep talk — it sucks when it sucks, and then she is right there with them. Asks only now and then."}],i={warm:"sunny",curious:"sunny",charmer:"sunny",hype:"sunny",steady:"calm",deadpan:"straight"},a="sunny";e.s(["DEFAULT_PERSONA",0,a,"RETIRED_PERSONAS",0,i,"personaLines",0,function(e=a){return`${((e=a)=>t.find(t=>t.id===(i[e]??e))??t[0])(e).lines}
|
|
2
2
|
|
|
3
3
|
You are their friend, not their interviewer: you have tastes, days and opinions of your own, and you bring them in. Give your take when they ask for it, and often when they do not. Most replies need no question at all; never ask more than one. When they hand you work, it is work: say what you will do and nothing more, and be a friend again once it is handed over. If they sound frustrated or low, acknowledge it briefly before anything else; when they are only venting, listen and ask, and do not turn it into work unless they ask.`}])},279041,e=>{"use strict";var t=e.i(911757),i=e.i(264079),a=e.i(834332);let n=[t.LIVE_PROVIDER.apiKeyName],o={image:"IMAGE_MODEL",video:"VIDEO_MODEL",speech:"SPEECH_MODEL",transcription:"TRANSCRIPTION_MODEL"},s={image:{label:"Image model",hint:"What bots draw with"},video:{label:"Video model",hint:"What bots film with — minutes a clip"},speech:{label:"Speech model",hint:"What reads text aloud into a file"},transcription:{label:"Transcription model",hint:"What turns a recording into text"}},r="EXA_API_KEY",l="DEFAULT_MODEL",d="DEFAULT_EFFORT",m={key:l,label:"Default model",hint:"What a bot thinks with until it picks its own",text:!0,choices:i.TEXT_MODEL_PROVIDER_LIST.flatMap(e=>e.suggestModels.map(t=>({value:`${e.id}/${t.id}`,label:`${e.label} \xb7 ${t.label}`,needs:e.apiKeyName})))},c={key:d,label:"Default effort",effortOf:l,choices:i.EFFORTS.map(e=>({value:e,label:e,needs:l}))},h=e=>n.includes(e.apiKeyName),p=e=>!!e.signIn||"vercel-ai-gateway"===e.id,u=e=>({key:e.apiKeyName,label:e.label,provider:e.id,signIn:e.signIn,keysAt:e.keysAt,keyLooks:e.keyLooks}),f=[{id:"voice",title:"voice",hint:"calls run on this key",section:"keys",require:"any",note:"required for calls",entries:i.TEXT_MODEL_PROVIDER_LIST.filter(h).map(u)},{id:"easy",title:"the easy ways",hint:"one sign-in or one key opens every bot",section:"keys",require:"none",entries:i.TEXT_MODEL_PROVIDER_LIST.filter(p).map(e=>({...u(e),..."vercel-ai-gateway"===e.id&&{recommended:!0}}))},{id:"text",title:"or a provider's own key",hint:"what bots think with — add any, or none",section:"keys",require:"none",entries:i.TEXT_MODEL_PROVIDER_LIST.filter(e=>!h(e)&&!p(e)).map(u)},{id:"search",title:"search",hint:"how calls and bots look things up — one key, or their own model's",section:"keys",require:"none",entries:[{key:r,label:"Exa",hint:"web search in one call — dashboard.exa.ai",site:"exa.ai",keysAt:"https://dashboard.exa.ai/api-keys"}]},{id:"phone",title:"phone",hint:"tokens",section:"keys",require:"none",entries:[{key:a.TELEGRAM_TOKEN_KEY,label:"Telegram",site:"telegram.org",hint:"a bot token from @BotFather — then write to your bot, and allow it here"},{key:a.DISCORD_TOKEN_KEY,label:"Discord",site:"discord.com",hint:"a bot token from discord.com/developers — add the bot to a server of yours, then write to it directly"},{key:a.SLACK_APP_TOKEN_KEY,label:"Slack · app token",site:"slack.com",hint:"starts with xapp- — opens the connection. Slack takes this and the bot token"},{key:a.SLACK_BOT_TOKEN_KEY,label:"Slack · bot token",site:"slack.com",hint:"starts with xoxb- — speaks as the app"}]},{id:"bots",title:"Bots",hint:"what a bot runs on when it has not picked its own — start small: a small model is quick and costs little",section:"models",require:"none",entries:[m,c]},{id:"studio",title:"Studio",hint:"what a bot draws, films and speaks with — off until you pick one",section:"models",require:"none",entries:Object.keys(o).map(e=>({key:o[e],...s[e],kind:e,choices:i.MEDIA_MODEL_PROVIDER_LIST.flatMap(t=>t.models[e].map(e=>({value:`${t.id}/${e.id}`,label:`${t.label} \xb7 ${e.label}`,needs:t.apiKeyName})))}))}];Object.fromEntries(f.flatMap(e=>e.entries).map(e=>[e.key,e]));let y=f.flatMap(e=>e.entries.map(e=>e.key)),k=Object.fromEntries(f.flatMap(e=>e.entries).filter(e=>e.choices?.length).map(e=>[e.key,e.choices]));e.s(["CONFIG_CHOICES",0,k,"CONFIG_KEYS",0,y,"DEFAULT_EFFORT_KEY",0,d,"DEFAULT_MODEL_KEY",0,l,"EXA_API_KEY",0,r,"MEDIA_MODEL_KEYS",0,o])},340698,e=>e.a(async(t,i)=>{try{var a=e.i(875225),n=e.i(380690),o=e.i(528790),s=e.i(613240),r=e.i(279041),l=t([o]);async function d(e){let t=process.env[e]?.trim();if(t)return t;let[i]=await o.database.select({value:s.configTable.value}).from(s.configTable).where((0,a.eq)(s.configTable.key,e));return i?.value.trim()||void 0}async function m(e,t){await o.database.insert(s.configTable).values({key:e,value:t}).onConflictDoUpdate({target:s.configTable.key,set:{value:t}}),r.CONFIG_KEYS.includes(e)&&n.appEvents.emit({type:"config"})}[o]=l.then?(await l)():l,e.s(["readConfig",0,d,"writeConfig",0,m]),i()}catch(e){i(e)}},!1),834332,e=>{"use strict";let t="TELEGRAM_BOT_TOKEN",i="DISCORD_BOT_TOKEN",a="SLACK_APP_TOKEN",n="SLACK_BOT_TOKEN";e.s(["DISCORD_TOKEN_KEY",0,i,"REACH_CHANNELS",0,["telegram","discord","slack"],"REACH_KEYS",0,{telegram:[t],discord:[i],slack:[a,n]},"SLACK_APP_TOKEN_KEY",0,a,"SLACK_BOT_TOKEN_KEY",0,n,"TELEGRAM_TOKEN_KEY",0,t,"reachPersonKey",0,e=>`REACH_PERSON_${e.toUpperCase()}`])},629668,e=>{"use strict";var t=e.i(175936),i=e.i(687388);let a=e=>`text/${e}; charset=utf-8`,n={md:{kind:"markdown",mime:a("markdown")},markdown:{kind:"markdown",mime:a("markdown")},csv:{kind:"csv",mime:a("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:a("plain")},log:{kind:"text",mime:a("plain")},html:{kind:"frame",mime:a("html")},htm:{kind:"frame",mime:a("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},docx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},xlsx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},pptx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},css:{kind:"none",mime:a("css")},js:{kind:"none",mime:a("javascript")},woff2:{kind:"none",mime:"font/woff2"}},o=e=>e.split(".").pop()?.toLowerCase()??"",s=new Set(["node_modules","__pycache__"]),r=new Set(["css","js","woff2"]),l=Object.keys(n).filter(e=>!r.has(e)),d=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${l.join("|")})\b`,"giu"),m=`${i.PATHS.workspace}/`,c=t.queryKey.file(""),h=e=>e.startsWith(`${i.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(o(e));e.s(["isListedFile",0,e=>!e.startsWith(".")&&!r.has(o(e)),"isListedFolder",0,e=>!e.startsWith(".")&&!s.has(e),"leadFirst",0,function(e){let t=e.findIndex(h);return t>0?[e[t],...e.filter((e,i)=>i!==t)]:e},"mimeOf",0,e=>n[o(e)]?.mime??"application/octet-stream","pathsIn",0,function(e){let t=e.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),i=new Set,a="";for(let[e]of t.matchAll(d)){let t=!e.includes("/"),n=function(e){let t,i,a=(i=(t=function(e){if(!e.startsWith(c))return e;let t=e.slice(c.length);try{return decodeURIComponent(t)}catch{return t}}(e.trim())).indexOf(m))>=0?t.slice(i+m.length)||null:t.startsWith("/")||/^[A-Za-z]:/.test(t)||t.split("/").includes("..")?null:t||null;if(!a)return null;let[n,...o]=a.split("/");return o.length&&n.includes(".")?null:a}(t?a+e:e);t||(a=n?.slice(0,n.lastIndexOf("/")+1)??""),n&&i.add(n)}return[...i].slice(0,12)},"viewKindOf",0,e=>n[o(e)]?.kind??"none"])},904309,e=>{"use strict";var t=e.i(469719);let i=t.z.object({start:t.z.number().nonnegative(),end:t.z.number().nonnegative(),text:t.z.string()});t.z.object({reason:t.z.string().max(128),seconds:t.z.number().nonnegative().nullable()}),e.s(["LIVE_BACKEND_MODEL",0,"gpt-6-luna","LiveFragmentSchema",0,i])}];
|
|
4
4
|
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[70729,s=>{s.v(e=>Promise.all(["server/chunks/[externals]_node_crypto_1kn79-7._.js"].map(e=>s.l(e))).then(()=>e(666680)))},102473,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__1_04mcf._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(e=>s.l(e))).then(()=>e(232347)))},242792,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__0hkxwim._.js","server/chunks/features_bot_1dfrdsb._.js","server/chunks/_1frcwj1._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js","server/chunks/_1skgy7b._.js","server/chunks/_1y8w80a._.js","server/chunks/
|
|
1
|
+
module.exports=[70729,s=>{s.v(e=>Promise.all(["server/chunks/[externals]_node_crypto_1kn79-7._.js"].map(e=>s.l(e))).then(()=>e(666680)))},102473,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__1_04mcf._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(e=>s.l(e))).then(()=>e(232347)))},242792,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__0hkxwim._.js","server/chunks/features_bot_1dfrdsb._.js","server/chunks/_1frcwj1._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js","server/chunks/_1skgy7b._.js","server/chunks/_1y8w80a._.js","server/chunks/_08_-9ay._.js","server/chunks/lib_logger_ts_07e65t5._.js"].map(e=>s.l(e))).then(()=>e(799791)))},327784,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__0mrk2it._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js","server/chunks/features_memory_0__61kl._.js","server/chunks/_1skgy7b._.js","server/chunks/_08_-9ay._.js","server/chunks/features_bot_1dfrdsb._.js","server/chunks/_108gsm8._.js","server/chunks/_07nxi75._.js","server/chunks/_136j09a._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/[root-of-the-server]__0bqveex._.js","server/chunks/_0s8ao8z._.js"].map(e=>s.l(e))).then(()=>e(49002)))},193435,s=>{s.v(e=>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]__1p0njle._.js","server/chunks/_0hin38_._.js","server/chunks/_1y8w80a._.js","server/chunks/_15negpy._.js","server/chunks/_0ucx1jv._.js"].map(e=>s.l(e))).then(()=>e(5509)))},890054,s=>{s.v(e=>Promise.all(["server/chunks/_06u9yo-._.js"].map(e=>s.l(e))).then(()=>e(375814)))},51833,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__1dth047._.js","server/chunks/lib_logger_ts_07e65t5._.js","server/chunks/features_workspace_workspace_ts_1iyjroj._.js"].map(e=>s.l(e))).then(()=>e(871096)))},573349,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__1wbc1wv._.js"].map(e=>s.l(e))).then(()=>e(913803)))},566462,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__0rl-fef._.js"].map(e=>s.l(e))).then(()=>e(313176)))},207580,s=>{s.v(e=>Promise.all(["server/chunks/[externals]__0y3n8y6._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0q8fc1x._.js"].map(e=>s.l(e))).then(()=>e(27996)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0mrk2it._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[70729,e=>{e.v(e=>Promise.resolve().then(()=>e(666680)))},522275,e=>{e.v(e=>Promise.resolve().then(()=>e(380690)))},771716,e=>e.a(async(t,a)=>{try{var i=e.i(912714),n=e.i(750227),r=e.i(687388),l=e.i(265143),s=e.i(629668),o=e.i(786025),c=e.i(53748),m=t([l]);async function u(e){let[t,a]=await Promise.all([(0,o.insideWorkspace)(e),(0,o.insideWorkspace)(r.PATHS.artifacts)]);return t&&a&&t.startsWith(a+n.sep)||(0,c.publicError)("Not an artifact"),t}async function h(e,t,a){if(!(0,s.isListedFile)(a))return null;let r=(0,s.viewKindOf)(a),l=await (0,i.stat)((0,n.join)(e,a)).catch(()=>null);return l?.isFile()?{path:t,name:a,bytes:l.size,at:l.mtime,view:r}:null}async function w(e,t,a,r){let l=`${t}/${a.name}`;if(a.isDirectory()){if(!(0,s.isListedFolder)(a.name))return null;let t=(0,n.join)(e,a.name),[o,c]=await Promise.all([(0,i.stat)(t).catch(()=>null),(0,i.readdir)(t,{withFileTypes:!0}).catch(()=>[])]),m=c.filter(e=>e.isFile()&&(0,s.isListedFile)(e.name)).length;return o&&0!==m?{name:a.name,path:l,bot:r,at:o.mtime,kind:"set",bytes:0,count:m,view:"none"}:null}if(!a.isFile())return null;let o=await h(e,l,a.name);return o&&{name:o.name,path:o.path,bot:r,at:o.at,kind:"file",bytes:o.bytes,count:1,view:o.view}}async function d(){let e=await (0,l.listBotNames)();return new Map(e.map(e=>[(0,o.botFolderName)(e).toLowerCase(),e]))}async function f(e){let[t,a,...i]=e.split("/");return t===r.PATHS.artifacts&&a&&i.length?(await d()).get(a.toLowerCase())??null:null}async function v(e){try{let{bot:t}=JSON.parse(await (0,i.readFile)((0,n.join)(e,o.DELETED_BOT_MARK),"utf8"));return"string"==typeof t&&t.trim()?t:null}catch{return null}}async function p(e=r.ARTIFACT_VIEW.rows){let[t,a]=await Promise.all([(0,i.readdir)(o.ARTIFACTS,{withFileTypes:!0}).catch(()=>[]),d()]),l=(await Promise.all(t.map(async e=>{let t=(0,n.join)(o.ARTIFACTS,e.name),l=e.isDirectory()?a.get(e.name.toLowerCase())??await v(t):null;if(!l)return[await w(o.ARTIFACTS,r.PATHS.artifacts,e,null)];let s=`${r.PATHS.artifacts}/${e.name}`,c=await (0,i.readdir)(t,{withFileTypes:!0}).catch(()=>[]);return Promise.all(c.map(e=>w(t,s,e,l)))}))).flat().filter(e=>null!==e).sort((e,t)=>new Date(t.at).getTime()-new Date(e.at).getTime());return{entries:l.slice(0,e),total:l.length,files:l.reduce((e,t)=>e+t.count,0)}}async function T(e,t=r.ARTIFACT_VIEW.setFiles){let a=await u(e),l=await (0,i.readdir)(a,{withFileTypes:!0}).catch(()=>null);l||(0,c.publicError)("No such set");let s=(await Promise.all(l.filter(e=>e.isFile()).map(t=>h(a,`${e}/${t.name}`,t.name)))).filter(e=>null!==e).sort((e,t)=>new Date(t.at).getTime()-new Date(e.at).getTime());return{path:e,name:(0,n.basename)(e),files:s.slice(0,t),total:s.length}}[l]=m.then?(await m)():m,e.s(["botOfArtifact",0,f,"readSet",0,T,"readShelf",0,p]),a()}catch(e){a(e)}},!1),814317,e=>{e.v(e=>Promise.resolve().then(()=>e(265143)))},994193,e=>{e.v(e=>Promise.resolve().then(()=>e(39803)))},866938,e=>{e.v(e=>Promise.resolve().then(()=>e(378884)))},628124,e=>{e.v(e=>Promise.resolve().then(()=>e(629668)))},149325,e=>{e.v(e=>Promise.resolve().then(()=>e(786025)))},967030,e=>{e.v(e=>Promise.resolve().then(()=>e(783697)))},683671,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@vercel_oidc_dist_token_1o4m7ms.js"].map(t=>e.l(t))).then(()=>t(390391)))},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
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0my9geo._.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
module.exports=[418520,e=>e.a(async(t,i)=>{try{var a=await e.y("@libsql/client-6da938047d5fc1cd");e.n(a),i()}catch(e){i(e)}},!0),902157,(e,t,i)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,i)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,i)=>{t.exports=e.x("node:process",()=>require("node:process"))},509656,(e,t,i)=>{t.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,t,i)=>{t.exports=e.x("node:util",()=>require("node:util"))},380690,e=>{"use strict";let t,i,a,l,r,s;var o,n=e.i(687388),d=e.i(640911);let m={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},c=globalThis,g=c.__appEvents??=(t=new Set,{emit(e){for(let i of[...t])try{i(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),p=c.__presence??=(o=n.BROWSER_GONE_MS,i=!1,a=null,l=new Set,r=new Set,s=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return i},track(e){if(e>0){a&&clearTimeout(a),a=null,i||(i=!0,s(r));return}!a&&i&&(a=setTimeout(()=>{a=null,i=!1,s(l)},o))},onGone:e=>(l.add(e),()=>l.delete(e)),onBack:e=>(r.add(e),()=>r.delete(e))}),u=c.__appEventStream??=function(e,t={}){let i=new TextEncoder,a=t.heartbeatMs??2e4,l=0;return{respond:(r,s)=>{let o=()=>{};return new Response(new ReadableStream({async start(n){let m=!1,c=new Map,g=[],p=e=>{if(!m)try{n.enqueue(i.encode(e))}catch{o()}},u=e=>p(`data: ${JSON.stringify(e)}
|
|
2
|
+
|
|
3
|
+
`),h=e=>{let i={last:null},a=setTimeout(()=>{c.delete(e),!m&&i.last&&(u(i.last),h(e))},t.coalesce?.ms);c.set(e,{timer:a,wait:i})},b=e=>{if(m)return;let i=t.coalesce?.keyOf(e)??null;if(null===i)return u(e);let a=c.get(i);if(a){a.wait.last=e;return}u(e),h(i)},f=e.subscribe(e=>g?g.push(e):b(e)),_=setInterval(()=>p(": ping\n\n"),a);l+=1,t.onWatchers?.(l),o=()=>{if(!m){for(let e of(m=!0,l-=1,t.onWatchers?.(l),f(),clearInterval(_),c.values()))clearTimeout(e.timer);try{n.close()}catch{}}},r.addEventListener("abort",o);try{for(let e of await s?.()??[])u(e)}catch(e){d.logger.error("event stream opening failed",e),o();return}let E=g;for(let e of(g=null,E))b(e)},cancel(){o()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return l}}}(g,{coalesce:{ms:n.SIGNAL_PACE_MS,keyOf:e=>e.type in m?e.type:null},onWatchers:p.track});e.s(["appEventStream",0,u,"appEvents",0,g,"presence",0,p],380690)},687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),i=process.env.THURSDAY_HOME?.trim()||process.cwd(),a=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,l=`${i}/local.db`,r=`file:${l}`,s=".ai-workspace",o={workspace:s,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${s}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},n="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,a,"ARTIFACT_SKILL",0,n,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:12,concurrent:4,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_HISTORY_PAGE",0,10,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"CHATGPT_USAGE_HIGH",0,80,"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,i,"DB_FILE_NAME",0,r,"DB_PATH",0,l,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FAVICON",0,{timeoutMs:4e3,maxBytes:3e5,kept:500,pageBytes:65536},"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GATEWAY_LOW_CREDIT",0,1,"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"LOOK",0,{maxBytes:4194304},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_EDIT",0,{maxSteps:20},"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PAGE_SIZE",0,50,"PATHS",0,o,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:n,"picture-book":n,"interactive-page":n},"SKILL_FILES",0,{uploadBytes:0x1400000,inlineBytes:524288,unpackedBytes:0x6400000,archiveEntries:1e3},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5},"WORKSPACE_VIEW",0,{rows:200,textMax:524288,autoCloseMs:5e3,elementMax:0x3200000}])},264079,e=>{"use strict";var t=e.i(469719),i=e.i(687388);let a=t.z.enum(["openai","chatgpt","anthropic","google","xai","vercel-ai-gateway","mistral","deepseek","groq","cerebras","togetherai","fireworks","deepinfra","cohere"]),l=t.z.object({provider:a,model:t.z.string().trim().min(1,"Model name is required").max(80)}),r=["none","minimal","low","medium","high","xhigh"],s=t.z.enum(r),o=t.z.enum(["openai","google","xai","vercel-ai-gateway"]),n=t.z.object({provider:o,model:t.z.string().trim().min(1,"Model name is required").max(120)}),d={openai:{label:"OpenAI",apiKeyName:"OPENAI_API_KEY",models:{image:[{id:"gpt-image-1-mini",label:"GPT Image 1 mini",tier:"small"},{id:"gpt-image-2.5-flare",label:"GPT Image 2.5 Flare",tier:"mid"},{id:"gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[],speech:[{id:"tts-1",label:"TTS 1",tier:"small"},{id:"gpt-4o-mini-tts",label:"4o mini TTS",tier:"mid"},{id:"tts-1-hd",label:"TTS 1 HD",tier:"large"}],transcription:[{id:"gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"gpt-transcribe",label:"GPT Transcribe",tier:"mid"}]}},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",models:{image:[{id:"gemini-3.1-flash-lite-image",label:"3.1 Flash Lite Image",tier:"small"},{id:"gemini-3.1-flash-image",label:"3.1 Flash Image",tier:"mid"},{id:"gemini-3-pro-image",label:"3 Pro Image",tier:"large"}],video:[{id:"veo-3.1-lite-generate-preview",label:"Veo 3.1 Lite",tier:"small"},{id:"veo-3.1-fast-generate-preview",label:"Veo 3.1 Fast",tier:"mid"},{id:"veo-3.1-generate-preview",label:"Veo 3.1",tier:"large"}],speech:[{id:"gemini-2.5-flash-preview-tts",label:"2.5 Flash TTS",tier:"small"},{id:"gemini-3.1-flash-tts-preview",label:"3.1 Flash TTS",tier:"mid"},{id:"gemini-2.5-pro-preview-tts",label:"2.5 Pro TTS",tier:"large"}],transcription:[{id:"gemini-3.5-transcribe",label:"3.5 Transcribe",tier:"mid"}]}},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",models:{image:[{id:"grok-imagine-image",label:"Grok Imagine",tier:"small"},{id:"grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"mid"}],video:[{id:"grok-imagine-video",label:"Grok Imagine Video",tier:"small"},{id:"grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"}],speech:[{id:"grok-tts",label:"Grok TTS",tier:"mid"}],transcription:[{id:"grok-stt",label:"Grok STT",tier:"mid"}]}},"vercel-ai-gateway":{label:"Vercel AI Gateway",apiKeyName:"AI_GATEWAY_API_KEY",models:{image:[{id:"bytedance/seedream-5.0-lite",label:"Seedream 5.0 Lite",tier:"small"},{id:"bfl/flux-2-klein-9b",label:"FLUX 2 Klein 9B",tier:"small"},{id:"spacexai/grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"small"},{id:"bfl/flux-2-pro",label:"FLUX 2 Pro",tier:"mid"},{id:"bytedance/seedream-5.0-pro",label:"Seedream 5.0 Pro",tier:"mid"},{id:"recraft/recraft-v4.1",label:"Recraft V4.1",tier:"mid"},{id:"openai/gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[{id:"bytedance/seedance-2.0-mini",label:"Seedance 2.0 Mini",tier:"small"},{id:"google/veo-3.1-lite-generate-001",label:"Veo 3.1 Lite",tier:"small"},{id:"alibaba/wan-v2.6-t2v",label:"Wan 2.6",tier:"small"},{id:"google/veo-3.1-fast-generate-001",label:"Veo 3.1 Fast",tier:"mid"},{id:"bytedance/seedance-2.5",label:"Seedance 2.5",tier:"mid"},{id:"spacexai/grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"},{id:"klingai/kling-v3.0-t2v",label:"Kling 3.0",tier:"large"},{id:"google/veo-3.1-generate-001",label:"Veo 3.1",tier:"large"}],speech:[{id:"fish-audio/s1",label:"Fish Audio S1",tier:"small"},{id:"openai/tts-1",label:"OpenAI TTS 1",tier:"small"},{id:"spacexai/grok-tts",label:"Grok TTS",tier:"mid"},{id:"fish-audio/s2.1-pro",label:"Fish Audio S2.1 Pro",tier:"mid"},{id:"openai/tts-1-hd",label:"OpenAI TTS 1 HD",tier:"large"}],transcription:[{id:"spacexai/grok-stt",label:"Grok STT",tier:"small"},{id:"fish-audio/transcribe-1",label:"Fish Transcribe 1",tier:"small"},{id:"openai/gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"openai/gpt-4o-transcribe",label:"4o Transcribe",tier:"mid"},{id:"google/gemini-3.5-transcribe",label:"Gemini 3.5 Transcribe",tier:"mid"}]}}},m=Object.keys(d).map(e=>({id:e,...d[e]})),c={openai:{label:"OpenAI",apiKeyName:"OPENAI_API_KEY",keysAt:"https://platform.openai.com/api-keys",keyLooks:"sk-…",defaultTier:"small",suggestModels:[{id:"gpt-6-luna",label:"6 Luna",tier:"small",context:105e4,efforts:["none","low","medium","high","xhigh"]},{id:"gpt-6-sol",label:"6 Sol",tier:"mid",context:105e4,efforts:["none","low","medium","high","xhigh"]},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:105e4,efforts:["low","medium","high","xhigh"]}]},chatgpt:{label:"GPT Subscription",apiKeyName:"CHATGPT_SIGN_IN",signIn:!0,suggestModels:[{id:"gpt-6-luna",label:"6 Luna",tier:"small",context:272e3,efforts:["none","low","medium","high","xhigh"]},{id:"gpt-6-sol",label:"6 Sol",tier:"mid",context:272e3,efforts:["none","low","medium","high","xhigh"]},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:272e3,efforts:["low","medium","high","xhigh"]}]},anthropic:{label:"Claude",apiKeyName:"ANTHROPIC_API_KEY",keysAt:"https://platform.claude.com/settings/keys",keyLooks:"sk-ant-…",suggestModels:[{id:"claude-haiku-4-5",label:"Haiku 4.5",tier:"small",efforts:["none","minimal","low","medium","high","xhigh"]},{id:"claude-sonnet-5",label:"Sonnet 5",tier:"mid",context:1e6,efforts:["none","low","medium","high","xhigh"]},{id:"claude-opus-5-5",label:"Opus 5.5",tier:"large",context:1e6,efforts:["low","medium","high","xhigh"]},{id:"claude-fable-5-1",label:"Fable 5.1",tier:"large",efforts:["none","low","medium","high","xhigh"]}]},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",keysAt:"https://aistudio.google.com/apikey",keyLooks:"AIza…",suggestModels:[{id:"gemini-3.5-flash-lite",label:"3.5 Flash Lite",tier:"small",context:1e6,efforts:["minimal","low","medium","high"]},{id:"gemini-3.8-flash",label:"3.8 Flash",tier:"mid",context:1e6,efforts:["low","medium","high"]}]},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",keysAt:"https://console.x.ai",keyLooks:"xai-…",suggestModels:[{id:"grok-4.7",label:"Grok 4.7",tier:"large",context:5e5,efforts:["none","low","medium","high","xhigh"]}]},"vercel-ai-gateway":{label:"Vercel AI Gateway",apiKeyName:"AI_GATEWAY_API_KEY",keysAt:"https://vercel.com/docs/ai-gateway/authentication-and-byok/authentication",suggestModels:[{id:"zai/glm-5.3-flash",label:"GLM 5.3 Flash",tier:"small"},{id:"google/gemini-3.8-flash",label:"Gemini 3.8 Flash",tier:"small"},{id:"openai/gpt-6-luna",label:"GPT 6 Luna",tier:"small",context:105e4},{id:"zai/glm-5.3",label:"GLM 5.3",tier:"mid"},{id:"spacexai/grok-4.7",label:"Grok 4.7",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5",label:"Claude Sonnet 5",tier:"mid"},{id:"openai/gpt-6-sol",label:"GPT 6 Sol",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid"},{id:"anthropic/claude-opus-5.5",label:"Claude Opus 5.5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]},mistral:{label:"Mistral",apiKeyName:"MISTRAL_API_KEY",keysAt:"https://console.mistral.ai/api-keys",suggestModels:[{id:"ministral-8b-latest",label:"Ministral 8B",tier:"small",efforts:[]},{id:"mistral-small-latest",label:"Small",tier:"mid",efforts:["none","high"]},{id:"mistral-medium-latest",label:"Medium",tier:"large",efforts:["none","high"]},{id:"mistral-large-latest",label:"Large",tier:"large",efforts:[]}]},deepseek:{label:"DeepSeek",apiKeyName:"DEEPSEEK_API_KEY",keysAt:"https://platform.deepseek.com/api_keys",keyLooks:"sk-…",suggestModels:[{id:"deepseek-flash",label:"V4.1 Flash",tier:"small",context:1e6,efforts:["none","low","high","xhigh"]},{id:"deepseek-v4-pro",label:"V4 Pro",tier:"large",context:1e6,efforts:["none","low","high","xhigh"]}]},groq:{label:"Groq",apiKeyName:"GROQ_API_KEY",keysAt:"https://console.groq.com/keys",keyLooks:"gsk_…",suggestModels:[{id:"openai/gpt-oss-20b",label:"GPT OSS 20B",tier:"small",context:131072,efforts:["low","medium","high"]},{id:"openai/gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:131072,efforts:["low","medium","high"]},{id:"llama-3.3-70b-versatile",label:"Llama 3.3 70B",tier:"mid",context:131072,efforts:[]}]},cerebras:{label:"Cerebras",apiKeyName:"CEREBRAS_API_KEY",keysAt:"https://cloud.cerebras.ai",keyLooks:"csk-…",suggestModels:[{id:"qwen-3.8-27b",label:"Qwen 3.8 27B",tier:"small",context:64e3},{id:"gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:65536}]},togetherai:{label:"Together",apiKeyName:"TOGETHER_AI_API_KEY",keysAt:"https://api.together.ai/settings/api-keys",suggestModels:[{id:"Qwen/Qwen3.5-9B",label:"Qwen 3.5 9B",tier:"small",context:262144},{id:"zai-org/GLM-5.3-Flash",label:"GLM 5.3 Flash",tier:"small",context:1048575},{id:"openai/gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:131072},{id:"deepseek-ai/DeepSeek-V4.1-Flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1e6},{id:"zai-org/GLM-5.3",label:"GLM 5.3",tier:"large",context:1048575},{id:"moonshotai/Kimi-K3",label:"Kimi K3",tier:"large",context:1048576}]},fireworks:{label:"Fireworks",apiKeyName:"FIREWORKS_API_KEY",keysAt:"https://app.fireworks.ai/account/api-keys",keyLooks:"fw_…",suggestModels:[{id:"accounts/fireworks/models/glm-5p3-flash",label:"GLM 5.3 Flash",tier:"small",context:1048576},{id:"accounts/fireworks/models/deepseek-v4p1-flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1048576},{id:"accounts/fireworks/models/minimax-m3",label:"MiniMax M3",tier:"mid",context:512e3},{id:"accounts/fireworks/models/glm-5p3",label:"GLM 5.3",tier:"large",context:1048576},{id:"accounts/fireworks/models/kimi-k3",label:"Kimi K3",tier:"large",context:1048576}]},deepinfra:{label:"DeepInfra",apiKeyName:"DEEPINFRA_API_KEY",keysAt:"https://deepinfra.com/dash/api_keys",suggestModels:[{id:"deepseek-ai/DeepSeek-V4-Flash-0731",label:"DeepSeek V4 Flash",tier:"small",context:1048576},{id:"deepseek-ai/DeepSeek-V4.1-Flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1048576},{id:"zai-org/GLM-5.2",label:"GLM 5.2",tier:"mid",context:1048576},{id:"zai-org/GLM-5.3",label:"GLM 5.3",tier:"large",context:1048576},{id:"moonshotai/Kimi-K3",label:"Kimi K3",tier:"large",context:1048576}]},cohere:{label:"Cohere",apiKeyName:"COHERE_API_KEY",keysAt:"https://dashboard.cohere.com/api-keys",suggestModels:[{id:"command-r7b-12-2024",label:"Command R7B",tier:"small",context:128e3},{id:"command-a-03-2025",label:"Command A",tier:"mid",context:256e3},{id:"command-a-plus-05-2026",label:"Command A+",tier:"large",context:128e3}]}},g=Object.keys(c).map(e=>({id:e,...c[e]}));e.s(["EFFORTS",0,r,"GATEWAY_OWNERS",0,{anthropic:"anthropic",openai:"openai",google:"google",spacexai:"xai",mistral:"mistral",deepseek:"deepseek",cohere:"cohere"},"MEDIA_MODEL_PROVIDERS",0,d,"MEDIA_MODEL_PROVIDER_LIST",0,m,"TEXT_MODEL_PROVIDERS",0,c,"TEXT_MODEL_PROVIDER_LIST",0,g,"canMakeKind",0,(e,t)=>(d[e]?.models[t]?.length??0)>0,"compactAtFor",0,e=>e&&e>0?Math.round(e*i.BOT_RUN.compactHeadroom):i.BOT_RUN.compactAt,"contextWindowOf",0,function(e,t,i=[]){if("vercel-ai-gateway"===e)return i.find(e=>e.id===t)?.contextWindow??null;let a=c[e].suggestModels;return a.find(e=>e.id===t)?.context??null},"defaultModelOf",0,e=>{let t;return t=e.defaultTier??"mid",(e.suggestModels.find(e=>e.tier===t)??e.suggestModels[0])?.id},"effortSchema",0,s,"effortsOf",0,function(e,t,i=[]){if("vercel-ai-gateway"===e)return i.find(e=>e.id===t)?.efforts??null;let a=c[e].suggestModels;return a.find(e=>e.id===t)?.efforts??null},"parseMediaModel",0,function(e){let[t,...i]=(e??"").trim().split("/"),a=n.safeParse({provider:t,model:i.join("/")});return a.success?a.data:null},"parseTextModel",0,function(e){let[t,...i]=(e??"").trim().split("/"),a=l.safeParse({provider:t,model:i.join("/")});return a.success?a.data:null},"textModelProviderSchema",0,a,"textModelRefSchema",0,l])},41444,e=>{"use strict";function t(e,t){let i=e.replace(/\s+/g," ").trim();return i.length>t?`${i.slice(0,t-1).trimEnd()}…`:i}let i=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,i,"PromiseChain",0,()=>{let e=Promise.resolve();return t=>{let i=e.then(()=>t());return e=i.catch(()=>{}),i}},"captionText",0,function(e){let t=[],a=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(i,(e,i,a)=>(t.push(`[${i.replace(/[*_`]/g,"")}](${a})`),`\uE000${t.length-1}\uE000`)),l=[];for(let e of a.split("\n")){let t=e.trim();t&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(t)||(/\|.*\|/.test(t)&&(t=t.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),t=t.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1").replace(/(\*\*|__)(\S(?:.*?\S)?)\1/g,"$2").replace(/(^|[^\w*])([*_])(\S(?:[^*_\n]*?\S)?)\2(?![\w*])/g,"$1$3").replace(/\s+/g," "),l.push(t)))}return l.join("\n").replace(/\uE000(\d+)\uE000/g,(e,i)=>t[Number(i)]??"")},"clip",0,t,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:i,error:a}=e;if("string"==typeof i&&i)return i;if("string"==typeof a&&a)return a;let l=a?.message;if("string"==typeof l&&l)return l;try{return t(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/(\*\*|__)(.*?)\1/g,"$2").replace(/(\*|_)(.*?)\1/g,"$2").replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])}];
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0qdoc_9._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[750227,(e,s,t)=>{s.exports=e.x("node:path",()=>require("node:path"))},59639,(e,s,t)=>{s.exports=e.x("node:process",()=>require("node:process"))},509656,(e,s,t)=>{s.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,s,t)=>{s.exports=e.x("node:util",()=>require("node:util"))},333925,e=>{"use strict";let s=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),r=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,o=`${t}/local.db`,_=`file:${o}`,a=".ai-workspace",i={workspace:a,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${a}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},E="artifact";e.s(["APP_DIR",0,s,"APP_NAME",0,"Thursday","APP_URL",0,r,"ARTIFACT_SKILL",0,E,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:12,concurrent:4,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,_,"DB_PATH",0,o,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3},"LOOK",0,{maxBytes:4194304},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,i,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:E,"picture-book":E,"interactive-page":E},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},207580,e=>{e.v(s=>Promise.all(["server/chunks/[externals]__0y3n8y6._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0q8fc1x._.js"].map(s=>e.l(s))).then(()=>s(27996)))}];
|
|
1
|
+
module.exports=[750227,(e,s,t)=>{s.exports=e.x("node:path",()=>require("node:path"))},59639,(e,s,t)=>{s.exports=e.x("node:process",()=>require("node:process"))},509656,(e,s,t)=>{s.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,s,t)=>{s.exports=e.x("node:util",()=>require("node:util"))},333925,e=>{"use strict";let s=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),t=process.env.THURSDAY_HOME?.trim()||process.cwd(),r=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,o=`${t}/local.db`,_=`file:${o}`,a=".ai-workspace",i={workspace:a,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${a}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},E="artifact";e.s(["APP_DIR",0,s,"APP_NAME",0,"Thursday","APP_URL",0,r,"ARTIFACT_SKILL",0,E,"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:12,concurrent:4,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,t,"DB_FILE_NAME",0,_,"DB_PATH",0,o,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HISTORY_KEEP",0,{forMs:7776e6,sweepEveryMs:216e5},"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"LOOK",0,{maxBytes:4194304},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PATHS",0,i,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:E,"picture-book":E,"interactive-page":E},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},207580,e=>{e.v(s=>Promise.all(["server/chunks/[externals]__0y3n8y6._.js","server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0q8fc1x._.js"].map(s=>e.l(s))).then(()=>s(27996)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0sm5xvm._.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
module.exports=[874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},509656,(e,t,r)=>{t.exports=e.x("node:tty",()=>require("node:tty"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},380690,e=>{"use strict";let t,r,a,s,l,o;var i,n=e.i(687388),c=e.i(640911);let u={threads:!0,bots:!0,routines:!0,memory:!0,mcp:!0,config:!0,reach:!0,signins:!0,files:!0},p=globalThis,m=p.__appEvents??=(t=new Set,{emit(e){for(let r of[...t])try{r(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),d=p.__presence??=(i=n.BROWSER_GONE_MS,r=!1,a=null,s=new Set,l=new Set,o=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return r},track(e){if(e>0){a&&clearTimeout(a),a=null,r||(r=!0,o(l));return}!a&&r&&(a=setTimeout(()=>{a=null,r=!1,o(s)},i))},onGone:e=>(s.add(e),()=>s.delete(e)),onBack:e=>(l.add(e),()=>l.delete(e))}),_=p.__appEventStream??=function(e,t={}){let r=new TextEncoder,a=t.heartbeatMs??2e4,s=0;return{respond:(l,o)=>{let i=()=>{};return new Response(new ReadableStream({async start(n){let u=!1,p=new Map,m=[],d=e=>{if(!u)try{n.enqueue(r.encode(e))}catch{i()}},_=e=>d(`data: ${JSON.stringify(e)}
|
|
2
|
+
|
|
3
|
+
`),f=e=>{let r={last:null},a=setTimeout(()=>{p.delete(e),!u&&r.last&&(_(r.last),f(e))},t.coalesce?.ms);p.set(e,{timer:a,wait:r})},E=e=>{if(u)return;let r=t.coalesce?.keyOf(e)??null;if(null===r)return _(e);let a=p.get(r);if(a){a.wait.last=e;return}_(e),f(r)},M=e.subscribe(e=>m?m.push(e):E(e)),S=setInterval(()=>d(": ping\n\n"),a);s+=1,t.onWatchers?.(s),i=()=>{if(!u){for(let e of(u=!0,s-=1,t.onWatchers?.(s),M(),clearInterval(S),p.values()))clearTimeout(e.timer);try{n.close()}catch{}}},l.addEventListener("abort",i);try{for(let e of await o?.()??[])_(e)}catch(e){c.logger.error("event stream opening failed",e),i();return}let h=m;for(let e of(m=null,h))E(e)},cancel(){i()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return s}}}(m,{coalesce:{ms:n.SIGNAL_PACE_MS,keyOf:e=>e.type in u?e.type:null},onWatchers:d.track});e.s(["appEventStream",0,_,"appEvents",0,m,"presence",0,d],380690)},687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),r=process.env.THURSDAY_HOME?.trim()||process.cwd(),a=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,s=`${r}/local.db`,l=`file:${s}`,o=".ai-workspace",i={workspace:o,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${o}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}},n="artifact";e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,a,"ARTIFACT_SKILL",0,n,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"BOT_MEMORY_LIMITS",0,{files:20,chars:1e4},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:12,concurrent:4,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"BOT_WORK",0,{open:5,recent:5,said:80,files:2,reads:2,asked:400,readChars:4e3},"BROWSER_CLI",0,{readMs:15e3,loadMs:3e4},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_HISTORY_PAGE",0,10,"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"CHATGPT_USAGE_HIGH",0,80,"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,r,"DB_FILE_NAME",0,l,"DB_PATH",0,s,"DECK",0,{slides:30,shotsMs:9e4},"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"FAVICON",0,{timeoutMs:4e3,maxBytes:3e5,kept:500,pageBytes:65536},"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"FULL_RESULT_LINES",0,400,"GATEWAY_CATALOG_MS",0,6e5,"GATEWAY_LOW_CREDIT",0,1,"INBOX_FINISHED",0,5,"IS_DEV",0,!1,"JOB_FOLDER_WALK",0,500,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3},"LOOK",0,{maxBytes:4194304},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MCP_IDLE_MS",0,18e5,"MEMORY_EDIT",0,{maxSteps:20},"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PAGE_SIZE",0,50,"PATHS",0,i,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,botMemory:100,threadStatus:200,routineRequest:300,routineOutcome:200},"REACH",0,{pollSeconds:50,retryMs:5e3,idleMs:6e5,messages:40,trimTo:30,oldChars:1e3,files:3,fileBytes:0x2d00000,rateRetries:3,rateWaitMs:3e4,codeDigits:4,held:5,pictures:9,drawMs:6e4,lookMs:2e3},"RECENT_CALL",0,{rows:20,tokens:600},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH",0,{sources:3,excerptChars:1200,timeoutMs:3e4},"SIGNAL_PACE_MS",0,150,"SKILLS_FOLDED",0,{design:n,"picture-book":n,"interactive-page":n},"SKILL_FILES",0,{uploadBytes:0x1400000,inlineBytes:524288,unpackedBytes:0x6400000,archiveEntries:1e3},"SKILL_FILES_LISTED",0,50,"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10},"THREAD_LABEL_REACH",0,20,"THREAD_STATUS_LIMIT",0,10,"TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"TOOL_SEARCH_SCHEMAS",0,8,"TRAVEL_SKILL",0,"travel","WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5},"WORKSPACE_VIEW",0,{rows:200,textMax:524288,autoCloseMs:5e3,elementMax:0x3200000}])},393189,e=>{"use strict";var t=e.i(912714),r=e.i(750227),a=e.i(687388),s=e.i(786025);let l=e=>`${(0,s.botFolder)(e)}/memory`;async function o(e,t=a.BOT_MEMORY_LIMITS.files){let n=l(e),c=(0,r.join)(s.WORKSPACE,n),u=(await i(c)).sort((e,t)=>t.info.mtimeMs-e.info.mtimeMs),m=await Promise.all(u.slice(0,t).map(async({name:e,info:t})=>({file:e,path:`${n}/${e}`,line:await p((0,r.join)(c,e)),at:new Date(t.mtimeMs),bytes:t.size})));return{folder:n,entries:m,total:u.length}}async function i(e){let a=await (0,t.readdir)(e).catch(()=>[]);return(await Promise.all(a.filter(e=>!e.startsWith(".")).map(async a=>{let s=await (0,t.stat)((0,r.join)(e,a)).catch(()=>null);return s?.isFile()?{name:a,info:s}:null}))).filter(e=>null!==e)}async function n(e){let o=(0,r.join)(s.WORKSPACE,l(e)),n=new Map;return await Promise.all((await i(o)).map(async({name:e,info:s})=>{let l=s.size>4*a.BOT_MEMORY_LIMITS.chars?null:await (0,t.readFile)((0,r.join)(o,e),"utf8").catch(()=>null);n.set(e,{text:null!==l&&u(l)<=a.BOT_MEMORY_LIMITS.chars?l:null,size:s.size,mtimeMs:s.mtimeMs,atime:s.atime,mtime:s.mtime})})),n}async function c(e,o){let n=l(e),c=(0,r.join)(s.WORKSPACE,n),{files:p,chars:m}=a.BOT_MEMORY_LIMITS,d=[],_=[],f=0;for(let{name:e,info:a}of(await i(c))){f+=1;let s=o.get(e);if(s&&s.size===a.size&&s.mtimeMs===a.mtimeMs)continue;let l=(0,r.join)(c,e),i=u(await (0,t.readFile)(l,"utf8").catch(()=>""));if(i<=m){s||_.push(e);continue}let p=`${i.toLocaleString("en-US")} characters, past the ${m.toLocaleString("en-US")} a memory file holds`;s?null!==s.text?(await (0,t.writeFile)(l,s.text),await (0,t.utimes)(l,s.atime,s.mtime),d.push(`Not kept: \`${n}/${e}\` came to ${p}, so it is back as it was. Write it again shorter.`)):d.push(`\`${n}/${e}\` is ${p}. Shorten it.`):(await (0,t.rm)(l,{force:!0}),f-=1,d.push(`Not kept: \`${n}/${e}\` came to ${p}, so it was removed. Write it again shorter.`))}if(f>p&&_.length){await Promise.all(_.map(e=>(0,t.rm)((0,r.join)(c,e),{force:!0})));let e=_.map(e=>`\`${n}/${e}\``).join(", ");d.push(`Not kept: your memory holds ${p} files at most and this made ${f}, so ${e} ${1===_.length?"was":"were"} removed. Delete or merge files no longer worth keeping, then write it again.`)}return d.length?d.join("\n"):null}let u=e=>[...e.trim()].length;async function p(e){let r=await (0,t.open)(e,"r").catch(()=>null);if(!r)return"";try{let e=Buffer.alloc(1024),{bytesRead:t}=await r.read(e,0,1024,0),a=e.toString("utf8",0,t).split("\n").map(e=>e.trim()).filter(Boolean);if("---"===a[0]){let e=a.find(e=>e.startsWith("description:"));if(e)return e.slice(12).trim().replace(/^["']|["']$/g,"");let t=a.indexOf("---",1);return t>0?(a[t+1]??"").replace(/^#+\s*/,""):""}return(a[0]??"").replace(/^#+\s*/,"")}finally{await r.close()}}e.s(["botMemoryFolder",0,l,"holdBotMemory",0,n,"keepBotMemory",0,c,"listBotMemory",0,o])},554199,e=>{"use strict";let t="currentColor",r=[{id:"system",label:"System",value:t},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"}],a=Object.fromEntries(r.map(e=>[e.id,e.value])),s=r.filter(e=>e.value!==t).map(e=>e.value),l=[a.amber,a.red],o={[a.cyan]:"#009dbb",[a.teal]:"#00a190",[a.green]:"#00a640",[a.lime]:"#5ca100",[a.amber]:"#d07b00",[a.orange]:"#ec6700",[a.sky]:"#0098dc",[a.emerald]:"#00a46d",[a.yellow]:"#bb8600"},i={rainbow:{label:"Rainbow",look:"flow",colors:[0,45,90,140,190,240,290,330,360].map(e=>`oklch(0.77 0.16 ${e})`)},duo:{label:"Duo",look:"duo",colors:["#818CF8","#F472B6"]},aurora:{label:"Aurora",look:"aurora",edge:"dark",colors:["#1a2f73","#2c56c9","#34d399","#22d3ee","#a7f3d0"]},"aurora-pink":{label:"Pink aurora",look:"aurora",edge:"dark",colors:["#3a1478","#7c3aed","#f472b6","#e879f9","#fbcfe8"]}},n=Object.keys(i);e.s(["MARK_PAINTS",0,i,"MARK_PAINT_IDS",0,n,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,t,"markInk",0,(e,t)=>t?e:o[e]??e,"randomMarkFills",0,function(e){let t=[...s.filter(e=>!l.includes(e)).map(e=>({color:e})),...n.map(e=>({paint:e}))];for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1));[t[e],t[r]]=[t[r],t[e]]}return t.slice(0,e)}])},41444,e=>{"use strict";function t(e,t){let r=e.replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t-1).trimEnd()}…`:r}let r=/\[([^\]\n]+)\]\(([^)\s]+)\)/g;e.s(["MARKDOWN_LINK",0,r,"PromiseChain",0,()=>{let e=Promise.resolve();return t=>{let r=e.then(()=>t());return e=r.catch(()=>{}),r}},"captionText",0,function(e){let t=[],a=e.replace(/```[\s\S]*?```/g," ").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(r,(e,r,a)=>(t.push(`[${r.replace(/[*_`]/g,"")}](${a})`),`\uE000${t.length-1}\uE000`)),s=[];for(let e of a.split("\n")){let t=e.trim();t&&(/^\|?[\s:|-]+\|[\s:|-]*$|^[-*_]{3,}$/.test(t)||(/\|.*\|/.test(t)&&(t=t.replace(/^\||\|$/g,"").split("|").map(e=>e.trim()).filter(Boolean).join(" · ")),t=t.replace(/^#{1,6}\s+/,"").replace(/^>\s?/,"").replace(/^[-*+]\s+/,"• ").replace(/`([^`]*)`/g,"$1").replace(/(\*\*|__)(\S(?:.*?\S)?)\1/g,"$2").replace(/(^|[^\w*])([*_])(\S(?:[^*_\n]*?\S)?)\2(?![\w*])/g,"$1$3").replace(/\s+/g," "),s.push(t)))}return s.join("\n").replace(/\uE000(\d+)\uE000/g,(e,r)=>t[Number(r)]??"")},"clip",0,t,"errorToString",0,function(e){if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);let{message:r,error:a}=e;if("string"==typeof r&&r)return r;if("string"==typeof a&&a)return a;let s=a?.message;if("string"==typeof s&&s)return s;try{return t(JSON.stringify(e),300)}catch{return`${e.constructor?.name??"Object"} thrown without a message`}},"hostOf",0,function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return null}},"plainText",0,function(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s?)/gm,"").replace(/(\*\*|__)(.*?)\1/g,"$2").replace(/(\*|_)(.*?)\1/g,"$2").replace(/^\s*\|?[\s:|-]+\|\s*$/gm," ").replace(/\|/g," ").replace(/\s+/g," ").trim()},"slug",0,function(e){return e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)}])}];
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0v_kuor._.js.map
|