thursday-agent 0.1.2 → 0.3.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 +5 -1
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +5 -5
- package/.next/routes-manifest.json +27 -3
- package/.next/server/app/_global-error/page.js +2 -2
- 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 +2 -2
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- 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 +14 -14
- package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/artifact/route.js +3 -3
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/bot/memory/files/route.js +10 -0
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -0
- package/.next/server/app/api/bot/memory/files/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/bot/memory/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/bot/memory/route/build-manifest.json +12 -0
- package/.next/server/app/api/bot/memory/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/bot/memory/route.js +14 -0
- package/.next/server/app/api/bot/memory/route.js.map +5 -0
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -0
- package/.next/server/app/api/bot/memory/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/bot/route.js +7 -7
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/task/[id]/route.js +9 -9
- package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/task/route.js +8 -8
- package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js +6 -6
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/events/route.js +4 -5
- package/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js +3 -3
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/route.js +10 -9
- package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/credits/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/llm-model/credits/route/build-manifest.json +12 -0
- package/.next/server/app/api/llm-model/credits/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/llm-model/credits/route.js +16 -0
- package/.next/server/app/api/llm-model/credits/route.js.map +5 -0
- package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -0
- package/.next/server/app/api/llm-model/credits/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/llm-model/route.js +10 -8
- package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/subscription/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/llm-model/subscription/route/build-manifest.json +12 -0
- package/.next/server/app/api/llm-model/subscription/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/llm-model/subscription/route.js +15 -0
- package/.next/server/app/api/llm-model/subscription/route.js.map +5 -0
- package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -0
- package/.next/server/app/api/llm-model/subscription/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/mcp/[name]/route.js +5 -5
- package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth/callback/route.js +6 -6
- package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js +5 -5
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/tools/route.js +5 -5
- package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/edit/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/edit/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/edit/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/edit/route.js +24 -0
- package/.next/server/app/api/memory/edit/route.js.map +5 -0
- package/.next/server/app/api/memory/edit/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/{tidy → edit}/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/memory/route.js +7 -8
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js +3 -3
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +3 -3
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js +9 -7
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/skills/route.js +9 -7
- package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +16 -15
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js +4 -5
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
- package/.next/server/app/artifact/[...path]/page.js +5 -6
- package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js +3 -4
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/favicon.ico.body +0 -0
- package/.next/server/app/page/server-reference-manifest.json +66 -77
- package/.next/server/app/page.js +11 -11
- 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 +5 -1
- package/.next/server/chunks/[externals]__0dzuk6_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__01dkp4a._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__02xjoto._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04q--0f._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__0bl-e63._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ce8nf8._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0ffbg85._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0j7z0r3._.js +12 -0
- package/.next/server/chunks/[root-of-the-server]__0jq4ohy._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0pa2n68._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0q0vvt2._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__11n256_._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__12cabg9._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1339jnv._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__15bjnu5._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__18_teo8._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__1fizn31._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1llj3-b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +11 -0
- package/.next/server/chunks/[root-of-the-server]__1p8m3f4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +8 -0
- package/.next/server/chunks/{_1hzrsvg._.js → _0-73of8._.js} +6 -6
- package/.next/server/chunks/{_1cbk7ms._.js → _0-fjql4._.js} +10 -10
- package/.next/server/chunks/_00xh_q0._.js +27 -0
- package/.next/server/chunks/{_0y8is-s._.js → _03a0897._.js} +1 -1
- package/.next/server/chunks/{_0pppbb5._.js → _03kp0jp._.js} +166 -35
- package/.next/server/chunks/_051qh8u._.js +3 -0
- package/.next/server/chunks/{node_modules_next_04q-o58._.js → _05dla15._.js} +2 -2
- package/.next/server/chunks/_05h2cii._.js +1 -1
- package/.next/server/chunks/_0c9j6rb._.js +49 -0
- package/.next/server/chunks/_0fzqt2y._.js +74 -44
- package/.next/server/chunks/{_0kl37zl._.js → _0ioz3nd._.js} +1 -1
- package/.next/server/chunks/_0iwfby5._.js +3 -0
- package/.next/server/chunks/{_0hin38_._.js → _0khihjk._.js} +5 -5
- package/.next/server/chunks/_0mecv0f._.js +26 -0
- package/.next/server/chunks/_0mh8j4m._.js +3 -0
- package/.next/server/chunks/{_1icgbi8._.js → _0n74zsf._.js} +2 -2
- package/.next/server/chunks/_0obojvv._.js +3 -0
- package/.next/server/chunks/_0recufk._.js +49 -0
- package/.next/server/chunks/{_1t8fv7b._.js → _0rnf-6n._.js} +2 -2
- package/.next/server/chunks/_0sb7tlz._.js +3 -0
- package/.next/server/chunks/{_0jgm3b8._.js → _0u10wmw._.js} +6 -6
- package/.next/server/chunks/{_12nr4xc._.js → _0u4aiy2._.js} +2 -2
- package/.next/server/chunks/_0wp4le3._.js +1 -1
- package/.next/server/chunks/_0y5fg-x._.js +1 -1
- package/.next/server/chunks/_1230wbx._.js +10 -0
- package/.next/server/chunks/_12nheja._.js +3 -0
- package/.next/server/chunks/_13510xh._.js +3 -0
- package/.next/server/chunks/_15hq89o._.js +1 -1
- package/.next/server/chunks/_17l5ygt._.js +49 -0
- package/.next/server/chunks/{_0ks6_sg._.js → _18-1wcc._.js} +6 -6
- package/.next/server/chunks/_1_5mnq4._.js +18 -0
- package/.next/server/chunks/{_0tzfesa._.js → _1_9mjx-._.js} +1 -1
- package/.next/server/chunks/_1d0j961._.js +6 -0
- package/.next/server/chunks/_1d5zmy8._.js +1 -1
- package/.next/server/chunks/_1drgfx4._.js +18 -0
- package/.next/server/chunks/{_1skgy7b._.js → _1e48czp._.js} +5 -5
- package/.next/server/chunks/_1f46eie._.js +3 -0
- package/.next/server/chunks/_1h5_8sk._.js +3 -0
- package/.next/server/chunks/_1hdnxb7._.js +3 -0
- package/.next/server/chunks/_1j8k_j5._.js +3 -0
- package/.next/server/chunks/{_10qam6o._.js → _1kg70wc._.js} +5 -5
- package/.next/server/chunks/_1krd9rf._.js +3 -0
- package/.next/server/chunks/_1nc0eui._.js +11 -0
- package/.next/server/chunks/_1nula3v._.js +3 -0
- package/.next/server/chunks/_1pf4qe-._.js +3 -0
- package/.next/server/chunks/_1php4eq._.js +1 -1
- package/.next/server/chunks/_1qxheoa._.js +3 -0
- package/.next/server/chunks/_1x6kd1r._.js +3 -0
- package/.next/server/chunks/_1yuv4vp._.js +1 -1
- package/.next/server/chunks/_1zjrdag._.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_bot_memory_files_route_actions_1_xd_8f.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_bot_memory_route_actions_1a8xfr7.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_llm-model_credits_route_actions_0v424pb.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_llm-model_subscription_route_actions_0-udcm5.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_edit_route_actions_02sfnmr.js +3 -0
- package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
- package/.next/server/chunks/features_0rpfxbk._.js +3 -0
- package/.next/server/chunks/features_1qf3cei._.js +3 -0
- package/.next/server/chunks/features_bot_0zt92oh._.js +3 -0
- package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +1 -1
- package/.next/server/chunks/features_memory_1uqvksn._.js +6 -0
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0tf290y._.js → node_modules_consola_dist_chunks_prompt_mjs_0i7cvml._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0228f43._.js → node_modules_consola_dist_chunks_prompt_mjs_0icqaqw._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0ir-vo2._.js → node_modules_consola_dist_chunks_prompt_mjs_0j61-ma._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0otw8ef._.js → node_modules_consola_dist_chunks_prompt_mjs_0r28-sm._.js} +1 -1
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0v_7drq._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_11zjo-1._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1pycqsq._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xoq2rl._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js +3 -0
- package/.next/server/chunks/ssr/[externals]__0dizgek._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__09q9med._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0_69wqr._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0hg5gib._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0i8ie7f._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0jsmmb-._.js → [root-of-the-server]__0mz33a7._.js} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0tbkdlx._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0vnmv-s._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0f6s48x._.js → [root-of-the-server]__0xpcv9w._.js} +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0xtssj3._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0zkv7z_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +57 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__15_uhip._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1cyjywu._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1eh7hid._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +43 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1pduf5n._.js +3 -0
- package/.next/server/chunks/ssr/{_1mznrxk._.js → _001_ms1._.js} +3 -3
- package/.next/server/chunks/ssr/_01_6m32._.js +3 -0
- package/.next/server/chunks/ssr/_01n3o0m._.js +3 -0
- package/.next/server/chunks/ssr/_07uchnc._.js +3 -0
- package/.next/server/chunks/ssr/_0ap2fzn._.js +3 -0
- package/.next/server/chunks/ssr/_0c-ql2m._.js +3 -0
- package/.next/server/chunks/ssr/_0h42fze._.js +3 -0
- package/.next/server/chunks/ssr/_0h7zdni._.js +1 -1
- package/.next/server/chunks/ssr/_0i_6q1w._.js +41 -0
- package/.next/server/chunks/ssr/_0kbkmar._.js +3 -0
- package/.next/server/chunks/ssr/_0lu1n_x._.js +3 -0
- package/.next/server/chunks/ssr/{_077-g6s._.js → _0mb8zc8._.js} +3 -3
- package/.next/server/chunks/ssr/_0mo2w06._.js +3 -0
- package/.next/server/chunks/ssr/{_13punpm._.js → _0q0zan6._.js} +2 -2
- package/.next/server/chunks/ssr/{_0gd4vaa._.js → _0u2jv_x._.js} +94 -58
- package/.next/server/chunks/ssr/_0y0tiht._.js +4 -0
- package/.next/server/chunks/ssr/_0zhoc3r._.js +3 -0
- package/.next/server/chunks/ssr/_1-teee5._.js +3 -3
- package/.next/server/chunks/ssr/_13fke0x._.js +3 -0
- package/.next/server/chunks/ssr/{_0q_2f2x._.js → _13z3f85._.js} +2 -2
- package/.next/server/chunks/ssr/_14_lw10._.js +3 -0
- package/.next/server/chunks/ssr/_15j2_8f._.js +3 -0
- package/.next/server/chunks/ssr/{_0lc_7c8._.js → _1eoqg_g._.js} +2 -2
- package/.next/server/chunks/ssr/_1sji22n._.js +3 -0
- package/.next/server/chunks/ssr/_1spzm8z._.js +3 -0
- package/.next/server/chunks/ssr/{_19_o9d-._.js → _1vi_uo7._.js} +2 -2
- package/.next/server/chunks/ssr/_1vyd1ji._.js +3 -0
- package/.next/server/chunks/ssr/_1xvgn77._.js +3 -0
- package/.next/server/chunks/ssr/_20kd_n0._.js +42 -0
- package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +3 -0
- package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
- package/.next/server/chunks/ssr/lib_date-like_ts_02is0pw._.js +3 -0
- package/.next/server/chunks/ssr/lib_realtime_12wg_dd._.js +27 -0
- package/.next/server/chunks/ssr/lib_realtime_15h_v1v._.js +27 -0
- package/.next/server/chunks/ssr/{node_modules_1d-is1o._.js → node_modules_063xwpp._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ub40gk._.js → node_modules_0bvraul._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1nhw9qg._.js → node_modules_0eu1va6._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0xwx4u-._.js → node_modules_0h50b8n._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_043-236._.js → node_modules_0h5hnr1._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1t0y5jt._.js → node_modules_0h7u60n._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1k29j1j._.js → node_modules_0lm7_vm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_16i4o_3._.js → node_modules_0mwym0g._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1y8_3vg._.js → node_modules_0rjg6t1._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_0x3-ply._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_108wd2o._.js → node_modules_0y_cded._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1jatz7w._.js → node_modules_0z5tsu8._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ls96je._.js → node_modules_0zp9r92._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_06kvvuo._.js → node_modules_1-hc6uv._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1_588_4._.js → node_modules_113tz0l._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ipn1ho._.js → node_modules_124bue5._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_17bwo43._.js +55 -0
- package/.next/server/chunks/ssr/{node_modules_0_j7-g4._.js → node_modules_1_n3ztw._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_20ynonm._.js → node_modules_1bc7gu8._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1hn_sd5._.js → node_modules_1bgb6-f._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0bue6gy._.js → node_modules_1h4a4pp._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0fbw5-u._.js → node_modules_1i7u1ia._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ee8gav._.js → node_modules_1juq3hs._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0_fvxnt._.js → node_modules_1l0qtdu._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_13f2md6._.js → node_modules_1t9cyee._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0y2-av4._.js → node_modules_1uuj9x1._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_00d6675._.js → node_modules_1vqb6po._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1v0077l._.js → node_modules_1xx28h1._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_092s8nx._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0d3skpl._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1nvexgu._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0i44kk5._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_@vercel_oidc_dist_0qe30a_._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_05cwqv2._.js +47 -0
- package/.next/server/chunks/ssr/{node_modules_next_dist_0w6mzq5._.js → node_modules_next_dist_0drixxt._.js} +4 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_1n3w9lb._.js +2 -2
- package/.next/server/instrumentation.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 +67 -78
- package/.next/static/chunks/{31ttnjt6g35a0.js → 0ev4hyghq0mbb.js} +1 -1
- package/.next/static/chunks/0r5qcctujhxli.js +1 -0
- package/.next/static/chunks/0tmgrnlje14-s.js +3 -0
- package/.next/static/chunks/0x79tx04dxbpp.js +1 -0
- package/.next/static/chunks/0xzgvc0fkdb6t.js +1 -0
- package/.next/static/chunks/10teww7wt-f6h.js +1 -0
- package/.next/static/chunks/14hgtsjg-kael.css +1 -0
- package/.next/static/chunks/17donp69y4do7.js +40 -0
- package/.next/static/chunks/1dkjg87pxk0n9.js +28 -0
- package/.next/static/chunks/1ekc7ul556kbl.js +1 -0
- package/.next/static/chunks/{1khakdu_iuedc.js → 1grhjo7a5a0_-.js} +1 -1
- package/.next/static/chunks/1kq8h8wi_e0bc.js +53 -0
- package/.next/static/chunks/1okqiww3pnwka.js +1 -0
- package/.next/static/chunks/26-pr2c9ro222.js +1 -0
- package/.next/static/chunks/{2ihkf6l2jowo9.js → 280t0_e99i276.js} +3 -3
- package/.next/static/chunks/28cizcdaabd4h.js +1 -0
- package/.next/static/chunks/2a0k6jlq0_v1u.js +2 -0
- package/.next/static/chunks/2fzs9fm8yarvq.js +1 -0
- package/.next/static/chunks/2h0sd2vumhb15.js +1 -0
- package/.next/static/chunks/2hw2f6zmt7fmt.js +1 -0
- package/.next/static/chunks/2t4vhi3m8ahya.js +1 -0
- package/.next/static/chunks/2tigdtz3dpcy8.js +1 -0
- package/.next/static/chunks/3111pj5wnjgos.js +1 -0
- package/.next/static/chunks/3786h5vayt80-.js +28 -0
- package/.next/static/chunks/{3aquirz5h71da.js → 3agpgkwaa321p.js} +1 -1
- package/.next/static/chunks/3cfi_q6d_wtci.js +1 -0
- package/.next/static/chunks/3ok9_x74rip3v.js +1 -0
- package/.next/static/chunks/3xk7yqgomx7yq.js +1 -0
- package/.next/static/chunks/3xpbkl66ssib5.js +38 -0
- package/.next/static/media/favicon.37o1pjldwi2uc.ico +0 -0
- package/README.md +6 -4
- package/app/api/bot/memory/files/route.ts +14 -0
- package/app/api/bot/memory/route.ts +5 -0
- package/app/api/events/app-event.client.ts +24 -0
- package/app/api/events/app-event.server.ts +45 -0
- package/app/api/events/app-event.ts +42 -0
- package/app/api/llm-model/catalog/route.ts +12 -0
- package/app/api/llm-model/credits/route.ts +11 -0
- package/app/api/llm-model/route.ts +26 -0
- package/app/api/llm-model/subscription/route.ts +11 -0
- package/app/api/memory/edit/route.ts +7 -0
- package/app/api/memory/route.ts +21 -0
- package/app/api/query-key.ts +159 -0
- package/app/api/thursday/tool-call/route.ts +67 -0
- package/bin/thursday.mjs +3 -0
- package/components/ui/button-group.tsx +45 -0
- package/components/ui/custom-icon.tsx +259 -0
- package/components/ui/dropdown-menu.tsx +271 -0
- package/components/ui/folded-text.tsx +68 -0
- package/components/ui/input-group.tsx +157 -0
- package/components/ui/json-view.tsx +240 -0
- package/components/ui/shiny-text.tsx +55 -0
- package/components/ui/text-type.tsx +213 -0
- package/components/ui/theme-sync.tsx +9 -0
- package/database/migrations/{20260908030742_rainy_marvel_zombies → 20260910173049_numerous_spirit}/migration.sql +30 -33
- package/database/migrations/{20260908030742_rainy_marvel_zombies → 20260910173049_numerous_spirit}/snapshot.json +124 -145
- package/database/migrations/20260911030320_opposite_jack_power/migration.sql +1 -0
- package/database/migrations/20260911030320_opposite_jack_power/snapshot.json +1158 -0
- package/docs/how-it-works.md +59 -0
- package/docs/images/keeps-going.png +0 -0
- package/docs/images/task-thread.png +0 -0
- package/docs/images/two-minds.png +0 -0
- package/features/ai/chatgpt.ts +617 -0
- package/features/ai/components/chatgpt-sign-in.tsx +66 -0
- package/features/ai/components/model-picker.tsx +17 -1
- package/features/ai/components/provider-icon.tsx +1 -0
- package/features/ai/load-tools.ts +105 -39
- package/features/ai/model.schema.ts +232 -34
- package/features/ai/model.ts +169 -24
- package/features/ai/prompts/bot.prompt.ts +245 -59
- package/features/ai/prompts/memory-edit.prompt.ts +33 -0
- package/features/ai/prompts/prompt-helper.ts +75 -30
- package/features/ai/prompts/thursday.prompt.ts +42 -17
- package/features/ai/tools/bot.tool.ts +32 -30
- package/features/ai/tools/connected.ts +17 -4
- package/features/ai/tools/mcp.tool.ts +5 -5
- package/features/ai/tools/memory.tool.ts +142 -74
- package/features/ai/tools/search.tool.ts +136 -47
- package/features/ai/tools/studio.tool.ts +5 -5
- package/features/ai/tools/tool-name.ts +2 -3
- package/features/ai/tools/workspace.tool.ts +33 -4
- package/features/bot/bot.action.ts +24 -7
- package/features/bot/bot.memory.ts +89 -0
- package/features/bot/bot.query.ts +41 -6
- package/features/bot/bot.run.ts +516 -210
- package/features/bot/bot.runner.ts +463 -93
- package/features/bot/bot.schema.ts +84 -7
- package/features/bot/bot.seed.ts +89 -16
- package/features/bot/components/bot-mark.tsx +122 -20
- package/features/bot/components/bot-room.tsx +519 -391
- package/features/bot/components/bot-setting.tsx +832 -341
- package/features/bot/components/bot-tool.tsx +2 -6
- package/features/bot/components/mark-palette.tsx +54 -0
- package/features/bot/components/path-chips.tsx +1 -1
- package/features/bot/components/task-badge.tsx +26 -6
- package/features/bot/components/task-reply.tsx +22 -33
- package/features/bot/components/task-setting.tsx +20 -17
- package/features/bot/task.query.ts +233 -33
- package/features/bot/task.store.ts +53 -9
- package/features/config/components/config-setting.tsx +265 -34
- package/features/config/components/models-badge.tsx +42 -0
- package/features/config/config.action.ts +12 -0
- package/features/config/config.const.ts +38 -2
- package/features/connectors/mcp.manager.ts +10 -2
- package/features/intro/components/intro.tsx +47 -46
- package/features/memory/components/memory-edit.tsx +338 -0
- package/features/memory/components/memory-setting.tsx +86 -79
- package/features/memory/memory.action.ts +3 -43
- package/features/memory/memory.edit.ts +87 -0
- package/features/memory/memory.query.ts +33 -44
- package/features/memory/memory.schema.ts +50 -97
- package/features/settings/components/settings.tsx +2 -0
- package/features/settings/settings.alert.ts +3 -1
- package/features/skills/components/skills-setting.tsx +9 -1
- package/features/thursday/components/ascii-orb.tsx +106 -90
- package/features/thursday/components/boot.tsx +7 -0
- package/features/thursday/components/call-log.tsx +219 -92
- package/features/thursday/components/face.tsx +6 -4
- package/features/thursday/components/tab-state.tsx +97 -0
- package/features/thursday/components/thursday-mark.tsx +4 -1
- package/features/thursday/components/thursday-setting.tsx +17 -47
- package/features/thursday/components/thursday.tsx +208 -95
- package/features/thursday/thursday.action.ts +12 -17
- package/features/thursday/thursday.query.ts +61 -70
- package/features/thursday/thursday.schema.ts +20 -7
- package/features/thursday/tool-line.ts +85 -11
- package/features/thursday/use-thursday.ts +86 -59
- package/features/workspace/components/file-view.tsx +4 -2
- package/features/workspace/workspace.ts +230 -13
- package/hooks/use-draft.ts +37 -0
- package/hooks/use-hotkey.ts +105 -0
- package/hooks/use-object-state.ts +51 -0
- package/hooks/use-on-visible.ts +72 -0
- package/hooks/use-theme.ts +106 -0
- package/hooks/use-wake-word.ts +262 -0
- package/lib/limits.ts +1 -1
- package/lib/oauth-page.ts +27 -0
- package/lib/realtime/openai.ts +2 -2
- package/lib/realtime/realtime.driver.ts +34 -1
- package/lib/realtime/realtime.protocol.ts +7 -1
- package/lib/realtime/realtime.tap.ts +122 -0
- package/lib/sandbox.ts +60 -29
- package/lib/tokens.ts +19 -0
- package/package.json +1 -1
- package/skills/browser/SKILL.md +55 -34
- package/.next/server/app/api/memory/tidy/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/memory/tidy/route.js +0 -23
- package/.next/server/app/api/memory/tidy/route.js.nft.json +0 -1
- package/.next/server/chunks/[root-of-the-server]__019dx9f._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__02_2sm-._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__02kt8yn._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__05luceg._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__06t77t4._.js +0 -11
- package/.next/server/chunks/[root-of-the-server]__0bed6hu._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__0dupqt7._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0h59di-._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0j_n5l3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0le4d-p._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0m8ywyo._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__0nfuugi._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0phdgco._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__0qjqtwo._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0t_dqaj._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0wvgrsl._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0yk6s3w._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0z3gelv._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__10qshki._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__113fqg5._.js +0 -12
- package/.next/server/chunks/[root-of-the-server]__11w_7_3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__16thabu._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__173nhwf._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__1_0q_9w._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1_aoyr9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1bqhuh9._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__1cqizfq._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1dow0bz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1e-ci13._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1gmn1cs._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__1lr7j9t._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1mzp_el._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1txedx6._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__1u_qvc7._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1zgpz1w._.js +0 -3
- package/.next/server/chunks/_012yhfm._.js +0 -39
- package/.next/server/chunks/_06mxlgn._.js +0 -3
- package/.next/server/chunks/_07rtlxv._.js +0 -3
- package/.next/server/chunks/_0a351g7._.js +0 -6
- package/.next/server/chunks/_0kjjmag._.js +0 -3
- package/.next/server/chunks/_0zmestz._.js +0 -55
- package/.next/server/chunks/_0zuzmt_._.js +0 -39
- package/.next/server/chunks/_12bbv5i._.js +0 -96
- package/.next/server/chunks/_15q1pig._.js +0 -3
- package/.next/server/chunks/_1drv2et._.js +0 -36
- package/.next/server/chunks/_1ic3bew._.js +0 -5
- package/.next/server/chunks/_1mxn_lb._.js +0 -3
- package/.next/server/chunks/_1uj4_io._.js +0 -10
- package/.next/server/chunks/_1x7p319._.js +0 -6
- package/.next/server/chunks/_1yldgo4._.js +0 -55
- package/.next/server/chunks/_2050gwn._.js +0 -255
- package/.next/server/chunks/_next-internal_server_app_api_memory_tidy_route_actions_0_cfuom.js +0 -3
- package/.next/server/chunks/features_0scmr4i._.js +0 -3
- package/.next/server/chunks/features_bot_task_query_ts_11xuzl3._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0vorg6w._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ykklj0._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1ryg3wh._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1vmaq9f._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1vwbnq_._.js +0 -3
- package/.next/server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__01id-v3._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0b-0i32._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0dfwvr4._.js +0 -4
- package/.next/server/chunks/ssr/[root-of-the-server]__0iuoa-r._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1-mnhyd._.js +0 -90
- package/.next/server/chunks/ssr/[root-of-the-server]__185grso._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1minz8_._.js +0 -3
- package/.next/server/chunks/ssr/_0-mc7ro._.js +0 -3
- package/.next/server/chunks/ssr/_01p5r6-._.js +0 -3
- package/.next/server/chunks/ssr/_09-0k3z._.js +0 -3
- package/.next/server/chunks/ssr/_0ay6b01._.js +0 -3
- package/.next/server/chunks/ssr/_0cvjbuz._.js +0 -3
- package/.next/server/chunks/ssr/_0fafgvl._.js +0 -3
- package/.next/server/chunks/ssr/_0j4v8of._.js +0 -3
- package/.next/server/chunks/ssr/_0l81bzy._.js +0 -3
- package/.next/server/chunks/ssr/_0nso8tp._.js +0 -3
- package/.next/server/chunks/ssr/_0sf1isi._.js +0 -3
- package/.next/server/chunks/ssr/_0ti51xc._.js +0 -3
- package/.next/server/chunks/ssr/_0y84qo6._.js +0 -3
- package/.next/server/chunks/ssr/_10uvw3l._.js +0 -3
- package/.next/server/chunks/ssr/_1dcxzqe._.js +0 -3
- package/.next/server/chunks/ssr/_1e-dgz0._.js +0 -4
- package/.next/server/chunks/ssr/_1fq7zgb._.js +0 -3
- package/.next/server/chunks/ssr/_1jbv7m1._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +0 -4
- package/.next/server/chunks/ssr/features_config_components_14jqgy4._.js +0 -3
- package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +0 -4
- package/.next/server/chunks/ssr/lib_realtime_0aetuyp._.js +0 -24
- package/.next/server/chunks/ssr/lib_realtime_18k_aj-._.js +0 -24
- package/.next/server/chunks/ssr/node_modules_zod_v4_classic_errors_05xv7vp.js +0 -3
- package/.next/server/chunks/ssr/node_modules_zod_v4_classic_external_15fmmz3.js +0 -55
- package/.next/static/chunks/0f9sq-7q_yxyl.js +0 -1
- package/.next/static/chunks/0tydnn2kybibk.js +0 -1
- package/.next/static/chunks/0yysv1gzin17t.js +0 -1
- package/.next/static/chunks/1fr5m75pwtyic.js +0 -1
- package/.next/static/chunks/1gy3bbv7usnjo.js +0 -1
- package/.next/static/chunks/1keib_gt066gc.js +0 -1
- package/.next/static/chunks/1ytnip8wdng93.js +0 -1
- package/.next/static/chunks/21rk8w7bda-su.js +0 -1
- package/.next/static/chunks/247d-r95j8xs0.js +0 -1
- package/.next/static/chunks/28g42tw8tsvhd.js +0 -1
- package/.next/static/chunks/29gyb3nubj51j.js +0 -53
- package/.next/static/chunks/2cwjgkt_hoyhj.js +0 -22
- package/.next/static/chunks/2fq_86jvq9ymq.js +0 -2
- package/.next/static/chunks/2rbf1fpd8n80-.js +0 -22
- package/.next/static/chunks/2ukj8k69y89um.js +0 -1
- package/.next/static/chunks/2uxum7qbyeyxd.js +0 -1
- package/.next/static/chunks/2wngeetfnzxkp.js +0 -2
- package/.next/static/chunks/388-t2v72jh39.css +0 -1
- package/.next/static/chunks/3fqvc0cg-atq_.js +0 -1
- package/.next/static/chunks/3p4egvfjxpatb.js +0 -1
- package/.next/static/chunks/3qe1w1ei-huhl.js +0 -1
- package/.next/static/chunks/3xxa2j56-f3nm.js +0 -3
- package/.next/static/chunks/3y40riycdip-i.js +0 -1
- package/.next/static/chunks/45a6zbtkelph9.js +0 -1
- package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- package/features/ai/prompts/memory-tidy.prompt.ts +0 -123
- package/features/ai/tools/tidy.tool.ts +0 -22
- package/features/memory/components/memory-tidy.tsx +0 -395
- package/features/memory/memory.tidy.ts +0 -332
- package/features/memory/tidy.query.ts +0 -135
- package/features/thursday/use-call-title.ts +0 -31
- /package/.next/server/app/api/{memory/tidy → bot/memory/files}/route/build-manifest.json +0 -0
- /package/.next/server/app/api/{memory/tidy → bot/memory/files}/route/server-reference-manifest.json +0 -0
- /package/.next/server/app/api/{memory/tidy → bot/memory/files}/route.js.map +0 -0
- /package/.next/static/{X34BUd9bfdH27ripuwwBm → x1cCqY0kWpR_VcYx_lWO5}/_buildManifest.js +0 -0
- /package/.next/static/{X34BUd9bfdH27ripuwwBm → x1cCqY0kWpR_VcYx_lWO5}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{X34BUd9bfdH27ripuwwBm → x1cCqY0kWpR_VcYx_lWO5}/_ssgManifest.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
module.exports=[203469,a=>{"use strict";let b,c,d,e,f,g;var h,i=a.i(569572),j=a.i(176668);let k={tasks:!0,memory:!0,mcp:!0,
|
|
1
|
+
module.exports=[203469,a=>{"use strict";let b,c,d,e,f,g;var h,i=a.i(569572),j=a.i(176668);let k={tasks:!0,memory:!0,mcp:!0,config:!0},l=globalThis,m=l.__appEvents??=(b=new Set,{emit(a){for(let c of[...b])try{c(a)}catch(a){console.error("event listener failed",a)}},subscribe:a=>(b.add(a),()=>{b.delete(a)})}),n=l.__presence??=(h=i.BROWSER_GONE_MS,c=!1,d=null,e=new Set,f=new Set,g=a=>{for(let b of[...a])try{b()}catch(a){console.error("presence listener failed",a)}},{get watching(){return c},track(a){if(a>0){d&&clearTimeout(d),d=null,c||(c=!0,g(f));return}!d&&c&&(d=setTimeout(()=>{d=null,c=!1,g(e)},h))},onGone:a=>(e.add(a),()=>e.delete(a)),onBack:a=>(f.add(a),()=>f.delete(a))}),o=l.__appEventStream??=function(a,b={}){let c=new TextEncoder,d=b.heartbeatMs??2e4,e=0;return{respond:(f,g)=>{let h=()=>{};return new Response(new ReadableStream({async start(i){let k=!1,l=new Map,m=[],n=a=>{if(!k)try{i.enqueue(c.encode(a))}catch{h()}},o=a=>n(`data: ${JSON.stringify(a)}
|
|
2
2
|
|
|
3
|
-
`),p=a=>{let c=b.coalesce?.keyOf(a)??null;if(null===c)return o(a);let d=l.get(c);d&&clearTimeout(d),l.set(c,setTimeout(()=>{l.delete(c),o(a)},b.coalesce?.ms))},q=a.subscribe(a=>m?m.push(a):p(a)),r=setInterval(()=>n(": ping\n\n"),d);e+=1,b.onWatchers?.(e),h=()=>{if(!k){for(let a of(k=!0,e-=1,b.onWatchers?.(e),q(),clearInterval(r),l.values()))clearTimeout(a);try{i.close()}catch{}}},f.addEventListener("abort",h);try{for(let a of await g?.()??[])o(a)}catch(a){j.logger.error("event stream opening failed",a),h();return}let s=m;for(let a of(m=null,s))p(a)},cancel(){h()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return e}}}(m,{coalesce:{ms:150,keyOf:a=>a.type in k?a.type:null},onWatchers:n.track});l.__bootId??=crypto.randomUUID(),a.s(["appEventStream",0,o,"appEvents",0,m],203469)},978876,a=>{"use strict";var b=a.i(912714),c=a.i(527990),d=a.i(794219),e=a.i(762008),f=a.i(684321),g=a.i(821415);let h={name:e.TOOL_NAMES.delegate,description:"Hand a job to a bot. Returns immediately; the job runs in the background and its result is put in front of you later.",parameters:d.object({bot:d.string().describe("A name from the bot list."),request:d.string().describe("The whole job. The bot cannot hear the call, so everything it needs goes here — names, paths, what the user actually asked for — in their own language and their own words: it is the only language the bot has, and whatever it writes comes back to them. **Their request, never your reading of it**: a condition, a caution or a smaller goal they did not say is how a job comes back as the wrong thing. When their words leave a real choice open, ask them on the call and put the answer here."),label:d.string().describe("Two or three words naming the job, in the user's language. Used on screen and said out loud.")})},i={name:e.TOOL_NAMES.ask_bot,description:"Hand one part of the job you are holding to another bot and wait for what they bring back. The job stays yours.",parameters:d.object({bot:d.string().describe("A name from the bot list."),request:d.string().describe("The part they take, as a brief: the outcome you want, the shape to hand it back in (a path, a number, a list), and every name, path, number and limit that bears on it. They see nothing but this and `context` — not the call, not your thread — so write it long rather than short; a brief that leaves them guessing costs a whole run."),context:d.string().describe("The job you were given, quoted, and whatever you have found that bears on this part — exact values, and the paths of files you wrote for them to read. They cannot see your work, your tool output, or the call.")})},j={name:e.TOOL_NAMES.ask_back,description:"Ask the bot that handed you this part. They answer from what they have — the original request, the call it came from, what they found before asking you.",parameters:d.object({question:d.string().describe("One whole question — what you need and why. They cannot take it to the user for you, so ask what they would know.")})},k={name:e.TOOL_NAMES.ask_thursday,description:"Ask Thursday, who handed you this job. The job stops until an answer comes back.",parameters:d.object({question:d.string().describe("One whole question — what you need and why. One or two sentences, in the user's language: she may read it to them out loud, options and all."),options:d.union([d.string().array(),d.string()]).nullable().describe('Only when there really are choices — two or three, each short, as an array: ["Signed in", "Not yet"]. Null for an open question.')})},l={name:e.TOOL_NAMES.report,description:"Hand back what the job produced. Calling this ends the job — nothing after it runs.",parameters:d.object({result:d.string().describe("The result itself, in a few lines — what you found or did, not a replay of how. Thursday reads this out loud, so write what a person needs to hear. If you could not do it, say what stopped you."),complete:d.boolean().describe("True when the whole request is done. False when work is left over — the user is then asked whether to keep going, and `result` is what they decide on.")})},m={name:e.TOOL_NAMES.task,description:"Check a job you handed over, answer what it is asking, or cancel it.",parameters:d.object({action:d.enum(["status","answer","cancel"]),task:d.string().nullable().describe("The job, by its label or by the handle a past call's transcript carries. With `status`: null for every job in one line each — that is the list — or name one to get its report in full."),answer:d.string().nullable().describe("With `answer`: what to tell the bot — the answer to its question, a course correction for a job still running, or what to do next on one that finished.")})},n=(0,c.tool)({description:k.description,inputSchema:k.parameters}),o=(0,c.tool)({description:l.description,inputSchema:l.parameters,execute:async({result:a,complete:b})=>{let c=await q(a);return c.length?`${p} these files do not exist — ${c.join(", ")}. Write them first, or take the paths out of the result.`:b?"Handed back. The job is closed; nothing further runs.":"Handed back as unfinished. The user decides whether to continue."}}),p="Not handed back:";async function q(a){let c=[];for(let d of(0,f.pathsIn)(a)){let a=await (0,g.insideWorkspace)(d);a&&(await (0,b.stat)(a).then(a=>a.isFile(),()=>!1)||c.push(d))}return c}a.s(["askBackSpec",0,j,"askBotSpec",0,i,"askThursdayTool",0,n,"delegateSpec",0,h,"reportAccepted",0,a=>"string"!=typeof a||!a.startsWith(p),"reportTool",0,o,"taskSpec",0,m])},762008,a=>{"use strict";a.s(["STUDIO_TOOLS",0,{generate_image:"generate_image",generate_speech:"generate_speech",transcribe:"transcribe",generate_video:"generate_video"},"TOOL_NAMES",0,{memory_recall:"memory_recall",memory_remember:"memory_remember",memory_forget:"memory_forget",memory_show:"memory_show",bash:"bash",write_file:"write_file",tool_search:"tool_search",tool_call:"tool_call",load_skill:"load_skill",web_search:"web_search",delegate:"delegate",task:"task",ask_bot:"ask_bot",ask_thursday:"ask_thursday",ask_back:"ask_back",report:"report",end_call:"end_call",tidy_done:"tidy_done"}])},84929,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(258261),g=a.i(351674),h=a.i(203469),i=a.i(184838),j=a.i(714428),k=a.i(978876),l=a.i(762008),m=a.i(182248),n=a.i(446957),o=b([i]);[i]=o.then?(await o)():o;let L=()=>h.appEvents.emit({type:"tasks"}),M={id:j.taskTable.id,bot:j.taskTable.bot,label:j.taskTable.label,request:j.taskTable.request,status:j.taskTable.status,outcome:j.taskTable.outcome,pending:j.taskTable.pending,reported:j.taskTable.reported,inputTokens:j.taskTable.inputTokens,outputTokens:j.taskTable.outputTokens,contextTokens:j.taskTable.contextTokens,contextBudget:j.taskTable.contextBudget,createdAt:j.taskTable.createdAt,updatedAt:j.taskTable.updatedAt};async function p(a){let{opening:b,...c}=a,[d]=await i.database.insert(j.taskTable).values({id:crypto.randomUUID(),status:"running",...c}).returning();return await A(d.id,0,{bot:null,parent:null,role:"user",content:b}),L(),d}async function q(a,b){await i.database.update(j.taskTable).set({...b,updatedAt:new Date}).where((0,d.eq)(j.taskTable.id,a)),L()}async function r(a){0!==a.length&&(await i.database.update(j.taskTable).set({reported:!0}).where((0,d.inArray)(j.taskTable.id,a)),L())}async function s(a,b,c=null){(b.input||b.output||null!==c)&&(await i.database.update(j.taskTable).set({inputTokens:g.sql`${j.taskTable.inputTokens} + ${b.input}`,outputTokens:g.sql`${j.taskTable.outputTokens} + ${b.output}`,...null===c?{}:{contextTokens:c.tokens,contextBudget:c.budget}}).where((0,d.eq)(j.taskTable.id,a)),L())}async function t(a){let[b]=await i.database.select().from(j.taskTable).where((0,d.eq)(j.taskTable.id,a));return b??null}async function u(a={}){let b=await i.database.select(M).from(j.taskTable).where(a.before?(0,d.lt)(j.taskTable.updatedAt,a.before):void 0).orderBy((0,e.desc)(j.taskTable.updatedAt)).limit(a.limit??n.TASK_HISTORY_PAGE);return E(b)}async function v(a){return a.length?await i.database.select({id:j.taskTable.id,callId:j.taskTable.callId,label:j.taskTable.label,status:j.taskTable.status,outcome:j.taskTable.outcome}).from(j.taskTable).where((0,d.inArray)(j.taskTable.callId,a)).orderBy(j.taskTable.createdAt):[]}async function w(a){let b=await i.database.delete(j.taskTable).where((0,d.eq)(j.taskTable.id,a)).returning({id:j.taskTable.id});return b.length&&L(),b.length>0}async function x(){let a=await i.database.delete(j.taskTable).where((0,d.inArray)(j.taskTable.status,["done","failed"])).returning({id:j.taskTable.id});return a.length&&L(),a.length}async function y(){return(await i.database.select({id:j.taskTable.id}).from(j.taskTable).orderBy((0,e.desc)(j.taskTable.createdAt))).map(a=>a.id)}async function z(a){let b=a.trim();if(!b)return null;let c=await t(b);if(c)return c;let d=b.toLowerCase();return(await i.database.select().from(j.taskTable).orderBy((0,e.desc)(j.taskTable.updatedAt)).limit(20)).find(a=>a.label.toLowerCase()===d)??null}async function A(a,b,c){await i.database.insert(j.taskMessageTable).values({taskId:a,seq:b,...c,compact:c.compact??!1}).onConflictDoUpdate({target:[j.taskMessageTable.taskId,j.taskMessageTable.seq],set:{role:c.role,content:c.content,compact:c.compact??!1}}),L()}async function B(a,b){b.length&&(await i.database.delete(j.taskMessageTable).where((0,d.and)((0,d.eq)(j.taskMessageTable.taskId,a),(0,d.inArray)(j.taskMessageTable.seq,b))),L())}async function C(a){let[b]=await i.database.select({seq:(0,f.max)(j.taskMessageTable.seq)}).from(j.taskMessageTable).where((0,d.eq)(j.taskMessageTable.taskId,a));return b?.seq??-1}async function D(a){let b=await i.database.select({role:j.taskMessageTable.role,content:j.taskMessageTable.content,compact:j.taskMessageTable.compact}).from(j.taskMessageTable).where((0,d.and)((0,d.eq)(j.taskMessageTable.taskId,a),(0,d.isNull)(j.taskMessageTable.parent))).orderBy(j.taskMessageTable.seq),c=b.findLastIndex(a=>a.compact);return b.slice(Math.max(c,0)).map(a=>({role:a.role,content:a.content}))}async function E(a){if(0===a.length)return[];let b=await i.database.select().from(j.taskMessageTable).where((0,d.inArray)(j.taskMessageTable.taskId,a.map(a=>a.id))).orderBy(j.taskMessageTable.seq),c=new Map(a.map(a=>[a.id,a.bot])),e=new Map;for(let a of b){let b=e.get(a.taskId)??[];b.push(...function(a,b){let c={seq:a.seq,bot:a.bot,parent:a.parent,at:a.createdAt},d=b=>`${a.id}-${b}`,e=a.content;if("user"===a.role){if(0===a.seq)return[];let b="string"==typeof e?e:e.flatMap(a=>"text"===a.type&&a.text?[a.text]:[]).join("\n").trim();return b?a.compact?[{...c,id:d(0),kind:"note",text:b}]:[{...c,id:d(0),kind:"user",text:b}]:[]}if("assistant"===a.role){let e=a.content;if("string"==typeof e)return e.trim()?[{...c,id:d(0),kind:"text",text:e.trim()}]:[];let f=[];return e.forEach((a,e)=>{if("text"===a.type){let b=a.text.trim();b&&f.push({...c,id:d(e),kind:"text",text:b});return}if("tool-result"===a.type)return void f.push(H(c,d(e),a));if("tool-call"!==a.type)return;let g=a.input??{};if(a.toolName===l.TOOL_NAMES.ask_thursday)f.push({...c,id:d(e),kind:"waiting",callId:a.toolCallId,question:String(g.question??""),options:I(g.options)});else if(a.toolName===l.TOOL_NAMES.report){let a=String(g.result??"").trim();a&&f.push({...c,id:d(e),kind:"text",text:a})}else a.toolName===l.TOOL_NAMES.ask_bot?f.push({...c,id:d(e),kind:"ask",callId:a.toolCallId,to:String(g.bot??""),text:String(g.request??"")}):a.toolName===l.TOOL_NAMES.ask_back?f.push({...c,id:d(e),kind:"ask",callId:a.toolCallId,to:b,text:String(g.question??"")}):a.toolName===l.TOOL_NAMES.bash?f.push({...c,id:d(e),kind:"tool",callId:a.toolCallId,name:a.toolName,input:(0,m.clip)(String(g.command??""),120),note:F(g)}):f.push({...c,id:d(e),kind:"tool",callId:a.toolCallId,name:a.toolName,input:G(a.toolName,g),note:F(g),path:a.toolName===l.TOOL_NAMES.write_file?O(g,"path")??null:null})}),f}if("tool"===a.role){let b=[];return a.content.forEach((a,e)=>{if("tool-result"===a.type&&!(a.toolName===l.TOOL_NAMES.report&&(0,k.reportAccepted)(a.output)))if(a.toolName===l.TOOL_NAMES.ask_thursday){let f=J(a.output,4).flatMap(a=>"text"===a.type?[a.text]:[]).join("\n");b.push({...c,id:d(e),kind:"user",text:f})}else if(a.toolName===l.TOOL_NAMES.ask_bot||a.toolName===l.TOOL_NAMES.ask_back){let f=J(a.output,4).flatMap(a=>"text"===a.type?[a.text]:[]).join("\n");b.push({...c,id:d(e),kind:"ask-result",callId:a.toolCallId,text:f})}else b.push(H(c,d(e),a))}),b}return[]}(a,c.get(a.taskId)??"")),e.set(a.taskId,b)}return a.map(a=>(function(a,b){let{pending:c,inputTokens:d,outputTokens:e,...f}=a;return{...f,ask:"waiting"===a.status?{question:a.outcome??"",options:c?.options??[]}:null,tokens:{input:d,output:e},lines:b}})(a,e.get(a.id)??[]))}let N=["query","command","prompt","url","path","pattern","request","question","title","name","task","text"],O=(a,b)=>{let c=a[b];return"string"==typeof c&&c.trim()?c:null};function F(a){let b=O(a,"description");return b?(0,m.clip)(b,120):null}function G(a,b){let c=b??{};if("object"!=typeof c||Array.isArray(c))return(0,m.clip)(String(b??""),120);if(a===l.TOOL_NAMES.bash)return F(c)??(0,m.clip)(String(c.command??""),120);if(a===l.TOOL_NAMES.tool_call||a===l.TOOL_NAMES.tool_search){let a=Array.isArray(c.tools)?c.tools.map(String).join(", "):String(c.tool??""),b=c.args&&"object"==typeof c.args?JSON.stringify(c.args):"";return(0,m.clip)([String(c.server??""),a,b].filter(Boolean).join(" "),120)}for(let a of N){let b=O(c,a);if(b)return(0,m.clip)(b,120)}for(let a of Object.keys(c)){let b=O(c,a);if(b)return(0,m.clip)(b,120)}return Object.keys(c).length?(0,m.clip)(JSON.stringify(c),120):""}function H(a,b,c){let d=J(c.output,5);return{...a,id:b,kind:"tool-result",callId:c.toolCallId,name:c.toolName,results:d.slice(0,4),more:d.length>4}}function I(a){return Array.isArray(a)?a.map(a=>String(a).trim()).filter(Boolean):[]}function J(a,b){if(null==a)return[];if("string"==typeof a)return K(a,b);if("object"!=typeof a)return K(String(a),b);switch(a.type){case"text":case"error-text":return K(String(a.value??""),b);case"json":case"error-json":return J(a.value,b);case"execution-denied":return K("Denied.",b);case"content":{if(!Array.isArray(a.value))return[];let c=[];for(let d of a.value){if("text"===d.type&&"string"==typeof d.text){c.push(...K(d.text,b));continue}let a=function(a){let b=String(a.mediaType??"");if(!b.startsWith("image/"))return null;let c=a.data;return"string"==typeof c?`data:${b};base64,${c}`:c?.type==="url"&&c.url?c.url:c?.type==="data"&&"string"==typeof c.data?`data:${b};base64,${c.data}`:null}(d);a&&c.push({type:"image",src:a})}return c}}return Array.isArray(a.sources)?a.sources.map(a=>String(a?.title??"")).filter(Boolean).slice(0,b).map(a=>({type:"text",text:a})):"string"==typeof a.stdout?K(a.stdout||String(a.stderr??""),b):"string"==typeof a.answer?K(a.answer,b):K(JSON.stringify(a),b)}function K(a,b){return a.split("\n").map(a=>a.trim()).filter(Boolean).slice(0,b).map(a=>({type:"text",text:a}))}a.s(["addTaskUsage",0,s,"deleteFinishedTasks",0,x,"deleteMessages",0,B,"deleteTask",0,w,"findTask",0,t,"insertTask",0,p,"lastSeq",0,C,"listAllTaskIds",0,y,"listCallJobs",0,v,"listTaskHistory",0,u,"listThread",0,D,"markReported",0,r,"optionsOf",0,I,"resolveTask",0,z,"toolLine",0,G,"updateTask",0,q,"upsertMessage",0,A]),c()}catch(a){c(a)}},!1),527990,925034,912735,a=>{"use strict";var b,c,d,e,f,g=a.i(652685),h=a.i(634531),i=a.i(22372);class j extends Error{constructor(a,b){super(a),this.name="ParseError",this.type=b.type,this.field=b.field,this.value=b.value,this.line=b.line}}function k(a){}function l(a,b,c){return 100===c&&97===a.charCodeAt(b+1)&&116===a.charCodeAt(b+2)&&97===a.charCodeAt(b+3)&&58===a.charCodeAt(b+4)}function m(a,b,c){return 101===c&&118===a.charCodeAt(b+1)&&101===a.charCodeAt(b+2)&&110===a.charCodeAt(b+3)&&116===a.charCodeAt(b+4)&&58===a.charCodeAt(b+5)}class n extends TransformStream{constructor({onError:a,onRetry:b,onComment:c,maxBufferSize:d}={}){let e;super({start(f){e=function(a){if("function"==typeof a)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:b=k,onError:c=k,onRetry:d=k,onComment:e,maxBufferSize:f}=a,g=[],h=0,i=!0,n,o="",p=0,q,r=!1;function s(){void 0!==f&&(h+o.length<=f||(r=!0,g.length=0,h=0,n=void 0,o="",p=0,q=void 0,c(new j(`Buffered data exceeded max buffer size of ${f} characters`,{type:"max-buffer-size-exceeded"}))))}function t(a){let c=0;if(-1===a.indexOf("\r")){let d=a.indexOf(`
|
|
3
|
+
`),p=a=>{let c=b.coalesce?.keyOf(a)??null;if(null===c)return o(a);let d=l.get(c);d&&clearTimeout(d),l.set(c,setTimeout(()=>{l.delete(c),o(a)},b.coalesce?.ms))},q=a.subscribe(a=>m?m.push(a):p(a)),r=setInterval(()=>n(": ping\n\n"),d);e+=1,b.onWatchers?.(e),h=()=>{if(!k){for(let a of(k=!0,e-=1,b.onWatchers?.(e),q(),clearInterval(r),l.values()))clearTimeout(a);try{i.close()}catch{}}},f.addEventListener("abort",h);try{for(let a of await g?.()??[])o(a)}catch(a){j.logger.error("event stream opening failed",a),h();return}let s=m;for(let a of(m=null,s))p(a)},cancel(){h()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return e}}}(m,{coalesce:{ms:150,keyOf:a=>a.type in k?a.type:null},onWatchers:n.track});l.__bootId??=crypto.randomUUID(),a.s(["appEventStream",0,o,"appEvents",0,m,"presence",0,n],203469)},978876,a=>{"use strict";var b=a.i(912714),c=a.i(527990),d=a.i(794219),e=a.i(762008),f=a.i(684321),g=a.i(821415);let h={name:e.TOOL_NAMES.delegate,description:"Hand a job to a bot. Returns immediately; the job runs in the background and its result is put in front of you later.",parameters:d.object({bot:d.string().describe("A name from the bot list."),request:d.string().describe("The whole job. The bot cannot hear the call, so everything it needs goes here — names, paths, what the user actually asked for — in their own language and their own words: it is the only language the bot has, and whatever it writes comes back to them. **Their request, never your reading of it**: a condition, a caution or a smaller goal they did not say is how a job comes back as the wrong thing. When their words leave a real choice open, ask them on the call and put the answer here."),label:d.string().describe("Two or three words naming the job, in the user's language. Used on screen and said out loud.")})},i={name:e.TOOL_NAMES.ask_bot,description:"Hand one part of the job you are holding to another bot and wait for what they bring back. The job stays yours.",parameters:d.object({bot:d.string().describe("A name from the bot list."),request:d.string().describe("The part they take: the outcome you want, the shape to hand it back in (a path, a number, a list), and every name, path, number and limit that bears on it. It reaches them under the job and the call it came from, which are attached for you — write the part, not the job again."),context:d.string().describe("What you have done on the job so far and why this part is theirs — exact values, and the paths of files you wrote for them to read. They see this, the part, the job and the call; not your thread or your tool output, so a value you leave out is one they fetch again.")})},j={name:e.TOOL_NAMES.ask_back,description:"Ask the bot that handed you this part. They answer from what they have — the original request, the call it came from, what they found before asking you.",parameters:d.object({question:d.string().describe("One whole question — what you need and why. They cannot take it to the user for you, so ask what they would know.")})},k={name:e.TOOL_NAMES.ask_thursday,description:"Ask Thursday, who handed you this job. The job stops until an answer comes back.",parameters:d.object({question:d.string().describe("One whole question — what you need and why. One or two sentences, in the user's language: she may read it to them out loud, options and all."),options:d.union([d.string().array(),d.string()]).nullish().describe('Only when there really are choices — two or three, each short, as an array: ["Signed in", "Not yet"]. Null for an open question.')})},l={name:e.TOOL_NAMES.answer,description:"Answer the job you were given. Calling this ends the job — nothing after it runs.",parameters:d.object({result:d.string().describe("The answer itself — what you found or did, not a replay of how. As long as the answer needs and no longer: one number is one line. In the user's language; the thread is on their screen. If you could not do it, say what stopped you.")})},m={name:e.TOOL_NAMES.task,description:"Check a job you handed over, answer what it is asking, or cancel it.",parameters:d.object({action:d.enum(["status","answer","cancel"]),task:d.string().nullish().describe('The job, by its label or by the handle a past call\'s transcript carries. Leave it out with `answer` and it goes to the job that moved last — what "that one" means a moment after it answered. With `status`: null for every job in one line each — that is the list — or name one to get its answer in full.'),answer:d.string().nullish().describe("With `answer`: what to tell the bot — the answer to its question, a course correction for a job still running, or what to do next on one that finished.")})},n=(0,c.tool)({description:k.description,inputSchema:k.parameters}),o=(0,c.tool)({description:l.description,inputSchema:l.parameters,execute:async({result:a})=>{let b=await q(a);return b.length?`${p} these files do not exist — ${b.join(", ")}. Write them first, or take the paths out of the answer.`:"Answered. The job is closed; nothing further runs."}}),p="Not answered:";async function q(a){let c=[];for(let d of(0,f.pathsIn)(a)){let a=await (0,g.insideWorkspace)(d);a&&(await (0,b.stat)(a).then(a=>a.isFile(),()=>!1)||c.push(d))}return c}a.s(["answerAccepted",0,a=>"string"!=typeof a||!a.startsWith(p),"answerTool",0,o,"askBackSpec",0,j,"askBotSpec",0,i,"askThursdayTool",0,n,"delegateSpec",0,h,"isAnswerCall",0,a=>a===e.TOOL_NAMES.answer||"report"===a,"taskSpec",0,m])},84929,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(258261),g=a.i(351674),h=a.i(203469),i=a.i(569572),j=a.i(184838),k=a.i(714428),l=a.i(978876),m=a.i(762008),n=a.i(182248),o=a.i(446957),p=b([j]);[j]=p.then?(await p)():p;let R=()=>h.appEvents.emit({type:"tasks"}),S={id:k.taskTable.id,bot:k.taskTable.bot,label:k.taskTable.label,request:k.taskTable.request,status:k.taskTable.status,outcome:k.taskTable.outcome,pending:k.taskTable.pending,seen:k.taskTable.seen,inputTokens:k.taskTable.inputTokens,outputTokens:k.taskTable.outputTokens,contextTokens:k.taskTable.contextTokens,contextBudget:k.taskTable.contextBudget,createdAt:k.taskTable.createdAt,updatedAt:k.taskTable.updatedAt};async function q(a){let{opening:b,...c}=a,[d]=await j.database.insert(k.taskTable).values({id:crypto.randomUUID(),status:"running",...c}).returning();return await G(d.id,0,{bot:null,parent:null,role:"user",content:b}),R(),d}async function r(a,b){await j.database.update(k.taskTable).set({...b,updatedAt:new Date}).where((0,d.eq)(k.taskTable.id,a)),R()}async function s(a){0!==a.length&&(await j.database.update(k.taskTable).set({seen:!0}).where((0,d.inArray)(k.taskTable.id,a)),R())}async function t(a,b,c=null){(b.input||b.output||null!==c)&&(await j.database.update(k.taskTable).set({inputTokens:g.sql`${k.taskTable.inputTokens} + ${b.input}`,outputTokens:g.sql`${k.taskTable.outputTokens} + ${b.output}`,...null===c?{}:{contextTokens:c.tokens,contextBudget:c.budget}}).where((0,d.eq)(k.taskTable.id,a)),R())}async function u(a){let[b]=await j.database.select().from(k.taskTable).where((0,d.eq)(k.taskTable.id,a));return b??null}async function v(){let[a,b]=await Promise.all([j.database.select(S).from(k.taskTable).where((0,d.inArray)(k.taskTable.status,["running","waiting"])).orderBy((0,e.desc)(k.taskTable.updatedAt)),j.database.select(S).from(k.taskTable).where((0,d.inArray)(k.taskTable.status,["done","failed"])).orderBy((0,e.desc)(k.taskTable.updatedAt)).limit(i.INBOX_FINISHED)]),c=[...a,...b].sort((a,b)=>b.updatedAt.getTime()-a.updatedAt.getTime());return K(c)}async function w(a={}){let b=await j.database.select(S).from(k.taskTable).where(a.before?(0,d.lt)(k.taskTable.updatedAt,a.before):void 0).orderBy((0,e.desc)(k.taskTable.updatedAt)).limit(a.limit??o.TASK_HISTORY_PAGE);return K(b)}async function x(a){return a.length?await j.database.select({id:k.taskTable.id,callId:k.taskTable.callId,label:k.taskTable.label,status:k.taskTable.status,outcome:k.taskTable.outcome}).from(k.taskTable).where((0,d.inArray)(k.taskTable.callId,a)).orderBy(k.taskTable.createdAt):[]}async function y(a){let b=await j.database.delete(k.taskTable).where((0,d.eq)(k.taskTable.id,a)).returning({id:k.taskTable.id});return b.length&&R(),b.length>0}async function z(){let a=await j.database.delete(k.taskTable).where((0,d.inArray)(k.taskTable.status,["done","failed"])).returning({id:k.taskTable.id,label:k.taskTable.label});return a.length&&R(),a}async function A(){return(await j.database.select({id:k.taskTable.id}).from(k.taskTable).orderBy((0,e.desc)(k.taskTable.createdAt))).map(a=>a.id)}async function B(a){let b=await j.database.select({role:k.taskMessageTable.role,bot:k.taskMessageTable.bot,note:k.taskMessageTable.note,compact:k.taskMessageTable.compact}).from(k.taskMessageTable).where((0,d.and)((0,d.eq)(k.taskMessageTable.taskId,a),(0,d.isNull)(k.taskMessageTable.parent))).orderBy((0,e.desc)(k.taskMessageTable.seq)),c=0;for(let a of b){if(a.note){a.compact||(c+=1);continue}if(null===a.bot||"user"===a.role)break}return c}async function C(a){let b=await j.database.select({parent:k.taskMessageTable.parent,bot:k.taskMessageTable.bot,content:k.taskMessageTable.content}).from(k.taskMessageTable).where((0,d.and)((0,d.eq)(k.taskMessageTable.taskId,a),(0,d.isNotNull)(k.taskMessageTable.parent),(0,d.eq)(k.taskMessageTable.role,"assistant"))).orderBy(k.taskMessageTable.seq),c=new Map;for(let a of b){if(!a.parent)continue;let b=c.get(a.parent)??{bot:a.bot??"",texts:[],then:null},d=a.content;for(let a of"string"==typeof d?[{type:"text",text:d}]:d)"text"===a.type&&a.text.trim()?(b.texts.push(a.text.trim()),b.then=null):"tool-call"===a.type&&(b.then=`${a.toolName} ${M(a.toolName,a.input)}`.trim());c.set(a.parent,b)}let e=new Map;for(let[a,b]of c){let c=[...b.texts.slice(-3).map(a=>(0,n.clip)(a,600)),b.then?`Then: ${b.then}`:""].filter(Boolean).join("\n\n");c&&e.set(a,{bot:b.bot,tail:c})}return e}function D(a){let b=new Set;for(let c of a)if(Array.isArray(c))for(let a of c){if("tool-call"!==a.type||a.toolName!==m.TOOL_NAMES.write_file)continue;let c=a.input?.path;"string"==typeof c&&c.trim()&&(b.delete(c.trim()),b.add(c.trim()))}return[...b]}async function E(a){let b=await j.database.select({content:k.taskMessageTable.content}).from(k.taskMessageTable).where((0,d.and)((0,d.eq)(k.taskMessageTable.taskId,a),(0,d.eq)(k.taskMessageTable.role,"assistant"))).orderBy(k.taskMessageTable.seq);return D(b.map(a=>a.content))}async function F(a){let b=a.trim();if(!b)return null;let c=await u(b);if(c)return c;let d=b.toLowerCase();return(await j.database.select().from(k.taskTable).orderBy((0,e.desc)(k.taskTable.updatedAt)).limit(20)).find(a=>a.label.toLowerCase()===d)??null}async function G(a,b,c){await j.database.insert(k.taskMessageTable).values({taskId:a,seq:b,...c,compact:c.compact??!1,note:c.note??!1}).onConflictDoUpdate({target:[k.taskMessageTable.taskId,k.taskMessageTable.seq],set:{role:c.role,content:c.content,compact:c.compact??!1,note:c.note??!1}}),R()}async function H(a,b){b.length&&(await j.database.delete(k.taskMessageTable).where((0,d.and)((0,d.eq)(k.taskMessageTable.taskId,a),(0,d.inArray)(k.taskMessageTable.seq,b))),R())}async function I(a){let[b]=await j.database.select({seq:(0,f.max)(k.taskMessageTable.seq)}).from(k.taskMessageTable).where((0,d.eq)(k.taskMessageTable.taskId,a));return b?.seq??-1}async function J(a){let b=await j.database.select({role:k.taskMessageTable.role,content:k.taskMessageTable.content,compact:k.taskMessageTable.compact}).from(k.taskMessageTable).where((0,d.and)((0,d.eq)(k.taskMessageTable.taskId,a),(0,d.isNull)(k.taskMessageTable.parent))).orderBy(k.taskMessageTable.seq),c=b.findLastIndex(a=>a.compact);return(c>0?[b[0],...b.slice(c)]:b).map(a=>({role:a.role,content:a.content}))}async function K(a){if(0===a.length)return[];let b=await j.database.select().from(k.taskMessageTable).where((0,d.inArray)(k.taskMessageTable.taskId,a.map(a=>a.id))).orderBy(k.taskMessageTable.seq),c=new Map(a.map(a=>[a.id,a.bot])),e=new Map;for(let a of b){let b=e.get(a.taskId)??[];b.push(...function(a,b){let c={seq:a.seq,bot:a.bot,parent:a.parent,at:a.createdAt},d=b=>`${a.id}-${b}`,e=a.content;if("user"===a.role){if(0===a.seq)return[];let b="string"==typeof e?e:e.flatMap(a=>"text"===a.type&&a.text?[a.text]:[]).join("\n").trim();return b?a.note||a.compact?[{...c,id:d(0),kind:"note",text:b}]:[{...c,id:d(0),kind:"user",text:b}]:[]}if("assistant"===a.role){let e=a.content;if("string"==typeof e)return e.trim()?[{...c,id:d(0),kind:"text",text:e.trim()}]:[];let f=[];return e.forEach((a,e)=>{if("text"===a.type){let b=a.text.trim();b&&f.push({...c,id:d(e),kind:"text",text:b});return}if("tool-result"===a.type)return void f.push(N(c,d(e),a));if("tool-call"!==a.type)return;let g=a.input??{};if(a.toolName===m.TOOL_NAMES.ask_thursday)f.push({...c,id:d(e),kind:"waiting",callId:a.toolCallId,question:String(g.question??""),options:O(g.options)});else if((0,l.isAnswerCall)(a.toolName)){let a=String(g.result??"").trim();a&&f.push({...c,id:d(e),kind:"text",text:a})}else a.toolName===m.TOOL_NAMES.ask_bot?f.push({...c,id:d(e),kind:"ask",callId:a.toolCallId,to:String(g.bot??""),text:String(g.request??"")}):a.toolName===m.TOOL_NAMES.ask_back?f.push({...c,id:d(e),kind:"ask",callId:a.toolCallId,to:b,text:String(g.question??"")}):a.toolName===m.TOOL_NAMES.bash?f.push({...c,id:d(e),kind:"tool",callId:a.toolCallId,name:a.toolName,input:(0,n.clip)(String(g.command??""),120),note:L(g)}):f.push({...c,id:d(e),kind:"tool",callId:a.toolCallId,name:a.toolName,input:M(a.toolName,g),note:L(g),path:a.toolName===m.TOOL_NAMES.write_file?U(g,"path")??null:null})}),f}if("tool"===a.role){let b=[];return a.content.forEach((a,e)=>{if("tool-result"===a.type&&!((0,l.isAnswerCall)(a.toolName)&&(0,l.answerAccepted)(a.output)))if(a.toolName===m.TOOL_NAMES.ask_thursday){let f=P(a.output,4).flatMap(a=>"text"===a.type?[a.text]:[]).join("\n");b.push({...c,id:d(e),kind:"user",text:f})}else if(a.toolName===m.TOOL_NAMES.ask_bot||a.toolName===m.TOOL_NAMES.ask_back){let f=P(a.output,4).flatMap(a=>"text"===a.type?[a.text]:[]).join("\n");b.push({...c,id:d(e),kind:"ask-result",callId:a.toolCallId,text:f})}else b.push(N(c,d(e),a))}),b}return[]}(a,c.get(a.taskId)??"")),e.set(a.taskId,b)}return a.map(a=>(function(a,b){let{pending:c,inputTokens:d,outputTokens:e,...f}=a;return{...f,ask:"waiting"===a.status?{question:a.outcome??"",options:c?.options??[],auto:c?.auto===!0}:null,tokens:{input:d,output:e},lines:b}})(a,e.get(a.id)??[]))}let T=["query","command","prompt","url","path","pattern","request","question","title","name","task","text"],U=(a,b)=>{let c=a[b];return"string"==typeof c&&c.trim()?c:null};function L(a){let b=U(a,"description");return b?(0,n.clip)(b,120):null}function M(a,b){let c=b??{};if("object"!=typeof c||Array.isArray(c))return(0,n.clip)(String(b??""),120);if(a===m.TOOL_NAMES.bash)return L(c)??(0,n.clip)(String(c.command??""),120);if(a===m.TOOL_NAMES.tool_call||a===m.TOOL_NAMES.tool_search){let a=Array.isArray(c.tools)?c.tools.map(String).join(", "):String(c.tool??""),b=c.args&&"object"==typeof c.args?JSON.stringify(c.args):"";return(0,n.clip)([String(c.server??""),a,b].filter(Boolean).join(" "),120)}for(let a of T){let b=U(c,a);if(b)return(0,n.clip)(b,120)}for(let a of Object.keys(c)){let b=U(c,a);if(b)return(0,n.clip)(b,120)}return Object.keys(c).length?(0,n.clip)(JSON.stringify(c),120):""}function N(a,b,c){let d=P(c.output,5);return{...a,id:b,kind:"tool-result",callId:c.toolCallId,name:c.toolName,results:d.slice(0,4),more:d.length>4}}function O(a){return Array.isArray(a)?a.map(a=>String(a).trim()).filter(Boolean):[]}function P(a,b){if(null==a)return[];if("string"==typeof a)return Q(a,b);if("object"!=typeof a)return Q(String(a),b);switch(a.type){case"text":case"error-text":return Q(String(a.value??""),b);case"json":case"error-json":return P(a.value,b);case"execution-denied":return Q("Denied.",b);case"content":{if(!Array.isArray(a.value))return[];let c=[];for(let d of a.value){if("text"===d.type&&"string"==typeof d.text){c.push(...Q(d.text,b));continue}let a=function(a){let b=String(a.mediaType??"");if(!b.startsWith("image/"))return null;let c=a.data;return"string"==typeof c?`data:${b};base64,${c}`:c?.type==="url"&&c.url?c.url:c?.type==="data"&&"string"==typeof c.data?`data:${b};base64,${c.data}`:null}(d);a&&c.push({type:"image",src:a})}return c}}return Array.isArray(a.sources)?a.sources.map(a=>String(a?.title??"")).filter(Boolean).slice(0,b).map(a=>({type:"text",text:a})):"string"==typeof a.stdout?Q(a.stdout||String(a.stderr??""),b):"string"==typeof a.answer?Q(a.answer,b):Q(JSON.stringify(a),b)}function Q(a,b){return a.split("\n").map(a=>a.trim()).filter(Boolean).slice(0,b).map(a=>({type:"text",text:a}))}a.s(["addTaskUsage",0,t,"countStopsSinceSpoken",0,B,"deleteFinishedTasks",0,z,"deleteMessages",0,H,"deleteTask",0,y,"findTask",0,u,"insertTask",0,q,"lastSeq",0,I,"listAllTaskIds",0,A,"listBorrowedTails",0,C,"listCallJobs",0,x,"listInboxTasks",0,v,"listTaskHistory",0,w,"listThread",0,J,"listWrittenPaths",0,E,"markSeen",0,s,"optionsOf",0,O,"resolveTask",0,F,"updateTask",0,r,"upsertMessage",0,G,"writtenPathsIn",0,D]),c()}catch(a){c(a)}},!1),527990,925034,912735,a=>{"use strict";var b,c,d,e,f,g=a.i(652685),h=a.i(634531),i=a.i(22372);class j extends Error{constructor(a,b){super(a),this.name="ParseError",this.type=b.type,this.field=b.field,this.value=b.value,this.line=b.line}}function k(a){}function l(a,b,c){return 100===c&&97===a.charCodeAt(b+1)&&116===a.charCodeAt(b+2)&&97===a.charCodeAt(b+3)&&58===a.charCodeAt(b+4)}function m(a,b,c){return 101===c&&118===a.charCodeAt(b+1)&&101===a.charCodeAt(b+2)&&110===a.charCodeAt(b+3)&&116===a.charCodeAt(b+4)&&58===a.charCodeAt(b+5)}class n extends TransformStream{constructor({onError:a,onRetry:b,onComment:c,maxBufferSize:d}={}){let e;super({start(f){e=function(a){if("function"==typeof a)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:b=k,onError:c=k,onRetry:d=k,onComment:e,maxBufferSize:f}=a,g=[],h=0,i=!0,n,o="",p=0,q,r=!1;function s(){void 0!==f&&(h+o.length<=f||(r=!0,g.length=0,h=0,n=void 0,o="",p=0,q=void 0,c(new j(`Buffered data exceeded max buffer size of ${f} characters`,{type:"max-buffer-size-exceeded"}))))}function t(a){let c=0;if(-1===a.indexOf("\r")){let d=a.indexOf(`
|
|
4
4
|
`,c);for(;-1!==d;){if(c===d){p>0&&b({id:n,event:q,data:o}),n=void 0,o="",p=0,q=void 0,c=d+1,d=a.indexOf(`
|
|
5
5
|
`,c);continue}let e=a.charCodeAt(c);if(l(a,c,e)){let e=32===a.charCodeAt(c+5)?c+6:c+5,f=a.slice(e,d);if(0===p&&10===a.charCodeAt(d+1)){b({id:n,event:q,data:f}),n=void 0,o="",q=void 0,c=d+2,d=a.indexOf(`
|
|
6
6
|
`,c);continue}o=0===p?f:`${o}
|
|
@@ -25,4 +25,4 @@ Content-Type: ${f}\r
|
|
|
25
25
|
Error message: ${Q(b)}`,cause:b}),this[n]=!0,this.text=a}static isInstance(a){return H.hasMarker(a,ac)}},af="AI_LoadAPIKeyError",ag=`vercel.ai.error.${af}`,ah=Symbol.for(ag),ai=class extends(q=H,p=ah,q){constructor({message:a}){super({name:af,message:a}),this[p]=!0}static isInstance(a){return H.hasMarker(a,ag)}},aj="AI_LoadSettingError",ak=`vercel.ai.error.${aj}`,al=Symbol.for(ak),am=class extends(s=H,r=al,s){constructor({message:a}){super({name:aj,message:a}),this[r]=!0}static isInstance(a){return H.hasMarker(a,ak)}},an="AI_NoContentGeneratedError",ao=`vercel.ai.error.${an}`,ap=Symbol.for(ao),aq=class extends(u=H,t=ap,u){constructor({message:a="No content generated."}={}){super({name:an,message:a}),this[t]=!0}static isInstance(a){return H.hasMarker(a,ao)}},ar="AI_NoSuchModelError",as=`vercel.ai.error.${ar}`,at=Symbol.for(as),au=class extends(w=H,v=at,w){constructor({errorName:a=ar,modelId:b,modelType:c,message:d=`No such ${c}: ${b}`}){super({name:a,message:d}),this[v]=!0,this.modelId=b,this.modelType=c}static isInstance(a){return H.hasMarker(a,as)}},av="AI_NoSuchProviderReferenceError",aw=`vercel.ai.error.${av}`,ax=Symbol.for(aw),ay=class extends(y=H,x=ax,y){constructor({provider:a,reference:b,message:c=`No provider reference found for provider '${a}'. Available providers: ${Object.keys(b).join(", ")}`}){super({name:av,message:c}),this[x]=!0,this.provider=a,this.reference=b}static isInstance(a){return H.hasMarker(a,aw)}},az="AI_TooManyEmbeddingValuesForCallError",aA=`vercel.ai.error.${az}`,aB=Symbol.for(aA),aC=class extends(A=H,z=aB,A){constructor(a){super({name:az,message:`Too many values for a single embedding call. The ${a.provider} model "${a.modelId}" can only embed up to ${a.maxEmbeddingsPerCall} values per call, but ${a.values.length} values were provided.`}),this[z]=!0,this.provider=a.provider,this.modelId=a.modelId,this.maxEmbeddingsPerCall=a.maxEmbeddingsPerCall,this.values=a.values}static isInstance(a){return H.hasMarker(a,aA)}},aD="AI_TypeValidationError",aE=`vercel.ai.error.${aD}`,aF=Symbol.for(aE),aG=class a extends(C=H,B=aF,C){constructor({value:a,cause:b,context:c}){let d="Type validation failed";if((null==c?void 0:c.field)&&(d+=` for ${c.field}`),(null==c?void 0:c.entityName)||(null==c?void 0:c.entityId)){d+=" (";const a=[];c.entityName&&a.push(c.entityName),c.entityId&&a.push(`id: "${c.entityId}"`),d+=a.join(", "),d+=")"}super({name:aD,message:`${d}: Value: ${JSON.stringify(a)}.
|
|
26
26
|
Error message: ${Q(b)}`,cause:b}),this[B]=!0,this.value=a,this.context=c}static isInstance(a){return H.hasMarker(a,aE)}static wrap({value:b,cause:c,context:d}){var e,f,g;return a.isInstance(c)&&c.value===b&&(null==(e=c.context)?void 0:e.field)===(null==d?void 0:d.field)&&(null==(f=c.context)?void 0:f.entityName)===(null==d?void 0:d.entityName)&&(null==(g=c.context)?void 0:g.entityId)===(null==d?void 0:d.entityId)?c:new a({value:b,cause:c,context:d})}},aH="AI_UnsupportedFunctionalityError",aI=`vercel.ai.error.${aH}`,aJ=Symbol.for(aI),aK=class extends(E=H,D=aJ,E){constructor({functionality:a,message:b=`'${a}' functionality not supported.`}){super({name:aH,message:b}),this[D]=!0,this.functionality=a}static isInstance(a){return H.hasMarker(a,aI)}};function aL(a){return null===a||"string"==typeof a||"number"==typeof a||"boolean"==typeof a||(Array.isArray(a)?a.every(aL):"object"==typeof a&&Object.entries(a).every(([a,b])=>"string"==typeof a&&(void 0===b||aL(b))))}a.s(["AISDKError",0,H,"APICallError",0,L,"EmptyResponseBodyError",0,P,"InvalidArgumentError",0,U,"InvalidPromptError",0,Y,"InvalidResponseDataError",0,aa,"JSONParseError",0,ae,"LoadAPIKeyError",0,ai,"LoadSettingError",0,am,"NoContentGeneratedError",0,aq,"NoSuchModelError",0,au,"NoSuchProviderReferenceError",0,ay,"TooManyEmbeddingValuesForCallError",0,aC,"TypeValidationError",0,aG,"UnsupportedFunctionalityError",0,aK,"getErrorMessage",0,Q,"isJSONArray",0,function(a){return Array.isArray(a)&&a.every(aL)},"isJSONObject",0,function(a){return null!=a&&"object"==typeof a&&Object.entries(a).every(([a,b])=>"string"==typeof a&&(void 0===b||aL(b)))}])},258261,a=>{"use strict";var b=a.i(351674),c=a.i(163227),d=a.i(494415);a.s(["max",0,function(a){return b.sql`max(${a})`.mapWith((0,c.is)(a,d.Column)?a:String)}])}];
|
|
27
27
|
|
|
28
|
-
//# sourceMappingURL=
|
|
28
|
+
//# sourceMappingURL=_001_ms1._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[102306,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(141146),f=a.i(866491),g=a.i(951675),h=a.i(572131),i=a.i(767561),j=a.i(340695),k=a.i(446181),l=a.i(545097),m=a.i(950463),n=a.i(287702),o=a.i(8468),p=a.i(619477),q=a.i(199169),r=a.i(313237),s=a.i(862966),t=a.i(497895),u=a.i(479461),v=a.i(464013),w=a.i(27418),x=a.i(346075),y=b([o]);[o]=y.then?(await y)():y;let F={running:"working",waiting:"waiting on you",done:"done",failed:"failed"},G={running:"text-muted-foreground",waiting:t.WAITING_INK,done:"text-muted-foreground",failed:"text-destructive"},H="h-[min(34rem,58vh)] min-h-64 px-1";function z(){let{items:a,isLoading:b,isLoadingMore:c,error:e,hasMore:f,sentinelRef:l,refresh:m}=(0,s.useServerPages)({key:(a,b)=>{if(0===a)return i.queryKey.callHistory(null);let c=b?.at(-1);return c?i.queryKey.callHistory((0,q.toDate)(c.startedAt).toISOString()):null},size:n.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),o=(0,h.useMemo)(()=>[...a].reverse(),[a]),[u,w]=(0,r.useServerAction)(v.deleteEndedCallsAction,{okMessage:a=>1===a?"1 call deleted":`${a} calls deleted`,onOk:m}),x=async()=>{await k.notify.confirm({title:"Delete every call?",description:"Every turn of every call goes — and she stops reading any of it back into the next call. A call still on the line stays.",okText:"Delete all",destructive:!0})&&u()},y=(0,h.useRef)(null),z=(0,h.useRef)(!1),C=(0,h.useRef)(0);return((0,h.useLayoutEffect)(()=>{let a=y.current;a&&0!==o.length&&(z.current?a.scrollTop=a.scrollHeight-C.current:(z.current=!0,a.scrollTop=a.scrollHeight),C.current=a.scrollHeight-a.scrollTop)},[o]),b)?(0,d.jsx)("div",{className:(0,t.cn)(H,"overflow-hidden"),children:(0,d.jsx)(A,{})}):e?(0,d.jsx)(p.SettingError,{message:e.message}):(0,d.jsx)(d.Fragment,{children:0===o.length?(0,d.jsx)("p",{className:"px-1 text-sm leading-relaxed text-muted-foreground",children:"No calls yet. Everything said on the line is kept here — hers and yours, in the order it was said."}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{ref:y,onScroll:a=>{let b=a.currentTarget;C.current=b.scrollHeight-b.scrollTop},className:(0,t.cn)(H,"overflow-y-auto overscroll-contain pb-6"),children:[(0,d.jsx)(p.SettingMore,{hasMore:f,loading:c,sentinelRef:l,count:1,ghost:(0,d.jsx)(A,{})}),o.map((a,b)=>(0,d.jsx)(B,{call:a,first:0===b,onDropped:m},a.id))]}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsxs)(j.Button,{variant:"ghost",loading:w,onClick:x,className:"text-muted-foreground hover:text-destructive",children:[(0,d.jsx)(g.Trash2,{}),"Delete all"]})})]})})}function A(){return(0,d.jsxs)("div",{className:"pb-3",children:[(0,d.jsxs)("div",{className:"flex h-7 items-center gap-2.5",children:[(0,d.jsx)(m.Skeleton,{className:"h-3 w-24"}),(0,d.jsx)(m.Skeleton,{className:"h-3 w-10"})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(m.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-sm"})}),(0,d.jsxs)("div",{className:"mt-3 flex items-start gap-2",children:[(0,d.jsx)(m.Skeleton,{className:"mt-0.5 size-[18px] shrink-0 rounded-full"}),(0,d.jsx)(m.Skeleton,{className:"mt-1 h-3.5 w-2/3"})]})]})}let I=a=>"user"===a.role?"user":"her";function B({call:a,first:b,onDropped:c}){let[e,f]=(0,r.useServerAction)(u.deleteCallAction,{okMessage:"Call deleted",onOk:c}),h=(0,q.toDate)(a.startedAt),i=a.turns.at(-1),l=a.endedAt&&i?function(a,b){let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3));if(c<60)return`${c}s`;let d=Math.floor(c/60);return d<60?`${d}m ${String(c%60).padStart(2,"0")}s`:`${Math.floor(d/60)}h ${String(d%60).padStart(2,"0")}m`}(h,(0,q.toDate)(i.at)):"on the line",m=async()=>{await k.notify.confirm({title:`Delete the call from ${(0,q.whenOf)(h)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&e(a.id)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,t.cn)("group flex items-center gap-2.5",b?"mt-1":"mt-11"),children:[(0,d.jsx)("span",{title:`${a.provider} \xb7 ${a.model}`,className:"font-mono text-[10px] tracking-[0.14em] uppercase",children:(0,q.whenOf)(h)}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:l}),(0,d.jsx)("span",{className:"ml-auto flex size-7 shrink-0 items-center justify-center",children:a.endedAt&&(0,d.jsx)(j.Button,{size:"icon-sm",variant:"ghost",loading:f,"aria-label":"Delete this call",onClick:m,className:"text-muted-foreground/60 opacity-0 transition-opacity group-hover:opacity-100 hover:text-destructive focus-visible:opacity-100",children:(0,d.jsx)(g.Trash2,{})})})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(function(a){let b=[];for(let c of a){let a=b.at(-1);if(a&&"tool"===c.role&&"tool"===a.turn.role&&a.turn.tool===c.tool&&a.turn.text===c.text){a.repeats+=1;continue}b.push({turn:c,repeats:1})}return b})(a.turns).map(({turn:b,repeats:c},e,f)=>{var g,h;let i,j=f[e-1]?.turn,k=f[e+1]?.turn;return(0,d.jsx)(C,{turn:b,job:(g=a,h=b,(i=(0,w.delegatedLabel)(h.tool,h.text))?g.jobs.find(a=>a.label===i):void 0),repeats:c,opensRun:!j||I(j)!==I(b),closesRun:!k||I(k)!==I(b)},b.id)})]})}function C({turn:a,job:b,opensRun:c,closesRun:e,repeats:f=1}){return"tool"===a.role?(0,d.jsx)(E,{turn:a,job:b,repeats:f,opensRun:c}):"user"===a.role?(0,d.jsx)("div",{className:(0,t.cn)("flex justify-end",c?"mt-3":"mt-1"),children:(0,d.jsx)("p",{className:(0,t.cn)("max-w-[min(34rem,78%)] rounded-2xl bg-muted px-3.5 py-2 text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",e&&"rounded-br-sm"),children:a.text})}):(0,d.jsxs)("div",{className:(0,t.cn)("flex items-start gap-2",c?"mt-3":"mt-1"),children:[(0,d.jsx)(D,{face:c,className:"mt-0.5"}),(0,d.jsx)("p",{className:"max-w-[min(34rem,78%)] text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",children:a.text})]})}function D({face:a,className:b}){return(0,d.jsx)("span",{className:(0,t.cn)("grid size-[18px] shrink-0 place-items-center",b),children:a&&(0,d.jsx)(x.ThursdayMark,{size:18})})}function E({turn:a,job:b,repeats:c,opensRun:e}){let f=a.tool??"",g=(0,o.toolIcon)(f),h=(0,w.toolLine)(f,a.text);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,t.cn)("flex items-center gap-2",e?"mt-3":"mt-1.5"),children:[(0,d.jsx)(D,{face:e}),(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-muted-foreground",children:[(0,d.jsx)(g,{className:"size-3 shrink-0"}),h&&(0,d.jsx)("span",{className:"truncate text-[11px] break-keep",children:h}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:f}),c>1&&(0,d.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",c]})]})]}),b&&(0,d.jsxs)("p",{className:"mt-0.5 ml-[26px] flex min-w-0 items-baseline gap-1.5 text-[11px]",children:["running"===b.status?(0,d.jsx)(l.ShinyText,{text:F.running,className:"shrink-0 font-mono text-[10px]"}):(0,d.jsx)("span",{className:(0,t.cn)("shrink-0 font-mono text-[10px]",G[b.status]),children:F[b.status]}),b.outcome&&"running"!==b.status&&(0,d.jsx)("span",{className:"truncate text-muted-foreground",children:(0,t.plainText)(b.outcome)})]})]})}a.s(["CallHistoryRow",0,function(){return(0,d.jsx)(p.SettingGroup,{label:"Transcripts",children:(0,d.jsx)(p.SettingItems,{children:(0,d.jsxs)("button",{type:"button",onClick:()=>k.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,d.jsx)(p.SettingDialogContent,{title:"Call history",description:"Everything said on the line, oldest at the top. Scroll up for older calls.",children:(0,d.jsx)(z,{})})}),className:"flex w-full items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.Phone,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,d.jsx)(e.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})})})}]),c()}catch(a){c(a)}},!1),922056,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(752562),f=a.i(26268),g=a.i(572131),h=a.i(767561),i=a.i(340695),j=a.i(825715),k=a.i(205522),l=a.i(446181),m=a.i(777794),n=a.i(546893),o=a.i(287702),p=a.i(379630),q=a.i(61876),r=a.i(626280),s=a.i(324835),t=a.i(619477),u=a.i(102306),v=a.i(445432),w=a.i(334392),x=a.i(759399),y=a.i(635892),z=a.i(703799),A=a.i(461512),B=a.i(359006),C=a.i(888396),D=a.i(332033),E=a.i(616682),F=a.i(313237),G=a.i(759497),H=a.i(497895),I=b([u]);function J(){let{data:a}=(0,G.useServerRoute)(h.queryKey.callSkills),[b]=(0,F.useServerAction)(z.setCallSkillsAction,{onOk:()=>(0,G.revalidate)(h.queryKey.callSkills)});return(0,d.jsx)(t.SettingGroup,{label:"Skills",children:(0,d.jsx)(t.SettingToggle,{label:"Read a skill herself",description:"A skill is how a thing is done here, written down. On, she opens one mid-call and follows it; off, only bots read them.",checked:a??!1,disabled:void 0===a,onChange:a=>b(a),children:(0,d.jsx)(K,{})})})}function K(){let{data:a}=(0,G.useServerRoute)(h.queryKey.skills);return a?(0,d.jsx)(t.SettingNote,{className:(0,H.cn)(!a.length&&H.WAITING_INK),children:a.length?`The same ${a.length} a bot reads. Each one she opens spends a page of the call on it.`:"Nothing installed yet — there is nothing for her to read."}):null}function L(){let[a,b]=(0,F.useServerAction)(y.resetHistoryAction,{okMessage:({calls:a,tasks:b,notes:c})=>`Wiped ${a} calls, ${b} jobs, ${c} notes`,onOk:()=>{(0,G.revalidate)(h.queryKey.memory),(0,G.revalidate)(h.queryKey.tasks),(0,G.revalidate)(h.queryKey.callHistory(null))}}),c=async()=>{await l.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay.",okText:"Reset",destructive:!0})&&a()};return(0,d.jsx)(t.SettingGroup,{label:"Danger zone",note:"Keys, bots and connectors stay.",children:(0,d.jsx)(t.SettingItems,{children:(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.TriangleAlert,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Reset history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, every job and everything she remembers"})]}),(0,d.jsx)(i.Button,{variant:"outline",size:"sm",loading:b,onClick:c,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})})})}function M({value:a,onChange:b}){let c=c=>b({...a,...c});return(0,d.jsx)(t.SettingGroup,{label:"Face",children:(0,d.jsxs)("div",{className:"space-y-5 py-2",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center gap-4 pt-2",children:[(0,d.jsx)(v.Face,{look:a,size:176,className:"w-44"}),(0,d.jsx)(m.Segmented,{"aria-label":"Face",options:w.FACE_KINDS.map(a=>({value:a,label:v.FACES[a].label})),value:a.kind,onChange:a=>c({kind:a})}),(0,d.jsx)("p",{className:"max-w-sm text-center text-xs text-muted-foreground",children:v.FACES[a.kind].hint})]}),"mark"===a.kind&&(0,d.jsx)(r.MarkPalette,{color:a.color,themePicked:!a.color,onTheme:()=>c({color:void 0}),onPick:a=>c({color:a})}),"mark"===a.kind&&(0,d.jsx)(N,{label:"Shape",children:(0,d.jsx)(m.Segmented,{"aria-label":"Shape",options:s.MARK_SHAPES.map(a=>({value:a,label:(0,d.jsx)("span",{className:"capitalize",children:a})})),value:a.shape??"blob",onChange:a=>c({shape:a})})}),"mark"===a.kind&&(0,d.jsx)(N,{label:"Style",children:(0,d.jsx)(m.Segmented,{"aria-label":"Style",options:[{value:"solid",label:"Solid"},{value:"outline",label:"Outline"}],value:a.outline?"outline":"solid",onChange:a=>c({outline:"outline"===a||void 0})})}),"ascii"===a.kind&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(N,{label:"Glyphs",children:(0,d.jsx)(m.Segmented,{"aria-label":"Glyphs",options:w.ASCII_CHARSETS.map(a=>({value:a,label:V[a]})),value:a.charset,onChange:a=>c({charset:a})})}),(0,d.jsx)(N,{label:"Size",children:(0,d.jsx)(O,{min:o.ASCII_FACE.fontSize.min,max:o.ASCII_FACE.fontSize.max,step:1,value:a.fontSize,format:a=>`${a}px`,onChange:a=>c({fontSize:a})})}),(0,d.jsx)(N,{label:"Density",children:(0,d.jsx)(O,{min:o.ASCII_FACE.density.min,max:o.ASCII_FACE.density.max,step:.1,value:a.density,format:a=>`${a.toFixed(1)}x`,onChange:a=>c({density:a})})})]})]})})}[u]=I.then?(await I)():I;let V={ascii:"Characters",emoji:"Sprinkled",emojiOnly:"All emoji"};function N({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"w-16 shrink-0 font-mono text-[11px] text-muted-foreground",children:a}),b]})}function O({value:a,onChange:b,format:c,...e}){return(0,d.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,d.jsx)("input",{type:"range",...e,value:a,onChange:a=>b(Number(a.target.value)),className:"min-w-0 flex-1 accent-foreground"}),(0,d.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:c(a)})]})}function P({provider:a,value:b,hasKey:c,onPick:g}){let h=!!b,i=b?.voice??a.defaultVoice,k=b?.model??"";return(0,d.jsxs)("div",{className:(0,H.cn)("p-4",h&&"bg-muted/40"),children:[(0,d.jsxs)("button",{type:"button",disabled:h,onClick:()=>g({voice:null,model:null}),className:"flex w-full items-center gap-3 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-default",children:[(0,d.jsx)(p.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:a.label}),(0,d.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:k||a.models[0].id})]}),c?h&&(0,d.jsx)(e.Check,{className:"size-4 shrink-0"}):(0,d.jsxs)("span",{className:"flex shrink-0 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:[(0,d.jsx)(f.TriangleAlert,{className:"size-3"}),"No key"]})]}),h&&(0,d.jsxs)("div",{className:"space-y-3 pt-3",children:[(0,d.jsx)(j.Combobox,{value:k,onChange:a=>g({voice:b?.voice??null,model:a||null}),options:a.models.map(a=>({value:a.id,label:a.label,hint:a.id})),"aria-label":`${a.label} realtime model`,placeholder:a.models[0].id,empty:"Not on the list — it still runs"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.voices.map(a=>(0,d.jsx)("button",{type:"button",onClick:()=>g({voice:a,model:b?.model??null}),className:(0,H.cn)("rounded-full border px-2.5 py-1 font-mono text-[11px] transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50",a===i?"border-foreground/40 text-foreground":"border-border/60 text-muted-foreground hover:text-foreground"),children:a},a))})]})]})}let W={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Last three turns",hint:"Hers on the left, yours on the right, beside the mark."}};function Q({value:a,onChange:b}){return(0,d.jsx)(t.SettingGroup,{label:"Calls you",note:"off"!==a&&"Needs this tab open. A tab that has been silent since it loaded may not be allowed to make a sound — the desktop notification covers that.",children:(0,d.jsx)(t.SettingChoiceRows,{options:A.CALL_BACK_MODES.map(a=>({value:a,label:A.CALL_BACK_LABEL[a],hint:X[a]})),value:a,onChange:b})})}let X={off:"Nothing opens a call but you.",waiting:"A job that stopped to ask gets her to ring you.",any:"Anything a bot finishes, she opens a line to tell you."};function R({value:a,onChange:b}){return(0,d.jsx)(t.SettingGroup,{label:"Captions",children:(0,d.jsx)(t.SettingChoiceRows,{options:A.CAPTION_VIEWS.map(a=>({value:a,label:W[a].label,hint:W[a].hint})),value:a,onChange:b})})}function S({value:a,onChange:b}){let c=(0,C.useDraft)(a.phrase,c=>b({...a,phrase:c}),{min:A.WAKE_PHRASE.min}),e=c.value.trim().split(/\s+/).length<2;return(0,d.jsx)(t.SettingGroup,{label:"Wake",children:(0,d.jsx)(t.SettingToggle,{label:"Answer to her name",description:"Between calls, the browser listens for the phrase below and picks up when it hears it.",checked:a.enabled,onChange:c=>b({...a,enabled:c}),children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Input,{value:c.value,maxLength:A.WAKE_PHRASE.max,spellCheck:!1,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,d.jsx)(t.SettingNote,{children:e?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count."})]})})})}function T({value:a,onChange:b}){let[c,e]=(0,g.useState)(!1),[f,h]=(0,g.useState)(!1),i=(0,D.useHotkeyLabel)((0,D.isCombo)(a.combo)?a.combo:null);return(0,d.jsx)(t.SettingGroup,{label:"Shortcut",children:(0,d.jsx)(t.SettingToggle,{label:"Answer to a key",description:"With this tab in front, the key below starts a call — and ends the one that is running.",checked:a.enabled,onChange:c=>b({...a,enabled:c}),children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("button",{type:"button",...D.HOTKEY_CAPTURE,onClick:()=>{h(!1),e(!0)},onBlur:()=>e(!1),onKeyDown:c?c=>{if("Tab"===c.key)return;if(c.preventDefault(),c.stopPropagation(),"Escape"===c.key)return e(!1);let d=(0,D.comboOf)(c.nativeEvent);if(!d)return h(!0);h(!1),e(!1),b({...a,combo:d})}:void 0,className:(0,H.cn)("w-full rounded-lg border px-3 py-2 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",c?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:c?"Press the keys…":i??"Set a shortcut"}),(0,d.jsx)(t.SettingNote,{children:f?"Hold Ctrl, Alt or Cmd — a plain key is typing.":c?"Esc to keep the one you have.":"Only while this tab has focus. Not while you are typing."})]})})})}function U({value:a,onSave:b}){let[c,e]=(0,g.useState)(a);return(0,d.jsx)(t.SettingGroup,{label:"Instructions",right:`${c.length}/${E.COMMON_VALIDATE.prompt.max}`,children:(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(n.Textarea,{value:c,maxLength:E.COMMON_VALIDATE.prompt.max,onChange:a=>e(a.target.value),placeholder:"Anything else she should know before the first word — how to address you, what to skip.",className:"min-h-28"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(i.Button,{size:"sm",disabled:c===a,onClick:()=>b(c),children:"Save"})})]})})}a.s(["ThursdaySetting",0,function(){let a=(0,B.useThursdayStore)(),b=(0,B.useThursdayStore)(a=>a.patch),{data:c=[],isLoading:e,error:f}=(0,G.useServerRoute)(h.queryKey.llmModel),g=(0,x.useThursdayFace)();if(e)return(0,d.jsx)(t.SettingSkeleton,{rows:4});if(f)return(0,d.jsx)(t.SettingError,{message:f.message});let i=a.model?.provider??null;return(0,d.jsxs)(t.SettingScreen,{footer:(0,d.jsx)(t.SettingRailNote,{children:"Her prompt is assembled fresh on every call — memory, the roster and your skills go in."}),children:[(0,d.jsx)(M,{value:g,onChange:x.setThursdayFace}),(0,d.jsx)(u.CallHistoryRow,{}),(0,d.jsx)(t.SettingGroup,{label:"Voice",note:!i&&"Nothing picked — calls run on whichever key is set.",children:(0,d.jsx)(t.SettingItems,{children:q.SPEACH_MODEL_PROVIDER_LIST.map(e=>{let f;return(0,d.jsx)(P,{provider:e,value:i===e.id?a.model:null,hasKey:(f=e.apiKeyName,c.some(a=>a.apiKeyName===f&&a.hasKey)),onPick:a=>b({model:{provider:e.id,...a}})},e.id)})})}),(0,d.jsx)(R,{value:a.captionView,onChange:a=>b({captionView:a})}),(0,d.jsx)(S,{value:a.wake,onChange:a=>b({wake:a})}),(0,d.jsx)(Q,{value:a.callBack,onChange:a=>b({callBack:a})}),(0,d.jsx)(T,{value:a.hotkey,onChange:a=>b({hotkey:a})}),(0,d.jsx)(J,{}),(0,d.jsx)(U,{value:a.systemPrompt??"",onSave:a=>b({systemPrompt:a})}),(0,d.jsx)(L,{})]})}]),c()}catch(a){c(a)}},!1),635892,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f50cfd7d0e623e886552f9994a05a234251f6b400",b.callServer,void 0,b.findSourceMapURL,"resetHistoryAction");a.s(["resetHistoryAction",0,c])},703799,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fb326617fb6fe0d74f20b79af1e912238def02960",b.callServer,void 0,b.findSourceMapURL,"setCallSkillsAction");a.s(["setCallSkillsAction",0,c])},479461,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fa0f05df10fadbdbc32f656a9d5c05cd146302f7a",b.callServer,void 0,b.findSourceMapURL,"deleteCallAction");a.s(["deleteCallAction",0,c])},464013,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fe2a2ec036940cdf16482cfbd7aecf01f5571fe5a",b.callServer,void 0,b.findSourceMapURL,"deleteEndedCallsAction");a.s(["deleteEndedCallsAction",0,c])},866491,a=>{"use strict";var b=a.i(164831);let c={name:"phone",size:24,node:[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]]};c.node;let d=(0,b.default)(c);a.s(["Phone",0,d],866491)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_01_6m32._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[61876,a=>{"use strict";var b=a.i(156757),c=a.i(287702);b.z.object({value:b.z.string().min(1),expires_at:b.z.number()});let d=b.z.enum(["openai","chatgpt","anthropic","google","xai","vercel-ai-gateway"]),e=b.z.object({provider:d,model:b.z.string().trim().min(1,"Model name is required").max(80)}),f=b.z.enum(["openai","xai"]),g=b.z.object({provider:f,voice:b.z.string().trim().min(1).max(64).nullish(),model:b.z.string().trim().min(1).max(80).nullish()}),h=b.z.enum(["openai","google","xai","vercel-ai-gateway"]),i=b.z.object({provider:h,model:b.z.string().trim().min(1,"Model name is required").max(120)}),j={openai:{label:"Open AI",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:"google/gemini-3.1-flash-image",label:"Gemini 3.1 Flash Image",tier:"mid"},{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:"google/gemini-3-pro-image",label:"Gemini 3 Pro Image",tier:"large"},{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"}]}}},k=Object.keys(j).map(a=>({id:a,...j[a]})),l={openai:{label:"Open AI",apiKeyName:"OPENAI_API_KEY",suggestModels:[{id:"gpt-5.6-luna",label:"5.6 Luna",tier:"small",context:105e4},{id:"gpt-5.6-terra",label:"5.6 Terra",tier:"mid",context:105e4},{id:"gpt-5.6-sol",label:"5.6 Sol",tier:"large",context:105e4},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:105e4}]},chatgpt:{label:"GPT Subscription",apiKeyName:"CHATGPT_SIGN_IN",signIn:!0,suggestModels:[{id:"gpt-5.6-luna",label:"5.6 Luna",tier:"small",context:272e3},{id:"gpt-5.6-terra",label:"5.6 Terra",tier:"mid",context:272e3},{id:"gpt-5.6-sol",label:"5.6 Sol",tier:"large",context:272e3},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:272e3}]},anthropic:{label:"Claude",apiKeyName:"ANTHROPIC_API_KEY",suggestModels:[{id:"claude-haiku-4-5",label:"Haiku 4.5",tier:"small"},{id:"claude-sonnet-5",label:"Sonnet 5",tier:"mid",context:1e6},{id:"claude-opus-5",label:"Opus 5",tier:"large",context:1e6},{id:"claude-fable-5-1",label:"Fable 5.1",tier:"large"}]},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",suggestModels:[{id:"gemini-3.5-flash-lite",label:"3.5 Flash Lite",tier:"small",context:1e6},{id:"gemini-3.8-flash",label:"3.8 Flash",tier:"mid",context:1e6}]},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",suggestModels:[{id:"grok-4.6",label:"Grok 4.6",tier:"large",context:5e5}]},"vercel-ai-gateway":{label:"Vercel AI GateWay",apiKeyName:"AI_GATEWAY_API_KEY",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-5.6-luna",label:"GPT 5.6 Luna",tier:"small",context:105e4},{id:"zai/glm-5.3",label:"GLM 5.3",tier:"mid"},{id:"spacexai/grok-4.6",label:"Grok 4.6",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5",label:"Claude Sonnet 5",tier:"mid"},{id:"openai/gpt-5.6-terra",label:"GPT 5.6 Terra",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid"},{id:"openai/gpt-5.6-sol",label:"GPT 5.6 Sol",tier:"large",context:105e4},{id:"anthropic/claude-opus-5",label:"Claude Opus 5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]}},m={openai:{apiKeyName:l.openai.apiKeyName,label:l.openai.label,keyPrefix:["sk-"],models:[{id:"gpt-realtime-2.1",label:"Realtime 2.1"},{id:"gpt-realtime-2.1-mini",label:"Realtime 2.1 mini"},{id:"gpt-realtime-2",label:"Realtime 2"}],voices:["marin","cedar","alloy","ash","ballad","coral","echo","sage","shimmer","verse"],defaultVoice:"marin"},xai:{apiKeyName:l.xai.apiKeyName,label:l.xai.label,keyPrefix:["xai-"],models:[{id:"grok-voice-think-fast-2.0",label:"Voice Think Fast 2.0"},{id:"grok-voice-latest",label:"Voice latest"}],voices:["eve","ara","leo","rex","sal"],defaultVoice:"eve"}},n=Object.keys(m).map(a=>({id:a,...m[a]})),o=Object.keys(l).map(a=>({id:a,...l[a]}));a.s(["GATEWAY_TEXT",0,"language","GATEWAY_TOOL_USE",0,"tool-use","MEDIA_MODEL_PROVIDERS",0,j,"MEDIA_MODEL_PROVIDER_LIST",0,k,"SPEACH_MODEL_PROVIDERS",0,m,"SPEACH_MODEL_PROVIDER_LIST",0,n,"TEXT_MODEL_PROVIDER_LIST",0,o,"canMakeKind",0,(a,b)=>(j[a]?.models[b]?.length??0)>0,"compactAtFor",0,a=>a&&a>0?Math.round(a*c.BOT_RUN.compactHeadroom):c.BOT_RUN.compactAt,"contextWindowOf",0,function(a,b,c=[]){if("vercel-ai-gateway"===a)return c.find(a=>a.id===b)?.contextWindow??null;let d=l[a].suggestModels;return d.find(a=>a.id===b)?.context??null},"detectSpeachProvider",0,function(a){let b=a.trim();if(!b||b.startsWith("sk-ant-"))return null;let c=null,d=0;for(let a of Object.keys(m))for(let e of m[a].keyPrefix)b.startsWith(e)&&e.length>d&&(c=a,d=e.length);return c},"parseMediaModel",0,function(a){let[b,...c]=(a??"").trim().split("/"),d=i.safeParse({provider:b,model:c.join("/")});return d.success?d.data:null},"parseTextModel",0,function(a){let[b,...c]=(a??"").trim().split("/"),d=e.safeParse({provider:b,model:c.join("/")});return d.success?d.data:null},"speachModelRefSchema",0,g,"textModelProviderSchema",0,d],61876)},509301,a=>{"use strict";var b=a.i(572131),c=a.i(754184),d=a.i(357738),e=a.i(187828),f=a.i(854401),g=a.i(389862),h=a.i(151086),i=a.i(426476),j=a.i(394552),k=a.i(307436),l=a.i(925123),m=a.i(796e3),n=a.i(532186),o=a.i(30116),p=a.i(361813),q=a.i(303889),r=a.i(614209);function s(a){return h.platform.engine.webkit&&0===a.movementX&&0===a.movementY}function t(a,b,c){switch(a){case"vertical":return b;case"horizontal":return c;default:return b||c}}function u(a,b){return t(b,a===n.ARROW_UP||a===n.ARROW_DOWN,a===n.ARROW_LEFT||a===n.ARROW_RIGHT)}function v(a,b,c){return t(b,a===n.ARROW_DOWN,c?a===n.ARROW_LEFT:a===n.ARROW_RIGHT)||"Enter"===a||" "===a||""===a}a.s(["useListNavigation",0,function(a,h){let{listRef:w,activeIndex:x,onNavigate:y=()=>{},enabled:z=!0,selectedIndex:A=null,allowEscape:B=!1,loopFocus:C=!1,nested:D=!1,rtl:E=!1,virtual:F=!1,focusItemOnOpen:G="auto",focusItemOnHover:H=!0,openOnArrowKeyDown:I=!0,disabledIndices:J,orientation:K="vertical",parentOrientation:L,id:M,resetOnPointerLeave:N=!0,externalTree:O,grid:P}=h,Q=null!=P,R="rootStore"in a?a.rootStore:a,S=R.useState("open"),T=R.useState("floatingElement"),U=R.useState("domReferenceElement"),V=R.context.dataRef,W=(0,p.getFloatingFocusElement)(T),X=(0,p.isTypeableCombobox)(U),Y=(0,g.useValueAsRef)(W),Z=(0,l.useFloatingParentNodeId)(),$=(0,l.useFloatingTree)(O),_=b.useRef(G),aa=b.useRef(A??-1),ab=b.useRef(null),ac=b.useRef(!0),ad=(0,f.useStableCallback)(a=>{y(-1===aa.current?null:aa.current,a)}),ae=b.useRef(!!T),af=b.useRef(S),ag=b.useRef(!1),ah=b.useRef(!1),ai=b.useRef(null),aj=(0,g.useValueAsRef)(J),ak=(0,g.useValueAsRef)(S),al=(0,g.useValueAsRef)(A),am=(0,g.useValueAsRef)(N),an=(0,c.useAnimationFrame)(),ao=(0,c.useAnimationFrame)(),ap=(0,f.useStableCallback)(()=>{function a(a){F?$?.events.emit("virtualfocus",a):ai.current=(0,q.enqueueFocus)(a,{sync:ag.current,preventScroll:!0})}let b=w.current[aa.current],c=ah.current;b&&a(b),(ag.current?a=>a():a=>an.request(a))(()=>{let d=w.current[aa.current]||b;!d||(b||a(d),av&&(c||!ac.current)&&d.scrollIntoView?.({block:"nearest",inline:"nearest"}))})});(0,d.useIsoLayoutEffect)(()=>{V.current.orientation=K},[V,K]),(0,d.useIsoLayoutEffect)(()=>{z&&(S&&T?(aa.current=A??-1,_.current&&null!=A&&(ah.current=!0,ad())):ae.current&&(aa.current=-1,ad()))},[z,S,T,A,ad]),(0,d.useIsoLayoutEffect)(()=>{if(z){if(!S){ag.current=!1;return}if(T)if(null==x){if(ag.current=!1,null!=al.current)return;if(ae.current&&(aa.current=-1,ap()),(!af.current||!ae.current)&&_.current&&(null!=ab.current||!0===_.current&&null==ab.current)){let a=0,b=()=>{null==w.current[0]?(a<2&&(a?a=>ao.request(a):queueMicrotask)(b),a+=1):(aa.current=null==ab.current||v(ab.current,K,E)||D?(0,m.getMinListIndex)(w):(0,m.getMaxListIndex)(w),ab.current=null,ad())};b()}}else(0,m.isIndexOutOfListBounds)(w.current,x)||(aa.current=x,ap(),ah.current=!1)}},[z,S,T,x,al,D,w,K,E,ad,ap,ao]),(0,d.useIsoLayoutEffect)(()=>{if(!z||T||!$||F||!ae.current)return;let a=$.nodesRef.current,b=a.find(a=>a.id===Z)?.context?.elements.floating,c=(0,o.activeElement)((0,e.ownerDocument)(U??b??null)),d=a.some(a=>a.context&&(0,o.contains)(a.context.elements.floating,c));b&&!d&&ac.current&&b.focus({preventScroll:!0})},[z,T,U,$,Z,F]),(0,d.useIsoLayoutEffect)(()=>{af.current=S,ae.current=!!T}),(0,d.useIsoLayoutEffect)(()=>{S||(ab.current=null,_.current=G)},[S,G]);let aq=null!=x,ar=(0,f.useStableCallback)(a=>{if(!ak.current)return;let b=w.current.indexOf(a.currentTarget);-1!==b&&(aa.current!==b||x!==b)&&(aa.current=b,ad(a))}),as=(0,f.useStableCallback)(()=>L??$?.nodesRef.current.find(a=>a.id===Z)?.context?.dataRef?.current.orientation),at=(0,f.useStableCallback)(()=>(0,m.getMinListIndex)(w,aj.current)),au=(0,f.useStableCallback)(a=>{var b;let c,d;if(ac.current=!1,ag.current=!0,229===a.which||!ak.current&&a.currentTarget===Y.current)return;if(D&&(b=a.key,c=E?b===n.ARROW_RIGHT:b===n.ARROW_LEFT,d=b===n.ARROW_UP,"both"===K||"horizontal"===K&&Q?"Escape"===b:t(K,c,d))){u(a.key,as())||(0,r.stopEvent)(a),R.setOpen(!1,(0,j.createChangeEventDetails)(k.REASONS.listNavigation,a.nativeEvent)),(0,i.isHTMLElement)(U)&&(F?$?.events.emit("virtualfocus",U):U.focus());return}let e=aa.current,f=(0,m.getMinListIndex)(w,J),g=(0,m.getMaxListIndex)(w,J);if(X||("Home"===a.key&&((0,r.stopEvent)(a),aa.current=f,ad(a)),"End"===a.key&&((0,r.stopEvent)(a),aa.current=g,ad(a))),null!=P){let b=P(a,aa.current,w,K,C,E,J,f,g);if(null!=b&&(aa.current=b,ad(a)),"both"===K)return}if(u(a.key,K)){if((0,r.stopEvent)(a),S&&!F&&(0,o.activeElement)(a.currentTarget.ownerDocument)===a.currentTarget){aa.current=v(a.key,K,E)?f:g,ad(a);return}v(a.key,K,E)?C?e>=g?B&&e!==w.current.length?aa.current=-1:(ag.current=!1,aa.current=f):aa.current=(0,m.findNonDisabledListIndex)(w.current,{startingIndex:e,disabledIndices:J}):aa.current=Math.min(g,(0,m.findNonDisabledListIndex)(w.current,{startingIndex:e,disabledIndices:J})):C?e<=f?B&&-1!==e?aa.current=w.current.length:(ag.current=!1,aa.current=g):aa.current=(0,m.findNonDisabledListIndex)(w.current,{startingIndex:e,decrement:!0,disabledIndices:J}):aa.current=Math.max(f,(0,m.findNonDisabledListIndex)(w.current,{startingIndex:e,decrement:!0,disabledIndices:J})),(0,m.isIndexOutOfListBounds)(w.current,aa.current)&&(aa.current=-1),ad(a)}}),av=b.useMemo(()=>({onFocus(a){ag.current=!0,ar(a)},onClick:({currentTarget:a})=>a.focus({preventScroll:!0}),onMouseMove(a){!s(a)&&(ag.current=!0,ah.current=!1,H&&ar(a))},onPointerLeave(a){if(!ak.current||!ac.current||"touch"===a.pointerType)return;ag.current=!0;let b=a.relatedTarget;if(!(!H||w.current.includes(b))&&am.current&&(ai.current?.(),ai.current=null,aa.current=-1,ad(a),!F)){let a=Y.current,b=(0,o.activeElement)((0,e.ownerDocument)(a));a&&(0,o.contains)(a,b)&&a.focus({preventScroll:!0})}}}),[ar,ak,Y,H,w,ad,am,F]),aw=b.useMemo(()=>F&&S&&aq&&{"aria-activedescendant":`${M}-${x}`},[F,S,aq,M,x]),ax=b.useMemo(()=>({...!X?aw:{},onKeyDown(a){if("Tab"===a.key&&a.shiftKey&&S&&!F){let b=(0,o.getTarget)(a.nativeEvent);if(b&&!(0,o.contains)(Y.current,b))return;(0,r.stopEvent)(a),R.setOpen(!1,(0,j.createChangeEventDetails)(k.REASONS.focusOut,a.nativeEvent)),(0,i.isHTMLElement)(U)&&U.focus();return}au(a)},onPointerMove(a){s(a)||(ac.current=!0)}}),[aw,au,Y,X,R,S,F,U]),ay=b.useMemo(()=>{function a(a){R.setOpen(!0,(0,j.createChangeEventDetails)(k.REASONS.listNavigation,a.nativeEvent,a.currentTarget))}function b(a){"auto"===G&&(0,r.isVirtualClick)(a.nativeEvent)&&(_.current=!F)}function c(a){_.current=G,"auto"===G&&(0,r.isVirtualPointerEvent)(a.nativeEvent)&&(_.current=!0)}return{onKeyDown(b){var c,d;let e=R.select("open");ac.current=!1;let f=b.key.startsWith("Arrow"),g=(c=b.key,d=as(),t(d,E?c===n.ARROW_LEFT:c===n.ARROW_RIGHT,c===n.ARROW_DOWN)),h=u(b.key,K),i=(D?g:h)||"Enter"===b.key||""===b.key.trim();if(F&&e)return au(b);if(e||I||!f){if(i){let a=u(b.key,as());ab.current=D&&a?null:b.key}if(D){g&&((0,r.stopEvent)(b),e?(aa.current=at(),ad(b)):a(b));return}h&&(null!=al.current&&(aa.current=al.current),(0,r.stopEvent)(b),!e&&I?a(b):au(b),e&&ad(b))}},onFocus(a){R.select("open")&&!F&&(aa.current=-1,ad(a))},onPointerDown:c,onPointerEnter:c,onMouseDown:b,onClick:b}},[au,G,at,D,ad,R,I,K,as,E,al,F]),az=b.useMemo(()=>({...aw,...ay}),[aw,ay]);return b.useMemo(()=>z?{reference:az,floating:ax,item:av,trigger:ay}:{},[z,az,ax,ay,av])}])},446355,a=>{"use strict";var b=a.i(572131),c=a.i(357738),d=a.i(854401),e=a.i(736069),f=a.i(524715),g=a.i(796e3),h=a.i(30116),i=a.i(614209);a.s(["useTypeahead",0,function(a,j){let{listRef:k,elementsRef:l,activeIndex:m,onMatch:n,disabledIndices:o,onTyping:p,enabled:q=!0,resetMs:r=750,selectedIndex:s=null}=j,t="rootStore"in a?a.rootStore:a,u=t.useState("open"),v=(0,e.useTimeout)(),w=b.useRef(""),x=b.useRef(s??m??-1),y=b.useRef(null),z=(0,d.useStableCallback)(a=>{function b(a){let b=l?.current[a];return!(b&&!(0,g.isElementVisible)(b)||b?.matches(":disabled"))&&(null==o||!(0,g.isListIndexDisabled)(f.EMPTY_ARRAY,a,o))}function c(a,d,e=0){if(0===a.length)return -1;let f=(e%a.length+a.length)%a.length,g=d.toLowerCase();for(let c=0;c<a.length;c+=1){let d=(f+c)%a.length,e=a[d];if(e?.toLowerCase().startsWith(g)&&b(d))return d}return -1}let d=k.current;if(w.current.length>0&&" "===a.key&&((0,i.stopEvent)(a),p?.(!0)),w.current.length>0&&" "!==w.current[0]&&-1===c(d,w.current)&&" "!==a.key&&p?.(!1),null==d||1!==a.key.length||a.ctrlKey||a.metaKey||a.altKey)return;u&&" "!==a.key&&((0,i.stopEvent)(a),p?.(!0));let e=""===w.current;e&&(x.current=s??m??-1),d.every((a,c)=>!(a&&b(c))||a[0]?.toLowerCase()!==a[1]?.toLowerCase())&&w.current===a.key&&(w.current="",x.current=y.current),w.current+=a.key,v.start(r,()=>{w.current="",x.current=y.current,p?.(!1)});let h=e?s??m??-1:x.current,j=c(d,w.current,(h??0)+1);-1!==j?(n?.(j),y.current=j):" "!==a.key&&(w.current="",p?.(!1))}),A=(0,d.useStableCallback)(a=>{let b=a.relatedTarget,c=t.select("domReferenceElement"),d=t.select("floatingElement");(0,h.contains)(c,b)||(0,h.contains)(d,b)||(v.clear(),w.current="",x.current=y.current,p?.(!1))});(0,c.useIsoLayoutEffect)(()=>{(u||null===s)&&(v.clear(),y.current=null,""!==w.current&&(w.current=""))},[u,s,v]);let B=b.useMemo(()=>({onKeyDown:z,onBlur:A}),[z,A]);return b.useMemo(()=>q?{reference:B,floating:B}:{},[q,B])}])},961892,a=>{"use strict";var b=a.i(744530),c=a.i(151086);a.s(["isMouseWithinBounds",0,function(a,d){let e=function(a){let d=a.getBoundingClientRect(),e=(0,b.ownerWindow)(a);if(c.platform.env.jsdom)return d;let f=e.getComputedStyle(a,"::before"),g=e.getComputedStyle(a,"::after");if("none"===f.content&&"none"===g.content)return d;let h=parseFloat(f.width)||0,i=parseFloat(f.height)||0,j=parseFloat(g.width)||0,k=parseFloat(g.height)||0,l=Math.max(d.width,h,j),m=Math.max(d.height,i,k),n=l-d.width,o=m-d.height;return{left:d.left-n/2,right:d.right+n/2,top:d.top-o/2,bottom:d.bottom+o/2}}(d);return a.clientX>=e.left-5&&a.clientX<=e.right+5&&a.clientY>=e.top-5&&a.clientY<=e.bottom+5}])},402968,a=>{"use strict";var b=a.i(572131),c=a.i(187828),d=a.i(113259),e=a.i(357738);a.s(["useAnchoredPopupScrollLock",0,function(a,f,g,h){let[i,j]=b.useState(!1);(0,e.useIsoLayoutEffect)(()=>{if(!a||!f||null==g)return void j(!1);let b=(0,c.ownerDocument)(g).documentElement.clientWidth,d=g.offsetWidth;j(b>0&&d>0&&d>=b-20)},[a,f,g]),(0,d.useScrollLock)(a&&(!f||i),h)}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_01n3o0m._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[626280,a=>{"use strict";var b=a.i(187924),c=a.i(497895);function d({color:a,picked:e,onPick:f}){return(0,b.jsx)("button",{type:"button",onClick:f,"aria-label":a??"Follow the theme",style:a?{backgroundColor:a}:void 0,className:(0,c.cn)("size-5 rounded-full outline-none transition-transform hover:scale-110 focus-visible:ring-3 focus-visible:ring-ring/50",!a&&"bg-foreground",e&&"ring-2 ring-foreground/40 ring-offset-2 ring-offset-background")})}var e=a.i(324835);a.s(["MarkPalette",0,function({color:a,themePicked:c,onTheme:f,onPick:g}){return(0,b.jsx)("div",{className:"flex justify-center px-2",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(d,{color:null,picked:c,onPick:f}),(0,b.jsx)("span",{className:"w-2"}),e.MARK_PALETTE_ROWS[0].map(c=>(0,b.jsx)(d,{color:c,picked:a===c,onPick:()=>g(c)},c))]}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 pl-11",children:e.MARK_PALETTE_ROWS[1].map(c=>(0,b.jsx)(d,{color:c,picked:a===c,onPick:()=>g(c)},c))})]})})}],626280)},447478,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f194293e4c1ab83ed63877cc9d8b7aebf42b46bb8",b.callServer,void 0,b.findSourceMapURL,"deleteWorkspaceFileAction");a.s(["deleteWorkspaceFileAction",0,c])},30681,a=>{"use strict";var b=a.i(572131),c=a.i(497895);a.s(["useObjectState",0,a=>{let[d,e]=(0,b.useState)(a);return[d,(0,b.useMemo)(()=>{let a=a=>{e(b=>{let d=(0,c.isFunction)(a)?a(b):a;return Object.keys(d).some(a=>!Object.is(b[a],d[a]))?{...b,...d}:b})},b=new Map;return new Proxy(a,{get(d,e,f){if("symbol"==typeof e)return Reflect.get(d,e,f);let g=b.get(e);return g||(g=b=>{a(a=>({[e]:(0,c.isFunction)(b)?b(a[e]):b}))},b.set(e,g)),g}})},[])]}])},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_07uchnc._.js.map
|