thursday-agent 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +1 -0
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +6 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +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 +1 -1
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/notes/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/bot/notes/route/build-manifest.json +12 -0
- package/.next/server/app/api/bot/notes/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/bot/notes/route.js +14 -0
- package/.next/server/app/api/bot/notes/route.js.map +5 -0
- package/.next/server/app/api/bot/notes/route.js.nft.json +1 -0
- package/.next/server/app/api/bot/notes/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/bot/route.js +4 -4
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/task/[id]/route.js +6 -6
- package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/task/route.js +6 -6
- package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js +3 -3
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/events/route.js +1 -1
- package/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js +1 -1
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/route.js +6 -6
- package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/route.js +3 -3
- package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/[name]/route.js +3 -3
- package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth/callback/route.js +5 -5
- package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js +3 -3
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/tools/route.js +3 -3
- package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js +7 -7
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/tidy/route.js +10 -11
- package/.next/server/app/api/memory/tidy/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js +8 -8
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/skills/route.js +8 -8
- package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +11 -12
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js +1 -1
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
- package/.next/server/app/artifact/[...path]/page.js +3 -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 +63 -41
- package/.next/server/app/page.js +7 -7
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +1 -0
- package/.next/server/chunks/0d-b_next_dist_server_app-render_after-task-async-storage_external_0-exn7p.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0t_dqaj._.js → [root-of-the-server]__0-npkh_._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__005var5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__019dx9f._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1mzp_el._.js → [root-of-the-server]__04_8spk._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__06t77t4._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0bed6hu._.js +4 -4
- package/.next/server/chunks/[root-of-the-server]__0cro2dz._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0emr6go._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0le4d-p._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0m8ywyo._.js +5 -5
- package/.next/server/chunks/{[root-of-the-server]__113fqg5._.js → [root-of-the-server]__0p32jfz._.js} +3 -3
- package/.next/server/chunks/[root-of-the-server]__0phdgco._.js +4 -4
- package/.next/server/chunks/[root-of-the-server]__0wvgrsl._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__11j52t0._.js +5 -0
- package/.next/server/chunks/{[root-of-the-server]__0j_n5l3._.js → [root-of-the-server]__1692zrv._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__16thabu._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__173nhwf._.js +3 -3
- package/.next/server/chunks/[root-of-the-server]__1bn73ih._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__1bqhuh9._.js +4 -4
- package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__1cqizfq._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1u_qvc7._.js → [root-of-the-server]__1fboj2j._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1dow0bz._.js → [root-of-the-server]__1oli73c._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1txedx6._.js +4 -4
- package/.next/server/chunks/[root-of-the-server]__1untqv8._.js +5 -0
- package/.next/server/chunks/_0-73of8._.js +55 -0
- package/.next/server/chunks/{_2050gwn._.js → _00_584r._.js} +66 -28
- package/.next/server/chunks/{_0y8is-s._.js → _03a0897._.js} +1 -1
- package/.next/server/chunks/_05h2cii._.js +1 -1
- package/.next/server/chunks/_06mxlgn._.js +1 -1
- package/.next/server/chunks/_0a351g7._.js +1 -1
- package/.next/server/chunks/{_0hin38_._.js → _0khihjk._.js} +5 -5
- package/.next/server/chunks/_0kjjmag._.js +1 -1
- package/.next/server/chunks/{_1t8fv7b._.js → _0n74zsf._.js} +5 -5
- package/.next/server/chunks/_0nn99o2._.js +3 -0
- package/.next/server/chunks/_0pppbb5._.js +10 -6
- package/.next/server/chunks/{_1icgbi8._.js → _0rnf-6n._.js} +5 -5
- package/.next/server/chunks/_0u10wmw._.js +55 -0
- package/.next/server/chunks/{_0kl37zl._.js → _0vnutv9._.js} +1 -1
- package/.next/server/chunks/_0wp4le3._.js +1 -1
- package/.next/server/chunks/_0y5fg-x._.js +1 -1
- package/.next/server/chunks/_106co2o._.js +3 -0
- package/.next/server/chunks/_12bbv5i._.js +10 -6
- package/.next/server/chunks/_15hq89o._.js +1 -1
- package/.next/server/chunks/_15q1pig._.js +1 -1
- package/.next/server/chunks/_18-1wcc._.js +55 -0
- package/.next/server/chunks/_19wg5yn._.js +138 -0
- package/.next/server/chunks/_1_5mnq4._.js +18 -0
- package/.next/server/chunks/_1bt95p9._.js +55 -0
- package/.next/server/chunks/_1cbk7ms._.js +9 -9
- package/.next/server/chunks/_1drgfx4._.js +18 -0
- package/.next/server/chunks/_1drv2et._.js +10 -6
- package/.next/server/chunks/{_10qam6o._.js → _1e48czp._.js} +5 -5
- package/.next/server/chunks/{_1skgy7b._.js → _1kg70wc._.js} +5 -5
- package/.next/server/chunks/_1php4eq._.js +1 -1
- package/.next/server/chunks/_1rysr-r._.js +10 -0
- package/.next/server/chunks/_1u3rwbr._.js +3 -0
- package/.next/server/chunks/_1x7p319._.js +1 -1
- package/.next/server/chunks/_1yuv4vp._.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_bot_notes_route_actions_0qcsyu7.js +3 -0
- package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
- package/.next/server/chunks/features_bot_task_query_ts_11xuzl3._.js +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0228f43._.js → node_modules_consola_dist_chunks_prompt_mjs_02s3hjt._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0ir-vo2._.js → node_modules_consola_dist_chunks_prompt_mjs_06067w6._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0otw8ef._.js → node_modules_consola_dist_chunks_prompt_mjs_096ais_._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0tf290y._.js → node_modules_consola_dist_chunks_prompt_mjs_0a1rd09._.js} +1 -1
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0j61-ma._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0tvkfgh._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_11zjo-1._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1pycqsq._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1tpvamf._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y9-wcr._.js +3 -0
- package/.next/server/chunks/ssr/[externals]__0dizgek._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0f6s48x._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0m1b5ky._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0dfwvr4._.js → [root-of-the-server]__0un-erv._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__1-mnhyd._.js +5 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1bww500._.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]__1qfqvmg._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1vcdast._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1xwnu-h._.js +3 -0
- package/.next/server/chunks/ssr/_03webdr._.js +3 -0
- package/.next/server/chunks/ssr/{_0gd4vaa._.js → _040sk32._.js} +71 -29
- package/.next/server/chunks/ssr/_077-g6s._.js +1 -1
- package/.next/server/chunks/ssr/{_0lc_7c8._.js → _09ja_w1._.js} +2 -2
- package/.next/server/chunks/ssr/{_1dcxzqe._.js → _0f_b_9s._.js} +2 -2
- package/.next/server/chunks/ssr/_0h7zdni._.js +1 -1
- package/.next/server/chunks/ssr/_0lu1n_x._.js +3 -0
- package/.next/server/chunks/ssr/_0sf1isi._.js +1 -1
- package/.next/server/chunks/ssr/_0su6_08._.js +3 -0
- package/.next/server/chunks/ssr/{_0nso8tp._.js → _0w5bgak._.js} +2 -2
- package/.next/server/chunks/ssr/{_19_o9d-._.js → _0x_nu5e._.js} +2 -2
- package/.next/server/chunks/ssr/_1-teee5._.js +3 -3
- package/.next/server/chunks/ssr/_13punpm._.js +1 -1
- package/.next/server/chunks/ssr/{_0ay6b01._.js → _1ciyoo3._.js} +2 -2
- package/.next/server/chunks/ssr/_1e-dgz0._.js +1 -1
- package/.next/server/chunks/ssr/_1fq7zgb._.js +1 -1
- package/.next/server/chunks/ssr/{_0cvjbuz._.js → _1g6l4uj._.js} +2 -2
- package/.next/server/chunks/ssr/{_0q_2f2x._.js → _1lip4th._.js} +2 -2
- package/.next/server/chunks/ssr/_1m3bsfr._.js +3 -0
- package/.next/server/chunks/ssr/_1mznrxk._.js +1 -1
- package/.next/server/chunks/ssr/_1ruzehw._.js +3 -0
- package/.next/server/chunks/ssr/_1vyd1ji._.js +3 -0
- package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +2 -2
- package/.next/server/chunks/ssr/features_config_components_14jqgy4._.js +1 -1
- 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/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
- package/.next/server/chunks/ssr/lib_realtime_12wg_dd._.js +27 -0
- package/.next/server/chunks/ssr/lib_realtime_15h_v1v._.js +27 -0
- package/.next/server/chunks/ssr/{node_modules_108wd2o._.js → node_modules_004qlr4._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ub40gk._.js → node_modules_01qnv-a._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1y8_3vg._.js → node_modules_04n7mjs._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0_j7-g4._.js → node_modules_08d8bke._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0y2-av4._.js → node_modules_09xhur7._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_043-236._.js → node_modules_0_n241r._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ls96je._.js → node_modules_0iz1rzd._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0xwx4u-._.js → node_modules_0kl7-tn._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1jatz7w._.js → node_modules_0kxz4gt._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1t0y5jt._.js → node_modules_0lrjk5t._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_13f2md6._.js → node_modules_0m93zeg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1nhw9qg._.js → node_modules_0n1kj4p._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1k29j1j._.js → node_modules_0ndvxub._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_16i4o_3._.js → node_modules_13r44jq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0fbw5-u._.js → node_modules_17lrt3y._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1d-is1o._.js → node_modules_18_dk7_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1hn_sd5._.js → node_modules_19dp7ko._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_20ynonm._.js → node_modules_1dwguw_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_00d6675._.js → node_modules_1hd-5tv._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ee8gav._.js → node_modules_1hn8z1f._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0bue6gy._.js → node_modules_1n5ygqe._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1_588_4._.js → node_modules_1q0p85z._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ipn1ho._.js → node_modules_1toafc-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0_fvxnt._.js → node_modules_1xyd7ov._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1v0077l._.js → node_modules_1zu988w._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_06kvvuo._.js → node_modules_20yebtj._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_092s8nx._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0m9a4y0._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1nvexgu._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_13w_wy9._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_05cwqv2._.js +47 -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 +64 -42
- package/.next/static/chunks/05b6nx_o3_f_n.js +1 -0
- package/.next/static/chunks/{3aquirz5h71da.js → 07kl352c-lvcz.js} +1 -1
- package/.next/static/chunks/0dmns-gi0raa4.js +1 -0
- package/.next/static/chunks/0oc4_xoia77dg.css +1 -0
- package/.next/static/chunks/0pheo8m3a-rzi.js +1 -0
- package/.next/static/chunks/{2ihkf6l2jowo9.js → 18vhba44l1fc9.js} +3 -3
- package/.next/static/chunks/19i8h2t-5evjx.js +1 -0
- package/.next/static/chunks/{1gy3bbv7usnjo.js → 1c5fcj473025q.js} +1 -1
- package/.next/static/chunks/1pi_hbmjw-f-z.js +1 -0
- package/.next/static/chunks/{0tydnn2kybibk.js → 1twt6k09vg4np.js} +1 -1
- package/.next/static/chunks/{21rk8w7bda-su.js → 28gotuisldmom.js} +1 -1
- package/.next/static/chunks/{3xxa2j56-f3nm.js → 2998p0y7k1c8z.js} +1 -1
- package/.next/static/chunks/2l233xfycjpd8.js +1 -0
- package/.next/static/chunks/2p5n7pa3c40t-.js +2 -0
- package/.next/static/chunks/2ru1q132af7h7.js +1 -0
- package/.next/static/chunks/{2fq_86jvq9ymq.js → 2t8wqycwg3y04.js} +2 -2
- package/.next/static/chunks/32z_ypgtchw48.js +1 -0
- package/.next/static/chunks/{247d-r95j8xs0.js → 33pyjb3xd1iez.js} +1 -1
- package/.next/static/chunks/3786h5vayt80-.js +28 -0
- package/.next/static/chunks/3_h9txt3tq8t8.js +28 -0
- package/.next/static/chunks/{1khakdu_iuedc.js → 3ard_noqapnw1.js} +1 -1
- package/.next/static/chunks/{1fr5m75pwtyic.js → 3omud5xunrk1f.js} +1 -1
- package/.next/static/chunks/42dnrkbph9e-1.js +1 -0
- package/app/api/events/app-event.client.ts +24 -0
- package/app/api/events/app-event.server.ts +45 -0
- package/app/api/events/app-event.ts +44 -0
- package/app/api/llm-model/catalog/route.ts +12 -0
- package/app/api/llm-model/route.ts +21 -0
- package/app/api/query-key.ts +144 -0
- package/app/api/thursday/tool-call/route.ts +67 -0
- package/components/ui/button-group.tsx +45 -0
- package/components/ui/custom-icon.tsx +259 -0
- package/components/ui/dropdown-menu.tsx +271 -0
- package/components/ui/folded-text.tsx +68 -0
- package/components/ui/input-group.tsx +157 -0
- package/components/ui/json-view.tsx +240 -0
- package/components/ui/shiny-text.tsx +141 -0
- package/components/ui/text-type.tsx +213 -0
- package/components/ui/theme-sync.tsx +9 -0
- package/database/migrations/{20260908030742_rainy_marvel_zombies → 20260909060813_optimal_sabretooth}/migration.sql +7 -0
- package/database/migrations/{20260908030742_rainy_marvel_zombies → 20260909060813_optimal_sabretooth}/snapshot.json +54 -1
- package/database/migrations/20260909063821_bitter_tenebrous/migration.sql +1 -0
- package/database/migrations/20260909063821_bitter_tenebrous/snapshot.json +1285 -0
- package/docs/how-it-works.md +59 -0
- package/docs/images/keeps-going.png +0 -0
- package/docs/images/task-thread.png +0 -0
- package/docs/images/two-minds.png +0 -0
- package/features/ai/load-tools.ts +55 -5
- package/features/ai/prompts/bot.prompt.ts +121 -26
- package/features/ai/prompts/memory-tidy.prompt.ts +7 -1
- package/features/ai/prompts/prompt-helper.ts +31 -5
- package/features/ai/prompts/thursday.prompt.ts +2 -0
- package/features/ai/tools/bot.tool.ts +37 -18
- package/features/ai/tools/mcp.tool.ts +5 -5
- package/features/ai/tools/memory.tool.ts +17 -10
- package/features/ai/tools/studio.tool.ts +5 -5
- package/features/ai/tools/tool-name.ts +2 -0
- package/features/ai/tools/workspace.tool.ts +33 -5
- package/features/bot/bot.action.ts +31 -4
- package/features/bot/bot.notes.ts +120 -0
- package/features/bot/bot.query.ts +56 -1
- package/features/bot/bot.run.ts +43 -3
- package/features/bot/bot.runner.ts +94 -20
- package/features/bot/bot.schema.ts +17 -0
- package/features/bot/components/bot-room.tsx +405 -306
- package/features/bot/components/bot-setting.tsx +123 -20
- package/features/bot/task.query.ts +18 -5
- package/features/memory/components/memory-setting.tsx +11 -2
- package/features/memory/memory.query.ts +9 -2
- package/features/memory/memory.schema.ts +30 -0
- package/features/skills/components/skills-setting.tsx +9 -1
- package/features/workspace/workspace.ts +136 -3
- package/hooks/use-draft.ts +37 -0
- package/hooks/use-hotkey.ts +105 -0
- package/hooks/use-object-state.ts +51 -0
- package/hooks/use-on-visible.ts +72 -0
- package/hooks/use-theme.ts +106 -0
- package/hooks/use-wake-word.ts +262 -0
- package/lib/realtime/realtime.driver.ts +34 -1
- package/lib/realtime/realtime.protocol.ts +6 -0
- package/lib/sandbox.ts +9 -1
- package/lib/tokens.ts +19 -0
- package/package.json +1 -1
- package/.next/server/chunks/[root-of-the-server]__02kt8yn._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__0h59di-._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0qjqtwo._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0yk6s3w._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0z3gelv._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11w_7_3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1_0q_9w._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1gmn1cs._.js +0 -10
- package/.next/server/chunks/_0fzqt2y._.js +0 -100
- package/.next/server/chunks/_0jgm3b8._.js +0 -55
- package/.next/server/chunks/_0ks6_sg._.js +0 -55
- package/.next/server/chunks/_0tzfesa._.js +0 -3
- package/.next/server/chunks/_0zmestz._.js +0 -55
- package/.next/server/chunks/_12nr4xc._.js +0 -3
- package/.next/server/chunks/_1hzrsvg._.js +0 -55
- package/.next/server/chunks/_1uj4_io._.js +0 -10
- package/.next/server/chunks/_1yldgo4._.js +0 -55
- package/.next/server/chunks/features_0scmr4i._.js +0 -3
- package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ykklj0._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1ryg3wh._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1vwbnq_._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__01id-v3._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0b-0i32._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__185grso._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1minz8_._.js +0 -3
- package/.next/server/chunks/ssr/_0j4v8of._.js +0 -3
- package/.next/server/chunks/ssr/_0l81bzy._.js +0 -3
- package/.next/server/chunks/ssr/_10uvw3l._.js +0 -3
- package/.next/server/chunks/ssr/_1jbv7m1._.js +0 -3
- package/.next/server/chunks/ssr/lib_realtime_0aetuyp._.js +0 -24
- package/.next/server/chunks/ssr/lib_realtime_18k_aj-._.js +0 -24
- package/.next/server/chunks/ssr/node_modules_zod_v4_classic_errors_05xv7vp.js +0 -3
- package/.next/static/chunks/0yysv1gzin17t.js +0 -1
- package/.next/static/chunks/1keib_gt066gc.js +0 -1
- package/.next/static/chunks/28g42tw8tsvhd.js +0 -1
- package/.next/static/chunks/2cwjgkt_hoyhj.js +0 -22
- package/.next/static/chunks/2rbf1fpd8n80-.js +0 -22
- package/.next/static/chunks/2ukj8k69y89um.js +0 -1
- package/.next/static/chunks/2wngeetfnzxkp.js +0 -2
- package/.next/static/chunks/388-t2v72jh39.css +0 -1
- package/.next/static/chunks/3fqvc0cg-atq_.js +0 -1
- package/.next/static/chunks/3p4egvfjxpatb.js +0 -1
- package/.next/static/chunks/3qe1w1ei-huhl.js +0 -1
- package/.next/static/chunks/3y40riycdip-i.js +0 -1
- package/.next/static/chunks/45a6zbtkelph9.js +0 -1
- /package/.next/static/{X34BUd9bfdH27ripuwwBm → YR4NWcDDuzwLbTTU7U7Vr}/_buildManifest.js +0 -0
- /package/.next/static/{X34BUd9bfdH27ripuwwBm → YR4NWcDDuzwLbTTU7U7Vr}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{X34BUd9bfdH27ripuwwBm → YR4NWcDDuzwLbTTU7U7Vr}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[182248,a=>{"use strict";a.s(["PromiseChain",0,()=>{let a=Promise.resolve();return b=>{let c=a.then(()=>b());return a=c.catch(()=>{}),c}},"clip",0,function(a,b){let c=a.replace(/\s+/g," ").trim();return c.length>b?`${c.slice(0,b-1).trimEnd()}…`:c},"errorToString",0,function(a){return a instanceof Error?a.message:String(a)}])},975160,849660,185679,313399,a=>{"use strict";var b;let c;function d(a){return a}function e(a){return a}function f(){return a=>a}function g(a){}function h(a){throw Error("Unexpected value in exhaustive check")}function i(a){}function j(a){let b=Object.values(a).filter(a=>"number"==typeof a);return Object.entries(a).filter(([a,c])=>-1===b.indexOf(+a)).map(([a,b])=>b)}function k(a,b="|"){return a.map(a=>O(a)).join(b)}function l(a,b){return"bigint"==typeof b?b.toString():b}function m(a){return{get value(){{let b=a();return Object.defineProperty(this,"value",{value:b}),b}}}}function n(a){return null==a}function o(a){let b=+!!a.startsWith("^"),c=a.endsWith("$")?a.length-1:a.length;return a.slice(b,c)}function p(a,b){let c=a/b,d=Math.round(c),e=4*Number.EPSILON*Math.max(Math.abs(c),1);return Math.abs(c-d)<e?0:c-d}a.s(["$ZodAsyncError",()=>aF,"$ZodEncodeError",()=>aG,"$brand",()=>aE,"$constructor",()=>aD,"NEVER",()=>aA,"config",()=>aI,"globalConfig",()=>aH],185679),a.s(["BIGINT_FORMAT_RANGES",()=>R,"CONSTANT_CATCH",()=>ay,"Class",()=>aq,"NUMBER_FORMAT_RANGES",()=>Q,"aborted",()=>Z,"allowsEval",()=>D,"assert",()=>i,"assertEqual",()=>d,"assertIs",()=>g,"assertNever",()=>h,"assertNotEqual",()=>e,"assignProp",()=>t,"attachSchema",()=>ab,"base64ToUint8Array",()=>ak,"base64urlToUint8Array",()=>am,"cached",()=>m,"captureStackTrace",()=>B,"cleanEnum",()=>aj,"cleanRegex",()=>o,"clone",()=>L,"cloneDef",()=>v,"codePointLength",()=>af,"constantCatch",()=>az,"createTransparentProxy",()=>N,"defineLazy",()=>r,"defineLazyInternal",()=>aw,"esc",()=>z,"escapeRegex",()=>K,"explicitlyAborted",()=>$,"extend",()=>U,"finalizeIssue",()=>ac,"floatSafeRemainder",()=>p,"getElementAtPath",()=>w,"getEnumValues",()=>j,"getLengthableOrigin",()=>ag,"getParsedType",()=>H,"getSizableOrigin",()=>ad,"hexToUint8Array",()=>ao,"hide",()=>at,"installLazyProp",()=>ax,"isObject",()=>C,"isPlainObject",()=>E,"issue",()=>ai,"joinValues",()=>k,"jsonStringifyReplacer",()=>l,"members",()=>ar,"merge",()=>W,"mergeDefs",()=>u,"normalizeParams",()=>M,"nullish",()=>n,"numKeys",()=>G,"objectClone",()=>s,"omit",()=>T,"optionalKeys",()=>P,"own",()=>as,"parsedType",()=>ah,"partial",()=>X,"pick",()=>S,"prefixIssues",()=>_,"primitiveTypes",()=>J,"promiseAllObject",()=>x,"propertyKeyTypes",()=>I,"randomString",()=>y,"required",()=>Y,"safeExtend",()=>V,"shallowClone",()=>F,"slugify",()=>A,"stringifyPrimitive",()=>O,"toZod",()=>f,"uint8ArrayToBase64",()=>al,"uint8ArrayToBase64url",()=>an,"uint8ArrayToHex",()=>ap,"unwrapMessage",()=>aa],849660);let q=Symbol("evaluating");function r(a,b,c){let d;Object.defineProperty(a,b,{get(){if(d!==q)return void 0===d&&(d=q,d=c()),d},set(c){Object.defineProperty(a,b,{value:c})},configurable:!0})}function s(a){return Object.create(Object.getPrototypeOf(a),Object.getOwnPropertyDescriptors(a))}function t(a,b,c){Object.defineProperty(a,b,{value:c,writable:!0,enumerable:!0,configurable:!0})}function u(...a){let b={};for(let c of a)Object.assign(b,Object.getOwnPropertyDescriptors(c));return Object.defineProperties({},b)}function v(a){return u(a._zod.def)}function w(a,b){return b?b.reduce((a,b)=>a?.[b],a):a}function x(a){let b=Object.keys(a);return Promise.all(b.map(b=>a[b])).then(a=>{let c={};for(let d=0;d<b.length;d++)c[b[d]]=a[d];return c})}function y(a=10){let b="abcdefghijklmnopqrstuvwxyz",c="";for(let d=0;d<a;d++)c+=b[Math.floor(Math.random()*b.length)];return c}function z(a){return JSON.stringify(a)}function A(a){return a.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}let B="captureStackTrace"in Error?Error.captureStackTrace:(...a)=>{};function C(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}let D=m(()=>{if(aH.jitless||"u">typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(a){return!1}});function E(a){if(!1===C(a))return!1;let b=a.constructor;if(void 0===b||"function"!=typeof b)return!0;let c=b.prototype;return!1!==C(c)&&!1!==Object.prototype.hasOwnProperty.call(c,"isPrototypeOf")}function F(a){return E(a)?{...a}:Array.isArray(a)?[...a]:a instanceof Map?new Map(a):a instanceof Set?new Set(a):a}function G(a){let b=0;for(let c in a)Object.prototype.hasOwnProperty.call(a,c)&&b++;return b}let H=a=>{let b=typeof a;switch(b){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(a)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(a))return"array";if(null===a)return"null";if(a.then&&"function"==typeof a.then&&a.catch&&"function"==typeof a.catch)return"promise";if("u">typeof Map&&a instanceof Map)return"map";if("u">typeof Set&&a instanceof Set)return"set";if("u">typeof Date&&a instanceof Date)return"date";if("u">typeof File&&a instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${b}`)}},I=new Set(["string","number","symbol"]),J=new Set(["string","number","bigint","boolean","symbol","undefined"]);function K(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function L(a,b,c){let d=new a._zod.constr(b??a._zod.def);return(!b||c?.parent)&&(d._zod.parent=a),d}function M(a){if(!a)return{};if("string"==typeof a)return{error:()=>a};if(a?.message!==void 0){if(a?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");a.error=a.message}return(delete a.message,"string"==typeof a.error)?{...a,error:()=>a.error}:a}function N(a){let b;return new Proxy({},{get:(c,d,e)=>(b??(b=a()),Reflect.get(b,d,e)),set:(c,d,e,f)=>(b??(b=a()),Reflect.set(b,d,e,f)),has:(c,d)=>(b??(b=a()),Reflect.has(b,d)),deleteProperty:(c,d)=>(b??(b=a()),Reflect.deleteProperty(b,d)),ownKeys:c=>(b??(b=a()),Reflect.ownKeys(b)),getOwnPropertyDescriptor:(c,d)=>(b??(b=a()),Reflect.getOwnPropertyDescriptor(b,d)),defineProperty:(c,d,e)=>(b??(b=a()),Reflect.defineProperty(b,d,e))})}function O(a){return"bigint"==typeof a?a.toString()+"n":"string"==typeof a?`"${a}"`:`${a}`}function P(a){return Object.keys(a).filter(b=>void 0!==a[b]._zod.optin&&"optional"===a[b]._zod.optout)}let Q={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-0x80000000,0x7fffffff],uint32:[0,0xffffffff],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},R={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function S(a,b){let c=a._zod.def,d=c.checks;if(d&&d.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let e=u(a._zod.def,{get shape(){let a={};for(let d of Reflect.ownKeys(b)){if(!Object.prototype.hasOwnProperty.call(c.shape,d))throw Error(`Unrecognized key: "${String(d)}"`);b[d]&&t(a,d,c.shape[d])}return t(this,"shape",a),a},checks:[]});return L(a,e)}function T(a,b){let c=a._zod.def,d=c.checks;if(d&&d.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let e=u(a._zod.def,{get shape(){let d={...a._zod.def.shape};for(let a of Reflect.ownKeys(b)){if(!Object.prototype.hasOwnProperty.call(c.shape,a))throw Error(`Unrecognized key: "${String(a)}"`);b[a]&&delete d[a]}return t(this,"shape",d),d},checks:[]});return L(a,e)}function U(a,b){if(!E(b))throw Error("Invalid input to extend: expected a plain object");let c=a._zod.def.checks;if(c&&c.length>0){let c=a._zod.def.shape;for(let a of Reflect.ownKeys(b))if(void 0!==Object.getOwnPropertyDescriptor(c,a))throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let d=u(a._zod.def,{get shape(){let c={...a._zod.def.shape,...b};return t(this,"shape",c),c}});return L(a,d)}function V(a,b){if(!E(b))throw Error("Invalid input to safeExtend: expected a plain object");let c=u(a._zod.def,{get shape(){let c={...a._zod.def.shape,...b};return t(this,"shape",c),c}});return L(a,c)}function W(a,b){if(!b?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(a._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let c=u(a._zod.def,{get shape(){let c={...a._zod.def.shape,...b._zod.def.shape};return t(this,"shape",c),c},get catchall(){return b._zod.def.catchall},checks:b._zod.def.checks??[]});return L(a,c)}function X(a,b,c,d="partial"){let e=b._zod.def.checks;if(e&&e.length>0)throw Error(`.${d}() cannot be used on object schemas containing refinements`);let f=u(b._zod.def,{get shape(){let d=b._zod.def.shape,e={...d};if(c)for(let b of Reflect.ownKeys(c)){if(!Object.prototype.hasOwnProperty.call(d,b))throw Error(`Unrecognized key: "${String(b)}"`);c[b]&&(e[b]=a?new a({type:"optional",innerType:d[b]}):d[b])}else for(let b of Reflect.ownKeys(d))e[b]=a?new a({type:"optional",innerType:d[b]}):d[b];return t(this,"shape",e),e},checks:[]});return L(b,f)}function Y(a,b,c){let d=u(b._zod.def,{get shape(){let d=b._zod.def.shape,e={...d};if(c)for(let b of Reflect.ownKeys(c)){if(!Object.prototype.hasOwnProperty.call(e,b))throw Error(`Unrecognized key: "${String(b)}"`);c[b]&&(e[b]=new a({type:"nonoptional",innerType:d[b]}))}else for(let b of Reflect.ownKeys(d))e[b]=new a({type:"nonoptional",innerType:d[b]});return t(this,"shape",e),e}});return L(b,d)}function Z(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue!==!0)return!0;return!1}function $(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue===!1)return!0;return!1}function _(a,b){return b.map(b=>(b.path??(b.path=[]),b.path.unshift(a),b))}function aa(a){return"string"==typeof a?a:a?.message}function ab(a,b,c){var d;for(let e=b;e<a.length;e++)(d=a[e]).schema??(d.schema=c)}function ac(a,b,c){let d=a.inst?._zod?.traits;d?.has("$ZodType")&&(d.has("$ZodCheck")?a.schema??(a.schema=a.inst):a.schema=a.inst);let e=a.schema!==a.inst?a.schema?._zod.def?.error:void 0,f=a.message?a.message:aa(a.inst?._zod.def?.error?.(a))??aa(e?.(a))??aa(b?.error?.(a))??aa(c.customError?.(a))??aa(c.localeError?.(a))??"Invalid input",{inst:g,schema:h,continue:i,input:j,...k}=a;return k.path??(k.path=[]),k.message=f,b?.reportInput&&(k.input=j),k}function ad(a){return a instanceof Set?"set":a instanceof Map?"map":a instanceof File?"file":"unknown"}let ae=/[\uD800-\uDBFF]/;function af(a){let b=a.length;if(!ae.test(a))return b;let c=b;for(let d=0;d<b-1;d++)(64512&a.charCodeAt(d))==55296&&(64512&a.charCodeAt(d+1))==56320&&(c--,d++);return c}function ag(a){return Array.isArray(a)?"array":"string"==typeof a?"string":"unknown"}function ah(a){let b=typeof a;switch(b){case"number":return Number.isNaN(a)?"nan":"number";case"object":if(null===a)return"null";if(Array.isArray(a))return"array";if(a&&Object.getPrototypeOf(a)!==Object.prototype&&"constructor"in a&&a.constructor)return a.constructor.name}return b}function ai(...a){let[b,c,d]=a;return"string"==typeof b?{message:b,code:"custom",input:c,inst:d}:{...b}}function aj(a){return Object.entries(a).filter(([a,b])=>Number.isNaN(Number.parseInt(a,10))).map(a=>a[1])}function ak(a){let b=atob(a),c=new Uint8Array(b.length);for(let a=0;a<b.length;a++)c[a]=b.charCodeAt(a);return c}function al(a){let b="";for(let c=0;c<a.length;c++)b+=String.fromCharCode(a[c]);return btoa(b)}function am(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c="=".repeat((4-b.length%4)%4);return ak(b+c)}function an(a){return al(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function ao(a){let b=a.replace(/^0x/,"");if(b.length%2!=0)throw Error("Invalid hex string length");let c=new Uint8Array(b.length/2);for(let a=0;a<b.length;a+=2)c[a/2]=Number.parseInt(b.slice(a,a+2),16);return c}function ap(a){return Array.from(a).map(a=>a.toString(16).padStart(2,"0")).join("")}class aq{constructor(...a){}}function ar(a,b){for(let c in b){let d=Object.getOwnPropertyDescriptor(b,c);d.get?Object.defineProperty(a,c,{...d,enumerable:!1}):function(a,b,c){Object.defineProperty(a,b,{configurable:!0,get(){return this==null?c:as(this,b,c.bind(this))},set(a){as(this,b,a)}})}(a,c,d.value)}}function as(a,b,c,d=!0){return Object.defineProperty(a,b,{configurable:!0,writable:!0,enumerable:d,value:c}),c}function at(a,b,c){return as(a,b,c,!1)}let au=!1,av={configurable:!0,get(){au=!0}};function aw(a,b,d){let e=Object.getPrototypeOf(a._zod);if(b in e&&c!==a._zod){c=void 0;return}c=a._zod,Object.defineProperty(e,b,{configurable:!0,get(){Object.defineProperty(this,b,av);let a=au;au=!1;try{let c=d(this);return au?delete this[b]:Object.defineProperty(this,b,{configurable:!0,writable:!0,value:c}),au=au||a,c}catch(c){throw delete this[b],au=au||a,c}},set(a){Object.defineProperty(this,b,{configurable:!0,writable:!0,value:a})}})}function ax(a,b,c,d){let e,f=b in(e=Object.getPrototypeOf(a))?void 0:e;f&&Object.defineProperty(f,b,{configurable:!0,get(){let a={configurable:!0,writable:!0,enumerable:d,value:void 0};return Object.defineProperty(this,b,a),a.value=c(this),Object.defineProperty(this,b,a),a.value},set(a){Object.defineProperty(this,b,{configurable:!0,writable:!0,enumerable:d,value:a})}})}let ay="~constantCatch";function az(a){let b=()=>a;return b[ay]=!0,b}let aA=Object.freeze({status:"aborted"}),aB={value:void 0,enumerable:!1},aC="captureStackTrace"in Error?Error:null;function aD(a,b,c,d){function e(a){this.def=a,this.constr=j,this.traits=new Set}e.prototype={};let f=c&&new WeakSet;function g(d,g){if(!d._zod){aB.value=new e(g);try{Object.defineProperty(d,"_zod",aB)}finally{aB.value=void 0}}if(d._zod.traits.has(a))return;if(d._zod.traits.add(a),b(d,g),f){let a=Object.getPrototypeOf(d),b=d._zod.constr.prototype,e=a;for(;e&&e!==b;)e=Object.getPrototypeOf(e);let g=e??a;f.has(g)||(f.add(g),ar(g,c))}let h=j.prototype;for(let a in h)Object.prototype.hasOwnProperty.call(h,a)&&(a in d||(d[a]=h[a].bind(d)))}let h=d?.Parent??Object;class i extends h{}function j(a){let b=d?.Parent?function(a){let b=aC;if(b){let c=b.stackTraceLimit;if("number"==typeof c){try{b.stackTraceLimit=0}catch{return aC=null,new a}try{return new a}finally{b.stackTraceLimit=c}}}return new a}(i):this;g(b,a);let c=b._zod.deferred;if(c){for(let a of c)a();b._zod.deferred=void 0}let e=globalThis.__zod_globalConfig?.postProcessor;return e&&e(b),b}return Object.defineProperty(i,"name",{value:a}),Object.defineProperty(j,"init",{value:g}),Object.defineProperty(j,Symbol.hasInstance,{value:b=>!!d?.Parent&&b instanceof d.Parent||b?._zod?.traits?.has(a)}),Object.defineProperty(j,"name",{value:a}),j}let aE=Symbol("zod_brand");class aF extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class aG extends Error{constructor(a){super(`Encountered unidirectional transform during encode: ${a}`),this.name="ZodEncodeError"}}(b=globalThis).__zod_globalConfig??(b.__zod_globalConfig={});let aH=globalThis.__zod_globalConfig;function aI(a){return a&&Object.assign(aH,a),aH}let aJ={get:function(){let a=this._zod;return a.message??(a.message=JSON.stringify(a.def,l,2)),a.message},set:function(a){this._zod.message=a},enumerable:!0,configurable:!0},aK={value:void 0,enumerable:!1},aL={value:void 0,enumerable:!1},aM=new WeakSet([Object.prototype,Error.prototype]),aN=(a,b)=>{a.name="$ZodError",aK.value=a._zod,Object.defineProperty(a,"_zod",aK),aL.value=b,Object.defineProperty(a,"issues",aL),aK.value=void 0,aL.value=void 0,Object.defineProperty(a,"message",aJ);let c=Object.getPrototypeOf(a);aM.has(c)||(aM.add(c),Object.defineProperty(c,"toString",{configurable:!0,enumerable:!1,get(){let a=()=>this.message;return Object.defineProperty(this,"toString",{value:a,configurable:!0,writable:!0}),a},set(a){Object.defineProperty(this,"toString",{value:a,configurable:!0,writable:!0})}}))},aO=aD("$ZodError",aN),aP=aD("$ZodError",aN,void 0,{Parent:Error});function aQ(a,b=a=>a.message){let c={},d=[];for(let g of a.issues)if(g.path.length>0){var e,f;(e=g.path[0],f=()=>[],!Object.prototype.hasOwnProperty.call(c,e)&&("__proto__"===e?Object.defineProperty(c,e,{value:f(),writable:!0,enumerable:!0,configurable:!0}):c[e]=f()),c[e]).push(b(g))}else d.push(b(g));return{formErrors:d,fieldErrors:c}}function aR(a,b=a=>a.message){let c={_errors:[]},d=(a,e=[])=>{for(let f of a.issues)if("invalid_union"===f.code&&f.errors.length)f.errors.map(a=>d({issues:a},[...e,...f.path]));else if("invalid_key"===f.code)d({issues:f.issues},[...e,...f.path]);else if("invalid_element"===f.code)d({issues:f.issues},[...e,...f.path]);else{let a=[...e,...f.path];if(0===a.length)c._errors.push(b(f));else{let d=c,e=0;for(;e<a.length;){let c=a[e],g=e===a.length-1;if("_errors"===c){g&&d._errors.push(b(f)),e++;continue}Object.prototype.hasOwnProperty.call(d,c)||Object.defineProperty(d,c,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let h=d[c];g&&h._errors.push(b(f)),d=h,e++}}}};return d(a),c}function aS(a){let b=[];for(let c of a.map(a=>"object"==typeof a?a.key:a))"number"==typeof c?b.push(`[${c}]`):"symbol"==typeof c?b.push(`[${JSON.stringify(String(c))}]`):/[^\w$]/.test(c)?b.push(`[${JSON.stringify(c)}]`):(b.length&&b.push("."),b.push(c));return b.join("")}a.s(["$ZodError",0,aO,"$ZodRealError",0,aP,"flattenError",0,aQ,"formatError",0,aR,"prettifyError",0,function(a){let b=[];for(let c of[...a.issues].sort((a,b)=>(a.path??[]).length-(b.path??[]).length))b.push(`✖ ${c.message}`),c.path?.length&&b.push(` → at ${aS(c.path)}`);return b.join("\n")},"toDotPath",0,aS,"treeifyError",0,function(a,b=a=>a.message){let c={errors:[]},d=(a,e=[])=>{var f;for(let g of a.issues)if("invalid_union"===g.code&&g.errors.length)g.errors.map(a=>d({issues:a},[...e,...g.path]));else if("invalid_key"===g.code)d({issues:g.issues},[...e,...g.path]);else if("invalid_element"===g.code)d({issues:g.issues},[...e,...g.path]);else{let a=[...e,...g.path];if(0===a.length){c.errors.push(b(g));continue}let d=c,h=0;for(;h<a.length;){let c=a[h],e=h===a.length-1;"string"==typeof c?(d.properties??(d.properties={}),Object.prototype.hasOwnProperty.call(d.properties,c)||Object.defineProperty(d.properties,c,{value:{errors:[]},enumerable:!0,writable:!0,configurable:!0}),d=d.properties[c]):(d.items??(d.items=[]),(f=d.items)[c]??(f[c]={errors:[]}),d=d.items[c]),e&&d.errors.push(b(g)),h++}}};return d(a),c}],313399);let aT=new WeakSet([Object.prototype,Error.prototype]);function aU(a,b,c){Object.defineProperty(a,b,{configurable:!0,enumerable:!1,get(){let a=c(this);return Object.defineProperty(this,b,{value:a,configurable:!0,writable:!0}),a},set(a){Object.defineProperty(this,b,{value:a,configurable:!0,writable:!0})}})}let aV=(a,b)=>{aO.init(a,b),a.name="ZodError";let c=Object.getPrototypeOf(a);aT.has(c)||(aT.add(c),aU(c,"format",a=>b=>aR(a,b)),aU(c,"flatten",a=>b=>aQ(a,b)),aU(c,"addIssue",a=>b=>{a.issues.push(b),a.message=JSON.stringify(a.issues,l,2)}),aU(c,"addIssues",a=>b=>{a.issues.push(...b),a.message=JSON.stringify(a.issues,l,2)}),Object.defineProperty(c,"isEmpty",{configurable:!0,enumerable:!1,get(){return 0===this.issues.length}}))},aW=aD("ZodError",aV),aX=aD("ZodError",aV,void 0,{Parent:Error});a.s(["ZodError",0,aW,"ZodRealError",0,aX],975160)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0lu1n_x._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[701876,a=>{"use strict";var b=a.i(451208);a.s([],489277),a.i(489277),a.s(["
|
|
1
|
+
module.exports=[701876,a=>{"use strict";var b=a.i(451208);a.s([],489277),a.i(489277),a.s(["7fe8b3afbc975a1ad4e4d7f319af758baa5a9d2c2c",()=>b.openFileAction],701876)},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)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0sf1isi._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[102306,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(141146),f=a.i(866491),g=a.i(951675),h=a.i(572131),i=a.i(767561),j=a.i(340695),k=a.i(446181),l=a.i(950463),m=a.i(8468),n=a.i(619477),o=a.i(199169),p=a.i(313237),q=a.i(862966),r=a.i(497895),s=a.i(164889),t=a.i(461512),u=a.i(27418),v=a.i(346075),w=b([m]);[m]=w.then?(await w)():w;let C="h-[min(34rem,58vh)] min-h-64 px-1";function x(){let{items:a,isLoading:b,isLoadingMore:c,error:e,hasMore:f,sentinelRef:g,refresh:j}=(0,q.useServerPages)({key:(a,b)=>{if(0===a)return i.queryKey.callHistory(null);let c=b?.at(-1);return c?i.queryKey.callHistory((0,o.toDate)(c.startedAt).toISOString()):null},size:t.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),k=(0,h.useMemo)(()=>[...a].reverse(),[a]),l=(0,h.useRef)(null),m=(0,h.useRef)(!1),p=(0,h.useRef)(0);return((0,h.useLayoutEffect)(()=>{let a=l.current;a&&0!==k.length&&(m.current?a.scrollTop=a.scrollHeight-p.current:(m.current=!0,a.scrollTop=a.scrollHeight),p.current=a.scrollHeight-a.scrollTop)},[k]),b)?(0,d.jsx)("div",{className:(0,r.cn)(C,"overflow-hidden"),children:(0,d.jsx)(y,{})}):e?(0,d.jsx)(n.SettingError,{message:e.message}):(0,d.jsx)(d.Fragment,{children:0===k.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)("div",{ref:l,onScroll:a=>{let b=a.currentTarget;p.current=b.scrollHeight-b.scrollTop},className:(0,r.cn)(C,"overflow-y-auto overscroll-contain pb-6"),children:[(0,d.jsx)(n.SettingMore,{hasMore:f,loading:c,sentinelRef:g,count:1,ghost:(0,d.jsx)(y,{})}),k.map(a=>(0,d.jsx)(z,{call:a,onDropped:j},a.id))]})})}function y(){return(0,d.jsxs)("div",{className:"space-y-3 pb-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 py-5",children:[(0,d.jsx)("span",{className:"h-px flex-1 bg-border/60"}),(0,d.jsx)(l.Skeleton,{className:"h-6 w-36 rounded-full"}),(0,d.jsx)("span",{className:"h-px flex-1 bg-border/60"}),(0,d.jsx)("span",{className:"size-7 shrink-0"})]}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(l.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-md"})}),(0,d.jsx)(l.Skeleton,{className:"h-5 w-2/3"})]})}function z({call:a,onDropped:b}){let[c,e]=(0,p.useServerAction)(s.deleteCallAction,{okMessage:"Call deleted",onOk:b}),h=(0,o.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,o.toDate)(i.at)):"on the line",m=async()=>{await k.notify.confirm({title:`Delete the call from ${(0,o.whenOf)(h)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&c(a.id)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"group flex items-center gap-3 py-5",children:[(0,d.jsx)("span",{className:"h-px flex-1 bg-border/60"}),(0,d.jsxs)("span",{title:`${a.provider} \xb7 ${a.model}`,className:"flex shrink-0 items-center gap-2 rounded-full bg-muted/60 py-1 pr-3 pl-2.5 ring-1 ring-border/50",children:[(0,d.jsx)(f.Phone,{className:"size-3 text-muted-foreground"}),(0,d.jsx)("span",{className:"font-mono text-[11px]",children:(0,o.whenOf)(h)}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:l})]}),(0,d.jsx)("span",{className:"h-px flex-1 bg-border/60"}),(0,d.jsx)("span",{className:"flex size-7 shrink-0 items-center justify-center",children:a.endedAt&&(0,d.jsx)(j.Button,{size:"icon-sm",variant:"ghost",loading:e,"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,{})})})]}),(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:a,repeats:b},c,e)=>{let f=e[c-1]?.turn,g=e[c+1]?.turn;return(0,d.jsx)(A,{turn:a,repeats:b,opensRun:f?.role!==a.role,closesRun:g?.role!==a.role},a.id)})]})}function A({turn:a,opensRun:b,closesRun:c,repeats:e=1}){if("tool"===a.role)return(0,d.jsx)(B,{turn:a,repeats:e});let f="user"===a.role;return(0,d.jsxs)("div",{className:(0,r.cn)("flex items-end gap-2",b?"mt-3":"mt-1",f?"justify-end":"justify-start"),children:[!f&&(0,d.jsx)("span",{className:"mb-0.5 grid size-[18px] shrink-0 place-items-center",children:c&&(0,d.jsx)(v.ThursdayMark,{size:18})}),(0,d.jsx)("p",{className:(0,r.cn)("max-w-[min(34rem,78%)] px-3.5 py-2 text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",f?"rounded-2xl bg-muted":"rounded-2xl bg-card ring-1 ring-border/70",c&&(f?"rounded-br-sm":"rounded-bl-sm")),children:a.text})]})}function B({turn:a,repeats:b}){let c=a.tool??"",e=(0,m.toolIcon)(c),f=(0,u.toolLine)(c,a.text);return(0,d.jsx)("div",{className:"mt-3 mb-1 flex justify-center",children:(0,d.jsxs)("span",{className:"flex max-w-full items-center gap-2 rounded-full bg-muted/40 px-2.5 py-1 text-muted-foreground",children:[(0,d.jsx)(e,{className:"size-3 shrink-0"}),f&&(0,d.jsx)("span",{className:"truncate text-[11px] break-keep",children:f}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:c}),b>1&&(0,d.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",b]})]})})}a.s(["CallHistoryRow",0,function(){return(0,d.jsx)(n.SettingGroup,{label:"Transcripts",children:(0,d.jsx)(n.SettingItems,{children:(0,d.jsxs)("button",{type:"button",onClick:()=>k.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,d.jsx)(n.SettingDialogContent,{title:"Call history",description:"Everything said on the line, oldest at the top. Scroll up for older calls.",children:(0,d.jsx)(x,{})})}),className:"flex w-full items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.Phone,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,d.jsx)(e.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})})})}]),c()}catch(a){c(a)}},!1),922056,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(752562),f=a.i(26268),g=a.i(572131),h=a.i(767561),i=a.i(340695),j=a.i(825715),k=a.i(205522),l=a.i(446181),m=a.i(777794),n=a.i(704974),o=a.i(546893),p=a.i(379630),q=a.i(61876),r=a.i(324835),s=a.i(32477),t=a.i(619477),u=a.i(102306),v=a.i(445432),w=a.i(334392),x=a.i(759399),y=a.i(605698),z=a.i(64327),A=a.i(461512),B=a.i(359006),C=a.i(888396),D=a.i(332033),E=a.i(616682),F=a.i(313237),G=a.i(759497),H=a.i(497895),I=b([u]);function J(){let{data:a}=(0,G.useServerRoute)(h.queryKey.callSkills),[b]=(0,F.useServerAction)(z.setCallSkillsAction,{onOk:()=>(0,G.revalidate)(h.queryKey.callSkills)});return(0,d.jsx)(t.SettingGroup,{label:"Skills",children:(0,d.jsx)(t.SettingToggle,{label:"Read a skill herself",description:"A skill is how a thing is done here, written down. On, she opens one mid-call and follows it; off, only bots read them.",checked:a??!1,disabled:void 0===a,onChange:a=>b(a),children:(0,d.jsx)(K,{})})})}function K(){let{data:a}=(0,G.useServerRoute)(h.queryKey.skills);return a?(0,d.jsx)(t.SettingNote,{className:(0,H.cn)(!a.length&&H.WAITING_INK),children:a.length?`The same ${a.length} a bot reads. Each one she opens spends a page of the call on it.`:"Nothing installed yet — there is nothing for her to read."}):null}function L(){let[a,b]=(0,F.useServerAction)(y.resetHistoryAction,{okMessage:({calls:a,tasks:b,notes:c})=>`Wiped ${a} calls, ${b} jobs, ${c} notes`,onOk:()=>{(0,G.revalidate)(h.queryKey.memory),(0,G.revalidate)(h.queryKey.tasks),(0,G.revalidate)(h.queryKey.callHistory(null))}}),c=async()=>{await l.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay.",okText:"Reset",destructive:!0})&&a()};return(0,d.jsx)(t.SettingGroup,{label:"Danger zone",note:"Keys, bots and connectors stay.",children:(0,d.jsx)(t.SettingItems,{children:(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.TriangleAlert,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Reset history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, every job and everything she remembers"})]}),(0,d.jsx)(i.Button,{variant:"outline",size:"sm",loading:b,onClick:c,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})})})}function M({value:a,onChange:b}){let c=c=>b({...a,...c});return(0,d.jsx)(t.SettingGroup,{label:"Face",children:(0,d.jsxs)("div",{className:"space-y-5 py-2",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center gap-4 pt-2",children:[(0,d.jsx)(v.Face,{look:a,size:176,className:"w-44"}),(0,d.jsx)(m.Segmented,{"aria-label":"Face",options:w.FACE_KINDS.map(a=>({value:a,label:v.FACES[a].label})),value:a.kind,onChange:a=>c({kind:a})}),(0,d.jsx)("p",{className:"max-w-sm text-center text-xs text-muted-foreground",children:v.FACES[a.kind].hint})]}),"mark"===a.kind&&(0,d.jsx)("div",{className:"flex justify-center px-2",children:(0,d.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)(n.Swatch,{color:null,picked:!a.color,onPick:()=>c({color:void 0})}),(0,d.jsx)("span",{className:"w-2"}),r.MARK_PALETTE_ROWS[0].map(b=>(0,d.jsx)(n.Swatch,{color:b,picked:a.color===b,onPick:()=>c({color:b})},b))]}),(0,d.jsx)("div",{className:"flex flex-wrap items-center gap-2 pl-9",children:r.MARK_PALETTE_ROWS[1].map(b=>(0,d.jsx)(n.Swatch,{color:b,picked:a.color===b,onPick:()=>c({color:b})},b))})]})}),"mark"===a.kind&&(0,d.jsx)(N,{label:"Shape",children:(0,d.jsx)(m.Segmented,{"aria-label":"Shape",options:r.MARK_SHAPES.map(a=>({value:a,label:(0,d.jsx)("span",{className:"capitalize",children:a})})),value:a.shape??"blob",onChange:a=>c({shape:a})})}),"mark"===a.kind&&(0,d.jsx)(N,{label:"Style",children:(0,d.jsx)(m.Segmented,{"aria-label":"Style",options:[{value:"solid",label:"Solid"},{value:"outline",label:"Outline"}],value:a.outline?"outline":"solid",onChange:a=>c({outline:"outline"===a||void 0})})}),"ascii"===a.kind&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(N,{label:"Glyphs",children:(0,d.jsx)(m.Segmented,{"aria-label":"Glyphs",options:w.ASCII_CHARSETS.map(a=>({value:a,label:V[a]})),value:a.charset,onChange:a=>c({charset:a})})}),(0,d.jsx)(N,{label:"Size",children:(0,d.jsx)(O,{min:4,max:16,step:1,value:a.fontSize,format:a=>`${a}px`,onChange:a=>c({fontSize:a})})}),(0,d.jsx)(N,{label:"Density",children:(0,d.jsx)(O,{min:.6,max:2,step:.1,value:a.density,format:a=>`${a.toFixed(1)}x`,onChange:a=>c({density:a})})})]})]})})}[u]=I.then?(await I)():I;let V={ascii:"Characters",emoji:"Sprinkled",emojiOnly:"All emoji"};function N({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"w-16 shrink-0 font-mono text-[11px] text-muted-foreground",children:a}),b]})}function O({value:a,onChange:b,format:c,...e}){return(0,d.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,d.jsx)("input",{type:"range",...e,value:a,onChange:a=>b(Number(a.target.value)),className:"min-w-0 flex-1 accent-foreground"}),(0,d.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:c(a)})]})}function P({provider:a,value:b,hasKey:c,onPick:g}){let h=!!b,i=b?.voice??a.defaultVoice,k=b?.model??"";return(0,d.jsxs)("div",{className:(0,H.cn)("p-4",h&&"bg-muted/40"),children:[(0,d.jsxs)("button",{type:"button",disabled:h,onClick:()=>g({voice:null,model:null}),className:"flex w-full items-center gap-3 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-default",children:[(0,d.jsx)(p.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:a.label}),(0,d.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:k||a.models[0].id})]}),c?h&&(0,d.jsx)(e.Check,{className:"size-4 shrink-0"}):(0,d.jsxs)("span",{className:"flex shrink-0 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:[(0,d.jsx)(f.TriangleAlert,{className:"size-3"}),"No key"]})]}),h&&(0,d.jsxs)("div",{className:"space-y-3 pt-3",children:[(0,d.jsx)(j.Combobox,{value:k,onChange:a=>g({voice:b?.voice??null,model:a||null}),options:a.models.map(a=>({value:a.id,label:a.label,hint:a.id})),"aria-label":`${a.label} realtime model`,placeholder:a.models[0].id,empty:"Not on the list — it still runs"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.voices.map(a=>(0,d.jsx)("button",{type:"button",onClick:()=>g({voice:a,model:b?.model??null}),className:(0,H.cn)("rounded-full border px-2.5 py-1 font-mono text-[11px] transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50",a===i?"border-foreground/40 text-foreground":"border-border/60 text-muted-foreground hover:text-foreground"),children:a},a))})]})]})}let W={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Last three turns",hint:"Hers on the left, yours on the right, beside the mark."}};function Q({value:a,onChange:b}){return(0,d.jsx)(t.SettingGroup,{label:"Calls you",note:"off"!==a&&"Needs this tab open. A tab that has been silent since it loaded may not be allowed to make a sound — the desktop notification covers that.",children:(0,d.jsx)(t.SettingChoiceRows,{options:A.CALL_BACK_MODES.map(a=>({value:a,label:A.CALL_BACK_LABEL[a],hint:X[a]})),value:a,onChange:b})})}let X={off:"Nothing opens a call but you.",waiting:"A job that stopped to ask gets her to ring you.",any:"Anything a bot finishes, she opens a line to tell you."};function R({value:a,onChange:b}){return(0,d.jsx)(t.SettingGroup,{label:"Captions",children:(0,d.jsx)(t.SettingChoiceRows,{options:A.CAPTION_VIEWS.map(a=>({value:a,label:W[a].label,hint:W[a].hint})),value:a,onChange:b})})}function S({value:a,onChange:b}){let c=(0,C.useDraft)(a.phrase,c=>b({...a,phrase:c}),{min:A.WAKE_PHRASE.min}),e=c.value.trim().split(/\s+/).length<2;return(0,d.jsx)(t.SettingGroup,{label:"Wake",children:(0,d.jsx)(t.SettingToggle,{label:"Answer to her name",description:"Between calls, the browser listens for the phrase below and picks up when it hears it.",checked:a.enabled,onChange:c=>b({...a,enabled:c}),children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Input,{value:c.value,maxLength:A.WAKE_PHRASE.max,spellCheck:!1,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,d.jsx)(t.SettingNote,{children:e?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count."})]})})})}function T({value:a,onChange:b}){let[c,e]=(0,g.useState)(!1),[f,h]=(0,g.useState)(!1),i=(0,D.useHotkeyLabel)((0,D.isCombo)(a.combo)?a.combo:null);return(0,d.jsx)(t.SettingGroup,{label:"Shortcut",children:(0,d.jsx)(t.SettingToggle,{label:"Answer to a key",description:"With this tab in front, the key below starts a call — and ends the one that is running.",checked:a.enabled,onChange:c=>b({...a,enabled:c}),children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("button",{type:"button",...D.HOTKEY_CAPTURE,onClick:()=>{h(!1),e(!0)},onBlur:()=>e(!1),onKeyDown:c?c=>{if("Tab"===c.key)return;if(c.preventDefault(),c.stopPropagation(),"Escape"===c.key)return e(!1);let d=(0,D.comboOf)(c.nativeEvent);if(!d)return h(!0);h(!1),e(!1),b({...a,combo:d})}:void 0,className:(0,H.cn)("w-full rounded-lg border px-3 py-2 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",c?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:c?"Press the keys…":i??"Set a shortcut"}),(0,d.jsx)(t.SettingNote,{children:f?"Hold Ctrl, Alt or Cmd — a plain key is typing.":c?"Esc to keep the one you have.":"Only while this tab has focus. Not while you are typing."})]})})})}function U({value:a,onSave:b}){let[c,e]=(0,g.useState)(a);return(0,d.jsx)(t.SettingGroup,{label:"Instructions",right:`${c.length}/${E.COMMON_VALIDATE.prompt.max}`,children:(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(o.Textarea,{value:c,maxLength:E.COMMON_VALIDATE.prompt.max,onChange:a=>e(a.target.value),placeholder:"Anything else she should know before the first word — how to address you, what to skip.",className:"min-h-28"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(i.Button,{size:"sm",disabled:c===a,onClick:()=>b(c),children:"Save"})})]})})}a.s(["ThursdaySetting",0,function(){let a=(0,B.useThursdayStore)(),b=(0,B.useThursdayStore)(a=>a.patch),{data:c=[],isLoading:e,error:f}=(0,G.useServerRoute)(h.queryKey.llmModel),g=(0,x.useThursdayFace)();if(e)return(0,d.jsx)(t.SettingSkeleton,{rows:4});if(f)return(0,d.jsx)(t.SettingError,{message:f.message});let i=a.model?.provider??null;return(0,d.jsxs)(t.SettingScreen,{footer:(0,d.jsx)(t.SettingRailNote,{children:"Her prompt is assembled fresh on every call — memory, the roster and your skills go in."}),children:[(0,d.jsx)(M,{value:g,onChange:x.setThursdayFace}),(0,d.jsx)(u.CallHistoryRow,{}),(0,d.jsx)(t.SettingGroup,{label:"Voice",note:!i&&"Nothing picked — calls run on whichever key is set.",children:(0,d.jsx)(t.SettingItems,{children:q.SPEACH_MODEL_PROVIDER_LIST.map(e=>{let f;return(0,d.jsx)(P,{provider:e,value:i===e.id?a.model:null,hasKey:(f=e.apiKeyName,c.some(a=>a.apiKeyName===f&&a.hasKey)),onPick:a=>b({model:{provider:e.id,...a}})},e.id)})})}),(0,d.jsx)(R,{value:a.captionView,onChange:a=>b({captionView:a})}),(0,d.jsx)(S,{value:a.wake,onChange:a=>b({wake:a})}),(0,d.jsx)(Q,{value:a.callBack,onChange:a=>b({callBack:a})}),(0,d.jsx)(T,{value:a.hotkey,onChange:a=>b({hotkey:a})}),(0,d.jsx)(J,{}),(0,d.jsx)(s.TidySetting,{}),(0,d.jsx)(U,{value:a.systemPrompt??"",onSave:a=>b({systemPrompt:a})}),(0,d.jsx)(L,{})]})}]),c()}catch(a){c(a)}},!1),605698,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f75936b40de98c3461f8698a4b30d8fb487e425d6",b.callServer,void 0,b.findSourceMapURL,"resetHistoryAction");a.s(["resetHistoryAction",0,c])},64327,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f8490475d10d4ef1af9d6551673eb1df63fb04305",b.callServer,void 0,b.findSourceMapURL,"setCallSkillsAction");a.s(["setCallSkillsAction",0,c])},164889,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f666d9214481b3d6327600165d7fef7d6a73cfebc",b.callServer,void 0,b.findSourceMapURL,"deleteCallAction");a.s(["deleteCallAction",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=_0su6_08._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[210799,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(589027),f=a.i(875160),g=a.i(272944),h=a.i(19895),i=a.i(951675),j=a.i(572131),k=a.i(767561),l=a.i(340695),m=a.i(676504),n=a.i(446181),o=a.i(545097),p=a.i(950463),q=a.i(978349),r=a.i(43081),s=a.i(944803),t=a.i(411509),u=a.i(913834),v=a.i(467268),w=a.i(42380),x=a.i(8468),y=a.i(777279),z=a.i(619477),A=a.i(199169),B=a.i(313237),C=a.i(862966),D=a.i(759497),E=a.i(497895),F=a.i(394440),G=b([v,x]);[v,x]=G.then?(await G)():G;let L="w-36";function H({task:a,bots:b,open:c,onToggle:k,onStop:n,onDelete:p}){var q,r;let s,x="running"===a.status||"waiting"===a.status,z="running"===a.status,B=(0,j.useMemo)(()=>(0,y.taskFromRow)(a,b),[a,b]),C=function(a){if("waiting"===a.status&&a.ask)return(0,t.isBudgetAsk)(a.ask)?{text:(0,E.plainText)(a.outcome??a.ask.question),tone:"text-muted-foreground"}:{text:a.ask.question,tone:E.WAITING_INK};if("failed"===a.status)return{text:(0,E.plainText)(a.outcome??"Failed"),tone:"text-destructive"};if("done"===a.status)return{text:(0,E.plainText)(a.outcome??"Done"),tone:a.reported?"text-muted-foreground":"text-foreground/80"};for(let b=a.lines.length-1;b>=0;b--){let c=a.lines[b];if("tool"===c.kind)return{text:c.note??c.input,tone:"text-muted-foreground",tool:c.name,shine:!0};if("text"===c.kind)return{text:c.text,tone:"text-muted-foreground",shine:!0};if("user"===c.kind||"waiting"===c.kind)break}return{text:`${a.bot} is taking it on…`,tone:"text-muted-foreground italic",shine:!0}}(a),D=a.tokens.input+a.tokens.output;return(0,d.jsxs)("div",{className:"group/row relative transition-colors hover:bg-muted/50",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsxs)("button",{type:"button",onClick:k,className:"flex min-w-0 flex-1 items-center gap-3 rounded-md text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)(u.BotMark,{size:40,seed:a.bot,vary:a.id,...(q=a.bot,r=b,s=r?.find(a=>a.name===q)?.icon,{color:s?.color,shape:s?.shape,outline:s?.outline}),state:z?"thinking":"idle",notify:"waiting"===a.status,className:"shrink-0"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"truncate text-sm font-medium",children:a.label}),(0,d.jsx)(w.BotRoster,{bots:(0,y.rosterOf)(B),taskId:a.id}),z&&(0,d.jsx)(f.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),C&&(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-[13px] leading-snug",children:[C.tool&&(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:C.tool}),C.shine?(0,d.jsx)(o.default,{text:C.text,speed:2.2,color:"var(--muted-foreground)",shineColor:"var(--foreground)",className:"min-w-0 truncate"}):(0,d.jsx)("span",{className:(0,E.cn)("min-w-0 truncate",C.tone),children:C.text})]})]}),(0,d.jsxs)("span",{className:(0,E.cn)("flex shrink-0 flex-col items-end gap-0.5 font-mono text-[11px] leading-4 text-muted-foreground tabular-nums",L),children:[(0,d.jsx)("span",{children:(0,A.whenOf)(a.updatedAt)}),(0,d.jsxs)("span",{className:"max-w-full truncate text-muted-foreground/70",title:D>0?`${a.id} \xb7 in ${(0,E.formatCount)(a.tokens.input)} \xb7 out ${(0,E.formatCount)(a.tokens.output)}`:a.id,children:[a.bot,D>0&&` \xb7 ${(0,E.formatCount)(D)}`]})]}),(0,d.jsx)(e.ChevronDown,{className:(0,E.cn)("size-4 shrink-0 text-muted-foreground transition-transform",c&&"rotate-180")})]}),(0,d.jsxs)(m.DropdownMenu,{children:[(0,d.jsx)(m.DropdownMenuTrigger,{render:(0,d.jsx)(l.Button,{size:"icon-sm",variant:"ghost"}),children:(0,d.jsx)(g.MoreHorizontal,{})}),(0,d.jsxs)(m.DropdownMenuContent,{align:"end",children:[x&&(0,d.jsxs)(m.DropdownMenuItem,{onClick:n,children:[(0,d.jsx)(h.Square,{}),"Stop"]}),(0,d.jsxs)(m.DropdownMenuItem,{variant:"destructive",onClick:p,children:[(0,d.jsx)(i.Trash2,{}),"Delete"]})]})]})]}),z&&!c&&(0,d.jsx)(I,{task:a}),c&&(0,d.jsxs)("div",{className:"mx-4 mb-4 space-y-2",children:[(0,d.jsx)("div",{className:"rounded-xl border border-border/60 bg-background",children:(0,d.jsx)(v.Conversation,{task:B})}),(0,d.jsx)(F.TaskReply,{task:{id:a.id,label:a.label,bot:a.bot,ask:a.ask},status:a.status})]})]})}function I({task:a}){let b=[];if(a.lines.forEach((c,d)=>{if("tool"!==c.kind)return;let e=a.lines[d+1];b.push({step:c,took:e?(0,A.toDate)(e.at).getTime()-(0,A.toDate)(c.at).getTime():null})}),0===b.length)return null;let c=(0,A.toDate)(a.updatedAt).getTime()-(0,A.toDate)(a.createdAt).getTime();return(0,d.jsxs)("div",{className:"pointer-events-none absolute top-[calc(100%-0.75rem)] left-17 z-20 hidden w-96 max-w-[calc(100%-5rem)] rounded-xl bg-background p-3 pb-2 shadow-xl shadow-black/10 ring-1 ring-border/60 group-hover/row:block",children:[(0,d.jsxs)("div",{className:"mb-1.5 flex items-center gap-2 font-mono text-[10px] text-muted-foreground",children:[(0,d.jsx)("span",{children:a.bot}),(0,d.jsx)("span",{className:"opacity-50",children:"·"}),(0,d.jsxs)("span",{children:[b.length," ",1===b.length?"step":"steps"]}),(0,d.jsx)("span",{className:"opacity-50",children:"·"}),(0,d.jsx)("span",{children:J(c)})]}),b.slice(-6).map(({step:a,took:b})=>{let c=(0,x.toolIcon)(a.name);return(0,d.jsxs)("div",{className:"flex h-5.5 items-center gap-2 font-mono text-[11px]",children:[null===b?(0,d.jsx)(f.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"}):(0,d.jsx)(c,{className:"size-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",children:a.name}),null===b?(0,d.jsx)(o.default,{text:a.note??a.input,speed:2.2,color:"var(--muted-foreground)",shineColor:"var(--foreground)",className:"min-w-0 flex-1 truncate"}):(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-foreground",children:a.note??a.input}),(0,d.jsx)("span",{className:"w-10 shrink-0 text-right text-muted-foreground/70 tabular-nums",children:null===b?"":J(b)})]},a.id)})]})}function J(a){let b=Math.max(0,a)/1e3;if(b<10)return`${b.toFixed(1)}s`;if(b<60)return`${Math.round(b)}s`;let c=Math.floor(b/60);return`${c}m ${Math.round(b-60*c)}s`}function K(){return(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsx)(p.Skeleton,{className:"size-10 shrink-0 rounded-full"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-2",children:[(0,d.jsx)(p.Skeleton,{className:"h-3 w-40 max-w-full"}),(0,d.jsx)(p.Skeleton,{className:"h-2.5 w-80 max-w-full"})]}),(0,d.jsxs)("span",{className:(0,E.cn)("flex shrink-0 flex-col items-end gap-1.5",L),children:[(0,d.jsx)(p.Skeleton,{className:"h-2.5 w-12"}),(0,d.jsx)(p.Skeleton,{className:"h-2.5 w-24"})]}),(0,d.jsx)("span",{className:"size-4 shrink-0"}),(0,d.jsx)("span",{className:"size-7 shrink-0"})]})}a.s(["TaskSetting",0,function(){let[a,b]=(0,j.useState)(null),[c,e]=(0,j.useState)(""),{data:f}=(0,D.useServerRoute)(k.queryKey.bot),{items:g,isLoading:h,isLoadingMore:i,error:m,hasMore:o,sentinelRef:p}=(0,C.useServerPages)({key:(a,b)=>{if(0===a)return k.queryKey.taskHistory(null);let c=b?.at(-1);return c?k.queryKey.taskHistory((0,A.toDate)(c.updatedAt).toISOString()):null},size:t.TASK_HISTORY_PAGE,swr:{revalidateFirstPage:!0,refreshInterval:a=>3e3*!!a?.[0]?.some(a=>"running"===a.status)}}),[u]=(0,B.useServerAction)(q.cancelTaskAction,{okMessage:"Task stopped",onOk:a=>{(0,D.revalidate)(k.queryKey.tasks),y.screenActs.announce({kind:"stopped",id:a.id,label:a.label})}}),[v]=(0,B.useServerAction)(s.deleteTaskAction,{okMessage:"Task deleted",onOk:()=>(0,D.revalidate)(k.queryKey.tasks)}),[w]=(0,B.useServerAction)(r.clearFinishedTasksAction,{onOk:()=>(0,D.revalidate)(k.queryKey.tasks)}),x=async()=>{await n.notify.confirm({title:"Clear finished jobs?",description:"Everything done or failed goes, threads included. Running and waiting jobs stay.",okText:"Clear",destructive:!0})&&w()},E=async a=>{await n.notify.confirm({title:`Delete "${a.label}"?`,description:"The thread goes with it — nothing can be picked back up.",okText:"Delete",destructive:!0})&&v(a.id)};if(h)return(0,d.jsx)(z.SettingSkeleton,{rows:3});if(m)return(0,d.jsx)(z.SettingError,{message:m.message});let F=c.trim().toLowerCase(),G=F?g.filter(a=>[a.label,a.outcome,a.bot].join(" ").toLowerCase().includes(F)):g,I=g.filter(a=>"waiting"===a.status).length,J=g.filter(a=>"failed"===a.status).length;return(0,d.jsx)(z.SettingScreen,{footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(z.SettingRailNote,{children:[g.length," loaded",I>0&&` \xb7 ${I} waiting on you`,J>0&&` \xb7 ${J} failed`]}),(0,d.jsx)(l.Button,{variant:"outline",size:"sm",onClick:x,children:"Clear finished"})]}),children:(0,d.jsx)(z.SettingGroup,{filter:(0,d.jsx)(z.SettingFilter,{value:c,onChange:e,placeholder:"Filter by label, bot or word"}),right:F?`${G.length} of ${g.length}`:void 0,children:(0,d.jsxs)(z.SettingItems,{children:[0===G.length?(0,d.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:F?"Nothing loaded matches. Keep scrolling to search further back.":"Nothing yet. When Thursday hands a job to a bot mid-call, it shows up here — while it runs, and after."}):G.map(c=>(0,d.jsx)(H,{task:c,bots:f,open:a===c.id,onToggle:()=>b(a=>a===c.id?null:c.id),onStop:()=>u(c.id),onDelete:()=>E(c)},c.id)),(0,d.jsx)(z.SettingMore,{hasMore:o,loading:i,sentinelRef:p,ghost:(0,d.jsx)(K,{}),className:"divide-y divide-border/60"})]})})})}]),c()}catch(a){c(a)}},!1),43081,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f08787ba9fc8824b7a875687443bbce164e04905e",b.callServer,void 0,b.findSourceMapURL,"clearFinishedTasksAction");a.s(["clearFinishedTasksAction",0,c])},944803,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f46407252db150b0c510d36e20dccf5a544e9107f",b.callServer,void 0,b.findSourceMapURL,"deleteTaskAction");a.s(["deleteTaskAction",0,c])},862966,a=>{"use strict";var b=a.i(572131),c=a.i(988712),d=a.i(426618),e=a.i(664565),f=a.i(487610),g=a.i(561311);let h=Promise.resolve(),i=(0,e.withMiddleware)(c.u,a=>(c,e,i)=>{let j,k=(0,b.useRef)(!1),{cache:l,initialSize:m=1,revalidateAll:n=!1,persistSize:o=!1,revalidateFirstPage:p=!0,revalidateOnMount:q=!1,parallel:r=!1}=i,[,,,s]=d.a.get(d.o);try{(j=(0,d.s)(c?c(0,null):null)[0])&&(j=g.INFINITE_PREFIX+j)}catch(a){}let[t,u,v]=(0,d.c)(l,j),w=(0,b.useCallback)(()=>(0,d.i)(t()._l)?m:t()._l,[l,j,m]);(0,f.useSyncExternalStore)((0,b.useCallback)(a=>j?v(j,()=>{a()}):()=>{},[l,j]),w,w);let x=(0,b.useCallback)(()=>{let a=t()._l;return(0,d.i)(a)?m:a},[j,m]),y=(0,b.useRef)(x());(0,d.u)(()=>{if(!k.current){k.current=!0;return}j&&u({_l:o?y.current:x()})},[j,l]);let z=q&&!k.current,A=a(j,async a=>{let b=t()._i,f=t()._r,g=d.a.get(l),h=g[8],j=()=>g[8]!==h;u({_r:d.U});let k=[],m=x(),[o]=(0,d.c)(l,a),q=o().data,v=[],w=null;for(let a=0;a<m;++a){let[g,h]=(0,d.s)(c(a,r?null:w));if(!g)break;let[m,o]=(0,d.c)(l,g),t=m().data,u=n||b||(0,d.i)(t)||p&&!a&&!(0,d.i)(q)||z||q&&!(0,d.i)(q[a])&&!i.compare(q[a],t);if(e&&("function"==typeof f?f(t,h):u)){let b=async()=>{if(g in s){let a=s[g];delete s[g],t=await a}else t=await e(h);j()||o({data:t,_k:h}),k[a]=t};r?v.push(b):await b()}else k[a]=t;r||(w=t)}return r&&await Promise.all(v.map(a=>a())),j()||u({_i:d.U}),k},i),B=(0,b.useCallback)(function(a,b){let c="boolean"==typeof b?{revalidate:b}:b||{},e=!1!==c.revalidate;return j?(e&&((0,d.i)(a)?u({_i:!0,_r:c.revalidate}):u({_i:!1,_r:c.revalidate})),arguments.length?A.mutate(a,{...c,revalidate:e}):A.mutate()):h},[j,l]),C=(0,b.useCallback)(a=>{let b;if(!j)return h;let[,e]=(0,d.c)(l,j);if((0,d.e)(a)?b=a(x()):"number"==typeof a&&(b=a),"number"!=typeof b)return h;e({_l:b}),y.current=b;let f=[],[g]=(0,d.c)(l,j),i=null;for(let a=0;a<b;++a){let[b]=(0,d.s)(c(a,i)),[e]=(0,d.c)(l,b),h=b?e().data:d.U;if((0,d.i)(h))return B(g().data);f.push(h),i=h}return B(f)},[j,l,B,x]);return{size:x(),setSize:C,mutate:B,get data(){return A.data},get error(){return A.error},get isValidating(){return A.isValidating},get isLoading(){return A.isLoading}}});var j=a.i(287702),k=a.i(759497);a.s(["useServerPages",0,function(a){let c=a.size??j.PAGE_SIZE,{key:d}=a,{data:e,error:f,isLoading:g,isValidating:h,setSize:l,mutate:m}=i((a,b)=>(0,k.resolveKey)(d(a,b)),k.fetchRoute,{dedupingInterval:500,revalidateOnMount:!0,revalidateOnFocus:!0,revalidateOnReconnect:!0,focusThrottleInterval:1e3,revalidateFirstPage:!1,...a.swr}),n=e??[],o=n.flat(),p=n.at(-1),q=void 0!==p&&p.length>=c,r=(0,b.useRef)(0),s=h&&n.length>0&&r.current>n.length,t=(0,b.useRef)({isValidating:h,setSize:l,pages:n.length});t.current={isValidating:h,setSize:l,pages:n.length};let u=(0,k.resolveKey)(d(0,null)),v="string"==typeof u?u:u?.url;(0,b.useEffect)(()=>{if(v)return(0,k.registerPagedReader)({url:v,refresh:()=>m()})},[v,m]);let w=function(a,c={}){let{enabled:d=!0,margin:e="600px",revision:f}=c,g=(0,b.useRef)(a);g.current=a;let h=(0,b.useRef)(null),i=(0,b.useRef)(null),j=(0,b.useCallback)(a=>{h.current=a},[]);return(0,b.useEffect)(()=>{i.current?.disconnect();let a=h.current;if(a&&d)return i.current=new IntersectionObserver(([a])=>{a.isIntersecting&&g.current()},{root:function(a){let b=a.parentElement;for(;b;){let{overflowY:a}=getComputedStyle(b);if(("auto"===a||"scroll"===a)&&b.scrollHeight>b.clientHeight)return b;b=b.parentElement}return null}(a),rootMargin:e}),i.current.observe(a),()=>i.current?.disconnect()},[d,e,f]),j}(()=>{let a=t.current;a.isValidating||(r.current=a.pages+1,a.setSize(a.pages+1))},{enabled:q,revision:`${n.length}:${h}`});return{items:o,isLoading:g,isLoadingMore:s,error:f,hasMore:q,sentinelRef:w,refresh:()=>m()}}],862966)},272944,a=>{"use strict";var b=a.i(164831);let c={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};c.node;let d=(0,b.default)(c);a.s(["MoreHorizontal",0,d],272944)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)}];
|
|
1
|
+
module.exports=[210799,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(589027),f=a.i(875160),g=a.i(272944),h=a.i(19895),i=a.i(951675),j=a.i(572131),k=a.i(767561),l=a.i(340695),m=a.i(676504),n=a.i(446181),o=a.i(545097),p=a.i(950463),q=a.i(240827),r=a.i(736442),s=a.i(88125),t=a.i(411509),u=a.i(913834),v=a.i(467268),w=a.i(42380),x=a.i(8468),y=a.i(777279),z=a.i(619477),A=a.i(199169),B=a.i(313237),C=a.i(862966),D=a.i(759497),E=a.i(497895),F=a.i(394440),G=b([v,x]);[v,x]=G.then?(await G)():G;let L="w-36";function H({task:a,bots:b,open:c,onToggle:k,onStop:n,onDelete:p}){var q,r;let s,x="running"===a.status||"waiting"===a.status,z="running"===a.status,B=(0,j.useMemo)(()=>(0,y.taskFromRow)(a,b),[a,b]),C=function(a){if("waiting"===a.status&&a.ask)return(0,t.isBudgetAsk)(a.ask)?{text:(0,E.plainText)(a.outcome??a.ask.question),tone:"text-muted-foreground"}:{text:a.ask.question,tone:E.WAITING_INK};if("failed"===a.status)return{text:(0,E.plainText)(a.outcome??"Failed"),tone:"text-destructive"};if("done"===a.status)return{text:(0,E.plainText)(a.outcome??"Done"),tone:a.reported?"text-muted-foreground":"text-foreground/80"};for(let b=a.lines.length-1;b>=0;b--){let c=a.lines[b];if("tool"===c.kind)return{text:c.note??c.input,tone:"text-muted-foreground",tool:c.name,shine:!0};if("text"===c.kind)return{text:c.text,tone:"text-muted-foreground",shine:!0};if("user"===c.kind||"waiting"===c.kind)break}return{text:`${a.bot} is taking it on…`,tone:"text-muted-foreground italic",shine:!0}}(a),D=a.tokens.input+a.tokens.output;return(0,d.jsxs)("div",{className:"group/row relative transition-colors hover:bg-muted/50",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsxs)("button",{type:"button",onClick:k,className:"flex min-w-0 flex-1 items-center gap-3 rounded-md text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)(u.BotMark,{size:40,seed:a.bot,vary:a.id,...(q=a.bot,r=b,s=r?.find(a=>a.name===q)?.icon,{color:s?.color,shape:s?.shape,outline:s?.outline}),state:z?"thinking":"idle",notify:"waiting"===a.status,className:"shrink-0"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"truncate text-sm font-medium",children:a.label}),(0,d.jsx)(w.BotRoster,{bots:(0,y.rosterOf)(B),taskId:a.id}),z&&(0,d.jsx)(f.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),C&&(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-[13px] leading-snug",children:[C.tool&&(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:C.tool}),C.shine?(0,d.jsx)(o.default,{text:C.text,speed:2.2,color:"var(--muted-foreground)",shineColor:"var(--foreground)",className:"min-w-0 truncate"}):(0,d.jsx)("span",{className:(0,E.cn)("min-w-0 truncate",C.tone),children:C.text})]})]}),(0,d.jsxs)("span",{className:(0,E.cn)("flex shrink-0 flex-col items-end gap-0.5 font-mono text-[11px] leading-4 text-muted-foreground tabular-nums",L),children:[(0,d.jsx)("span",{children:(0,A.whenOf)(a.updatedAt)}),(0,d.jsxs)("span",{className:"max-w-full truncate text-muted-foreground/70",title:D>0?`${a.id} \xb7 in ${(0,E.formatCount)(a.tokens.input)} \xb7 out ${(0,E.formatCount)(a.tokens.output)}`:a.id,children:[a.bot,D>0&&` \xb7 ${(0,E.formatCount)(D)}`]})]}),(0,d.jsx)(e.ChevronDown,{className:(0,E.cn)("size-4 shrink-0 text-muted-foreground transition-transform",c&&"rotate-180")})]}),(0,d.jsxs)(m.DropdownMenu,{children:[(0,d.jsx)(m.DropdownMenuTrigger,{render:(0,d.jsx)(l.Button,{size:"icon-sm",variant:"ghost"}),children:(0,d.jsx)(g.MoreHorizontal,{})}),(0,d.jsxs)(m.DropdownMenuContent,{align:"end",children:[x&&(0,d.jsxs)(m.DropdownMenuItem,{onClick:n,children:[(0,d.jsx)(h.Square,{}),"Stop"]}),(0,d.jsxs)(m.DropdownMenuItem,{variant:"destructive",onClick:p,children:[(0,d.jsx)(i.Trash2,{}),"Delete"]})]})]})]}),z&&!c&&(0,d.jsx)(I,{task:a}),c&&(0,d.jsxs)("div",{className:"mx-4 mb-4 space-y-2",children:[(0,d.jsx)("div",{className:"rounded-xl border border-border/60 bg-background",children:(0,d.jsx)(v.Conversation,{task:B})}),(0,d.jsx)(F.TaskReply,{task:{id:a.id,label:a.label,bot:a.bot,ask:a.ask},status:a.status})]})]})}function I({task:a}){let b=[];if(a.lines.forEach((c,d)=>{if("tool"!==c.kind)return;let e=a.lines[d+1];b.push({step:c,took:e?(0,A.toDate)(e.at).getTime()-(0,A.toDate)(c.at).getTime():null})}),0===b.length)return null;let c=(0,A.toDate)(a.updatedAt).getTime()-(0,A.toDate)(a.createdAt).getTime();return(0,d.jsxs)("div",{className:"pointer-events-none absolute top-[calc(100%-0.75rem)] left-17 z-20 hidden w-96 max-w-[calc(100%-5rem)] rounded-xl bg-background p-3 pb-2 shadow-xl shadow-black/10 ring-1 ring-border/60 group-hover/row:block",children:[(0,d.jsxs)("div",{className:"mb-1.5 flex items-center gap-2 font-mono text-[10px] text-muted-foreground",children:[(0,d.jsx)("span",{children:a.bot}),(0,d.jsx)("span",{className:"opacity-50",children:"·"}),(0,d.jsxs)("span",{children:[b.length," ",1===b.length?"step":"steps"]}),(0,d.jsx)("span",{className:"opacity-50",children:"·"}),(0,d.jsx)("span",{children:J(c)})]}),b.slice(-6).map(({step:a,took:b})=>{let c=(0,x.toolIcon)(a.name);return(0,d.jsxs)("div",{className:"flex h-5.5 items-center gap-2 font-mono text-[11px]",children:[null===b?(0,d.jsx)(f.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"}):(0,d.jsx)(c,{className:"size-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",children:a.name}),null===b?(0,d.jsx)(o.default,{text:a.note??a.input,speed:2.2,color:"var(--muted-foreground)",shineColor:"var(--foreground)",className:"min-w-0 flex-1 truncate"}):(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-foreground",children:a.note??a.input}),(0,d.jsx)("span",{className:"w-10 shrink-0 text-right text-muted-foreground/70 tabular-nums",children:null===b?"":J(b)})]},a.id)})]})}function J(a){let b=Math.max(0,a)/1e3;if(b<10)return`${b.toFixed(1)}s`;if(b<60)return`${Math.round(b)}s`;let c=Math.floor(b/60);return`${c}m ${Math.round(b-60*c)}s`}function K(){return(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsx)(p.Skeleton,{className:"size-10 shrink-0 rounded-full"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-2",children:[(0,d.jsx)(p.Skeleton,{className:"h-3 w-40 max-w-full"}),(0,d.jsx)(p.Skeleton,{className:"h-2.5 w-80 max-w-full"})]}),(0,d.jsxs)("span",{className:(0,E.cn)("flex shrink-0 flex-col items-end gap-1.5",L),children:[(0,d.jsx)(p.Skeleton,{className:"h-2.5 w-12"}),(0,d.jsx)(p.Skeleton,{className:"h-2.5 w-24"})]}),(0,d.jsx)("span",{className:"size-4 shrink-0"}),(0,d.jsx)("span",{className:"size-7 shrink-0"})]})}a.s(["TaskSetting",0,function(){let[a,b]=(0,j.useState)(null),[c,e]=(0,j.useState)(""),{data:f}=(0,D.useServerRoute)(k.queryKey.bot),{items:g,isLoading:h,isLoadingMore:i,error:m,hasMore:o,sentinelRef:p}=(0,C.useServerPages)({key:(a,b)=>{if(0===a)return k.queryKey.taskHistory(null);let c=b?.at(-1);return c?k.queryKey.taskHistory((0,A.toDate)(c.updatedAt).toISOString()):null},size:t.TASK_HISTORY_PAGE,swr:{revalidateFirstPage:!0,refreshInterval:a=>3e3*!!a?.[0]?.some(a=>"running"===a.status)}}),[u]=(0,B.useServerAction)(q.cancelTaskAction,{okMessage:"Task stopped",onOk:a=>{(0,D.revalidate)(k.queryKey.tasks),y.screenActs.announce({kind:"stopped",id:a.id,label:a.label})}}),[v]=(0,B.useServerAction)(s.deleteTaskAction,{okMessage:"Task deleted",onOk:()=>(0,D.revalidate)(k.queryKey.tasks)}),[w]=(0,B.useServerAction)(r.clearFinishedTasksAction,{onOk:()=>(0,D.revalidate)(k.queryKey.tasks)}),x=async()=>{await n.notify.confirm({title:"Clear finished jobs?",description:"Everything done or failed goes, threads included. Running and waiting jobs stay.",okText:"Clear",destructive:!0})&&w()},E=async a=>{await n.notify.confirm({title:`Delete "${a.label}"?`,description:"The thread goes with it — nothing can be picked back up.",okText:"Delete",destructive:!0})&&v(a.id)};if(h)return(0,d.jsx)(z.SettingSkeleton,{rows:3});if(m)return(0,d.jsx)(z.SettingError,{message:m.message});let F=c.trim().toLowerCase(),G=F?g.filter(a=>[a.label,a.outcome,a.bot].join(" ").toLowerCase().includes(F)):g,I=g.filter(a=>"waiting"===a.status).length,J=g.filter(a=>"failed"===a.status).length;return(0,d.jsx)(z.SettingScreen,{footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(z.SettingRailNote,{children:[g.length," loaded",I>0&&` \xb7 ${I} waiting on you`,J>0&&` \xb7 ${J} failed`]}),(0,d.jsx)(l.Button,{variant:"outline",size:"sm",onClick:x,children:"Clear finished"})]}),children:(0,d.jsx)(z.SettingGroup,{filter:(0,d.jsx)(z.SettingFilter,{value:c,onChange:e,placeholder:"Filter by label, bot or word"}),right:F?`${G.length} of ${g.length}`:void 0,children:(0,d.jsxs)(z.SettingItems,{children:[0===G.length?(0,d.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:F?"Nothing loaded matches. Keep scrolling to search further back.":"Nothing yet. When Thursday hands a job to a bot mid-call, it shows up here — while it runs, and after."}):G.map(c=>(0,d.jsx)(H,{task:c,bots:f,open:a===c.id,onToggle:()=>b(a=>a===c.id?null:c.id),onStop:()=>u(c.id),onDelete:()=>E(c)},c.id)),(0,d.jsx)(z.SettingMore,{hasMore:o,loading:i,sentinelRef:p,ghost:(0,d.jsx)(K,{}),className:"divide-y divide-border/60"})]})})})}]),c()}catch(a){c(a)}},!1),736442,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f80816611593aeb950e1104f1dbc9de5d7fba0f77",b.callServer,void 0,b.findSourceMapURL,"clearFinishedTasksAction");a.s(["clearFinishedTasksAction",0,c])},88125,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f9f887848ed2939266697558b2b53dad0f36a12a9",b.callServer,void 0,b.findSourceMapURL,"deleteTaskAction");a.s(["deleteTaskAction",0,c])},862966,a=>{"use strict";var b=a.i(572131),c=a.i(988712),d=a.i(426618),e=a.i(664565),f=a.i(487610),g=a.i(561311);let h=Promise.resolve(),i=(0,e.withMiddleware)(c.u,a=>(c,e,i)=>{let j,k=(0,b.useRef)(!1),{cache:l,initialSize:m=1,revalidateAll:n=!1,persistSize:o=!1,revalidateFirstPage:p=!0,revalidateOnMount:q=!1,parallel:r=!1}=i,[,,,s]=d.a.get(d.o);try{(j=(0,d.s)(c?c(0,null):null)[0])&&(j=g.INFINITE_PREFIX+j)}catch(a){}let[t,u,v]=(0,d.c)(l,j),w=(0,b.useCallback)(()=>(0,d.i)(t()._l)?m:t()._l,[l,j,m]);(0,f.useSyncExternalStore)((0,b.useCallback)(a=>j?v(j,()=>{a()}):()=>{},[l,j]),w,w);let x=(0,b.useCallback)(()=>{let a=t()._l;return(0,d.i)(a)?m:a},[j,m]),y=(0,b.useRef)(x());(0,d.u)(()=>{if(!k.current){k.current=!0;return}j&&u({_l:o?y.current:x()})},[j,l]);let z=q&&!k.current,A=a(j,async a=>{let b=t()._i,f=t()._r,g=d.a.get(l),h=g[8],j=()=>g[8]!==h;u({_r:d.U});let k=[],m=x(),[o]=(0,d.c)(l,a),q=o().data,v=[],w=null;for(let a=0;a<m;++a){let[g,h]=(0,d.s)(c(a,r?null:w));if(!g)break;let[m,o]=(0,d.c)(l,g),t=m().data,u=n||b||(0,d.i)(t)||p&&!a&&!(0,d.i)(q)||z||q&&!(0,d.i)(q[a])&&!i.compare(q[a],t);if(e&&("function"==typeof f?f(t,h):u)){let b=async()=>{if(g in s){let a=s[g];delete s[g],t=await a}else t=await e(h);j()||o({data:t,_k:h}),k[a]=t};r?v.push(b):await b()}else k[a]=t;r||(w=t)}return r&&await Promise.all(v.map(a=>a())),j()||u({_i:d.U}),k},i),B=(0,b.useCallback)(function(a,b){let c="boolean"==typeof b?{revalidate:b}:b||{},e=!1!==c.revalidate;return j?(e&&((0,d.i)(a)?u({_i:!0,_r:c.revalidate}):u({_i:!1,_r:c.revalidate})),arguments.length?A.mutate(a,{...c,revalidate:e}):A.mutate()):h},[j,l]),C=(0,b.useCallback)(a=>{let b;if(!j)return h;let[,e]=(0,d.c)(l,j);if((0,d.e)(a)?b=a(x()):"number"==typeof a&&(b=a),"number"!=typeof b)return h;e({_l:b}),y.current=b;let f=[],[g]=(0,d.c)(l,j),i=null;for(let a=0;a<b;++a){let[b]=(0,d.s)(c(a,i)),[e]=(0,d.c)(l,b),h=b?e().data:d.U;if((0,d.i)(h))return B(g().data);f.push(h),i=h}return B(f)},[j,l,B,x]);return{size:x(),setSize:C,mutate:B,get data(){return A.data},get error(){return A.error},get isValidating(){return A.isValidating},get isLoading(){return A.isLoading}}});var j=a.i(287702),k=a.i(759497);a.s(["useServerPages",0,function(a){let c=a.size??j.PAGE_SIZE,{key:d}=a,{data:e,error:f,isLoading:g,isValidating:h,setSize:l,mutate:m}=i((a,b)=>(0,k.resolveKey)(d(a,b)),k.fetchRoute,{dedupingInterval:500,revalidateOnMount:!0,revalidateOnFocus:!0,revalidateOnReconnect:!0,focusThrottleInterval:1e3,revalidateFirstPage:!1,...a.swr}),n=e??[],o=n.flat(),p=n.at(-1),q=void 0!==p&&p.length>=c,r=(0,b.useRef)(0),s=h&&n.length>0&&r.current>n.length,t=(0,b.useRef)({isValidating:h,setSize:l,pages:n.length});t.current={isValidating:h,setSize:l,pages:n.length};let u=(0,k.resolveKey)(d(0,null)),v="string"==typeof u?u:u?.url;(0,b.useEffect)(()=>{if(v)return(0,k.registerPagedReader)({url:v,refresh:()=>m()})},[v,m]);let w=function(a,c={}){let{enabled:d=!0,margin:e="600px",revision:f}=c,g=(0,b.useRef)(a);g.current=a;let h=(0,b.useRef)(null),i=(0,b.useRef)(null),j=(0,b.useCallback)(a=>{h.current=a},[]);return(0,b.useEffect)(()=>{i.current?.disconnect();let a=h.current;if(a&&d)return i.current=new IntersectionObserver(([a])=>{a.isIntersecting&&g.current()},{root:function(a){let b=a.parentElement;for(;b;){let{overflowY:a}=getComputedStyle(b);if(("auto"===a||"scroll"===a)&&b.scrollHeight>b.clientHeight)return b;b=b.parentElement}return null}(a),rootMargin:e}),i.current.observe(a),()=>i.current?.disconnect()},[d,e,f]),j}(()=>{let a=t.current;a.isValidating||(r.current=a.pages+1,a.setSize(a.pages+1))},{enabled:q,revision:`${n.length}:${h}`});return{items:o,isLoading:g,isLoadingMore:s,error:f,hasMore:q,sentinelRef:w,refresh:()=>m()}}],862966)},272944,a=>{"use strict";var b=a.i(164831);let c={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};c.node;let d=(0,b.default)(c);a.s(["MoreHorizontal",0,d],272944)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_0w5bgak._.js.map
|