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
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,52808,e=>{"use strict";let t=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function r(e){return"merged"===e.status||"archived"===e.status||"killed"===e.status||"errored"===e.status||"cleanup"===e.status||"done"===e.status||"terminated"===e.status||e.pr&&("merged"===e.pr.state||"closed"===e.pr.state)?"done":"mergeable"===e.status||"approved"===e.status||e.pr?.mergeability.mergeable?"merge":"waiting_input"===e.activity||"blocked"===e.activity||"needs_input"===e.status||"stuck"===e.status?"respond":"queued"===e.status?"pending":"exited"===e.activity?"respond":"ci_failed"===e.status||"changes_requested"===e.status||e.pr&&("failing"===e.pr.ciStatus||"changes_requested"===e.pr.reviewDecision||!e.pr.mergeability.noConflicts)?"review":"review_pending"===e.status||e.pr&&!e.pr.isDraft&&("pending"===e.pr.reviewDecision||"none"===e.pr.reviewDecision)?"pending":"working"}e.s(["TERMINAL_STATUSES",0,t,"getAttentionLevel",()=>r])},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,v=1/0,h=()=>{for(let n=Math.max(p,-d);n<=Math.min(v,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&&(v=Math.min(v,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);h()||e()},0)}();else for(;d<=o&&Date.now()<=u;){let e=h();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),v=e.i(17442),h=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 S(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:S(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 P(e,t){return"against-base"===t?e.againstBase:e[t]}function T(e,t){return`${e}:${t.oldPath??""}:${t.path}`}function B(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 _(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 M(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 A(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 K(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,h.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,h.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,h.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,h.cn)("px-3 py-1 whitespace-pre overflow-x-auto",E(e.newKind)),children:e.newText||" "})]},`${e.oldLine??"x"}:${e.newLine??"y"}:${r}`))})]})}function D({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,h.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 z({sessionId:e,active:r}){var a;let o=encodeURIComponent(e),[C,E]=(0,s.useState)(k),[z,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"),[q,W]=(0,s.useState)(()=>"true"===window.localStorage.getItem(j)),[V,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)(V.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&&R(!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:S(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,q?"true":"false")},[q]),(0,s.useEffect)(()=>{R(!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 P(el,t)){let n=T(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 P(ed,t))e.push({category:t,file:r,fileKey:T(t,r)});return e},[ed]),eu=(0,s.useMemo)(()=>{let e=new Map;for(let t of w)for(let r of P(el,t)){let n=T(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,ev=C.defaultBranch?.trim()||"main";(0,s.useEffect)(()=>{if(!r||!ex)return;let e=Y[ex.fileKey];e?.loading||e?.loaded||ei(ex,ev)},[r,ev,Y,ei,ex]);let eh=(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=A(t.value);if(t.removed){let t=r[e+1],l=t?.added?A(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(K(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(K("empty","add",null,i,"",n[e]??"")),i+=1;continue}for(let e of n)a.push(K("context","context",s,i,e,e)),s+=1,i+=1}return a}(e.original??"",e.modified??"");return q?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},[q,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})(eh),[eh]),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)(v.Badge,{variant:"outline",children:"working-tree"===(a=C.source)?"Working tree":"remote-pr"===a?"Remote PR":"Not found"}),C.branch?(0,t.jsx)(v.Badge,{variant:"outline",children:C.branch}):null,C.defaultBranch?(0,t.jsxs)(v.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:z,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,h.cn)("h-[14px] w-[14px]",z&&"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,h.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,h.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:()=>W(e=>!e),className:(0,h.cn)("rounded-[6px] px-2 py-1 text-[11px]",q?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:q?"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:V,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:[!z||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,z||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=P(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=T(e,r),a=n===Q;return(0,t.jsxs)("button",{type:"button",onClick:()=>X(n),className:(0,h.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,h.cn)("inline-flex h-[20px] items-center rounded-[6px] border px-1.5 text-[10px]",_(r)),children:B(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,h.cn)("inline-flex h-[24px] items-center rounded-[6px] border px-2 text-[11px]",_(ex.file)),children:B(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||ev]}),(0,t.jsxs)("span",{children:["Original: ",M(em.data.originalSize)]}),(0,t.jsxs)("span",{children:["Modified: ",M(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:eh}):(0,t.jsx)(D,{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",()=>z],20015)},41386,e=>{e.n(e.i(20015))}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,52808,e=>{"use strict";let t=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function r(e){return"merged"===e.status||"archived"===e.status||"killed"===e.status||"errored"===e.status||"cleanup"===e.status||"done"===e.status||"terminated"===e.status||e.pr&&("merged"===e.pr.state||"closed"===e.pr.state)?"done":"mergeable"===e.status||"approved"===e.status||e.pr?.mergeability.mergeable?"merge":"waiting_input"===e.activity||"blocked"===e.activity||"needs_input"===e.status||"stuck"===e.status?"respond":"queued"===e.status?"pending":"exited"===e.activity?"respond":"ci_failed"===e.status||"changes_requested"===e.status||e.pr&&("failing"===e.pr.ciStatus||"changes_requested"===e.pr.reviewDecision||!e.pr.mergeability.noConflicts)?"review":"review_pending"===e.status||e.pr&&!e.pr.isDraft&&("pending"===e.pr.reviewDecision||"none"===e.pr.reviewDecision)?"pending":"working"}e.s(["TERMINAL_STATUSES",0,t,"getAttentionLevel",()=>r])},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,v=1/0,h=()=>{for(let n=Math.max(p,-d);n<=Math.min(v,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&&(v=Math.min(v,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);h()||e()},0)}();else for(;d<=o&&Date.now()<=u;){let e=h();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),v=e.i(17442),h=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",w="conductor-session-diff-hide-unchanged",j=["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 S(e){return"modified"===e||"added"===e||"deleted"===e||"renamed"===e||"copy"===e||"binary"===e||"untracked"===e?e:"unknown"}function P(e){let t=C(e.path);return t?{path:t,oldPath:C(e.oldPath??"")||null,status:S(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 T(e,t){return`${e}:${t.oldPath??""}:${t.path}`}function B(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 _(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 M(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 A(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 K(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,h.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,h.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,h.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,h.cn)("px-3 py-1 whitespace-pre overflow-x-auto",E(e.newKind)),children:e.newText||" "})]},`${e.oldLine??"x"}:${e.newLine??"y"}:${r}`))})]})}function D({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,h.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 z({sessionId:e,active:r}){var a;let o=encodeURIComponent(e),[C,E]=(0,s.useState)(k),[z,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"),[q,W]=(0,s.useState)(()=>"true"===window.localStorage.getItem(w)),[V,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)(V.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:S(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(w,q?"true":"false")},[q]),(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=>P(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=>P({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 j)for(let r of L(el,t)){let n=T(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 j)for(let r of L(ed,t))e.push({category:t,file:r,fileKey:T(t,r)});return e},[ed]),eu=(0,s.useMemo)(()=>{let e=new Map;for(let t of j)for(let r of L(el,t)){let n=T(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,ev=C.defaultBranch?.trim()||"main";(0,s.useEffect)(()=>{if(!r||!ex)return;let e=X[ex.fileKey];e?.loading||e?.loaded||ei(ex,ev)},[r,ev,X,ei,ex]);let eh=(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=A(t.value);if(t.removed){let t=r[e+1],l=t?.added?A(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(K(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(K("empty","add",null,i,"",n[e]??"")),i+=1;continue}for(let e of n)a.push(K("context","context",s,i,e,e)),s+=1,i+=1}return a}(e.original??"",e.modified??"");return q?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},[q,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})(eh),[eh]),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)(v.Badge,{variant:"outline",children:"working-tree"===(a=C.source)?"Working tree":"remote-pr"===a?"Remote PR":"Not found"}),C.branch?(0,t.jsx)(v.Badge,{variant:"outline",children:C.branch}):null,C.defaultBranch?(0,t.jsxs)(v.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:z,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,h.cn)("h-[14px] w-[14px]",z&&"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,h.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,h.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:()=>W(e=>!e),className:(0,h.cn)("rounded-[6px] px-2 py-1 text-[11px]",q?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:q?"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:V,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:[!z||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,z||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:j.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=T(e,r),a=n===G;return(0,t.jsxs)("button",{type:"button",onClick:()=>Q(n),className:(0,h.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,h.cn)("inline-flex h-[20px] items-center rounded-[6px] border px-1.5 text-[10px]",_(r)),children:B(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,h.cn)("inline-flex h-[24px] items-center rounded-[6px] border px-2 text-[11px]",_(ex.file)),children:B(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||ev]}),(0,t.jsxs)("span",{children:["Original: ",M(em.data.originalSize)]}),(0,t.jsxs)("span",{children:["Modified: ",M(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:eh}):(0,t.jsx)(D,{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",()=>z],20015)},41386,e=>{e.n(e.i(20015))}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11077,e=>{"use strict";let t,r,a;var l=e.i(43476),n=e.i(18620),o=e.i(71645),i=e.i(20783),s=Symbol.for("react.lazy"),c=o[" use ".trim().toString()];function d(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===s&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var p=((a=o.forwardRef((e,t)=>{let{children:r,...a}=e;if(d(r)&&"function"==typeof c&&(r=c(r._payload)),o.isValidElement(r)){var l;let e,n,s=(l=r,(n=(e=Object.getOwnPropertyDescriptor(l.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.ref:(n=(e=Object.getOwnPropertyDescriptor(l,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.props.ref:l.props.ref||l.ref),c=function(e,t){let r={...t};for(let a in t){let l=e[a],n=t[a];/^on[A-Z]/.test(a)?l&&n?r[a]=(...e)=>{let t=n(...e);return l(...e),t}:l&&(r[a]=l):"style"===a?r[a]={...l,...n}:"className"===a&&(r[a]=[l,n].filter(Boolean).join(" "))}return{...e,...r}}(a,r.props);return r.type!==o.Fragment&&(c.ref=t?(0,i.composeRefs)(t,s):s),o.cloneElement(r,c)}return o.Children.count(r)>1?o.Children.only(null):null})).displayName="Slot.SlotClone",t=a,(r=o.forwardRef((e,r)=>{let{children:a,...n}=e;d(a)&&"function"==typeof c&&(a=c(a._payload));let i=o.Children.toArray(a),s=i.find(v);if(s){let e=s.props.children,a=i.map(t=>t!==s?t:o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null);return(0,l.jsx)(t,{...n,ref:r,children:o.isValidElement(e)?o.cloneElement(e,void 0,a):null})}return(0,l.jsx)(t,{...n,ref:r,children:a})})).displayName="Slot.Slot",r),u=Symbol("radix.slottable");function v(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===u}let f={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},h={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},m=(0,o.forwardRef)(({variant:e="default",size:t="md",asChild:r,className:a,children:o,...i},s)=>(0,l.jsx)(r?p:"button",{ref:s,className:(0,n.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",f[e],h[t],a),...i,children:o}));m.displayName="Button",e.s(["Button",0,m],11077)},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:n=2,absoluteStrokeWidth:o,className:i="",children:s,iconNode:c,...d},p)=>(0,t.createElement)("svg",{ref:p,...l,width:a,height:a,stroke:e,strokeWidth:o?24*Number(n)/Number(a):n,className:r("lucide",i),...!s&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(s)?s:[s]])),o=(e,l)=>{let o=(0,t.forwardRef)(({className:o,...i},s)=>(0,t.createElement)(n,{ref:s,iconNode:l,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...i}));return o.displayName=a(e),o};e.s(["default",()=>o],75254)},17521,e=>{"use strict";let t=(0,e.i(75254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t])},31278,e=>{"use strict";var t=e.i(17521);e.s(["Loader2",()=>t.default])},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},90272,67236,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",()=>r],90272);let a=(0,t.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);e.s(["FolderKanban",()=>a],67236)},86536,e=>{"use strict";let t=(0,e.i(75254).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>t],86536)},19202,e=>{e.v(t=>Promise.all(["static/chunks/437b46a75e1c92a7.js","static/chunks/cf56c2684b9a1e98.js"].map(t=>e.l(t))).then(()=>t(31437)))},14955,e=>{e.v(t=>Promise.all(["static/chunks/12ac10166ec686d8.js"].map(t=>e.l(t))).then(()=>t(4886)))},85965,e=>{e.v(t=>Promise.all(["static/chunks/581440483618ce47.js"].map(t=>e.l(t))).then(()=>t(58641)))},24629,e=>{e.v(t=>Promise.all(["static/chunks/3f41b6fbd3701c02.js","static/chunks/c3443f28deeae499.js"].map(t=>e.l(t))).then(()=>t(96933)))},77137,e=>{e.v(t=>Promise.all(["static/chunks/7d847f89b35f06f0.js","static/chunks/9b1065a7ccd69a3e.js"].map(t=>e.l(t))).then(()=>t(41280)))}]);
|
|
@@ -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))}]);
|