thursday-agent 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/keep-working/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
- 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.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 +1 -1
- 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/probe/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 +6 -6
- package/.next/server/app/api/routine/route.js.nft.json +1 -1
- package/.next/server/app/api/signins/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/text/route.js +11 -11
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +6 -6
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
- package/.next/server/app/artifact/[...path]/page.js.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 +56 -56
- package/.next/server/app/page.js +3 -3
- 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]__012s2o8._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__04r4h-2._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mrk2it._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0nmhgeo._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1fy2g82._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1nmflqk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1v7-zke._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1wnzmx9._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1xv-5cq._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1ygplx1._.js +1 -1
- package/.next/server/chunks/_05v8k21._.js +1 -1
- package/.next/server/chunks/_0awtznl._.js +4 -4
- package/.next/server/chunks/_0k6qjcf._.js +1 -1
- package/.next/server/chunks/_0na2fj1._.js +5 -5
- package/.next/server/chunks/_0x-ej3f._.js +21 -21
- package/.next/server/chunks/_1dc_d1q._.js +22 -20
- package/.next/server/chunks/_1jc5g4p._.js +2 -2
- package/.next/server/chunks/_1jn-aep._.js +50 -48
- package/.next/server/chunks/{_1u8ygbz._.js → _1m88lkh._.js} +7 -7
- package/.next/server/chunks/_1uuucy-._.js +4 -4
- package/.next/server/chunks/_1v9r2ke._.js +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__1h4bnrf._.js → [root-of-the-server]__0oo-wlv._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__1kyi568._.js → [root-of-the-server]__0tvavy9._.js} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0tzekbl._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0zuns7e._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1se25x0._.js +1 -1
- package/.next/server/chunks/ssr/{_1i3ddn7._.js → _05pl_u8._.js} +1 -1
- package/.next/server/chunks/ssr/_070nv1_._.js +3 -0
- package/.next/server/chunks/ssr/_097-ljd._.js +1 -1
- package/.next/server/chunks/ssr/_0dshsh4._.js +3 -0
- package/.next/server/chunks/ssr/_0fqhhwi._.js +1 -1
- package/.next/server/chunks/ssr/{_0z8jpch._.js → _0ital-2._.js} +2 -2
- package/.next/server/chunks/ssr/{_19g570d._.js → _0kjj5ts._.js} +3 -3
- package/.next/server/chunks/ssr/{_1nod5hh._.js → _0l_mcfz._.js} +2 -2
- package/.next/server/chunks/ssr/_0ld9_qq._.js +1 -1
- package/.next/server/chunks/ssr/_0ltz2q5._.js +3 -0
- package/.next/server/chunks/ssr/_0scf7xy._.js +3 -0
- package/.next/server/chunks/ssr/_0u5xv6g._.js +3 -0
- package/.next/server/chunks/ssr/{_0ewory0._.js → _0urj3mc._.js} +2 -2
- package/.next/server/chunks/ssr/{_0pm-2p-._.js → _1-zyvdb._.js} +2 -2
- package/.next/server/chunks/ssr/{_1_rqu8x._.js → _12mijol._.js} +7 -7
- package/.next/server/chunks/ssr/_15zqt-t._.js +1 -1
- package/.next/server/chunks/ssr/_184327j._.js +1 -1
- package/.next/server/chunks/ssr/{_1y-ea28._.js → _1a-nuxx._.js} +2 -2
- package/.next/server/chunks/ssr/_1alxym6._.js +3 -0
- package/.next/server/chunks/ssr/{_0hzz82u._.js → _1d423aj._.js} +25 -23
- package/.next/server/chunks/ssr/{_1u1mxu9._.js → _1flbs77._.js} +2 -2
- package/.next/server/chunks/ssr/_1mqn9mc._.js +1 -1
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/{_1oijqjw._.js → _1tmu8z-._.js} +2 -2
- package/.next/server/chunks/ssr/{_10y6r1n._.js → _1uy0xom._.js} +3 -3
- package/.next/server/chunks/ssr/_1x-kojb._.js +20 -0
- package/.next/server/chunks/ssr/_1xoch6f._.js +1 -1
- package/.next/server/chunks/ssr/_1z74dmq._.js +164 -0
- package/.next/server/chunks/ssr/features_bot_1nr94ks._.js +3 -0
- package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +1 -1
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
- package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
- package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
- package/.next/server/chunks/ssr/{node_modules_111sh9o._.js → node_modules_03d0rfz._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0lg75qx._.js → node_modules_04_sbbc._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_10gbm2y._.js → node_modules_05ybmta._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1v9tc1c._.js → node_modules_068ws5v._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1_8mv4v._.js → node_modules_06bb4q8._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_01f8_se._.js → node_modules_07rs_p2._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ii1l89._.js → node_modules_0dzm4um._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_20xmwtu._.js → node_modules_0jljel9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ix-g49._.js → node_modules_0sgy-dc._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0woscox._.js → node_modules_0t_ez6-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_059vtf2._.js → node_modules_0th357h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_06w645b._.js → node_modules_0ubdtk-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0b8df3s._.js → node_modules_0uyh_vb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_07ih6wb._.js → node_modules_0wnlddw._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0gt-uw9._.js → node_modules_0x630an._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1x825hz._.js → node_modules_0yvz9e0._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0t-44lj._.js → node_modules_12et8d5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1m3gb16._.js → node_modules_13kwejm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1p9rdsy._.js → node_modules_1af3w91._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0sz5yg1._.js → node_modules_1bucjlk._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1teyzfa._.js → node_modules_1lkix61._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1lsyy7k._.js → node_modules_1ogczzz._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1-7qawg._.js → node_modules_1s-gb-1._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0yv-re6._.js → node_modules_1uwg-gz._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_03ptrl9._.js → node_modules_1wbkzl9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_00jv9_3._.js → node_modules_1z1lrbk._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@base-ui_react_0jne69c._.js → node_modules_@base-ui_react_0buz1-j._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_00q1oa3._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0r443fh._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1-2_5z7._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_10wnlbk._.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 +57 -57
- package/.next/static/chunks/06nt9tatr-dug.js +1 -0
- package/.next/static/chunks/0_awn8tucznxc.js +1 -0
- package/.next/static/chunks/{34s52v8f841zo.js → 0ge-hx0ed83a1.js} +1 -1
- package/.next/static/chunks/0pda_vf-abwvx.js +1 -0
- package/.next/static/chunks/{2u9yjkpkoij75.js → 0qmd8n52hp-6v.js} +1 -1
- package/.next/static/chunks/0rowp9rx3qbxu.js +18 -0
- package/.next/static/chunks/{1ocy4w0v20a3v.js → 13ixzheqw7o-w.js} +2 -2
- package/.next/static/chunks/1grkt5gr8pbg1.js +17 -0
- package/.next/static/chunks/{21gf2t_whhurc.js → 1yugpvvi8qrbu.js} +2 -2
- package/.next/static/chunks/{1e4yrzs5evq_r.js → 245hb85nsy6j4.js} +1 -1
- package/.next/static/chunks/27lkanxvtdn09.js +1 -0
- package/.next/static/chunks/{0oz7a68qanm99.js → 27tvv1i-smrck.js} +1 -1
- package/.next/static/chunks/{2zhfdbq50ee5i.js → 2c64drdevdla3.js} +1 -1
- package/.next/static/chunks/{0k5tkt_qi52kb.js → 2ndw4w4u2x51r.js} +1 -1
- package/.next/static/chunks/37j27b3e1gt7r.js +1 -0
- package/.next/static/chunks/{2om4lkg86feb4.js → 38301ji-85i30.js} +1 -1
- package/.next/static/chunks/{09c13vnqy7al3.js → 3bbzsitgiltnt.js} +2 -2
- package/.next/static/chunks/3fec-aeteddr-.js +1 -0
- package/.next/static/chunks/3go3hwp1z2_h2.css +1 -0
- package/.next/static/chunks/3h2bun3hcggg8.js +1 -0
- package/.next/static/chunks/{0g1p98s2pfx2w.js → 3h2e-xv1zxh_f.js} +2 -2
- package/.next/static/chunks/3j1y335o95mj7.js +1 -0
- package/.next/static/chunks/3obf9n3cxj99k.js +1 -0
- package/.next/static/chunks/{2upc9mkcc3nlq.js → 427qsc6kahxyo.js} +1 -1
- package/README.md +31 -14
- package/bin/port.mjs +11 -7
- package/bin/thursday.mjs +1 -1
- package/components/ui/radio-group.tsx +2 -2
- package/components/ui/shiny-text.tsx +3 -22
- package/docs/how-it-works.md +11 -3
- package/docs/images/first-run.png +0 -0
- package/docs/images/keeps-going.png +0 -0
- package/docs/images/two-minds.png +0 -0
- package/features/ai/components/model-browser.tsx +1 -1
- package/features/ai/components/model-picker.tsx +1 -1
- package/features/ai/guide.ts +9 -4
- package/features/ai/prompts/bot.prompt.ts +4 -1
- package/features/ai/tools/routine.tool.ts +28 -16
- package/features/bot/bot.runner.ts +3 -1
- package/features/bot/components/bot-mark.tsx +6 -1
- package/features/bot/components/bot-setting.tsx +2 -4
- package/features/bot/components/bot-tool.tsx +2 -0
- package/features/bot/components/room-list.tsx +12 -3
- package/features/bot/components/room-pill.tsx +26 -19
- package/features/config/components/config-setting.tsx +17 -5
- package/features/config/components/voice-key.tsx +38 -18
- package/features/connectors/mcp.const.ts +90 -59
- package/features/intro/components/intro.tsx +50 -27
- package/features/routine/components/routine-mark.tsx +4 -6
- package/features/routine/components/routine-setting.tsx +332 -143
- package/features/routine/routine.query.ts +24 -3
- package/features/routine/routine.schema.ts +55 -4
- package/features/settings/components/install-app.tsx +1 -4
- package/features/settings/components/setting-ui.tsx +1 -1
- package/features/skills/skills.discover.ts +2 -1
- package/features/skills/skills.query.ts +5 -1
- package/features/skills/skills.schema.ts +2 -0
- package/features/thursday/components/ascii-orb.tsx +39 -10
- package/features/thursday/components/connect-wave.tsx +284 -0
- package/features/thursday/components/side-captions.tsx +29 -17
- package/features/thursday/components/thursday-setting.tsx +2 -2
- package/features/thursday/components/thursday.tsx +130 -58
- package/features/thursday/components/voice-picker.tsx +1 -1
- package/features/thursday/components/write-line.tsx +2 -2
- package/features/thursday/open-work.ts +11 -3
- package/features/thursday/tool-line.ts +94 -12
- package/features/thursday/use-text-call.ts +3 -2
- package/features/thursday/use-thursday.ts +5 -2
- package/features/workspace/components/artifact-view.tsx +129 -7
- package/guide/bots.md +17 -5
- package/guide/calls.md +15 -7
- package/guide/setup.md +10 -2
- package/lib/desktop-notify.ts +3 -2
- package/package.json +1 -1
- package/scripts/bot-context.test.mts +1 -1
- package/skills/computer/SKILL.md +1 -0
- package/skills/interactive-page/SKILL.md +4 -0
- package/.next/server/chunks/[root-of-the-server]__0n-l_n_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0wvo2of._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1e6aut3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ziojdq._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1srp8l5._.js +0 -3
- package/.next/server/chunks/ssr/_0mes4s0._.js +0 -3
- package/.next/server/chunks/ssr/_0ya0cb0._.js +0 -3
- package/.next/server/chunks/ssr/_0yto5s7._.js +0 -20
- package/.next/server/chunks/ssr/_10dw2nv._.js +0 -3
- package/.next/server/chunks/ssr/_1p0gxeo._.js +0 -164
- package/.next/server/chunks/ssr/_1r41yvh._.js +0 -3
- package/.next/server/chunks/ssr/_1r79ksv._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_1ogjt52._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_@base-ui_react_0b3d4m9._.js +0 -3
- package/.next/static/chunks/03omwz_vi2ndg.js +0 -1
- package/.next/static/chunks/0_1bqgd6wt_og.js +0 -1
- package/.next/static/chunks/0abgkzikaznxc.js +0 -1
- package/.next/static/chunks/0bddkpash59-o.js +0 -17
- package/.next/static/chunks/0c2-bzhy3a0ib.js +0 -1
- package/.next/static/chunks/0iilfb1ocevnx.js +0 -1
- package/.next/static/chunks/0imbhx-j830a_.css +0 -1
- package/.next/static/chunks/24h1y9dhy3m_2.js +0 -1
- package/.next/static/chunks/2be08eqxsfc1y.js +0 -1
- package/.next/static/chunks/2d3yhjtafgmtw.js +0 -1
- package/.next/static/chunks/2f_5saocsko_b.js +0 -1
- package/.next/static/chunks/2lwbr5vx0ixaj.js +0 -18
- package/.next/static/chunks/44kjmi5h_p8px.js +0 -1
- /package/.next/static/{UiOMPYpQ4fqGyu5PzS-7j → u8kJqShUAa49vY7BxAWsw}/_buildManifest.js +0 -0
- /package/.next/static/{UiOMPYpQ4fqGyu5PzS-7j → u8kJqShUAa49vY7BxAWsw}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{UiOMPYpQ4fqGyu5PzS-7j → u8kJqShUAa49vY7BxAWsw}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,107941,e=>{"use strict";var t=e.i(843476),n=e.i(24071),i=e.i(867927),s=e.i(482022),r=e.i(829600),a=e.i(456420);let o={name:"file-code-corner",size:24,node:[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],aliases:["file-code-2"]};o.node;let l=(0,a.default)(o);var d=e.i(905015),c=e.i(226091),u=e.i(726067),x=e.i(569644),f=e.i(815170),m=e.i(51921);let h={name:"sheet",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["line",{x1:"3",x2:"21",y1:"9",y2:"9",key:"1vqk6q"}],["line",{x1:"3",x2:"21",y1:"15",y2:"15",key:"o2sbyz"}],["line",{x1:"9",x2:"9",y1:"9",y2:"21",key:"1ib60c"}],["line",{x1:"15",x2:"15",y1:"9",y2:"21",key:"1n26ft"}]]};h.node;let p=(0,a.default)(h);var g=e.i(759659);let v={name:"video",size:24,node:[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]};v.node;let y=(0,a.default)(v);var k=e.i(271645),j=e.i(798120),b=e.i(167881),w=e.i(917162),N=e.i(41533),S=e.i(895836),F=e.i(621285),A=e.i(284201),C=e.i(95187);let R=(0,C.createServerReference)("7f5746f90014636cd97f995833f6d8c4cf624f00e5",C.callServer,void 0,C.findSourceMapURL,"emptyScratchAction");var z=e.i(289971),$=e.i(245629),E=e.i(609856),M=e.i(283653),O=e.i(647163);let P={markdown:c.FileText,csv:p,json:d.FileJson,text:c.FileText,frame:l,image:f.Image,audio:m.Music,video:y,none:r.File};function W({label:e,rows:n,children:i}){return 0===n.length?null:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:e}),i]})}function B({entry:e,active:n,onPick:s}){let r="dir"===e.kind?u.Folder:P[e.view];return(0,t.jsxs)("button",{type:"button",onClick:s,title:"file"===e.kind?`${e.name} \xb7 ${(0,$.shortAgo)(e.at)}`:e.name,className:(0,O.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",n?"bg-secondary font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[(0,t.jsx)(r,{className:"size-3.5 shrink-0 opacity-70"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.name}),"file"===e.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/75",children:(0,O.formatBytes)(e.bytes)}),(0,t.jsx)("span",{className:"w-3.5 shrink-0"})]}):(0,t.jsx)(i.ChevronRight,{className:"size-3.5 shrink-0 text-muted-foreground/50"})]})}function K({empty:e,onReveal:n}){return(0,t.jsxs)("div",{className:"space-y-4 p-8",children:[e?(0,t.jsxs)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:["Nothing here yet. What a bot writes during a call lands in"," ",(0,t.jsx)("span",{className:"font-mono text-[13px] text-foreground",children:"artifacts/"})," ","— a page, a table, a picture — and shows up here to open."]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"Pick a file on the left."}),(0,t.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:"Only what the app can open is listed — a page, a table, a picture, a note. Installed packages and tool leftovers are left out, and no folder is measured, so a folder opens as fast as it lists. Reveal folder for everything else."})]}),(0,t.jsxs)(b.Button,{variant:"outline",onClick:n,children:[(0,t.jsx)(x.FolderOpen,{}),"Reveal folder"]})]})}function L({file:e,onGone:n}){let i=e.path,[r]=(0,E.useServerAction)(z.openFileAction),[a,o]=(0,E.useServerAction)(A.deleteWorkspaceFileAction,{okMessage:"File deleted",onOk:()=>{(0,M.revalidate)(j.queryKey.workspace),n()}}),l=async()=>{await w.notify.confirm({title:`Delete ${i.split("/").pop()}?`,description:"It is deleted from disk for good.",okText:"Delete",destructive:!0})&&a(i)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-b border-border/60 px-6 py-2",children:[(0,t.jsx)(T,{path:i}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[(0,O.formatBytes)(e.bytes)," · ",(0,$.shortAgo)(e.at)]}),(0,t.jsx)("a",{href:j.queryKey.fileView(i),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,t.jsx)(s.ExternalLink,{className:"size-4"})}),(0,t.jsx)(b.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>r(i),children:(0,t.jsx)(x.FolderOpen,{})}),(0,t.jsx)(b.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:o,className:"text-muted-foreground",onClick:l,children:(0,t.jsx)(g.Trash2,{})})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,t.jsx)(F.FilePreview,{path:i,bytes:e.bytes})})]})}function T({path:e}){let n=["workspace",...e.split("/").filter(Boolean)];return(0,t.jsx)("span",{className:"flex min-w-0 flex-1 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:n.map((e,s)=>(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[s>0&&(0,t.jsx)(i.ChevronRight,{className:"size-3 shrink-0 opacity-50"}),(0,t.jsx)("span",{className:(0,O.cn)("truncate",s===n.length-1&&"text-foreground"),children:e})]},`${s}-${e}`))})}e.s(["WorkspaceSetting",0,function(){let[e,i]=(0,k.useState)(""),[s,r]=(0,k.useState)(N.WORKSPACE_VIEW.rows),[a,o]=(0,k.useState)(null),[l,d]=(0,k.useState)(""),{data:c,isLoading:u,error:f}=(0,M.useServerRoute)(j.queryKey.workspaceFolder(e,s),{keepPreviousData:!0}),m=e=>{i(e),r(N.WORKSPACE_VIEW.rows)},[h,p]=(0,E.useServerAction)(R,{okMessage:"Scratch emptied",onOk:()=>(0,M.revalidate)(j.queryKey.workspace)}),[g]=(0,E.useServerAction)(z.openFileAction),v=async()=>{await w.notify.confirm({title:"Empty scratch?",description:"Everything under scratch/ is deleted for good. artifacts/ and projects/ are untouched.",okText:"Empty",destructive:!0})&&h()};if(u)return(0,t.jsx)(S.SettingPanesSkeleton,{});if(f)return(0,t.jsx)(S.SettingError,{message:f.message});let y=c?.entries??[],F=c?.total??0,A=l.trim().toLowerCase(),C=A?y.filter(e=>e.name.toLowerCase().includes(A)):y,$=C.filter(e=>"dir"===e.kind),O=C.filter(e=>"file"===e.kind),P=y.find(e=>"file"===e.kind&&e.path===a?.path)??a;return(0,t.jsx)(S.SettingPanes,{footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S.SettingRailNote,{children:(0,t.jsxs)("span",{className:"font-mono",children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:`.ai-workspace${e?`/${e}`:""}`}),` \xb7 ${function(e,t){let n=e.filter(e=>"dir"===e.kind).length,i=e.length-n,s=[n&&`${n} ${1===n?"folder":"folders"}`,i&&`${i} ${1===i?"file":"files"}`].filter(Boolean);if(!s.length)return"empty";let r=s.join(" · ");return t>e.length?`${r} of ${t.toLocaleString("en")}`:r}(y,F)}`]})}),(0,t.jsxs)(b.Button,{variant:"outline",size:"sm",onClick:()=>g(e||"."),children:[(0,t.jsx)(x.FolderOpen,{}),"Reveal folder"]}),(0,t.jsx)(b.Button,{variant:"outline",size:"sm",loading:p,onClick:v,className:"text-destructive hover:text-destructive",children:"Empty scratch"})]}),left:(0,t.jsxs)("div",{className:"flex flex-col py-2",children:[(0,t.jsx)(S.SettingFilter,{value:l,onChange:d,placeholder:"Filter this folder",className:"mx-2 mb-1.5 w-auto"}),e&&(0,t.jsxs)("button",{type:"button",onClick:()=>m(e.split("/").slice(0,-1).join("/")),className:"mx-2 mb-1 flex items-center gap-1 rounded-md px-2 py-1 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,t.jsx)(n.ChevronLeft,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.split("/").slice(0,-1).pop()??"workspace"})]}),0===C.length?(0,t.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground/60",children:A?"Nothing matches":"Empty folder"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(W,{label:"folders",rows:$,children:$.map(e=>(0,t.jsx)(B,{entry:e,onPick:()=>m(e.path)},e.path))}),(0,t.jsx)(W,{label:"files",rows:O,children:O.map(e=>(0,t.jsx)(B,{entry:e,active:e.path===a?.path,onPick:()=>"file"===e.kind&&o(e)},e.path))})]}),F>y.length&&(0,t.jsx)("button",{type:"button",onClick:()=>r(s+N.WORKSPACE_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(N.WORKSPACE_VIEW.rows,F-y.length)} more of ${F.toLocaleString("en")}`})]}),right:P?.kind==="file"?(0,t.jsx)(L,{file:P,onGone:()=>o(null)},P.path):(0,t.jsx)(K,{empty:!e&&0===y.length,onReveal:()=>g(".")})})}],107941)},284201,e=>{"use strict";var t=e.i(95187);let n=(0,t.createServerReference)("7f88aa9d4f071f0ca59f62a7efd73449ccb68a55fc",t.callServer,void 0,t.findSourceMapURL,"deleteWorkspaceFileAction");e.s(["deleteWorkspaceFileAction",0,n])},726067,e=>{"use strict";var t=e.i(456420);let n={name:"folder",size:24,node:[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]};n.node;let i=(0,t.default)(n);e.s(["Folder",0,i],726067)},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 i=(0,t.default)(n);e.s(["Trash2",0,i],759659)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,463415,116228,978411,431594,e=>{"use strict";var t=e.i(843476);e.i(261027);var n=e.i(382370),o=e.i(389554),r=e.i(685996),i=e.i(371714),a=e.i(181194),s=e.i(801545),u=e.i(91384),l=e.i(858307),d=e.i(764270),c=e.i(219712),p=e.i(82264),f=e.i(862050),g=e.i(282593),m=e.i(105953),v=e.i(63947),h=e.i(277450),b=e.i(733332),S=e.i(271645),R=e.i(439957),x=e.i(108868),y=e.i(896499),E=e.i(667865),M=e.i(146376),I=e.i(956789),C=e.i(650316),k=e.i(385689),O=e.i(46420),T=e.i(413082),w=e.i(872135),P=e.i(379248),A=e.i(584446),N=e.i(978921),D=e.i(879938),L=e.i(552245),F=e.i(540886),j=e.i(264042),B=e.i(348990),H=e.i(838452),U=e.i(229315),_=e.i(459636),G=e.i(264111),K=e.i(346570),Y=e.i(788015),z=e.i(56434),V=e.i(507447),W=e.i(638396),J=e.i(152535),$=e.i(176782);let q=(0,y.fastComponentRef)(function(e,n){let o,{render:r,className:i,style:a,disabled:s=!1,nativeButton:u=!0,id:l,openOnHover:d,delay:c=100,closeDelay:p=0,handle:f,payload:g,...m}=e,v=(0,N.useMenuRootContext)(!0),h=(0,_.usePopupHandleStore)(f)??v?.store;if(!h)throw Error((0,b.default)(85));let y=(0,Y.useBaseUiId)(l),q=h.useState("isTriggerActive",y),X=h.useState("floatingRootContext"),Q=h.useState("isOpenedByTrigger",y),Z=h.useState("triggerPopupId",y),ee=S.useRef(null),et=(o=(0,V.useMenubarContext)(!0),S.useMemo(()=>o?{type:"menubar",context:o}:{type:void 0},[o])),en=(0,H.useCompositeRootContext)(!0),eo=(0,O.useFloatingTree)(),er=S.useMemo(()=>eo??new P.FloatingTreeStore,[eo]),ei=(0,O.useFloatingNodeId)(er),ea=(0,O.useFloatingParentNodeId)(),{registerTrigger:es,isMountedByThisTrigger:eu}=(0,G.useTriggerDataForwarding)(y,ee,h,{payload:g,closeDelay:p,parent:et,floatingTreeRoot:er,floatingNodeId:ei,floatingParentNodeId:ea,keyboardEventRelay:en?.relayKeyboardEvent}),el="menubar"===et.type,ed=h.useState("disabled"),ec=s||ed||el&&et.context.disabled,{getButtonProps:ep,buttonRef:ef}=(0,F.useButton)({disabled:ec,native:u});S.useEffect(()=>{Q||void 0!==et.type||(h.context.allowMouseUpTriggerRef.current=!1)},[h,Q,et.type]);let eg=S.useRef(null),em=(0,R.useTimeout)(),ev=(0,E.useStableCallback)(e=>{if(!eg.current)return;em.clear(),h.context.allowMouseUpTriggerRef.current=!1;let t=e.target;(0,A.contains)(eg.current,t)||(0,A.contains)(h.select("positionerElement"),t)||t===eg.current||null!=t&&function e(t){return(0,U.isHTMLElement)(t)&&t.hasAttribute("data-rootownerid")?t.getAttribute("data-rootownerid"):(0,U.isLastTraversableNode)(t)?void 0:e((0,U.getParentNode)(t))}(t)===h.select("rootId")||(0,j.isMouseWithinBounds)(e,eg.current)||er.events.emit("close",{domEvent:e,reason:z.REASONS.cancelOpen})});S.useEffect(()=>{Q&&h.select("lastOpenChangeReason")===z.REASONS.triggerHover&&(0,x.ownerDocument)(eg.current).addEventListener("mouseup",ev,{once:!0})},[Q,ev,h]);let eh=el&&et.context.hasSubmenuOpen,eb=d??eh,eS=(0,w.useHoverReferenceInteraction)(X,{enabled:eb&&!ec&&(!el||eh&&!eu),handleClose:(0,C.safePolygon)({blockPointerEvents:!el}),mouseOnly:!0,move:!1,restMs:void 0===et.type?c:void 0,delay:{close:p},triggerElementRef:ee,externalTree:er,isActiveTrigger:q,isClosing:()=>"ending"===h.select("transitionStatus")}),eR=function(e,t){let n=(0,R.useTimeout)(),[o,r]=S.useState(!1);return(0,M.useIsoLayoutEffect)(()=>{e&&t===z.REASONS.triggerHover?(r(!0),n.start(W.PATIENT_CLICK_THRESHOLD,()=>{r(!1)})):e||(n.clear(),r(!1))},[e,t,n]),o}(Q,h.select("lastOpenChangeReason")),ex=(0,k.useClick)(X,{enabled:!ec,event:Q&&el?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:void 0===et.type&&eR}),ey=(0,T.useFocus)(X,{enabled:!ec&&eh}),eE=function(e){let{enabled:t=!0,mouseDownAction:n,open:o}=e,r=S.useRef(!1);return S.useMemo(()=>t?{onMouseDown:e=>{("open"===n&&!o||"close"===n&&o)&&(r.current=!0,(0,x.ownerDocument)(e.currentTarget).addEventListener("click",()=>{r.current=!1},{once:!0}))},onClick:e=>{r.current&&(r.current=!1,e.preventBaseUIHandler())}}:I.EMPTY_OBJECT,[t,n,o])}({open:Q,enabled:el,mouseDownAction:"open"}),eM=S.useMemo(()=>(0,$.mergeProps)(ey.reference,ex.reference),[ey.reference,ex.reference]),eI=h.useState("triggerProps",eu),{preFocusGuardRef:eC,handlePreFocusGuardFocus:ek,handleFocusTargetFocus:eO}=(0,K.useTriggerFocusGuards)(h,ee),eT={disabled:ec,open:Q},ew=[eg,n,ef,es,ee],eP=[eM,eS??I.EMPTY_OBJECT,eI,{"aria-haspopup":"menu","aria-controls":Z,id:y,onMouseDown:e=>{h.select("open")||(em.start(200,()=>{h.context.allowMouseUpTriggerRef.current=!0}),(0,x.ownerDocument)(e.currentTarget).addEventListener("mouseup",ev,{once:!0}))}},el?{role:"menuitem"}:{},eE,m,ep],eA=(0,L.useRenderElement)("button",e,{enabled:!el,stateAttributesMapping:D.pressableTriggerOpenStateMapping,state:eT,ref:ew,props:eP});return el?(0,t.jsx)(B.CompositeItem,{tag:"button",render:r,className:i,style:a,state:eT,refs:ew,props:eP,stateAttributesMapping:D.pressableTriggerOpenStateMapping}):Q?(0,t.jsxs)(S.Fragment,{children:[(0,t.jsx)(J.FocusGuard,{ref:eC,onFocus:ek},`${y}-pre-focus-guard`),(0,t.jsx)(S.Fragment,{children:eA},y),(0,t.jsx)(J.FocusGuard,{ref:h.context.triggerFocusTargetRef,onFocus:eO},`${y}-post-focus-guard`)]}):(0,t.jsx)(S.Fragment,{children:eA},y)});var X=e.i(803414),Q=e.i(818390);let Z=S.forwardRef(function(e,t){let{render:n,className:o,style:r,children:i,...a}=e,{store:s}=(0,N.useMenuRootContext)(),{side:u}=(0,X.useMenuPositionerContext)(),l=s.useState("instantType"),{children:d,state:c}=(0,Q.usePopupViewport)({store:s,side:u,children:i}),p={activationDirection:c.activationDirection,transitioning:c.transitioning,instant:l};return(0,L.useRenderElement)("div",e,{state:p,ref:t,props:[a,{children:d}],stateAttributesMapping:Q.popupViewportStateMapping})});var ee=e.i(652225),et=e.i(328744),en=e.i(673553),eo=e.i(866506),er=e.i(874671);let ei={"aria-expanded":void 0},ea=S.forwardRef(function(e,t){let{render:n,className:o,style:r,label:i,id:a,nativeButton:s=!1,openOnHover:u=!0,delay:l=100,closeDelay:d=0,disabled:c=!1,...p}=e,f=(0,er.useMenuSubmenuRootContext)();if(!f?.parentMenu)throw Error((0,b.default)(37));let g=(0,en.useCompositeListItem)({guess:!0,label:i}),m=(0,X.useMenuPositionerContext)(),{store:v}=(0,N.useMenuRootContext)(),h=(0,Y.useBaseUiId)(a),R=v.useState("open"),x=v.useState("floatingRootContext"),y=v.useState("floatingTreeRoot"),O=v.useState("triggerPopupId",h),T=(0,G.useTriggerRegistration)(h,v),P=(0,E.useStableCallback)(e=>{T(e),null!==e&&v.select("open")&&null==v.select("activeTriggerId")&&v.update({activeTriggerId:h??null,activeTriggerElement:e,closeDelay:d})}),A=S.useRef(null),F=S.useCallback(e=>{A.current=e,v.set("activeTriggerElement",e)},[v]);(0,M.useIsoLayoutEffect)(()=>(P(A.current),()=>P(null)),[P,h,v]),v.useSyncedValue("closeDelay",d);let j=f.parentMenu,B=v.useState("disabled"),H=j.useState("disabled"),U=c||B||H,_=j.useState("itemProps"),K=j.useState("isActive",g.index),V=S.useMemo(()=>({type:"submenu-trigger",setActive(){j.select("highlightItemOnHover")&&j.set("activeIndex",g.index)}}),[j,g.index]),{getItemProps:W,itemRef:J}=(0,eo.useMenuItem)({closeOnClick:!1,disabled:U,highlighted:K,id:h,store:v,typingRef:j.context.typingRef,nativeButton:s,itemMetadata:V,nodeId:m?.context.nodeId}),$=v.useState("hoverEnabled"),q=(0,w.useHoverReferenceInteraction)(x,{enabled:$&&u&&!U,handleClose:(0,C.safePolygon)({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:l,delay:{open:l,close:d},shouldOpen:l>0?()=>j.select("allowMouseEnter"):void 0,triggerElementRef:A,externalTree:y,isClosing:()=>"ending"===v.select("transitionStatus"),guardStaleOpen:!0}),Q=(0,k.useClick)(x,{enabled:!U,event:"mousedown",toggle:!u,ignoreMouse:u,stickIfOpen:!1}).reference??I.EMPTY_OBJECT,Z=v.useState("triggerProps",!0);delete Z.id;let ee=v.useState("openMethod"),ea=v.useState("lastOpenChangeReason")===z.REASONS.listNavigation||"keyboard"===ee,es=R&&ea&&et.platform.screenReader.voiceOver;return(0,L.useRenderElement)("div",e,{state:{disabled:U,highlighted:K,open:R},stateAttributesMapping:D.triggerOpenStateMapping,props:[Q,q,Z,_,es?ei:void 0,{"aria-controls":O,tabIndex:R||K?0:-1,onBlur(){K&&j.set("activeIndex",null)}},p,W],ref:[t,g.ref,J,P,F]})});var es=e.i(536481),eu=e.i(564170);class el extends eu.BasePopupHandle{constructor(){super((0,es.createNullMenuStore)(),"Menu")}open(e){this.openByTrigger(e)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}}e.s(["Arrow",()=>n.MenuArrow,"Backdrop",()=>o.MenuBackdrop,"CheckboxItem",()=>r.MenuCheckboxItem,"CheckboxItemIndicator",()=>i.MenuCheckboxItemIndicator,"Group",()=>a.MenuGroup,"GroupLabel",()=>s.MenuGroupLabel,"Handle",0,el,"Item",()=>u.MenuItem,"LinkItem",()=>l.MenuLinkItem,"Popup",()=>d.MenuPopup,"Portal",()=>c.MenuPortal,"Positioner",()=>p.MenuPositioner,"RadioGroup",()=>f.MenuRadioGroup,"RadioItem",()=>g.MenuRadioItem,"RadioItemIndicator",()=>m.MenuRadioItemIndicator,"Root",()=>v.MenuRoot,"Separator",()=>ee.Separator,"SubmenuRoot",()=>h.MenuSubmenuRoot,"SubmenuTrigger",0,ea,"Trigger",0,q,"Viewport",0,Z,"createHandle",0,function(){return new el}],160948);var ed=e.i(160948),ed=ed;e.i(593698),e.i(986253);var ec=e.i(647163);e.s(["DropdownMenu",0,function({...e}){return(0,t.jsx)(ed.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)(ed.Portal,{children:(0,t.jsx)(ed.Positioner,{className:"isolate z-50 outline-none",align:e,alignOffset:n,side:o,sideOffset:r,children:(0,t.jsx)(ed.Popup,{"data-slot":"dropdown-menu-content",className:(0,ec.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)(ed.Group,{"data-slot":"dropdown-menu-group",...e})},"DropdownMenuItem",0,function({className:e,inset:n,variant:o="default",...r}){return(0,t.jsx)(ed.Item,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":o,className:(0,ec.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)(ed.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}],463415);var ep=e.i(798120),ef=e.i(6799),eg=e.i(95187);let em=(0,eg.createServerReference)("7fb246a9d901da5d8a847dba77158fff45d643e6af",eg.callServer,void 0,eg.findSourceMapURL,"markSeenAction");e.s(["markSeenAction",0,em],116228);var ev=e.i(245629),eh=e.i(393080),eb=e.i(283653),eS=e.i(553429);let eR=[],ex=!1,ey=new Set;function eE(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,u=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:u,text:t.text,kind:"say"});break;case"note":r.push({id:t.id,bot:e,to:u,text:t.text,kind:"note"});break;case"stop":r.push({id:t.id,bot:e,to:u,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:u,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})}}}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 t=r.at(-1);t&&"say"===t.kind&&t.text===e.outcome&&(r[r.length-1]={...t,kind:"result"})}return{id:e.id,room:e.room,request:e.request,label:e.label,bot:o,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 eM=new Map,eI=new Map,eC=[],ek=new Set,eO=[],eT=!1,ew=new Set,eP=new Set,eA=!1,eN=new Set,eD=new Set,eL=new Set,eF=[],ej=e=>e.id.slice(0,e.id.lastIndexOf("-")),eB=e=>"user"===e.kind?{name:eS.ROOM_THURSDAY}:e.bot,eH=e=>"user"===e.kind?e.bot:e.to,eU=(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(ex=!0,eR=[...e].reverse().map(e=>eE(e,t)),ey))n()},primed:()=>ex},"heardBy",0,eH,"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},"latestPerBot",0,function(e){let t=new Map;for(let n of e)for(let e of(t.has(n.bot.name)||t.set(n.bot.name,{bot:n.bot,thread:n,line:null}),n.lines))"user"!==e.kind&&"note"!==e.kind&&"stop"!==e.kind&&t.set(e.bot.name,{bot:e.bot,thread:n,line:e});return[...t.values()]},"ringingThreads",0,{set(e){if(!(e.length===eC.length&&e.every((e,t)=>eC[t]===e)))for(let t of(eC=e,ek))t()}},"roomOpen",0,{set(e){if(e!==eT)for(let t of(eT=e,ew))t()}},"roomOpens",0,{open(e){for(let t of eD)t(e)},subscribe:e=>(eD.add(e),()=>{eD.delete(e)})},"rosterOf",0,function(e){let t=[e.bot];for(let n of e.lines)for(let e of[n.bot,n.to])e&&e.name!==eS.ROOM_THURSDAY&&!t.some(t=>t.name===e.name)&&t.push(e);return t},"screenActs",0,{announce(e){for(let t of eL)t(e)},subscribe:e=>(eL.add(e),()=>{eL.delete(e)})},"threadDrafts",0,{recipient:e=>eI.get(e),select:(e,t)=>{eI.set(e,t)},get:(e,t,n)=>eM.get(e)?.get(JSON.stringify([t,n??null]))??"",set(e,t,n,o){let r=eM.get(e)??new Map,i=JSON.stringify([t,o??null]);n?r.set(i,n):r.delete(i),r.size?eM.set(e,r):eM.delete(e)}},"threadFromRow",0,eE,"threadItems",0,function(e,t,n=[]){let o,r=(o=new Set(e.lines.filter(e=>"tool"===e.kind||"ask"===e.kind).map(ej)),e=>"user"===e.kind||"ask"===e.kind||"result"===e.kind||"say"===e.kind&&!o.has(ej(e))),i=t===e.bot.name?e.lines:e.lines.filter(e=>eB(e).name===t||r(e)&&eH(e)?.name===t),a=new Set([e.bot.name,eS.ROOM_THURSDAY]),s=new Map;for(let t of e.lines){let e=eH(t);e&&!a.has(e.name)&&(a.add(e.name),s.set(t.id,{from:eB(t),to:e})),a.add(t.bot.name)}let u=[],l=new Map,d=e=>{let t=e?l.get(e.name):void 0;t&&(l.delete(t.bot.name),u.push(eU(t,!1)))};for(let e of i){if(!r(e)){let t=l.get(e.bot.name)??{bot:e.bot,lines:[],at:0};t.lines.push(e),t.at=u.length,l.set(e.bot.name,t);continue}let t=eB(e);d(eH(e));let n=s.get(e.id);n&&u.push({kind:"invite",key:`${e.id}-joins`,...n}),d(t),u.push({kind:"entry",speaker:t,entry:{kind:"message",key:e.id,line:e}})}for(let e of[...l.values()].sort((e,t)=>e.at-t.at).reverse())u.splice(e.at,0,eU(e,!0));for(let e of n)l.has(e.name)||u.push({kind:"entry",speaker:e,entry:{kind:"work",key:`${e.name}-now`,lines:[],open:!0}});let c=[];for(let e of u){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,S.useSyncExternalStore)(e=>(ey.add(e),()=>ey.delete(e)),()=>eR,()=>eF)},"useRingingThreads",0,function(){return(0,S.useSyncExternalStore)(e=>(ek.add(e),()=>ek.delete(e)),()=>eC,()=>eO)},"useRoomOpen",0,function(){return(0,S.useSyncExternalStore)(e=>(ew.add(e),()=>ew.delete(e)),()=>eT,()=>!1)},"useSeenOnDetail",0,function(e){let t=(0,S.useRef)(new Set),n=e?.id??null,o=e?`${e.id}@${(0,ev.toDate)(e.updatedAt).getTime()}`:null,r=!!e&&"done"===e.status&&!e.seen;(0,S.useEffect)(()=>{!n||!o||!r||t.current.has(o)||(t.current.add(o),em([n]).then(eh.unwrapResult).then(()=>(0,eb.revalidate)(ep.queryKey.threads)).catch(e=>{t.current.delete(o),ef.toast.add({type:"error",title:"Could not mark the thread as read",description:(0,ec.errorToString)(e)})}))},[n,o,r])},"useWriteLineUp",0,function(){return(0,S.useSyncExternalStore)(e=>(eN.add(e),()=>eN.delete(e)),()=>eA,()=>!1)},"writeLine",0,{open(){for(let e of eP)e()},subscribe:e=>(eP.add(e),()=>{eP.delete(e)}),shown(e){if(e!==eA)for(let t of(eA=e,eN))t()}}],978411);var e_=e.i(456420);let eG={name:"repeat",size:24,node:[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]};eG.node;let eK=(0,e_.default)(eG);e.s(["RoutineMark",0,function({className:e}){return(0,t.jsx)(eK,{className:e,"aria-hidden":"true"})}],431594)},413082,e=>{"use strict";var t=e.i(271645),n=e.i(574735),o=e.i(328744),r=e.i(365420),i=e.i(108868),a=e.i(439957),s=e.i(229315),u=e.i(451321),l=e.i(584446),d=e.i(596296),c=e.i(675606),p=e.i(56434);let f=o.platform.os.mac&&o.platform.engine.webkit;e.s(["useFocus",0,function(e,o={}){let{enabled:g=!0,delay:m}=o,v="rootStore"in e?e.rootStore:e,{events:h,dataRef:b}=v.context,S=t.useRef(!1),R=t.useRef(null),x=t.useRef(!0),y=(0,a.useTimeout)();t.useEffect(()=>{let e=v.select("domReferenceElement");if(!g)return;let t=(0,s.getWindow)(e);return(0,r.mergeCleanups)((0,n.addEventListener)(t,"blur",function(){let e=v.select("domReferenceElement");!v.select("open")&&(0,s.isHTMLElement)(e)&&e===(0,l.activeElement)((0,i.ownerDocument)(e))&&(S.current=!0,R.current=e)}),f&&(0,n.addEventListener)(t,"keydown",function(){x.current=!0},!0),f&&(0,n.addEventListener)(t,"pointerdown",function(){x.current=!1},!0))},[v,g]),t.useEffect(()=>{if(g)return h.on("openchange",e),()=>{h.off("openchange",e)};function e(e){if(e.reason===p.REASONS.triggerPress||e.reason===p.REASONS.escapeKey){let e=v.select("domReferenceElement");(0,s.isElement)(e)&&(R.current=e,S.current=!0)}}},[h,g,v]);let E=t.useMemo(()=>{function e(){S.current=!1,R.current=null}return{onMouseLeave(){e()},onFocus(t){let n=t.currentTarget;if(S.current){if(R.current===n)return;e()}let o=(0,l.getTarget)(t.nativeEvent);if((0,s.isElement)(o)){if(f&&!t.relatedTarget){if(!x.current&&!(0,d.isTypeableElement)(o))return}else if(!(0,d.matchesFocusVisible)(o))return}let r=(0,d.isTargetInsideEnabledTrigger)(t.relatedTarget,v.context.triggerElements),{nativeEvent:i,currentTarget:a}=t,u="function"==typeof m?m():m;v.select("open")&&r||0===u||void 0===u?v.setOpen(!0,(0,c.createChangeEventDetails)(p.REASONS.triggerFocus,i,a)):y.start(u,()=>{S.current||v.setOpen(!0,(0,c.createChangeEventDetails)(p.REASONS.triggerFocus,i,a))})},onBlur(t){e();let n=t.relatedTarget,o=t.nativeEvent,r=(0,s.isElement)(n)&&n.hasAttribute((0,u.createAttribute)("focus-guard"))&&"outside"===n.getAttribute("data-type");y.start(0,()=>{let e=v.select("domReferenceElement"),t=(0,l.activeElement)((0,i.ownerDocument)(e));if(!n&&t===e||(0,l.contains)(b.current.floatingContext?.refs.floating.current,t)||(0,l.contains)(e,t)||r)return;let a=n??t;(0,d.isTargetInsideEnabledTrigger)(a,v.context.triggerElements)||v.setOpen(!1,(0,c.createChangeEventDetails)(p.REASONS.triggerFocus,o))})}}},[b,m,v,y]);return t.useMemo(()=>g?{reference:E,trigger:E}:{},[g,E])}])},261027,803414,978921,382370,389554,866506,685996,371714,181194,801545,91384,858307,764270,219712,82264,862050,282593,105953,507447,536481,874671,63947,277450,e=>{"use strict";e.s([],261027);var t=e.i(271645),n=e.i(733332);let o=t.createContext(void 0);function r(e){let r=t.useContext(o);if(void 0===r&&!e)throw Error((0,n.default)(33));return r}e.s(["MenuPositionerContext",0,o,"useMenuPositionerContext",0,r],803414);let i=t.createContext(void 0);function a(e){let o=t.useContext(i);if(void 0===o&&!e)throw Error((0,n.default)(36));return o}e.s(["MenuRootContext",0,i,"useMenuRootContext",0,a],978921);var s=e.i(552245),u=e.i(879938);let l=t.forwardRef(function(e,t){let{render:n,className:o,style:i,...l}=e,{store:d}=a(),{arrowRef:c,side:p,align:f,arrowUncentered:g,arrowStyles:m}=r(),v=d.useState("open");return(0,s.useRenderElement)("div",e,{ref:[c,t],stateAttributesMapping:u.popupStateMapping,state:{open:v,side:p,align:f,uncentered:g},props:{style:m,"aria-hidden":!0,...l}})});e.s(["MenuArrow",0,l],382370);let d=t.createContext(void 0);function c(e=!0){let o=t.useContext(d);if(void 0===o&&!e)throw Error((0,n.default)(25));return o}var p=e.i(56434);let f=t.forwardRef(function(e,t){let{render:n,className:o,style:r,...i}=e,{store:l}=a(),d=l.useState("open"),f=l.useState("mounted"),g=l.useState("transitionStatus"),m=l.useState("lastOpenChangeReason"),v=c();return(0,s.useRenderElement)("div",e,{ref:v?.backdropRef?[t,v.backdropRef]:t,state:{open:d,transitionStatus:g},stateAttributesMapping:u.popupTransitionStateMapping,props:[{role:"presentation",hidden:!f,style:{pointerEvents:m===p.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},i]})});e.s(["MenuBackdrop",0,f],389554);var g=e.i(951437),m=e.i(956789);let v=t.createContext(void 0);var h=e.i(828918),b=e.i(540886),S=e.i(176782),R=e.i(328744),x=e.i(64350);function y(e){let{closeOnClick:n,highlighted:o,id:r,nodeId:i,store:a,typingRef:s,itemRef:u,itemMetadata:l}=e,{events:d}=a.useState("floatingTreeRoot"),f=a.useState("open"),g=c(!0),m=void 0!==g;return t.useMemo(()=>({id:r,role:"menuitem",tabIndex:f&&o?0:-1,onKeyDown(e){" "===e.key&&s?.current&&e.preventDefault()},onMouseMove(e){i&&d.emit("itemhover",{nodeId:i,target:e.currentTarget})},onClick(e){n&&d.emit("close",{domEvent:e,reason:p.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&&!R.platform.os.mac&&2===e.button)return}u.current&&a.context.allowMouseUpTriggerRef.current&&(!m||2===e.button)&&"regular-item"===l.type&&(0,x.dispatchClickWithModifiers)(u.current,e,{detail:1})}}),[n,o,r,d,i,f,a,s,u,g,m,l])}let E={type:"regular-item"};function M(e){let{closeOnClick:n,disabled:o,highlighted:r,id:i,store:a,typingRef:s=a.context.typingRef,nativeButton:u,itemMetadata:l,nodeId:d}=e,c=t.useRef(null),{getButtonProps:p,buttonRef:f}=(0,b.useButton)({disabled:o,focusableWhenDisabled:!0,native:u,composite:!0}),g=y({closeOnClick:n,highlighted:r,id:i,nodeId:d,store:a,typingRef:s,itemRef:c,itemMetadata:l}),m=t.useCallback(e=>(0,S.mergeProps)(g,{onMouseEnter(){"submenu-trigger"===l.type&&l.setActive()}},e,p),[g,p,l]),v=(0,h.useMergedRefs)(c,f);return t.useMemo(()=>({getItemProps:m,itemRef:v}),[m,v])}e.s(["REGULAR_ITEM",0,E,"useMenuItem",0,M],866506);var I=e.i(673553),C=e.i(788015);let k={checked:e=>e?{"data-checked":""}:{"data-unchecked":""},...e.i(474354).transitionStatusMapping};var O=e.i(675606),T=e.i(843476);let w=t.forwardRef(function(e,n){let{render:o,className:i,id:u,label:l,nativeButton:d=!1,disabled:c=!1,closeOnClick:f=!1,checked:h,defaultChecked:b,onCheckedChange:S,style:R,...x}=e,y=(0,I.useCompositeListItem)({guess:!0,label:l}),w=r(!0),P=(0,C.useBaseUiId)(u),{store:A}=a(),N=A.useState("disabled"),D=c||N,L=A.useState("isActive",y.index),F=A.useState("itemProps"),[j,B]=(0,g.useControlled)({controlled:h,default:b??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:H,itemRef:U}=M({closeOnClick:f,disabled:D,highlighted:L,id:P,store:A,nativeButton:d,nodeId:w?.context.nodeId,itemMetadata:E}),_=t.useMemo(()=>({disabled:D,highlighted:L,checked:j}),[D,L,j]),G=(0,s.useRenderElement)("div",e,{state:_,stateAttributesMapping:k,props:[F,{role:"menuitemcheckbox","aria-checked":j,onClick:function(e){let t=(0,O.createChangeEventDetails)(p.REASONS.itemPress,e.nativeEvent,void 0,{preventUnmountOnClose:m.NOOP});S?.(!j,t),t.isCanceled||B(e=>!e)}},x,H],ref:[U,n,y.ref]});return(0,T.jsx)(v.Provider,{value:_,children:G})});e.s(["MenuCheckboxItem",0,w],685996);var P=e.i(223910),A=e.i(137584);let N=t.forwardRef(function(e,o){let{render:r,className:i,style:a,keepMounted:u=!1,...l}=e,d=function(){let e=t.useContext(v);if(void 0===e)throw Error((0,n.default)(30));return e}(),c=t.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,s.useRenderElement)("span",e,{state:m,ref:[o,c],stateAttributesMapping:k,props:{"aria-hidden":!0,...l},enabled:u||f})});e.s(["MenuCheckboxItemIndicator",0,N],371714);let D=t.createContext(void 0),L=t.forwardRef(function(e,n){let{render:o,className:r,style:i,...a}=e,[u,l]=t.useState(void 0),d=(0,s.useRenderElement)("div",e,{ref:n,props:{role:"group","aria-labelledby":u,...a}});return(0,T.jsx)(D.Provider,{value:l,children:d})});e.s(["MenuGroup",0,L],181194);var F=e.i(146376);let j=t.forwardRef(function(e,o){let{render:r,className:i,style:a,id:u,...l}=e,d=(0,C.useBaseUiId)(u),c=function(){let e=t.useContext(D);if(void 0===e)throw Error((0,n.default)(31));return e}();return(0,F.useIsoLayoutEffect)(()=>(c(d),()=>{c(e=>e===d?void 0:e)}),[c,d]),(0,s.useRenderElement)("div",e,{ref:o,props:{id:d,"aria-hidden":!0,...l}})});e.s(["MenuGroupLabel",0,j],801545);let B=t.forwardRef(function(e,t){let{render:n,className:o,id:i,label:u,nativeButton:l=!1,disabled:d=!1,closeOnClick:c=!0,style:p,...f}=e,g=(0,I.useCompositeListItem)({guess:!0,label:u}),m=r(!0),v=(0,C.useBaseUiId)(i),{store:h}=a(),b=h.useState("disabled"),S=d||b,R=h.useState("isActive",g.index),x=h.useState("itemProps"),{getItemProps:y,itemRef:k}=M({closeOnClick:c,disabled:S,highlighted:R,id:v,store:h,nativeButton:l,nodeId:m?.context.nodeId,itemMetadata:E});return(0,s.useRenderElement)("div",e,{state:{disabled:S,highlighted:R},props:[x,f,y],ref:[k,t,g.ref]})});e.s(["MenuItem",0,B],91384);let H=t.forwardRef(function(e,n){let{render:o,className:i,id:u,label:l,closeOnClick:d=!1,style:c,...p}=e,f=t.useRef(null),g=(0,I.useCompositeListItem)({guess:!0,label:l}),m=r(!0),v=m?.context.nodeId,h=(0,C.useBaseUiId)(u),{store:R}=a(),x=R.useState("isActive",g.index),M=R.useState("itemProps"),k=R.context.typingRef,{getButtonProps:O,buttonRef:T}=(0,b.useButton)({native:!1,composite:!0}),w=y({closeOnClick:d,highlighted:x,id:h,nodeId:v,store:R,typingRef:k,itemRef:f,itemMetadata:E});return(0,s.useRenderElement)("a",e,{state:{highlighted:x},props:[M,p,function(e){return(0,S.mergeProps)(w,e,O)}],ref:[f,T,n,g.ref]})});e.s(["MenuLinkItem",0,H],858307);var U=e.i(61487),_=e.i(431157),G=e.i(96533),K=e.i(673327),Y=e.i(253984);let z=t.forwardRef(function(e,n){let{render:o,className:i,style:l,finalFocus:d,...c}=e,{store:f}=a(),{side:g,align:m}=r(),v=null!=(0,G.useToolbarRootContext)(!0),h=f.useState("open"),b=f.useState("transitionStatus"),S=f.useState("popupProps"),R=f.useState("mounted"),x=f.useState("instantType"),y=f.useState("activeTriggerElement"),E=f.useState("parent"),M=f.useState("lastOpenChangeReason"),I=f.useState("rootId"),C=f.useState("floatingRootContext"),k=f.useState("floatingTreeRoot"),w=f.useState("closeDelay"),P=f.useState("hoverEnabled"),N=f.useState("disabled"),D=f.useState("openMethod"),L="context-menu"===E.type;(0,A.useOpenChangeComplete)({open:h,ref:f.context.popupRef,onComplete(){h&&f.context.onOpenChangeComplete?.(!0)}}),t.useEffect(()=>{function e(e){f.setOpen(!1,(0,O.createChangeEventDetails)(e.reason,e.domEvent))}return k.events.on("close",e),()=>{k.events.off("close",e)}},[k.events,f]),(0,_.useHoverFloatingInteraction)(C,{enabled:P&&!N&&!L&&"menubar"!==E.type,closeDelay:w});let F=f.useStateSetter("popupElement"),j={transitionStatus:b,side:g,align:m,open:h,nested:"menu"===E.type,instant:x},B=(0,s.useRenderElement)("div",e,{state:j,ref:[n,f.context.popupRef,F],stateAttributesMapping:u.popupTransitionStateMapping,props:[S,{onKeyDown(e){v&&K.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()}},(0,Y.getDisabledMountTransitionStyles)(b),c,{"data-rootownerid":I}]}),H=void 0===E.type||L;return(y||"menubar"===E.type&&M!==p.REASONS.outsidePress)&&(H=!0),(0,T.jsx)(U.FloatingFocusManager,{context:C,openInteractionType:D,modal:L,disabled:!R,returnFocus:void 0===d?H:d,initialFocus:"menu"!==E.type,restoreFocus:!0,externalTree:"menubar"!==E.type?k:void 0,previousFocusableElement:y,nextFocusableElement:void 0===E.type?f.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:void 0===E.type?f.context.beforeContentFocusGuardRef:void 0,children:B})});e.s(["MenuPopup",0,z],764270);var V=e.i(726674);let W=t.createContext(void 0),J=t.forwardRef(function(e,t){let{keepMounted:n=!1,...o}=e,{store:r,parent:i}=a();if(!(r.useState("mounted")||n))return null;let s="menu"===i.type||"menubar"===i.type?"group":void 0;return(0,T.jsx)(W.Provider,{value:n,children:(0,T.jsx)(V.FloatingPortal,{ref:t,...o,portalOwnerRole:s})})});e.s(["MenuPortal",0,J],219712);var $=e.i(144394),q=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=t.forwardRef(function(e,r){let{anchor:i,positionMethod:s="absolute",className:u,render:l,side:d,align:f,sideOffset:g=0,alignOffset:m=0,collisionBoundary:v="clipping-ancestors",collisionPadding:h=5,arrowPadding:b=5,sticky:S=!1,disableAnchorTracking:R=!1,collisionAvoidance:x=et.DROPDOWN_COLLISION_AVOIDANCE,style:y,...E}=e,{store:M}=a(),I=function(){let e=t.useContext(W);if(void 0===e)throw Error((0,n.default)(32));return e}(),C=c(!0),k=M.useState("parent"),w=M.useState("floatingRootContext"),P=M.useState("floatingTreeRoot"),A=M.useState("mounted"),N=M.useState("open"),D=M.useState("modal"),L=M.useState("openMethod"),j=M.useState("activeTriggerElement"),B=M.useState("transitionStatus"),H=M.useState("positionerElement"),U=M.useState("instantType"),_=M.useState("adaptiveOrigin"),G=M.useState("lastOpenChangeReason"),K=M.useState("floatingNodeId"),Y=M.useState("floatingParentNodeId"),z=w.useState("domReferenceElement"),V=t.useRef(null),J=(0,en.useAnimationsFinished)(H),ei=i,ea=g,es=m,eu=f,el=x;"context-menu"===k.type&&(ei=i??k.context?.anchor,eu=eu??"start",d||"center"===eu||(es=e.alignOffset??2,ea=e.sideOffset??-5));let ed=d,ec=eu;"menu"===k.type?(ed=ed??"inline-end",ec=ec??"start",el=e.collisionAvoidance??et.POPUP_COLLISION_AVOIDANCE):"menubar"===k.type&&(ed=ed??("vertical"===k.context.orientation?"inline-end":"bottom"),ec=ec??"start");let ep="context-menu"===k.type,ef=(0,Q.useAnchorPositioning)({anchor:ei,floatingRootContext:w,positionMethod:C?"fixed":s,mounted:A,side:ed,sideOffset:ea,align:ec,alignOffset:es,arrowPadding:ep?0:b,collisionBoundary:v,collisionPadding:h,sticky:S,nodeId:K,keepMounted:I,disableAnchorTracking:R,collisionAvoidance:el,shift:ep?{crossAxis:!("side"in el&&"flip"===el.side),rootBoundary:"layoutViewport"}:void 0,externalTree:P,adaptiveOrigin:_});t.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===K&&M.set("hoverEnabled",!1),e.nodeId!==K&&e.parentNodeId===M.select("floatingParentNodeId")&&M.setOpen(!1,(0,O.createChangeEventDetails)(p.REASONS.siblingOpen)))}return P.events.on("menuopenchange",e),()=>{P.events.off("menuopenchange",e)}},[M,P.events,K]),t.useEffect(()=>{if(null!=M.select("floatingParentNodeId"))return P.events.on("menuopenchange",e),()=>{P.events.off("menuopenchange",e)};function e(e){if(e.open||e.nodeId!==M.select("floatingParentNodeId"))return;let t=e.reason??p.REASONS.siblingOpen;M.setOpen(!1,(0,O.createChangeEventDetails)(t))}},[P.events,M]);let eg=(0,q.useTimeout)();t.useEffect(()=>{N||eg.clear()},[N,eg]),t.useEffect(()=>{function e(e){if(N&&e.nodeId===M.select("floatingParentNodeId"))if(e.target&&j&&j!==e.target){let e=M.select("closeDelay");e>0?eg.isStarted()||eg.start(e,()=>{M.setOpen(!1,(0,O.createChangeEventDetails)(p.REASONS.siblingOpen))}):M.setOpen(!1,(0,O.createChangeEventDetails)(p.REASONS.siblingOpen))}else eg.clear()}return P.events.on("itemhover",e),()=>{P.events.off("itemhover",e)}},[P.events,N,j,M,eg]),t.useEffect(()=>{let e={open:N,nodeId:K,parentNodeId:Y,reason:M.select("lastOpenChangeReason")};P.events.emit("menuopenchange",e)},[P.events,N,M,K,Y]),(0,F.useIsoLayoutEffect)(()=>{let e=V.current;if(z&&(V.current=z),e&&z&&z!==e){M.set("instantType",void 0);let e=new AbortController;return J(()=>{M.set("instantType","trigger-change")},e.signal),()=>{e.abort()}}},[z,J,M]);let em={open:N,side:ef.side,align:ef.align,anchorHidden:ef.anchorHidden,nested:"menu"===k.type,instant:U},ev="menubar"===k.type&&k.context.modal,eh=D&&G!==p.REASONS.triggerHover;(0,er.useAnchoredPopupScrollLock)(N&&(ev||eh),"touch"===L,H,j);let eb=(0,eo.usePositioner)(e,em,{styles:ef.positionerStyles,transitionStatus:B,props:E,refs:[r,M.useStateSetter("positionerElement")],hidden:!A,inert:!N}),eS=A&&"menu"!==k.type&&("menubar"!==k.type&&D&&G!==p.REASONS.triggerHover||"menubar"===k.type&&k.context.modal),eR=null;return"menubar"===k.type?eR=k.context.contentElement:void 0===k.type&&(eR=j),(0,T.jsxs)(o.Provider,{value:ef,children:[eS&&(0,T.jsx)(ee.InternalBackdrop,{ref:"context-menu"===k.type||"nested-context-menu"===k.type?k.context.internalBackdropRef:null,inert:(0,$.inertValue)(!N),cutout:eR}),(0,T.jsx)(X.FloatingNode,{id:K,children:(0,T.jsx)(Z.CompositeList,{elementsRef:M.context.itemDomElements,labelsRef:M.context.itemLabels,children:eb})})]})});e.s(["MenuPositioner",0,ei],82264);var ea=e.i(667865);let es=t.createContext(void 0),eu=t.memo(t.forwardRef(function(e,n){let{render:o,className:r,value:i,defaultValue:a,onValueChange:u,disabled:l=!1,style:d,"aria-labelledby":c,...p}=e,[f,m]=t.useState(void 0),[v,h]=(0,g.useControlled)({controlled:i,default:a,name:"MenuRadioGroup"}),b=(0,ea.useStableCallback)((e,t)=>{u?.(e,t),t.isCanceled||h(e)}),S=(0,s.useRenderElement)("div",e,{state:{disabled:l},ref:n,props:{role:"group","aria-labelledby":c??f,"aria-disabled":l||void 0,...p}}),R=t.useMemo(()=>({value:v,setValue:b,disabled:l}),[v,b,l]);return(0,T.jsx)(D.Provider,{value:m,children:(0,T.jsx)(es.Provider,{value:R,children:S})})}));e.s(["MenuRadioGroup",0,eu],862050);let el=t.createContext(void 0),ed=t.forwardRef(function(e,o){let{render:i,className:u,id:l,label:d,nativeButton:c=!1,disabled:f=!1,closeOnClick:g=!1,value:v,style:h,...b}=e,S=(0,I.useCompositeListItem)({guess:!0,label:d}),R=r(!0),x=(0,C.useBaseUiId)(l),{store:y}=a(),w=y.useState("isActive",S.index),P=y.useState("itemProps"),{value:A,setValue:N,disabled:D}=function(){let e=t.useContext(es);if(void 0===e)throw Error((0,n.default)(34));return e}(),L=y.useState("disabled"),F=f||D||L,j=A===v,{getItemProps:B,itemRef:H}=M({closeOnClick:g,disabled:F,highlighted:w,id:x,store:y,nativeButton:c,nodeId:R?.context.nodeId,itemMetadata:E}),U=t.useMemo(()=>({disabled:F,highlighted:w,checked:j}),[F,w,j]),_=(0,s.useRenderElement)("div",e,{state:U,stateAttributesMapping:k,props:[P,{role:"menuitemradio","aria-checked":j,onClick:function(e){N(v,(0,O.createChangeEventDetails)(p.REASONS.itemPress,e.nativeEvent,void 0,{preventUnmountOnClose:m.NOOP}))}},b,B],ref:[H,o,S.ref]});return(0,T.jsx)(el.Provider,{value:U,children:_})});e.s(["MenuRadioItem",0,ed],282593);let ec=t.forwardRef(function(e,o){let{render:r,className:i,style:a,keepMounted:u=!1,...l}=e,d=function(){let e=t.useContext(el);if(void 0===e)throw Error((0,n.default)(35));return e}(),c=t.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,s.useRenderElement)("span",e,{state:m,stateAttributesMapping:k,ref:[o,c],props:{"aria-hidden":!0,...l},enabled:u||f})});e.s(["MenuRadioItemIndicator",0,ec],105953);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=t.createContext(null);function eR(e){let o=t.useContext(eS);if(null===o&&!e)throw Error((0,n.default)(5));return o}e.s(["useMenubarContext",0,eR],507447);var ex=e.i(872855),ey=e.i(32199),eE=e.i(301252),eM=e.i(379248),eI=e.i(18478),eC=e.i(116786),ek=e.i(990627);let eO={...eC.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 eT extends eE.ReactStore{constructor(e,t,n=!1){const o=new ek.PopupTriggerMap;super(eP(o,t,n,e),ew(o),eO),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 ew(e){return{positionerRef:t.createRef(),popupRef:t.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:t.createRef(),beforeContentFocusGuardRef:t.createRef(),onOpenChangeComplete:void 0,triggerElements:e}}function eP(e,t,n=!1,o){return{...(0,eC.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 eM.FloatingTreeStore,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:m.EMPTY_OBJECT,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0,...o}}e.s(["MenuStore",0,eT,"createNullMenuStore",0,function(){let e=new ek.PopupTriggerMap;return Object.assign(new eI.NullStore(Object.freeze(eP(e)),Object.freeze(ew(e)),eO),{setOpen:m.NOOP})}],536481);var eA=e.i(264111);let eN=t.createContext(void 0);function eD(){return t.useContext(eN)}e.s(["MenuSubmenuRootContext",0,eN,"useMenuSubmenuRootContext",0,eD],874671);let eL=(0,eg.fastComponent)(function(e){var n,o,r;let s,{children:u,open:l,onOpenChange:d,onOpenChangeComplete:f,defaultOpen:g=!1,disabled:v=!1,modal:h,loopFocus:b=!0,orientation:R="vertical",actionsRef:x,closeParentOnEsc:y=!1,handle:E,triggerId:M,defaultTriggerId:I=null,highlightItemOnHover:C=!0}=e,k=c(!0),w=a(!0),P=eR(!0),A=eD(),N=t.useMemo(()=>A&&w?{type:"menu",store:w.store}:P?{type:"menubar",context:P}:k&&!w?{type:"context-menu",context:k}:{type:void 0},[k,w,P,A]),D=(0,ep.useId)(),L=(0,ep.useId)(),j=(0,X.useFloatingParentNodeId)(),B="menu"===N.type?N.store:void 0,H=(l??g)&&B?.state.transitionStatus==="starting",U=(0,ef.useRefWithInit)(()=>H?B?.state.instantType:void 0).current,_=(n={open:g,openProp:l,activeTriggerId:I,triggerIdProp:M,parent:N,disabled:v,highlightItemOnHover:C,modal:void 0===N.type?h:void 0,rootId:D,instantType:U},o=L,r=null!=j,(0,ef.useRefWithInit)(()=>new eT(n,o,r)).current);_.useControlledProp("openProp",l),_.useControlledProp("triggerIdProp",M),_.useContextCallback("onOpenChangeComplete",f);let G=_.useState("floatingTreeRoot"),K=(0,X.useFloatingNodeId)(G),Y=_.useState("open"),z=_.useState("activeTriggerElement"),V=_.useState("positionerElement"),W=_.useState("hoverEnabled"),J=_.useState("disabled"),$=_.useState("lastOpenChangeReason"),Q=_.useState("parent"),Z=_.useState("activeIndex"),ee=_.useState("payload"),eo=_.useState("floatingParentNodeId"),er=t.useRef(null),ei=t.useRef("context-menu"!==Q.type),es=(0,q.useTimeout)(),eu=t.useRef(!0),el=(0,q.useTimeout)(),ed=null!=eo,{openMethod:ec,triggerProps:eg}=(0,ey.useOpenInteractionType)(Y);_.useSyncedValues({disabled:v,highlightItemOnHover:C,modal:void 0===Q.type?h:void 0,openMethod:ec,rootId:D}),(0,eA.useImplicitActiveTrigger)(_);let{forceUnmount:eS,transitionStatus:eE}=(0,eA.useOpenStateTransitions)(Y,_,()=>{_.set("allowMouseEnter",!1)},H),eM=(0,en.useAnimationsFinished)(_.context.popupRef);t.useEffect(()=>{if(void 0===U)return;let e=()=>{_.state.instantType===U&&_.set("instantType",void 0)};if(!Y)return void e();if(void 0!==eE)return;if(null==_.context.popupRef.current)return void e();let t=new AbortController;return eM(e,t.signal),()=>{t.abort()}},[U,Y,eE,eM,_]),(0,F.useIsoLayoutEffect)(()=>{k&&!w?_.update({parent:{type:"context-menu",context:k},floatingNodeId:K,floatingParentNodeId:j}):w&&_.update({floatingNodeId:K,floatingParentNodeId:j})},[k,w,K,j,_]),t.useEffect(()=>{if(Y||(er.current=null),"context-menu"===Q.type){if(!Y){es.clear(),ei.current=!1;return}es.start(500,()=>{ei.current=!0})}},[es,Y,Q.type]),(0,F.useIsoLayoutEffect)(()=>{Y||W||_.set("hoverEnabled",!0)},[Y,W,_]);let eI=(0,ea.useStableCallback)((e,t)=>{let n=t.reason;if(!e&&!_.select("open")||Y===e&&t.trigger===z&&$===n)return;let o=(0,eA.attachPreventUnmountOnClose)(t);if(e||null!=t.trigger||(t.trigger=z??void 0),d?.(e,t),t.isCanceled)return;_.state.floatingRootContext.dispatchOpenChange(e,t);let r=t.event;if(!1===e&&r?.type==="click"&&"touch"===r.pointerType&&!eu.current)return;e&&n===p.REASONS.triggerFocus?(eu.current=!1,el.start(300,()=>{eu.current=!0})):(eu.current=!0,el.clear());let i=(n===p.REASONS.triggerPress||n===p.REASONS.itemPress)&&0===r.detail,a=!e&&(n===p.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===p.REASONS.triggerFocus||n===p.REASONS.focusOut||n===p.REASONS.triggerHover||n===p.REASONS.listNavigation||n===p.REASONS.siblingOpen)?s.instantType="group":i||a?s.instantType=i?"click":"dismiss":s.instantType=void 0,_.update(s)}),eC=(0,eb.useSyncedFloatingRootContext)({popupStore:_,floatingRootContext:_.state.floatingRootContext,floatingId:L,nested:null!=j,onOpenChange:eI}),ek=eC.context.events;(0,F.useIsoLayoutEffect)(()=>{let e=({open:e,eventDetails:t})=>eI(e,t);return ek.on("setOpen",e),()=>{ek?.off("setOpen",e)}},[ek,eI]);let eO=t.useCallback(()=>{_.setOpen(!1,(0,O.createChangeEventDetails)(p.REASONS.imperativeAction))},[_]);t.useImperativeHandle(x,()=>({unmount:eS,close:eO}),[eS,eO]),"context-menu"===Q.type&&(s=Q.context),t.useImperativeHandle(s?.positionerRef,()=>V,[V]),t.useImperativeHandle(s?.actionsRef,()=>({setOpen:eI}),[eI]);let ew=(0,em.useDismiss)(eC,{enabled:!J,bubbles:{escapeKey:y&&"menu"===Q.type},outsidePress:()=>"context-menu"!==Q.type||er.current?.type==="contextmenu"||ei.current,externalTree:ed?G:void 0}),eP=(0,ex.useDirection)(),eN=t.useCallback(e=>{_.select("activeIndex")!==e&&_.set("activeIndex",e)},[_]),eL=(0,ev.useListNavigation)(eC,{enabled:!J,listRef:_.context.itemDomElements,activeIndex:Z,nested:void 0!==Q.type,loopFocus:b,orientation:R,parentOrientation:"menubar"===Q.type?Q.context.orientation:void 0,rtl:"rtl"===eP,disabledIndices:m.EMPTY_ARRAY,onNavigate:eN,openOnArrowKeyDown:"context-menu"!==Q.type,externalTree:ed?G:void 0,focusItemOnHover:C}),eF=t.useCallback(e=>{_.context.typingRef.current=e},[_]),ej=(0,eh.useTypeahead)(eC,{enabled:!J,listRef:_.context.itemLabels,elementsRef:_.context.itemDomElements,activeIndex:Z,resetMs:et.TYPEAHEAD_RESET_MS,onMatch:e=>{Y&&e!==Z&&_.set("activeIndex",e)},onTyping:eF}),eB=t.useMemo(()=>{let e=(0,S.mergeProps)(ej.reference,eL.reference,ew.reference,{onMouseMove(){_.set("allowMouseEnter",!0)}},eg);return e["aria-haspopup"]="menu",e["aria-expanded"]=Y,e},[_,ej.reference,eL.reference,ew.reference,eg,Y]),eH=t.useMemo(()=>{let e=(0,S.mergeProps)(eL.trigger,ew.trigger,eg);return e["aria-haspopup"]="menu",e["aria-expanded"]=!1,e},[eL.trigger,ew.trigger,eg]);(0,ef.useRefWithInit)(()=>(_.update({inactiveTriggerProps:eH}),null));let eU=t.useMemo(()=>(0,S.mergeProps)(eA.FOCUSABLE_POPUP_PROPS,{id:L,role:"menu","aria-orientation":"horizontal"===R?"horizontal":void 0,"aria-labelledby":z?.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,eL.floating,ew.floating),[z,L,R,Q.type,_,ej.floating,eL.floating,ew.floating]),e_=eL.item??m.EMPTY_OBJECT;(0,eA.usePopupInteractionProps)(_,{floatingRootContext:eC,activeTriggerProps:eB,inactiveTriggerProps:eH,popupProps:eU,itemProps:e_});let eG=t.useMemo(()=>({store:_,parent:N}),[_,N]),eK=(0,T.jsxs)(i.Provider,{value:eG,children:[E&&(0,T.jsx)(eA.PopupHandleAttachment,{handle:E,store:_}),"function"==typeof u?u({payload:ee}):u]});return void 0===Q.type||"context-menu"===Q.type?(0,T.jsx)(X.FloatingTree,{externalTree:G,children:eK}):eK});e.s(["MenuRoot",0,eL],63947),e.s(["MenuSubmenuRoot",0,function(e){let n=a().store,o=t.useMemo(()=>({parentMenu:n}),[n]);return(0,T.jsx)(eN.Provider,{value:o,children:(0,T.jsx)(eL,{...e})})}],277450)}]);
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,805995,19146,e=>{"use strict";var t=e.i(843476),n=e.i(493801),s=e.i(456420);let r={name:"audio-lines",size:24,node:[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]]};r.node;let i=(0,s.default)(r),o={name:"captions",size:24,node:[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]],aliases:["subtitles"]};o.node;let a=(0,s.default)(o);var l=e.i(689664),d=e.i(867927);let c={name:"clapperboard",size:24,node:[["path",{d:"m12.296 3.464 3.02 3.956",key:"qash78"}],["path",{d:"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z",key:"1h7j8b"}],["path",{d:"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"4lm6w1"}],["path",{d:"m6.18 5.276 3.1 3.899",key:"zjj9t3"}]]};c.node;let u=(0,s.default)(c);var h=e.i(560972),h=h,m=e.i(815170),x=e.i(758925),p=e.i(566595),g=e.i(986206),f=e.i(466787),y=e.i(271645),j=e.i(798120),k=e.i(167881),v=e.i(23750),b=e.i(917162),w=e.i(59377),N=e.i(818125),S=e.i(671428),C=e.i(412294),A=e.i(146538),I=e.i(968978),M=e.i(265402),T=e.i(635963),R=e.i(95187);let K=(0,R.createServerReference)("7fd531c41b57d8529fd25473d9d563750ba13f6d86",R.callServer,void 0,R.findSourceMapURL,"removeConfigAction");e.s(["removeConfigAction",0,K],19146);var _=e.i(439100),z=e.i(992112),D=e.i(508734),F=e.i(421429),O=e.i(36174);let $={telegram:"telegram.org",discord:"discord.com",slack:"slack.com"},B=`display_information:
|
|
2
|
-
name: Thursday
|
|
3
|
-
features:
|
|
4
|
-
app_home:
|
|
5
|
-
messages_tab_enabled: true
|
|
6
|
-
messages_tab_read_only_enabled: false
|
|
7
|
-
bot_user:
|
|
8
|
-
display_name: Thursday
|
|
9
|
-
oauth_config:
|
|
10
|
-
scopes:
|
|
11
|
-
bot: [chat:write, im:history, im:read, users:read, files:read, files:write]
|
|
12
|
-
settings:
|
|
13
|
-
event_subscriptions:
|
|
14
|
-
bot_events: [message.im]
|
|
15
|
-
interactivity:
|
|
16
|
-
is_enabled: true
|
|
17
|
-
socket_mode_enabled: true
|
|
18
|
-
`,q=({href:e,children:n})=>(0,t.jsx)("a",{href:e,target:"_blank",rel:"noreferrer",className:"font-medium text-foreground underline underline-offset-4 outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:n}),P=({children:e})=>(0,t.jsx)("span",{className:"font-medium text-foreground",children:e}),E={telegram:[(0,t.jsxs)(t.Fragment,{children:["In Telegram, write to"," ",(0,t.jsx)(q,{href:"https://t.me/BotFather",children:"@BotFather"}),", send ",(0,t.jsx)(P,{children:"/newbot"})," ","and pick a name. It answers with a ",(0,t.jsx)(P,{children:"token"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["Paste the token below, under ",(0,t.jsx)(P,{children:"Telegram"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["From your phone, ",(0,t.jsx)(P,{children:"write anything to your new bot"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["A question appears on this computer. Press ",(0,t.jsx)(P,{children:"Allow"}),". Done — write to the bot and Thursday answers."]})],discord:[(0,t.jsxs)(t.Fragment,{children:["At"," ",(0,t.jsx)(q,{href:"https://discord.com/developers/applications",children:"discord.com/developers"}),", make a ",(0,t.jsx)(P,{children:"New Application"}),". On its ",(0,t.jsx)(P,{children:"Bot"})," page press"," ",(0,t.jsx)(P,{children:"Reset Token"})," and copy it."]}),(0,t.jsxs)(t.Fragment,{children:["Paste the token below, under ",(0,t.jsx)(P,{children:"Discord"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["On the application's ",(0,t.jsx)(P,{children:"OAuth2"})," page, make an invite link with the"," ",(0,t.jsx)(P,{children:"bot"})," scope and add the bot to a server of your own. Discord only lets you write to a bot you share a server with."]}),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P,{children:"Send the bot a direct message"})," (not in the server), then press"," ",(0,t.jsx)(P,{children:"Allow"})," on this computer."]})],slack:[(0,t.jsxs)(t.Fragment,{children:["At ",(0,t.jsx)(q,{href:"https://api.slack.com/apps",children:"api.slack.com/apps"}),","," ",(0,t.jsx)(P,{children:"Create New App › From a manifest"}),", and paste the manifest (the button under these steps copies it)."]}),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P,{children:"Basic Information › App-Level Tokens"}),": generate one with"," ",(0,t.jsx)(P,{children:"connections:write"}),". It starts with xapp- — paste it below as the"," ",(0,t.jsx)(P,{children:"app token"}),"."]}),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P,{children:"Install App"})," to your workspace. The Bot User OAuth Token starts with xoxb- — paste it below as the ",(0,t.jsx)(P,{children:"bot token"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["In Slack, open the app under ",(0,t.jsx)(P,{children:"Apps"}),", write in its ",(0,t.jsx)(P,{children:"Messages"})," ","tab, then press ",(0,t.jsx)(P,{children:"Allow"})," on this computer."]})]};function G(){let[e,n]=(0,y.useState)("telegram"),[s,r]=(0,y.useState)(!1);return(0,t.jsxs)("section",{className:"space-y-4 rounded-xl bg-muted/40 p-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,t.jsx)("p",{className:"min-w-0 flex-1 text-sm font-medium",children:"Connect a chat app in four steps"}),(0,t.jsx)(F.Segmented,{"aria-label":"Which chat app",value:e,onChange:n,options:O.REACH_CHANNELS.map(e=>({value:e,label:(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(N.SiteIcon,{host:$[e],className:"size-3.5 rounded-[3px]"}),O.REACH_LABEL[e]]})}))})]}),(0,t.jsx)("ol",{className:"space-y-2.5",children:E[e].map((e,n)=>(0,t.jsxs)("li",{className:"flex gap-3 text-[13px] leading-relaxed",children:[(0,t.jsx)("span",{className:"grid size-5 shrink-0 place-items-center rounded-full bg-background font-mono text-[10.5px] text-muted-foreground ring-1 ring-border/60",children:n+1}),(0,t.jsx)("span",{className:"min-w-0 text-muted-foreground",children:e})]},n))}),"slack"===e&&(0,t.jsxs)(k.Button,{size:"sm",variant:"outline",onClick:()=>void navigator.clipboard.writeText(B).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)}),children:[s?(0,t.jsx)(l.Check,{}):(0,t.jsx)(D.Copy,{}),s?"Copied":"Copy the manifest"]}),(0,t.jsxs)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:["Only the one person you allow can write, and only direct messages are read. This computer has to be on with Thursday running; for bots to work while no tab is open, switch on ",(0,t.jsx)(P,{children:"Work while the app is closed"})," in Settings › Bots."]})]})}var L=e.i(511769),U=e.i(609856),W=e.i(283653),H=e.i(647163);let Y=(0,R.createServerReference)("7f1b40c9c47437cb87b8d000524dd23905c28bf464",R.callServer,void 0,R.findSourceMapURL,"forgetReachAction");function X(){let{data:e}=(0,W.useServerRoute)(j.queryKey.reach);return((0,L.useAppEvent)({reach:()=>void(0,W.revalidate)(j.queryKey.reach)}),e?.channels.length)?(0,t.jsx)("div",{className:"pt-2",children:e.channels.map(e=>(0,t.jsx)(J,{channel:e},e.name))}):null}function J({channel:e}){let[n,s]=(0,U.useServerAction)(Y,{onOk:()=>(0,W.revalidate)(j.queryKey.reach)}),r="px-1 text-xs leading-6",i=O.REACH_LABEL[e.name];return e.problem&&!e.bot?(0,t.jsxs)("p",{className:(0,H.cn)(r,"text-destructive"),children:[i,": ",e.problem]}):e.bot?e.allowed?(0,t.jsxs)("p",{className:(0,H.cn)(r,"text-muted-foreground"),children:[i,": listening as ",e.bot,". ",e.allowed.name," is let in."," ",(0,t.jsx)("button",{type:"button",disabled:s,onClick:()=>void n(e.name).catch(()=>{}),className:"rounded-sm text-foreground underline underline-offset-4 outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50",children:"Let them go"})]}):(0,t.jsxs)("p",{className:(0,H.cn)(r,H.WAITING_INK),children:[i,": listening as ",e.bot,". Write to it from your phone, then press Allow here."]}):(0,t.jsxs)("p",{className:(0,H.cn)(r,"text-muted-foreground"),children:[i,": connecting…"]})}var Q=e.i(895836);let V={[z.EXA_API_KEY]:p.Search,...Object.fromEntries(Object.values(O.REACH_KEYS).flat().map(e=>[e,g.Smartphone]))},Z={image:m.Image,video:u,speech:i,transcription:a},ee={keys:["voice","easy","text","search"],models:["bots","studio"],phone:["phone"]};function et({screen:e}){let{data:n,isLoading:s,error:r}=(0,W.useServerRoute)(j.queryKey.config);if(s)return(0,t.jsx)(Q.SettingSkeleton,{rows:4});if(r)return(0,t.jsx)(Q.SettingError,{message:r.message});let i=e=>(0,z.isConfigSet)(n,e),o=ee[e].flatMap(e=>z.CONFIG_GROUPS.find(t=>t.id===e)??[]),a=o.filter(e=>"keys"===e.section).flatMap(e=>e.entries);return(0,t.jsxs)(Q.SettingScreen,{footer:(0,t.jsx)(Q.SettingRailNote,{children:"models"===e?"Her own voice and backend models are in Thursday. A bot can pick its own on its page.":"phone"===e?"Nothing on this computer is opened to the internet: the app asks the chat service what was written.":`${a.filter(e=>i(e.key)).length} of ${a.length} set${o.some(e=>!(0,z.groupSatisfied)(e,i))?" · a call needs one voice key":" · your keys stay on this machine"}`}),children:["phone"===e&&(0,t.jsx)(G,{}),o.map(e=>(0,t.jsxs)(Q.SettingGroup,{label:e.title,hint:e.hint,right:(0,t.jsx)(es,{group:e,isSet:i}),children:["easy"===e.id?(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:e.entries.map(e=>(0,t.jsx)(er,{card:!0,entry:e,set:i(e.key),needed:!1},e.key))}):"text"===e.id?(0,t.jsx)("div",{className:"flex flex-wrap gap-x-1.5 gap-y-3.5",children:e.entries.map(e=>(0,t.jsx)(en,{entry:e,set:i(e.key)},e.key))}):(0,t.jsx)(Q.SettingItems,{children:e.entries.map(s=>{let r;return s.choices?(0,t.jsx)(em,{entry:s,choices:s.choices,value:(r=s.key,n?.find(e=>e.key===r)?.value),isSet:i},s.key):(0,t.jsx)(er,{entry:s,set:i(s.key),needed:!(0,z.groupSatisfied)(e,i)},s.key)})}),"phone"===e.id&&(0,t.jsx)(X,{})]},e.id))]})}function en({entry:e,set:n}){return(0,t.jsxs)("button",{type:"button",onClick:()=>ef(e,n),"aria-label":`${e.label}: ${n?"set":"not set"}`,className:"group flex w-17 flex-col items-center gap-1.5 rounded-xl py-1 outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,t.jsxs)("span",{className:"relative grid size-10.5 place-items-center rounded-[13px] bg-muted/60 transition-colors group-hover:bg-muted",children:[(0,t.jsx)(eh,{entry:e}),n&&(0,t.jsx)("span",{className:"absolute -top-1 -right-1 grid size-4 place-items-center rounded-full bg-primary text-primary-foreground ring-2 ring-background",children:(0,t.jsx)(l.Check,{className:"size-2.5"})})]}),(0,t.jsx)("span",{className:(0,H.cn)("max-w-full truncate text-[11px]",n?"text-foreground":"text-muted-foreground"),children:e.label})]})}function es({group:e,isSet:n}){return"none"===e.require?null:(0,z.groupSatisfied)(e,n)?(0,t.jsxs)("span",{className:"flex items-center gap-1 font-mono text-[11px] text-muted-foreground",children:[(0,t.jsx)(l.Check,{className:"size-3"}),"ready"]}):(0,t.jsxs)("span",{className:(0,H.cn)("flex items-center gap-1 font-mono text-[11px]",H.WAITING_INK),children:[(0,t.jsx)(f.TriangleAlert,{className:"size-3"}),e.note??"Required"]})}function er({entry:e,set:n,needed:s,card:r=!1,narrow:i=!1}){let o=ea(e,n),a=ed(e,n),c=el(e,n),u=a.data?ec(a.data):eo(n,s,o.data,e.signIn),h=o.isLoading||a.isLoading,m=(0,t.jsxs)("span",{className:(0,H.cn)("flex shrink-0 items-center gap-1.5 font-mono text-xs",u.ink),children:[u.warn?(0,t.jsx)(f.TriangleAlert,{className:"size-3"}):n&&(0,t.jsx)(l.Check,{className:"size-3"}),u.text]});return(0,t.jsxs)("button",{type:"button",onClick:()=>{var s;return e.signIn?(s=e,b.notify.component({className:"sm:max-w-md",renderer:({close:e})=>(0,t.jsx)(eg,{entry:s,onDone:e})})):ef(e,n)},className:(0,H.cn)("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",r&&"rounded-xl border border-border/60"),children:[(0,t.jsx)("span",{className:"grid size-8 shrink-0 place-items-center rounded-lg bg-muted/60",children:(0,t.jsx)(eh,{entry:e})}),(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 truncate text-sm font-medium",children:[e.label,e.recommended&&(0,t.jsx)("span",{className:"rounded-full px-1.5 font-mono text-[9.5px] leading-4 font-normal text-brand ring-1 ring-brand",children:"recommended"})]}),i?h?(0,t.jsx)(S.Skeleton,{className:"h-3 w-20"}):m:(0,t.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:e.signIn?n?eu(a.data,c):"sign in with your account":e.key})]}),i?null:h?(0,t.jsx)(S.Skeleton,{className:"h-3 w-20 shrink-0"}):m,(0,t.jsx)(d.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 transition-colors group-hover:text-foreground"})]})}let ei=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"});function eo(e,t,n,s){return e?n?"refused"in n?{text:"Key refused",ink:"text-destructive",warn:!0}:{text:`${ei.format(n.balance)} left`,ink:n.low?H.WAITING_INK:"text-muted-foreground",warn:n.low}:{text:s?"Signed in":"Set",ink:"text-muted-foreground",warn:!1}:t?{text:"Needed",ink:H.WAITING_INK,warn:!0}:{text:s?"Signed out":"Not set",ink:"text-muted-foreground/60",warn:!1}}function ea(e,t){return(0,W.useServerRoute)(t&&"vercel-ai-gateway"===e.provider?j.queryKey.gatewayCredits:null)}function el(e,t){let{data:n}=(0,W.useServerRoute)(t&&e.signIn?j.queryKey.llmModel:null);return n?.find(t=>t.id===e.provider)?.plan??null}function ed(e,t){return(0,W.useServerRoute)(t&&e.signIn?j.queryKey.subscriptionUsage:null)}function ec(e){return"refused"in e?{text:"Sign-in refused",ink:"text-destructive",warn:!0}:{text:e.spent?"Limit reached":`${e.usedPercent}% used`,ink:e.high?H.WAITING_INK:"text-muted-foreground",warn:e.high}}function eu(e,t){let s=!e||"refused"in e?null:e,r=`${s?.plan??t??"unknown"} plan`;return s?.resetsAt?`${r} \xb7 resets in ${(0,n.formatDistanceToNowStrict)(new Date(s.resetsAt))}`:r}function eh({entry:e}){if(e.provider)return(0,t.jsx)(I.ProviderIcon,{provider:e.provider,className:"size-4"});let n=V[e.key]??x.KeyRound,s=(0,t.jsx)(n,{className:"size-4 text-muted-foreground"});return e.site?(0,t.jsx)(N.SiteIcon,{host:e.site,className:"size-4 rounded-[4px]",fallback:s}):s}function em({entry:e,choices:n,value:s,isSet:r}){let i=n.find(e=>e.value===s),o=n.filter(e=>r(e.needs)),a=s&&!i?s:null,l=e.kind?Z[e.kind]:T.BotsMark;return(0,t.jsxs)("button",{type:"button",onClick:()=>{var s,r,i;return e.kind||e.text?(s=e,b.notify.component({className:"sm:max-w-lg",renderer:({close:e})=>(0,t.jsx)(ex,{entry:s,onDone:e})})):(r=e,i=n,b.notify.component({className:"sm:max-w-md",renderer:({close:e})=>(0,t.jsx)(ep,{entry:r,choices:i,onDone:e})}))},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-8 shrink-0 place-items-center rounded-lg bg-muted/60",children:(0,t.jsx)(l,{className:"size-4 text-muted-foreground"})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-1",children:[(0,t.jsx)("span",{className:"block truncate text-sm font-medium",children:e.label}),(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[!i&&!a&&(0,t.jsx)("span",{className:(0,H.cn)("shrink-0 rounded-[5px] border border-border/60 px-1 font-mono text-[10px]",e.kind?H.WAITING_INK:"text-muted-foreground"),children:e.kind?"off":"auto"}),(0,t.jsx)("span",{className:"truncate font-mono text-xs text-muted-foreground",children:i?.label??a??(e.kind?"Not offered to bots until you pick one":o[0]?.label??"No key for any of these yet")})]})]}),(0,t.jsx)(d.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 transition-colors group-hover:text-foreground"})]})}function ex({entry:e,onDone:n}){let{data:s}=(0,W.useServerRoute)(j.queryKey.config),r=s?.find(t=>t.key===e.key)?.value,[i,o]=(0,y.useState)(()=>{let t=e.text?(0,M.parseTextModel)(r):(0,M.parseMediaModel)(r);return{provider:t?.provider??null,model:t?.model??""}}),a=()=>{(0,W.revalidate)(j.queryKey.config),n()},[l]=(0,U.useServerAction)(_.setConfigAction,{okMessage:`${e.label} saved`,onOk:a}),[d,c]=(0,U.useServerAction)(K,{okMessage:e.kind?`${e.label} switched off`:`${e.label} back to automatic`,onOk:a});return(0,t.jsx)(Q.SettingDialogContent,{title:e.label,description:e.hint,footer:(0,t.jsxs)(t.Fragment,{children:[r&&(0,t.jsx)(k.Button,{variant:"ghost",loading:c,onClick:()=>d(e.key),children:e.kind?"Turn off":"Automatic"}),(0,t.jsx)(k.Button,{variant:"ghost",onClick:n,children:"Close"})]}),children:(0,t.jsx)(A.ModelPicker,{kind:e.kind,provider:i.provider,model:i.model,onChange:t=>{o(t),t.model.trim()&&l(e.key,`${t.provider}/${t.model.trim()}`)}})})}function ep({entry:e,choices:n,onDone:s}){let{data:r}=(0,W.useServerRoute)(j.queryKey.config),i=r?.find(t=>t.key===e.key)?.value,o=()=>{(0,W.revalidate)(j.queryKey.config),s()},[a,l]=(0,U.useServerAction)(_.setConfigAction,{okMessage:`${e.label} saved`,onOk:o}),[d,c]=(0,U.useServerAction)(K,{okMessage:e.kind?`${e.label} switched off`:`${e.label} back to automatic`,onOk:o});return(0,t.jsx)(Q.SettingDialogContent,{title:e.label,description:e.hint,footer:(0,t.jsxs)(t.Fragment,{children:[i&&(0,t.jsx)(k.Button,{variant:"ghost",loading:c,onClick:()=>d(e.key),children:e.kind?"Turn off":"Automatic"}),(0,t.jsx)(k.Button,{variant:"ghost",onClick:s,children:"Close"})]}),children:(0,t.jsx)(Q.SettingChoiceRows,{options:n.map(e=>({value:e.value,label:e.label,disabled:!(0,z.isConfigSet)(r,e.needs)&&`needs ${e.needs}`})),value:i,onChange:t=>a(e.key,t),disabled:l})})}function eg({entry:e,onDone:n}){let{data:s}=(0,W.useServerRoute)(j.queryKey.config),r=(0,z.isConfigSet)(s,e.key),i=el(e,r),o=ed(e,r),a=o.data?ec(o.data):null,[l,d]=(0,U.useServerAction)(K,{okMessage:`Signed out of ${e.label}`,onOk:()=>{(0,W.revalidate)(j.queryKey.config),(0,W.revalidate)(j.queryKey.llmModel),n()}});return(0,t.jsx)(Q.SettingDialogContent,{title:e.label,description:r?(0,t.jsxs)(t.Fragment,{children:["Signed in ·"," ",(0,t.jsx)("span",{className:"font-mono",children:eu(o.data,i)}),a&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,t.jsx)("span",{className:(0,H.cn)("font-mono",a.ink),children:a.text})]})]}):"Sign in with your ChatGPT account instead of a key",footer:(0,t.jsxs)(t.Fragment,{children:[r&&(0,t.jsx)(k.Button,{variant:"ghost",loading:d,onClick:()=>l(e.key),children:"Sign out"}),(0,t.jsx)(k.Button,{variant:"ghost",onClick:n,children:r?"Close":"Cancel"}),!r&&(0,t.jsx)(C.ChatGptSignIn,{})]}),children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(Q.SettingNote,{children:r?"Bots on this subscription spend your plan's usage, not a key. When it runs out, the job stops and says when it resets.":"The sign-in opens in its own window. Approve it there, and this turns to signed in by itself."}),o.data&&"refused"in o.data&&(0,t.jsx)(Q.SettingNote,{className:"wrap-break-word text-destructive",children:o.data.refused})]})})}function ef(e,n){return b.notify.component({className:"sm:max-w-md",renderer:({close:s})=>(0,t.jsx)(ey,{entry:e,set:n,onDone:s})})}function ey({entry:e,set:n,onDone:s}){let[r,i]=(0,y.useState)(""),{data:o}=ea(e,n),a=o?eo(n,!1,o):null,l=()=>{(0,W.revalidate)(j.queryKey.config),(0,W.revalidate)(j.queryKey.llmModel)},[d,c]=(0,U.useServerAction)(_.setConfigAction,{okMessage:`${e.label} key saved`,onOk:()=>{l(),s()}}),[u,h]=(0,U.useServerAction)(K,{okMessage:`${e.label} key removed`,onOk:()=>{l(),s()}});return(0,t.jsx)(Q.SettingDialogContent,{title:e.label,description:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"font-mono",children:e.key}),e.hint&&(0,t.jsxs)(t.Fragment,{children:[" · ",e.hint]}),a&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,t.jsx)("span",{className:(0,H.cn)("font-mono",a.ink),children:a.text})]})]}),footer:(0,t.jsxs)(t.Fragment,{children:[n&&(0,t.jsx)(k.Button,{variant:"ghost",loading:h,onClick:()=>u(e.key),children:"Remove"}),(0,t.jsx)(k.Button,{variant:"ghost",onClick:s,children:"Cancel"}),(0,t.jsx)(k.Button,{loading:c,disabled:r.trim().length<8,onClick:()=>d(e.key,r),children:n?"Replace":"Save"})]}),children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Input,{value:r,onChange:e=>i(e.target.value),onKeyDown:t=>{"Enter"===t.key&&r.trim().length>=8&&d(e.key,r)},placeholder:n?"New value — replaces the current key":e.key,spellCheck:!1,type:"password",autoFocus:!0}),o&&"refused"in o&&(0,t.jsx)(Q.SettingNote,{className:"wrap-break-word text-destructive",children:o.refused})]})})}e.s(["AccountsSetup",0,function(){let{data:e}=(0,W.useServerRoute)(j.queryKey.config),n=t=>(0,z.isConfigSet)(e,t),s=e=>z.CONFIG_GROUPS.find(t=>t.id===e)?.entries??[],[r,i]=(0,y.useState)(!1),o=[...s("voice"),...s("text")],a=o.filter((e,t)=>t<4||n(e.key)),l=o.filter(e=>!a.includes(e));return(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsx)("div",{className:"flex flex-col gap-2",children:s("easy").map(e=>(0,t.jsx)(er,{card:!0,narrow:!0,entry:e,set:n(e.key),needed:!1},e.key))}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-y-2.5",children:[a.map(e=>(0,t.jsx)(en,{entry:e,set:n(e.key)},e.key)),l.length>0&&(0,t.jsxs)(w.Popover,{open:r,onOpenChange:i,children:[(0,t.jsxs)(w.PopoverTrigger,{"aria-label":`${l.length} more providers`,className:"group flex w-17 flex-col items-center gap-1.5 rounded-xl py-1 outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,t.jsx)("span",{className:"grid size-10.5 place-items-center rounded-[13px] bg-muted/60 text-muted-foreground transition-colors group-hover:bg-muted",children:(0,t.jsx)(h.default,{className:"size-4"})}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:"More"})]}),(0,t.jsx)(w.PopoverContent,{align:"end",className:"w-78 flex-row flex-wrap gap-0 gap-y-2.5 rounded-2xl p-2.5",onClick:()=>i(!1),children:l.map(e=>(0,t.jsx)(en,{entry:e,set:n(e.key)},e.key))})]})]}),s("search").map(e=>(0,t.jsx)(er,{card:!0,narrow:!0,entry:e,set:n(e.key),needed:!1},e.key))]})},"KeysSetting",0,()=>(0,t.jsx)(et,{screen:"keys"}),"ModelsSetting",0,()=>(0,t.jsx)(et,{screen:"models"}),"PhoneSetting",0,()=>(0,t.jsx)(et,{screen:"phone"})],805995)},493801,986206,e=>{"use strict";var t=e.i(24708),n=e.i(55545),s=e.i(455024),r=e.i(99151),i=e.i(845110),o=e.i(281092),a=e.i(234662);e.s(["formatDistanceToNowStrict",0,function(e,l){return function(e,t,l){var d;let c,u,h=(0,s.getDefaultOptions)(),m=l?.locale??h.locale??n.defaultLocale,x=(u=(0,o.toDate)(e)-(0,o.toDate)(t))<0?-1:u>0?1:u;if(isNaN(x))throw RangeError("Invalid time value");let p=Object.assign({},l,{addSuffix:l?.addSuffix,comparison:x}),[g,f]=(0,i.normalizeDates)(l?.in,...x>0?[t,e]:[e,t]),y=(d=l?.roundingMethod??"round",e=>{let t=(d?Math[d]:Math.trunc)(e);return 0===t?0:t}),j=f.getTime()-g.getTime(),k=j/a.millisecondsInMinute,v=(j-((0,r.getTimezoneOffsetInMilliseconds)(f)-(0,r.getTimezoneOffsetInMilliseconds)(g)))/a.millisecondsInMinute,b=l?.unit;if("second"===(c=b||(k<1?"second":k<60?"minute":k<a.minutesInDay?"hour":v<a.minutesInMonth?"day":v<a.minutesInYear?"month":"year"))){let e=y(j/1e3);return m.formatDistance("xSeconds",e,p)}if("minute"===c){let e=y(k);return m.formatDistance("xMinutes",e,p)}if("hour"===c){let e=y(k/60);return m.formatDistance("xHours",e,p)}if("day"===c){let e=y(v/a.minutesInDay);return m.formatDistance("xDays",e,p)}if("month"===c){let e=y(v/a.minutesInMonth);return 12===e&&"month"!==b?m.formatDistance("xYears",1,p):m.formatDistance("xMonths",e,p)}else{let e=y(v/a.minutesInYear);return m.formatDistance("xYears",e,p)}}(e,(0,t.constructNow)(e),l)}],493801);var l=e.i(456420);let d={name:"smartphone",size:24,node:[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]};d.node;let c=(0,l.default)(d);e.s(["Smartphone",0,c],986206)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,638475,e=>{"use strict";var t=e.i(843476),r=e.i(798120),i=e.i(319036),a=e.i(609856),s=e.i(283653),n=e.i(95187);let o=(0,n.createServerReference)("7f24ac631f68d73a9c5488441088ee871097f35a63",n.callServer,void 0,n.findSourceMapURL,"setKeepWorkingOnAction"),c="Work while the app is closed";e.s(["KeepWorkingSwitch",0,function(){let{data:e,mutate:n}=(0,s.useServerRoute)(r.queryKey.botKeepWorking),[l]=(0,a.useServerAction)(o,{onOk:()=>(0,s.revalidate)(r.queryKey.botKeepWorking)});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",title:"Off, closing the last tab stops running jobs and holds routines until one is open again. On, they run until the server stops.",children:c}),(0,t.jsx)(i.Switch,{checked:e??!1,disabled:void 0===e,onCheckedChange:e=>{n(e,!1),l(e)},"aria-label":c})]})}],638475)},284201,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("7f88aa9d4f071f0ca59f62a7efd73449ccb68a55fc",t.callServer,void 0,t.findSourceMapURL,"deleteWorkspaceFileAction");e.s(["deleteWorkspaceFileAction",0,r])},333999,e=>{"use strict";var t=e.i(271645),r=e.i(647163);e.s(["useObjectState",0,e=>{let[i,a]=(0,t.useState)(e);return[i,(0,t.useMemo)(()=>{let e=e=>{a(t=>{let i=(0,r.isFunction)(e)?e(t):e;return Object.keys(i).some(e=>!Object.is(t[e],i[e]))?{...t,...i}:t})},t=new Map;return new Proxy(e,{get(i,a,s){if("symbol"==typeof a)return Reflect.get(i,a,s);let n=t.get(a);return n||(n=t=>{e(e=>({[a]:(0,r.isFunction)(t)?t(e[a]):t}))},t.set(a,n)),n}})},[])]}])},759659,e=>{"use strict";var t=e.i(456420);let r={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"]};r.node;let i=(0,t.default)(r);e.s(["Trash2",0,i],759659)}]);
|
|
File without changes
|
/package/.next/static/{UiOMPYpQ4fqGyu5PzS-7j → u8kJqShUAa49vY7BxAWsw}/_clientMiddlewareManifest.js
RENAMED
|
File without changes
|
|
File without changes
|