tower-studio 0.2.6 → 0.2.8
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/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +43 -43
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/adapters/test/route.js +3 -2
- package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js +1 -2
- package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js +3 -2
- package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/route.js +1 -2
- package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js +3 -2
- package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +2 -3
- package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js +3 -2
- package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js +2 -3
- package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +2 -3
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js +2 -3
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +3 -4
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +75 -75
- package/.next/standalone/.next/server/app/missions/page.js +5 -5
- package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +43 -43
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +16 -16
- package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +43 -43
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +56 -56
- package/.next/standalone/.next/server/app/settings/page.js +3 -3
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +16 -16
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +100 -100
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +82 -82
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +77 -77
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +72 -72
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +43 -43
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +82 -82
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +86 -86
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +5 -5
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +61 -61
- package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0h5yr8p.js +1 -1
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00mjz~7._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__028ucbo._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__03gi3ue._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07f7~6u._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09p152b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_90467._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b-ib~7._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c513um._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d~z6xs._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e44k3f._.js +20 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0h.z9fm._.js +11 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lioghc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mw.9lg._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ogh_qu._.js +20 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tys9pv._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__12c9noi._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_0trog_r._.js → _0_eodxe._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_0_w835g._.js +4 -0
- package/.next/standalone/.next/server/chunks/{src_01ztl3b._.js → src_0bkvm8c._.js} +2 -2
- package/.next/standalone/.next/server/chunks/src_0weytpz._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_0ba0ntr._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_ai_0q-~me1._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_ai_0xx6y51._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_ai_providers_index_ts_0.y.3vp._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.ukame._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__006_qh0._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01j8ix6._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02px.0y._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03ebsif._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0-yld.d._.js → [root-of-the-server]__08901f9._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08n5qbf._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ca_ueb._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dsdplu._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l43.5g._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0nwue~m._.js → [root-of-the-server]__0miur_1._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n.cuy2._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0nbj.ml._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ojv-d0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pm2~fu._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ps55l6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ribsk4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rjue04._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0souuv~._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tc6uh2._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0v2eslh._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wjg_.n._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wlmzzq._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wvyks.._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zbmoit._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~03tpv._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~a-emb._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0c4.z1s._.js → [root-of-the-server]__121lss.._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13vdw4w._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_03xwww2._.js → _0.knmg-._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_08t2xag._.js → _0.oe3b8._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_04b71ua._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_05h.8a~._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_05unqgy._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/_0_l8.dg._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0f8jvpw._.js → _0_q~7z7._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0a2m~cj._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0i2usny._.js → _0c-49y3._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0vqyzrr._.js → _0d2cdox._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0ds6nk2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0rfo51k._.js → _0fq4yrr._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0i4__mf._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_054w82_._.js → _0icu6m~._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0ihq._v._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_00d1y-k._.js → _0kx.c-s._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0ah80pn._.js → _0niubv5._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0fri5n~._.js → _0pu8x.f._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0r9w-k8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0_gqtgq._.js → _0rbai5c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0rbctq7._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0rt8hus._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0vnfnib._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0_~ftjv._.js → _0xvsyc0._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0ep3sg_._.js → _0y-7tle._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_049.box._.js → _0zgu282._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_086yn8o._.js → _0zszi6-._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0~80adm._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_13jha60._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_08n755q._.js → src_lib_07rspg0._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0tb2yya._.js → src_lib_0_8frs_._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_123jf_a._.js → src_lib_0fjk3hr._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_12ulcxj._.js → src_lib_0g-92s-._.js} +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +307 -307
- package/.next/standalone/.next/static/chunks/000k30wpair3e.js +5 -0
- package/.next/standalone/.next/static/chunks/005169or2nxlh.js +1 -0
- package/.next/standalone/.next/static/chunks/{0mfgulw-d49o9.js → 04uepvk5f~_a-.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0nrbltth-7m~e.js → 07vas3ezrfrjg.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0fovq74l0wh7c.js → 087l367c1psb6.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0ee.~~ae-vl_q.js → 09m-rcwwlggjy.js} +1 -1
- package/.next/standalone/.next/static/chunks/{06shpikm5rcmu.js → 0h1-tehkx05kz.js} +1 -1
- package/.next/standalone/.next/static/chunks/0hueiuk3kjujl.js +5 -0
- package/.next/standalone/.next/static/chunks/0ikej72py2xo3.js +1 -0
- package/.next/standalone/.next/static/chunks/0lx08u-wp-gt6.js +2 -0
- package/.next/standalone/.next/static/chunks/0mu8uzvw4gvpf.js +1 -0
- package/.next/standalone/.next/static/chunks/{0r7jm27~cp-vs.js → 0ow7ynd7g7ptv.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0v9ahxdsn0mse.js → 0szduy0e92e5g.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0jscst0zjd2az.js → 0szie_5oyakv1.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0m2lubto0vt0x.js → 0ur-499l_2jrc.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0hxgzql5.szyz.js → 0xs0yzxjkoeas.js} +1 -1
- package/.next/standalone/.next/static/chunks/{07i~~ygu~oi26.js → 0ynbql~9oq0av.js} +1 -1
- package/.next/standalone/.next/static/chunks/{04-7c5m91nvj1.js → 0~88n47ys3due.js} +1 -1
- package/.next/standalone/.next/static/chunks/{186ahmq856rfj.js → 10nil20v3q7~..js} +1 -1
- package/.next/standalone/.next/static/chunks/12rh72_2o79jv.js +1 -0
- package/.next/standalone/.next/static/chunks/156si6w7d-_ct.js +5 -0
- package/.next/standalone/package.json +1 -2
- package/dist/mcp-server.cjs +257 -61
- package/package.json +1 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.9mj3v._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05353yb._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09h3i6m._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_a8-jq._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_mbhor._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dsv3wl._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jmqy_3._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0j~qauc._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nwxhai._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o4z8qp._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0p_ii~p._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0puw1af._.js +0 -20
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0py_jdb._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qie1gs._.js +0 -11
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qz9-me._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w2w3x.._.js +0 -20
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.5rcav._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05kq890._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__079.nog._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gaa~xc._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gcf4k3._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ghfuuv._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0k3isnk._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0q7ho54._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qe~p-n._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tf4zp_._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vh-egg._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y.nw7l._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11bequ2._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11ko84j._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12pnl8n._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13k4vkg._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0-pqb_c._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_05-r00y._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_0h_~oum._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/src_095o8x6._.js +0 -3
- package/.next/standalone/.next/static/chunks/0.zipr1bga3lu.js +0 -1
- package/.next/standalone/.next/static/chunks/037-verumdykv.js +0 -5
- package/.next/standalone/.next/static/chunks/082cedbq4pp.-.js +0 -1
- package/.next/standalone/.next/static/chunks/089ktlh~nim1x.js +0 -1
- package/.next/standalone/.next/static/chunks/0m~ltp.wfnbf7.js +0 -5
- package/.next/standalone/.next/static/chunks/0tk-ju9xhoh68.js +0 -5
- package/.next/standalone/.next/static/chunks/0w9x-ap4dcwy..js +0 -1
- package/.next/standalone/.next/static/chunks/17cayeebhpt~w.js +0 -2
- package/src/mcp/db.ts +0 -11
- package/src/mcp/index.ts +0 -15
- package/src/mcp/server.ts +0 -52
- package/src/mcp/tools/__tests__/label-tools.test.ts +0 -140
- package/src/mcp/tools/__tests__/project-tools.test.ts +0 -182
- package/src/mcp/tools/__tests__/report-tools.test.ts +0 -212
- package/src/mcp/tools/__tests__/task-tools.test.ts +0 -418
- package/src/mcp/tools/__tests__/terminal-tools.test.ts +0 -318
- package/src/mcp/tools/__tests__/workspace-tools.test.ts +0 -146
- package/src/mcp/tools/knowledge-tools.ts +0 -100
- package/src/mcp/tools/label-tools.ts +0 -70
- package/src/mcp/tools/note-asset-tools.ts +0 -271
- package/src/mcp/tools/project-tools.ts +0 -79
- package/src/mcp/tools/report-tools.ts +0 -220
- package/src/mcp/tools/search-tools.ts +0 -32
- package/src/mcp/tools/task-tools.ts +0 -272
- package/src/mcp/tools/terminal-tools.ts +0 -154
- package/src/mcp/tools/workspace-tools.ts +0 -73
- /package/.next/standalone/.next/static/{VGoiH5uRfCRm6SKXNPZoz → 7DBkEq_6oXffs_C5TFLBR}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{VGoiH5uRfCRm6SKXNPZoz → 7DBkEq_6oXffs_C5TFLBR}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{VGoiH5uRfCRm6SKXNPZoz → 7DBkEq_6oXffs_C5TFLBR}/_ssgManifest.js +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},845427,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(26683);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i,j){let k=h(a),l=e.default.join(k,".worktrees","task-"+f),m="task/"+f;await (0,d.mkdir)(e.default.join(k,".worktrees"),{recursive:!0});let n=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:k,encoding:"utf-8",timeout:1e4}),o=e.default.normalize(l).replace(/\\/g,"/");if(n.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===o))return{worktreePath:l,worktreeBranch:m};if((0,c.existsSync)(l)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${l}`),(0,b.execFileSync)("git",["worktree","remove",l,"--force"],{cwd:k,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",m],{cwd:k,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",l,m],{cwd:k,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:k,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:k,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:k,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",m,l,a],{cwd:k,encoding:"utf-8",timeout:3e4})}return function(a,b,d){let f=g.logger.create("worktree"),h=["node_modules",".next"];for(let g of d?["",d]:[""])if((0,c.existsSync)(e.default.join(a,g,"package.json")))for(let d of h){let h=g?e.default.join(g,d):d,i=e.default.join(a,h),j=e.default.join(b,h);if((0,c.existsSync)(i)){try{(0,c.lstatSync)(j);continue}catch{}try{(0,c.symlinkSync)(i,j,"junction"),f.info(`Symlinked ${h}`,{from:i,to:j})}catch(a){f.warn(`Failed to symlink ${h}`,{error:String(a)})}}}}(k,l,j),{worktreePath:l,worktreeBranch:m}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},689171,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(495370),f=a.i(845427),g=a.i(75681),h=a.i(496877),i=a.i(26683),j=a.i(630048);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null,versionId:b.versionId??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(662330).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(98813);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},project:{select:{id:!0,name:!0,type:!0,localPath:!0,workspaceId:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0,gitStats:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"40f6f1ef73a519aa967b27410a0786b03beb86a63a",null),(0,b.registerServerReference)(m,"601172fb23e968143b4ab89f03812a9da36edda611",null),(0,b.registerServerReference)(n,"6018c79bde2d7d7b690c57b9fef03c703cef7ac30f",null),(0,b.registerServerReference)(o,"405b5907b8c09fc5a1785cf0520268508a891b671a",null),(0,b.registerServerReference)(p,"408c1e0ffd66123838eaa2aad3234fbb7d6600f314",null),(0,b.registerServerReference)(q,"4057e5e3ee82c47ba83afefd7334fdd0706177ccba",null),(0,b.registerServerReference)(r,"406aa7039d3735db6ec5bfc145b1374bcbb5117add",null),(0,b.registerServerReference)(s,"400a83c5a3284de78c677f400afb2f133682c97bf7",null),(0,b.registerServerReference)(t,"40a0d04e2182c19049121a129bc097fd7a246bb71e",null),(0,b.registerServerReference)(u,"601e1f2fa0826aad4b151f644631ed3de772839cf3",null),(0,b.registerServerReference)(v,"408432700cf2b8320487521790d310de922b0ecff7",null),(0,b.registerServerReference)(w,"403c803398940b34763d2420f86863d0cd1b0756fa",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])},925886,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139);async function e(a){return c.db.agentPrompt.findMany({where:a?{OR:[{workspaceId:a},{workspaceId:null}]}:{},orderBy:[{isDefault:"desc"},{name:"asc"}]})}async function f(a){return c.db.agentPrompt.findUnique({where:{id:a}})}async function g(a){if(a.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let b=await c.db.agentPrompt.create({data:a});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),b}async function h(a,b){if(void 0!==b.content&&b.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let e=await c.db.agentPrompt.update({where:{id:a},data:b});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}async function i(a){await c.db.agentPrompt.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings")}async function j(a,b){let e=await c.db.$transaction(async c=>(await c.agentPrompt.updateMany({where:b?{workspaceId:b,isDefault:!0}:{isDefault:!0},data:{isDefault:!1}}),c.agentPrompt.update({where:{id:a},data:{isDefault:!0}})));return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}(0,a.i(630048).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"408accb4cc4036960ffbe673d3c54faf7a444d87b1",null),(0,b.registerServerReference)(f,"40531770fc5a315eca4883e92f2b3e03ffda015e7b",null),(0,b.registerServerReference)(g,"40343ae474f890964308647b5803f9734a720deef0",null),(0,b.registerServerReference)(h,"60bdd2a7ccc15ab629dbd3b67bf89065dc538f8ab7",null),(0,b.registerServerReference)(i,"40cd9b519d904a0706b64e8fd24705179724ddd0c3",null),(0,b.registerServerReference)(j,"60a34b51fb2262ccba1c2c6ff9922c1590410877d1",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},761095,(a,b,c)=>{b.exports=a.x("node:net",()=>require("node:net"))},859021,(a,b,c)=>{"use strict";b.exports=function(a){return a.map(function(a){return""===a?"''":a&&"object"==typeof a?a.op.replace(/(.)/g,"\\$1"):/["\s\\]/.test(a)&&!/'/.test(a)?"'"+a.replace(/(['])/g,"\\$1")+"'":/["'\s]/.test(a)?'"'+a.replace(/(["\\$`!])/g,"\\$1")+'"':String(a).replace(/([A-Za-z]:)?([#!"$&'()*,:;<=>?@[\\\]^`{|}])/g,"$1\\$2")}).join(" ")}},406076,(a,b,c)=>{"use strict";for(var d="(?:\\|\\||\\&\\&|;;|\\|\\&|\\<\\(|\\<\\<\\<|>>|>\\&|<\\&|[&;()|<>])",e=RegExp("^"+d+"$"),f="|&;()<> \\t",g=/^#$/,h="",i=0;i<4;i++)h+=(0x100000000*Math.random()).toString(16);var j=RegExp("^"+h);b.exports=function(a,b,c){var i=function(a,b,c){c||(c={});var i=c.escape||"\\",j=function(a,b){for(var c,d=b.lastIndex,e=[];c=b.exec(a);)e.push(c),b.lastIndex===c.index&&(b.lastIndex+=1);return b.lastIndex=d,e}(a,RegExp(["("+d+")","("+("(\\"+i+"['\""+f+"]|[^\\s'\""+f)+"])+|\"((\\\\\"|[^\"])*?)\"|'((\\\\'|[^'])*?)')+"].join("|"),"g"));if(0===j.length)return[];b||(b={});var k=!1;return j.map(function(c){var d,f=c[0];if(f&&!k){if(e.test(f))return{op:f};var j=!1,l=!1,m="",n=!1;for(d=0;d<f.length;d++){var o=f.charAt(d);if(n=n||!j&&("*"===o||"?"===o),l)m+=o,l=!1;else if(j)o===j?j=!1:"'"==j?m+=o:o===i?(d+=1,'"'===(o=f.charAt(d))||o===i||"$"===o?m+=o:m+=i+o):"$"===o?m+=q():m+=o;else if('"'===o||"'"===o)j=o;else if(e.test(o))return{op:f};else if(g.test(o)){k=!0;var p={comment:a.slice(c.index+d+1)};if(m.length)return[m,p];return[p]}else o===i?l=!0:"$"===o?m+=q():m+=o}return n?{op:"glob",pattern:m}:m}function q(){d+=1;var a,c,e,g,i,j=f.charAt(d);if("{"===j){if(d+=1,"}"===f.charAt(d))throw Error("Bad substitution: "+f.slice(d-2,d+1));if((g=f.indexOf("}",d))<0)throw Error("Bad substitution: "+f.slice(d));i=f.slice(d,g),d=g}else if(/[*@#?$!_-]/.test(j))i=j,d+=1;else{var k=f.slice(d);(g=k.match(/[^\w\d_]/))?(i=k.slice(0,g.index),d+=g.index-1):(i=k,d=f.length)}return a=b,c=i,(void 0===(e="function"==typeof a?a(c):a[c])&&""!=c?e="":void 0===e&&(e="$"),"object"==typeof e)?""+h+JSON.stringify(e)+h:""+e}}).reduce(function(a,b){return void 0===b?a:a.concat(b)},[])}(a,b,c);return"function"!=typeof b?i:i.reduce(function(a,b){if("object"==typeof b)return a.concat(b);var c=b.split(RegExp("("+h+".*?"+h+")","g"));return 1===c.length?a.concat(c[0]):a.concat(c.filter(Boolean).map(function(a){return j.test(a)?JSON.parse(a.split(h)[1]):a}))},[])}},571950,(a,b,c)=>{"use strict";c.quote=a.r(859021),c.parse=a.r(406076)},536960,a=>{"use strict";var b=a.i(815429),c=a.i(761095),d=a.i(874533),e=a.i(750227),f=a.i(902157),g=a.i(571950),h=a.i(761469),i=a.i(742978);function j(a){return`${a.cwd}|${a.command}|${a.port}`}var k=a.i(22700),l=a.i(292380),m=a.i(312369),n=a.i(630048);function o(a,b){let c=a.replace(/\{port\}/g,String(b)),d=(0,g.parse)(c),e={},f=[];for(let a of d)if("string"==typeof a){if(0===f.length&&/^[A-Za-z_][A-Za-z0-9_]*=/.test(a)){let b=a.indexOf("=");e[a.slice(0,b)]=a.slice(b+1);continue}f.push(a)}return{command:f[0]??"",args:f.slice(1),envOverrides:Object.keys(e).length>0?e:void 0}}async function p(a){return new Promise(b=>{let d=(0,c.createServer)();d.once("error",()=>b(!0)),d.once("listening",()=>d.close(()=>b(!1))),d.listen(a,"0.0.0.0")})}async function q(a){var b,c,d,f,g;let j=await h.db.task.findUniqueOrThrow({where:{id:a.taskId},select:{previewCommandOverride:!0,previewPortOverride:!0,subPath:!0}}),k=await h.db.project.findUniqueOrThrow({where:{id:a.projectId},select:{localPath:!0,previewCommand:!0,previewPort:!0,previewPreset:!0,previewInstallCommand:!0}}),m=(b={worktreePath:a.worktreePath,projectLocalPath:k.localPath,subPath:j.subPath}).worktreePath?b.worktreePath:b.projectLocalPath?b.subPath?(0,e.join)(b.projectLocalPath,b.subPath):b.projectLocalPath:null,n=null,o=null;j.subPath&&m?o=(n=await (0,l.detectPreset)(m))?"subPath-detected":null:k.previewPreset&&(o=(n=i.PRESETS.find(a=>a.id===k.previewPreset)??null)?"project":null);let p=n?.command??null,q=n?.port??null,r=(c={taskOverride:j.previewCommandOverride,projectDefault:k.previewCommand,presetCommand:p}).taskOverride??c.projectDefault??c.presetCommand??"",s=(d={taskOverride:j.previewPortOverride,projectDefault:k.previewPort,presetPort:q}).taskOverride??d.projectDefault??d.presetPort??0,t=null!==(f={taskOverride:j.previewCommandOverride,projectDefault:k.previewCommand,presetCommand:p}).taskOverride?"task":null!==f.projectDefault?"project":null!==f.presetCommand?"preset":null,u=null!==(g={taskOverride:j.previewPortOverride,projectDefault:k.previewPort,presetPort:q}).taskOverride?"task":null!==g.projectDefault?"project":null!==g.presetPort?"preset":null,v=k.previewInstallCommand??n?.installCommand??null;return{task:j,project:k,preset:n,presetSource:o,cwd:m,command:r,port:s,commandSource:t,portSource:u,projectDefaultCommand:k.previewCommand,projectDefaultPort:k.previewPort,presetCommand:p,presetPort:q,installCommand:v}}async function r(a){var b,c;let d=await q(a);d.project.previewPreset||d.task.subPath||!d.cwd||(async()=>{try{let b=await (0,l.detectPreset)(d.cwd);b&&await h.db.project.updateMany({where:{id:a.projectId,previewPreset:null},data:{previewPreset:b.id}})}catch{}})();let g=d.cwd?j({cwd:d.cwd,command:d.command,port:d.port}):"no-cwd",i=(0,k.getPreviewSession)(g),m=(b=d.preset,c=d.cwd,b&&b.installMarker&&c?b.installMarker.some(a=>{try{return(0,f.existsSync)((0,e.join)(c,a))}catch{return!1}}):null);return{previewKey:g,status:i?.status??"stopped",preset:d.preset?{id:d.preset.id,name:d.preset.name,icon:d.preset.icon,docUrl:d.preset.docUrl}:null,presetSource:d.presetSource,command:d.command,port:d.port,commandSource:d.commandSource,portSource:d.portSource,projectDefaultCommand:d.projectDefaultCommand,projectDefaultPort:d.projectDefaultPort,presetCommand:d.presetCommand,presetPort:d.presetPort,installCommand:d.installCommand,url:i?.getState().url??null,installed:m,startedAt:i?.getState().startedAt??null,readyAt:i?.getState().readyAt??null,errorMessage:i?.getState().errorMessage??null,recentLogs:i?.getBuffer().slice(-500)??[],activeSubscribers:i?.activeSubscriberCount??0,cwd:d.cwd}}async function s(a){let b=await q(a);if(!b.cwd)return{started:!1,error:"No working directory configured"};if(!b.command)return{started:!1,error:"No command configured"};if(b.port<=0)return{started:!1,error:"Invalid port"};if(await p(b.port))return{started:!1,error:`Port ${b.port} is in use. Set Task.previewPortOverride to use a different port, or stop the conflicting process.`};let c=j({cwd:b.cwd,command:b.command,port:b.port}),d=o(b.command,b.port);return(0,k.getOrCreatePreviewSession)(c,{cwd:b.cwd,command:d.command,args:d.args,port:b.port,preset:b.preset,envOverrides:d.envOverrides}).run()}async function t(a){let b=(0,k.getPreviewSession)(a.previewKey);b&&b.stop()}async function u(a){var b,c,d;let g=await q(a);if(!g.cwd)return{ok:!1,error:"No working directory"};if(!g.installCommand)return{ok:!1,error:"No install command configured"};let h=j({cwd:g.cwd,command:g.command,port:g.port}),i=o(g.installCommand,g.port),l=i.command,m=i.args,n=o(g.command,g.port),p=(0,k.getOrCreatePreviewSession)(h,{cwd:g.cwd,command:n.command,args:n.args,port:g.port,preset:g.preset,envOverrides:n.envOverrides}),r=(b=g.preset,c=g.cwd,d=g.project.localPath,b?.installCwd==="monorepo-root"&&d||d&&c!==d&&function(a){try{if((0,f.existsSync)((0,e.join)(a,"pnpm-workspace.yaml")))return!0;let b=(0,e.join)(a,"package.json");if((0,f.existsSync)(b)&&JSON.parse((0,f.readFileSync)(b,"utf-8")).workspaces)return!0}catch{}return!1}(d)?d:c);return p.install({installCommand:l,installArgs:m,installCwd:r,autoStartAfter:a.autoStartAfter})}async function v(a){let b=await h.db.project.findUniqueOrThrow({where:{id:a.projectId},select:{localPath:!0}}),c=a.worktreePath??b.localPath;if(!c)return{preset:null};let d=await (0,l.detectPreset)(c);return await h.db.project.update({where:{id:a.projectId},data:{previewPreset:d?.id??null}}),{preset:d?.id??null}}async function w(a){let b={};void 0!==a.command&&(b.previewCommand=a.command),void 0!==a.port&&(b.previewPort=a.port),0!==Object.keys(b).length&&await h.db.project.update({where:{id:a.projectId},data:b})}async function x(a){if(a.presetId&&!i.PRESETS.some(b=>b.id===a.presetId))throw Error(`Unknown preset id: ${a.presetId}`);await h.db.project.update({where:{id:a.projectId},data:{previewPreset:a.presetId}})}let y=["Terminal","iTerm","iTerm2","Warp","Hyper","Alacritty","WezTerm","kitty"];async function z(a){if(!a||!(0,e.isAbsolute)(a))throw Error("openInTerminal requires an absolute path");process.platform;{let b=await (0,m.readConfigValue)("terminal.app","Terminal");if(!y.includes(b))throw Error(`Terminal app '${b}' is not in the allowed list`);(0,d.execFileSync)("open",["-a",b,a])}}(0,n.ensureServerEntryExports)([r,s,t,u,v,w,x,z]),(0,b.registerServerReference)(r,"40404c6175e128e3fd5cb1fb7918446239622ce012",null),(0,b.registerServerReference)(s,"40ebc8d00f1487ad93a82bd27e2632189ca4560081",null),(0,b.registerServerReference)(t,"404dc4e0a31c9f67cfb643d8a68df24dd825a60037",null),(0,b.registerServerReference)(u,"40bd75aa4d48aa1dcc787bd9fc497f8d454db29904",null),(0,b.registerServerReference)(v,"40c2765223524fc985e6a78efde14243b3967c6728",null),(0,b.registerServerReference)(w,"4023d09dd64b3fb0530ffeaff528a33045909d81d0",null),(0,b.registerServerReference)(x,"40bf2a3412de14a6d62c34b22ab21eb1904dad5ba7",null),(0,b.registerServerReference)(z,"406a94abee2646bf6ab6201c87bd5fdd9dd9beb72b",null),a.s(["getPreviewState",0,r,"installPreviewDeps",0,u,"openInTerminal",0,z,"redetectPreset",0,v,"setProjectDefaults",0,w,"setProjectPreset",0,x,"startPreview",0,s,"stopPreview",0,t],536960)},76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_08n755q._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(a=>Promise.resolve().then(()=>a(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0_gqtgq._.js"].map(b=>a.l(b))).then(()=>b(897667)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},662330,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0f8jvpw._.js"].map(b=>a.l(b))).then(()=>b(818992)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},610073,a=>{a.v(a=>Promise.resolve().then(()=>a(4634)))},260815,a=>{a.v(a=>Promise.resolve().then(()=>a(924868)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0vh-egg._.js.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
module.exports=[52350,562278,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(163812);function f(){return process.env.TOWER_PACKAGE_ROOT||process.cwd()}a.s(["getPackageRoot",0,f],562278);let g=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=["--dangerously-skip-permissions"];a.extraArgs?.length&&b.push(...a.extraArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=!1,g=this.getHookArray(b,"SessionStart");if(!this.hasHook(g,"session-start-hook.js")){let a=d.join(c,"scripts","session-start-hook.js").replace(/\\/g,"/");g.push({hooks:[{command:`node "${a}"`,timeout:5,type:"command"}]}),b.SessionStart=g,e=!0}let h=this.getHookArray(b,"PostToolUse");if(!this.hasHook(h,"post-tool-hook.js")){let a=d.join(c,"scripts","post-tool-hook.js").replace(/\\/g,"/");h.push({hooks:[{command:`node "${a}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"}),b.PostToolUse=h,e=!0}let i=this.getHookArray(b,"Stop");if(!this.hasHook(i,"stop-hook.js")){let a=d.join(c,"scripts","stop-hook.js").replace(/\\/g,"/");i.push({hooks:[{command:`node "${a}"`,timeout:5,type:"command"}]}),b.Stop=i,e=!0}return e&&(a.hooks=b,this.writeSettings(a)),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async uninstallHooks(){try{let a=this.readSettings(),b=a.hooks??{},c=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let a of["SessionStart","PostToolUse","Stop"]){let d=this.getHookArray(b,a);b[a]=d.filter(a=>!a.hooks?.some(a=>c.some(b=>a.command?.includes(b))))}return a.hooks=b,this.writeSettings(a),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async isHooksInstalled(){let a=this.readSettings().hooks??{},b=this.getHookArray(a,"PostToolUse");return this.hasHook(b,"post-tool-hook.js")}async installMcp(a,b={}){let c=b.scope??"user",d={command:a.command,args:a.args};a.env&&Object.keys(a.env).length>0&&(d.env=a.env);let e=this.resolveCommand(),f=["mcp","add-json","-s",c,a.name,JSON.stringify(d)];try{return await this.runCli(e,["mcp","remove","-s",c,a.name],b.cwd).catch(()=>{}),await this.runCli(e,f,b.cwd),{ok:!0,method:"cli",detail:`${e} ${f.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${e} ${f.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async uninstallMcp(a,b={}){let c=b.scope??"user",d=this.resolveCommand(),e=["mcp","remove","-s",c,a];try{return await this.runCli(d,e,b.cwd),{ok:!0,method:"cli",detail:`${d} ${e.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${d} ${e.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async isMcpInstalled(a,b={}){let c=this.resolveCommand();try{return await this.runCli(c,["mcp","get",a],b.cwd,5e3),!0}catch{return!1}}async installSkill(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!b.existsSync(c))return{ok:!1,method:"symlink",detail:e,error:`Source skill dir does not exist: ${c}`};b.mkdirSync(d.dirname(e),{recursive:!0});let a=await b.promises.lstat(e).catch(()=>null);if(a)if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:e,error:`Refusing to overwrite non-symlink at ${e}`};else{let a=await b.promises.readlink(e);if(d.resolve(a)===d.resolve(c))return{ok:!0,method:"symlink",detail:`${e} → ${c} (already)`};await b.promises.unlink(e)}return await b.promises.symlink(c,e,"dir"),{ok:!0,method:"symlink",detail:`${e} → ${c}`}}catch(a){return{ok:!1,method:"symlink",detail:e,error:a instanceof Error?a.message:String(a)}}}async uninstallSkill(a){let c=d.join(this.getConfigDir(),"skills",a);try{let a=await b.promises.lstat(c).catch(()=>null);if(!a)return{ok:!0,method:"symlink",detail:`${c} (already absent)`};if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:c,error:`Refusing to remove non-symlink at ${c}`};return await b.promises.unlink(c),{ok:!0,method:"symlink",detail:c}}catch(a){return{ok:!1,method:"symlink",detail:c,error:a instanceof Error?a.message:String(a)}}}async isSkillInstalled(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!(await b.promises.lstat(e)).isSymbolicLink())return!1;if(!c)return!0;let a=await b.promises.readlink(e),f=d.isAbsolute(a)?a:d.resolve(d.dirname(e),a);return d.resolve(f)===d.resolve(c)}catch{return!1}}async runCli(b,c,d,e=1e4){let{execFile:f}=await a.A(482848),{promisify:g}=await a.A(268548),h=g(f),{stdout:i}=await h(b,c,{cwd:d,timeout:e});return i}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return g}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}getApiKeyInfo(){return{envVar:"ANTHROPIC_API_KEY",required:!1}}buildHelloProbeArgs(){return{command:this.resolveCommand(),args:["--print","-","--output-format","stream-json","--verbose"]}}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getHookArray(a,b){let c=a[b];return Array.isArray(c)?c:[]}hasHook(a,b){return a.some(a=>a.hooks?.some(a=>a.command?.includes(b)))}}],52350)},897667,a=>{"use strict";let b=new(a.i(52350)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(719041),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
|
|
2
|
-
|
|
3
|
-
\`\`\`
|
|
4
|
-
${a.slice(-5e3)}
|
|
5
|
-
\`\`\``,e=await c(d,b);return e&&e.replace(/^[#*\->"'\s]+/,"").trim()||null}async function e(a,b,d){let e=a.slice(-8e3),f=d?`
|
|
6
|
-
Session summary: ${d}`:"",g=`You are analyzing a completed AI coding session. Extract reusable insights.
|
|
7
|
-
${f}
|
|
8
|
-
|
|
9
|
-
Terminal log (last 8000 chars):
|
|
10
|
-
\`\`\`
|
|
11
|
-
${e}
|
|
12
|
-
\`\`\`
|
|
13
|
-
|
|
14
|
-
Respond ONLY with valid JSON matching this schema (no markdown, no explanation):
|
|
15
|
-
{
|
|
16
|
-
"summary": "one-sentence summary of what was accomplished",
|
|
17
|
-
"insights": [
|
|
18
|
-
{ "type": "pattern|pitfall|decision|tool|reference", "content": "description" }
|
|
19
|
-
],
|
|
20
|
-
"shouldCreateNote": true/false,
|
|
21
|
-
"noteTitle": "short title for the note (only if shouldCreateNote is true)"
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
Rules:
|
|
25
|
-
- Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
|
|
26
|
-
- Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
|
|
27
|
-
- insights array can be empty if nothing notable
|
|
28
|
-
- Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0u-vzb1._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0y.nw7l._.js.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},52350,562278,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(163812);function f(){return process.env.TOWER_PACKAGE_ROOT||process.cwd()}a.s(["getPackageRoot",0,f],562278);let g=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=["--dangerously-skip-permissions"];a.extraArgs?.length&&b.push(...a.extraArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=!1,g=this.getHookArray(b,"SessionStart");if(!this.hasHook(g,"session-start-hook.js")){let a=d.join(c,"scripts","session-start-hook.js").replace(/\\/g,"/");g.push({hooks:[{command:`node "${a}"`,timeout:5,type:"command"}]}),b.SessionStart=g,e=!0}let h=this.getHookArray(b,"PostToolUse");if(!this.hasHook(h,"post-tool-hook.js")){let a=d.join(c,"scripts","post-tool-hook.js").replace(/\\/g,"/");h.push({hooks:[{command:`node "${a}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"}),b.PostToolUse=h,e=!0}let i=this.getHookArray(b,"Stop");if(!this.hasHook(i,"stop-hook.js")){let a=d.join(c,"scripts","stop-hook.js").replace(/\\/g,"/");i.push({hooks:[{command:`node "${a}"`,timeout:5,type:"command"}]}),b.Stop=i,e=!0}return e&&(a.hooks=b,this.writeSettings(a)),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async uninstallHooks(){try{let a=this.readSettings(),b=a.hooks??{},c=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let a of["SessionStart","PostToolUse","Stop"]){let d=this.getHookArray(b,a);b[a]=d.filter(a=>!a.hooks?.some(a=>c.some(b=>a.command?.includes(b))))}return a.hooks=b,this.writeSettings(a),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async isHooksInstalled(){let a=this.readSettings().hooks??{},b=this.getHookArray(a,"PostToolUse");return this.hasHook(b,"post-tool-hook.js")}async installMcp(a,b={}){let c=b.scope??"user",d={command:a.command,args:a.args};a.env&&Object.keys(a.env).length>0&&(d.env=a.env);let e=this.resolveCommand(),f=["mcp","add-json","-s",c,a.name,JSON.stringify(d)];try{return await this.runCli(e,["mcp","remove","-s",c,a.name],b.cwd).catch(()=>{}),await this.runCli(e,f,b.cwd),{ok:!0,method:"cli",detail:`${e} ${f.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${e} ${f.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async uninstallMcp(a,b={}){let c=b.scope??"user",d=this.resolveCommand(),e=["mcp","remove","-s",c,a];try{return await this.runCli(d,e,b.cwd),{ok:!0,method:"cli",detail:`${d} ${e.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${d} ${e.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async isMcpInstalled(a,b={}){let c=this.resolveCommand();try{return await this.runCli(c,["mcp","get",a],b.cwd,5e3),!0}catch{return!1}}async installSkill(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!b.existsSync(c))return{ok:!1,method:"symlink",detail:e,error:`Source skill dir does not exist: ${c}`};b.mkdirSync(d.dirname(e),{recursive:!0});let a=await b.promises.lstat(e).catch(()=>null);if(a)if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:e,error:`Refusing to overwrite non-symlink at ${e}`};else{let a=await b.promises.readlink(e);if(d.resolve(a)===d.resolve(c))return{ok:!0,method:"symlink",detail:`${e} → ${c} (already)`};await b.promises.unlink(e)}return await b.promises.symlink(c,e,"dir"),{ok:!0,method:"symlink",detail:`${e} → ${c}`}}catch(a){return{ok:!1,method:"symlink",detail:e,error:a instanceof Error?a.message:String(a)}}}async uninstallSkill(a){let c=d.join(this.getConfigDir(),"skills",a);try{let a=await b.promises.lstat(c).catch(()=>null);if(!a)return{ok:!0,method:"symlink",detail:`${c} (already absent)`};if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:c,error:`Refusing to remove non-symlink at ${c}`};return await b.promises.unlink(c),{ok:!0,method:"symlink",detail:c}}catch(a){return{ok:!1,method:"symlink",detail:c,error:a instanceof Error?a.message:String(a)}}}async isSkillInstalled(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!(await b.promises.lstat(e)).isSymbolicLink())return!1;if(!c)return!0;let a=await b.promises.readlink(e),f=d.isAbsolute(a)?a:d.resolve(d.dirname(e),a);return d.resolve(f)===d.resolve(c)}catch{return!1}}async runCli(b,c,d,e=1e4){let{execFile:f}=await a.A(482848),{promisify:g}=await a.A(268548),h=g(f),{stdout:i}=await h(b,c,{cwd:d,timeout:e});return i}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return g}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}getApiKeyInfo(){return{envVar:"ANTHROPIC_API_KEY",required:!1}}buildHelloProbeArgs(){return{command:this.resolveCommand(),args:["--print","-","--output-format","stream-json","--verbose"]}}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getHookArray(a,b){let c=a[b];return Array.isArray(c)?c:[]}hasHook(a,b){return a.some(a=>a.hooks?.some(a=>a.command?.includes(b)))}}],52350)},897667,a=>{"use strict";let b=new(a.i(52350)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(719041),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
|
|
2
|
-
|
|
3
|
-
\`\`\`
|
|
4
|
-
${a.slice(-5e3)}
|
|
5
|
-
\`\`\``,e=await c(d,b);return e&&e.replace(/^[#*\->"'\s]+/,"").trim()||null}async function e(a,b,d){let e=a.slice(-8e3),f=d?`
|
|
6
|
-
Session summary: ${d}`:"",g=`You are analyzing a completed AI coding session. Extract reusable insights.
|
|
7
|
-
${f}
|
|
8
|
-
|
|
9
|
-
Terminal log (last 8000 chars):
|
|
10
|
-
\`\`\`
|
|
11
|
-
${e}
|
|
12
|
-
\`\`\`
|
|
13
|
-
|
|
14
|
-
Respond ONLY with valid JSON matching this schema (no markdown, no explanation):
|
|
15
|
-
{
|
|
16
|
-
"summary": "one-sentence summary of what was accomplished",
|
|
17
|
-
"insights": [
|
|
18
|
-
{ "type": "pattern|pitfall|decision|tool|reference", "content": "description" }
|
|
19
|
-
],
|
|
20
|
-
"shouldCreateNote": true/false,
|
|
21
|
-
"noteTitle": "short title for the note (only if shouldCreateNote is true)"
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
Rules:
|
|
25
|
-
- Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
|
|
26
|
-
- Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
|
|
27
|
-
- insights array can be empty if nothing notable
|
|
28
|
-
- Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},818992,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(761469),e=a.i(897667);function f(a,c){return(0,b.execFileSync)("git",a,{cwd:c,timeout:1e4,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}function g(a){for(let b of["main","master","develop"])try{return f(["merge-base","HEAD",b],a)}catch{}return null}function h(a){if(!a)return null;let b=a.split("\n").filter(Boolean);if(0===b.length)return null;let c=b[0].replace(/^[a-f0-9]+\s+/,"");return 1===b.length?c:`${b.length} commits: ${c}`}async function i(a,b,i,j,k){try{let b;console.error(`[captureExecutionSummary] Starting: exec=${a.slice(0,8)} exit=${i} buffer=${j.length}chars worktree=${k}`);let l=null,m=null,n=null;if(k&&(0,c.existsSync)(k))try{if(f(["rev-parse","--git-dir"],k),l=function(a){try{let b=g(a);if(b){let c=f(["log","--oneline",`${b}..HEAD`],a);if(c)return c}return f(["log","--oneline","-3"],a)||null}catch{return null}}(k),(m=function(a){try{let b,c=g(a);if(!(b=c?f(["diff","--stat",`${c}..HEAD`],a):f(["diff","--stat","HEAD~20","HEAD"],a)))return null;return function(a){let b=a.split("\n"),c=b[b.length-1];if(!c)return null;let d=c.match(/(\d+)\s+files?\s+changed/),e=c.match(/(\d+)\s+insertions?\(\+\)/),f=c.match(/(\d+)\s+deletions?\(-\)/);return d||e||f?{commits:0,filesChanged:d?parseInt(d[1],10):0,insertions:e?parseInt(e[1],10):0,deletions:f?parseInt(f[1],10):0}:null}(b)}catch{return null}}(k))&&l){let a=l.split("\n").filter(Boolean).length;m={...m,commits:a}}n=h(l)}catch{}let o=(b=j.replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g,"").replace(/\x1b\[[0-9;?]*[A-Za-z]/g,"").replace(/\x1b[^[\]()][^\x1b]*/g,"").replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"").replace(/\n{3,}/g,"\n\n").trim()).length<=10240?b:b.slice(b.length-10240);await d.db.taskExecution.update({where:{id:a},data:{summary:n??(l?h(l):null),gitLog:l??null,gitStats:m?JSON.stringify(m):null,exitCode:i,terminalLog:o||null}}),o&&k&&(console.error("[captureExecutionSummary] Starting background AI summary..."),(0,e.generateSummaryFromLog)(o,k).then(async b=>{b&&(console.error(`[captureExecutionSummary] AI summary ready: ${b.slice(0,80)}`),await d.db.taskExecution.update({where:{id:a},data:{summary:b}}))}).catch(a=>{console.error("[captureExecutionSummary] Background AI summary failed:",a)}))}catch(a){console.error("[captureExecutionSummary] Failed to capture summary:",a)}}async function j(a){try{let b=await d.db.task.findUnique({where:{id:a},select:{projectId:!0,executions:{orderBy:{createdAt:"desc"},select:{id:!0,terminalLog:!0,worktreePath:!0,summary:!0}}}});if(!b||0===b.executions.length)return;let c="",f=null,g=[];for(let a of b.executions)a.terminalLog&&(c+=a.terminalLog+"\n---\n"),a.summary&&g.push(a.summary),!f&&a.worktreePath&&(f=a.worktreePath);if(!(c=c.slice(-8e3)).trim())return;let h=g.join("\n"),i=f||process.cwd();console.error(`[captureTaskDreaming] Starting for task=${a.slice(0,8)}, ${b.executions.length} executions`);let j=await (0,e.generateDreamingInsight)(c,i,h);if(!j||!j.shouldCreateNote)return void console.error("[captureTaskDreaming] No note needed");let k=await d.db.projectNote.create({data:{title:j.noteTitle||j.summary.slice(0,50),content:function(a){let b=[];if(b.push("## Summary"),b.push(a.summary),b.push(""),a.insights.length>0)for(let c of(b.push("## Insights"),a.insights))b.push(`- **[${c.type}]**: ${c.content}`);return b.join("\n")}(j),category:"session-insight",projectId:b.projectId,taskId:a}}),l=b.executions[0].id;await d.db.taskExecution.update({where:{id:l},data:{insightNoteId:k.id}}),console.error(`[captureTaskDreaming] Note created: ${k.id}`)}catch(a){console.error("[captureTaskDreaming] Failed:",a)}}a.s(["captureExecutionSummary",0,i,"captureTaskDreaming",0,j])},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0u-vzb1._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__11bequ2._.js.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},52350,562278,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(163812);function f(){return process.env.TOWER_PACKAGE_ROOT||process.cwd()}a.s(["getPackageRoot",0,f],562278);let g=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=["--dangerously-skip-permissions"];a.extraArgs?.length&&b.push(...a.extraArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=!1,g=this.getHookArray(b,"SessionStart");if(!this.hasHook(g,"session-start-hook.js")){let a=d.join(c,"scripts","session-start-hook.js").replace(/\\/g,"/");g.push({hooks:[{command:`node "${a}"`,timeout:5,type:"command"}]}),b.SessionStart=g,e=!0}let h=this.getHookArray(b,"PostToolUse");if(!this.hasHook(h,"post-tool-hook.js")){let a=d.join(c,"scripts","post-tool-hook.js").replace(/\\/g,"/");h.push({hooks:[{command:`node "${a}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"}),b.PostToolUse=h,e=!0}let i=this.getHookArray(b,"Stop");if(!this.hasHook(i,"stop-hook.js")){let a=d.join(c,"scripts","stop-hook.js").replace(/\\/g,"/");i.push({hooks:[{command:`node "${a}"`,timeout:5,type:"command"}]}),b.Stop=i,e=!0}return e&&(a.hooks=b,this.writeSettings(a)),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async uninstallHooks(){try{let a=this.readSettings(),b=a.hooks??{},c=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let a of["SessionStart","PostToolUse","Stop"]){let d=this.getHookArray(b,a);b[a]=d.filter(a=>!a.hooks?.some(a=>c.some(b=>a.command?.includes(b))))}return a.hooks=b,this.writeSettings(a),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async isHooksInstalled(){let a=this.readSettings().hooks??{},b=this.getHookArray(a,"PostToolUse");return this.hasHook(b,"post-tool-hook.js")}async installMcp(a,b={}){let c=b.scope??"user",d={command:a.command,args:a.args};a.env&&Object.keys(a.env).length>0&&(d.env=a.env);let e=this.resolveCommand(),f=["mcp","add-json","-s",c,a.name,JSON.stringify(d)];try{return await this.runCli(e,["mcp","remove","-s",c,a.name],b.cwd).catch(()=>{}),await this.runCli(e,f,b.cwd),{ok:!0,method:"cli",detail:`${e} ${f.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${e} ${f.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async uninstallMcp(a,b={}){let c=b.scope??"user",d=this.resolveCommand(),e=["mcp","remove","-s",c,a];try{return await this.runCli(d,e,b.cwd),{ok:!0,method:"cli",detail:`${d} ${e.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${d} ${e.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async isMcpInstalled(a,b={}){let c=this.resolveCommand();try{return await this.runCli(c,["mcp","get",a],b.cwd,5e3),!0}catch{return!1}}async installSkill(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!b.existsSync(c))return{ok:!1,method:"symlink",detail:e,error:`Source skill dir does not exist: ${c}`};b.mkdirSync(d.dirname(e),{recursive:!0});let a=await b.promises.lstat(e).catch(()=>null);if(a)if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:e,error:`Refusing to overwrite non-symlink at ${e}`};else{let a=await b.promises.readlink(e);if(d.resolve(a)===d.resolve(c))return{ok:!0,method:"symlink",detail:`${e} → ${c} (already)`};await b.promises.unlink(e)}return await b.promises.symlink(c,e,"dir"),{ok:!0,method:"symlink",detail:`${e} → ${c}`}}catch(a){return{ok:!1,method:"symlink",detail:e,error:a instanceof Error?a.message:String(a)}}}async uninstallSkill(a){let c=d.join(this.getConfigDir(),"skills",a);try{let a=await b.promises.lstat(c).catch(()=>null);if(!a)return{ok:!0,method:"symlink",detail:`${c} (already absent)`};if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:c,error:`Refusing to remove non-symlink at ${c}`};return await b.promises.unlink(c),{ok:!0,method:"symlink",detail:c}}catch(a){return{ok:!1,method:"symlink",detail:c,error:a instanceof Error?a.message:String(a)}}}async isSkillInstalled(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!(await b.promises.lstat(e)).isSymbolicLink())return!1;if(!c)return!0;let a=await b.promises.readlink(e),f=d.isAbsolute(a)?a:d.resolve(d.dirname(e),a);return d.resolve(f)===d.resolve(c)}catch{return!1}}async runCli(b,c,d,e=1e4){let{execFile:f}=await a.A(482848),{promisify:g}=await a.A(268548),h=g(f),{stdout:i}=await h(b,c,{cwd:d,timeout:e});return i}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return g}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}getApiKeyInfo(){return{envVar:"ANTHROPIC_API_KEY",required:!1}}buildHelloProbeArgs(){return{command:this.resolveCommand(),args:["--print","-","--output-format","stream-json","--verbose"]}}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getHookArray(a,b){let c=a[b];return Array.isArray(c)?c:[]}hasHook(a,b){return a.some(a=>a.hooks?.some(a=>a.command?.includes(b)))}}],52350)},897667,a=>{"use strict";let b=new(a.i(52350)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(719041),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
|
|
2
|
-
|
|
3
|
-
\`\`\`
|
|
4
|
-
${a.slice(-5e3)}
|
|
5
|
-
\`\`\``,e=await c(d,b);return e&&e.replace(/^[#*\->"'\s]+/,"").trim()||null}async function e(a,b,d){let e=a.slice(-8e3),f=d?`
|
|
6
|
-
Session summary: ${d}`:"",g=`You are analyzing a completed AI coding session. Extract reusable insights.
|
|
7
|
-
${f}
|
|
8
|
-
|
|
9
|
-
Terminal log (last 8000 chars):
|
|
10
|
-
\`\`\`
|
|
11
|
-
${e}
|
|
12
|
-
\`\`\`
|
|
13
|
-
|
|
14
|
-
Respond ONLY with valid JSON matching this schema (no markdown, no explanation):
|
|
15
|
-
{
|
|
16
|
-
"summary": "one-sentence summary of what was accomplished",
|
|
17
|
-
"insights": [
|
|
18
|
-
{ "type": "pattern|pitfall|decision|tool|reference", "content": "description" }
|
|
19
|
-
],
|
|
20
|
-
"shouldCreateNote": true/false,
|
|
21
|
-
"noteTitle": "short title for the note (only if shouldCreateNote is true)"
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
Rules:
|
|
25
|
-
- Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
|
|
26
|
-
- Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
|
|
27
|
-
- insights array can be empty if nothing notable
|
|
28
|
-
- Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0u-vzb1._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__11ko84j._.js.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},52350,562278,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(163812);function f(){return process.env.TOWER_PACKAGE_ROOT||process.cwd()}a.s(["getPackageRoot",0,f],562278);let g=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=["--dangerously-skip-permissions"];a.extraArgs?.length&&b.push(...a.extraArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=!1,g=this.getHookArray(b,"SessionStart");if(!this.hasHook(g,"session-start-hook.js")){let a=d.join(c,"scripts","session-start-hook.js").replace(/\\/g,"/");g.push({hooks:[{command:`node "${a}"`,timeout:5,type:"command"}]}),b.SessionStart=g,e=!0}let h=this.getHookArray(b,"PostToolUse");if(!this.hasHook(h,"post-tool-hook.js")){let a=d.join(c,"scripts","post-tool-hook.js").replace(/\\/g,"/");h.push({hooks:[{command:`node "${a}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"}),b.PostToolUse=h,e=!0}let i=this.getHookArray(b,"Stop");if(!this.hasHook(i,"stop-hook.js")){let a=d.join(c,"scripts","stop-hook.js").replace(/\\/g,"/");i.push({hooks:[{command:`node "${a}"`,timeout:5,type:"command"}]}),b.Stop=i,e=!0}return e&&(a.hooks=b,this.writeSettings(a)),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async uninstallHooks(){try{let a=this.readSettings(),b=a.hooks??{},c=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let a of["SessionStart","PostToolUse","Stop"]){let d=this.getHookArray(b,a);b[a]=d.filter(a=>!a.hooks?.some(a=>c.some(b=>a.command?.includes(b))))}return a.hooks=b,this.writeSettings(a),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async isHooksInstalled(){let a=this.readSettings().hooks??{},b=this.getHookArray(a,"PostToolUse");return this.hasHook(b,"post-tool-hook.js")}async installMcp(a,b={}){let c=b.scope??"user",d={command:a.command,args:a.args};a.env&&Object.keys(a.env).length>0&&(d.env=a.env);let e=this.resolveCommand(),f=["mcp","add-json","-s",c,a.name,JSON.stringify(d)];try{return await this.runCli(e,["mcp","remove","-s",c,a.name],b.cwd).catch(()=>{}),await this.runCli(e,f,b.cwd),{ok:!0,method:"cli",detail:`${e} ${f.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${e} ${f.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async uninstallMcp(a,b={}){let c=b.scope??"user",d=this.resolveCommand(),e=["mcp","remove","-s",c,a];try{return await this.runCli(d,e,b.cwd),{ok:!0,method:"cli",detail:`${d} ${e.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${d} ${e.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async isMcpInstalled(a,b={}){let c=this.resolveCommand();try{return await this.runCli(c,["mcp","get",a],b.cwd,5e3),!0}catch{return!1}}async installSkill(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!b.existsSync(c))return{ok:!1,method:"symlink",detail:e,error:`Source skill dir does not exist: ${c}`};b.mkdirSync(d.dirname(e),{recursive:!0});let a=await b.promises.lstat(e).catch(()=>null);if(a)if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:e,error:`Refusing to overwrite non-symlink at ${e}`};else{let a=await b.promises.readlink(e);if(d.resolve(a)===d.resolve(c))return{ok:!0,method:"symlink",detail:`${e} → ${c} (already)`};await b.promises.unlink(e)}return await b.promises.symlink(c,e,"dir"),{ok:!0,method:"symlink",detail:`${e} → ${c}`}}catch(a){return{ok:!1,method:"symlink",detail:e,error:a instanceof Error?a.message:String(a)}}}async uninstallSkill(a){let c=d.join(this.getConfigDir(),"skills",a);try{let a=await b.promises.lstat(c).catch(()=>null);if(!a)return{ok:!0,method:"symlink",detail:`${c} (already absent)`};if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:c,error:`Refusing to remove non-symlink at ${c}`};return await b.promises.unlink(c),{ok:!0,method:"symlink",detail:c}}catch(a){return{ok:!1,method:"symlink",detail:c,error:a instanceof Error?a.message:String(a)}}}async isSkillInstalled(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!(await b.promises.lstat(e)).isSymbolicLink())return!1;if(!c)return!0;let a=await b.promises.readlink(e),f=d.isAbsolute(a)?a:d.resolve(d.dirname(e),a);return d.resolve(f)===d.resolve(c)}catch{return!1}}async runCli(b,c,d,e=1e4){let{execFile:f}=await a.A(482848),{promisify:g}=await a.A(268548),h=g(f),{stdout:i}=await h(b,c,{cwd:d,timeout:e});return i}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return g}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}getApiKeyInfo(){return{envVar:"ANTHROPIC_API_KEY",required:!1}}buildHelloProbeArgs(){return{command:this.resolveCommand(),args:["--print","-","--output-format","stream-json","--verbose"]}}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getHookArray(a,b){let c=a[b];return Array.isArray(c)?c:[]}hasHook(a,b){return a.some(a=>a.hooks?.some(a=>a.command?.includes(b)))}}],52350)},897667,a=>{"use strict";let b=new(a.i(52350)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(719041),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
|
|
2
|
-
|
|
3
|
-
\`\`\`
|
|
4
|
-
${a.slice(-5e3)}
|
|
5
|
-
\`\`\``,e=await c(d,b);return e&&e.replace(/^[#*\->"'\s]+/,"").trim()||null}async function e(a,b,d){let e=a.slice(-8e3),f=d?`
|
|
6
|
-
Session summary: ${d}`:"",g=`You are analyzing a completed AI coding session. Extract reusable insights.
|
|
7
|
-
${f}
|
|
8
|
-
|
|
9
|
-
Terminal log (last 8000 chars):
|
|
10
|
-
\`\`\`
|
|
11
|
-
${e}
|
|
12
|
-
\`\`\`
|
|
13
|
-
|
|
14
|
-
Respond ONLY with valid JSON matching this schema (no markdown, no explanation):
|
|
15
|
-
{
|
|
16
|
-
"summary": "one-sentence summary of what was accomplished",
|
|
17
|
-
"insights": [
|
|
18
|
-
{ "type": "pattern|pitfall|decision|tool|reference", "content": "description" }
|
|
19
|
-
],
|
|
20
|
-
"shouldCreateNote": true/false,
|
|
21
|
-
"noteTitle": "short title for the note (only if shouldCreateNote is true)"
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
Rules:
|
|
25
|
-
- Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
|
|
26
|
-
- Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
|
|
27
|
-
- insights array can be empty if nothing notable
|
|
28
|
-
- Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0u-vzb1._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__12pnl8n._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},427699,(a,b,c)=>{b.exports=a.x("events",()=>require("events"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},319997,a=>{"use strict";let b;var c=a.i(750227),d=a.i(660526),e=a.i(902157);function f(){return b||(b=process.env.TOWER_DATA_DIR||(0,c.join)((0,d.homedir)(),".tower"),(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0})),b}a.s(["getBackupsDir",0,function(){let a=(0,c.join)(f(),"backups");return(0,e.existsSync)(a)||(0,e.mkdirSync)(a,{recursive:!0}),a},"getStorageDir",0,function(){let a=(0,c.join)(f(),"storage");return(0,e.existsSync)(a)||(0,e.mkdirSync)(a,{recursive:!0}),a},"getTowerDir",0,f])},925886,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139);async function e(a){return c.db.agentPrompt.findMany({where:a?{OR:[{workspaceId:a},{workspaceId:null}]}:{},orderBy:[{isDefault:"desc"},{name:"asc"}]})}async function f(a){return c.db.agentPrompt.findUnique({where:{id:a}})}async function g(a){if(a.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let b=await c.db.agentPrompt.create({data:a});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),b}async function h(a,b){if(void 0!==b.content&&b.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let e=await c.db.agentPrompt.update({where:{id:a},data:b});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}async function i(a){await c.db.agentPrompt.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings")}async function j(a,b){let e=await c.db.$transaction(async c=>(await c.agentPrompt.updateMany({where:b?{workspaceId:b,isDefault:!0}:{isDefault:!0},data:{isDefault:!1}}),c.agentPrompt.update({where:{id:a},data:{isDefault:!0}})));return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}(0,a.i(630048).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"408accb4cc4036960ffbe673d3c54faf7a444d87b1",null),(0,b.registerServerReference)(f,"40531770fc5a315eca4883e92f2b3e03ffda015e7b",null),(0,b.registerServerReference)(g,"40343ae474f890964308647b5803f9734a720deef0",null),(0,b.registerServerReference)(h,"60bdd2a7ccc15ab629dbd3b67bf89065dc538f8ab7",null),(0,b.registerServerReference)(i,"40cd9b519d904a0706b64e8fd24705179724ddd0c3",null),(0,b.registerServerReference)(j,"60a34b51fb2262ccba1c2c6ff9922c1590410877d1",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},687769,(a,b,c)=>{b.exports=a.x("node:events",()=>require("node:events"))},81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))},899871,(a,b,c)=>{b.exports=a.x("node:string_decoder",()=>require("node:string_decoder"))},449719,(a,b,c)=>{b.exports=a.x("assert",()=>require("assert"))},500874,(a,b,c)=>{b.exports=a.x("buffer",()=>require("buffer"))},406461,(a,b,c)=>{b.exports=a.x("zlib",()=>require("zlib"))},57328,(a,b,c)=>{b.exports=a.x("node:assert",()=>require("node:assert"))},76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_123jf_a._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js"].map(b=>a.l(b))).then(()=>b(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0ep3sg_._.js"].map(b=>a.l(b))).then(()=>b(897667)))},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},195404,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_fts_ts_01m1thq._.js"].map(b=>a.l(b))).then(()=>b(835032)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__13k4vkg._.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
module.exports=[113047,599209,419622,844261,30940,a=>{"use strict";let b,c,d,e=(0,a.i(711796).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);a.s(["ChevronsUpDown",0,e],113047);var f,g,h,i,j,k,l,m,n,o,p=a.i(728778);a.s([],664841),a.i(664841);var q=a.i(374637),r=a.i(291034),s=a.i(834244),t=a.i(799942),u=a.i(226682),v=a.i(459805),w=a.i(719084),x=a.i(322516),y=a.i(862306);let z=q.createContext(void 0);function A(a){let b=q.useContext(z);if(void 0===b&&!a)throw Error((0,y.default)(47));return b}var B=a.i(986099),C=a.i(142103),D=a.i(459161),E=a.i(102934),F=a.i(196692),G=a.i(493358),H=a.i(100737),I=a.i(384527),J=a.i(837049),K=a.i(619199);let L={...I.popupStoreSelectors,disabled:(0,D.createSelector)(a=>a.disabled),instantType:(0,D.createSelector)(a=>a.instantType),openMethod:(0,D.createSelector)(a=>a.openMethod),openChangeReason:(0,D.createSelector)(a=>a.openChangeReason),modal:(0,D.createSelector)(a=>a.modal),stickIfOpen:(0,D.createSelector)(a=>a.stickIfOpen),titleElementId:(0,D.createSelector)(a=>a.titleElementId),descriptionElementId:(0,D.createSelector)(a=>a.descriptionElementId),openOnHover:(0,D.createSelector)(a=>a.openOnHover),closeDelay:(0,D.createSelector)(a=>a.closeDelay),hasViewport:(0,D.createSelector)(a=>a.hasViewport)};class M extends C.ReactStore{constructor(a){const b={...(0,I.createInitialPopupStoreState)(),disabled:!1,modal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,nested:!1,openOnHover:!1,closeDelay:0,hasViewport:!1,...a};b.open&&a?.mounted===void 0&&(b.mounted=!0),super(b,{popupRef:q.createRef(),backdropRef:q.createRef(),internalBackdropRef:q.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:q.createRef(),beforeContentFocusGuardRef:q.createRef(),stickIfOpenTimeout:new E.Timeout,triggerElements:new J.PopupTriggerMap},L)}setOpen=(a,b)=>{let c=b.reason===H.REASONS.triggerHover,d=b.reason===H.REASONS.triggerPress&&0===b.event.detail,e=!a&&(b.reason===H.REASONS.escapeKey||null==b.reason);if(b.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},this.context.onOpenChange?.(a,b),b.isCanceled)return;let f={open:a,nativeEvent:b.event,reason:b.reason,nested:this.state.nested,triggerElement:b.trigger},g=this.state.floatingRootContext.context.events;g?.emit("openchange",f);let h=()=>{let c={open:a,openChangeReason:b.reason},d=b.trigger?.id??null;(d||a)&&(c.activeTriggerId=d,c.activeTriggerElement=b.trigger??null),this.update(c)};c?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(K.PATIENT_CLICK_THRESHOLD,()=>{this.set("stickIfOpen",!1)}),B.flushSync(h)):h(),d||e?this.set("instantType",d?"click":"dismiss"):b.reason===H.REASONS.focusOut?this.set("instantType","focus"):this.set("instantType",void 0)};static useStore(a,b){let c=(0,F.useRefWithInit)(()=>new M(b)).current,d=a??c;return(0,G.useOnMount)(c.disposeEffect),d}disposeEffect=()=>this.context.stickIfOpenTimeout.disposeEffect()}var N=a.i(622047),O=a.i(771532),P=a.i(742122);function Q({props:a}){let{children:b,open:c,defaultOpen:d=!1,onOpenChange:e,onOpenChangeComplete:f,modal:g=!1,handle:h,triggerId:i,defaultTriggerId:j=null}=a,k=M.useStore(h?.store,{modal:g,open:d,openProp:c,activeTriggerId:j,triggerIdProp:i});(0,s.useOnFirstRender)(()=>{void 0===c&&!1===k.state.open&&!0===d&&k.update({open:!0,activeTriggerId:j})}),k.useControlledProp("openProp",c),k.useControlledProp("triggerIdProp",i);let l=k.useState("open"),m=k.useState("positionerElement"),n=k.useState("payload"),o=k.useState("openChangeReason");k.useContextCallback("onOpenChange",e),k.useContextCallback("onOpenChangeComplete",f);let{openMethod:y,triggerProps:A}=(0,P.useOpenInteractionType)(l);(0,O.useImplicitActiveTrigger)(k);let{forceUnmount:B}=(0,O.useOpenStateTransitions)(l,k,()=>{k.update({stickIfOpen:!0,openChangeReason:null})});(0,r.useScrollLock)(l&&!0===g&&o!==H.REASONS.triggerHover&&"touch"!==y,m),q.useEffect(()=>{l||k.context.stickIfOpenTimeout.clear()},[k,l]);let C=q.useCallback(a=>{let b=(0,N.createChangeEventDetails)(a);return b.preventUnmountOnClose=()=>{k.set("preventUnmountingOnClose",!0)},b},[k]),D=q.useCallback(()=>{k.setOpen(!1,C(H.REASONS.imperativeAction))},[k,C]);q.useImperativeHandle(a.actionsRef,()=>({unmount:B,close:D}),[B,D]);let E=(0,x.useSyncedFloatingRootContext)({popupStore:k,onOpenChange:k.setOpen}),F=(0,t.useDismiss)(E,{outsidePressEvent:{mouse:"trap-focus"===g?"sloppy":"intentional",touch:"sloppy"}}),G=(0,v.useRole)(E),{getReferenceProps:I,getFloatingProps:J,getTriggerProps:K}=(0,u.useInteractions)([F,G]),L=q.useMemo(()=>I(A),[I,A]),R=q.useMemo(()=>K(A),[K,A]),S=q.useMemo(()=>J(),[J]);k.useSyncedValues({modal:g,openMethod:y,activeTriggerProps:L,inactiveTriggerProps:R,popupProps:S,floatingRootContext:E,nested:null!=(0,w.useFloatingParentNodeId)()});let T=q.useMemo(()=>({store:k}),[k]);return(0,p.jsx)(z.Provider,{value:T,children:"function"==typeof b?b({payload:n}):b})}var R=a.i(74686),S=a.i(19926),T=a.i(495154),U=a.i(213200),V=a.i(990045),W=a.i(979080),X=a.i(344986),Y=a.i(366752),Z=a.i(4510),$=a.i(606914),_=a.i(335703);let aa=q.forwardRef(function(a,b){let{render:c,className:d,disabled:e=!1,nativeButton:f=!0,handle:g,payload:h,openOnHover:i=!1,delay:j=300,closeDelay:k=0,id:l,...m}=a,n=A(!0),o=g?.store??n?.store;if(!o)throw Error((0,y.default)(74));let r=(0,Y.useBaseUiId)(l),s=o.useState("isTriggerActive",r),t=o.useState("floatingRootContext"),v=o.useState("isOpenedByTrigger",r),w=q.useRef(null),{registerTrigger:x,isMountedByThisTrigger:z}=(0,O.useTriggerDataForwarding)(r,w,o,{payload:h,disabled:e,openOnHover:i,closeDelay:k}),C=o.useState("openChangeReason"),D=o.useState("stickIfOpen"),E=o.useState("openMethod"),F=(0,X.useHoverReferenceInteraction)(t,{enabled:null!=t&&i&&("touch"!==E||C!==H.REASONS.triggerPress),mouseOnly:!0,move:!1,handleClose:(0,V.safePolygon)(),restMs:j,delay:{close:k},triggerElementRef:w,isActiveTrigger:s}),G=(0,W.useClick)(t,{enabled:null!=t,stickIfOpen:D}),I=(0,u.useInteractions)([G]),J=o.useState("triggerProps",z),{getButtonProps:L,buttonRef:M}=(0,S.useButton)({disabled:e,native:f}),P=q.useMemo(()=>({open:a=>a&&C===H.REASONS.triggerPress?T.pressableTriggerOpenStateMapping.open(a):T.triggerOpenStateMapping.open(a)}),[C]),Q=(0,U.useRenderElement)("button",a,{state:{disabled:e,open:v},ref:[M,b,x,w],props:[I.getReferenceProps(),F,J,{[K.CLICK_TRIGGER_IDENTIFIER]:"",id:r},m,L],stateAttributesMapping:P}),aa=q.useRef(null),ab=(0,R.useStableCallback)(a=>{B.flushSync(()=>{o.setOpen(!1,(0,N.createChangeEventDetails)(H.REASONS.focusOut,a.nativeEvent,a.currentTarget))});let b=(0,_.getTabbableBeforeElement)(aa.current);b?.focus()}),ac=(0,R.useStableCallback)(a=>{let b=o.select("positionerElement");if(b&&(0,_.isOutsideEvent)(a,b))o.context.beforeContentFocusGuardRef.current?.focus();else{B.flushSync(()=>{o.setOpen(!1,(0,N.createChangeEventDetails)(H.REASONS.focusOut,a.nativeEvent,a.currentTarget))});let c=(0,_.getTabbableAfterElement)(o.context.triggerFocusTargetRef.current||w.current);for(;null!==c&&(0,$.contains)(b,c);){let a=c;if((c=(0,_.getNextTabbable)(c))===a)break}c?.focus()}});return s?(0,p.jsxs)(q.Fragment,{children:[(0,p.jsx)(Z.FocusGuard,{ref:aa,onFocus:ab}),(0,p.jsx)(q.Fragment,{children:Q},r),(0,p.jsx)(Z.FocusGuard,{ref:o.context.triggerFocusTargetRef,onFocus:ac})]}):(0,p.jsx)(q.Fragment,{children:Q},r)});var ab=a.i(414803);let ac=q.createContext(void 0),ad=q.forwardRef(function(a,b){let{keepMounted:c=!1,...d}=a,{store:e}=A();return e.useState("mounted")||c?(0,p.jsx)(ac.Provider,{value:c,children:(0,p.jsx)(ab.FloatingPortal,{ref:b,...d})}):null});var ae=a.i(976389),af=a.i(830067);let ag=q.createContext(void 0);function ah(){let a=q.useContext(ag);if(!a)throw Error((0,y.default)(46));return a}var ai=a.i(920420),aj=a.i(167284),ak=a.i(286489),al=a.i(8434),am=a.i(929174);let an=q.forwardRef(function(a,b){let{render:c,className:d,anchor:e,positionMethod:f="absolute",side:g="bottom",align:h="center",sideOffset:i=0,alignOffset:j=0,collisionBoundary:k="clipping-ancestors",collisionPadding:l=5,arrowPadding:m=5,sticky:n=!1,disableAnchorTracking:o=!1,collisionAvoidance:r=K.POPUP_COLLISION_AVOIDANCE,...s}=a,{store:t}=A(),u=function(){let a=q.useContext(ac);if(void 0===a)throw Error((0,y.default)(45));return a}(),v=(0,w.useFloatingNodeId)(),x=t.useState("floatingRootContext"),z=t.useState("mounted"),B=t.useState("open"),C=t.useState("openChangeReason"),D=t.useState("activeTriggerElement"),E=t.useState("modal"),F=t.useState("positionerElement"),G=t.useState("instantType"),I=t.useState("transitionStatus"),J=t.useState("hasViewport"),L=q.useRef(null),M=(0,ak.useAnimationsFinished)(F,!1,!1),N=(0,ai.useAnchorPositioning)({anchor:e,floatingRootContext:x,positionMethod:f,mounted:z,side:g,sideOffset:i,align:h,alignOffset:j,arrowPadding:m,collisionBoundary:k,collisionPadding:l,sticky:n,disableAnchorTracking:o,keepMounted:u,nodeId:v,collisionAvoidance:r,adaptiveOrigin:J?al.adaptiveOrigin:void 0}),O=q.useMemo(()=>{let a={};return B||(a.pointerEvents="none"),{role:"presentation",hidden:!z,style:{...N.positionerStyles,...a}}},[B,z,N.positionerStyles]),P=q.useMemo(()=>({props:O,...N}),[O,N]),Q=x.useState("domReferenceElement");(0,af.useIsoLayoutEffect)(()=>{let a=L.current;if(Q&&(L.current=Q),a&&Q&&Q!==a){t.set("instantType",void 0);let a=new AbortController;return M(()=>{t.set("instantType","trigger-change")},a.signal),()=>{a.abort()}}},[Q,M,t]);let R={open:B,side:P.side,align:P.align,anchorHidden:P.anchorHidden,instant:G},S=q.useCallback(a=>{t.set("positionerElement",a)},[t]),V=(0,U.useRenderElement)("div",a,{state:R,props:[P.props,(0,am.getDisabledMountTransitionStyles)(I),s],ref:[b,S],stateAttributesMapping:T.popupStateMapping});return(0,p.jsxs)(ag.Provider,{value:P,children:[z&&!0===E&&C!==H.REASONS.triggerHover&&(0,p.jsx)(aj.InternalBackdrop,{ref:t.context.internalBackdropRef,inert:(0,ae.inertValue)(!B),cutout:D}),(0,p.jsx)(w.FloatingNode,{id:v,children:V})]})});var ao=a.i(95133),ap=a.i(23454),aq=a.i(509952),ar=a.i(380562),as=a.i(398312),at=a.i(894701),au=a.i(668556);let av=q.createContext(void 0);function aw(a){let{value:b,children:c}=a;return(0,p.jsx)(av.Provider,{value:b,children:c})}let ax={...T.popupStateMapping,...ar.transitionStatusMapping},ay=q.forwardRef(function(a,b){let{className:c,render:d,initialFocus:e,finalFocus:f,...g}=a,{store:h}=A(),i=ah(),j=null!=(0,au.useToolbarRootContext)(!0),{context:k,hasClosePart:l}=function(){let[a,b]=q.useState(0),c=(0,R.useStableCallback)(()=>(b(a=>a+1),()=>{b(a=>Math.max(0,a-1))}));return{context:q.useMemo(()=>({register:c}),[c]),hasClosePart:a>0}}(),m=h.useState("open"),n=h.useState("openMethod"),o=h.useState("instantType"),r=h.useState("transitionStatus"),s=h.useState("popupProps"),t=h.useState("titleElementId"),u=h.useState("descriptionElementId"),v=h.useState("modal"),w=h.useState("mounted"),x=h.useState("openChangeReason"),y=h.useState("activeTriggerElement"),z=h.useState("floatingRootContext");(0,as.useOpenChangeComplete)({open:m,ref:h.context.popupRef,onComplete(){m&&h.context.onOpenChangeComplete?.(!0)}});let B=h.useState("disabled"),C=h.useState("openOnHover"),D=h.useState("closeDelay");(0,aq.useHoverFloatingInteraction)(z,{enabled:C&&!B,closeDelay:D});let E=void 0===e?function(a){return"touch"!==a||h.context.popupRef.current}:e,F={open:m,side:i.side,align:i.align,instant:o,transitionStatus:r},G=q.useCallback(a=>{h.set("popupElement",a)},[h]),I=(0,U.useRenderElement)("div",a,{state:F,ref:[b,h.context.popupRef,G],props:[s,{"aria-labelledby":t,"aria-describedby":u,onKeyDown(a){j&&at.COMPOSITE_KEYS.has(a.key)&&a.stopPropagation()}},(0,am.getDisabledMountTransitionStyles)(r),g],stateAttributesMapping:ax});return(0,p.jsx)(ap.FloatingFocusManager,{context:z,openInteractionType:n,modal:!1!==v&&l,disabled:!w||x===H.REASONS.triggerHover,initialFocus:E,returnFocus:f,restoreFocus:"popup",previousFocusableElement:(0,ao.isHTMLElement)(y)?y:void 0,nextFocusableElement:h.context.triggerFocusTargetRef,beforeContentFocusGuardRef:h.context.beforeContentFocusGuardRef,children:(0,p.jsx)(aw,{value:k,children:I})})}),az=q.forwardRef(function(a,b){let{className:c,render:d,...e}=a,{store:f}=A(),g=f.useState("open"),{arrowRef:h,side:i,align:j,arrowUncentered:k,arrowStyles:l}=ah();return(0,U.useRenderElement)("div",a,{state:{open:g,side:i,align:j,uncentered:k},ref:[b,h],props:[{style:l,"aria-hidden":!0},e],stateAttributesMapping:T.popupStateMapping})}),aA={...T.popupStateMapping,...ar.transitionStatusMapping},aB=q.forwardRef(function(a,b){let{className:c,render:d,...e}=a,{store:f}=A(),g=f.useState("open"),h=f.useState("mounted"),i=f.useState("transitionStatus"),j=f.useState("openChangeReason");return(0,U.useRenderElement)("div",a,{state:{open:g,transitionStatus:i},ref:[f.context.backdropRef,b],props:[{role:"presentation",hidden:!h,style:{pointerEvents:j===H.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},e],stateAttributesMapping:aA})}),aC=q.forwardRef(function(a,b){let{render:c,className:d,...e}=a,{store:f}=A(),g=(0,Y.useBaseUiId)(e.id);return(0,af.useIsoLayoutEffect)(()=>(f.set("titleElementId",g),()=>{f.set("titleElementId",void 0)}),[f,g]),(0,U.useRenderElement)("h2",a,{ref:b,props:[{id:g},e]})}),aD=q.forwardRef(function(a,b){let{render:c,className:d,...e}=a,{store:f}=A(),g=(0,Y.useBaseUiId)(e.id);return(0,af.useIsoLayoutEffect)(()=>(f.set("descriptionElementId",g),()=>{f.set("descriptionElementId",void 0)}),[f,g]),(0,U.useRenderElement)("p",a,{ref:b,props:[{id:g},e]})}),aE=q.forwardRef(function(a,b){let c,{render:d,className:e,disabled:f=!1,nativeButton:g=!0,...h}=a,{buttonRef:i,getButtonProps:j}=(0,S.useButton)({disabled:f,focusableWhenDisabled:!1,native:g}),{store:k}=A();return c=q.useContext(av),(0,af.useIsoLayoutEffect)(()=>c?.register(),[c]),(0,U.useRenderElement)("button",a,{ref:[b,i],props:[{onClick(a){k.setOpen(!1,(0,N.createChangeEventDetails)(H.REASONS.closePress,a.nativeEvent,a.currentTarget))}},h,j]})}),aF=((f={}).popupWidth="--popup-width",f.popupHeight="--popup-height",f);var aG=a.i(263425);let aH={activationDirection:a=>a?{"data-activation-direction":a}:null},aI=q.forwardRef(function(a,b){let{render:c,className:d,children:e,...f}=a,{store:g}=A(),{side:h}=ah(),i=g.useState("instantType"),{children:j,state:k}=(0,aG.usePopupViewport)({store:g,side:h,cssVars:aF,children:e}),l={activationDirection:k.activationDirection,transitioning:k.transitioning,instant:i};return(0,U.useRenderElement)("div",a,{state:l,ref:b,props:[f,{children:j}],stateAttributesMapping:aH})});class aJ{constructor(){this.store=new M}open(a){let b=a?this.store.context.triggerElements.getById(a)??void 0:void 0;if(a&&!b)throw Error((0,y.default)(80,a));this.store.setOpen(!0,(0,N.createChangeEventDetails)(H.REASONS.imperativeAction,void 0,b))}close(){this.store.setOpen(!1,(0,N.createChangeEventDetails)(H.REASONS.imperativeAction,void 0,void 0))}get isOpen(){return this.store.state.open}}a.s(["Arrow",0,az,"Backdrop",0,aB,"Close",0,aE,"Description",0,aD,"Handle",0,aJ,"Popup",0,ay,"Portal",0,ad,"Positioner",0,an,"Root",0,function(a){return A(!0)?(0,p.jsx)(Q,{props:a}):(0,p.jsx)(w.FloatingTree,{children:(0,p.jsx)(Q,{props:a})})},"Title",0,aC,"Trigger",0,aa,"Viewport",0,aI,"createHandle",0,function(){return new aJ}],830986);var aK=a.i(830986),aK=aK,aL=a.i(368114);a.s(["Popover",0,function({...a}){return(0,p.jsx)(aK.Root,{"data-slot":"popover",...a})},"PopoverContent",0,function({className:a,align:b="center",alignOffset:c=0,side:d="bottom",sideOffset:e=4,...f}){return(0,p.jsx)(aK.Portal,{children:(0,p.jsx)(aK.Positioner,{align:b,alignOffset:c,side:d,sideOffset:e,className:"isolate z-50",children:(0,p.jsx)(aK.Popup,{"data-slot":"popover-content",className:(0,aL.cn)("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 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:fade-out-0 data-closed:zoom-out-95",a),...f})})})},"PopoverTrigger",0,function({...a}){return(0,p.jsx)(aK.Trigger,{"data-slot":"popover-trigger",...a})}],599209);var aM=/[\\\/_+.#"@\[\(\{&]/,aN=/[\\\/_+.#"@\[\(\{&]/g,aO=/[\s-]/,aP=/[\s-]/g;function aQ(a){return a.toLowerCase().replace(aP," ")}function aR(a,b,{checkForDefaultPrevented:c=!0}={}){return function(d){if(a?.(d),!1===c||!d.defaultPrevented)return b?.(d)}}function aS(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function aT(...a){return b=>{let c=!1,d=a.map(a=>{let d=aS(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():aS(a[b],null)}}}}function aU(...a){return q.useCallback(aT(...a),a)}var aV=globalThis?.document?q.useLayoutEffect:()=>{},aW=q[" useId ".trim().toString()]||(()=>void 0),aX=0;function aY(a){let[b,c]=q.useState(aW());return aV(()=>{a||c(a=>a??String(aX++))},[a]),a||(b?`radix-${b}`:"")}q[" useEffectEvent ".trim().toString()],q[" useInsertionEffect ".trim().toString()];var aZ=q[" useInsertionEffect ".trim().toString()]||aV;function a$(a){var b;let c,d=(b=a,(c=q.forwardRef((a,b)=>{let{children:c,...d}=a;if(q.isValidElement(c)){var e;let a,f,g=(e=c,(f=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(f=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),h=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==q.Fragment&&(h.ref=b?aT(b,g):g),q.cloneElement(c,h)}return q.Children.count(c)>1?q.Children.only(null):null})).displayName=`${b}.SlotClone`,c),e=q.forwardRef((a,b)=>{let{children:c,...e}=a,f=q.Children.toArray(c),g=f.find(a0);if(g){let a=g.props.children,c=f.map(b=>b!==g?b:q.Children.count(a)>1?q.Children.only(null):q.isValidElement(a)?a.props.children:null);return(0,p.jsx)(d,{...e,ref:b,children:q.isValidElement(a)?q.cloneElement(a,void 0,c):null})}return(0,p.jsx)(d,{...e,ref:b,children:c})});return e.displayName=`${a}.Slot`,e}Symbol("RADIX:SYNC_STATE");var a_=Symbol("radix.slottable");function a0(a){return q.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===a_}var a1=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,b)=>{let c=a$(`Primitive.${b}`),d=q.forwardRef((a,d)=>{let{asChild:e,...f}=a;return(0,p.jsx)(e?c:b,{...f,ref:d})});return d.displayName=`Primitive.${b}`,{...a,[b]:d}},{});function a2(a){let b=q.useRef(a);return q.useEffect(()=>{b.current=a}),q.useMemo(()=>(...a)=>b.current?.(...a),[])}var a3="dismissableLayer.update",a4=q.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),a5=q.forwardRef((a,b)=>{let{disableOutsidePointerEvents:c=!1,onEscapeKeyDown:d,onPointerDownOutside:e,onFocusOutside:f,onInteractOutside:g,onDismiss:h,...i}=a,j=q.useContext(a4),[k,l]=q.useState(null),m=k?.ownerDocument??globalThis?.document,[,o]=q.useState({}),r=aU(b,a=>l(a)),s=Array.from(j.layers),[t]=[...j.layersWithOutsidePointerEventsDisabled].slice(-1),u=s.indexOf(t),v=k?s.indexOf(k):-1,w=j.layersWithOutsidePointerEventsDisabled.size>0,x=v>=u,y=function(a,b=globalThis?.document){let c=a2(a),d=q.useRef(!1),e=q.useRef(()=>{});return q.useEffect(()=>{let a=a=>{if(a.target&&!d.current){let d=function(){a7("dismissableLayer.pointerDownOutside",c,f,{discrete:!0})},f={originalEvent:a};"touch"===a.pointerType?(b.removeEventListener("click",e.current),e.current=d,b.addEventListener("click",e.current,{once:!0})):d()}else b.removeEventListener("click",e.current);d.current=!1},f=window.setTimeout(()=>{b.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(f),b.removeEventListener("pointerdown",a),b.removeEventListener("click",e.current)}},[b,c]),{onPointerDownCapture:()=>d.current=!0}}(a=>{let b=a.target,c=[...j.branches].some(a=>a.contains(b));x&&!c&&(e?.(a),g?.(a),a.defaultPrevented||h?.())},m),z=function(a,b=globalThis?.document){let c=a2(a),d=q.useRef(!1);return q.useEffect(()=>{let a=a=>{a.target&&!d.current&&a7("dismissableLayer.focusOutside",c,{originalEvent:a},{discrete:!1})};return b.addEventListener("focusin",a),()=>b.removeEventListener("focusin",a)},[b,c]),{onFocusCapture:()=>d.current=!0,onBlurCapture:()=>d.current=!1}}(a=>{let b=a.target;![...j.branches].some(a=>a.contains(b))&&(f?.(a),g?.(a),a.defaultPrevented||h?.())},m);return!function(a,b=globalThis?.document){let c=a2(a);q.useEffect(()=>{let a=a=>{"Escape"===a.key&&c(a)};return b.addEventListener("keydown",a,{capture:!0}),()=>b.removeEventListener("keydown",a,{capture:!0})},[c,b])}(a=>{v===j.layers.size-1&&(d?.(a),!a.defaultPrevented&&h&&(a.preventDefault(),h()))},m),q.useEffect(()=>{if(k)return c&&(0===j.layersWithOutsidePointerEventsDisabled.size&&(n=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),j.layersWithOutsidePointerEventsDisabled.add(k)),j.layers.add(k),a6(),()=>{c&&1===j.layersWithOutsidePointerEventsDisabled.size&&(m.body.style.pointerEvents=n)}},[k,m,c,j]),q.useEffect(()=>()=>{k&&(j.layers.delete(k),j.layersWithOutsidePointerEventsDisabled.delete(k),a6())},[k,j]),q.useEffect(()=>{let a=()=>o({});return document.addEventListener(a3,a),()=>document.removeEventListener(a3,a)},[]),(0,p.jsx)(a1.div,{...i,ref:r,style:{pointerEvents:w?x?"auto":"none":void 0,...a.style},onFocusCapture:aR(a.onFocusCapture,z.onFocusCapture),onBlurCapture:aR(a.onBlurCapture,z.onBlurCapture),onPointerDownCapture:aR(a.onPointerDownCapture,y.onPointerDownCapture)})});function a6(){let a=new CustomEvent(a3);document.dispatchEvent(a)}function a7(a,b,c,{discrete:d}){let e=c.originalEvent.target,f=new CustomEvent(a,{bubbles:!1,cancelable:!0,detail:c});if(b&&e.addEventListener(a,b,{once:!0}),d)e&&B.flushSync(()=>e.dispatchEvent(f));else e.dispatchEvent(f)}a5.displayName="DismissableLayer",q.forwardRef((a,b)=>{let c=q.useContext(a4),d=q.useRef(null),e=aU(b,d);return q.useEffect(()=>{let a=d.current;if(a)return c.branches.add(a),()=>{c.branches.delete(a)}},[c.branches]),(0,p.jsx)(a1.div,{...a,ref:e})}).displayName="DismissableLayerBranch";var a8="focusScope.autoFocusOnMount",a9="focusScope.autoFocusOnUnmount",ba={bubbles:!1,cancelable:!0},bb=q.forwardRef((a,b)=>{let{loop:c=!1,trapped:d=!1,onMountAutoFocus:e,onUnmountAutoFocus:f,...g}=a,[h,i]=q.useState(null),j=a2(e),k=a2(f),l=q.useRef(null),m=aU(b,a=>i(a)),n=q.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;q.useEffect(()=>{if(d){let a=function(a){if(n.paused||!h)return;let b=a.target;h.contains(b)?l.current=b:be(l.current,{select:!0})},b=function(a){if(n.paused||!h)return;let b=a.relatedTarget;null!==b&&(h.contains(b)||be(l.current,{select:!0}))};document.addEventListener("focusin",a),document.addEventListener("focusout",b);let c=new MutationObserver(function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&be(h)});return h&&c.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[d,h,n.paused]),q.useEffect(()=>{if(h){bf.add(n);let a=document.activeElement;if(!h.contains(a)){let b=new CustomEvent(a8,ba);h.addEventListener(a8,j),h.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(be(d,{select:b}),document.activeElement!==c)return}(bc(h).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&be(h))}return()=>{h.removeEventListener(a8,j),setTimeout(()=>{let b=new CustomEvent(a9,ba);h.addEventListener(a9,k),h.dispatchEvent(b),b.defaultPrevented||be(a??document.body,{select:!0}),h.removeEventListener(a9,k),bf.remove(n)},0)}}},[h,j,k,n]);let o=q.useCallback(a=>{if(!c&&!d||n.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,e=document.activeElement;if(b&&e){var f;let b,d=a.currentTarget,[g,h]=[bd(b=bc(f=d),f),bd(b.reverse(),f)];g&&h?a.shiftKey||e!==h?a.shiftKey&&e===g&&(a.preventDefault(),c&&be(h,{select:!0})):(a.preventDefault(),c&&be(g,{select:!0})):e===d&&a.preventDefault()}},[c,d,n.paused]);return(0,p.jsx)(a1.div,{tabIndex:-1,...g,ref:m,onKeyDown:o})});function bc(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}function bd(a,b){for(let c of a)if(!function(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}(c,{upTo:b}))return c}function be(a,{select:b=!1}={}){if(a&&a.focus){var c;let d=document.activeElement;a.focus({preventScroll:!0}),a!==d&&(c=a)instanceof HTMLInputElement&&"select"in c&&b&&a.select()}}bb.displayName="FocusScope";var bf=(d=[],{add(a){let b=d[0];a!==b&&b?.pause(),(d=bg(d,a)).unshift(a)},remove(a){d=bg(d,a),d[0]?.resume()}});function bg(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}var bh=q.forwardRef((a,b)=>{let{container:c,...d}=a,[e,f]=q.useState(!1);aV(()=>f(!0),[]);let g=c||e&&globalThis?.document?.body;return g?B.default.createPortal((0,p.jsx)(a1.div,{...d,ref:b}),g):null});bh.displayName="Portal";var bi=a=>{var b;let c,d,{present:e,children:f}=a,g=function(a){var b,c;let[d,e]=q.useState(),f=q.useRef(null),g=q.useRef(a),h=q.useRef("none"),[i,j]=(b=a?"mounted":"unmounted",c={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},q.useReducer((a,b)=>c[a][b]??a,b));return q.useEffect(()=>{let a=bj(f.current);h.current="mounted"===i?a:"none"},[i]),aV(()=>{let b=f.current,c=g.current;if(c!==a){let d=h.current,e=bj(b);a?j("MOUNT"):"none"===e||b?.display==="none"?j("UNMOUNT"):c&&d!==e?j("ANIMATION_OUT"):j("UNMOUNT"),g.current=a}},[a,j]),aV(()=>{if(d){let a,b=d.ownerDocument.defaultView??window,c=c=>{let e=bj(f.current).includes(CSS.escape(c.animationName));if(c.target===d&&e&&(j("ANIMATION_END"),!g.current)){let c=d.style.animationFillMode;d.style.animationFillMode="forwards",a=b.setTimeout(()=>{"forwards"===d.style.animationFillMode&&(d.style.animationFillMode=c)})}},e=a=>{a.target===d&&(h.current=bj(f.current))};return d.addEventListener("animationstart",e),d.addEventListener("animationcancel",c),d.addEventListener("animationend",c),()=>{b.clearTimeout(a),d.removeEventListener("animationstart",e),d.removeEventListener("animationcancel",c),d.removeEventListener("animationend",c)}}j("ANIMATION_END")},[d,j]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:q.useCallback(a=>{f.current=a?getComputedStyle(a):null,e(a)},[])}}(e),h="function"==typeof f?f({present:g.isPresent}):q.Children.only(f),i=aU(g.ref,(b=h,(d=(c=Object.getOwnPropertyDescriptor(b.props,"ref")?.get)&&"isReactWarning"in c&&c.isReactWarning)?b.ref:(d=(c=Object.getOwnPropertyDescriptor(b,"ref")?.get)&&"isReactWarning"in c&&c.isReactWarning)?b.props.ref:b.props.ref||b.ref));return"function"==typeof f||g.isPresent?q.cloneElement(h,{ref:i}):null};function bj(a){return a?.animationName||"none"}bi.displayName="Presence";var bk=0;function bl(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}var bm=function(){return(bm=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function bn(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}var bo=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),bp="width-before-scroll-bar";function bq(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var br=q.useEffect,bs=new WeakMap,bt=(void 0===g&&(g={}),(void 0===h&&(h=function(a){return a}),i=[],j=!1,k={read:function(){if(j)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return i.length?i[i.length-1]:null},useMedium:function(a){var b=h(a,j);return i.push(b),function(){i=i.filter(function(a){return a!==b})}},assignSyncMedium:function(a){for(j=!0;i.length;){var b=i;i=[],b.forEach(a)}i={push:function(b){return a(b)},filter:function(){return i}}},assignMedium:function(a){j=!0;var b=[];if(i.length){var c=i;i=[],c.forEach(a),b=i}var d=function(){var c=b;b=[],c.forEach(a)},e=function(){return Promise.resolve().then(d)};e(),i={push:function(a){b.push(a),e()},filter:function(a){return b=b.filter(a),i}}}}).options=bm({async:!0,ssr:!1},g),k),bu=function(){},bv=q.forwardRef(function(a,b){var c,d,e,f,g=q.useRef(null),h=q.useState({onScrollCapture:bu,onWheelCapture:bu,onTouchMoveCapture:bu}),i=h[0],j=h[1],k=a.forwardProps,l=a.children,m=a.className,n=a.removeScrollBar,o=a.enabled,p=a.shards,r=a.sideCar,s=a.noRelative,t=a.noIsolation,u=a.inert,v=a.allowPinchZoom,w=a.as,x=a.gapMode,y=bn(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),z=(c=[g,b],d=function(a){return c.forEach(function(b){return bq(b,a)})},(e=(0,q.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,br(function(){var a=bs.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||bq(a,null)}),d.forEach(function(a){b.has(a)||bq(a,e)})}bs.set(f,c)},[c]),f),A=bm(bm({},y),i);return q.createElement(q.Fragment,null,o&&q.createElement(r,{sideCar:bt,removeScrollBar:n,shards:p,noRelative:s,noIsolation:t,inert:u,setCallbacks:j,allowPinchZoom:!!v,lockRef:g,gapMode:x}),k?q.cloneElement(q.Children.only(l),bm(bm({},A),{ref:z})):q.createElement(void 0===w?"div":w,bm({},A,{className:m,ref:z}),l))});bv.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},bv.classNames={fullWidth:bp,zeroRight:bo};var bw=function(a){var b=a.sideCar,c=bn(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return q.createElement(d,bm({},c))};bw.isSideCarExport=!0;var bx=function(){var a=0,b=null;return{add:function(c){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=o||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return b&&a.setAttribute("nonce",b),a}())){var d,e;(d=b).styleSheet?d.styleSheet.cssText=c:d.appendChild(document.createTextNode(c)),e=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},by=function(){var a=bx();return function(b,c){q.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},bz=function(){var a=by();return function(b){return a(b.styles,b.dynamic),null}},bA={left:0,top:0,right:0,gap:0},bB=bz(),bC="data-scroll-locked",bD=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(bC,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat(bo," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(bp," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(bo," .").concat(bo," {\n right: 0 ").concat(d,";\n }\n \n .").concat(bp," .").concat(bp," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(bC,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},bE=function(){var a=parseInt(document.body.getAttribute(bC)||"0",10);return isFinite(a)?a:0},bF=function(){q.useEffect(function(){return document.body.setAttribute(bC,(bE()+1).toString()),function(){var a=bE()-1;a<=0?document.body.removeAttribute(bC):document.body.setAttribute(bC,a.toString())}},[])},bG=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;bF();var f=q.useMemo(function(){return void 0===e,bA},[e]);return q.createElement(bB,{styles:bD(f,!b,e,c?"":"!important")})},bH=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},bI=function(a,b){var c=b.ownerDocument,d=b;do{if("u">typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),bJ(a,d)){var e=bK(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body)return!1},bJ=function(a,b){return"v"===a?bH(b,"overflowY"):bH(b,"overflowX")},bK=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},bL=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{if(!i)break;var o=bK(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&bJ(a,i)&&(m+=q,n+=p);var r=i.parentNode;i=r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE?r.host:r}while(!j&&i!==document.body||j&&(b.contains(i)||b===i))return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},bM=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},bN=function(a){return[a.deltaX,a.deltaY]},bO=function(a){return a&&"current"in a?a.current:a},bP=0,bQ=[];let bR=(l=function(a){var b=q.useRef([]),c=q.useRef([0,0]),d=q.useRef(),e=q.useState(bP++)[0],f=q.useState(bz)[0],g=q.useRef(a);q.useEffect(function(){g.current=a},[a]),q.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(bO),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var h=q.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!g.current.allowPinchZoom;var e,f=bM(a),h=c.current,i="deltaX"in a?a.deltaX:h[0]-f[0],j="deltaY"in a?a.deltaY:h[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=window.getSelection(),n=m&&m.anchorNode;if(n&&(n===k||n.contains(k)))return!1;var o=bI(l,k);if(!o)return!0;if(o?e=l:(e="v"===l?"h":"v",o=bI(l,k)),!o)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var p=d.current||e;return bL(p,b,a,"h"===p?i:j,!0)},[]),i=q.useCallback(function(a){if(bQ.length&&bQ[bQ.length-1]===f){var c="deltaY"in a?bN(a):bM(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(g.current.shards||[]).map(bO).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?h(a,e[0]):!g.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),j=q.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),k=q.useCallback(function(a){c.current=bM(a),d.current=void 0},[]),l=q.useCallback(function(b){j(b.type,bN(b),b.target,h(b,a.lockRef.current))},[]),m=q.useCallback(function(b){j(b.type,bM(b),b.target,h(b,a.lockRef.current))},[]);q.useEffect(function(){return bQ.push(f),a.setCallbacks({onScrollCapture:l,onWheelCapture:l,onTouchMoveCapture:m}),document.addEventListener("wheel",i,!1),document.addEventListener("touchmove",i,!1),document.addEventListener("touchstart",k,!1),function(){bQ=bQ.filter(function(a){return a!==f}),document.removeEventListener("wheel",i,!1),document.removeEventListener("touchmove",i,!1),document.removeEventListener("touchstart",k,!1)}},[]);var n=a.removeScrollBar,o=a.inert;return q.createElement(q.Fragment,null,o?q.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,n?q.createElement(bG,{noRelative:a.noRelative,gapMode:a.gapMode}):null)},bt.useMedium(l),bw);var bS=q.forwardRef(function(a,b){return q.createElement(bv,bm({},a,{ref:b,sideCar:bR}))});bS.classNames=bv.classNames;var bT=new WeakMap,bU=new WeakMap,bV={},bW=0,bX=function(a){return a&&(a.host||bX(a.parentNode))},bY=function(a,b,c,d){var e=(Array.isArray(a)?a:[a]).map(function(a){if(b.contains(a))return a;var c=bX(a);return c&&b.contains(c)?c:(console.error("aria-hidden",a,"in not contained inside",b,". Doing nothing"),null)}).filter(function(a){return!!a});bV[c]||(bV[c]=new WeakMap);var f=bV[c],g=[],h=new Set,i=new Set(e),j=function(a){!a||h.has(a)||(h.add(a),j(a.parentNode))};e.forEach(j);var k=function(a){!a||i.has(a)||Array.prototype.forEach.call(a.children,function(a){if(h.has(a))k(a);else try{var b=a.getAttribute(d),e=null!==b&&"false"!==b,i=(bT.get(a)||0)+1,j=(f.get(a)||0)+1;bT.set(a,i),f.set(a,j),g.push(a),1===i&&e&&bU.set(a,!0),1===j&&a.setAttribute(c,"true"),e||a.setAttribute(d,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return k(b),h.clear(),bW++,function(){g.forEach(function(a){var b=bT.get(a)-1,e=f.get(a)-1;bT.set(a,b),f.set(a,e),b||(bU.has(a)||a.removeAttribute(d),bU.delete(a)),e||a.removeAttribute(c)}),--bW||(bT=new WeakMap,bT=new WeakMap,bU=new WeakMap,bV={})}},bZ=function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("u"<typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live], script"))),bY(d,e,c,"aria-hidden")):function(){return null}},b$="Dialog",[b_,b0]=function(a,b=[]){let c=[],d=()=>{let b=c.map(a=>q.createContext(a));return function(c){let d=c?.[a]||b;return q.useMemo(()=>({[`__scope${a}`]:{...c,[a]:d}}),[c,d])}};return d.scopeName=a,[function(b,d){let e=q.createContext(d),f=c.length;c=[...c,d];let g=b=>{let{scope:c,children:d,...g}=b,h=c?.[a]?.[f]||e,i=q.useMemo(()=>g,Object.values(g));return(0,p.jsx)(h.Provider,{value:i,children:d})};return g.displayName=b+"Provider",[g,function(c,g){let h=g?.[a]?.[f]||e,i=q.useContext(h);if(i)return i;if(void 0!==d)return d;throw Error(`\`${c}\` must be used within \`${b}\``)}]},function(...a){let b=a[0];if(1===a.length)return b;let c=()=>{let c=a.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){let d=c.reduce((b,{useScope:c,scopeName:d})=>{let e=c(a)[`__scope${d}`];return{...b,...e}},{});return q.useMemo(()=>({[`__scope${b.scopeName}`]:d}),[d])}};return c.scopeName=b.scopeName,c}(d,...b)]}(b$),[b1,b2]=b_(b$),b3=a=>{let{__scopeDialog:b,children:c,open:d,defaultOpen:e,onOpenChange:f,modal:g=!0}=a,h=q.useRef(null),i=q.useRef(null),[j,k]=function({prop:a,defaultProp:b,onChange:c=()=>{},caller:d}){let[e,f,g]=function({defaultProp:a,onChange:b}){let[c,d]=q.useState(a),e=q.useRef(c),f=q.useRef(b);return aZ(()=>{f.current=b},[b]),q.useEffect(()=>{e.current!==c&&(f.current?.(c),e.current=c)},[c,e]),[c,d,f]}({defaultProp:b,onChange:c}),h=void 0!==a,i=h?a:e;{let b=q.useRef(void 0!==a);q.useEffect(()=>{let a=b.current;if(a!==h){let b=h?"controlled":"uncontrolled";console.warn(`${d} is changing from ${a?"controlled":"uncontrolled"} to ${b}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}b.current=h},[h,d])}return[i,q.useCallback(b=>{if(h){let c="function"==typeof b?b(a):b;c!==a&&g.current?.(c)}else f(b)},[h,a,f,g])]}({prop:d,defaultProp:e??!1,onChange:f,caller:b$});return(0,p.jsx)(b1,{scope:b,triggerRef:h,contentRef:i,contentId:aY(),titleId:aY(),descriptionId:aY(),open:j,onOpenChange:k,onOpenToggle:q.useCallback(()=>k(a=>!a),[k]),modal:g,children:c})};b3.displayName=b$;var b4="DialogTrigger";q.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=b2(b4,c),f=aU(b,e.triggerRef);return(0,p.jsx)(a1.button,{type:"button","aria-haspopup":"dialog","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":cl(e.open),...d,ref:f,onClick:aR(a.onClick,e.onOpenToggle)})}).displayName=b4;var b5="DialogPortal",[b6,b7]=b_(b5,{forceMount:void 0}),b8=a=>{let{__scopeDialog:b,forceMount:c,children:d,container:e}=a,f=b2(b5,b);return(0,p.jsx)(b6,{scope:b,forceMount:c,children:q.Children.map(d,a=>(0,p.jsx)(bi,{present:c||f.open,children:(0,p.jsx)(bh,{asChild:!0,container:e,children:a})}))})};b8.displayName=b5;var b9="DialogOverlay",ca=q.forwardRef((a,b)=>{let c=b7(b9,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,f=b2(b9,a.__scopeDialog);return f.modal?(0,p.jsx)(bi,{present:d||f.open,children:(0,p.jsx)(cc,{...e,ref:b})}):null});ca.displayName=b9;var cb=a$("DialogOverlay.RemoveScroll"),cc=q.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=b2(b9,c);return(0,p.jsx)(bS,{as:cb,allowPinchZoom:!0,shards:[e.contentRef],children:(0,p.jsx)(a1.div,{"data-state":cl(e.open),...d,ref:b,style:{pointerEvents:"auto",...d.style}})})}),cd="DialogContent",ce=q.forwardRef((a,b)=>{let c=b7(cd,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,f=b2(cd,a.__scopeDialog);return(0,p.jsx)(bi,{present:d||f.open,children:f.modal?(0,p.jsx)(cf,{...e,ref:b}):(0,p.jsx)(cg,{...e,ref:b})})});ce.displayName=cd;var cf=q.forwardRef((a,b)=>{let c=b2(cd,a.__scopeDialog),d=q.useRef(null),e=aU(b,c.contentRef,d);return q.useEffect(()=>{let a=d.current;if(a)return bZ(a)},[]),(0,p.jsx)(ch,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:aR(a.onCloseAutoFocus,a=>{a.preventDefault(),c.triggerRef.current?.focus()}),onPointerDownOutside:aR(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;(2===b.button||c)&&a.preventDefault()}),onFocusOutside:aR(a.onFocusOutside,a=>a.preventDefault())})}),cg=q.forwardRef((a,b)=>{let c=b2(cd,a.__scopeDialog),d=q.useRef(!1),e=q.useRef(!1);return(0,p.jsx)(ch,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(d.current||c.triggerRef.current?.focus(),b.preventDefault()),d.current=!1,e.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(d.current=!0,"pointerdown"===b.detail.originalEvent.type&&(e.current=!0));let f=b.target;c.triggerRef.current?.contains(f)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&e.current&&b.preventDefault()}})}),ch=q.forwardRef((a,b)=>{let{__scopeDialog:c,trapFocus:d,onOpenAutoFocus:e,onCloseAutoFocus:f,...g}=a,h=b2(cd,c),i=q.useRef(null),j=aU(b,i);return q.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??bl()),document.body.insertAdjacentElement("beforeend",a[1]??bl()),bk++,()=>{1===bk&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),bk--}},[]),(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(bb,{asChild:!0,loop:!0,trapped:d,onMountAutoFocus:e,onUnmountAutoFocus:f,children:(0,p.jsx)(a5,{role:"dialog",id:h.contentId,"aria-describedby":h.descriptionId,"aria-labelledby":h.titleId,"data-state":cl(h.open),...g,ref:j,onDismiss:()=>h.onOpenChange(!1)})}),(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(cp,{titleId:h.titleId}),(0,p.jsx)(cq,{contentRef:i,descriptionId:h.descriptionId})]})]})}),ci="DialogTitle";q.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=b2(ci,c);return(0,p.jsx)(a1.h2,{id:e.titleId,...d,ref:b})}).displayName=ci;var cj="DialogDescription";q.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=b2(cj,c);return(0,p.jsx)(a1.p,{id:e.descriptionId,...d,ref:b})}).displayName=cj;var ck="DialogClose";function cl(a){return a?"open":"closed"}q.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=b2(ck,c);return(0,p.jsx)(a1.button,{type:"button",...d,ref:b,onClick:aR(a.onClick,()=>e.onOpenChange(!1))})}).displayName=ck;var cm="DialogTitleWarning",[cn,co]=(m={contentName:cd,titleName:ci,docsSlug:"dialog"},b=q.createContext(m),(c=a=>{let{children:c,...d}=a,e=q.useMemo(()=>d,Object.values(d));return(0,p.jsx)(b.Provider,{value:e,children:c})}).displayName=cm+"Provider",[c,function(a){let c=q.useContext(b);if(c)return c;if(void 0!==m)return m;throw Error(`\`${a}\` must be used within \`${cm}\``)}]),cp=({titleId:a})=>{let b=co(cm),c=`\`${b.contentName}\` requires a \`${b.titleName}\` for the component to be accessible for screen reader users.
|
|
2
|
-
|
|
3
|
-
If you want to hide the \`${b.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
|
-
|
|
5
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${b.docsSlug}`;return q.useEffect(()=>{a&&(document.getElementById(a)||console.error(c))},[c,a]),null},cq=({contentRef:a,descriptionId:b})=>{let c=co("DialogDescriptionWarning"),d=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${c.contentName}}.`;return q.useEffect(()=>{let c=a.current?.getAttribute("aria-describedby");b&&c&&(document.getElementById(b)||console.warn(d))},[d,a,b]),null},cr=Symbol.for("react.lazy"),cs=q[" use ".trim().toString()];function ct(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===cr&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var cu=Symbol("radix.slottable");function cv(a){return q.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===cu}var cw=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,b)=>{var c,d;let e,f,g,h=(d=c=`Primitive.${b}`,(e=q.forwardRef((a,b)=>{let{children:c,...d}=a;if(ct(c)&&"function"==typeof cs&&(c=cs(c._payload)),q.isValidElement(c)){var e;let a,f,g=(e=c,(f=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(f=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),h=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==q.Fragment&&(h.ref=b?aT(b,g):g),q.cloneElement(c,h)}return q.Children.count(c)>1?q.Children.only(null):null})).displayName=`${d}.SlotClone`,f=e,(g=q.forwardRef((a,b)=>{let{children:c,...d}=a;ct(c)&&"function"==typeof cs&&(c=cs(c._payload));let e=q.Children.toArray(c),g=e.find(cv);if(g){let a=g.props.children,c=e.map(b=>b!==g?b:q.Children.count(a)>1?q.Children.only(null):q.isValidElement(a)?a.props.children:null);return(0,p.jsx)(f,{...d,ref:b,children:q.isValidElement(a)?q.cloneElement(a,void 0,c):null})}return(0,p.jsx)(f,{...d,ref:b,children:c})})).displayName=`${c}.Slot`,g),i=q.forwardRef((a,c)=>{let{asChild:d,...e}=a;return(0,p.jsx)(d?h:b,{...e,ref:c})});return i.displayName=`Primitive.${b}`,{...a,[b]:i}},{}),cx='[cmdk-group=""]',cy='[cmdk-group-items=""]',cz='[cmdk-item=""]',cA=`${cz}:not([aria-disabled="true"])`,cB="cmdk-item-select",cC="data-value",cD=(a,b,c)=>{var d;return d=a,function a(b,c,d,e,f,g,h){if(g===c.length)return f===b.length?1:.99;var i=`${f},${g}`;if(void 0!==h[i])return h[i];for(var j,k,l,m,n=e.charAt(g),o=d.indexOf(n,f),p=0;o>=0;)(j=a(b,c,d,e,o+1,g+1,h))>p&&(o===f?j*=1:aM.test(b.charAt(o-1))?(j*=.8,(l=b.slice(f,o-1).match(aN))&&f>0&&(j*=Math.pow(.999,l.length))):aO.test(b.charAt(o-1))?(j*=.9,(m=b.slice(f,o-1).match(aP))&&f>0&&(j*=Math.pow(.999,m.length))):(j*=.17,f>0&&(j*=Math.pow(.999,o-f))),b.charAt(o)!==c.charAt(g)&&(j*=.9999)),(j<.1&&d.charAt(o-1)===e.charAt(g+1)||e.charAt(g+1)===e.charAt(g)&&d.charAt(o-1)!==e.charAt(g))&&.1*(k=a(b,c,d,e,o+1,g+2,h))>j&&(j=.1*k),j>p&&(p=j),o=d.indexOf(n,o+1);return h[i]=p,p}(d=c&&c.length>0?`${d+" "+c.join(" ")}`:d,b,aQ(d),aQ(b),0,0,{})},cE=q.createContext(void 0),cF=q.createContext(void 0),cG=q.createContext(void 0),cH=q.forwardRef((a,b)=>{let c=cR(()=>{var b,c;return{search:"",value:null!=(c=null!=(b=a.value)?b:a.defaultValue)?c:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),d=cR(()=>new Set),e=cR(()=>new Map),f=cR(()=>new Map),g=cR(()=>new Set),h=cP(a),{label:i,children:j,value:k,onValueChange:l,filter:m,shouldFilter:n,loop:o,disablePointerSelection:p=!1,vimBindings:r=!0,...s}=a,t=aY(),u=aY(),v=aY(),w=q.useRef(null),x=cU();cQ(()=>{if(void 0!==k){let a=k.trim();c.current.value=a,y.emit()}},[k]),cQ(()=>{x(6,E)},[]);let y=q.useMemo(()=>({subscribe:a=>(g.current.add(a),()=>g.current.delete(a)),snapshot:()=>c.current,setState:(a,b,d)=>{var e,f,g,i;if(!Object.is(c.current[a],b)){if(c.current[a]=b,"search"===a)D(),B(),x(1,C);else if("value"===a){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let a=document.getElementById(v);a?a.focus():null==(e=document.getElementById(t))||e.focus()}if(x(7,()=>{var a;c.current.selectedItemId=null==(a=F())?void 0:a.id,y.emit()}),d||x(5,E),(null==(f=h.current)?void 0:f.value)!==void 0){null==(i=(g=h.current).onValueChange)||i.call(g,null!=b?b:"");return}}y.emit()}},emit:()=>{g.current.forEach(a=>a())}}),[]),z=q.useMemo(()=>({value:(a,b,d)=>{var e;b!==(null==(e=f.current.get(a))?void 0:e.value)&&(f.current.set(a,{value:b,keywords:d}),c.current.filtered.items.set(a,A(b,d)),x(2,()=>{B(),y.emit()}))},item:(a,b)=>(d.current.add(a),b&&(e.current.has(b)?e.current.get(b).add(a):e.current.set(b,new Set([a]))),x(3,()=>{D(),B(),c.current.value||C(),y.emit()}),()=>{f.current.delete(a),d.current.delete(a),c.current.filtered.items.delete(a);let b=F();x(4,()=>{D(),(null==b?void 0:b.getAttribute("id"))===a&&C(),y.emit()})}),group:a=>(e.current.has(a)||e.current.set(a,new Set),()=>{f.current.delete(a),e.current.delete(a)}),filter:()=>h.current.shouldFilter,label:i||a["aria-label"],getDisablePointerSelection:()=>h.current.disablePointerSelection,listId:t,inputId:v,labelId:u,listInnerRef:w}),[]);function A(a,b){var d,e;let f=null!=(e=null==(d=h.current)?void 0:d.filter)?e:cD;return a?f(a,c.current.search,b):0}function B(){if(!c.current.search||!1===h.current.shouldFilter)return;let a=c.current.filtered.items,b=[];c.current.filtered.groups.forEach(c=>{let d=e.current.get(c),f=0;d.forEach(b=>{f=Math.max(a.get(b),f)}),b.push([c,f])});let d=w.current;G().sort((b,c)=>{var d,e;let f=b.getAttribute("id"),g=c.getAttribute("id");return(null!=(d=a.get(g))?d:0)-(null!=(e=a.get(f))?e:0)}).forEach(a=>{let b=a.closest(cy);b?b.appendChild(a.parentElement===b?a:a.closest(`${cy} > *`)):d.appendChild(a.parentElement===d?a:a.closest(`${cy} > *`))}),b.sort((a,b)=>b[1]-a[1]).forEach(a=>{var b;let c=null==(b=w.current)?void 0:b.querySelector(`${cx}[${cC}="${encodeURIComponent(a[0])}"]`);null==c||c.parentElement.appendChild(c)})}function C(){let a=G().find(a=>"true"!==a.getAttribute("aria-disabled")),b=null==a?void 0:a.getAttribute(cC);y.setState("value",b||void 0)}function D(){var a,b,g,i;if(!c.current.search||!1===h.current.shouldFilter){c.current.filtered.count=d.current.size;return}c.current.filtered.groups=new Set;let j=0;for(let e of d.current){let d=A(null!=(b=null==(a=f.current.get(e))?void 0:a.value)?b:"",null!=(i=null==(g=f.current.get(e))?void 0:g.keywords)?i:[]);c.current.filtered.items.set(e,d),d>0&&j++}for(let[a,b]of e.current)for(let d of b)if(c.current.filtered.items.get(d)>0){c.current.filtered.groups.add(a);break}c.current.filtered.count=j}function E(){var a,b,c;let d=F();d&&((null==(a=d.parentElement)?void 0:a.firstChild)===d&&(null==(c=null==(b=d.closest(cx))?void 0:b.querySelector('[cmdk-group-heading=""]'))||c.scrollIntoView({block:"nearest"})),d.scrollIntoView({block:"nearest"}))}function F(){var a;return null==(a=w.current)?void 0:a.querySelector(`${cz}[aria-selected="true"]`)}function G(){var a;return Array.from((null==(a=w.current)?void 0:a.querySelectorAll(cA))||[])}function H(a){let b=G()[a];b&&y.setState("value",b.getAttribute(cC))}function I(a){var b;let c=F(),d=G(),e=d.findIndex(a=>a===c),f=d[e+a];null!=(b=h.current)&&b.loop&&(f=e+a<0?d[d.length-1]:e+a===d.length?d[0]:d[e+a]),f&&y.setState("value",f.getAttribute(cC))}function J(a){let b=F(),c=null==b?void 0:b.closest(cx),d;for(;c&&!d;)d=null==(c=a>0?function(a,b){let c=a.nextElementSibling;for(;c;){if(c.matches(b))return c;c=c.nextElementSibling}}(c,cx):function(a,b){let c=a.previousElementSibling;for(;c;){if(c.matches(b))return c;c=c.previousElementSibling}}(c,cx))?void 0:c.querySelector(cA);d?y.setState("value",d.getAttribute(cC)):I(a)}let K=()=>H(G().length-1),L=a=>{a.preventDefault(),a.metaKey?K():a.altKey?J(1):I(1)},M=a=>{a.preventDefault(),a.metaKey?H(0):a.altKey?J(-1):I(-1)};return q.createElement(cw.div,{ref:b,tabIndex:-1,...s,"cmdk-root":"",onKeyDown:a=>{var b;null==(b=s.onKeyDown)||b.call(s,a);let c=a.nativeEvent.isComposing||229===a.keyCode;if(!(a.defaultPrevented||c))switch(a.key){case"n":case"j":r&&a.ctrlKey&&L(a);break;case"ArrowDown":L(a);break;case"p":case"k":r&&a.ctrlKey&&M(a);break;case"ArrowUp":M(a);break;case"Home":a.preventDefault(),H(0);break;case"End":a.preventDefault(),K();break;case"Enter":{a.preventDefault();let b=F();if(b){let a=new Event(cB);b.dispatchEvent(a)}}}}},q.createElement("label",{"cmdk-label":"",htmlFor:z.inputId,id:z.labelId,style:cW},i),cV(a,a=>q.createElement(cF.Provider,{value:y},q.createElement(cE.Provider,{value:z},a))))}),cI=q.forwardRef((a,b)=>{var c,d;let e=aY(),f=q.useRef(null),g=q.useContext(cG),h=q.useContext(cE),i=cP(a),j=null!=(d=null==(c=i.current)?void 0:c.forceMount)?d:null==g?void 0:g.forceMount;cQ(()=>{if(!j)return h.item(e,null==g?void 0:g.id)},[j]);let k=cT(e,f,[a.value,a.children,f],a.keywords),l=q.useContext(cF),m=cS(a=>a.value&&a.value===k.current),n=cS(a=>!!j||!1===h.filter()||!a.search||a.filtered.items.get(e)>0);function o(){var a,b;p(),null==(b=(a=i.current).onSelect)||b.call(a,k.current)}function p(){l.setState("value",k.current,!0)}if(q.useEffect(()=>{let b=f.current;if(!(!b||a.disabled))return b.addEventListener(cB,o),()=>b.removeEventListener(cB,o)},[n,a.onSelect,a.disabled]),!n)return null;let{disabled:r,value:s,onSelect:t,forceMount:u,keywords:v,...w}=a;return q.createElement(cw.div,{ref:aT(f,b),...w,id:e,"cmdk-item":"",role:"option","aria-disabled":!!r,"aria-selected":!!m,"data-disabled":!!r,"data-selected":!!m,onPointerMove:r||h.getDisablePointerSelection()?void 0:p,onClick:r?void 0:o},a.children)}),cJ=q.forwardRef((a,b)=>{let{heading:c,children:d,forceMount:e,...f}=a,g=aY(),h=q.useRef(null),i=q.useRef(null),j=aY(),k=q.useContext(cE),l=cS(a=>!!e||!1===k.filter()||!a.search||a.filtered.groups.has(g));cQ(()=>k.group(g),[]),cT(g,h,[a.value,a.heading,i]);let m=q.useMemo(()=>({id:g,forceMount:e}),[e]);return q.createElement(cw.div,{ref:aT(h,b),...f,"cmdk-group":"",role:"presentation",hidden:!l||void 0},c&&q.createElement("div",{ref:i,"cmdk-group-heading":"","aria-hidden":!0,id:j},c),cV(a,a=>q.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":c?j:void 0},q.createElement(cG.Provider,{value:m},a))))}),cK=q.forwardRef((a,b)=>{let{alwaysRender:c,...d}=a,e=q.useRef(null),f=cS(a=>!a.search);return c||f?q.createElement(cw.div,{ref:aT(e,b),...d,"cmdk-separator":"",role:"separator"}):null}),cL=q.forwardRef((a,b)=>{let{onValueChange:c,...d}=a,e=null!=a.value,f=q.useContext(cF),g=cS(a=>a.search),h=cS(a=>a.selectedItemId),i=q.useContext(cE);return q.useEffect(()=>{null!=a.value&&f.setState("search",a.value)},[a.value]),q.createElement(cw.input,{ref:b,...d,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":i.listId,"aria-labelledby":i.labelId,"aria-activedescendant":h,id:i.inputId,type:"text",value:e?a.value:g,onChange:a=>{e||f.setState("search",a.target.value),null==c||c(a.target.value)}})}),cM=q.forwardRef((a,b)=>{let{children:c,label:d="Suggestions",...e}=a,f=q.useRef(null),g=q.useRef(null),h=cS(a=>a.selectedItemId),i=q.useContext(cE);return q.useEffect(()=>{if(g.current&&f.current){let a=g.current,b=f.current,c,d=new ResizeObserver(()=>{c=requestAnimationFrame(()=>{let c=a.offsetHeight;b.style.setProperty("--cmdk-list-height",c.toFixed(1)+"px")})});return d.observe(a),()=>{cancelAnimationFrame(c),d.unobserve(a)}}},[]),q.createElement(cw.div,{ref:aT(f,b),...e,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":h,"aria-label":d,id:i.listId},cV(a,a=>q.createElement("div",{ref:aT(g,i.listInnerRef),"cmdk-list-sizer":""},a)))}),cN=q.forwardRef((a,b)=>{let{open:c,onOpenChange:d,overlayClassName:e,contentClassName:f,container:g,...h}=a;return q.createElement(b3,{open:c,onOpenChange:d},q.createElement(b8,{container:g},q.createElement(ca,{"cmdk-overlay":"",className:e}),q.createElement(ce,{"aria-label":a.label,"cmdk-dialog":"",className:f},q.createElement(cH,{ref:b,...h}))))}),cO=Object.assign(cH,{List:cM,Item:cI,Input:cL,Group:cJ,Separator:cK,Dialog:cN,Empty:q.forwardRef((a,b)=>cS(a=>0===a.filtered.count)?q.createElement(cw.div,{ref:b,...a,"cmdk-empty":"",role:"presentation"}):null),Loading:q.forwardRef((a,b)=>{let{progress:c,children:d,label:e="Loading...",...f}=a;return q.createElement(cw.div,{ref:b,...f,"cmdk-loading":"",role:"progressbar","aria-valuenow":c,"aria-valuemin":0,"aria-valuemax":100,"aria-label":e},cV(a,a=>q.createElement("div",{"aria-hidden":!0},a)))})});function cP(a){let b=q.useRef(a);return cQ(()=>{b.current=a}),b}var cQ=q.useEffect;function cR(a){let b=q.useRef();return void 0===b.current&&(b.current=a()),b}function cS(a){let b=q.useContext(cF),c=()=>a(b.snapshot());return q.useSyncExternalStore(b.subscribe,c,c)}function cT(a,b,c,d=[]){let e=q.useRef(),f=q.useContext(cE);return cQ(()=>{var g;let h=(()=>{var a;for(let b of c){if("string"==typeof b)return b.trim();if("object"==typeof b&&"current"in b)return b.current?null==(a=b.current.textContent)?void 0:a.trim():e.current}})(),i=d.map(a=>a.trim());f.value(a,h,i),null==(g=b.current)||g.setAttribute(cC,h),e.current=h}),e}var cU=()=>{let[a,b]=q.useState(),c=cR(()=>new Map);return cQ(()=>{c.current.forEach(a=>a()),c.current=new Map},[a]),(a,d)=>{c.current.set(a,d),b({})}};function cV({asChild:a,children:b},c){let d;return a&&q.isValidElement(b)?q.cloneElement("function"==typeof(d=b.type)?d(b.props):"render"in d?d.render(b.props):b,{ref:b.ref},c(b.props.children)):c(b)}var cW={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};a.i(814574);var cX=a.i(142261);function cY({className:a,...b}){return(0,p.jsx)("div",{"data-slot":"input-group",role:"group",className:(0,aL.cn)("group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5",a),...b})}a.i(699570),a.i(866718),a.i(429246);let cZ=(0,cX.cva)("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4",{variants:{align:{"inline-start":"order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]","inline-end":"order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]","block-start":"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2","block-end":"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"}},defaultVariants:{align:"inline-start"}});function c$({className:a,align:b="inline-start",...c}){return(0,p.jsx)("div",{role:"group","data-slot":"input-group-addon","data-align":b,className:(0,aL.cn)(cZ({align:b}),a),onClick:a=>{a.target.closest("button")||a.currentTarget.parentElement?.querySelector("input")?.focus()},...c})}(0,cX.cva)("flex items-center gap-2 text-sm shadow-none",{variants:{size:{xs:"h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",sm:"","icon-xs":"size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});var c_=a.i(648717),c_=c_,c0=a.i(706738);a.s(["Command",0,function({className:a,...b}){return(0,p.jsx)(cO,{"data-slot":"command",className:(0,aL.cn)("flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",a),...b})},"CommandEmpty",0,function({className:a,...b}){return(0,p.jsx)(cO.Empty,{"data-slot":"command-empty",className:(0,aL.cn)("py-6 text-center text-sm",a),...b})},"CommandGroup",0,function({className:a,...b}){return(0,p.jsx)(cO.Group,{"data-slot":"command-group",className:(0,aL.cn)("overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",a),...b})},"CommandInput",0,function({className:a,...b}){return(0,p.jsx)("div",{"data-slot":"command-input-wrapper",className:"p-1 pb-0",children:(0,p.jsxs)(cY,{className:"h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!",children:[(0,p.jsx)(cO.Input,{"data-slot":"command-input",className:(0,aL.cn)("w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",a),...b}),(0,p.jsx)(c$,{children:(0,p.jsx)(c_.default,{className:"size-4 shrink-0 opacity-50"})})]})})},"CommandItem",0,function({className:a,children:b,...c}){return(0,p.jsxs)(cO.Item,{"data-slot":"command-item",className:(0,aL.cn)("group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground",a),...c,children:[b,(0,p.jsx)(c0.CheckIcon,{className:"ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100"})]})},"CommandList",0,function({className:a,...b}){return(0,p.jsx)(cO.List,{"data-slot":"command-list",className:(0,aL.cn)("no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none",a),...b})}],419622);var c1=a.i(780410);let c2=(0,c1.createServerReference)("40630710ecf15c1586ac6b867f5c1211b2fb77dcd2",c1.callServer,void 0,c1.findSourceMapURL,"getProjectBranches");a.s(["getProjectBranches",0,c2],844261);let c3=(0,c1.createServerReference)("40fa344b1bf3836c4864ced4a707258e300c6c3cfa",c1.callServer,void 0,c1.findSourceMapURL,"fetchRemoteBranches");a.s(["fetchRemoteBranches",0,c3],30940)},445798,22761,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(814574),e=a.i(699570),f=a.i(866718),g=a.i(429246),h=a.i(412783),i=a.i(577565),j=a.i(668116),k=a.i(113047),l=a.i(580701),m=a.i(599209),n=a.i(419622),o=a.i(951192),p=a.i(844261),q=a.i(30940),r=a.i(780410);let s=(0,r.createServerReference)("40034a51d1e587cfe04b0c6f78a4523ff39a715254",r.callServer,void 0,r.findSourceMapURL,"getCurrentBranch");a.s(["CreateTaskDialog",0,function({open:a,onOpenChange:r,onSubmit:t,onUpdate:u,defaultStatus:v="TODO",editTask:w,editTaskLabelIds:x,prefillFromTask:y,labels:z,projectType:A,projectLocalPath:B,versions:C,defaultVersionId:D}){let E,[F,G]=(0,c.useState)(""),[H,I]=(0,c.useState)(""),[J,K]=(0,c.useState)("MEDIUM"),[L,M]=(0,c.useState)(""),[N,O]=(0,c.useState)([]),[P,Q]=(0,c.useState)([]),[R,S]=(0,c.useState)(!1),[T,U]=(0,c.useState)(""),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)(!0),[Z,$]=(0,c.useState)(null),{t:_}=(0,o.useI18n)(),aa=!!w,ab=!!B;return(0,c.useEffect)(()=>{w?(G(w.title),I(w.description??""),K(w.priority),M(w.subPath??""),O(x??[]),$(w.versionId??null)):(y?(G(y.title??""),I(y.description??""),K(y.priority??"MEDIUM"),M(y.subPath??""),O(y.labelIds??[])):(G(""),I(""),K("MEDIUM"),M(""),O([])),$(D??null))},[w,x,y,D]),(0,c.useEffect)(()=>{a||w||(G(""),I(""),K("MEDIUM"),M(""),O([]),Q([]),U(""),W(!1),$(D??null))},[a,w,D]),(0,c.useEffect)(()=>{a&&ab&&!w&&(S(!0),Promise.all([(0,p.getProjectBranches)(B),s(B)]).then(([a,b])=>{Q(a);let c=y?.baseBranch??null;c&&a.includes(c)?U(c):U(b&&a.includes(b)?b:a[0]??""),S(!1),(0,q.fetchRemoteBranches)(B).then(()=>{setTimeout(()=>{(0,p.getProjectBranches)(B).then(a=>{Q(a),U(b=>a.includes(b)?b:a[0]??"")}).catch(()=>{})},3e3)})}).catch(()=>{Q([]),U(""),S(!1)}))},[a,ab,B,w,y]),(0,b.jsx)(d.Dialog,{open:a,onOpenChange:r,disablePointerDismissal:!0,children:(0,b.jsxs)(d.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsx)(d.DialogHeader,{children:(0,b.jsx)(d.DialogTitle,{children:aa?_("task.edit"):_("task.create")})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"title",children:_("task.title")}),(0,b.jsx)(f.Input,{id:"title","data-testid":"task-title",placeholder:_("task.titlePlaceholder"),value:F,onChange:a=>G(a.target.value),onKeyDown:a=>"Enter"===a.key&&a.preventDefault()})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"description",children:_("task.description")}),(0,b.jsx)(g.Textarea,{id:"description",placeholder:_("task.descPlaceholder"),rows:4,value:H,onChange:a=>I(a.target.value),className:"max-h-[200px] overflow-y-auto"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"subPath",children:_("task.subPath")}),(0,b.jsx)(f.Input,{id:"subPath",placeholder:_("task.subPathPlaceholder"),value:L,onChange:a=>M(a.target.value)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:_("task.subPathHint")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:_("task.priority")}),(0,b.jsx)("div",{className:"flex gap-1.5",children:["LOW","MEDIUM","HIGH","CRITICAL"].map(a=>{let c={LOW:{label:_("task.priorityLow"),style:"text-slate-300 border-slate-500/30 bg-slate-500/10"},MEDIUM:{label:_("task.priorityMedium"),style:"text-amber-300 border-amber-500/30 bg-amber-500/10"},HIGH:{label:_("task.priorityHigh"),style:"text-orange-300 border-orange-500/30 bg-orange-500/10"},CRITICAL:{label:_("task.priorityCritical"),style:"text-rose-300 border-rose-500/30 bg-rose-500/10"}}[a];return(0,b.jsx)("button",{type:"button",onClick:()=>K(a),className:`rounded-lg border px-3 py-1.5 text-xs font-medium transition-all ${J===a?`${c.style} ring-1 ring-current/20`:"border-border text-muted-foreground hover:bg-accent"}`,children:c.label},a)})})]}),ab&&!aa&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:_("task.baseBranch")}),R?(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:_("task.branchLoading")}):P.length>0?(0,b.jsxs)(m.Popover,{open:V,onOpenChange:W,children:[(0,b.jsxs)(m.PopoverTrigger,{className:"flex w-full items-center gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm font-mono transition-colors hover:bg-accent focus:outline-none focus:ring-1 focus:ring-ring","data-testid":"branch-selector",children:[(0,b.jsx)(i.GitBranch,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"flex-1 truncate text-left text-xs",children:T||_("task.branchNone")}),(0,b.jsx)(k.ChevronsUpDown,{className:"h-3.5 w-3.5 shrink-0 opacity-50"})]}),(0,b.jsx)(m.PopoverContent,{className:"p-0",align:"start",children:(0,b.jsxs)(n.Command,{children:[(0,b.jsx)(n.CommandInput,{placeholder:_("task.branchSearch")}),(0,b.jsxs)(n.CommandList,{children:[(0,b.jsx)(n.CommandEmpty,{children:_("task.branchNone")}),(0,b.jsx)(n.CommandGroup,{children:P.map(a=>(0,b.jsxs)(n.CommandItem,{value:a,onSelect:()=>{U(a),W(!1)},children:[(0,b.jsx)(i.GitBranch,{className:"h-3 w-3 text-muted-foreground shrink-0 mr-2"}),(0,b.jsx)("span",{className:"flex-1 truncate font-mono",children:a}),a===T&&(0,b.jsx)(j.Check,{className:"h-3 w-3 text-primary shrink-0 ml-auto"})]},a))})]})]})})]}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:_("task.branchNone")}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,b.jsx)(h.Label,{className:"text-xs text-muted-foreground",children:_("task.worktreeLabel")}),(0,b.jsx)("div",{className:"flex gap-1",children:[!0,!1].map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>Y(a),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${X===a?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a?_("task.worktreeYes"):_("task.worktreeNo")},String(a)))})]})]}),z.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:_("task.labels")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:z.map(a=>{let c=N.includes(a.id);return(0,b.jsx)("button",{type:"button",onClick:()=>{O(b=>c?b.filter(b=>b!==a.id):[...b,a.id])},className:`rounded-full px-2.5 py-1 text-xs font-medium transition-all ${c?"ring-1 ring-current/30":"opacity-50 hover:opacity-80"}`,style:{backgroundColor:a.color+"20",color:a.color,borderColor:c?a.color+"40":"transparent",borderWidth:"1px"},children:a.name},a.id)})})]}),C&&C.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:_("version.picker.label")}),(0,b.jsxs)(l.Select,{value:Z??"__none__",onValueChange:a=>$("__none__"===a?null:a),children:[(0,b.jsx)(l.SelectTrigger,{children:(0,b.jsx)("span",{className:"truncate text-sm",children:Z&&(E=C.find(a=>a.id===Z))?E.isCurrent?`${E.number} \xb7 ${E.name} \xb7 ${_("version.currentShort")}`:`${E.number} \xb7 ${E.name}`:_("version.picker.none")})}),(0,b.jsxs)(l.SelectContent,{children:[(0,b.jsx)(l.SelectItem,{value:"__none__",children:_("version.picker.none")}),C.map(a=>(0,b.jsx)(l.SelectItem,{value:a.id,children:a.isCurrent?`${a.number} \xb7 ${a.name} \xb7 ${_("version.currentShort")}`:`${a.number} \xb7 ${a.name}`},a.id))]})]})]})]}),(0,b.jsxs)(d.DialogFooter,{children:[(0,b.jsx)(e.Button,{variant:"outline",onClick:()=>r(!1),children:_("common.cancel")}),(0,b.jsx)(e.Button,{onClick:()=>{F.trim()&&(aa&&u?u(w.id,{title:F,description:H,priority:J,labelIds:N,subPath:L.trim()||"",versionId:Z}):t({title:F,description:H,priority:J,status:v,labelIds:N,...ab&&X&&T?{baseBranch:T}:{},...L.trim()?{subPath:L.trim()}:{},versionId:Z}),G(""),I(""),K("MEDIUM"),M(""),O([]),Q([]),U(""),Y(!0),$(null),r(!1))},className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:aa?_("common.save"):_("common.create")})]})]})})}],445798);let t=(0,a.i(711796).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,t],22761)},612472,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("40f6f1ef73a519aa967b27410a0786b03beb86a63a",b.callServer,void 0,b.findSourceMapURL,"createTask");a.s(["createTask",0,c])}];
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=_0-pqb_c._.js.map
|