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