conductor-oss 0.19.2 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -5
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/build-manifest.json +4 -4
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.rsc +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/auth/session/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/remote-access/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page/build-manifest.json +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/page/react-loadable-manifest.json +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/page/server-reference-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/build-manifest.json +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/react-loadable-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/server-reference-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/build-manifest.json +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/server-reference-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page/build-manifest.json +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page/server-reference-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/_2c837d66._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__cb0aeb63._.js → [root-of-the-server]__1329224f._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__ce4b4158._.js → [root-of-the-server]__1cb74434._.js} +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__53bcdbc9._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__c405048c._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__c79fcfd3._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_0e1412de._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_3aee3cff._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_532f707d._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_69e05fca._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_80efe193._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_903c3fe3._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_9990bc82._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_a990354c._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b9330c69._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_c0f0e227._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_f36ddaa9._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_152e81cd._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_a09380f4._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{node_modules_@clerk_nextjs_dist_esm_app-router_3eb7b454._.js → node_modules_@clerk_nextjs_dist_esm_app-router_e767206a._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@radix-ui_19d0f177._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{node_modules_b8d99fb4._.js → node_modules_@radix-ui_ef419f6b._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_core_dist_types_ba19386c.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_board_WorkspaceKanban_tsx_735b7999._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_sessions_SessionPreview_tsx_ec32db81._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_features_dashboard_DashboardClient_tsx_81ae42b0._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_features_dashboard_components_DashboardDialogs_tsx_32d3d858._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_hooks_5cb69d9a._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_hooks_f05b02cd._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/pages/404.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +8 -8
- package/web/.next/standalone/packages/web/.next/static/chunks/{d934d0e74594a818.js → 2d65cd3bc1137b3d.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{96b41c96a34195c2.js → 437b46a75e1c92a7.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/450e4de887dcd142.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{81e3cea43881b17d.js → 4b3ac491753f4910.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4f912a60e3753a1f.css +4 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/50475743a65c6ae5.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/581440483618ce47.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/5c60a749d318d388.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/5cb35e89898ff9e1.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{378daaa8dbf5309c.js → 741a641e5fe294ff.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/9b1065a7ccd69a3e.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{a70ab593d305d020.js → a0af599485430d5f.js} +1 -1
- package/web/.next/{static/chunks/355bedd41c2e9b0c.js → standalone/packages/web/.next/static/chunks/ae6e408453a5d1dc.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/b1c03c2c194b81b8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/b9c1238cc9302baa.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/c3443f28deeae499.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{4f9d3a3c14fb43da.js → c8e8ff2836531532.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/cb1a507b11d64bfb.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/ce2f01a7e421d6fe.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/dd6469b26407178b.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/e59b8003fba5213d.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{459f77e3c65b47d6.js → fc68108d32aea368.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{turbopack-9809b4096e86149a.js → turbopack-c76ead44073de602.js} +1 -1
- package/web/.next/standalone/packages/web/src/components/board/WorkspaceKanban.tsx +2 -1
- package/web/.next/standalone/packages/web/src/components/sessions/SessionDiff.tsx +3 -2
- package/web/.next/standalone/packages/web/src/components/sessions/SessionPreview.tsx +3 -2
- package/web/.next/standalone/packages/web/src/components/sessions/SessionTerminal.tsx +1 -1
- package/web/.next/standalone/packages/web/src/features/dashboard/DashboardClient.tsx +10 -11
- package/web/.next/standalone/packages/web/src/features/dashboard/components/DashboardDialogs.tsx +4 -142
- package/web/.next/standalone/packages/web/src/features/dashboard/components/WorkspaceOverview.tsx +20 -4
- package/web/.next/standalone/packages/web/src/features/sessions/SessionPageClient.tsx +10 -0
- package/web/.next/standalone/packages/web/src/hooks/useAgents.ts +1 -1
- package/web/.next/standalone/packages/web/src/hooks/useNotificationAlerts.ts +291 -0
- package/web/.next/standalone/packages/web/src/lib/notificationSounds.ts +207 -0
- package/web/.next/standalone/packages/web/src/lib/sessionState.ts +11 -6
- package/web/.next/static/chunks/{d934d0e74594a818.js → 2d65cd3bc1137b3d.js} +1 -1
- package/web/.next/static/chunks/{96b41c96a34195c2.js → 437b46a75e1c92a7.js} +1 -1
- package/web/.next/static/chunks/450e4de887dcd142.js +1 -0
- package/web/.next/static/chunks/{81e3cea43881b17d.js → 4b3ac491753f4910.js} +1 -1
- package/web/.next/static/chunks/4f912a60e3753a1f.css +4 -0
- package/web/.next/static/chunks/50475743a65c6ae5.js +1 -0
- package/web/.next/static/chunks/581440483618ce47.js +1 -0
- package/web/.next/static/chunks/5c60a749d318d388.js +1 -0
- package/web/.next/static/chunks/5cb35e89898ff9e1.js +1 -0
- package/web/.next/static/chunks/{378daaa8dbf5309c.js → 741a641e5fe294ff.js} +1 -1
- package/web/.next/static/chunks/9b1065a7ccd69a3e.js +1 -0
- package/web/.next/static/chunks/{a70ab593d305d020.js → a0af599485430d5f.js} +1 -1
- package/web/.next/{standalone/packages/web/.next/static/chunks/355bedd41c2e9b0c.js → static/chunks/ae6e408453a5d1dc.js} +1 -1
- package/web/.next/static/chunks/b1c03c2c194b81b8.js +1 -0
- package/web/.next/static/chunks/b9c1238cc9302baa.js +1 -0
- package/web/.next/static/chunks/c3443f28deeae499.js +1 -0
- package/web/.next/static/chunks/{4f9d3a3c14fb43da.js → c8e8ff2836531532.js} +1 -1
- package/web/.next/static/chunks/cb1a507b11d64bfb.js +1 -0
- package/web/.next/static/chunks/ce2f01a7e421d6fe.js +1 -0
- package/web/.next/static/chunks/dd6469b26407178b.js +1 -0
- package/web/.next/static/chunks/e59b8003fba5213d.js +1 -0
- package/web/.next/static/chunks/{459f77e3c65b47d6.js → fc68108d32aea368.js} +1 -1
- package/web/.next/static/chunks/{turbopack-9809b4096e86149a.js → turbopack-c76ead44073de602.js} +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__337468fd._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_98876927._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_883c65c7._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_284bf164._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_fc0422b6._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_lib_cn_ts_d08d265f._.js +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/26a7e7bfa0c7c333.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/2760ffd80cc5974a.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/27e63de286c66b73.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/3066ce838f62bf36.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/34500baf24f4b1ba.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/5d8c72d5215f5485.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/6e98107b81bc5b12.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/8216f40bafea0ec2.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/997ac5c24d1d89f2.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/a0656cf00243d2a4.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/c2f9fe243cc8bd24.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/c3a61db21bd52eaf.css +0 -4
- package/web/.next/standalone/packages/web/.next/static/chunks/da9681f9820fc6bd.js +0 -1
- package/web/.next/static/chunks/26a7e7bfa0c7c333.js +0 -1
- package/web/.next/static/chunks/2760ffd80cc5974a.js +0 -1
- package/web/.next/static/chunks/27e63de286c66b73.js +0 -1
- package/web/.next/static/chunks/3066ce838f62bf36.js +0 -1
- package/web/.next/static/chunks/34500baf24f4b1ba.js +0 -1
- package/web/.next/static/chunks/5d8c72d5215f5485.js +0 -1
- package/web/.next/static/chunks/6e98107b81bc5b12.js +0 -1
- package/web/.next/static/chunks/8216f40bafea0ec2.js +0 -1
- package/web/.next/static/chunks/997ac5c24d1d89f2.js +0 -1
- package/web/.next/static/chunks/a0656cf00243d2a4.js +0 -1
- package/web/.next/static/chunks/c2f9fe243cc8bd24.js +0 -1
- package/web/.next/static/chunks/c3a61db21bd52eaf.css +0 -4
- package/web/.next/static/chunks/da9681f9820fc6bd.js +0 -1
- /package/web/.next/standalone/packages/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_ssgManifest.js +0 -0
- /package/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_buildManifest.js +0 -0
- /package/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,66794,e=>{"use strict";var t=e.i(43476),n=e.i(70703),a=e.i(18566),s=e.i(71645),l=e.i(40666),r=e.i(37766),i=e.i(68127),o=e.i(55202),d=e.i(31245),c=e.i(7486),u=e.i(75254);let p=(0,u.default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var x=e.i(43531),m=e.i(64659),h=e.i(86536),g=e.i(75505),f=e.i(90272),v=e.i(67236);let b=(0,u.default)("hand",[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]]),j=(0,u.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);var k=e.i(31278),w=e.i(10626),y=e.i(49582),N=e.i(84765),A=e.i(81633),S=e.i(2110),C=e.i(40142),M=e.i(89965),E=e.i(2004),I=e.i(48495);let O=new Set,P=[],T=!0,R=0,U=null,z=null;function L(){for(let e of O)e()}function $(){return P.length>0&&Date.now()-R<3e4}function B(){null===z&&(z=window.setTimeout(()=>{z=null,F(!0)},1e4))}async function F(e=!1){if(!e&&$()){T&&(T=!1,L());return}return U||(T=!0,L(),U=(async()=>{try{var e;let t=await fetch("/api/agents",{cache:"no-store"});if(!t.ok)throw Error(`Failed to fetch agents: ${t.status}`);let n=(e=await t.json(),Array.isArray(e)?e:e&&"object"==typeof e&&"agents"in e&&Array.isArray(e.agents)?e.agents:[]);n.length>0?(P=n,R=Date.now(),null!==z&&(window.clearTimeout(z),z=null)):B()}catch{B()}finally{T=!1,U=null,L()}})())}var D=e.i(94102),W=e.i(36832),V=e.i(80235),G=e.i(33489),_=e.i(69242),H=e.i(46507),K=e.i(29548);let J="claude-code";function q(e){let t=e?.trim();return t&&t.length>0?t:null}let X=(0,n.default)(()=>e.A(19202).then(e=>e.SessionDetail),{loadableGenerated:{modules:[31437]},loading:()=>(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading session..."})}),Z=(0,n.default)(()=>e.A(14955).then(e=>e.WorkspaceSidebarPanel),{loadableGenerated:{modules:[4886]},loading:()=>(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace panel..."})}),Q=(0,n.default)(()=>e.A(85965).then(e=>e.WorkspaceOverview),{loadableGenerated:{modules:[58641]},loading:()=>(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace..."})}),Y=(0,n.default)(()=>e.A(24629).then(e=>e.WorkspaceKanban),{loadableGenerated:{modules:[96933]},loading:()=>(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading board..."})}),ee=(0,n.default)(()=>e.A(77137).then(e=>e.NewWorkspaceDialog),{loadableGenerated:{modules:[41280]},loading:()=>null}),et=(0,n.default)(()=>e.A(77137).then(e=>e.SettingsDialog),{loadableGenerated:{modules:[41280]},loading:()=>null});function en(e){let t=(0,S.getKnownAgent)(e);return t?.label?t.label:e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function ea(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function es(e){let[t]=e.split(" - ");return(t??e).trim()}function el(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function er(e,t){let n=el(e),a=el(n.notifications),s=a.soundFile,l="string"==typeof n.codingAgent&&n.codingAgent.trim().length>0?n.codingAgent.trim():t,r="string"==typeof n.ide&&n.ide.trim().length>0?n.ide.trim():"vscode",i="string"==typeof n.markdownEditor&&n.markdownEditor.trim().length>0?n.markdownEditor.trim():"obsidian",o="string"==typeof n.markdownEditorPath?n.markdownEditorPath.trim():"";return{onboardingAcknowledged:!0===n.onboardingAcknowledged,codingAgent:l,ide:r,markdownEditor:i,markdownEditorPath:o,modelAccess:(0,H.normalizeModelAccessPreferences)(n.modelAccess),notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===s?null:"string"==typeof s&&s.trim().length>0?s.trim():"abstract-sound-4"}}}function ei(e,t){return t[(0,A.normalizeAgentName)(e)]??null}function eo(e){if(!e)return[];let t=[],n=new Set;for(let a of Object.values(e.modelsByAccess))if(Array.isArray(a))for(let e of a)!e?.id||n.has(e.id)||(n.add(e.id),t.push(e));return t}function ed(e,t,n){let a=ei(e,n),s=(0,r.resolveAgentModelAccess)(e,t),l=(0,K.getRuntimeCatalogModelsForAccess)(a,s),i=(0,r.getAvailableAgentModels)(e,t),o=[],d=new Set;for(let e of[...l,...i,...eo(a)])!e?.id||d.has(e.id)||(d.add(e.id),o.push(e));return o}function ec(e,t,n,a){let s=ei(e,n),l=(0,r.resolveAgentModelAccess)(e,t);return(0,K.getRuntimeCatalogDefaultReasoning)(s,a,l)??(0,r.getDefaultAgentReasoningEffort)(e,t)??""}function eu(e,t,n,a,s){let l,i,o=a?.trim()??"",d=s?.trim().toLowerCase()??"",c=ed(e,t,n),u=(l=ei(e,n),i=(0,r.resolveAgentModelAccess)(e,t),(0,K.getRuntimeCatalogDefaultModelForAccess)(l,i)??(0,r.getDefaultAgentModel)(e,t)??eo(l)[0]?.id??""),p=a=>{let s=function(e,t,n,a){let s=ei(e,n),l=(0,r.resolveAgentModelAccess)(e,t),i=(0,K.getRuntimeCatalogReasoningOptions)(s,a,l),o=(0,r.getAvailableAgentReasoningEfforts)(e,t),d=[],c=new Set;for(let e of[...i,...o])!e?.id||c.has(e.id)||(c.add(e.id),d.push(e));return d}(e,t,n,a);return d.length>0&&s.some(e=>e.id===d)?d:ec(e,t,n,a)};return o.length>0?c.some(e=>e.id===o)?{catalogModel:o,customModel:"",reasoningEffort:p(o)}:{catalogModel:u,customModel:o,reasoningEffort:p(o)}:{catalogModel:u,customModel:"",reasoningEffort:p(u)}}function ep(e){let t=e.customModel.trim();if(t.length>0)return t;let n=e.catalogModel.trim();return n.length>0?n:void 0}function ex(){let e=(0,a.useRouter)(),n=(0,a.usePathname)(),l=(0,a.useSearchParams)(),r=(0,s.useMemo)(()=>q(l.get("project")),[l]),i=(0,s.useMemo)(()=>q(l.get("session")),[l]),o=(0,s.useMemo)(()=>"board"===l.get("view")?"board":"chat",[l]),d=(0,s.useMemo)(()=>{let e=l.get("tab");return"overview"!==e&&"preview"!==e&&"diff"!==e},[l]),{projects:c,loading:u,error:p,refresh:x}=(0,E.useConfig)(),{agents:m}=function(){let[e,t]=(0,s.useState)({agents:[],loading:!0});return(0,s.useEffect)(()=>{let e=()=>t({agents:P,loading:T});O.add(e),e(),F();let n=()=>{$()||F(!0)},a=()=>{"visible"!==document.visibilityState||$()||F(!0)};return window.addEventListener("focus",n),document.addEventListener("visibilitychange",a),()=>{O.delete(e),window.removeEventListener("focus",n),document.removeEventListener("visibilitychange",a)}},[]),e}(),{mobileSidebarOpen:h,desktopSidebarOpen:g,toggleSidebar:f,closeSidebarOnMobile:v,syncSidebarForViewport:b}=(0,D.useResponsiveSidebarStateWithOptions)({initialDesktopOpen:!1}),j=h||g,k=!i||j,{sessions:w,loading:y,error:N,refresh:R}=(0,M.useSessions)(r,{enabled:k}),[U,z]=(0,s.useState)(""),[L,B]=(0,s.useState)(""),[_,K]=(0,s.useState)({catalogModel:"",customModel:"",reasoningEffort:""}),[ea,es]=(0,s.useState)(!1),[el,ei]=(0,s.useState)(null),[eo,ed]=(0,s.useState)(!1),[ec,ex]=(0,s.useState)(!1),[eh,eg]=(0,s.useState)(null),[ef,ev]=(0,s.useState)(null),[eb,ej]=(0,s.useState)(!0),[ek,ew]=(0,s.useState)(!1),[ey,eN]=(0,s.useState)(null),[eA,eS]=(0,s.useState)(!1),[eC,eM]=(0,s.useState)(!1),[eE,eI]=(0,s.useState)(()=>i?[i]:[]),[eO,eP]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(pointer: coarse)"):null,t=()=>{eP((0,G.shouldUseCompactTerminalChrome)())};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]);let eT=!!i&&d&&eO,eR=(0,s.useMemo)(()=>new Map(w.map(e=>[e.id,e])),[w]),{session:eU,loading:ez,error:eL}=(0,C.useSession)(i,null,{enabled:!!i}),e$=el??p??N??eL??ey,eB=(0,s.useMemo)(()=>{let e=new Map;for(let t of w){let n=e.get(t.projectId);n?n.push(t):e.set(t.projectId,[t])}return e},[w]),eF=(0,s.useCallback)((t,a="push")=>{let s=new URLSearchParams(l.toString()),r=(e,t)=>{let n="string"==typeof t?t.trim():"";n.length>0?s.set(e,n):s.delete(e)};"projectId"in t&&r("project",t.projectId),"sessionId"in t&&r("session",t.sessionId),"workspaceView"in t&&("board"===t.workspaceView?s.set("view","board"):s.delete("view")),"tab"in t&&(t.tab&&"chat"!==t.tab?s.set("tab",t.tab):s.delete("tab")),s.has("project")||s.delete("view"),s.has("session")||s.delete("tab");let i=s.toString(),o=i.length>0?`${n}?${i}`:n;"replace"===a?e.replace(o,{scroll:!1}):e.push(o,{scroll:!1})},[n,e,l]);(0,s.useEffect)(()=>{if(!u&&!p){if(0===c.length){null!==r&&eF({projectId:null,workspaceView:null},"replace");return}null===r||c.some(e=>e.id===r)||eF({projectId:i?null:c[0]?.id??null,workspaceView:i?null:o},"replace")}},[p,u,eF,c,r,i,o]),(0,s.useEffect)(()=>{if(i){if(k){if(y||N)return;w.some(e=>e.id===i)||eF({sessionId:null,tab:null},"replace");return}!ez&&(eU||eF({sessionId:null,tab:null},"replace"))}},[w,eF,k,i,ez,eU,N,y]),(0,s.useEffect)(()=>{i?eI(e=>[i,...e.filter(e=>e!==i)].slice(0,1)):eI([])},[i]),(0,s.useEffect)(()=>{i&&k&&!y&&!N&&eI(e=>e.filter(e=>e===i||eR.has(e)))},[k,i,eR,N,y]);let eD=(0,s.useMemo)(()=>eU,[eU]),eW=(0,s.useMemo)(()=>c.find(e=>e.id===r)??null,[c,r]),eV=(0,s.useMemo)(()=>r?eB.get(r)??[]:[],[r,eB]),eG=(0,s.useMemo)(()=>eD?[eD.projectId,eD.branch].filter(Boolean).join(" · "):eW?[eW.id,eW.defaultBranch||"main"].filter(Boolean).join(" · "):"All Projects",[eW,eD]),e_=(0,s.useMemo)(()=>{let e=Array.isArray(m)?m:[],t=new Set;for(let e of S.KNOWN_AGENTS)t.add(e.name);for(let n of e)n.name&&t.add(n.name);for(let e of c)e.agent&&t.add(e.agent);return ef?.codingAgent&&t.add(ef.codingAgent),L&&t.add(L),0===t.size&&t.add(ef?.codingAgent||J),[...t]},[m,ef?.codingAgent,c,L]),eH=(0,s.useMemo)(()=>{let e={};for(let t of S.KNOWN_AGENTS)e[(0,A.normalizeAgentName)(t.name)]={name:t.name,ready:!1,installed:!1,configured:!1,homepage:t.homepage,description:t.description,installHint:t.installHint??null,installUrl:t.installUrl??t.homepage??null,setupUrl:t.setupUrl??t.homepage??null};for(let t of Array.isArray(m)?m:[]){if(!t.name)continue;let n=(0,A.normalizeAgentName)(t.name),a=(0,S.getKnownAgent)(t.name);e[(0,A.normalizeAgentName)(t.name)]={name:a?.name??t.name,ready:!0===t.ready,installed:!1!==t.installed,configured:!0===t.configured,homepage:"string"==typeof t.homepage?t.homepage:a?.homepage??e[n]?.homepage??null,description:"string"==typeof t.description?t.description:a?.description??e[n]?.description??null,installHint:"string"==typeof t.installHint?t.installHint:a?.installHint??e[n]?.installHint??null,installUrl:"string"==typeof t.installUrl?t.installUrl:a?.installUrl??e[n]?.installUrl??null,setupUrl:"string"==typeof t.setupUrl?t.setupUrl:a?.setupUrl??e[n]?.setupUrl??null}}return e},[m]),eK=(0,s.useMemo)(()=>{let e={};for(let t of Array.isArray(m)?m:[])t.name&&t.runtimeModelCatalog&&(e[(0,A.normalizeAgentName)(t.name)]=t.runtimeModelCatalog);return e},[m]),eJ=(0,s.useCallback)(e=>{let t=eH[(0,A.normalizeAgentName)(e)],n=(0,S.getKnownAgent)(e),a=t?.installed?t?.setupUrl??n?.setupUrl??t?.homepage??n?.homepage:t?.installUrl??n?.installUrl??t?.setupUrl??n?.setupUrl??t?.homepage??n?.homepage;a&&window.open(a,"_blank","noopener,noreferrer")},[eH]);async function eq(e,t){ew(!0),eN(null);try{let n=await fetch("/api/preferences",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await n.json().catch(()=>null);if(!n.ok)throw Error(a?.error??`Failed to save preferences: ${n.status}`);let s=er(a?.preferences,e.codingAgent||J);return ev(s),B(s.codingAgent),t?.closeDialog!==!1&&eS(!1),!0}catch(e){return eN(e instanceof Error?e.message:"Failed to save preferences"),!1}finally{ew(!1)}}(0,s.useEffect)(()=>{let e=!1;return async function(){ej(!0);try{let t=await fetch("/api/preferences"),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error??`Failed to load preferences: ${t.status}`);if(e)return;let a=er(n?.preferences,J);ev(a),eN(null)}catch(t){if(e)return;ev(er(null,J)),eN(t instanceof Error?t.message:"Failed to load preferences")}finally{e||ej(!1)}}(),()=>{e=!0}},[]),(0,s.useEffect)(()=>{ef&&(L||B(ef.codingAgent))},[ef,L]),(0,s.useEffect)(()=>{eb||ef&&(ef.onboardingAcknowledged||eS(!0))},[ef,eb]),(0,s.useEffect)(()=>{if(0!==e_.length&&(!L||!e_.includes(L))){let e=ef?.codingAgent||J;B(e_.includes(e)?e:e_[0]??J)}},[e_,ef?.codingAgent,L]),(0,s.useEffect)(()=>{let e=L||eW?.agent||ef?.codingAgent||J,t=eW&&(0,A.normalizeAgentName)(eW.agent)===(0,A.normalizeAgentName)(e)?eW.agentModel:null,n=eW&&(0,A.normalizeAgentName)(eW.agent)===(0,A.normalizeAgentName)(e)?eW.agentReasoningEffort:null;K(eu(e,ef?.modelAccess??(0,H.normalizeModelAccessPreferences)(null),eK,t,n))},[ef?.modelAccess,ef?.codingAgent,eK,L,eW]);let eX=(0,s.useCallback)(()=>{eg(null),ed(!0),b()},[b]);(0,s.useEffect)(()=>{eC&&!eA&&(eM(!1),eX())},[eC,eA]);let eZ=(0,s.useCallback)(async e=>{let t,n=U.trim(),a=ep(_),s=(t=_.reasoningEffort.trim().toLowerCase()).length>0?t:void 0,l=e?.projectId??r??c[0]?.id;if(!l)return void ei("No project is configured in conductor.yaml");let i=L||J,o=eH[(0,A.normalizeAgentName)(i)]??null;if(o&&!o.ready){ei(o.installed?`${en(i)} is not ready yet. Finish setup or authentication and try again.`:`${en(i)} is not installed on this machine yet. Open setup and try again.`),eJ(i);return}es(!0),ei(null);try{let t=await fetch("/api/spawn",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:l,prompt:n,...e?.issueId?.trim()?{issueId:e.issueId.trim()}:{},agent:i,...e?.branch?{branch:e.branch}:{},...e?.baseBranch?{baseBranch:e.baseBranch}:{},..."boolean"==typeof e?.useWorktree?{useWorktree:e.useWorktree}:{},...e?.permissionMode?{permissionMode:e.permissionMode}:{},...a?{model:a}:{},...s?{reasoningEffort:s}:{}})}),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r?.error??`Failed to create workspace: ${t.status}`);if(!r?.session?.id)throw Error("Session created but response is missing session id");z(""),b(),await R(),eF({projectId:l,sessionId:r.session.id,tab:null},"push")}catch(e){ei(e instanceof Error?e.message:"Failed to create workspace")}finally{es(!1)}},[eH,_,eF,eJ,c,U,R,L,r,b]),eQ=(0,s.useCallback)(async e=>{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/archive`,{method:"POST"}),n=await t.json().catch(()=>null);if(404===t.status&&(t=await fetch(`/api/sessions/${encodeURIComponent(e)}/actions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"archive"})}),n=await t.json().catch(()=>null)),!t.ok)throw Error(n?.error??`Failed to archive session: ${t.status}`);i===e&&eF({sessionId:null,tab:null},"replace"),await R()},[eF,R,i]),eY=(0,s.useCallback)(async e=>{ex(!0),eg(null);try{let t=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error??`Failed to add workspace: ${t.status}`);let a=n?.project?.id;if(!a)throw Error("Workspace created but response is missing project id");await x(),z(""),b(),ed(!1),eF({projectId:a,sessionId:null,workspaceView:"chat",tab:null},"push")}catch(e){eg(e instanceof Error?e.message:"Failed to add workspace")}finally{ex(!1)}},[eF,x,b]),e0=!eb&&!!ef&&!ef.onboardingAcknowledged,e1=ef??er(null,L||J),e2=L||e1.codingAgent||J,e4=r??eU?.projectId??null;(0,I.useNotificationAlerts)({enabled:!eb,projectId:e4,preferences:e1.notifications});let e3=(0,s.useCallback)(e=>{eF({projectId:e,sessionId:null,workspaceView:e?o:null,tab:null},"push"),B(ef?.codingAgent||J),v()},[v,eF,ef?.codingAgent,o]),e6=(0,s.useCallback)((e,t)=>{let n=eR.get(e)??null;eF({projectId:n?.projectId??r??null,sessionId:e,tab:t?.tab??null},"push"),v()},[v,eF,r,eR]),e5=(0,s.useCallback)(()=>{eS(!0)},[]),e8=(0,s.useCallback)(()=>{ec||ed(!1)},[ec]),e7=(0,s.useCallback)(()=>{ek||e0||(eS(!1),eN(null))},[e0,ek]),e9=(0,s.useCallback)(async e=>{let t=encodeURIComponent(e),n=await fetch(`/api/repositories/${t}`,{method:"DELETE"});(404===n.status||405===n.status)&&(n=await fetch(`/api/repositories?id=${t}`,{method:"DELETE"}));let a=await n.json().catch(()=>null);if(!n.ok)throw Error(a?.error??`Failed to unlink project (${n.status})`);await x()},[x]),te=(0,s.useMemo)(()=>j?(0,t.jsx)(Z,{projects:c,selectedProjectId:r,onSelectProject:e3,onUnlinkProject:e9,sessions:w,selectedSessionId:i,onSelectSession:e6,onArchiveSession:eQ,onCreateWorkspace:eX}):null,[w,eQ,e3,e6,e9,eX,c,r,i,j]),tt=(0,s.useMemo)(()=>"board"===o?(0,t.jsx)(Y,{projectId:r,defaultAgent:e2,agentOptions:e_,projectSessions:eV}):(0,t.jsx)(em,{prompt:U,setPrompt:z,selectedAgent:e2,setSelectedAgent:B,agentStates:eH,modelSelection:_,setModelSelection:K,modelAccess:e1.modelAccess,runtimeModelCatalogs:eK,agentOptions:e_,projects:c,selectedProjectId:r,onSelectProject:e3,projectLabel:r??"All projects",hasProject:c.length>0,creating:ea,error:e$,onOpenAddWorkspace:eX,onOpenAgentSetup:eJ,onCreate:eZ}),[e_,eH,ea,eZ,_,eJ,eX,c,eV,U,e2,e1.modelAccess,eK,r,z,e$,o]),tn=(0,s.useMemo)(()=>eW?(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,t.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 py-3 sm:px-4",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Project Workspace"}),(0,t.jsxs)("p",{className:"mt-1 truncate text-[14px] text-[var(--vk-text-strong)]",children:[eW.id," · ",eW.defaultBranch||"main"]})]}),(0,t.jsxs)("div",{className:"inline-flex w-fit rounded-[6px] border border-[var(--vk-border)] p-1",children:[(0,t.jsx)("button",{type:"button",onClick:()=>eF({projectId:eW.id,workspaceView:"chat"},"replace"),className:`min-h-[32px] rounded-[4px] px-3 text-[13px] ${"chat"===o?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"CLI launchpad"}),(0,t.jsx)("button",{type:"button",onClick:()=>eF({projectId:eW.id,workspaceView:"board"},"replace"),className:`min-h-[32px] rounded-[4px] px-3 text-[13px] ${"board"===o?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"})]})]})}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:tt})]}):tt,[eF,eW,tt,o]),ta=(0,s.useMemo)(()=>i?(0,t.jsx)("div",{className:"relative min-h-0 h-full min-w-0 flex-1 overflow-hidden",children:eE.map(e=>{let n=e===i,a=n?eD:eR.get(e)??null;return(0,t.jsx)("div",{"aria-hidden":!n,className:n?"relative h-full min-w-0":"pointer-events-none absolute inset-0 overflow-hidden invisible",children:(0,t.jsx)(X,{sessionId:e,initialSession:a,active:n,immersiveMobileMode:n&&eT,onOpenSidebar:f})},e)})}):null!==r?(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:tn}):(0,t.jsx)("div",{className:"flex h-full min-h-0 w-full flex-1 overflow-hidden",children:(0,t.jsx)(Q,{projects:c,sessions:w,onCreateWorkspace:eX,onSelectSession:e6})}),[w,eE,tn,eD,i,e6,eX,c,r,eR,f]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(W.AppShell,{mobileSidebarOpen:h,desktopSidebarOpen:g,onToggleSidebar:f,hideMobileSidebarToggle:eT,sidebar:te,children:[eT?null:(0,t.jsx)(V.TopBar,{title:eG,onOpenPreferences:e5}),(0,t.jsx)("div",{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden ${eT?"bg-[#060404]":""}`,children:ta})]}),eo?(0,t.jsx)(ee,{open:eo,onClose:e8,onCreate:eY,creating:ec,error:eh,defaultAgent:e2,agentOptions:e_}):null,eA||e0?(0,t.jsx)(et,{open:eA,mode:e0?"onboarding":"settings",creating:ek,error:ey,current:e1,projectCount:c.length,agentOptions:e_,agentStates:eH,runtimeModelCatalogs:eK,onRepositoriesChanged:x,onOnboardingComplete:({needsProject:e})=>{e&&eM(!0)},onOpenAgentSetup:eJ,onClose:e7,onSave:eq}):null]})}N.Settings2,y.SlidersHorizontal,f.FolderGit2,c.Building2,v.FolderKanban,d.Bot,w.PlugZap,y.SlidersHorizontal,y.SlidersHorizontal,f.FolderGit2,[{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"cursor",label:"Cursor"},{id:"windsurf",label:"Windsurf"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"antigravity",label:"Antigravity"},{id:"custom",label:"Custom"}].filter(e=>"custom"!==e.id),N.Settings2,i.SiObsidian,o.VscVscode,i.SiNotion,N.Settings2;let em=(0,s.memo)(function({prompt:e,setPrompt:n,selectedAgent:a,setSelectedAgent:r,agentStates:i,modelSelection:o,setModelSelection:d,modelAccess:c,runtimeModelCatalogs:u,agentOptions:f,projects:v,selectedProjectId:w,onSelectProject:N,projectLabel:C,hasProject:M,creating:E,error:I,onOpenAddWorkspace:O,onOpenAgentSetup:P,onCreate:T}){let R=(0,s.useMemo)(()=>{let e=new Map(S.KNOWN_AGENT_ORDER.map((e,t)=>[e,t]));return[...f].sort((t,n)=>{let a=e.get((0,A.normalizeAgentName)(t))??Number.MAX_SAFE_INTEGER,s=e.get((0,A.normalizeAgentName)(n))??Number.MAX_SAFE_INTEGER;return a!==s?a-s:en(t).localeCompare(en(n))})},[f]),U=en(a),z=i[(0,A.normalizeAgentName)(a)]??null,L=(0,s.useMemo)(()=>[...v].sort((e,t)=>e.id.localeCompare(t.id)),[v]),$=w??L[0]?.id??null,B=(0,s.useMemo)(()=>L.find(e=>e.id===$)??null,[$,L]),[F,D]=(0,s.useState)([]),[W,V]=(0,s.useState)(!1),[G,H]=(0,s.useState)(""),[K,J]=(0,s.useState)(""),[q,X]=(0,s.useState)([]),[Z,Q]=(0,s.useState)(!1),[Y,ee]=(0,s.useState)(!1),[et,el]=(0,s.useState)(!1),[er,ei]=(0,s.useState)(!1),[eo,ex]=(0,s.useState)("default");(0,s.useEffect)(()=>{if(!B){D([]),H(""),V(!1);return}D([]),H(B.defaultBranch.trim()||"main"),V(!1)},[B]),(0,s.useEffect)(()=>{if(!$){X([]),J(""),Q(!1);return}X([]),J(""),Q(!1)},[$]);let em=(0,s.useCallback)(async()=>{if(!B)return;let e=B.defaultBranch.trim()||"main";if(!B.path?.trim()){D([e]),H(t=>t.trim().length>0?t:e);return}V(!0);try{let t=new URLSearchParams({path:B.path}),n=await fetch(`/api/workspaces/branches?${t.toString()}`),a=await n.json().catch(()=>null),s=Array.isArray(a?.branches)?a.branches.filter(e=>"string"==typeof e&&e.trim().length>0):[],l="string"==typeof a?.defaultBranch&&a.defaultBranch.trim().length>0?a.defaultBranch.trim():e,r=s.length>0?s:[l];D(r),H(e=>e.trim().length>0&&r.includes(e)?e:l)}catch{D([e]),H(e)}finally{V(!1)}},[B]),eh=(0,s.useCallback)(async()=>{if($){Q(!0);try{let e=await fetch(`/api/boards?projectId=${encodeURIComponent($)}`),t=await e.json().catch(()=>null);if(!e.ok)throw Error(t?.error??`Failed to load tasks: ${e.status}`);let n=(Array.isArray(t?.columns)?t.columns:[]).flatMap(e=>Array.isArray(e.tasks)?e.tasks:[]),a=new Set,s=n.filter(e=>{let t=ea(e);return!(!t||a.has(t))&&(a.add(t),!0)});X(s),J(e=>s.some(t=>ea(t)===e)?e:"")}catch{X([]),J("")}finally{Q(!1)}}},[$]);(0,s.useEffect)(()=>{!et||W||F.length>0||em()},[W,et,F.length,em]),(0,s.useEffect)(()=>{!Y||Z||q.length>0||eh()},[q.length,eh,Z,Y]);let eg=(0,s.useMemo)(()=>ed(a,c,u),[c,u,a]),ef=(0,s.useMemo)(()=>q.find(e=>ea(e)===K)??null,[q,K]),ev=ep(o)??"",eb=(0,s.useMemo)(()=>{let e=new Set,t=[],n=ev.trim();for(let n of eg)e.has(n.id)||(e.add(n.id),t.push(n));return n&&!e.has(n)&&(e.add(n),t.unshift({id:n,label:function(e,t){let n=t.trim(),a=(0,A.normalizeAgentName)(e);if(!n)return n;if("claude-code"===a){let e=n.toLowerCase();if("opus"===e)return"Claude Opus";if("sonnet"===e)return"Claude Sonnet";if("haiku"===e)return"Claude Haiku";let t=e.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(t){let e=t[1];return`Claude ${e[0]?.toUpperCase()+e.slice(1)} ${t[2]}.${t[3]}`}}return n.split(/[-_]+/g).filter(Boolean).map(e=>"gpt"===e.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(e)?e:e[0]?.toUpperCase()+e.slice(1)).join("-")}(a,n),description:"Current selected model.",access:[]})),t},[eg,a,ev]),ej=(0,s.useMemo)(()=>!z||z.ready||ev?ev?eb.find(e=>e.id===ev)?.label??ev:"Default":"Setup required",[eb,z,ev]),ek="z-50 min-w-[240px] max-w-[calc(100vw-32px)] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)] sm:max-w-none",ew=`${ek} max-h-[min(360px,50vh)] overflow-y-auto`,ey="flex min-h-[44px] cursor-default items-center gap-2 rounded-[3px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)] sm:min-h-[36px]",eN=[{id:"default",label:"Default",icon:y.SlidersHorizontal},{id:"auto",label:"Auto",icon:p},{id:"ask",label:"Ask",icon:b},{id:"plan",label:"Plan",icon:j}],eA=eN.find(e=>e.id===eo)??eN[0],eS=e=>{let t=e.repo?.trim();if(t){let e=t.split("/").filter(Boolean),n=e[e.length-1]?.replace(/\.git$/i,"");if(n)return n}return e.id},eC=B?eS(B):null,eM=B?`${eC} \xb7 ${G||B.defaultBranch||"main"}`:M?C:"Select project",eE=ef?.taskRef?.trim()||"Link task",eI=ef?es(ef.text):"Choose a task, bug, or issue from this project's board";return(0,t.jsx)("section",{className:"flex h-full min-h-0 items-start justify-center overflow-auto bg-[var(--vk-bg-main)] px-3 py-4 sm:items-center sm:px-6 sm:py-6",children:(0,t.jsxs)("div",{className:"w-full max-w-[768px]",children:[(0,t.jsx)("h1",{className:"pb-4 text-center text-[30px] font-medium leading-[34px] tracking-[-0.7px] text-[var(--vk-text-strong)] sm:text-[36px] sm:leading-[40px] sm:tracking-[-0.9px]",children:"What would you like to work on?"}),(0,t.jsxs)("div",{className:"mx-auto w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-[var(--vk-border)] px-2 pb-[9px] pt-2",children:[(0,t.jsx)(_.AgentTileIcon,{seed:{label:a},className:"h-[25px] w-[25px] border-none bg-transparent"}),(0,t.jsxs)(l.Root,{children:[(0,t.jsx)(l.Trigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",className:"inline-flex h-[31px] max-w-[70vw] items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] sm:max-w-none","aria-label":"Select agent",children:[(0,t.jsx)("span",{className:"truncate pr-1",children:U}),(0,t.jsx)(m.ChevronDown,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})}),(0,t.jsx)(l.Portal,{children:(0,t.jsxs)(l.Content,{align:"start",sideOffset:6,className:ew,children:[(0,t.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Agents"}),R.map(e=>{let n=e===a,s=i[(0,A.normalizeAgentName)(e)]??null;return(0,t.jsxs)(l.Item,{onSelect:()=>r(e),className:ey,children:[(0,t.jsx)(_.AgentTileIcon,{seed:{label:e},className:"h-6 w-6 border-none bg-transparent"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{children:en(e)}),s?.ready?null:(0,t.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--vk-text-muted)]",children:s?.installed?"Setup required":"Not installed"})]}),(0,t.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:n?(0,t.jsx)(x.Check,{className:"h-4 w-4"}):null})]},e)})]})})]}),(0,t.jsxs)(l.Root,{onOpenChange:ee,children:[(0,t.jsx)(l.Trigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",disabled:!$,className:"ml-auto flex h-[31px] min-w-[220px] items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-left disabled:cursor-not-allowed disabled:opacity-50 sm:ml-0 sm:w-[286px]","aria-label":"Link task",children:[(0,t.jsx)("span",{className:"pr-2 text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Task"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)]",children:eE}),(0,t.jsx)(m.ChevronDown,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})}),(0,t.jsx)(l.Portal,{children:(0,t.jsxs)(l.Content,{align:"end",side:"bottom",sideOffset:6,className:ew,children:[(0,t.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Link task"}),(0,t.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:eI}),(0,t.jsxs)(l.Item,{onSelect:()=>J(""),className:ey,children:[(0,t.jsx)("span",{children:"No linked task"}),(0,t.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:K?null:(0,t.jsx)(x.Check,{className:"h-4 w-4"})})]}),Z?(0,t.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Loading board tasks..."}):q.length>0?q.map(e=>{let n=ea(e),a=es(e.text),s=[e.type,e.priority].filter(Boolean).join(" · ");return(0,t.jsxs)(l.Item,{onSelect:()=>J(n),className:`${ey} min-w-[320px] items-start`,children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate",children:e.taskRef?.trim()||a}),(0,t.jsxs)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:[e.taskRef?.trim()?a:n,s?` \xb7 ${s}`:""]})]}),(0,t.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:K===n?(0,t.jsx)(x.Check,{className:"h-4 w-4"}):null})]},n)}):(0,t.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"No existing tasks were found for this project."})]})})]})]}),(0,t.jsx)("div",{className:"rounded-[3.5px]",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3 p-2",children:[(0,t.jsxs)("div",{className:"relative w-full",children:[(0,t.jsx)("textarea",{value:e,onChange:e=>n(e.target.value),placeholder:"Optional launch prompt. Leave empty to open the native CLI.",rows:1,className:"min-h-[24px] w-full resize-none bg-transparent pr-8 text-[16px] leading-[24px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"}),(0,t.jsx)("button",{type:"button","aria-label":"Preview",className:"absolute right-0 top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,t.jsx)(h.Eye,{className:"h-[14px] w-[14px]"})})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-2",children:[(0,t.jsxs)(l.Root,{children:[(0,t.jsx)(l.Trigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:"inline-flex h-[29px] w-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Select workspace or project",children:(0,t.jsx)(y.SlidersHorizontal,{className:"h-[15px] w-[15px]"})})}),(0,t.jsx)(l.Portal,{children:(0,t.jsxs)(l.Content,{align:"start",sideOffset:6,className:ew,children:[(0,t.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Projects"}),L.map(e=>{let n=eS(e),a=e.id!==n?e.id:e.path?.trim()||e.repo?.trim()||null;return(0,t.jsxs)(l.Item,{onSelect:()=>N(e.id),className:`${ey} min-w-[280px] items-start`,children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate",children:n}),a?(0,t.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:a}):null]}),(0,t.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:e.id===$?(0,t.jsx)(x.Check,{className:"h-4 w-4"}):null})]},e.id)}),(0,t.jsx)(l.Separator,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,t.jsxs)(l.Item,{onSelect:O,className:ey,children:[(0,t.jsx)(g.FolderOpen,{className:"h-4 w-4"}),(0,t.jsx)("span",{children:"Add Workspace"})]})]})})]}),(0,t.jsxs)(l.Root,{children:[(0,t.jsx)(l.Trigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,t.jsx)("span",{children:ej}),(0,t.jsx)(m.ChevronDown,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,t.jsx)(l.Portal,{children:(0,t.jsxs)(l.Content,{align:"start",sideOffset:6,className:ek,children:[(0,t.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Model"}),(0,t.jsxs)(l.Item,{onSelect:()=>d(eu(a,c,u,B?.agentModel,B?.agentReasoningEffort)),className:ey,children:[(0,t.jsx)("span",{children:"Default"}),(0,t.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:ev?null:(0,t.jsx)(x.Check,{className:"h-4 w-4"})})]}),eb.map(e=>(0,t.jsxs)(l.Item,{onSelect:()=>d({catalogModel:e.id,customModel:"",reasoningEffort:ec(a,c,u,e.id)}),className:ey,children:[(0,t.jsx)("span",{children:e.label}),(0,t.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:ev===e.id?(0,t.jsx)(x.Check,{className:"h-4 w-4"}):null})]},e.id)),0===eb.length?(0,t.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Models will appear here after the selected agent is installed and its runtime catalog is detected."}):null,z&&!z.ready?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Separator,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,t.jsx)("button",{type:"button",onClick:()=>P(a),className:"flex w-full items-center rounded-[3px] px-3 py-2 text-left text-[13px] text-[var(--vk-orange)] transition hover:bg-[var(--vk-bg-hover)]",children:z.installed?"Open setup":"Open install guide"})]}):null]})})]}),(0,t.jsxs)(l.Root,{children:[(0,t.jsx)(l.Trigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,t.jsx)("span",{children:eA.label}),(0,t.jsx)(m.ChevronDown,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,t.jsx)(l.Portal,{children:(0,t.jsxs)(l.Content,{align:"start",sideOffset:6,className:ek,children:[(0,t.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Permissions"}),eN.map(({id:e,label:n,icon:a})=>(0,t.jsxs)(l.Item,{onSelect:()=>ex(e),className:ey,children:[(0,t.jsx)(a,{className:"h-4 w-4"}),(0,t.jsx)("span",{children:n}),(0,t.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eo===e?(0,t.jsx)(x.Check,{className:"h-4 w-4"}):null})]},e))]})})]}),(0,t.jsxs)(l.Root,{onOpenChange:el,children:[(0,t.jsx)(l.Trigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",disabled:!B,className:"inline-flex min-h-[29px] max-w-[320px] items-center justify-center truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:text-[var(--vk-text-strong)] disabled:cursor-not-allowed disabled:opacity-50",children:eM})}),(0,t.jsx)(l.Portal,{children:(0,t.jsxs)(l.Content,{align:"start",side:"bottom",sideOffset:6,avoidCollisions:!1,className:ew,children:[(0,t.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Branch"}),eC?(0,t.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:eC}):null,W?(0,t.jsx)("div",{className:"px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:"Loading branches..."}):F.map(e=>(0,t.jsxs)(l.Item,{onSelect:()=>H(e),className:ey,children:[(0,t.jsx)("span",{children:e}),(0,t.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:G===e?(0,t.jsx)(x.Check,{className:"h-4 w-4"}):null})]},e))]})})]})]}),(0,t.jsx)("div",{className:"flex w-full justify-end sm:w-auto",children:(0,t.jsx)("button",{type:"button",onClick:()=>T({projectId:$??void 0,...er?{baseBranch:G||B?.defaultBranch||void 0}:{branch:G||B?.defaultBranch||void 0},issueId:K.trim()||void 0,useWorktree:er,permissionMode:eo}),disabled:E||!$,className:"inline-flex min-h-[29px] items-center justify-center rounded-[3px] bg-[var(--vk-bg-hover)] px-[8px] py-[6.5px] text-[16px] leading-[16px] text-[var(--vk-text-strong)] transition-colors hover:bg-[var(--vk-bg-active)] disabled:cursor-not-allowed disabled:opacity-50",children:E?(0,t.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}):"Launch"})})]}),z&&!z.ready?(0,t.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("p",{className:"text-[13px] text-[var(--vk-text-strong)]",children:[U," is not ready on this machine."]}),(0,t.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:z.installed?"Finish login or local setup to load models and start streaming sessions.":"Install the CLI first, then its models and authentication state will appear here."})]}),(0,t.jsx)("button",{type:"button",onClick:()=>P(a),className:"inline-flex h-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)]",children:z.installed?"Open setup":"Open install"})]})}):null,(0,t.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,t.jsx)("input",{type:"checkbox",checked:er,onChange:e=>ei(e.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,t.jsxs)("span",{children:["Use worktree isolation",(0,t.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"If unchecked, the session runs directly on the selected branch in the local repo."})]})]})]})})]}),I&&(0,t.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:I})]})})});e.s(["default",()=>ex],66794)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,1965,e=>{"use strict";var t=e.i(43476),r=e.i(40666),a=e.i(71645),s=e.i(18566),n=e.i(43531),l=e.i(64659),i=e.i(63059),o=e.i(78917),d=e.i(75254);let c=(0,d.default)("file-image",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]),x=(0,d.default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var m=e.i(27025),p=e.i(75505),u=e.i(31278);let v=(0,d.default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]),h=(0,d.default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);var b=e.i(7233),g=e.i(16715),f=e.i(55436),k=e.i(69242),j=e.i(90336),N=e.i(18620);let y={intake:"#3c83f6",ready:"#f59f0a",dispatching:"#fb923c",inProgress:"#f59f0a",needsInput:"#eab308",blocked:"#d53946",errored:"#ef4444",review:"#895af6",merge:"#06b6d4",done:"#21c45d",cancelled:"#6b7280"},w={intake:"To do",ready:"Ready",dispatching:"Dispatching",inProgress:"In progress",needsInput:"Needs input",blocked:"Blocked",errored:"Errored",review:"In review",merge:"Merge",done:"Done",cancelled:"Cancelled"},C={obsidian:"Obsidian",vscode:"VS Code",notion:"Notion",typora:"Typora",logseq:"Logseq",custom:"your editor"},S=[{value:"feature",label:"Feature"},{value:"fix",label:"Fix"},{value:"review",label:"Review"},{value:"chore",label:"Chore"},{value:"docs",label:"Docs"}],P=[{value:"high",label:"High"},{value:"medium",label:"Medium"},{value:"low",label:"Low"}];function I(e){return["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"].includes(e)?e:"intake"}function $(e){let[t,...r]=e.split(" - ");return{title:(t??e).trim(),description:r.join(" - ").trim()}}function R(e){return e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function A(e){return e.split("/").map(e=>e.trim()).filter(Boolean)}function T(e,t){return e.kind!==t.kind?"folder"===e.kind?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base",numeric:!0})}function E(e){let t=e.displayPath?.trim();return t&&t.length>0?t:e.path}function L({attachment:e,onOpen:r,opening:a=!1}){return(0,t.jsxs)("button",{type:"button",onClick:r,disabled:a,className:"inline-flex max-w-full items-center gap-1 rounded-[3px] bg-[color:#292929] px-2 py-1 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:e,"aria-label":`Open ${e}`,children:[a?(0,t.jsx)(u.Loader2,{className:"h-3 w-3 shrink-0 animate-spin"}):(0,t.jsx)(o.ExternalLink,{className:"h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e})]})}function M({node:e,depth:r,expandedFolders:a,selectedPaths:s,openingContextPath:n,contextOpenLabel:d,onToggleFolder:v,onTogglePath:h,onOpenPath:b}){var g;let f=10+16*r;if("folder"===e.kind){let o=a.has(e.path);return(0,t.jsxs)("li",{children:[(0,t.jsxs)("button",{type:"button",onClick:()=>v(e.path),className:"flex w-full items-center gap-1.5 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",style:{paddingLeft:`${f}px`,paddingRight:"10px"},"aria-expanded":o,children:[o?(0,t.jsx)(l.ChevronDown,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,t.jsx)(i.ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),o?(0,t.jsx)(p.FolderOpen,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}):(0,t.jsx)(m.Folder,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]}),o?(0,t.jsx)("ul",{children:e.children.map(e=>(0,t.jsx)(M,{node:e,depth:r+1,expandedFolders:a,selectedPaths:s,openingContextPath:n,contextOpenLabel:d,onToggleFolder:v,onTogglePath:h,onOpenPath:b},e.path))}):null]})}let k=s.includes(e.path);return(0,t.jsx)("li",{className:"border-t border-[var(--vk-border)] first:border-t-0",children:(0,t.jsxs)("div",{className:"flex items-start gap-2 py-1.5",style:{paddingLeft:`${f+22}px`,paddingRight:"10px"},children:[(0,t.jsxs)("label",{className:"flex min-w-0 flex-1 cursor-pointer items-start gap-2 text-[12px] text-[var(--vk-text-normal)]",children:[(0,t.jsx)("input",{type:"checkbox",checked:k,onChange:()=>h(e.path),className:"mt-0.5 h-3.5 w-3.5 rounded border-[var(--vk-border)] bg-transparent"}),"image"===e.file.kind?(0,t.jsx)(c,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,t.jsx)(x,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"block truncate",children:e.name}),(0,t.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:E(e.file)}),(0,t.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:[e.file.kind,e.file.source?` \xb7 ${e.file.source}`:"",e.file.sizeBytes?` \xb7 ${!(g=e.file.sizeBytes)||g<=0?"":g<1024?`${g} B`:g<1048576?`${(g/1024).toFixed(1)} KB`:`${(g/1048576).toFixed(1)} MB`}`:""]})]})]}),(0,t.jsxs)("button",{type:"button",onClick:()=>b(e.path),disabled:n===e.path,className:"inline-flex h-7 shrink-0 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:`${d}: ${e.path}`,"aria-label":`${d}: ${e.path}`,children:[n===e.path?(0,t.jsx)(u.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(o.ExternalLink,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:d})]})]})})}function O({value:e,options:a,disabled:s=!1,onChange:i,ariaLabel:o}){return(0,t.jsxs)(r.Root,{children:[(0,t.jsx)(r.Trigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",disabled:s,"aria-label":o,className:"inline-flex h-10 w-full items-center justify-between rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-left text-[14px] text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)(k.AgentTileIcon,{seed:{label:e},className:"h-5 w-5 border-none bg-transparent"}),(0,t.jsx)("span",{className:"truncate",children:R(e)})]}),(0,t.jsx)(l.ChevronDown,{className:"h-4 w-4 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,t.jsx)(r.Portal,{children:(0,t.jsxs)(r.Content,{align:"start",sideOffset:6,className:"z-[120] rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)] min-w-[220px] max-w-[calc(100vw-2rem)] max-h-[min(360px,50vh)] overflow-y-auto sm:min-w-[280px]",children:[(0,t.jsx)("p",{className:"px-3 pb-1 text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Agents"}),a.map(a=>{let s=a===e;return(0,t.jsxs)(r.Item,{onSelect:()=>i(a),className:"flex min-h-[40px] cursor-default items-center gap-2 rounded-[4px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,t.jsx)(k.AgentTileIcon,{seed:{label:a},className:"h-5 w-5 border-none bg-transparent"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:R(a)}),(0,t.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:s?(0,t.jsx)(n.Check,{className:"h-4 w-4 text-[var(--vk-orange)]"}):null})]},a)})]})})]})}function F(e,t){if(!e||e.projectId!==t.projectId||e.repository!==t.repository||e.boardPath!==t.boardPath||e.workspacePath!==t.workspacePath||e.primaryRoles.length!==t.primaryRoles.length||e.columns.length!==t.columns.length)return!1;for(let r=0;r<e.primaryRoles.length;r+=1)if(e.primaryRoles[r]!==t.primaryRoles[r])return!1;for(let r=0;r<e.columns.length;r+=1){let a=e.columns[r],s=t.columns[r];if(a.role!==s.role||a.heading!==s.heading||a.tasks.length!==s.tasks.length)return!1;for(let e=0;e<a.tasks.length;e+=1){let t=a.tasks[e],r=s.tasks[e];if(t.id!==r.id||t.text!==r.text||t.checked!==r.checked||t.agent!==r.agent||t.project!==r.project||t.type!==r.type||t.priority!==r.priority||t.taskRef!==r.taskRef||t.attemptRef!==r.attemptRef||t.issueId!==r.issueId||t.githubItemId!==r.githubItemId||t.notes!==r.notes||t.briefPath!==r.briefPath||t.vaultBriefPath!==r.vaultBriefPath||t.commentCount!==r.commentCount||t.comments.length!==r.comments.length||t.attachments.length!==r.attachments.length)return!1;for(let e=0;e<t.attachments.length;e+=1)if(t.attachments[e]!==r.attachments[e])return!1;for(let e=0;e<t.comments.length;e+=1)if(JSON.stringify(t.comments[e])!==JSON.stringify(r.comments[e]))return!1}}let r=e.githubProject??null,a=t.githubProject??null;if(JSON.stringify(r)!==JSON.stringify(a))return!1;let s=e.recentActions??[],n=t.recentActions??[];if(s.length!==n.length)return!1;for(let e=0;e<s.length;e+=1)if(JSON.stringify(s[e])!==JSON.stringify(n[e]))return!1;let l=e.recentWebhookDeliveries??[],i=t.recentWebhookDeliveries??[];if(l.length!==i.length)return!1;for(let e=0;e<l.length;e+=1)if(JSON.stringify(l[e])!==JSON.stringify(i[e]))return!1;return!0}function _(e){return{...e,repository:e.repository??null,githubProject:e.githubProject??null,recentActions:Array.isArray(e.recentActions)?e.recentActions:[],recentWebhookDeliveries:Array.isArray(e.recentWebhookDeliveries)?e.recentWebhookDeliveries:[],columns:Array.isArray(e.columns)?e.columns.map(e=>({...e,tasks:Array.isArray(e.tasks)?e.tasks.map(e=>({...e,issueId:e.issueId??null,githubItemId:e.githubItemId??null,attachments:Array.isArray(e.attachments)?e.attachments:[],notes:e.notes??null,briefPath:e.briefPath??null,vaultBriefPath:e.vaultBriefPath??null,commentCount:"number"==typeof e.commentCount?e.commentCount:Array.isArray(e.comments)?e.comments.length:0,comments:Array.isArray(e.comments)?e.comments:[]})):[]})):[]}}function D(e){return e.branch?.trim()||e.summary?.trim()||e.id.slice(0,8)}function U(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function B(e){let t=e.metadata?.agent;return"string"==typeof t&&t.trim().length>0?t.trim():null}function z(e){let t=e.trim().toLowerCase();return"working"===t||"running"===t?"Running":"done"===t?"Done":"killed"===t?"Interrupted":"errored"===t?"Errored":"archived"===t?"Archived":e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function H(e){let t=e.trim().toLowerCase();return"working"===t||"running"===t?"border-[rgba(60,131,246,0.35)] bg-[rgba(60,131,246,0.12)] text-[#8db8ff]":"done"===t?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"killed"===t||"archived"===t?"border-[rgba(143,143,143,0.35)] bg-[rgba(143,143,143,0.10)] text-[var(--vk-text-muted)]":"errored"===t?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}function J(e){if(!e?.id)return"No GitHub Project linked";let t="number"==typeof e.number?`#${e.number}`:"Project";return`${t} ${e.title?.trim()||"Untitled"}`.trim()}function G(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"}).format(new Date(t))}function W(e,t){if(!e)return null;for(let r of e.columns){let e=r.tasks.find(e=>e.id===t);if(e)return{task:e,role:r.role}}return null}function K(e,t){return e?.columns.find(e=>e.role===t)??null}function q(e,t,r){let a=K(e,r);if(!a)return 0;let s=a.tasks.length;return t?.role===r&&a.tasks.findIndex(e=>e.id===t.taskId)>=0&&(s-=1),Math.max(s,0)}function V(e,t,r){if(r){if(e.id===r&&t.id!==r)return -1;if(t.id===r&&e.id!==r)return 1}let a=e.lastActivityAt?Date.parse(e.lastActivityAt):0;return(t.lastActivityAt?Date.parse(t.lastActivityAt):0)-a}function Y({projectId:e,defaultAgent:r,agentOptions:n,projectSessions:l}){var i;let d=(0,s.useRouter)(),{preferences:c}=(0,j.usePreferences)(),[x,m]=(0,a.useState)(null),[p,Y]=(0,a.useState)(!1),[Z,Q]=(0,a.useState)(null),[X,ee]=(0,a.useState)(""),[et,er]=(0,a.useState)("active"),[ea,es]=(0,a.useState)(!1),[en,el]=(0,a.useState)("intake"),[ei,eo]=(0,a.useState)(""),[ed,ec]=(0,a.useState)(""),[ex,em]=(0,a.useState)(r),[ep,eu]=(0,a.useState)("feature"),[ev,eh]=(0,a.useState)("medium"),[eb,eg]=(0,a.useState)(""),[ef,ek]=(0,a.useState)([]),[ej,eN]=(0,a.useState)([]),[ey,ew]=(0,a.useState)(""),[eC,eS]=(0,a.useState)([]),[eP,eI]=(0,a.useState)(!1),[e$,eR]=(0,a.useState)(null),[eA,eT]=(0,a.useState)(null),[eE,eL]=(0,a.useState)([]),[eM,eO]=(0,a.useState)(!1),[eF,e_]=(0,a.useState)(null),[eD,eU]=(0,a.useState)(null),[eB,ez]=(0,a.useState)("intake"),[eH,eJ]=(0,a.useState)(""),[eG,eW]=(0,a.useState)(""),[eK,eq]=(0,a.useState)(r),[eV,eY]=(0,a.useState)("feature"),[eZ,eQ]=(0,a.useState)("medium"),[eX,e0]=(0,a.useState)(""),[e1,e2]=(0,a.useState)(""),[e5,e3]=(0,a.useState)(""),[e4,e6]=(0,a.useState)(!1),[e8,e9]=(0,a.useState)(null),[e7,te]=(0,a.useState)(""),[tt,tr]=(0,a.useState)(!1),[ta,ts]=(0,a.useState)(null),[tn,tl]=(0,a.useState)(null),[ti,to]=(0,a.useState)(null),[td,tc]=(0,a.useState)(!1),[tx,tm]=(0,a.useState)(!1),[tp,tu]=(0,a.useState)(!1),[tv,th]=(0,a.useState)(null),[tb,tg]=(0,a.useState)(null),[tf,tk]=(0,a.useState)(""),tj=(0,a.useRef)(!1),tN=(0,a.useRef)(!1),ty=(0,a.useRef)(null),tw=(0,a.useRef)(null),tC=(0,a.useRef)(Promise.resolve(null)),tS=(0,a.useRef)(0),tP="obsidian"===(i=c?.markdownEditor?.trim()||"obsidian")||"vscode"===i||"typora"===i||"logseq"===i?`Open in ${C[i]??"your editor"}`:"Open file",[tI,t$]=(0,a.useState)(!0),tR=(0,a.useMemo)(()=>{let e=[...new Set(n.filter(Boolean))];return e.includes(r)||e.unshift(r),e},[n,r]);(0,a.useEffect)(()=>{tw.current=x},[x]),(0,a.useEffect)(()=>{tR.includes(ex)||em(tR[0]??r)},[ex,r,tR]),(0,a.useEffect)(()=>{tR.includes(eK)||eq(tR[0]??r)},[r,eK,tR]),(0,a.useEffect)(()=>{if(!ea&&!eD||!e)return;let t=!1;return(async()=>{eI(!0),eR(null);try{let r=await fetch(`/api/context-files?projectId=${encodeURIComponent(e)}`),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to load context files: ${r.status}`);if(t)return;let s=Array.isArray(a?.files)?a.files:[];eS(s)}catch(e){if(t)return;eS([]),eR(e instanceof Error?e.message:"Failed to load context files")}finally{t||eI(!1)}})(),()=>{t=!0}},[ea,eD,e]),(0,a.useEffect)(()=>{tj.current=!1,tc(!1),th(null),tg(null),tk("")},[e]);let tA=(0,a.useCallback)(async t=>{if(!e){m(null),Q(null),Y(!1),tj.current=!1;return}if(!tN.current&&(!t?.silent||!(tS.current>0))){tN.current=!0,t?.silent||Y(!0);try{let t=await fetch(`/api/boards?projectId=${encodeURIComponent(e)}`),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r?.error??`Failed to load board: ${t.status}`);let a=_(r);tj.current=!0,m(e=>F(e,a)?e:a),Q(null)}catch(e){t?.silent&&tj.current||(m(null),Q(e instanceof Error?e.message:"Failed to load board"))}finally{t?.silent||Y(!1),tN.current=!1}}},[e]),tT=(0,a.useCallback)(t=>{e&&(null!==ty.current&&(window.clearTimeout(ty.current),ty.current=null),ty.current=window.setTimeout(()=>{ty.current=null,tA(t)},1200))},[tA,e]);(0,a.useEffect)(()=>{tA({silent:!1})},[tA]);let tE=(0,a.useCallback)(async()=>{if(!e){tg(null),th(null);return}tm(!0),th(null);try{let t=await fetch(`/api/github/projects?projectId=${encodeURIComponent(e)}`),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r?.error??`Failed to load GitHub Projects (${t.status})`);let a={...r,projects:Array.isArray(r.projects)?r.projects:[]};tg(a),tk(a.linkedProject?.id?.trim()||a.projects[0]?.id?.trim()||"")}catch(e){th(e instanceof Error?e.message:"Failed to load GitHub Projects"),tg(null),tk("")}finally{tm(!1)}},[e]);(0,a.useEffect)(()=>{if(!e)return;let t=()=>{tI&&tA({silent:!0})},r=null,a=()=>{let e=tI?2e4:6e4;r=window.setTimeout(()=>{t(),a()},e)};a(),window.addEventListener("focus",t);let s=()=>{let e="visible"===document.visibilityState;t$(e),e&&t()};return document.addEventListener("visibilitychange",s),()=>{null!=r&&window.clearTimeout(r),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",s)}},[tA,tI,e]),(0,a.useEffect)(()=>{e&&tj.current&&tT({silent:!0})},[e,l,tT]),(0,a.useEffect)(()=>()=>{null!==ty.current&&(window.clearTimeout(ty.current),ty.current=null)},[tA,e]),(0,a.useEffect)(()=>{td&&e&&tE()},[tE,e,td]);let tL=x?.columns??[],tM=(0,a.useMemo)(()=>{let e=X.trim().toLowerCase(),t="all"===et?null:new Set("backlog"===et?["intake","ready"]:"cancelled"===et?["cancelled"]:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]);return tL.filter(e=>!t||t.has(e.role)).map(t=>e?{...t,tasks:t.tasks.filter(t=>{let r=t.comments.map(e=>`${e.author} ${e.body}`).join(" ");return`${t.text} ${t.agent??""} ${t.type??""} ${t.priority??""} ${t.issueId??""} ${t.notes??""} ${t.briefPath??""} ${t.attachments.join(" ")} ${r}`.toLowerCase().includes(e)})}:t)},[tL,X,et]),tO=0===X.trim().length,tF=(0,a.useMemo)(()=>{let e=ey.trim().toLowerCase(),t=e?eC.filter(t=>`${t.path} ${E(t)} ${t.name} ${t.source??""}`.toLowerCase().includes(e)):eC,r=new Map;for(let e of t)r.has(e.path)||r.set(e.path,e);return[...r.values()]},[eC,ey]),t_=(0,a.useMemo)(()=>(function(e){let t=new Map;t.set("",new Map);let r=(e,r)=>(t.has(e)||t.set(e,new Map),{kind:"folder",name:r,path:e,children:[]});for(let a of e){let e=E(a),s=A(e);if(0===s.length)continue;let n="";for(let e=0;e<s.length-1;e+=1){let a=s[e],l=n?`${n}/${a}`:a,i=t.get(n)??new Map;t.set(n,i),i.has(l)||i.set(l,r(l,a)),t.has(l)||t.set(l,new Map),n=l}let l=t.get(n)??new Map;l.set(a.path,{kind:"file",name:a.name,path:a.path,file:{...a,displayPath:e}}),t.set(n,l)}let a=e=>[...t.get(e)?.values()??[]].map(e=>"folder"===e.kind?{...e,children:a(e.path)}:e).sort(T);return a("")})(tF),[tF]),tD=(0,a.useMemo)(()=>new Map(eC.map(e=>[e.path,e])),[eC]),tU=(0,a.useMemo)(()=>ef.map(e=>tD.get(e)).filter(e=>!!e),[tD,ef]),tB=(0,a.useMemo)(()=>new Set(t_.filter(e=>"folder"===e.kind).map(e=>e.path)),[t_]),tz=(0,a.useMemo)(()=>ey.trim().length>0?function e(t,r=new Set){for(let a of t)"folder"===a.kind&&(r.add(a.path),e(a.children,r));return r}(t_):function(e){let t=new Set;for(let r of e){let e=A(r),a="";for(let r=0;r<e.length-1;r+=1)a=a?`${a}/${e[r]}`:e[r],t.add(a)}return t}(ef.map(e=>{let t=tD.get(e);return t?E(t):e})),[tD,ey,t_,ef]),tH=(0,a.useMemo)(()=>{let e=new Set(tB);for(let t of ej)e.add(t);for(let t of tz)e.add(t);return e},[tz,tB,ej]),tJ=(0,a.useMemo)(()=>{let e=tL.find(e=>e.role===en);return e?.heading||w[en]},[tL,en]),tG=(0,a.useMemo)(()=>{if(!eD)return l;let e=W(x,eD.task.id)??eD,t=U(e.task);return[...l].sort((r,a)=>{let s=r.id===e.task.attemptRef||r.issueId?.trim()===t;return s!==(a.id===e.task.attemptRef||a.issueId?.trim()===t)?s?-1:1:V(r,a,e.task.attemptRef)})},[x,eD,l]),tW=(0,a.useMemo)(()=>eD?W(x,eD.task.id)??eD:null,[x,eD]);function tK(e){el(e),es(!0),eo(""),ec(""),em(tR[0]??r),eu("feature"),eh("medium"),e_(null),eg(""),ew(""),ek([]),eN([]),eL([])}let tq=(0,a.useCallback)(async t=>{if(e){eT(t),eD?e9(null):ea?e_(null):Q(null);try{let r=await fetch("/api/context-files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,path:t})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to open context file: ${r.status}`)}catch(e){var r;r=e instanceof Error?e.message:"Failed to open context file",eD?e9(r):ea?e_(r):Q(r)}finally{eT(e=>e===t?null:e)}}},[ea,eD,e]);function tV(e){ek(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function tY(e){eN(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}async function tZ(){if(e&&ei.trim()){eO(!0),e_(null);try{let t=await fetch("/api/boards",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,title:ei.trim(),description:ed.trim()||void 0,contextNotes:eb.trim()||void 0,attachments:ef.length>0?ef:void 0,agent:ex,role:en,type:ep.trim()||void 0,priority:ev.trim()||void 0})}),r=await t.json().catch(()=>null);if(!t.ok||!r||!("columns"in r))throw Error(r?.error??`Failed to create task: ${t.status}`);let a=_(r),s=a.columns.flatMap(e=>e.tasks).find(e=>e.id===r.createdTaskId);if(eE.length>0&&s){let t=new FormData;for(let r of(t.append("projectId",e),t.append("taskRef",s.taskRef?.trim()||s.id),eE))t.append("files",r);let r=await fetch("/api/attachments",{method:"POST",body:t}),n=await r.json().catch(()=>null);if(!r.ok)throw Error(n?.error??`Upload failed: ${r.status}`);let l=(n?.files??[]).map(e=>e.path?.trim()).filter(e=>!!e);if(l.length>0){let t=await fetch("/api/boards",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:s.id,attachments:[...new Set([...s.attachments,...l])]})}),r=await t.json().catch(()=>null);if(!t.ok||!r||!("columns"in r))throw Error(r?.error??`Failed to attach uploads: ${t.status}`);a=_(r)}}m(e=>({...e??a,...a})),eo(""),ec(""),eu("feature"),eh("medium"),eg(""),ek([]),ew(""),eL([]),es(!1)}catch(e){e_(e instanceof Error?e.message:"Failed to create task")}finally{eO(!1)}}}async function tQ(t,r){if(!e)return null;let a=tw.current;if(a&&r?.optimisticUpdate){let e=r.optimisticUpdate(a);e&&(tw.current=e,m(t=>F(t,e)?t:e))}tS.current+=1;let s=tC.current.catch(()=>null).then(async()=>{let r=await fetch("/api/boards",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,...t})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to update board: ${r.status}`);let s=_(a);return tw.current=s,m(e=>F(e,s)?e:s),Q(null),s});tC.current=s.then(()=>null,()=>null);try{return await s}catch(e){throw r?.optimisticUpdate&&a&&(tw.current=a,m(e=>F(e,a)?e:a)),e}finally{tS.current=Math.max(0,tS.current-1)}}async function tX(t){if(e&&!tp){tu(!0),th(null);try{let r=await fetch("/api/github/projects",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,link:t?.id?t:null})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to update GitHub Project link (${r.status})`);m(e=>e?{...e,githubProject:a?.githubProject??null}:e),await tE()}catch(e){th(e instanceof Error?e.message:"Failed to update GitHub Project link")}finally{tu(!1)}}}async function t0(t){if(e&&!tp){tu(!0),th(null);try{let r=await fetch("/api/github/projects/sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,direction:t})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to ${t} GitHub Project (${r.status})`);if(a?.board){let e=_(a.board);m(t=>F(t,e)?t:e)}else await tA({silent:!0});await tE()}catch(e){th(e instanceof Error?e.message:`Failed to ${t} GitHub Project`)}finally{tu(!1)}}}function t1(){e4||tt||(eU(null),e9(null),te(""),ts(null))}async function t2(){if(tW&&eH.trim()){e6(!0),e9(null);try{await tQ({taskId:tW.task.id,role:eB,title:eH.trim(),description:eG,contextNotes:e1.trim()||"",issueId:eX.trim()||"",agent:eK,type:eV,priority:eZ,attemptRef:e5,taskRef:e5?tW.task.taskRef??tW.task.id:tW.task.taskRef??""}),eU(null)}catch(e){e9(e instanceof Error?e.message:"Failed to update task")}finally{e6(!1)}}}async function t5(){if(e&&tW&&e7.trim()){tr(!0),ts(null);try{let t=await fetch("/api/boards/comments",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:tW.task.id,body:e7.trim()})}),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r?.error??`Failed to add comment: ${t.status}`);let a=_(r);m(e=>F(e,a)?e:a),te("")}catch(e){ts(e instanceof Error?e.message:"Failed to add comment")}finally{tr(!1)}}}async function t3(e){if(!tn)return;let t=K(tw.current,tn.role),r=t?.tasks.findIndex(e=>e.id===tn.taskId)??-1,a=q(tw.current,tn,e),s=ti?.role===e?ti.index:a,n=tn.role!==e||s!==r;try{n&&await tQ({taskId:tn.taskId,role:e,targetIndex:s},{optimisticUpdate:t=>(function(e,t,r,a){if(!e)return e;let s=e.columns.map(e=>({...e,tasks:[...e.tasks]})),n=-1,l=-1,i=null;for(let e=0;e<s.length;e+=1){let r=s[e]?.tasks.findIndex(e=>e.id===t)??-1;if(r>=0){n=e,l=r,i=s[e].tasks.splice(r,1)[0]??null;break}}if(!i||n<0)return e;let o=s.findIndex(e=>e.role===r);o<0&&(s.push({role:r,heading:w[r],tasks:[]}),o=s.length-1);let d=s[o].tasks,c=Math.max(0,Math.min(a,d.length));return(d.splice(c,0,i),n===o&&l===c)?e:{...e,columns:s}})(t,tn.taskId,e,s)})}catch(e){Q(e instanceof Error?e.message:"Failed to move task")}finally{tl(null),to(null)}}return e?(0,t.jsxs)("section",{className:"flex h-full min-h-0 flex-col",children:[(0,t.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("div",{className:"inline-flex rounded-[3px] border border-[var(--vk-border)] p-px",children:[["active","Active"],["all","All"],["backlog","Backlog"],["cancelled","Cancelled"]].map(([e,r])=>(0,t.jsx)("button",{type:"button",onClick:()=>er(e),className:(0,N.cn)("px-3 py-1 text-[13px]",et===e?"rounded-[2px] bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:r},e))}),(0,t.jsxs)("div",{className:"ml-auto flex w-full min-w-0 flex-wrap items-center gap-2 sm:w-auto sm:min-w-[220px] sm:flex-nowrap sm:flex-none",children:[(0,t.jsxs)("label",{className:"flex h-[38px] min-w-0 flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 sm:h-[31px] sm:min-w-[200px] sm:w-[240px] sm:flex-none",children:[(0,t.jsx)(f.Search,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,t.jsx)("input",{value:X,onChange:e=>ee(e.target.value),placeholder:"Search tasks...",className:"ml-2 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,t.jsxs)("button",{type:"button",onClick:()=>tK("intake"),className:"inline-flex h-[38px] w-full items-center justify-center gap-1 rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[14px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px] sm:w-auto",children:[(0,t.jsx)("span",{children:"New Issue"}),(0,t.jsx)(b.Plus,{className:"h-3.5 w-3.5"})]})]})]}),(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>tc(e=>!e),className:"inline-flex h-[38px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px]",children:[(0,t.jsx)("span",{className:"hidden sm:inline",children:"GitHub Project"}),(0,t.jsx)("span",{className:"sm:hidden",children:"GitHub"}),(0,t.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:x?.githubProject?.id?J(x.githubProject):"Connect"})]}),x?.githubProject?.url?(0,t.jsxs)("a",{href:x.githubProject.url,target:"_blank",rel:"noreferrer",className:"inline-flex h-[38px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px]",children:[(0,t.jsx)("span",{children:"Open Project"}),(0,t.jsx)(o.ExternalLink,{className:"h-3.5 w-3.5"})]}):null]}),!tO&&(0,t.jsx)("p",{className:"pt-2 text-[12px] text-[var(--vk-text-muted)]",children:"Clear search to reorder cards."}),td&&(0,t.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("label",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"mb-1 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Linked project"}),(0,t.jsxs)("select",{value:tf,onChange:e=>tk(e.target.value),disabled:tx||tp,className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,t.jsx)("option",{value:"",children:tx?"Loading GitHub Projects...":"Select a GitHub Project"}),(tb?.projects??[]).map(e=>(0,t.jsx)("option",{value:e.id??"",children:J(e)},e.id??"unknown"))]})]}),(0,t.jsx)("button",{type:"button",disabled:!tf||tx||tp,onClick:()=>{tX(tb?.projects.find(e=>e.id===tf)??null)},className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:tp?(0,t.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):"Connect"}),(0,t.jsx)("button",{type:"button",disabled:!x?.githubProject?.id||tp,onClick:()=>void tX(null),className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Disconnect"}),(0,t.jsxs)("button",{type:"button",disabled:!x?.githubProject?.id||tp,onClick:()=>void t0("pull"),className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[tp?(0,t.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(g.RefreshCw,{className:"h-4 w-4"}),"Pull"]}),(0,t.jsx)("button",{type:"button",disabled:!x?.githubProject?.id||tp,onClick:()=>void t0("push"),className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Push"})]}),(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,t.jsxs)("span",{children:["Repository:"," ",x?.repository?.trim()||tb?.repository?.trim()||"Not configured"]}),tb?.ownerLogin?(0,t.jsxs)("span",{children:["Owner: ",tb.ownerLogin]}):null]}),tv&&(0,t.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:tv}),(x?.recentWebhookDeliveries?.length??0)>0&&(0,t.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,t.jsx)("h3",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Webhook diagnostics"}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(x?.recentWebhookDeliveries??[]).length})]}),(0,t.jsx)("div",{className:"space-y-2",children:(x?.recentWebhookDeliveries??[]).slice(0,6).map(e=>{var r;let a,s;return(0,t.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${"synced"===(a=e.status.trim().toLowerCase())?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"failed"===a?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}`,children:"synced"===(s=(r=e.status).trim().toLowerCase())?"Synced":"failed"===s?"Failed":"skipped"===s?"Skipped":r}),(0,t.jsxs)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:[e.event,e.action?` / ${e.action}`:""]}),(0,t.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:G(e.timestamp)})]}),(0,t.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:e.detail}),e.repository?(0,t.jsxs)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Repo: ",e.repository]}):null]},e.id)})})]})]}),(x?.recentActions?.length??0)>0&&(0,t.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,t.jsx)("h3",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Recent activity"}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(x?.recentActions??[]).length})]}),(0,t.jsx)("div",{className:"space-y-2",children:(x?.recentActions??[]).slice(0,6).map(e=>(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1 text-[12px]",children:[(0,t.jsx)("span",{className:"rounded-[3px] bg-[color:#292929] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:e.source}),(0,t.jsx)("span",{className:"text-[var(--vk-text-normal)]",children:e.action}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[var(--vk-text-muted)]",title:e.detail,children:e.detail}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:G(e.timestamp)})]},e.id))})]})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-auto p-4",children:p?(0,t.jsxs)("div",{className:"flex h-full items-center justify-center text-[var(--vk-text-muted)]",children:[(0,t.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}),(0,t.jsx)("span",{className:"ml-2 text-[14px]",children:"Loading board..."})]}):Z?(0,t.jsx)("div",{className:"rounded-[4px] border border-[color:color-mix(in_srgb,var(--vk-red)_55%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:Z}):(0,t.jsx)("div",{className:"flex min-h-full min-w-0 snap-x snap-mandatory items-start gap-3 overflow-x-auto pb-3 sm:snap-none",children:tM.map(e=>{let a=tL.find(t=>t.role===e.role),s=tO&&tn?.role===e.role?a?.tasks.findIndex(e=>e.id===tn.taskId)??-1:-1,n=Math.max((a?.tasks.length??e.tasks.length)-(s>=0),0);return(0,t.jsxs)("article",{className:(0,N.cn)("flex min-h-[560px] w-[85vw] shrink-0 snap-center flex-col rounded-[14px] border border-[var(--vk-border)] bg-[linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0.02))] shadow-[0_18px_40px_rgba(0,0,0,0.24)] sm:w-[320px] sm:snap-align-none",tn&&"snap-start"),children:[(0,t.jsxs)("header",{className:"flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:y[e.role]}}),(0,t.jsx)("div",{className:"min-w-0 flex-1",children:(0,t.jsx)("p",{className:"truncate text-[14px] font-medium text-[var(--vk-text-normal)]",children:e.heading||w[e.role]})}),(0,t.jsx)("span",{className:"inline-flex h-6 min-w-[28px] items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(0,0,0,0.18)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:e.tasks.length}),(0,t.jsx)("button",{type:"button",onClick:()=>tK(e.role),className:"inline-flex h-9 w-9 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] sm:h-7 sm:w-7","aria-label":`Add task to ${e.heading}`,children:(0,t.jsx)(b.Plus,{className:"h-3.5 w-3.5"})})]}),(0,t.jsxs)("div",{className:(0,N.cn)("flex-1 overflow-y-auto px-3 pb-3 pt-2",tn?.role===e.role&&"bg-[rgba(255,255,255,0.02)]"),onDragOver:t=>tO?function(e,t){if(!tn||(e.preventDefault(),e.target!==e.currentTarget))return;let r=q(tw.current,tn,t);to(e=>e?.role===t&&e.index===r?e:{role:t,index:r})}(t,e.role):void 0,onDrop:t=>{t.preventDefault(),tO&&t3(e.role)},children:[tO&&ti?.role===e.role&&0===ti.index?(0,t.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,0===e.tasks.length&&(0,t.jsx)("div",{className:"rounded-[10px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"Drop a card here or create a new one."}),(0,t.jsx)("div",{className:"space-y-2",children:e.tasks.map(n=>{let{title:i,description:c}=$(n.text),m=a?.tasks.findIndex(e=>e.id===n.id)??0,p=s>=0?n.id===tn?.taskId?null:m>s?m-1:m:m;U(n);let u=function(e,t){let r=t?.trim();if(!e||!r||!/^\d+$/.test(r))return null;let[a,s]=e.trim().replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/^ssh:\/\/git@github\.com\//,"").replace(/\.git$/,"").replace(/\/+$/,"").split("/");return a&&s?`https://github.com/${a}/${s}/issues/${r}`:null}(x?.repository,n.issueId),b=l.filter(e=>!!(e.id===n.attemptRef||e.metadata?.taskId===n.id||n.taskRef?.trim()&&e.metadata?.taskRef?.trim()===n.taskRef.trim())||e.issueId?.trim()===U(n)).sort((e,t)=>V(e,t,n.attemptRef??null)),g=n.attemptRef?b.find(e=>e.id===n.attemptRef)??null:b[0]??null,f=n.attemptRef&&!b.some(e=>e.id===n.attemptRef)?n.attemptRef:null;return(0,t.jsxs)("div",{children:[tO&&ti?.role===e.role&&null!==p&&ti.index===p?(0,t.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,(0,t.jsxs)("div",{draggable:tO,onDragStart:()=>{var t,r;let a;return tO?(tl({taskId:t=n.id,role:r=e.role}),a=q(tw.current,{taskId:t,role:r},r),void to({role:r,index:a})):void 0},onDragOver:t=>tO?function(e,t,r){if(!tn)return;e.preventDefault();let a=function(e,t,r,a,s,n){let l=K(e,r);if(!l)return 0;let i=l.tasks.findIndex(e=>e.id===a);if(i<0)return q(e,t,r);let o=n.getBoundingClientRect(),d=i+ +("after"==(s<o.top+o.height/2?"before":"after"));if(t?.role===r){let e=l.tasks.findIndex(e=>e.id===t.taskId);e>=0&&e<d&&(d-=1)}return d}(tw.current,tn,t,r,e.clientY,e.currentTarget);to(e=>e?.role===t&&e.index===a?e:{role:t,index:a})}(t,e.role,n.id):void 0,onDragEnd:()=>{tl(null),to(null)},className:(0,N.cn)("rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] [content-visibility:auto] [contain-intrinsic-size:240px]",tn?.taskId===n.id&&"opacity-60"),children:[(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)("p",{className:"min-w-0 flex-1 font-mono text-[12px] text-[var(--vk-text-muted)]",children:n.taskRef?.trim()||(n.id.length>12?`TASK-${n.id.split("-")[0]?.toUpperCase()??n.id.toUpperCase()}`:n.id)}),(0,t.jsx)("button",{type:"button",onClick:()=>(function(e,t){let{title:a,description:s}=$(e.text);eU({task:e,role:t}),ez(t),eJ(a),eW(s),eq(e.agent??tR[0]??r),eY(e.type??"feature"),eQ(e.priority??"medium"),e0(e.issueId??""),e2(e.notes??""),e3(e.attemptRef??""),e9(null),te(""),ts(null)})(n,e.role),className:"inline-flex h-9 w-9 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-6 sm:w-6","aria-label":"Edit task",title:"Edit task",children:(0,t.jsx)(h,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)("p",{className:"pt-1 text-[15px] leading-[22px] text-[var(--vk-text-normal)]",children:i}),c&&(0,t.jsx)("p",{className:"pt-1 text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:c}),n.notes&&(0,t.jsx)("p",{className:"pt-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:n.notes}),n.commentCount>0&&(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)(v,{className:"h-3.5 w-3.5"}),(0,t.jsxs)("span",{children:[n.commentCount," comment",1===n.commentCount?"":"s"]})]}),(n.issueId||n.briefPath||n.attachments.length>0)&&(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[n.issueId?u?(0,t.jsxs)("a",{href:u,target:"_blank",rel:"noreferrer",className:"inline-flex h-5 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,t.jsxs)("span",{children:["Issue #",n.issueId]}),(0,t.jsx)(o.ExternalLink,{className:"h-3 w-3"})]}):(0,t.jsxs)("span",{className:"inline-flex h-5 items-center rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:["Issue ",n.issueId]}):null,n.briefPath?(0,t.jsx)(L,{attachment:n.briefPath,opening:eA===n.briefPath,onOpen:()=>void tq(n.briefPath)}):null,n.attachments.map(e=>(0,t.jsx)(L,{attachment:e,opening:eA===e,onOpen:()=>void tq(e)},`${n.id}-${e}`))]}),(b.length>0||f)&&(0,t.jsxs)("div",{className:"mt-3 rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Runs"}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:b.length+ +!!f})]}),(0,t.jsxs)("div",{className:"mt-2 space-y-1.5",children:[g?(0,t.jsxs)("button",{type:"button",onClick:()=>d.push(`/sessions/${encodeURIComponent(g.id)}`),className:"flex w-full items-center justify-between gap-2 rounded-[3px] border border-[rgba(255,255,255,0.05)] bg-[rgba(255,255,255,0.03)] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:g.id,children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[B(g)?(0,t.jsx)(k.AgentTileIcon,{seed:{label:B(g)},className:"h-5 w-5"}):null,(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:D(g)}),(0,t.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${H(g.status)}`,children:z(g.status)}),(0,t.jsx)(o.ExternalLink,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]}):null,b.filter(e=>e.id!==g?.id).map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>d.push(`/sessions/${encodeURIComponent(e.id)}`),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:e.id,children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[B(e)?(0,t.jsx)(k.AgentTileIcon,{seed:{label:B(e)},className:"h-5 w-5"}):null,(0,t.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:D(e)})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${H(e.status)}`,children:z(e.status)}),(0,t.jsx)(o.ExternalLink,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]},e.id)),f?(0,t.jsxs)("button",{type:"button",onClick:()=>d.push(`/sessions/${encodeURIComponent(f)}`),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:f,children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:f}),(0,t.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]}),(0,t.jsx)(o.ExternalLink,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]}):null]})]}),(0,t.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"flex min-w-0 items-center gap-1.5",children:n.agent?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k.AgentTileIcon,{seed:{label:n.agent},className:"h-6 w-6"}),(0,t.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-muted)]",children:R(n.agent)})]}):(0,t.jsx)("span",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No agent"})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[n.type&&(0,t.jsx)("span",{className:"inline-flex h-5 items-center rounded-[3px] bg-[color:#292929] px-2 text-[11px] text-[var(--vk-text-muted)]",children:n.type}),n.priority&&(0,t.jsx)("span",{className:"inline-flex h-5 items-center rounded-[3px] bg-[color:#292929] px-2 text-[11px] text-[var(--vk-text-muted)]",children:n.priority})]})]})]})]},`${e.role}-${n.id}`)})}),tO&&ti?.role===e.role&&ti.index===n?(0,t.jsx)("div",{className:"mt-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null]})]},e.role)})})}),tW&&(0,t.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:t1,children:(0,t.jsxs)("div",{className:"flex max-h-[100dvh] w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] sm:max-h-[calc(100dvh-1.5rem)] sm:max-w-[560px] sm:rounded-[6px] sm:border",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,t.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)("h2",{className:"text-[18px] text-[var(--vk-text-strong)]",children:"Edit Board Task"}),(0,t.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Move the card, update the task, and link the latest session run."})]}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Title"}),(0,t.jsx)("input",{value:eH,onChange:e=>eJ(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Description"}),(0,t.jsx)("textarea",{value:eG,onChange:e=>eW(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Column"}),(0,t.jsx)("select",{value:eB,onChange:e=>ez(I(e.target.value)),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:x?.columns.map(e=>(0,t.jsx)("option",{value:e.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:e.heading||w[e.role]},e.role))})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Agent"}),(0,t.jsx)(O,{value:eK,options:tR,disabled:e4,onChange:eq,ariaLabel:"Select agent for task"})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Type"}),(0,t.jsx)("input",{value:eV,onChange:e=>eY(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Priority"}),(0,t.jsx)("input",{value:eZ,onChange:e=>eQ(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"GitHub issue id (optional)"}),(0,t.jsx)("input",{value:eX,onChange:e=>e0(e.target.value),placeholder:"123",className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Notes"}),(0,t.jsx)("textarea",{value:e1,onChange:e=>e2(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),tW.task.attachments.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Attachments"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:tW.task.attachments.map(e=>(0,t.jsx)(L,{attachment:e,opening:eA===e,onOpen:()=>void tq(e)},e))})]}),(0,t.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Comments"}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:tW.task.commentCount})]}),(0,t.jsx)("div",{className:"space-y-2",children:tW.task.comments.length>0?tW.task.comments.map(e=>(0,t.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:e.author}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:G(e.timestamp)})]}),(0,t.jsx)("p",{className:"pt-1 whitespace-pre-wrap text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:e.body})]},e.id)):(0,t.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No comments yet."})}),(0,t.jsxs)("label",{className:"mt-3 block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Add comment"}),(0,t.jsx)("textarea",{value:e7,onChange:e=>te(e.target.value),rows:3,placeholder:"Share status, request input, or leave implementation notes.",className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),ta&&(0,t.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:ta}),(0,t.jsx)("div",{className:"mt-3 flex justify-end",children:(0,t.jsxs)("button",{type:"button",onClick:()=>void t5(),disabled:!e7.trim()||tt,className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[tt?(0,t.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(v,{className:"h-4 w-4"}),"Post comment"]})})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Primary linked run"}),(0,t.jsxs)("select",{value:e5,onChange:e=>e3(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,t.jsx)("option",{value:"",className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:"No linked session"}),tG.map(e=>(0,t.jsxs)("option",{value:e.id,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:[D(e)," · ",e.status]},e.id))]})]}),e8&&(0,t.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:e8})]}),(0,t.jsxs)("footer",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)("button",{type:"button",onClick:t1,disabled:e4||tt,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>void t2(),disabled:!eH.trim()||e4,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:e4?(0,t.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):"Save Task"})]})]})}),ea&&(0,t.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:()=>!eM&&es(!1),children:(0,t.jsxs)("div",{className:"flex max-h-[100dvh] w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_80px_rgba(0,0,0,0.45)] sm:max-h-[calc(100dvh-1.5rem)] sm:max-w-[980px] sm:rounded-[10px] sm:border",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,t.jsx)("header",{className:"border-b border-[var(--vk-border)] px-4 py-4 sm:px-5",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-[20px] font-medium text-[var(--vk-text-strong)]",children:"Create Board Task"}),(0,t.jsx)("p",{className:"pt-1 text-[13px] leading-5 text-[var(--vk-text-muted)]",children:"Capture the task, route it to the right board column, and attach the notes or files the agent should treat as source of truth."})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 text-[11px]",children:[(0,t.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Column · ",tJ]}),(0,t.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Agent · ",R(ex)]}),(0,t.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:[ef.length+eE.length," attachment",ef.length+eE.length===1?"":"s"]})]})]})}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4 sm:px-5",children:(0,t.jsxs)("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1.45fr)_minmax(290px,0.95fr)]",children:[(0,t.jsx)("div",{className:"space-y-4",children:(0,t.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Task brief"}),(0,t.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Write the task the way you want it to appear on the board and in the agent prompt."})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Title"}),(0,t.jsx)("input",{value:ei,onChange:e=>eo(e.target.value),placeholder:"Review payment flow regression",className:"h-11 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[15px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,t.jsx)("p",{className:"mt-1.5 text-[11px] text-[var(--vk-text-muted)]",children:"Keep it short and outcome-focused so the card stays scannable."})]}),(0,t.jsxs)("label",{className:"mt-4 block",children:[(0,t.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Description"}),(0,t.jsx)("textarea",{value:ed,onChange:e=>ec(e.target.value),rows:5,placeholder:"Investigate failing specs, confirm the root cause, and propose a safe fix.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("label",{className:"mt-4 block",children:[(0,t.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Context notes"}),(0,t.jsx)("textarea",{value:eb,onChange:e=>eg(e.target.value),rows:4,placeholder:"Add constraints, pitfalls, or review expectations the agent should keep in mind.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]})}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Routing"}),(0,t.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Choose where the card lands and how it should be tagged."})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Column"}),(0,t.jsx)("select",{value:en,onChange:e=>el(I(e.target.value)),className:"h-10 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:tL.map(e=>(0,t.jsx)("option",{value:e.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:e.heading||w[e.role]},e.role))})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Agent"}),(0,t.jsx)(O,{value:ex,options:tR,disabled:eM,onChange:em,ariaLabel:"Select agent for new task"})]})]}),(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Task type"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:S.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>eu(e.value),className:(0,N.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",ep===e.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.value))})]}),(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Priority"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:P.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>eh(e.value),className:(0,N.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",ev===e.value?"high"===e.value?"border-[var(--vk-red)] bg-[var(--vk-red)]/10 text-[var(--vk-text-strong)]":"medium"===e.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.05)] text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.value))})]})]}),(0,t.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Context"}),(0,t.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Attach notes, screenshots, or files the agent should inspect before making changes."})]}),(0,t.jsxs)("label",{className:"inline-flex h-9 cursor-pointer items-center rounded-[6px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,t.jsx)("input",{type:"file",multiple:!0,className:"hidden",onChange:e=>{let t=Array.from(e.target.files??[]);0!==t.length&&(eL(e=>{let r=[...e];for(let e of t)r.some(t=>t.name===e.name&&t.size===e.size&&t.lastModified===e.lastModified)||r.push(e);return r}),e.currentTarget.value="")}}),"Upload files/images"]})]}),(0,t.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[ef.length," existing file",1===ef.length?"":"s"," selected",eE.length>0?` \xb7 ${eE.length} upload${1===eE.length?"":"s"} ready`:""]}),tU.length>0&&(0,t.jsxs)("div",{className:"mt-3",children:[(0,t.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Selected files"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:tU.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>tV(e.path),className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:`Remove ${E(e)}`,children:[(0,t.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,t.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"×"})]},e.path))})]}),eE.length>0&&(0,t.jsxs)("div",{className:"mt-3",children:[(0,t.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Pending uploads"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:eE.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{eL(t=>t.filter(t=>t.name!==e.name||t.size!==e.size||t.lastModified!==e.lastModified))},className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:"Remove upload",children:[(0,t.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,t.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"×"})]},`${e.name}-${e.size}-${e.lastModified}`))})]}),(0,t.jsxs)("label",{className:"mt-4 block",children:[(0,t.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Browse existing context"}),(0,t.jsxs)("div",{className:"flex h-9 items-center rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3",children:[(0,t.jsx)(f.Search,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,t.jsx)("input",{value:ey,onChange:e=>ew(e.target.value),placeholder:"Search context files...",className:"ml-2 w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,t.jsx)("div",{className:"mt-3 max-h-[320px] overflow-auto rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.08)]",children:eP?(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)(u.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),(0,t.jsx)("span",{children:"Loading context files..."})]}):e$?(0,t.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-red)]",children:e$}):0===tF.length?(0,t.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No context files found."}):(0,t.jsx)("ul",{className:"py-1",children:t_.map(e=>(0,t.jsx)(M,{node:e,depth:0,expandedFolders:tH,selectedPaths:ef,openingContextPath:eA,contextOpenLabel:tP,onToggleFolder:tY,onTogglePath:tV,onOpenPath:e=>void tq(e)},e.path))})})]})]})]})}),eF&&(0,t.jsx)("div",{className:"border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:(0,t.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:eF})}),(0,t.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:[(0,t.jsx)("div",{className:"text-[12px] text-[var(--vk-text-muted)]",children:ei.trim()?"Task is ready to add to the board.":"Add a clear title to enable task creation."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>es(!1),disabled:eM,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>void tZ(),disabled:!ei.trim()||eM,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:eM?(0,t.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):"Create Task"})]})]})]})})]}):(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-[14px] text-[var(--vk-text-muted)]",children:"Select a workspace to view its Kanban board."})}e.s(["WorkspaceKanban",()=>Y],1965)},96933,e=>{e.n(e.i(1965))}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,17442,e=>{"use strict";var t=e.i(43476),r=e.i(18620);let n={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function a({variant:e="default",className:a,children:s}){return(0,t.jsx)("span",{className:(0,r.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",n[e],a),children:s})}e.s(["Badge",()=>a])},61653,e=>{"use strict";let t=(0,e.i(75254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["default",()=>t])},20015,e=>{"use strict";var t=e.i(43476);class r{diff(e,t,r={}){let n;"function"==typeof r?(n=r,r={}):"callback"in r&&(n=r.callback);let a=this.castInput(e,r),s=this.castInput(t,r),i=this.removeEmpty(this.tokenize(a,r)),l=this.removeEmpty(this.tokenize(s,r));return this.diffWithOptionsObj(i,l,r,n)}diffWithOptionsObj(e,t,r,n){var a;let s=e=>(e=this.postProcess(e,r),n)?void setTimeout(function(){n(e)},0):e,i=t.length,l=e.length,d=1,o=i+l;null!=r.maxEditLength&&(o=Math.min(o,r.maxEditLength));let c=null!=(a=r.timeout)?a:1/0,u=Date.now()+c,x=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(x[0],t,e,0,r);if(x[0].oldPos+1>=l&&m+1>=i)return s(this.buildValues(x[0].lastComponent,t,e));let p=-1/0,h=1/0,v=()=>{for(let n=Math.max(p,-d);n<=Math.min(h,d);n+=2){let a,d=x[n-1],o=x[n+1];d&&(x[n-1]=void 0);let c=!1;if(o){let e=o.oldPos-n;c=o&&0<=e&&e<i}let u=d&&d.oldPos+1<l;if(!c&&!u){x[n]=void 0;continue}if(a=!u||c&&d.oldPos<o.oldPos?this.addToPath(o,!0,!1,0,r):this.addToPath(d,!1,!0,1,r),m=this.extractCommon(a,t,e,n,r),a.oldPos+1>=l&&m+1>=i)return s(this.buildValues(a.lastComponent,t,e))||!0;x[n]=a,a.oldPos+1>=l&&(h=Math.min(h,n-1)),m+1>=i&&(p=Math.max(p,n+1))}d++};if(n)!function e(){setTimeout(function(){if(d>o||Date.now()>u)return n(void 0);v()||e()},0)}();else for(;d<=o&&Date.now()<=u;){let e=v();if(e)return e}}addToPath(e,t,r,n,a){let s=e.lastComponent;return s&&!a.oneChangePerToken&&s.added===t&&s.removed===r?{oldPos:e.oldPos+n,lastComponent:{count:s.count+1,added:t,removed:r,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:t,removed:r,previousComponent:s}}}extractCommon(e,t,r,n,a){let s=t.length,i=r.length,l=e.oldPos,d=l-n,o=0;for(;d+1<s&&l+1<i&&this.equals(r[l+1],t[d+1],a);)d++,l++,o++,a.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return o&&!a.oneChangePerToken&&(e.lastComponent={count:o,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=l,d}equals(e,t,r){return r.comparator?r.comparator(e,t):e===t||!!r.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let r=0;r<e.length;r++)e[r]&&t.push(e[r]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,r){let n,a=[];for(;e;)a.push(e),n=e.previousComponent,delete e.previousComponent,e=n;a.reverse();let s=a.length,i=0,l=0,d=0;for(;i<s;i++){let e=a[i];if(e.removed)e.value=this.join(r.slice(d,d+e.count)),d+=e.count;else{if(!e.added&&this.useLongestToken){let n=t.slice(l,l+e.count);n=n.map(function(e,t){let n=r[d+t];return n.length>e.length?n:e}),e.value=this.join(n)}else e.value=this.join(t.slice(l,l+e.count));l+=e.count,e.added||(d+=e.count)}}return a}}let n=new class extends r{constructor(){super(...arguments),this.tokenize=a}equals(e,t,r){return r.ignoreWhitespace?(r.newlineIsToken&&e.includes("\n")||(e=e.trim()),r.newlineIsToken&&t.includes("\n")||(t=t.trim())):r.ignoreNewlineAtEof&&!r.newlineIsToken&&(e.endsWith("\n")&&(e=e.slice(0,-1)),t.endsWith("\n")&&(t=t.slice(0,-1))),super.equals(e,t,r)}};function a(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,"\n"));let r=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(let e=0;e<n.length;e++){let a=n[e];e%2&&!t.newlineIsToken?r[r.length-1]+=a:r.push(a)}return r}var s=e.i(71645),i=e.i(64659),l=e.i(63059),d=e.i(61653),d=d,o=e.i(75254);let c=(0,o.default)("file-code-corner",[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]]),u=(0,o.default)("git-compare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);var x=e.i(17521),x=x,m=e.i(16715),p=e.i(55436),h=e.i(17442),v=e.i(18620),f=e.i(97878),g=e.i(52808);let b={loading:!1,loaded:!1,error:null,data:null},k={hasDiff:!1,generatedAt:"",source:"not-found",truncated:!1,branch:"",defaultBranch:"",files:[],untracked:[],sections:{againstBase:[],staged:[],unstaged:[],untracked:[]}},y="conductor-session-diff-view-mode",j="conductor-session-diff-hide-unchanged",w=["against-base","staged","unstaged","untracked"],N={"against-base":"Against base",staged:"Staged",unstaged:"Unstaged",untracked:"Untracked"};function C(e){return"string"!=typeof e?"":e.trim().replace(/^\/+/,"").replace(/\/+/g,"/")}function P(e){return"modified"===e||"added"===e||"deleted"===e||"renamed"===e||"copy"===e||"binary"===e||"untracked"===e?e:"unknown"}function L(e){let t=C(e.path);return t?{path:t,oldPath:C(e.oldPath??"")||null,status:P(e.status),additions:Number.isFinite(e.additions)?Math.max(0,Number(e.additions)):0,deletions:Number.isFinite(e.deletions)?Math.max(0,Number(e.deletions)):0}:null}function S(e,t){return"against-base"===t?e.againstBase:e[t]}function B(e,t){return`${e}:${t.oldPath??""}:${t.path}`}function T(e){return"added"===e.status?"Added":"deleted"===e.status?"Deleted":"renamed"===e.status?"Renamed":"copy"===e.status?"Copied":"binary"===e.status?"Binary":"untracked"===e.status?"Untracked":"modified"===e.status?"Modified":"Changed"}function M(e){return"added"===e.status||"untracked"===e.status?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.08)] text-[var(--vk-green)]":"deleted"===e.status?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] text-[var(--vk-red)]":"renamed"===e.status||"copy"===e.status?"border-[rgba(108,168,255,0.35)] bg-[rgba(108,168,255,0.08)] text-[var(--status-working)]":"binary"===e.status?"border-[rgba(210,160,59,0.35)] bg-[rgba(210,160,59,0.08)] text-[var(--status-attention)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] text-[var(--vk-text-muted)]"}function K(e){return!Number.isFinite(e)||e<=0?"0 B":e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function _(e){if(!e)return[];let t=e.replace(/\r\n/g,"\n");if(0===t.length)return[];let r=t.split("\n");return t.endsWith("\n")&&r.pop(),r}function A(e,t,r,n,a,s){return{kind:"content",oldKind:e,newKind:t,oldLine:r,newLine:n,oldText:a,newText:s}}function E(e){return"add"===e?"bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"remove"===e?"bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"context"===e?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"}function $({rows:e}){return(0,t.jsxs)("div",{className:"min-w-[480px] sm:min-w-[720px] overflow-hidden rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)]",children:[(0,t.jsxs)("div",{className:"grid grid-cols-[2.5rem_minmax(0,1fr)_2.5rem_minmax(0,1fr)] sm:grid-cols-[4rem_minmax(0,1fr)_4rem_minmax(0,1fr)] border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[10px] font-medium uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:[(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Old"}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-3 py-2",children:"Before"}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"New"}),(0,t.jsx)("div",{className:"px-3 py-2",children:"After"})]}),(0,t.jsx)("div",{className:"font-mono text-[11px] sm:text-[12px] leading-6",children:e.map((e,r)=>"skip"===e.kind?(0,t.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2 text-center text-[11px] text-[var(--vk-text-muted)] last:border-b-0",children:e.message},`skip-${r}`):(0,t.jsxs)("div",{className:"grid grid-cols-[2.5rem_minmax(0,1fr)_2.5rem_minmax(0,1fr)] sm:grid-cols-[4rem_minmax(0,1fr)_4rem_minmax(0,1fr)] border-b border-[var(--vk-border)] last:border-b-0",children:[(0,t.jsx)("div",{className:(0,v.cn)("border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",E(e.oldKind)),children:e.oldLine??""}),(0,t.jsx)("div",{className:(0,v.cn)("border-r border-[var(--vk-border)] px-3 py-1 whitespace-pre overflow-x-auto",E(e.oldKind)),children:e.oldText||" "}),(0,t.jsx)("div",{className:(0,v.cn)("border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",E(e.newKind)),children:e.newLine??""}),(0,t.jsx)("div",{className:(0,v.cn)("px-3 py-1 whitespace-pre overflow-x-auto",E(e.newKind)),children:e.newText||" "})]},`${e.oldLine??"x"}:${e.newLine??"y"}:${r}`))})]})}function z({rows:e}){return(0,t.jsxs)("div",{className:"overflow-hidden rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)]",children:[(0,t.jsxs)("div",{className:"grid grid-cols-[2rem_2rem_1rem_minmax(0,1fr)] sm:grid-cols-[4rem_4rem_1.5rem_minmax(0,1fr)] border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[10px] font-medium uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:[(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Old"}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"New"}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Op"}),(0,t.jsx)("div",{className:"px-3 py-2",children:"Content"})]}),(0,t.jsx)("div",{className:"font-mono text-[11px] sm:text-[12px] leading-6",children:e.map((e,r)=>{var n,a;return"skip"===e.kind?(0,t.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2 text-center text-[11px] text-[var(--vk-text-muted)] last:border-b-0",children:e.message},`skip-${r}`):(0,t.jsxs)("div",{className:(0,v.cn)("grid grid-cols-[2rem_2rem_1rem_minmax(0,1fr)] sm:grid-cols-[4rem_4rem_1.5rem_minmax(0,1fr)] border-b border-[var(--vk-border)] last:border-b-0","add"===(n=e.lineKind)?"bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"remove"===n?"bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"text-[var(--vk-text-normal)]"),children:[(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:e.oldLine??""}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:e.newLine??""}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-center",children:"add"===(a=e.lineKind)?"+":"remove"===a?"-":" "}),(0,t.jsx)("div",{className:"px-3 py-1 whitespace-pre overflow-x-auto",children:e.text||" "})]},`${e.oldLine??"x"}:${e.newLine??"y"}:${r}`)})})]})}function R({sessionId:e,active:r}){var a;let o=encodeURIComponent(e),[C,E]=(0,s.useState)(k),[R,D]=(0,s.useState)(!0),[I,F]=(0,s.useState)(null),[O,U]=(0,s.useState)(()=>"side-by-side"===window.localStorage.getItem(y)?"side-by-side":"inline"),[W,V]=(0,s.useState)(()=>"true"===window.localStorage.getItem(j)),[q,H]=(0,s.useState)(""),[J,G]=(0,s.useState)({"against-base":!1,staged:!1,unstaged:!1,untracked:!0}),[Q,X]=(0,s.useState)(null),[Y,Z]=(0,s.useState)({}),ee=(0,s.useRef)(!0),et=(0,s.useRef)(""),er=(0,s.useRef)(null),en=(0,s.useRef)(!1),ea=(0,s.useDeferredValue)(q.trim().toLowerCase()),es=(0,s.useCallback)(async()=>{try{let e=await fetch(`/api/sessions/${o}/diff`,{cache:"no-store"});if(!e.ok){if(404===e.status){if(!ee.current)return;E(k),F(null),Z({});return}let t=`Failed to fetch diff (${e.status})`;try{let r=await e.json();"string"==typeof r.error&&r.error.length>0&&(t=r.error)}catch{}throw Error(t)}let t=await e.json();if(!ee.current)return;if(t.error)throw Error(t.error);let r={hasDiff:!!t.hasDiff,generatedAt:"string"==typeof t.generatedAt?t.generatedAt:"",source:"working-tree"===t.source||"remote-pr"===t.source?t.source:"not-found",truncated:!!t.truncated,branch:"string"==typeof t.branch?t.branch:"",defaultBranch:"string"==typeof t.defaultBranch?t.defaultBranch:"",files:Array.isArray(t.files)?t.files:[],untracked:Array.isArray(t.untracked)?t.untracked.filter(e=>"string"==typeof e):[],sections:t.sections},n=JSON.stringify({hasDiff:r.hasDiff,source:r.source,truncated:r.truncated,branch:r.branch,defaultBranch:r.defaultBranch,files:r.files,untracked:r.untracked,sections:r.sections});E(r),et.current!==n&&(et.current=n,Z({})),F(null)}catch(e){if(!ee.current)return;E(k),F(e instanceof Error?e.message:"Failed to load diff")}finally{ee.current&&D(!1)}},[o]),ei=(0,s.useCallback)(async(e,t)=>{let{category:r,file:n,fileKey:a}=e;Z(e=>{let t=e[a];return t?.loading||t?.loaded?e:{...e,[a]:{loading:!0,loaded:!1,error:null,data:null}}});try{let e=new URLSearchParams({path:n.path,category:r,status:n.status});n.oldPath&&e.set("oldPath",n.oldPath),t&&e.set("baseBranch",t);let s=await fetch(`/api/sessions/${o}/diff?${e.toString()}`,{cache:"no-store"});if(!s.ok){let e=`Failed to load diff contents (${s.status})`;try{let t=await s.json();"string"==typeof t.error&&t.error.length>0&&(e=t.error)}catch{}throw Error(e)}let i=await s.json();if(!ee.current)return;if(i.error)throw Error(i.error);Z(e=>({...e,[a]:{loading:!1,loaded:!0,error:null,data:{path:"string"==typeof i.path?i.path:n.path,oldPath:"string"==typeof i.oldPath?i.oldPath:null,status:P(i.status),category:"staged"===i.category||"unstaged"===i.category||"untracked"===i.category?i.category:"against-base",baseBranch:"string"==typeof i.baseBranch?i.baseBranch:t,binary:!!i.binary,truncated:!!i.truncated,originalSize:Number.isFinite(i.originalSize)?Math.max(0,Number(i.originalSize)):0,modifiedSize:Number.isFinite(i.modifiedSize)?Math.max(0,Number(i.modifiedSize)):0,original:"string"==typeof i.original||null===i.original?i.original:"",modified:"string"==typeof i.modified||null===i.modified?i.modified:""}}}))}catch(e){if(!ee.current)return;Z(t=>({...t,[a]:{loading:!1,loaded:!0,error:e instanceof Error?e.message:"Failed to load diff contents",data:null}}))}},[o]);(0,s.useEffect)(()=>{if(ee.current=!0,er.current=null,en.current=!1,!r)return()=>{ee.current=!1};es();let t=(0,f.subscribeToSnapshotEvents)(t=>{if(!ee.current)return;let r=t.sessions.find(t=>t.id===e);if(!r)return;en.current=g.TERMINAL_STATUSES.has(r.status);let n=`${r.status}:${r.lastActivityAt}`;er.current!==n&&(er.current=n,es())}),n=null,a=()=>{let e="visible"!==document.visibilityState||en.current?3e4:15e3;n=window.setTimeout(async()=>{ee.current&&(await es(),ee.current&&a())},e)};a();let s=()=>{er.current=null,es()},i=()=>{"visible"===document.visibilityState&&s()};return window.addEventListener("focus",s),document.addEventListener("visibilitychange",i),()=>{ee.current=!1,t(),null!=n&&window.clearTimeout(n),window.removeEventListener("focus",s),document.removeEventListener("visibilitychange",i)}},[r,es,e]),(0,s.useEffect)(()=>{window.localStorage.setItem(y,O)},[O]),(0,s.useEffect)(()=>{window.localStorage.setItem(j,W?"true":"false")},[W]),(0,s.useEffect)(()=>{D(!0),F(null),et.current="",H(""),X(null),Z({}),G({"against-base":!1,staged:!1,unstaged:!1,untracked:!0})},[e]);let el=(0,s.useMemo)(()=>{let e,t,r,n,a,s;return t=(e=e=>Array.isArray(e)?e.map(e=>L(e)).filter(e=>null!==e):[])(C.sections?.againstBase??C.files??[]),r=e(C.sections?.staged??[]),n=e(C.sections?.unstaged??[]),a=e(C.sections?.untracked??[]).concat(Array.isArray(C.untracked)?C.untracked.map(e=>L({path:e,status:"untracked",additions:0,deletions:0})).filter(e=>null!==e):[]),{againstBase:(s=e=>{let t=new Map;for(let r of e)t.set(`${r.path}:${r.oldPath??""}:${r.status}`,r);return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,void 0,{sensitivity:"base"}))})(t),staged:s(r),unstaged:s(n),untracked:s(a)}},[C]),ed=(0,s.useMemo)(()=>{if(!ea)return el;let e=e=>e.filter(e=>{let t=e.oldPath??"";return e.path.toLowerCase().includes(ea)||t.toLowerCase().includes(ea)});return{againstBase:e(el.againstBase),staged:e(el.staged),unstaged:e(el.unstaged),untracked:e(el.untracked)}},[ea,el]),eo=(0,s.useMemo)(()=>{let e=new Map;for(let t of w)for(let r of S(el,t)){let n=B(t,r);e.has(n)||e.set(n,r)}let t=0,r=0;for(let n of e.values())t+=n.additions,r+=n.deletions;return{files:e.size,additions:t,deletions:r}},[el]),ec=(0,s.useMemo)(()=>{let e=[];for(let t of w)for(let r of S(ed,t))e.push({category:t,file:r,fileKey:B(t,r)});return e},[ed]),eu=(0,s.useMemo)(()=>{let e=new Map;for(let t of w)for(let r of S(el,t)){let n=B(t,r);e.set(n,{category:t,file:r,fileKey:n})}return e},[el]);(0,s.useEffect)(()=>{0===ec.length?X(null):X(e=>e&&ec.some(t=>t.fileKey===e)?e:ec[0]?.fileKey??null)},[ec]);let ex=Q?eu.get(Q)??null:null,em=ex?Y[ex.fileKey]??b:b,ep=ec.length>0,eh=C.defaultBranch?.trim()||"main";(0,s.useEffect)(()=>{if(!r||!ex)return;let e=Y[ex.fileKey];e?.loading||e?.loaded||ei(ex,eh)},[r,eh,Y,ei,ex]);let ev=(0,s.useMemo)(()=>{let e=em.data;if(!e||e.binary)return[];let t=function(e,t){let r=n.diff(e,t,void 0),a=[],s=1,i=1;for(let e=0;e<r.length;e+=1){let t=r[e],n=_(t.value);if(t.removed){let t=r[e+1],l=t?.added?_(t.value):[],d=Math.max(n.length,l.length);for(let e=0;e<d;e+=1){let t=n[e]??"",r=l[e]??"",d=e<n.length,o=e<l.length;a.push(A(d?"remove":"empty",o?"add":"empty",d?s+e:null,o?i+e:null,t,r))}s+=n.length,t?.added&&(i+=l.length,e+=1);continue}if(t.added){for(let e=0;e<n.length;e+=1)a.push(A("empty","add",null,i,"",n[e]??"")),i+=1;continue}for(let e of n)a.push(A("context","context",s,i,e,e)),s+=1,i+=1}return a}(e.original??"",e.modified??"");return W?function(e){if(0===e.length)return e;let t=[],r=0;for(;r<e.length;){let n=e[r];if("content"!==n.kind||"context"!==n.oldKind||"context"!==n.newKind){t.push(n),r+=1;continue}let a=r;for(;a<e.length;){let t=e[a];if("content"!==t.kind||"context"!==t.oldKind||"context"!==t.newKind)break;a+=1}let s=e.slice(r,a);s.length<=7?t.push(...s):(t.push(...s.slice(0,3)),t.push({kind:"skip",oldKind:"empty",newKind:"empty",oldLine:null,newLine:null,oldText:"",newText:"",message:`${s.length-6} unchanged lines hidden`}),t.push(...s.slice(-3))),r=a}return t}(t):t},[W,em.data]),ef=(0,s.useMemo)(()=>(function(e){let t=[];for(let r of e){if("skip"===r.kind){t.push({kind:"skip",lineKind:"context",oldLine:null,newLine:null,text:"",message:r.message});continue}if("context"===r.oldKind&&"context"===r.newKind){t.push({kind:"content",lineKind:"context",oldLine:r.oldLine,newLine:r.newLine,text:r.oldText});continue}"remove"===r.oldKind&&t.push({kind:"content",lineKind:"remove",oldLine:r.oldLine,newLine:null,text:r.oldText}),"add"===r.newKind&&t.push({kind:"content",lineKind:"add",oldLine:null,newLine:r.newLine,text:r.newText})}return t})(ev),[ev]),eg=(0,s.useCallback)(e=>{G(t=>({...t,[e]:!t[e]}))},[]);return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",children:[(0,t.jsxs)("div",{className:"flex min-h-[42px] shrink-0 items-center gap-2 border-b border-[var(--vk-border)] px-3",children:[(0,t.jsx)(u,{className:"h-[15px] w-[15px] text-[var(--vk-text-muted)]"}),(0,t.jsx)("span",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:"Review Diff"}),(0,t.jsx)(h.Badge,{variant:"outline",children:"working-tree"===(a=C.source)?"Working tree":"remote-pr"===a?"Remote PR":"Not found"}),C.branch?(0,t.jsx)(h.Badge,{variant:"outline",children:C.branch}):null,C.defaultBranch?(0,t.jsxs)(h.Badge,{variant:"outline",children:["base ",C.defaultBranch]}):null,(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsx)("span",{className:"hidden text-[11px] text-[var(--vk-text-muted)] lg:inline",children:function(e){if(!e)return"Not generated";let t=new Date(e);return Number.isNaN(t.getTime())?"Not generated":t.toLocaleString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}(C.generatedAt)}),(0,t.jsx)("button",{type:"button",onClick:()=>void es(),disabled:R,className:"inline-flex h-[24px] w-[24px] items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60","aria-label":"Refresh diff",children:(0,t.jsx)(m.RefreshCw,{className:(0,v.cn)("h-[14px] w-[14px]",R&&"animate-spin")})})]})]}),(0,t.jsxs)("div",{className:"sticky top-0 z-10 flex shrink-0 items-center gap-3 border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2.5",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,t.jsxs)("span",{children:[eo.files," files"]}),(0,t.jsxs)("span",{className:"font-mono text-[var(--vk-green)]",children:["+",eo.additions]}),(0,t.jsxs)("span",{className:"font-mono text-[var(--vk-red)]",children:["-",eo.deletions]}),C.truncated?(0,t.jsx)("span",{className:"text-[var(--status-attention)]",children:"Summary truncated"}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{type:"button",onClick:()=>U("side-by-side"),className:(0,v.cn)("rounded-[6px] px-2 py-1 text-[11px]","side-by-side"===O?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:"Split"}),(0,t.jsx)("button",{type:"button",onClick:()=>U("inline"),className:(0,v.cn)("rounded-[6px] px-2 py-1 text-[11px]","inline"===O?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:"Inline"}),(0,t.jsx)("button",{type:"button",onClick:()=>V(e=>!e),className:(0,v.cn)("rounded-[6px] px-2 py-1 text-[11px]",W?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:W?"Show all":(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"hidden sm:inline",children:"Hide unchanged"}),(0,t.jsx)("span",{className:"sm:hidden",children:"Hide"})]})})]})]}),(0,t.jsx)("div",{className:"shrink-0 border-b border-[var(--vk-border)] p-2",children:(0,t.jsxs)("label",{className:"flex items-center gap-2 rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-2.5 py-2",children:[(0,t.jsx)(p.Search,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,t.jsx)("input",{type:"text",value:q,onChange:e=>H(e.target.value),placeholder:"Search changed files...",className:"w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 overflow-hidden",children:[!R||C.hasDiff||I?null:(0,t.jsx)("div",{className:"flex h-full items-center justify-center p-8 text-[13px] text-[var(--vk-text-muted)]",children:"Loading session diff..."}),I?(0,t.jsx)("div",{className:"flex h-full items-center justify-center p-8 text-center text-[13px] text-[var(--status-error)]",children:I}):null,R||I||ep?null:(0,t.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-8 text-center",children:[(0,t.jsx)(d.default,{className:"h-7 w-7 text-[var(--vk-text-muted)]"}),(0,t.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:ea?"No files match the current search.":"No changed files in this session yet."})]}),!I&&ep?(0,t.jsxs)("div",{className:"grid h-full min-h-0 grid-rows-[minmax(10rem,14rem)_minmax(0,1fr)] sm:grid-rows-[minmax(14rem,18rem)_minmax(0,1fr)] lg:grid-cols-[320px_minmax(0,1fr)] lg:grid-rows-1",children:[(0,t.jsx)("div",{className:"min-h-0 overflow-y-auto border-b border-[var(--vk-border)] lg:border-b-0 lg:border-r",children:w.map(e=>{let r=S(ed,e);if(0===r.length)return null;let n=J[e];return(0,t.jsxs)("section",{className:"border-b border-[var(--vk-border)] last:border-b-0",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>eg(e),className:"sticky top-0 z-[5] flex w-full items-center gap-2 bg-[var(--vk-bg-panel)] px-3 py-2 text-left text-[12px] text-[var(--vk-text-muted)]",children:[n?(0,t.jsx)(l.ChevronRight,{className:"h-4 w-4"}):(0,t.jsx)(i.ChevronDown,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:N[e]}),(0,t.jsx)("span",{className:"font-mono text-[var(--vk-text-muted)]",children:r.length})]}),n?null:(0,t.jsx)("div",{className:"py-1",children:r.map(r=>{let n=B(e,r),a=n===Q;return(0,t.jsxs)("button",{type:"button",onClick:()=>X(n),className:(0,v.cn)("flex w-full items-start gap-2 border-l-2 px-3 py-2.5 text-left transition",a?"border-l-[var(--status-working)] bg-[rgba(108,168,255,0.08)]":"border-l-transparent hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate font-mono text-[12px] text-[var(--vk-text-strong)]",children:r.path}),(0,t.jsxs)("span",{className:"mt-0.5 flex items-center gap-2",children:[(0,t.jsx)("span",{className:(0,v.cn)("inline-flex h-[20px] items-center rounded-[6px] border px-1.5 text-[10px]",M(r)),children:T(r)}),r.oldPath?(0,t.jsx)("span",{className:"truncate font-mono text-[10px] text-[var(--vk-text-muted)]",children:r.oldPath}):(0,t.jsx)("span",{className:"text-[10px] text-[var(--vk-text-muted)]",children:N[e]})]})]}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px]",children:[r.additions>0?(0,t.jsxs)("span",{className:"block text-right text-[var(--vk-green)]",children:["+",r.additions]}):null,r.deletions>0?(0,t.jsxs)("span",{className:"block text-right text-[var(--vk-red)]",children:["-",r.deletions]}):null,0===r.additions&&0===r.deletions?(0,t.jsx)("span",{className:"block text-right text-[var(--vk-text-muted)]",children:"0"}):null]})]},n)})})]},e)})}),(0,t.jsx)("div",{className:"min-h-0 overflow-hidden",children:ex?(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,t.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:(0,v.cn)("inline-flex h-[24px] items-center rounded-[6px] border px-2 text-[11px]",M(ex.file)),children:T(ex.file)}),(0,t.jsx)("span",{className:"truncate font-mono text-[13px] text-[var(--vk-text-strong)]",children:ex.file.path})]}),(0,t.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)("span",{children:N[ex.category]}),ex.file.oldPath?(0,t.jsxs)("span",{className:"font-mono",children:[ex.file.oldPath," -> ",ex.file.path]}):null,(0,t.jsxs)("span",{className:"font-mono text-[var(--vk-green)]",children:["+",ex.file.additions]}),(0,t.jsxs)("span",{className:"font-mono text-[var(--vk-red)]",children:["-",ex.file.deletions]})]})]}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto px-4 py-4",children:[em.loading?(0,t.jsxs)("div",{className:"flex h-full min-h-[240px] items-center justify-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)(x.default,{className:"h-4 w-4 animate-spin"}),(0,t.jsx)("span",{children:"Loading diff..."})]}):null,em.error?(0,t.jsx)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[13px] text-[var(--status-error)]",children:em.error}):null,!em.loading&&!em.error&&em.data?.binary?(0,t.jsxs)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[12px] text-[var(--vk-text-muted)]",children:["Binary file preview is not available for ",e.slice(0,6),"."]}):null,em.loading||em.error||!em.data||em.data.binary?null:(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-[11px] text-[var(--vk-text-muted)]",children:[(0,t.jsxs)("span",{children:["Base: ",em.data.baseBranch||eh]}),(0,t.jsxs)("span",{children:["Original: ",K(em.data.originalSize)]}),(0,t.jsxs)("span",{children:["Modified: ",K(em.data.modifiedSize)]}),em.data.truncated?(0,t.jsx)("span",{className:"text-[var(--status-attention)]",children:"Preview truncated to 1 MB."}):null]}),(0,t.jsx)("div",{className:"overflow-auto pb-4",children:"side-by-side"===O?(0,t.jsx)($,{rows:ev}):(0,t.jsx)(z,{rows:ef})})]}),em.loading||em.error||em.data?null:(0,t.jsx)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[12px] text-[var(--vk-text-muted)]",children:"No diff content available for this file."})]})]}):(0,t.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-8 text-center",children:[(0,t.jsx)(c,{className:"h-8 w-8 text-[var(--vk-text-muted)]"}),(0,t.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Select a file to inspect its diff."})]})})]}):null]})]})}e.s(["SessionDiff",()=>R],20015)},41386,e=>{e.n(e.i(20015))}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,17442,e=>{"use strict";var t=e.i(43476),r=e.i(18620);let n={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function a({variant:e="default",className:a,children:s}){return(0,t.jsx)("span",{className:(0,r.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",n[e],a),children:s})}e.s(["Badge",()=>a])},61653,e=>{"use strict";let t=(0,e.i(75254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["default",()=>t])},20015,e=>{"use strict";var t=e.i(43476);class r{diff(e,t,r={}){let n;"function"==typeof r?(n=r,r={}):"callback"in r&&(n=r.callback);let a=this.castInput(e,r),s=this.castInput(t,r),i=this.removeEmpty(this.tokenize(a,r)),l=this.removeEmpty(this.tokenize(s,r));return this.diffWithOptionsObj(i,l,r,n)}diffWithOptionsObj(e,t,r,n){var a;let s=e=>(e=this.postProcess(e,r),n)?void setTimeout(function(){n(e)},0):e,i=t.length,l=e.length,d=1,o=i+l;null!=r.maxEditLength&&(o=Math.min(o,r.maxEditLength));let c=null!=(a=r.timeout)?a:1/0,u=Date.now()+c,x=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(x[0],t,e,0,r);if(x[0].oldPos+1>=l&&m+1>=i)return s(this.buildValues(x[0].lastComponent,t,e));let p=-1/0,h=1/0,v=()=>{for(let n=Math.max(p,-d);n<=Math.min(h,d);n+=2){let a,d=x[n-1],o=x[n+1];d&&(x[n-1]=void 0);let c=!1;if(o){let e=o.oldPos-n;c=o&&0<=e&&e<i}let u=d&&d.oldPos+1<l;if(!c&&!u){x[n]=void 0;continue}if(a=!u||c&&d.oldPos<o.oldPos?this.addToPath(o,!0,!1,0,r):this.addToPath(d,!1,!0,1,r),m=this.extractCommon(a,t,e,n,r),a.oldPos+1>=l&&m+1>=i)return s(this.buildValues(a.lastComponent,t,e))||!0;x[n]=a,a.oldPos+1>=l&&(h=Math.min(h,n-1)),m+1>=i&&(p=Math.max(p,n+1))}d++};if(n)!function e(){setTimeout(function(){if(d>o||Date.now()>u)return n(void 0);v()||e()},0)}();else for(;d<=o&&Date.now()<=u;){let e=v();if(e)return e}}addToPath(e,t,r,n,a){let s=e.lastComponent;return s&&!a.oneChangePerToken&&s.added===t&&s.removed===r?{oldPos:e.oldPos+n,lastComponent:{count:s.count+1,added:t,removed:r,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:t,removed:r,previousComponent:s}}}extractCommon(e,t,r,n,a){let s=t.length,i=r.length,l=e.oldPos,d=l-n,o=0;for(;d+1<s&&l+1<i&&this.equals(r[l+1],t[d+1],a);)d++,l++,o++,a.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return o&&!a.oneChangePerToken&&(e.lastComponent={count:o,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=l,d}equals(e,t,r){return r.comparator?r.comparator(e,t):e===t||!!r.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let r=0;r<e.length;r++)e[r]&&t.push(e[r]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,r){let n,a=[];for(;e;)a.push(e),n=e.previousComponent,delete e.previousComponent,e=n;a.reverse();let s=a.length,i=0,l=0,d=0;for(;i<s;i++){let e=a[i];if(e.removed)e.value=this.join(r.slice(d,d+e.count)),d+=e.count;else{if(!e.added&&this.useLongestToken){let n=t.slice(l,l+e.count);n=n.map(function(e,t){let n=r[d+t];return n.length>e.length?n:e}),e.value=this.join(n)}else e.value=this.join(t.slice(l,l+e.count));l+=e.count,e.added||(d+=e.count)}}return a}}let n=new class extends r{constructor(){super(...arguments),this.tokenize=a}equals(e,t,r){return r.ignoreWhitespace?(r.newlineIsToken&&e.includes("\n")||(e=e.trim()),r.newlineIsToken&&t.includes("\n")||(t=t.trim())):r.ignoreNewlineAtEof&&!r.newlineIsToken&&(e.endsWith("\n")&&(e=e.slice(0,-1)),t.endsWith("\n")&&(t=t.slice(0,-1))),super.equals(e,t,r)}};function a(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,"\n"));let r=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(let e=0;e<n.length;e++){let a=n[e];e%2&&!t.newlineIsToken?r[r.length-1]+=a:r.push(a)}return r}var s=e.i(71645),i=e.i(64659),l=e.i(63059),d=e.i(61653),d=d,o=e.i(75254);let c=(0,o.default)("file-code-corner",[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]]),u=(0,o.default)("git-compare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);var x=e.i(17521),x=x,m=e.i(16715),p=e.i(55436),h=e.i(17442),v=e.i(18620),f=e.i(97878),g=e.i(52808);let b={loading:!1,loaded:!1,error:null,data:null},k={hasDiff:!1,generatedAt:"",source:"not-found",truncated:!1,branch:"",defaultBranch:"",files:[],untracked:[],sections:{againstBase:[],staged:[],unstaged:[],untracked:[]}},y="conductor-session-diff-view-mode",j="conductor-session-diff-hide-unchanged",w=["against-base","staged","unstaged","untracked"],N={"against-base":"Against base",staged:"Staged",unstaged:"Unstaged",untracked:"Untracked"};function C(e){return"string"!=typeof e?"":e.trim().replace(/^\/+/,"").replace(/\/+/g,"/")}function P(e){return"modified"===e||"added"===e||"deleted"===e||"renamed"===e||"copy"===e||"binary"===e||"untracked"===e?e:"unknown"}function S(e){let t=C(e.path);return t?{path:t,oldPath:C(e.oldPath??"")||null,status:P(e.status),additions:Number.isFinite(e.additions)?Math.max(0,Number(e.additions)):0,deletions:Number.isFinite(e.deletions)?Math.max(0,Number(e.deletions)):0}:null}function L(e,t){return"against-base"===t?e.againstBase:e[t]}function B(e,t){return`${e}:${t.oldPath??""}:${t.path}`}function T(e){return"added"===e.status?"Added":"deleted"===e.status?"Deleted":"renamed"===e.status?"Renamed":"copy"===e.status?"Copied":"binary"===e.status?"Binary":"untracked"===e.status?"Untracked":"modified"===e.status?"Modified":"Changed"}function M(e){return"added"===e.status||"untracked"===e.status?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.08)] text-[var(--vk-green)]":"deleted"===e.status?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] text-[var(--vk-red)]":"renamed"===e.status||"copy"===e.status?"border-[rgba(108,168,255,0.35)] bg-[rgba(108,168,255,0.08)] text-[var(--status-working)]":"binary"===e.status?"border-[rgba(210,160,59,0.35)] bg-[rgba(210,160,59,0.08)] text-[var(--status-attention)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] text-[var(--vk-text-muted)]"}function K(e){return!Number.isFinite(e)||e<=0?"0 B":e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function _(e){if(!e)return[];let t=e.replace(/\r\n/g,"\n");if(0===t.length)return[];let r=t.split("\n");return t.endsWith("\n")&&r.pop(),r}function A(e,t,r,n,a,s){return{kind:"content",oldKind:e,newKind:t,oldLine:r,newLine:n,oldText:a,newText:s}}function E(e){return"add"===e?"bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"remove"===e?"bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"context"===e?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"}function $({rows:e}){return(0,t.jsxs)("div",{className:"min-w-[480px] sm:min-w-[720px] overflow-hidden rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)]",children:[(0,t.jsxs)("div",{className:"grid grid-cols-[2.5rem_minmax(0,1fr)_2.5rem_minmax(0,1fr)] sm:grid-cols-[4rem_minmax(0,1fr)_4rem_minmax(0,1fr)] border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[10px] font-medium uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:[(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Old"}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-3 py-2",children:"Before"}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"New"}),(0,t.jsx)("div",{className:"px-3 py-2",children:"After"})]}),(0,t.jsx)("div",{className:"font-mono text-[11px] sm:text-[12px] leading-6",children:e.map((e,r)=>"skip"===e.kind?(0,t.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2 text-center text-[11px] text-[var(--vk-text-muted)] last:border-b-0",children:e.message},`skip-${r}`):(0,t.jsxs)("div",{className:"grid grid-cols-[2.5rem_minmax(0,1fr)_2.5rem_minmax(0,1fr)] sm:grid-cols-[4rem_minmax(0,1fr)_4rem_minmax(0,1fr)] border-b border-[var(--vk-border)] last:border-b-0",children:[(0,t.jsx)("div",{className:(0,v.cn)("border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",E(e.oldKind)),children:e.oldLine??""}),(0,t.jsx)("div",{className:(0,v.cn)("border-r border-[var(--vk-border)] px-3 py-1 whitespace-pre overflow-x-auto",E(e.oldKind)),children:e.oldText||" "}),(0,t.jsx)("div",{className:(0,v.cn)("border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",E(e.newKind)),children:e.newLine??""}),(0,t.jsx)("div",{className:(0,v.cn)("px-3 py-1 whitespace-pre overflow-x-auto",E(e.newKind)),children:e.newText||" "})]},`${e.oldLine??"x"}:${e.newLine??"y"}:${r}`))})]})}function z({rows:e}){return(0,t.jsxs)("div",{className:"overflow-hidden rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)]",children:[(0,t.jsxs)("div",{className:"grid grid-cols-[2rem_2rem_1rem_minmax(0,1fr)] sm:grid-cols-[4rem_4rem_1.5rem_minmax(0,1fr)] border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[10px] font-medium uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:[(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Old"}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"New"}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Op"}),(0,t.jsx)("div",{className:"px-3 py-2",children:"Content"})]}),(0,t.jsx)("div",{className:"font-mono text-[11px] sm:text-[12px] leading-6",children:e.map((e,r)=>{var n,a;return"skip"===e.kind?(0,t.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2 text-center text-[11px] text-[var(--vk-text-muted)] last:border-b-0",children:e.message},`skip-${r}`):(0,t.jsxs)("div",{className:(0,v.cn)("grid grid-cols-[2rem_2rem_1rem_minmax(0,1fr)] sm:grid-cols-[4rem_4rem_1.5rem_minmax(0,1fr)] border-b border-[var(--vk-border)] last:border-b-0","add"===(n=e.lineKind)?"bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"remove"===n?"bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"text-[var(--vk-text-normal)]"),children:[(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:e.oldLine??""}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:e.newLine??""}),(0,t.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-center",children:"add"===(a=e.lineKind)?"+":"remove"===a?"-":" "}),(0,t.jsx)("div",{className:"px-3 py-1 whitespace-pre overflow-x-auto",children:e.text||" "})]},`${e.oldLine??"x"}:${e.newLine??"y"}:${r}`)})})]})}function D({sessionId:e,active:r}){var a;let o=encodeURIComponent(e),[C,E]=(0,s.useState)(k),[D,R]=(0,s.useState)(!0),[I,F]=(0,s.useState)(null),[O,U]=(0,s.useState)(()=>"side-by-side"===window.localStorage.getItem(y)?"side-by-side":"inline"),[W,V]=(0,s.useState)(()=>"true"===window.localStorage.getItem(j)),[q,H]=(0,s.useState)(""),[J,Z]=(0,s.useState)({"against-base":!1,staged:!1,unstaged:!1,untracked:!0}),[G,Q]=(0,s.useState)(null),[X,Y]=(0,s.useState)({}),ee=(0,s.useRef)(!0),et=(0,s.useRef)(""),er=(0,s.useRef)(null),en=(0,s.useRef)(!1),ea=(0,s.useDeferredValue)(q.trim().toLowerCase()),es=(0,s.useCallback)(async()=>{try{let e=await fetch(`/api/sessions/${o}/diff`,{cache:"no-store"});if(!e.ok){if(404===e.status){if(!ee.current)return;E(k),F(null),Y({});return}let t=`Failed to fetch diff (${e.status})`;try{let r=await e.json();"string"==typeof r.error&&r.error.length>0&&(t=r.error)}catch{}throw Error(t)}let t=await e.json();if(!ee.current)return;if(t.error)throw Error(t.error);let r={hasDiff:!!t.hasDiff,generatedAt:"string"==typeof t.generatedAt?t.generatedAt:"",source:"working-tree"===t.source||"remote-pr"===t.source?t.source:"not-found",truncated:!!t.truncated,branch:"string"==typeof t.branch?t.branch:"",defaultBranch:"string"==typeof t.defaultBranch?t.defaultBranch:"",files:Array.isArray(t.files)?t.files:[],untracked:Array.isArray(t.untracked)?t.untracked.filter(e=>"string"==typeof e):[],sections:t.sections},n=JSON.stringify({hasDiff:r.hasDiff,source:r.source,truncated:r.truncated,branch:r.branch,defaultBranch:r.defaultBranch,files:r.files,untracked:r.untracked,sections:r.sections});E(r),et.current!==n&&(et.current=n,Y({})),F(null)}catch(e){if(!ee.current)return;E(k),F(e instanceof Error?e.message:"Failed to load diff")}finally{ee.current&&R(!1)}},[o]),ei=(0,s.useCallback)(async(e,t)=>{let{category:r,file:n,fileKey:a}=e;Y(e=>{let t=e[a];return t?.loading||t?.loaded?e:{...e,[a]:{loading:!0,loaded:!1,error:null,data:null}}});try{let e=new URLSearchParams({path:n.path,category:r,status:n.status});n.oldPath&&e.set("oldPath",n.oldPath),t&&e.set("baseBranch",t);let s=await fetch(`/api/sessions/${o}/diff?${e.toString()}`,{cache:"no-store"});if(!s.ok){let e=`Failed to load diff contents (${s.status})`;try{let t=await s.json();"string"==typeof t.error&&t.error.length>0&&(e=t.error)}catch{}throw Error(e)}let i=await s.json();if(!ee.current)return;if(i.error)throw Error(i.error);Y(e=>({...e,[a]:{loading:!1,loaded:!0,error:null,data:{path:"string"==typeof i.path?i.path:n.path,oldPath:"string"==typeof i.oldPath?i.oldPath:null,status:P(i.status),category:"staged"===i.category||"unstaged"===i.category||"untracked"===i.category?i.category:"against-base",baseBranch:"string"==typeof i.baseBranch?i.baseBranch:t,binary:!!i.binary,truncated:!!i.truncated,originalSize:Number.isFinite(i.originalSize)?Math.max(0,Number(i.originalSize)):0,modifiedSize:Number.isFinite(i.modifiedSize)?Math.max(0,Number(i.modifiedSize)):0,original:"string"==typeof i.original||null===i.original?i.original:"",modified:"string"==typeof i.modified||null===i.modified?i.modified:""}}}))}catch(e){if(!ee.current)return;Y(t=>({...t,[a]:{loading:!1,loaded:!0,error:e instanceof Error?e.message:"Failed to load diff contents",data:null}}))}},[o]);(0,s.useEffect)(()=>{if(ee.current=!0,er.current=null,en.current=!1,!r)return()=>{ee.current=!1};es();let t=(0,f.subscribeToSnapshotEvents)(t=>{if(!ee.current)return;let r=t.sessions.find(t=>t.id===e);if(!r)return;en.current=g.TERMINAL_STATUSES.has(r.status);let n=`${r.status}:${r.lastActivityAt}`;er.current!==n&&(er.current=n,es())}),n=null,a=()=>{let e="visible"!==document.visibilityState||en.current?3e4:15e3;n=window.setTimeout(async()=>{ee.current&&(await es(),ee.current&&a())},e)};a();let s=()=>{er.current=null,es()},i=()=>{"visible"===document.visibilityState&&s()};return window.addEventListener("focus",s),document.addEventListener("visibilitychange",i),()=>{ee.current=!1,t(),null!=n&&window.clearTimeout(n),window.removeEventListener("focus",s),document.removeEventListener("visibilitychange",i)}},[r,es,e]),(0,s.useEffect)(()=>{window.localStorage.setItem(y,O)},[O]),(0,s.useEffect)(()=>{window.localStorage.setItem(j,W?"true":"false")},[W]),(0,s.useEffect)(()=>{R(!0),F(null),et.current="",H(""),Q(null),Y({}),Z({"against-base":!1,staged:!1,unstaged:!1,untracked:!0})},[e]);let el=(0,s.useMemo)(()=>{let e,t,r,n,a,s;return t=(e=e=>Array.isArray(e)?e.map(e=>S(e)).filter(e=>null!==e):[])(C.sections?.againstBase??C.files??[]),r=e(C.sections?.staged??[]),n=e(C.sections?.unstaged??[]),a=e(C.sections?.untracked??[]).concat(Array.isArray(C.untracked)?C.untracked.map(e=>S({path:e,status:"untracked",additions:0,deletions:0})).filter(e=>null!==e):[]),{againstBase:(s=e=>{let t=new Map;for(let r of e)t.set(`${r.path}:${r.oldPath??""}:${r.status}`,r);return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,void 0,{sensitivity:"base"}))})(t),staged:s(r),unstaged:s(n),untracked:s(a)}},[C]),ed=(0,s.useMemo)(()=>{if(!ea)return el;let e=e=>e.filter(e=>{let t=e.oldPath??"";return e.path.toLowerCase().includes(ea)||t.toLowerCase().includes(ea)});return{againstBase:e(el.againstBase),staged:e(el.staged),unstaged:e(el.unstaged),untracked:e(el.untracked)}},[ea,el]),eo=(0,s.useMemo)(()=>{let e=new Map;for(let t of w)for(let r of L(el,t)){let n=B(t,r);e.has(n)||e.set(n,r)}let t=0,r=0;for(let n of e.values())t+=n.additions,r+=n.deletions;return{files:e.size,additions:t,deletions:r}},[el]),ec=(0,s.useMemo)(()=>{let e=[];for(let t of w)for(let r of L(ed,t))e.push({category:t,file:r,fileKey:B(t,r)});return e},[ed]),eu=(0,s.useMemo)(()=>{let e=new Map;for(let t of w)for(let r of L(el,t)){let n=B(t,r);e.set(n,{category:t,file:r,fileKey:n})}return e},[el]);(0,s.useEffect)(()=>{0===ec.length?Q(null):Q(e=>e&&ec.some(t=>t.fileKey===e)?e:ec[0]?.fileKey??null)},[ec]);let ex=G?eu.get(G)??null:null,em=ex?X[ex.fileKey]??b:b,ep=ec.length>0,eh=C.defaultBranch?.trim()||"main";(0,s.useEffect)(()=>{if(!r||!ex)return;let e=X[ex.fileKey];e?.loading||e?.loaded||ei(ex,eh)},[r,eh,X,ei,ex]);let ev=(0,s.useMemo)(()=>{let e=em.data;if(!e||e.binary)return[];let t=function(e,t){let r=n.diff(e,t,void 0),a=[],s=1,i=1;for(let e=0;e<r.length;e+=1){let t=r[e],n=_(t.value);if(t.removed){let t=r[e+1],l=t?.added?_(t.value):[],d=Math.max(n.length,l.length);for(let e=0;e<d;e+=1){let t=n[e]??"",r=l[e]??"",d=e<n.length,o=e<l.length;a.push(A(d?"remove":"empty",o?"add":"empty",d?s+e:null,o?i+e:null,t,r))}s+=n.length,t?.added&&(i+=l.length,e+=1);continue}if(t.added){for(let e=0;e<n.length;e+=1)a.push(A("empty","add",null,i,"",n[e]??"")),i+=1;continue}for(let e of n)a.push(A("context","context",s,i,e,e)),s+=1,i+=1}return a}(e.original??"",e.modified??"");return W?function(e){if(0===e.length)return e;let t=[],r=0;for(;r<e.length;){let n=e[r];if("content"!==n.kind||"context"!==n.oldKind||"context"!==n.newKind){t.push(n),r+=1;continue}let a=r;for(;a<e.length;){let t=e[a];if("content"!==t.kind||"context"!==t.oldKind||"context"!==t.newKind)break;a+=1}let s=e.slice(r,a);s.length<=7?t.push(...s):(t.push(...s.slice(0,3)),t.push({kind:"skip",oldKind:"empty",newKind:"empty",oldLine:null,newLine:null,oldText:"",newText:"",message:`${s.length-6} unchanged lines hidden`}),t.push(...s.slice(-3))),r=a}return t}(t):t},[W,em.data]),ef=(0,s.useMemo)(()=>(function(e){let t=[];for(let r of e){if("skip"===r.kind){t.push({kind:"skip",lineKind:"context",oldLine:null,newLine:null,text:"",message:r.message});continue}if("context"===r.oldKind&&"context"===r.newKind){t.push({kind:"content",lineKind:"context",oldLine:r.oldLine,newLine:r.newLine,text:r.oldText});continue}"remove"===r.oldKind&&t.push({kind:"content",lineKind:"remove",oldLine:r.oldLine,newLine:null,text:r.oldText}),"add"===r.newKind&&t.push({kind:"content",lineKind:"add",oldLine:null,newLine:r.newLine,text:r.newText})}return t})(ev),[ev]),eg=(0,s.useCallback)(e=>{Z(t=>({...t,[e]:!t[e]}))},[]);return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",children:[(0,t.jsxs)("div",{className:"flex min-h-[42px] shrink-0 items-center gap-2 border-b border-[var(--vk-border)] px-3",children:[(0,t.jsx)(u,{className:"h-[15px] w-[15px] text-[var(--vk-text-muted)]"}),(0,t.jsx)("span",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:"Review Diff"}),(0,t.jsx)(h.Badge,{variant:"outline",children:"working-tree"===(a=C.source)?"Working tree":"remote-pr"===a?"Remote PR":"Not found"}),C.branch?(0,t.jsx)(h.Badge,{variant:"outline",children:C.branch}):null,C.defaultBranch?(0,t.jsxs)(h.Badge,{variant:"outline",children:["base ",C.defaultBranch]}):null,(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsx)("span",{className:"hidden text-[11px] text-[var(--vk-text-muted)] lg:inline",children:function(e){if(!e)return"Not generated";let t=new Date(e);return Number.isNaN(t.getTime())?"Not generated":new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"}).format(t)}(C.generatedAt)}),(0,t.jsx)("button",{type:"button",onClick:()=>void es(),disabled:D,className:"inline-flex h-[24px] w-[24px] items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60","aria-label":"Refresh diff",children:(0,t.jsx)(m.RefreshCw,{className:(0,v.cn)("h-[14px] w-[14px]",D&&"animate-spin")})})]})]}),(0,t.jsxs)("div",{className:"sticky top-0 z-10 flex shrink-0 items-center gap-3 border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2.5",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,t.jsxs)("span",{children:[eo.files," files"]}),(0,t.jsxs)("span",{className:"font-mono text-[var(--vk-green)]",children:["+",eo.additions]}),(0,t.jsxs)("span",{className:"font-mono text-[var(--vk-red)]",children:["-",eo.deletions]}),C.truncated?(0,t.jsx)("span",{className:"text-[var(--status-attention)]",children:"Summary truncated"}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{type:"button",onClick:()=>U("side-by-side"),className:(0,v.cn)("rounded-[6px] px-2 py-1 text-[11px]","side-by-side"===O?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:"Split"}),(0,t.jsx)("button",{type:"button",onClick:()=>U("inline"),className:(0,v.cn)("rounded-[6px] px-2 py-1 text-[11px]","inline"===O?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:"Inline"}),(0,t.jsx)("button",{type:"button",onClick:()=>V(e=>!e),className:(0,v.cn)("rounded-[6px] px-2 py-1 text-[11px]",W?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:W?"Show all":(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"hidden sm:inline",children:"Hide unchanged"}),(0,t.jsx)("span",{className:"sm:hidden",children:"Hide"})]})})]})]}),(0,t.jsx)("div",{className:"shrink-0 border-b border-[var(--vk-border)] p-2",children:(0,t.jsxs)("label",{className:"flex items-center gap-2 rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-2.5 py-2",children:[(0,t.jsx)(p.Search,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,t.jsx)("input",{type:"text",value:q,onChange:e=>H(e.target.value),placeholder:"Search changed files...",className:"w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 overflow-hidden",children:[!D||C.hasDiff||I?null:(0,t.jsx)("div",{className:"flex h-full items-center justify-center p-8 text-[13px] text-[var(--vk-text-muted)]",children:"Loading session diff..."}),I?(0,t.jsx)("div",{className:"flex h-full items-center justify-center p-8 text-center text-[13px] text-[var(--status-error)]",children:I}):null,D||I||ep?null:(0,t.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-8 text-center",children:[(0,t.jsx)(d.default,{className:"h-7 w-7 text-[var(--vk-text-muted)]"}),(0,t.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:ea?"No files match the current search.":"No changed files in this session yet."})]}),!I&&ep?(0,t.jsxs)("div",{className:"grid h-full min-h-0 grid-rows-[minmax(10rem,14rem)_minmax(0,1fr)] sm:grid-rows-[minmax(14rem,18rem)_minmax(0,1fr)] lg:grid-cols-[320px_minmax(0,1fr)] lg:grid-rows-1",children:[(0,t.jsx)("div",{className:"min-h-0 overflow-y-auto border-b border-[var(--vk-border)] lg:border-b-0 lg:border-r",children:w.map(e=>{let r=L(ed,e);if(0===r.length)return null;let n=J[e];return(0,t.jsxs)("section",{className:"border-b border-[var(--vk-border)] last:border-b-0",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>eg(e),className:"sticky top-0 z-[5] flex w-full items-center gap-2 bg-[var(--vk-bg-panel)] px-3 py-2 text-left text-[12px] text-[var(--vk-text-muted)]",children:[n?(0,t.jsx)(l.ChevronRight,{className:"h-4 w-4"}):(0,t.jsx)(i.ChevronDown,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:N[e]}),(0,t.jsx)("span",{className:"font-mono text-[var(--vk-text-muted)]",children:r.length})]}),n?null:(0,t.jsx)("div",{className:"py-1",children:r.map(r=>{let n=B(e,r),a=n===G;return(0,t.jsxs)("button",{type:"button",onClick:()=>Q(n),className:(0,v.cn)("flex w-full items-start gap-2 border-l-2 px-3 py-2.5 text-left transition",a?"border-l-[var(--status-working)] bg-[rgba(108,168,255,0.08)]":"border-l-transparent hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate font-mono text-[12px] text-[var(--vk-text-strong)]",children:r.path}),(0,t.jsxs)("span",{className:"mt-0.5 flex items-center gap-2",children:[(0,t.jsx)("span",{className:(0,v.cn)("inline-flex h-[20px] items-center rounded-[6px] border px-1.5 text-[10px]",M(r)),children:T(r)}),r.oldPath?(0,t.jsx)("span",{className:"truncate font-mono text-[10px] text-[var(--vk-text-muted)]",children:r.oldPath}):(0,t.jsx)("span",{className:"text-[10px] text-[var(--vk-text-muted)]",children:N[e]})]})]}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px]",children:[r.additions>0?(0,t.jsxs)("span",{className:"block text-right text-[var(--vk-green)]",children:["+",r.additions]}):null,r.deletions>0?(0,t.jsxs)("span",{className:"block text-right text-[var(--vk-red)]",children:["-",r.deletions]}):null,0===r.additions&&0===r.deletions?(0,t.jsx)("span",{className:"block text-right text-[var(--vk-text-muted)]",children:"0"}):null]})]},n)})})]},e)})}),(0,t.jsx)("div",{className:"min-h-0 overflow-hidden",children:ex?(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,t.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:(0,v.cn)("inline-flex h-[24px] items-center rounded-[6px] border px-2 text-[11px]",M(ex.file)),children:T(ex.file)}),(0,t.jsx)("span",{className:"truncate font-mono text-[13px] text-[var(--vk-text-strong)]",children:ex.file.path})]}),(0,t.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)("span",{children:N[ex.category]}),ex.file.oldPath?(0,t.jsxs)("span",{className:"font-mono",children:[ex.file.oldPath," -> ",ex.file.path]}):null,(0,t.jsxs)("span",{className:"font-mono text-[var(--vk-green)]",children:["+",ex.file.additions]}),(0,t.jsxs)("span",{className:"font-mono text-[var(--vk-red)]",children:["-",ex.file.deletions]})]})]}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto px-4 py-4",children:[em.loading?(0,t.jsxs)("div",{className:"flex h-full min-h-[240px] items-center justify-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)(x.default,{className:"h-4 w-4 animate-spin"}),(0,t.jsx)("span",{children:"Loading diff..."})]}):null,em.error?(0,t.jsx)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[13px] text-[var(--status-error)]",children:em.error}):null,!em.loading&&!em.error&&em.data?.binary?(0,t.jsxs)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[12px] text-[var(--vk-text-muted)]",children:["Binary file preview is not available for ",e.slice(0,6),"."]}):null,em.loading||em.error||!em.data||em.data.binary?null:(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-[11px] text-[var(--vk-text-muted)]",children:[(0,t.jsxs)("span",{children:["Base: ",em.data.baseBranch||eh]}),(0,t.jsxs)("span",{children:["Original: ",K(em.data.originalSize)]}),(0,t.jsxs)("span",{children:["Modified: ",K(em.data.modifiedSize)]}),em.data.truncated?(0,t.jsx)("span",{className:"text-[var(--status-attention)]",children:"Preview truncated to 1 MB."}):null]}),(0,t.jsx)("div",{className:"overflow-auto pb-4",children:"side-by-side"===O?(0,t.jsx)($,{rows:ev}):(0,t.jsx)(z,{rows:ef})})]}),em.loading||em.error||em.data?null:(0,t.jsx)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[12px] text-[var(--vk-text-muted)]",children:"No diff content available for this file."})]})]}):(0,t.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-8 text-center",children:[(0,t.jsx)(c,{className:"h-8 w-8 text-[var(--vk-text-muted)]"}),(0,t.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Select a file to inspect its diff."})]})})]}):null]})]})}e.s(["SessionDiff",()=>D],20015)},41386,e=>{e.n(e.i(20015))}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75830,e=>{"use strict";var t=e.i(71645),n=e.i(30030),r=e.i(20783),o=e.i(43476);function a(e){var n;let a,i=(n=e,(a=t.forwardRef((e,n)=>{let{children:o,...a}=e;if(t.isValidElement(o)){var i;let e,l,u=(i=o,(l=(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.ref:(l=(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),s=function(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...e)=>{let t=a(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...a}:"className"===r&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}(a,o.props);return o.type!==t.Fragment&&(s.ref=n?(0,r.composeRefs)(n,u):u),t.cloneElement(o,s)}return t.Children.count(o)>1?t.Children.only(null):null})).displayName=`${n}.SlotClone`,a),u=t.forwardRef((e,n)=>{let{children:r,...a}=e,u=t.Children.toArray(r),s=u.find(l);if(s){let e=s.props.children,r=u.map(n=>n!==s?n:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,o.jsx)(i,{...a,ref:n,children:t.isValidElement(e)?t.cloneElement(e,void 0,r):null})}return(0,o.jsx)(i,{...a,ref:n,children:r})});return u.displayName=`${e}.Slot`,u}var i=Symbol("radix.slottable");function l(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===i}function u(e){let i=e+"CollectionProvider",[l,u]=(0,n.createContextScope)(i),[s,c]=l(i,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:n,children:r}=e,a=t.default.useRef(null),i=t.default.useRef(new Map).current;return(0,o.jsx)(s,{scope:n,itemMap:i,collectionRef:a,children:r})};d.displayName=i;let f=e+"CollectionSlot",p=a(f),h=t.default.forwardRef((e,t)=>{let{scope:n,children:a}=e,i=c(f,n),l=(0,r.useComposedRefs)(t,i.collectionRef);return(0,o.jsx)(p,{ref:l,children:a})});h.displayName=f;let v=e+"CollectionItemSlot",m="data-radix-collection-item",g=a(v),y=t.default.forwardRef((e,n)=>{let{scope:a,children:i,...l}=e,u=t.default.useRef(null),s=(0,r.useComposedRefs)(n,u),d=c(v,a);return t.default.useEffect(()=>(d.itemMap.set(u,{ref:u,...l}),()=>void d.itemMap.delete(u))),(0,o.jsx)(g,{...{[m]:""},ref:s,children:i})});return y.displayName=v,[{Provider:d,Slot:h,ItemSlot:y},function(n){let r=c(e+"CollectionConsumer",n);return t.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(r.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[r.collectionRef,r.itemMap])},u]}var s=new WeakMap;function c(e,t){var n,r;let o,a,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(n=e,r=t,o=n.length,(i=(a=d(r))>=0?a:o+a)<0||i>=o?-1:i);return -1===l?void 0:e[l]}function d(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],s.set(this,!0)}set(e,t){return s.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r,o=this.has(t),a=this.#e.length,i=d(e),l=i>=0?i:a+i,u=l<0||l>=a?-1:l;if(u===this.size||o&&u===this.size-1||-1===u)return this.set(t,n),this;let s=this.size+ +!o;i<0&&l++;let c=[...this.#e],f=!1;for(let e=l;e<s;e++)if(l===e){let a=c[e];c[e]===t&&(a=c[e+1]),o&&this.delete(t),r=this.get(a),this.set(t,n)}else{f||c[e-1]!==t||(f=!0);let n=c[f?e:e-1],o=r;r=this.get(n),this.delete(n),this.set(n,o)}return this}with(t,n,r){let o=new e(this);return o.insert(t,n,r),o}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=c(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=c(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return c(this.#e,e)}from(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return -1}filter(t,n){let r=[],o=0;for(let e of this)Reflect.apply(t,n,[e,o,this])&&r.push(e),o++;return new e(r)}map(t,n){let r=[],o=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,o,this])]),o++;return new e(r)}reduce(...e){let[t,n]=e,r=0,o=n??this.at(0);for(let n of this)o=0===r&&1===e.length?n:Reflect.apply(t,this,[o,n,r,this]),r++;return o}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let o=this.at(n);r=n===this.size-1&&1===e.length?o:Reflect.apply(t,this,[r,o,n,this])}return r}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,o=this.size-1;if(void 0===t)return r;t<0&&(t+=this.size),void 0!==n&&n>0&&(o=n-1);for(let e=t;e<=o;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}}),e.s(["createCollection",()=>u],75830)},42727,e=>{"use strict";var t=e.i(71645),n=e.i(81140),r=e.i(75830),o=e.i(20783),a=e.i(30030),i=e.i(10772),l=e.i(48425),u=e.i(30207),s=e.i(69340),c=e.i(86318),d=e.i(43476),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[v,m,g]=(0,r.createCollection)(h),[y,w]=(0,a.createContextScope)(h,[g]),[b,E]=y(h),x=t.forwardRef((e,t)=>(0,d.jsx)(v.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(v.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(R,{...e,ref:t})})}));x.displayName=h;var R=t.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:a,orientation:i,loop:v=!1,dir:g,currentTabStopId:y,defaultCurrentTabStopId:w,onCurrentTabStopIdChange:E,onEntryFocus:x,preventScrollOnEntryFocus:R=!1,...C}=e,k=t.useRef(null),M=(0,o.useComposedRefs)(r,k),j=(0,c.useDirection)(g),[P,A]=(0,s.useControllableState)({prop:y,defaultProp:w??null,onChange:E,caller:h}),[D,I]=t.useState(!1),T=(0,u.useCallbackRef)(x),_=m(a),N=t.useRef(!1),[O,F]=t.useState(0);return t.useEffect(()=>{let e=k.current;if(e)return e.addEventListener(f,T),()=>e.removeEventListener(f,T)},[T]),(0,d.jsx)(b,{scope:a,orientation:i,dir:j,loop:v,currentTabStopId:P,onItemFocus:t.useCallback(e=>A(e),[A]),onItemShiftTab:t.useCallback(()=>I(!0),[]),onFocusableItemAdd:t.useCallback(()=>F(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>F(e=>e-1),[]),children:(0,d.jsx)(l.Primitive.div,{tabIndex:D||0===O?-1:0,"data-orientation":i,...C,ref:M,style:{outline:"none",...e.style},onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,()=>{N.current=!0}),onFocus:(0,n.composeEventHandlers)(e.onFocus,e=>{let t=!N.current;if(e.target===e.currentTarget&&t&&!D){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=_().filter(e=>e.focusable);S([e.find(e=>e.active),e.find(e=>e.id===P),...e].filter(Boolean).map(e=>e.ref.current),R)}}N.current=!1}),onBlur:(0,n.composeEventHandlers)(e.onBlur,()=>I(!1))})})}),C="RovingFocusGroupItem",k=t.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:o,focusable:a=!0,active:u=!1,tabStopId:s,children:c,...f}=e,p=(0,i.useId)(),h=s||p,g=E(C,o),y=g.currentTabStopId===h,w=m(o),{onFocusableItemAdd:b,onFocusableItemRemove:x,currentTabStopId:R}=g;return t.useEffect(()=>{if(a)return b(),()=>x()},[a,b,x]),(0,d.jsx)(v.ItemSlot,{scope:o,id:h,focusable:a,active:u,children:(0,d.jsx)(l.Primitive.span,{tabIndex:y?0:-1,"data-orientation":g.orientation,...f,ref:r,onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,e=>{a?g.onItemFocus(h):e.preventDefault()}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:(0,n.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,n){var r;let o=(r=e.key,"rtl"!==n?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return M[o]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=w().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var n,r;"prev"===t&&o.reverse();let a=o.indexOf(e.currentTarget);o=g.loop?(n=o,r=a+1,n.map((e,t)=>n[(r+t)%n.length])):o.slice(a+1)}setTimeout(()=>S(o))}}),children:"function"==typeof c?c({isCurrentTabStop:y,hasTabStop:null!=R}):c})})});k.displayName=C;var M={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function S(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}e.s(["Item",()=>k,"Root",()=>x,"createRovingFocusGroupScope",()=>w])},3536,65491,e=>{"use strict";let t;var n=e.i(71645),r=0;function o(){n.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??a()),document.body.insertAdjacentElement("beforeend",e[1]??a()),r++,()=>{1===r&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),r--}},[])}function a(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}e.s(["useFocusGuards",()=>o],3536);var i=e.i(20783),l=e.i(48425),u=e.i(30207),s=e.i(43476),c="focusScope.autoFocusOnMount",d="focusScope.autoFocusOnUnmount",f={bubbles:!1,cancelable:!0},p=n.forwardRef((e,t)=>{let{loop:r=!1,trapped:o=!1,onMountAutoFocus:a,onUnmountAutoFocus:p,...y}=e,[w,b]=n.useState(null),E=(0,u.useCallbackRef)(a),x=(0,u.useCallbackRef)(p),R=n.useRef(null),C=(0,i.useComposedRefs)(t,e=>b(e)),k=n.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;n.useEffect(()=>{if(o){let e=function(e){if(k.paused||!w)return;let t=e.target;w.contains(t)?R.current=t:m(R.current,{select:!0})},t=function(e){if(k.paused||!w)return;let t=e.relatedTarget;null!==t&&(w.contains(t)||m(R.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let n=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&m(w)});return w&&n.observe(w,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),n.disconnect()}}},[o,w,k.paused]),n.useEffect(()=>{if(w){g.add(k);let e=document.activeElement;if(!w.contains(e)){let t=new CustomEvent(c,f);w.addEventListener(c,E),w.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(m(r,{select:t}),document.activeElement!==n)return}(h(w).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&m(w))}return()=>{w.removeEventListener(c,E),setTimeout(()=>{let t=new CustomEvent(d,f);w.addEventListener(d,x),w.dispatchEvent(t),t.defaultPrevented||m(e??document.body,{select:!0}),w.removeEventListener(d,x),g.remove(k)},0)}}},[w,E,x,k]);let M=n.useCallback(e=>{if(!r&&!o||k.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(t&&n){var a;let t,o=e.currentTarget,[i,l]=[v(t=h(a=o),a),v(t.reverse(),a)];i&&l?e.shiftKey||n!==l?e.shiftKey&&n===i&&(e.preventDefault(),r&&m(l,{select:!0})):(e.preventDefault(),r&&m(i,{select:!0})):n===o&&e.preventDefault()}},[r,o,k.paused]);return(0,s.jsx)(l.Primitive.div,{tabIndex:-1,...y,ref:C,onKeyDown:M})});function h(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function v(e,t){for(let n of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(n,{upTo:t}))return n}function m(e,{select:t=!1}={}){if(e&&e.focus){var n;let r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&(n=e)instanceof HTMLInputElement&&"select"in n&&t&&e.select()}}p.displayName="FocusScope";var g=(t=[],{add(e){let n=t[0];e!==n&&n?.pause(),(t=y(t,e)).unshift(e)},remove(e){t=y(t,e),t[0]?.resume()}});function y(e,t){let n=[...e],r=n.indexOf(t);return -1!==r&&n.splice(r,1),n}e.s(["FocusScope",()=>p],65491)},40666,e=>{"use strict";let t,n,r;var o,a,i,l,u,s,c,d=e.i(71645),f=e.i(81140),p=e.i(20783),h=e.i(30030),v=e.i(69340),m=e.i(48425),g=e.i(75830),y=e.i(86318),w=e.i(26330),b=e.i(3536),E=e.i(65491),x=e.i(10772),R=e.i(53660),C=e.i(74606),k=e.i(96626),M=e.i(42727),S=e.i(43476),j=Symbol("radix.slottable");function P(e){return d.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===j}var A=e.i(30207),D=new WeakMap,I=new WeakMap,T={},_=0,N=function(e){return e&&(e.host||N(e.parentNode))},O=function(e,t,n,r){var o=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var n=N(e);return n&&t.contains(n)?n:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});T[n]||(T[n]=new WeakMap);var a=T[n],i=[],l=new Set,u=new Set(o),s=function(e){!e||l.has(e)||(l.add(e),s(e.parentNode))};o.forEach(s);var c=function(e){!e||u.has(e)||Array.prototype.forEach.call(e.children,function(e){if(l.has(e))c(e);else try{var t=e.getAttribute(r),o=null!==t&&"false"!==t,u=(D.get(e)||0)+1,s=(a.get(e)||0)+1;D.set(e,u),a.set(e,s),i.push(e),1===u&&o&&I.set(e,!0),1===s&&e.setAttribute(n,"true"),o||e.setAttribute(r,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return c(t),l.clear(),_++,function(){i.forEach(function(e){var t=D.get(e)-1,o=a.get(e)-1;D.set(e,t),a.set(e,o),t||(I.has(e)||e.removeAttribute(r),I.delete(e)),o||e.removeAttribute(n)}),--_||(D=new WeakMap,D=new WeakMap,I=new WeakMap,T={})}},F=function(e,t,n){void 0===n&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||("u"<typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),O(r,o,n,"aria-hidden")):function(){return null}},L=function(){return(L=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function H(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}var K=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),W="width-before-scroll-bar";function B(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var G="u">typeof window?d.useLayoutEffect:d.useEffect,z=new WeakMap,U=(void 0===o&&(o={}),(void 0===a&&(a=function(e){return e}),i=[],l=!1,u={read:function(){if(l)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(e){var t=a(e,l);return i.push(t),function(){i=i.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(l=!0;i.length;){var t=i;i=[],t.forEach(e)}i={push:function(t){return e(t)},filter:function(){return i}}},assignMedium:function(e){l=!0;var t=[];if(i.length){var n=i;i=[],n.forEach(e),t=i}var r=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(r)};o(),i={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),i}}}}).options=L({async:!0,ssr:!1},o),u),V=function(){},X=d.forwardRef(function(e,t){var n,r,o,a,i=d.useRef(null),l=d.useState({onScrollCapture:V,onWheelCapture:V,onTouchMoveCapture:V}),u=l[0],s=l[1],c=e.forwardProps,f=e.children,p=e.className,h=e.removeScrollBar,v=e.enabled,m=e.shards,g=e.sideCar,y=e.noRelative,w=e.noIsolation,b=e.inert,E=e.allowPinchZoom,x=e.as,R=e.gapMode,C=H(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),k=(n=[i,t],r=function(e){return n.forEach(function(t){return B(t,e)})},(o=(0,d.useState)(function(){return{value:null,callback:r,facade:{get current(){return o.value},set current(value){var e=o.value;e!==value&&(o.value=value,o.callback(value,e))}}}})[0]).callback=r,a=o.facade,G(function(){var e=z.get(a);if(e){var t=new Set(e),r=new Set(n),o=a.current;t.forEach(function(e){r.has(e)||B(e,null)}),r.forEach(function(e){t.has(e)||B(e,o)})}z.set(a,n)},[n]),a),M=L(L({},C),u);return d.createElement(d.Fragment,null,v&&d.createElement(g,{sideCar:U,removeScrollBar:h,shards:m,noRelative:y,noIsolation:w,inert:b,setCallbacks:s,allowPinchZoom:!!E,lockRef:i,gapMode:R}),c?d.cloneElement(d.Children.only(f),L(L({},M),{ref:k})):d.createElement(void 0===x?"div":x,L({},M,{className:p,ref:k}),f))});X.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},X.classNames={fullWidth:W,zeroRight:K};var Y=function(e){var t=e.sideCar,n=H(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error("Sidecar medium not found");return d.createElement(r,L({},n))};Y.isSideCarExport=!0;var Z=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=c||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return t&&e.setAttribute("nonce",t),e}())){var r,o;(r=t).styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n)),o=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(o)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},q=function(){var e=Z();return function(t,n){d.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},$=function(){var e=q();return function(t){return e(t.styles,t.dynamic),null}},J={left:0,top:0,right:0,gap:0},Q=function(e){return parseInt(e||"",10)||0},ee=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[Q(n),Q(r),Q(o)]},et=function(e){if(void 0===e&&(e="margin"),"u"<typeof window)return J;var t=ee(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},en=$(),er="data-scroll-locked",eo=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,l=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(l,"px ").concat(r,";\n }\n body[").concat(er,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(K," {\n right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(W," {\n margin-right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(K," .").concat(K," {\n right: 0 ").concat(r,";\n }\n \n .").concat(W," .").concat(W," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(er,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(l,"px;\n }\n")},ea=function(){var e=parseInt(document.body.getAttribute(er)||"0",10);return isFinite(e)?e:0},ei=function(){d.useEffect(function(){return document.body.setAttribute(er,(ea()+1).toString()),function(){var e=ea()-1;e<=0?document.body.removeAttribute(er):document.body.setAttribute(er,e.toString())}},[])},el=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=void 0===r?"margin":r;ei();var a=d.useMemo(function(){return et(o)},[o]);return d.createElement(en,{styles:eo(a,!t,o,n?"":"!important")})},eu=!1;if("u">typeof window)try{var es=Object.defineProperty({},"passive",{get:function(){return eu=!0,!0}});window.addEventListener("test",es,es),window.removeEventListener("test",es,es)}catch(e){eu=!1}var ec=!!eu&&{passive:!1},ed=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&(n.overflowY!==n.overflowX||"TEXTAREA"===e.tagName||"visible"!==n[t])},ef=function(e,t){var n=t.ownerDocument,r=t;do{if("u">typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),ep(e,r)){var o=eh(e,r);if(o[1]>o[2])return!0}r=r.parentNode}while(r&&r!==n.body)return!1},ep=function(e,t){return"v"===e?ed(t,"overflowY"):ed(t,"overflowX")},eh=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},ev=function(e,t,n,r,o){var a,i=(a=window.getComputedStyle(t).direction,"h"===e&&"rtl"===a?-1:1),l=i*r,u=n.target,s=t.contains(u),c=!1,d=l>0,f=0,p=0;do{if(!u)break;var h=eh(e,u),v=h[0],m=h[1]-h[2]-i*v;(v||m)&&ep(e,u)&&(f+=m,p+=v);var g=u.parentNode;u=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!s&&u!==document.body||s&&(t.contains(u)||t===u))return d&&(o&&1>Math.abs(f)||!o&&l>f)?c=!0:!d&&(o&&1>Math.abs(p)||!o&&-l>p)&&(c=!0),c},em=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},eg=function(e){return[e.deltaX,e.deltaY]},ey=function(e){return e&&"current"in e?e.current:e},ew=0,eb=[];let eE=(s=function(e){var t=d.useRef([]),n=d.useRef([0,0]),r=d.useRef(),o=d.useState(ew++)[0],a=d.useState($)[0],i=d.useRef(e);d.useEffect(function(){i.current=e},[e]),d.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=(function(e,t,n){if(n||2==arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(ey),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=d.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!i.current.allowPinchZoom;var o,a=em(e),l=n.current,u="deltaX"in e?e.deltaX:l[0]-a[0],s="deltaY"in e?e.deltaY:l[1]-a[1],c=e.target,d=Math.abs(u)>Math.abs(s)?"h":"v";if("touches"in e&&"h"===d&&"range"===c.type)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===c||p.contains(c)))return!1;var h=ef(d,c);if(!h)return!0;if(h?o=d:(o="v"===d?"h":"v",h=ef(d,c)),!h)return!1;if(!r.current&&"changedTouches"in e&&(u||s)&&(r.current=o),!o)return!0;var v=r.current||o;return ev(v,t,e,"h"===v?u:s,!0)},[]),u=d.useCallback(function(e){if(eb.length&&eb[eb.length-1]===a){var n="deltaY"in e?eg(e):em(e),r=t.current.filter(function(t){var r;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(r=t.delta,r[0]===n[0]&&r[1]===n[1])})[0];if(r&&r.should){e.cancelable&&e.preventDefault();return}if(!r){var o=(i.current.shards||[]).map(ey).filter(Boolean).filter(function(t){return t.contains(e.target)});(o.length>0?l(e,o[0]):!i.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),s=d.useCallback(function(e,n,r,o){var a={name:e,delta:n,target:r,should:o,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),c=d.useCallback(function(e){n.current=em(e),r.current=void 0},[]),f=d.useCallback(function(t){s(t.type,eg(t),t.target,l(t,e.lockRef.current))},[]),p=d.useCallback(function(t){s(t.type,em(t),t.target,l(t,e.lockRef.current))},[]);d.useEffect(function(){return eb.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",u,ec),document.addEventListener("touchmove",u,ec),document.addEventListener("touchstart",c,ec),function(){eb=eb.filter(function(e){return e!==a}),document.removeEventListener("wheel",u,ec),document.removeEventListener("touchmove",u,ec),document.removeEventListener("touchstart",c,ec)}},[]);var h=e.removeScrollBar,v=e.inert;return d.createElement(d.Fragment,null,v?d.createElement(a,{styles:"\n .block-interactivity-".concat(o," {pointer-events: none;}\n .allow-interactivity-").concat(o," {pointer-events: all;}\n")}):null,h?d.createElement(el,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},U.useMedium(s),Y);var ex=d.forwardRef(function(e,t){return d.createElement(X,L({},e,{ref:t,sideCar:eE}))});ex.classNames=X.classNames;var eR=["Enter"," "],eC=["ArrowUp","PageDown","End"],ek=["ArrowDown","PageUp","Home",...eC],eM={ltr:[...eR,"ArrowRight"],rtl:[...eR,"ArrowLeft"]},eS={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ej="Menu",[eP,eA,eD]=(0,g.createCollection)(ej),[eI,eT]=(0,h.createContextScope)(ej,[eD,R.createPopperScope,M.createRovingFocusGroupScope]),e_=(0,R.createPopperScope)(),eN=(0,M.createRovingFocusGroupScope)(),[eO,eF]=eI(ej),[eL,eH]=eI(ej),eK=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:a,modal:i=!0}=e,l=e_(t),[u,s]=d.useState(null),c=d.useRef(!1),f=(0,A.useCallbackRef)(a),p=(0,y.useDirection)(o);return d.useEffect(()=>{let e=()=>{c.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>c.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,S.jsx)(R.Root,{...l,children:(0,S.jsx)(eO,{scope:t,open:n,onOpenChange:f,content:u,onContentChange:s,children:(0,S.jsx)(eL,{scope:t,onClose:d.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:c,dir:p,modal:i,children:r})})})};eK.displayName=ej;var eW=d.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,o=e_(n);return(0,S.jsx)(R.Anchor,{...o,...r,ref:t})});eW.displayName="MenuAnchor";var eB="MenuPortal",[eG,ez]=eI(eB,{forceMount:void 0}),eU=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:o}=e,a=eF(eB,t);return(0,S.jsx)(eG,{scope:t,forceMount:n,children:(0,S.jsx)(k.Presence,{present:n||a.open,children:(0,S.jsx)(C.Portal,{asChild:!0,container:o,children:r})})})};eU.displayName=eB;var eV="MenuContent",[eX,eY]=eI(eV),eZ=d.forwardRef((e,t)=>{let n=ez(eV,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=eF(eV,e.__scopeMenu),i=eH(eV,e.__scopeMenu);return(0,S.jsx)(eP.Provider,{scope:e.__scopeMenu,children:(0,S.jsx)(k.Presence,{present:r||a.open,children:(0,S.jsx)(eP.Slot,{scope:e.__scopeMenu,children:i.modal?(0,S.jsx)(eq,{...o,ref:t}):(0,S.jsx)(e$,{...o,ref:t})})})})}),eq=d.forwardRef((e,t)=>{let n=eF(eV,e.__scopeMenu),r=d.useRef(null),o=(0,p.useComposedRefs)(t,r);return d.useEffect(()=>{let e=r.current;if(e)return F(e)},[]),(0,S.jsx)(eQ,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:(0,f.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),e$=d.forwardRef((e,t)=>{let n=eF(eV,e.__scopeMenu);return(0,S.jsx)(eQ,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),eJ=((r=d.forwardRef((e,t)=>{let{children:n,...r}=e;if(d.isValidElement(n)){var o;let e,a,i=(o=n,(a=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(a=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),l=function(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...e)=>{let t=a(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...a}:"className"===r&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}(r,n.props);return n.type!==d.Fragment&&(l.ref=t?(0,p.composeRefs)(t,i):i),d.cloneElement(n,l)}return d.Children.count(n)>1?d.Children.only(null):null})).displayName="MenuContent.ScrollLock.SlotClone",t=r,(n=d.forwardRef((e,n)=>{let{children:r,...o}=e,a=d.Children.toArray(r),i=a.find(P);if(i){let e=i.props.children,r=a.map(t=>t!==i?t:d.Children.count(e)>1?d.Children.only(null):d.isValidElement(e)?e.props.children:null);return(0,S.jsx)(t,{...o,ref:n,children:d.isValidElement(e)?d.cloneElement(e,void 0,r):null})}return(0,S.jsx)(t,{...o,ref:n,children:r})})).displayName="MenuContent.ScrollLock.Slot",n),eQ=d.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:i,disableOutsidePointerEvents:l,onEntryFocus:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:h,onInteractOutside:v,onDismiss:m,disableOutsideScroll:g,...y}=e,x=eF(eV,n),C=eH(eV,n),k=e_(n),j=eN(n),P=eA(n),[A,D]=d.useState(null),I=d.useRef(null),T=(0,p.useComposedRefs)(t,I,x.onContentChange),_=d.useRef(0),N=d.useRef(""),O=d.useRef(0),F=d.useRef(null),L=d.useRef("right"),H=d.useRef(0),K=g?ex:d.Fragment;d.useEffect(()=>()=>window.clearTimeout(_.current),[]),(0,b.useFocusGuards)();let W=d.useCallback(e=>{var t,n;return L.current===F.current?.side&&(t=e,!!(n=F.current?.area)&&function(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let i=t[e],l=t[a],u=i.x,s=i.y,c=l.x,d=l.y;s>r!=d>r&&n<(c-u)*(r-s)/(d-s)+u&&(o=!o)}return o}({x:t.clientX,y:t.clientY},n))},[]);return(0,S.jsx)(eX,{scope:n,searchRef:N,onItemEnter:d.useCallback(e=>{W(e)&&e.preventDefault()},[W]),onItemLeave:d.useCallback(e=>{W(e)||(I.current?.focus(),D(null))},[W]),onTriggerLeave:d.useCallback(e=>{W(e)&&e.preventDefault()},[W]),pointerGraceTimerRef:O,onPointerGraceIntentChange:d.useCallback(e=>{F.current=e},[]),children:(0,S.jsx)(K,{...g?{as:eJ,allowPinchZoom:!0}:void 0,children:(0,S.jsx)(E.FocusScope,{asChild:!0,trapped:o,onMountAutoFocus:(0,f.composeEventHandlers)(a,e=>{e.preventDefault(),I.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,S.jsx)(w.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:h,onInteractOutside:v,onDismiss:m,children:(0,S.jsx)(M.Root,{asChild:!0,...j,dir:C.dir,orientation:"vertical",loop:r,currentTabStopId:A,onCurrentTabStopIdChange:D,onEntryFocus:(0,f.composeEventHandlers)(u,e=>{C.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,S.jsx)(R.Content,{role:"menu","aria-orientation":"vertical","data-state":tv(x.open),"data-radix-menu-content":"",dir:C.dir,...k,...y,ref:T,style:{outline:"none",...y.style},onKeyDown:(0,f.composeEventHandlers)(y.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;if(t){var o;let t,a,i,l,u,s;"Tab"===e.key&&e.preventDefault(),!n&&r&&(o=e.key,t=N.current+o,a=P().filter(e=>!e.disabled),i=document.activeElement,l=a.find(e=>e.ref.current===i)?.textValue,u=function(e,t,n){var r;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=n?e.indexOf(n):-1,i=(r=Math.max(a,0),e.map((t,n)=>e[(r+n)%e.length]));1===o.length&&(i=i.filter(e=>e!==n));let l=i.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return l!==n?l:void 0}(a.map(e=>e.textValue),t,l),s=a.find(e=>e.textValue===u)?.ref.current,function e(t){N.current=t,window.clearTimeout(_.current),""!==t&&(_.current=window.setTimeout(()=>e(""),1e3))}(t),s&&setTimeout(()=>s.focus()))}let a=I.current;if(e.target!==a||!ek.includes(e.key))return;e.preventDefault();let i=P().filter(e=>!e.disabled).map(e=>e.ref.current);eC.includes(e.key)&&i.reverse(),function(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}(i)}),onBlur:(0,f.composeEventHandlers)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(_.current),N.current="")}),onPointerMove:(0,f.composeEventHandlers)(e.onPointerMove,ty(e=>{let t=e.target,n=H.current!==e.clientX;e.currentTarget.contains(t)&&n&&(L.current=e.clientX>H.current?"right":"left",H.current=e.clientX)}))})})})})})})});eZ.displayName=eV;var e0=d.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,S.jsx)(m.Primitive.div,{role:"group",...r,ref:t})});e0.displayName="MenuGroup";var e1=d.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,S.jsx)(m.Primitive.div,{...r,ref:t})});e1.displayName="MenuLabel";var e3="MenuItem",e6="menu.itemSelect",e4=d.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...o}=e,a=d.useRef(null),i=eH(e3,e.__scopeMenu),l=eY(e3,e.__scopeMenu),u=(0,p.useComposedRefs)(t,a),s=d.useRef(!1);return(0,S.jsx)(e7,{...o,ref:u,disabled:n,onClick:(0,f.composeEventHandlers)(e.onClick,()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(e6,{bubbles:!0,cancelable:!0});e.addEventListener(e6,e=>r?.(e),{once:!0}),(0,m.dispatchDiscreteCustomEvent)(e,t),t.defaultPrevented?s.current=!1:i.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),s.current=!0},onPointerUp:(0,f.composeEventHandlers)(e.onPointerUp,e=>{s.current||e.currentTarget?.click()}),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,e=>{let t=""!==l.searchRef.current;n||t&&" "===e.key||eR.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});e4.displayName=e3;var e7=d.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:o,...a}=e,i=eY(e3,n),l=eN(n),u=d.useRef(null),s=(0,p.useComposedRefs)(t,u),[c,h]=d.useState(!1),[v,g]=d.useState("");return d.useEffect(()=>{let e=u.current;e&&g((e.textContent??"").trim())},[a.children]),(0,S.jsx)(eP.ItemSlot,{scope:n,disabled:r,textValue:o??v,children:(0,S.jsx)(M.Item,{asChild:!0,...l,focusable:!r,children:(0,S.jsx)(m.Primitive.div,{role:"menuitem","data-highlighted":c?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...a,ref:s,onPointerMove:(0,f.composeEventHandlers)(e.onPointerMove,ty(e=>{r?i.onItemLeave(e):(i.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,f.composeEventHandlers)(e.onPointerLeave,ty(e=>i.onItemLeave(e))),onFocus:(0,f.composeEventHandlers)(e.onFocus,()=>h(!0)),onBlur:(0,f.composeEventHandlers)(e.onBlur,()=>h(!1))})})})}),e2=d.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...o}=e;return(0,S.jsx)(to,{scope:e.__scopeMenu,checked:n,children:(0,S.jsx)(e4,{role:"menuitemcheckbox","aria-checked":tm(n)?"mixed":n,...o,ref:t,"data-state":tg(n),onSelect:(0,f.composeEventHandlers)(o.onSelect,()=>r?.(!!tm(n)||!n),{checkForDefaultPrevented:!1})})})});e2.displayName="MenuCheckboxItem";var e5="MenuRadioGroup",[e8,e9]=eI(e5,{value:void 0,onValueChange:()=>{}}),te=d.forwardRef((e,t)=>{let{value:n,onValueChange:r,...o}=e,a=(0,A.useCallbackRef)(r);return(0,S.jsx)(e8,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,S.jsx)(e0,{...o,ref:t})})});te.displayName=e5;var tt="MenuRadioItem",tn=d.forwardRef((e,t)=>{let{value:n,...r}=e,o=e9(tt,e.__scopeMenu),a=n===o.value;return(0,S.jsx)(to,{scope:e.__scopeMenu,checked:a,children:(0,S.jsx)(e4,{role:"menuitemradio","aria-checked":a,...r,ref:t,"data-state":tg(a),onSelect:(0,f.composeEventHandlers)(r.onSelect,()=>o.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});tn.displayName=tt;var tr="MenuItemIndicator",[to,ta]=eI(tr,{checked:!1}),ti=d.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...o}=e,a=ta(tr,n);return(0,S.jsx)(k.Presence,{present:r||tm(a.checked)||!0===a.checked,children:(0,S.jsx)(m.Primitive.span,{...o,ref:t,"data-state":tg(a.checked)})})});ti.displayName=tr;var tl=d.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,S.jsx)(m.Primitive.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});tl.displayName="MenuSeparator";var tu=d.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,o=e_(n);return(0,S.jsx)(R.Arrow,{...o,...r,ref:t})});tu.displayName="MenuArrow";var[ts,tc]=eI("MenuSub"),td="MenuSubTrigger",tf=d.forwardRef((e,t)=>{let n=eF(td,e.__scopeMenu),r=eH(td,e.__scopeMenu),o=tc(td,e.__scopeMenu),a=eY(td,e.__scopeMenu),i=d.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:u}=a,s={__scopeMenu:e.__scopeMenu},c=d.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return d.useEffect(()=>c,[c]),d.useEffect(()=>{let e=l.current;return()=>{window.clearTimeout(e),u(null)}},[l,u]),(0,S.jsx)(eW,{asChild:!0,...s,children:(0,S.jsx)(e7,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":tv(n.open),...e,ref:(0,p.composeRefs)(t,o.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:(0,f.composeEventHandlers)(e.onPointerMove,ty(t=>{a.onItemEnter(t),!t.defaultPrevented&&(e.disabled||n.open||i.current||(a.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{n.onOpenChange(!0),c()},100)))})),onPointerLeave:(0,f.composeEventHandlers)(e.onPointerLeave,ty(e=>{c();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,o="right"===r,i=t[o?"left":"right"],u=t[o?"right":"left"];a.onPointerGraceIntentChange({area:[{x:e.clientX+(o?-5:5),y:e.clientY},{x:i,y:t.top},{x:u,y:t.top},{x:u,y:t.bottom},{x:i,y:t.bottom}],side:r}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,t=>{let o=""!==a.searchRef.current;e.disabled||o&&" "===t.key||eM[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});tf.displayName=td;var tp="MenuSubContent",th=d.forwardRef((e,t)=>{let n=ez(eV,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=eF(eV,e.__scopeMenu),i=eH(eV,e.__scopeMenu),l=tc(tp,e.__scopeMenu),u=d.useRef(null),s=(0,p.useComposedRefs)(t,u);return(0,S.jsx)(eP.Provider,{scope:e.__scopeMenu,children:(0,S.jsx)(k.Presence,{present:r||a.open,children:(0,S.jsx)(eP.Slot,{scope:e.__scopeMenu,children:(0,S.jsx)(eQ,{id:l.contentId,"aria-labelledby":l.triggerId,...o,ref:s,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{i.isUsingKeyboardRef.current&&u.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,f.composeEventHandlers)(e.onFocusOutside,e=>{e.target!==l.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:(0,f.composeEventHandlers)(e.onEscapeKeyDown,e=>{i.onClose(),e.preventDefault()}),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=eS[i.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),l.trigger?.focus(),e.preventDefault())})})})})})});function tv(e){return e?"open":"closed"}function tm(e){return"indeterminate"===e}function tg(e){return tm(e)?"indeterminate":e?"checked":"unchecked"}function ty(e){return t=>"mouse"===t.pointerType?e(t):void 0}th.displayName=tp;var tw="DropdownMenu",[tb,tE]=(0,h.createContextScope)(tw,[eT]),tx=eT(),[tR,tC]=tb(tw),tk=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:a,onOpenChange:i,modal:l=!0}=e,u=tx(t),s=d.useRef(null),[c,f]=(0,v.useControllableState)({prop:o,defaultProp:a??!1,onChange:i,caller:tw});return(0,S.jsx)(tR,{scope:t,triggerId:(0,x.useId)(),triggerRef:s,contentId:(0,x.useId)(),open:c,onOpenChange:f,onOpenToggle:d.useCallback(()=>f(e=>!e),[f]),modal:l,children:(0,S.jsx)(eK,{...u,open:c,onOpenChange:f,dir:r,modal:l,children:n})})};tk.displayName=tw;var tM="DropdownMenuTrigger",tS=d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,a=tC(tM,n),i=tx(n);return(0,S.jsx)(eW,{asChild:!0,...i,children:(0,S.jsx)(m.Primitive.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:(0,p.composeRefs)(t,a.triggerRef),onPointerDown:(0,f.composeEventHandlers)(e.onPointerDown,e=>{!r&&0===e.button&&!1===e.ctrlKey&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,e=>{!r&&(["Enter"," "].includes(e.key)&&a.onOpenToggle(),"ArrowDown"===e.key&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});tS.displayName=tM;var tj=e=>{let{__scopeDropdownMenu:t,...n}=e,r=tx(t);return(0,S.jsx)(eU,{...r,...n})};tj.displayName="DropdownMenuPortal";var tP="DropdownMenuContent",tA=d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(tP,n),a=tx(n),i=d.useRef(!1);return(0,S.jsx)(eZ,{id:o.contentId,"aria-labelledby":o.triggerId,...a,...r,ref:t,onCloseAutoFocus:(0,f.composeEventHandlers)(e.onCloseAutoFocus,e=>{i.current||o.triggerRef.current?.focus(),i.current=!1,e.preventDefault()}),onInteractOutside:(0,f.composeEventHandlers)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;(!o.modal||r)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});tA.displayName=tP,d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(e0,{...o,...r,ref:t})}).displayName="DropdownMenuGroup",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(e1,{...o,...r,ref:t})}).displayName="DropdownMenuLabel";var tD=d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(e4,{...o,...r,ref:t})});tD.displayName="DropdownMenuItem",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(e2,{...o,...r,ref:t})}).displayName="DropdownMenuCheckboxItem",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(te,{...o,...r,ref:t})}).displayName="DropdownMenuRadioGroup",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(tn,{...o,...r,ref:t})}).displayName="DropdownMenuRadioItem",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(ti,{...o,...r,ref:t})}).displayName="DropdownMenuItemIndicator";var tI=d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(tl,{...o,...r,ref:t})});tI.displayName="DropdownMenuSeparator",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(tu,{...o,...r,ref:t})}).displayName="DropdownMenuArrow",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(tf,{...o,...r,ref:t})}).displayName="DropdownMenuSubTrigger",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tx(n);return(0,S.jsx)(th,{...o,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent",e.s(["Content",()=>tA,"Item",()=>tD,"Portal",()=>tj,"Root",()=>tk,"Separator",()=>tI,"Trigger",()=>tS],40666)}]);
|