thursday-agent 0.4.0 → 0.6.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 +3 -2
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.json +8 -1
- package/.next/routes-manifest.json +18 -6
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +13 -13
- package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
- 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 +10 -6
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js +6 -5
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/route.js +8 -8
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js +8 -8
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/bot/thread/[id]/route.js +15 -0
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/bot/thread/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/bot/thread/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/bot/thread/route.js +15 -0
- package/.next/server/app/api/bot/thread/route.js.nft.json +1 -0
- package/.next/server/app/api/bot/thread/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/config/route.js +7 -7
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/events/route.js +3 -3
- package/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js +5 -5
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/route.js +8 -8
- package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/credits/route.js +8 -8
- package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/route.js +8 -8
- package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/subscription/route.js +8 -8
- package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/[name]/route.js +6 -6
- package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth/callback/route.js +4 -4
- package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js +6 -6
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/tools/route.js +6 -6
- package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/edit/route.js +13 -13
- package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js +7 -6
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js +6 -6
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +6 -6
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js +10 -11
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/skills/route.js +10 -11
- package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +15 -15
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/missing/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/workspace/missing/route/build-manifest.json +12 -0
- package/.next/server/app/api/workspace/missing/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/workspace/missing/route.js +12 -0
- package/.next/server/app/api/workspace/missing/route.js.map +5 -0
- package/.next/server/app/api/workspace/missing/route.js.nft.json +1 -0
- package/.next/server/app/api/workspace/missing/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/workspace/route.js +5 -4
- 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 +4 -3
- package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/page/server-reference-manifest.json +67 -45
- package/.next/server/app/page.js +10 -9
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +3 -2
- package/.next/server/chunks/[root-of-the-server]__02846fb._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__049f521._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05luceg._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__06--3q3._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__07bnah_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__08eae20._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__0_ue8oe._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0c9fgca._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0g-ueei._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__0h_x6q6._.js +5 -0
- package/.next/server/chunks/{[root-of-the-server]__0pa2n68._.js → [root-of-the-server]__0kxrvxf._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0q0vvt2._.js → [root-of-the-server]__0ov3iir._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0qwtlmx._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__0sm5xvm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ye3da2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0zp35ul._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__144u9d_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__18-2tsq._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1e-ci13._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1e2365e._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__1fix932._.js +8 -0
- package/.next/server/chunks/{[root-of-the-server]__0ce8nf8._.js → [root-of-the-server]__1g3t7vn._.js} +3 -3
- package/.next/server/chunks/[root-of-the-server]__1kp-83u._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1kv8p3e._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +2 -3
- package/.next/server/chunks/_02szwk8._.js +5 -0
- package/.next/server/chunks/_05h2cii._.js +1 -1
- package/.next/server/chunks/_06c9kie._.js +216 -0
- package/.next/server/chunks/{_1x6kd1r._.js → _07y2gj-._.js} +1 -1
- package/.next/server/chunks/_0a43a-0._.js +3 -0
- package/.next/server/chunks/_0bujjey._.js +5 -0
- package/.next/server/chunks/_0c9j6rb._.js +1 -1
- package/.next/server/chunks/_0dkd549._.js +3 -0
- package/.next/server/chunks/_0ej1kvv._.js +3 -0
- package/.next/server/chunks/_0f6ts7z._.js +3 -0
- package/.next/server/chunks/_0gm9hyv._.js +55 -0
- package/.next/server/chunks/_0i55en5._.js +25 -0
- package/.next/server/chunks/_0k50n27._.js +18 -0
- package/.next/server/chunks/_0khihjk._.js +3 -3
- package/.next/server/chunks/_0n74zsf._.js +5 -5
- package/.next/server/chunks/_0nvm9ef._.js +3 -0
- package/.next/server/chunks/_0p56fn0._.js +3 -0
- package/.next/server/chunks/_0recufk._.js +1 -1
- package/.next/server/chunks/_0xbkz10._.js +3 -0
- package/.next/server/chunks/_10tkr26._.js +3 -0
- package/.next/server/chunks/{_0ioz3nd._.js → _11u2kp7._.js} +1 -1
- package/.next/server/chunks/_11ujpya._.js +3 -0
- package/.next/server/chunks/_127nx_p._.js +5 -0
- package/.next/server/chunks/_17l5ygt._.js +1 -1
- package/.next/server/chunks/_19uauj6._.js +3 -0
- package/.next/server/chunks/_1_5mnq4._.js +5 -5
- package/.next/server/chunks/_1abl6t9._.js +55 -0
- package/.next/server/chunks/_1d0j961._.js +3 -3
- package/.next/server/chunks/_1dbixxz._.js +3 -0
- package/.next/server/chunks/_1dc_d1q._.js +98 -0
- package/.next/server/chunks/_1drgfx4._.js +5 -5
- package/.next/server/chunks/_1e48czp._.js +3 -3
- package/.next/server/chunks/_1f31u5x._.js +5 -0
- package/.next/server/chunks/_1kg70wc._.js +3 -3
- package/.next/server/chunks/_1klbcft._.js +5 -0
- package/.next/server/chunks/_1krd9rf._.js +4 -1
- package/.next/server/chunks/_1kwmzab._.js +3 -0
- package/.next/server/chunks/{_1pf4qe-._.js → _1oxj9fa._.js} +1 -1
- package/.next/server/chunks/{_1f46eie._.js → _1pcmdbb._.js} +1 -1
- package/.next/server/chunks/_1qgix-j._.js +3 -0
- package/.next/server/chunks/{lib_logger_ts_1exwjut._.js → _1rpchta._.js} +5 -5
- package/.next/server/chunks/_1vsej-s._.js +5 -0
- package/.next/server/chunks/_1yx0p_s._.js +5 -0
- package/.next/server/chunks/{_0rnf-6n._.js → _20fsr_z._.js} +6 -6
- package/.next/server/chunks/_2128hkj._.js +5 -0
- package/.next/server/chunks/_next-internal_server_app_api_bot_thread_[id]_route_actions_1fstjn2.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_bot_thread_route_actions_003ccso.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_workspace_missing_route_actions_1fidi6p.js +3 -0
- package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
- package/.next/server/chunks/features_0-cnt0l._.js +4 -0
- package/.next/server/chunks/features_0hdaci0._.js +4 -0
- package/.next/server/chunks/features_1e39j7-._.js +8 -0
- package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +1 -1
- package/.next/server/chunks/features_memory_1uqvksn._.js +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0r28-sm._.js → node_modules_consola_dist_chunks_prompt_mjs_0a7-pbw._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0v_7drq._.js → node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0i7cvml._.js → node_modules_consola_dist_chunks_prompt_mjs_107pxfn._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0icqaqw._.js → node_modules_consola_dist_chunks_prompt_mjs_15hbel8._.js} +1 -1
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_18i-23e._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1bewgf3._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1kipdeo._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1nlww1m._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1q77nfx._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xqdzx_._.js +3 -0
- package/.next/server/chunks/{node_modules_zod_v4_1801ax7._.js → node_modules_zod_v4_0lkux5-._.js} +2 -2
- package/.next/server/chunks/{node_modules_zod_v4_1cha_bw._.js → node_modules_zod_v4_1jmr9cq._.js} +2 -2
- package/.next/server/chunks/{node_modules_zod_v4_0ubdflj._.js → node_modules_zod_v4_1yrxmek._.js} +2 -2
- package/.next/server/chunks/node_modules_zod_v4_classic_errors_0tp0y-q.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]__0bxsfyn._.js +101 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0lyi8i2._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__172cq4x._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18dthbp._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18e68w8._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1fll8dc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1nygfik._.js +5 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1sdphb0._.js +8 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1waa3rc._.js +100 -0
- package/.next/server/chunks/ssr/_00rehl_._.js +3 -0
- package/.next/server/chunks/ssr/{_1lz_cq2._.js → _02oc_h5._.js} +76 -89
- package/.next/server/chunks/ssr/_03_928f._.js +3 -0
- package/.next/server/chunks/ssr/_05yghx6._.js +3 -0
- package/.next/server/chunks/ssr/_08c4z-9._.js +3 -0
- package/.next/server/chunks/ssr/_0_qfdlw._.js +4 -0
- package/.next/server/chunks/ssr/_0c9e5w6._.js +9 -0
- package/.next/server/chunks/ssr/{_0s99bgb._.js → _0dh2e1j._.js} +9 -3
- package/.next/server/chunks/ssr/_0dr-ddg._.js +3 -0
- package/.next/server/chunks/ssr/_0eaog6_._.js +3 -0
- package/.next/server/chunks/ssr/_0evkpto._.js +3 -0
- package/.next/server/chunks/ssr/_0g_rlog._.js +3 -0
- package/.next/server/chunks/ssr/_0geg212._.js +3 -0
- package/.next/server/chunks/ssr/{_1gd8q8l._.js → _0hxt2ul._.js} +2 -2
- package/.next/server/chunks/ssr/_0i_6q1w._.js +2 -2
- package/.next/server/chunks/ssr/_0lu1n_x._.js +1 -1
- package/.next/server/chunks/ssr/{_15j2_8f._.js → _0wzaht-._.js} +2 -2
- package/.next/server/chunks/ssr/_0z-g0uy._.js +3 -0
- package/.next/server/chunks/ssr/_123ttsf._.js +3 -0
- package/.next/server/chunks/ssr/_123y-ah._.js +3 -0
- package/.next/server/chunks/ssr/_12w42gi._.js +3 -0
- package/.next/server/chunks/ssr/_161kqav._.js +3 -0
- package/.next/server/chunks/ssr/{_0ap2fzn._.js → _16c6_xm._.js} +2 -2
- package/.next/server/chunks/ssr/_18opah7._.js +3 -0
- package/.next/server/chunks/ssr/_18xqmny._.js +3 -0
- package/.next/server/chunks/ssr/_1_krfph._.js +3 -0
- package/.next/server/chunks/ssr/{_1-_etts._.js → _1anqots._.js} +2 -2
- package/.next/server/chunks/ssr/_1ey7qn-._.js +70 -0
- package/.next/server/chunks/ssr/_1g9vs7q._.js +3 -0
- package/.next/server/chunks/ssr/_1jmz33w._.js +3 -0
- package/.next/server/chunks/ssr/{_0n3toaw._.js → _1k0spz7._.js} +2 -2
- package/.next/server/chunks/ssr/_1rgtxhr._.js +5 -0
- package/.next/server/chunks/ssr/_1slp25y._.js +3 -0
- package/.next/server/chunks/ssr/{_1fojd41._.js → _1x9pskj._.js} +3 -3
- package/.next/server/chunks/ssr/_1y6b5mr._.js +101 -0
- package/.next/server/chunks/ssr/_1ztk7p6._.js +7 -0
- package/.next/server/chunks/ssr/components_ui_tabs_tsx_0ej40b4._.js +3 -0
- package/.next/server/chunks/ssr/features_bot_thread_query_ts_023eklt._.js +4 -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/{_1-teee5._.js → lib_logger_ts_0-olsze._.js} +2 -7
- package/.next/server/chunks/ssr/{node_modules_0cxaxk9._.js → node_modules_00_51_v._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_04jf_m8._.js → node_modules_022sipm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0g7fzk3._.js → node_modules_0332gw4._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1cx_ql6._.js → node_modules_04vxchl._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1vh5ntv._.js → node_modules_0746rzi._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0yugy6m._.js → node_modules_0d5uzof._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_09q35v_._.js → node_modules_0exkwcm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_08dhkiq._.js → node_modules_0fr-ml8._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_14q6g4n._.js → node_modules_0mxvg8h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0arus10._.js → node_modules_0qapgjr._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1eg7m6c._.js → node_modules_0qbfyjh._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1cz2hle._.js → node_modules_0t-9nup._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_17bwo43._.js → node_modules_0tusx4d._.js} +3 -3
- package/.next/server/chunks/ssr/{node_modules_1efrqxi._.js → node_modules_0vsxbzp._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0_-_a--._.js → node_modules_0vv0-fg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1gdh31p._.js → node_modules_0wsvp00._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1hpopmo._.js → node_modules_1-urho9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1_pc9kq._.js → node_modules_16pi_dd._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_00etblx._.js → node_modules_1d53yiq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1aaxuef._.js → node_modules_1g1eihe._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_198nmll._.js → node_modules_1gpednh._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0pvd7q-._.js → node_modules_1gu1pph._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0b__sgl._.js → node_modules_1he1w8_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1qpjvy5._.js → node_modules_1lnjapm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0940ns5._.js → node_modules_1lynj9m._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0x3-ply._.js → node_modules_1seuurl._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_14om4ar._.js → node_modules_1u6w1pb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0had7xd._.js → node_modules_1xn6saw._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1b748ic._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_067_exa._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1z4hm5e._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0nrrdaq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@vercel_oidc_dist_06mk8id._.js → node_modules_@vercel_oidc_dist_21a5haa._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_trash_mjs_0px2gzr._.js +3 -0
- 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 +68 -46
- package/.next/static/chunks/0dr16v67vj4n7.js +2 -0
- package/.next/static/chunks/0g4b348l0pve7.js +1 -0
- package/.next/static/chunks/0joan-69kbspd.js +1 -0
- package/.next/static/chunks/0vlgzqo9ka90v.js +1 -0
- package/.next/static/chunks/0zrupxgci5gqc.js +1 -0
- package/.next/static/chunks/10k2xvap03z20.css +1 -0
- package/.next/static/chunks/18mkhstgiqcbt.js +1 -0
- package/.next/static/chunks/{15m575979un5f.js → 1i-u2wzub_to1.js} +2 -2
- package/.next/static/chunks/1kp5nfp06nj9h.js +5 -0
- package/.next/static/chunks/1ohslk4568tm3.js +1 -0
- package/.next/static/chunks/1sbmwswc9k2-1.js +1 -0
- package/.next/static/chunks/1t9qms5pwwa3n.js +1 -0
- package/.next/static/chunks/1vj_5bnbxx84e.js +1 -0
- package/.next/static/chunks/1vqezbhjm3goq.js +1 -0
- package/.next/static/chunks/{3akmqm77muj4-.js → 1wlo979mx-y3w.js} +1 -1
- package/.next/static/chunks/26ql4y-43xwhp.js +1 -0
- package/.next/static/chunks/{0fl3gwe4-l6tz.js → 2_pnccjp6j1ca.js} +1 -1
- package/.next/static/chunks/2a51-ywz9b2a3.js +1 -0
- package/.next/static/chunks/2fvdgxih7x7hr.js +1 -0
- package/.next/static/chunks/2jlz8zp4jax_m.js +18 -0
- package/.next/static/chunks/2nvepds1fu2ux.js +1 -0
- package/.next/static/chunks/3addj3i4-izma.js +1 -0
- package/.next/static/chunks/3bfwpww3m3x4u.js +1 -0
- package/.next/static/chunks/3gfh7nxwusbt0.js +1 -0
- package/.next/static/chunks/3gwa44cvz4qoi.js +1 -0
- package/.next/static/chunks/{38gweqdo4jpfj.js → 3izg0a3k87q1-.js} +5 -5
- package/.next/static/chunks/3zk6q3-3f9swq.js +99 -0
- package/.next/static/chunks/3zkg5iup3v4a2.js +12 -0
- package/.next/static/chunks/405m0bqtoihev.js +1 -0
- package/.next/static/chunks/42wcg3wfg_m_p.js +1 -0
- package/README.md +27 -216
- package/app/api/events/app-event.ts +6 -4
- package/app/api/query-key.ts +25 -16
- package/bin/database.mjs +37 -0
- package/bin/thursday.mjs +44 -28
- package/components/ui/custom-icon.tsx +0 -60
- package/components/ui/radio-group.tsx +37 -0
- package/components/ui/shiny-text.tsx +33 -6
- package/database/migrations/{20260910173049_numerous_spirit → 20260916145701_clever_multiple_man}/migration.sql +80 -24
- package/database/migrations/{20260910173049_numerous_spirit → 20260916145701_clever_multiple_man}/snapshot.json +689 -110
- package/database/migrations/20260916160713_thread_cancelled/migration.sql +2 -0
- package/database/migrations/{20260911030320_opposite_jack_power → 20260916160713_thread_cancelled}/snapshot.json +706 -84
- package/docs/how-it-works.md +39 -36
- package/docs/images/keeps-going.png +0 -0
- package/docs/images/two-minds.png +0 -0
- package/docs/live-calls.md +231 -0
- package/docs/thread-rooms.md +71 -0
- package/features/ai/chatgpt.ts +1 -2
- package/features/ai/live.schema.ts +128 -0
- package/features/ai/load-tools.ts +148 -77
- package/features/ai/model.schema.ts +2 -120
- package/features/ai/model.ts +52 -88
- package/features/ai/prompts/bot.prompt.ts +91 -214
- package/features/ai/prompts/live.prompt.ts +265 -0
- package/features/ai/prompts/prompt-helper.ts +91 -32
- package/features/ai/prompts/thursday.prompt.ts +125 -172
- package/features/ai/tools/bot.tool.ts +38 -145
- package/features/ai/tools/call.tool.ts +1 -1
- package/features/ai/tools/connected.ts +5 -3
- package/features/ai/tools/mcp.tool.ts +7 -4
- package/features/ai/tools/memory.tool.ts +35 -31
- package/features/ai/tools/skills.tool.ts +36 -14
- package/features/ai/tools/studio.tool.ts +26 -21
- package/features/ai/tools/tool-name.ts +2 -5
- package/features/ai/tools/workspace.tool.ts +33 -10
- package/features/artifact/artifact.action.ts +2 -2
- package/features/artifact/artifact.query.ts +112 -61
- package/features/artifact/artifact.schema.ts +8 -6
- package/features/artifact/components/artifact-setting.tsx +83 -33
- package/features/bot/bot.action.ts +43 -36
- package/features/bot/bot.memory.ts +137 -20
- package/features/bot/bot.query.ts +28 -11
- package/features/bot/bot.run.ts +299 -636
- package/features/bot/bot.runner.ts +468 -844
- package/features/bot/bot.schema.ts +93 -82
- package/features/bot/bot.seed.ts +141 -64
- package/features/bot/components/bot-mark.tsx +324 -232
- package/features/bot/components/bot-room.tsx +1613 -697
- package/features/bot/components/bot-roster.tsx +8 -13
- package/features/bot/components/bot-setting.tsx +58 -42
- package/features/bot/components/bot-tool.tsx +55 -87
- package/features/bot/components/mark-palette.tsx +35 -32
- package/features/bot/components/path-chips.tsx +33 -3
- package/features/bot/components/thread-badge.tsx +34 -0
- package/features/bot/components/thread-reply.tsx +639 -0
- package/features/bot/components/thread-setting.tsx +674 -0
- package/features/bot/mark.const.ts +79 -31
- package/features/bot/room.query.ts +889 -0
- package/features/bot/room.schema.ts +64 -0
- package/features/bot/seed-bots.ts +2 -1
- package/features/bot/thread.query.ts +971 -0
- package/features/bot/thread.store.ts +587 -0
- package/features/config/components/voice-key.tsx +113 -88
- package/features/config/config.const.ts +5 -9
- package/features/connectors/mcp.schema.ts +0 -2
- package/features/intro/components/intro.tsx +169 -139
- package/features/memory/components/memory-setting.tsx +2 -7
- package/features/memory/memory.schema.ts +14 -23
- package/features/settings/components/setting-ui.tsx +0 -44
- package/features/settings/components/settings.tsx +12 -12
- package/features/settings/settings.alert.ts +3 -3
- package/features/settings/settings.store.ts +1 -1
- package/features/skills/skills.schema.ts +0 -2
- package/features/thursday/components/ascii-field.tsx +24 -44
- package/features/thursday/components/ascii-orb.tsx +359 -358
- package/features/thursday/components/call-log.tsx +46 -44
- package/features/thursday/components/face.tsx +35 -10
- package/features/thursday/components/tab-state.tsx +3 -3
- package/features/thursday/components/thursday-mark.tsx +1 -0
- package/features/thursday/components/thursday-setting.tsx +631 -332
- package/features/thursday/components/thursday.tsx +106 -41
- package/features/thursday/components/voice-picker.tsx +255 -0
- package/features/thursday/thursday.action.ts +94 -68
- package/features/thursday/thursday.query.ts +49 -30
- package/features/thursday/thursday.schema.ts +27 -30
- package/features/thursday/thursday.store.ts +11 -7
- package/features/thursday/tool-call.ts +3 -3
- package/features/thursday/tool-line.ts +5 -3
- package/features/thursday/use-thursday.ts +725 -450
- package/features/workspace/workspace.query.ts +17 -0
- package/features/workspace/workspace.ts +103 -50
- package/lib/live/live.schema.ts +47 -0
- package/lib/live/live.server.ts +155 -0
- package/lib/live/live.session.ts +574 -0
- package/lib/{realtime/realtime.tap.ts → live/live.tap.ts} +41 -12
- package/lib/live/live.transport.ts +152 -0
- package/lib/protocol/use-server-pages.ts +9 -5
- package/lib/utils.ts +21 -20
- package/package.json +2 -2
- package/public/voices/alloy.ogg +0 -0
- package/public/voices/ash.ogg +0 -0
- package/public/voices/ballad.ogg +0 -0
- package/public/voices/beacon.ogg +0 -0
- package/public/voices/bossa.ogg +0 -0
- package/public/voices/cedar.ogg +0 -0
- package/public/voices/cinder.ogg +0 -0
- package/public/voices/coral.ogg +0 -0
- package/public/voices/delta.ogg +0 -0
- package/public/voices/echo.ogg +0 -0
- package/public/voices/gleam.ogg +0 -0
- package/public/voices/marin.ogg +0 -0
- package/public/voices/meridian.ogg +0 -0
- package/public/voices/quartz.ogg +0 -0
- package/public/voices/ripple.ogg +0 -0
- package/public/voices/sage.ogg +0 -0
- package/public/voices/shimmer.ogg +0 -0
- package/public/voices/stone.ogg +0 -0
- package/public/voices/tempo.ogg +0 -0
- package/public/voices/verse.ogg +0 -0
- package/public/voices/vesper.ogg +0 -0
- package/public/voices/willow.ogg +0 -0
- package/scripts/artifact-paths.test.mts +25 -0
- package/scripts/bot-context.test.mts +1408 -0
- package/scripts/live-history.test.mts +115 -0
- package/scripts/live-session.test.mts +948 -0
- package/server.js +1 -1
- package/skills/browser/SKILL.md +17 -6
- package/skills/computer/SKILL.md +1 -1
- package/skills/find-skills/SKILL.md +3 -8
- package/skills/interactive-page/SKILL.md +12 -7
- package/skills/interactive-page/references/diagram.md +89 -0
- package/skills/interactive-page/scripts/archify/LICENSE +22 -0
- package/skills/interactive-page/scripts/archify/README.md +25 -0
- package/skills/interactive-page/scripts/archify/assets/JetBrainsMono-OFL.txt +93 -0
- package/skills/interactive-page/scripts/archify/assets/template.html +14934 -0
- package/skills/interactive-page/scripts/archify/bin/archify.mjs +2126 -0
- package/skills/interactive-page/scripts/archify/bin/open-artifact.mjs +86 -0
- package/skills/interactive-page/scripts/archify/bin/preview.mjs +653 -0
- package/skills/interactive-page/scripts/archify/bin/visual-check.mjs +829 -0
- package/skills/interactive-page/scripts/archify/delta/architecture-delta.mjs +1223 -0
- package/skills/interactive-page/scripts/archify/examples/agent-run.lifecycle.json +60 -0
- package/skills/interactive-page/scripts/archify/examples/agent-tool-call.workflow.json +94 -0
- package/skills/interactive-page/scripts/archify/examples/async-job-roundtrip.sequence.json +61 -0
- package/skills/interactive-page/scripts/archify/examples/cache-miss-request.sequence.json +82 -0
- package/skills/interactive-page/scripts/archify/examples/checkout-platform.base.architecture.json +31 -0
- package/skills/interactive-page/scripts/archify/examples/checkout-platform.head.architecture.json +31 -0
- package/skills/interactive-page/scripts/archify/examples/deployment-release.lifecycle.json +49 -0
- package/skills/interactive-page/scripts/archify/examples/event-stream.dataflow.json +57 -0
- package/skills/interactive-page/scripts/archify/examples/incident-response.workflow.json +64 -0
- package/skills/interactive-page/scripts/archify/examples/product-analytics.dataflow.json +76 -0
- package/skills/interactive-page/scripts/archify/examples/production-deployment.architecture.json +71 -0
- package/skills/interactive-page/scripts/archify/examples/release-delivery.workflow.json +62 -0
- package/skills/interactive-page/scripts/archify/examples/web-app.architecture.json +46 -0
- package/skills/interactive-page/scripts/archify/migrations/workflow-v2.mjs +279 -0
- package/skills/interactive-page/scripts/archify/recipes/scenarios.mjs +284 -0
- package/skills/interactive-page/scripts/archify/references/authoring-contract.md +243 -0
- package/skills/interactive-page/scripts/archify/references/delivery-contract.md +120 -0
- package/skills/interactive-page/scripts/archify/references/viewer-runtime.md +45 -0
- package/skills/interactive-page/scripts/archify/renderers/architecture/grid.mjs +62 -0
- package/skills/interactive-page/scripts/archify/renderers/architecture/render-architecture.mjs +1078 -0
- package/skills/interactive-page/scripts/archify/renderers/dataflow/README.md +104 -0
- package/skills/interactive-page/scripts/archify/renderers/dataflow/render-dataflow.mjs +483 -0
- package/skills/interactive-page/scripts/archify/renderers/lifecycle/README.md +115 -0
- package/skills/interactive-page/scripts/archify/renderers/lifecycle/render-lifecycle.mjs +561 -0
- package/skills/interactive-page/scripts/archify/renderers/sequence/README.md +114 -0
- package/skills/interactive-page/scripts/archify/renderers/sequence/render-sequence.mjs +464 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/brand-marks.mjs +563 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/cli.mjs +218 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/desktop-readability.mjs +26 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/diagnostics.mjs +127 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/engineering-profiles.mjs +157 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/generated-brand-marks.mjs +3 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/generated-validators.mjs +13 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/geometry.mjs +1423 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/i18n.mjs +595 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/layout-report.mjs +40 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/legend.mjs +217 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/output-path.mjs +340 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/repository-evidence.mjs +238 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/repository-location.mjs +58 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/text-fit.mjs +49 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/utils.mjs +232 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/validator.mjs +86 -0
- package/skills/interactive-page/scripts/archify/renderers/workflow/README.md +223 -0
- package/skills/interactive-page/scripts/archify/renderers/workflow/render-workflow.mjs +35 -0
- package/skills/interactive-page/scripts/archify/renderers/workflow/workflow-compiler.mjs +4400 -0
- package/skills/interactive-page/scripts/archify/renderers/workflow/workflow-migration-geometry.mjs +144 -0
- package/skills/interactive-page/scripts/archify/schemas/README.md +211 -0
- package/skills/interactive-page/scripts/archify/schemas/architecture.schema.json +178 -0
- package/skills/interactive-page/scripts/archify/schemas/common.schema.json +115 -0
- package/skills/interactive-page/scripts/archify/schemas/dataflow.schema.json +243 -0
- package/skills/interactive-page/scripts/archify/schemas/lifecycle.schema.json +266 -0
- package/skills/interactive-page/scripts/archify/schemas/sequence.schema.json +223 -0
- package/skills/interactive-page/scripts/archify/schemas/workflow.schema.json +428 -0
- package/skills/interactive-page/scripts/archify/scripts/check-render-output.mjs +916 -0
- package/skills/interactive-page/scripts/archify/scripts/render-examples.mjs +26 -0
- package/skills/interactive-page/scripts/bundle-artifact.sh +9 -8
- package/skills/skill-creator/SKILL.md +4 -5
- package/.next/server/app/api/bot/task/[id]/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/bot/task/[id]/route.js +0 -16
- package/.next/server/app/api/bot/task/[id]/route.js.nft.json +0 -1
- package/.next/server/app/api/bot/task/[id]/route_client-reference-manifest.js +0 -3
- package/.next/server/app/api/bot/task/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/bot/task/route.js +0 -16
- package/.next/server/app/api/bot/task/route.js.nft.json +0 -1
- package/.next/server/app/api/bot/task/route_client-reference-manifest.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__01dkp4a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02xjoto._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__04q--0f._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__0bl-e63._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0ffbg85._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0jq4ohy._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__11n256_._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__12cabg9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1339jnv._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__18_teo8._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__1fizn31._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1llj3-b._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1p8m3f4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +0 -8
- package/.next/server/chunks/_0-73of8._.js +0 -55
- package/.next/server/chunks/_0-fjql4._.js +0 -26
- package/.next/server/chunks/_00xh_q0._.js +0 -25
- package/.next/server/chunks/_03a0897._.js +0 -3
- package/.next/server/chunks/_051qh8u._.js +0 -3
- package/.next/server/chunks/_05sovvj._.js +0 -3
- package/.next/server/chunks/_0fzqt2y._.js +0 -134
- package/.next/server/chunks/_0mecv0f._.js +0 -26
- package/.next/server/chunks/_0mh8j4m._.js +0 -3
- package/.next/server/chunks/_0obojvv._.js +0 -3
- package/.next/server/chunks/_0sb7tlz._.js +0 -3
- package/.next/server/chunks/_0sbynis._.js +0 -3
- package/.next/server/chunks/_0u10wmw._.js +0 -55
- package/.next/server/chunks/_0u4aiy2._.js +0 -3
- package/.next/server/chunks/_0wp4le3._.js +0 -3
- package/.next/server/chunks/_0y5fg-x._.js +0 -3
- package/.next/server/chunks/_1230wbx._.js +0 -10
- package/.next/server/chunks/_12nheja._.js +0 -3
- package/.next/server/chunks/_13510xh._.js +0 -3
- package/.next/server/chunks/_15hq89o._.js +0 -3
- package/.next/server/chunks/_18-1wcc._.js +0 -55
- package/.next/server/chunks/_1_9mjx-._.js +0 -3
- package/.next/server/chunks/_1c78vw5._.js +0 -229
- package/.next/server/chunks/_1h5_8sk._.js +0 -3
- package/.next/server/chunks/_1hdnxb7._.js +0 -3
- package/.next/server/chunks/_1j8k_j5._.js +0 -3
- package/.next/server/chunks/_1nula3v._.js +0 -3
- package/.next/server/chunks/_1php4eq._.js +0 -3
- package/.next/server/chunks/_1yuv4vp._.js +0 -3
- package/.next/server/chunks/_1zjrdag._.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_bot_task_[id]_route_actions_1_k_8u3.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_bot_task_route_actions_0xln6ra.js +0 -3
- package/.next/server/chunks/features_0rpfxbk._.js +0 -3
- package/.next/server/chunks/features_1qf3cei._.js +0 -3
- package/.next/server/chunks/features_bot_0zt92oh._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xoq2rl._.js +0 -3
- package/.next/server/chunks/ssr/[externals]__0dizgek._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__092knlj._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0mz33a7._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0s9dq5u._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0s9l2sv._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0vnmv-s._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0xsog8n._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +0 -61
- package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +0 -43
- package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +0 -4
- package/.next/server/chunks/ssr/[root-of-the-server]__202p40z._.js +0 -3
- package/.next/server/chunks/ssr/_001_ms1._.js +0 -28
- package/.next/server/chunks/ssr/_01n3o0m._.js +0 -3
- package/.next/server/chunks/ssr/_0fz4mf_._.js +0 -3
- package/.next/server/chunks/ssr/_0gb4gmf._.js +0 -3
- package/.next/server/chunks/ssr/_0h42fze._.js +0 -3
- package/.next/server/chunks/ssr/_0h7zdni._.js +0 -3
- package/.next/server/chunks/ssr/_0ilna52._.js +0 -42
- package/.next/server/chunks/ssr/_0q0zan6._.js +0 -70
- package/.next/server/chunks/ssr/_0zcjrbg._.js +0 -3
- package/.next/server/chunks/ssr/_0zhoc3r._.js +0 -3
- package/.next/server/chunks/ssr/_13fke0x._.js +0 -3
- package/.next/server/chunks/ssr/_18cymkq._.js +0 -3
- package/.next/server/chunks/ssr/_1b2mjwr._.js +0 -3
- package/.next/server/chunks/ssr/_1f-dg-6._.js +0 -3
- package/.next/server/chunks/ssr/_1h0rw11._.js +0 -3
- package/.next/server/chunks/ssr/_1jhd09t._.js +0 -3
- package/.next/server/chunks/ssr/_1nnsk7z._.js +0 -3
- package/.next/server/chunks/ssr/_1ov37if._.js +0 -3
- package/.next/server/chunks/ssr/_1sji22n._.js +0 -3
- package/.next/server/chunks/ssr/_1vi_uo7._.js +0 -3
- package/.next/server/chunks/ssr/_1vyd1ji._.js +0 -3
- package/.next/server/chunks/ssr/_1xx4zlb._.js +0 -3
- package/.next/server/chunks/ssr/components_ui_1y1l7yj._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +0 -3
- package/.next/server/chunks/ssr/lib_realtime_12wg_dd._.js +0 -27
- package/.next/server/chunks/ssr/lib_realtime_15h_v1v._.js +0 -27
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0npjf8-._.js +0 -3
- package/.next/static/chunks/00rd4-v8r7axp.js +0 -1
- package/.next/static/chunks/08qe4as2q428z.js +0 -3
- package/.next/static/chunks/0gnqdjn2lvdad.js +0 -2
- package/.next/static/chunks/0hwap1-p0m5sa.js +0 -1
- package/.next/static/chunks/0r5qcctujhxli.js +0 -1
- package/.next/static/chunks/0w52rrrmuj9r9.js +0 -1
- package/.next/static/chunks/0wcprt5ot5she.js +0 -1
- package/.next/static/chunks/10teww7wt-f6h.js +0 -1
- package/.next/static/chunks/17p6tk6k88dq6.js +0 -1
- package/.next/static/chunks/18a96rkhi4_yd.js +0 -1
- package/.next/static/chunks/1dkjg87pxk0n9.js +0 -28
- package/.next/static/chunks/1jd09sxcjddu1.js +0 -1
- package/.next/static/chunks/1w73ece_6bheu.js +0 -18
- package/.next/static/chunks/214ya3n5gxeih.js +0 -1
- package/.next/static/chunks/22_zkas21rpna.js +0 -1
- package/.next/static/chunks/2fh4-3z_q8b_w.js +0 -1
- package/.next/static/chunks/2h0sd2vumhb15.js +0 -1
- package/.next/static/chunks/2t4vhi3m8ahya.js +0 -1
- package/.next/static/chunks/2tigdtz3dpcy8.js +0 -1
- package/.next/static/chunks/2u7xt6mxg44lf.js +0 -1
- package/.next/static/chunks/3786h5vayt80-.js +0 -28
- package/.next/static/chunks/39j0fvpybzabl.js +0 -40
- package/.next/static/chunks/3cq5g494yuke8.css +0 -1
- package/.next/static/chunks/3hibbjnt85-k6.js +0 -1
- package/.next/static/chunks/3woj-xd7ki5_i.js +0 -1
- package/.next/static/chunks/3xk7yqgomx7yq.js +0 -1
- package/.next/static/chunks/3zmcsnuo25zvq.js +0 -1
- package/database/migrations/20260911030320_opposite_jack_power/migration.sql +0 -1
- package/docs/images/task-thread.png +0 -0
- package/features/bot/components/task-badge.tsx +0 -42
- package/features/bot/components/task-reply.tsx +0 -328
- package/features/bot/components/task-setting.tsx +0 -524
- package/features/bot/task.query.ts +0 -976
- package/features/bot/task.store.ts +0 -489
- package/lib/realtime/client-secret.ts +0 -86
- package/lib/realtime/open-session.ts +0 -31
- package/lib/realtime/openai.ts +0 -35
- package/lib/realtime/realtime.audio.ts +0 -196
- package/lib/realtime/realtime.driver.ts +0 -489
- package/lib/realtime/realtime.protocol.ts +0 -393
- package/lib/realtime/realtime.schema.ts +0 -37
- package/lib/realtime/realtime.session.ts +0 -106
- package/lib/realtime/realtime.transport.ts +0 -384
- package/lib/realtime/xai.ts +0 -39
- /package/.next/server/app/api/bot/{task → thread}/[id]/route/build-manifest.json +0 -0
- /package/.next/server/app/api/bot/{task → thread}/[id]/route/server-reference-manifest.json +0 -0
- /package/.next/server/app/api/bot/{task → thread}/[id]/route.js.map +0 -0
- /package/.next/server/app/api/bot/{task → thread}/route/build-manifest.json +0 -0
- /package/.next/server/app/api/bot/{task → thread}/route/server-reference-manifest.json +0 -0
- /package/.next/server/app/api/bot/{task → thread}/route.js.map +0 -0
- /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → 0qzGoKn2wTERVZtblX1tp}/_buildManifest.js +0 -0
- /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → 0qzGoKn2wTERVZtblX1tp}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → 0qzGoKn2wTERVZtblX1tp}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[897020,a=>{"use strict";var b=a.i(187924);a.s([],804434),a.i(804434);var c=a.i(572131),d=a.i(801811),e=a.i(357738),f=a.i(462824),g=a.i(524715),h=a.i(394552),i=a.i(307436),j=a.i(407393),k=a.i(827576);let l={checked:a=>a?{"data-checked":""}:{"data-unchecked":""},...j.transitionStatusMapping,...k.fieldValidityMapping};var m=a.i(85933),n=a.i(300557),o=a.i(926184),p=a.i(221436),q=a.i(579587),r=a.i(796511),s=a.i(1230),t=a.i(832362),u=a.i(77260),v=a.i(346919),w=a.i(769476);let x=c.createContext(void 0);var y=a.i(376224),z=a.i(854662);let A=c.createContext(void 0),B=c.forwardRef(function(a,j){let{render:k,className:z,disabled:B=!1,readOnly:C=!1,required:D=!1,"aria-labelledby":E,value:F,inputRef:G,nativeButton:H=!1,id:I,style:J,...K}=a,L=c.useContext(x),{disabled:M,readOnly:N,required:O,form:P,checkedValue:Q,touched:R=!1,validation:S,name:T,setCheckedValue:U=g.NOOP,setTouched:V=g.NOOP,registerInputRef:W=g.NOOP}=L??{},{setTouched:X,setFilled:Y,state:Z,disabled:$}=(0,s.useFieldRootContext)(),_=(0,t.useFieldItemContext)(),{labelId:aa,getDescriptionProps:ab}=(0,u.useLabelableContext)(),ac=$||_.disabled||M||B,ad=N||C,ae=O||D,af=L?Q===F:""===F,ag=c.useRef(null),ah=c.useRef(null),ai=S?.registerInput,aj=c.useCallback(a=>ai?.(a,{controlRef:ag,value:void 0}),[ai]),ak=(0,d.useMergedRefs)(G,ah,W,aj);(0,e.useIsoLayoutEffect)(()=>{ah.current?.checked&&Y(!0)},[Y]),(0,e.useIsoLayoutEffect)(()=>{if(ah.current){if(ac&&af)return void W(null);W(ah.current)}},[af,ac,W]);let al=(0,n.useBaseUiId)(),am=(0,w.useLabelableId)({id:I}),an=H?void 0:am,ao={role:"radio","aria-checked":af,"aria-labelledby":(0,v.useAriaLabelledBy)(E,aa,ah,!H,an),[q.ACTIVE_COMPOSITE_ITEM]:af?"":void 0,id:H?am:al,onKeyDown(a){"Enter"===a.key&&a.preventDefault()},onClick(a){if(a.defaultPrevented||ac||ad)return;a.preventDefault();let b=ah.current;b&&(0,m.dispatchClickWithModifiers)(b,a)},onFocus(a){a.defaultPrevented||ac||ad||!R||(ah.current?.click(),V(!1))}},{getButtonProps:ap,buttonRef:aq}=(0,p.useButton)({disabled:ac,native:H,composite:!1}),ar={type:"radio",ref:ak,form:P,id:an,name:T,tabIndex:-1,style:T?f.visuallyHiddenInput:f.visuallyHidden,"aria-hidden":!0,...void 0!==F?{value:(0,y.serializeValue)(F)}:g.EMPTY_OBJECT,disabled:ac,checked:af,required:ae,readOnly:ad,onChange(a){if(a.nativeEvent.defaultPrevented||ac||ad||void 0===F)return;let b=(0,h.createChangeEventDetails)(i.REASONS.none,a.nativeEvent);U(F,b),b.isCanceled||X(!0)},onClick(a){a.stopPropagation()},onFocus(){ag.current?.focus()}},as=c.useMemo(()=>({...Z,required:ae,disabled:ac,readOnly:ad,checked:af}),[Z,ac,ad,af,ae]),at=void 0!==L,au=[j,ag,aq],av=[ao,K,ap,ab,S?a=>S.getValidationProps(ac,a):g.EMPTY_OBJECT],aw=(0,o.useRenderElement)("span",a,{enabled:!at,state:as,ref:au,props:av,stateAttributesMapping:l});return(0,b.jsxs)(A.Provider,{value:as,children:[at?(0,b.jsx)(r.CompositeItem,{tag:"span",render:k,className:z,style:J,state:as,refs:au,props:av,stateAttributesMapping:l}):aw,(0,b.jsx)("input",{...ar,suppressHydrationWarning:!0})]})});var C=a.i(305687),D=a.i(348250);let E=c.forwardRef(function(a,b){let{render:d,className:e,style:f,keepMounted:g=!1,...h}=a,i=function(){let a=c.useContext(A);if(void 0===a)throw Error((0,z.default)(52));return a}(),j=i.checked,{mounted:k,transitionStatus:m,setMounted:n}=(0,D.useTransitionStatus)(j),p={...i,transitionStatus:m},q=c.useRef(null),r=(0,o.useRenderElement)("span",a,{ref:[b,q],state:p,props:h,stateAttributesMapping:l});return((0,C.useOpenChangeComplete)({batch:!0,enabled:!j,open:j,ref:q,onComplete(){j||n(!1)}}),g||k)?r:null});a.s(["Indicator",0,E,"Root",0,B],642851);var F=a.i(642851),F=F,G=a.i(950381),H=a.i(854401),I=a.i(30116),J=a.i(669649),K=a.i(801548),L=a.i(958589),M=a.i(717326),N=a.i(971154),O=a.i(541302),P=a.i(964072);let Q=[J.SHIFT],R=c.forwardRef(function(a,d){let{render:e,className:f,disabled:g,readOnly:h,required:i,onValueChange:j,value:l,defaultValue:m,form:o,name:p,inputRef:q,id:r,style:t,...v}=a,{setTouched:w,setFocused:y,validationMode:z,name:A,disabled:B,state:C,validation:D,setDirty:E,setFilled:F,validityData:J}=(0,s.useFieldRootContext)(),{labelId:R}=(0,u.useLabelableContext)(),{clearErrors:S,elementRef:T}=(0,O.useFormContext)(),U=(0,N.useFieldsetRootContext)(!0),V=B||g,W=A??p,X=(0,n.useBaseUiId)(r),[Y,Z]=(0,G.useControlled)({controlled:l,default:m,name:"RadioGroup",state:"value"}),[$,_]=c.useState(!1),aa=(0,H.useStableCallback)((a,b)=>{j?.(a,b),b.isCanceled||Z(a)}),ab=D.getInputControl,ac=c.useMemo(()=>({get current(){return ab()}}),[ab]),ad=c.useRef(null),ae=c.useRef(null);function af(a){let b;return q&&("function"==typeof q?b=q(a):q.current=a),ad.current=a,b}let ag=(0,H.useStableCallback)(a=>{if(!a||a.disabled)return;ae.current||(ae.current=a);let b=ad.current,c=a.checked||null==b||b.disabled?af(a):void 0;return()=>{ae.current===a&&(ae.current=null),ad.current===a?c?(c(),ad.current=null):af(null):c?.()}}),ah=(0,H.useStableCallback)(()=>{let a=T.current;if(!a)return Y??null;for(let b of D.registeredInputs.keys())if(b.checked&&(0,M.isEligibleInput)(b,a))return Y??null;return null});(0,L.useRegisterFieldControl)(ac,X,Y??null,ah,!V,p),(0,P.useValueChanged)(Y,()=>{S(W),E(Y!==J.initialValue),F(null!=Y),D.change(Y);let a=ae.current;null==Y&&a&&!a.disabled&&af(a)});let ai=R??U?.legendId,aj={...C,disabled:V??!1,required:i??!1,readOnly:h??!1},ak=c.useMemo(()=>({checkedValue:Y,disabled:V,form:o,validation:D,name:W,readOnly:h,registerInputRef:ag,required:i,setCheckedValue:aa,setTouched:_,touched:$}),[Y,V,o,D,W,h,ag,i,aa,_,$]);return(0,b.jsx)(x.Provider,{value:ak,children:(0,b.jsx)(K.CompositeRoot,{render:e,className:f,style:t,state:aj,props:[{id:r,role:"radiogroup","aria-required":i||void 0,"aria-disabled":V||void 0,"aria-readonly":h||void 0,"aria-labelledby":ai,onFocus(){y(!0)},onBlur(a){(0,I.contains)(a.currentTarget,a.relatedTarget)||(w(!0),y(!1),"onBlur"===z&&D.commit(Y))},onKeyDownCapture(a){a.key.startsWith("Arrow")&&(_(!0),y(!0))}},v,a=>D.getValidationProps(V??!1,a)],refs:[d],stateAttributesMapping:k.fieldValidityMapping,enableHomeAndEndKeys:!1,modifierKeys:Q})})});var S=a.i(497895);a.s(["RadioGroup",0,function({className:a,...c}){return(0,b.jsx)(R,{"data-slot":"radio-group",className:(0,S.cn)("grid w-full gap-2",a),...c})},"RadioGroupItem",0,function({className:a,...c}){return(0,b.jsx)(F.Root,{"data-slot":"radio-group-item",className:(0,S.cn)("group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground group-has-[:focus-visible]/field-label:data-checked:border-primary dark:data-checked:bg-primary",a),...c,children:(0,b.jsx)(F.Indicator,{"data-slot":"radio-group-indicator",className:"flex size-4 items-center justify-center",children:(0,b.jsx)("span",{className:"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground"})})})}],897020)},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(351287),v=a.i(103837),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",cancelled:"stopped"},G={running:"text-muted-foreground",waiting:t.WAITING_INK,done:"text-muted-foreground",cancelled:"text-muted-foreground"},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,a.model,a.backendModel,null===a.seconds?null:`${a.seconds}s active`,a.endedReason].filter(Boolean).join(" · "),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.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 min-w-0 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(897020),n=a.i(777794),o=a.i(280281),p=a.i(546893),q=a.i(287702),r=a.i(96340),s=a.i(626280),t=a.i(324835),u=a.i(249049),v=a.i(760374),w=a.i(619477),x=a.i(102306),y=a.i(445432),z=a.i(346075),A=a.i(203282),B=a.i(334392),C=a.i(759399),D=a.i(969730),E=a.i(486832),F=a.i(461512),G=a.i(359006),H=a.i(888396),I=a.i(332033),J=a.i(616682),K=a.i(249890),L=a.i(313237),M=a.i(759497),N=a.i(497895),O=b([x]);function P({columns:a,children:b}){return(0,d.jsx)("div",{className:"@container",children:(0,d.jsx)("div",{className:(0,N.cn)("grid divide-y divide-border/60 overflow-hidden rounded-xl border border-border/60",3===a?"@3xl:grid-cols-3 @3xl:divide-x @3xl:divide-y-0":"@xl:grid-cols-2 @xl:divide-x @xl:divide-y-0"),children:b})})}function Q({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex min-h-5 items-center gap-3",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:a}),b]})}function R({value:a,face:b,hasKey:c,onChange:e}){return(0,d.jsx)(w.SettingGroup,{label:"Models",note:"Both run on your OpenAI key. Instructions are saved when you leave the field.",children:(0,d.jsxs)("div",{className:"@container divide-y divide-border/60 rounded-xl border border-border/60",children:[!c&&(0,d.jsx)(U,{}),(0,d.jsxs)(S,{name:"Voice",fact:"billed by the minute",children:[(0,d.jsx)("div",{className:"grid gap-4 @xl:grid-cols-2",children:(0,d.jsx)(T,{label:"model",children:(0,d.jsx)(j.Combobox,{value:K.LIVE_MODEL,onChange:()=>void 0,options:[{value:K.LIVE_MODEL,label:"GPT-Live 1"}],"aria-label":"Voice model",disabled:!0})})}),(0,d.jsx)(T,{label:"voice",children:(0,d.jsx)(A.VoicePicker,{voice:a.voice,face:b,onChange:a=>e({voice:a.trim()||r.LIVE_DEFAULTS.voice})})}),(0,d.jsx)(T,{label:"instructions",children:(0,d.jsx)(Z,{value:a.voicePrompt,onCommit:a=>e({voicePrompt:a}),placeholder:"How to address you, how much to say, what to skip.","aria-label":"Voice instructions"})})]}),(0,d.jsxs)(S,{name:"Backend",fact:"billed per token",children:[(0,d.jsx)(T,{label:"model",children:(0,d.jsx)(V,{value:a.backendModel,onChange:a=>e({backendModel:a})})}),(0,d.jsx)(T,{label:"reasoning",children:(0,d.jsx)(n.Segmented,{"aria-label":"Reasoning effort",className:"w-full flex-wrap *:flex-1",options:ah,value:a.reasoningEffort??"auto",onChange:a=>e({reasoningEffort:"auto"===a?null:a})})}),(0,d.jsx)(T,{label:"tools",children:(0,d.jsx)(W,{webSearch:a.webSearch,onWebSearch:a=>e({webSearch:a})})}),(0,d.jsx)(T,{label:"instructions",children:(0,d.jsx)(Z,{value:a.backendPrompt,onCommit:a=>e({backendPrompt:a}),placeholder:"How work should be handed over, what to check first.","aria-label":"Backend instructions"})})]})]})})}function S({name:a,fact:b,children:c}){return(0,d.jsxs)("div",{className:"grid gap-4 p-5 @2xl:grid-cols-[8.5rem_minmax(0,1fr)] @2xl:gap-6",children:[(0,d.jsxs)("span",{className:"space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:a}),(0,d.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:b})]}),(0,d.jsx)("div",{className:"min-w-0 space-y-4",children:c})]})}function T({label:a,children:b}){return(0,d.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,d.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:a}),b]})}function U(){let[a,b]=(0,g.useState)(""),[c,e]=(0,L.useServerAction)(v.setConfigAction,{onOk:()=>{(0,M.revalidate)(h.queryKey.llmModel),(0,M.revalidate)(h.queryKey.config),b("")}}),f=a.trim().length>=u.KEY_MIN;return(0,d.jsxs)("div",{className:"space-y-3 p-5",children:[(0,d.jsxs)("span",{className:"block space-y-0.5",children:[(0,d.jsx)("span",{className:(0,N.cn)("block text-sm font-medium",N.WAITING_INK),children:"No OpenAI key"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Her voice and the backend both run on it"})]}),(0,d.jsx)(u.KeyInput,{dense:!0,provider:r.LIVE_PROVIDER,saved:!1,value:a,ready:f,saving:e,onValue:b,onSubmit:()=>f&&c(r.LIVE_PROVIDER.apiKeyName,a)})]})}function V({value:a,onChange:b}){let c=r.LIVE_BACKEND_MODELS.some(b=>b.id===a),f=(0,H.useDraft)(c?"":a,a=>b(a||r.LIVE_DEFAULTS.backendModel),{min:0});return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("div",{role:"radiogroup","aria-label":"Backend model",className:"grid grid-cols-2 gap-2 @3xl:grid-cols-4",children:r.LIVE_BACKEND_MODELS.map(c=>{let f=c.id===a;return(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":f,onClick:()=>b(c.id),className:(0,N.cn)("min-w-0 space-y-0.5 rounded-lg border px-3 py-2.5 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"border-foreground bg-muted/40":"border-border/60 hover:bg-muted/50"),children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:c.label}),f&&(0,d.jsx)(e.Check,{className:"size-3.5 shrink-0"})]}),(0,d.jsxs)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:[c.id," · ",c.tier]})]},c.id)})}),(0,d.jsx)(k.Input,{value:f.value,onChange:a=>f.set(a.target.value),onBlur:f.commit,onKeyDown:f.onKeyDown,placeholder:"Other model id","aria-label":"Other backend model id",spellCheck:!1,className:"font-mono text-sm"})]})}[x]=O.then?(await O)():O;let ah=[{value:"auto",label:"auto",title:"The model's own default"},...r.LIVE_REASONING.map(a=>({value:a,label:a,title:`Reasoning effort ${a}`}))];function W({webSearch:a,onWebSearch:b}){let{data:c}=(0,M.useServerRoute)(h.queryKey.callSkills),[e]=(0,L.useServerAction)(E.setCallSkillsAction,{onOk:()=>(0,M.revalidate)(h.queryKey.callSkills)});return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex flex-wrap gap-x-7 gap-y-3",children:[(0,d.jsx)(X,{label:"Search the web",checked:a,onChange:b}),(0,d.jsx)(X,{label:"Read skills herself",checked:c??!1,disabled:void 0===c,onChange:a=>e(a)})]}),a&&(0,d.jsx)(w.SettingNote,{children:"Each search adds to the backend's OpenAI usage."}),c&&(0,d.jsx)(Y,{})]})}function X({label:a,checked:b,disabled:c,onChange:e}){return(0,d.jsxs)("label",{className:"flex items-center gap-2.5 text-sm",children:[(0,d.jsx)(o.Switch,{checked:b,disabled:c,onCheckedChange:e}),a]})}function Y(){let{data:a}=(0,M.useServerRoute)(h.queryKey.skills);return a?(0,d.jsx)(w.SettingNote,{className:(0,N.cn)(!a.length&&N.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 Z({value:a,onCommit:b,placeholder:c,"aria-label":e}){let f=(0,H.useDraft)(a,b,{min:0});return(0,d.jsx)(p.Textarea,{value:f.value,maxLength:J.COMMON_VALIDATE.prompt.max,onChange:a=>f.set(a.target.value),onBlur:f.commit,placeholder:c,"aria-label":e})}function $(){let[a,b]=(0,L.useServerAction)(D.resetHistoryAction,{okMessage:({calls:a,threads:b,notes:c})=>`Wiped ${a} calls, ${b} jobs, ${c} notes`,onOk:()=>{(0,M.revalidate)(h.queryKey.memory),(0,M.revalidate)(h.queryKey.threads),(0,M.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.jsxs)("div",{className:"flex min-w-0 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 truncate text-sm font-medium",children:"Reset history"}),(0,d.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:"Calls, jobs and memory. Keys and bots stay."})]}),(0,d.jsx)(i.Button,{variant:"outline",size:"sm",loading:b,onClick:c,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})}function _({value:a,onChange:b}){let c=c=>b({...a,...c});return(0,d.jsx)(w.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)(y.Face,{look:a,size:176,className:"w-44"}),(0,d.jsx)(n.Segmented,{"aria-label":"Face",options:B.FACE_KINDS.map(a=>({value:a,label:y.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:y.FACES[a.kind].hint})]}),"mark"===a.kind&&(0,d.jsx)(s.MarkPalette,{color:a.paint?void 0:a.color,themePicked:!a.paint&&!a.color,onTheme:()=>c({color:void 0,paint:void 0}),onPick:a=>c({color:a,paint:void 0}),paint:a.paint,onPaint:b=>c({paint:a.paint===b?void 0:b})}),"mark"===a.kind&&(0,d.jsx)(aa,{label:"Shape",children:(0,d.jsx)(n.Segmented,{"aria-label":"Shape",options:t.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)(aa,{label:"Style",children:(0,d.jsx)(n.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)(aa,{label:"Glyphs",children:(0,d.jsx)(n.Segmented,{"aria-label":"Glyphs",options:B.ASCII_CHARSETS.map(a=>({value:a,label:ai[a]})),value:a.charset,onChange:a=>c({charset:a})})}),(0,d.jsx)(aa,{label:"Size",children:(0,d.jsx)(ab,{min:q.ASCII_FACE.fontSize.min,max:q.ASCII_FACE.fontSize.max,step:1,value:a.fontSize,format:a=>`${a}px`,onChange:a=>c({fontSize:a})})}),(0,d.jsx)(aa,{label:"Density",children:(0,d.jsx)(ab,{min:q.ASCII_FACE.density.min,max:q.ASCII_FACE.density.max,step:.1,value:a.density,format:a=>`${a.toFixed(1)}x`,onChange:a=>c({density:a})})})]})]})})}let ai={ascii:"Characters",emoji:"Sprinkled",emojiOnly:"All emoji"};function aa({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 ab({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)})]})}let aj={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 ac({value:a,onChange:b}){return(0,d.jsx)(w.SettingGroup,{label:"Captions",children:(0,d.jsx)("div",{className:"@container",children:(0,d.jsx)("div",{role:"radiogroup","aria-label":"Captions",className:"grid gap-3 @xl:grid-cols-2",children:F.CAPTION_VIEWS.map(c=>{let f=c===a;return(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":f,onClick:()=>b(c),className:(0,N.cn)("min-w-0 space-y-3 rounded-xl border p-3 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"border-foreground":"border-border/60 hover:bg-muted/50"),children:[(0,d.jsx)(ad,{view:c}),(0,d.jsxs)("span",{className:"flex items-center gap-3 px-1 pb-0.5",children:[(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:aj[c].label}),(0,d.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:aj[c].hint})]}),f&&(0,d.jsx)(e.Check,{className:"size-4 shrink-0"})]})]},c)})})})})}function ad({view:a}){let b="block h-1 max-w-full rounded-full bg-foreground/20";return(0,d.jsx)("span",{className:"flex h-24 items-center justify-center rounded-lg bg-muted",children:"center"===a?(0,d.jsxs)("span",{className:"flex flex-col items-center gap-2.5",children:[(0,d.jsx)(z.ThursdayMark,{size:32}),(0,d.jsx)("span",{className:(0,N.cn)(b,"w-28")})]}):(0,d.jsxs)("span",{className:"grid w-full grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-4 px-6",children:[(0,d.jsxs)("span",{className:"space-y-1.5",children:[(0,d.jsx)("span",{className:(0,N.cn)(b,"w-24")}),(0,d.jsx)("span",{className:(0,N.cn)(b,"w-16")})]}),(0,d.jsx)(z.ThursdayMark,{size:32}),(0,d.jsx)("span",{children:(0,d.jsx)("span",{className:(0,N.cn)(b,"ml-auto w-20")})})]})})}function ae({value:a,onChange:b}){return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(Q,{label:"She calls you"}),(0,d.jsx)(m.RadioGroup,{"aria-label":"She calls you",value:a,onValueChange:a=>b(F.CallBackSchema.parse(a)),className:"gap-2.5",children:F.CALL_BACK_MODES.map(a=>(0,d.jsxs)("label",{className:"flex min-w-0 items-center gap-2.5 text-sm",children:[(0,d.jsx)(m.RadioGroupItem,{value:a}),(0,d.jsx)("span",{className:"truncate",children:F.CALL_BACK_LABEL[a]})]},a))}),(0,d.jsx)(w.SettingNote,{children:ak[a]}),"off"!==a&&(0,d.jsx)(w.SettingNote,{children:"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."})]})}let ak={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 af({value:a,onChange:b}){let c=(0,H.useDraft)(a.phrase,c=>b({...a,phrase:c}),{min:F.WAKE_PHRASE.min}),e=c.value.trim().split(/\s+/).length<2;return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(Q,{label:"Wake phrase",children:(0,d.jsx)(o.Switch,{"aria-label":"Answer to her name",checked:a.enabled,onCheckedChange:c=>b({...a,enabled:c})})}),(0,d.jsx)(k.Input,{value:c.value,maxLength:F.WAKE_PHRASE.max,spellCheck:!1,disabled:!a.enabled,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)(w.SettingNote,{children:a.enabled?e?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count.":"Between calls, the browser listens for it and picks up."})]})}function ag({value:a,onChange:b}){let[c,e]=(0,g.useState)(!1),[f,h]=(0,g.useState)(!1),i=(0,I.useHotkeyLabel)((0,I.isCombo)(a.combo)?a.combo:null);return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(Q,{label:"Shortcut",children:(0,d.jsx)(o.Switch,{"aria-label":"Answer to a key",checked:a.enabled,onCheckedChange:c=>b({...a,enabled:c})})}),(0,d.jsx)("button",{type:"button",...I.HOTKEY_CAPTURE,disabled:!a.enabled,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,I.comboOf)(c.nativeEvent);if(!d)return h(!0);h(!1),e(!1),b({...a,combo:d})}:void 0,className:(0,N.cn)("flex h-8 w-full items-center justify-center rounded-lg border px-3 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-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)(w.SettingNote,{children:f?"Hold Ctrl, Alt or Cmd — a plain key is typing.":c?"Esc to keep the one you have.":a.enabled?"Only while this tab has focus. Not while you are typing.":"Starts a call, and ends the one that is running."})]})}a.s(["ThursdaySetting",0,function(){let a=(0,G.useThursdayStore)(),b=(0,G.useThursdayStore)(a=>a.patch),{data:c=[],isLoading:e,error:f}=(0,M.useServerRoute)(h.queryKey.llmModel),g=(0,C.useThursdayFace)();if(e)return(0,d.jsx)(w.SettingSkeleton,{rows:4});if(f)return(0,d.jsx)(w.SettingError,{message:f.message});let i=c.some(a=>a.apiKeyName===r.LIVE_PROVIDER.apiKeyName&&a.hasKey);return(0,d.jsxs)(w.SettingScreen,{footer:(0,d.jsx)(w.SettingRailNote,{children:"Both of her prompts are assembled fresh on every call — memory, the roster and your skills go in. Changes here apply from the next call."}),children:[(0,d.jsx)(_,{value:g,onChange:C.setThursdayFace}),(0,d.jsx)(ac,{value:a.captionView,onChange:a=>b({captionView:a})}),(0,d.jsx)(R,{value:a,face:g,hasKey:i,onChange:b}),(0,d.jsx)(w.SettingGroup,{label:"Starting a call",children:(0,d.jsxs)(P,{columns:3,children:[(0,d.jsx)(af,{value:a.wake,onChange:a=>b({wake:a})}),(0,d.jsx)(ag,{value:a.hotkey,onChange:a=>b({hotkey:a})}),(0,d.jsx)(ae,{value:a.callBack,onChange:a=>b({callBack:a})})]})}),(0,d.jsx)(w.SettingGroup,{label:"History",children:(0,d.jsxs)(P,{columns:2,children:[(0,d.jsx)(x.CallHistoryRow,{}),(0,d.jsx)($,{})]})})]})}]),c()}catch(a){c(a)}},!1),203282,a=>{"use strict";var b=a.i(187924),c=a.i(752562),d=a.i(589027),e=a.i(474215),f=a.i(572131),g=a.i(340695),h=a.i(205522),i=a.i(545097),j=a.i(864037),k=a.i(96340),l=a.i(445432),m=a.i(483253),n=a.i(497895);let o=Array(m.SPECTRUM_BANDS).fill(0);a.s(["VoicePicker",0,function({voice:a,face:p,onChange:q}){let[r,s]=(0,f.useState)(!1),[t,u]=(0,f.useState)(a),[v,w]=(0,f.useState)(!1),[x,y]=(0,f.useState)(""),z=(0,f.useRef)(null),A=(0,f.useRef)(null),B=(0,f.useRef)(0),C=(0,f.useRef)(!1),D=(0,f.useCallback)(()=>A.current&&C.current?A.current.clip.read():o,[]),E=a=>{C.current=a,w(a)};(0,f.useEffect)(()=>{if(r)return()=>{let a=A.current;A.current=null,a&&(a.element.pause(),a.clip.close())}},[r]);let F=(a,b)=>{a===B.current&&(B.current++,E(!1),j.toast.add({type:"error",title:"Voice sample did not play",description:(0,n.errorToString)(b)}))},G=()=>{B.current++;let a=z.current;a&&(a.pause(),a.currentTime=0),E(!1)};return r?(0,b.jsxs)("div",{className:"@container space-y-2",children:[(0,b.jsx)("audio",{ref:z,onEnded:()=>E(!1),onError:a=>{C.current&&F(B.current,a.currentTarget.error?.message||"The clip could not be read.")},children:(0,b.jsx)("track",{kind:"captions"})}),(0,b.jsxs)("div",{className:"rounded-xl border border-border/60 p-3",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:"click a name to hear it"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",className:"ml-auto","aria-label":"Close",onClick:()=>{G(),s(!1),y(""),u(a)},children:(0,b.jsx)(e.X,{})})]}),(0,b.jsxs)("div",{className:"grid gap-4 @md:grid-cols-[11rem_minmax(0,1fr)]",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,b.jsx)(l.Face,{look:p,status:v?"speaking":"idle",getSpectrum:D,size:176,className:"w-44"}),(0,b.jsx)("span",{className:"text-sm font-medium",children:v?(0,b.jsx)(i.ShinyText,{text:t}):t}),(0,b.jsx)("span",{className:"h-4 font-mono text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[t]})]}),(0,b.jsx)("div",{className:"max-h-56 min-w-0 overflow-y-auto",children:k.LIVE_VOICES.map(d=>(0,b.jsxs)("button",{type:"button",onClick:()=>(a=>{let b=z.current;if(!b)return;if(v&&a===t)return void G();u(a),y(""),A.current?.element!==b&&(A.current?.clip.close(),A.current={element:b,clip:(0,m.createClipTap)(b)}),A.current.clip.resume();let c=++B.current;b.src=(0,k.voiceSamplePath)(a),E(!0),b.play().catch(a=>{a instanceof DOMException&&"AbortError"===a.name||F(c,a)})})(d),className:(0,n.cn)("flex w-full items-center gap-2 rounded-md px-1.5 py-1.5 text-sm outline-none hover:bg-accent focus-visible:bg-accent",d===t&&"bg-accent text-accent-foreground"),children:[(0,b.jsx)("span",{className:"flex-1 text-left",children:v&&d===t?(0,b.jsx)(i.ShinyText,{text:d}):d}),(0,b.jsx)("span",{className:"shrink truncate font-mono text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[d]}),(0,b.jsx)(c.Check,{className:(0,n.cn)("size-3.5 shrink-0",d===a?"opacity-100":"opacity-0")})]},d))})]})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(h.Input,{value:x,onChange:a=>y(a.target.value),placeholder:"another voice id","aria-label":"Another voice id",spellCheck:!1,className:"font-mono text-sm"}),(0,b.jsx)(g.Button,{className:"shrink-0",onClick:()=>{let b=x.trim()||t;G(),s(!1),y(""),u(b),b!==a&&q(b)},children:"Save"})]})]}):(0,b.jsxs)("button",{type:"button",onClick:()=>s(!0),"aria-label":"Voice",className:(0,n.cn)(h.inputClassName,"flex items-center gap-2 text-left font-mono text-sm hover:border-ring"),children:[(0,b.jsx)("span",{className:"shrink-0",children:a}),(0,b.jsx)("span",{className:"min-w-0 truncate text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[a]}),(0,b.jsx)(d.ChevronDown,{className:"ml-auto size-3.5 shrink-0 text-muted-foreground"})]})}])},969730,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f1531e9bfa2fb6a3893c63ba15bfa30d5265bac61",b.callServer,void 0,b.findSourceMapURL,"resetHistoryAction");a.s(["resetHistoryAction",0,c])},486832,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f2235ee325843a055425949538d38ef0c6b44c62c",b.callServer,void 0,b.findSourceMapURL,"setCallSkillsAction");a.s(["setCallSkillsAction",0,c])},351287,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f16c32567d23cea9e7ab3cdd3b239ca935ab9596d",b.callServer,void 0,b.findSourceMapURL,"deleteCallAction");a.s(["deleteCallAction",0,c])},103837,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f7a8dec2724ded35f3720cca3da5ae468b639a9f6",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=_03_928f._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[249049,a=>{"use strict";var b=a.i(187924),c=a.i(752562),d=a.i(474215),e=a.i(572131),f=a.i(767561),g=a.i(340695),h=a.i(205522),i=a.i(379630),j=a.i(96340),k=a.i(313237),l=a.i(759497),m=a.i(497895),n=a.i(760374),o=a.i(478978);function p({provider:a,saved:c,autoFocus:d,dense:e,value:f,ready:g,saving:h,onValue:j,onSubmit:k}){return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2 px-0.5 text-muted-foreground",children:[(0,b.jsx)(i.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:(0,m.cn)("font-mono",e?"text-[11px]":"text-[12.5px]"),children:a.label})]}),(0,b.jsx)(q,{provider:a,saved:c,autoFocus:d,dense:e,value:f,ready:g,saving:h,onValue:j,onSubmit:k})]})}function q({provider:a,saved:d,autoFocus:e,dense:f,value:i,ready:j,saving:k,onValue:l,onSubmit:n}){let o=i.trim().startsWith("xai-")||i.trim().startsWith("sk-ant-");return(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),n()},className:(0,m.cn)("flex items-center gap-3 rounded-2xl border bg-muted/40 px-4 transition-colors",f?"h-11 rounded-xl px-3":"h-14",d||j?"border-foreground bg-transparent":"border-border"),children:[(0,b.jsx)(h.Input,{autoFocus:e,type:"password","aria-label":"OpenAI API key",autoComplete:"off",value:i,spellCheck:!1,placeholder:d?"Replace it":"sk-…",onChange:a=>l(a.target.value),className:(0,m.cn)("min-w-0 flex-1 border-0 bg-transparent px-0 font-mono shadow-none focus-visible:ring-0 dark:bg-transparent",f?"h-7 text-[13px]":"h-9 text-[15px]")}),i?(0,b.jsx)(g.Button,{type:"submit",size:"sm",variant:o?"outline":"default",loading:k,disabled:!j,className:(0,m.cn)("shrink-0",f?"h-7 px-3":"h-9 px-4"),children:o?`Not ${a.label}?`:"Save"}):d&&(0,b.jsx)("span",{className:(0,m.cn)("grid shrink-0 animate-in place-items-center rounded-full bg-foreground text-background zoom-in-50 duration-300",f?"size-5":"size-7"),children:(0,b.jsx)(c.Check,{className:f?"size-3":"size-4"})})]})}a.s(["KEY_MIN",0,8,"KeyInput",0,q,"VoiceKeys",0,function({ref:a,autoFocus:c,dense:h=!1,onCancel:i,onSaved:q,className:r}){let{data:s}=(0,l.useServerRoute)(f.queryKey.config),[t,u]=(0,e.useState)({}),[v,w]=(0,e.useState)(null),[x]=(0,k.useServerAction)(n.setConfigAction,{onOk:()=>{(0,l.revalidate)(f.queryKey.config),(0,l.revalidate)(f.queryKey.llmModel)}}),y=a=>(t[a]?.trim().length??0)>=8,z=async a=>{let b=a.apiKeyName;if(!y(b)||v)return!1;w(b);try{return await x(b,t[b]),u(a=>({...a,[b]:""})),q?.(a.id),!0}catch{return!1}finally{w(null)}};return(0,e.useImperativeHandle)(a,()=>({pending:()=>y(j.LIVE_PROVIDER.apiKeyName),flush:async()=>!y(j.LIVE_PROVIDER.apiKeyName)||z(j.LIVE_PROVIDER)})),(0,b.jsxs)("div",{className:(0,m.cn)("w-full",h?"space-y-2":"space-y-4",r),children:[h&&(0,b.jsxs)("div",{className:"flex h-6 items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"px-0.5 font-mono text-[11px] text-muted-foreground",children:"Voice key"}),i&&(0,b.jsx)(g.Button,{type:"button",size:"icon",variant:"ghost","aria-label":"Not now",onClick:i,className:"-my-1 size-6",children:(0,b.jsx)(d.X,{className:"size-3.5"})})]}),(0,b.jsx)(p,{provider:j.LIVE_PROVIDER,saved:(0,o.isConfigSet)(s,j.LIVE_PROVIDER.apiKeyName),autoFocus:c,dense:h,value:t[j.LIVE_PROVIDER.apiKeyName]??"",ready:y(j.LIVE_PROVIDER.apiKeyName),saving:v===j.LIVE_PROVIDER.apiKeyName,onValue:a=>u(b=>({...b,[j.LIVE_PROVIDER.apiKeyName]:a})),onSubmit:()=>void z(j.LIVE_PROVIDER)}),(0,b.jsx)("p",{className:(0,m.cn)("px-0.5 font-mono text-muted-foreground",h?"text-[11px]":"pt-1 text-center text-[12.5px]"),children:h?"Live voice and reasoning share this OpenAI API key.":"Live uses an OpenAI API key, billed separately from ChatGPT. Stored on this machine, in this app's database."})]})}])},647509,a=>{"use strict";a.s(["ALPHA_TOP",0,.82,"CHAR_RATE",0,2.2,"EMOJI_CHAR_RATE",0,.6,"EMOJI_MIN_LEVEL",0,6,"EMOJI_POOL",0,["🍎","🌹","🍓","❤️","🎈","🧨","🔴","🍊","🔥","🦊","🏀","🧡","🍑","⭐","🍋","🌻","💛","🐥","🌟","🍌","🍀","🌿","🐸","🥝","💚","🌵","🥑","💧","🌊","🫐","🐳","💙","🔵","🧊","🍇","💜","🔮","🟣","🪻","🍆","🌸","🌷","💗","🦩","🩷","🍫","🐻","🌰","🥐","🤍","☁️","🖤","⚪","⚫","🦢","🌈","🦜","🎨","🪩","🦄","✨","🍬","🎡"],"EMOJI_RATIO",0,.11,"RAMP",0,[[" "],[" ",".","`"],[".",",","·","'"],[":",";","-","^"],["=","+","~",'"'],["*","?","◦","j"],["c","v","○","7"],["o","x","◇","い"],["s","y","t","あ"],["e","a","u","な"],["k","w","z","や"],["q","h","n","米"]],"hash",0,function(a,b){let c=43758.5453*Math.sin(127.1*a+311.7*b);return c-Math.floor(c)},"smoothstep",0,function(a,b,c){let d=Math.min(1,Math.max(0,(c-a)/(b-a)));return d*d*(3-2*d)}])},445432,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(913834),e=a.i(287702),f=a.i(483253),g=a.i(647509);let h=[235,235,235],i=["████ ███ ███ ██ ███ ","█ █ █ █ █ █ █ █ █","███ ███ ███ █ █ ███ ","█ █ █ █ █ █ █ █ █ ","████ █ █ █ █ ██ █ █"];function j(a,b,c,d,e){return a+(b-a)*Math.min(1,e/(b>a?c:d))}function k({className:a,mode:d="idle",charset:l=e.ASCII_FACE.charset,fontSize:m=e.ASCII_FACE.fontSize.default,density:n=e.ASCII_FACE.density.default,size:o=680,color:p=h,getSpectrum:q,getMicSpectrum:r}){let s=(0,c.useRef)(null),t=(0,c.useRef)(null),u=(0,c.useRef)([]),v=(0,c.useRef)(null),w=(0,c.useRef)(l),x=(0,c.useRef)({cur:[...p],target:p}),y=(0,c.useRef)(0),z=(0,c.useRef)(q);z.current=q;let A=(0,c.useRef)(r);A.current=r;let B=(0,c.useRef)({phrase:0,micPhrase:0,micLevel:0,bob:0,bobVel:0,amp:[,,,,].fill(0),phase:Array.from({length:4},(a,b)=>2.1*b),spin:0,rings:[]}),C=(0,c.useRef)({mode:d,start:0}),D=(0,c.useRef)({scale:.3,lift:0,gather:0,comet:0,speech:0,err:0});return(0,c.useEffect)(()=>{let a=s.current;if(!a)return;let b=.95*m/n,c=1.25*m/n,d=680/o,e=b*d,f=c*d,h=Math.max(1,Math.floor(625.6/(i[0].length*e)));y.current=o;let j=[],k=Math.ceil(o/b),l=Math.ceil(o/c);for(let a=0;a<l;a++)for(let l=0;l<k;l++){let k=l*b,m=a*c,n=(k-o/2)*d,p=(m-o/2)*d,q=Math.hypot(n,p),r=function(a,b,c,d,e){let f=i.length,g=Math.floor(a/(c*e)+i[0].length/2),h=Math.floor(b/(d*e)+f/2);if(h<0||h>=f)return -1;let j=i[h];return g<0||g>=j.length||"█"!==j[g]?-1:Math.floor(g/5)}(n,p,e,f,h);r<0&&q>328||j.push({x:k+b/2,y:m+c/2,dx:n,dy:p,dist:q,angle:Math.atan2(p,n),seed:(0,g.hash)(l,a),grain:(0,g.hash)(5.7*l+19,2.3*a+53),gap:.05+.3*(0,g.hash)(7.3*l+11,3.1*a+5),emoji:(0,g.hash)(2.7*l+31,5.9*a+17)<g.EMOJI_RATIO,speck:(0,g.hash)(4.1*l+23,6.3*a+41),letter:r})}u.current=j,v.current={ascii:Array.from({length:g.RAMP.length},()=>new Int32Array(j.length)),emoji:Array.from({length:g.RAMP.length},()=>new Int32Array(j.length)),asciiN:new Int32Array(g.RAMP.length),emojiN:new Int32Array(g.RAMP.length),glyph:Array(j.length)};let p=Math.min(2,window.devicePixelRatio||1);a.width=o*p,a.height=o*p,a.style.width=`${o}px`,a.style.height=`${o}px`;let q=a.getContext("2d");return q&&(q.setTransform(p,0,0,p,0,0),q.font=`700 ${m}px ui-monospace,SFMono-Regular,Menlo,monospace`,q.textAlign="center",q.textBaseline="middle",t.current=q),()=>{q?.clearRect(0,0,o,o),u.current=[],v.current=null}},[m,n,o]),(0,c.useEffect)(()=>{w.current=l},[l]),(0,c.useEffect)(()=>{x.current.target=p},[p]),(0,c.useEffect)(()=>{C.current.mode!==d&&(C.current={mode:d,start:.001*performance.now()})},[d]),(0,c.useEffect)(()=>{let a=0,b=(0,f.createVoiceFollower)(),c=(0,f.createVoiceFollower)(),d=Array(f.SPECTRUM_BANDS).fill(0),e=Array(f.SPECTRUM_BANDS).fill(0),h=.001*performance.now(),i=0,k=1,l=0,m=f=>{let n=.001*f,o=Math.min(.05,Math.max(0,n-h));h=n;let p=t.current,q=v.current;if(!p||!q){a=requestAnimationFrame(m);return}let r=w.current,s=y.current;q.asciiN.fill(0),q.emojiN.fill(0);let E=z.current?.();if(!E||E.length<2){for(let a=0;a<d.length;a++){let b=.5*Math.sin(1.7*n+1.7*a)+.3*Math.sin(.8*n+.6*a)+.2*Math.sin(3*n+2.9*a);d[a]=.5*b+.5}E=d}let F=B.current,G=b.read(E,o);F.phrase=G.phrase,G.onset>0&&(F.bobVel+=.06*G.onset,F.rings.push({born:n,power:G.onset}),F.rings.length>5&&F.rings.shift()),F.bobVel+=-(.012*F.bob)-.09*F.bobVel,F.bob+=F.bobVel;let H=A.current?.(),I=c.read(H??e,o);F.micPhrase=H?I.phrase:0,F.micLevel=H?I.level:0;let J=H&&"listening"===C.current.mode?.5+8*I.level:1;k=j(k,J,.14,.14,o),i+=o*k;for(let a=0;a<4;a++){let b=Math.floor(a*G.bands.length/4),c=Math.max(b+1,Math.floor((a+1)*G.bands.length/4)),d=0;for(let a=b;a<c;a++)d+=G.bands[a];d/=c-b;let e=.7+.6*(0,g.hash)((.9*n|0)+31*a,a);F.amp[a]+=(d*e-F.amp[a])*(.05+.02*a),F.phase[a]+=o*(.9+.5*a)*(a%2?-1:1)}for(F.spin+=o*(1.1+.9*F.phrase);F.rings.length>0&&n-F.rings[0].born>.7;)F.rings.shift();let K=C.current,L=function(a,b,c){let d={scale:1,lift:0,gather:0,comet:0,speech:0,err:0};switch(a){case"idle":return d;case"connecting":{let a=1-Math.exp(-b/1.3);return{...d,scale:.45+.55*a,lift:.06*a,gather:1}}case"listening":return{...d,lift:.24*(.7*c.micPhrase+.3*c.micLevel)};case"speaking":return{...d,speech:1};case"working":return{...d,comet:1};case"ending":return{...d,scale:0};case"error":return{...d,scale:0,err:1}}}(K.mode,n-K.start,F),M=D.current;M.scale=j(M.scale,L.scale,.45,"ending"===K.mode?.4:.7,o),M.lift=j(M.lift,L.lift,.22,.4,o),M.gather=j(M.gather,L.gather,.3,.95,o),M.comet=j(M.comet,L.comet,.45,.9,o),M.speech=j(M.speech,L.speech,.5,.75,o),"error"===K.mode&&(M.err<=.01&&(l=0),l+=o),M.err=j(M.err,L.err,.5,.6,o);let N=M.err>.5,O="emojiOnly"===r?g.EMOJI_CHAR_RATE:g.CHAR_RATE,P=u.current;for(let a=0;a<P.length;a++){let b=P[a],c=function(a,b,c,d,e){let f,h,i,j,k=d.scale>.02?function(a,b,c=0,d=1){let e=170*Math.max(.02,d),f=1-(0,g.smoothstep)(.55*e,e,a.dist);return(.58+c+.2*Math.sin(.05*a.dist-.4*b)+.07*Math.sin(.35*b))*f}(a,b,d.lift,d.scale)*(1-.6*d.speech):0;return d.gather>.01&&(k+=function(a,b,c){let d=170*c;if(a.speck>=.55||a.dist<.8*d)return 0;let e=Math.min(55,Math.floor((a.angle+Math.PI)/(2*Math.PI)*56)),f=(.7*b+(0,g.hash)(e,5.3))%1,h=a.dist-(d+(320-d)*(1-f)**1.25)-(a.grain-.5)*16;return Math.exp(-(h*h)/260)*(0,g.smoothstep)(0,.2,f)*(1-f)*1.1}(a,b,d.scale)*d.gather),d.comet>.01&&(k+=(h=Math.exp(-((f=a.dist-210)*f)/1100),h*Math.exp(-((j=Math.atan2(Math.sin(i=a.angle-3*b),Math.cos(i)))*j)/(j<0?2.8:.16))*d.comet)),d.speech>.01&&(k+=function(a,b,c,d){var e;let f=170+40*c.phrase+85*c.bob;for(let b=0;b<4;b++)f+=28*c.amp[b]*Math.sin((b+2)*(a.angle+c.spin)+c.phase[b]);let g=170+(((e=f)<=205?Math.max(110,e):205+30*Math.tanh((e-205)/30))-170)*d,h=(a.grain-.5)*20+20*Math.sin(5*a.angle+.9*b+6.283*a.seed)*.3,i=a.dist-(g+h),j=Math.exp(-(i*i)/800)+.5*Math.exp(-(a.dist*a.dist)/6e3);if(a.dist<g&&(j+=.22*(1-a.dist/g)**.6*(.75+.25*Math.sin(.05*a.dist-1.2*b))),a.speck<.22){let d=90*(.6+.9*a.grain);for(let e=0;e<c.rings.length;e++){let f=c.rings[e],h=b-f.born,i=a.dist-(g+6+h*d);j+=Math.exp(-(i*i)/500)*f.power*Math.max(0,1-h/.7)}}return j}(a,b,e,d.speech)*d.speech),d.err>.01&&(k+=function(a,b,c){if(a.letter<0)return 0;let d=c%9.2,e=.12*a.seed;return Math.max(0,(0,g.smoothstep)(0,1,(d-.65*a.letter-e)/.8)-(0,g.smoothstep)(0,1,(d-5.6-.5*a.letter-e)/.7))*(.86+.14*Math.sin(3.5*b+6*a.seed))}(a,b,c)*d.err),k}(b,n,l,M,F);!(N&&b.letter>=0)&&((c*=(.66+.72*b.grain)*(.8+.4*(0,g.hash)(Math.floor(.05*b.dx+.5*n),Math.floor(.05*b.dy-.3*n))))>.3&&(0,g.hash)(31.7*Math.floor(1.6*n),613*b.seed)>.992&&(c=Math.max(c,.9)),c<b.gap+.05*Math.sin(.28*n+6.283*b.seed)&&(c=0));let d=(c=c<0?0:c>1?1:c)*(g.RAMP.length-1)|0;if(0===d)continue;let e=i*O+7*b.seed|0;if("emojiOnly"===r||"emoji"===r&&b.emoji&&d>=g.EMOJI_MIN_LEVEL){let c=((b.seed*g.EMOJI_POOL.length|0)+e)%g.EMOJI_POOL.length;q.glyph[a]=g.EMOJI_POOL[c],q.emoji[d][q.emojiN[d]++]=a}else{let c=g.RAMP[d],f=((b.seed*c.length|0)+e)%c.length;q.glyph[a]=c[f],q.ascii[d][q.asciiN[d]++]=a}}p.clearRect(0,0,s,s);let Q=u.current,R=g.RAMP.length-1,S=x.current;for(let a=0;a<3;a++)S.cur[a]+=(S.target[a]-S.cur[a])*.05;p.fillStyle=`rgb(${0|S.cur[0]},${0|S.cur[1]},${0|S.cur[2]})`;for(let a=1;a<=R;a++){let b=q.asciiN[a];if(0===b)continue;p.globalAlpha=g.ALPHA_TOP*(a/R);let c=q.ascii[a];for(let a=0;a<b;a++){let b=Q[c[a]];p.fillText(q.glyph[c[a]],b.x,b.y)}}for(let a=1;a<=R;a++){let b=q.emojiN[a];if(0===b)continue;p.globalAlpha=.35+a/R*.65;let c=q.emoji[a];for(let a=0;a<b;a++){let b=Q[c[a]];p.fillText(q.glyph[c[a]],b.x,b.y)}}p.globalAlpha=1,a=requestAnimationFrame(m)};return a=requestAnimationFrame(m),()=>cancelAnimationFrame(a)},[]),(0,b.jsx)("canvas",{ref:s,className:a,"aria-hidden":!0,style:{display:"block",pointerEvents:"none"}})}var l=a.i(730357),m=a.i(497895);let n={idle:"idle",connecting:"connecting",ending:"connecting",listening:"listening",speaking:"speaking",working:"thinking",delegating:"delegating"},o={ripple:18,bandEase:.03,pulse:0,punch:.05,stretch:0},p={ending:"ending",idle:"idle",connecting:"connecting",listening:"listening",speaking:"speaking",working:"working",delegating:"working"},q=[247,247,247],r=[10,10,10],s={mark:{label:"Mark",hint:"A silhouette with eyes. Blinks, glances, leans into a voice.",render:function({status:a,failed:c,size:e,getSpectrum:f,look:g,className:h}){return(0,b.jsx)(d.BotMark,{size:e,seed:"thursday",color:g.color,shape:g.shape,outline:g.outline,paint:g.paint,state:n[a],crossed:c,getSpectrum:f,options:o,notify:!1,className:h})}},ascii:{label:"Ascii",hint:"A field of characters. No eyes — the whole orb is the expression.",render:function({status:a,failed:c,size:d,getSpectrum:e,getMicSpectrum:f,look:g,className:h}){let i="dark"===(0,l.useResolvedTheme)();return(0,b.jsx)(k,{mode:c?"error":p[a],size:d,color:i?q:r,getSpectrum:e,getMicSpectrum:f,charset:g.charset,fontSize:g.fontSize,density:g.density,className:h})}}},t=(0,c.memo)(function({look:a,status:d="idle",size:e=448,className:f,...g}){let h=(0,c.useRef)(null),[i,j]=(0,c.useState)(e),[k,l]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=h.current;if(!a)return;let b=new ResizeObserver(([a])=>{let b=Math.round(a.contentRect.width);b>0&&j(b)});return b.observe(a),()=>b.disconnect()},[]),(0,c.useEffect)(()=>{let a=requestAnimationFrame(()=>l(!0));return()=>cancelAnimationFrame(a)},[]);let n=s[a.kind].render;return(0,b.jsx)("div",{ref:h,className:(0,m.cn)("aspect-square transition-opacity duration-700 ease-out",k?"opacity-100":"opacity-0",f),children:(0,b.jsx)(n,{...g,look:a,status:d,size:i})})});a.s(["FACES",0,s,"Face",0,t],445432)},359006,a=>{"use strict";let b,c;var d=a.i(920226);let e=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>e(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>e(b)(a)}}};var f=a.i(96340),g=a.i(461512);let h=g.ThursdaySettingsSchema.extend({wake:g.WakeSchema.catch(g.WAKE_DEFAULT),hotkey:g.HotkeySchema.catch(g.HOTKEY_DEFAULT),callBack:g.CallBackSchema.catch(g.CALL_BACK_DEFAULT),captionView:g.CaptionViewSchema.catch("center")}),i={...f.LIVE_DEFAULTS,wake:g.WAKE_DEFAULT,hotkey:g.HOTKEY_DEFAULT,callBack:g.CALL_BACK_DEFAULT,captionView:"center"},j=(0,d.create)()((b=a=>({...i,patch:b=>a(b)}),c={name:"thursday.settings",merge:(a,b)=>{let c=h.safeParse((0,f.migrateLiveSettings)(a)),d=c.success?c.data:i;return{...b,...d}}},(a,d,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...c},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return b((...b)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),a(...b)});let n=()=>{let a=h.partialize({...d()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=b((...b)=>(a(...b),n()));f.getInitialState=()=>p;let q=()=>{var b,c;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=d())?b:p)});let o=(null==(c=h.onRehydrateStorage)?void 0:c.call(h,null!=(b=d())?b:p))||void 0;return e(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(b=>{var c;if(f!==j)return;let[e,i]=b;if(a(g=h.merge(i,null!=(c=d())?c:p),!0),e)return n()}).then(()=>{f===j&&(null==o||o(d(),void 0),g=d(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{++j,null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}));a.s(["thursdaySettings",0,()=>{let a="u"<typeof navigator?null:navigator.language??null;return g.ThursdaySettingsSchema.parse({...j.getState(),locale:a})},"useThursdayStore",0,j],359006)},27418,a=>{"use strict";var b=a.i(421042);let c={[b.TOOL_NAMES.memory_recall]:"Checking your notes",[b.TOOL_NAMES.memory_remember]:"Noting that down",[b.TOOL_NAMES.memory_forget]:"Forgetting that",[b.TOOL_NAMES.bash]:"Doing it on this computer",[b.TOOL_NAMES.web_search]:"Searching the web",[b.TOOL_NAMES.load_skill]:"Reading how to do this",[b.TOOL_NAMES.end_call]:"Ending the call"};function d(a){if(!a)return null;try{let b=JSON.parse(a);if(b&&"object"==typeof b&&!Array.isArray(b))return b}catch{}return null}a.s(["delegatedLabel",0,function(a,c){if(a!==b.TOOL_NAMES.delegate)return null;try{let a=JSON.parse(c);return"string"==typeof a.label?a.label:null}catch{return null}},"toolBot",0,function(a,c){if(a!==b.TOOL_NAMES.delegate)return null;let e=d(c)?.bot;return"string"==typeof e&&e.trim()?e.trim():null},"toolLine",0,function(a,e){let f;if(a===b.TOOL_NAMES.tool_search||a===b.TOOL_NAMES.tool_call)return"Reaching a connected service";let g=d(e);return(g&&function(a,c){if(a===b.TOOL_NAMES.memory_remember){let a="string"==typeof c.path?c.path.trim():"",b=function(a){if(!Array.isArray(a.facts))return null;let b=a.facts.map(a=>a&&"object"==typeof a&&"string"==typeof a.text?a.text.trim():"").filter(Boolean);return b.length?{text:b[0],more:b.length-1}:null}(c);if(!a)return null;if(!b)return`Noting that under ${a}`;let d=b.more>0?` (+${b.more})`:"";return`Noting under ${a}: ${function(a){let b=a.trim().replace(/\s+/g," ");if(b.length<=28)return b;let c=b.slice(0,28),d=c.lastIndexOf(" ");return`${(d>14?c.slice(0,d):c).trimEnd()}…`}(b.text)}${d}`}if(a===b.TOOL_NAMES.delegate){let a="string"==typeof c.bot?c.bot.trim():"";return a?`Handing this to ${a}`:"Handing this over"}if(a===b.TOOL_NAMES.thread){let a="string"==typeof c.thread?c.thread.trim():"";return"answer"===c.action?"Passing that back":"cancel"===c.action?"Stopping that":"open"===c.action?a?`Opening ${a}`:"Opening that":a?`Checking on ${a}`:"Checking the jobs"}return null}(a,g))??c[a]??((f=a.indexOf("__"))<=0?null:`Reaching ${a.slice(0,f).replace(/[-_]/g," ")}`)}])},332033,a=>{"use strict";var b=a.i(572131);let c=["ctrl","alt","meta"],d=/^(Control|Alt|Shift|Meta|OS)/,e=/^(input|textarea|select)$/i;function f(a){let{code:b,ctrlKey:c,altKey:e,shiftKey:f,metaKey:g}=a;if(!b||d.test(b)||!c&&!e&&!g)return null;let h=[];return c&&h.push("ctrl"),e&&h.push("alt"),f&&h.push("shift"),g&&h.push("meta"),[...h,b].join("+")}let g={ctrl:["Ctrl","⌃"],alt:["Alt","⌥"],shift:["Shift","⇧"],meta:["Meta","⌘"]};a.s(["HOTKEY_CAPTURE",0,{"data-hotkey-capture":""},"comboOf",0,f,"isCombo",0,a=>{let b=a.split("+"),e=b.at(-1);return!!(e&&!d.test(e)&&b.slice(0,-1).some(a=>c.includes(a)))},"useHotkey",0,function({enabled:a,combo:c,onPress:d}){let g=(0,b.useRef)(d);g.current=d,(0,b.useEffect)(()=>{if(!a||!c)return;let b=a=>{var b;a.repeat||(b=a.target)&&(e.test(b.tagName)||b.isContentEditable||b.closest?.("[data-hotkey-capture]"))||f(a)===c&&(a.preventDefault(),g.current())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,c])},"useHotkeyLabel",0,function(a){let[c,d]=(0,b.useState)(!1);return(0,b.useEffect)(()=>d(/mac/i.test(navigator.userAgent)),[]),a?function(a,b=!1){let c=a.split("+"),d=c.at(-1)??"",e=c.slice(0,-1).map(a=>g[a]?.[+!!b]??a),f=d.replace(/^(Key|Digit|Numpad)/,"").replace(/([a-z])([A-Z])/g,"$1 $2")||d;return b?[...e,f].join(""):[...e,f].join(" + ")}(a,c):null}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_05yghx6._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[8468,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(752562),f=a.i(589027),g=a.i(168370),h=a.i(847799),i=a.i(62140),j=a.i(875160),k=a.i(328423),l=a.i(488540),m=a.i(233540),n=a.i(674746),o=a.i(357307),p=a.i(924613),q=a.i(572131),r=a.i(767561),s=a.i(545097),t=a.i(950463),u=a.i(421042),v=a.i(107340),w=a.i(86922),x=a.i(600154),y=a.i(369768),z=a.i(759497),A=a.i(497895),B=b([y]);[y]=B.then?(await B)():B;let I={[u.TOOL_NAMES.web_search]:function({tool:a,threadId:b,collapsed:c}){let e=L(a.results);return(0,d.jsxs)(E,{tool:a,threadId:b,icon:m.Search,collapsed:c,children:[(0,d.jsxs)("p",{className:"px-3 pt-1 pb-1.5 text-[13px] leading-snug break-keep",children:["“",a.input,"”"]}),e.length>0&&(0,d.jsx)("ol",{className:"space-y-0.5 px-3 pb-2",children:e.map((a,b)=>(0,d.jsxs)("li",{className:"flex gap-2 text-[11.5px] leading-snug text-muted-foreground",children:[(0,d.jsx)("span",{className:"mt-1.25 size-1 shrink-0 rounded-full bg-muted-foreground/50"}),(0,d.jsx)("span",{className:"truncate",children:a})]},`${b}-${a}`))})]})},[u.TOOL_NAMES.bash]:function({tool:a,threadId:b,collapsed:c}){let e=L(a.results);return(0,d.jsx)(E,{tool:a,threadId:b,icon:o.Terminal,collapsed:c,children:(0,d.jsxs)("pre",{className:"mx-3 overflow-x-auto rounded-lg bg-foreground/5 px-2.5 py-1.5 font-mono text-[11px] leading-relaxed scrollbar-none dark:bg-black/25",children:[(0,d.jsx)("span",{className:"text-muted-foreground/60",children:"$ "}),a.input,e.length>0&&(0,d.jsx)("span",{className:"block text-muted-foreground",children:e.join("\n")})]})})},[u.TOOL_NAMES.write_file]:a=>(0,d.jsx)(C,{icon:h.FilePen,...a})},J={[u.TOOL_NAMES.web_search]:m.Search,[u.TOOL_NAMES.bash]:o.Terminal,[u.TOOL_NAMES.write_file]:h.FilePen,[u.TOOL_NAMES.memory_recall]:w.MemoryMark,[u.TOOL_NAMES.memory_remember]:w.MemoryMark,[u.TOOL_NAMES.memory_forget]:w.MemoryMark,[u.TOOL_NAMES.memory_conversation]:w.MemoryMark,[u.TOOL_NAMES.load_skill]:x.SkillsMark,[u.TOOL_NAMES.tool_search]:v.McpMark,[u.TOOL_NAMES.tool_call]:v.McpMark,[u.TOOL_NAMES.delegate]:n.Send,[u.TOOL_NAMES.thread]:i.ListChecks,[u.TOOL_NAMES.send_message]:k.MessageSquare,[u.TOOL_NAMES.end_call]:l.PhoneOff},K=a=>J[a]??p.Wrench;function C({icon:a,tool:b,threadId:c,collapsed:e}){let f=b.path??b.input;return(0,d.jsxs)(E,{tool:b,threadId:c,icon:a,collapsed:e,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 pt-1 pb-1.5",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:b.input}),(0,d.jsxs)(y.FileLink,{path:f,label:`Open ${f}`,className:"flex shrink-0 items-center gap-1 rounded-md px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground outline-none transition-colors hover:bg-background hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50",children:[(0,d.jsx)(g.ExternalLink,{className:"size-3"}),"Open"]})]}),(0,d.jsx)(H,{lines:L(b.results),mono:!0})]})}function D({tool:a,threadId:b,collapsed:c}){return(0,d.jsxs)(E,{tool:a,threadId:b,icon:K(a.name),collapsed:c,children:[(0,d.jsx)("p",{className:"px-3 pt-1 pb-1.5 text-[12px] leading-snug break-keep",children:a.input}),(0,d.jsx)(H,{lines:L(a.results)})]})}function E({tool:a,threadId:b,icon:c,collapsed:g=!1,children:h}){let i=void 0===a.results,[k,l]=(0,q.useState)(!g),m=k||i,n=b&&a.callId&&((a.results?.length??0)>0||a.more);return(0,d.jsxs)("div",{className:(0,A.cn)("@container w-full overflow-hidden rounded-xl transition-colors",m?"bg-background/80 dark:bg-white/4":"hover:bg-foreground/4"),children:[(0,d.jsxs)("button",{type:"button",onClick:()=>l(a=>!a),"aria-expanded":m,className:"flex w-full items-center gap-2 rounded-xl px-2.5 py-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,d.jsx)("span",{className:"grid size-5 shrink-0 place-items-center rounded-[7px] bg-foreground/8 text-muted-foreground",children:i?(0,d.jsx)(j.Loader2,{className:"size-3 animate-spin"}):(0,d.jsx)(c,{className:"size-3"})}),a.note?(0,d.jsxs)(d.Fragment,{children:[i?(0,d.jsx)(s.ShinyText,{text:a.note,speed:2.4,className:"min-w-0 flex-1 truncate text-[12px] leading-4 break-keep"}):(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-[12px] leading-4 break-keep",children:a.note}),(0,d.jsx)("span",{className:"hidden min-w-0 flex-1 truncate font-mono text-[11px] leading-4 text-muted-foreground/85 @lg:block",children:a.input})]}):i?(0,d.jsx)(s.ShinyText,{text:a.input,speed:2.4,className:"min-w-0 flex-1 truncate font-mono text-[11px] leading-4"}):(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] leading-4 text-foreground/80",children:a.input}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:a.name}),!i&&(0,d.jsx)(e.Check,{className:"size-3 shrink-0 text-muted-foreground/50"}),(0,d.jsx)(f.ChevronDown,{className:(0,A.cn)("size-3 shrink-0 text-muted-foreground/50 transition-transform",m&&"rotate-180")})]}),m&&(0,d.jsxs)("div",{className:"pb-1.5 pl-[1.625rem]",children:[h,n&&(0,d.jsx)(F,{threadId:b,callId:a.callId})]})]})}function F({threadId:a,callId:b}){let[c,e]=(0,q.useState)(!1),{data:g,isLoading:h}=(0,z.useServerRoute)(c?r.queryKey.toolResult(a,b):null);return(0,d.jsxs)("div",{className:"px-3 pb-1",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>e(a=>!a),className:"flex items-center gap-1 rounded-md py-0.5 font-mono text-[10px] text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,d.jsx)(f.ChevronDown,{className:(0,A.cn)("size-3",c&&"rotate-180")}),c?"Less":"Everything"]}),c&&(h||!g?(0,d.jsx)(t.Skeleton,{className:"mt-1.5 h-12 w-full rounded-lg"}):(0,d.jsxs)("div",{className:"mt-1.5 space-y-1.5",children:[M(g).map((a,b)=>(0,d.jsx)(G,{src:a},`${b}-${a.length}`)),L(g).length>0&&(0,d.jsx)("pre",{className:"max-h-72 overflow-auto rounded-lg bg-foreground/5 px-2.5 py-2 font-mono text-[11px] leading-relaxed break-all whitespace-pre-wrap dark:bg-black/25",children:L(g).join("\n")})]}))]})}function G({src:a}){return(0,d.jsx)("img",{src:a,alt:"",className:"block w-full rounded-lg bg-muted object-contain"})}function H({lines:a,mono:b}){return 0===a.length?null:(0,d.jsx)("ul",{className:"px-3 pb-1.5",children:a.map((a,c)=>(0,d.jsx)("li",{className:(0,A.cn)("truncate text-[11px] leading-relaxed text-muted-foreground",b&&"font-mono"),children:a},`${c}-${a}`))})}let L=a=>a?.flatMap(a=>"text"===a.type?[a.text]:[])??[],M=a=>a?.flatMap(a=>"image"===a.type?[a.src]:[])??[];a.s(["BotTool",0,function(a){let b=I[a.tool.name]??D;return(0,d.jsx)(b,{...a})},"toolIcon",0,K]),c()}catch(a){c(a)}},!1),107340,a=>{"use strict";var b=a.i(164831);let c={name:"cable",size:24,node:[["path",{d:"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z",key:"trhst0"}],["path",{d:"M17 21v-2",key:"ds4u3f"}],["path",{d:"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10",key:"1mo9zo"}],["path",{d:"M21 21v-2",key:"eo0ou"}],["path",{d:"M3 5V3",key:"1k5hjh"}],["path",{d:"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z",key:"1dd30t"}],["path",{d:"M7 5V3",key:"1t1388"}]]};c.node;let d=(0,b.default)(c);a.s(["McpMark",0,d],107340)},86922,a=>{"use strict";var b=a.i(164831);let c={name:"cpu",size:24,node:[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]};c.node;let d=(0,b.default)(c);a.s(["MemoryMark",0,d],86922)},600154,a=>{"use strict";let b=a.i(689594).BookMarked;a.s(["SkillsMark",0,b])},346075,a=>{"use strict";var b=a.i(187924),c=a.i(913834),d=a.i(759399);let e="thursday";a.s(["THURSDAY_SEED",0,e,"ThursdayMark",0,function({size:a=16,className:f}){let g=(0,d.useThursdayFace)();return(0,b.jsx)(c.BotMark,{size:a,seed:e,color:g.color,shape:g.shape,outline:g.outline,paint:g.paint,notify:!1,className:f})}])},334392,a=>{"use strict";a.s(["ASCII_CHARSETS",0,["ascii","emoji","emojiOnly"],"FACE_KINDS",0,["mark","ascii"]])},759399,a=>{"use strict";var b=a.i(572131),c=a.i(461512);let d="thursday.icon";function e(){return c.FACE_DEFAULT}let f=e(),g=new Set;function h(){for(let a of g)a()}a.s(["setThursdayFace",0,function(a){f=a;try{window.localStorage.setItem(d,JSON.stringify(a))}catch{}h()},"useThursdayFace",0,function(){return(0,b.useSyncExternalStore)(a=>{g.add(a);let b=a=>{a.key===d&&(f=e(),h())};return window.addEventListener("storage",b),()=>{g.delete(a),window.removeEventListener("storage",b)}},()=>f,()=>c.FACE_DEFAULT)}])},461512,a=>{"use strict";var b=a.i(702080),c=a.i(287702),d=a.i(96340),e=a.i(411509),f=a.i(334392),g=a.i(249890);let h=d.LiveSettingsSchema.extend({locale:b.default.string().max(35).nullish()}),i=e.botIconSchema.extend({kind:b.default.enum(f.FACE_KINDS).default("ascii"),charset:b.default.enum(f.ASCII_CHARSETS).default(c.ASCII_FACE.charset),fontSize:b.default.number().min(c.ASCII_FACE.fontSize.min).max(c.ASCII_FACE.fontSize.max).default(c.ASCII_FACE.fontSize.default),density:b.default.number().min(c.ASCII_FACE.density.min).max(c.ASCII_FACE.density.max).default(c.ASCII_FACE.density.default)}).parse({}),j={min:3,max:32},k=b.default.object({enabled:b.default.boolean(),phrase:b.default.string().trim().min(j.min).max(j.max)}),l=b.default.object({enabled:b.default.boolean(),combo:b.default.string().trim().min(1).max(64)}),m=["off","waiting","any"],n=b.default.enum(m),o=["center","sides"],p=b.default.enum(o);b.default.object({id:b.default.string().min(1),role:b.default.enum(["user","assistant","tool"]),tool:b.default.string().nullish(),text:b.default.string(),seq:b.default.number().int().min(0),fragments:b.default.array(g.LiveFragmentSchema).nullish()}),b.default.object({id:b.default.string().min(1),text:b.default.string(),seq:b.default.number().int().min(0)}),a.s(["CALL_BACK_DEFAULT",0,"off","CALL_BACK_LABEL",0,{off:"Never",waiting:"When a job needs me",any:"Whenever a job ends"},"CALL_BACK_MODES",0,m,"CAPTION_VIEWS",0,o,"CallBackSchema",0,n,"CaptionViewSchema",0,p,"FACE_DEFAULT",0,i,"HOTKEY_DEFAULT",0,{enabled:!0,combo:"alt+shift+KeyT"},"HotkeySchema",0,l,"ThursdaySettingsSchema",0,h,"WAKE_DEFAULT",0,{enabled:!0,phrase:"hey thursday"},"WAKE_PHRASE",0,j,"WakeSchema",0,k])},847799,a=>{"use strict";var b=a.i(164831);let c={name:"file-pen",size:24,node:[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]],aliases:["file-edit"]};c.node;let d=(0,b.default)(c);a.s(["FilePen",0,d],847799)},62140,a=>{"use strict";var b=a.i(164831);let c={name:"list-checks",size:24,node:[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]};c.node;let d=(0,b.default)(c);a.s(["ListChecks",0,d],62140)},328423,a=>{"use strict";var b=a.i(164831);let c={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};c.node;let d=(0,b.default)(c);a.s(["MessageSquare",0,d],328423)},488540,a=>{"use strict";var b=a.i(164831);let c={name:"phone-off",size:24,node:[["path",{d:"M10.1 13.9a14 14 0 0 0 3.732 2.668 1 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 2 18 18 0 0 1-12.728-5.272",key:"1wngk7"}],["path",{d:"M22 2 2 22",key:"y4kqgn"}],["path",{d:"M4.76 13.582A18 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 .244.473",key:"10hv5p"}]]};c.node;let d=(0,b.default)(c);a.s(["PhoneOff",0,d],488540)},674746,a=>{"use strict";var b=a.i(164831);let c={name:"send",size:24,node:[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]};c.node;let d=(0,b.default)(c);a.s(["Send",0,d],674746)},357307,a=>{"use strict";var b=a.i(164831);let c={name:"terminal",size:24,node:[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]};c.node;let d=(0,b.default)(c);a.s(["Terminal",0,d],357307)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_08c4z-9._.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
module.exports=[701876,a=>{"use strict";var b=a.i(451208);a.s([],489277),a.i(489277),a.s(["7fbd6f0e49811eccb94c49c5cb9f649b9a03d6a678",()=>b.openFileAction],701876)},451208,a=>{"use strict";var b=a.i(137936),c=a.i(821415),d=a.i(912714),e=a.i(750227),f=a.i(569572),g=a.i(293480);async function h(a){let b=await (0,c.insideWorkspace)(a);b||(0,g.publicError)("Outside the workspace");let e=await (0,d.stat)(b).catch(()=>null);e||(0,g.publicError)("File not found"),e.isFile()||(0,g.publicError)("That is a folder, not a file"),await (0,d.rm)(b)}async function i(){let a=(0,e.join)(c.WORKSPACE,f.PATHS.scratch);for(let b of(await (0,d.readdir)(a).catch(()=>[])))await (0,d.rm)((0,e.join)(a,b),{recursive:!0,force:!0})}a.i(684321);var j=a.i(225689),k=a.i(874533),l=a.i(812057);let m={darwin:a=>["open",[a]],win32:a=>["cmd.exe",["/c","start","",a]],linux:a=>["xdg-open",[a]]};async function n(a){await (0,d.access)(a);let b=m[process.platform]?.(a);if(!b)throw Error(`Opening files is not wired up on ${process.platform}.`);let[c,e]=b;await (0,l.promisify)(k.execFile)(c,e,{windowsHide:!0})}var o=a.i(182248),p=a.i(713095);let q=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?");let d=(await (0,c.openWorkspace)()).resolve(b);try{await n(d)}catch(a){(0,g.publicError)(`Could not open ${b}: ${(0,o.errorToString)(a)}`)}}),r=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?"),await h(b)}),s=(0,j.serverAction)(async()=>i());(0,p.ensureServerEntryExports)([q,r,s]),(0,b.registerServerReference)(q,"7fbd6f0e49811eccb94c49c5cb9f649b9a03d6a678",null),(0,b.registerServerReference)(r,"7f376ce11e02bd8623e15e8cff16afba68bbafc52f",null),(0,b.registerServerReference)(s,"7fefd295187e02f4444371c90821d90314c11d3fe1",null),a.s(["deleteWorkspaceFileAction",0,r,"emptyScratchAction",0,s,"openFileAction",0,q],451208)},225689,a=>{"use strict";a.i(570396);var b=a.i(673727),c=a.i(975160),d=a.i(176668),e=a.i(293480);let f=a=>!!a&&"object"==typeof a&&(!0===a.$ok||!1===a.$ok),g=a=>f(a)&&a.$ok,h=a=>({$ok:!0,data:a}),i=a=>({$ok:!1,message:a});async function j(a){try{let b=h(await a());for(;g(b)&&f(b.data);)b=b.data;return b}catch(a){if((0,b.unstable_rethrow)(a),(0,e.isPublicError)(a))return i(a.message);if(a instanceof c.ZodError)return i(a.issues[0]?.message);if(f(a)&&!a.$ok)return a;return d.logger.error(a),i()}}a.s(["serverAction",0,a=>(...b)=>j(()=>a(...b))],225689)},293480,a=>{"use strict";class b extends Error{message;constructor(a){super(a),this.message=a}}a.s(["isPublicError",0,a=>a instanceof b,"publicError",0,function(a){throw new b(a)}])},832030,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_readline_1u65a-m._.js","server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_1j4x-_j._.js"].map(b=>a.l(b))).then(()=>b(322479)))},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)}];
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=_0_qfdlw._.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
module.exports=[684321,a=>{"use strict";var b=a.i(569572);let c=a=>`text/${a}; charset=utf-8`,d={md:{kind:"markdown",mime:c("markdown")},markdown:{kind:"markdown",mime:c("markdown")},csv:{kind:"csv",mime:c("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:c("plain")},log:{kind:"text",mime:c("plain")},html:{kind:"frame",mime:c("html")},htm:{kind:"frame",mime:c("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},css:{kind:"none",mime:c("css")},js:{kind:"none",mime:c("javascript")},woff2:{kind:"none",mime:"font/woff2"}},e=Object.entries(d).filter(([,a])=>"none"!==a.kind).map(([a])=>a),f=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${e.join("|")})\b`,"giu"),g=`${b.PATHS.workspace}/`;a.s(["pathsIn",0,function(a){let b=a.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," "),c=new Set;for(let a of b.match(f)??[]){let b=function(a){let b,c,d=(c=(b=a.trim()).indexOf(g))>=0?b.slice(c+g.length)||null:b.startsWith("/")||/^[A-Za-z]:/.test(b)||b.split("/").includes("..")?null:b||null;if(!d)return null;let[e,...f]=d.split("/");return f.length&&e.includes(".")?null:d}(a);b&&c.add(b)}return[...c].slice(0,6)},"viewKindOf",0,a=>d[a.split(".").pop()?.toLowerCase()??""]?.kind??"none"])},451208,a=>{"use strict";var b=a.i(137936),c=a.i(821415),d=a.i(912714),e=a.i(750227),f=a.i(569572),g=a.i(293480);async function h(a){let b=await (0,c.insideWorkspace)(a);b||(0,g.publicError)("Outside the workspace");let e=await (0,d.stat)(b).catch(()=>null);e||(0,g.publicError)("File not found"),e.isFile()||(0,g.publicError)("That is a folder, not a file"),await (0,d.rm)(b)}async function i(){let a=(0,e.join)(c.WORKSPACE,f.PATHS.scratch);for(let b of(await (0,d.readdir)(a).catch(()=>[])))await (0,d.rm)((0,e.join)(a,b),{recursive:!0,force:!0})}a.i(684321);var j=a.i(225689),k=a.i(874533),l=a.i(812057);let m={darwin:a=>["open",[a]],win32:a=>["cmd.exe",["/c","start","",a]],linux:a=>["xdg-open",[a]]};async function n(a){await (0,d.access)(a);let b=m[process.platform]?.(a);if(!b)throw Error(`Opening files is not wired up on ${process.platform}.`);let[c,e]=b;await (0,l.promisify)(k.execFile)(c,e,{windowsHide:!0})}var o=a.i(182248),p=a.i(713095);let q=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?");let d=(await (0,c.openWorkspace)()).resolve(b);try{await n(d)}catch(a){(0,g.publicError)(`Could not open ${b}: ${(0,o.errorToString)(a)}`)}}),r=(0,j.serverAction)(async a=>{let b=a.trim();b||(0,g.publicError)("Which file?"),await h(b)}),s=(0,j.serverAction)(async()=>i());(0,p.ensureServerEntryExports)([q,r,s]),(0,b.registerServerReference)(q,"7fbd6f0e49811eccb94c49c5cb9f649b9a03d6a678",null),(0,b.registerServerReference)(r,"7f376ce11e02bd8623e15e8cff16afba68bbafc52f",null),(0,b.registerServerReference)(s,"7fefd295187e02f4444371c90821d90314c11d3fe1",null),a.s(["deleteWorkspaceFileAction",0,r,"emptyScratchAction",0,s,"openFileAction",0,q],451208)},821415,a=>{"use strict";var b=a.i(666680),c=a.i(902157),d=a.i(912714),e=a.i(750227),f=a.i(569572);a.i(176668);var g=a.i(874533),h=f;let i=new Set(["node_modules",".git",".next","dist","build",".venv","__pycache__",".turbo","coverage"]);async function*j(a){let b;try{b=await (0,d.readdir)(a,{withFileTypes:!0})}catch{return}for(let c of b){if(i.has(c.name)||c.name.startsWith("."))continue;let b=(0,e.join)(a,c.name);c.isDirectory()?yield*j(b):c.isFile()&&(yield b)}}async function k(a,b,c,f){if(a.length<=f.max)return a;let g=(0,e.join)(c,f.dir),h=(0,e.join)(g,`${new Date().toISOString().replace(/[:.]/g,"-")}-${b.replace(/[^a-zA-Z0-9_-]+/g,"_")}.txt`),i=h;try{await (0,d.mkdir)(g,{recursive:!0}),await (0,d.writeFile)(h,a),i=(0,e.relative)(c,h)||h}catch{i="(could not be written to a file)"}let j=(a.match(/\n/g)?.length??0)+1;return`${a.slice(0,f.head).trimEnd()}
|
|
2
|
+
|
|
3
|
+
[${b} cut at ${f.max.toLocaleString("en")} chars — the whole thing (${j} lines) is at ${i}. Read the part you need with \`sed -n\`.]
|
|
4
|
+
|
|
5
|
+
${a.slice(-f.tail).trimStart()}`}let l=f.APP_DIR,m=(0,e.join)(f.DATA_DIR,f.PATHS.workspace),n=(process.env.THURSDAY_TOOL_PATH?.split(":")??[(0,e.join)(l,"node_modules",".bin")]).filter(Boolean),o=(0,e.join)(m,f.PATHS.artifacts),p=[f.PATHS.artifacts,f.PATHS.projects,f.PATHS.scratch,f.PATHS.bots],q=new Set([...p,".agents"]),r=(a,b)=>b===a||b.startsWith(a+e.sep),s=a=>(0,d.realpath)(a).catch(()=>null);async function t(a){let b=await s(m)??m,c=(0,e.resolve)(m,a);if(!r(m,c))return null;let d=c,f=await s(d);for(;null===f&&(0,e.dirname)(d)!==d;)d=(0,e.dirname)(d),f=await s(d);if(null===f)return null;let g=(0,e.relative)(d,c),h=g?(0,e.join)(f,g):f;return r(b,h)?h:null}function u(a,b){let c=b.trim().toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)||"job";return`${f.PATHS.scratch}/${c}-${a.slice(0,6)}`}let v=a=>a.replace(/[^\p{L}\p{N}_-]+/gu,"-"),w=a=>`${f.PATHS.bots}/${v(a)}`,x=a=>`${f.PATHS.artifacts}/${v(a)}`;async function y(a){let b=w(a),c=x(a);return await Promise.all([b,c].map(a=>(0,d.mkdir)((0,e.join)(m,a),{recursive:!0}))),{own:b,artifacts:c}}async function z(a,b){let c=u(a,b);return await (0,d.mkdir)((0,e.join)(m,c),{recursive:!0}),c}let A=a=>a?{PLAYWRIGHT_CLI_SESSION:`thread-${a}`,PLAYWRIGHT_MCP_VIEWPORT_SIZE:f.BROWSER_VIEWPORT}:{},B={runtimes:["node","python3","uv","bun","deno"],managers:["pnpm","npm","yarn"]};async function C(a){let b=Object.values(B).flat(),{stdout:c}=await a.exec(b.map(a=>`command -v ${a} >/dev/null 2>&1 && printf '%s ' ${a}`).join("; "),{timeoutMs:1e4}),d=new Set(c.trim().split(/\s+/).filter(Boolean)),e=a=>({found:a.filter(a=>d.has(a)),missing:a.filter(a=>!d.has(a))});return{runtimes:e(B.runtimes),managers:e(B.managers),browser:null}}async function D(){await H(),await G()}async function E(a){await F(a,!0)}async function F(a,b){let c=await K(),d=A(a),e=await c.exec("playwright-cli list --json",{env:d,timeoutMs:15e3}).catch(()=>null),f=[];try{let{browsers:a}=JSON.parse(e?.stdout??"");f=a?.filter(a=>a.name===d.PLAYWRIGHT_CLI_SESSION||a.name.startsWith(`${d.PLAYWRIGHT_CLI_SESSION}-`))??[]}catch{}for(let a of f)!a.attached&&(b||!1===a.headed)&&await c.exec("playwright-cli close",{env:{...d,PLAYWRIGHT_CLI_SESSION:a.name},timeoutMs:15e3}).catch(()=>{});await D()}let G=()=>I(f.PATHS.output),H=()=>I(".playwright-cli");async function I(a){let b=(0,e.join)(m,a),c=await (0,d.readdir)(b,{withFileTypes:!0}).catch(()=>[]),g=Date.now()-f.WORKSPACE_KEEP.forMs;for(let a of c){if(!a.isFile())continue;let c=(0,e.join)(b,a.name),f=await (0,d.stat)(c).catch(()=>null);f&&f.mtimeMs<g&&await (0,d.unlink)(c).catch(()=>{})}}let J={"pnpm-workspace.yaml":"packages:\n - '**'\n",".npmrc":"recursive-install=false\n"};async function K(){for(let a of p)await (0,d.mkdir)((0,e.join)(m,a),{recursive:!0});for(let[a,b]of Object.entries(J))await (0,d.writeFile)((0,e.join)(m,a),b,{flag:"wx"}).catch(()=>{});return(({workingDirectory:a,spill:b,toolPath:c})=>{let f=(0,e.resolve)(a),i=(c??[]).filter(Boolean).join(":"),l=a=>a.startsWith("/")||/^[A-Za-z]:/.test(a)?a:(0,e.resolve)(f,a);return{cwd:f,resolve:l,readFile:(a,b)=>(0,d.readFile)(l(a),b),async writeFile(a,b){let c=l(a);await (0,d.mkdir)((0,e.join)(c,".."),{recursive:!0}),await (0,d.writeFile)(c,b)},readdir:(a,b)=>(0,d.readdir)(l(a),b),fold:(a,c="output")=>k(a,c,f,b),async glob(a,{path:b=".",limit:c=200}={}){let d=l(b),f=RegExp("^"+a.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*\//g,"(?:.*/)?").replace(/\*/g,"[^/]*").replace(/\?/g,"[^/]")+"$"),g=[];for await(let a of j(d)){let b=(0,e.relative)(d,a).split(e.sep).join("/");if((f.test(b)||f.test(a))&&g.push(a),g.length>=c)break}return g},exec:(a,{cwd:c,timeoutMs:d=h.EXEC_TIMEOUT_MS,signal:e,env:j}={})=>new Promise(m=>{let n,o,p=function(){let a={...process.env};for(let b of Object.keys(a))/KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL|_AUTH/i.test(b)&&delete a[b];return a.TERM="dumb",a.PAGER="cat",a.GIT_PAGER="cat",a}();i&&(p.PATH=`${p.PATH??""}:${i}`);let q=(0,g.spawn)(a,{shell:!0,cwd:c?l(c):f,env:{...p,...j},detached:!0}),r="",s="";q.stdout?.on("data",a=>r+=a),q.stderr?.on("data",a=>s+=a);let t=a=>{try{q.pid&&process.kill(-q.pid,a)}catch{q.kill(a)}},u=!1,v=async a=>{u||(u=!0,clearTimeout(x),clearTimeout(n),clearTimeout(o),e?.removeEventListener("abort",y),m({...a,stdout:await k(a.stdout,"stdout",f,b),stderr:await k(a.stderr,"stderr",f,b)}))},w=a=>{n||u||(s+=`
|
|
6
|
+
[${a}]`,t("SIGTERM"),n=setTimeout(()=>{s+="\n[Killed: it did not exit on SIGTERM]",t("SIGKILL"),o=setTimeout(()=>{q.stdout?.destroy(),q.stderr?.destroy(),v({stdout:r,stderr:s,exitCode:-1})},1e3)},h.EXEC_KILL_GRACE_MS))},x=setTimeout(()=>w(`Timed out after ${d}ms`),d),y=()=>w("Aborted");e?.aborted?y():e?.addEventListener("abort",y,{once:!0}),q.on("close",a=>v({stdout:r,stderr:s,exitCode:a??-1})),q.on("error",a=>v({stdout:r,stderr:s+String(a),exitCode:-1}))})}})({workingDirectory:m,spill:{dir:f.PATHS.output,...f.TOOL_OUTPUT},toolPath:n})}async function L(a,b){let c=a.map(a=>(0,e.resolve)(m,a));if(b){let a=0;for await(let d of j((0,e.join)(m,b)))if(c.push(d),(a+=1)>=500)break}let f=new Map;for(let a of c){let b=await (0,d.stat)(a).catch(()=>null);if(!b?.isFile())continue;let c=(0,e.relative)(m,a);f.set(c&&!c.startsWith("..")?c:a,b.mtimeMs)}return[...f].sort((a,b)=>a[1]-b[1]).map(([a])=>a)}async function M(a,b){await (0,d.rm)((0,e.join)(m,u(a,b)),{recursive:!0,force:!0}).catch(()=>{})}a.s(["ARTIFACTS",0,o,"WORKSPACE",0,m,"botArtifacts",0,x,"botBrowserSession",0,(a,c)=>`${a}-bot-${(0,b.createHash)("sha256").update(c.trim().toLowerCase()).digest("hex").slice(0,20)}`,"botFolder",0,w,"botFolderName",0,v,"botShellEnv",0,a=>({THURSDAY_ARTIFACTS:x(a)}),"closeJobShell",0,E,"filesOnDisk",0,L,"insideWorkspace",0,t,"jobShellEnv",0,A,"openBotFolders",0,y,"openJobScratch",0,z,"openWorkspace",0,K,"readMachineTools",0,C,"removeJobScratch",0,M,"writeRefusal",0,function(a,b){if(r(m,a)){let d=(0,e.relative)(m,a),[g,h]=d.split(e.sep);return g&&q.has(g)?b&&g===f.PATHS.artifacts&&h&&h.toLowerCase()!==v(b).toLowerCase()&&!(0,c.existsSync)((0,e.join)(o,h))?`Not written: ${d} would sit loose at the top of ${f.PATHS.artifacts}/. Your finished work goes in ${x(b)}/.`:null:`Not written: ${d||"the workspace root"} is outside the workspace's folders. Finished work goes under ${b?x(b):f.PATHS.artifacts}/, code under ${f.PATHS.projects}/, your own kit under ${f.PATHS.bots}/, and this job's working material under ${f.PATHS.scratch}/.`}return r(l,a)?`Not written: ${a} is inside the app that is running you, not the user's files. Work in ${m}; outside it, write only where the user pointed you.`:null}],821415)},225689,a=>{"use strict";a.i(570396);var b=a.i(673727),c=a.i(975160),d=a.i(176668),e=a.i(293480);let f=a=>!!a&&"object"==typeof a&&(!0===a.$ok||!1===a.$ok),g=a=>f(a)&&a.$ok,h=a=>({$ok:!0,data:a}),i=a=>({$ok:!1,message:a});async function j(a){try{let b=h(await a());for(;g(b)&&f(b.data);)b=b.data;return b}catch(a){if((0,b.unstable_rethrow)(a),(0,e.isPublicError)(a))return i(a.message);if(a instanceof c.ZodError)return i(a.issues[0]?.message);if(f(a)&&!a.$ok)return a;return d.logger.error(a),i()}}a.s(["serverAction",0,a=>(...b)=>j(()=>a(...b))],225689)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
7
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)}];
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=_0c9e5w6._.js.map
|