thursday-agent 0.17.2 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +4 -2
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +28 -12
- 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 +12 -12
- package/.next/server/app/_not-found.segments/_full.segment.rsc +12 -12
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +11 -11
- 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 +4 -4
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js +4 -4
- 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.js +29 -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 +3 -3
- package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/[provider]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/llm-model/catalog/{route.js → [provider]/route.js} +8 -8
- package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/llm-model/catalog/[provider]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/llm-model/credits/[provider]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/llm-model/credits/[provider]/route/build-manifest.json +12 -0
- package/.next/server/app/api/llm-model/credits/[provider]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/llm-model/credits/{route.js → [provider]/route.js} +8 -8
- package/.next/server/app/api/llm-model/credits/[provider]/route.js.map +5 -0
- package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/llm-model/credits/[provider]/route_client-reference-manifest.js +3 -0
- 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 +12 -12
- 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 +17 -17
- package/.next/server/app/api/reach/route.js.nft.json +1 -1
- package/.next/server/app/api/routine/route.js +6 -6
- package/.next/server/app/api/routine/route.js.nft.json +1 -1
- package/.next/server/app/api/running/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/running/route/build-manifest.json +12 -0
- package/.next/server/app/api/running/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/running/route.js +10 -0
- package/.next/server/app/api/running/route.js.map +5 -0
- package/.next/server/app/api/running/route.js.nft.json +1 -0
- package/.next/server/app/api/running/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/signins/route.js +4 -4
- package/.next/server/app/api/signins/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js +7 -7
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +6 -6
- 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 +12 -12
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +13 -13
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js +7 -7
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js +6 -6
- 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 -5
- 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 +10 -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 +4 -2
- 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]__05dp5tr._.js → [root-of-the-server]__06ky9of._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0b565-x._.js +7 -0
- package/.next/server/chunks/[root-of-the-server]__0bmtib_._.js +7 -0
- package/.next/server/chunks/[root-of-the-server]__0bqveex._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0brmiv2._.js +7 -0
- package/.next/server/chunks/[root-of-the-server]__0eivkvk._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0f7m79q._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0g38-aj._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0gvdr2h._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0h656y-._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0hm3tiq._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0hzdqnv._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0kzmxpg._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0mgyt8p._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0mrk2it._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0o5s5-o._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0p80i1n._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0qdoc_9._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0qzho69._.js +1 -1
- 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]__061o2_x._.js → [root-of-the-server]__0ypkfbu._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1-18_pz._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__01k3vi3._.js → [root-of-the-server]__14iga7p._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__16gn7zn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__18e65_-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__1_cgawk._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1ceammd._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1ckt1yj._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1cu5f3z._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1dth047._.js +5 -0
- package/.next/server/chunks/{[root-of-the-server]__1k2qs1m._.js → [root-of-the-server]__1fc6v12._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1hviq62._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__1ksm9m-._.js +12 -0
- package/.next/server/chunks/[root-of-the-server]__1m1q6u5._.js +3 -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]__1pugoq0._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0ts7ai0._.js → [root-of-the-server]__1trns9g._.js} +1 -1
- 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/[root-of-the-server]__20w_g71._.js +3 -0
- 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/_08354bn._.js +12 -11
- package/.next/server/chunks/_08_-9ay._.js +7 -0
- package/.next/server/chunks/_08s4vft._.js +1 -1
- package/.next/server/chunks/_0bgjf07._.js +5 -0
- package/.next/server/chunks/_0c49lmw._.js +1 -1
- 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/_0s8ao8z._.js +1 -1
- package/.next/server/chunks/_0t_7gji._.js +1 -1
- package/.next/server/chunks/_0ucx1jv._.js +1 -1
- package/.next/server/chunks/_0uzj57i._.js +1 -1
- package/.next/server/chunks/_0wyh244._.js +112 -0
- 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/_1frcwj1._.js +1 -1
- package/.next/server/chunks/_1gn2r2q._.js +8 -6
- package/.next/server/chunks/_1gxankq._.js +2 -2
- package/.next/server/chunks/_1i3uucm._.js +1 -1
- package/.next/server/chunks/_1jvy78-._.js +5 -0
- package/.next/server/chunks/_1lg0lsu._.js +53 -0
- package/.next/server/chunks/_1njolhx._.js +294 -0
- package/.next/server/chunks/_1q6e56i._.js +8 -6
- package/.next/server/chunks/_1qgix-j._.js +1 -1
- package/.next/server/chunks/_1wtb-77._.js +294 -0
- 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/_next-internal_server_app_api_llm-model_catalog_[provider]_route_actions_1i0449q.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_llm-model_credits_[provider]_route_actions_0iui9hz.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_running_route_actions_0o1g-aw.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_bot_0zy_q8y._.js +7 -7
- package/.next/server/chunks/features_bot_1dfrdsb._.js +7 -7
- 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_1rosz79._.js → node_modules_035o7ku._.js} +1 -1
- package/.next/server/chunks/{node_modules_1er1u8w._.js → node_modules_0tn5t13._.js} +1 -1
- package/.next/server/chunks/{node_modules_103lpef._.js → node_modules_12oq3hr._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0g87zst._.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]__0p0mv2u._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0sk5enu._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0xyaud4._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1-gi9sm._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__16nn3pe._.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]__1c8-7cw._.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]__1tb5vve._.js +47 -0
- package/.next/server/chunks/ssr/_02cm0fr._.js +5 -0
- package/.next/server/chunks/ssr/{features_bot_1knyan7._.js → _07nmtxo._.js} +2 -2
- package/.next/server/chunks/ssr/_088vzgn._.js +1 -1
- package/.next/server/chunks/ssr/{_1dfv66y._.js → _0bg1u1j._.js} +2 -2
- package/.next/server/chunks/ssr/_0cv9tmv._.js +1 -1
- package/.next/server/chunks/ssr/{_10-_awu._.js → _0f9hx5p._.js} +2 -2
- package/.next/server/chunks/ssr/_0g9ula_._.js +3 -0
- package/.next/server/chunks/ssr/{_1aqjk-1._.js → _0irozu9._.js} +2 -2
- package/.next/server/chunks/ssr/{_123y-ah._.js → _0is8m6y._.js} +2 -2
- package/.next/server/chunks/ssr/_0iwsdp7._.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/{_0fo4552._.js → _0nk80t6._.js} +53 -13
- package/.next/server/chunks/ssr/_0p6w0ef._.js +3 -0
- package/.next/server/chunks/ssr/_0pbav_w._.js +3 -0
- package/.next/server/chunks/ssr/{_0vo_oym._.js → _0q-mdwv._.js} +8 -8
- package/.next/server/chunks/ssr/_0s5_ahb._.js +3 -0
- package/.next/server/chunks/ssr/{_0e2fnvg._.js → _0t5f2c3._.js} +2 -2
- package/.next/server/chunks/ssr/_0v9r8g2._.js +1 -1
- package/.next/server/chunks/ssr/_0x8ophf._.js +1 -1
- package/.next/server/chunks/ssr/_0x9f717._.js +60 -0
- package/.next/server/chunks/ssr/_107vtdk._.js +162 -0
- package/.next/server/chunks/ssr/{_17a4qyk._.js → _12lql1x._.js} +3 -3
- 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/_17komoi._.js +3 -0
- package/.next/server/chunks/ssr/_190hjys._.js +3 -0
- package/.next/server/chunks/ssr/_1bfrntd._.js +6 -0
- package/.next/server/chunks/ssr/{_01al00i._.js → _1booff4._.js} +2 -2
- package/.next/server/chunks/ssr/{_0xfafez._.js → _1ew1j7l._.js} +2 -2
- package/.next/server/chunks/ssr/_1i2swyr._.js +3 -0
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/_1qsa25k._.js +3 -0
- package/.next/server/chunks/ssr/_1soynbw._.js +6 -0
- package/.next/server/chunks/ssr/_1vc2xmu._.js +3 -0
- package/.next/server/chunks/ssr/{_14oirtb._.js → _1wq90j8._.js} +2 -2
- package/.next/server/chunks/ssr/_1xwtbdz._.js +3 -0
- package/.next/server/chunks/ssr/_1zrhkf0._.js +310 -0
- package/.next/server/chunks/ssr/_21awrs2._.js +5 -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_1c56lew._.js +37 -0
- package/.next/server/chunks/ssr/features_bot_1fn_grf._.js +3 -0
- package/.next/server/chunks/ssr/{features_config_09n-q9q._.js → features_config_05zi68v._.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_1k5i-_9._.js → node_modules_0-sux1a._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0msrhxf._.js → node_modules_01oezhb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1gq3ght._.js → node_modules_04m6ebg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0nmkv-v._.js → node_modules_067jfov._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0gd9hbz._.js → node_modules_06ugby3._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0d6j33x._.js → node_modules_07p51j3._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_10_fv2a._.js → node_modules_0995xyq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1lmyts8._.js → node_modules_0_uecwx._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_04x5wyv._.js → node_modules_0dsyc90._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0__0tvm._.js → node_modules_0hli6s2._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0k8-y89._.js → node_modules_0m-bde_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1p_6sq7._.js → node_modules_0oqfdbr._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_0qd7p5f._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_13g-d25._.js → node_modules_0tgy5s5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1_8-jcj._.js → node_modules_1-kjmls._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0m73b88._.js → node_modules_1-l3ka5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_113l3e5._.js → node_modules_1-w3ayh._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0q-klni._.js → node_modules_133exgm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1xb-ndg._.js → node_modules_17xc5_k._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_021lid9._.js → node_modules_1_i_w30._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ri_eip._.js → node_modules_1a2cjfk._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_13bqv6i._.js → node_modules_1k752fe._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1qstb1x._.js → node_modules_1lie7z8._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_096up6a._.js → node_modules_1mv70-y._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_156kv_t._.js → node_modules_1r611t2._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_1vfd8dz._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_0cjnmzp._.js → node_modules_1yaowd7._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0nw5jz7._.js → node_modules_20a1wpo._.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_1r8pxbe._.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_1siiu4h._.js} +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- 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/{0obogzscwwekj.js → 088d3w5qxu19g.js} +2 -2
- package/.next/static/chunks/0_s4z70lx1tgs.js +1 -0
- package/.next/static/chunks/0bxekp4hnuk1g.js +1 -0
- package/.next/static/chunks/{1cglo3a2mbeou.js → 0fw4u_s974j24.js} +1 -1
- package/.next/static/chunks/0hy2x7qhk8wgx.css +1 -0
- package/.next/static/chunks/{2zbl41hed17g3.js → 0n_eshmn_7wfn.js} +2 -2
- package/.next/static/chunks/0q9b2n6l4flqb.js +1 -0
- package/.next/static/chunks/0ulcp_u_y1u0b.js +15 -0
- package/.next/static/chunks/0vj93zo0yvix9.js +35 -0
- package/.next/static/chunks/{166smhw8v-s3j.js → 10f98bh4hdmhe.js} +1 -1
- package/.next/static/chunks/1b8bce_z_act0.js +1 -0
- package/.next/static/chunks/1c32d2azsjaj_.js +1 -0
- package/.next/static/chunks/{1xv4g10m-cl1s.js → 1fs829mz69pxz.js} +1 -1
- package/.next/static/chunks/1lwlh4mo_vv8d.js +1 -0
- package/.next/static/chunks/{0p2f6uv4xytfm.js → 1po8fkg40peu-.js} +1 -1
- package/.next/static/chunks/{0uxq_vs6uxi-b.js → 1rg6b9l5fm1hj.js} +1 -1
- package/.next/static/chunks/{3b96xy59nl_gd.js → 26g3iwfuad-7p.js} +1 -1
- package/.next/static/chunks/2bjnmtke_q43c.js +1 -0
- package/.next/static/chunks/2c86k0o-1p9_w.js +1 -0
- package/.next/static/chunks/2gf4t0d76bvyv.js +1 -0
- package/.next/static/chunks/2rj3q_ahctv19.js +1 -0
- package/.next/static/chunks/{2lhc74urf3acr.js → 2x6-fpctvucte.js} +1 -1
- package/.next/static/chunks/2yicf7bky866n.js +3 -0
- package/.next/static/chunks/337g9g_ux2gj-.js +1 -0
- package/.next/static/chunks/350ws7svim7ij.js +58 -0
- package/.next/static/chunks/{0o7o0eb7ihxi6.js → 396enq-m0sss5.js} +1 -1
- package/.next/static/chunks/3e1w_nwfb39j-.js +1 -0
- package/.next/static/chunks/3v3ooretb54ag.js +1 -0
- package/.next/static/chunks/40re_3ukjulg9.js +1 -0
- package/.next/static/chunks/{3gsxnqqqphh-1.js → 44bcbnmup71so.js} +1 -1
- package/.next/static/chunks/{2qgkbdshzpq1c.js → 458dtbsemx996.js} +1 -1
- package/README.md +5 -5
- package/bin/background.mjs +995 -0
- package/bin/lock.mjs +121 -5
- package/bin/thursday.mjs +126 -30
- package/bin/tools.mjs +72 -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 +106 -146
- package/guide/index.md +2 -2
- package/guide/memory.md +14 -18
- package/guide/phone.md +86 -133
- package/guide/setup.md +141 -172
- package/guide/trouble.md +42 -65
- package/package.json +1 -1
- package/seed-skills/concierge/travel/references/itinerary.md +1 -1
- package/seed-skills/concierge/travel/scripts/itinerary.mjs +8 -3
- package/skills/artifact/references/book.md +3 -3
- package/skills/artifact/runtime/shell/shell.js +32 -3
- package/.next/server/app/api/llm-model/catalog/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/llm-model/catalog/route.js.nft.json +0 -1
- package/.next/server/app/api/llm-model/catalog/route_client-reference-manifest.js +0 -3
- package/.next/server/app/api/llm-model/credits/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/llm-model/credits/route.js.nft.json +0 -1
- package/.next/server/app/api/llm-model/credits/route_client-reference-manifest.js +0 -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]__03xamry._.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]__1-rmal0._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__10xnb7e._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1_h4hf9._.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]__1v7x5ym._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1vlxv19._.js +0 -5
- package/.next/server/chunks/_07nxi75._.js +0 -254
- package/.next/server/chunks/_08btiir._.js +0 -7
- package/.next/server/chunks/_0j0-gq6._.js +0 -5
- package/.next/server/chunks/_0p6v1fr._.js +0 -5
- package/.next/server/chunks/_0srlnvd._.js +0 -16
- package/.next/server/chunks/_0xygcxs._.js +0 -254
- package/.next/server/chunks/_1ic3bew._.js +0 -5
- package/.next/server/chunks/_next-internal_server_app_api_llm-model_catalog_route_actions_1eu2y41.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_llm-model_credits_route_actions_0v424pb.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_04oxl25._.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/_0jstvlg._.js +0 -39
- package/.next/server/chunks/ssr/_0qsmpcu._.js +0 -3
- package/.next/server/chunks/ssr/_0z38nha._.js +0 -3
- package/.next/server/chunks/ssr/_1-41lck._.js +0 -3
- package/.next/server/chunks/ssr/_10_ph1t._.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/_19jez1a._.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/01l7kw74vfp32.js +0 -1
- 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/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/3jtcieuk1l6tw.js +0 -1
- package/.next/static/chunks/3k1d8y03t5nax.js +0 -58
- package/.next/static/chunks/3sla-dm1puqd1.js +0 -35
- package/.next/static/chunks/3t2c76awm9k_p.js +0 -1
- package/.next/static/chunks/3vrmcm31ih7gb.js +0 -1
- package/.next/static/chunks/3yiqr95d7ybeq.js +0 -15
- package/bin/autostart.mjs +0 -162
- /package/.next/server/app/api/{llm-model/catalog → bot/thread/file}/route/build-manifest.json +0 -0
- /package/.next/server/app/api/{llm-model/catalog → bot/thread/file}/route/server-reference-manifest.json +0 -0
- /package/.next/server/app/api/{llm-model/catalog → bot/thread/file}/route.js.map +0 -0
- /package/.next/server/app/api/llm-model/{credits → catalog/[provider]}/route/build-manifest.json +0 -0
- /package/.next/server/app/api/llm-model/{credits → catalog/[provider]}/route/server-reference-manifest.json +0 -0
- /package/.next/server/app/api/llm-model/{credits → catalog/[provider]}/route.js.map +0 -0
- /package/.next/static/{8I2hKtciyA9LXvd8txuOz → YhaRHJqObuAcXZe5VLFs0}/_buildManifest.js +0 -0
- /package/.next/static/{8I2hKtciyA9LXvd8txuOz → YhaRHJqObuAcXZe5VLFs0}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{8I2hKtciyA9LXvd8txuOz → YhaRHJqObuAcXZe5VLFs0}/_ssgManifest.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module.exports=[811592,e=>e.a(async(t,a)=>{try{var r=e.i(666680),d=e.i(336763),n=e.i(157406),l=e.i(533102),i=e.i(232347),o=e.i(333925),s=e.i(876393),h=e.i(220376),u=e.i(51083),b=e.i(212389),c=e.i(951056),T=e.i(600690),p=t([s]);[s]=p.then?(await p)():p;let C=()=>i.appEvents.emit({type:"threads"}),H=e=>"done"===e||"cancelled"===e,L=(e,t,a)=>`message:${(0,r.createHash)("sha256").update(JSON.stringify([e,t,a])).digest("hex")}`;async function w(e,t,a){let[r]=await e.select({id:h.threadWorkTable.id}).from(h.threadWorkTable).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,t),(0,d.eq)(h.threadWorkTable.state,"external"),(0,d.eq)(h.threadWorkTable.caller,a))).limit(1);return!!r}async function f(e,t,a){let r=a.flatMap(e=>"assistant"===e.role&&Array.isArray(e.content)?e.content.flatMap(e=>"tool-call"===e.type&&e.toolName===u.TOOL_NAMES.send_message?[e.toolCallId]:[]):[]),n=r.map(a=>L(e,t,a)),l=new Map;if(!n.length)return l;let[i,o]=await Promise.all([s.database.select({key:h.threadWorkTable.id,to:h.threadWorkTable.bot}).from(h.threadWorkTable).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,e),(0,d.inArray)(h.threadWorkTable.id,n))),s.database.select({key:h.threadDeliveryTable.key,to:h.threadWorkTable.bot}).from(h.threadDeliveryTable).innerJoin(h.threadWorkTable,(0,d.eq)(h.threadWorkTable.id,h.threadDeliveryTable.workId)).where((0,d.and)((0,d.eq)(h.threadDeliveryTable.threadId,e),(0,d.inArray)(h.threadDeliveryTable.key,n)))]),b=new Map([...i,...o].map(e=>[e.key,e.to]));for(let[e,t]of r.entries()){let a=b.get(n[e]);a&&l.set(t,{messageId:n[e],to:a})}return l}async function y(e,t,a){let[r]=await e.select({seq:(0,n.max)(h.threadMessageTable.seq)}).from(h.threadMessageTable).where((0,d.eq)(h.threadMessageTable.threadId,t)),l=(r?.seq??-1)+1;return await e.insert(h.threadMessageTable).values({threadId:t,seq:l,...a}),l}let Y=(e,t)=>({bot:e.bot,parent:e.id,role:"user",content:`${t} ${T.RESUME_CHECK}`,note:!0});async function g(e,t){await m(e.threadId,Y(e,t))}async function m(e,t){let a=await s.database.transaction(a=>y(a,e,t));return C(),a}async function k(e){return s.database.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e)).orderBy(h.threadWorkTable.createdAt,h.threadWorkTable.id)}async function q(e,t){let[a]=await s.database.select({budget:l.sql`min(nullif(${h.threadWorkTable.contextBudget}, 0))`}).from(h.threadWorkTable).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,e),(0,d.eq)(h.threadWorkTable.bot,t)));return a?.budget??void 0}async function I(e,t){await s.database.transaction(async a=>{await W(a,e),await a.update(h.threadWorkTable).set({contextBudget:t}).where((0,d.eq)(h.threadWorkTable.id,e.id))}),C()}async function W(e,t){let[a]=await e.select().from(h.threadWorkTable).where((0,d.and)((0,d.eq)(h.threadWorkTable.id,t.id),(0,d.eq)(h.threadWorkTable.generation,t.generation),(0,d.eq)(h.threadWorkTable.state,"running")));return a||(0,b.publicError)("This turn is no longer running."),a}async function A(e,t){await e.insert(h.threadDeliveryTable).values(t).onConflictDoNothing();let[a]=await e.select({bot:h.threadWorkTable.bot}).from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.id,t.workId));a&&await w(e,t.threadId,a.bot)||await e.update(h.threadWorkTable).set({state:"queued"}).where((0,d.and)((0,d.eq)(h.threadWorkTable.id,t.workId),(0,d.inArray)(h.threadWorkTable.state,["waiting","done"])))}async function R(e,t){let a={...T.RoomMessageSchema.parse(t),id:t.id};"question"===a.kind&&a.to!==T.ROOM_THURSDAY&&(0,b.publicError)("Address user questions to Thursday; use a message to contact another bot."),a.options?.length&&"question"!==a.kind&&(0,b.publicError)("Offer answer choices only with a user question.");let r=await s.database.transaction(async t=>{await W(t,e);let r=L(e.threadId,e.bot,a.id),[n]=await t.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.id,r));if(n)return{messageId:r,to:n.bot};let[l]=await t.select({to:h.threadWorkTable.bot}).from(h.threadDeliveryTable).innerJoin(h.threadWorkTable,(0,d.eq)(h.threadWorkTable.id,h.threadDeliveryTable.workId)).where((0,d.eq)(h.threadDeliveryTable.key,r));if(l)return{messageId:r,to:l.to};a.to===e.bot&&(0,b.publicError)("Continue your own work directly; choose another recipient."),a.to!==T.ROOM_THURSDAY&&a.to===e.caller&&(0,b.publicError)(`${a.to} is who you are answering. End your turn and your final text goes to ${a.to}: the answer, or the question you need settled first.`);let i=await t.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e.threadId)),s=i.filter(t=>t.bot===a.to&&t.caller===e.bot&&a.to!==T.ROOM_THURSDAY&&!H(t.state)),u=s.find(e=>"running"===e.state)??s[0];if(u){let n=await w(t,e.threadId,a.to);return await A(t,{key:r,threadId:e.threadId,workId:u.id,speaker:e.bot,text:a.text}),await t.update(h.threadTable).set({wrapped:!1,updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e.threadId)),{messageId:r,to:a.to,note:n?`${a.to} is waiting for the user's answer and reads this after it.`:`${a.to} is already working for you and reads this before its next step. Its one answer covers both.`}}let c=new Set(i.map(e=>e.bot).filter(e=>e!==T.ROOM_THURSDAY));a.to!==T.ROOM_THURSDAY&&!c.has(a.to)&&c.size>=o.BOT_RUN.participants&&(0,b.publicError)("This thread has reached its participant limit."),i.filter(e=>!H(e.state)).length>=o.BOT_RUN.queuedMessages&&(0,b.publicError)("This thread has reached its pending message limit.");let p=a.to!==T.ROOM_THURSDAY&&await w(t,e.threadId,a.to);return await t.insert(h.threadWorkTable).values({id:r,threadId:e.threadId,bot:a.to,caller:e.bot,parentId:e.id,state:a.to===T.ROOM_THURSDAY?"question"===a.kind?"external":"done":p?"waiting":"queued",result:a.to===T.ROOM_THURSDAY?a.text:null,options:[...new Set(a.options??[])]}),a.to===T.ROOM_THURSDAY?await t.insert(h.threadRelayTable).values({key:r,threadId:e.threadId,bot:e.bot,text:a.text,kind:a.kind,messageId:"question"===a.kind?r:null}):await A(t,{key:r,threadId:e.threadId,workId:r,speaker:e.bot,text:a.text}),await t.update(h.threadTable).set({wrapped:!1,updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e.threadId)),{messageId:r,to:a.to,...p?{note:`${a.to} is waiting for the user's answer and reads this after it.`}:{}}});return C(),r}async function v(e){let t=!1,a=await s.database.transaction(async a=>{let[r]=await a.select().from(h.threadTable).where((0,d.eq)(h.threadTable.id,e));if(!r||"running"!==r.status)return null;let n=await a.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e)).orderBy(l.sql`${h.threadWorkTable}.rowid`),i=new Set(n.filter(e=>"external"===e.state).map(e=>e.caller));for(let e of n)"queued"===e.state&&i.has(e.bot)&&(await a.update(h.threadWorkTable).set({state:"waiting"}).where((0,d.eq)(h.threadWorkTable.id,e.id)),e.state="waiting",t=!0);let s=n.filter(e=>"running"===e.state);if(s.length>=o.BOT_RUN.concurrent)return null;let u=n.find(e=>"queued"===e.state&&!s.some(t=>t.bot===e.bot));if(!u)return null;if(r.turns>=o.BOT_RUN.turns)return await a.update(h.threadWorkTable).set({state:"paused"}).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,e),(0,d.eq)(h.threadWorkTable.state,"queued"))),null;let[b]=await a.update(h.threadWorkTable).set({state:"running",generation:u.generation+1}).where((0,d.eq)(h.threadWorkTable.id,u.id)).returning();return await a.update(h.threadTable).set({turns:r.turns+1}).where((0,d.eq)(h.threadTable.id,e)),b});return(a||t)&&C(),a}async function x(e){let t=await s.database.transaction(async t=>{await W(t,e);let a=await t.select().from(h.threadDeliveryTable).where((0,d.and)((0,d.eq)(h.threadDeliveryTable.workId,e.id),(0,d.eq)(h.threadDeliveryTable.consumed,!1))).orderBy(h.threadDeliveryTable.id);for(let r of a){let a=O(r);await y(t,e.threadId,{bot:e.bot,parent:e.id,role:"user",content:a,hidden:!r.visible}),await t.update(h.threadDeliveryTable).set({consumed:!0}).where((0,d.eq)(h.threadDeliveryTable.id,r.id))}return a.map(O)});return t.length&&C(),t}function O(e){return e.visible?(0,c.tagSpeaker)(e.speaker===T.ROOM_USER?"user":"thursday",e.text):`${e.speaker}:
|
|
2
2
|
|
|
3
|
-
${e.text}`}async function D(e,t){await s.database.transaction(async a=>{await W(a,e);let r=await a.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.parentId,e.id)),n=await a.select({id:h.threadDeliveryTable.id}).from(h.threadDeliveryTable).where((0,d.and)((0,d.eq)(h.threadDeliveryTable.workId,e.id),(0,d.eq)(h.threadDeliveryTable.consumed,!1))).limit(1),l=await w(a,e.threadId,e.bot),i=n.length&&!l?"queued":n.length||r.some(e=>!H(e.state))?"waiting":"done";if(await a.update(h.threadWorkTable).set({state:i,result:t}).where((0,d.eq)(h.threadWorkTable.id,e.id)),"done"!==i)return;if(e.parentId){let[r]=await a.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.id,e.parentId)),[n]=t?[]:await a.select({id:h.threadDeliveryTable.id}).from(h.threadDeliveryTable).where((0,d.and)((0,d.eq)(h.threadDeliveryTable.workId,e.parentId),(0,d.eq)(h.threadDeliveryTable.speaker,e.bot),(0,d.eq)(h.threadDeliveryTable.consumed,!1))).limit(1);r&&"cancelled"!==r.state&&!n&&await A(a,{key:`return:${e.id}:${e.generation}`,threadId:e.threadId,workId:r.id,speaker:e.bot,text:t||"This turn ended without a message."})}let[o]=await a.select().from(h.threadTable).where((0,d.eq)(h.threadTable.id,e.threadId)),s=await a.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e.threadId));o&&e.bot===o.bot&&!e.parentId&&s.every(e=>H(e.state))&&(await a.update(h.threadTable).set({status:t?"done":"waiting",outcome:t||"The room is idle. Send a message to continue.",pending:t?null:{options:[c.THREAD_CONTINUE]},wrapped:!0,endedAt:t?new Date:null,seen:!1,updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e.threadId)),t&&await a.insert(h.threadRelayTable).values({key:`report:${e.threadId}:${o.generation}`,threadId:e.threadId,bot:e.bot,text:t,kind:"report"}).onConflictDoNothing())}),C()}async function M(e){await s.database.transaction(async t=>{let[a]=await t.select().from(h.threadTable).where((0,d.eq)(h.threadTable.id,e));if(!a||"running"!==a.status)return;let r=await t.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e));if(r.some(e=>"queued"===e.state||"running"===e.state))return;let n=r.find(e=>"external"===e.state);if(n)return void await t.update(h.threadTable).set({status:"waiting",outcome:n.result,pending:{options:n.options,messageId:n.id,bot:n.caller},updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e));if(r.some(e=>!H(e.state))||a.wrapped)return void await t.update(h.threadTable).set({status:"waiting",outcome:a.turns>=o.BOT_RUN.turns?"The room reached its automatic turn limit. Continue from the saved conversation.":"Work is paused. Continue from the saved conversation.",pending:{options:[c.THREAD_CONTINUE]},updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e));let l=crypto.randomUUID();await t.insert(h.threadWorkTable).values({id:l,threadId:e,bot:a.bot,caller:T.ROOM_THURSDAY,state:"queued"}),await A(t,{key:l,threadId:e,workId:l,speaker:"Thread activity",text:"The participants have finished their current turns. Bring together the results you received for Thursday, including anything still unresolved."}),await t.update(h.threadTable).set({wrapped:!0}).where((0,d.eq)(h.threadTable.id,e))}),C()}async function S(e,t){await s.database.transaction(async a=>{let r=await a.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e));for(let n of r.filter(e=>"running"===e.state||"queued"===e.state))await a.update(h.threadWorkTable).set({state:"paused",generation:n.generation+1}).where((0,d.eq)(h.threadWorkTable.id,n.id)),await y(a,e,Y(n,t));await a.update(h.threadTable).set({status:"waiting",outcome:t,pending:{options:[c.THREAD_CONTINUE]},seen:!1,endedAt:null,updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e)),await a.insert(h.threadRelayTable).values({key:crypto.randomUUID(),threadId:e,bot:r.find(e=>!e.parentId)?.bot??"Bot",text:t,kind:"interrupted"})}),C()}async function _(e){await s.database.transaction(async t=>{await t.update(h.threadWorkTable).set({state:"queued"}).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,e),(0,d.eq)(h.threadWorkTable.state,"paused"))),await t.update(h.threadTable).set({status:"running",generation:l.sql`${h.threadTable.generation} + 1`,turns:0,pending:null,outcome:null,endedAt:null,updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e)),await t.update(h.threadRelayTable).set({accepted:!0}).where((0,d.and)((0,d.eq)(h.threadRelayTable.threadId,e),(0,d.eq)(h.threadRelayTable.kind,"interrupted")))}),C()}async function E(e,t,a){let r=e.select({workId:h.threadDeliveryTable.workId}).from(h.threadDeliveryTable).where((0,d.and)((0,d.eq)(h.threadDeliveryTable.threadId,t),(0,d.eq)(h.threadDeliveryTable.consumed,!1)));await e.update(h.threadWorkTable).set({state:"queued"}).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,t),(0,d.eq)(h.threadWorkTable.bot,a),(0,d.inArray)(h.threadWorkTable.state,["waiting","done"]),(0,d.inArray)(h.threadWorkTable.id,r)))}async function N(e,t,a,r,n,i=!0){let o=await s.database.transaction(async o=>{let[s]=await o.select().from(h.threadTable).where((0,d.eq)(h.threadTable.id,e));s||(0,b.publicError)("No such thread.");let u=await o.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e)).orderBy(h.threadWorkTable.createdAt),c=u.filter(e=>"external"===e.state),p=n?c.find(e=>e.id===n)??(0,b.publicError)("That question is no longer waiting for an answer."):i?function(e,t){let a=t?e.filter(e=>e.caller===t):e;if(a.length<=1)return a[0];(0,b.publicError)(`Several questions are waiting for an answer: ${a.map(e=>`${e.caller} (replyTo ${e.id}): “${(e.result??"").slice(0,160)}”`).join("; ")}. Answer one of them by its replyTo.`)}(c,r):void 0,f=p?.caller??r??s.bot,y=p?u.find(e=>e.id===p.parentId):u.find(e=>e.bot===f&&"running"===e.state)??u.find(e=>e.bot===f&&!H(e.state)&&"external"!==e.state);if(p&&(await o.update(h.threadWorkTable).set({state:"done",result:t}).where((0,d.eq)(h.threadWorkTable.id,p.id)),await o.update(h.threadRelayTable).set({accepted:!0}).where((0,d.eq)(h.threadRelayTable.messageId,p.id))),!y){let t=null;if(f!==s.bot){let a=u.findLast(e=>e.bot===s.bot&&!e.parentId&&"cancelled"!==e.state);a?"done"===a.state&&await o.update(h.threadWorkTable).set({state:"waiting"}).where((0,d.eq)(h.threadWorkTable.id,a.id)):a=(await o.insert(h.threadWorkTable).values({id:crypto.randomUUID(),threadId:e,bot:s.bot,caller:T.ROOM_THURSDAY,state:"waiting"}).returning())[0],t=a.id}y=(await o.insert(h.threadWorkTable).values({id:crypto.randomUUID(),threadId:e,bot:f,caller:t?s.bot:T.ROOM_THURSDAY,parentId:t,state:"queued"}).returning())[0]}p&&await A(o,{key:`answer:${p.id}`,threadId:e,workId:y.id,speaker:"Thread activity",text:`The next message answers your question to the user: “${p.result??""}”`});let g=crypto.randomUUID();return await A(o,{key:g,threadId:e,workId:y.id,speaker:a,text:t,visible:!0}),p&&!await w(o,e,f)&&await E(o,e,f),await o.update(h.threadWorkTable).set({state:"queued"}).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,e),(0,d.eq)(h.threadWorkTable.state,"paused"))),await o.update(h.threadTable).set({status:"running",generation:l.sql`${h.threadTable.generation} + 1`,turns:0,wrapped:!1,pending:null,outcome:null,endedAt:null,seen:!1,updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e)),await o.update(h.threadRelayTable).set({accepted:!0}).where((0,d.and)((0,d.eq)(h.threadRelayTable.threadId,e),(0,d.inArray)(h.threadRelayTable.kind,["interrupted","report"]))),{key:g,to:f,answered:p?{bot:p.caller,question:p.result??""}:null}});return C(),o}async function $(e){await s.database.transaction(async t=>{await t.update(h.threadWorkTable).set({state:"cancelled",generation:l.sql`${h.threadWorkTable.generation} + 1`}).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,e),(0,d.inArray)(h.threadWorkTable.state,["queued","running","waiting","external","paused"]))),await t.update(h.threadRelayTable).set({accepted:!0}).where((0,d.eq)(h.threadRelayTable.threadId,e))}),C()}async function U(e,t){let[a]=await s.database.select({bot:h.threadTable.bot}).from(h.threadTable).where((0,d.eq)(h.threadTable.id,e)),r=await s.database.select().from(h.threadMessageTable).where((0,d.and)((0,d.eq)(h.threadMessageTable.threadId,e),(0,d.or)((0,d.eq)(h.threadMessageTable.bot,t),a?.bot===t?l.sql`${h.threadMessageTable.bot} is null AND ${h.threadMessageTable.parent} is null`:void 0))).orderBy(h.threadMessageTable.seq),n=r.findLastIndex(e=>e.compact);return(n>0?[r[0],...r.slice(n)]:r).map(e=>({role:e.role,content:e.content}))}async function B(e){e.length&&(await s.database.update(h.threadRelayTable).set({accepted:!0}).where((0,d.inArray)(h.threadRelayTable.id,e)),C())}e.s(["acceptRoomRelays",0,B,"appendRoomMessage",0,m,"cancelRoom",0,$,"claimRoomWork",0,v,"consumeRoomInbox",0,x,"finishRoomWork",0,D,"listParticipantTranscript",0,U,"listRoomReceipts",0,f,"listRoomWork",0,k,"lowerRoomContextBudget",0,I,"messageKey",0,L,"noteRoomBreak",0,g,"pauseRoom",0,S,"resumeRoom",0,_,"roomContextBudget",0,q,"sendRoomMessage",0,R,"settleRoom",0,M,"tellRoom",0,N]),a()}catch(e){a(e)}},!1),5509,e=>e.a(async(t,a)=>{try{var r=e.i(336763),d=e.i(396918),n=e.i(533102),l=e.i(232347),i=e.i(139886),o=e.i(333925),s=e.i(876393),h=e.i(220376),u=e.i(51083),b=e.i(64774),c=e.i(951056),T=e.i(811592),p=e.i(600690),w=t([s,T]);[s,T]=w.then?(await w)():w;let j=()=>l.appEvents.emit({type:"threads"}),J={id:h.threadTable.id,bot:h.threadTable.bot,label:h.threadTable.label,request:h.threadTable.request,status:h.threadTable.status,outcome:h.threadTable.outcome,pending:h.threadTable.pending,seen:h.threadTable.seen,routineId:h.threadTable.routineId,inputTokens:h.threadTable.inputTokens,outputTokens:h.threadTable.outputTokens,contextTokens:h.threadTable.contextTokens,contextBudget:h.threadTable.contextBudget,createdAt:h.threadTable.createdAt,updatedAt:h.threadTable.updatedAt};async function f(e){let{opening:t,...a}=e,r=await s.database.transaction(async e=>{let[r]=await e.insert(h.threadTable).values({id:crypto.randomUUID(),status:"running",...a}).returning();return await e.insert(h.threadMessageTable).values({threadId:r.id,seq:0,bot:null,parent:null,role:"user",content:t,compact:!1,note:!1}),await e.insert(h.threadWorkTable).values({id:crypto.randomUUID(),threadId:r.id,bot:r.bot,caller:p.ROOM_THURSDAY,state:"queued"}),r});return j(),r}async function y(e,t){await s.database.update(h.threadTable).set({...t,updatedAt:new Date}).where((0,r.eq)(h.threadTable.id,e)),j()}async function g(e){0!==e.length&&(await s.database.transaction(async t=>{await t.update(h.threadTable).set({seen:!0}).where((0,r.inArray)(h.threadTable.id,e)),await t.update(h.threadRelayTable).set({accepted:!0}).where((0,r.inArray)(h.threadRelayTable.threadId,e))}),j())}async function m(){let e=s.database.select({id:h.threadTable.id}).from(h.threadTable).where((0,r.inArray)(h.threadTable.status,["done","cancelled"])),t=await s.database.update(h.threadWorkTable).set({state:"cancelled"}).where((0,r.and)((0,r.notInArray)(h.threadWorkTable.state,["done","cancelled"]),(0,r.inArray)(h.threadWorkTable.threadId,e))).returning({id:h.threadWorkTable.id}),a=await s.database.update(h.threadTable).set({pending:null}).where((0,r.and)((0,r.inArray)(h.threadTable.status,["done","cancelled"]),(0,r.isNotNull)(h.threadTable.pending))).returning({id:h.threadTable.id});return(t.length||a.length)&&j(),{closed:t.length,cleared:a.length}}async function k(e,t,a=null){(t.input||t.output||null!==a)&&(await s.database.update(h.threadTable).set({inputTokens:n.sql`${h.threadTable.inputTokens} + ${t.input}`,outputTokens:n.sql`${h.threadTable.outputTokens} + ${t.output}`,...null===a?{}:{contextTokens:a.tokens,contextBudget:a.budget}}).where((0,r.eq)(h.threadTable.id,e)),j())}async function q(e){let[t]=await s.database.select(J).from(h.threadTable).where((0,r.eq)(h.threadTable.id,e));if(!t)return null;let[a]=await U([t]);return a??null}async function I(e){let[t]=await s.database.select().from(h.threadTable).where((0,r.eq)(h.threadTable.id,e));return t??null}async function W(){let[e,t,a,n]=await Promise.all([s.database.select(J).from(h.threadTable).where((0,r.inArray)(h.threadTable.status,["running","waiting"])).orderBy((0,d.desc)(h.threadTable.updatedAt)),s.database.select(J).from(h.threadTable).where((0,r.inArray)(h.threadTable.status,["done","cancelled"])).orderBy((0,d.desc)(h.threadTable.updatedAt)).limit(o.INBOX_FINISHED),s.database.select(J).from(h.threadTable).where((0,r.and)((0,r.inArray)(h.threadTable.status,["done","cancelled"]),(0,r.eq)(h.threadTable.seen,!1))),s.database.select(J).from(h.threadTable).where((0,r.inArray)(h.threadTable.id,s.database.select({id:h.threadRelayTable.threadId}).from(h.threadRelayTable).where((0,r.eq)(h.threadRelayTable.accepted,!1))))]),l=[...new Map([...e,...t,...a,...n].map(e=>[e.id,e])).values()].sort((e,t)=>t.updatedAt.getTime()-e.updatedAt.getTime());return U(l,e=>{let t;return t=e.status,"running"===t||"waiting"===t})}async function A(){let e=await s.database.select(J).from(h.threadTable).orderBy(n.sql`case when ${h.threadTable.status} in ('running', 'waiting') then 0 else 1 end`,(0,d.desc)(h.threadTable.updatedAt),(0,d.desc)(h.threadTable.id)).limit(o.THREAD_STATUS_LIMIT);return U(e)}async function R(e){return e.length?await s.database.select({id:h.threadTable.id,callId:h.threadTable.callId,label:h.threadTable.label,status:h.threadTable.status,outcome:h.threadTable.outcome}).from(h.threadTable).where((0,r.inArray)(h.threadTable.callId,e)).orderBy(h.threadTable.createdAt):[]}async function v(e,t){let a=(a,n)=>s.database.select({id:h.threadTable.id,owner:h.threadTable.bot,label:h.threadTable.label,status:h.threadTable.status,pending:h.threadTable.pending,updatedAt:h.threadTable.updatedAt}).from(h.threadTable).where((0,r.and)((0,r.inArray)(h.threadTable.status,a),t?(0,r.ne)(h.threadTable.id,t):void 0,(0,r.inArray)(h.threadTable.id,s.database.select({id:h.threadWorkTable.threadId}).from(h.threadWorkTable).where((0,r.eq)(h.threadWorkTable.bot,e))))).orderBy((0,d.desc)(h.threadTable.updatedAt)).limit(n),[n,l]=await Promise.all([a(["running","waiting"],o.BOT_WORK.open),a(["done","cancelled"],o.BOT_WORK.recent)]),i=[...n,...l].map(e=>e.id);if(!i.length)return{open:[],recent:[]};let u=await s.database.select({id:h.threadWorkTable.id,threadId:h.threadWorkTable.threadId,result:h.threadWorkTable.result}).from(h.threadWorkTable).where((0,r.and)((0,r.eq)(h.threadWorkTable.bot,e),(0,r.inArray)(h.threadWorkTable.threadId,i),(0,r.isNotNull)(h.threadWorkTable.result))).orderBy((0,d.desc)(h.threadWorkTable.createdAt)),b=new Map;for(let{id:e,threadId:t,result:a}of u)a?.trim()&&!b.has(t)&&b.set(t,{workId:e,words:a});let c=({pending:e,...t})=>{let a=b.get(t.id);return{...t,workId:a?.workId??null,asking:"waiting"===t.status&&!!e?.messageId,said:a?.words??null,cut:!!a&&a.words.replace(/\s+/g," ").trim().length>o.BOT_WORK.said}};return{open:n.map(c),recent:l.map(c)}}async function x(e,t){if(t.owner===e){let[e]=await s.database.select({request:h.threadTable.request}).from(h.threadTable).where((0,r.eq)(h.threadTable.id,t.id));return e?.request??""}return t.workId?(await s.database.select({text:h.threadDeliveryTable.text}).from(h.threadDeliveryTable).where((0,r.eq)(h.threadDeliveryTable.workId,t.workId)).orderBy(h.threadDeliveryTable.id)).map(e=>e.text).join("\n\n"):""}async function O(e){let t=await s.database.delete(h.threadTable).where((0,r.eq)(h.threadTable.id,e)).returning({id:h.threadTable.id});return t.length&&j(),t.length>0}async function D(){return(await s.database.select({id:h.threadTable.id}).from(h.threadTable).where((0,r.eq)(h.threadTable.status,"running"))).map(e=>e.id)}async function M(){return await s.database.select({id:h.threadTable.id,label:h.threadTable.label,status:h.threadTable.status,endedAt:h.threadTable.endedAt,updatedAt:h.threadTable.updatedAt}).from(h.threadTable)}function S(e){let t=new Set;for(let a of e)if(Array.isArray(a))for(let e of a){if("tool-call"!==e.type||e.toolName!==u.TOOL_NAMES.write_file)continue;let a=e.input?.path;"string"==typeof a&&a.trim()&&(t.delete(a.trim()),t.add(a.trim()))}return[...t]}async function _(e){let t=await s.database.select({content:h.threadMessageTable.content}).from(h.threadMessageTable).where((0,r.and)((0,r.eq)(h.threadMessageTable.threadId,e),(0,r.eq)(h.threadMessageTable.role,"assistant"))).orderBy(h.threadMessageTable.seq);return S(t.map(e=>e.content))}async function E(e){let t=e.trim();if(!t)return null;let a=await I(t);if(a)return a;let r=t.toLowerCase();return(await s.database.select().from(h.threadTable).orderBy((0,d.desc)(h.threadTable.updatedAt)).limit(o.THREAD_LABEL_REACH)).find(e=>e.label.toLowerCase()===r)??null}async function N(e,t,a){await s.database.insert(h.threadMessageTable).values({threadId:e,seq:t,...a,compact:a.compact??!1,note:a.note??!1}).onConflictDoUpdate({target:[h.threadMessageTable.threadId,h.threadMessageTable.seq],set:{role:a.role,content:a.content,compact:a.compact??!1,note:a.note??!1}}),j()}async function $(e,t){t.length&&(await s.database.delete(h.threadMessageTable).where((0,r.and)((0,r.eq)(h.threadMessageTable.threadId,e),(0,r.inArray)(h.threadMessageTable.seq,t))),j())}async function U(e,t=()=>!0){if(0===e.length)return[];let a=e.filter(t).map(e=>e.id),d=a.length?await s.database.select().from(h.threadMessageTable).where((0,r.inArray)(h.threadMessageTable.threadId,a)).orderBy(h.threadMessageTable.seq):[],n=e.map(e=>e.id),[l,i,o]=await Promise.all([s.database.select().from(h.threadWorkTable).where((0,r.inArray)(h.threadWorkTable.threadId,n)),s.database.select().from(h.threadDeliveryTable).where((0,r.and)((0,r.inArray)(h.threadDeliveryTable.threadId,n),(0,r.eq)(h.threadDeliveryTable.visible,!0))),s.database.select().from(h.threadRelayTable).where((0,r.and)((0,r.inArray)(h.threadRelayTable.threadId,n),(0,r.eq)(h.threadRelayTable.accepted,!1)))]),w=new Map(e.map(e=>[e.id,e.bot])),f=new Map(l.map(e=>[e.id,e.caller])),y=new Map;for(let e of d){let t=y.get(e.threadId)??[];t.push(...function(e,t){if(e.hidden)return[];let a={seq:e.seq,bot:e.bot,parent:e.parent,to:"user"===e.role?e.bot:t,at:e.createdAt},r=t=>`${e.id}-${t}`,d=e.content;if("user"===e.role){if(0===e.seq)return[];let t="string"==typeof d?d:d.flatMap(e=>"text"===e.type&&e.text?[e.text]:[]).join("\n").trim();if(!t)return[];if(e.compact)return[{...a,id:r(0),kind:"note",text:t}];if(e.note){let e=t.endsWith(p.RESUME_CHECK)?t.slice(0,-p.RESUME_CHECK.length).trimEnd():t;return[{...a,id:r(0),kind:"stop",text:e}]}return[{...a,id:r(0),kind:"user",text:(0,c.untagSpeaker)(t)}]}if("assistant"===e.role){let t=e.content;if("string"==typeof t)return t.trim()?[{...a,id:r(0),kind:"text",text:t.trim()}]:[];let d=[];return t.forEach((t,n)=>{if("text"===t.type){let e=t.text.trim();e&&d.push({...a,id:r(n),kind:"text",text:e});return}if("tool-result"===t.type)return void d.push(L(a,r(n),t));if("tool-call"!==t.type)return;let l=t.input??{};if(t.toolName===u.TOOL_NAMES.send_message){let i;d.push({...a,id:r(n),kind:"ask",callId:t.toolCallId,to:(i=String(l.to??"").trim()).toLowerCase()===p.ROOM_THURSDAY.toLowerCase()?p.ROOM_THURSDAY:i,text:String(l.text??""),question:"question"===l.kind,..."question"===l.kind&&e.bot?{questionId:(0,T.messageKey)(e.threadId,e.bot,t.toolCallId)}:{}})}else t.toolName===u.TOOL_NAMES.bash?d.push({...a,id:r(n),kind:"tool",callId:t.toolCallId,name:t.toolName,input:(0,b.clip)(String(l.command??""),120),note:B(l)}):d.push({...a,id:r(n),kind:"tool",callId:t.toolCallId,name:t.toolName,input:C(t.toolName,l),note:B(l),path:t.toolName===u.TOOL_NAMES.write_file?P(l,"path")??null:null})}),d}if("tool"===e.role){let t=[];return e.content.forEach((e,d)=>{"tool-result"!==e.type||(e.toolName!==u.TOOL_NAMES.send_message||"error-text"===e.output.type)&&t.push(L(a,r(d),e))}),t}return[]}(e,(e.parent?f.get(e.parent):null)??w.get(e.threadId)??"")),y.set(e.threadId,t)}return e.map(e=>{let t=l.filter(t=>t.threadId===e.id),a=["running","queued","paused","waiting","done","cancelled"],r=[...new Set(t.map(e=>e.bot))].filter(e=>e!==p.ROOM_THURSDAY).map(e=>({bot:e,state:t.filter(t=>t.bot===e).sort((e,t)=>a.indexOf(e.state)-a.indexOf(t.state))[0].state}));return{...function(e,t){let{pending:a,inputTokens:r,outputTokens:d,...n}=e;return{...n,ask:"waiting"===e.status?{question:e.outcome??"",options:a?.options??[],messageId:a?.messageId,bot:a?.bot}:null,tokens:{input:r,output:d},lines:t}}(e,y.get(e.id)??[]),room:{participants:r,questions:t.filter(e=>"external"===e.state).map(e=>({id:e.id,bot:e.caller,text:e.result??"",options:e.options})),deliveries:i.filter(t=>t.threadId===e.id).map(a=>({id:a.key,bot:t.find(e=>e.id===a.workId)?.bot??e.bot,text:a.text,delivered:a.consumed})),relays:o.filter(t=>t.threadId===e.id)}}})}let K=["query","command","prompt","url","path","pattern","request","question","title","name","thread","text"],P=(e,t)=>{let a=e[t];return"string"==typeof a&&a.trim()?a:null};function B(e){let t=P(e,"description");return t?(0,b.clip)(t,120):null}function C(e,t){let a=t??{};if("object"!=typeof a||Array.isArray(a))return(0,b.clip)(String(t??""),120);if(e===u.TOOL_NAMES.bash)return B(a)??(0,b.clip)(String(a.command??""),120);if(e===u.TOOL_NAMES.tool_call||e===u.TOOL_NAMES.tool_search){let e=Array.isArray(a.tools)?a.tools.map(String).join(", "):String(a.tool??""),t=a.args??null,r=t&&"object"==typeof t?String(a.server??"")===o.STUDIO_SERVER?H(t):JSON.stringify(t):"";return(0,b.clip)([String(a.server??""),e,r].filter(Boolean).join(" "),120)}let r=H(a);return r?(0,b.clip)(r,120):Object.keys(a).length?(0,b.clip)(JSON.stringify(a),120):""}function H(e){for(let t of K){let a=P(e,t);if(a)return a}for(let t of Object.keys(e)){let a=P(e,t);if(a)return a}return""}let F=/https?:\/\/\S+(?: · \d{4}-\d{2}-\d{2})?\s*$/,V=" — ";function L(e,t,a){let r=a.toolName===u.TOOL_NAMES.web_search,d=function e(t,a,r=!1){var d;if(null==t)return[];if("string"==typeof t)return Y(t,a,r);if("object"!=typeof t)return Y(String(t),a,r);switch(t.type){case"text":case"error-text":return Y(String(t.value??""),a,r);case"json":case"error-json":return e(t.value,a,r);case"execution-denied":return Y("Denied.",a,r);case"content":{if(!Array.isArray(t.value))return[];let e=[];for(let d of t.value){if("text"===d.type&&"string"==typeof d.text){e.push(...Y(d.text,a,r));continue}let t=function(e){let t=String(e.mediaType??"");if(!t.startsWith("image/"))return null;let a=e.data;return"string"==typeof a?`data:${t};base64,${a}`:a?.type==="url"&&a.url?a.url:a?.type==="data"&&"string"==typeof a.data?`data:${t};base64,${a.data}`:null}(d);t&&e.push({type:"image",src:t})}return e}}return"string"==typeof t.path&&String(t.mediaType??"").startsWith("image/")?[{type:"text",text:t.path},{type:"image",src:i.queryKey.file(t.path)}]:Array.isArray(t.sources)?t.sources.map(e=>String(e?.title??"")).filter(Boolean).slice(0,a).map(e=>({type:"text",text:e})):"string"==typeof t.stdout?Y(t.stdout||String(t.stderr??""),a,r):"string"==typeof t.answer?Y(t.answer,a,r):Y(r?(d=t,Array.isArray(d)?JSON.stringify(d,null,2):Object.entries(d).map(([e,t])=>"string"==typeof t&&t.includes("\n")?`${e}:
|
|
4
|
-
${t}`:`${e}: ${JSON.stringify(t,null,2)}`).join("\n")):JSON.stringify(t),a,r)}(a.output,r?o.FULL_RESULT_LINES:5),n=d.flatMap(e=>"text"===e.type?[e.text]:[]),l=r?n.filter(e=>F.test(e)):[],s=(l.length?l:n).slice(0,4);return{...e,id:t,kind:"tool-result",callId:a.toolCallId,name:a.toolName,results:s.map(e=>({type:"text",text:l.length?function(e){let t=e.replace(/\s+/g," ").trim(),a=F.exec(t);if(!a||t.length<=200)return(0,b.clip)(t,200);let r=a[0].trim(),d=t.slice(0,a.index).replace(/[\s—-]+$/,""),n=200-r.length-V.length;return d&&n>1?`${(0,b.clip)(d,n)}${V}${r}`:r}(e):(0,b.clip)(e,200)})),more:n.length>s.length||d.length>n.length||s.some(e=>e.length>200)}}function Y(e,t,a=!1){if(a){let a=e.split("\n"),r=a.slice(0,t);a.length>t&&r.push(`… ${a.length-t} more lines`);let d=r.join("\n").trimEnd();return d?[{type:"text",text:d}]:[]}return e.split("\n").map(e=>e.trim()).filter(Boolean).slice(0,t).map(e=>({type:"text",text:e}))}e.s(["addThreadUsage",0,k,"argumentLine",0,C,"closeEndedQuestions",0,m,"deleteMessages",0
|
|
3
|
+
${e.text}`}async function D(e,t){await s.database.transaction(async a=>{await W(a,e);let r=await a.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.parentId,e.id)),n=await a.select({id:h.threadDeliveryTable.id}).from(h.threadDeliveryTable).where((0,d.and)((0,d.eq)(h.threadDeliveryTable.workId,e.id),(0,d.eq)(h.threadDeliveryTable.consumed,!1))).limit(1),l=await w(a,e.threadId,e.bot),i=n.length&&!l?"queued":n.length||r.some(e=>!H(e.state))?"waiting":"done";if(await a.update(h.threadWorkTable).set({state:i,result:t}).where((0,d.eq)(h.threadWorkTable.id,e.id)),"done"!==i)return;if(e.parentId){let[r]=await a.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.id,e.parentId)),[n]=t?[]:await a.select({id:h.threadDeliveryTable.id}).from(h.threadDeliveryTable).where((0,d.and)((0,d.eq)(h.threadDeliveryTable.workId,e.parentId),(0,d.eq)(h.threadDeliveryTable.speaker,e.bot),(0,d.eq)(h.threadDeliveryTable.consumed,!1))).limit(1);r&&"cancelled"!==r.state&&!n&&await A(a,{key:`return:${e.id}:${e.generation}`,threadId:e.threadId,workId:r.id,speaker:e.bot,text:t||"This turn ended without a message."})}let[o]=await a.select().from(h.threadTable).where((0,d.eq)(h.threadTable.id,e.threadId)),s=await a.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e.threadId));o&&e.bot===o.bot&&!e.parentId&&s.every(e=>H(e.state))&&(await a.update(h.threadTable).set({status:t?"done":"waiting",outcome:t||"The room is idle. Send a message to continue.",pending:t?null:{options:[c.THREAD_CONTINUE]},wrapped:!0,endedAt:t?new Date:null,seen:!1,updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e.threadId)),t&&await a.insert(h.threadRelayTable).values({key:`report:${e.threadId}:${o.generation}`,threadId:e.threadId,bot:e.bot,text:t,kind:"report"}).onConflictDoNothing())}),C()}async function M(e){await s.database.transaction(async t=>{let[a]=await t.select().from(h.threadTable).where((0,d.eq)(h.threadTable.id,e));if(!a||"running"!==a.status)return;let r=await t.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e));if(r.some(e=>"queued"===e.state||"running"===e.state))return;let n=r.find(e=>"external"===e.state);if(n)return void await t.update(h.threadTable).set({status:"waiting",outcome:n.result,pending:{options:n.options,messageId:n.id,bot:n.caller},updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e));if(r.some(e=>!H(e.state))||a.wrapped)return void await t.update(h.threadTable).set({status:"waiting",outcome:a.turns>=o.BOT_RUN.turns?"The room reached its automatic turn limit. Continue from the saved conversation.":"Work is paused. Continue from the saved conversation.",pending:{options:[c.THREAD_CONTINUE]},updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e));let l=crypto.randomUUID();await t.insert(h.threadWorkTable).values({id:l,threadId:e,bot:a.bot,caller:T.ROOM_THURSDAY,state:"queued"}),await A(t,{key:l,threadId:e,workId:l,speaker:"Thread activity",text:"The participants have finished their current turns. Bring together the results you received for Thursday, including anything still unresolved."}),await t.update(h.threadTable).set({wrapped:!0}).where((0,d.eq)(h.threadTable.id,e))}),C()}async function S(e,t){await s.database.transaction(async a=>{let r=await a.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e));for(let n of r.filter(e=>"running"===e.state||"queued"===e.state))await a.update(h.threadWorkTable).set({state:"paused",generation:n.generation+1}).where((0,d.eq)(h.threadWorkTable.id,n.id)),await y(a,e,Y(n,t));await a.update(h.threadTable).set({status:"waiting",outcome:t,pending:{options:[c.THREAD_CONTINUE]},seen:!1,endedAt:null,updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e)),await a.insert(h.threadRelayTable).values({key:crypto.randomUUID(),threadId:e,bot:r.find(e=>!e.parentId)?.bot??"Bot",text:t,kind:"interrupted"})}),C()}async function _(e){await s.database.transaction(async t=>{await t.update(h.threadWorkTable).set({state:"queued"}).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,e),(0,d.eq)(h.threadWorkTable.state,"paused"))),await t.update(h.threadTable).set({status:"running",generation:l.sql`${h.threadTable.generation} + 1`,turns:0,pending:null,outcome:null,endedAt:null,updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e)),await t.update(h.threadRelayTable).set({accepted:!0}).where((0,d.and)((0,d.eq)(h.threadRelayTable.threadId,e),(0,d.eq)(h.threadRelayTable.kind,"interrupted")))}),C()}async function E(e,t,a){let r=e.select({workId:h.threadDeliveryTable.workId}).from(h.threadDeliveryTable).where((0,d.and)((0,d.eq)(h.threadDeliveryTable.threadId,t),(0,d.eq)(h.threadDeliveryTable.consumed,!1)));await e.update(h.threadWorkTable).set({state:"queued"}).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,t),(0,d.eq)(h.threadWorkTable.bot,a),(0,d.inArray)(h.threadWorkTable.state,["waiting","done"]),(0,d.inArray)(h.threadWorkTable.id,r)))}async function $(e,t,a,r,n,i=!0){let o=await s.database.transaction(async o=>{let[s]=await o.select().from(h.threadTable).where((0,d.eq)(h.threadTable.id,e));s||(0,b.publicError)("No such thread.");let u=await o.select().from(h.threadWorkTable).where((0,d.eq)(h.threadWorkTable.threadId,e)).orderBy(h.threadWorkTable.createdAt),c=u.filter(e=>"external"===e.state),p=n?c.find(e=>e.id===n)??(0,b.publicError)("That question is no longer waiting for an answer."):i?function(e,t){let a=t?e.filter(e=>e.caller===t):e;if(a.length<=1)return a[0];(0,b.publicError)(`Several questions are waiting for an answer: ${a.map(e=>`${e.caller} (replyTo ${e.id}): “${(e.result??"").slice(0,160)}”`).join("; ")}. Answer one of them by its replyTo.`)}(c,r):void 0,f=p?.caller??r??s.bot,y=p?u.find(e=>e.id===p.parentId):u.find(e=>e.bot===f&&"running"===e.state)??u.find(e=>e.bot===f&&!H(e.state)&&"external"!==e.state);if(p&&(await o.update(h.threadWorkTable).set({state:"done",result:t}).where((0,d.eq)(h.threadWorkTable.id,p.id)),await o.update(h.threadRelayTable).set({accepted:!0}).where((0,d.eq)(h.threadRelayTable.messageId,p.id))),!y){let t=null;if(f!==s.bot){let a=u.findLast(e=>e.bot===s.bot&&!e.parentId&&"cancelled"!==e.state);a?"done"===a.state&&await o.update(h.threadWorkTable).set({state:"waiting"}).where((0,d.eq)(h.threadWorkTable.id,a.id)):a=(await o.insert(h.threadWorkTable).values({id:crypto.randomUUID(),threadId:e,bot:s.bot,caller:T.ROOM_THURSDAY,state:"waiting"}).returning())[0],t=a.id}y=(await o.insert(h.threadWorkTable).values({id:crypto.randomUUID(),threadId:e,bot:f,caller:t?s.bot:T.ROOM_THURSDAY,parentId:t,state:"queued"}).returning())[0]}p&&await A(o,{key:`answer:${p.id}`,threadId:e,workId:y.id,speaker:"Thread activity",text:`The next message answers your question to the user: “${p.result??""}”`});let g=crypto.randomUUID();return await A(o,{key:g,threadId:e,workId:y.id,speaker:a,text:t,visible:!0}),p&&!await w(o,e,f)&&await E(o,e,f),await o.update(h.threadWorkTable).set({state:"queued"}).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,e),(0,d.eq)(h.threadWorkTable.state,"paused"))),await o.update(h.threadTable).set({status:"running",generation:l.sql`${h.threadTable.generation} + 1`,turns:0,wrapped:!1,pending:null,outcome:null,endedAt:null,seen:!1,updatedAt:new Date}).where((0,d.eq)(h.threadTable.id,e)),await o.update(h.threadRelayTable).set({accepted:!0}).where((0,d.and)((0,d.eq)(h.threadRelayTable.threadId,e),(0,d.inArray)(h.threadRelayTable.kind,["interrupted","report"]))),{key:g,to:f,answered:p?{bot:p.caller,question:p.result??""}:null}});return C(),o}async function N(e){await s.database.transaction(async t=>{await t.update(h.threadWorkTable).set({state:"cancelled",generation:l.sql`${h.threadWorkTable.generation} + 1`}).where((0,d.and)((0,d.eq)(h.threadWorkTable.threadId,e),(0,d.inArray)(h.threadWorkTable.state,["queued","running","waiting","external","paused"]))),await t.update(h.threadRelayTable).set({accepted:!0}).where((0,d.eq)(h.threadRelayTable.threadId,e))}),C()}async function U(e,t){let[a]=await s.database.select({bot:h.threadTable.bot}).from(h.threadTable).where((0,d.eq)(h.threadTable.id,e)),r=await s.database.select().from(h.threadMessageTable).where((0,d.and)((0,d.eq)(h.threadMessageTable.threadId,e),(0,d.or)((0,d.eq)(h.threadMessageTable.bot,t),a?.bot===t?l.sql`${h.threadMessageTable.bot} is null AND ${h.threadMessageTable.parent} is null`:void 0))).orderBy(h.threadMessageTable.seq),n=r.findLastIndex(e=>e.compact);return(n>0?[r[0],...r.slice(n)]:r).map(e=>({role:e.role,content:e.content}))}async function B(e){e.length&&(await s.database.update(h.threadRelayTable).set({accepted:!0}).where((0,d.inArray)(h.threadRelayTable.id,e)),C())}e.s(["acceptRoomRelays",0,B,"appendRoomMessage",0,m,"cancelRoom",0,N,"claimRoomWork",0,v,"consumeRoomInbox",0,x,"finishRoomWork",0,D,"listParticipantTranscript",0,U,"listRoomReceipts",0,f,"listRoomWork",0,k,"lowerRoomContextBudget",0,I,"messageKey",0,L,"noteRoomBreak",0,g,"pauseRoom",0,S,"resumeRoom",0,_,"roomContextBudget",0,q,"sendRoomMessage",0,R,"settleRoom",0,M,"tellRoom",0,$]),a()}catch(e){a(e)}},!1),5509,e=>e.a(async(t,a)=>{try{var r=e.i(336763),d=e.i(396918),n=e.i(533102),l=e.i(232347),i=e.i(139886),o=e.i(333925),s=e.i(876393),h=e.i(220376),u=e.i(51083),b=e.i(64774),c=e.i(951056),T=e.i(811592),p=e.i(600690),w=t([s,T]);[s,T]=w.then?(await w)():w;let j=()=>l.appEvents.emit({type:"threads"}),J={id:h.threadTable.id,bot:h.threadTable.bot,label:h.threadTable.label,request:h.threadTable.request,status:h.threadTable.status,outcome:h.threadTable.outcome,pending:h.threadTable.pending,seen:h.threadTable.seen,routineId:h.threadTable.routineId,inputTokens:h.threadTable.inputTokens,outputTokens:h.threadTable.outputTokens,contextTokens:h.threadTable.contextTokens,contextBudget:h.threadTable.contextBudget,createdAt:h.threadTable.createdAt,updatedAt:h.threadTable.updatedAt};async function f(e){let{opening:t,...a}=e,r=await s.database.transaction(async e=>{let[r]=await e.insert(h.threadTable).values({id:crypto.randomUUID(),status:"running",...a}).returning();return await e.insert(h.threadMessageTable).values({threadId:r.id,seq:0,bot:null,parent:null,role:"user",content:t,compact:!1,note:!1}),await e.insert(h.threadWorkTable).values({id:crypto.randomUUID(),threadId:r.id,bot:r.bot,caller:p.ROOM_THURSDAY,state:"queued"}),r});return j(),r}async function y(e,t){await s.database.update(h.threadTable).set({...t,updatedAt:new Date}).where((0,r.eq)(h.threadTable.id,e)),j()}async function g(e){0!==e.length&&(await s.database.transaction(async t=>{await t.update(h.threadTable).set({seen:!0}).where((0,r.inArray)(h.threadTable.id,e)),await t.update(h.threadRelayTable).set({accepted:!0}).where((0,r.inArray)(h.threadRelayTable.threadId,e))}),j())}async function m(){let e=s.database.select({id:h.threadTable.id}).from(h.threadTable).where((0,r.inArray)(h.threadTable.status,["done","cancelled"])),t=await s.database.update(h.threadWorkTable).set({state:"cancelled"}).where((0,r.and)((0,r.notInArray)(h.threadWorkTable.state,["done","cancelled"]),(0,r.inArray)(h.threadWorkTable.threadId,e))).returning({id:h.threadWorkTable.id}),a=await s.database.update(h.threadTable).set({pending:null}).where((0,r.and)((0,r.inArray)(h.threadTable.status,["done","cancelled"]),(0,r.isNotNull)(h.threadTable.pending))).returning({id:h.threadTable.id});return(t.length||a.length)&&j(),{closed:t.length,cleared:a.length}}async function k(e,t,a=null){(t.input||t.output||null!==a)&&(await s.database.update(h.threadTable).set({inputTokens:n.sql`${h.threadTable.inputTokens} + ${t.input}`,outputTokens:n.sql`${h.threadTable.outputTokens} + ${t.output}`,cacheReadTokens:n.sql`${h.threadTable.cacheReadTokens} + ${t.cacheRead}`,cacheWriteTokens:n.sql`${h.threadTable.cacheWriteTokens} + ${t.cacheWrite}`,...null===a?{}:{contextTokens:a.tokens,contextBudget:a.budget}}).where((0,r.eq)(h.threadTable.id,e)),j())}async function q(e){let[t]=await s.database.select(J).from(h.threadTable).where((0,r.eq)(h.threadTable.id,e));if(!t)return null;let[a]=await U([t]);return a??null}async function I(e){let[t]=await s.database.select().from(h.threadTable).where((0,r.eq)(h.threadTable.id,e));return t??null}async function W(){let[e,t,a,n]=await Promise.all([s.database.select(J).from(h.threadTable).where((0,r.inArray)(h.threadTable.status,["running","waiting"])).orderBy((0,d.desc)(h.threadTable.updatedAt)),s.database.select(J).from(h.threadTable).where((0,r.inArray)(h.threadTable.status,["done","cancelled"])).orderBy((0,d.desc)(h.threadTable.updatedAt)).limit(o.INBOX_FINISHED),s.database.select(J).from(h.threadTable).where((0,r.and)((0,r.inArray)(h.threadTable.status,["done","cancelled"]),(0,r.eq)(h.threadTable.seen,!1))),s.database.select(J).from(h.threadTable).where((0,r.inArray)(h.threadTable.id,s.database.select({id:h.threadRelayTable.threadId}).from(h.threadRelayTable).where((0,r.eq)(h.threadRelayTable.accepted,!1))))]),l=[...new Map([...e,...t,...a,...n].map(e=>[e.id,e])).values()].sort((e,t)=>t.updatedAt.getTime()-e.updatedAt.getTime());return U(l,e=>{let t;return t=e.status,"running"===t||"waiting"===t})}async function A(){let e=await s.database.select(J).from(h.threadTable).orderBy(n.sql`case when ${h.threadTable.status} in ('running', 'waiting') then 0 else 1 end`,(0,d.desc)(h.threadTable.updatedAt),(0,d.desc)(h.threadTable.id)).limit(o.THREAD_STATUS_LIMIT);return U(e)}async function R(e){return e.length?await s.database.select({id:h.threadTable.id,callId:h.threadTable.callId,label:h.threadTable.label,status:h.threadTable.status,outcome:h.threadTable.outcome}).from(h.threadTable).where((0,r.inArray)(h.threadTable.callId,e)).orderBy(h.threadTable.createdAt):[]}async function v(e,t){let a=(a,n)=>s.database.select({id:h.threadTable.id,owner:h.threadTable.bot,label:h.threadTable.label,status:h.threadTable.status,pending:h.threadTable.pending,updatedAt:h.threadTable.updatedAt}).from(h.threadTable).where((0,r.and)((0,r.inArray)(h.threadTable.status,a),t?(0,r.ne)(h.threadTable.id,t):void 0,(0,r.inArray)(h.threadTable.id,s.database.select({id:h.threadWorkTable.threadId}).from(h.threadWorkTable).where((0,r.eq)(h.threadWorkTable.bot,e))))).orderBy((0,d.desc)(h.threadTable.updatedAt)).limit(n),[n,l]=await Promise.all([a(["running","waiting"],o.BOT_WORK.open),a(["done","cancelled"],o.BOT_WORK.recent)]),i=[...n,...l].map(e=>e.id);if(!i.length)return{open:[],recent:[]};let u=await s.database.select({id:h.threadWorkTable.id,threadId:h.threadWorkTable.threadId,result:h.threadWorkTable.result}).from(h.threadWorkTable).where((0,r.and)((0,r.eq)(h.threadWorkTable.bot,e),(0,r.inArray)(h.threadWorkTable.threadId,i),(0,r.isNotNull)(h.threadWorkTable.result))).orderBy((0,d.desc)(h.threadWorkTable.createdAt)),b=new Map;for(let{id:e,threadId:t,result:a}of u)a?.trim()&&!b.has(t)&&b.set(t,{workId:e,words:a});let c=({pending:e,...t})=>{let a=b.get(t.id);return{...t,workId:a?.workId??null,asking:"waiting"===t.status&&!!e?.messageId,said:a?.words??null,cut:!!a&&a.words.replace(/\s+/g," ").trim().length>o.BOT_WORK.said}};return{open:n.map(c),recent:l.map(c)}}async function x(e,t){if(t.owner===e){let[e]=await s.database.select({request:h.threadTable.request}).from(h.threadTable).where((0,r.eq)(h.threadTable.id,t.id));return e?.request??""}return t.workId?(await s.database.select({text:h.threadDeliveryTable.text}).from(h.threadDeliveryTable).where((0,r.eq)(h.threadDeliveryTable.workId,t.workId)).orderBy(h.threadDeliveryTable.id)).map(e=>e.text).join("\n\n"):""}async function O(e){let t=await s.database.delete(h.threadTable).where((0,r.eq)(h.threadTable.id,e)).returning({id:h.threadTable.id});return t.length&&j(),t.length>0}async function D(){return(await s.database.select({id:h.threadTable.id}).from(h.threadTable).where((0,r.eq)(h.threadTable.status,"running"))).map(e=>e.id)}async function M(){return await s.database.select({id:h.threadTable.id,label:h.threadTable.label,status:h.threadTable.status,endedAt:h.threadTable.endedAt,updatedAt:h.threadTable.updatedAt}).from(h.threadTable)}function S(e){let t=new Set;for(let a of e)if(Array.isArray(a))for(let e of a){if("tool-call"!==e.type||e.toolName!==u.TOOL_NAMES.write_file)continue;let a=e.input?.path;"string"==typeof a&&a.trim()&&(t.delete(a.trim()),t.add(a.trim()))}return[...t]}async function _(e){let t=await s.database.select({content:h.threadMessageTable.content}).from(h.threadMessageTable).where((0,r.and)((0,r.eq)(h.threadMessageTable.threadId,e),(0,r.eq)(h.threadMessageTable.role,"assistant"))).orderBy(h.threadMessageTable.seq);return S(t.map(e=>e.content))}async function E(e){let t=e.trim();if(!t)return null;let a=await I(t);if(a)return a;let r=t.toLowerCase();return(await s.database.select().from(h.threadTable).orderBy((0,d.desc)(h.threadTable.updatedAt)).limit(o.THREAD_LABEL_REACH)).find(e=>e.label.toLowerCase()===r)??null}async function $(e,t,a){await s.database.insert(h.threadMessageTable).values({threadId:e,seq:t,...a,compact:a.compact??!1,note:a.note??!1}).onConflictDoUpdate({target:[h.threadMessageTable.threadId,h.threadMessageTable.seq],set:{role:a.role,content:a.content,compact:a.compact??!1,note:a.note??!1}}),j()}async function N(e,t){t.length&&(await s.database.delete(h.threadMessageTable).where((0,r.and)((0,r.eq)(h.threadMessageTable.threadId,e),(0,r.inArray)(h.threadMessageTable.seq,t))),j())}async function U(e,t=()=>!0){if(0===e.length)return[];let a=e.filter(t).map(e=>e.id),d=a.length?await s.database.select().from(h.threadMessageTable).where((0,r.inArray)(h.threadMessageTable.threadId,a)).orderBy(h.threadMessageTable.seq):[],n=e.map(e=>e.id),[l,i,o]=await Promise.all([s.database.select().from(h.threadWorkTable).where((0,r.inArray)(h.threadWorkTable.threadId,n)),s.database.select().from(h.threadDeliveryTable).where((0,r.and)((0,r.inArray)(h.threadDeliveryTable.threadId,n),(0,r.eq)(h.threadDeliveryTable.visible,!0))),s.database.select().from(h.threadRelayTable).where((0,r.and)((0,r.inArray)(h.threadRelayTable.threadId,n),(0,r.eq)(h.threadRelayTable.accepted,!1)))]),w=new Map(e.map(e=>[e.id,e.bot])),f=new Map(l.map(e=>[e.id,e.caller])),y=new Map;for(let e of d){let t=y.get(e.threadId)??[];t.push(...function(e,t){if(e.hidden)return[];let a={seq:e.seq,bot:e.bot,parent:e.parent,to:"user"===e.role?e.bot:t,at:e.createdAt},r=t=>`${e.id}-${t}`,d=e.content;if("user"===e.role){if(0===e.seq)return[];let t="string"==typeof d?d:d.flatMap(e=>"text"===e.type&&e.text?[e.text]:[]).join("\n").trim();if(!t)return[];if(e.compact)return[{...a,id:r(0),kind:"note",text:t}];if(e.note){let e=t.endsWith(p.RESUME_CHECK)?t.slice(0,-p.RESUME_CHECK.length).trimEnd():t;return[{...a,id:r(0),kind:"stop",text:e}]}return[{...a,id:r(0),kind:"user",text:(0,c.untagSpeaker)(t)}]}if("assistant"===e.role){let t=e.content;if("string"==typeof t)return t.trim()?[{...a,id:r(0),kind:"text",text:t.trim()}]:[];let d=[];return t.forEach((t,n)=>{if("text"===t.type){let e=t.text.trim();e&&d.push({...a,id:r(n),kind:"text",text:e});return}if("tool-result"===t.type)return void d.push(L(a,r(n),t));if("tool-call"!==t.type)return;let l=t.input??{};if(t.toolName===u.TOOL_NAMES.send_message){let i;d.push({...a,id:r(n),kind:"ask",callId:t.toolCallId,to:(i=String(l.to??"").trim()).toLowerCase()===p.ROOM_THURSDAY.toLowerCase()?p.ROOM_THURSDAY:i,text:String(l.text??""),question:"question"===l.kind,..."question"===l.kind&&e.bot?{questionId:(0,T.messageKey)(e.threadId,e.bot,t.toolCallId)}:{}})}else t.toolName===u.TOOL_NAMES.bash?d.push({...a,id:r(n),kind:"tool",callId:t.toolCallId,name:t.toolName,input:(0,b.clip)(String(l.command??""),120),note:B(l)}):d.push({...a,id:r(n),kind:"tool",callId:t.toolCallId,name:t.toolName,input:C(t.toolName,l),note:B(l),path:t.toolName===u.TOOL_NAMES.write_file?P(l,"path")??null:null})}),d}if("tool"===e.role){let t=[];return e.content.forEach((e,d)=>{"tool-result"!==e.type||(e.toolName!==u.TOOL_NAMES.send_message||"error-text"===e.output.type)&&t.push(L(a,r(d),e))}),t}return[]}(e,(e.parent?f.get(e.parent):null)??w.get(e.threadId)??"")),y.set(e.threadId,t)}return e.map(e=>{let t=l.filter(t=>t.threadId===e.id),a=["running","queued","paused","waiting","done","cancelled"],r=[...new Set(t.map(e=>e.bot))].filter(e=>e!==p.ROOM_THURSDAY).map(e=>({bot:e,state:t.filter(t=>t.bot===e).sort((e,t)=>a.indexOf(e.state)-a.indexOf(t.state))[0].state}));return{...function(e,t){let{pending:a,inputTokens:r,outputTokens:d,...n}=e;return{...n,ask:"waiting"===e.status?{question:e.outcome??"",options:a?.options??[],messageId:a?.messageId,bot:a?.bot}:null,tokens:{input:r,output:d},lines:t}}(e,y.get(e.id)??[]),room:{participants:r,questions:t.filter(e=>"external"===e.state).map(e=>({id:e.id,bot:e.caller,text:e.result??"",options:e.options})),deliveries:i.filter(t=>t.threadId===e.id).map(a=>({id:a.key,bot:t.find(e=>e.id===a.workId)?.bot??e.bot,text:a.text,delivered:a.consumed})),relays:o.filter(t=>t.threadId===e.id)}}})}let K=["query","command","prompt","url","path","pattern","request","question","title","name","thread","text"],P=(e,t)=>{let a=e[t];return"string"==typeof a&&a.trim()?a:null};function B(e){let t=P(e,"description");return t?(0,b.clip)(t,120):null}function C(e,t){let a=t??{};if("object"!=typeof a||Array.isArray(a))return(0,b.clip)(String(t??""),120);if(e===u.TOOL_NAMES.bash)return B(a)??(0,b.clip)(String(a.command??""),120);if(e===u.TOOL_NAMES.tool_call||e===u.TOOL_NAMES.tool_search){let e=Array.isArray(a.tools)?a.tools.map(String).join(", "):String(a.tool??""),t=a.args??null,r=t&&"object"==typeof t?String(a.server??"")===o.STUDIO_SERVER?H(t):JSON.stringify(t):"";return(0,b.clip)([String(a.server??""),e,r].filter(Boolean).join(" "),120)}let r=H(a);return r?(0,b.clip)(r,120):Object.keys(a).length?(0,b.clip)(JSON.stringify(a),120):""}function H(e){for(let t of K){let a=P(e,t);if(a)return a}for(let t of Object.keys(e)){let a=P(e,t);if(a)return a}return""}let F=/https?:\/\/\S+(?: · \d{4}-\d{2}-\d{2})?\s*$/,V=" — ";function L(e,t,a){let r=a.toolName===u.TOOL_NAMES.web_search,d=function e(t,a,r=!1){var d;if(null==t)return[];if("string"==typeof t)return Y(t,a,r);if("object"!=typeof t)return Y(String(t),a,r);switch(t.type){case"text":case"error-text":return Y(String(t.value??""),a,r);case"json":case"error-json":return e(t.value,a,r);case"execution-denied":return Y("Denied.",a,r);case"content":{if(!Array.isArray(t.value))return[];let e=[];for(let d of t.value){if("text"===d.type&&"string"==typeof d.text){e.push(...Y(d.text,a,r));continue}let t=function(e){let t=String(e.mediaType??"");if(!t.startsWith("image/"))return null;let a=e.data;return"string"==typeof a?`data:${t};base64,${a}`:a?.type==="url"&&a.url?a.url:a?.type==="data"&&"string"==typeof a.data?`data:${t};base64,${a.data}`:null}(d);t&&e.push({type:"image",src:t})}return e}}return"string"==typeof t.path&&String(t.mediaType??"").startsWith("image/")?[{type:"text",text:t.path},{type:"image",src:i.queryKey.file(t.path)}]:Array.isArray(t.sources)?t.sources.map(e=>String(e?.title??"")).filter(Boolean).slice(0,a).map(e=>({type:"text",text:e})):"string"==typeof t.stdout?Y(t.stdout||String(t.stderr??""),a,r):"string"==typeof t.answer?Y(t.answer,a,r):Y(r?(d=t,Array.isArray(d)?JSON.stringify(d,null,2):Object.entries(d).map(([e,t])=>"string"==typeof t&&t.includes("\n")?`${e}:
|
|
4
|
+
${t}`:`${e}: ${JSON.stringify(t,null,2)}`).join("\n")):JSON.stringify(t),a,r)}(a.output,r?o.FULL_RESULT_LINES:5),n=d.flatMap(e=>"text"===e.type?[e.text]:[]),l=r?n.filter(e=>F.test(e)):[],s=(l.length?l:n).slice(0,4);return{...e,id:t,kind:"tool-result",callId:a.toolCallId,name:a.toolName,results:s.map(e=>({type:"text",text:l.length?function(e){let t=e.replace(/\s+/g," ").trim(),a=F.exec(t);if(!a||t.length<=200)return(0,b.clip)(t,200);let r=a[0].trim(),d=t.slice(0,a.index).replace(/[\s—-]+$/,""),n=200-r.length-V.length;return d&&n>1?`${(0,b.clip)(d,n)}${V}${r}`:r}(e):(0,b.clip)(e,200)})),more:n.length>s.length||d.length>n.length||s.some(e=>e.length>200)}}function Y(e,t,a=!1){if(a){let a=e.split("\n"),r=a.slice(0,t);a.length>t&&r.push(`… ${a.length-t} more lines`);let d=r.join("\n").trimEnd();return d?[{type:"text",text:d}]:[]}return e.split("\n").map(e=>e.trim()).filter(Boolean).slice(0,t).map(e=>({type:"text",text:e}))}e.s(["addThreadUsage",0,k,"argumentLine",0,C,"closeEndedQuestions",0,m,"deleteMessages",0,N,"deleteThread",0,O,"findThread",0,I,"findThreadView",0,q,"insertThread",0,f,"listBotWork",0,v,"listCallJobs",0,R,"listInboxThreads",0,W,"listRunningThreadIds",0,D,"listThreadFolders",0,M,"listThreadOverview",0,A,"listWrittenPaths",0,_,"markSeen",0,g,"readBotAsk",0,x,"resolveThread",0,E,"updateThread",0,y,"upsertMessage",0,$,"writtenPathsIn",0,S]),a()}catch(e){a(e)}},!1),212389,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)}])},157406,e=>{"use strict";var t=e.i(533102),a=e.i(539774),r=e.i(763369);e.s(["count",0,function(e){return t.sql`count(${e||t.sql.raw("*")})`.mapWith(Number)},"max",0,function(e){return t.sql`max(${e})`.mapWith((0,a.is)(e,r.Column)?e:String)}])}];
|
|
5
5
|
|
|
6
6
|
//# sourceMappingURL=_15negpy._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[528790,t=>t.a(async(i,r)=>{try{let f,p;var n,a=t.i(902157),o=t.i(750227),s=t.i(418520),l=t.i(219756),u=t.i(687388),d=t.i(41444),c=i([s,l]);[s,l]=c.then?(await c)():c,(0,a.mkdirSync)((0,o.dirname)(u.DB_PATH),{recursive:!0});let h=globalThis.__dbClient??=(n=((f=(0,s.createClient)({url:u.DB_FILE_NAME,timeout:5e3})).execute("PRAGMA journal_mode = WAL").finally(m),f),p=(0,d.PromiseChain)(),{get closed(){return n.closed},protocol:n.protocol,close:()=>n.close(),sync:()=>n.sync(),reconnect:()=>n.reconnect(),execute:(...t)=>p(()=>n.execute(...t)),batch:(...t)=>p(()=>n.batch(...t)),executeMultiple:(...t)=>p(()=>n.executeMultiple(...t)),migrate:(...t)=>p(()=>n.migrate(...t)),async transaction(...t){let i,r=await new Promise(t=>{let i,r=new Promise(t=>{i=t});p(async()=>{t(i),await r})});try{i=await n.transaction(...t)}catch(t){throw r(),t}let a=!1,o=()=>{a||(a=!0,r())};return{execute:(...t)=>i.execute(...t),batch:(...t)=>i.batch(...t),executeMultiple:(...t)=>i.executeMultiple(...t),get closed(){return i.closed},commit:()=>i.commit().finally(o),rollback:()=>i.rollback().finally(o),close:()=>{try{i.close()}finally{o()}}}}});function m(){for(let t of[u.DB_PATH,`${u.DB_PATH}-wal`,`${u.DB_PATH}-shm`])try{(0,a.chmodSync)(t,384)}catch{}}let v=(0,l.drizzle)({client:h});t.s(["database",0,v]),r()}catch(t){r(t)}},!1),613240,t=>{"use strict";var i=t.i(518899),r=t.i(646683),n=t.i(201440),a=t.i(616918),o=t.i(937540),s=t.i(380568),l=t.i(75799);let u=(0,l.sqliteTable)("bot",{name:(0,s.text)("name").primaryKey(),description:(0,s.text)("description").notNull(),descriptionLocked:(0,o.int)("description_locked",{mode:"boolean"}).notNull().default(!1),ownLine:(0,s.text)("own_line",{mode:"json"}).$type(),systemPrompt:(0,s.text)("system_prompt"),icon:(0,s.text)("icon",{mode:"json"}).$type(),provider:(0,s.text)("provider").$type(),model:(0,s.text)("model"),compactAt:(0,o.int)("compact_at"),effort:(0,s.text)("effort").$type(),disabled:(0,o.int)("disabled",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,l.sqliteTable)("mcp_server",{name:(0,s.text)("name").primaryKey(),config:(0,s.text)("config",{mode:"json"}).notNull().$type(),toolsSyncedAt:(0,o.int)("tools_synced_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),lastError:(0,s.text)("last_error"),oauth:(0,s.text)("oauth",{mode:"json"}).$type(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,l.sqliteTable)("mcp_tool",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),serverName:(0,s.text)("server_name").notNull().references(()=>d.name,{onDelete:"cascade"}),name:(0,s.text)("name").notNull(),description:(0,s.text)("description"),inputSchema:(0,s.text)("input_schema",{mode:"json"}).$type(),outputSchema:(0,s.text)("output_schema",{mode:"json"}).$type()},t=>[(0,a.unique)("uq_mcp_tool_server_name").on(t.serverName,t.name)]),m=(0,l.sqliteTable)("bot_mcp_tool",{botName:(0,s.text)().notNull().references(()=>u.name,{onDelete:"cascade"}),toolId:(0,o.int)("tool_id").notNull().references(()=>c.id,{onDelete:"cascade"})},t=>[(0,n.primaryKey)({columns:[t.botName,t.toolId]})]),f=(0,l.sqliteTable)("thread",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),status:(0,s.text)("status").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),turns:(0,o.int)("turns").notNull().default(0),wrapped:(0,o.int)("wrapped",{mode:"boolean"}).notNull().default(!1),outcome:(0,s.text)("outcome"),pending:(0,s.text)("pending",{mode:"json"}).$type(),seen:(0,o.int)("seen",{mode:"boolean"}).notNull().default(!1),callId:(0,s.text)("call_id"),routineId:(0,s.text)("routine_id"),inputTokens:(0,o.int)("input_tokens").notNull().default(0),outputTokens:(0,o.int)("output_tokens").notNull().default(0),contextTokens:(0,o.int)("context_tokens").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})},t=>[(0,r.index)("idx_thread_routine").on(t.routineId,t.createdAt),(0,r.index)("idx_thread_status_updated").on(t.status,t.updatedAt)]),p=(0,l.sqliteTable)("thread_message",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),seq:(0,o.int)("seq").notNull(),bot:(0,s.text)("bot"),parent:(0,s.text)("parent"),hidden:(0,o.int)("hidden",{mode:"boolean"}).notNull().default(!1),role:(0,s.text)("role").notNull().$type(),content:(0,s.text)("content",{mode:"json"}).notNull().$type(),compact:(0,o.int)("compact",{mode:"boolean"}).notNull().default(!1),note:(0,o.int)("note",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,a.unique)("uq_thread_message_seq").on(t.threadId,t.seq)]),h=(0,l.sqliteTable)("thread_work",{id:(0,s.text)("id").primaryKey(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),caller:(0,s.text)("caller").notNull(),parentId:(0,s.text)("parent_id"),state:(0,s.text)("state").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),result:(0,s.text)("result"),options:(0,s.text)("options",{mode:"json"}).$type().notNull().default([]),createdAt:(0,o.int)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_thread_work_queue").on(t.threadId,t.state,t.createdAt),(0,r.index)("idx_thread_work_parent").on(t.parentId),(0,r.uniqueIndex)("uq_thread_work_running_bot").on(t.threadId,t.bot).where(i.sql`${t.state} = 'running'`)]),v=(0,l.sqliteTable)("thread_delivery",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),workId:(0,s.text)("work_id").notNull().references(()=>h.id,{onDelete:"cascade"}),speaker:(0,s.text)("speaker").notNull(),text:(0,s.text)("text").notNull(),visible:(0,o.int)("visible",{mode:"boolean"}).notNull().default(!1),consumed:(0,o.int)("consumed",{mode:"boolean"}).notNull().default(!1)},t=>[(0,r.index)("idx_thread_delivery_inbox").on(t.workId,t.consumed,t.id)]),g=(0,l.sqliteTable)("thread_relay",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),text:(0,s.text)("text").notNull(),kind:(0,s.text)("kind").notNull().$type(),messageId:(0,s.text)("message_id"),accepted:(0,o.int)("accepted",{mode:"boolean"}).notNull().default(!1)}),$=(0,l.sqliteTable)("call",{id:(0,s.text)("id").primaryKey(),provider:(0,s.text)("provider").notNull(),model:(0,s.text)("model").notNull(),backendModel:(0,s.text)("backend_model"),startedAt:(0,o.int)("started_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedReason:(0,s.text)("ended_reason"),seconds:(0,o.int)("seconds"),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})}),y=(0,l.sqliteTable)("call_message",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),role:(0,s.text)("role").notNull().$type(),tool:(0,s.text)("tool"),text:(0,s.text)("text").notNull(),fragments:(0,s.text)("fragments",{mode:"json"}).$type(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]}),(0,r.index)("idx_call_message_call").on(t.callId,t.seq)]),b=(0,l.sqliteTable)("call_thought",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),text:(0,s.text)("text").notNull(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]})]),_=(0,l.sqliteTable)("memory_note",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),path:(0,s.text)("path").notNull().unique(),description:(0,s.text)("description").notNull(),ownedByUser:(0,o.int)("owned_by_user",{mode:"boolean"}).notNull().default(!1),hits:(0,o.int)("hits").notNull().default(0),lastReadAt:(0,o.int)("last_read_at",{mode:"timestamp"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),x=(0,l.sqliteTable)("memory_fact",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),noteId:(0,o.int)("note_id").notNull().references(()=>_.id,{onDelete:"cascade"}),text:(0,s.text)("text").notNull(),isLatest:(0,o.int)("is_latest",{mode:"boolean"}).notNull().default(!0),source:(0,s.text)("source").$type(),callId:(0,s.text)("call_id").references(()=>$.id,{onDelete:"set null"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_memory_fact_note").on(t.noteId,t.isLatest),(0,r.index)("idx_memory_fact_call").on(t.callId)]),k=(0,l.sqliteTable)("routine",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),schedule:(0,s.text)("schedule",{mode:"json"}).notNull().$type(),enabled:(0,o.int)("enabled",{mode:"boolean"}).notNull().default(!0),nextRunAt:(0,o.int)("next_run_at",{mode:"timestamp"}).notNull(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_routine_due").on(t.enabled,t.nextRunAt)]),I=(0,l.sqliteTable)("config",{key:(0,s.text)("key").primaryKey(),value:(0,s.text)("value").notNull()});t.s(["botMcpToolTable",0,m,"botTable",0,u,"callMessageTable",0,y,"callTable",0,$,"callThoughtTable",0,b,"configTable",0,I,"mcpServerTable",0,d,"mcpToolTable",0,c,"memoryFactTable",0,x,"memoryNoteTable",0,_,"routineTable",0,k,"threadDeliveryTable",0,v,"threadMessageTable",0,p,"threadRelayTable",0,g,"threadTable",0,f,"threadWorkTable",0,h])},999884,t=>{"use strict";var i=t.i(844988),r=t.i(518899),n=class{static [i.entityKind]="ConsoleLogWriter";write(t){console.log(t)}},a=class{static [i.entityKind]="DefaultLogger";writer;constructor(t){this.writer=t?.writer??new n}logQuery(t,i){let r=i.map(t=>{try{return JSON.stringify(t)}catch{return String(t)}}),n=r.length?` -- params: [${r.join(", ")}]`:"";this.writer.write(`Query: ${t}${n}`)}},o=class{static [i.entityKind]="NoopLogger";logQuery(){}},s=t.i(704313),l=class{static [i.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(t){return this.then(void 0,t)}finally(t){return this.then(i=>(t?.(),i),i=>{throw t?.(),i})}then(t,i){return this.execute().then(t,i)}},u=r,d=class t extends u.SQL{static [i.entityKind]="SQLiteCountBuilder";dialect;session;static buildCount(t,i,r){let n=u.sql`select count(*) from ${t}${u.sql` where ${i}`.if(i)}`;return r?u.sql`(${n})`:n}constructor(i){super(t.buildCount(i.source,i.filters,!0).queryChunks),this.countConfig=i,this.dialect=i.dialect,this.session=i.session,this.mapWith(t=>"number"==typeof t?t:Number(t??0))}executableSql;build(){if(!this.executableSql){let{source:i,filters:r}=this.countConfig;this.executableSql=t.buildCount(i,r)}return this.dialect.sqlToQuery(this.executableSql)}},c=class extends d{static [i.entityKind]="SQLiteAsyncCountBuilder";constructor(t){super(t)}executeRaw(t){return this.session.prepareQuery(this.build(),"arrays",!1,"all",t=>{let i=t[0]?.[0];return"number"==typeof i?i:i?Number(i):0}).execute(t)}async execute(t){return await this.executeRaw(t)}};(0,s.applyMixins)(c,[l]);var m=class extends c{static [i.entityKind]="SQLiteSyncCountBuilder";sync(t){return this.executeRaw(t).sync()}},f=class{static [i.entityKind]="SQLiteRelationalQueryBuilderV2";constructor(t,i,r,n,a,o,s,l=p){this.mode=t,this.schema=i,this.table=r,this.tableConfig=n,this.dialect=a,this.session=o,this.forbidJsonb=s,this.builder=l}findMany(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"many",this.forbidJsonb)}findFirst(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"first",this.forbidJsonb)}},p=class{static [i.entityKind]="SQLiteRelationalQueryV2";mode;table;resultKind;constructor(t,i,r,n,a,o,s,l,u){this.schema=i,this.tableConfig=n,this.dialect=a,this.session=o,this.config=s,this.forbidJsonb=u,this.resultKind=t,this.mode=l,this.table=r}getSQL(){return this._getQuery().sql}_getQuery(){let t=this.forbidJsonb?r.sql`json`:r.sql`jsonb`;return this.dialect.buildRelationalQuery({schema:this.schema,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,mode:this.mode,jsonb:t})}_toSQL(){let t=this._getQuery();return{query:t,builtQuery:this.dialect.sqlToQuery(t.sql)}}toSQL(){return this._toSQL().builtQuery}},h=class extends p{static [i.entityKind]="SQLiteAsyncRelationalQueryV2";_prepare(t=!1){let{query:i,builtQuery:r}=this._toSQL(),n=this.dialect.mapperGenerators.relationalRows({isFirst:"first"===this.mode,parseJson:!0,parseJsonIfString:!1,rootJsonMappers:!1,selection:i.selection,arrayModeRoot:!0});return this.session.prepareQuery(r,"arrays",t,"all",n)}prepare(){return this._prepare(!0)}async execute(t){return this._prepare().execute(t)}},v=class extends h{static [i.entityKind]="SQLiteSyncRelationalQueryV2";sync(t){return this._prepare().execute(t).sync()}};(0,s.applyMixins)(h,[l]);var g=t.i(792352),$=t.i(156325),y=t.i(88274),b=t.i(923277),_=t.i(369e3),x=class{static [i.entityKind]="ColumnTableAliasProxyHandler";constructor(t,i){this.table=t,this.ignoreColumnAlias=i}get(t,i){return"table"===i?this.table:("isAlias"!==i||!this.ignoreColumnAlias)&&t[i]}},k=class{static [i.entityKind]="ViewSelectionAliasProxyHandler";constructor(t,i,r){this.view=t,this.selection=i,this.ignoreColumnAlias=r}get(t,n){let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(this.view,this.ignoreColumnAlias)):(0,i.is)(a,g.Subquery)||(0,i.is)(a,r.SQL)||(0,i.is)(a,r.SQL.Aliased)||(0,r.isSQLWrapper)(a)||"object"!=typeof a||null===a?a:new Proxy(a,this)}},I=class{static [i.entityKind]="TableAliasProxyHandler";constructor(t,i,r){this.alias=t,this.replaceOriginalName=i,this.ignoreColumnAlias=r}get(t,n){if(n===_.Table.Symbol.IsAlias)return!0;if(n===_.Table.Symbol.Name||this.replaceOriginalName&&n===_.Table.Symbol.OriginalName)return this.alias;if(n===y.ViewBaseConfig)return{...t[y.ViewBaseConfig],name:this.alias,isAlias:!0,selectedFields:new Proxy(t[y.ViewBaseConfig].selectedFields,new k(new Proxy(t,this),t[y.ViewBaseConfig].selectedFields,this.ignoreColumnAlias))};if(n===_.Table.Symbol.Columns){let n=t[_.Table.Symbol.Columns];if(!n)return n;if((0,i.is)(t,r.View))return new Proxy(t[_.Table.Symbol.Columns],new k(new Proxy(t,this),t[_.Table.Symbol.Columns],this.ignoreColumnAlias));let a={};return Object.keys(n).map(i=>{a[i]=new Proxy(n[i],new x(new Proxy(t,this),this.ignoreColumnAlias))}),a}let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(new Proxy(t,this),this.ignoreColumnAlias)):a}},w=class{static [i.entityKind]="ColumnAliasProxyHandler";constructor(t){this.alias=t}get(t,i){return"isAlias"===i||("name"===i?this.alias:"keyAsName"!==i&&(i===b.OriginalColumn?()=>t:t[i]))}};function S(t,i){return new Proxy(t,new I(i,!1,!1))}function Z(t){return t[b.OriginalColumn]()}i.entityKind,$.Column.prototype.as=function(t){return new Proxy(this,new w(t))};var z=class t{static [i.entityKind]="SelectionProxyHandler";config;constructor(t){this.config={...t}}get(n,a){if("_"===a)return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(a===y.ViewBaseConfig)return{...n[y.ViewBaseConfig],selectedFields:new Proxy(n[y.ViewBaseConfig].selectedFields,this)};if("symbol"==typeof a)return n[a];let o=((0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n)[a];if((0,i.is)(o,r.SQL.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!o.isSelectionField)return o.sql;let t=o.clone();return t.isSelectionField=!0,t.origin=this.config.alias,t}if((0,i.is)(o,r.SQL)){if("sql"===this.config.sqlBehavior)return o;throw Error(`You tried to reference "${a}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,i.is)(o,$.Column)?this.config.alias?new Proxy(o,new x(new Proxy(o.table,new I(this.config.alias,this.config.replaceOriginalName??!1,!0)),!0)):o:"object"!=typeof o||null===o?o:new Proxy(o,new t(this.config))}},N=t.i(75799);function D(t){return(0,i.is)(t,N.SQLiteTable)?[`${t[_.Table.Symbol.BaseName]}`]:(0,i.is)(t,g.Subquery)?t._.usedTables??[]:(0,i.is)(t,r.SQL)?t.usedTables??[]:[]}i.entityKind,i.entityKind,t.i(361328),t.i(646683),t.i(201440),t.i(616918);var P=class{static [i.entityKind]="SQLiteDelete";config;constructor(t,i,r,n){this.table=t,this.session=i,this.dialect=r,this.config={table:t,withList:n}}where(t){return this.config.where=t,this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.table[_.Table.Symbol.Columns],new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.orderBy=r}else this.config.orderBy=t;return this}limit(t){return this.config.limit=t,this}returning(t=this.table[N.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,s.orderSelectedFields)(t),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}$dynamic(){return this}},U=class extends P{static [i.entityKind]="SQLiteAsyncDelete";_prepare(t=!1){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),"arrays",t,this.config.returning?"all":"run",this.config.returning?this.dialect.mapperGenerators.rows(this.config.returning,void 0):void 0,{type:"delete",tables:D(this.config.table)})}prepare(){return this._prepare(!0)}run=t=>this._prepare().run(t);all=t=>this._prepare().all(t);get=t=>this._prepare().get(t);values=t=>this._prepare().values(t);async execute(t){return this._prepare().execute(t)}};(0,s.applyMixins)(U,[l]);var A=r,j=class extends A.View{static [i.entityKind]="SQLiteViewBase"},O=class{static [i.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}withoutSelectionCastCodecs(){return this}},T=class{static [i.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(t,i=L){this.builder=i,this.fields=t.fields,this.session=t.session,this.dialect=t.dialect,this.withList=t.withList,this.distinct=t.distinct}from(t){let n,a=!!this.fields;return n=this.fields?this.fields:(0,i.is)(t,g.Subquery)?Object.fromEntries(Object.keys(t._.selectedFields).map(i=>[i,t[i]])):(0,i.is)(t,j)?t[y.ViewBaseConfig].selectedFields:(0,i.is)(t,r.SQL)?{}:(0,s.getTableColumns)(t),new this.builder({table:t,fields:n,isPartialSelect:a,session:this.session,dialect:this.dialect,withList:this.withList??[],distinct:this.distinct})}},L=class extends O{static [i.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:t,fields:i,isPartialSelect:r,session:n,dialect:a,withList:o,distinct:l}){for(const u of(super(),this.config={withList:o,table:t,fields:{...i},distinct:l,setOperators:[]},this.isPartialSelect=r,this.session=n,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=(0,s.getTableLikeName)(t),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},D(t)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(t){return(n,a)=>{let o=this.tableName,l=(0,s.getTableLikeName)(n);for(let t of D(n))this.usedTables.add(t);if("string"==typeof l&&this.config.joins?.some(t=>t.alias===l))throw Error(`Alias "${l}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof o&&(this.config.fields={[o]:this.config.fields}),"string"==typeof l&&!(0,i.is)(n,r.SQL))){let t=(0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n[_.Table.Symbol.Columns];this.config.fields[l]=t}if("function"==typeof a&&(a=a(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:a,table:n,joinType:t,alias:l}),"string"==typeof l)switch(t){case"left":this.joinsNotNullableMap[l]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[l]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(t,i){return r=>{let n="function"==typeof r?r(q()):r;if(!(0,s.haveSameKeys)(this.getSelectedFields(),n.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:t,isAll:i,rightSelect:n}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(t){return this.config.setOperators.push(...t),this}where(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=t,this}having(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=t,this}groupBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=t;return this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=r:this.config.orderBy=r}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t;return this}limit(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=t:this.config.limit=t,this}offset(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=t:this.config.offset=t,this}$withCache(t){return this.cacheConfig=void 0===t?{config:{},enabled:!0,autoInvalidate:!0}:!1===t?{enabled:!1}:{enabled:!0,autoInvalidate:!0,...t},this}getSQL(){return this.config.fieldsFlat=(0,s.orderSelectedFields)(this.config.fields),this.dialect.buildSelectQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}as(t){let i=[];if(i.push(...D(this.config.table)),this.config.joins)for(let t of this.config.joins)i.push(...D(t.table));return new Proxy(new g.Subquery(this.getSQL(),this.config.fields,t,!1,[...new Set(i)]),new z({alias:t,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new z({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}withoutSelectionCastCodecs(){return this}$dynamic(){return this}};function C(t,i){return(r,n,...a)=>{let o=[n,...a].map(r=>({type:t,isAll:i,rightSelect:r}));for(let t of o)if(!(0,s.haveSameKeys)(r.getSelectedFields(),t.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(o)}}let q=()=>({union:E,unionAll:V,intersect:R,except:B}),E=C("union",!1),V=C("union",!0),R=C("intersect",!1),B=C("except",!1);var F=class extends Error{static [i.entityKind]="DrizzleError";constructor({message:t,cause:i}){super(t),this.name="DrizzleError",this.cause=i}},J=class t extends Error{static [i.entityKind]="DrizzleQueryError";constructor(i,r,n){super(`Failed query: ${i}
|
|
1
|
+
module.exports=[528790,t=>t.a(async(i,r)=>{try{let f,p;var n,a=t.i(902157),o=t.i(750227),s=t.i(418520),l=t.i(219756),u=t.i(687388),d=t.i(41444),c=i([s,l]);[s,l]=c.then?(await c)():c,(0,a.mkdirSync)((0,o.dirname)(u.DB_PATH),{recursive:!0});let h=globalThis.__dbClient??=(n=((f=(0,s.createClient)({url:u.DB_FILE_NAME,timeout:5e3})).execute("PRAGMA journal_mode = WAL").finally(m),f),p=(0,d.PromiseChain)(),{get closed(){return n.closed},protocol:n.protocol,close:()=>n.close(),sync:()=>n.sync(),reconnect:()=>n.reconnect(),execute:(...t)=>p(()=>n.execute(...t)),batch:(...t)=>p(()=>n.batch(...t)),executeMultiple:(...t)=>p(()=>n.executeMultiple(...t)),migrate:(...t)=>p(()=>n.migrate(...t)),async transaction(...t){let i,r=await new Promise(t=>{let i,r=new Promise(t=>{i=t});p(async()=>{t(i),await r})});try{i=await n.transaction(...t)}catch(t){throw r(),t}let a=!1,o=()=>{a||(a=!0,r())};return{execute:(...t)=>i.execute(...t),batch:(...t)=>i.batch(...t),executeMultiple:(...t)=>i.executeMultiple(...t),get closed(){return i.closed},commit:()=>i.commit().finally(o),rollback:()=>i.rollback().finally(o),close:()=>{try{i.close()}finally{o()}}}}});function m(){for(let t of[u.DB_PATH,`${u.DB_PATH}-wal`,`${u.DB_PATH}-shm`])try{(0,a.chmodSync)(t,384)}catch{}}let v=(0,l.drizzle)({client:h});t.s(["database",0,v]),r()}catch(t){r(t)}},!1),613240,t=>{"use strict";var i=t.i(518899),r=t.i(646683),n=t.i(201440),a=t.i(616918),o=t.i(937540),s=t.i(380568),l=t.i(75799);let u=(0,l.sqliteTable)("bot",{name:(0,s.text)("name").primaryKey(),description:(0,s.text)("description").notNull(),descriptionLocked:(0,o.int)("description_locked",{mode:"boolean"}).notNull().default(!1),ownLine:(0,s.text)("own_line",{mode:"json"}).$type(),systemPrompt:(0,s.text)("system_prompt"),icon:(0,s.text)("icon",{mode:"json"}).$type(),provider:(0,s.text)("provider").$type(),model:(0,s.text)("model"),compactAt:(0,o.int)("compact_at"),effort:(0,s.text)("effort").$type(),disabled:(0,o.int)("disabled",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,l.sqliteTable)("mcp_server",{name:(0,s.text)("name").primaryKey(),config:(0,s.text)("config",{mode:"json"}).notNull().$type(),toolsSyncedAt:(0,o.int)("tools_synced_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),lastError:(0,s.text)("last_error"),oauth:(0,s.text)("oauth",{mode:"json"}).$type(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,l.sqliteTable)("mcp_tool",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),serverName:(0,s.text)("server_name").notNull().references(()=>d.name,{onDelete:"cascade"}),name:(0,s.text)("name").notNull(),description:(0,s.text)("description"),inputSchema:(0,s.text)("input_schema",{mode:"json"}).$type(),outputSchema:(0,s.text)("output_schema",{mode:"json"}).$type()},t=>[(0,a.unique)("uq_mcp_tool_server_name").on(t.serverName,t.name)]),m=(0,l.sqliteTable)("bot_mcp_tool",{botName:(0,s.text)().notNull().references(()=>u.name,{onDelete:"cascade"}),toolId:(0,o.int)("tool_id").notNull().references(()=>c.id,{onDelete:"cascade"})},t=>[(0,n.primaryKey)({columns:[t.botName,t.toolId]})]),f=(0,l.sqliteTable)("thread",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),status:(0,s.text)("status").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),turns:(0,o.int)("turns").notNull().default(0),wrapped:(0,o.int)("wrapped",{mode:"boolean"}).notNull().default(!1),outcome:(0,s.text)("outcome"),pending:(0,s.text)("pending",{mode:"json"}).$type(),seen:(0,o.int)("seen",{mode:"boolean"}).notNull().default(!1),callId:(0,s.text)("call_id"),routineId:(0,s.text)("routine_id"),inputTokens:(0,o.int)("input_tokens").notNull().default(0),outputTokens:(0,o.int)("output_tokens").notNull().default(0),cacheReadTokens:(0,o.int)("cache_read_tokens").notNull().default(0),cacheWriteTokens:(0,o.int)("cache_write_tokens").notNull().default(0),contextTokens:(0,o.int)("context_tokens").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})},t=>[(0,r.index)("idx_thread_routine").on(t.routineId,t.createdAt),(0,r.index)("idx_thread_status_updated").on(t.status,t.updatedAt)]),p=(0,l.sqliteTable)("thread_message",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),seq:(0,o.int)("seq").notNull(),bot:(0,s.text)("bot"),parent:(0,s.text)("parent"),hidden:(0,o.int)("hidden",{mode:"boolean"}).notNull().default(!1),role:(0,s.text)("role").notNull().$type(),content:(0,s.text)("content",{mode:"json"}).notNull().$type(),compact:(0,o.int)("compact",{mode:"boolean"}).notNull().default(!1),note:(0,o.int)("note",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,a.unique)("uq_thread_message_seq").on(t.threadId,t.seq)]),h=(0,l.sqliteTable)("thread_work",{id:(0,s.text)("id").primaryKey(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),caller:(0,s.text)("caller").notNull(),parentId:(0,s.text)("parent_id"),state:(0,s.text)("state").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),result:(0,s.text)("result"),options:(0,s.text)("options",{mode:"json"}).$type().notNull().default([]),createdAt:(0,o.int)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_thread_work_queue").on(t.threadId,t.state,t.createdAt),(0,r.index)("idx_thread_work_parent").on(t.parentId),(0,r.uniqueIndex)("uq_thread_work_running_bot").on(t.threadId,t.bot).where(i.sql`${t.state} = 'running'`)]),v=(0,l.sqliteTable)("thread_delivery",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),workId:(0,s.text)("work_id").notNull().references(()=>h.id,{onDelete:"cascade"}),speaker:(0,s.text)("speaker").notNull(),text:(0,s.text)("text").notNull(),visible:(0,o.int)("visible",{mode:"boolean"}).notNull().default(!1),consumed:(0,o.int)("consumed",{mode:"boolean"}).notNull().default(!1)},t=>[(0,r.index)("idx_thread_delivery_inbox").on(t.workId,t.consumed,t.id)]),g=(0,l.sqliteTable)("thread_relay",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),text:(0,s.text)("text").notNull(),kind:(0,s.text)("kind").notNull().$type(),messageId:(0,s.text)("message_id"),accepted:(0,o.int)("accepted",{mode:"boolean"}).notNull().default(!1)}),$=(0,l.sqliteTable)("call",{id:(0,s.text)("id").primaryKey(),provider:(0,s.text)("provider").notNull(),model:(0,s.text)("model").notNull(),backendModel:(0,s.text)("backend_model"),startedAt:(0,o.int)("started_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedReason:(0,s.text)("ended_reason"),seconds:(0,o.int)("seconds"),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})}),y=(0,l.sqliteTable)("call_message",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),role:(0,s.text)("role").notNull().$type(),tool:(0,s.text)("tool"),text:(0,s.text)("text").notNull(),fragments:(0,s.text)("fragments",{mode:"json"}).$type(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]}),(0,r.index)("idx_call_message_call").on(t.callId,t.seq)]),b=(0,l.sqliteTable)("call_thought",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),text:(0,s.text)("text").notNull(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]})]),_=(0,l.sqliteTable)("memory_note",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),path:(0,s.text)("path").notNull().unique(),description:(0,s.text)("description").notNull(),ownedByUser:(0,o.int)("owned_by_user",{mode:"boolean"}).notNull().default(!1),hits:(0,o.int)("hits").notNull().default(0),lastReadAt:(0,o.int)("last_read_at",{mode:"timestamp"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),x=(0,l.sqliteTable)("memory_fact",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),noteId:(0,o.int)("note_id").notNull().references(()=>_.id,{onDelete:"cascade"}),text:(0,s.text)("text").notNull(),isLatest:(0,o.int)("is_latest",{mode:"boolean"}).notNull().default(!0),source:(0,s.text)("source").$type(),callId:(0,s.text)("call_id").references(()=>$.id,{onDelete:"set null"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_memory_fact_note").on(t.noteId,t.isLatest),(0,r.index)("idx_memory_fact_call").on(t.callId)]),k=(0,l.sqliteTable)("routine",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),schedule:(0,s.text)("schedule",{mode:"json"}).notNull().$type(),enabled:(0,o.int)("enabled",{mode:"boolean"}).notNull().default(!0),nextRunAt:(0,o.int)("next_run_at",{mode:"timestamp"}).notNull(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_routine_due").on(t.enabled,t.nextRunAt)]),I=(0,l.sqliteTable)("config",{key:(0,s.text)("key").primaryKey(),value:(0,s.text)("value").notNull()});t.s(["botMcpToolTable",0,m,"botTable",0,u,"callMessageTable",0,y,"callTable",0,$,"callThoughtTable",0,b,"configTable",0,I,"mcpServerTable",0,d,"mcpToolTable",0,c,"memoryFactTable",0,x,"memoryNoteTable",0,_,"routineTable",0,k,"threadDeliveryTable",0,v,"threadMessageTable",0,p,"threadRelayTable",0,g,"threadTable",0,f,"threadWorkTable",0,h])},999884,t=>{"use strict";var i=t.i(844988),r=t.i(518899),n=class{static [i.entityKind]="ConsoleLogWriter";write(t){console.log(t)}},a=class{static [i.entityKind]="DefaultLogger";writer;constructor(t){this.writer=t?.writer??new n}logQuery(t,i){let r=i.map(t=>{try{return JSON.stringify(t)}catch{return String(t)}}),n=r.length?` -- params: [${r.join(", ")}]`:"";this.writer.write(`Query: ${t}${n}`)}},o=class{static [i.entityKind]="NoopLogger";logQuery(){}},s=t.i(704313),l=class{static [i.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(t){return this.then(void 0,t)}finally(t){return this.then(i=>(t?.(),i),i=>{throw t?.(),i})}then(t,i){return this.execute().then(t,i)}},u=r,d=class t extends u.SQL{static [i.entityKind]="SQLiteCountBuilder";dialect;session;static buildCount(t,i,r){let n=u.sql`select count(*) from ${t}${u.sql` where ${i}`.if(i)}`;return r?u.sql`(${n})`:n}constructor(i){super(t.buildCount(i.source,i.filters,!0).queryChunks),this.countConfig=i,this.dialect=i.dialect,this.session=i.session,this.mapWith(t=>"number"==typeof t?t:Number(t??0))}executableSql;build(){if(!this.executableSql){let{source:i,filters:r}=this.countConfig;this.executableSql=t.buildCount(i,r)}return this.dialect.sqlToQuery(this.executableSql)}},c=class extends d{static [i.entityKind]="SQLiteAsyncCountBuilder";constructor(t){super(t)}executeRaw(t){return this.session.prepareQuery(this.build(),"arrays",!1,"all",t=>{let i=t[0]?.[0];return"number"==typeof i?i:i?Number(i):0}).execute(t)}async execute(t){return await this.executeRaw(t)}};(0,s.applyMixins)(c,[l]);var m=class extends c{static [i.entityKind]="SQLiteSyncCountBuilder";sync(t){return this.executeRaw(t).sync()}},f=class{static [i.entityKind]="SQLiteRelationalQueryBuilderV2";constructor(t,i,r,n,a,o,s,l=p){this.mode=t,this.schema=i,this.table=r,this.tableConfig=n,this.dialect=a,this.session=o,this.forbidJsonb=s,this.builder=l}findMany(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"many",this.forbidJsonb)}findFirst(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"first",this.forbidJsonb)}},p=class{static [i.entityKind]="SQLiteRelationalQueryV2";mode;table;resultKind;constructor(t,i,r,n,a,o,s,l,u){this.schema=i,this.tableConfig=n,this.dialect=a,this.session=o,this.config=s,this.forbidJsonb=u,this.resultKind=t,this.mode=l,this.table=r}getSQL(){return this._getQuery().sql}_getQuery(){let t=this.forbidJsonb?r.sql`json`:r.sql`jsonb`;return this.dialect.buildRelationalQuery({schema:this.schema,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,mode:this.mode,jsonb:t})}_toSQL(){let t=this._getQuery();return{query:t,builtQuery:this.dialect.sqlToQuery(t.sql)}}toSQL(){return this._toSQL().builtQuery}},h=class extends p{static [i.entityKind]="SQLiteAsyncRelationalQueryV2";_prepare(t=!1){let{query:i,builtQuery:r}=this._toSQL(),n=this.dialect.mapperGenerators.relationalRows({isFirst:"first"===this.mode,parseJson:!0,parseJsonIfString:!1,rootJsonMappers:!1,selection:i.selection,arrayModeRoot:!0});return this.session.prepareQuery(r,"arrays",t,"all",n)}prepare(){return this._prepare(!0)}async execute(t){return this._prepare().execute(t)}},v=class extends h{static [i.entityKind]="SQLiteSyncRelationalQueryV2";sync(t){return this._prepare().execute(t).sync()}};(0,s.applyMixins)(h,[l]);var g=t.i(792352),$=t.i(156325),y=t.i(88274),b=t.i(923277),_=t.i(369e3),x=class{static [i.entityKind]="ColumnTableAliasProxyHandler";constructor(t,i){this.table=t,this.ignoreColumnAlias=i}get(t,i){return"table"===i?this.table:("isAlias"!==i||!this.ignoreColumnAlias)&&t[i]}},k=class{static [i.entityKind]="ViewSelectionAliasProxyHandler";constructor(t,i,r){this.view=t,this.selection=i,this.ignoreColumnAlias=r}get(t,n){let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(this.view,this.ignoreColumnAlias)):(0,i.is)(a,g.Subquery)||(0,i.is)(a,r.SQL)||(0,i.is)(a,r.SQL.Aliased)||(0,r.isSQLWrapper)(a)||"object"!=typeof a||null===a?a:new Proxy(a,this)}},I=class{static [i.entityKind]="TableAliasProxyHandler";constructor(t,i,r){this.alias=t,this.replaceOriginalName=i,this.ignoreColumnAlias=r}get(t,n){if(n===_.Table.Symbol.IsAlias)return!0;if(n===_.Table.Symbol.Name||this.replaceOriginalName&&n===_.Table.Symbol.OriginalName)return this.alias;if(n===y.ViewBaseConfig)return{...t[y.ViewBaseConfig],name:this.alias,isAlias:!0,selectedFields:new Proxy(t[y.ViewBaseConfig].selectedFields,new k(new Proxy(t,this),t[y.ViewBaseConfig].selectedFields,this.ignoreColumnAlias))};if(n===_.Table.Symbol.Columns){let n=t[_.Table.Symbol.Columns];if(!n)return n;if((0,i.is)(t,r.View))return new Proxy(t[_.Table.Symbol.Columns],new k(new Proxy(t,this),t[_.Table.Symbol.Columns],this.ignoreColumnAlias));let a={};return Object.keys(n).map(i=>{a[i]=new Proxy(n[i],new x(new Proxy(t,this),this.ignoreColumnAlias))}),a}let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(new Proxy(t,this),this.ignoreColumnAlias)):a}},w=class{static [i.entityKind]="ColumnAliasProxyHandler";constructor(t){this.alias=t}get(t,i){return"isAlias"===i||("name"===i?this.alias:"keyAsName"!==i&&(i===b.OriginalColumn?()=>t:t[i]))}};function S(t,i){return new Proxy(t,new I(i,!1,!1))}function Z(t){return t[b.OriginalColumn]()}i.entityKind,$.Column.prototype.as=function(t){return new Proxy(this,new w(t))};var z=class t{static [i.entityKind]="SelectionProxyHandler";config;constructor(t){this.config={...t}}get(n,a){if("_"===a)return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(a===y.ViewBaseConfig)return{...n[y.ViewBaseConfig],selectedFields:new Proxy(n[y.ViewBaseConfig].selectedFields,this)};if("symbol"==typeof a)return n[a];let o=((0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n)[a];if((0,i.is)(o,r.SQL.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!o.isSelectionField)return o.sql;let t=o.clone();return t.isSelectionField=!0,t.origin=this.config.alias,t}if((0,i.is)(o,r.SQL)){if("sql"===this.config.sqlBehavior)return o;throw Error(`You tried to reference "${a}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,i.is)(o,$.Column)?this.config.alias?new Proxy(o,new x(new Proxy(o.table,new I(this.config.alias,this.config.replaceOriginalName??!1,!0)),!0)):o:"object"!=typeof o||null===o?o:new Proxy(o,new t(this.config))}},N=t.i(75799);function D(t){return(0,i.is)(t,N.SQLiteTable)?[`${t[_.Table.Symbol.BaseName]}`]:(0,i.is)(t,g.Subquery)?t._.usedTables??[]:(0,i.is)(t,r.SQL)?t.usedTables??[]:[]}i.entityKind,i.entityKind,t.i(361328),t.i(646683),t.i(201440),t.i(616918);var P=class{static [i.entityKind]="SQLiteDelete";config;constructor(t,i,r,n){this.table=t,this.session=i,this.dialect=r,this.config={table:t,withList:n}}where(t){return this.config.where=t,this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.table[_.Table.Symbol.Columns],new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.orderBy=r}else this.config.orderBy=t;return this}limit(t){return this.config.limit=t,this}returning(t=this.table[N.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,s.orderSelectedFields)(t),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}$dynamic(){return this}},U=class extends P{static [i.entityKind]="SQLiteAsyncDelete";_prepare(t=!1){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),"arrays",t,this.config.returning?"all":"run",this.config.returning?this.dialect.mapperGenerators.rows(this.config.returning,void 0):void 0,{type:"delete",tables:D(this.config.table)})}prepare(){return this._prepare(!0)}run=t=>this._prepare().run(t);all=t=>this._prepare().all(t);get=t=>this._prepare().get(t);values=t=>this._prepare().values(t);async execute(t){return this._prepare().execute(t)}};(0,s.applyMixins)(U,[l]);var A=r,j=class extends A.View{static [i.entityKind]="SQLiteViewBase"},O=class{static [i.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}withoutSelectionCastCodecs(){return this}},T=class{static [i.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(t,i=L){this.builder=i,this.fields=t.fields,this.session=t.session,this.dialect=t.dialect,this.withList=t.withList,this.distinct=t.distinct}from(t){let n,a=!!this.fields;return n=this.fields?this.fields:(0,i.is)(t,g.Subquery)?Object.fromEntries(Object.keys(t._.selectedFields).map(i=>[i,t[i]])):(0,i.is)(t,j)?t[y.ViewBaseConfig].selectedFields:(0,i.is)(t,r.SQL)?{}:(0,s.getTableColumns)(t),new this.builder({table:t,fields:n,isPartialSelect:a,session:this.session,dialect:this.dialect,withList:this.withList??[],distinct:this.distinct})}},L=class extends O{static [i.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:t,fields:i,isPartialSelect:r,session:n,dialect:a,withList:o,distinct:l}){for(const u of(super(),this.config={withList:o,table:t,fields:{...i},distinct:l,setOperators:[]},this.isPartialSelect=r,this.session=n,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=(0,s.getTableLikeName)(t),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},D(t)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(t){return(n,a)=>{let o=this.tableName,l=(0,s.getTableLikeName)(n);for(let t of D(n))this.usedTables.add(t);if("string"==typeof l&&this.config.joins?.some(t=>t.alias===l))throw Error(`Alias "${l}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof o&&(this.config.fields={[o]:this.config.fields}),"string"==typeof l&&!(0,i.is)(n,r.SQL))){let t=(0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n[_.Table.Symbol.Columns];this.config.fields[l]=t}if("function"==typeof a&&(a=a(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:a,table:n,joinType:t,alias:l}),"string"==typeof l)switch(t){case"left":this.joinsNotNullableMap[l]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[l]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(t,i){return r=>{let n="function"==typeof r?r(q()):r;if(!(0,s.haveSameKeys)(this.getSelectedFields(),n.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:t,isAll:i,rightSelect:n}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(t){return this.config.setOperators.push(...t),this}where(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=t,this}having(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=t,this}groupBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=t;return this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=r:this.config.orderBy=r}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t;return this}limit(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=t:this.config.limit=t,this}offset(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=t:this.config.offset=t,this}$withCache(t){return this.cacheConfig=void 0===t?{config:{},enabled:!0,autoInvalidate:!0}:!1===t?{enabled:!1}:{enabled:!0,autoInvalidate:!0,...t},this}getSQL(){return this.config.fieldsFlat=(0,s.orderSelectedFields)(this.config.fields),this.dialect.buildSelectQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}as(t){let i=[];if(i.push(...D(this.config.table)),this.config.joins)for(let t of this.config.joins)i.push(...D(t.table));return new Proxy(new g.Subquery(this.getSQL(),this.config.fields,t,!1,[...new Set(i)]),new z({alias:t,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new z({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}withoutSelectionCastCodecs(){return this}$dynamic(){return this}};function C(t,i){return(r,n,...a)=>{let o=[n,...a].map(r=>({type:t,isAll:i,rightSelect:r}));for(let t of o)if(!(0,s.haveSameKeys)(r.getSelectedFields(),t.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(o)}}let q=()=>({union:E,unionAll:V,intersect:R,except:B}),E=C("union",!1),V=C("union",!0),R=C("intersect",!1),B=C("except",!1);var F=class extends Error{static [i.entityKind]="DrizzleError";constructor({message:t,cause:i}){super(t),this.name="DrizzleError",this.cause=i}},J=class t extends Error{static [i.entityKind]="DrizzleQueryError";constructor(i,r,n){super(`Failed query: ${i}
|
|
2
2
|
params: ${r}`),this.query=i,this.params=r,this.cause=n,this.name="DrizzleQueryError",Error.captureStackTrace(this,t),n&&(this.cause=n)}},Q=class extends F{static [i.entityKind]="TransactionRollbackError";constructor(){super({message:"Rollback"}),this.name="TransactionRollbackError"}},M=t.i(875225),K=t.i(349129),W=class{static [i.entityKind]="RelationV2";fieldName;sourceColumns;targetColumns;alias;where;sourceTable;targetTable;through;throughTable;isReversed;sourceColumnTableNames=[];targetColumnTableNames=[];constructor(t,i){this.targetTableName=i,this.targetTable=t}},G=class extends W{static [i.entityKind]="OneV2";relationType="one";optional;constructor(t,i,r,n){super(i,r),this.alias=n?.alias,this.where=n?.where,n?.from&&(this.sourceColumns=(Array.isArray(n.from)?n.from:[n.from]).map(i=>(this.throughTable??=i._.through?t[i._.through._.tableName]:void 0,this.sourceColumnTableNames.push(i._.tableName),i._.column))),n?.to&&(this.targetColumns=(Array.isArray(n.to)?n.to:[n.to]).map(i=>(this.throughTable??=i._.through?t[i._.through._.tableName]:void 0,this.targetColumnTableNames.push(i._.tableName),i._.column))),this.throughTable&&(this.through={source:(Array.isArray(n?.from)?n.from:n?.from?[n.from]:[]).map(t=>t._.through),target:(Array.isArray(n?.to)?n.to:n?.to?[n.to]:[]).map(t=>t._.through)}),this.optional=n?.optional??!0}},X=(i.entityKind,class{static [i.entityKind]="AggregatedField";table;onTable(t){return this.table=t,this}});i.entityKind;let H={and:M.and,between:M.between,eq:M.eq,exists:M.exists,gt:M.gt,gte:M.gte,ilike:M.ilike,inArray:M.inArray,arrayContains:M.arrayContains,arrayContained:M.arrayContained,arrayOverlaps:M.arrayOverlaps,isNull:M.isNull,isNotNull:M.isNotNull,like:M.like,lt:M.lt,lte:M.lte,ne:M.ne,not:M.not,notBetween:M.notBetween,notExists:M.notExists,notLike:M.notLike,notIlike:M.notIlike,notInArray:M.notInArray,or:M.or,sql:r.sql},Y={sql:r.sql,asc:K.asc,desc:K.desc};function ee(t,n,a,o=!1,s=!1,l=!0){let u=n?1:t.length,d=a.map(({field:t,codec:n,arrayDimensions:a})=>{let o;return(o=(0,i.is)(t,$.Column)?t:(0,i.is)(t,r.SQL)?t.decoder:(0,i.is)(t,r.SQL.Aliased)?t.sql.decoder:(0,i.is)(t,_.Table)||(0,i.is)(t,r.View)?r.noopDecoder:t.getSQL().decoder,l&&t.mapFromJsonValue)?i=>t.mapFromJsonValue(i):o.mapFromDriverValue.isNoop?n?t=>n(t,a):void 0:n?t=>o.mapFromDriverValue(n(t,a)):t=>o.mapFromDriverValue(t)});for(let i=0;i<u;++i){let r=n?t:t[i];for(let t=0;t<a.length;++t){let i=a[t];if(i.selection){if(null===r[i.key])continue;if(o){if(r[i.key]=JSON.parse(r[i.key]),null===r[i.key])continue}else s&&"string"==typeof r[i.key]&&(r[i.key]=JSON.parse(r[i.key]));if(i.isArray){ee(r[i.key],!1,i.selection,!1,s);continue}ee(r[i.key],!0,i.selection,!1,s);continue}if(null===r[i.key])continue;let n=d[t];n&&(r[i.key]=n(r[i.key]))}}return t}function et({selection:t,isFirst:n,parseJson:a,parseJsonIfString:o,rootJsonMappers:s,arrayModeRoot:l}){return u=>n&&!u[0]?u[0]:l?function(t,n,a,o=!1,s=!1){let l=n?1:t.length,u=a.map(({field:t,codec:n,arrayDimensions:a})=>{let o;return(o=(0,i.is)(t,$.Column)?t:(0,i.is)(t,r.SQL)?t.decoder:(0,i.is)(t,r.SQL.Aliased)?t.sql.decoder:(0,i.is)(t,_.Table)||(0,i.is)(t,r.View)?r.noopDecoder:t.getSQL().decoder).mapFromDriverValue.isNoop?n?t=>n(t,a):void 0:n?t=>o.mapFromDriverValue(n(t,a)):t=>o.mapFromDriverValue(t)}),d=Array.from({length:l});for(let i=0;i<l;++i){let r=n?t:t[i],l={};for(let t=0;t<a.length;++t){let i=a[t],n=r[t];if(i.selection){if(null===n){l[i.key]=null;continue}if(o){if(null===(n=JSON.parse(n))){l[i.key]=null;continue}}else s&&"string"==typeof n&&(n=JSON.parse(n));i.isArray?ee(n,!1,i.selection,!1,s):ee(n,!0,i.selection,!1,s),l[i.key]=n;continue}if(null===n){l[i.key]=null;continue}let d=u[t];l[i.key]=d?d(n):n}d[i]=l}return n?d[0]:d}(n?u[0]:u,n,t,a,o):ee(n?u[0]:u,n,t,a,o,s)}function ei({selection:t,isFirst:n,parseJson:a,parseJsonIfString:o,rootJsonMappers:l,arrayModeRoot:u}){let d=[],c=function t(n,a,o,s,l,u,d,c,m){let f=[],p=[],h=!1,v=n.map(()=>`c${c.n++}`),g=n.map((t,i)=>m?v[i]:`${JSON.stringify(t.key)}: ${v[i]}`);for(let[y,{field:b,key:x,codec:k,isArray:I,selection:w,arrayDimensions:S}]of(f.push(m?`let [ ${g.join(", ")} ] = ${a};`:`let { ${g.join(", ")} } = ${a};`),n.entries())){let n=`${o}[${y}]`,a=JSON.stringify(x),m=v[y];if(w){s?(f.push(`if (${m} !== null) ${m} = JSON.parse(${m});`),h=!0):l&&(f.push(`if (typeof ${m} === 'string') ${m} = JSON.parse(${m});`),h=!0);let i=`s${c.n++}`,r=d.length;if(d.push(`const { selection: ${i} } = ${n};`),I){let n=`j${c.n++}`,a=t(w,`${m}[${n}]`,i,!1,l,!0,d,c,!1);if(a.hasWork){for(let t of(h=!0,f.push(`if (${m} !== null) {`),f.push(` for (let ${n} = 0; ${n} < ${m}.length; ++${n}) {`),a.bodyStmts))f.push(` ${t}`);f.push(` ${m}[${n}] = ${a.literal};`),f.push(" }"),f.push("}")}else d.splice(r,1)}else{let n=t(w,m,i,!1,l,!0,d,c,!1);if(n.hasWork){for(let t of(h=!0,f.push(`if (${m} !== null) {`),n.bodyStmts))f.push(` ${t}`);f.push(` ${m} = ${n.literal};`),f.push("}")}else d.splice(r,1)}p.push(`${a}: ${m}`);continue}let g="",Z="",z=!1;if((0,i.is)(b,$.Column)){if(u&&b.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: dec${t}`,g=`dec${t}.mapFromJsonValue`}else if(!b.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: dec${t}`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,r.SQL)){if(u&&b.decoder.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: { decoder: dec${t} }`,g=`dec${t}.mapFromJsonValue`}else if(!b.decoder.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: { decoder: dec${t} }`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,r.SQL.Aliased)){if(u&&b.sql.decoder.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: { sql: { decoder: dec${t} } }`,g=`dec${t}.mapFromJsonValue`}else if(!b.sql.decoder.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: { sql: { decoder: dec${t} } }`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,_.Table)||(0,i.is)(b,r.View));else{let t=b.getSQL();if(u&&t.decoder.mapFromJsonValue){z=!0;let t=c.n++;d.push(`const dec${t} = ${n}.field.getSQL().decoder;`),g=`dec${t}.mapFromJsonValue`}else if(!t.decoder.mapFromDriverValue.isNoop){let t=c.n++;d.push(`const dec${t} = ${n}.field.getSQL().decoder;`),g=`dec${t}.mapFromDriverValue`}}let N="";if(!z&&k&&(N=`codec${c.n++}`),Z||N){let t=[];Z&&t.push(Z),N&&t.push(`codec: ${N}`),d.push(`const { ${t.join(", ")} } = ${n};`)}if(g||N){h=!0;let t=m;N&&(t=`${N}(${t}, ${S})`),g&&(t=`${g}(${t})`),p.push(`${a}: ${m} === null ? null : ${t}`)}else p.push(`${a}: ${m}`)}return{bodyStmts:f,literal:`{ ${p.join(", ")} }`,hasWork:h}}(t,"row","selection",a,o,!u&&l,d,{n:0},!!u),m=[];for(let t of(m.push(` "use strict";
|
|
3
3
|
const { selection } = this;`),d))m.push(` ${t}`);if(u)if(n){for(let t of(m.push(" const row = rows[0];"),m.push(" if (!row) return undefined;"),c.bodyStmts))m.push(` ${t}`);m.push(` return ${c.literal};`)}else{for(let t of(m.push(" const { length } = rows;"),m.push(" const mapped = Array.from({ length });"),m.push(" for (let i = 0; i < length; ++i) {"),m.push(" const row = rows[i];"),c.bodyStmts))m.push(` ${t}`);m.push(` mapped[i] = ${c.literal};`),m.push(" }"),m.push(" return mapped;")}else if(c.hasWork)if(n){for(let t of(m.push(" const row = rows[0];"),m.push(" if (!row) return undefined;"),c.bodyStmts))m.push(` ${t}`);m.push(` rows[0] = ${c.literal};`),m.push(" return rows[0];")}else{for(let t of(m.push(" for (let i = 0; i < rows.length; ++i) {"),m.push(" const row = rows[i];"),c.bodyStmts))m.push(` ${t}`);m.push(` rows[i] = ${c.literal};`),m.push(" }"),m.push(" return rows;")}else m.push(n?" return rows[0];":" return rows;");m.push(" //# sourceURL=drizzle:jit-relational-query-mapper");let f=m.join("\n");return Object.assign(new s.FnConstructor("rows",f).bind({selection:t}),{body:`function jitRqbMapper (rows) {
|
|
4
4
|
${f}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
module.exports=[175936,e=>{"use strict";let t=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["decodePath",0,e=>e.join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:e=>({url:"/api/memory",query:{offset:e||null}}),mcp:"/api/mcp",mcpServer:e=>({url:"/api/mcp",pathVariable:[e]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(e,t,a)=>({url:"/api/skills",pathVariable:[e,t],query:{path:a}}),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:
|
|
1
|
+
module.exports=[175936,e=>{"use strict";let t=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["decodePath",0,e=>e.join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:e=>({url:"/api/memory",query:{offset:e||null}}),mcp:"/api/mcp",mcpServer:e=>({url:"/api/mcp",pathVariable:[e]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(e,t,a)=>({url:"/api/skills",pathVariable:[e,t],query:{path:a}}),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:e=>`/api/llm-model/catalog/${e}`,keyCredits:e=>`/api/llm-model/credits/${e}`,subscriptionUsage:"/api/llm-model/subscription",running:"/api/running"}])},911757,e=>{"use strict";var t=e.i(469719),a=e.i(687388),i=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(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(o.DEFAULT_PERSONA),stylePrompt:r,backendModel:t.z.string().trim().min(1).max(128).default(i.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 a=e&&"object"==typeof e?e:{},{model:i,systemPrompt:n,...s}=a,r=t.z.object({provider:t.z.string(),voice:t.z.string().nullish(),backendModel:t.z.string().nullish()}).safeParse(i),h=r.success&&"openai"===r.data.provider?r.data:null,c=a.backendModel??h?.backendModel,u={voice:a.voice??h?.voice,persona:"string"==typeof a.persona?o.RETIRED_PERSONAS[a.persona]??a.persona:a.persona,stylePrompt:a.stylePrompt??a.voicePrompt??n,backendModel:"gpt-5.6-luna"===c?void 0:c,backendPrompt:a.backendPrompt??n,reasoningEffort:a.reasoningEffort,webSearch:a.webSearch,readSkills:a.readSkills},p=Object.fromEntries(Object.keys(u).map(e=>{let t=l.shape[e].safeParse(u[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."}],a={warm:"sunny",curious:"sunny",charmer:"sunny",hype:"sunny",steady:"calm",deadpan:"straight"},i="sunny";e.s(["DEFAULT_PERSONA",0,i,"RETIRED_PERSONAS",0,a,"personaLines",0,function(e=i){return`${((e=i)=>t.find(t=>t.id===(a[e]??e))??t[0])(e).lines}
|
|
2
2
|
|
|
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),a=e.i(264079),i=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",h={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})))},c={key:d,label:"Default effort",effortOf:l,choices:a.EFFORTS.map(e=>({value:e,label:e,needs:l}))},u=e=>n.includes(e.apiKeyName),p=e=>!!e.signIn||
|
|
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),a=e.i(264079),i=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",h={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})))},c={key:d,label:"Default effort",effortOf:l,choices:a.EFFORTS.map(e=>({value:e,label:e,needs:l}))},u=e=>n.includes(e.apiKeyName),p=e=>!!e.signIn||(0,a.isCatalogProvider)(e.id),m=e=>({key:e.apiKeyName,label:e.label,provider:e.id,signIn:e.signIn,keysAt:e.keysAt,keyLooks:e.keyLooks}),y=[{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(u).map(m)},{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=>({...m(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=>!u(e)&&!p(e)).map(m)},{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:i.TELEGRAM_TOKEN_KEY,label:"Telegram",site:"telegram.org",hint:"a bot token from @BotFather — then write to your bot, and allow it here"},{key:i.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:i.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:i.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:[h,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: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(y.flatMap(e=>e.entries).map(e=>[e.key,e]));let f=y.flatMap(e=>e.entries.map(e=>e.key)),b=Object.fromEntries(y.flatMap(e=>e.entries).filter(e=>e.choices?.length).map(e=>[e.key,e.choices]));e.s(["CONFIG_CHOICES",0,b,"CONFIG_KEYS",0,f,"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,a)=>{try{var i=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[a]=await o.database.select({value:s.configTable.value}).from(s.configTable).where((0,i.eq)(s.configTable.key,e));return a?.value.trim()||void 0}async function h(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,h]),a()}catch(e){a(e)}},!1),834332,e=>{"use strict";let t="TELEGRAM_BOT_TOKEN",a="DISCORD_BOT_TOKEN",i="SLACK_APP_TOKEN",n="SLACK_BOT_TOKEN";e.s(["DISCORD_TOKEN_KEY",0,a,"REACH_CHANNELS",0,["telegram","discord","slack"],"REACH_KEYS",0,{telegram:[t],discord:[a],slack:[i,n]},"SLACK_APP_TOKEN_KEY",0,i,"SLACK_BOT_TOKEN_KEY",0,n,"TELEGRAM_TOKEN_KEY",0,t,"reachPersonKey",0,e=>`REACH_PERSON_${e.toUpperCase()}`])},904309,e=>{"use strict";var t=e.i(469719);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])},260338,e=>{"use strict";var t=e.i(518899),a=e.i(844988),i=e.i(156325);e.s(["count",0,function(e){return t.sql`count(${e||t.sql.raw("*")})`.mapWith(Number)},"max",0,function(e){return t.sql`max(${e})`.mapWith((0,a.is)(e,i.Column)?e:String)}])}];
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=_1dxq827._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[896598,e=>e.a(async(t,a)=>{try{var r=e.i(378884),i=e.i(91264),o=e.i(53748),n=t([r]);[r]=n.then?(await n)():n;let l=(0,i.serverRoute)(async(e,{params:t})=>{let{id:a}=await t,i=new URL(e.url).searchParams.get("call");if(i){let e=await (0,r.readToolResult)(a,i);return e||(0,o.publicError)("No such tool result"),e}(0,o.publicError)("Which part — `call`?")});e.s(["GET",0,l]),a()}catch(e){a(e)}},!1),512204,e=>{"use strict";var t=e.i(747909),a=e.i(174017),r=e.i(996250),i=e.i(759756),o=e.i(561916),n=e.i(174677),l=e.i(869741),s=e.i(316795),u=e.i(487718),p=e.i(995169),d=e.i(47587),c=e.i(666012),h=e.i(570101),m=e.i(626937),
|
|
1
|
+
module.exports=[896598,e=>e.a(async(t,a)=>{try{var r=e.i(378884),i=e.i(91264),o=e.i(53748),n=t([r]);[r]=n.then?(await n)():n;let l=(0,i.serverRoute)(async(e,{params:t})=>{let{id:a}=await t,i=new URL(e.url).searchParams.get("call");if(i){let e=await (0,r.readToolResult)(a,i);return e||(0,o.publicError)("No such tool result"),e}(0,o.publicError)("Which part — `call`?")});e.s(["GET",0,l]),a()}catch(e){a(e)}},!1),512204,e=>{"use strict";var t=e.i(747909),a=e.i(174017),r=e.i(996250),i=e.i(759756),o=e.i(561916),n=e.i(174677),l=e.i(869741),s=e.i(316795),u=e.i(487718),p=e.i(995169),d=e.i(47587),c=e.i(666012),h=e.i(570101),m=e.i(626937),f=e.i(10372),R=e.i(193695);e.i(52474);var y=e.i(600220);let v=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/bot/thread/[id]/route",pathname:"/api/bot/thread/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bot/thread/[id]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(896598),...{}}),{workAsyncStorage:g,workUnitAsyncStorage:w,serverHooks:b}=v;async function C(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),v.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/bot/thread/[id]/route";g=g.replace(/\/index$/,"")||"/";let w=await v.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:b,deploymentId:C,params:E,nextConfig:x,parsedUrl:q,isDraftMode:T,prerenderManifest:A,routerServerContext:S,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:O,serverActionsManifest:_}=w,H=(0,l.normalizeAppPath)(g),I=!!(A.dynamicRoutes[H]||A.routes[k]),M=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,q,!1):t.end("This page could not be found"),null);if(I&&!T){let e=!!A.routes[k],t=A.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await M();throw new R.NoFallbackError}}let U=null;!I||v.isDev||T||(U="/index"===(U=k)?"/":U);let $=!0===v.isDev||!I,D=I&&!$;_&&O&&(0,n.setManifestsSingleton)({page:g,clientReferenceManifest:O,serverActionsManifest:_});let F=e.method||"GET",j=(0,o.getTracer)(),K=j.getActiveScopeSpan(),L=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,i.getRequestMeta)(e,"minimalMode"),B=(0,i.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,x,A,V);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:E,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts,useCacheTimeout:x.experimental.useCacheTimeout},cacheComponents:!!x.cacheComponents,validationLevel:x.experimental.instantInsights.validationLevel,supportsDynamicResponse:$,incrementalCache:B,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:x.cacheLife,staticPageGenerationTimeout:x.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,i)=>v.onRequestError(e,t,r,i,S)},sharedContext:{buildId:b,deploymentId:C}},W=new s.NodeNextRequest(e),X=new s.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:a})=>{try{if(!V&&N&&P&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await v.handle(z,G);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let n=G.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(W,X,i,o),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);n&&(t[f.NEXT_CACHE_TAGS_HEADER]=n),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==a&&a>0?x.expireTime:void 0:G.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:N})},!1,S),t}},Z=async(i,n)=>{try{var l,s;let i=await v.handleResponse({req:e,nextConfig:x,cacheKey:U,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,responseGenerator:J,waitUntil:r.waitUntil,isMinimalMode:V});if(!I)return;if((null==i||null==(l=i.value)?void 0:l.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(s=i.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",N?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(i.value.headers);V&&I||o.delete(f.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,m.getCacheControlHeader)(i.cacheControl)),await (0,c.sendResponse)(W,X,new Response(i.value.body,{headers:o,status:i.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:N})},!1,S),I)throw t;await (0,c.sendResponse)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!i)return;let e=t.statusCode;i.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(i.setStatus({code:o.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route")||H,l=`${F} ${r}`;i.setAttributes({"next.route":r,"http.route":r,"next.span_name":l}),i.updateName(l),n&&n!==i&&(n.setAttribute("http.route",r),n.updateName(l))})()}};if(L&&K)await Z(K,void 0);else{let t=j.getActiveScopeSpan();await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${F} ${g}`,kind:o.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Z(e,t)),void 0,!L)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:g,workUnitAsyncStorage:w})},"routeModule",0,v,"serverHooks",0,b,"workAsyncStorage",0,g,"workUnitAsyncStorage",0,w])},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,a)=>({url:"/api/skills",pathVariable:[e,t],query:{path:a}}),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:e=>`/api/llm-model/catalog/${e}`,keyCredits:e=>`/api/llm-model/credits/${e}`,subscriptionUsage:"/api/llm-model/subscription",running:"/api/running"}])},260338,e=>{"use strict";var t=e.i(518899),a=e.i(844988),r=e.i(156325);e.s(["count",0,function(e){return t.sql`count(${e||t.sql.raw("*")})`.mapWith(Number)},"max",0,function(e){return t.sql`max(${e})`.mapWith((0,a.is)(e,r.Column)?e:String)}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_1e54wxa._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[864328,e=>{"use strict";var t=e.i(853205),i=e.i(333925);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"],o=t.z.enum(r),s=t.z.enum(["openai","google","xai","vercel-ai-gateway"]),n=t.z.object({provider:s,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]})),g={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}]}},u=Object.keys(g).map(e=>({id:e,...g[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,g,"TEXT_MODEL_PROVIDER_LIST",0,u,"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=g[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,o,"effortsOf",0,function(e,t,i=[]){if("vercel-ai-gateway"===e)return i.find(e=>e.id===t)?.efforts??null;let a=g[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])},51083,e=>{"use strict";e.s(["STUDIO_TOOLS",0,{generate_image:"generate_image",generate_speech:"generate_speech",transcribe:"transcribe",generate_video:"generate_video"},"TOOL_NAMES",0,{memory_recall:"memory_recall",memory_create:"memory_create",memory_remember:"memory_remember",memory_describe:"memory_describe",memory_forget:"memory_forget",bash:"bash",write_file:"write_file",tool_search:"tool_search",tool_call:"tool_call",load_skill:"load_skill",web_search:"web_search",thread_start:"thread_start",thread_tell:"thread_tell",thread_answer:"thread_answer",thread_status:"thread_status",thread_cancel:"thread_cancel",thread_show:"thread_show",thread_seen:"thread_seen",routine:"routine",send_message:"send_message",thread_recall:"thread_recall",sign_in_use:"sign_in_use",sign_in_keep:"sign_in_keep",look_at:"look_at",make_deck:"make_deck",describe_self:"describe_self",end_call:"end_call",emote:"emote"}])},951056,e=>{"use strict";var t=e.i(517435),i=e.i(333925),a=e.i(864328),l=e.i(900533),r=e.i(64774),o=e.i(746565),s=e.i(600690);let n=t.default.object({color:t.default.string().regex(/^(#[0-9a-fA-F]{6}|currentColor)$/,"Hex color").optional(),shape:t.default.enum(o.MARK_SHAPES).optional(),outline:t.default.boolean().optional(),paint:t.default.enum(o.MARK_PAINT_IDS).optional()}),d=t.default.string().max(i.COMMON_VALIDATE.prompt.max),m=t.default.object({line:t.default.string(),reason:t.default.string(),at:t.default.number()}),g=t.default.object({id:t.default.number(),name:t.default.string(),serverName:t.default.string()}),u=t.default.string().trim().transform(e=>e.replace(/\s+/g," ")).refine(e=>e.toLowerCase()!==s.ROOM_THURSDAY.toLowerCase(),"Thursday is reserved for the voice assistant.").pipe(t.default.string().min(1,"A name is required").max(i.COMMON_VALIDATE.name.max)),c=t.default.object({input:t.default.number(),output:t.default.number()});t.default.object({name:t.default.string(),description:t.default.string(),descriptionLocked:t.default.boolean(),ownLine:m.nullish(),systemPrompt:t.default.string().nullish(),icon:n.nullish(),provider:a.textModelProviderSchema.nullish(),model:t.default.string().nullish(),compactAt:t.default.number().nullish(),effort:a.effortSchema.nullish(),disabled:t.default.boolean(),createdAt:l.DateLikeSchema,tools:g.array().default([]),tokens:c,lastJobAt:l.DateLikeSchema.nullish()}),t.default.object({name:u,description:t.default.string().trim().min(1,"Say what this bot is for").max(i.COMMON_VALIDATE.description.max),systemPrompt:d.optional(),icon:n.optional(),provider:a.textModelProviderSchema.nullish(),model:t.default.string().trim().max(80).nullish(),compactAt:t.default.coerce.number().int().min(8e3,"At least 8k").nullish(),effort:a.effortSchema.nullish(),disabled:t.default.boolean().optional(),descriptionLocked:t.default.boolean().optional(),toolIds:t.default.number().int().array().max(i.MAX_PINNED_TOOLS).optional()});let f={color:o.MARK_SYSTEM,shape:"blob"};t.default.object({file:t.default.string(),path:t.default.string(),line:t.default.string(),at:l.DateLikeSchema,bytes:t.default.number()});let b="Continue",p={thursday:"Thursday, on the call:",user:"The user, on screen:"},h=t.default.discriminatedUnion("type",[t.default.object({type:t.default.literal("text"),text:t.default.string()}),t.default.object({type:t.default.literal("image"),src:t.default.string()})]),k=t.default.object({id:t.default.string(),seq:t.default.number(),bot:t.default.string().nullable(),parent:t.default.string().nullable(),to:t.default.string().nullish(),at:l.DateLikeSchema}),_=t.default.discriminatedUnion("kind",[k.extend({kind:t.default.literal("user"),text:t.default.string()}),k.extend({kind:t.default.literal("text"),text:t.default.string()}),k.extend({kind:t.default.literal("note"),text:t.default.string()}),k.extend({kind:t.default.literal("stop"),text:t.default.string()}),k.extend({kind:t.default.literal("tool"),callId:t.default.string(),name:t.default.string(),input:t.default.string(),note:t.default.string().nullish(),path:t.default.string().nullish()}),k.extend({kind:t.default.literal("tool-result"),callId:t.default.string(),name:t.default.string(),results:h.array(),more:t.default.boolean()}),k.extend({kind:t.default.literal("ask"),callId:t.default.string(),to:t.default.string(),text:t.default.string(),question:t.default.boolean().optional(),questionId:t.default.string().optional()})]),x=t.default.object({question:t.default.string(),messageId:t.default.string().optional(),bot:t.default.string().optional(),options:t.default.string().array()});t.default.object({id:t.default.string(),bot:t.default.string(),label:t.default.string(),request:t.default.string(),status:t.default.enum(["running","waiting","done","cancelled"]),outcome:t.default.string().nullable(),ask:x.nullable(),seen:t.default.boolean(),routineId:t.default.string().nullable(),tokens:c,contextTokens:t.default.number(),contextBudget:t.default.number(),createdAt:l.DateLikeSchema,updatedAt:l.DateLikeSchema,lines:_.array(),room:s.RoomViewSchema}),e.s(["BOT_MEMORY_KEY",0,"BOT_MEMORY","COMPACT_AT_MIN",0,8e3,"DEFAULT_BOT",0,{name:"Jarvis",description:"Anything — this computer, a browser, the web, files, services",ownLine:null,systemPrompt:null,icon:f,provider:null,model:null,disabled:!1,compactAt:null,effort:null},"DEFAULT_BOT_ICON",0,f,"THREAD_CONTINUE",0,b,"isAppStop",0,e=>{let t=e?.options??[];return!e?.messageId&&1===t.length&&t[0]===b},"isBotMemoryOn",0,e=>e?.trim()!=="off","randomBotIcons",0,function(e){return(0,o.randomMarkFills)(e).map(e=>({...e,shape:o.MARK_SHAPES[Math.floor(Math.random()*o.MARK_SHAPES.length)]}))},"rosterLine",0,function(e){let t=e.description.trim();return e.ownLine?`${t}${/[.!?。…]$/.test(t)?"":"."} ${e.ownLine}`:t},"tagSpeaker",0,(e,t)=>`${p[e]} ${t}`,"threadActivity",0,function(e,t=120){let i=null;for(let a=e.length-1;a>=0;a--){let l=e[a];if("tool"===l.kind)i??=`${l.name} ${l.note??l.input}`;else if("text"===l.kind)return(0,r.clip)(i?`${l.text} → ${i}`:l.text,t);else if("ask"===l.kind)return(0,r.clip)(`asked ${l.to}: ${l.text}`,t);else if("user"===l.kind)break}return i?(0,r.clip)(i,t):null},"untagSpeaker",0,e=>{for(let t of Object.values(p))if(e.startsWith(`${t} `))return e.slice(t.length+1);return e},"workHandle",0,e=>e.slice(0,6)])},600690,e=>{"use strict";var t=e.i(853205);let i=t.z.object({to:t.z.string().trim().min(1),text:t.z.string().trim().min(1),why:t.z.string().trim().min(1),kind:t.z.enum(["message","question"]).default("message"),options:t.z.array(t.z.string().trim().min(1)).nullish()}),a=t.z.enum(["queued","running","waiting","external","paused","done","cancelled"]),l=t.z.object({bot:t.z.string(),state:a}),r=t.z.object({id:t.z.string(),bot:t.z.string(),text:t.z.string(),options:t.z.string().array().optional()}),o=t.z.enum(["message","question","report","interrupted"]),s=t.z.object({participants:l.array(),questions:r.array(),deliveries:t.z.object({id:t.z.string(),bot:t.z.string(),text:t.z.string(),delivered:t.z.boolean()}).array(),relays:t.z.object({id:t.z.number(),bot:t.z.string(),text:t.z.string(),kind:o,messageId:t.z.string().nullable()}).array()});e.s(["RESUME_CHECK",0,"Resume from the saved state; inspect any tool whose result is missing before repeating it.","ROOM_THURSDAY",0,"Thursday","ROOM_USER",0,"The user","RoomMessageSchema",0,i,"RoomViewSchema",0,s])},517435,e=>{"use strict";var t=e.i(794588);e.s(["default",0,t])}];
|
|
1
|
+
module.exports=[864328,e=>{"use strict";var t=e.i(853205),i=e.i(333925);let a=t.z.enum(["openai","chatgpt","anthropic","google","xai","vercel-ai-gateway","openrouter","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"],o=t.z.enum(r),s=["vercel-ai-gateway","openrouter"],n=e=>s.includes(e),d=t.z.enum(["openai","google","xai","vercel-ai-gateway"]),m=t.z.object({provider:d,model:t.z.string().trim().min(1,"Model name is required").max(120)}),g={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"}]}}},u=Object.keys(g).map(e=>({id:e,...g[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}]},openrouter:{label:"OpenRouter",apiKeyName:"OPENROUTER_API_KEY",keysAt:"https://openrouter.ai/settings/keys",keyLooks:"sk-or-…",suggestModels:[{id:"z-ai/glm-5.3-flash",label:"GLM 5.3 Flash",tier:"small",context:1310720},{id:"google/gemini-3.8-flash",label:"Gemini 3.8 Flash",tier:"small",context:1048576},{id:"openai/gpt-6-luna",label:"GPT 6 Luna",tier:"small",context:105e4},{id:"z-ai/glm-5.3",label:"GLM 5.3",tier:"mid",context:1310720},{id:"x-ai/grok-4.7",label:"Grok 4.7",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5",label:"Claude Sonnet 5",tier:"mid",context:1e6},{id:"openai/gpt-6-sol",label:"GPT 6 Sol",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid",context:1048576},{id:"anthropic/claude-opus-5.5",label:"Claude Opus 5.5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]},mistral:{label:"Mistral",apiKeyName:"MISTRAL_API_KEY",keysAt:"https://console.mistral.ai/api-keys",suggestModels:[{id:"ministral-8b-latest",label:"Ministral 8B",tier:"small",efforts:[]},{id:"mistral-small-latest",label:"Small",tier:"mid",efforts:["none","high"]},{id:"mistral-medium-latest",label:"Medium",tier:"large",efforts:["none","high"]},{id:"mistral-large-latest",label:"Large",tier:"large",efforts:[]}]},deepseek:{label:"DeepSeek",apiKeyName:"DEEPSEEK_API_KEY",keysAt:"https://platform.deepseek.com/api_keys",keyLooks:"sk-…",suggestModels:[{id:"deepseek-flash",label:"V4.1 Flash",tier:"small",context:1e6,efforts:["none","low","high","xhigh"]},{id:"deepseek-v4-pro",label:"V4 Pro",tier:"large",context:1e6,efforts:["none","low","high","xhigh"]}]},groq:{label:"Groq",apiKeyName:"GROQ_API_KEY",keysAt:"https://console.groq.com/keys",keyLooks:"gsk_…",suggestModels:[{id:"openai/gpt-oss-20b",label:"GPT OSS 20B",tier:"small",context:131072,efforts:["low","medium","high"]},{id:"openai/gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:131072,efforts:["low","medium","high"]},{id:"llama-3.3-70b-versatile",label:"Llama 3.3 70B",tier:"mid",context:131072,efforts:[]}]},cerebras:{label:"Cerebras",apiKeyName:"CEREBRAS_API_KEY",keysAt:"https://cloud.cerebras.ai",keyLooks:"csk-…",suggestModels:[{id:"qwen-3.8-27b",label:"Qwen 3.8 27B",tier:"small",context:64e3},{id:"gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:65536}]},togetherai:{label:"Together",apiKeyName:"TOGETHER_AI_API_KEY",keysAt:"https://api.together.ai/settings/api-keys",suggestModels:[{id:"Qwen/Qwen3.5-9B",label:"Qwen 3.5 9B",tier:"small",context:262144},{id:"zai-org/GLM-5.3-Flash",label:"GLM 5.3 Flash",tier:"small",context:1048575},{id:"openai/gpt-oss-120b",label:"GPT OSS 120B",tier:"mid",context:131072},{id:"deepseek-ai/DeepSeek-V4.1-Flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1e6},{id:"zai-org/GLM-5.3",label:"GLM 5.3",tier:"large",context:1048575},{id:"moonshotai/Kimi-K3",label:"Kimi K3",tier:"large",context:1048576}]},fireworks:{label:"Fireworks",apiKeyName:"FIREWORKS_API_KEY",keysAt:"https://app.fireworks.ai/account/api-keys",keyLooks:"fw_…",suggestModels:[{id:"accounts/fireworks/models/glm-5p3-flash",label:"GLM 5.3 Flash",tier:"small",context:1048576},{id:"accounts/fireworks/models/deepseek-v4p1-flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1048576},{id:"accounts/fireworks/models/minimax-m3",label:"MiniMax M3",tier:"mid",context:512e3},{id:"accounts/fireworks/models/glm-5p3",label:"GLM 5.3",tier:"large",context:1048576},{id:"accounts/fireworks/models/kimi-k3",label:"Kimi K3",tier:"large",context:1048576}]},deepinfra:{label:"DeepInfra",apiKeyName:"DEEPINFRA_API_KEY",keysAt:"https://deepinfra.com/dash/api_keys",suggestModels:[{id:"deepseek-ai/DeepSeek-V4-Flash-0731",label:"DeepSeek V4 Flash",tier:"small",context:1048576},{id:"deepseek-ai/DeepSeek-V4.1-Flash",label:"DeepSeek V4.1 Flash",tier:"mid",context:1048576},{id:"zai-org/GLM-5.2",label:"GLM 5.2",tier:"mid",context:1048576},{id:"zai-org/GLM-5.3",label:"GLM 5.3",tier:"large",context:1048576},{id:"moonshotai/Kimi-K3",label:"Kimi K3",tier:"large",context:1048576}]},cohere:{label:"Cohere",apiKeyName:"COHERE_API_KEY",keysAt:"https://dashboard.cohere.com/api-keys",suggestModels:[{id:"command-r7b-12-2024",label:"Command R7B",tier:"small",context:128e3},{id:"command-a-03-2025",label:"Command A",tier:"mid",context:256e3},{id:"command-a-plus-05-2026",label:"Command A+",tier:"large",context:128e3}]}},p=Object.keys(c).map(e=>({id:e,...c[e]}));e.s(["CATALOG_TEXT",0,"language","CATALOG_TOOL_USE",0,"tool-use","EFFORTS",0,r,"MEDIA_MODEL_PROVIDERS",0,g,"MEDIA_MODEL_PROVIDER_LIST",0,u,"TEXT_MODEL_PROVIDERS",0,c,"TEXT_MODEL_PROVIDER_LIST",0,p,"VENDOR_PROVIDERS",0,{anthropic:"anthropic",openai:"openai",google:"google",spacexai:"xai",mistral:"mistral",deepseek:"deepseek",cohere:"cohere",openrouter:"openrouter"},"canMakeKind",0,(e,t)=>(g[e]?.models[t]?.length??0)>0,"compactAtFor",0,e=>e&&e>0?Math.round(e*i.BOT_RUN.compactHeadroom):i.BOT_RUN.compactAt,"contextWindowOf",0,function(e,t,i=[]){if(n(e))return i.find(e=>e.id===t)?.contextWindow??null;let a=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,o,"effortsOf",0,function(e,t,i=[]){if(n(e))return i.find(e=>e.id===t)?.efforts??null;let a=c[e].suggestModels;return a.find(e=>e.id===t)?.efforts??null},"isCatalogProvider",0,n,"parseMediaModel",0,function(e){let[t,...i]=(e??"").trim().split("/"),a=m.safeParse({provider:t,model:i.join("/")});return a.success?a.data:null},"parseTextModel",0,function(e){let[t,...i]=(e??"").trim().split("/"),a=l.safeParse({provider:t,model:i.join("/")});return a.success?a.data:null},"textModelProviderSchema",0,a,"textModelRefSchema",0,l])},51083,e=>{"use strict";e.s(["STUDIO_TOOLS",0,{generate_image:"generate_image",generate_speech:"generate_speech",transcribe:"transcribe",generate_video:"generate_video"},"TOOL_NAMES",0,{memory_recall:"memory_recall",memory_create:"memory_create",memory_remember:"memory_remember",memory_describe:"memory_describe",memory_forget:"memory_forget",bash:"bash",write_file:"write_file",tool_search:"tool_search",tool_call:"tool_call",load_skill:"load_skill",web_search:"web_search",thread_start:"thread_start",thread_tell:"thread_tell",thread_answer:"thread_answer",thread_status:"thread_status",thread_cancel:"thread_cancel",thread_show:"thread_show",thread_seen:"thread_seen",routine:"routine",send_message:"send_message",thread_recall:"thread_recall",sign_in_use:"sign_in_use",sign_in_keep:"sign_in_keep",look_at:"look_at",make_deck:"make_deck",describe_self:"describe_self",end_call:"end_call",emote:"emote",look_at_screen:"look_at_screen"}])},951056,e=>{"use strict";var t=e.i(517435),i=e.i(333925),a=e.i(864328),l=e.i(900533),r=e.i(64774),o=e.i(746565),s=e.i(600690);let n=t.default.object({color:t.default.string().regex(/^(#[0-9a-fA-F]{6}|currentColor)$/,"Hex color").optional(),shape:t.default.enum(o.MARK_SHAPES).optional(),outline:t.default.boolean().optional(),paint:t.default.enum(o.MARK_PAINT_IDS).optional()}),d=t.default.string().max(i.COMMON_VALIDATE.prompt.max),m=t.default.object({line:t.default.string(),reason:t.default.string(),at:t.default.number()}),g=t.default.object({id:t.default.number(),name:t.default.string(),serverName:t.default.string()}),u=t.default.string().trim().transform(e=>e.replace(/\s+/g," ")).refine(e=>e.toLowerCase()!==s.ROOM_THURSDAY.toLowerCase(),"Thursday is reserved for the voice assistant.").pipe(t.default.string().min(1,"A name is required").max(i.COMMON_VALIDATE.name.max)),c=t.default.object({input:t.default.number(),output:t.default.number()});t.default.object({name:t.default.string(),description:t.default.string(),descriptionLocked:t.default.boolean(),ownLine:m.nullish(),systemPrompt:t.default.string().nullish(),icon:n.nullish(),provider:a.textModelProviderSchema.nullish(),model:t.default.string().nullish(),compactAt:t.default.number().nullish(),effort:a.effortSchema.nullish(),disabled:t.default.boolean(),createdAt:l.DateLikeSchema,tools:g.array().default([]),tokens:c,lastJobAt:l.DateLikeSchema.nullish()}),t.default.object({name:u,description:t.default.string().trim().min(1,"Say what this bot is for").max(i.COMMON_VALIDATE.description.max),systemPrompt:d.optional(),icon:n.optional(),provider:a.textModelProviderSchema.nullish(),model:t.default.string().trim().max(80).nullish(),compactAt:t.default.coerce.number().int().min(8e3,"At least 8k").nullish(),effort:a.effortSchema.nullish(),disabled:t.default.boolean().optional(),descriptionLocked:t.default.boolean().optional(),toolIds:t.default.number().int().array().max(i.MAX_PINNED_TOOLS).optional()});let p={color:o.MARK_SYSTEM,shape:"blob"};t.default.object({file:t.default.string(),path:t.default.string(),line:t.default.string(),at:l.DateLikeSchema,bytes:t.default.number()});let b="Continue",f={thursday:"Thursday, on the call:",user:"The user, on screen:"},h=t.default.discriminatedUnion("type",[t.default.object({type:t.default.literal("text"),text:t.default.string()}),t.default.object({type:t.default.literal("image"),src:t.default.string()})]),k=t.default.object({id:t.default.string(),seq:t.default.number(),bot:t.default.string().nullable(),parent:t.default.string().nullable(),to:t.default.string().nullish(),at:l.DateLikeSchema}),_=t.default.discriminatedUnion("kind",[k.extend({kind:t.default.literal("user"),text:t.default.string()}),k.extend({kind:t.default.literal("text"),text:t.default.string()}),k.extend({kind:t.default.literal("note"),text:t.default.string()}),k.extend({kind:t.default.literal("stop"),text:t.default.string()}),k.extend({kind:t.default.literal("tool"),callId:t.default.string(),name:t.default.string(),input:t.default.string(),note:t.default.string().nullish(),path:t.default.string().nullish()}),k.extend({kind:t.default.literal("tool-result"),callId:t.default.string(),name:t.default.string(),results:h.array(),more:t.default.boolean()}),k.extend({kind:t.default.literal("ask"),callId:t.default.string(),to:t.default.string(),text:t.default.string(),question:t.default.boolean().optional(),questionId:t.default.string().optional()})]),x=t.default.object({question:t.default.string(),messageId:t.default.string().optional(),bot:t.default.string().optional(),options:t.default.string().array()});t.default.object({id:t.default.string(),bot:t.default.string(),label:t.default.string(),request:t.default.string(),status:t.default.enum(["running","waiting","done","cancelled"]),outcome:t.default.string().nullable(),ask:x.nullable(),seen:t.default.boolean(),routineId:t.default.string().nullable(),tokens:c,contextTokens:t.default.number(),contextBudget:t.default.number(),createdAt:l.DateLikeSchema,updatedAt:l.DateLikeSchema,lines:_.array(),room:s.RoomViewSchema}),e.s(["BOT_MEMORY_KEY",0,"BOT_MEMORY","COMPACT_AT_MIN",0,8e3,"DEFAULT_BOT",0,{name:"Jarvis",description:"Anything — this computer, a browser, the web, files, services",ownLine:null,systemPrompt:null,icon:p,provider:null,model:null,disabled:!1,compactAt:null,effort:null},"DEFAULT_BOT_ICON",0,p,"THREAD_CONTINUE",0,b,"isAppStop",0,e=>{let t=e?.options??[];return!e?.messageId&&1===t.length&&t[0]===b},"isBotMemoryOn",0,e=>e?.trim()!=="off","rosterLine",0,function(e){let t=e.description.trim();return e.ownLine?`${t}${/[.!?。…]$/.test(t)?"":"."} ${e.ownLine}`:t},"tagSpeaker",0,(e,t)=>`${f[e]} ${t}`,"threadActivity",0,function(e,t=120){let i=null;for(let a=e.length-1;a>=0;a--){let l=e[a];if("tool"===l.kind)i??=`${l.name} ${l.note??l.input}`;else if("text"===l.kind)return(0,r.clip)(i?`${l.text} → ${i}`:l.text,t);else if("ask"===l.kind)return(0,r.clip)(`asked ${l.to}: ${l.text}`,t);else if("user"===l.kind)break}return i?(0,r.clip)(i,t):null},"untagSpeaker",0,e=>{for(let t of Object.values(f))if(e.startsWith(`${t} `))return e.slice(t.length+1);return e},"workHandle",0,e=>e.slice(0,6)])},600690,e=>{"use strict";var t=e.i(853205);let i=t.z.object({to:t.z.string().trim().min(1),text:t.z.string().trim().min(1),why:t.z.string().trim().min(1),kind:t.z.enum(["message","question"]).default("message"),options:t.z.array(t.z.string().trim().min(1)).nullish()}),a=t.z.enum(["queued","running","waiting","external","paused","done","cancelled"]),l=t.z.object({bot:t.z.string(),state:a}),r=t.z.object({id:t.z.string(),bot:t.z.string(),text:t.z.string(),options:t.z.string().array().optional()}),o=t.z.enum(["message","question","report","interrupted"]),s=t.z.object({participants:l.array(),questions:r.array(),deliveries:t.z.object({id:t.z.string(),bot:t.z.string(),text:t.z.string(),delivered:t.z.boolean()}).array(),relays:t.z.object({id:t.z.number(),bot:t.z.string(),text:t.z.string(),kind:o,messageId:t.z.string().nullable()}).array()});e.s(["RESUME_CHECK",0,"Resume from the saved state; inspect any tool whose result is missing before repeating it.","ROOM_THURSDAY",0,"Thursday","ROOM_USER",0,"The user","RoomMessageSchema",0,i,"RoomViewSchema",0,s])},517435,e=>{"use strict";var t=e.i(794588);e.s(["default",0,t])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_1frcwj1._.js.map
|