thursday-agent 0.16.0 → 0.17.1
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/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/artifact/route.js +9 -9
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js +3 -3
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/route.js +8 -8
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js +8 -8
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/[id]/route.js +3 -3
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/route.js +3 -3
- package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js +4 -4
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/edit/route.js +11 -11
- package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/reach/route.js +11 -11
- package/.next/server/app/api/reach/route.js.nft.json +1 -1
- package/.next/server/app/api/routine/route.js +7 -7
- package/.next/server/app/api/routine/route.js.nft.json +1 -1
- package/.next/server/app/api/signins/route.js +5 -5
- package/.next/server/app/api/signins/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js +7 -7
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +7 -7
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js +5 -5
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/settings/route.js +5 -5
- package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/text/route.js +13 -13
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +12 -12
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js +8 -8
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js +9 -9
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +3 -3
- package/.next/server/app/artifact/[...path]/page.js +4 -4
- package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/page/server-reference-manifest.json +60 -60
- package/.next/server/app/page.js +5 -5
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__00qyw01._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__01ypm_z._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__021dkui._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__18e65_-._.js → [root-of-the-server]__03xamry._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__05dp5tr._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__09gdscj._.js +7 -0
- package/.next/server/chunks/{[root-of-the-server]__10_7vqz._.js → [root-of-the-server]__0b36yfw._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1gamvcz._.js → [root-of-the-server]__0jzwdg-._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0mrk2it._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0nmust6._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0svzjwa._.js +7 -0
- package/.next/server/chunks/{[root-of-the-server]__16yw3mb._.js → [root-of-the-server]__12m24xl._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1zrwxis._.js → [root-of-the-server]__12tahb4._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1ep-pao._.js → [root-of-the-server]__1_h4hf9._.js} +4 -4
- package/.next/server/chunks/{[root-of-the-server]__1-tdj60._.js → [root-of-the-server]__1de1o6m._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1voqqyc._.js → [root-of-the-server]__1ignh6-._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1t02-1p._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ygplx1._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__11g20j-._.js → [root-of-the-server]__1yl5l25._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1mbd2w_._.js → [root-of-the-server]__208vmyf._.js} +1 -1
- package/.next/server/chunks/{_1mfu9a3._.js → _02lipqs._.js} +1 -1
- package/.next/server/chunks/_05sa7xl._.js +1 -1
- package/.next/server/chunks/{_1rg5bfd._.js → _074f2ts._.js} +1 -1
- package/.next/server/chunks/_07nxi75._.js +37 -37
- package/.next/server/chunks/_08354bn._.js +12 -12
- package/.next/server/chunks/_08btiir._.js +7 -0
- package/.next/server/chunks/_0caua_s._.js +1 -1
- package/.next/server/chunks/{_0qoush_._.js → _0gt6cbj._.js} +1 -1
- package/.next/server/chunks/_0xygcxs._.js +37 -37
- package/.next/server/chunks/{_09c4we8._.js → _17i1lt2._.js} +1 -1
- package/.next/server/chunks/_19kea1l._.js +9 -9
- package/.next/server/chunks/_1gn2r2q._.js +3 -3
- package/.next/server/chunks/{_03niwml._.js → _1ntwp1s._.js} +1 -1
- package/.next/server/chunks/_1q6e56i._.js +3 -3
- package/.next/server/chunks/{_02fn1o3._.js → _1tkzgtm._.js} +1 -1
- package/.next/server/chunks/_1wl2g8_._.js +2 -2
- package/.next/server/chunks/{_1w6uf9k._.js → _1y3mnz4._.js} +1 -1
- package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +4 -4
- package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +4 -4
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0cux6zt._.js → node_modules_consola_dist_chunks_prompt_mjs_04oxl25._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0w32bqh._.js → node_modules_consola_dist_chunks_prompt_mjs_0g87zst._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_1clmnaj._.js → node_modules_consola_dist_chunks_prompt_mjs_1341cnf._.js} +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__02jdtqa._.js → [root-of-the-server]__07660xu._.js} +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__07iyl1_._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0rnjkw2._.js → [root-of-the-server]__0g__u45._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__17h1ggo._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1jyeu61._.js +1 -1
- package/.next/server/chunks/ssr/_0-i6wdi._.js +3 -0
- package/.next/server/chunks/ssr/{_1k0efi3._.js → _00g5sq-._.js} +2 -2
- package/.next/server/chunks/ssr/{_0ncuqct._.js → _03akcjz._.js} +2 -2
- package/.next/server/chunks/ssr/{_0l1-xc6._.js → _06xy39t._.js} +2 -2
- package/.next/server/chunks/ssr/_088vzgn._.js +3 -0
- package/.next/server/chunks/ssr/_0fo4552._.js +7 -7
- package/.next/server/chunks/ssr/_0r0g9ki._.js +1 -1
- package/.next/server/chunks/ssr/{_1dqaksc._.js → _0sefgiu._.js} +2 -2
- package/.next/server/chunks/ssr/_0v9r8g2._.js +3 -0
- package/.next/server/chunks/ssr/_0x8ophf._.js +1 -1
- package/.next/server/chunks/ssr/{_0w8r7o7._.js → _1-41lck._.js} +2 -2
- package/.next/server/chunks/ssr/{_11pnnvd._.js → _113ukfo._.js} +3 -3
- package/.next/server/chunks/ssr/_12p8f9_._.js +3 -0
- package/.next/server/chunks/ssr/{_10fwcz_._.js → _14dfh7a._.js} +2 -2
- package/.next/server/chunks/ssr/{_1f6s34p._.js → _1_gwau0._.js} +2 -2
- package/.next/server/chunks/ssr/{_0wupyvd._.js → _1hn3szq._.js} +2 -2
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/{_17ble8k._.js → _1o7a11b._.js} +3 -3
- package/.next/server/chunks/ssr/{_0y28gl3._.js → _1swhm5m._.js} +3 -3
- package/.next/server/chunks/ssr/_1uij_rj._.js +1 -1
- package/.next/server/chunks/ssr/_1umbr78._.js +1 -1
- package/.next/server/chunks/ssr/_1w9w1ok._.js +1 -1
- package/.next/server/chunks/ssr/_1wac78_._.js +3 -0
- package/.next/server/chunks/ssr/{_1z586yw._.js → _20ywznt._.js} +2 -2
- package/.next/server/chunks/ssr/features_0796o8r._.js +1 -1
- package/.next/server/chunks/ssr/{features_bot_1k25jdg._.js → features_bot_0j4h9qu._.js} +2 -2
- package/.next/server/chunks/ssr/features_bot_1knyan7._.js +3 -0
- package/.next/server/chunks/ssr/{features_config_11dpa7r._.js → features_config_1xrlh3l._.js} +3 -3
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
- package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
- package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
- package/.next/server/chunks/ssr/features_workspace_workspace_ts_1wc7_u_._.js +4 -4
- package/.next/server/chunks/ssr/{node_modules_1r5o-bo._.js → node_modules_00kqq8n._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0u24mg0._.js → node_modules_04o9dd2._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0mark4f._.js → node_modules_05jatne._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0bas34k._.js → node_modules_06rkzq5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0y5uubt._.js → node_modules_07w6r9n._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ka8te1._.js → node_modules_08ld3lm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0n1js5k._.js → node_modules_0ft86sp._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_156m1qh._.js → node_modules_0g0lr19._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0bbwe-u._.js → node_modules_0kg-vd-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0x_2io2._.js → node_modules_0nl9i29._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_18yn_bs._.js → node_modules_0p0xf5f._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0-8r9yw._.js → node_modules_0pyepmf._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1dzye0n._.js → node_modules_0vg-4fo._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1xua-g1._.js → node_modules_0y5upun._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1o9n7_n._.js → node_modules_13seln7._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ozyial._.js → node_modules_15vsfpv._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0sdjzae._.js → node_modules_17azpeb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1zkzksd._.js → node_modules_1_il5l7._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0-ew8f8._.js → node_modules_1aeg65a._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0etz1i0._.js → node_modules_1d73q89._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ld7p-1._.js → node_modules_1iq8zjs._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_138kcrz._.js → node_modules_1mcsva4._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0uibk9z._.js → node_modules_1mhg5br._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1tj7_9z._.js → node_modules_1mqisle._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_02uwbwp._.js → node_modules_1va4lz9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_097cl9f._.js → node_modules_207ay1p._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_133hjui._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0hefprb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1b3vwd3._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1uuvrfp._.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 +61 -61
- package/.next/static/chunks/04toe_3nqfjqt.js +1 -0
- package/.next/static/chunks/{245_cp14iz637.js → 0780wmy0_rva8.js} +1 -1
- package/.next/static/chunks/{314szf8yer-3n.js → 09opsnra7k4k0.js} +2 -2
- package/.next/static/chunks/{42m371fn687r5.js → 0if7xqoj3ysfj.js} +1 -1
- package/.next/static/chunks/{0609ejkwuy4sf.js → 1-q6so9vze75d.js} +2 -2
- package/.next/static/chunks/{23tx-2paw9qa6.js → 106jbz6qd0c5l.js} +1 -1
- package/.next/static/chunks/19wkcgzetkh6-.js +1 -0
- package/.next/static/chunks/{39miwvg4k-b2d.js → 1_me_-lnpwdfd.js} +1 -1
- package/.next/static/chunks/{2oa4gpkzjtpni.js → 1mkw_05uc8_ft.js} +1 -1
- package/.next/static/chunks/1njjf8bfkg4_v.js +1 -0
- package/.next/static/chunks/{1ub9obhgfm4jl.js → 25ciqm-ee14nf.js} +1 -1
- package/.next/static/chunks/{2xjr5b-yk_h3o.js → 29laj9_xhx0d1.js} +1 -1
- package/.next/static/chunks/{2jbjyazqfqyoh.js → 2b306ek_blfp1.js} +1 -1
- package/.next/static/chunks/2mpqmpf8wcst1.js +15 -0
- package/.next/static/chunks/{3ro66d9dc70bc.js → 2rpyc6mevfhu6.js} +1 -1
- package/.next/static/chunks/{0cl_fgkphk1oz.js → 2wj77vx62ng3n.js} +1 -1
- package/.next/static/chunks/{3j-l8un0d77v7.js → 2y2v3bk65fdle.js} +3 -3
- package/.next/static/chunks/{3vwjs5kq11417.js → 32oho7re_n3dq.js} +1 -1
- package/.next/static/chunks/388l-zszwa_jf.js +1 -0
- package/.next/static/chunks/{0q4ws7qd21chx.js → 3_s5svfgu9kl_.js} +3 -3
- package/.next/static/chunks/3bwrvpjk95_x4.js +1 -0
- package/.next/static/chunks/{07vcuxousbmy1.js → 3suz18umxycuk.js} +1 -1
- package/.next/static/chunks/{0unonxbajyknw.js → 44n-w1bs83ejz.js} +1 -1
- package/README.md +12 -12
- package/guide/bots.md +48 -8
- package/guide/calls.md +13 -12
- package/guide/setup.md +4 -2
- package/package.json +1 -1
- package/public/sounds/NOTICE +3 -0
- package/public/sounds/opening-land.ogg +0 -0
- package/public/sounds/opening-rise.ogg +0 -0
- package/public/sounds/opening-step-1.ogg +0 -0
- package/public/sounds/opening-step-2.ogg +0 -0
- package/public/sounds/opening-step-3.ogg +0 -0
- package/skills/README.md +3 -0
- package/skills/artifact/SKILL.md +6 -5
- package/skills/artifact/references/book.md +23 -8
- package/skills/artifact/references/deck.md +4 -2
- package/skills/artifact/references/document.md +9 -0
- package/skills/artifact/references/sheet.md +113 -0
- package/skills/artifact/runtime/book/book.css +75 -0
- package/skills/artifact/runtime/book/book.html +6 -3
- package/skills/artifact/runtime/book/book.js +21 -0
- package/skills/artifact/runtime/canvas/canvas.css +1 -1
- package/skills/artifact/runtime/canvas/canvas.js +11 -1
- package/skills/artifact/runtime/deck/deck.css +164 -1
- package/skills/artifact/runtime/deck/deck.js +76 -1
- package/skills/artifact/runtime/document/docx.js +631 -0
- package/skills/artifact/runtime/document/markdown.mjs +58 -2
- package/skills/artifact/runtime/document/quick.css +66 -0
- package/skills/artifact/runtime/document/quick.html +1 -0
- package/skills/artifact/runtime/document/quick.js +154 -0
- package/skills/artifact/runtime/document/word.mjs +65 -0
- package/skills/artifact/runtime/sheet/format.mjs +392 -0
- package/skills/artifact/runtime/sheet/formula.mjs +755 -0
- package/skills/artifact/runtime/sheet/sheet.css +499 -0
- package/skills/artifact/runtime/sheet/sheet.html +102 -0
- package/skills/artifact/runtime/sheet/sheet.js +1361 -0
- package/skills/artifact/runtime/sheet/xlsx.mjs +320 -0
- package/skills/artifact/runtime/shell/head.html +1 -1
- package/skills/artifact/runtime/shell/shell.css +3 -0
- package/skills/artifact/runtime/shell/wear.mjs +47 -1
- package/skills/artifact/runtime/vendor/fflate.LICENSE.md +23 -0
- package/skills/artifact/runtime/vendor/fflate.mjs +2710 -0
- package/skills/artifact/scripts/book.mjs +160 -11
- package/skills/artifact/scripts/chart.mjs +229 -11
- package/skills/artifact/scripts/document.mjs +29 -2
- package/skills/artifact/scripts/spreadsheet.mjs +1165 -0
- package/skills/data-report/SKILL.md +8 -1
- package/.next/server/chunks/[root-of-the-server]__0aijj66._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0tvoct-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__118qjk_._.js +0 -7
- package/.next/server/chunks/[root-of-the-server]__1b8tp42._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1gzcbda._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1qcn1ti._.js +0 -7
- package/.next/server/chunks/_0xx3ryc._.js +0 -7
- package/.next/server/chunks/ssr/[root-of-the-server]__1y5_1cv._.js +0 -3
- package/.next/server/chunks/ssr/_0-ou1b0._.js +0 -3
- package/.next/server/chunks/ssr/_1g48r6t._.js +0 -3
- package/.next/server/chunks/ssr/_1u5vsy-._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +0 -3
- package/.next/server/chunks/ssr/lib_utils_ts_0_f1xvm._.js +0 -3
- package/.next/static/chunks/00d54fcfm-lko.js +0 -1
- package/.next/static/chunks/0gjlsu6vrfzod.js +0 -1
- package/.next/static/chunks/17yqt1p_svv13.js +0 -1
- package/.next/static/chunks/203pbwecfs3tm.js +0 -1
- package/.next/static/chunks/3ghvoe_mlljzs.js +0 -15
- package/.next/static/chunks/3gn7dubb4-pwy.js +0 -1
- /package/.next/static/{RtLRT9EEaGn-OqwpMFdYg → SNCDmWKeIrXB6yqnwzClS}/_buildManifest.js +0 -0
- /package/.next/static/{RtLRT9EEaGn-OqwpMFdYg → SNCDmWKeIrXB6yqnwzClS}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{RtLRT9EEaGn-OqwpMFdYg → SNCDmWKeIrXB6yqnwzClS}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,463415,959724,978411,e=>{"use strict";var t=e.i(843476);e.s([],261027),e.i(261027);var n=e.i(271645),o=e.i(733332);let r=n.createContext(void 0);function a(e){let t=n.useContext(r);if(void 0===t&&!e)throw Error((0,o.default)(33));return t}let i=n.createContext(void 0);function s(e){let t=n.useContext(i);if(void 0===t&&!e)throw Error((0,o.default)(36));return t}var l=e.i(552245),u=e.i(879938);let d=n.forwardRef(function(e,t){let{render:n,className:o,style:r,...i}=e,{store:d}=s(),{arrowRef:c,side:p,align:f,arrowUncentered:g,arrowStyles:m}=a(),v=d.useState("open");return(0,l.useRenderElement)("div",e,{ref:[c,t],stateAttributesMapping:u.popupStateMapping,state:{open:v,side:p,align:f,uncentered:g},props:{style:m,"aria-hidden":!0,...i}})}),c=n.createContext(void 0);function p(e=!0){let t=n.useContext(c);if(void 0===t&&!e)throw Error((0,o.default)(25));return t}var f=e.i(56434);let g=n.forwardRef(function(e,t){let{render:n,className:o,style:r,...a}=e,{store:i}=s(),d=i.useState("open"),c=i.useState("mounted"),g=i.useState("transitionStatus"),m=i.useState("lastOpenChangeReason"),v=p();return(0,l.useRenderElement)("div",e,{ref:v?.backdropRef?[t,v.backdropRef]:t,state:{open:d,transitionStatus:g},stateAttributesMapping:u.popupTransitionStateMapping,props:[{role:"presentation",hidden:!c,style:{pointerEvents:m===f.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},a]})});var m=e.i(951437),v=e.i(956789);let h=n.createContext(void 0);var b=e.i(828918),S=e.i(540886),x=e.i(176782),y=e.i(328744),R=e.i(64350);function E(e){let{closeOnClick:t,highlighted:o,id:r,nodeId:a,store:i,typingRef:s,itemRef:l,itemMetadata:u}=e,{events:d}=i.useState("floatingTreeRoot"),c=i.useState("open"),g=p(!0),m=void 0!==g;return n.useMemo(()=>({id:r,role:"menuitem",tabIndex:c&&o?0:-1,onKeyDown(e){" "===e.key&&s?.current&&e.preventDefault()},onMouseMove(e){a&&d.emit("itemhover",{nodeId:a,target:e.currentTarget})},onClick(e){t&&d.emit("close",{domEvent:e,reason:f.REASONS.itemPress})},onMouseUp(e){if(g){let t=g.initialCursorPointRef.current;if(g.initialCursorPointRef.current=null,m&&t&&1>=Math.abs(e.clientX-t.x)&&1>=Math.abs(e.clientY-t.y)||m&&!y.platform.os.mac&&2===e.button)return}l.current&&i.context.allowMouseUpTriggerRef.current&&(!m||2===e.button)&&"regular-item"===u.type&&(0,R.dispatchClickWithModifiers)(l.current,e,{detail:1})}}),[t,o,r,d,a,c,i,s,l,g,m,u])}let I={type:"regular-item"};function k(e){let{closeOnClick:t,disabled:o,highlighted:r,id:a,store:i,typingRef:s=i.context.typingRef,nativeButton:l,itemMetadata:u,nodeId:d}=e,c=n.useRef(null),{getButtonProps:p,buttonRef:f}=(0,S.useButton)({disabled:o,focusableWhenDisabled:!0,native:l,composite:!0}),g=E({closeOnClick:t,highlighted:r,id:a,nodeId:d,store:i,typingRef:s,itemRef:c,itemMetadata:u}),m=n.useCallback(e=>(0,x.mergeProps)(g,{onMouseEnter(){"submenu-trigger"===u.type&&u.setActive()}},e,p),[g,p,u]),v=(0,b.useMergedRefs)(c,f);return n.useMemo(()=>({getItemProps:m,itemRef:v}),[m,v])}var O=e.i(673553),C=e.i(788015);let T={checked:e=>e?{"data-checked":""}:{"data-unchecked":""},...e.i(474354).transitionStatusMapping};var w=e.i(675606);let M=n.forwardRef(function(e,o){let{render:r,className:i,id:u,label:d,nativeButton:c=!1,disabled:p=!1,closeOnClick:g=!1,checked:b,defaultChecked:S,onCheckedChange:x,style:y,...R}=e,E=(0,O.useCompositeListItem)({guess:!0,label:d}),M=a(!0),P=(0,C.useBaseUiId)(u),{store:A}=s(),N=A.useState("disabled"),D=p||N,F=A.useState("isActive",E.index),L=A.useState("itemProps"),[j,H]=(0,m.useControlled)({controlled:b,default:S??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:U,itemRef:B}=k({closeOnClick:g,disabled:D,highlighted:F,id:P,store:A,nativeButton:c,nodeId:M?.context.nodeId,itemMetadata:I}),_=n.useMemo(()=>({disabled:D,highlighted:F,checked:j}),[D,F,j]),Y=(0,l.useRenderElement)("div",e,{state:_,stateAttributesMapping:T,props:[L,{role:"menuitemcheckbox","aria-checked":j,onClick:function(e){let t=(0,w.createChangeEventDetails)(f.REASONS.itemPress,e.nativeEvent,void 0,{preventUnmountOnClose:v.NOOP});x?.(!j,t),t.isCanceled||H(e=>!e)}},R,U],ref:[B,o,E.ref]});return(0,t.jsx)(h.Provider,{value:_,children:Y})});var P=e.i(223910),A=e.i(137584);let N=n.forwardRef(function(e,t){let{render:r,className:a,style:i,keepMounted:s=!1,...u}=e,d=function(){let e=n.useContext(h);if(void 0===e)throw Error((0,o.default)(30));return e}(),c=n.useRef(null),{transitionStatus:p,mounted:f,setMounted:g}=(0,P.useTransitionStatus)(d.checked);(0,A.useOpenChangeComplete)({batch:!0,enabled:!d.checked,open:d.checked,ref:c,onComplete(){d.checked||g(!1)}});let m={checked:d.checked,disabled:d.disabled,highlighted:d.highlighted,transitionStatus:p};return(0,l.useRenderElement)("span",e,{state:m,ref:[t,c],stateAttributesMapping:T,props:{"aria-hidden":!0,...u},enabled:s||f})}),D=n.createContext(void 0),F=n.forwardRef(function(e,o){let{render:r,className:a,style:i,...s}=e,[u,d]=n.useState(void 0),c=(0,l.useRenderElement)("div",e,{ref:o,props:{role:"group","aria-labelledby":u,...s}});return(0,t.jsx)(D.Provider,{value:d,children:c})});var L=e.i(146376);let j=n.forwardRef(function(e,t){let{render:r,className:a,style:i,id:s,...u}=e,d=(0,C.useBaseUiId)(s),c=function(){let e=n.useContext(D);if(void 0===e)throw Error((0,o.default)(31));return e}();return(0,L.useIsoLayoutEffect)(()=>(c(d),()=>{c(e=>e===d?void 0:e)}),[c,d]),(0,l.useRenderElement)("div",e,{ref:t,props:{id:d,"aria-hidden":!0,...u}})}),H=n.forwardRef(function(e,t){let{render:n,className:o,id:r,label:i,nativeButton:u=!1,disabled:d=!1,closeOnClick:c=!0,style:p,...f}=e,g=(0,O.useCompositeListItem)({guess:!0,label:i}),m=a(!0),v=(0,C.useBaseUiId)(r),{store:h}=s(),b=h.useState("disabled"),S=d||b,x=h.useState("isActive",g.index),y=h.useState("itemProps"),{getItemProps:R,itemRef:E}=k({closeOnClick:c,disabled:S,highlighted:x,id:v,store:h,nativeButton:u,nodeId:m?.context.nodeId,itemMetadata:I});return(0,l.useRenderElement)("div",e,{state:{disabled:S,highlighted:x},props:[y,f,R],ref:[E,t,g.ref]})}),U=n.forwardRef(function(e,t){let{render:o,className:r,id:i,label:u,closeOnClick:d=!1,style:c,...p}=e,f=n.useRef(null),g=(0,O.useCompositeListItem)({guess:!0,label:u}),m=a(!0),v=m?.context.nodeId,h=(0,C.useBaseUiId)(i),{store:b}=s(),y=b.useState("isActive",g.index),R=b.useState("itemProps"),k=b.context.typingRef,{getButtonProps:T,buttonRef:w}=(0,S.useButton)({native:!1,composite:!0}),M=E({closeOnClick:d,highlighted:y,id:h,nodeId:v,store:b,typingRef:k,itemRef:f,itemMetadata:I});return(0,l.useRenderElement)("a",e,{state:{highlighted:y},props:[R,p,function(e){return(0,x.mergeProps)(M,e,T)}],ref:[f,w,t,g.ref]})});var B=e.i(61487),_=e.i(431157),Y=e.i(96533),z=e.i(673327),G=e.i(253984);let K=n.forwardRef(function(e,o){let{render:r,className:i,style:d,finalFocus:c,...p}=e,{store:g}=s(),{side:m,align:v}=a(),h=null!=(0,Y.useToolbarRootContext)(!0),b=g.useState("open"),S=g.useState("transitionStatus"),x=g.useState("popupProps"),y=g.useState("mounted"),R=g.useState("instantType"),E=g.useState("activeTriggerElement"),I=g.useState("parent"),k=g.useState("lastOpenChangeReason"),O=g.useState("rootId"),C=g.useState("floatingRootContext"),T=g.useState("floatingTreeRoot"),M=g.useState("closeDelay"),P=g.useState("hoverEnabled"),N=g.useState("disabled"),D=g.useState("openMethod"),F="context-menu"===I.type;(0,A.useOpenChangeComplete)({open:b,ref:g.context.popupRef,onComplete(){b&&g.context.onOpenChangeComplete?.(!0)}}),n.useEffect(()=>{function e(e){g.setOpen(!1,(0,w.createChangeEventDetails)(e.reason,e.domEvent))}return T.events.on("close",e),()=>{T.events.off("close",e)}},[T.events,g]),(0,_.useHoverFloatingInteraction)(C,{enabled:P&&!N&&!F&&"menubar"!==I.type,closeDelay:M});let L=g.useStateSetter("popupElement"),j={transitionStatus:S,side:m,align:v,open:b,nested:"menu"===I.type,instant:R},H=(0,l.useRenderElement)("div",e,{state:j,ref:[o,g.context.popupRef,L],stateAttributesMapping:u.popupTransitionStateMapping,props:[x,{onKeyDown(e){h&&z.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()}},(0,G.getDisabledMountTransitionStyles)(S),p,{"data-rootownerid":O}]}),U=void 0===I.type||F;return(E||"menubar"===I.type&&k!==f.REASONS.outsidePress)&&(U=!0),(0,t.jsx)(B.FloatingFocusManager,{context:C,openInteractionType:D,modal:F,disabled:!y,returnFocus:void 0===c?U:c,initialFocus:"menu"!==I.type,restoreFocus:!0,externalTree:"menubar"!==I.type?T:void 0,previousFocusableElement:E,nextFocusableElement:void 0===I.type?g.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:void 0===I.type?g.context.beforeContentFocusGuardRef:void 0,children:H})});var V=e.i(726674);let W=n.createContext(void 0),q=n.forwardRef(function(e,n){let{keepMounted:o=!1,...r}=e,{store:a,parent:i}=s();if(!(a.useState("mounted")||o))return null;let l="menu"===i.type||"menubar"===i.type?"group":void 0;return(0,t.jsx)(W.Provider,{value:o,children:(0,t.jsx)(V.FloatingPortal,{ref:n,...r,portalOwnerRole:l})})});var J=e.i(144394),$=e.i(439957),X=e.i(46420),Q=e.i(923706),Z=e.i(53687),ee=e.i(426),et=e.i(638396),en=e.i(222640),eo=e.i(789579),er=e.i(33383);let ea=n.forwardRef(function(e,a){let{anchor:i,positionMethod:l="absolute",className:u,render:d,side:c,align:g,sideOffset:m=0,alignOffset:v=0,collisionBoundary:h="clipping-ancestors",collisionPadding:b=5,arrowPadding:S=5,sticky:x=!1,disableAnchorTracking:y=!1,collisionAvoidance:R=et.DROPDOWN_COLLISION_AVOIDANCE,style:E,...I}=e,{store:k}=s(),O=function(){let e=n.useContext(W);if(void 0===e)throw Error((0,o.default)(32));return e}(),C=p(!0),T=k.useState("parent"),M=k.useState("floatingRootContext"),P=k.useState("floatingTreeRoot"),A=k.useState("mounted"),N=k.useState("open"),D=k.useState("modal"),F=k.useState("openMethod"),j=k.useState("activeTriggerElement"),H=k.useState("transitionStatus"),U=k.useState("positionerElement"),B=k.useState("instantType"),_=k.useState("adaptiveOrigin"),Y=k.useState("lastOpenChangeReason"),z=k.useState("floatingNodeId"),G=k.useState("floatingParentNodeId"),K=M.useState("domReferenceElement"),V=n.useRef(null),q=(0,en.useAnimationsFinished)(U),ea=i,ei=m,es=v,el=g,eu=R;"context-menu"===T.type&&(ea=i??T.context?.anchor,el=el??"start",c||"center"===el||(es=e.alignOffset??2,ei=e.sideOffset??-5));let ed=c,ec=el;"menu"===T.type?(ed=ed??"inline-end",ec=ec??"start",eu=e.collisionAvoidance??et.POPUP_COLLISION_AVOIDANCE):"menubar"===T.type&&(ed=ed??("vertical"===T.context.orientation?"inline-end":"bottom"),ec=ec??"start");let ep="context-menu"===T.type,ef=(0,Q.useAnchorPositioning)({anchor:ea,floatingRootContext:M,positionMethod:C?"fixed":l,mounted:A,side:ed,sideOffset:ei,align:ec,alignOffset:es,arrowPadding:ep?0:S,collisionBoundary:h,collisionPadding:b,sticky:x,nodeId:z,keepMounted:O,disableAnchorTracking:y,collisionAvoidance:eu,shift:ep?{crossAxis:!("side"in eu&&"flip"===eu.side),rootBoundary:"layoutViewport"}:void 0,externalTree:P,adaptiveOrigin:_});n.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===z&&k.set("hoverEnabled",!1),e.nodeId!==z&&e.parentNodeId===k.select("floatingParentNodeId")&&k.setOpen(!1,(0,w.createChangeEventDetails)(f.REASONS.siblingOpen)))}return P.events.on("menuopenchange",e),()=>{P.events.off("menuopenchange",e)}},[k,P.events,z]),n.useEffect(()=>{if(null!=k.select("floatingParentNodeId"))return P.events.on("menuopenchange",e),()=>{P.events.off("menuopenchange",e)};function e(e){if(e.open||e.nodeId!==k.select("floatingParentNodeId"))return;let t=e.reason??f.REASONS.siblingOpen;k.setOpen(!1,(0,w.createChangeEventDetails)(t))}},[P.events,k]);let eg=(0,$.useTimeout)();n.useEffect(()=>{N||eg.clear()},[N,eg]),n.useEffect(()=>{function e(e){if(N&&e.nodeId===k.select("floatingParentNodeId"))if(e.target&&j&&j!==e.target){let e=k.select("closeDelay");e>0?eg.isStarted()||eg.start(e,()=>{k.setOpen(!1,(0,w.createChangeEventDetails)(f.REASONS.siblingOpen))}):k.setOpen(!1,(0,w.createChangeEventDetails)(f.REASONS.siblingOpen))}else eg.clear()}return P.events.on("itemhover",e),()=>{P.events.off("itemhover",e)}},[P.events,N,j,k,eg]),n.useEffect(()=>{let e={open:N,nodeId:z,parentNodeId:G,reason:k.select("lastOpenChangeReason")};P.events.emit("menuopenchange",e)},[P.events,N,k,z,G]),(0,L.useIsoLayoutEffect)(()=>{let e=V.current;if(K&&(V.current=K),e&&K&&K!==e){k.set("instantType",void 0);let e=new AbortController;return q(()=>{k.set("instantType","trigger-change")},e.signal),()=>{e.abort()}}},[K,q,k]);let em={open:N,side:ef.side,align:ef.align,anchorHidden:ef.anchorHidden,nested:"menu"===T.type,instant:B},ev="menubar"===T.type&&T.context.modal,eh=D&&Y!==f.REASONS.triggerHover;(0,er.useAnchoredPopupScrollLock)(N&&(ev||eh),"touch"===F,U,j);let eb=(0,eo.usePositioner)(e,em,{styles:ef.positionerStyles,transitionStatus:H,props:I,refs:[a,k.useStateSetter("positionerElement")],hidden:!A,inert:!N}),eS=A&&"menu"!==T.type&&("menubar"!==T.type&&D&&Y!==f.REASONS.triggerHover||"menubar"===T.type&&T.context.modal),ex=null;return"menubar"===T.type?ex=T.context.contentElement:void 0===T.type&&(ex=j),(0,t.jsxs)(r.Provider,{value:ef,children:[eS&&(0,t.jsx)(ee.InternalBackdrop,{ref:"context-menu"===T.type||"nested-context-menu"===T.type?T.context.internalBackdropRef:null,inert:(0,J.inertValue)(!N),cutout:ex}),(0,t.jsx)(X.FloatingNode,{id:z,children:(0,t.jsx)(Z.CompositeList,{elementsRef:k.context.itemDomElements,labelsRef:k.context.itemLabels,children:eb})})]})});var ei=e.i(667865);let es=n.createContext(void 0),el=n.memo(n.forwardRef(function(e,o){let{render:r,className:a,value:i,defaultValue:s,onValueChange:u,disabled:d=!1,style:c,"aria-labelledby":p,...f}=e,[g,v]=n.useState(void 0),[h,b]=(0,m.useControlled)({controlled:i,default:s,name:"MenuRadioGroup"}),S=(0,ei.useStableCallback)((e,t)=>{u?.(e,t),t.isCanceled||b(e)}),x=(0,l.useRenderElement)("div",e,{state:{disabled:d},ref:o,props:{role:"group","aria-labelledby":p??g,"aria-disabled":d||void 0,...f}}),y=n.useMemo(()=>({value:h,setValue:S,disabled:d}),[h,S,d]);return(0,t.jsx)(D.Provider,{value:v,children:(0,t.jsx)(es.Provider,{value:y,children:x})})})),eu=n.createContext(void 0),ed=n.forwardRef(function(e,r){let{render:i,className:u,id:d,label:c,nativeButton:p=!1,disabled:g=!1,closeOnClick:m=!1,value:h,style:b,...S}=e,x=(0,O.useCompositeListItem)({guess:!0,label:c}),y=a(!0),R=(0,C.useBaseUiId)(d),{store:E}=s(),M=E.useState("isActive",x.index),P=E.useState("itemProps"),{value:A,setValue:N,disabled:D}=function(){let e=n.useContext(es);if(void 0===e)throw Error((0,o.default)(34));return e}(),F=E.useState("disabled"),L=g||D||F,j=A===h,{getItemProps:H,itemRef:U}=k({closeOnClick:m,disabled:L,highlighted:M,id:R,store:E,nativeButton:p,nodeId:y?.context.nodeId,itemMetadata:I}),B=n.useMemo(()=>({disabled:L,highlighted:M,checked:j}),[L,M,j]),_=(0,l.useRenderElement)("div",e,{state:B,stateAttributesMapping:T,props:[P,{role:"menuitemradio","aria-checked":j,onClick:function(e){N(h,(0,w.createChangeEventDetails)(f.REASONS.itemPress,e.nativeEvent,void 0,{preventUnmountOnClose:v.NOOP}))}},S,H],ref:[U,r,x.ref]});return(0,t.jsx)(eu.Provider,{value:B,children:_})}),ec=n.forwardRef(function(e,t){let{render:r,className:a,style:i,keepMounted:s=!1,...u}=e,d=function(){let e=n.useContext(eu);if(void 0===e)throw Error((0,o.default)(35));return e}(),c=n.useRef(null),{transitionStatus:p,mounted:f,setMounted:g}=(0,P.useTransitionStatus)(d.checked);(0,A.useOpenChangeComplete)({batch:!0,enabled:!d.checked,open:d.checked,ref:c,onComplete(){d.checked||g(!1)}});let m={checked:d.checked,disabled:d.disabled,highlighted:d.highlighted,transitionStatus:p};return(0,l.useRenderElement)("span",e,{state:m,stateAttributesMapping:T,ref:[t,c],props:{"aria-hidden":!0,...u},enabled:s||f})});var ep=e.i(883977),ef=e.i(388940),eg=e.i(896499),em=e.i(17989),ev=e.i(260891),eh=e.i(736760),eb=e.i(350527);let eS=n.createContext(null);function ex(e){let t=n.useContext(eS);if(null===t&&!e)throw Error((0,o.default)(5));return t}var ey=e.i(872855),eR=e.i(32199),eE=e.i(301252),eI=e.i(379248),ek=e.i(18478),eO=e.i(116786),eC=e.i(990627);let eT={...eO.popupStoreSelectors,disabled:e=>"menubar"===e.parent.type&&e.parent.context.disabled||e.disabled,modal:e=>(void 0===e.parent.type||"context-menu"===e.parent.type)&&(e.modal??!0),openMethod:e=>e.openMethod,allowMouseEnter:e=>e.allowMouseEnter,highlightItemOnHover:e=>e.highlightItemOnHover,parent:e=>e.parent,rootId:e=>"menu"===e.parent.type?e.parent.store.select("rootId"):void 0!==e.parent.type?e.parent.context.rootId:e.rootId,activeIndex:e=>e.activeIndex,isActive:(e,t)=>e.activeIndex===t,hoverEnabled:e=>e.hoverEnabled,instantType:e=>e.instantType,lastOpenChangeReason:e=>e.openChangeReason,floatingTreeRoot:e=>"menu"===e.parent.type?e.parent.store.select("floatingTreeRoot"):e.floatingTreeRoot,floatingNodeId:e=>e.floatingNodeId,floatingParentNodeId:e=>e.floatingParentNodeId,itemProps:e=>e.itemProps,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin,keyboardEventRelay:e=>e.keyboardEventRelay?e.keyboardEventRelay:"menu"===e.parent.type?e.parent.store.select("keyboardEventRelay"):void 0};class ew extends eE.ReactStore{constructor(e,t,n=!1){const o=new eC.PopupTriggerMap;super(eP(o,t,n,e),eM(o),eT),this.unsubscribeParentListener=this.observe("parent",e=>{if(this.unsubscribeParentListener?.(),"menu"===e.type){let t=e.store.select("rootId"),n=e.store.select("floatingTreeRoot"),o=e.store.select("keyboardEventRelay");this.unsubscribeParentListener=e.store.subscribe(()=>{let r=e.store.select("rootId"),a=e.store.select("floatingTreeRoot"),i=e.store.select("keyboardEventRelay");(t!==r||n!==a||o!==i)&&(t=r,n=a,o=i,this.notifyAll())}),this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef;return}void 0!==e.type&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:t})}unsubscribeParentListener=null}function eM(e){return{positionerRef:n.createRef(),popupRef:n.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:n.createRef(),beforeContentFocusGuardRef:n.createRef(),onOpenChangeComplete:void 0,triggerElements:e}}function eP(e,t,n=!1,o){return{...(0,eO.createInitialPopupStoreState)(e,t,n),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new eI.FloatingTreeStore,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:v.EMPTY_OBJECT,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0,...o}}var eA=e.i(264111);let eN=n.createContext(void 0);function eD(){return n.useContext(eN)}let eF=(0,eg.fastComponent)(function(e){var o,r,a;let l,{children:u,open:d,onOpenChange:c,onOpenChangeComplete:g,defaultOpen:m=!1,disabled:h=!1,modal:b,loopFocus:S=!0,orientation:y="vertical",actionsRef:R,closeParentOnEsc:E=!1,handle:I,triggerId:k,defaultTriggerId:O=null,highlightItemOnHover:C=!0}=e,T=p(!0),M=s(!0),P=ex(!0),A=eD(),N=n.useMemo(()=>A&&M?{type:"menu",store:M.store}:P?{type:"menubar",context:P}:T&&!M?{type:"context-menu",context:T}:{type:void 0},[T,M,P,A]),D=(0,ep.useId)(),F=(0,ep.useId)(),j=(0,X.useFloatingParentNodeId)(),H="menu"===N.type?N.store:void 0,U=(d??m)&&H?.state.transitionStatus==="starting",B=(0,ef.useRefWithInit)(()=>U?H?.state.instantType:void 0).current,_=(o={open:m,openProp:d,activeTriggerId:O,triggerIdProp:k,parent:N,disabled:h,highlightItemOnHover:C,modal:void 0===N.type?b:void 0,rootId:D,instantType:B},r=F,a=null!=j,(0,ef.useRefWithInit)(()=>new ew(o,r,a)).current);_.useControlledProp("openProp",d),_.useControlledProp("triggerIdProp",k),_.useContextCallback("onOpenChangeComplete",g);let Y=_.useState("floatingTreeRoot"),z=(0,X.useFloatingNodeId)(Y),G=_.useState("open"),K=_.useState("activeTriggerElement"),V=_.useState("positionerElement"),W=_.useState("hoverEnabled"),q=_.useState("disabled"),J=_.useState("lastOpenChangeReason"),Q=_.useState("parent"),Z=_.useState("activeIndex"),ee=_.useState("payload"),eo=_.useState("floatingParentNodeId"),er=n.useRef(null),ea=n.useRef("context-menu"!==Q.type),es=(0,$.useTimeout)(),el=n.useRef(!0),eu=(0,$.useTimeout)(),ed=null!=eo,{openMethod:ec,triggerProps:eg}=(0,eR.useOpenInteractionType)(G);_.useSyncedValues({disabled:h,highlightItemOnHover:C,modal:void 0===Q.type?b:void 0,openMethod:ec,rootId:D}),(0,eA.useImplicitActiveTrigger)(_);let{forceUnmount:eS,transitionStatus:eE}=(0,eA.useOpenStateTransitions)(G,_,()=>{_.set("allowMouseEnter",!1)},U),eI=(0,en.useAnimationsFinished)(_.context.popupRef);n.useEffect(()=>{if(void 0===B)return;let e=()=>{_.state.instantType===B&&_.set("instantType",void 0)};if(!G)return void e();if(void 0!==eE)return;if(null==_.context.popupRef.current)return void e();let t=new AbortController;return eI(e,t.signal),()=>{t.abort()}},[B,G,eE,eI,_]),(0,L.useIsoLayoutEffect)(()=>{T&&!M?_.update({parent:{type:"context-menu",context:T},floatingNodeId:z,floatingParentNodeId:j}):M&&_.update({floatingNodeId:z,floatingParentNodeId:j})},[T,M,z,j,_]),n.useEffect(()=>{if(G||(er.current=null),"context-menu"===Q.type){if(!G){es.clear(),ea.current=!1;return}es.start(500,()=>{ea.current=!0})}},[es,G,Q.type]),(0,L.useIsoLayoutEffect)(()=>{G||W||_.set("hoverEnabled",!0)},[G,W,_]);let ek=(0,ei.useStableCallback)((e,t)=>{let n=t.reason;if(!e&&!_.select("open")||G===e&&t.trigger===K&&J===n)return;let o=(0,eA.attachPreventUnmountOnClose)(t);if(e||null!=t.trigger||(t.trigger=K??void 0),c?.(e,t),t.isCanceled)return;_.state.floatingRootContext.dispatchOpenChange(e,t);let r=t.event;if(!1===e&&r?.type==="click"&&"touch"===r.pointerType&&!el.current)return;e&&n===f.REASONS.triggerFocus?(el.current=!1,eu.start(300,()=>{el.current=!0})):(el.current=!0,eu.clear());let a=(n===f.REASONS.triggerPress||n===f.REASONS.itemPress)&&0===r.detail,i=!e&&(n===f.REASONS.escapeKey||null==n);er.current=t.event;let s=(0,eA.createPopupOpenState)(_.state,e,t.trigger,o());s.openChangeReason=n,"menubar"===Q.type&&(n===f.REASONS.triggerFocus||n===f.REASONS.focusOut||n===f.REASONS.triggerHover||n===f.REASONS.listNavigation||n===f.REASONS.siblingOpen)?s.instantType="group":a||i?s.instantType=a?"click":"dismiss":s.instantType=void 0,_.update(s)}),eO=(0,eb.useSyncedFloatingRootContext)({popupStore:_,floatingRootContext:_.state.floatingRootContext,floatingId:F,nested:null!=j,onOpenChange:ek}),eC=eO.context.events;(0,L.useIsoLayoutEffect)(()=>{let e=({open:e,eventDetails:t})=>ek(e,t);return eC.on("setOpen",e),()=>{eC?.off("setOpen",e)}},[eC,ek]);let eT=n.useCallback(()=>{_.setOpen(!1,(0,w.createChangeEventDetails)(f.REASONS.imperativeAction))},[_]);n.useImperativeHandle(R,()=>({unmount:eS,close:eT}),[eS,eT]),"context-menu"===Q.type&&(l=Q.context),n.useImperativeHandle(l?.positionerRef,()=>V,[V]),n.useImperativeHandle(l?.actionsRef,()=>({setOpen:ek}),[ek]);let eM=(0,em.useDismiss)(eO,{enabled:!q,bubbles:{escapeKey:E&&"menu"===Q.type},outsidePress:()=>"context-menu"!==Q.type||er.current?.type==="contextmenu"||ea.current,externalTree:ed?Y:void 0}),eP=(0,ey.useDirection)(),eN=n.useCallback(e=>{_.select("activeIndex")!==e&&_.set("activeIndex",e)},[_]),eF=(0,ev.useListNavigation)(eO,{enabled:!q,listRef:_.context.itemDomElements,activeIndex:Z,nested:void 0!==Q.type,loopFocus:S,orientation:y,parentOrientation:"menubar"===Q.type?Q.context.orientation:void 0,rtl:"rtl"===eP,disabledIndices:v.EMPTY_ARRAY,onNavigate:eN,openOnArrowKeyDown:"context-menu"!==Q.type,externalTree:ed?Y:void 0,focusItemOnHover:C}),eL=n.useCallback(e=>{_.context.typingRef.current=e},[_]),ej=(0,eh.useTypeahead)(eO,{enabled:!q,listRef:_.context.itemLabels,elementsRef:_.context.itemDomElements,activeIndex:Z,resetMs:et.TYPEAHEAD_RESET_MS,onMatch:e=>{G&&e!==Z&&_.set("activeIndex",e)},onTyping:eL}),eH=n.useMemo(()=>{let e=(0,x.mergeProps)(ej.reference,eF.reference,eM.reference,{onMouseMove(){_.set("allowMouseEnter",!0)}},eg);return e["aria-haspopup"]="menu",e["aria-expanded"]=G,e},[_,ej.reference,eF.reference,eM.reference,eg,G]),eU=n.useMemo(()=>{let e=(0,x.mergeProps)(eF.trigger,eM.trigger,eg);return e["aria-haspopup"]="menu",e["aria-expanded"]=!1,e},[eF.trigger,eM.trigger,eg]);(0,ef.useRefWithInit)(()=>(_.update({inactiveTriggerProps:eU}),null));let eB=n.useMemo(()=>(0,x.mergeProps)(eA.FOCUSABLE_POPUP_PROPS,{id:F,role:"menu","aria-orientation":"horizontal"===y?"horizontal":void 0,"aria-labelledby":K?.id,onMouseMove(){_.set("allowMouseEnter",!0),"menu"===Q.type&&_.set("hoverEnabled",!1)},onClick(){_.select("hoverEnabled")&&_.set("hoverEnabled",!1)},onKeyDown(e){let t=_.select("keyboardEventRelay");t&&!e.isPropagationStopped()&&t(e)}},ej.floating,eF.floating,eM.floating),[K,F,y,Q.type,_,ej.floating,eF.floating,eM.floating]),e_=eF.item??v.EMPTY_OBJECT;(0,eA.usePopupInteractionProps)(_,{floatingRootContext:eO,activeTriggerProps:eH,inactiveTriggerProps:eU,popupProps:eB,itemProps:e_});let eY=n.useMemo(()=>({store:_,parent:N}),[_,N]),ez=(0,t.jsxs)(i.Provider,{value:eY,children:[I&&(0,t.jsx)(eA.PopupHandleAttachment,{handle:I,store:_}),"function"==typeof u?u({payload:ee}):u]});return void 0===Q.type||"context-menu"===Q.type?(0,t.jsx)(X.FloatingTree,{externalTree:Y,children:ez}):ez});var eL=e.i(108868),ej=e.i(650316),eH=e.i(385689),eU=e.i(413082),eB=e.i(872135),e_=e.i(584446),eY=e.i(264042),ez=e.i(348990),eG=e.i(838452),eK=e.i(229315),eV=e.i(459636),eW=e.i(346570),eq=e.i(152535);let eJ=(0,eg.fastComponentRef)(function(e,r){let a,{render:i,className:d,style:c,disabled:p=!1,nativeButton:g=!0,id:m,openOnHover:h,delay:b=100,closeDelay:y=0,handle:R,payload:E,...I}=e,k=s(!0),O=(0,eV.usePopupHandleStore)(R)??k?.store;if(!O)throw Error((0,o.default)(85));let T=(0,C.useBaseUiId)(m),w=O.useState("isTriggerActive",T),M=O.useState("floatingRootContext"),P=O.useState("isOpenedByTrigger",T),A=O.useState("triggerPopupId",T),N=n.useRef(null),D=(a=ex(!0),n.useMemo(()=>a?{type:"menubar",context:a}:{type:void 0},[a])),F=(0,eG.useCompositeRootContext)(!0),j=(0,X.useFloatingTree)(),H=n.useMemo(()=>j??new eI.FloatingTreeStore,[j]),U=(0,X.useFloatingNodeId)(H),B=(0,X.useFloatingParentNodeId)(),{registerTrigger:_,isMountedByThisTrigger:Y}=(0,eA.useTriggerDataForwarding)(T,N,O,{payload:E,closeDelay:y,parent:D,floatingTreeRoot:H,floatingNodeId:U,floatingParentNodeId:B,keyboardEventRelay:F?.relayKeyboardEvent}),z="menubar"===D.type,G=O.useState("disabled"),K=p||G||z&&D.context.disabled,{getButtonProps:V,buttonRef:W}=(0,S.useButton)({disabled:K,native:g});n.useEffect(()=>{P||void 0!==D.type||(O.context.allowMouseUpTriggerRef.current=!1)},[O,P,D.type]);let q=n.useRef(null),J=(0,$.useTimeout)(),Q=(0,ei.useStableCallback)(e=>{if(!q.current)return;J.clear(),O.context.allowMouseUpTriggerRef.current=!1;let t=e.target;(0,e_.contains)(q.current,t)||(0,e_.contains)(O.select("positionerElement"),t)||t===q.current||null!=t&&function e(t){return(0,eK.isHTMLElement)(t)&&t.hasAttribute("data-rootownerid")?t.getAttribute("data-rootownerid"):(0,eK.isLastTraversableNode)(t)?void 0:e((0,eK.getParentNode)(t))}(t)===O.select("rootId")||(0,eY.isMouseWithinBounds)(e,q.current)||H.events.emit("close",{domEvent:e,reason:f.REASONS.cancelOpen})});n.useEffect(()=>{P&&O.select("lastOpenChangeReason")===f.REASONS.triggerHover&&(0,eL.ownerDocument)(q.current).addEventListener("mouseup",Q,{once:!0})},[P,Q,O]);let Z=z&&D.context.hasSubmenuOpen,ee=h??Z,en=(0,eB.useHoverReferenceInteraction)(M,{enabled:ee&&!K&&(!z||Z&&!Y),handleClose:(0,ej.safePolygon)({blockPointerEvents:!z}),mouseOnly:!0,move:!1,restMs:void 0===D.type?b:void 0,delay:{close:y},triggerElementRef:N,externalTree:H,isActiveTrigger:w,isClosing:()=>"ending"===O.select("transitionStatus")}),eo=function(e,t){let o=(0,$.useTimeout)(),[r,a]=n.useState(!1);return(0,L.useIsoLayoutEffect)(()=>{e&&t===f.REASONS.triggerHover?(a(!0),o.start(et.PATIENT_CLICK_THRESHOLD,()=>{a(!1)})):e||(o.clear(),a(!1))},[e,t,o]),r}(P,O.select("lastOpenChangeReason")),er=(0,eH.useClick)(M,{enabled:!K,event:P&&z?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:void 0===D.type&&eo}),ea=(0,eU.useFocus)(M,{enabled:!K&&Z}),es=function(e){let{enabled:t=!0,mouseDownAction:o,open:r}=e,a=n.useRef(!1);return n.useMemo(()=>t?{onMouseDown:e=>{("open"===o&&!r||"close"===o&&r)&&(a.current=!0,(0,eL.ownerDocument)(e.currentTarget).addEventListener("click",()=>{a.current=!1},{once:!0}))},onClick:e=>{a.current&&(a.current=!1,e.preventBaseUIHandler())}}:v.EMPTY_OBJECT,[t,o,r])}({open:P,enabled:z,mouseDownAction:"open"}),el=n.useMemo(()=>(0,x.mergeProps)(ea.reference,er.reference),[ea.reference,er.reference]),eu=O.useState("triggerProps",Y),{preFocusGuardRef:ed,handlePreFocusGuardFocus:ec,handleFocusTargetFocus:ep}=(0,eW.useTriggerFocusGuards)(O,N),ef={disabled:K,open:P},eg=[q,r,W,_,N],em=[el,en??v.EMPTY_OBJECT,eu,{"aria-haspopup":"menu","aria-controls":A,id:T,onMouseDown:e=>{O.select("open")||(J.start(200,()=>{O.context.allowMouseUpTriggerRef.current=!0}),(0,eL.ownerDocument)(e.currentTarget).addEventListener("mouseup",Q,{once:!0}))}},z?{role:"menuitem"}:{},es,I,V],ev=(0,l.useRenderElement)("button",e,{enabled:!z,stateAttributesMapping:u.pressableTriggerOpenStateMapping,state:ef,ref:eg,props:em});return z?(0,t.jsx)(ez.CompositeItem,{tag:"button",render:i,className:d,style:c,state:ef,refs:eg,props:em,stateAttributesMapping:u.pressableTriggerOpenStateMapping}):P?(0,t.jsxs)(n.Fragment,{children:[(0,t.jsx)(eq.FocusGuard,{ref:ed,onFocus:ec},`${T}-pre-focus-guard`),(0,t.jsx)(n.Fragment,{children:ev},T),(0,t.jsx)(eq.FocusGuard,{ref:O.context.triggerFocusTargetRef,onFocus:ep},`${T}-post-focus-guard`)]}):(0,t.jsx)(n.Fragment,{children:ev},T)});var e$=e.i(818390);let eX=n.forwardRef(function(e,t){let{render:n,className:o,style:r,children:i,...u}=e,{store:d}=s(),{side:c}=a(),p=d.useState("instantType"),{children:f,state:g}=(0,e$.usePopupViewport)({store:d,side:c,children:i}),m={activationDirection:g.activationDirection,transitioning:g.transitioning,instant:p};return(0,l.useRenderElement)("div",e,{state:m,ref:t,props:[u,{children:f}],stateAttributesMapping:e$.popupViewportStateMapping})});var eQ=e.i(652225);let eZ={"aria-expanded":void 0},e0=n.forwardRef(function(e,t){let{render:r,className:i,style:d,label:c,id:p,nativeButton:g=!1,openOnHover:m=!0,delay:h=100,closeDelay:b=0,disabled:S=!1,...x}=e,R=eD();if(!R?.parentMenu)throw Error((0,o.default)(37));let E=(0,O.useCompositeListItem)({guess:!0,label:c}),I=a(),{store:T}=s(),w=(0,C.useBaseUiId)(p),M=T.useState("open"),P=T.useState("floatingRootContext"),A=T.useState("floatingTreeRoot"),N=T.useState("triggerPopupId",w),D=(0,eA.useTriggerRegistration)(w,T),F=(0,ei.useStableCallback)(e=>{D(e),null!==e&&T.select("open")&&null==T.select("activeTriggerId")&&T.update({activeTriggerId:w??null,activeTriggerElement:e,closeDelay:b})}),j=n.useRef(null),H=n.useCallback(e=>{j.current=e,T.set("activeTriggerElement",e)},[T]);(0,L.useIsoLayoutEffect)(()=>(F(j.current),()=>F(null)),[F,w,T]),T.useSyncedValue("closeDelay",b);let U=R.parentMenu,B=T.useState("disabled"),_=U.useState("disabled"),Y=S||B||_,z=U.useState("itemProps"),G=U.useState("isActive",E.index),K=n.useMemo(()=>({type:"submenu-trigger",setActive(){U.select("highlightItemOnHover")&&U.set("activeIndex",E.index)}}),[U,E.index]),{getItemProps:V,itemRef:W}=k({closeOnClick:!1,disabled:Y,highlighted:G,id:w,store:T,typingRef:U.context.typingRef,nativeButton:g,itemMetadata:K,nodeId:I?.context.nodeId}),q=T.useState("hoverEnabled"),J=(0,eB.useHoverReferenceInteraction)(P,{enabled:q&&m&&!Y,handleClose:(0,ej.safePolygon)({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:h,delay:{open:h,close:b},shouldOpen:h>0?()=>U.select("allowMouseEnter"):void 0,triggerElementRef:j,externalTree:A,isClosing:()=>"ending"===T.select("transitionStatus"),guardStaleOpen:!0}),$=(0,eH.useClick)(P,{enabled:!Y,event:"mousedown",toggle:!m,ignoreMouse:m,stickIfOpen:!1}).reference??v.EMPTY_OBJECT,X=T.useState("triggerProps",!0);delete X.id;let Q=T.useState("openMethod"),Z=T.useState("lastOpenChangeReason")===f.REASONS.listNavigation||"keyboard"===Q,ee=M&&Z&&y.platform.screenReader.voiceOver;return(0,l.useRenderElement)("div",e,{state:{disabled:Y,highlighted:G,open:M},stateAttributesMapping:u.triggerOpenStateMapping,props:[$,J,X,z,ee?eZ:void 0,{"aria-controls":N,tabIndex:M||G?0:-1,onBlur(){G&&U.set("activeIndex",null)}},x,V],ref:[t,E.ref,W,F,H]})});var e1=e.i(564170);class e5 extends e1.BasePopupHandle{constructor(){super(function(){let e=new eC.PopupTriggerMap;return Object.assign(new ek.NullStore(Object.freeze(eP(e)),Object.freeze(eM(e)),eT),{setOpen:v.NOOP})}(),"Menu")}open(e){this.openByTrigger(e)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}}e.s(["Arrow",0,d,"Backdrop",0,g,"CheckboxItem",0,M,"CheckboxItemIndicator",0,N,"Group",0,F,"GroupLabel",0,j,"Handle",0,e5,"Item",0,H,"LinkItem",0,U,"Popup",0,K,"Portal",0,q,"Positioner",0,ea,"RadioGroup",0,el,"RadioItem",0,ed,"RadioItemIndicator",0,ec,"Root",0,eF,"Separator",()=>eQ.Separator,"SubmenuRoot",0,function(e){let o=s().store,r=n.useMemo(()=>({parentMenu:o}),[o]);return(0,t.jsx)(eN.Provider,{value:r,children:(0,t.jsx)(eF,{...e})})},"SubmenuTrigger",0,e0,"Trigger",0,eJ,"Viewport",0,eX,"createHandle",0,function(){return new e5}],160948);var e3=e.i(160948),e3=e3;e.i(593698),e.i(986253);var e8=e.i(647163);e.s(["DropdownMenu",0,function({...e}){return(0,t.jsx)(e3.Root,{"data-slot":"dropdown-menu",...e})},"DropdownMenuContent",0,function({align:e="start",alignOffset:n=0,side:o="bottom",sideOffset:r=4,className:a,...i}){return(0,t.jsx)(e3.Portal,{children:(0,t.jsx)(e3.Positioner,{className:"isolate z-50 outline-none",align:e,alignOffset:n,side:o,sideOffset:r,children:(0,t.jsx)(e3.Popup,{"data-slot":"dropdown-menu-content",className:(0,e8.cn)("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",a),...i})})})},"DropdownMenuGroup",0,function({...e}){return(0,t.jsx)(e3.Group,{"data-slot":"dropdown-menu-group",...e})},"DropdownMenuItem",0,function({className:e,inset:n,variant:o="default",...r}){return(0,t.jsx)(e3.Item,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":o,className:(0,e8.cn)("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",e),...r})},"DropdownMenuTrigger",0,function({...e}){return(0,t.jsx)(e3.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}],463415);var e2=e.i(798120),e6=e.i(6799),e4=e.i(95187);let e9=(0,e4.createServerReference)("7f558c4f86fa951056319c4610907aa8f7eda5b981",e4.callServer,void 0,e4.findSourceMapURL,"markSeenAction");e.s(["markSeenAction",0,e9],959724);var e7=e.i(451888),te=e.i(245629),tt=e.i(393080),tn=e.i(283653),to=e.i(553429);let tr=[],ta=!1,ti=new Set;function ts(e,t){let n=e=>({name:e,icon:t?.find(t=>t.name===e)?.icon??null}),o=n(e.bot),r=[],a=new Map,i=new Map,s=new Map;for(let t of e.lines){let e=t.bot?n(t.bot):o,l=t.to?n(t.to):t.parent?i.get(t.parent)??null:null;switch(t.kind){case"user":r.push({id:t.id,bot:t.to?n(t.to):o,to:t.to?n(t.to):null,text:t.text,kind:"user"});break;case"text":r.push({id:t.id,bot:e,to:l,text:t.text,kind:"say"});break;case"note":r.push({id:t.id,bot:e,to:l,text:t.text,kind:"note"});break;case"stop":r.push({id:t.id,bot:e,to:l,text:t.text,kind:"stop",at:t.at});break;case"tool":a.set(t.callId,r.length),r.push({id:t.id,bot:e,to:l,text:t.note??t.input,kind:"tool",at:t.at,tool:{name:t.name,input:t.input,note:t.note,path:t.path,callId:t.callId}});break;case"tool-result":{let e=a.get(t.callId)??s.get(t.callId),n=void 0===e?void 0:r[e];n?.tool&&void 0!==e?r[e]={...n,tool:{...n.tool,results:t.results,more:t.more}}:n?.kind==="ask"&&void 0!==e&&(r[e]={id:n.id,bot:n.bot,to:null,text:n.text,kind:"tool",tool:{name:t.name,input:n.text,callId:t.callId,results:t.results,more:t.more}});break}case"ask":{s.set(t.callId,r.length);let o=n(t.to);i.set(t.callId,e),r.push({id:t.id,bot:e,to:o,text:t.text,kind:"ask",question:t.question,questionId:t.questionId})}}}if(r.forEach((e,t)=>{if("user"!==e.kind)return;let n=r.slice(0,t).findLast(t=>"user"!==t.kind&&t.bot.name===e.bot.name);n?.kind==="tool"&&(r[t]={...e,steppedIn:!0})}),"done"===e.status){let e=r.at(-1);if(e&&"say"===e.kind&&e.bot.name===o.name){let t=r.length-1;for(;t>0&&"say"===r[t-1].kind&&tI(r[t-1])===tI(e);)t-=1;let n=r.splice(t);r.push({...n[0],kind:"result",text:n.map(e=>e.text).join("\n\n")})}}let l=[o],u=e=>{e&&e.name!==to.ROOM_THURSDAY&&(l.some(t=>t.name===e.name)||l.push(e))};for(let t of e.room.participants)u(n(t.bot));for(let e of r)u(e.bot),u(e.to);return{id:e.id,room:e.room,request:e.request,label:e.label,bot:o,roster:l,lines:r,status:"running"===e.status?"working":e.status,outcome:e.outcome,ask:e.ask,seen:e.seen,routineId:e.routineId,tokens:e.tokens,contextTokens:e.contextTokens,contextBudget:e.contextBudget,updatedAt:e.updatedAt}}let tl=new Map,tu=new Map,td=[],tc=new Set,tp=[],tf=null,tg=new Set,tm=new Set,tv=!1,th=new Set,tb=!1,tS=new Set,tx=new Set,ty=new Set,tR=new Set,tE=[],tI=e=>e.id.slice(0,e.id.lastIndexOf("-")),tk=e=>"user"===e.kind?{name:to.ROOM_THURSDAY}:e.bot,tO=e=>"user"===e.kind?e.bot:e.to,tC=(e,t)=>({kind:"entry",speaker:e.bot,entry:{kind:"work",key:`${e.lines[0].id}-work`,lines:e.lines,open:t}});e.s(["botThreads",0,{sync(e,t){for(let n of(ta=!0,tr=[...e].reverse().map(e=>ts(e,t)),ti))n()},primed:()=>ta},"fileOpens",0,{open(e){for(let t of ty)t(e);return ty.size>0},subscribe:e=>(ty.add(e),()=>{ty.delete(e)})},"heardBy",0,tO,"lastSaid",0,function(e){for(let t=e.lines.length-1;t>=0;t--){let n=e.lines[t];if("user"!==n.kind&&"note"!==n.kind&&"stop"!==n.kind)return n}return null},"ringingThreads",0,{set(e){if(!(e.length===td.length&&e.every((e,t)=>td[t]===e)))for(let t of(td=e,tc))t()}},"roomOpen",0,{set(e){if(e!==tf)for(let t of(tf=e,tg))t()}},"roomOpens",0,{open(e){for(let t of tx)t(e??null)},subscribe:e=>(tx.add(e),()=>{tx.delete(e)})},"screenActs",0,{announce(e){for(let t of tR)t(e)},subscribe:e=>(tR.add(e),()=>{tR.delete(e)})},"threadDrafts",0,{recipient:e=>tu.get(e),select:(e,t)=>{tu.set(e,t)},get:(e,t,n)=>tl.get(e)?.get(JSON.stringify([t,n??null]))??"",set(e,t,n,o){let r=tl.get(e)??new Map,a=JSON.stringify([t,o??null]);n?r.set(a,n):r.delete(a),r.size?tl.set(e,r):tl.delete(e)}},"threadFromRow",0,ts,"threadItems",0,function(e,t,n=[]){let o,r=(o=new Set(e.lines.filter(e=>"tool"===e.kind||"ask"===e.kind).map(tI)),e=>"user"===e.kind||"ask"===e.kind||"result"===e.kind||"say"===e.kind&&!o.has(tI(e))),a=t===e.bot.name?e.lines:e.lines.filter(e=>tk(e).name===t||r(e)&&tO(e)?.name===t),i=new Set([e.bot.name,to.ROOM_THURSDAY]),s=new Map;for(let t of e.lines){let e=tO(t);e&&!i.has(e.name)&&(i.add(e.name),s.set(t.id,{from:tk(t),to:e})),i.add(t.bot.name)}let l=[],u=new Map,d=e=>{let t=e?u.get(e.name):void 0;t&&(u.delete(t.bot.name),l.push(tC(t,!1)))};for(let e of a){if(!r(e)){let t=u.get(e.bot.name)??{bot:e.bot,lines:[],at:0};t.lines.push(e),t.at=l.length,u.set(e.bot.name,t);continue}let t=tk(e);d(tO(e));let n=s.get(e.id);n&&l.push({kind:"invite",key:`${e.id}-joins`,...n}),d(t),l.push({kind:"entry",speaker:t,entry:{kind:"message",key:e.id,line:e}})}for(let e of[...u.values()].sort((e,t)=>e.at-t.at).reverse())l.splice(e.at,0,tC(e,!0));for(let e of n)u.has(e.name)||l.push({kind:"entry",speaker:e,entry:{kind:"work",key:`${e.name}-now`,lines:[],open:!0}});let c=[];for(let e of l){let t=c.at(-1);"invite"===e.kind?c.push(e):t?.kind==="turn"&&t.speaker.name===e.speaker.name?t.entries.push(e.entry):c.push({kind:"turn",key:e.entry.key,speaker:e.speaker,entries:[e.entry]})}return c},"useBotThreads",0,function(){return(0,n.useSyncExternalStore)(e=>(ti.add(e),()=>ti.delete(e)),()=>tr,()=>tE)},"useCallWaits",0,function(){return(0,n.useSyncExternalStore)(e=>(tS.add(e),()=>tS.delete(e)),()=>tb,()=>!1)},"useRingingThreads",0,function(){return(0,n.useSyncExternalStore)(e=>(tc.add(e),()=>tc.delete(e)),()=>td,()=>tp)},"useRoomOpen",0,function(){return(0,n.useSyncExternalStore)(e=>(tg.add(e),()=>tg.delete(e)),()=>tf,()=>null)},"useSeenOnDetail",0,function(e){let t=(0,n.useRef)(new Set),o=e?.id??null,r=e?`${e.id}@${(0,te.toDate)(e.updatedAt).getTime()}`:null,a=!!e&&(0,e7.isUnread)(e);(0,n.useEffect)(()=>{!o||!r||!a||t.current.has(r)||(t.current.add(r),e9([o]).then(tt.unwrapResult).then(()=>(0,tn.revalidate)(e2.queryKey.threads)).catch(e=>{t.current.delete(r),e6.toast.add({type:"error",title:"Could not mark the thread as read",description:(0,e8.errorToString)(e)})}))},[o,r,a])},"useWriteLineUp",0,function(){return(0,n.useSyncExternalStore)(e=>(th.add(e),()=>th.delete(e)),()=>tv,()=>!1)},"writeLine",0,{open(){for(let e of tm)e()},subscribe:e=>(tm.add(e),()=>{tm.delete(e)}),shown(e){if(e!==tv)for(let t of(tv=e,th))t()},waits(e){if(e!==tb)for(let t of(tb=e,tS))t()}}],978411)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,463415,523387,978411,e=>{"use strict";var t=e.i(843476);e.s([],261027),e.i(261027);var n=e.i(271645),o=e.i(733332);let r=n.createContext(void 0);function i(e){let t=n.useContext(r);if(void 0===t&&!e)throw Error((0,o.default)(33));return t}let a=n.createContext(void 0);function s(e){let t=n.useContext(a);if(void 0===t&&!e)throw Error((0,o.default)(36));return t}var l=e.i(552245),u=e.i(879938);let d=n.forwardRef(function(e,t){let{render:n,className:o,style:r,...a}=e,{store:d}=s(),{arrowRef:c,side:p,align:f,arrowUncentered:g,arrowStyles:m}=i(),v=d.useState("open");return(0,l.useRenderElement)("div",e,{ref:[c,t],stateAttributesMapping:u.popupStateMapping,state:{open:v,side:p,align:f,uncentered:g},props:{style:m,"aria-hidden":!0,...a}})}),c=n.createContext(void 0);function p(e=!0){let t=n.useContext(c);if(void 0===t&&!e)throw Error((0,o.default)(25));return t}var f=e.i(56434);let g=n.forwardRef(function(e,t){let{render:n,className:o,style:r,...i}=e,{store:a}=s(),d=a.useState("open"),c=a.useState("mounted"),g=a.useState("transitionStatus"),m=a.useState("lastOpenChangeReason"),v=p();return(0,l.useRenderElement)("div",e,{ref:v?.backdropRef?[t,v.backdropRef]:t,state:{open:d,transitionStatus:g},stateAttributesMapping:u.popupTransitionStateMapping,props:[{role:"presentation",hidden:!c,style:{pointerEvents:m===f.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},i]})});var m=e.i(951437),v=e.i(956789);let h=n.createContext(void 0);var b=e.i(828918),S=e.i(540886),x=e.i(176782),y=e.i(328744),R=e.i(64350);function E(e){let{closeOnClick:t,highlighted:o,id:r,nodeId:i,store:a,typingRef:s,itemRef:l,itemMetadata:u}=e,{events:d}=a.useState("floatingTreeRoot"),c=a.useState("open"),g=p(!0),m=void 0!==g;return n.useMemo(()=>({id:r,role:"menuitem",tabIndex:c&&o?0:-1,onKeyDown(e){" "===e.key&&s?.current&&e.preventDefault()},onMouseMove(e){i&&d.emit("itemhover",{nodeId:i,target:e.currentTarget})},onClick(e){t&&d.emit("close",{domEvent:e,reason:f.REASONS.itemPress})},onMouseUp(e){if(g){let t=g.initialCursorPointRef.current;if(g.initialCursorPointRef.current=null,m&&t&&1>=Math.abs(e.clientX-t.x)&&1>=Math.abs(e.clientY-t.y)||m&&!y.platform.os.mac&&2===e.button)return}l.current&&a.context.allowMouseUpTriggerRef.current&&(!m||2===e.button)&&"regular-item"===u.type&&(0,R.dispatchClickWithModifiers)(l.current,e,{detail:1})}}),[t,o,r,d,i,c,a,s,l,g,m,u])}let I={type:"regular-item"};function k(e){let{closeOnClick:t,disabled:o,highlighted:r,id:i,store:a,typingRef:s=a.context.typingRef,nativeButton:l,itemMetadata:u,nodeId:d}=e,c=n.useRef(null),{getButtonProps:p,buttonRef:f}=(0,S.useButton)({disabled:o,focusableWhenDisabled:!0,native:l,composite:!0}),g=E({closeOnClick:t,highlighted:r,id:i,nodeId:d,store:a,typingRef:s,itemRef:c,itemMetadata:u}),m=n.useCallback(e=>(0,x.mergeProps)(g,{onMouseEnter(){"submenu-trigger"===u.type&&u.setActive()}},e,p),[g,p,u]),v=(0,b.useMergedRefs)(c,f);return n.useMemo(()=>({getItemProps:m,itemRef:v}),[m,v])}var O=e.i(673553),C=e.i(788015);let T={checked:e=>e?{"data-checked":""}:{"data-unchecked":""},...e.i(474354).transitionStatusMapping};var w=e.i(675606);let M=n.forwardRef(function(e,o){let{render:r,className:a,id:u,label:d,nativeButton:c=!1,disabled:p=!1,closeOnClick:g=!1,checked:b,defaultChecked:S,onCheckedChange:x,style:y,...R}=e,E=(0,O.useCompositeListItem)({guess:!0,label:d}),M=i(!0),P=(0,C.useBaseUiId)(u),{store:A}=s(),N=A.useState("disabled"),D=p||N,F=A.useState("isActive",E.index),L=A.useState("itemProps"),[j,H]=(0,m.useControlled)({controlled:b,default:S??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:U,itemRef:B}=k({closeOnClick:g,disabled:D,highlighted:F,id:P,store:A,nativeButton:c,nodeId:M?.context.nodeId,itemMetadata:I}),_=n.useMemo(()=>({disabled:D,highlighted:F,checked:j}),[D,F,j]),Y=(0,l.useRenderElement)("div",e,{state:_,stateAttributesMapping:T,props:[L,{role:"menuitemcheckbox","aria-checked":j,onClick:function(e){let t=(0,w.createChangeEventDetails)(f.REASONS.itemPress,e.nativeEvent,void 0,{preventUnmountOnClose:v.NOOP});x?.(!j,t),t.isCanceled||H(e=>!e)}},R,U],ref:[B,o,E.ref]});return(0,t.jsx)(h.Provider,{value:_,children:Y})});var P=e.i(223910),A=e.i(137584);let N=n.forwardRef(function(e,t){let{render:r,className:i,style:a,keepMounted:s=!1,...u}=e,d=function(){let e=n.useContext(h);if(void 0===e)throw Error((0,o.default)(30));return e}(),c=n.useRef(null),{transitionStatus:p,mounted:f,setMounted:g}=(0,P.useTransitionStatus)(d.checked);(0,A.useOpenChangeComplete)({batch:!0,enabled:!d.checked,open:d.checked,ref:c,onComplete(){d.checked||g(!1)}});let m={checked:d.checked,disabled:d.disabled,highlighted:d.highlighted,transitionStatus:p};return(0,l.useRenderElement)("span",e,{state:m,ref:[t,c],stateAttributesMapping:T,props:{"aria-hidden":!0,...u},enabled:s||f})}),D=n.createContext(void 0),F=n.forwardRef(function(e,o){let{render:r,className:i,style:a,...s}=e,[u,d]=n.useState(void 0),c=(0,l.useRenderElement)("div",e,{ref:o,props:{role:"group","aria-labelledby":u,...s}});return(0,t.jsx)(D.Provider,{value:d,children:c})});var L=e.i(146376);let j=n.forwardRef(function(e,t){let{render:r,className:i,style:a,id:s,...u}=e,d=(0,C.useBaseUiId)(s),c=function(){let e=n.useContext(D);if(void 0===e)throw Error((0,o.default)(31));return e}();return(0,L.useIsoLayoutEffect)(()=>(c(d),()=>{c(e=>e===d?void 0:e)}),[c,d]),(0,l.useRenderElement)("div",e,{ref:t,props:{id:d,"aria-hidden":!0,...u}})}),H=n.forwardRef(function(e,t){let{render:n,className:o,id:r,label:a,nativeButton:u=!1,disabled:d=!1,closeOnClick:c=!0,style:p,...f}=e,g=(0,O.useCompositeListItem)({guess:!0,label:a}),m=i(!0),v=(0,C.useBaseUiId)(r),{store:h}=s(),b=h.useState("disabled"),S=d||b,x=h.useState("isActive",g.index),y=h.useState("itemProps"),{getItemProps:R,itemRef:E}=k({closeOnClick:c,disabled:S,highlighted:x,id:v,store:h,nativeButton:u,nodeId:m?.context.nodeId,itemMetadata:I});return(0,l.useRenderElement)("div",e,{state:{disabled:S,highlighted:x},props:[y,f,R],ref:[E,t,g.ref]})}),U=n.forwardRef(function(e,t){let{render:o,className:r,id:a,label:u,closeOnClick:d=!1,style:c,...p}=e,f=n.useRef(null),g=(0,O.useCompositeListItem)({guess:!0,label:u}),m=i(!0),v=m?.context.nodeId,h=(0,C.useBaseUiId)(a),{store:b}=s(),y=b.useState("isActive",g.index),R=b.useState("itemProps"),k=b.context.typingRef,{getButtonProps:T,buttonRef:w}=(0,S.useButton)({native:!1,composite:!0}),M=E({closeOnClick:d,highlighted:y,id:h,nodeId:v,store:b,typingRef:k,itemRef:f,itemMetadata:I});return(0,l.useRenderElement)("a",e,{state:{highlighted:y},props:[R,p,function(e){return(0,x.mergeProps)(M,e,T)}],ref:[f,w,t,g.ref]})});var B=e.i(61487),_=e.i(431157),Y=e.i(96533),z=e.i(673327),G=e.i(253984);let K=n.forwardRef(function(e,o){let{render:r,className:a,style:d,finalFocus:c,...p}=e,{store:g}=s(),{side:m,align:v}=i(),h=null!=(0,Y.useToolbarRootContext)(!0),b=g.useState("open"),S=g.useState("transitionStatus"),x=g.useState("popupProps"),y=g.useState("mounted"),R=g.useState("instantType"),E=g.useState("activeTriggerElement"),I=g.useState("parent"),k=g.useState("lastOpenChangeReason"),O=g.useState("rootId"),C=g.useState("floatingRootContext"),T=g.useState("floatingTreeRoot"),M=g.useState("closeDelay"),P=g.useState("hoverEnabled"),N=g.useState("disabled"),D=g.useState("openMethod"),F="context-menu"===I.type;(0,A.useOpenChangeComplete)({open:b,ref:g.context.popupRef,onComplete(){b&&g.context.onOpenChangeComplete?.(!0)}}),n.useEffect(()=>{function e(e){g.setOpen(!1,(0,w.createChangeEventDetails)(e.reason,e.domEvent))}return T.events.on("close",e),()=>{T.events.off("close",e)}},[T.events,g]),(0,_.useHoverFloatingInteraction)(C,{enabled:P&&!N&&!F&&"menubar"!==I.type,closeDelay:M});let L=g.useStateSetter("popupElement"),j={transitionStatus:S,side:m,align:v,open:b,nested:"menu"===I.type,instant:R},H=(0,l.useRenderElement)("div",e,{state:j,ref:[o,g.context.popupRef,L],stateAttributesMapping:u.popupTransitionStateMapping,props:[x,{onKeyDown(e){h&&z.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()}},(0,G.getDisabledMountTransitionStyles)(S),p,{"data-rootownerid":O}]}),U=void 0===I.type||F;return(E||"menubar"===I.type&&k!==f.REASONS.outsidePress)&&(U=!0),(0,t.jsx)(B.FloatingFocusManager,{context:C,openInteractionType:D,modal:F,disabled:!y,returnFocus:void 0===c?U:c,initialFocus:"menu"!==I.type,restoreFocus:!0,externalTree:"menubar"!==I.type?T:void 0,previousFocusableElement:E,nextFocusableElement:void 0===I.type?g.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:void 0===I.type?g.context.beforeContentFocusGuardRef:void 0,children:H})});var V=e.i(726674);let W=n.createContext(void 0),q=n.forwardRef(function(e,n){let{keepMounted:o=!1,...r}=e,{store:i,parent:a}=s();if(!(i.useState("mounted")||o))return null;let l="menu"===a.type||"menubar"===a.type?"group":void 0;return(0,t.jsx)(W.Provider,{value:o,children:(0,t.jsx)(V.FloatingPortal,{ref:n,...r,portalOwnerRole:l})})});var J=e.i(144394),$=e.i(439957),X=e.i(46420),Q=e.i(923706),Z=e.i(53687),ee=e.i(426),et=e.i(638396),en=e.i(222640),eo=e.i(789579),er=e.i(33383);let ei=n.forwardRef(function(e,i){let{anchor:a,positionMethod:l="absolute",className:u,render:d,side:c,align:g,sideOffset:m=0,alignOffset:v=0,collisionBoundary:h="clipping-ancestors",collisionPadding:b=5,arrowPadding:S=5,sticky:x=!1,disableAnchorTracking:y=!1,collisionAvoidance:R=et.DROPDOWN_COLLISION_AVOIDANCE,style:E,...I}=e,{store:k}=s(),O=function(){let e=n.useContext(W);if(void 0===e)throw Error((0,o.default)(32));return e}(),C=p(!0),T=k.useState("parent"),M=k.useState("floatingRootContext"),P=k.useState("floatingTreeRoot"),A=k.useState("mounted"),N=k.useState("open"),D=k.useState("modal"),F=k.useState("openMethod"),j=k.useState("activeTriggerElement"),H=k.useState("transitionStatus"),U=k.useState("positionerElement"),B=k.useState("instantType"),_=k.useState("adaptiveOrigin"),Y=k.useState("lastOpenChangeReason"),z=k.useState("floatingNodeId"),G=k.useState("floatingParentNodeId"),K=M.useState("domReferenceElement"),V=n.useRef(null),q=(0,en.useAnimationsFinished)(U),ei=a,ea=m,es=v,el=g,eu=R;"context-menu"===T.type&&(ei=a??T.context?.anchor,el=el??"start",c||"center"===el||(es=e.alignOffset??2,ea=e.sideOffset??-5));let ed=c,ec=el;"menu"===T.type?(ed=ed??"inline-end",ec=ec??"start",eu=e.collisionAvoidance??et.POPUP_COLLISION_AVOIDANCE):"menubar"===T.type&&(ed=ed??("vertical"===T.context.orientation?"inline-end":"bottom"),ec=ec??"start");let ep="context-menu"===T.type,ef=(0,Q.useAnchorPositioning)({anchor:ei,floatingRootContext:M,positionMethod:C?"fixed":l,mounted:A,side:ed,sideOffset:ea,align:ec,alignOffset:es,arrowPadding:ep?0:S,collisionBoundary:h,collisionPadding:b,sticky:x,nodeId:z,keepMounted:O,disableAnchorTracking:y,collisionAvoidance:eu,shift:ep?{crossAxis:!("side"in eu&&"flip"===eu.side),rootBoundary:"layoutViewport"}:void 0,externalTree:P,adaptiveOrigin:_});n.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===z&&k.set("hoverEnabled",!1),e.nodeId!==z&&e.parentNodeId===k.select("floatingParentNodeId")&&k.setOpen(!1,(0,w.createChangeEventDetails)(f.REASONS.siblingOpen)))}return P.events.on("menuopenchange",e),()=>{P.events.off("menuopenchange",e)}},[k,P.events,z]),n.useEffect(()=>{if(null!=k.select("floatingParentNodeId"))return P.events.on("menuopenchange",e),()=>{P.events.off("menuopenchange",e)};function e(e){if(e.open||e.nodeId!==k.select("floatingParentNodeId"))return;let t=e.reason??f.REASONS.siblingOpen;k.setOpen(!1,(0,w.createChangeEventDetails)(t))}},[P.events,k]);let eg=(0,$.useTimeout)();n.useEffect(()=>{N||eg.clear()},[N,eg]),n.useEffect(()=>{function e(e){if(N&&e.nodeId===k.select("floatingParentNodeId"))if(e.target&&j&&j!==e.target){let e=k.select("closeDelay");e>0?eg.isStarted()||eg.start(e,()=>{k.setOpen(!1,(0,w.createChangeEventDetails)(f.REASONS.siblingOpen))}):k.setOpen(!1,(0,w.createChangeEventDetails)(f.REASONS.siblingOpen))}else eg.clear()}return P.events.on("itemhover",e),()=>{P.events.off("itemhover",e)}},[P.events,N,j,k,eg]),n.useEffect(()=>{let e={open:N,nodeId:z,parentNodeId:G,reason:k.select("lastOpenChangeReason")};P.events.emit("menuopenchange",e)},[P.events,N,k,z,G]),(0,L.useIsoLayoutEffect)(()=>{let e=V.current;if(K&&(V.current=K),e&&K&&K!==e){k.set("instantType",void 0);let e=new AbortController;return q(()=>{k.set("instantType","trigger-change")},e.signal),()=>{e.abort()}}},[K,q,k]);let em={open:N,side:ef.side,align:ef.align,anchorHidden:ef.anchorHidden,nested:"menu"===T.type,instant:B},ev="menubar"===T.type&&T.context.modal,eh=D&&Y!==f.REASONS.triggerHover;(0,er.useAnchoredPopupScrollLock)(N&&(ev||eh),"touch"===F,U,j);let eb=(0,eo.usePositioner)(e,em,{styles:ef.positionerStyles,transitionStatus:H,props:I,refs:[i,k.useStateSetter("positionerElement")],hidden:!A,inert:!N}),eS=A&&"menu"!==T.type&&("menubar"!==T.type&&D&&Y!==f.REASONS.triggerHover||"menubar"===T.type&&T.context.modal),ex=null;return"menubar"===T.type?ex=T.context.contentElement:void 0===T.type&&(ex=j),(0,t.jsxs)(r.Provider,{value:ef,children:[eS&&(0,t.jsx)(ee.InternalBackdrop,{ref:"context-menu"===T.type||"nested-context-menu"===T.type?T.context.internalBackdropRef:null,inert:(0,J.inertValue)(!N),cutout:ex}),(0,t.jsx)(X.FloatingNode,{id:z,children:(0,t.jsx)(Z.CompositeList,{elementsRef:k.context.itemDomElements,labelsRef:k.context.itemLabels,children:eb})})]})});var ea=e.i(667865);let es=n.createContext(void 0),el=n.memo(n.forwardRef(function(e,o){let{render:r,className:i,value:a,defaultValue:s,onValueChange:u,disabled:d=!1,style:c,"aria-labelledby":p,...f}=e,[g,v]=n.useState(void 0),[h,b]=(0,m.useControlled)({controlled:a,default:s,name:"MenuRadioGroup"}),S=(0,ea.useStableCallback)((e,t)=>{u?.(e,t),t.isCanceled||b(e)}),x=(0,l.useRenderElement)("div",e,{state:{disabled:d},ref:o,props:{role:"group","aria-labelledby":p??g,"aria-disabled":d||void 0,...f}}),y=n.useMemo(()=>({value:h,setValue:S,disabled:d}),[h,S,d]);return(0,t.jsx)(D.Provider,{value:v,children:(0,t.jsx)(es.Provider,{value:y,children:x})})})),eu=n.createContext(void 0),ed=n.forwardRef(function(e,r){let{render:a,className:u,id:d,label:c,nativeButton:p=!1,disabled:g=!1,closeOnClick:m=!1,value:h,style:b,...S}=e,x=(0,O.useCompositeListItem)({guess:!0,label:c}),y=i(!0),R=(0,C.useBaseUiId)(d),{store:E}=s(),M=E.useState("isActive",x.index),P=E.useState("itemProps"),{value:A,setValue:N,disabled:D}=function(){let e=n.useContext(es);if(void 0===e)throw Error((0,o.default)(34));return e}(),F=E.useState("disabled"),L=g||D||F,j=A===h,{getItemProps:H,itemRef:U}=k({closeOnClick:m,disabled:L,highlighted:M,id:R,store:E,nativeButton:p,nodeId:y?.context.nodeId,itemMetadata:I}),B=n.useMemo(()=>({disabled:L,highlighted:M,checked:j}),[L,M,j]),_=(0,l.useRenderElement)("div",e,{state:B,stateAttributesMapping:T,props:[P,{role:"menuitemradio","aria-checked":j,onClick:function(e){N(h,(0,w.createChangeEventDetails)(f.REASONS.itemPress,e.nativeEvent,void 0,{preventUnmountOnClose:v.NOOP}))}},S,H],ref:[U,r,x.ref]});return(0,t.jsx)(eu.Provider,{value:B,children:_})}),ec=n.forwardRef(function(e,t){let{render:r,className:i,style:a,keepMounted:s=!1,...u}=e,d=function(){let e=n.useContext(eu);if(void 0===e)throw Error((0,o.default)(35));return e}(),c=n.useRef(null),{transitionStatus:p,mounted:f,setMounted:g}=(0,P.useTransitionStatus)(d.checked);(0,A.useOpenChangeComplete)({batch:!0,enabled:!d.checked,open:d.checked,ref:c,onComplete(){d.checked||g(!1)}});let m={checked:d.checked,disabled:d.disabled,highlighted:d.highlighted,transitionStatus:p};return(0,l.useRenderElement)("span",e,{state:m,stateAttributesMapping:T,ref:[t,c],props:{"aria-hidden":!0,...u},enabled:s||f})});var ep=e.i(883977),ef=e.i(388940),eg=e.i(896499),em=e.i(17989),ev=e.i(260891),eh=e.i(736760),eb=e.i(350527);let eS=n.createContext(null);function ex(e){let t=n.useContext(eS);if(null===t&&!e)throw Error((0,o.default)(5));return t}var ey=e.i(872855),eR=e.i(32199),eE=e.i(301252),eI=e.i(379248),ek=e.i(18478),eO=e.i(116786),eC=e.i(990627);let eT={...eO.popupStoreSelectors,disabled:e=>"menubar"===e.parent.type&&e.parent.context.disabled||e.disabled,modal:e=>(void 0===e.parent.type||"context-menu"===e.parent.type)&&(e.modal??!0),openMethod:e=>e.openMethod,allowMouseEnter:e=>e.allowMouseEnter,highlightItemOnHover:e=>e.highlightItemOnHover,parent:e=>e.parent,rootId:e=>"menu"===e.parent.type?e.parent.store.select("rootId"):void 0!==e.parent.type?e.parent.context.rootId:e.rootId,activeIndex:e=>e.activeIndex,isActive:(e,t)=>e.activeIndex===t,hoverEnabled:e=>e.hoverEnabled,instantType:e=>e.instantType,lastOpenChangeReason:e=>e.openChangeReason,floatingTreeRoot:e=>"menu"===e.parent.type?e.parent.store.select("floatingTreeRoot"):e.floatingTreeRoot,floatingNodeId:e=>e.floatingNodeId,floatingParentNodeId:e=>e.floatingParentNodeId,itemProps:e=>e.itemProps,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin,keyboardEventRelay:e=>e.keyboardEventRelay?e.keyboardEventRelay:"menu"===e.parent.type?e.parent.store.select("keyboardEventRelay"):void 0};class ew extends eE.ReactStore{constructor(e,t,n=!1){const o=new eC.PopupTriggerMap;super(eP(o,t,n,e),eM(o),eT),this.unsubscribeParentListener=this.observe("parent",e=>{if(this.unsubscribeParentListener?.(),"menu"===e.type){let t=e.store.select("rootId"),n=e.store.select("floatingTreeRoot"),o=e.store.select("keyboardEventRelay");this.unsubscribeParentListener=e.store.subscribe(()=>{let r=e.store.select("rootId"),i=e.store.select("floatingTreeRoot"),a=e.store.select("keyboardEventRelay");(t!==r||n!==i||o!==a)&&(t=r,n=i,o=a,this.notifyAll())}),this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef;return}void 0!==e.type&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:t})}unsubscribeParentListener=null}function eM(e){return{positionerRef:n.createRef(),popupRef:n.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:n.createRef(),beforeContentFocusGuardRef:n.createRef(),onOpenChangeComplete:void 0,triggerElements:e}}function eP(e,t,n=!1,o){return{...(0,eO.createInitialPopupStoreState)(e,t,n),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new eI.FloatingTreeStore,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:v.EMPTY_OBJECT,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0,...o}}var eA=e.i(264111);let eN=n.createContext(void 0);function eD(){return n.useContext(eN)}let eF=(0,eg.fastComponent)(function(e){var o,r,i;let l,{children:u,open:d,onOpenChange:c,onOpenChangeComplete:g,defaultOpen:m=!1,disabled:h=!1,modal:b,loopFocus:S=!0,orientation:y="vertical",actionsRef:R,closeParentOnEsc:E=!1,handle:I,triggerId:k,defaultTriggerId:O=null,highlightItemOnHover:C=!0}=e,T=p(!0),M=s(!0),P=ex(!0),A=eD(),N=n.useMemo(()=>A&&M?{type:"menu",store:M.store}:P?{type:"menubar",context:P}:T&&!M?{type:"context-menu",context:T}:{type:void 0},[T,M,P,A]),D=(0,ep.useId)(),F=(0,ep.useId)(),j=(0,X.useFloatingParentNodeId)(),H="menu"===N.type?N.store:void 0,U=(d??m)&&H?.state.transitionStatus==="starting",B=(0,ef.useRefWithInit)(()=>U?H?.state.instantType:void 0).current,_=(o={open:m,openProp:d,activeTriggerId:O,triggerIdProp:k,parent:N,disabled:h,highlightItemOnHover:C,modal:void 0===N.type?b:void 0,rootId:D,instantType:B},r=F,i=null!=j,(0,ef.useRefWithInit)(()=>new ew(o,r,i)).current);_.useControlledProp("openProp",d),_.useControlledProp("triggerIdProp",k),_.useContextCallback("onOpenChangeComplete",g);let Y=_.useState("floatingTreeRoot"),z=(0,X.useFloatingNodeId)(Y),G=_.useState("open"),K=_.useState("activeTriggerElement"),V=_.useState("positionerElement"),W=_.useState("hoverEnabled"),q=_.useState("disabled"),J=_.useState("lastOpenChangeReason"),Q=_.useState("parent"),Z=_.useState("activeIndex"),ee=_.useState("payload"),eo=_.useState("floatingParentNodeId"),er=n.useRef(null),ei=n.useRef("context-menu"!==Q.type),es=(0,$.useTimeout)(),el=n.useRef(!0),eu=(0,$.useTimeout)(),ed=null!=eo,{openMethod:ec,triggerProps:eg}=(0,eR.useOpenInteractionType)(G);_.useSyncedValues({disabled:h,highlightItemOnHover:C,modal:void 0===Q.type?b:void 0,openMethod:ec,rootId:D}),(0,eA.useImplicitActiveTrigger)(_);let{forceUnmount:eS,transitionStatus:eE}=(0,eA.useOpenStateTransitions)(G,_,()=>{_.set("allowMouseEnter",!1)},U),eI=(0,en.useAnimationsFinished)(_.context.popupRef);n.useEffect(()=>{if(void 0===B)return;let e=()=>{_.state.instantType===B&&_.set("instantType",void 0)};if(!G)return void e();if(void 0!==eE)return;if(null==_.context.popupRef.current)return void e();let t=new AbortController;return eI(e,t.signal),()=>{t.abort()}},[B,G,eE,eI,_]),(0,L.useIsoLayoutEffect)(()=>{T&&!M?_.update({parent:{type:"context-menu",context:T},floatingNodeId:z,floatingParentNodeId:j}):M&&_.update({floatingNodeId:z,floatingParentNodeId:j})},[T,M,z,j,_]),n.useEffect(()=>{if(G||(er.current=null),"context-menu"===Q.type){if(!G){es.clear(),ei.current=!1;return}es.start(500,()=>{ei.current=!0})}},[es,G,Q.type]),(0,L.useIsoLayoutEffect)(()=>{G||W||_.set("hoverEnabled",!0)},[G,W,_]);let ek=(0,ea.useStableCallback)((e,t)=>{let n=t.reason;if(!e&&!_.select("open")||G===e&&t.trigger===K&&J===n)return;let o=(0,eA.attachPreventUnmountOnClose)(t);if(e||null!=t.trigger||(t.trigger=K??void 0),c?.(e,t),t.isCanceled)return;_.state.floatingRootContext.dispatchOpenChange(e,t);let r=t.event;if(!1===e&&r?.type==="click"&&"touch"===r.pointerType&&!el.current)return;e&&n===f.REASONS.triggerFocus?(el.current=!1,eu.start(300,()=>{el.current=!0})):(el.current=!0,eu.clear());let i=(n===f.REASONS.triggerPress||n===f.REASONS.itemPress)&&0===r.detail,a=!e&&(n===f.REASONS.escapeKey||null==n);er.current=t.event;let s=(0,eA.createPopupOpenState)(_.state,e,t.trigger,o());s.openChangeReason=n,"menubar"===Q.type&&(n===f.REASONS.triggerFocus||n===f.REASONS.focusOut||n===f.REASONS.triggerHover||n===f.REASONS.listNavigation||n===f.REASONS.siblingOpen)?s.instantType="group":i||a?s.instantType=i?"click":"dismiss":s.instantType=void 0,_.update(s)}),eO=(0,eb.useSyncedFloatingRootContext)({popupStore:_,floatingRootContext:_.state.floatingRootContext,floatingId:F,nested:null!=j,onOpenChange:ek}),eC=eO.context.events;(0,L.useIsoLayoutEffect)(()=>{let e=({open:e,eventDetails:t})=>ek(e,t);return eC.on("setOpen",e),()=>{eC?.off("setOpen",e)}},[eC,ek]);let eT=n.useCallback(()=>{_.setOpen(!1,(0,w.createChangeEventDetails)(f.REASONS.imperativeAction))},[_]);n.useImperativeHandle(R,()=>({unmount:eS,close:eT}),[eS,eT]),"context-menu"===Q.type&&(l=Q.context),n.useImperativeHandle(l?.positionerRef,()=>V,[V]),n.useImperativeHandle(l?.actionsRef,()=>({setOpen:ek}),[ek]);let eM=(0,em.useDismiss)(eO,{enabled:!q,bubbles:{escapeKey:E&&"menu"===Q.type},outsidePress:()=>"context-menu"!==Q.type||er.current?.type==="contextmenu"||ei.current,externalTree:ed?Y:void 0}),eP=(0,ey.useDirection)(),eN=n.useCallback(e=>{_.select("activeIndex")!==e&&_.set("activeIndex",e)},[_]),eF=(0,ev.useListNavigation)(eO,{enabled:!q,listRef:_.context.itemDomElements,activeIndex:Z,nested:void 0!==Q.type,loopFocus:S,orientation:y,parentOrientation:"menubar"===Q.type?Q.context.orientation:void 0,rtl:"rtl"===eP,disabledIndices:v.EMPTY_ARRAY,onNavigate:eN,openOnArrowKeyDown:"context-menu"!==Q.type,externalTree:ed?Y:void 0,focusItemOnHover:C}),eL=n.useCallback(e=>{_.context.typingRef.current=e},[_]),ej=(0,eh.useTypeahead)(eO,{enabled:!q,listRef:_.context.itemLabels,elementsRef:_.context.itemDomElements,activeIndex:Z,resetMs:et.TYPEAHEAD_RESET_MS,onMatch:e=>{G&&e!==Z&&_.set("activeIndex",e)},onTyping:eL}),eH=n.useMemo(()=>{let e=(0,x.mergeProps)(ej.reference,eF.reference,eM.reference,{onMouseMove(){_.set("allowMouseEnter",!0)}},eg);return e["aria-haspopup"]="menu",e["aria-expanded"]=G,e},[_,ej.reference,eF.reference,eM.reference,eg,G]),eU=n.useMemo(()=>{let e=(0,x.mergeProps)(eF.trigger,eM.trigger,eg);return e["aria-haspopup"]="menu",e["aria-expanded"]=!1,e},[eF.trigger,eM.trigger,eg]);(0,ef.useRefWithInit)(()=>(_.update({inactiveTriggerProps:eU}),null));let eB=n.useMemo(()=>(0,x.mergeProps)(eA.FOCUSABLE_POPUP_PROPS,{id:F,role:"menu","aria-orientation":"horizontal"===y?"horizontal":void 0,"aria-labelledby":K?.id,onMouseMove(){_.set("allowMouseEnter",!0),"menu"===Q.type&&_.set("hoverEnabled",!1)},onClick(){_.select("hoverEnabled")&&_.set("hoverEnabled",!1)},onKeyDown(e){let t=_.select("keyboardEventRelay");t&&!e.isPropagationStopped()&&t(e)}},ej.floating,eF.floating,eM.floating),[K,F,y,Q.type,_,ej.floating,eF.floating,eM.floating]),e_=eF.item??v.EMPTY_OBJECT;(0,eA.usePopupInteractionProps)(_,{floatingRootContext:eO,activeTriggerProps:eH,inactiveTriggerProps:eU,popupProps:eB,itemProps:e_});let eY=n.useMemo(()=>({store:_,parent:N}),[_,N]),ez=(0,t.jsxs)(a.Provider,{value:eY,children:[I&&(0,t.jsx)(eA.PopupHandleAttachment,{handle:I,store:_}),"function"==typeof u?u({payload:ee}):u]});return void 0===Q.type||"context-menu"===Q.type?(0,t.jsx)(X.FloatingTree,{externalTree:Y,children:ez}):ez});var eL=e.i(108868),ej=e.i(650316),eH=e.i(385689),eU=e.i(413082),eB=e.i(872135),e_=e.i(584446),eY=e.i(264042),ez=e.i(348990),eG=e.i(838452),eK=e.i(229315),eV=e.i(459636),eW=e.i(346570),eq=e.i(152535);let eJ=(0,eg.fastComponentRef)(function(e,r){let i,{render:a,className:d,style:c,disabled:p=!1,nativeButton:g=!0,id:m,openOnHover:h,delay:b=100,closeDelay:y=0,handle:R,payload:E,...I}=e,k=s(!0),O=(0,eV.usePopupHandleStore)(R)??k?.store;if(!O)throw Error((0,o.default)(85));let T=(0,C.useBaseUiId)(m),w=O.useState("isTriggerActive",T),M=O.useState("floatingRootContext"),P=O.useState("isOpenedByTrigger",T),A=O.useState("triggerPopupId",T),N=n.useRef(null),D=(i=ex(!0),n.useMemo(()=>i?{type:"menubar",context:i}:{type:void 0},[i])),F=(0,eG.useCompositeRootContext)(!0),j=(0,X.useFloatingTree)(),H=n.useMemo(()=>j??new eI.FloatingTreeStore,[j]),U=(0,X.useFloatingNodeId)(H),B=(0,X.useFloatingParentNodeId)(),{registerTrigger:_,isMountedByThisTrigger:Y}=(0,eA.useTriggerDataForwarding)(T,N,O,{payload:E,closeDelay:y,parent:D,floatingTreeRoot:H,floatingNodeId:U,floatingParentNodeId:B,keyboardEventRelay:F?.relayKeyboardEvent}),z="menubar"===D.type,G=O.useState("disabled"),K=p||G||z&&D.context.disabled,{getButtonProps:V,buttonRef:W}=(0,S.useButton)({disabled:K,native:g});n.useEffect(()=>{P||void 0!==D.type||(O.context.allowMouseUpTriggerRef.current=!1)},[O,P,D.type]);let q=n.useRef(null),J=(0,$.useTimeout)(),Q=(0,ea.useStableCallback)(e=>{if(!q.current)return;J.clear(),O.context.allowMouseUpTriggerRef.current=!1;let t=e.target;(0,e_.contains)(q.current,t)||(0,e_.contains)(O.select("positionerElement"),t)||t===q.current||null!=t&&function e(t){return(0,eK.isHTMLElement)(t)&&t.hasAttribute("data-rootownerid")?t.getAttribute("data-rootownerid"):(0,eK.isLastTraversableNode)(t)?void 0:e((0,eK.getParentNode)(t))}(t)===O.select("rootId")||(0,eY.isMouseWithinBounds)(e,q.current)||H.events.emit("close",{domEvent:e,reason:f.REASONS.cancelOpen})});n.useEffect(()=>{P&&O.select("lastOpenChangeReason")===f.REASONS.triggerHover&&(0,eL.ownerDocument)(q.current).addEventListener("mouseup",Q,{once:!0})},[P,Q,O]);let Z=z&&D.context.hasSubmenuOpen,ee=h??Z,en=(0,eB.useHoverReferenceInteraction)(M,{enabled:ee&&!K&&(!z||Z&&!Y),handleClose:(0,ej.safePolygon)({blockPointerEvents:!z}),mouseOnly:!0,move:!1,restMs:void 0===D.type?b:void 0,delay:{close:y},triggerElementRef:N,externalTree:H,isActiveTrigger:w,isClosing:()=>"ending"===O.select("transitionStatus")}),eo=function(e,t){let o=(0,$.useTimeout)(),[r,i]=n.useState(!1);return(0,L.useIsoLayoutEffect)(()=>{e&&t===f.REASONS.triggerHover?(i(!0),o.start(et.PATIENT_CLICK_THRESHOLD,()=>{i(!1)})):e||(o.clear(),i(!1))},[e,t,o]),r}(P,O.select("lastOpenChangeReason")),er=(0,eH.useClick)(M,{enabled:!K,event:P&&z?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:void 0===D.type&&eo}),ei=(0,eU.useFocus)(M,{enabled:!K&&Z}),es=function(e){let{enabled:t=!0,mouseDownAction:o,open:r}=e,i=n.useRef(!1);return n.useMemo(()=>t?{onMouseDown:e=>{("open"===o&&!r||"close"===o&&r)&&(i.current=!0,(0,eL.ownerDocument)(e.currentTarget).addEventListener("click",()=>{i.current=!1},{once:!0}))},onClick:e=>{i.current&&(i.current=!1,e.preventBaseUIHandler())}}:v.EMPTY_OBJECT,[t,o,r])}({open:P,enabled:z,mouseDownAction:"open"}),el=n.useMemo(()=>(0,x.mergeProps)(ei.reference,er.reference),[ei.reference,er.reference]),eu=O.useState("triggerProps",Y),{preFocusGuardRef:ed,handlePreFocusGuardFocus:ec,handleFocusTargetFocus:ep}=(0,eW.useTriggerFocusGuards)(O,N),ef={disabled:K,open:P},eg=[q,r,W,_,N],em=[el,en??v.EMPTY_OBJECT,eu,{"aria-haspopup":"menu","aria-controls":A,id:T,onMouseDown:e=>{O.select("open")||(J.start(200,()=>{O.context.allowMouseUpTriggerRef.current=!0}),(0,eL.ownerDocument)(e.currentTarget).addEventListener("mouseup",Q,{once:!0}))}},z?{role:"menuitem"}:{},es,I,V],ev=(0,l.useRenderElement)("button",e,{enabled:!z,stateAttributesMapping:u.pressableTriggerOpenStateMapping,state:ef,ref:eg,props:em});return z?(0,t.jsx)(ez.CompositeItem,{tag:"button",render:a,className:d,style:c,state:ef,refs:eg,props:em,stateAttributesMapping:u.pressableTriggerOpenStateMapping}):P?(0,t.jsxs)(n.Fragment,{children:[(0,t.jsx)(eq.FocusGuard,{ref:ed,onFocus:ec},`${T}-pre-focus-guard`),(0,t.jsx)(n.Fragment,{children:ev},T),(0,t.jsx)(eq.FocusGuard,{ref:O.context.triggerFocusTargetRef,onFocus:ep},`${T}-post-focus-guard`)]}):(0,t.jsx)(n.Fragment,{children:ev},T)});var e$=e.i(818390);let eX=n.forwardRef(function(e,t){let{render:n,className:o,style:r,children:a,...u}=e,{store:d}=s(),{side:c}=i(),p=d.useState("instantType"),{children:f,state:g}=(0,e$.usePopupViewport)({store:d,side:c,children:a}),m={activationDirection:g.activationDirection,transitioning:g.transitioning,instant:p};return(0,l.useRenderElement)("div",e,{state:m,ref:t,props:[u,{children:f}],stateAttributesMapping:e$.popupViewportStateMapping})});var eQ=e.i(652225);let eZ={"aria-expanded":void 0},e0=n.forwardRef(function(e,t){let{render:r,className:a,style:d,label:c,id:p,nativeButton:g=!1,openOnHover:m=!0,delay:h=100,closeDelay:b=0,disabled:S=!1,...x}=e,R=eD();if(!R?.parentMenu)throw Error((0,o.default)(37));let E=(0,O.useCompositeListItem)({guess:!0,label:c}),I=i(),{store:T}=s(),w=(0,C.useBaseUiId)(p),M=T.useState("open"),P=T.useState("floatingRootContext"),A=T.useState("floatingTreeRoot"),N=T.useState("triggerPopupId",w),D=(0,eA.useTriggerRegistration)(w,T),F=(0,ea.useStableCallback)(e=>{D(e),null!==e&&T.select("open")&&null==T.select("activeTriggerId")&&T.update({activeTriggerId:w??null,activeTriggerElement:e,closeDelay:b})}),j=n.useRef(null),H=n.useCallback(e=>{j.current=e,T.set("activeTriggerElement",e)},[T]);(0,L.useIsoLayoutEffect)(()=>(F(j.current),()=>F(null)),[F,w,T]),T.useSyncedValue("closeDelay",b);let U=R.parentMenu,B=T.useState("disabled"),_=U.useState("disabled"),Y=S||B||_,z=U.useState("itemProps"),G=U.useState("isActive",E.index),K=n.useMemo(()=>({type:"submenu-trigger",setActive(){U.select("highlightItemOnHover")&&U.set("activeIndex",E.index)}}),[U,E.index]),{getItemProps:V,itemRef:W}=k({closeOnClick:!1,disabled:Y,highlighted:G,id:w,store:T,typingRef:U.context.typingRef,nativeButton:g,itemMetadata:K,nodeId:I?.context.nodeId}),q=T.useState("hoverEnabled"),J=(0,eB.useHoverReferenceInteraction)(P,{enabled:q&&m&&!Y,handleClose:(0,ej.safePolygon)({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:h,delay:{open:h,close:b},shouldOpen:h>0?()=>U.select("allowMouseEnter"):void 0,triggerElementRef:j,externalTree:A,isClosing:()=>"ending"===T.select("transitionStatus"),guardStaleOpen:!0}),$=(0,eH.useClick)(P,{enabled:!Y,event:"mousedown",toggle:!m,ignoreMouse:m,stickIfOpen:!1}).reference??v.EMPTY_OBJECT,X=T.useState("triggerProps",!0);delete X.id;let Q=T.useState("openMethod"),Z=T.useState("lastOpenChangeReason")===f.REASONS.listNavigation||"keyboard"===Q,ee=M&&Z&&y.platform.screenReader.voiceOver;return(0,l.useRenderElement)("div",e,{state:{disabled:Y,highlighted:G,open:M},stateAttributesMapping:u.triggerOpenStateMapping,props:[$,J,X,z,ee?eZ:void 0,{"aria-controls":N,tabIndex:M||G?0:-1,onBlur(){G&&U.set("activeIndex",null)}},x,V],ref:[t,E.ref,W,F,H]})});var e1=e.i(564170);class e3 extends e1.BasePopupHandle{constructor(){super(function(){let e=new eC.PopupTriggerMap;return Object.assign(new ek.NullStore(Object.freeze(eP(e)),Object.freeze(eM(e)),eT),{setOpen:v.NOOP})}(),"Menu")}open(e){this.openByTrigger(e)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}}e.s(["Arrow",0,d,"Backdrop",0,g,"CheckboxItem",0,M,"CheckboxItemIndicator",0,N,"Group",0,F,"GroupLabel",0,j,"Handle",0,e3,"Item",0,H,"LinkItem",0,U,"Popup",0,K,"Portal",0,q,"Positioner",0,ei,"RadioGroup",0,el,"RadioItem",0,ed,"RadioItemIndicator",0,ec,"Root",0,eF,"Separator",()=>eQ.Separator,"SubmenuRoot",0,function(e){let o=s().store,r=n.useMemo(()=>({parentMenu:o}),[o]);return(0,t.jsx)(eN.Provider,{value:r,children:(0,t.jsx)(eF,{...e})})},"SubmenuTrigger",0,e0,"Trigger",0,eJ,"Viewport",0,eX,"createHandle",0,function(){return new e3}],160948);var e5=e.i(160948),e5=e5;e.i(593698),e.i(986253);var e2=e.i(647163);e.s(["DropdownMenu",0,function({...e}){return(0,t.jsx)(e5.Root,{"data-slot":"dropdown-menu",...e})},"DropdownMenuContent",0,function({align:e="start",alignOffset:n=0,side:o="bottom",sideOffset:r=4,className:i,...a}){return(0,t.jsx)(e5.Portal,{children:(0,t.jsx)(e5.Positioner,{className:"isolate z-50 outline-none",align:e,alignOffset:n,side:o,sideOffset:r,children:(0,t.jsx)(e5.Popup,{"data-slot":"dropdown-menu-content",className:(0,e2.cn)("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",i),...a})})})},"DropdownMenuGroup",0,function({...e}){return(0,t.jsx)(e5.Group,{"data-slot":"dropdown-menu-group",...e})},"DropdownMenuItem",0,function({className:e,inset:n,variant:o="default",...r}){return(0,t.jsx)(e5.Item,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":o,className:(0,e2.cn)("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",e),...r})},"DropdownMenuTrigger",0,function({...e}){return(0,t.jsx)(e5.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}],463415);var e8=e.i(798120),e6=e.i(6799),e4=e.i(95187);let e7=(0,e4.createServerReference)("7f3c3b82c546cd508dc79ec09b6c03314f50c9dca5",e4.callServer,void 0,e4.findSourceMapURL,"markSeenAction");e.s(["markSeenAction",0,e7],523387);var e9=e.i(451888),te=e.i(245629),tt=e.i(393080),tn=e.i(283653),to=e.i(553429);let tr=[],ti=!1,ta=new Set;function ts(e,t){let n=e=>({name:e,icon:t?.find(t=>t.name===e)?.icon??null}),o=n(e.bot),r=[],i=new Map,a=new Map,s=new Map;for(let t of e.lines){let e=t.bot?n(t.bot):o,l=t.to?n(t.to):t.parent?a.get(t.parent)??null:null;switch(t.kind){case"user":r.push({id:t.id,bot:t.to?n(t.to):o,to:t.to?n(t.to):null,text:t.text,kind:"user"});break;case"text":r.push({id:t.id,bot:e,to:l,text:t.text,kind:"say"});break;case"note":r.push({id:t.id,bot:e,to:l,text:t.text,kind:"note"});break;case"stop":r.push({id:t.id,bot:e,to:l,text:t.text,kind:"stop",at:t.at});break;case"tool":i.set(t.callId,r.length),r.push({id:t.id,bot:e,to:l,text:t.note??t.input,kind:"tool",at:t.at,tool:{name:t.name,input:t.input,note:t.note,path:t.path,callId:t.callId}});break;case"tool-result":{let e=i.get(t.callId)??s.get(t.callId),n=void 0===e?void 0:r[e];n?.tool&&void 0!==e?r[e]={...n,tool:{...n.tool,results:t.results,more:t.more}}:n?.kind==="ask"&&void 0!==e&&(r[e]={id:n.id,bot:n.bot,to:null,text:n.text,kind:"tool",tool:{name:t.name,input:n.text,callId:t.callId,results:t.results,more:t.more}});break}case"ask":{s.set(t.callId,r.length);let o=n(t.to);a.set(t.callId,e),r.push({id:t.id,bot:e,to:o,text:t.text,kind:"ask",question:t.question,questionId:t.questionId})}}}if(r.forEach((e,t)=>{if("user"!==e.kind)return;let n=r.slice(0,t).findLast(t=>"user"!==t.kind&&t.bot.name===e.bot.name);n?.kind==="tool"&&(r[t]={...e,steppedIn:!0})}),"done"===e.status){let e=r.at(-1);if(e&&"say"===e.kind&&e.bot.name===o.name){let t=r.length-1;for(;t>0&&"say"===r[t-1].kind&&tI(r[t-1])===tI(e);)t-=1;let n=r.splice(t);r.push({...n[0],kind:"result",text:n.map(e=>e.text).join("\n\n")})}}let l=[o],u=e=>{e&&e.name!==to.ROOM_THURSDAY&&(l.some(t=>t.name===e.name)||l.push(e))};for(let t of e.room.participants)u(n(t.bot));for(let e of r)u(e.bot),u(e.to);return{id:e.id,room:e.room,request:e.request,label:e.label,bot:o,roster:l,lines:r,status:"running"===e.status?"working":e.status,outcome:e.outcome,ask:e.ask,seen:e.seen,routineId:e.routineId,tokens:e.tokens,contextTokens:e.contextTokens,contextBudget:e.contextBudget,updatedAt:e.updatedAt}}let tl=new Map,tu=new Map,td=[],tc=new Set,tp=[],tf=null,tg=new Set,tm=new Set,tv=!1,th=new Set,tb=!1,tS=new Set,tx=new Set,ty=new Set,tR=new Set,tE=[],tI=e=>e.id.slice(0,e.id.lastIndexOf("-")),tk=e=>"user"===e.kind?{name:to.ROOM_THURSDAY}:e.bot,tO=e=>"user"===e.kind?e.bot:e.to,tC=(e,t)=>({kind:"entry",speaker:e.bot,entry:{kind:"work",key:`${e.lines[0].id}-work`,lines:e.lines,open:t}});e.s(["botThreads",0,{sync(e,t){for(let n of(ti=!0,tr=[...e].reverse().map(e=>ts(e,t)),ta))n()},primed:()=>ti},"fileOpens",0,{open(e){for(let t of ty)t(e);return ty.size>0},subscribe:e=>(ty.add(e),()=>{ty.delete(e)})},"heardBy",0,tO,"lastSaid",0,function(e){for(let t=e.lines.length-1;t>=0;t--){let n=e.lines[t];if("user"!==n.kind&&"note"!==n.kind&&"stop"!==n.kind)return n}return null},"ringingThreads",0,{set(e){if(!(e.length===td.length&&e.every((e,t)=>td[t]===e)))for(let t of(td=e,tc))t()}},"roomOpen",0,{set(e){if(e!==tf)for(let t of(tf=e,tg))t()}},"roomOpens",0,{open(e){for(let t of tx)t(e??null)},subscribe:e=>(tx.add(e),()=>{tx.delete(e)})},"screenActs",0,{announce(e){for(let t of tR)t(e)},subscribe:e=>(tR.add(e),()=>{tR.delete(e)})},"threadDrafts",0,{recipient:e=>tu.get(e),select:(e,t)=>{tu.set(e,t)},get:(e,t,n)=>tl.get(e)?.get(JSON.stringify([t,n??null]))??"",set(e,t,n,o){let r=tl.get(e)??new Map,i=JSON.stringify([t,o??null]);n?r.set(i,n):r.delete(i),r.size?tl.set(e,r):tl.delete(e)}},"threadFromRow",0,ts,"threadItems",0,function(e,t,n=[]){let o,r=(o=new Set(e.lines.filter(e=>"tool"===e.kind||"ask"===e.kind).map(tI)),e=>"user"===e.kind||"ask"===e.kind||"result"===e.kind||"say"===e.kind&&!o.has(tI(e))),i=t===e.bot.name?e.lines:e.lines.filter(e=>tk(e).name===t||r(e)&&tO(e)?.name===t),a=new Set([e.bot.name,to.ROOM_THURSDAY]),s=new Map;for(let t of e.lines){let e=tO(t);e&&!a.has(e.name)&&(a.add(e.name),s.set(t.id,{from:tk(t),to:e})),a.add(t.bot.name)}let l=[],u=new Map,d=e=>{let t=e?u.get(e.name):void 0;t&&(u.delete(t.bot.name),l.push(tC(t,!1)))};for(let e of i){if(!r(e)){let t=u.get(e.bot.name)??{bot:e.bot,lines:[],at:0};t.lines.push(e),t.at=l.length,u.set(e.bot.name,t);continue}let t=tk(e);d(tO(e));let n=s.get(e.id);n&&l.push({kind:"invite",key:`${e.id}-joins`,...n}),d(t),l.push({kind:"entry",speaker:t,entry:{kind:"message",key:e.id,line:e}})}for(let e of[...u.values()].sort((e,t)=>e.at-t.at).reverse())l.splice(e.at,0,tC(e,!0));for(let e of n)u.has(e.name)||l.push({kind:"entry",speaker:e,entry:{kind:"work",key:`${e.name}-now`,lines:[],open:!0}});let c=[];for(let e of l){let t=c.at(-1);"invite"===e.kind?c.push(e):t?.kind==="turn"&&t.speaker.name===e.speaker.name?t.entries.push(e.entry):c.push({kind:"turn",key:e.entry.key,speaker:e.speaker,entries:[e.entry]})}return c},"useBotThreads",0,function(){return(0,n.useSyncExternalStore)(e=>(ta.add(e),()=>ta.delete(e)),()=>tr,()=>tE)},"useCallWaits",0,function(){return(0,n.useSyncExternalStore)(e=>(tS.add(e),()=>tS.delete(e)),()=>tb,()=>!1)},"useRingingThreads",0,function(){return(0,n.useSyncExternalStore)(e=>(tc.add(e),()=>tc.delete(e)),()=>td,()=>tp)},"useRoomOpen",0,function(){return(0,n.useSyncExternalStore)(e=>(tg.add(e),()=>tg.delete(e)),()=>tf,()=>null)},"useSeenOnDetail",0,function(e){let t=(0,n.useRef)(new Set),o=e?.id??null,r=e?`${e.id}@${(0,te.toDate)(e.updatedAt).getTime()}`:null,i=!!e&&(0,e9.isUnread)(e);(0,n.useEffect)(()=>{!o||!r||!i||t.current.has(r)||(t.current.add(r),e7([o]).then(tt.unwrapResult).then(()=>(0,tn.revalidate)(e8.queryKey.threads)).catch(e=>{t.current.delete(r),e6.toast.add({type:"error",title:"Could not mark the thread as read",description:(0,e2.errorToString)(e)})}))},[o,r,i])},"useWriteLineUp",0,function(){return(0,n.useSyncExternalStore)(e=>(th.add(e),()=>th.delete(e)),()=>tv,()=>!1)},"writeLine",0,{open(){for(let e of tm)e()},subscribe:e=>(tm.add(e),()=>{tm.delete(e)}),shown(e){if(e!==tv)for(let t of(tv=e,th))t()},waits(e){if(e!==tb)for(let t of(tb=e,tS))t()}}],978411)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,480869,e=>{"use strict";var t=e.i(843476),n=e.i(401851),a=e.i(493801),s=e.i(456420);let i={name:"calendar-days",size:24,node:[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M8 13h.01",key:"1sbv64"}],["path",{d:"M12 13h.01",key:"y0uutt"}],["path",{d:"M16 13h.01",key:"wip0gl"}],["path",{d:"M8 17h.01",key:"p3bg7i"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M16 17h.01",key:"ql8jdd"}]]};i.node;let r=(0,s.default)(i);var l=e.i(689664),o=e.i(716327),d=e.i(867927),u=e.i(632781),c=e.i(648119),m=e.i(21357),h=e.i(759659),x=e.i(263676),f=e.i(271645),p=e.i(798120),g=e.i(167881),b=e.i(630374),j=e.i(463415),y=e.i(23750),k=e.i(917162),v=e.i(421429),w=e.i(660302),N=e.i(319036),M=e.i(184762),S=e.i(41533),D=e.i(635963),T=e.i(978411),C=e.i(895836),$=e.i(989409),R=e.i(245629),O=e.i(609856),A=e.i(283653),z=e.i(647163),q=e.i(95187);let I=(0,q.createServerReference)("7ff4ff4876a9a3117f8c3a270dbdc3f12d40e19cbc",q.callServer,void 0,q.findSourceMapURL,"createRoutineAction"),E=(0,q.createServerReference)("7f3c723276b9cc18dcd61940331cc94124d50945bf",q.callServer,void 0,q.findSourceMapURL,"deleteRoutineAction"),P=(0,q.createServerReference)("7f23daacf2cfdea17779c77c96ea0e6fa530e806f5",q.callServer,void 0,q.findSourceMapURL,"runRoutineNowAction"),B=(0,q.createServerReference)("7f2f053a6a8607efed4fe598279bacb666a3365d72",q.callServer,void 0,q.findSourceMapURL,"updateRoutineAction");var F=e.i(504565);let H=[1,2,3,4,5,6,7],U=F.default.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"A time is HH:MM, 00:00 to 23:59");function K(e){let[t,n]=e.split(" "),[a,s,i]=t.split("-").map(Number),[r,l]=n.split(":").map(Number);return new Date(a,s-1,i,r,l)}let W=/^\d{4}-\d\d-\d\d ([01]\d|2[0-3]):[0-5]\d$/,L=F.default.string().regex(W,'A moment is "YYYY-MM-DD HH:MM"').refine(e=>{if(!W.test(e))return!0;let t=K(e);return t.getMonth()===Number(e.slice(5,7))-1&&t.getDate()===Number(e.slice(8,10))},"There is no such day"),G=F.default.discriminatedUnion("kind",[F.default.object({kind:F.default.literal("once"),at:L}),F.default.object({kind:F.default.literal("daily"),time:U,days:F.default.array(F.default.number().int().min(1).max(7)).min(1,"Pick at least one day").transform(e=>[...new Set(e)].sort((e,t)=>e-t))}),F.default.object({kind:F.default.literal("every"),hours:F.default.number().int().min(S.ROUTINE.minHours,`No more often than every ${S.ROUTINE.minHours}h`).max(168)})]),J=F.default.object({bot:F.default.string().trim().min(1,"Pick a bot"),label:F.default.string().trim().min(1,"Give it a name").max(80),request:F.default.string().trim().min(1,"Say what it should do"),schedule:G}),Y=F.default.object({id:F.default.string(),status:F.default.enum(["running","waiting","done","cancelled"]),outcome:F.default.string().nullable(),updatedAt:R.DateLikeSchema});J.extend({id:F.default.string(),enabled:F.default.boolean(),nextRunAt:R.DateLikeSchema,runs:F.default.array(Y)});let _=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],V=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function X(e){if("once"===e.kind){let[t,n]=e.at.split(" "),[,a,s]=t.split("-").map(Number);return`Once \xb7 ${V[a-1]} ${s} ${n}`}if("every"===e.kind)return 1===e.hours?"Every hour":`Every ${e.hours} hours`;let{days:t,time:n}=e;if(7===t.length)return`Daily ${n}`;if(1===t.length)return`${_[t[0]-1]} ${n}`;let a=t.every((e,n)=>0===n||e===t[n-1]+1)?`${_[t[0]-1]}–${_[t.at(-1)-1]}`:t.map(e=>_[e-1]).join(" ");return`Daily ${n} \xb7 ${a}`}var Q=e.i(431594);function Z({routine:e,bots:n,open:a,onOpen:s,onSwitch:i}){let r=function(e,t){let n=e.runs[0],a=n?.outcome?(0,z.plainText)(n.outcome):"",s=n?`${(0,R.whenOf)(n.updatedAt)}${a?` — ${a}`:""}`:"Not run yet";if(!e.enabled)return{text:`Off \xb7 ${s}`,tone:"text-muted-foreground"};let i=t?.find(t=>t.name===e.bot);return t&&(!i||i.disabled)?{text:i?`${e.bot} is switched off`:`${e.bot} is gone — pick another bot`,tone:z.WAITING_INK,waits:!0}:n?.status==="running"?{text:"Running now",tone:"",shine:!0}:n?.status==="waiting"?{text:`The last run waits on you${a?`: ${a}`:""}`,tone:z.WAITING_INK,waits:!0}:{text:s,tone:"text-muted-foreground"}}(e,n),l=e.runs[0]?.status==="running";return(0,t.jsxs)("div",{className:(0,z.cn)("flex items-center gap-3 p-4 transition-colors",a?"bg-muted/80":"hover:bg-muted/50"),children:[(0,t.jsxs)("button",{type:"button",onClick:s,className:(0,z.cn)("flex min-w-0 flex-1 items-center gap-3 rounded-md text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",!e.enabled&&"opacity-70"),children:[(0,t.jsx)(D.BotMark,{size:40,seed:e.bot,...(0,D.markOf)(e.bot,n),state:l?"thinking":"idle",notify:!!r.waits,className:"shrink-0"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.label}),l&&(0,t.jsx)(u.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),(0,t.jsx)("span",{className:"flex min-w-0 text-[13px] leading-snug",children:r.shine?(0,t.jsx)(w.ShinyText,{text:r.text,speed:2.2,className:"min-w-0 truncate"}):(0,t.jsx)("span",{className:(0,z.cn)("min-w-0 truncate",r.tone),children:r.text})})]}),(0,t.jsxs)("span",{className:"flex w-44 shrink-0 flex-col items-end gap-0.5 font-mono text-[11px] leading-4 text-muted-foreground tabular-nums",children:[(0,t.jsxs)("span",{className:"flex max-w-full items-center gap-1.5 text-foreground",children:[(0,t.jsx)(Q.RoutineMark,{className:"size-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"truncate",children:X(e.schedule)})]}),(0,t.jsx)("span",{className:"max-w-full truncate text-muted-foreground/70",children:e.enabled?`next ${(0,R.whenOf)(e.nextRunAt)}`:"off"})]})]}),(0,t.jsx)(N.Switch,{checked:e.enabled,onCheckedChange:i,"aria-label":`${e.label} on or off`,className:"shrink-0"}),(0,t.jsx)("button",{type:"button",onClick:s,"aria-label":`Open ${e.label}`,className:"shrink-0 rounded-md text-muted-foreground outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,t.jsx)(d.ChevronRight,{className:"size-4"})})]})}let ee=e=>String(e).padStart(2,"0");function et(e,t=new Date){let a=new Date(t);return a.setDate(a.getDate()+e),(0,n.format)(a,"yyyy-MM-dd")}let en=(e,t)=>{let n=e?.schedule;return{label:e?.label??"",bot:e?.bot??t.find(e=>!e.disabled)?.name??"",request:e?.request??"",kind:n?.kind??"daily",time:n?.kind==="daily"?n.time:n?.kind==="once"?n.at.slice(11):"09:00",days:n?.kind==="daily"?n.days:[...H],hours:n?.kind==="every"?n.hours:6,date:n?.kind==="once"?n.at.slice(0,10):et(1)}};function ea(e){let t=/^\d\d:\d\d$/.test(e.time);return"once"===e.kind?t&&e.date?{kind:"once",at:`${e.date} ${e.time}`}:null:"daily"===e.kind?e.days.length&&t?{kind:"daily",time:e.time,days:e.days}:null:{kind:"every",hours:e.hours}}let es=e=>e?.kind==="once"&&K(e.at)<=new Date,ei=[{label:"Every day",days:[...H]},{label:"Weekdays",days:[1,2,3,4,5]},{label:"Weekends",days:[6,7]}],er=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],el=[1,2,3,6,12,24].filter(e=>e>=S.ROUTINE.minHours);function eo({routine:e,bots:n,onClose:a,onMade:s}){var i,r;let l,[u,w]=(0,f.useState)(null),S=(0,f.useCallback)(e=>{w(e?.closest("[data-slot=dialog-content]")??null)},[]),C="new"===e?null:e,q="new"===e?"new":e?.id??"",[F,U]=(0,f.useState)(()=>en(C,n));(0,f.useEffect)(()=>U(en(C,n)),[q]);let K=e=>U(t=>({...t,...e})),W=()=>(0,A.revalidate)(p.queryKey.routines),[L,G]=(0,O.useServerAction)(I,{onOk:e=>{W(),s(e.id)}}),[J]=(0,O.useServerAction)(B,{onOk:W}),[Y]=(0,O.useServerAction)(E,{onOk:W}),[V,Z]=(0,O.useServerAction)(P,{onOk:()=>{W(),(0,A.revalidate)(p.queryKey.threads)}}),em=ea(F),eg=em&&!es(em)&&F.label.trim()&&F.bot&&F.request.trim()?{label:F.label.trim(),bot:F.bot,request:F.request.trim(),schedule:em}:null,eb=e=>{C&&J(C.id,e)},ej=e=>{K(e);let t=ea({...F,...e});!t||es(t)||eb({schedule:t,..."once"===t.kind?{enabled:!0}:{}})},ey=!!(C&&(F.label.trim()&&F.label.trim()!==C.label||F.request.trim()&&F.request.trim()!==C.request)),ek=async()=>{!C||await k.notify.confirm({title:`Delete "${C.label}"?`,description:"It starts no more. The jobs it already opened stay.",okText:"Delete",destructive:!0})&&(await Y(C.id).catch(()=>{}),a())},ev=n.find(e=>e.name===F.bot),ew=C?.runs[0]?.status==="running"||C?.runs[0]?.status==="waiting";return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{ref:S,hidden:!0}),(0,t.jsx)(b.Dialog,{open:!!(e&&u),onOpenChange:e=>!e&&a(),modal:!1,disablePointerDismissal:!0,children:(0,t.jsx)(b.DialogPortal,{container:u,children:(0,t.jsx)(b.DialogPopup,{className:"absolute inset-y-0 right-0 z-10 flex w-[min(35rem,calc(100%-13rem))] flex-col border-l border-border/60 bg-popover text-popover-foreground shadow-2xl shadow-black/10 duration-150 data-open:animate-in data-open:fade-in-0 data-open:slide-in-from-right-4 data-closed:animate-out data-closed:fade-out-0 data-closed:slide-out-to-right-4",children:e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2.5 pt-3.5 pr-3 pb-1.5 pl-5",children:[ev?(0,t.jsx)(D.BotMark,{size:28,seed:ev.name,...(0,D.markOf)(ev.name,n),notify:!1,className:"shrink-0"}):(0,t.jsx)("span",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground",children:(0,t.jsx)(Q.RoutineMark,{className:"size-3.5"})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)(b.DialogTitle,{className:"sr-only",children:C?C.label:"New routine"}),(0,t.jsx)("p",{className:"truncate text-[15px] leading-5 font-semibold",children:C?C.label:"New routine"}),C&&(0,t.jsxs)("p",{className:"mt-0.5 flex min-w-0 items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[(0,t.jsx)(Q.RoutineMark,{className:"size-3 shrink-0"}),(0,t.jsxs)("span",{className:"truncate",children:[C.bot," · ",X(C.schedule),C.enabled&&` \xb7 next ${(0,R.whenOf)(C.nextRunAt)}`]})]})]}),C&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(N.Switch,{checked:C.enabled,onCheckedChange:e=>void J(C.id,{enabled:e}),"aria-label":`${C.label} on or off`,className:"mr-1 shrink-0"}),(0,t.jsxs)(j.DropdownMenu,{children:[(0,t.jsx)(j.DropdownMenuTrigger,{render:(0,t.jsx)(g.Button,{size:"icon-sm",variant:"ghost","aria-label":"More",className:"text-muted-foreground"}),children:(0,t.jsx)(c.MoreHorizontal,{})}),(0,t.jsx)(j.DropdownMenuContent,{align:"end",children:(0,t.jsxs)(j.DropdownMenuItem,{variant:"destructive",onClick:ek,children:[(0,t.jsx)(h.Trash2,{}),"Delete"]})})]})]}),(0,t.jsx)(b.DialogClose,{render:(0,t.jsx)(g.Button,{size:"icon-sm",variant:"ghost","aria-label":"Close the routine"}),children:(0,t.jsx)(x.X,{})})]}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 space-y-4 overflow-y-auto px-5 pt-3 pb-5",children:[(0,t.jsxs)(ep,{label:"Name",htmlFor:"routine-name",children:[(0,t.jsx)(y.Input,{id:"routine-name",value:F.label,onChange:e=>K({label:e.target.value}),placeholder:"Morning mail",maxLength:80,autoFocus:!C}),(0,t.jsx)(ed,{children:"What it is called in this list, and what she calls it on a call."})]}),(0,t.jsxs)(ep,{label:"Bot",children:[(0,t.jsxs)(j.DropdownMenu,{children:[(0,t.jsxs)(j.DropdownMenuTrigger,{render:(0,t.jsx)(g.Button,{variant:"outline",className:"justify-start gap-2 pl-1.5 font-normal"}),children:[ev?(0,t.jsx)(D.BotMark,{size:20,seed:ev.name,...(0,D.markOf)(ev.name,n),notify:!1,className:"shrink-0"}):null,(0,t.jsx)("span",{className:(0,z.cn)(!ev&&"pl-1.5 text-muted-foreground"),children:ev?.name??(F.bot||"Pick a bot")}),(0,t.jsx)(o.ChevronDown,{className:"ml-1 size-3.5 text-muted-foreground"})]}),(0,t.jsx)(j.DropdownMenuContent,{align:"start",children:(0,t.jsx)(j.DropdownMenuGroup,{children:n.filter(e=>!e.disabled).map(e=>(0,t.jsxs)(j.DropdownMenuItem,{onClick:()=>{K({bot:e.name}),e.name!==C?.bot&&eb({bot:e.name})},children:[(0,t.jsx)(D.BotMark,{size:16,seed:e.name,...(0,D.markOf)(e.name,n),notify:!1,className:"shrink-0"}),e.name]},e.name))})})]}),(0,t.jsx)(ed,{children:"Who does the job each time it starts."})]}),(0,t.jsx)(ep,{label:"When",children:(0,t.jsxs)("div",{className:"space-y-3.5",children:[(0,t.jsx)(v.Segmented,{"aria-label":"How it starts",value:F.kind,onChange:e=>ej({kind:e}),options:[{value:"once",label:"Once"},{value:"daily",label:"On set days"},{value:"every",label:"Every few hours"}]}),(0,t.jsx)("div",{className:"space-y-2.5",children:"once"===F.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ec,{word:"On",children:(0,t.jsx)(eh,{value:F.date,onPick:e=>ej({date:e})})}),(0,t.jsxs)(ec,{word:"At",children:[(0,t.jsx)(ex,{value:F.time,onChange:e=>K({time:e}),onDone:()=>ej({})}),(0,t.jsx)("span",{className:"text-[13px] text-muted-foreground",children:"or"}),(0,t.jsx)(eu,{picked:!1,onClick:()=>{let e;return ej(((e=new Date(Date.now()+36e5)).setMinutes(5*Math.ceil(e.getMinutes()/5),0,0),{date:et(0,e),time:`${ee(e.getHours())}:${ee(e.getMinutes())}`}))},children:"In an hour"})]})]}):"daily"===F.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ec,{word:"On",children:H.map(e=>{let n=F.days.includes(e);return(0,t.jsx)(eu,{picked:n,several:!0,"aria-label":er[e-1],onClick:()=>ej({days:n?F.days.filter(t=>t!==e):[...F.days,e].sort((e,t)=>e-t)}),children:_[e-1]},e)})}),(0,t.jsx)(ec,{children:ei.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>ej({days:[...e.days]}),className:"h-6.5 rounded-full bg-muted px-2.5 text-xs text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:e.label},e.label))}),(0,t.jsx)(ec,{word:"At",children:(0,t.jsx)(ex,{value:F.time,onChange:e=>K({time:e}),onDone:()=>ej({})})})]}):(0,t.jsxs)(ec,{word:"Every",children:[(el.includes(F.hours)?el:[...el,F.hours].sort((e,t)=>e-t)).map(e=>(0,t.jsx)(eu,{picked:e===F.hours,onClick:()=>ej({hours:e}),className:"min-w-10 px-3",children:e},e)),(0,t.jsx)("span",{className:"text-[13px] text-muted-foreground",children:"hours"})]})}),(0,t.jsx)(ef,{schedule:em,kind:F.kind})]})}),(0,t.jsxs)(ep,{label:"Job",htmlFor:"routine-request",children:[(0,t.jsx)(M.Textarea,{id:"routine-request",value:F.request,onChange:e=>K({request:e.target.value}),placeholder:"Go through the mail that came since the last run and draft replies to what needs one. Send nothing.",className:"min-h-28"}),(0,t.jsx)(ed,{children:"Handed to the bot as a new thread each time, with a line on how the last run ended. Nobody is there to ask, so say everything it needs."})]}),C&&(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsx)("div",{className:"flex h-6 items-center",children:(0,t.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:"Runs"})}),0===C.runs.length?(0,t.jsx)("p",{className:"py-2 text-[13px] text-muted-foreground",children:"Not run yet."}):C.runs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{var t;return t=e.id,void($.useSettingsStore.getState().hide(),T.roomOpens.open(t))},className:"flex h-9 w-full items-center gap-3 border-t border-border/60 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,t.jsx)("span",{className:"w-28 shrink-0 font-mono text-[11px] text-muted-foreground tabular-nums",children:(0,R.whenOf)(e.updatedAt)}),(0,t.jsx)("span",{className:(0,z.cn)("min-w-0 flex-1 truncate","waiting"===e.status?z.WAITING_INK:"text-muted-foreground"),children:"running"===e.status?"Running now":e.outcome?(0,z.plainText)(e.outcome):"cancelled"===e.status?"Stopped":"No words"}),(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground"})]},e.id))]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-t border-border/60 px-5 py-3",children:[(0,t.jsx)("p",{className:"min-w-0 flex-1 text-xs leading-4 text-muted-foreground",children:C||eg?"Starts while Thursday is running on this computer, whether or not a tab is open. A time that passed meanwhile starts once, not once for each.":`Still needs ${i=F,r=em,(l=[i.label.trim()?null:"a name",i.bot?null:"a bot",!r?"a time":es(r)?"a time still ahead":null,i.request.trim()?null:"a job"].filter(e=>null!==e)).length>1?`${l.slice(0,-1).join(", ")} and ${l.at(-1)}`:l[0]??"nothing"}.`}),ey&&(0,t.jsx)(g.Button,{size:"sm",onClick:()=>{if(!C)return;let e={};F.label.trim()&&F.label.trim()!==C.label&&(e.label=F.label.trim()),F.request.trim()&&F.request.trim()!==C.request&&(e.request=F.request.trim()),Object.keys(e).length&&eb(e)},children:"Save"}),C?(0,t.jsxs)(g.Button,{variant:"outline",size:"sm",loading:Z,disabled:ew,title:ew?"Its last run is still open":void 0,onClick:()=>void V(C.id),children:[(0,t.jsx)(m.Play,{}),"Run now"]}):(0,t.jsx)(g.Button,{size:"sm",loading:G,disabled:!eg,onClick:()=>eg&&void L(eg),children:"Create"})]})]})})})})]})}let ed=({children:e})=>(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e});function eu({picked:e,several:n=!1,className:a,children:s,...i}){return(0,t.jsxs)("button",{type:"button","aria-pressed":e,className:(0,z.cn)("inline-flex h-8 items-center justify-center gap-1.5 rounded-full px-3.5 text-[13px] whitespace-nowrap outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",!e&&"text-foreground ring-1 ring-border ring-inset hover:bg-muted",e&&(n?"bg-brand/10 pl-2.5 font-medium text-brand ring-1 ring-brand/30 ring-inset":"bg-brand font-medium text-brand-foreground"),a),...i,children:[e&&n&&(0,t.jsx)(l.Check,{className:"size-3.5"}),s]})}function ec({word:e,children:n}){return(0,t.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,t.jsx)("span",{className:"flex h-8 w-9 shrink-0 items-center text-[13px] text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:n})]})}function em(e){let t=K(`${e} 00:00`),a=(t.getTime()-K(`${et(0)} 00:00`).getTime())/864e5;return(0,n.format)(t,a<7?"EEE d":"EEE, MMM d")}function eh({value:e,onPick:n}){let a=(0,f.useRef)(null),s=[0,1,2,3].map(e=>et(e)),i=()=>a.current?.showPicker();return(0,t.jsxs)(t.Fragment,{children:[s.map((a,s)=>(0,t.jsx)(eu,{picked:a===e,onClick:()=>n(a),children:0===s?"Today":1===s?"Tomorrow":em(a)},a)),!s.includes(e)&&(0,t.jsx)(eu,{picked:!0,onClick:i,children:em(e)}),(0,t.jsxs)("span",{className:"relative",children:[(0,t.jsx)(eu,{picked:!1,"aria-label":"Another day",onClick:i,className:"w-8 px-0",children:(0,t.jsx)(r,{className:"size-3.5"})}),(0,t.jsx)("input",{ref:a,type:"date",tabIndex:-1,"aria-hidden":!0,min:s[0],value:e,onChange:e=>e.target.value&&n(e.target.value),className:"pointer-events-none absolute inset-0 opacity-0"})]})]})}function ex({value:e,onChange:n,onDone:a}){return(0,t.jsx)(y.Input,{type:"time","aria-label":"Time of day",value:e,onChange:e=>n(e.target.value),onBlur:a,onClick:e=>e.currentTarget.showPicker?.(),className:"h-8.5 w-28 px-3 text-[15px] tabular-nums md:text-[15px] [&::-webkit-calendar-picker-indicator]:hidden"})}function ef({schedule:e,kind:n}){if(!e||es(e))return(0,t.jsx)("p",{className:"text-xs text-destructive",children:e?"That time has passed. Pick a later one.":"daily"===n?"Pick a time and at least one day.":"Pick a time."});let s=function(e,t){if("once"===e.kind)return K(e.at);if("every"===e.kind)return new Date(t.getTime()+36e5*e.hours);let[n,a]=e.time.split(":").map(Number);for(let s=0;s<=7;s++){let i=new Date(t);i.setDate(i.getDate()+s),i.setHours(n,a,0,0);let r=0===i.getDay()?7:i.getDay();if(i>t&&e.days.includes(r))return i}return new Date(t.getTime()+864e5)}(e,new Date);return(0,t.jsxs)("p",{className:"flex items-start gap-2 text-[13px] leading-5",children:[(0,t.jsx)(Q.RoutineMark,{className:"mt-0.75 size-3.5 shrink-0 text-muted-foreground"}),(0,t.jsxs)("span",{className:"min-w-0",children:[X(e),(0,t.jsxs)("span",{className:"text-muted-foreground",children:[" · ","once"===e.kind?`${(0,a.formatDistanceToNowStrict)(s,{addSuffix:!0})}, then it switches itself off`:`first start ${(0,R.whenOf)(s)}`]})]})]})}function ep({label:e,htmlFor:n,children:a}){return(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("label",{htmlFor:n,className:"w-14 shrink-0 pt-2 font-mono text-xs text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"min-w-0 flex-1 space-y-1.5",children:a})]})}e.s(["RoutineSetting",0,function(){let[e,n]=(0,f.useState)(null),{data:a,isLoading:s,error:i}=(0,A.useServerRoute)(p.queryKey.routines),{data:r}=(0,A.useServerRoute)(p.queryKey.bot),[l]=(0,O.useServerAction)(B,{onOk:()=>(0,A.revalidate)(p.queryKey.routines)});if(s)return(0,t.jsx)(C.SettingSkeleton,{rows:3});if(i)return(0,t.jsx)(C.SettingError,{message:i.message});let o=a??[],d=o.filter(e=>e.enabled).length,u=o.find(t=>t.id===e);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(C.SettingScreen,{footer:(0,t.jsxs)(C.SettingRailNote,{children:[o.length," set up · ",d," on",o.length>=S.ROUTINE.max&&` \xb7 ${S.ROUTINE.max} is the most`]}),children:(0,t.jsx)(C.SettingItems,{addRow:o.length<S.ROUTINE.max?{label:"New routine",onClick:()=>n("new")}:void 0,children:0===o.length?(0,t.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:'Nothing starts by itself yet. Tell Thursday what should — "every weekday at nine, go through my mail" — or make one here.'}):o.map(a=>(0,t.jsx)(Z,{routine:a,bots:r,open:a.id===e,onOpen:()=>n(a.id),onSwitch:e=>l(a.id,{enabled:e})},a.id))})}),(0,t.jsx)(eo,{routine:"new"===e?"new":u??null,bots:r??[],onClose:()=>n(null),onMade:e=>n(e)})]})}],480869)},648119,e=>{"use strict";var t=e.i(560972);e.s(["MoreHorizontal",()=>t.default])},21357,e=>{"use strict";var t=e.i(456420);let n={name:"play",size:24,node:[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]};n.node;let a=(0,t.default)(n);e.s(["Play",0,a],21357)},759659,e=>{"use strict";var t=e.i(456420);let n={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"]};n.node;let a=(0,t.default)(n);e.s(["Trash2",0,a],759659)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,480869,e=>{"use strict";var t=e.i(843476),n=e.i(401851),a=e.i(493801),s=e.i(456420);let i={name:"calendar-days",size:24,node:[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M8 13h.01",key:"1sbv64"}],["path",{d:"M12 13h.01",key:"y0uutt"}],["path",{d:"M16 13h.01",key:"wip0gl"}],["path",{d:"M8 17h.01",key:"p3bg7i"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M16 17h.01",key:"ql8jdd"}]]};i.node;let r=(0,s.default)(i);var l=e.i(689664),o=e.i(716327),d=e.i(867927),u=e.i(632781),c=e.i(648119),m=e.i(21357),h=e.i(759659),x=e.i(263676),f=e.i(271645),p=e.i(798120),g=e.i(167881),b=e.i(630374),j=e.i(463415),y=e.i(23750),k=e.i(917162),v=e.i(421429),w=e.i(660302),N=e.i(319036),M=e.i(184762),S=e.i(41533),D=e.i(635963),T=e.i(978411),C=e.i(895836),$=e.i(989409),R=e.i(245629),O=e.i(609856),A=e.i(283653),z=e.i(647163),q=e.i(95187);let I=(0,q.createServerReference)("7f2633dea123530a8f7e086310518c49a7e88250d8",q.callServer,void 0,q.findSourceMapURL,"createRoutineAction"),E=(0,q.createServerReference)("7f4a34a5376d63fb9292fcfa6183e8e73696d012d7",q.callServer,void 0,q.findSourceMapURL,"deleteRoutineAction"),P=(0,q.createServerReference)("7f8f4ce99e29c9fd3e83f7488012ebf101f50e2a46",q.callServer,void 0,q.findSourceMapURL,"runRoutineNowAction"),B=(0,q.createServerReference)("7f49fd624f4cd1de9cd3e7efe8d7adbaec253ff366",q.callServer,void 0,q.findSourceMapURL,"updateRoutineAction");var F=e.i(504565);let H=[1,2,3,4,5,6,7],U=F.default.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"A time is HH:MM, 00:00 to 23:59");function K(e){let[t,n]=e.split(" "),[a,s,i]=t.split("-").map(Number),[r,l]=n.split(":").map(Number);return new Date(a,s-1,i,r,l)}let W=/^\d{4}-\d\d-\d\d ([01]\d|2[0-3]):[0-5]\d$/,L=F.default.string().regex(W,'A moment is "YYYY-MM-DD HH:MM"').refine(e=>{if(!W.test(e))return!0;let t=K(e);return t.getMonth()===Number(e.slice(5,7))-1&&t.getDate()===Number(e.slice(8,10))},"There is no such day"),G=F.default.discriminatedUnion("kind",[F.default.object({kind:F.default.literal("once"),at:L}),F.default.object({kind:F.default.literal("daily"),time:U,days:F.default.array(F.default.number().int().min(1).max(7)).min(1,"Pick at least one day").transform(e=>[...new Set(e)].sort((e,t)=>e-t))}),F.default.object({kind:F.default.literal("every"),hours:F.default.number().int().min(S.ROUTINE.minHours,`No more often than every ${S.ROUTINE.minHours}h`).max(168)})]),J=F.default.object({bot:F.default.string().trim().min(1,"Pick a bot"),label:F.default.string().trim().min(1,"Give it a name").max(80),request:F.default.string().trim().min(1,"Say what it should do"),schedule:G}),Y=F.default.object({id:F.default.string(),status:F.default.enum(["running","waiting","done","cancelled"]),outcome:F.default.string().nullable(),updatedAt:R.DateLikeSchema});J.extend({id:F.default.string(),enabled:F.default.boolean(),nextRunAt:R.DateLikeSchema,runs:F.default.array(Y)});let _=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],V=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function X(e){if("once"===e.kind){let[t,n]=e.at.split(" "),[,a,s]=t.split("-").map(Number);return`Once \xb7 ${V[a-1]} ${s} ${n}`}if("every"===e.kind)return 1===e.hours?"Every hour":`Every ${e.hours} hours`;let{days:t,time:n}=e;if(7===t.length)return`Daily ${n}`;if(1===t.length)return`${_[t[0]-1]} ${n}`;let a=t.every((e,n)=>0===n||e===t[n-1]+1)?`${_[t[0]-1]}–${_[t.at(-1)-1]}`:t.map(e=>_[e-1]).join(" ");return`Daily ${n} \xb7 ${a}`}var Q=e.i(431594);function Z({routine:e,bots:n,open:a,onOpen:s,onSwitch:i}){let r=function(e,t){let n=e.runs[0],a=n?.outcome?(0,z.plainText)(n.outcome):"",s=n?`${(0,R.whenOf)(n.updatedAt)}${a?` — ${a}`:""}`:"Not run yet";if(!e.enabled)return{text:`Off \xb7 ${s}`,tone:"text-muted-foreground"};let i=t?.find(t=>t.name===e.bot);return t&&(!i||i.disabled)?{text:i?`${e.bot} is switched off`:`${e.bot} is gone — pick another bot`,tone:z.WAITING_INK,waits:!0}:n?.status==="running"?{text:"Running now",tone:"",shine:!0}:n?.status==="waiting"?{text:`The last run waits on you${a?`: ${a}`:""}`,tone:z.WAITING_INK,waits:!0}:{text:s,tone:"text-muted-foreground"}}(e,n),l=e.runs[0]?.status==="running";return(0,t.jsxs)("div",{className:(0,z.cn)("flex items-center gap-3 p-4 transition-colors",a?"bg-muted/80":"hover:bg-muted/50"),children:[(0,t.jsxs)("button",{type:"button",onClick:s,className:(0,z.cn)("flex min-w-0 flex-1 items-center gap-3 rounded-md text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",!e.enabled&&"opacity-70"),children:[(0,t.jsx)(D.BotMark,{size:40,seed:e.bot,...(0,D.markOf)(e.bot,n),state:l?"thinking":"idle",notify:!!r.waits,className:"shrink-0"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.label}),l&&(0,t.jsx)(u.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),(0,t.jsx)("span",{className:"flex min-w-0 text-[13px] leading-snug",children:r.shine?(0,t.jsx)(w.ShinyText,{text:r.text,speed:2.2,className:"min-w-0 truncate"}):(0,t.jsx)("span",{className:(0,z.cn)("min-w-0 truncate",r.tone),children:r.text})})]}),(0,t.jsxs)("span",{className:"flex w-44 shrink-0 flex-col items-end gap-0.5 font-mono text-[11px] leading-4 text-muted-foreground tabular-nums",children:[(0,t.jsxs)("span",{className:"flex max-w-full items-center gap-1.5 text-foreground",children:[(0,t.jsx)(Q.RoutineMark,{className:"size-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"truncate",children:X(e.schedule)})]}),(0,t.jsx)("span",{className:"max-w-full truncate text-muted-foreground/70",children:e.enabled?`next ${(0,R.whenOf)(e.nextRunAt)}`:"off"})]})]}),(0,t.jsx)(N.Switch,{checked:e.enabled,onCheckedChange:i,"aria-label":`${e.label} on or off`,className:"shrink-0"}),(0,t.jsx)("button",{type:"button",onClick:s,"aria-label":`Open ${e.label}`,className:"shrink-0 rounded-md text-muted-foreground outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,t.jsx)(d.ChevronRight,{className:"size-4"})})]})}let ee=e=>String(e).padStart(2,"0");function et(e,t=new Date){let a=new Date(t);return a.setDate(a.getDate()+e),(0,n.format)(a,"yyyy-MM-dd")}let en=(e,t)=>{let n=e?.schedule;return{label:e?.label??"",bot:e?.bot??t.find(e=>!e.disabled)?.name??"",request:e?.request??"",kind:n?.kind??"daily",time:n?.kind==="daily"?n.time:n?.kind==="once"?n.at.slice(11):"09:00",days:n?.kind==="daily"?n.days:[...H],hours:n?.kind==="every"?n.hours:6,date:n?.kind==="once"?n.at.slice(0,10):et(1)}};function ea(e){let t=/^\d\d:\d\d$/.test(e.time);return"once"===e.kind?t&&e.date?{kind:"once",at:`${e.date} ${e.time}`}:null:"daily"===e.kind?e.days.length&&t?{kind:"daily",time:e.time,days:e.days}:null:{kind:"every",hours:e.hours}}let es=e=>e?.kind==="once"&&K(e.at)<=new Date,ei=[{label:"Every day",days:[...H]},{label:"Weekdays",days:[1,2,3,4,5]},{label:"Weekends",days:[6,7]}],er=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],el=[1,2,3,6,12,24].filter(e=>e>=S.ROUTINE.minHours);function eo({routine:e,bots:n,onClose:a,onMade:s}){var i,r;let l,[u,w]=(0,f.useState)(null),S=(0,f.useCallback)(e=>{w(e?.closest("[data-slot=dialog-content]")??null)},[]),C="new"===e?null:e,q="new"===e?"new":e?.id??"",[F,U]=(0,f.useState)(()=>en(C,n));(0,f.useEffect)(()=>U(en(C,n)),[q]);let K=e=>U(t=>({...t,...e})),W=()=>(0,A.revalidate)(p.queryKey.routines),[L,G]=(0,O.useServerAction)(I,{onOk:e=>{W(),s(e.id)}}),[J]=(0,O.useServerAction)(B,{onOk:W}),[Y]=(0,O.useServerAction)(E,{onOk:W}),[V,Z]=(0,O.useServerAction)(P,{onOk:()=>{W(),(0,A.revalidate)(p.queryKey.threads)}}),em=ea(F),eg=em&&!es(em)&&F.label.trim()&&F.bot&&F.request.trim()?{label:F.label.trim(),bot:F.bot,request:F.request.trim(),schedule:em}:null,eb=e=>{C&&J(C.id,e)},ej=e=>{K(e);let t=ea({...F,...e});!t||es(t)||eb({schedule:t,..."once"===t.kind?{enabled:!0}:{}})},ey=!!(C&&(F.label.trim()&&F.label.trim()!==C.label||F.request.trim()&&F.request.trim()!==C.request)),ek=async()=>{!C||await k.notify.confirm({title:`Delete "${C.label}"?`,description:"It starts no more. The jobs it already opened stay.",okText:"Delete",destructive:!0})&&(await Y(C.id).catch(()=>{}),a())},ev=n.find(e=>e.name===F.bot),ew=C?.runs[0]?.status==="running"||C?.runs[0]?.status==="waiting";return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{ref:S,hidden:!0}),(0,t.jsx)(b.Dialog,{open:!!(e&&u),onOpenChange:e=>!e&&a(),modal:!1,disablePointerDismissal:!0,children:(0,t.jsx)(b.DialogPortal,{container:u,children:(0,t.jsx)(b.DialogPopup,{className:"absolute inset-y-0 right-0 z-10 flex w-[min(35rem,calc(100%-13rem))] flex-col border-l border-border/60 bg-popover text-popover-foreground shadow-2xl shadow-black/10 duration-150 data-open:animate-in data-open:fade-in-0 data-open:slide-in-from-right-4 data-closed:animate-out data-closed:fade-out-0 data-closed:slide-out-to-right-4",children:e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2.5 pt-3.5 pr-3 pb-1.5 pl-5",children:[ev?(0,t.jsx)(D.BotMark,{size:28,seed:ev.name,...(0,D.markOf)(ev.name,n),notify:!1,className:"shrink-0"}):(0,t.jsx)("span",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground",children:(0,t.jsx)(Q.RoutineMark,{className:"size-3.5"})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)(b.DialogTitle,{className:"sr-only",children:C?C.label:"New routine"}),(0,t.jsx)("p",{className:"truncate text-[15px] leading-5 font-semibold",children:C?C.label:"New routine"}),C&&(0,t.jsxs)("p",{className:"mt-0.5 flex min-w-0 items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[(0,t.jsx)(Q.RoutineMark,{className:"size-3 shrink-0"}),(0,t.jsxs)("span",{className:"truncate",children:[C.bot," · ",X(C.schedule),C.enabled&&` \xb7 next ${(0,R.whenOf)(C.nextRunAt)}`]})]})]}),C&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(N.Switch,{checked:C.enabled,onCheckedChange:e=>void J(C.id,{enabled:e}),"aria-label":`${C.label} on or off`,className:"mr-1 shrink-0"}),(0,t.jsxs)(j.DropdownMenu,{children:[(0,t.jsx)(j.DropdownMenuTrigger,{render:(0,t.jsx)(g.Button,{size:"icon-sm",variant:"ghost","aria-label":"More",className:"text-muted-foreground"}),children:(0,t.jsx)(c.MoreHorizontal,{})}),(0,t.jsx)(j.DropdownMenuContent,{align:"end",children:(0,t.jsxs)(j.DropdownMenuItem,{variant:"destructive",onClick:ek,children:[(0,t.jsx)(h.Trash2,{}),"Delete"]})})]})]}),(0,t.jsx)(b.DialogClose,{render:(0,t.jsx)(g.Button,{size:"icon-sm",variant:"ghost","aria-label":"Close the routine"}),children:(0,t.jsx)(x.X,{})})]}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 space-y-4 overflow-y-auto px-5 pt-3 pb-5",children:[(0,t.jsxs)(ep,{label:"Name",htmlFor:"routine-name",children:[(0,t.jsx)(y.Input,{id:"routine-name",value:F.label,onChange:e=>K({label:e.target.value}),placeholder:"Morning mail",maxLength:80,autoFocus:!C}),(0,t.jsx)(ed,{children:"What it is called in this list, and what she calls it on a call."})]}),(0,t.jsxs)(ep,{label:"Bot",children:[(0,t.jsxs)(j.DropdownMenu,{children:[(0,t.jsxs)(j.DropdownMenuTrigger,{render:(0,t.jsx)(g.Button,{variant:"outline",className:"justify-start gap-2 pl-1.5 font-normal"}),children:[ev?(0,t.jsx)(D.BotMark,{size:20,seed:ev.name,...(0,D.markOf)(ev.name,n),notify:!1,className:"shrink-0"}):null,(0,t.jsx)("span",{className:(0,z.cn)(!ev&&"pl-1.5 text-muted-foreground"),children:ev?.name??(F.bot||"Pick a bot")}),(0,t.jsx)(o.ChevronDown,{className:"ml-1 size-3.5 text-muted-foreground"})]}),(0,t.jsx)(j.DropdownMenuContent,{align:"start",children:(0,t.jsx)(j.DropdownMenuGroup,{children:n.filter(e=>!e.disabled).map(e=>(0,t.jsxs)(j.DropdownMenuItem,{onClick:()=>{K({bot:e.name}),e.name!==C?.bot&&eb({bot:e.name})},children:[(0,t.jsx)(D.BotMark,{size:16,seed:e.name,...(0,D.markOf)(e.name,n),notify:!1,className:"shrink-0"}),e.name]},e.name))})})]}),(0,t.jsx)(ed,{children:"Who does the job each time it starts."})]}),(0,t.jsx)(ep,{label:"When",children:(0,t.jsxs)("div",{className:"space-y-3.5",children:[(0,t.jsx)(v.Segmented,{"aria-label":"How it starts",value:F.kind,onChange:e=>ej({kind:e}),options:[{value:"once",label:"Once"},{value:"daily",label:"On set days"},{value:"every",label:"Every few hours"}]}),(0,t.jsx)("div",{className:"space-y-2.5",children:"once"===F.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ec,{word:"On",children:(0,t.jsx)(eh,{value:F.date,onPick:e=>ej({date:e})})}),(0,t.jsxs)(ec,{word:"At",children:[(0,t.jsx)(ex,{value:F.time,onChange:e=>K({time:e}),onDone:()=>ej({})}),(0,t.jsx)("span",{className:"text-[13px] text-muted-foreground",children:"or"}),(0,t.jsx)(eu,{picked:!1,onClick:()=>{let e;return ej(((e=new Date(Date.now()+36e5)).setMinutes(5*Math.ceil(e.getMinutes()/5),0,0),{date:et(0,e),time:`${ee(e.getHours())}:${ee(e.getMinutes())}`}))},children:"In an hour"})]})]}):"daily"===F.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ec,{word:"On",children:H.map(e=>{let n=F.days.includes(e);return(0,t.jsx)(eu,{picked:n,several:!0,"aria-label":er[e-1],onClick:()=>ej({days:n?F.days.filter(t=>t!==e):[...F.days,e].sort((e,t)=>e-t)}),children:_[e-1]},e)})}),(0,t.jsx)(ec,{children:ei.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>ej({days:[...e.days]}),className:"h-6.5 rounded-full bg-muted px-2.5 text-xs text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:e.label},e.label))}),(0,t.jsx)(ec,{word:"At",children:(0,t.jsx)(ex,{value:F.time,onChange:e=>K({time:e}),onDone:()=>ej({})})})]}):(0,t.jsxs)(ec,{word:"Every",children:[(el.includes(F.hours)?el:[...el,F.hours].sort((e,t)=>e-t)).map(e=>(0,t.jsx)(eu,{picked:e===F.hours,onClick:()=>ej({hours:e}),className:"min-w-10 px-3",children:e},e)),(0,t.jsx)("span",{className:"text-[13px] text-muted-foreground",children:"hours"})]})}),(0,t.jsx)(ef,{schedule:em,kind:F.kind})]})}),(0,t.jsxs)(ep,{label:"Job",htmlFor:"routine-request",children:[(0,t.jsx)(M.Textarea,{id:"routine-request",value:F.request,onChange:e=>K({request:e.target.value}),placeholder:"Go through the mail that came since the last run and draft replies to what needs one. Send nothing.",className:"min-h-28"}),(0,t.jsx)(ed,{children:"Handed to the bot as a new thread each time, with a line on how the last run ended. Nobody is there to ask, so say everything it needs."})]}),C&&(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsx)("div",{className:"flex h-6 items-center",children:(0,t.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:"Runs"})}),0===C.runs.length?(0,t.jsx)("p",{className:"py-2 text-[13px] text-muted-foreground",children:"Not run yet."}):C.runs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{var t;return t=e.id,void($.useSettingsStore.getState().hide(),T.roomOpens.open(t))},className:"flex h-9 w-full items-center gap-3 border-t border-border/60 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,t.jsx)("span",{className:"w-28 shrink-0 font-mono text-[11px] text-muted-foreground tabular-nums",children:(0,R.whenOf)(e.updatedAt)}),(0,t.jsx)("span",{className:(0,z.cn)("min-w-0 flex-1 truncate","waiting"===e.status?z.WAITING_INK:"text-muted-foreground"),children:"running"===e.status?"Running now":e.outcome?(0,z.plainText)(e.outcome):"cancelled"===e.status?"Stopped":"No words"}),(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground"})]},e.id))]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-t border-border/60 px-5 py-3",children:[(0,t.jsx)("p",{className:"min-w-0 flex-1 text-xs leading-4 text-muted-foreground",children:C||eg?"Starts while Thursday is running on this computer, whether or not a tab is open. A time that passed meanwhile starts once, not once for each.":`Still needs ${i=F,r=em,(l=[i.label.trim()?null:"a name",i.bot?null:"a bot",!r?"a time":es(r)?"a time still ahead":null,i.request.trim()?null:"a job"].filter(e=>null!==e)).length>1?`${l.slice(0,-1).join(", ")} and ${l.at(-1)}`:l[0]??"nothing"}.`}),ey&&(0,t.jsx)(g.Button,{size:"sm",onClick:()=>{if(!C)return;let e={};F.label.trim()&&F.label.trim()!==C.label&&(e.label=F.label.trim()),F.request.trim()&&F.request.trim()!==C.request&&(e.request=F.request.trim()),Object.keys(e).length&&eb(e)},children:"Save"}),C?(0,t.jsxs)(g.Button,{variant:"outline",size:"sm",loading:Z,disabled:ew,title:ew?"Its last run is still open":void 0,onClick:()=>void V(C.id),children:[(0,t.jsx)(m.Play,{}),"Run now"]}):(0,t.jsx)(g.Button,{size:"sm",loading:G,disabled:!eg,onClick:()=>eg&&void L(eg),children:"Create"})]})]})})})})]})}let ed=({children:e})=>(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e});function eu({picked:e,several:n=!1,className:a,children:s,...i}){return(0,t.jsxs)("button",{type:"button","aria-pressed":e,className:(0,z.cn)("inline-flex h-8 items-center justify-center gap-1.5 rounded-full px-3.5 text-[13px] whitespace-nowrap outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",!e&&"text-foreground ring-1 ring-border ring-inset hover:bg-muted",e&&(n?"bg-brand/10 pl-2.5 font-medium text-brand ring-1 ring-brand/30 ring-inset":"bg-brand font-medium text-brand-foreground"),a),...i,children:[e&&n&&(0,t.jsx)(l.Check,{className:"size-3.5"}),s]})}function ec({word:e,children:n}){return(0,t.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,t.jsx)("span",{className:"flex h-8 w-9 shrink-0 items-center text-[13px] text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:n})]})}function em(e){let t=K(`${e} 00:00`),a=(t.getTime()-K(`${et(0)} 00:00`).getTime())/864e5;return(0,n.format)(t,a<7?"EEE d":"EEE, MMM d")}function eh({value:e,onPick:n}){let a=(0,f.useRef)(null),s=[0,1,2,3].map(e=>et(e)),i=()=>a.current?.showPicker();return(0,t.jsxs)(t.Fragment,{children:[s.map((a,s)=>(0,t.jsx)(eu,{picked:a===e,onClick:()=>n(a),children:0===s?"Today":1===s?"Tomorrow":em(a)},a)),!s.includes(e)&&(0,t.jsx)(eu,{picked:!0,onClick:i,children:em(e)}),(0,t.jsxs)("span",{className:"relative",children:[(0,t.jsx)(eu,{picked:!1,"aria-label":"Another day",onClick:i,className:"w-8 px-0",children:(0,t.jsx)(r,{className:"size-3.5"})}),(0,t.jsx)("input",{ref:a,type:"date",tabIndex:-1,"aria-hidden":!0,min:s[0],value:e,onChange:e=>e.target.value&&n(e.target.value),className:"pointer-events-none absolute inset-0 opacity-0"})]})]})}function ex({value:e,onChange:n,onDone:a}){return(0,t.jsx)(y.Input,{type:"time","aria-label":"Time of day",value:e,onChange:e=>n(e.target.value),onBlur:a,onClick:e=>e.currentTarget.showPicker?.(),className:"h-8.5 w-28 px-3 text-[15px] tabular-nums md:text-[15px] [&::-webkit-calendar-picker-indicator]:hidden"})}function ef({schedule:e,kind:n}){if(!e||es(e))return(0,t.jsx)("p",{className:"text-xs text-destructive",children:e?"That time has passed. Pick a later one.":"daily"===n?"Pick a time and at least one day.":"Pick a time."});let s=function(e,t){if("once"===e.kind)return K(e.at);if("every"===e.kind)return new Date(t.getTime()+36e5*e.hours);let[n,a]=e.time.split(":").map(Number);for(let s=0;s<=7;s++){let i=new Date(t);i.setDate(i.getDate()+s),i.setHours(n,a,0,0);let r=0===i.getDay()?7:i.getDay();if(i>t&&e.days.includes(r))return i}return new Date(t.getTime()+864e5)}(e,new Date);return(0,t.jsxs)("p",{className:"flex items-start gap-2 text-[13px] leading-5",children:[(0,t.jsx)(Q.RoutineMark,{className:"mt-0.75 size-3.5 shrink-0 text-muted-foreground"}),(0,t.jsxs)("span",{className:"min-w-0",children:[X(e),(0,t.jsxs)("span",{className:"text-muted-foreground",children:[" · ","once"===e.kind?`${(0,a.formatDistanceToNowStrict)(s,{addSuffix:!0})}, then it switches itself off`:`first start ${(0,R.whenOf)(s)}`]})]})]})}function ep({label:e,htmlFor:n,children:a}){return(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("label",{htmlFor:n,className:"w-14 shrink-0 pt-2 font-mono text-xs text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"min-w-0 flex-1 space-y-1.5",children:a})]})}e.s(["RoutineSetting",0,function(){let[e,n]=(0,f.useState)(null),{data:a,isLoading:s,error:i}=(0,A.useServerRoute)(p.queryKey.routines),{data:r}=(0,A.useServerRoute)(p.queryKey.bot),[l]=(0,O.useServerAction)(B,{onOk:()=>(0,A.revalidate)(p.queryKey.routines)});if(s)return(0,t.jsx)(C.SettingSkeleton,{rows:3});if(i)return(0,t.jsx)(C.SettingError,{message:i.message});let o=a??[],d=o.filter(e=>e.enabled).length,u=o.find(t=>t.id===e);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(C.SettingScreen,{footer:(0,t.jsxs)(C.SettingRailNote,{children:[o.length," set up · ",d," on",o.length>=S.ROUTINE.max&&` \xb7 ${S.ROUTINE.max} is the most`]}),children:(0,t.jsx)(C.SettingItems,{addRow:o.length<S.ROUTINE.max?{label:"New routine",onClick:()=>n("new")}:void 0,children:0===o.length?(0,t.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:'Nothing starts by itself yet. Tell Thursday what should — "every weekday at nine, go through my mail" — or make one here.'}):o.map(a=>(0,t.jsx)(Z,{routine:a,bots:r,open:a.id===e,onOpen:()=>n(a.id),onSwitch:e=>l(a.id,{enabled:e})},a.id))})}),(0,t.jsx)(eo,{routine:"new"===e?"new":u??null,bots:r??[],onClose:()=>n(null),onMade:e=>n(e)})]})}],480869)},648119,e=>{"use strict";var t=e.i(560972);e.s(["MoreHorizontal",()=>t.default])},21357,e=>{"use strict";var t=e.i(456420);let n={name:"play",size:24,node:[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]};n.node;let a=(0,t.default)(n);e.s(["Play",0,a],21357)},759659,e=>{"use strict";var t=e.i(456420);let n={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"]};n.node;let a=(0,t.default)(n);e.s(["Trash2",0,a],759659)}]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,986530,e=>{"use strict";var t=e.i(843476),n=e.i(225913);e.i(271645);var s=e.i(647163);function a({className:e,...n}){return(0,t.jsx)("label",{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...n})}e.i(652225);let r=(0,n.cva)("group/field flex w-full gap-2 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:"flex-col *:w-full [&>.sr-only]:w-auto",horizontal:"flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",responsive:"flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"}},defaultVariants:{orientation:"vertical"}});e.s(["Field",0,function({className:e,orientation:n="vertical",...a}){return(0,t.jsx)("div",{role:"group","data-slot":"field","data-orientation":n,className:(0,s.cn)(r({orientation:n}),e),...a})},"FieldContent",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"field-content",className:(0,s.cn)("group/field-content flex flex-1 flex-col gap-0.5 leading-snug",e),...n})},"FieldLabel",0,function({className:e,...n}){return(0,t.jsx)(a,{"data-slot":"field-label",className:(0,s.cn)("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",e),...n})}],986530)},787800,e=>{"use strict";var t=e.i(843476),n=e.i(689664),s=e.i(716327),a=e.i(867927),r=e.i(21357),o=e.i(77071),i=e.i(456420);let c={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]};c.node;let l=(0,i.default)(c),d={name:"server",size:24,node:[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]};d.node;let m=(0,i.default)(d);var u=e.i(759659),p=e.i(263676),h=e.i(271645),f=e.i(798120),g=e.i(167881),x=e.i(986530),v=e.i(23750),j=e.i(647163);let b=(0,h.memo)(({data:e,name:n,initialExpandDepth:s=2})=>{let a=(0,h.useMemo)(()=>"string"==typeof e?function(e){let t=e.trim();if(!(t.startsWith("{")&&t.endsWith("}"))&&!(t.startsWith("[")&&t.endsWith("]")))return{success:!1,data:e};try{return{success:!0,data:JSON.parse(e)}}catch{return{success:!1,data:e}}}(e).data:e,[e]);return(0,t.jsx)("div",{className:"text-sm",children:(0,t.jsx)(k,{data:a,name:n,depth:0,initialExpandDepth:s})})});b.displayName="JsonView";let y=(e,t)=>({role:"button",tabIndex:0,"aria-expanded":e,onClick:t,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),t())}}),N="outline-none focus-visible:ring-3 focus-visible:ring-ring/50",k=(0,h.memo)(({data:e,name:n,depth:s=0,initialExpandDepth:a})=>{var r;let o=void 0===e?"undefined":Array.isArray(e)?"array":null===e?"null":typeof e,[i,c]=(0,h.useState)("string"!==o&&s<a),l={number:"text-blue-500",boolean:"text-amber-500",null:"text-purple-500",undefined:"text-gray-500",string:"text-foreground break-all whitespace-pre-wrap",default:"text-muted-foreground"};switch(o){case"object":case"array":let d,m,u;return m=(d=(r="array"===o)?e:Object.entries(e)).length,u={open:r?"[":"{",close:r?"]":"}",collapsed:r?"[ ... ]":"{ ... }",empty:r?"[]":"{}"},0===m?(0,t.jsxs)("div",{className:"flex items-center",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:"text-muted-foreground",children:u.empty})]}):(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("div",{className:(0,j.cn)("flex items-center mr-1 rounded cursor-pointer group hover:bg-input/30",N),...y(i,()=>c(!i)),children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground hover:text-foreground",children:[n,":"]}),i?(0,t.jsx)("span",{className:"text-muted-foreground group-hover:text-foreground",children:u.open}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground group-hover:text-foreground",children:u.collapsed}),(0,t.jsxs)("span",{className:"ml-1 text-muted-foreground group-hover:text-foreground",children:[m," ",1===m?"item":"items"]})]})]}),i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"pl-2 ml-4 border-l border-border",children:r?d.map((e,n)=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(k,{data:e,name:`${n}`,depth:s+1,initialExpandDepth:a})},n)):d.map(([e,n])=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(k,{data:n,name:e,depth:s+1,initialExpandDepth:a})},e))}),(0,t.jsx)("div",{className:"text-muted-foreground",children:u.close})]})]});case"string":return e.length>100?(0,t.jsxs)("div",{className:"flex mr-1 rounded group hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground hover:text-foreground",children:[n,":"]}),(0,t.jsx)("pre",{className:(0,j.cn)(l.string,"cursor-pointer group-hover:text-foreground",N),...y(i,()=>c(!i)),title:i?"Click to collapse":"Click to expand",children:i?`"${e}"`:`"${e.slice(0,100)}..."`})]}):(0,t.jsxs)("div",{className:"flex mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsxs)("pre",{className:l.string,children:['"',e,'"']})]});case"undefined":return(0,t.jsxs)("div",{className:"flex items-center mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:l.undefined,children:"undefined"})]});default:return(0,t.jsxs)("div",{className:"flex items-center mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:l[o]||l.default,children:null===e?"null":String(e)})]})}});k.displayName="JsonNode";var S=e.i(917162),w=e.i(818125),z=e.i(319036),C=e.i(127341),O=e.i(184762),A=e.i(6799),T=e.i(95187);let P=(0,T.createServerReference)("7f2607be463b8eeb1a2cac4aae2faabaeed529db3a",T.callServer,void 0,T.findSourceMapURL,"callToolAction"),F=(0,T.createServerReference)("7f431d2117cb26852604d2d8066222a52b92e65acb",T.callServer,void 0,T.findSourceMapURL,"deleteServerAction"),$=(0,T.createServerReference)("7f9eab4ab2fa9c2c4b962ac33d68d9b653879cd2f3",T.callServer,void 0,T.findSourceMapURL,"refreshServerAction"),R=(0,T.createServerReference)("7f85484c6a1f815367476f4d19618dadb7f6ab48da",T.callServer,void 0,T.findSourceMapURL,"registerServerAction");var M=e.i(681307),D=e.i(245629);let L=M.z.object({url:M.z.url(),headers:M.z.record(M.z.string(),M.z.string()).optional()}),E=M.z.object({command:M.z.string().min(1),args:M.z.array(M.z.string()).optional(),env:M.z.record(M.z.string(),M.z.string()).optional()}),I=M.z.union([L,E]),q=M.z.object({name:M.z.string(),description:M.z.string().optional(),inputSchema:M.z.looseObject({}).optional(),outputSchema:M.z.looseObject({}).optional()});function B(e){return"url"in e}M.z.object({clientInformation:M.z.looseObject({}).optional(),tokens:M.z.looseObject({}).optional(),authorizationServer:M.z.looseObject({}).optional(),codeVerifier:M.z.string().optional(),state:M.z.string().optional()});let J=M.z.object({name:M.z.string().min(1).max(40),config:I,toolCount:M.z.number().int(),lastError:M.z.string().nullish()}),U=q.extend({id:M.z.number().int(),description:M.z.string().nullish()});J.omit({toolCount:!0}).extend({tools:U.array().default([]),toolsSyncedAt:D.DateLikeSchema});let K=M.z.object({name:M.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:I}),H=M.z.union([M.z.object({mcpServers:M.z.record(M.z.string(),I)}),M.z.record(M.z.string(),I)]),V=[{name:"todoist",icon:"todoist.com",description:"Tasks, projects, and due dates",config:{url:"https://ai.todoist.net/mcp"}},{name:"home-assistant",icon:"home-assistant.io",description:"Lights, switches, and the rest of the house — your address and a long-lived token",config:{url:"http://homeassistant.local:8123/api/mcp",headers:{Authorization:"Bearer <your-home-assistant-token>"}}},{name:"kiwi",icon:"kiwi.com",description:"Flight search — no account",config:{url:"https://mcp.kiwi.com"}},{name:"zapier",icon:"zapier.com",description:"Gmail, Google Calendar, and thousands of apps you connect there",config:{url:"https://mcp.zapier.com/api/v1/connect"}},{name:"notion",icon:"notion.so",description:"Pages, databases, and search",config:{url:"https://mcp.notion.com/mcp"}},{name:"canva",icon:"canva.com",description:"Create and manage designs",config:{url:"https://mcp.canva.com/mcp"}},{name:"slack",icon:"slack.com",description:"Channels, messages, and search",config:{url:"https://mcp.slack.com/mcp"}},{name:"box",icon:"box.com",description:"Files, folders, and content search",config:{url:"https://mcp.box.com/mcp"}},{name:"airtable",icon:"airtable.com",description:"Bases, tables, and records",config:{url:"https://mcp.airtable.com/mcp"}},{name:"fireflies",icon:"fireflies.ai",description:"Meeting transcripts and summaries",config:{url:"https://mcp.fireflies.ai/mcp"}},{name:"asana",icon:"asana.com",description:"Tasks, projects, and portfolios",config:{url:"https://mcp.asana.com/mcp"}},{name:"monday",icon:"monday.com",description:"Boards, items, and updates",config:{url:"https://mcp.monday.com/mcp"}},{name:"clickup",icon:"clickup.com",description:"Tasks, docs, and spaces",config:{url:"https://mcp.clickup.com/mcp"}},{name:"linear",icon:"linear.app",description:"Issues, projects, and cycles",config:{url:"https://mcp.linear.app/mcp"}},{name:"atlassian",icon:"atlassian.com",description:"Jira and Confluence",config:{url:"https://mcp.atlassian.com/v1/mcp"}},{name:"hubspot",icon:"hubspot.com",description:"Contacts, deals, and companies",config:{url:"https://app.hubspot.com/mcp/v1/http"}},{name:"attio",icon:"attio.com",description:"CRM records and lists",config:{url:"https://mcp.attio.com/mcp"}},{name:"intercom",icon:"intercom.com",description:"Conversations and support tickets",config:{url:"https://mcp.intercom.com/mcp"}},{name:"wix",icon:"wix.com",description:"Sites, stores, and bookings",config:{url:"https://mcp.wix.com/mcp"}},{name:"webflow",icon:"webflow.com",description:"Sites, pages, and CMS collections",config:{url:"https://mcp.webflow.com/mcp"}},{name:"sanity",icon:"sanity.io",description:"Structured content and datasets",config:{url:"https://mcp.sanity.io/mcp"}},{name:"stripe",icon:"stripe.com",description:"Payments, invoices, and customers",config:{url:"https://mcp.stripe.com"}},{name:"paypal",icon:"paypal.com",description:"Payments and orders",config:{url:"https://mcp.paypal.com/mcp"}},{name:"square",icon:"squareup.com",description:"Payments, catalog, and orders",config:{url:"https://mcp.squareup.com/mcp"}},{name:"ramp",icon:"ramp.com",description:"Spend, cards, and transactions",config:{url:"https://mcp.ramp.com/mcp"}},{name:"github",icon:"github.com",description:"Repos, issues, PRs — paste a personal access token",config:{url:"https://api.githubcopilot.com/mcp/",headers:{Authorization:"Bearer <your-github-pat>"}}},{name:"vercel",icon:"vercel.com",description:"Deployments and projects",config:{url:"https://mcp.vercel.com"}},{name:"netlify",icon:"netlify.com",description:"Sites, builds, and deploys",config:{url:"https://mcp.netlify.com/mcp"}},{name:"cloudflare",icon:"cloudflare.com",description:"Workers bindings — D1, R2, KV",config:{url:"https://bindings.mcp.cloudflare.com/mcp"}},{name:"supabase",icon:"supabase.com",description:"Projects, tables, and SQL",config:{url:"https://mcp.supabase.com/mcp"}},{name:"neon",icon:"neon.tech",description:"Postgres branches and queries",config:{url:"https://mcp.neon.tech/mcp"}},{name:"prisma",icon:"prisma.io",description:"Postgres databases and schema",config:{url:"https://mcp.prisma.io/mcp"}},{name:"sentry",icon:"sentry.io",description:"Errors and performance issues",config:{url:"https://mcp.sentry.dev/mcp"}},{name:"grafana",icon:"grafana.com",description:"Dashboards, metrics, and alerts",config:{url:"https://mcp.grafana.com/mcp"}},{name:"semgrep",icon:"semgrep.dev",description:"Scan code for security findings",config:{url:"https://mcp.semgrep.ai/mcp"}},{name:"postman",icon:"postman.com",description:"Collections, environments, and requests",config:{url:"https://mcp.postman.com/mcp"}},{name:"resend",icon:"resend.com",description:"Send email and manage audiences",config:{url:"https://mcp.resend.com/mcp"}},{name:"hugging-face",icon:"huggingface.co",description:"Models, datasets, and Spaces",config:{url:"https://huggingface.co/mcp"}},{name:"apify",icon:"apify.com",description:"Run scrapers and automation actors",config:{url:"https://mcp.apify.com"}},{name:"exa",icon:"exa.ai",description:"Web search for agents",config:{url:"https://mcp.exa.ai/mcp"}},{name:"kagi",icon:"kagi.com",description:"Search, summarize, and answer",config:{url:"https://mcp.kagi.com/mcp"}},{name:"context7",icon:"context7.com",description:"Up-to-date library docs",config:{url:"https://mcp.context7.com/mcp"}},{name:"deepwiki",icon:"deepwiki.com",description:"Ask questions about any GitHub repo",config:{url:"https://mcp.deepwiki.com/mcp"}},{name:"microsoft-learn",icon:"learn.microsoft.com",description:"Microsoft and Azure docs — no account",config:{url:"https://learn.microsoft.com/api/mcp"}},{name:"aws-knowledge",icon:"aws.amazon.com",description:"AWS docs and API references — no account",config:{url:"https://knowledge-mcp.global.api.aws"}},{name:"cloudflare-docs",icon:"developers.cloudflare.com",description:"Cloudflare docs — no account",config:{url:"https://docs.mcp.cloudflare.com/mcp"}},{name:"stack-overflow",icon:"stackoverflow.com",description:"Questions, answers, and teams",config:{url:"https://mcp.stackoverflow.com"}}];var W=e.i(895836),_=e.i(333999),G=e.i(609856),Q=e.i(283653);function X({name:e,onDone:n}){let[s,a]=(0,h.useState)(""),{data:r,isLoading:o}=(0,Q.useServerRoute)(f.queryKey.mcpServer(e)),[i,c]=(0,G.useServerAction)($,{...el,onOk:t=>{el.onOk(t),(0,Q.revalidate)(f.queryKey.mcpServer(e))}}),[d,m]=(0,G.useServerAction)(F,{okMessage:"Server deleted",onOk:()=>{n(),(0,Q.revalidate)(f.queryKey.mcp)}}),p=async()=>{await S.notify.confirm({title:`Delete ${e}?`,description:"Its connection and saved authorization go with it.",okText:"Delete",destructive:!0})&&d(e)};if(o)return(0,t.jsx)(W.SettingSkeleton,{rows:4});if(!r)return null;let x=r.tools.length,v=s.trim().toLowerCase(),j=v?r.tools.filter(e=>`${e.name} ${e.description??""}`.toLowerCase().includes(v)):r.tools,b=B(r.config)?"HTTP":"STDIO";return(0,t.jsxs)(W.SettingDialogContent,{title:r.name,description:(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,t.jsx)("span",{className:"shrink-0 rounded-sm bg-muted px-1.5 py-0.5 font-mono text-[10px]",children:b}),(0,t.jsx)("span",{className:"truncate font-mono",children:em(r.config)})]}),footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(g.Button,{variant:"ghost",loading:m,onClick:p,className:"mr-auto text-destructive hover:text-destructive",children:[(0,t.jsx)(u.Trash2,{}),"Delete"]}),(0,t.jsxs)(g.Button,{variant:"outline",loading:c,onClick:()=>i(r.name),children:[(0,t.jsx)(l,{}),"Reconnect"]})]}),children:[r.lastError&&(0,t.jsx)("p",{className:"rounded-lg bg-destructive/10 px-3 py-2 font-mono text-xs text-destructive",children:r.lastError}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(W.SettingFilter,{value:s,onChange:a,placeholder:"Filter tools"}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:[x," ",1===x?"tool":"tools"]})]}),j.map(e=>(0,t.jsx)(ee,{tool:e,serverName:r.name},e.name)),0===j.length&&x>0&&(0,t.jsx)("p",{className:"py-6 text-center text-sm text-muted-foreground",children:"No tool here goes by that."})]})}function Y({server:e}){let s=e.toolCount,r=e.lastError?"error":s>0?"connected":"idle";return(0,t.jsxs)("button",{type:"button",onClick:()=>{S.notify.component({className:"sm:max-w-3xl",renderer:({close:n})=>(0,t.jsx)(X,{name:e.name,onDone:n})})},className:"group 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,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(Z,{server:e})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.name}),"connected"===r&&(0,t.jsx)(n.Check,{className:"size-3 shrink-0 text-muted-foreground"})]}),(0,t.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:"error"===r?(0,t.jsx)("span",{className:"text-destructive",children:e.lastError}):(0,t.jsxs)(t.Fragment,{children:[s>0?`${s} ${1===s?"tool":"tools"}`:"No tools yet",(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted-foreground/70",children:[" · ",em(e.config)]})]})})]}),(0,t.jsx)(a.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 transition-colors group-hover:text-foreground"})]})}function Z({server:e}){let n,s=(n=V.find(t=>B(t.config)?B(e.config)&&t.config.url.replace(/\/+$/,"")===e.config.url.replace(/\/+$/,""):!B(e.config)&&t.config.command===e.config.command&&(t.config.args??[]).join(" ")===(e.config.args??[]).join(" "))??V.find(t=>t.name===e.name),n?.icon);return s?(0,t.jsx)(w.SiteIcon,{host:s,className:"size-5",fallback:(0,t.jsx)(m,{className:"size-4"})}):(0,t.jsx)(m,{className:"size-4"})}function ee({tool:e,serverName:n}){let[r,o]=(0,h.useState)(!1),[i,c]=(0,h.useState)(!1),[l,d]=(0,h.useState)(!1),m=[["inputSchema",e.inputSchema],["outputSchema",e.outputSchema]].filter(([,e])=>e);return(0,t.jsxs)("div",{className:"rounded-xl border border-border/60 bg-background p-4",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-sm",children:e.name}),m.length>0&&(0,t.jsxs)(g.Button,{size:"xs",variant:"ghost",className:"shrink-0 font-mono",onClick:()=>o(!r),children:[r?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(a.ChevronRight,{}),"Schema"]}),(0,t.jsxs)(g.Button,{size:"xs",variant:"ghost",className:"shrink-0 font-mono",onClick:()=>c(!i),children:[i?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(a.ChevronRight,{}),"Test"]})]}),e.description?(0,t.jsx)("p",{className:(0,j.cn)("mt-0.5 text-xs leading-relaxed text-muted-foreground",!l&&"line-clamp-2",e.description.length>140&&"cursor-pointer"),onClick:()=>d(!l),children:e.description}):null,r?(0,t.jsx)("div",{className:"mt-2 space-y-3 overflow-x-auto rounded-lg border border-input p-3",children:m.map(([e,n])=>(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"block font-mono text-xs text-muted-foreground",children:"inputSchema"===e?"in":"out"}),(0,t.jsx)("pre",{className:"font-mono text-xs leading-relaxed whitespace-pre",children:function e(t,n=0){if(!t||"object"!=typeof t)return"unknown";let s=" ".repeat(n+1),a=" ".repeat(n);if(Array.isArray(t.enum))return t.enum.map(e=>JSON.stringify(e)).join(" | ");let r=t.anyOf??t.oneOf;if(Array.isArray(r))return r.map(t=>e(t,n)).join(" | ");if("array"===t.type){let s=e(t.items,n);return/[|{]/.test(s)?`(${s})[]`:`${s}[]`}if("object"===t.type||t.properties){let r=t.properties;if(!r||0===Object.keys(r).length)return"{}";let o=t.required??[],i=Object.entries(r).map(([t,a])=>{let r=o.includes(t)?"":"?",i=a?.description,c="string"==typeof i&&i.length<=60?` // ${i}`:"";return`${s}${t}${r}: ${e(a,n+1)}${c}`});return`{
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,986530,e=>{"use strict";var t=e.i(843476),n=e.i(225913);e.i(271645);var s=e.i(647163);function r({className:e,...n}){return(0,t.jsx)("label",{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...n})}e.i(652225);let a=(0,n.cva)("group/field flex w-full gap-2 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:"flex-col *:w-full [&>.sr-only]:w-auto",horizontal:"flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",responsive:"flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"}},defaultVariants:{orientation:"vertical"}});e.s(["Field",0,function({className:e,orientation:n="vertical",...r}){return(0,t.jsx)("div",{role:"group","data-slot":"field","data-orientation":n,className:(0,s.cn)(a({orientation:n}),e),...r})},"FieldContent",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"field-content",className:(0,s.cn)("group/field-content flex flex-1 flex-col gap-0.5 leading-snug",e),...n})},"FieldLabel",0,function({className:e,...n}){return(0,t.jsx)(r,{"data-slot":"field-label",className:(0,s.cn)("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",e),...n})}],986530)},787800,e=>{"use strict";var t=e.i(843476),n=e.i(689664),s=e.i(716327),r=e.i(867927),a=e.i(21357),o=e.i(77071),i=e.i(456420);let c={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]};c.node;let l=(0,i.default)(c),d={name:"server",size:24,node:[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]};d.node;let m=(0,i.default)(d);var u=e.i(759659),p=e.i(263676),h=e.i(271645),f=e.i(798120),g=e.i(167881),x=e.i(986530),v=e.i(23750),j=e.i(647163);let b=(0,h.memo)(({data:e,name:n,initialExpandDepth:s=2})=>{let r=(0,h.useMemo)(()=>"string"==typeof e?function(e){let t=e.trim();if(!(t.startsWith("{")&&t.endsWith("}"))&&!(t.startsWith("[")&&t.endsWith("]")))return{success:!1,data:e};try{return{success:!0,data:JSON.parse(e)}}catch{return{success:!1,data:e}}}(e).data:e,[e]);return(0,t.jsx)("div",{className:"text-sm",children:(0,t.jsx)(k,{data:r,name:n,depth:0,initialExpandDepth:s})})});b.displayName="JsonView";let y=(e,t)=>({role:"button",tabIndex:0,"aria-expanded":e,onClick:t,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),t())}}),N="outline-none focus-visible:ring-3 focus-visible:ring-ring/50",k=(0,h.memo)(({data:e,name:n,depth:s=0,initialExpandDepth:r})=>{var a;let o=void 0===e?"undefined":Array.isArray(e)?"array":null===e?"null":typeof e,[i,c]=(0,h.useState)("string"!==o&&s<r),l={number:"text-blue-500",boolean:"text-amber-500",null:"text-purple-500",undefined:"text-gray-500",string:"text-foreground break-all whitespace-pre-wrap",default:"text-muted-foreground"};switch(o){case"object":case"array":let d,m,u;return m=(d=(a="array"===o)?e:Object.entries(e)).length,u={open:a?"[":"{",close:a?"]":"}",collapsed:a?"[ ... ]":"{ ... }",empty:a?"[]":"{}"},0===m?(0,t.jsxs)("div",{className:"flex items-center",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:"text-muted-foreground",children:u.empty})]}):(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("div",{className:(0,j.cn)("flex items-center mr-1 rounded cursor-pointer group hover:bg-input/30",N),...y(i,()=>c(!i)),children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground hover:text-foreground",children:[n,":"]}),i?(0,t.jsx)("span",{className:"text-muted-foreground group-hover:text-foreground",children:u.open}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground group-hover:text-foreground",children:u.collapsed}),(0,t.jsxs)("span",{className:"ml-1 text-muted-foreground group-hover:text-foreground",children:[m," ",1===m?"item":"items"]})]})]}),i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"pl-2 ml-4 border-l border-border",children:a?d.map((e,n)=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(k,{data:e,name:`${n}`,depth:s+1,initialExpandDepth:r})},n)):d.map(([e,n])=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(k,{data:n,name:e,depth:s+1,initialExpandDepth:r})},e))}),(0,t.jsx)("div",{className:"text-muted-foreground",children:u.close})]})]});case"string":return e.length>100?(0,t.jsxs)("div",{className:"flex mr-1 rounded group hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground hover:text-foreground",children:[n,":"]}),(0,t.jsx)("pre",{className:(0,j.cn)(l.string,"cursor-pointer group-hover:text-foreground",N),...y(i,()=>c(!i)),title:i?"Click to collapse":"Click to expand",children:i?`"${e}"`:`"${e.slice(0,100)}..."`})]}):(0,t.jsxs)("div",{className:"flex mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsxs)("pre",{className:l.string,children:['"',e,'"']})]});case"undefined":return(0,t.jsxs)("div",{className:"flex items-center mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:l.undefined,children:"undefined"})]});default:return(0,t.jsxs)("div",{className:"flex items-center mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:l[o]||l.default,children:null===e?"null":String(e)})]})}});k.displayName="JsonNode";var S=e.i(917162),w=e.i(818125),z=e.i(319036),C=e.i(127341),O=e.i(184762),A=e.i(6799),T=e.i(95187);let P=(0,T.createServerReference)("7fc53d56f838fdefc5e5fd0d4218b30d47f147d148",T.callServer,void 0,T.findSourceMapURL,"callToolAction"),F=(0,T.createServerReference)("7f0d14c75d10f95d2f1385361b978ef914d0445e58",T.callServer,void 0,T.findSourceMapURL,"deleteServerAction"),$=(0,T.createServerReference)("7f2bbe2fb22956935dc2d6c080a169cf9e3111cf8b",T.callServer,void 0,T.findSourceMapURL,"refreshServerAction"),R=(0,T.createServerReference)("7f123485e54c9bf80441d9a34de78e6ac84abc560f",T.callServer,void 0,T.findSourceMapURL,"registerServerAction");var M=e.i(681307),D=e.i(245629);let L=M.z.object({url:M.z.url(),headers:M.z.record(M.z.string(),M.z.string()).optional()}),E=M.z.object({command:M.z.string().min(1),args:M.z.array(M.z.string()).optional(),env:M.z.record(M.z.string(),M.z.string()).optional()}),I=M.z.union([L,E]),q=M.z.object({name:M.z.string(),description:M.z.string().optional(),inputSchema:M.z.looseObject({}).optional(),outputSchema:M.z.looseObject({}).optional()});function B(e){return"url"in e}M.z.object({clientInformation:M.z.looseObject({}).optional(),tokens:M.z.looseObject({}).optional(),authorizationServer:M.z.looseObject({}).optional(),codeVerifier:M.z.string().optional(),state:M.z.string().optional()});let J=M.z.object({name:M.z.string().min(1).max(40),config:I,toolCount:M.z.number().int(),lastError:M.z.string().nullish()}),U=q.extend({id:M.z.number().int(),description:M.z.string().nullish()});J.omit({toolCount:!0}).extend({tools:U.array().default([]),toolsSyncedAt:D.DateLikeSchema});let K=M.z.object({name:M.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:I}),H=M.z.union([M.z.object({mcpServers:M.z.record(M.z.string(),I)}),M.z.record(M.z.string(),I)]),V=[{name:"todoist",icon:"todoist.com",description:"Tasks, projects, and due dates",config:{url:"https://ai.todoist.net/mcp"}},{name:"home-assistant",icon:"home-assistant.io",description:"Lights, switches, and the rest of the house — your address and a long-lived token",config:{url:"http://homeassistant.local:8123/api/mcp",headers:{Authorization:"Bearer <your-home-assistant-token>"}}},{name:"kiwi",icon:"kiwi.com",description:"Flight search — no account",config:{url:"https://mcp.kiwi.com"}},{name:"zapier",icon:"zapier.com",description:"Gmail, Google Calendar, and thousands of apps you connect there",config:{url:"https://mcp.zapier.com/api/v1/connect"}},{name:"notion",icon:"notion.so",description:"Pages, databases, and search",config:{url:"https://mcp.notion.com/mcp"}},{name:"canva",icon:"canva.com",description:"Create and manage designs",config:{url:"https://mcp.canva.com/mcp"}},{name:"slack",icon:"slack.com",description:"Channels, messages, and search",config:{url:"https://mcp.slack.com/mcp"}},{name:"box",icon:"box.com",description:"Files, folders, and content search",config:{url:"https://mcp.box.com/mcp"}},{name:"airtable",icon:"airtable.com",description:"Bases, tables, and records",config:{url:"https://mcp.airtable.com/mcp"}},{name:"fireflies",icon:"fireflies.ai",description:"Meeting transcripts and summaries",config:{url:"https://mcp.fireflies.ai/mcp"}},{name:"asana",icon:"asana.com",description:"Tasks, projects, and portfolios",config:{url:"https://mcp.asana.com/mcp"}},{name:"monday",icon:"monday.com",description:"Boards, items, and updates",config:{url:"https://mcp.monday.com/mcp"}},{name:"clickup",icon:"clickup.com",description:"Tasks, docs, and spaces",config:{url:"https://mcp.clickup.com/mcp"}},{name:"linear",icon:"linear.app",description:"Issues, projects, and cycles",config:{url:"https://mcp.linear.app/mcp"}},{name:"atlassian",icon:"atlassian.com",description:"Jira and Confluence",config:{url:"https://mcp.atlassian.com/v1/mcp"}},{name:"hubspot",icon:"hubspot.com",description:"Contacts, deals, and companies",config:{url:"https://app.hubspot.com/mcp/v1/http"}},{name:"attio",icon:"attio.com",description:"CRM records and lists",config:{url:"https://mcp.attio.com/mcp"}},{name:"intercom",icon:"intercom.com",description:"Conversations and support tickets",config:{url:"https://mcp.intercom.com/mcp"}},{name:"wix",icon:"wix.com",description:"Sites, stores, and bookings",config:{url:"https://mcp.wix.com/mcp"}},{name:"webflow",icon:"webflow.com",description:"Sites, pages, and CMS collections",config:{url:"https://mcp.webflow.com/mcp"}},{name:"sanity",icon:"sanity.io",description:"Structured content and datasets",config:{url:"https://mcp.sanity.io/mcp"}},{name:"stripe",icon:"stripe.com",description:"Payments, invoices, and customers",config:{url:"https://mcp.stripe.com"}},{name:"paypal",icon:"paypal.com",description:"Payments and orders",config:{url:"https://mcp.paypal.com/mcp"}},{name:"square",icon:"squareup.com",description:"Payments, catalog, and orders",config:{url:"https://mcp.squareup.com/mcp"}},{name:"ramp",icon:"ramp.com",description:"Spend, cards, and transactions",config:{url:"https://mcp.ramp.com/mcp"}},{name:"github",icon:"github.com",description:"Repos, issues, PRs — paste a personal access token",config:{url:"https://api.githubcopilot.com/mcp/",headers:{Authorization:"Bearer <your-github-pat>"}}},{name:"vercel",icon:"vercel.com",description:"Deployments and projects",config:{url:"https://mcp.vercel.com"}},{name:"netlify",icon:"netlify.com",description:"Sites, builds, and deploys",config:{url:"https://mcp.netlify.com/mcp"}},{name:"cloudflare",icon:"cloudflare.com",description:"Workers bindings — D1, R2, KV",config:{url:"https://bindings.mcp.cloudflare.com/mcp"}},{name:"supabase",icon:"supabase.com",description:"Projects, tables, and SQL",config:{url:"https://mcp.supabase.com/mcp"}},{name:"neon",icon:"neon.tech",description:"Postgres branches and queries",config:{url:"https://mcp.neon.tech/mcp"}},{name:"prisma",icon:"prisma.io",description:"Postgres databases and schema",config:{url:"https://mcp.prisma.io/mcp"}},{name:"sentry",icon:"sentry.io",description:"Errors and performance issues",config:{url:"https://mcp.sentry.dev/mcp"}},{name:"grafana",icon:"grafana.com",description:"Dashboards, metrics, and alerts",config:{url:"https://mcp.grafana.com/mcp"}},{name:"semgrep",icon:"semgrep.dev",description:"Scan code for security findings",config:{url:"https://mcp.semgrep.ai/mcp"}},{name:"postman",icon:"postman.com",description:"Collections, environments, and requests",config:{url:"https://mcp.postman.com/mcp"}},{name:"resend",icon:"resend.com",description:"Send email and manage audiences",config:{url:"https://mcp.resend.com/mcp"}},{name:"hugging-face",icon:"huggingface.co",description:"Models, datasets, and Spaces",config:{url:"https://huggingface.co/mcp"}},{name:"apify",icon:"apify.com",description:"Run scrapers and automation actors",config:{url:"https://mcp.apify.com"}},{name:"exa",icon:"exa.ai",description:"Web search for agents",config:{url:"https://mcp.exa.ai/mcp"}},{name:"kagi",icon:"kagi.com",description:"Search, summarize, and answer",config:{url:"https://mcp.kagi.com/mcp"}},{name:"context7",icon:"context7.com",description:"Up-to-date library docs",config:{url:"https://mcp.context7.com/mcp"}},{name:"deepwiki",icon:"deepwiki.com",description:"Ask questions about any GitHub repo",config:{url:"https://mcp.deepwiki.com/mcp"}},{name:"microsoft-learn",icon:"learn.microsoft.com",description:"Microsoft and Azure docs — no account",config:{url:"https://learn.microsoft.com/api/mcp"}},{name:"aws-knowledge",icon:"aws.amazon.com",description:"AWS docs and API references — no account",config:{url:"https://knowledge-mcp.global.api.aws"}},{name:"cloudflare-docs",icon:"developers.cloudflare.com",description:"Cloudflare docs — no account",config:{url:"https://docs.mcp.cloudflare.com/mcp"}},{name:"stack-overflow",icon:"stackoverflow.com",description:"Questions, answers, and teams",config:{url:"https://mcp.stackoverflow.com"}}];var W=e.i(895836),_=e.i(333999),G=e.i(609856),Q=e.i(283653);function X({name:e,onDone:n}){let[s,r]=(0,h.useState)(""),{data:a,isLoading:o}=(0,Q.useServerRoute)(f.queryKey.mcpServer(e)),[i,c]=(0,G.useServerAction)($,{...el,onOk:t=>{el.onOk(t),(0,Q.revalidate)(f.queryKey.mcpServer(e))}}),[d,m]=(0,G.useServerAction)(F,{okMessage:"Server deleted",onOk:()=>{n(),(0,Q.revalidate)(f.queryKey.mcp)}}),p=async()=>{await S.notify.confirm({title:`Delete ${e}?`,description:"Its connection and saved authorization go with it.",okText:"Delete",destructive:!0})&&d(e)};if(o)return(0,t.jsx)(W.SettingSkeleton,{rows:4});if(!a)return null;let x=a.tools.length,v=s.trim().toLowerCase(),j=v?a.tools.filter(e=>`${e.name} ${e.description??""}`.toLowerCase().includes(v)):a.tools,b=B(a.config)?"HTTP":"STDIO";return(0,t.jsxs)(W.SettingDialogContent,{title:a.name,description:(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,t.jsx)("span",{className:"shrink-0 rounded-sm bg-muted px-1.5 py-0.5 font-mono text-[10px]",children:b}),(0,t.jsx)("span",{className:"truncate font-mono",children:em(a.config)})]}),footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(g.Button,{variant:"ghost",loading:m,onClick:p,className:"mr-auto text-destructive hover:text-destructive",children:[(0,t.jsx)(u.Trash2,{}),"Delete"]}),(0,t.jsxs)(g.Button,{variant:"outline",loading:c,onClick:()=>i(a.name),children:[(0,t.jsx)(l,{}),"Reconnect"]})]}),children:[a.lastError&&(0,t.jsx)("p",{className:"rounded-lg bg-destructive/10 px-3 py-2 font-mono text-xs text-destructive",children:a.lastError}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(W.SettingFilter,{value:s,onChange:r,placeholder:"Filter tools"}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:[x," ",1===x?"tool":"tools"]})]}),j.map(e=>(0,t.jsx)(ee,{tool:e,serverName:a.name},e.name)),0===j.length&&x>0&&(0,t.jsx)("p",{className:"py-6 text-center text-sm text-muted-foreground",children:"No tool here goes by that."})]})}function Y({server:e}){let s=e.toolCount,a=e.lastError?"error":s>0?"connected":"idle";return(0,t.jsxs)("button",{type:"button",onClick:()=>{S.notify.component({className:"sm:max-w-3xl",renderer:({close:n})=>(0,t.jsx)(X,{name:e.name,onDone:n})})},className:"group 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,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(Z,{server:e})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.name}),"connected"===a&&(0,t.jsx)(n.Check,{className:"size-3 shrink-0 text-muted-foreground"})]}),(0,t.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:"error"===a?(0,t.jsx)("span",{className:"text-destructive",children:e.lastError}):(0,t.jsxs)(t.Fragment,{children:[s>0?`${s} ${1===s?"tool":"tools"}`:"No tools yet",(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted-foreground/70",children:[" · ",em(e.config)]})]})})]}),(0,t.jsx)(r.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 transition-colors group-hover:text-foreground"})]})}function Z({server:e}){let n,s=(n=V.find(t=>B(t.config)?B(e.config)&&t.config.url.replace(/\/+$/,"")===e.config.url.replace(/\/+$/,""):!B(e.config)&&t.config.command===e.config.command&&(t.config.args??[]).join(" ")===(e.config.args??[]).join(" "))??V.find(t=>t.name===e.name),n?.icon);return s?(0,t.jsx)(w.SiteIcon,{host:s,className:"size-5",fallback:(0,t.jsx)(m,{className:"size-4"})}):(0,t.jsx)(m,{className:"size-4"})}function ee({tool:e,serverName:n}){let[a,o]=(0,h.useState)(!1),[i,c]=(0,h.useState)(!1),[l,d]=(0,h.useState)(!1),m=[["inputSchema",e.inputSchema],["outputSchema",e.outputSchema]].filter(([,e])=>e);return(0,t.jsxs)("div",{className:"rounded-xl border border-border/60 bg-background p-4",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-sm",children:e.name}),m.length>0&&(0,t.jsxs)(g.Button,{size:"xs",variant:"ghost",className:"shrink-0 font-mono",onClick:()=>o(!a),children:[a?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(r.ChevronRight,{}),"Schema"]}),(0,t.jsxs)(g.Button,{size:"xs",variant:"ghost",className:"shrink-0 font-mono",onClick:()=>c(!i),children:[i?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(r.ChevronRight,{}),"Test"]})]}),e.description?(0,t.jsx)("p",{className:(0,j.cn)("mt-0.5 text-xs leading-relaxed text-muted-foreground",!l&&"line-clamp-2",e.description.length>140&&"cursor-pointer"),onClick:()=>d(!l),children:e.description}):null,a?(0,t.jsx)("div",{className:"mt-2 space-y-3 overflow-x-auto rounded-lg border border-input p-3",children:m.map(([e,n])=>(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"block font-mono text-xs text-muted-foreground",children:"inputSchema"===e?"in":"out"}),(0,t.jsx)("pre",{className:"font-mono text-xs leading-relaxed whitespace-pre",children:function e(t,n=0){if(!t||"object"!=typeof t)return"unknown";let s=" ".repeat(n+1),r=" ".repeat(n);if(Array.isArray(t.enum))return t.enum.map(e=>JSON.stringify(e)).join(" | ");let a=t.anyOf??t.oneOf;if(Array.isArray(a))return a.map(t=>e(t,n)).join(" | ");if("array"===t.type){let s=e(t.items,n);return/[|{]/.test(s)?`(${s})[]`:`${s}[]`}if("object"===t.type||t.properties){let a=t.properties;if(!a||0===Object.keys(a).length)return"{}";let o=t.required??[],i=Object.entries(a).map(([t,r])=>{let a=o.includes(t)?"":"?",i=r?.description,c="string"==typeof i&&i.length<=60?` // ${i}`:"";return`${s}${t}${a}: ${e(r,n+1)}${c}`});return`{
|
|
2
2
|
${i.join("\n")}
|
|
3
|
-
${
|
|
3
|
+
${r}}`}return Array.isArray(t.type)?t.type.join(" | "):"string"==typeof t.type?t.type:"unknown"}(n)})]},e))}):null,i?(0,t.jsx)(et,{tool:e,serverName:n}):null]})}function et({tool:e,serverName:n}){let[s,r]=(0,h.useState)(()=>(function(e){let t=e.inputSchema?.properties;if(!t||"object"!=typeof t)return"{}";let n={};for(let[e,s]of Object.entries(t))n[e]=s?.type==="number"||s?.type==="integer"?0:s?.type!=="boolean"&&(s?.type==="array"?[]:s?.type==="object"?{}:"");return JSON.stringify(n,null,2)})(e)),[o,i]=(0,h.useState)(""),[c,l,d,m,u]=(0,G.useServerAction)(P,{errorMessage:!1});return(0,t.jsxs)("div",{className:"mt-2 space-y-2 rounded-lg border border-input p-3",children:[(0,t.jsx)(O.Textarea,{value:s,onChange:e=>r(e.target.value),spellCheck:!1,className:"min-h-24 resize-none font-mono text-xs"}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-xs text-destructive",children:o||m}),(0,t.jsxs)(g.Button,{size:"sm",loading:l,onClick:()=>{let t;try{t=s.trim()?JSON.parse(s):void 0}catch{i("Not valid JSON");return}i(""),u(),c(n,e.name,t)},children:[!l&&(0,t.jsx)(a.Play,{}),"Run"]})]}),void 0!==d&&(0,t.jsx)("div",{className:"overflow-x-auto rounded-lg bg-muted/40 p-3",children:(0,t.jsx)(b,{data:d,initialExpandDepth:3})})]})}function en(e){return S.notify.component({className:"sm:max-w-lg",renderer:({close:n})=>(0,t.jsx)(es,{initial:e,onDone:n})})}function es({initial:e,onDone:n}){let s=e&&B(e.config)?e.config:void 0,r=e&&!B(e.config)?e.config:void 0,[a,o]=(0,_.useObjectState)({mode:r?"stdio":"http",name:e?.name??"",url:s?.url??"",headers:eo(s?.headers),command:r?.command??"",args:(r?.args??[]).join(" "),env:eo(r?.env),raw:""}),{mode:i,name:c,url:l,headers:d,command:m,args:u,env:p,raw:f}=a,[j,b]=(0,G.useServerAction)(R,{...el,onOk:e=>{el.onOk(e),"error"!==e.status&&n()}}),y=(0,h.useMemo)(()=>{var e,t,n,s,r;let a,o;return"json"===i?function(e){let t,n=e.trim();if(!n)return{value:null,error:""};try{t=JSON.parse(n)}catch{return{value:null,error:"Not valid JSON"}}let s=I.safeParse(t);if(s.success)return{value:{name:null,config:s.data},error:""};let r=H.safeParse(t);if(!r.success)return{value:null,error:"Needs a url or a command"};let a=Object.entries("mcpServers"in r.data?r.data.mcpServers:r.data)[0];return a?{value:{name:a[0],config:a[1]},error:""}:{value:null,error:"No server in there"}}(f):"http"===i?(e=l,t=d,(a=L.safeParse({url:e.trim(),headers:ei(t)})).success?{value:{name:null,config:a.data},error:""}:{value:null,error:e.trim()?"Needs a valid url":""}):(n=m,s=u,r=p,(o=E.safeParse({command:n.trim(),args:s.split(/\s+/).filter(Boolean),env:ei(r)})).success?{value:{name:null,config:o.data},error:""}:{value:null,error:n.trim()?"Needs a command":""})},[i,f,l,d,m,u,p]),N="json"===i?f:JSON.stringify([i,l,d,m,u,p]),[k,S]=(0,h.useState)(N);(0,h.useEffect)(()=>{let e=setTimeout(()=>S(N),700);return()=>clearTimeout(e)},[N]);let w=k===N?y.error:"",A=c||y.value?.name||"",T=K.safeParse({name:A,config:y.value?.config});function P(e){let t=y.value?.config;return t?"json"===e?o({mode:e,raw:JSON.stringify(t,null,2)}):"http"===e&&B(t)?o({mode:e,url:t.url,headers:eo(t.headers)}):"stdio"!==e||B(t)?void o({mode:e}):o({mode:e,command:t.command,args:(t.args??[]).join(" "),env:eo(t.env)}):o({mode:e})}let F=(0,t.jsxs)("span",{className:"flex items-center gap-2 font-mono text-xs text-muted-foreground",children:["JSON",(0,t.jsx)(z.Switch,{size:"sm",checked:"json"===i,onCheckedChange:e=>{let t;return e?P("json"):void P((t=y.value?.config)&&!B(t)?"stdio":"http")}})]});return(0,t.jsx)(W.SettingDialogContent,{title:"Add MCP server",description:"Its tools become available to every bot.",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g.Button,{variant:"ghost",onClick:n,children:"Cancel"}),(0,t.jsx)(g.Button,{disabled:!T.success,loading:b,onClick:()=>{T.success&&!b&&j(T.data)},children:"Connect"})]}),children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)(x.Field,{children:[(0,t.jsx)(x.FieldLabel,{children:"Name"}),(0,t.jsx)(v.Input,{value:A,onChange:e=>o({name:e.target.value}),placeholder:"notion",spellCheck:!1})]}),"json"===i?(0,t.jsxs)(x.Field,{children:[(0,t.jsxs)("div",{className:"flex min-h-6 items-center justify-between gap-2",children:[(0,t.jsx)(x.FieldLabel,{children:"JSON"}),F]}),(0,t.jsx)(O.Textarea,{value:f,onChange:e=>o({raw:e.target.value}),spellCheck:!1,placeholder:ec,className:"min-h-64 resize-none font-mono text-xs"})]}):(0,t.jsxs)(C.Tabs,{value:i,onValueChange:e=>P(e),className:"gap-6",children:[(0,t.jsxs)(x.Field,{children:[(0,t.jsxs)("div",{className:"flex min-h-6 items-center justify-between gap-2",children:[(0,t.jsx)(x.FieldLabel,{children:"Transport"}),F]}),(0,t.jsxs)(C.TabsList,{className:"w-full",children:[(0,t.jsx)(C.TabsTrigger,{value:"http",children:"HTTP"}),(0,t.jsx)(C.TabsTrigger,{value:"stdio",children:"STDIO"})]})]}),(0,t.jsxs)(C.TabsContent,{value:"http",className:"space-y-6",children:[(0,t.jsxs)(x.Field,{children:[(0,t.jsx)(x.FieldLabel,{children:"URL"}),(0,t.jsx)(v.Input,{value:l,onChange:e=>o({url:e.target.value}),placeholder:"https://mcp.notion.com/mcp",spellCheck:!1,className:"font-mono text-xs"})]}),(0,t.jsx)(er,{label:"Headers",pairs:d,onChange:e=>o({headers:e}),keyPlaceholder:"Authorization",valuePlaceholder:"Bearer sk-..."})]}),(0,t.jsxs)(C.TabsContent,{value:"stdio",className:"space-y-6",children:[(0,t.jsxs)(x.Field,{children:[(0,t.jsx)(x.FieldLabel,{children:"Command"}),(0,t.jsx)(v.Input,{value:m,onChange:e=>o({command:e.target.value}),placeholder:"npx",spellCheck:!1,className:"font-mono text-xs"})]}),(0,t.jsxs)(x.Field,{children:[(0,t.jsx)(x.FieldLabel,{children:"Args"}),(0,t.jsx)(v.Input,{value:u,onChange:e=>o({args:e.target.value}),placeholder:"-y @notionhq/notion-mcp-server",spellCheck:!1,className:"font-mono text-xs"})]}),(0,t.jsx)(er,{label:"Env",pairs:p,onChange:e=>o({env:e}),keyPlaceholder:"NOTION_TOKEN",valuePlaceholder:"ntn_..."})]})]}),w&&(0,t.jsx)("p",{className:"font-mono text-xs text-destructive",children:w})]})})}function er({label:e,pairs:n,onChange:s,keyPlaceholder:r,valuePlaceholder:a}){let i=(e,t)=>s(n.map(n=>n.id===e?{...n,...t}:n));return(0,t.jsxs)(x.Field,{children:[(0,t.jsx)(x.FieldLabel,{children:e}),(0,t.jsxs)("div",{className:"space-y-2",children:[n.map(e=>(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(v.Input,{value:e.key,onChange:t=>i(e.id,{key:t.target.value}),placeholder:r,spellCheck:!1,className:"font-mono text-xs"}),(0,t.jsx)(v.Input,{value:e.value,onChange:t=>i(e.id,{value:t.target.value}),placeholder:a,spellCheck:!1,className:"font-mono text-xs"}),(0,t.jsx)(g.Button,{variant:"ghost",size:"icon","aria-label":"Remove this row",onClick:()=>s(n.filter(t=>t.id!==e.id)),children:(0,t.jsx)(p.X,{})})]},e.id)),(0,t.jsxs)(g.Button,{variant:"outline",size:"sm",onClick:()=>s([...n,ea()]),children:[(0,t.jsx)(o.Plus,{}),"Add"]})]})]})}let ea=(e="",t="")=>({id:crypto.randomUUID(),key:e,value:t}),eo=e=>Object.entries(e??{}).map(([e,t])=>ea(e,t)),ei=e=>{let t=e.filter(e=>e.key.trim());if(t.length)return Object.fromEntries(t.map(e=>[e.key.trim(),e.value]))},ec=`/** STDIO Example */
|
|
4
4
|
{
|
|
5
5
|
"command": "node",
|
|
6
6
|
"args": ["index.js"],
|
|
@@ -15,4 +15,4 @@ ${a}}`}return Array.isArray(t.type)?t.type.join(" | "):"string"==typeof t.type?t
|
|
|
15
15
|
"headers": {
|
|
16
16
|
"Authorization": "Bearer sk-..."
|
|
17
17
|
}
|
|
18
|
-
}`,el={onOk:e=>{(0,Q.revalidate)(f.queryKey.mcp),function(e){if("auth_required"===e.status&&e.authorizationUrl){window.open(e.authorizationUrl,"thursday-oauth","popup,width=520,height=720"),A.toast.add({title:`${e.name} needs authorization`,description:"Approve access in the window that just opened"});return}"error"===e.status?A.toast.add({type:"error",title:`${e.name} could not connect`,description:e.error}):A.toast.add({type:"success",title:`${e.name} connected`,description:`${e.toolCount} ${1===e.toolCount?"tool":"tools"} available`})}(e)}};function ed({filter:e,onFilter:n,onPreset:s}){let
|
|
18
|
+
}`,el={onOk:e=>{(0,Q.revalidate)(f.queryKey.mcp),function(e){if("auth_required"===e.status&&e.authorizationUrl){window.open(e.authorizationUrl,"thursday-oauth","popup,width=520,height=720"),A.toast.add({title:`${e.name} needs authorization`,description:"Approve access in the window that just opened"});return}"error"===e.status?A.toast.add({type:"error",title:`${e.name} could not connect`,description:e.error}):A.toast.add({type:"success",title:`${e.name} connected`,description:`${e.toolCount} ${1===e.toolCount?"tool":"tools"} available`})}(e)}};function ed({filter:e,onFilter:n,onPreset:s}){let r=e.trim().toLowerCase(),a=V.filter(e=>!r||`${e.name} ${e.description}`.toLowerCase().includes(r));return(0,t.jsx)(W.SettingGroup,{label:"Presets",filter:(0,t.jsx)(W.SettingFilter,{value:e,onChange:n,placeholder:"Filter presets",className:"w-56"}),right:r?`${a.length} of ${V.length}`:void 0,children:(0,t.jsx)("div",{className:"grid grid-cols-[repeat(4,minmax(0,1fr))] gap-3",children:a.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>s(e),className:"group relative flex flex-col gap-2 rounded-xl border border-border/60 p-3 text-left text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,t.jsx)(o.Plus,{className:"absolute top-3 right-3 size-3.5 shrink-0 text-muted-foreground/50 group-hover:text-foreground"}),(0,t.jsx)("span",{className:"grid size-6 shrink-0 place-items-center rounded-md bg-muted text-muted-foreground",children:e.icon?(0,t.jsx)(w.SiteIcon,{host:e.icon,className:"size-4",fallback:(0,t.jsx)(m,{className:"size-3.5"})}):(0,t.jsx)(m,{className:"size-3.5"})}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"block truncate font-mono text-xs font-semibold",children:e.name}),(0,t.jsx)("span",{className:"block truncate text-xs",children:e.description})]})]},e.name))})})}function em(e){return B(e)?e.url:[e.command,...e.args??[]].join(" ")}e.s(["McpSetting",0,function(){let[e,n]=(0,h.useState)(""),{data:s=[],isLoading:r,error:a}=(0,Q.useServerRoute)(f.queryKey.mcp);if(r)return(0,t.jsx)(W.SettingSkeleton,{rows:3});if(a)return(0,t.jsx)(W.SettingError,{message:a.message});let o=s.reduce((e,t)=>e+t.toolCount,0),i=s.filter(e=>e.lastError).length;return(0,t.jsxs)(W.SettingScreen,{footer:(0,t.jsx)(W.SettingRailNote,{children:0===s.length?"Nothing connected yet — a preset is the shortest way in":(0,t.jsxs)(t.Fragment,{children:[s.length-i," connected · ",o," tools",i>0&&` \xb7 ${i} failed`]})}),children:[(0,t.jsx)(W.SettingGroup,{label:"Connected",children:(0,t.jsx)(W.SettingItems,{addRow:{label:"Add server",onClick:()=>en()},children:s.map(e=>(0,t.jsx)(Y,{server:e},e.name))})}),(0,t.jsx)(ed,{filter:e,onFilter:n,onPreset:en})]})}],787800)},333999,e=>{"use strict";var t=e.i(271645),n=e.i(647163);e.s(["useObjectState",0,e=>{let[s,r]=(0,t.useState)(e);return[s,(0,t.useCallback)(e=>{r(t=>{let s=(0,n.isFunction)(e)?e(t):e;return Object.keys(s).some(e=>!Object.is(t[e],s[e]))?{...t,...s}:t})},[])]}])},21357,e=>{"use strict";var t=e.i(456420);let n={name:"play",size:24,node:[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]};n.node;let s=(0,t.default)(n);e.s(["Play",0,s],21357)},759659,e=>{"use strict";var t=e.i(456420);let n={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"]};n.node;let s=(0,t.default)(n);e.s(["Trash2",0,s],759659)}]);
|