conductor-oss 0.7.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +173 -134
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +18 -2
- package/dist/backend.js.map +1 -1
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +13 -7
- package/dist/commands/dashboard.js.map +1 -1
- package/node_modules/@conductor-oss/core/dist/config.d.ts.map +1 -1
- package/node_modules/@conductor-oss/core/dist/config.js +6 -1
- package/node_modules/@conductor-oss/core/dist/config.js.map +1 -1
- package/package.json +8 -6
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +2 -0
- package/web/.next/standalone/packages/web/.next/build-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/routes-manifest.json +44 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page/build-manifest.json +5 -5
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- 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 +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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 +2 -2
- 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 +11 -11
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- 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 +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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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]/feed/stream/route.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/stream/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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]/keys/route.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +2 -2
- 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 +2 -2
- 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]/output/stream/route.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js +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 +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 +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 +2 -2
- 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 +2 -2
- 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]/send/route.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route/build-manifest.json +11 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route.js +10 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route.js.map +5 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route.js.nft.json +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route/build-manifest.json +11 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js +10 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.map +5 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.nft.json +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +5 -5
- 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 +2 -2
- 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 +5 -5
- 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 +2 -2
- 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 +5 -5
- 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 +5 -5
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page/server-reference-manifest.json +14 -14
- 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/app-paths-manifest.json +2 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/26076_server_app_api_sessions_[id]_terminal_connection_route_actions_46c114ee.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/26076_server_app_api_sessions_[id]_terminal_snapshot_route_actions_cfb4de43.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/730ea_web__next-internal_server_app_api_sessions_[id]_restore_route_actions_41a4c356.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b716459f._.js → [root-of-the-server]__08556fc3._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__624bcdc9._.js → [root-of-the-server]__0e496df1._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__9bf61231._.js → [root-of-the-server]__115b433b._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__70929198._.js → [root-of-the-server]__120a0868._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__17d710ef._.js → [root-of-the-server]__1a623333._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__262e987e._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__31053ac2._.js → [root-of-the-server]__2713bac9._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__8c576b6a._.js → [root-of-the-server]__2798ac7c._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__747e6415._.js → [root-of-the-server]__27b2bd14._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__a4b1a94c._.js → [root-of-the-server]__29d94573._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__732fc06e._.js → [root-of-the-server]__2b59cba9._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2ce39d51._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3e507276._.js → [root-of-the-server]__2fea4a4c._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__59635ca5._.js → [root-of-the-server]__36559d88._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__f0ec1021._.js → [root-of-the-server]__4117784b._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__543bc377._.js → [root-of-the-server]__43b35d39._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__ba70a88e._.js → [root-of-the-server]__444bf146._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__fd0a681b._.js → [root-of-the-server]__45483f4b._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__98f4a7bd._.js → [root-of-the-server]__4644a89e._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4c78886c._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__e7aaee2d._.js → [root-of-the-server]__4cea5dca._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__33494588._.js → [root-of-the-server]__575c7392._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__eae97345._.js → [root-of-the-server]__57605af7._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__be233a9f._.js → [root-of-the-server]__57c8ca1a._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5e2b35cd._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__8ace49d1._.js → [root-of-the-server]__5f5433df._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6313c91e._.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3dc4c761._.js → [root-of-the-server]__6a8b5dc7._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3318d8a1._.js → [root-of-the-server]__717081d9._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__ae73aa49._.js → [root-of-the-server]__75668566._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b4039db5._.js → [root-of-the-server]__7a6210dc._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__34e636e5._.js → [root-of-the-server]__7ca5b93b._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b53b70e7._.js → [root-of-the-server]__8462ddf1._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3937a996._.js → [root-of-the-server]__9e363e9c._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__4c5f7cab._.js → [root-of-the-server]__a0467c5b._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__9576223c._.js → [root-of-the-server]__a8d68307._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__82e86bb6._.js → [root-of-the-server]__ac79a67b._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__bcd0c846._.js → [root-of-the-server]__af5be1d9._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b3cd93ca._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__540ebc7f._.js → [root-of-the-server]__b7314f2a._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__bb2675cd._.js → [root-of-the-server]__bcbc6330._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__fe4c1384._.js → [root-of-the-server]__bfbdd808._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b00db558._.js → [root-of-the-server]__c205eff4._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__c455995a._.js → [root-of-the-server]__c39ceb71._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c9cb9ac6._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cff9ddef._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__7c87a52f._.js → [root-of-the-server]__d65b8403._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__eb6e6bb9._.js → [root-of-the-server]__d7b9cb55._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__53daf5c6._.js → [root-of-the-server]__df103a4a._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ea845f9f._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__8ee7749b._.js → [root-of-the-server]__f5a16619._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__9940de77._.js → [root-of-the-server]__f62d8a1f._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__5df70a62._.js → [root-of-the-server]__f7c7ed71._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__520aa408._.js → [root-of-the-server]__fa5bbdc8._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__e385846c._.js → [root-of-the-server]__fed9223f._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/_2c837d66._.js +5 -5
- package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_eaad1f33.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__000b8c99._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__4f387f9d._.js → [root-of-the-server]__10a850c6._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__7829c78d._.js → [root-of-the-server]__17f5cb6a._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__29d8d063._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__3ea76517._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__99387ae7._.js → [root-of-the-server]__6647f7ec._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__a509d17d._.js → [root-of-the-server]__9f45b36b._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__bc8d015f._.js → [root-of-the-server]__f8f50c0b._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_0e1412de._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_230c0c14._.js +4 -4
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_2b5578a1._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{_b6d31783._.js → _532f707d._.js} +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_5571204d._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_69e05fca._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_6cfd06c2._.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/{_a4a4deb7._.js → _9e7585e3._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b214b154._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b8358e63._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_c0f0e227._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{_8982bbf3._.js → _de3b7194._.js} +2 -2
- 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_@clerk_nextjs_dist_esm_app-router_743f164d._.js → node_modules_@clerk_nextjs_dist_esm_app-router_a9e633d8._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_f33d83e6._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@radix-ui_d03fdd57._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@xterm_addon-fit_lib_addon-fit_mjs_9b7cb17b._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@xterm_addon-search_lib_addon-search_mjs_8d69d9d7._.js +11 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@xterm_xterm_lib_xterm_mjs_a1a7b9e9._.js +20 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_afb6e107._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_refresh-cw_50f1c1e7.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_next_dist_2df23979._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_cd51dad4.js +2 -2
- 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_SessionDetail_tsx_5fcad270._.js +6 -0
- 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/functions-config-manifest.json +3 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +5 -5
- 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 +15 -15
- package/web/.next/standalone/packages/web/.next/static/chunks/07be250784a6a689.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/0866f5c380851a16.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/0cdc18649f440c71.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/0f7eb6d5a59ee3ae.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/144b356fe7daff8d.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{c4c79d5d0b280aeb.js → 2f236954d6a65e12.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/3cdf839644f79d43.js +18 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/5a4c4d4d5f30829b.css +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/6850a6cda159c98d.js +1 -0
- package/web/.next/{static/chunks/06bdd070b8d25946.js → standalone/packages/web/.next/static/chunks/69be39811437728d.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/6cec31da5f555e99.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/70d1e7a526f0f4e2.js +9 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{ba2aa8b54e912820.js → 723acbe92d3f9e7e.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/739c6f71243d76d8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/a6ec1ab37eb7b410.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/af8bfb72187b7cbf.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/b86b8884ddf84717.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/c1b8a2d2c623a0dc.js +6 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/c993a1a4204fce88.js +4 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/ca3e38b4495a3d39.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{45bd2451c2b0790c.js → caf02f8136b16992.js} +2 -2
- package/web/.next/standalone/packages/web/.next/static/chunks/d4269c59429734ad.js +1 -0
- package/web/.next/{static/chunks/28eac764d6544827.js → standalone/packages/web/.next/static/chunks/e5bcec03f80af56a.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{turbopack-49f4119854e8206e.js → turbopack-26870d017b23fcf0.js} +1 -1
- package/web/.next/standalone/packages/web/next.config.ts +16 -0
- package/web/.next/standalone/packages/web/package.json +3 -1
- package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/terminal/connection/route.ts +64 -0
- package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/terminal/snapshot/route.ts +14 -0
- package/web/.next/standalone/packages/web/src/app/globals.css +12 -4
- package/web/.next/standalone/packages/web/src/components/Dashboard.tsx +1 -5
- package/web/.next/standalone/packages/web/src/components/TerminalView.tsx +528 -100
- package/web/.next/standalone/packages/web/src/components/board/WorkspaceKanban.tsx +3 -3
- package/web/.next/standalone/packages/web/src/components/layout/AppShell.tsx +3 -3
- package/web/.next/standalone/packages/web/src/components/layout/Sidebar.tsx +29 -18
- package/web/.next/standalone/packages/web/src/components/layout/TopBar.tsx +3 -3
- package/web/.next/standalone/packages/web/src/components/sessions/ChatPanel.tsx +61 -5
- package/web/.next/standalone/packages/web/src/components/sessions/SessionDetail.tsx +99 -46
- package/web/.next/standalone/packages/web/src/components/sessions/SessionPreview.tsx +231 -233
- package/web/.next/standalone/packages/web/src/components/sessions/SessionTerminal.tsx +1212 -0
- package/web/.next/standalone/packages/web/src/components/sessions/terminalInsert.ts +6 -0
- package/web/.next/standalone/packages/web/src/components/terminal/xtermTheme.ts +70 -0
- package/web/.next/standalone/packages/web/src/components/ui/Tabs.tsx +2 -2
- package/web/.next/standalone/packages/web/src/features/dashboard/DashboardClient.tsx +104 -31
- package/web/.next/standalone/packages/web/src/features/sessions/SessionPageClient.tsx +2 -2
- package/web/.next/standalone/packages/web/src/lib/devPreviewBrowser.ts +15 -3
- package/web/.next/static/chunks/07be250784a6a689.js +1 -0
- package/web/.next/static/chunks/0866f5c380851a16.js +1 -0
- package/web/.next/static/chunks/0cdc18649f440c71.js +1 -0
- package/web/.next/static/chunks/0f7eb6d5a59ee3ae.js +1 -0
- package/web/.next/static/chunks/144b356fe7daff8d.js +1 -0
- package/web/.next/static/chunks/{c4c79d5d0b280aeb.js → 2f236954d6a65e12.js} +1 -1
- package/web/.next/static/chunks/3cdf839644f79d43.js +18 -0
- package/web/.next/static/chunks/5a4c4d4d5f30829b.css +3 -0
- package/web/.next/static/chunks/6850a6cda159c98d.js +1 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/06bdd070b8d25946.js → static/chunks/69be39811437728d.js} +1 -1
- package/web/.next/static/chunks/6cec31da5f555e99.js +1 -0
- package/web/.next/static/chunks/70d1e7a526f0f4e2.js +9 -0
- package/web/.next/static/chunks/{ba2aa8b54e912820.js → 723acbe92d3f9e7e.js} +1 -1
- package/web/.next/static/chunks/739c6f71243d76d8.js +1 -0
- package/web/.next/static/chunks/a6ec1ab37eb7b410.js +1 -0
- package/web/.next/static/chunks/af8bfb72187b7cbf.js +1 -0
- package/web/.next/static/chunks/b86b8884ddf84717.js +1 -0
- package/web/.next/static/chunks/c1b8a2d2c623a0dc.js +6 -0
- package/web/.next/static/chunks/c993a1a4204fce88.js +4 -0
- package/web/.next/static/chunks/ca3e38b4495a3d39.js +1 -0
- package/web/.next/static/chunks/{45bd2451c2b0790c.js → caf02f8136b16992.js} +2 -2
- package/web/.next/static/chunks/d4269c59429734ad.js +1 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/28eac764d6544827.js → static/chunks/e5bcec03f80af56a.js} +1 -1
- package/web/.next/static/chunks/{turbopack-49f4119854e8206e.js → turbopack-26870d017b23fcf0.js} +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__29091976._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__784e6aef._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__b388693f._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__d1efcbf0._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_e1c18705._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_2a090a71._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@radix-ui_02f0d3f0._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_message-square_2e76b8d9.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_ui_Tooltip_tsx_6becc8ca._.js +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/07f3b9a104ce0ff4.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/1004422d31074d62.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/25afa19789883705.js +0 -6
- package/web/.next/standalone/packages/web/.next/static/chunks/2bc11b604b131190.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/30ababddac1b82dc.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/64f0033534ca1ad3.css +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/902a6ba5837e1e57.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/a28bcda8dd6b68ee.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/aabc80195233b4da.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/b6069d0eb07a978f.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/c2caa064748bb0b5.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/c5f8e486166298c2.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/d6a81d2f8b98b4be.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/dfa8ef24e636ca14.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/e9d0e95bbaa0f4fb.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/ebaa0c535c4135f1.js +0 -1
- package/web/.next/static/chunks/07f3b9a104ce0ff4.js +0 -1
- package/web/.next/static/chunks/1004422d31074d62.js +0 -1
- package/web/.next/static/chunks/25afa19789883705.js +0 -6
- package/web/.next/static/chunks/2bc11b604b131190.js +0 -1
- package/web/.next/static/chunks/30ababddac1b82dc.js +0 -1
- package/web/.next/static/chunks/64f0033534ca1ad3.css +0 -3
- package/web/.next/static/chunks/902a6ba5837e1e57.js +0 -1
- package/web/.next/static/chunks/a28bcda8dd6b68ee.js +0 -1
- package/web/.next/static/chunks/aabc80195233b4da.js +0 -1
- package/web/.next/static/chunks/b6069d0eb07a978f.js +0 -1
- package/web/.next/static/chunks/c2caa064748bb0b5.js +0 -1
- package/web/.next/static/chunks/c5f8e486166298c2.js +0 -1
- package/web/.next/static/chunks/d6a81d2f8b98b4be.js +0 -1
- package/web/.next/static/chunks/dfa8ef24e636ca14.js +0 -1
- package/web/.next/static/chunks/e9d0e95bbaa0f4fb.js +0 -1
- package/web/.next/static/chunks/ebaa0c535c4135f1.js +0 -1
- /package/web/.next/standalone/packages/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_ssgManifest.js +0 -0
- /package/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_buildManifest.js +0 -0
- /package/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[69436,a=>{"use strict";let b,c,d,e;var f,g,h,i,j,k,l,m=a.i(87924),n=a.i(19721),o=a.i(50944),p=a.i(72131),q=a.i(7554),r=a.i(70121),s=a.i(50104),t=a.i(25152),u=a.i(30553),v=a.i(37738),w=a.i(7827),x=a.i(96743),y=0;function z(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}var A=a.i(46872),B="focusScope.autoFocusOnMount",C="focusScope.autoFocusOnUnmount",D={bubbles:!1,cancelable:!0},E=p.forwardRef((a,b)=>{let{loop:c=!1,trapped:d=!1,onMountAutoFocus:e,onUnmountAutoFocus:f,...g}=a,[h,i]=p.useState(null),j=(0,A.useCallbackRef)(e),k=(0,A.useCallbackRef)(f),l=p.useRef(null),n=(0,r.useComposedRefs)(b,a=>i(a)),o=p.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;p.useEffect(()=>{if(d){let a=function(a){if(o.paused||!h)return;let b=a.target;h.contains(b)?l.current=b:H(l.current,{select:!0})},b=function(a){if(o.paused||!h)return;let b=a.relatedTarget;null!==b&&(h.contains(b)||H(l.current,{select:!0}))};document.addEventListener("focusin",a),document.addEventListener("focusout",b);let c=new MutationObserver(function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&H(h)});return h&&c.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[d,h,o.paused]),p.useEffect(()=>{if(h){I.add(o);let a=document.activeElement;if(!h.contains(a)){let b=new CustomEvent(B,D);h.addEventListener(B,j),h.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(H(d,{select:b}),document.activeElement!==c)return}(F(h).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&H(h))}return()=>{h.removeEventListener(B,j),setTimeout(()=>{let b=new CustomEvent(C,D);h.addEventListener(C,k),h.dispatchEvent(b),b.defaultPrevented||H(a??document.body,{select:!0}),h.removeEventListener(C,k),I.remove(o)},0)}}},[h,j,k,o]);let q=p.useCallback(a=>{if(!c&&!d||o.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,e=document.activeElement;if(b&&e){var f;let b,d=a.currentTarget,[g,h]=[G(b=F(f=d),f),G(b.reverse(),f)];g&&h?a.shiftKey||e!==h?a.shiftKey&&e===g&&(a.preventDefault(),c&&H(h,{select:!0})):(a.preventDefault(),c&&H(g,{select:!0})):e===d&&a.preventDefault()}},[c,d,o.paused]);return(0,m.jsx)(u.Primitive.div,{tabIndex:-1,...g,ref:n,onKeyDown:q})});function F(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}function G(a,b){for(let c of a)if(!function(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}(c,{upTo:b}))return c}function H(a,{select:b=!1}={}){if(a&&a.focus){var c;let d=document.activeElement;a.focus({preventScroll:!0}),a!==d&&(c=a)instanceof HTMLInputElement&&"select"in c&&b&&a.select()}}E.displayName="FocusScope";var I=(d=[],{add(a){let b=d[0];a!==b&&b?.pause(),(d=J(d,a)).unshift(a)},remove(a){d=J(d,a),d[0]?.resume()}});function J(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}var K=a.i(92843),L=a.i(4691),M=a.i(92616),N=a.i(77192),O=a.i(24050),P=Symbol("radix.slottable");function Q(a){return p.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===P}var R=new WeakMap,S=new WeakMap,T={},U=0,V=function(a){return a&&(a.host||V(a.parentNode))},W=function(a,b,c,d){var e=(Array.isArray(a)?a:[a]).map(function(a){if(b.contains(a))return a;var c=V(a);return c&&b.contains(c)?c:(console.error("aria-hidden",a,"in not contained inside",b,". Doing nothing"),null)}).filter(function(a){return!!a});T[c]||(T[c]=new WeakMap);var f=T[c],g=[],h=new Set,i=new Set(e),j=function(a){!a||h.has(a)||(h.add(a),j(a.parentNode))};e.forEach(j);var k=function(a){!a||i.has(a)||Array.prototype.forEach.call(a.children,function(a){if(h.has(a))k(a);else try{var b=a.getAttribute(d),e=null!==b&&"false"!==b,i=(R.get(a)||0)+1,j=(f.get(a)||0)+1;R.set(a,i),f.set(a,j),g.push(a),1===i&&e&&S.set(a,!0),1===j&&a.setAttribute(c,"true"),e||a.setAttribute(d,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return k(b),h.clear(),U++,function(){g.forEach(function(a){var b=R.get(a)-1,e=f.get(a)-1;R.set(a,b),f.set(a,e),b||(S.has(a)||a.removeAttribute(d),S.delete(a)),e||a.removeAttribute(c)}),--U||(R=new WeakMap,R=new WeakMap,S=new WeakMap,T={})}},X=function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("u"<typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live], script"))),W(d,e,c,"aria-hidden")):function(){return null}},Y=function(){return(Y=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function Z(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}var $=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),_="width-before-scroll-bar";function aa(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var ab=p.useEffect,ac=new WeakMap,ad=(void 0===f&&(f={}),(void 0===g&&(g=function(a){return a}),h=[],i=!1,j={read:function(){if(i)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return h.length?h[h.length-1]:null},useMedium:function(a){var b=g(a,i);return h.push(b),function(){h=h.filter(function(a){return a!==b})}},assignSyncMedium:function(a){for(i=!0;h.length;){var b=h;h=[],b.forEach(a)}h={push:function(b){return a(b)},filter:function(){return h}}},assignMedium:function(a){i=!0;var b=[];if(h.length){var c=h;h=[],c.forEach(a),b=h}var d=function(){var c=b;b=[],c.forEach(a)},e=function(){return Promise.resolve().then(d)};e(),h={push:function(a){b.push(a),e()},filter:function(a){return b=b.filter(a),h}}}}).options=Y({async:!0,ssr:!1},f),j),ae=function(){},af=p.forwardRef(function(a,b){var c,d,e,f,g=p.useRef(null),h=p.useState({onScrollCapture:ae,onWheelCapture:ae,onTouchMoveCapture:ae}),i=h[0],j=h[1],k=a.forwardProps,l=a.children,m=a.className,n=a.removeScrollBar,o=a.enabled,q=a.shards,r=a.sideCar,s=a.noRelative,t=a.noIsolation,u=a.inert,v=a.allowPinchZoom,w=a.as,x=a.gapMode,y=Z(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),z=(c=[g,b],d=function(a){return c.forEach(function(b){return aa(b,a)})},(e=(0,p.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,ab(function(){var a=ac.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||aa(a,null)}),d.forEach(function(a){b.has(a)||aa(a,e)})}ac.set(f,c)},[c]),f),A=Y(Y({},y),i);return p.createElement(p.Fragment,null,o&&p.createElement(r,{sideCar:ad,removeScrollBar:n,shards:q,noRelative:s,noIsolation:t,inert:u,setCallbacks:j,allowPinchZoom:!!v,lockRef:g,gapMode:x}),k?p.cloneElement(p.Children.only(l),Y(Y({},A),{ref:z})):p.createElement(void 0===w?"div":w,Y({},A,{className:m,ref:z}),l))});af.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},af.classNames={fullWidth:_,zeroRight:$};var ag=function(a){var b=a.sideCar,c=Z(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return p.createElement(d,Y({},c))};ag.isSideCarExport=!0;var ah=function(){var a=0,b=null;return{add:function(c){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=l||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return b&&a.setAttribute("nonce",b),a}())){var d,e;(d=b).styleSheet?d.styleSheet.cssText=c:d.appendChild(document.createTextNode(c)),e=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},ai=function(){var a=ah();return function(b,c){p.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},aj=function(){var a=ai();return function(b){return a(b.styles,b.dynamic),null}},ak={left:0,top:0,right:0,gap:0},al=aj(),am="data-scroll-locked",an=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(am,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat($," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(_," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat($," .").concat($," {\n right: 0 ").concat(d,";\n }\n \n .").concat(_," .").concat(_," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(am,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},ao=function(){var a=parseInt(document.body.getAttribute(am)||"0",10);return isFinite(a)?a:0},ap=function(){p.useEffect(function(){return document.body.setAttribute(am,(ao()+1).toString()),function(){var a=ao()-1;a<=0?document.body.removeAttribute(am):document.body.setAttribute(am,a.toString())}},[])},aq=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;ap();var f=p.useMemo(function(){return void 0===e,ak},[e]);return p.createElement(al,{styles:an(f,!b,e,c?"":"!important")})},ar=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},as=function(a,b){var c=b.ownerDocument,d=b;do{if("u">typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),at(a,d)){var e=au(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body)return!1},at=function(a,b){return"v"===a?ar(b,"overflowY"):ar(b,"overflowX")},au=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},av=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{if(!i)break;var o=au(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&at(a,i)&&(m+=q,n+=p);var r=i.parentNode;i=r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE?r.host:r}while(!j&&i!==document.body||j&&(b.contains(i)||b===i))return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},aw=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},ax=function(a){return[a.deltaX,a.deltaY]},ay=function(a){return a&&"current"in a?a.current:a},az=0,aA=[];let aB=(k=function(a){var b=p.useRef([]),c=p.useRef([0,0]),d=p.useRef(),e=p.useState(az++)[0],f=p.useState(aj)[0],g=p.useRef(a);p.useEffect(function(){g.current=a},[a]),p.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(ay),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var h=p.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!g.current.allowPinchZoom;var e,f=aw(a),h=c.current,i="deltaX"in a?a.deltaX:h[0]-f[0],j="deltaY"in a?a.deltaY:h[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=window.getSelection(),n=m&&m.anchorNode;if(n&&(n===k||n.contains(k)))return!1;var o=as(l,k);if(!o)return!0;if(o?e=l:(e="v"===l?"h":"v",o=as(l,k)),!o)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var p=d.current||e;return av(p,b,a,"h"===p?i:j,!0)},[]),i=p.useCallback(function(a){if(aA.length&&aA[aA.length-1]===f){var c="deltaY"in a?ax(a):aw(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(g.current.shards||[]).map(ay).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?h(a,e[0]):!g.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),j=p.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),k=p.useCallback(function(a){c.current=aw(a),d.current=void 0},[]),l=p.useCallback(function(b){j(b.type,ax(b),b.target,h(b,a.lockRef.current))},[]),m=p.useCallback(function(b){j(b.type,aw(b),b.target,h(b,a.lockRef.current))},[]);p.useEffect(function(){return aA.push(f),a.setCallbacks({onScrollCapture:l,onWheelCapture:l,onTouchMoveCapture:m}),document.addEventListener("wheel",i,!1),document.addEventListener("touchmove",i,!1),document.addEventListener("touchstart",k,!1),function(){aA=aA.filter(function(a){return a!==f}),document.removeEventListener("wheel",i,!1),document.removeEventListener("touchmove",i,!1),document.removeEventListener("touchstart",k,!1)}},[]);var n=a.removeScrollBar,o=a.inert;return p.createElement(p.Fragment,null,o?p.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,n?p.createElement(aq,{noRelative:a.noRelative,gapMode:a.gapMode}):null)},ad.useMedium(k),ag);var aC=p.forwardRef(function(a,b){return p.createElement(af,Y({},a,{ref:b,sideCar:aB}))});aC.classNames=af.classNames;var aD=["Enter"," "],aE=["ArrowUp","PageDown","End"],aF=["ArrowDown","PageUp","Home",...aE],aG={ltr:[...aD,"ArrowRight"],rtl:[...aD,"ArrowLeft"]},aH={ltr:["ArrowLeft"],rtl:["ArrowRight"]},aI="Menu",[aJ,aK,aL]=(0,v.createCollection)(aI),[aM,aN]=(0,s.createContextScope)(aI,[aL,L.createPopperScope,O.createRovingFocusGroupScope]),aO=(0,L.createPopperScope)(),aP=(0,O.createRovingFocusGroupScope)(),[aQ,aR]=aM(aI),[aS,aT]=aM(aI),aU=a=>{let{__scopeMenu:b,open:c=!1,children:d,dir:e,onOpenChange:f,modal:g=!0}=a,h=aO(b),[i,j]=p.useState(null),k=p.useRef(!1),l=(0,A.useCallbackRef)(f),n=(0,w.useDirection)(e);return p.useEffect(()=>{let a=()=>{k.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>k.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,m.jsx)(L.Root,{...h,children:(0,m.jsx)(aQ,{scope:b,open:c,onOpenChange:l,content:i,onContentChange:j,children:(0,m.jsx)(aS,{scope:b,onClose:p.useCallback(()=>l(!1),[l]),isUsingKeyboardRef:k,dir:n,modal:g,children:d})})})};aU.displayName=aI;var aV=p.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=aO(c);return(0,m.jsx)(L.Anchor,{...e,...d,ref:b})});aV.displayName="MenuAnchor";var aW="MenuPortal",[aX,aY]=aM(aW,{forceMount:void 0}),aZ=a=>{let{__scopeMenu:b,forceMount:c,children:d,container:e}=a,f=aR(aW,b);return(0,m.jsx)(aX,{scope:b,forceMount:c,children:(0,m.jsx)(N.Presence,{present:c||f.open,children:(0,m.jsx)(M.Portal,{asChild:!0,container:e,children:d})})})};aZ.displayName=aW;var a$="MenuContent",[a_,a0]=aM(a$),a1=p.forwardRef((a,b)=>{let c=aY(a$,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,f=aR(a$,a.__scopeMenu),g=aT(a$,a.__scopeMenu);return(0,m.jsx)(aJ.Provider,{scope:a.__scopeMenu,children:(0,m.jsx)(N.Presence,{present:d||f.open,children:(0,m.jsx)(aJ.Slot,{scope:a.__scopeMenu,children:g.modal?(0,m.jsx)(a2,{...e,ref:b}):(0,m.jsx)(a3,{...e,ref:b})})})})}),a2=p.forwardRef((a,b)=>{let c=aR(a$,a.__scopeMenu),d=p.useRef(null),e=(0,r.useComposedRefs)(b,d);return p.useEffect(()=>{let a=d.current;if(a)return X(a)},[]),(0,m.jsx)(a5,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:c.open,disableOutsideScroll:!0,onFocusOutside:(0,q.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>c.onOpenChange(!1)})}),a3=p.forwardRef((a,b)=>{let c=aR(a$,a.__scopeMenu);return(0,m.jsx)(a5,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>c.onOpenChange(!1)})}),a4=((e=p.forwardRef((a,b)=>{let{children:c,...d}=a;if(p.isValidElement(c)){var e;let a,f,g=(e=c,(f=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(f=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),h=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==p.Fragment&&(h.ref=b?(0,r.composeRefs)(b,g):g),p.cloneElement(c,h)}return p.Children.count(c)>1?p.Children.only(null):null})).displayName="MenuContent.ScrollLock.SlotClone",b=e,(c=p.forwardRef((a,c)=>{let{children:d,...e}=a,f=p.Children.toArray(d),g=f.find(Q);if(g){let a=g.props.children,d=f.map(b=>b!==g?b:p.Children.count(a)>1?p.Children.only(null):p.isValidElement(a)?a.props.children:null);return(0,m.jsx)(b,{...e,ref:c,children:p.isValidElement(a)?p.cloneElement(a,void 0,d):null})}return(0,m.jsx)(b,{...e,ref:c,children:d})})).displayName="MenuContent.ScrollLock.Slot",c),a5=p.forwardRef((a,b)=>{let{__scopeMenu:c,loop:d=!1,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEntryFocus:i,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:l,onInteractOutside:n,onDismiss:o,disableOutsideScroll:s,...t}=a,u=aR(a$,c),v=aT(a$,c),w=aO(c),A=aP(c),B=aK(c),[C,D]=p.useState(null),F=p.useRef(null),G=(0,r.useComposedRefs)(b,F,u.onContentChange),H=p.useRef(0),I=p.useRef(""),J=p.useRef(0),K=p.useRef(null),M=p.useRef("right"),N=p.useRef(0),P=s?aC:p.Fragment;p.useEffect(()=>()=>window.clearTimeout(H.current),[]),p.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??z()),document.body.insertAdjacentElement("beforeend",a[1]??z()),y++,()=>{1===y&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),y--}},[]);let Q=p.useCallback(a=>{var b,c;return M.current===K.current?.side&&(b=a,!!(c=K.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,m.jsx)(a_,{scope:c,searchRef:I,onItemEnter:p.useCallback(a=>{Q(a)&&a.preventDefault()},[Q]),onItemLeave:p.useCallback(a=>{Q(a)||(F.current?.focus(),D(null))},[Q]),onTriggerLeave:p.useCallback(a=>{Q(a)&&a.preventDefault()},[Q]),pointerGraceTimerRef:J,onPointerGraceIntentChange:p.useCallback(a=>{K.current=a},[]),children:(0,m.jsx)(P,{...s?{as:a4,allowPinchZoom:!0}:void 0,children:(0,m.jsx)(E,{asChild:!0,trapped:e,onMountAutoFocus:(0,q.composeEventHandlers)(f,a=>{a.preventDefault(),F.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:g,children:(0,m.jsx)(x.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:h,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:l,onInteractOutside:n,onDismiss:o,children:(0,m.jsx)(O.Root,{asChild:!0,...A,dir:v.dir,orientation:"vertical",loop:d,currentTabStopId:C,onCurrentTabStopIdChange:D,onEntryFocus:(0,q.composeEventHandlers)(i,a=>{v.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,m.jsx)(L.Content,{role:"menu","aria-orientation":"vertical","data-state":bv(u.open),"data-radix-menu-content":"",dir:v.dir,...w,...t,ref:G,style:{outline:"none",...t.style},onKeyDown:(0,q.composeEventHandlers)(t.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=I.current+e,f=B().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){I.current=b,window.clearTimeout(H.current),""!==b&&(H.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=F.current;if(a.target!==f||!aF.includes(a.key))return;a.preventDefault();let g=B().filter(a=>!a.disabled).map(a=>a.ref.current);aE.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,q.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(H.current),I.current="")}),onPointerMove:(0,q.composeEventHandlers)(a.onPointerMove,by(a=>{let b=a.target,c=N.current!==a.clientX;a.currentTarget.contains(b)&&c&&(M.current=a.clientX>N.current?"right":"left",N.current=a.clientX)}))})})})})})})});a1.displayName=a$;var a6=p.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,m.jsx)(u.Primitive.div,{role:"group",...d,ref:b})});a6.displayName="MenuGroup";var a7=p.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,m.jsx)(u.Primitive.div,{...d,ref:b})});a7.displayName="MenuLabel";var a8="MenuItem",a9="menu.itemSelect",ba=p.forwardRef((a,b)=>{let{disabled:c=!1,onSelect:d,...e}=a,f=p.useRef(null),g=aT(a8,a.__scopeMenu),h=a0(a8,a.__scopeMenu),i=(0,r.useComposedRefs)(b,f),j=p.useRef(!1);return(0,m.jsx)(bb,{...e,ref:i,disabled:c,onClick:(0,q.composeEventHandlers)(a.onClick,()=>{let a=f.current;if(!c&&a){let b=new CustomEvent(a9,{bubbles:!0,cancelable:!0});a.addEventListener(a9,a=>d?.(a),{once:!0}),(0,u.dispatchDiscreteCustomEvent)(a,b),b.defaultPrevented?j.current=!1:g.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),j.current=!0},onPointerUp:(0,q.composeEventHandlers)(a.onPointerUp,a=>{j.current||a.currentTarget?.click()}),onKeyDown:(0,q.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==h.searchRef.current;c||b&&" "===a.key||aD.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});ba.displayName=a8;var bb=p.forwardRef((a,b)=>{let{__scopeMenu:c,disabled:d=!1,textValue:e,...f}=a,g=a0(a8,c),h=aP(c),i=p.useRef(null),j=(0,r.useComposedRefs)(b,i),[k,l]=p.useState(!1),[n,o]=p.useState("");return p.useEffect(()=>{let a=i.current;a&&o((a.textContent??"").trim())},[f.children]),(0,m.jsx)(aJ.ItemSlot,{scope:c,disabled:d,textValue:e??n,children:(0,m.jsx)(O.Item,{asChild:!0,...h,focusable:!d,children:(0,m.jsx)(u.Primitive.div,{role:"menuitem","data-highlighted":k?"":void 0,"aria-disabled":d||void 0,"data-disabled":d?"":void 0,...f,ref:j,onPointerMove:(0,q.composeEventHandlers)(a.onPointerMove,by(a=>{d?g.onItemLeave(a):(g.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,q.composeEventHandlers)(a.onPointerLeave,by(a=>g.onItemLeave(a))),onFocus:(0,q.composeEventHandlers)(a.onFocus,()=>l(!0)),onBlur:(0,q.composeEventHandlers)(a.onBlur,()=>l(!1))})})})}),bc=p.forwardRef((a,b)=>{let{checked:c=!1,onCheckedChange:d,...e}=a;return(0,m.jsx)(bk,{scope:a.__scopeMenu,checked:c,children:(0,m.jsx)(ba,{role:"menuitemcheckbox","aria-checked":bw(c)?"mixed":c,...e,ref:b,"data-state":bx(c),onSelect:(0,q.composeEventHandlers)(e.onSelect,()=>d?.(!!bw(c)||!c),{checkForDefaultPrevented:!1})})})});bc.displayName="MenuCheckboxItem";var bd="MenuRadioGroup",[be,bf]=aM(bd,{value:void 0,onValueChange:()=>{}}),bg=p.forwardRef((a,b)=>{let{value:c,onValueChange:d,...e}=a,f=(0,A.useCallbackRef)(d);return(0,m.jsx)(be,{scope:a.__scopeMenu,value:c,onValueChange:f,children:(0,m.jsx)(a6,{...e,ref:b})})});bg.displayName=bd;var bh="MenuRadioItem",bi=p.forwardRef((a,b)=>{let{value:c,...d}=a,e=bf(bh,a.__scopeMenu),f=c===e.value;return(0,m.jsx)(bk,{scope:a.__scopeMenu,checked:f,children:(0,m.jsx)(ba,{role:"menuitemradio","aria-checked":f,...d,ref:b,"data-state":bx(f),onSelect:(0,q.composeEventHandlers)(d.onSelect,()=>e.onValueChange?.(c),{checkForDefaultPrevented:!1})})})});bi.displayName=bh;var bj="MenuItemIndicator",[bk,bl]=aM(bj,{checked:!1}),bm=p.forwardRef((a,b)=>{let{__scopeMenu:c,forceMount:d,...e}=a,f=bl(bj,c);return(0,m.jsx)(N.Presence,{present:d||bw(f.checked)||!0===f.checked,children:(0,m.jsx)(u.Primitive.span,{...e,ref:b,"data-state":bx(f.checked)})})});bm.displayName=bj;var bn=p.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,m.jsx)(u.Primitive.div,{role:"separator","aria-orientation":"horizontal",...d,ref:b})});bn.displayName="MenuSeparator";var bo=p.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=aO(c);return(0,m.jsx)(L.Arrow,{...e,...d,ref:b})});bo.displayName="MenuArrow";var[bp,bq]=aM("MenuSub"),br="MenuSubTrigger",bs=p.forwardRef((a,b)=>{let c=aR(br,a.__scopeMenu),d=aT(br,a.__scopeMenu),e=bq(br,a.__scopeMenu),f=a0(br,a.__scopeMenu),g=p.useRef(null),{pointerGraceTimerRef:h,onPointerGraceIntentChange:i}=f,j={__scopeMenu:a.__scopeMenu},k=p.useCallback(()=>{g.current&&window.clearTimeout(g.current),g.current=null},[]);return p.useEffect(()=>k,[k]),p.useEffect(()=>{let a=h.current;return()=>{window.clearTimeout(a),i(null)}},[h,i]),(0,m.jsx)(aV,{asChild:!0,...j,children:(0,m.jsx)(bb,{id:e.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":e.contentId,"data-state":bv(c.open),...a,ref:(0,r.composeRefs)(b,e.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),c.open||c.onOpenChange(!0))},onPointerMove:(0,q.composeEventHandlers)(a.onPointerMove,by(b=>{f.onItemEnter(b),!b.defaultPrevented&&(a.disabled||c.open||g.current||(f.onPointerGraceIntentChange(null),g.current=window.setTimeout(()=>{c.onOpenChange(!0),k()},100)))})),onPointerLeave:(0,q.composeEventHandlers)(a.onPointerLeave,by(a=>{k();let b=c.content?.getBoundingClientRect();if(b){let d=c.content?.dataset.side,e="right"===d,g=b[e?"left":"right"],i=b[e?"right":"left"];f.onPointerGraceIntentChange({area:[{x:a.clientX+(e?-5:5),y:a.clientY},{x:g,y:b.top},{x:i,y:b.top},{x:i,y:b.bottom},{x:g,y:b.bottom}],side:d}),window.clearTimeout(h.current),h.current=window.setTimeout(()=>f.onPointerGraceIntentChange(null),300)}else{if(f.onTriggerLeave(a),a.defaultPrevented)return;f.onPointerGraceIntentChange(null)}})),onKeyDown:(0,q.composeEventHandlers)(a.onKeyDown,b=>{let e=""!==f.searchRef.current;a.disabled||e&&" "===b.key||aG[d.dir].includes(b.key)&&(c.onOpenChange(!0),c.content?.focus(),b.preventDefault())})})})});bs.displayName=br;var bt="MenuSubContent",bu=p.forwardRef((a,b)=>{let c=aY(a$,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,f=aR(a$,a.__scopeMenu),g=aT(a$,a.__scopeMenu),h=bq(bt,a.__scopeMenu),i=p.useRef(null),j=(0,r.useComposedRefs)(b,i);return(0,m.jsx)(aJ.Provider,{scope:a.__scopeMenu,children:(0,m.jsx)(N.Presence,{present:d||f.open,children:(0,m.jsx)(aJ.Slot,{scope:a.__scopeMenu,children:(0,m.jsx)(a5,{id:h.contentId,"aria-labelledby":h.triggerId,...e,ref:j,align:"start",side:"rtl"===g.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{g.isUsingKeyboardRef.current&&i.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,q.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==h.trigger&&f.onOpenChange(!1)}),onEscapeKeyDown:(0,q.composeEventHandlers)(a.onEscapeKeyDown,a=>{g.onClose(),a.preventDefault()}),onKeyDown:(0,q.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=aH[g.dir].includes(a.key);b&&c&&(f.onOpenChange(!1),h.trigger?.focus(),a.preventDefault())})})})})})});function bv(a){return a?"open":"closed"}function bw(a){return"indeterminate"===a}function bx(a){return bw(a)?"indeterminate":a?"checked":"unchecked"}function by(a){return b=>"mouse"===b.pointerType?a(b):void 0}bu.displayName=bt;var bz="DropdownMenu",[bA,bB]=(0,s.createContextScope)(bz,[aN]),bC=aN(),[bD,bE]=bA(bz),bF=a=>{let{__scopeDropdownMenu:b,children:c,dir:d,open:e,defaultOpen:f,onOpenChange:g,modal:h=!0}=a,i=bC(b),j=p.useRef(null),[k,l]=(0,t.useControllableState)({prop:e,defaultProp:f??!1,onChange:g,caller:bz});return(0,m.jsx)(bD,{scope:b,triggerId:(0,K.useId)(),triggerRef:j,contentId:(0,K.useId)(),open:k,onOpenChange:l,onOpenToggle:p.useCallback(()=>l(a=>!a),[l]),modal:h,children:(0,m.jsx)(aU,{...i,open:k,onOpenChange:l,dir:d,modal:h,children:c})})};bF.displayName=bz;var bG="DropdownMenuTrigger",bH=p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,disabled:d=!1,...e}=a,f=bE(bG,c),g=bC(c);return(0,m.jsx)(aV,{asChild:!0,...g,children:(0,m.jsx)(u.Primitive.button,{type:"button",id:f.triggerId,"aria-haspopup":"menu","aria-expanded":f.open,"aria-controls":f.open?f.contentId:void 0,"data-state":f.open?"open":"closed","data-disabled":d?"":void 0,disabled:d,...e,ref:(0,r.composeRefs)(b,f.triggerRef),onPointerDown:(0,q.composeEventHandlers)(a.onPointerDown,a=>{!d&&0===a.button&&!1===a.ctrlKey&&(f.onOpenToggle(),f.open||a.preventDefault())}),onKeyDown:(0,q.composeEventHandlers)(a.onKeyDown,a=>{!d&&(["Enter"," "].includes(a.key)&&f.onOpenToggle(),"ArrowDown"===a.key&&f.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});bH.displayName=bG;var bI=a=>{let{__scopeDropdownMenu:b,...c}=a,d=bC(b);return(0,m.jsx)(aZ,{...d,...c})};bI.displayName="DropdownMenuPortal";var bJ="DropdownMenuContent",bK=p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(bJ,c),f=bC(c),g=p.useRef(!1);return(0,m.jsx)(a1,{id:e.contentId,"aria-labelledby":e.triggerId,...f,...d,ref:b,onCloseAutoFocus:(0,q.composeEventHandlers)(a.onCloseAutoFocus,a=>{g.current||e.triggerRef.current?.focus(),g.current=!1,a.preventDefault()}),onInteractOutside:(0,q.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!e.modal||d)&&(g.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bK.displayName=bJ,p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(a6,{...e,...d,ref:b})}).displayName="DropdownMenuGroup",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(a7,{...e,...d,ref:b})}).displayName="DropdownMenuLabel";var bL=p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(ba,{...e,...d,ref:b})});bL.displayName="DropdownMenuItem",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(bc,{...e,...d,ref:b})}).displayName="DropdownMenuCheckboxItem",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(bg,{...e,...d,ref:b})}).displayName="DropdownMenuRadioGroup",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(bi,{...e,...d,ref:b})}).displayName="DropdownMenuRadioItem",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(bm,{...e,...d,ref:b})}).displayName="DropdownMenuItemIndicator";var bM=p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(bn,{...e,...d,ref:b})});function bN(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function bO(){return(bO=Object.assign.bind()).apply(this,arguments)}bM.displayName="DropdownMenuSeparator",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(bo,{...e,...d,ref:b})}).displayName="DropdownMenuArrow",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(bs,{...e,...d,ref:b})}).displayName="DropdownMenuSubTrigger",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bC(c);return(0,m.jsx)(bu,{...e,...d,ref:b,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent";var bP=["aria-label","aria-labelledby","tabIndex","className","fill","size","verticalAlign","id","title","style"],bQ={small:16,medium:32,large:64};function bR(a,b,c){var d=c(),e=Object.keys(d),f=p.default.forwardRef(function(a,c){var f,g,h=a["aria-label"],i=a["aria-labelledby"],j=a.tabIndex,k=a.className,l=a.fill,m=a.size,n=void 0===m?16:m,o=a.verticalAlign,q=a.id,r=a.title,s=a.style,t=function(a,b){if(null==a)return{};var c,d,e=function(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],b.indexOf(c)>=0||(e[c]=a[c]);return e}(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],!(b.indexOf(c)>=0)&&Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}(a,bP),u=bQ[n]||n,v=(f=e,g=u,f.map(function(a){return parseInt(a,10)}).reduce(function(a,b){return b<=g?b:a},f[0])),w=d[v].width,x=w/v*u,y=d[v].path,z=h||i;return p.default.createElement("svg",bO({ref:c},t,{"aria-hidden":z?void 0:"true",tabIndex:j,focusable:j>=0?"true":"false","aria-label":h,"aria-labelledby":i,className:"".concat(b," ").concat(void 0===k?"":k).trim(),role:z?"img":void 0,viewBox:"0 0 ".concat(w," ").concat(v),width:x,height:u,fill:void 0===l?"currentColor":l,id:q,display:"inline-block",overflow:"visible",style:function(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?bN(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],e in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):bN(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}({verticalAlign:void 0===o?"text-bottom":o},s)}),r?p.default.createElement("title",null,r):null,y)});return f.displayName=a,f}var bS=bR("GitBranchIcon","octicon octicon-git-branch",function(){return{16:{width:16,path:p.default.createElement("path",{d:"M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"})},24:{width:24,path:p.default.createElement(p.default.Fragment,null,p.default.createElement("path",{d:"M15 4.75a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM2.5 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM5.75 6.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 6.5Zm0 14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 21Zm12.5-14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 18.25 6.5Z"}),p.default.createElement("path",{d:"M5.75 16.75A.75.75 0 0 1 5 16V8a.75.75 0 0 1 1.5 0v8a.75.75 0 0 1-.75.75Z"}),p.default.createElement("path",{d:"M17.5 8.75v-1H19v1a3.75 3.75 0 0 1-3.75 3.75h-7a1.75 1.75 0 0 0-1.75 1.75H5A3.25 3.25 0 0 1 8.25 11h7a2.25 2.25 0 0 0 2.25-2.25Z"}))}}}),bT=bR("LockIcon","octicon octicon-lock",function(){return{16:{width:16,path:p.default.createElement("path",{d:"M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z"})},24:{width:24,path:p.default.createElement("path",{d:"M6 9V7.25C6 3.845 8.503 1 12 1s6 2.845 6 6.25V9h.5a2.5 2.5 0 0 1 2.5 2.5v8a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-8A2.5 2.5 0 0 1 5.5 9Zm-1.5 2.5v8a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1h-13a1 1 0 0 0-1 1Zm3-4.25V9h9V7.25c0-2.67-1.922-4.75-4.5-4.75-2.578 0-4.5 2.08-4.5 4.75Z"})}}}),bU=bR("MarkGithubIcon","octicon octicon-mark-github",function(){return{16:{width:16,path:p.default.createElement("path",{d:"M6.766 11.695C4.703 11.437 3.25 9.904 3.25 7.92c0-.806.281-1.677.75-2.258-.203-.532-.172-1.662.062-2.129.626-.081 1.469.258 1.969.726.594-.194 1.219-.291 1.985-.291.765 0 1.39.097 1.953.274.484-.451 1.343-.79 1.969-.709.218.435.25 1.564.046 2.113.5.613.766 1.436.766 2.274 0 1.984-1.453 3.485-3.547 3.759.531.355.891 1.129.891 2.016v1.678c0 .484.39.758.859.564C13.781 14.824 16 11.905 16 8.291 16 3.726 12.406 0 7.984 0 3.562 0 0 3.726 0 8.291c0 3.581 2.203 6.55 5.172 7.663A.595.595 0 0 0 6 15.389v-1.291c-.219.097-.5.162-.75.162-1.031 0-1.641-.581-2.078-1.662-.172-.435-.36-.693-.719-.742-.187-.016-.25-.097-.25-.193 0-.194.313-.339.625-.339.453 0 .844.29 1.25.887.313.468.641.678 1.031.678.391 0 .641-.146 1-.516.266-.275.469-.517.657-.678Z"})},24:{width:24,path:p.default.createElement("path",{d:"M10.303 16.652c-2.837-.344-4.835-2.385-4.835-5.028 0-1.074.387-2.235 1.031-3.008-.279-.709-.236-2.214.086-2.837.86-.107 2.02.344 2.708.967.816-.258 1.676-.386 2.728-.386 1.053 0 1.913.128 2.686.365.666-.602 1.848-1.053 2.708-.946.3.581.344 2.085.064 2.815.688.817 1.053 1.913 1.053 3.03 0 2.643-1.998 4.641-4.877 5.006.73.473 1.224 1.504 1.224 2.686v2.235c0 .644.537 1.01 1.182.752 3.889-1.483 6.94-5.372 6.94-10.185 0-6.081-4.942-11.044-11.022-11.044-6.081 0-10.98 4.963-10.98 11.044a10.84 10.84 0 0 0 7.112 10.206c.58.215 1.139-.172 1.139-.752v-1.719a2.768 2.768 0 0 1-1.032.215c-1.418 0-2.256-.773-2.857-2.213-.237-.58-.495-.924-.989-.988-.258-.022-.344-.129-.344-.258 0-.258.43-.451.86-.451.623 0 1.16.386 1.719 1.181.43.623.881.903 1.418.903.537 0 .881-.194 1.375-.688.365-.365.645-.687.903-.902Z"})}}}),bV=bR("RepoIcon","octicon octicon-repo",function(){return{16:{width:16,path:p.default.createElement("path",{d:"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"})},24:{width:24,path:p.default.createElement(p.default.Fragment,null,p.default.createElement("path",{d:"M3 2.75A2.75 2.75 0 0 1 5.75 0h14.5a.75.75 0 0 1 .75.75v20.5a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h5.25v-4H6A1.5 1.5 0 0 0 4.5 18v.75c0 .716.43 1.334 1.05 1.605a.75.75 0 0 1-.6 1.374A3.251 3.251 0 0 1 3 18.75ZM19.5 1.5H5.75c-.69 0-1.25.56-1.25 1.25v12.651A2.989 2.989 0 0 1 6 15h13.5Z"}),p.default.createElement("path",{d:"M7 18.25a.25.25 0 0 1 .25-.25h5a.25.25 0 0 1 .25.25v5.01a.25.25 0 0 1-.397.201l-2.206-1.604a.25.25 0 0 0-.294 0L7.397 23.46a.25.25 0 0 1-.397-.2v-5.01Z"}))}}}),bW=a.i(67299),bX={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},bY=p.default.createContext&&p.default.createContext(bX),bZ=["attr","size","title"];function b$(){return(b$=Object.assign.bind()).apply(null,arguments)}function b_(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function b0(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?b_(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],(e=function(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}(a,"string");return"symbol"==typeof b?b:b+""}(e))in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):b_(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function b1(a){return b=>p.default.createElement(b2,b$({attr:b0({},a.attr)},b),function a(b){return b&&b.map((b,c)=>p.default.createElement(b.tag,b0({key:c},b.attr),a(b.child)))}(a.child))}function b2(a){var b=b=>{var c,{attr:d,size:e,title:f}=a,g=function(a,b){if(null==a)return{};var c,d,e=function(a,b){if(null==a)return{};var c={};for(var d in a)if(({}).hasOwnProperty.call(a,d)){if(-1!==b.indexOf(d))continue;c[d]=a[d]}return c}(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],-1===b.indexOf(c)&&({}).propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}(a,bZ),h=e||b.size||"1em";return b.className&&(c=b.className),a.className&&(c=(c?c+" ":"")+a.className),p.default.createElement("svg",b$({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},b.attr,d,g,{className:c,style:b0(b0({color:a.color||b.color},b.style),a.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),f&&p.default.createElement("title",null,f),a.children)};return void 0!==bY?p.default.createElement(bY.Consumer,null,a=>b(a)):b(bX)}var b3=a.i(70106);let b4=(0,b3.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),b5=(0,b3.default)("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),b6=(0,b3.default)("building-2",[["path",{d:"M10 12h4",key:"a56b0p"}],["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M14 21v-3a2 2 0 0 0-4 0v3",key:"1rgiei"}],["path",{d:"M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2",key:"secmi2"}],["path",{d:"M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16",key:"16ra0t"}]]),b7=(0,b3.default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var b8=a.i(33441),b9=a.i(5784),ca=a.i(5151),cb=a.i(77156),cc=a.i(96101),cd=a.i(34531);let ce=(0,b3.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"}]]),cf=(0,b3.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"}]]),cg=(0,b3.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 ch=a.i(96221);let ci=(0,b3.default)("plug-zap",[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]]);var cj=a.i(28790),ck=a.i(87532);let cl=(0,b3.default)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]),cm=(0,b3.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]),cn=(0,b3.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),co=(0,b3.default)("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]);var cp=a.i(33508),cq=a.i(53603);let cr=[{name:"codex",label:"Codex",description:"OpenAI Codex CLI",homepage:"https://github.com/openai/codex",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/openai.svg",installHint:"npm install -g @openai/codex",installUrl:"https://github.com/openai/codex",setupUrl:"https://chatgpt.com/codex"},{name:"gemini",label:"Gemini",description:"Google Gemini CLI",homepage:"https://ai.google.dev/gemini-api/docs",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/googlegemini.svg",installHint:"npm install -g @google/gemini-cli",installUrl:"https://ai.google.dev/gemini-api/docs",setupUrl:"https://aistudio.google.com/"},{name:"qwen-code",label:"Qwen Code",description:"Qwen Code CLI",homepage:"https://qwenlm.github.io/announcements/",iconUrl:null,installHint:"npm install -g @qwen-code/qwen-code@latest",installUrl:"https://qwenlm.github.io/announcements/",setupUrl:"https://chat.qwen.ai/"},{name:"droid",label:"Droid",description:"Factory Droid CLI",homepage:"https://github.com/Factory-AI/factory",iconUrl:"https://raw.githubusercontent.com/Factory-AI/factory/main/docs/images/droid_logo_cli.png",installHint:"npm install -g @factory/cli",installUrl:"https://github.com/Factory-AI/factory"},{name:"claude-code",label:"Claude Code",description:"Claude Code CLI",homepage:"https://www.anthropic.com/claude",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @anthropic-ai/claude-code",installUrl:"https://www.anthropic.com/claude-code",setupUrl:"https://claude.ai/"},{name:"amp",label:"Amp",description:"Amp Code CLI",homepage:"https://www.ampcode.com",iconUrl:"https://ampcode.com/amp-mark-color.svg",installHint:"npm install -g @sourcegraph/amp",installUrl:"https://www.ampcode.com"},{name:"opencode",label:"OpenCode",description:"OpenCode CLI",homepage:"https://opencode.ai",iconUrl:null,installHint:"npm install -g opencode-ai",installUrl:"https://opencode.ai"},{name:"github-copilot",label:"GitHub Copilot",description:"GitHub Copilot CLI",homepage:"https://docs.github.com/copilot/how-tos/copilot-cli",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/githubcopilot.svg",installHint:"npm install -g @github/copilot",installUrl:"https://docs.github.com/copilot/how-tos/copilot-cli",setupUrl:"https://github.com/settings/copilot"},{name:"cursor-cli",label:"Cursor Agent",description:"Cursor Agent CLI",homepage:"https://www.cursor.com",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/cursor.svg",installHint:"npm install -g cursor-agent"},{name:"ccr",label:"CCR",description:"Claude Code Router",homepage:"https://www.npmjs.com/package/@musistudio/claude-code-router",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @musistudio/claude-code-router",installUrl:"https://www.npmjs.com/package/@musistudio/claude-code-router"}],cs=cr.map(a=>a.name),ct=new Map(cr.map(a=>[(0,cq.normalizeAgentName)(a.name),a]));function cu(a){return ct.get((0,cq.normalizeAgentName)(a))??null}var cv=a.i(72865),cw=a.i(35757),cx=a.i(36177),cy=a.i(17402),cz=a.i(48171),cA=a.i(62586),cB=a.i(52806),cC=a.i(5913);let cD=["pro","max","api"],cE=["chatgpt","api"],cF=["default"],cG=["oauth","api"],cH=["oauth","api"];function cI(a,b,c){return"string"==typeof a&&b.includes(a)?a:c}function cJ(a){let b=!a||"object"!=typeof a||Array.isArray(a)?{}:{...a},c=(0,bW.getDefaultModelAccessPreferences)();return{amp:cI(b.amp,cF,c.amp),claudeCode:cI(b.claudeCode,cD,c.claudeCode),codex:cI(b.codex,cE,c.codex),cursorCli:cI(b.cursorCli,cF,c.cursorCli),droid:cI(b.droid,cF,c.droid),gemini:cI(b.gemini,cG,c.gemini),githubCopilot:cI(b.githubCopilot,cF,c.githubCopilot),opencode:cI(b.opencode,cF,c.opencode),qwenCode:cI(b.qwenCode,cH,c.qwenCode),ccr:cI(b.ccr,cF,c.ccr)}}let cK=(0,b3.default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var cL=a.i(10948);let cM=(0,b3.default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]),cN=(0,b3.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);var cO=a.i(71541),cP=a.i(50415),cQ=a.i(48079),cR=a.i(69630);function cS({projects:a,sessions:b,selectedProjectId:c,agentCount:d,onCreateWorkspace:e,onSelectProject:f,onSelectSession:g}){let h=(0,p.useMemo)(()=>b.filter(a=>"archived"!==a.status),[b]),i=(0,p.useMemo)(()=>a.map(a=>{let b=h.filter(b=>b.projectId===a.id),c=b.filter(a=>"done"!==(0,cR.getAttentionLevel)(a)).length;return{id:a.id,description:a.description,branch:a.defaultBranch||"main",totalSessions:b.length,activeSessions:c}}).sort((a,b)=>b.activeSessions-a.activeSessions||b.totalSessions-a.totalSessions||a.id.localeCompare(b.id)),[a,h]),j=(0,p.useMemo)(()=>[...h].sort((a,b)=>new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()).slice(0,5),[h]),k=h.filter(a=>"done"!==(0,cR.getAttentionLevel)(a)).length,l=h.filter(a=>{let b=(0,cR.getAttentionLevel)(a);return"merge"===b||"respond"===b||"review"===b}).length,n=h.filter(a=>"merge"===(0,cR.getAttentionLevel)(a)).length,o=i.find(a=>a.id===c)??null,q=0===a.length&&0===h.length,r=[{label:"Projects",value:String(a.length),icon:cd.FolderGit2},{label:"Active sessions",value:String(k),icon:cM},{label:"Need attention",value:String(l),icon:cN},{label:"Merge ready",value:String(n),icon:cL.GitBranch}];return q?(0,m.jsx)("div",{className:"flex min-h-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))]",children:(0,m.jsxs)("div",{className:"mx-auto flex min-h-full w-full max-w-[1200px] flex-1 flex-col px-3 py-3 sm:px-4 sm:py-4",children:[(0,m.jsx)("div",{className:"mb-4 flex justify-end",children:(0,m.jsx)(cO.Button,{variant:"outline",size:"md",onClick:e,children:"Add workspace"})}),(0,m.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,m.jsx)(cQ.Card,{className:"w-full max-w-[880px] border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_88%,transparent)]",children:(0,m.jsxs)(cQ.CardContent,{className:"flex flex-col items-center px-6 py-12 text-center sm:px-10 sm:py-16",children:[(0,m.jsx)("span",{className:"inline-flex h-14 w-14 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,m.jsx)(ce,{className:"h-6 w-6"})}),(0,m.jsx)("p",{className:"mt-5 text-[11px] uppercase tracking-[0.14em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,m.jsx)("h1",{className:"mt-3 max-w-[14ch] text-[30px] font-semibold leading-[1.02] tracking-[-0.05em] text-[var(--vk-text-strong)] sm:text-[44px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,m.jsx)("p",{className:"mt-4 max-w-[560px] text-[14px] leading-7 text-[var(--vk-text-muted)] sm:text-[15px]",children:"Start by linking a workspace. Once a project is connected, this page will show active sessions, recent work, and project focus without sending you through an empty composer first."}),(0,m.jsxs)("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-3",children:[(0,m.jsx)(cO.Button,{variant:"primary",size:"md",onClick:e,children:"Add workspace"}),(0,m.jsx)("div",{className:"inline-flex rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"0 projects · 0 active sessions"})]})]})})})]})}):(0,m.jsx)("div",{className:"flex min-h-full flex-col border-b border-[var(--vk-border)] bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))]",children:(0,m.jsxs)("div",{className:"mx-auto flex min-h-full w-full max-w-[1440px] flex-1 flex-col gap-4 px-3 py-3 sm:px-4",children:[(0,m.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,m.jsxs)("div",{className:"max-w-3xl",children:[(0,m.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,m.jsx)("h1",{className:"mt-1 text-[24px] font-semibold leading-[1.05] tracking-[-0.04em] text-[var(--vk-text-strong)] sm:text-[30px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,m.jsx)("p",{className:"mt-2 max-w-2xl text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"The current design language stays intact, but the workspace entrypoint now exposes status, recent activity, and project context without forcing you into a blank composer first."})]}),(0,m.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,m.jsx)(cO.Button,{variant:"outline",size:"md",onClick:e,children:"Add workspace"})})]}),(0,m.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:r.map(({label:a,value:b,icon:c})=>(0,m.jsx)(cQ.Card,{className:"bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_86%,transparent)]",children:(0,m.jsxs)(cQ.CardContent,{className:"flex items-center gap-3 py-3",children:[(0,m.jsx)("span",{className:"inline-flex h-10 w-10 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,m.jsx)(c,{className:"h-4 w-4"})}),(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:a}),(0,m.jsx)("p",{className:"mt-1 text-[22px] font-semibold text-[var(--vk-text-strong)]",children:b})]})]})},a))}),(0,m.jsxs)("div",{className:"grid flex-1 gap-3 xl:grid-cols-[1.35fr_0.95fr]",children:[(0,m.jsxs)(cQ.Card,{className:"flex h-full min-h-[280px] flex-col",children:[(0,m.jsxs)(cQ.CardHeader,{className:"justify-between",children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-[14px] font-semibold text-[var(--vk-text-strong)]",children:"Recent sessions"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Jump back into active work without hunting through the sidebar."})]}),(0,m.jsx)(cP.Badge,{variant:"outline",children:h.length})]}),(0,m.jsx)(cQ.CardContent,{className:"flex-1 space-y-2",children:0===j.length?(0,m.jsx)("div",{className:"flex h-full min-h-[180px] items-center justify-center rounded-[6px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 text-center text-[13px] text-[var(--vk-text-muted)]",children:"No sessions yet. Create or open a workspace to start work."}):j.map(a=>{let b;return(0,m.jsxs)("button",{type:"button",onClick:()=>g(a.id),className:"flex w-full items-center gap-3 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3 text-left transition-colors hover:bg-[var(--vk-bg-hover)]",children:[(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("p",{className:"truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:a.summary?.trim()||a.projectId}),(0,m.jsx)(cP.Badge,{variant:(b=(0,cR.getAttentionLevel)(a),"queued"===a.status?"outline":"merge"===b?"success":"review"===b||"respond"===b?"warning":"errored"===a.status||"killed"===a.status?"error":"outline"),children:function(a){if("queued"===a.status){let b=Number.parseInt(a.metadata.queuePosition??"",10);return Number.isFinite(b)&&b>0?`Queued #${b}`:"Queued"}if("reattach_pending"===a.metadata.recoveryState)return"Reattaching";if("detached_runtime"===a.metadata.recoveryState)return"Recover";let b=(0,cR.getAttentionLevel)(a);return"merge"===b?"Ready":"respond"===b?"Needs input":"review"===b?"Review":"pending"===b?"Pending":"done"===b?"Done":"Running"}(a)})]}),(0,m.jsxs)("p",{className:"mt-1 truncate text-[12px] text-[var(--vk-text-muted)]",children:[a.projectId,a.branch?` \xb7 ${a.branch}`:"",a.issueId?` \xb7 ${a.issueId}`:""]})]}),(0,m.jsxs)("div",{className:"shrink-0 text-right",children:[(0,m.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)]",children:function(a){let b=Date.now()-new Date(a).getTime();if(!Number.isFinite(b)||b<6e4)return"Updated now";let c=Math.floor(b/6e4);if(c<60)return`Updated ${c}m ago`;let d=Math.floor(c/60);if(d<24)return`Updated ${d}h ago`;let e=Math.floor(d/24);return`Updated ${e}d ago`}(a.lastActivityAt)}),(0,m.jsx)(cK,{className:"ml-auto mt-2 h-4 w-4 text-[var(--vk-text-muted)]"})]})]},a.id)})})]}),(0,m.jsxs)(cQ.Card,{className:"flex h-full min-h-[280px] flex-col",children:[(0,m.jsxs)(cQ.CardHeader,{className:"justify-between",children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-[14px] font-semibold text-[var(--vk-text-strong)]",children:"Project focus"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:o?`Selected: ${o.id}`:"Select a project to scope new work."})]}),(0,m.jsxs)(cP.Badge,{variant:"outline",children:[d," agents"]})]}),(0,m.jsxs)(cQ.CardContent,{className:"flex-1 space-y-2",children:[(0,m.jsxs)("button",{type:"button",onClick:()=>f(null),className:`flex w-full items-center justify-between rounded-[6px] border px-3 py-2 text-left ${null===c?"border-[var(--vk-border)] bg-[var(--vk-bg-hover)] text-[var(--vk-text-strong)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)("span",{children:"All projects"}),(0,m.jsx)(cP.Badge,{variant:"outline",children:h.length})]}),0===i.length?(0,m.jsx)("div",{className:"flex h-full min-h-[180px] items-center justify-center rounded-[6px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 text-center text-[13px] text-[var(--vk-text-muted)]",children:"No configured projects yet."}):i.slice(0,6).map(a=>(0,m.jsxs)("button",{type:"button",onClick:()=>f(a.id),className:`flex w-full items-start justify-between gap-3 rounded-[6px] border px-3 py-2.5 text-left ${c===a.id?"border-[var(--vk-border)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsxs)("div",{className:"min-w-0",children:[(0,m.jsx)("p",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:a.id}),(0,m.jsx)("p",{className:"truncate text-[12px] text-[var(--vk-text-muted)]",children:a.description?.trim()||`Default branch: ${a.branch}`})]}),(0,m.jsxs)("div",{className:"shrink-0 text-right",children:[(0,m.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-strong)]",children:[a.activeSessions," active"]}),(0,m.jsxs)("p",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[a.totalSessions," total"]})]})]},a.id)),o?(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)(ce,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,m.jsx)("p",{className:"text-[13px] font-medium text-[var(--vk-text-strong)]",children:o.id})]}),(0,m.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:o.description?.trim()||"This project is ready to launch work from chat or board mode."})]}):null]})]})]})]})})}let cT="claude-code";function cU(a){let b=a?.trim();return b&&b.length>0?b:null}let cV=(0,n.default)(()=>a.A(60928).then(a=>a.SessionDetail),{loadableGenerated:{modules:[31437]},loading:()=>(0,m.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading session..."})}),cW=(0,n.default)(()=>a.A(67645).then(a=>a.WorkspaceKanban),{loadableGenerated:{modules:[96933]},loading:()=>(0,m.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading board..."})});function cX(a){let b=cu(a);return b?.label?b.label:a.split(/[-_\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}function cY(a){return a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}function cZ(a){if(!a)return null;let b=Date.parse(a);return Number.isNaN(b)?null:`Updated ${new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric"}).format(new Date(b))}`}function c$(a){return a.issueId?.trim()||a.taskRef?.trim()||a.id}function c_(a){let[b]=a.split(" - ");return(b??a).trim()}let c0=[{id:"general",label:"General",icon:cm,implemented:!0},{id:"remote_access",label:"Remote Access",icon:cl,implemented:!0},{id:"repositories",label:"Repositories",icon:cd.FolderGit2,implemented:!0},{id:"organization",label:"Organization Settings",icon:b6,implemented:!0},{id:"projects",label:"Projects",icon:ce,implemented:!1},{id:"agents",label:"Agents",icon:b4,implemented:!0},{id:"mcp",label:"MCP Servers",icon:ci,implemented:!1},{id:"preferences",label:"Preferences",icon:cl,implemented:!1}],c1=[{id:"preferences",label:"Preferences",icon:cl,implemented:!0},{id:"repositories",label:"Repository",icon:cd.FolderGit2,implemented:!0}],c2=[{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"}],c3=[{id:"obsidian",label:"Obsidian"},{id:"vscode",label:"VS Code"},{id:"notion",label:"Notion"},{id:"typora",label:"Typora"},{id:"logseq",label:"Logseq"},{id:"custom",label:"Custom"}],c4=[{id:"abstract-sound-1",label:"Abstract Sound 1"},{id:"abstract-sound-2",label:"Abstract Sound 2"},{id:"abstract-sound-3",label:"Abstract Sound 3"},{id:"abstract-sound-4",label:"Abstract Sound 4"},{id:"cow-mooing",label:"Cow Mooing"},{id:"phone-vibration",label:"Phone Vibration"},{id:"rooster",label:"Rooster"}];function c5(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function c6(a,b){let c=c5(a),d=c5(c.notifications),e=d.soundFile,f="string"==typeof c.codingAgent&&c.codingAgent.trim().length>0?c.codingAgent.trim():b,g="string"==typeof c.ide&&c.ide.trim().length>0?c.ide.trim():"vscode",h="string"==typeof c.markdownEditor&&c.markdownEditor.trim().length>0?c.markdownEditor.trim():"obsidian",i="string"==typeof c.markdownEditorPath?c.markdownEditorPath.trim():"";return{onboardingAcknowledged:!0===c.onboardingAcknowledged,codingAgent:f,ide:g,markdownEditor:h,markdownEditorPath:i,modelAccess:cJ(c.modelAccess),notifications:{soundEnabled:!1!==d.soundEnabled,soundFile:null===e?null:"string"==typeof e&&e.trim().length>0?e.trim():"abstract-sound-4"}}}function c7(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean).join("\n"):"string"!=typeof a?"":a.split(/[\n,]+/g).map(a=>a.trim()).filter(Boolean).join("\n")}function c8(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean):[]}function c9(a,b){let c=c5(a),d=c5(c.trustedHeaders),e=c5(c.roles),f=c5(b),g=c.defaultRole,h=f.role;return{requireAuth:!0===c.requireAuth||!0===d.enabled,defaultRole:"viewer"===g||"admin"===g||"operator"===g?g:"operator",trustedHeaders:{enabled:!0===d.enabled,provider:"cloudflare-access",emailHeader:"string"==typeof d.emailHeader&&d.emailHeader.trim().length>0?d.emailHeader.trim():"Cf-Access-Authenticated-User-Email",jwtHeader:"string"==typeof d.jwtHeader&&d.jwtHeader.trim().length>0?d.jwtHeader.trim():"Cf-Access-Jwt-Assertion",teamDomain:"string"==typeof d.teamDomain&&d.teamDomain.trim().length>0?d.teamDomain.trim():"",audience:"string"==typeof d.audience&&d.audience.trim().length>0?d.audience.trim():""},roles:{viewers:c7(e.viewers),operators:c7(e.operators),admins:c7(e.admins),viewerDomains:c7(e.viewerDomains),operatorDomains:c7(e.operatorDomains),adminDomains:c7(e.adminDomains)},current:{authenticated:!0===f.authenticated,role:"viewer"===h||"operator"===h||"admin"===h?h:null,email:"string"==typeof f.email&&f.email.trim().length>0?f.email.trim():null,provider:"string"==typeof f.provider&&f.provider.trim().length>0?f.provider.trim():null}}}function da(a){let b=c5(a),c=b.mode,d=b.status,e=b.provider,f=b.autoInstallMethod;return{publicUrl:"string"==typeof b.publicUrl&&b.publicUrl.trim().length>0?b.publicUrl.trim():null,connectUrl:"string"==typeof b.connectUrl&&b.connectUrl.trim().length>0?b.connectUrl.trim():null,shareable:!0===b.shareable,status:"starting"===d||"ready"===d||"error"===d||"disabled"===d?d:"disabled",provider:"tailscale"===e?e:null,recommendedProvider:"tailscale"===b.recommendedProvider?b.recommendedProvider:null,localUrl:"string"==typeof b.localUrl&&b.localUrl.trim().length>0?b.localUrl.trim():null,managed:!0===b.managed,installed:!0===b.installed,connected:!0===b.connected,canAutoInstall:!0===b.canAutoInstall,autoInstallMethod:"brew"===f?"brew":null,lastError:"string"==typeof b.lastError&&b.lastError.trim().length>0?b.lastError.trim():null,startedAt:"string"==typeof b.startedAt&&b.startedAt.trim().length>0?b.startedAt.trim():null,updatedAt:"string"==typeof b.updatedAt&&b.updatedAt.trim().length>0?b.updatedAt.trim():null,mode:"cloudflare-access"===c||"private-network"===c||"enterprise-only"===c||"generic-header"===c||"clerk"===c||"local-only"===c||"misconfigured"===c||"unsafe-public"===c?c:"local-only",title:"string"==typeof b.title&&b.title.trim().length>0?b.title.trim():"Remote access",description:"string"==typeof b.description&&b.description.trim().length>0?b.description.trim():"",warnings:c8(b.warnings),nextSteps:c8(b.nextSteps)}}function db(){return{catalogModel:"",customModel:"",reasoningEffort:""}}function dc(a,b){return b[(0,cq.normalizeAgentName)(a)]??null}function dd(a){if(!a)return[];let b=[],c=new Set;for(let d of Object.values(a.modelsByAccess))if(Array.isArray(d))for(let a of d)!a?.id||c.has(a.id)||(c.add(a.id),b.push(a));return b}function de(a,b,c){let d=dc(a,c),e=(0,bW.resolveAgentModelAccess)(a,b),f=d&&e?d.modelsByAccess[e]??[]:[],g=(0,bW.getAvailableAgentModels)(a,b),h=[],i=new Set;for(let a of[...f,...g,...dd(d)])!a?.id||i.has(a.id)||(i.add(a.id),h.push(a));return h}function df(a,b,c,d){let e=function(a,b,c){if(!a)return[];let d=b?.trim();return d&&a.reasoningOptionsByModel?.[d]?.length?a.reasoningOptionsByModel[d]??[]:c?a.reasoningOptionsByAccess?.[c]??[]:[]}(dc(a,c),d,(0,bW.resolveAgentModelAccess)(a,b)),f=(0,bW.getAvailableAgentReasoningEfforts)(a,b),g=[],h=new Set;for(let a of[...e,...f])!a?.id||h.has(a.id)||(h.add(a.id),g.push(a));return g}function dg(a,b,c,d){return function(a,b,c){if(!a)return null;let d=b?.trim();return d&&a.defaultReasoningByModel?.[d]?a.defaultReasoningByModel[d]??null:c?a.defaultReasoningByAccess?.[c]??null:null}(dc(a,c),d,(0,bW.resolveAgentModelAccess)(a,b))??(0,bW.getDefaultAgentReasoningEffort)(a,b)??""}function dh(a,b,c,d,e){let f,g,h=d?.trim()??"",i=e?.trim().toLowerCase()??"",j=de(a,b,c),k=(f=dc(a,c),g=(0,bW.resolveAgentModelAccess)(a,b),(f&&g?f.defaultModelByAccess[g]??null:null)??(0,bW.getDefaultAgentModel)(a,b)??dd(f)[0]?.id??""),l=d=>{let e=df(a,b,c,d);return i.length>0&&e.some(a=>a.id===i)?i:dg(a,b,c,d)};return h.length>0?j.some(a=>a.id===h)?{catalogModel:h,customModel:"",reasoningEffort:l(h)}:{catalogModel:k,customModel:h,reasoningEffort:l(h)}:{catalogModel:k,customModel:"",reasoningEffort:l(k)}}function di(a){let b=a.customModel.trim();if(b.length>0)return b;let c=a.catalogModel.trim();return c.length>0?c:void 0}function dj(a){let b=a.reasoningEffort.trim().toLowerCase();return b.length>0?b:void 0}function dk(a,b){let c=(0,bW.getAgentModelCatalog)(a);if(!c||c.accessOptions.length<=1)return null;let d=(0,bW.resolveAgentModelAccess)(a,b);return d?c.accessOptions.find(a=>a.id===d)?.label??null:null}let dl="block h-4 w-4 shrink-0",dm="block h-4 w-4 shrink-0 object-contain",dn={vscode:{kind:"image",imageSrc:"/icons/ide/vscode-dark.svg",className:dm},"vscode-insiders":{kind:"image",imageSrc:"/icons/ide/vscode-insiders.svg",className:dm},cursor:{kind:"image",imageSrc:"/icons/ide/cursor-dark.svg",className:dm},windsurf:{kind:"image",imageSrc:"/icons/ide/windsurf-dark.svg",className:dm},"intellij-idea":{kind:"image",imageSrc:"/icons/ide/intellij.svg",className:dm},zed:{kind:"image",imageSrc:"/icons/ide/zed-dark.svg",className:dm},xcode:{kind:"image",imageSrc:"/icons/ide/xcode.svg",className:dm},antigravity:{kind:"image",imageSrc:"/icons/ide/antigravity-dark.svg",className:dm},custom:{kind:"icon",icon:cm,className:`${dm} text-[var(--vk-text-muted)]`}};function dp({editorId:a,label:b}){let c=dn[a];if(!c)return(0,m.jsx)(cm,{className:`${dm} text-[var(--vk-text-muted)]`});if("image"===c.kind)return(0,m.jsx)("img",{src:c.imageSrc,alt:`${b} logo`,className:c.className});let d=c.icon;return(0,m.jsx)(d,{className:c.className})}function dq(a){return JSON.stringify(a)}let dr={obsidian:{kind:"icon",icon:function(a){return b1({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M19.355 18.538a68.967 68.959 0 0 0 1.858-2.954.81.81 0 0 0-.062-.9c-.516-.685-1.504-2.075-2.042-3.362-.553-1.321-.636-3.375-.64-4.377a1.707 1.707 0 0 0-.358-1.05l-3.198-4.064a3.744 3.744 0 0 1-.076.543c-.106.503-.307 1.004-.536 1.5-.134.29-.29.6-.446.914l-.31.626c-.516 1.068-.997 2.227-1.132 3.59-.124 1.26.046 2.73.815 4.481.128.011.257.025.386.044a6.363 6.363 0 0 1 3.326 1.505c.916.79 1.744 1.922 2.415 3.5zM8.199 22.569c.073.012.146.02.22.02.78.024 2.095.092 3.16.29.87.16 2.593.64 4.01 1.055 1.083.316 2.198-.548 2.355-1.664.114-.814.33-1.735.725-2.58l-.01.005c-.67-1.87-1.522-3.078-2.416-3.849a5.295 5.295 0 0 0-2.778-1.257c-1.54-.216-2.952.19-3.84.45.532 2.218.368 4.829-1.425 7.531zM5.533 9.938c-.023.1-.056.197-.098.29L2.82 16.059a1.602 1.602 0 0 0 .313 1.772l4.116 4.24c2.103-3.101 1.796-6.02.836-8.3-.728-1.73-1.832-3.081-2.55-3.831zM9.32 14.01c.615-.183 1.606-.465 2.745-.534-.683-1.725-.848-3.233-.716-4.577.154-1.552.7-2.847 1.235-3.95.113-.235.223-.454.328-.664.149-.297.288-.577.419-.86.217-.47.379-.885.46-1.27.08-.38.08-.72-.014-1.043-.095-.325-.297-.675-.68-1.06a1.6 1.6 0 0 0-1.475.36l-4.95 4.452a1.602 1.602 0 0 0-.513.952l-.427 2.83c.672.59 2.328 2.316 3.335 4.711.09.21.175.43.253.653z"},child:[]}]})(a)},className:`${dl} text-[#8b5cf6]`},vscode:{kind:"icon",icon:function(a){return b1({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{d:"M10.8634 13.9195C10.6568 14.0195 10.4233 14.0246 10.2185 13.9444C10.1162 13.9044 10.021 13.843 9.93997 13.7614L4.81616 9.06268L2.58433 10.7656C2.37657 10.9241 2.08597 10.9111 1.89301 10.7347L1.17719 10.0802C0.941168 9.86437 0.940898 9.49112 1.17661 9.27496L3.11213 7.5L1.17661 5.72504C0.940898 5.50888 0.941168 5.13563 1.17719 4.91982L1.89301 4.2653C2.08597 4.08887 2.37657 4.07588 2.58433 4.2344L4.81616 5.93732L9.93997 1.23855C9.97037 1.20797 10.0028 1.18023 10.0368 1.15538C10.2748 0.981429 10.5922 0.949298 10.8634 1.08048L13.5399 2.37507C13.8212 2.5111 14 2.79721 14 3.11109V8H10.752V4.53356L6.86419 7.5L10.752 10.4664V8H14V11.8889C14 12.2028 13.8211 12.4889 13.5399 12.625L10.8634 13.9195Z"},child:[]}]})(a)},className:`${dl} text-[#22a3f5]`},notion:{kind:"icon",icon:function(a){return b1({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4.459 4.208c.746.606 1.026.56 2.428.466l13.215-.793c.28 0 .047-.28-.046-.326L17.86 1.968c-.42-.326-.981-.7-2.055-.607L3.01 2.295c-.466.046-.56.28-.374.466zm.793 3.08v13.904c0 .747.373 1.027 1.214.98l14.523-.84c.841-.046.935-.56.935-1.167V6.354c0-.606-.233-.933-.748-.887l-15.177.887c-.56.047-.747.327-.747.933zm14.337.745c.093.42 0 .84-.42.888l-.7.14v10.264c-.608.327-1.168.514-1.635.514-.748 0-.935-.234-1.495-.933l-4.577-7.186v6.952L12.21 19s0 .84-1.168.84l-3.222.186c-.093-.186 0-.653.327-.746l.84-.233V9.854L7.822 9.76c-.094-.42.14-1.026.793-1.073l3.456-.233 4.764 7.279v-6.44l-1.215-.139c-.093-.514.28-.887.747-.933zM1.936 1.035l13.31-.98c1.634-.14 2.055-.047 3.082.7l4.249 2.986c.7.513.934.653.934 1.213v16.378c0 1.026-.373 1.634-1.68 1.726l-15.458.934c-.98.047-1.448-.093-1.962-.747l-3.129-4.06c-.56-.747-.793-1.306-.793-1.96V2.667c0-.839.374-1.54 1.447-1.632z"},child:[]}]})(a)},className:`${dl} text-white`},logseq:{kind:"image",imageSrc:"/icons/editors/logseq.svg",className:`${dl} object-contain`},typora:{kind:"image",imageSrc:"/icons/editors/typora-32.png",className:`${dl} rounded-[3px] bg-white/90 p-[1px] object-contain`},custom:{kind:"icon",icon:cm,className:`${dl} text-[var(--vk-text-muted)]`}};function ds({editorId:a}){let b=dr[a];if(!b)return(0,m.jsx)(b5,{className:`${dl} text-[var(--vk-text-muted)]`});if("image"===b.kind)return(0,m.jsx)("img",{src:b.imageSrc,alt:"",className:b.className});let c=b.icon;return(0,m.jsx)(c,{className:b.className})}function dt({agent:a,modelAccess:b,runtimeModelCatalogs:c,selection:d,onChange:e,compact:f=!1}){if(!(0,bW.supportsAgentModelSelection)(a))return null;let g=(0,bW.getAgentModelCatalog)(a),h=de(a,b,c),i=df(a,b,c,di(d)??d.catalogModel),j=dk(a,b);return g?(0,m.jsxs)("div",{className:f?"grid gap-3 md:grid-cols-3":"space-y-3",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Model"}),(0,m.jsxs)("select",{value:d.catalogModel,disabled:0===h.length,onChange:f=>{let g=f.target.value,h=df(a,b,c,g);e({...d,catalogModel:g,reasoningEffort:h.some(a=>a.id===d.reasoningEffort)?d.reasoningEffort:dg(a,b,c,g)})},className:"h-9 w-full rounded-[4px] 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)] disabled:opacity-60",children:[0===h.length&&(0,m.jsx)("option",{value:"",children:"No runtime models detected"}),h.map(a=>(0,m.jsx)("option",{value:a.id,children:a.label},a.id))]}),(0,m.jsxs)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:[j?`Filtered for ${j}.`:"Filtered for your current access preference."," Leave custom override blank to use this selection."]})]}),i.length>0&&(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Reasoning Effort"}),(0,m.jsx)("select",{value:d.reasoningEffort,onChange:a=>{e({...d,reasoningEffort:a.target.value})},className:"h-9 w-full rounded-[4px] 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:i.map(a=>(0,m.jsx)("option",{value:a.id,children:a.label},a.id))}),(0,m.jsx)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:"Choose how much deliberate reasoning the CLI should use before it acts."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Custom Model Override"}),(0,m.jsx)("input",{value:d.customModel,onChange:f=>{let g=f.target.value,h=g.trim()||d.catalogModel,i=df(a,b,c,h);e({...d,customModel:g,reasoningEffort:i.some(a=>a.id===d.reasoningEffort)?d.reasoningEffort:dg(a,b,c,h)})},placeholder:function(a,b){let c=dc(a,b);if(c?.customModelPlaceholder.trim())return c.customModelPlaceholder;let d=(0,bW.getAgentModelCatalog)(a)?.label??"agent";return`Enter exact ${d} model id`}(a,c),className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:"Optional. Use this to force an exact model id from the installed CLI when you want to override the detected list."})]})]}):null}function du(){let a=(0,o.useRouter)(),b=(0,o.usePathname)(),c=(0,o.useSearchParams)(),d=(0,p.useMemo)(()=>cU(c.get("project")),[c]),e=(0,p.useMemo)(()=>cU(c.get("session")),[c]),f=(0,p.useMemo)(()=>"board"===c.get("view")?"board":"chat",[c]),{sessions:g,loading:h,error:i,refresh:j}=(0,cv.useSessions)(d),{projects:k,loading:l,error:n,refresh:q}=(0,cw.useConfig)(),{agents:r}=(0,cx.useAgents)(),{mobileSidebarOpen:s,desktopSidebarOpen:t,toggleSidebar:u,closeSidebarOnMobile:v,syncSidebarForViewport:w}=(0,cy.useResponsiveSidebarState)(),[x,y]=(0,p.useState)(""),[z,A]=(0,p.useState)(""),[B,C]=(0,p.useState)(db()),[D,E]=(0,p.useState)(!1),[F,G]=(0,p.useState)(null),[H,I]=(0,p.useState)(!1),[J,K]=(0,p.useState)(!1),[L,M]=(0,p.useState)(null),[N,O]=(0,p.useState)(null),[P,Q]=(0,p.useState)(!0),[R,S]=(0,p.useState)(!1),[T,U]=(0,p.useState)(null),[V,W]=(0,p.useState)(!1),[X,Y]=(0,p.useState)(!1),Z=F??n??i??T,$=(0,p.useCallback)((d,e="push")=>{let f=new URLSearchParams(c.toString()),g=(a,b)=>{let c="string"==typeof b?b.trim():"";c.length>0?f.set(a,c):f.delete(a)};"projectId"in d&&g("project",d.projectId),"sessionId"in d&&g("session",d.sessionId),"workspaceView"in d&&("board"===d.workspaceView?f.set("view","board"):f.delete("view")),"tab"in d&&(d.tab&&"chat"!==d.tab?f.set("tab",d.tab):f.delete("tab")),f.has("project")||f.delete("view"),f.has("session")||f.delete("tab");let h=f.toString(),i=h.length>0?`${b}?${h}`:b;"replace"===e?a.replace(i,{scroll:!1}):a.push(i,{scroll:!1})},[b,a,c]);(0,p.useEffect)(()=>{if(!l&&!n){if(0===k.length){null!==d&&$({projectId:null,workspaceView:null},"replace");return}null===d||k.some(a=>a.id===d)||$({projectId:e?null:k[0]?.id??null,workspaceView:e?null:f},"replace")}},[n,l,$,k,d,e,f]),(0,p.useEffect)(()=>{h||i||!e||e&&(g.some(a=>a.id===e)||$({sessionId:null,tab:null},"replace"))},[g,$,e,i,h]);let _=(0,p.useMemo)(()=>g.find(a=>a.id===e)??null,[g,e]),aa=(0,p.useMemo)(()=>k.find(a=>a.id===d)??null,[k,d]),ab=(0,p.useMemo)(()=>_?[_.projectId,_.branch].filter(Boolean).join(" · "):aa?[aa.id,aa.defaultBranch||"main"].filter(Boolean).join(" · "):"All Projects",[aa,_]),ac=(0,p.useMemo)(()=>{let a=Array.isArray(r)?r:[],b=new Set;for(let a of cr)b.add(a.name);for(let c of a)c.name&&b.add(c.name);for(let a of k)a.agent&&b.add(a.agent);return N?.codingAgent&&b.add(N.codingAgent),z&&b.add(z),0===b.size&&b.add(N?.codingAgent||cT),[...b]},[r,N?.codingAgent,k,z]),ad=(0,p.useMemo)(()=>{let a={};for(let b of cr)a[(0,cq.normalizeAgentName)(b.name)]={name:b.name,ready:!1,installed:!1,configured:!1,homepage:b.homepage,description:b.description,installHint:b.installHint??null,installUrl:b.installUrl??b.homepage??null,setupUrl:b.setupUrl??b.homepage??null};for(let b of Array.isArray(r)?r:[]){if(!b.name)continue;let c=(0,cq.normalizeAgentName)(b.name),d=cu(b.name);a[(0,cq.normalizeAgentName)(b.name)]={name:d?.name??b.name,ready:!0===b.ready,installed:!1!==b.installed,configured:!0===b.configured,homepage:"string"==typeof b.homepage?b.homepage:d?.homepage??a[c]?.homepage??null,description:"string"==typeof b.description?b.description:d?.description??a[c]?.description??null,installHint:"string"==typeof b.installHint?b.installHint:d?.installHint??a[c]?.installHint??null,installUrl:"string"==typeof b.installUrl?b.installUrl:d?.installUrl??a[c]?.installUrl??null,setupUrl:"string"==typeof b.setupUrl?b.setupUrl:d?.setupUrl??a[c]?.setupUrl??null}}return a},[r]),ae=(0,p.useMemo)(()=>{let a={};for(let b of Array.isArray(r)?r:[])b.name&&b.runtimeModelCatalog&&(a[(0,cq.normalizeAgentName)(b.name)]=b.runtimeModelCatalog);return a},[r]),af=(0,p.useCallback)(a=>{let b=ad[(0,cq.normalizeAgentName)(a)],c=cu(a);b?.installed?b?.setupUrl??c?.setupUrl??b?.homepage??c?.homepage:b?.installUrl??c?.installUrl??b?.setupUrl??c?.setupUrl??b?.homepage??c?.homepage},[ad]);async function ag(a,b){S(!0),U(null);try{let c=await fetch("/api/preferences",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to save preferences: ${c.status}`);let e=c6(d?.preferences,a.codingAgent||cT);return O(e),A(e.codingAgent),b?.closeDialog!==!1&&W(!1),!0}catch(a){return U(a instanceof Error?a.message:"Failed to save preferences"),!1}finally{S(!1)}}(0,p.useEffect)(()=>{let a=!1;return async function(){Q(!0);try{let b=await fetch("/api/preferences"),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to load preferences: ${b.status}`);if(a)return;let d=c6(c?.preferences,cT);O(d),U(null)}catch(b){if(a)return;O(c6(null,cT)),U(b instanceof Error?b.message:"Failed to load preferences")}finally{a||Q(!1)}}(),()=>{a=!0}},[]),(0,p.useEffect)(()=>{N&&(z||A(N.codingAgent))},[N,z]),(0,p.useEffect)(()=>{P||N&&(N.onboardingAcknowledged||W(!0))},[N,P]),(0,p.useEffect)(()=>{if(0!==ac.length&&(!z||!ac.includes(z))){let a=N?.codingAgent||cT;A(ac.includes(a)?a:ac[0]??cT)}},[ac,N?.codingAgent,z]),(0,p.useEffect)(()=>{let a=z||aa?.agent||N?.codingAgent||cT,b=aa&&(0,cq.normalizeAgentName)(aa.agent)===(0,cq.normalizeAgentName)(a)?aa.agentModel:null,c=aa&&(0,cq.normalizeAgentName)(aa.agent)===(0,cq.normalizeAgentName)(a)?aa.agentReasoningEffort:null;C(dh(a,N?.modelAccess??cJ(null),ae,b,c))},[N?.modelAccess,N?.codingAgent,ae,z,aa]);let ah=(0,p.useCallback)(()=>{M(null),I(!0),w()},[w]);(0,p.useEffect)(()=>{X&&!V&&(Y(!1),ah())},[X,V]);let ai=(0,p.useCallback)(async a=>{let b=x.trim();if(!b)return;let c=di(B),e=dj(B),f=a?.projectId??d??k[0]?.id;if(!f)return void G("No project is configured in conductor.yaml");let g=z||cT,h=ad[(0,cq.normalizeAgentName)(g)]??null;if(h&&!h.ready){G(h.installed?`${cX(g)} is not ready yet. Finish setup or authentication and try again.`:`${cX(g)} is not installed on this machine yet. Open setup and try again.`),af(g);return}E(!0),G(null);try{let d=await fetch("/api/spawn",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:f,prompt:b,...a?.issueId?.trim()?{issueId:a.issueId.trim()}:{},agent:g,...a?.branch?{branch:a.branch}:{},...a?.baseBranch?{baseBranch:a.baseBranch}:{},..."boolean"==typeof a?.useWorktree?{useWorktree:a.useWorktree}:{},...a?.permissionMode?{permissionMode:a.permissionMode}:{},...c?{model:c}:{},...e?{reasoningEffort:e}:{}})}),h=await d.json().catch(()=>null);if(!d.ok)throw Error(h?.error??`Failed to create workspace: ${d.status}`);if(!h?.session?.id)throw Error("Session created but response is missing session id");y(""),w(),await j(),$({projectId:f,sessionId:h.session.id,workspaceView:"chat",tab:"chat"},"push")}catch(a){G(a instanceof Error?a.message:"Failed to create workspace")}finally{E(!1)}},[ad,B,$,af,k,x,j,z,d,w]),aj=(0,p.useCallback)(async a=>{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/archive`,{method:"POST"}),c=await b.json().catch(()=>null);if(404===b.status&&(b=await fetch(`/api/sessions/${encodeURIComponent(a)}/actions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"archive"})}),c=await b.json().catch(()=>null)),!b.ok)throw Error(c?.error??`Failed to archive session: ${b.status}`);e===a&&$({sessionId:null,tab:null},"replace"),await j()},[$,j,e]),ak=(0,p.useCallback)(async a=>{K(!0),M(null);try{let b=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to add workspace: ${b.status}`);let d=c?.project?.id;if(!d)throw Error("Workspace created but response is missing project id");await q(),y(""),w(),I(!1),$({projectId:d,sessionId:null,workspaceView:"chat",tab:null},"push")}catch(a){M(a instanceof Error?a.message:"Failed to add workspace")}finally{K(!1)}},[$,q,w]),al=!P&&!!N&&!N.onboardingAcknowledged,am=N??c6(null,z||cT),an=z||am.codingAgent||cT,ao=(0,p.useCallback)(a=>{$({projectId:a,sessionId:null,workspaceView:a?f:null,tab:null},"push"),A(N?.codingAgent||cT),v()},[v,$,N?.codingAgent,f]),ap=(0,p.useCallback)(a=>{let b=g.find(b=>b.id===a)??null;$({projectId:b?.projectId??d??null,sessionId:a,tab:"chat"},"push"),v()},[v,g,$,d]),aq=(0,p.useCallback)(()=>{W(!0)},[]),ar=(0,p.useCallback)(()=>{J||I(!1)},[J]),as=(0,p.useCallback)(()=>{R||al||(W(!1),U(null))},[al,R]),at=(0,p.useCallback)(async a=>{let b=encodeURIComponent(a),c=await fetch(`/api/repositories/${b}`,{method:"DELETE"});(404===c.status||405===c.status)&&(c=await fetch(`/api/repositories?id=${b}`,{method:"DELETE"}));let d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to unlink project (${c.status})`);await q()},[q]),au=(0,p.useMemo)(()=>(0,m.jsx)(cC.WorkspaceSidebarPanel,{projects:k,selectedProjectId:d,onSelectProject:ao,onUnlinkProject:at,sessions:g,selectedSessionId:e,onSelectSession:ap,onArchiveSession:aj,onCreateWorkspace:ah}),[g,aj,ao,ap,at,ah,k,d,e]),av=(0,p.useMemo)(()=>"board"===f?(0,m.jsx)(cW,{projectId:d,defaultAgent:an,agentOptions:ac}):(0,m.jsx)(dx,{prompt:x,setPrompt:y,selectedAgent:an,setSelectedAgent:A,agentStates:ad,modelSelection:B,setModelSelection:C,modelAccess:am.modelAccess,runtimeModelCatalogs:ae,agentOptions:ac,projects:k,selectedProjectId:d,onSelectProject:ao,projectLabel:d??"All projects",hasProject:k.length>0,creating:D,error:Z,onOpenAddWorkspace:ah,onOpenAgentSetup:af,onCreate:ai}),[ac,ad,D,ai,B,af,ah,k,x,an,am.modelAccess,ae,d,y,Z,f]),aw=(0,p.useMemo)(()=>aa?(0,m.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,m.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 py-3 sm:px-4",children:(0,m.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,m.jsxs)("div",{className:"min-w-0",children:[(0,m.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Project Workspace"}),(0,m.jsxs)("p",{className:"mt-1 truncate text-[14px] text-[var(--vk-text-strong)]",children:[aa.id," · ",aa.defaultBranch||"main"]})]}),(0,m.jsxs)("div",{className:"inline-flex w-fit rounded-[6px] border border-[var(--vk-border)] p-1",children:[(0,m.jsx)("button",{type:"button",onClick:()=>$({projectId:aa.id,workspaceView:"chat"},"replace"),className:`min-h-[32px] rounded-[4px] px-3 text-[13px] ${"chat"===f?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Chat launchpad"}),(0,m.jsx)("button",{type:"button",onClick:()=>$({projectId:aa.id,workspaceView:"board"},"replace"),className:`min-h-[32px] rounded-[4px] px-3 text-[13px] ${"board"===f?"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,m.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:av})]}):av,[$,aa,av,f]),ax=(0,p.useMemo)(()=>e?(0,m.jsx)(cV,{sessionId:e}):null!==d?(0,m.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:aw}):(0,m.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,m.jsx)(cS,{projects:k,sessions:g,selectedProjectId:d,agentCount:ac.length,onCreateWorkspace:ah,onSelectProject:ao,onSelectSession:ap})}),[g,aw,e,ao,ap,ah,k,d,ac.length]);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(cz.AppShell,{mobileSidebarOpen:s,desktopSidebarOpen:t,onToggleSidebar:u,sidebar:au,children:[(0,m.jsx)(cA.TopBar,{title:ab,onOpenPreferences:aq}),(0,m.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:ax})]}),H?(0,m.jsx)(dv,{open:H,onClose:ar,onCreate:ak,creating:J,error:L,defaultAgent:an,agentOptions:ac}):null,V||al?(0,m.jsx)(dz,{open:V,mode:al?"onboarding":"settings",creating:R,error:T,current:am,projectCount:k.length,agentOptions:ac,agentStates:ad,runtimeModelCatalogs:ae,onRepositoriesChanged:q,onOnboardingComplete:({needsProject:a})=>{a&&Y(!0)},onOpenAgentSetup:af,onClose:as,onSave:ag}):null]})}function dv({open:a,onClose:b,onCreate:c,creating:d,error:e,defaultAgent:f,agentOptions:g}){let[h,i]=(0,p.useState)("git"),[j,k]=(0,p.useState)(""),[l,n]=(0,p.useState)(!1),[o,q]=(0,p.useState)(""),[r,s]=(0,p.useState)(""),[t,u]=(0,p.useState)("main"),[v,w]=(0,p.useState)(f),[x,y]=(0,p.useState)(!0),[z,A]=(0,p.useState)(!0),[B,C]=(0,p.useState)([]),[D,E]=(0,p.useState)(!1),[F,G]=(0,p.useState)(!1),[H,I]=(0,p.useState)(null),[J,K]=(0,p.useState)(""),[L,M]=(0,p.useState)(""),[N,O]=(0,p.useState)(!1),[P,Q]=(0,p.useState)("local"),[R,S]=(0,p.useState)([]),[T,U]=(0,p.useState)(!1),[V,W]=(0,p.useState)(null);(0,p.useEffect)(()=>{a&&(i("git"),k(""),n(!1),q(""),s(""),u("main"),A(!0),y(!0),w(f),C([]),G(!1),I(null),K(""),M(""),S([]),W(null),U(!1),O(!1),Q("local"))},[f,a]),(0,p.useEffect)(()=>{!a||"local"!==h||r.trim().length>0||(Q("local"),O(!0))},[h,a,r]);let X=(0,p.useMemo)(()=>{let a=J.trim().toLowerCase(),b=0===a.length?B:B.filter(b=>b.fullName.toLowerCase().includes(a)||b.name.toLowerCase().includes(a)||(b.ownerLogin??"").toLowerCase().includes(a)||(b.description??"").toLowerCase().includes(a)||b.defaultBranch.toLowerCase().includes(a));return 0===a.length?b.slice(0,10):b.slice(0,14)},[J,B]),Y=(0,p.useMemo)(()=>{let a=B.find(a=>a.httpsUrl===L);return a||(o.trim()?B.find(a=>a.httpsUrl===o.trim())??null:null)},[o,B,L]),Z=(0,p.useMemo)(()=>(function(a){let b=a.trim();if(!b)return null;let c=b.match(/^https?:\/\/github\.com\/([^/\s]+)\/([^/\s?#]+?)(?:\.git)?\/?$/i);if(c)return`https://github.com/${c[1]}/${c[2]}.git`;let d=b.match(/^git@github\.com:([^/\s]+)\/([^/\s]+?)(?:\.git)?$/i);return d?`https://github.com/${d[1]}/${d[2]}.git`:null})(J),[J]),$=(0,p.useMemo)(()=>{let a;return(a=J.trim())&&/^(https?:\/\/|git@)/i.test(a)?a:null},[J]),_=(0,p.useMemo)(()=>cZ(Y?.updatedAt),[Y]),aa=(0,p.useMemo)(()=>{let a=Z??$;return!!a&&a.toLowerCase()!==o.trim().toLowerCase()},[o,Z,$]),ab=(0,p.useMemo)(()=>{let a=[...new Set(g)];0===a.length&&a.push(f||cT);let b=new Map(cs.map((a,b)=>[a,b]));return a.sort((a,c)=>{let d=b.get((0,cq.normalizeAgentName)(a))??Number.MAX_SAFE_INTEGER,e=b.get((0,cq.normalizeAgentName)(c))??Number.MAX_SAFE_INTEGER;return d!==e?d-e:cX(a).localeCompare(cX(c))})},[g,f]);(0,p.useEffect)(()=>{ab.includes(v)||w(ab[0]??cT)},[v,ab]);let ac=async(a=!1)=>{E(!0),I(null);try{let b=await fetch(`/api/github/repos${a?"?refresh=true":""}`),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to load GitHub repositories (${b.status})`);C(Array.isArray(c?.repos)?c.repos:[])}catch(a){C([]),I(a instanceof Error?a.message:"Failed to load GitHub repositories")}finally{G(!0),E(!1)}};(0,p.useEffect)(()=>{!a||"git"!==h||D||F||ac()},[F,D,h,a]);let ad=async a=>{let b=a?.gitUrl??("git"===h?o.trim():""),c=a?.path??("local"===h?r.trim():"");if(0===b.length&&0===c.length)return void W("git"===h?"Choose or paste a repository first.":"Select a local repository path first.");U(!0),W(null);try{let a=new URLSearchParams;b.length>0&&a.set("gitUrl",b),c.length>0&&a.set("path",c);let d=await fetch(`/api/workspaces/branches?${a.toString()}`),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to load branches (${d.status})`);let f=Array.isArray(e?.branches)?e.branches.filter(a=>"string"==typeof a&&a.trim().length>0):[];S(f);let g="string"==typeof e?.defaultBranch&&e.defaultBranch.trim().length>0?e.defaultBranch.trim():f[0]??null;g&&(0===t.trim().length||!f.includes(t))&&u(g)}catch(a){S([]),W(a instanceof Error?a.message:"Failed to load branches")}finally{U(!1)}},ae=async a=>{M(a);let b=B.find(b=>b.httpsUrl===a);b&&(q(b.httpsUrl),K(b.fullName),u(b.defaultBranch||"main"),l||k(cY(b.name)||j),await ad({gitUrl:b.httpsUrl}))},af=async()=>{let a=Z??$;if(!a)return;let b=B.find(b=>b.httpsUrl.toLowerCase()===a.toLowerCase())??null;if(b)return void await ae(b.httpsUrl);if(M(""),q(a),u("main"),S([]),W(null),!l){let b=function(a){let b=a.trim();if(!b)return null;let c=b.match(/^git@[^:]+:([^/]+)\/([^/\s]+?)(?:\.git)?$/i);if(c)return c[2]??null;try{let a=new URL(b).pathname.split("/").filter(Boolean).at(-1);return a?a.replace(/\.git$/i,""):null}catch{return null}}(a);b&&k(cY(b))}await ad({gitUrl:a})},ag=a=>{Q(a),O(!0)};if(!a)return null;let ah="git"===h?o.trim().length>0&&t.trim().length>0:r.trim().length>0&&t.trim().length>0;async function ai(a){if(a.preventDefault(),!ah||d)return;let b="git"===h?{mode:h,projectId:j.trim()||void 0,agent:v,defaultBranch:t.trim(),useWorktree:x,gitUrl:o.trim(),path:r.trim()||void 0}:{mode:h,projectId:j.trim()||void 0,agent:v,defaultBranch:t.trim(),useWorktree:x,path:r.trim(),initializeGit:z};await c(b)}return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{className:"fixed inset-0 z-[80] flex items-start justify-center overflow-y-auto bg-black/65 px-3 py-3 sm:items-center sm:py-0",onClick:()=>{d||N||b()},role:"presentation",children:(0,m.jsxs)("form",{onSubmit:ai,onClick:a=>a.stopPropagation(),className:"flex max-h-[calc(100dvh-1.5rem)] w-full max-w-[760px] flex-col overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_24px_80px_rgba(0,0,0,0.55)]",children:[(0,m.jsxs)("header",{className:"flex items-center border-b border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("h2",{className:"text-[18px] leading-[22px] text-[var(--vk-text-strong)]",children:"Add Workspace"}),(0,m.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Pick a GitHub repository or local folder, then confirm the branch."})]}),(0,m.jsx)("button",{type:"button",onClick:b,disabled:d,"aria-label":"Close dialog",className:"ml-auto inline-flex h-8 w-8 items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:(0,m.jsx)(cp.X,{className:"h-4 w-4"})})]}),(0,m.jsxs)("div",{className:"min-h-0 flex-1 space-y-4 overflow-y-auto px-4 py-4",children:[(0,m.jsxs)("div",{className:"inline-flex rounded-[4px] border border-[var(--vk-border)] p-1",children:[(0,m.jsx)("button",{type:"button",onClick:()=>i("git"),className:`rounded-[3px] px-3 py-1.5 text-[13px] ${"git"===h?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"GitHub"}),(0,m.jsx)("button",{type:"button",onClick:()=>i("local"),className:`rounded-[3px] px-3 py-1.5 text-[13px] ${"local"===h?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Local Folder"})]}),"git"===h?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-3",children:[(0,m.jsxs)("div",{className:"flex items-start gap-3",children:[(0,m.jsx)("span",{className:"inline-flex h-9 w-9 items-center justify-center rounded-[5px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-strong)]",children:(0,m.jsx)(bU,{className:"h-[18px] w-[18px]"})}),(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsx)("p",{className:"text-[13px] font-medium text-[var(--vk-text-strong)]",children:"GitHub Repository"}),(0,m.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:"Search accessible repositories or paste a repository URL. Conductor fills the branch and clone URL after selection."})]}),(0,m.jsx)("button",{type:"button",onClick:()=>{G(!1),ac(!0)},disabled:D,className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:D?(0,m.jsx)(ch.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(cj.RefreshCcw,{className:"mr-1.5 h-3.5 w-3.5"}),"Refresh"]})})]}),(0,m.jsxs)("div",{className:"relative mt-3",children:[(0,m.jsx)(bU,{className:"pointer-events-none absolute left-3 top-1/2 h-[16px] w-[16px] -translate-y-1/2 text-[var(--vk-text-muted)]"}),(0,m.jsx)("input",{value:J,onChange:a=>K(a.target.value),onKeyDown:a=>{"Enter"===a.key&&aa&&(a.preventDefault(),af())},placeholder:"Search GitHub repos or paste a repository URL",className:"h-10 w-full rounded-[5px] border border-[var(--vk-border)] bg-transparent pl-10 pr-3 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),aa?(0,m.jsxs)("button",{type:"button",onClick:()=>{af()},className:"mt-3 inline-flex items-center gap-2 rounded-[5px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,m.jsx)(bV,{className:"h-4 w-4 text-[var(--vk-text-strong)]"}),(0,m.jsxs)("span",{className:"truncate",children:["Use ",Z?"this GitHub repository":"pasted repository URL"]})]}):null,D&&0===B.length?(0,m.jsx)("div",{className:"mt-3 rounded-[5px] border border-[var(--vk-border)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Loading accessible GitHub repositories..."}):null,H?(0,m.jsxs)("div",{className:"mt-3 rounded-[5px] border border-[var(--vk-red)]/40 bg-[var(--vk-bg-panel)] px-3 py-3 text-[12px] text-[var(--vk-red)]",children:[(0,m.jsx)("p",{children:H}),(0,m.jsx)("button",{type:"button",onClick:()=>{G(!1),ac(!0)},className:"mt-2 inline-flex items-center rounded-[4px] border border-[var(--vk-border)] px-2 py-1 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Retry"})]}):null,!H&&X.length>0?(0,m.jsx)("div",{className:"mt-3 max-h-[260px] space-y-2 overflow-y-auto pr-1",children:X.map(a=>{let b=cZ(a.updatedAt),c=Y?.httpsUrl===a.httpsUrl;return(0,m.jsxs)("button",{type:"button",onClick:()=>{ae(a.httpsUrl)},className:`flex w-full items-start gap-3 rounded-[5px] border px-3 py-3 text-left transition ${c?"border-[var(--vk-orange)] bg-[var(--vk-bg-panel)]":"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)("span",{className:"mt-0.5 inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-[5px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-strong)]",children:(0,m.jsx)(bV,{className:"h-4 w-4"})}),(0,m.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,m.jsxs)("span",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)("span",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:a.fullName}),(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:[a.private?(0,m.jsx)(bT,{className:"h-3 w-3"}):(0,m.jsx)(bU,{className:"h-3 w-3"}),a.private?"Private":"Public"]}),(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:[(0,m.jsx)(bS,{className:"h-3 w-3"}),a.defaultBranch]})]}),a.description?(0,m.jsx)("span",{className:"mt-1 block line-clamp-2 text-[12px] leading-[17px] text-[var(--vk-text-muted)]",children:a.description}):null,(0,m.jsxs)("span",{className:"mt-1 flex flex-wrap gap-x-3 gap-y-1 text-[11px] text-[var(--vk-text-muted)]",children:[a.ownerLogin?(0,m.jsx)("span",{children:a.ownerLogin}):null,b?(0,m.jsx)("span",{children:b}):null,a.permission?(0,m.jsx)("span",{children:a.permission.toLowerCase()}):null]})]}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 shrink-0 items-center justify-center text-[var(--vk-text-strong)]",children:c?(0,m.jsx)(b8.Check,{className:"h-4 w-4"}):null})]},a.httpsUrl)})}):null,D||H||0!==X.length?null:(0,m.jsx)("p",{className:"mt-3 text-[12px] text-[var(--vk-text-muted)]",children:J.trim().length>0?"No matching repositories. Try another search or paste a repository URL.":"No accessible GitHub repositories were found for this machine yet."})]}),o.trim().length>0?(0,m.jsx)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-3",children:(0,m.jsxs)("div",{className:"flex items-start gap-3",children:[(0,m.jsx)("span",{className:"inline-flex h-9 w-9 items-center justify-center rounded-[5px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-strong)]",children:(0,m.jsx)(bV,{className:"h-[18px] w-[18px]"})}),(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)("span",{className:"truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:Y?.fullName??o}),(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:[Y&&Y.private?(0,m.jsx)(bT,{className:"h-3 w-3"}):(0,m.jsx)(bU,{className:"h-3 w-3"}),Y?Y.private?"Private":"Public":"Manual URL"]}),(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:[(0,m.jsx)(bS,{className:"h-3 w-3"}),t||"main"]})]}),Y?.description?(0,m.jsx)("p",{className:"mt-1 line-clamp-2 text-[12px] leading-[17px] text-[var(--vk-text-muted)]",children:Y.description}):(0,m.jsx)("p",{className:"mt-1 truncate text-[12px] text-[var(--vk-text-muted)]",children:o}),(0,m.jsxs)("div",{className:"mt-1 flex flex-wrap gap-x-3 gap-y-1 text-[11px] text-[var(--vk-text-muted)]",children:[Y?.ownerLogin?(0,m.jsx)("span",{children:Y.ownerLogin}):null,_?(0,m.jsx)("span",{children:_}):null,Y?.permission?(0,m.jsx)("span",{children:Y.permission.toLowerCase()}):null]})]})]})}):null]}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Local Path"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:r,readOnly:!0,onClick:()=>ag("local"),placeholder:"Use Browse to select a repository folder",className:"h-9 w-full cursor-pointer rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>ag("local"),className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",title:"Browse folders",children:(0,m.jsx)(cc.FolderOpen,{className:"h-4 w-4"})})]})]}),(0,m.jsxs)("label",{className:"flex items-center gap-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:z,onChange:a=>A(a.target.checked),className:"h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsx)("span",{children:"Initialize git if this folder is non-git"})]})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Workspace Name (optional)"}),(0,m.jsx)("input",{value:j,onChange:a=>{k(a.target.value),n(!0)},placeholder:"auto-derived from the selected repository or folder",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Branch"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:t,onChange:a=>u(a.target.value),placeholder:"Uses the repository default branch",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>{ad()},disabled:T,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",title:"Detect branches",children:T?(0,m.jsx)(ch.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,m.jsx)(cj.RefreshCcw,{className:"h-3.5 w-3.5"})})]}),R.length>0&&(0,m.jsx)("select",{value:t,onChange:a=>u(a.target.value),className:"mt-2 h-8 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[12px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:R.map(a=>(0,m.jsx)("option",{value:a,children:a},a))}),V&&(0,m.jsx)("p",{className:"mt-1 text-[11px] text-[var(--vk-red)]",children:V})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Agent"}),(0,m.jsx)("select",{value:v,onChange:a=>w(a.target.value),className:"h-9 w-full rounded-[4px] 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:ab.map(a=>(0,m.jsx)("option",{value:a,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:cX(a)},a))})]})]}),"git"===h?(0,m.jsxs)("details",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,m.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-[13px] text-[var(--vk-text-normal)] marker:hidden",children:(0,m.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,m.jsx)(b9.ChevronDown,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),"Advanced options"]})}),(0,m.jsxs)("div",{className:"space-y-3 border-t border-[var(--vk-border)] px-3 py-3",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Local Copy Location (optional)"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:r,readOnly:!0,onClick:()=>ag("clone"),placeholder:"Choose a folder only if you want a specific clone location",className:"h-9 w-full cursor-pointer rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>ag("clone"),className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",title:"Browse folders",children:(0,m.jsx)(cc.FolderOpen,{className:"h-4 w-4"})})]})]}),(0,m.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:x,onChange:a=>y(a.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsxs)("span",{children:["Keep work isolated in a new worktree",(0,m.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"Turn this off only if you want sessions to run directly in the selected branch."})]})]})]})]}):(0,m.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:x,onChange:a=>y(a.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsxs)("span",{children:["Keep work isolated in a new worktree",(0,m.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"Turn this off only if you want sessions to run directly in the selected branch."})]})]}),e&&(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:e})]}),(0,m.jsxs)("footer",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("button",{type:"button",onClick:b,disabled:d,className:"inline-flex h-9 items-center rounded-[4px] 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,m.jsx)("button",{type:"submit",disabled:!ah||d,className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:d?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(ch.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),"Adding..."]}):"Add Workspace"})]})]})}),(0,m.jsx)(dw,{open:N,initialPath:r,title:"local"===P?"Select Local Repository":"Select Clone Target Folder",description:"local"===P?"Choose the local repository folder.":"Choose where the git repository should be cloned.",onClose:()=>O(!1),onSelect:a=>{if(O(!1),a){if(s(a),("local"===h||"local"===P)&&!l){let b,c=(b=a.trim())?b.split(/[\\/]+/).filter(Boolean).at(-1)??null:null;c&&k(cY(c))}("local"===h||"local"===P)&&ad({path:a})}}})]})}function dw({open:a,initialPath:b,title:c,description:d,onClose:e,onSelect:f}){let[g,h]=(0,p.useState)(""),[i,j]=(0,p.useState)(b??""),[k,l]=(0,p.useState)([]),[n,o]=(0,p.useState)(""),[q,r]=(0,p.useState)(!1),[s,t]=(0,p.useState)(null),[u,v]=(0,p.useState)(!1);(0,p.useEffect)(()=>{if(!a)return;o(""),j(b??"");let c=b&&b.trim().length>0?b.trim():void 0,d=c?`?path=${encodeURIComponent(c)}`:"";r(!0),t(null),fetch(`/api/filesystem/directory${d}`).then(async a=>{let b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to load directory (${a.status})`);h("string"==typeof b?.currentPath?b.currentPath:""),l(Array.isArray(b?.entries)?b.entries:[])}).catch(a=>{t(a instanceof Error?a.message:"Failed to load directory"),l([])}).finally(()=>{r(!1)})},[b,a]);let w=(0,p.useMemo)(()=>{if(0===n.trim().length)return k;let a=n.trim().toLowerCase();return k.filter(b=>b.name.toLowerCase().includes(a))},[k,n]),x=async a=>{r(!0),t(null);try{let b=a&&a.trim().length>0?`?path=${encodeURIComponent(a.trim())}`:"",c=await fetch(`/api/filesystem/directory${b}`),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to load directory (${c.status})`);let e="string"==typeof d?.currentPath?d.currentPath:"";h(e),l(Array.isArray(d?.entries)?d.entries:[]),j(e)}catch(a){t(a instanceof Error?a.message:"Failed to load directory"),l([])}finally{r(!1)}},y=async()=>{v(!0);try{let a=await fetch("/api/filesystem/pick-directory",{method:"POST"}),b=await a.json().catch(()=>null);if(!b||b.cancelled||!b.path)return;j(b.path),x(b.path)}catch{}finally{v(!1)}};return a?(0,m.jsx)("div",{className:"fixed inset-0 z-[95] flex items-start justify-center overflow-y-auto bg-black/70 px-3 py-3 sm:items-center sm:py-0",onClick:()=>{e(),f(null)},role:"presentation",children:(0,m.jsxs)("div",{className:"flex max-h-[calc(100dvh-1.5rem)] w-full max-w-[760px] flex-col overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_24px_80px_rgba(0,0,0,0.55)]",onClick:a=>a.stopPropagation(),children:[(0,m.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("h3",{className:"text-[16px] text-[var(--vk-text-strong)]",children:c}),(0,m.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:d})]}),(0,m.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 px-4 py-3",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)("input",{value:i,onChange:a=>j(a.target.value),placeholder:"/path/to/repository",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>{x(i)},className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Open"})]}),(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)("button",{type:"button",onClick:()=>{x()},className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Home"}),(0,m.jsx)("button",{type:"button",onClick:()=>{if(!g)return;let a=g.replace(/\\/g,"/");if(/^[A-Za-z]:\/?$/.test(g)||"/"===a)return;let b=a.split("/").filter(Boolean),c=g.match(/^([A-Za-z]):[/\\]/);x(c?b.length>1?`${c[1]}:/${b.slice(1,-1).join("/")}`:`${c[1]}:/`:b.length>1?`/${b.slice(0,-1).join("/")}`:"/")},className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Up"}),(0,m.jsxs)("button",{type:"button",disabled:u,onClick:()=>{y()},className:"inline-flex h-8 items-center gap-1 rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[u?(0,m.jsx)(ch.Loader2,{className:"h-3 w-3 animate-spin"}):(0,m.jsx)(cc.FolderOpen,{className:"h-3 w-3"}),u?"Opening...":"Browse"]}),(0,m.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-muted)]",children:g||"Home"})]}),(0,m.jsxs)("div",{className:"relative",children:[(0,m.jsx)(ck.Search,{className:"pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-[var(--vk-text-muted)]"}),(0,m.jsx)("input",{value:n,onChange:a=>o(a.target.value),placeholder:"Filter folders",className:"h-8 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent pl-7 pr-2 text-[12px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsx)("div",{className:"min-h-0 flex-1 overflow-auto rounded-[4px] border border-[var(--vk-border)]",children:q?(0,m.jsx)("div",{className:"px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Loading..."}):s?(0,m.jsx)("div",{className:"px-3 py-3 text-[12px] text-[var(--vk-red)]",children:s}):0===w.length?(0,m.jsx)("div",{className:"px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No folders found."}):(0,m.jsx)("div",{className:"p-1",children:w.map(a=>(0,m.jsxs)("button",{type:"button",onClick:()=>{a.isDirectory&&x(a.path)},className:`mb-1 flex w-full items-center gap-2 rounded-[4px] px-2 py-2 text-left text-[12px] ${a.isDirectory?"text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]":"cursor-default text-[var(--vk-text-muted)]"}`,children:[(0,m.jsx)(cc.FolderOpen,{className:"h-4 w-4 shrink-0"}),(0,m.jsx)("span",{className:"truncate",children:a.name}),a.isGitRepo&&(0,m.jsx)("span",{className:"ml-auto rounded-[999px] border border-[var(--vk-border)] px-1.5 py-0.5 text-[10px]",children:"git"})]},a.path))})})]}),(0,m.jsxs)("footer",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("button",{type:"button",onClick:()=>{e(),f(null)},className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Cancel"}),(0,m.jsx)("button",{type:"button",onClick:()=>{let a=i.trim().length>0?i.trim():g;e(),f(a||null)},className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)]",children:"Use this folder"})]})]})}):null}let dx=(0,p.memo)(function({prompt:a,setPrompt:b,selectedAgent:c,setSelectedAgent:d,agentStates:e,modelSelection:f,setModelSelection:g,modelAccess:h,runtimeModelCatalogs:i,agentOptions:j,projects:k,selectedProjectId:l,onSelectProject:n,projectLabel:o,hasProject:q,creating:r,error:s,onOpenAddWorkspace:t,onOpenAgentSetup:u,onCreate:v}){let w=(0,p.useMemo)(()=>{let a=new Map(cs.map((a,b)=>[a,b]));return[...j].sort((b,c)=>{let d=a.get((0,cq.normalizeAgentName)(b))??Number.MAX_SAFE_INTEGER,e=a.get((0,cq.normalizeAgentName)(c))??Number.MAX_SAFE_INTEGER;return d!==e?d-e:cX(b).localeCompare(cX(c))})},[j]),x=cX(c),y=e[(0,cq.normalizeAgentName)(c)]??null,z=(0,p.useMemo)(()=>[...k].sort((a,b)=>a.id.localeCompare(b.id)),[k]),A=l??z[0]?.id??null,B=(0,p.useMemo)(()=>z.find(a=>a.id===A)??null,[A,z]),[C,D]=(0,p.useState)([]),[E,F]=(0,p.useState)(!1),[G,H]=(0,p.useState)(""),[I,J]=(0,p.useState)(""),[K,L]=(0,p.useState)([]),[M,N]=(0,p.useState)(!1),[O,P]=(0,p.useState)(!0),[Q,R]=(0,p.useState)("default");(0,p.useEffect)(()=>{if(!B){D([]),H("");return}let a=!1,b=B.defaultBranch.trim()||"main";return async function(){if(!B.path?.trim()){D([b]),H(b);return}F(!0);try{let c=new URLSearchParams({path:B.path}),d=await fetch(`/api/workspaces/branches?${c.toString()}`),e=await d.json().catch(()=>null),f=Array.isArray(e?.branches)?e.branches.filter(a=>"string"==typeof a&&a.trim().length>0):[],g="string"==typeof e?.defaultBranch&&e.defaultBranch.trim().length>0?e.defaultBranch.trim():b,h=f.length>0?f:[g];if(a)return;D(h),H(a=>a.trim().length>0&&h.includes(a)?a:g)}catch{if(a)return;D([b]),H(b)}finally{a||F(!1)}}(),()=>{a=!0}},[B]),(0,p.useEffect)(()=>{if(!A){L([]),J("");return}let a=!1;return async function(){N(!0);try{let b=await fetch(`/api/boards?projectId=${encodeURIComponent(A)}`),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to load tasks: ${b.status}`);let d=(Array.isArray(c?.columns)?c.columns:[]).flatMap(a=>Array.isArray(a.tasks)?a.tasks:[]),e=new Set,f=d.filter(a=>{let b=c$(a);return!(!b||e.has(b))&&(e.add(b),!0)});if(a)return;L(f),J(a=>f.some(b=>c$(b)===a)?a:"")}catch{if(a)return;L([]),J("")}finally{a||N(!1)}}(),()=>{a=!0}},[A]);let S=(0,p.useMemo)(()=>de(c,h,i),[h,i,c]),T=(0,p.useMemo)(()=>K.find(a=>c$(a)===I)??null,[K,I]),U=di(f)??"",V=(0,p.useMemo)(()=>{let a=new Set,b=[],d=U.trim();for(let c of S)a.has(c.id)||(a.add(c.id),b.push(c));return d&&!a.has(d)&&(a.add(d),b.unshift({id:d,label:function(a,b){let c=b.trim(),d=(0,cq.normalizeAgentName)(a);if(!c)return c;if("claude-code"===d){let a=c.toLowerCase();if("opus"===a)return"Claude Opus";if("sonnet"===a)return"Claude Sonnet";if("haiku"===a)return"Claude Haiku";let b=a.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(b){let a=b[1];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${b[2]}.${b[3]}`}}return c.split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(a)?a:a[0]?.toUpperCase()+a.slice(1)).join("-")}(c,d),description:"Current selected model.",access:[]})),b},[S,c,U]),W=(0,p.useMemo)(()=>!y||y.ready||U?U?V.find(a=>a.id===U)?.label??U:"Default":"Setup required",[V,y,U]),X="z-50 min-w-[240px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)]",Y=`${X} max-h-[min(360px,50vh)] overflow-y-auto`,Z="flex min-h-[36px] 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)]",$=[{id:"default",label:"Default",icon:cl},{id:"auto",label:"Auto",icon:b7},{id:"ask",label:"Ask",icon:cf},{id:"plan",label:"Plan",icon:cg}],_=$.find(a=>a.id===Q)??$[0],aa=a=>{let b=a.repo?.trim();if(b){let a=b.split("/").filter(Boolean),c=a[a.length-1]?.replace(/\.git$/i,"");if(c)return c}return a.id},ab=B?aa(B):null,ac=B?`${ab} \xb7 ${G||B.defaultBranch||"main"}`:q?o:"Select project",ad=T?.taskRef?.trim()||"Link task",ae=T?c_(T.text):"Choose a task, bug, or issue from this project's board";return(0,m.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,m.jsxs)("div",{className:"w-full max-w-[768px]",children:[(0,m.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,m.jsxs)("div",{className:"mx-auto w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-[var(--vk-border)] px-2 pb-[9px] pt-2",children:[(0,m.jsx)(cB.AgentTileIcon,{seed:{label:c},className:"h-[25px] w-[25px] border-none bg-transparent"}),(0,m.jsxs)(bF,{children:[(0,m.jsx)(bH,{asChild:!0,children:(0,m.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,m.jsx)("span",{className:"truncate pr-1",children:x}),(0,m.jsx)(b9.ChevronDown,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})}),(0,m.jsx)(bI,{children:(0,m.jsxs)(bK,{align:"start",sideOffset:6,className:X,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Agents"}),w.map(a=>{let b=a===c,f=e[(0,cq.normalizeAgentName)(a)]??null;return(0,m.jsxs)(bL,{onSelect:()=>d(a),className:Z,children:[(0,m.jsx)(cB.AgentTileIcon,{seed:{label:a},className:"h-6 w-6 border-none bg-transparent"}),(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsx)("div",{children:cX(a)}),f?.ready?null:(0,m.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--vk-text-muted)]",children:f?.installed?"Setup required":"Not installed"})]}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:b?(0,m.jsx)(b8.Check,{className:"h-4 w-4"}):null})]},a)})]})})]}),(0,m.jsxs)(bF,{children:[(0,m.jsx)(bH,{asChild:!0,children:(0,m.jsxs)("button",{type:"button",disabled:!A,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,m.jsx)("span",{className:"pr-2 text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Task"}),(0,m.jsx)("span",{className:"min-w-0 flex-1 truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)]",children:ad}),(0,m.jsx)(b9.ChevronDown,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})}),(0,m.jsx)(bI,{children:(0,m.jsxs)(bK,{align:"end",side:"bottom",sideOffset:6,className:Y,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Link task"}),(0,m.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:ae}),(0,m.jsxs)(bL,{onSelect:()=>J(""),className:Z,children:[(0,m.jsx)("span",{children:"No linked task"}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:I?null:(0,m.jsx)(b8.Check,{className:"h-4 w-4"})})]}),M?(0,m.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Loading board tasks..."}):K.length>0?K.map(a=>{let b=c$(a),c=c_(a.text),d=[a.type,a.priority].filter(Boolean).join(" · ");return(0,m.jsxs)(bL,{onSelect:()=>J(b),className:`${Z} min-w-[320px] items-start`,children:[(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsx)("div",{className:"truncate",children:a.taskRef?.trim()||c}),(0,m.jsxs)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:[a.taskRef?.trim()?c:b,d?` \xb7 ${d}`:""]})]}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:I===b?(0,m.jsx)(b8.Check,{className:"h-4 w-4"}):null})]},b)}):(0,m.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,m.jsx)("div",{className:"rounded-[3.5px]",children:(0,m.jsxs)("div",{className:"flex flex-col gap-3 p-2",children:[(0,m.jsxs)("div",{className:"relative w-full",children:[(0,m.jsx)("textarea",{value:a,onChange:a=>b(a.target.value),placeholder:"Describe the task...",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,m.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,m.jsx)(cb.Eye,{className:"h-[14px] w-[14px]"})})]}),(0,m.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,m.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-2",children:[(0,m.jsxs)(bF,{children:[(0,m.jsx)(bH,{asChild:!0,children:(0,m.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,m.jsx)(cl,{className:"h-[15px] w-[15px]"})})}),(0,m.jsx)(bI,{children:(0,m.jsxs)(bK,{align:"start",sideOffset:6,className:X,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Projects"}),z.map(a=>{let b=aa(a),c=a.id!==b?a.id:a.path?.trim()||a.repo?.trim()||null;return(0,m.jsxs)(bL,{onSelect:()=>n(a.id),className:`${Z} min-w-[280px] items-start`,children:[(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsx)("div",{className:"truncate",children:b}),c?(0,m.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:c}):null]}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:a.id===A?(0,m.jsx)(b8.Check,{className:"h-4 w-4"}):null})]},a.id)}),(0,m.jsx)(bM,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,m.jsxs)(bL,{onSelect:t,className:Z,children:[(0,m.jsx)(cc.FolderOpen,{className:"h-4 w-4"}),(0,m.jsx)("span",{children:"Add Workspace"})]})]})})]}),(0,m.jsxs)(bF,{children:[(0,m.jsx)(bH,{asChild:!0,children:(0,m.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,m.jsx)("span",{children:W}),(0,m.jsx)(b9.ChevronDown,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,m.jsx)(bI,{children:(0,m.jsxs)(bK,{align:"start",sideOffset:6,className:X,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Model"}),(0,m.jsxs)(bL,{onSelect:()=>g(dh(c,h,i,B?.agentModel,B?.agentReasoningEffort)),className:Z,children:[(0,m.jsx)("span",{children:"Default"}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:U?null:(0,m.jsx)(b8.Check,{className:"h-4 w-4"})})]}),V.map(a=>(0,m.jsxs)(bL,{onSelect:()=>g({catalogModel:a.id,customModel:"",reasoningEffort:dg(c,h,i,a.id)}),className:Z,children:[(0,m.jsx)("span",{children:a.label}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:U===a.id?(0,m.jsx)(b8.Check,{className:"h-4 w-4"}):null})]},a.id)),0===V.length?(0,m.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,y&&!y.ready?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(bM,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>u(c),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:y.installed?"Open setup":"Open install guide"})]}):null]})})]}),(0,m.jsxs)(bF,{children:[(0,m.jsx)(bH,{asChild:!0,children:(0,m.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,m.jsx)("span",{children:_.label}),(0,m.jsx)(b9.ChevronDown,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,m.jsx)(bI,{children:(0,m.jsxs)(bK,{align:"start",sideOffset:6,className:X,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Permissions"}),$.map(({id:a,label:b,icon:c})=>(0,m.jsxs)(bL,{onSelect:()=>R(a),className:Z,children:[(0,m.jsx)(c,{className:"h-4 w-4"}),(0,m.jsx)("span",{children:b}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:Q===a?(0,m.jsx)(b8.Check,{className:"h-4 w-4"}):null})]},a))]})})]}),(0,m.jsxs)(bF,{children:[(0,m.jsx)(bH,{asChild:!0,children:(0,m.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:ac})}),(0,m.jsx)(bI,{children:(0,m.jsxs)(bK,{align:"start",side:"bottom",sideOffset:6,avoidCollisions:!1,className:Y,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Branch"}),ab?(0,m.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:ab}):null,E?(0,m.jsx)("div",{className:"px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:"Loading branches..."}):C.map(a=>(0,m.jsxs)(bL,{onSelect:()=>H(a),className:Z,children:[(0,m.jsx)("span",{children:a}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:G===a?(0,m.jsx)(b8.Check,{className:"h-4 w-4"}):null})]},a))]})})]})]}),(0,m.jsx)("div",{className:"flex w-full justify-end sm:w-auto",children:(0,m.jsx)("button",{type:"button",onClick:()=>v({projectId:A??void 0,...O?{baseBranch:G||B?.defaultBranch||void 0}:{branch:G||B?.defaultBranch||void 0},issueId:I.trim()||void 0,useWorktree:O,permissionMode:Q}),disabled:r||0===a.trim().length||!A,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:r?(0,m.jsx)(ch.Loader2,{className:"h-4 w-4 animate-spin"}):"Create"})})]}),y&&!y.ready?(0,m.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,m.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,m.jsxs)("div",{className:"min-w-0",children:[(0,m.jsxs)("p",{className:"text-[13px] text-[var(--vk-text-strong)]",children:[x," is not ready on this machine."]}),(0,m.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:y.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,m.jsx)("button",{type:"button",onClick:()=>u(c),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:y.installed?"Open setup":"Open install"})]})}):null,(0,m.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,m.jsx)("input",{type:"checkbox",checked:O,onChange:a=>P(a.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsxs)("span",{children:["Use worktree isolation",(0,m.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."})]})]})]})})]}),s&&(0,m.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:s})]})})});function dy({value:a,idleLabel:b="Copy",copiedLabel:c="Copied"}){let[d,e]=(0,p.useState)(!1);async function f(){await navigator.clipboard.writeText(a),e(!0),window.setTimeout(()=>e(!1),1400)}return(0,m.jsxs)("button",{type:"button",onClick:()=>void f(),className:"inline-flex h-8 items-center gap-1.5 rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[d?(0,m.jsx)(b8.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):(0,m.jsx)(ca.Copy,{className:"h-3.5 w-3.5"}),(0,m.jsx)("span",{children:d?c:b})]})}function dz({open:a,mode:b,creating:c,error:d,current:e,projectCount:f,agentOptions:g,agentStates:h,runtimeModelCatalogs:i,onRepositoriesChanged:j,onOnboardingComplete:k,onOpenAgentSetup:l,onClose:n,onSave:o}){var q,r;let s,[t,u]=(0,p.useState)("preferences"),[v,w]=(0,p.useState)(e.codingAgent),[x,y]=(0,p.useState)(e.ide),[z,A]=(0,p.useState)(e.markdownEditor),[B,C]=(0,p.useState)(e.markdownEditorPath??""),[D,E]=(0,p.useState)(e.modelAccess),[F,G]=(0,p.useState)(e.notifications.soundEnabled),[H,I]=(0,p.useState)(e.notifications.soundFile),[J,K]=(0,p.useState)([]),[L,M]=(0,p.useState)(!1),[N,O]=(0,p.useState)(!1),[P,Q]=(0,p.useState)(null),[R,S]=(0,p.useState)(""),[T,U]=(0,p.useState)(null),[V,W]=(0,p.useState)(db()),[X,Y]=(0,p.useState)([]),[Z,$]=(0,p.useState)(!1),[_,aa]=(0,p.useState)(null),[ab,ac]=(0,p.useState)(!1),[ad,ae]=(0,p.useState)(!1),[af,ag]=(0,p.useState)(()=>c9(null)),[ah,ai]=(0,p.useState)(!1),[aj,ak]=(0,p.useState)(!1),[al,am]=(0,p.useState)(null),[an,ao]=(0,p.useState)(()=>da(null)),[ap,aq]=(0,p.useState)(!1),[ar,as]=(0,p.useState)(null),[at,au]=(0,p.useState)(null),av=c||N||aj||null!==ar;function aw(a){return{...a,agentPermissions:"default"===a.agentPermissions?"default":"skip",devServerScript:a.devServerScript??"",devServerCwd:a.devServerCwd??"",devServerUrl:a.devServerUrl??"",devServerPort:a.devServerPort??"",devServerHost:a.devServerHost??"",devServerPath:a.devServerPath??"",devServerHttps:!0===a.devServerHttps,pathHealth:{exists:a.pathHealth.exists,isGitRepository:a.pathHealth.isGitRepository,suggestedPath:a.pathHealth.suggestedPath}}}function ax(a){return a.split(/\n+/g).map(a=>a.trim()).filter(Boolean)}async function ay(a){M(!0),Q(null);try{let b=await fetch("/api/repositories"),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to load repositories (${b.status})`);let d=Array.isArray(c?.repositories)?c.repositories:[];K(d);let e=d[0]?.id??"",f=a&&d.some(b=>b.id===a)?a:R&&d.some(a=>a.id===R)?R:e;S(f)}catch(a){K([]),S(""),U(null),W(db()),Q(a instanceof Error?a.message:"Failed to load repositories")}finally{M(!1)}}async function az(a,b){let c=(a??T?.path??"").trim();if(0===c.length){aa("Select a repository path first."),Y([]);return}$(!0),aa(null);try{let a=new URLSearchParams({path:c}),d=await fetch(`/api/workspaces/branches?${a.toString()}`),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to detect branches (${d.status})`);let f=Array.isArray(e?.branches)?e.branches.filter(a=>"string"==typeof a&&a.trim().length>0):[];Y(f);let g=b?.trim()||("string"==typeof e?.defaultBranch&&e.defaultBranch.trim().length>0?e.defaultBranch.trim():f[0]??"");if(!g)return;U(a=>!a||a.defaultBranch.trim().length>0&&f.includes(a.defaultBranch)?a:{...a,defaultBranch:g})}catch(a){Y([]),aa(a instanceof Error?a.message:"Failed to detect branches")}finally{$(!1)}}async function aA(){if(!T||N||0===T.repo.trim().length||0===T.path.trim().length)return!1;O(!0),Q(null);try{let a=await fetch("/api/repositories",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:T.id,displayName:T.displayName,repo:T.repo,path:T.path,agent:T.agent,agentPermissions:T.agentPermissions,agentModel:di(V)??"",agentReasoningEffort:dj(V)??"",defaultWorkingDirectory:T.defaultWorkingDirectory,defaultBranch:T.defaultBranch,devServerScript:T.devServerScript,devServerCwd:T.devServerCwd,devServerUrl:T.devServerUrl,devServerPort:T.devServerPort,devServerHost:T.devServerHost,devServerPath:T.devServerPath,devServerHttps:T.devServerHttps,setupScript:T.setupScript,runSetupInParallel:T.runSetupInParallel,cleanupScript:T.cleanupScript,archiveScript:T.archiveScript,copyFiles:T.copyFiles})}),b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to save repository settings (${a.status})`);let c=b?.repository;if(!c)throw Error("Repository saved but response is missing repository data");return K(a=>a.map(a=>a.id===c.id?c:a)),U(aw(c)),S(c.id),aa(null),await az(c.path,c.defaultBranch),j&&await j(),!0}catch(a){return Q(a instanceof Error?a.message:"Failed to save repository settings"),!1}finally{O(!1)}}async function aB(){ai(!0),am(null);try{let a=await fetch("/api/access"),b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to load organization settings (${a.status})`);ag(c9(b?.access,b?.current))}catch(a){ag(c9(null)),am(a instanceof Error?a.message:"Failed to load organization settings")}finally{ai(!1)}}async function aC(){if(aj)return!1;ak(!0),am(null);try{let a=await fetch("/api/access",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireAuth:af.requireAuth||af.trustedHeaders.enabled,defaultRole:af.defaultRole,trustedHeaders:{enabled:af.trustedHeaders.enabled,provider:"cloudflare-access",emailHeader:af.trustedHeaders.emailHeader,jwtHeader:af.trustedHeaders.jwtHeader,teamDomain:af.trustedHeaders.teamDomain,audience:af.trustedHeaders.audience},roles:{viewers:ax(af.roles.viewers),operators:ax(af.roles.operators),admins:ax(af.roles.admins),viewerDomains:ax(af.roles.viewerDomains),operatorDomains:ax(af.roles.operatorDomains),adminDomains:ax(af.roles.adminDomains)}})}),b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to save organization settings (${a.status})`);return ag(c9(b?.access,b?.current)),"remote_access"===t&&await aD(),!0}catch(a){return am(a instanceof Error?a.message:"Failed to save organization settings"),!1}finally{ak(!1)}}async function aD(){aq(!0),au(null);try{let a=await fetch("/api/remote-access"),b=await a.json().catch(()=>null);if(!a.ok){let c=b&&"object"==typeof b&&"reason"in b&&"string"==typeof b.reason?b.reason:null,d=b&&"object"==typeof b&&"error"in b&&"string"==typeof b.error?b.error:null;throw Error(c??d??`Failed to load remote access (${a.status})`)}ao(da(b))}catch(a){ao(da(null)),au(a instanceof Error?a.message:"Failed to load remote access")}finally{aq(!1)}}async function aE(a){as(a),au(null);try{let b=await fetch("/api/remote-access",{method:"disable"===a?"DELETE":"POST",headers:"disable"===a?void 0:{"Content-Type":"application/json"},body:"disable"===a?void 0:JSON.stringify({action:a})}),c=await b.json().catch(()=>null);if(!b.ok){let d=c&&"object"==typeof c&&"reason"in c&&"string"==typeof c.reason?c.reason:null,e=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null;throw Error(d??e??`Failed to ${a} remote access (${b.status})`)}ao(da(c))}catch(b){au(b instanceof Error?b.message:`Failed to ${a} remote access`)}finally{as(null)}}(0,p.useEffect)(()=>{a&&(u("onboarding"===b?"preferences":"general"),w(e.codingAgent),y(e.ide),A(e.markdownEditor),C(e.markdownEditorPath??""),E(e.modelAccess),G(e.notifications.soundEnabled),I(e.notifications.soundFile),Y([]),aa(null),Q(null),W(db()),am(null),ao(da(null)),au(null))},[b,a]),(0,p.useEffect)(()=>{a&&("settings"===b||"repositories"===t)&&ay()},[t,b,a]),(0,p.useEffect)(()=>{a&&"onboarding"!==b&&aB()},[b,a]),(0,p.useEffect)(()=>{a&&"onboarding"!==b&&"remote_access"===t&&aD()},[t,b,a]),(0,p.useEffect)(()=>{if(!a)return;if(!R){U(null),W(db());return}let b=J.find(a=>a.id===R);b&&(U(aw(b)),W(dh(b.agent,D,i,b.agentModel,b.agentReasoningEffort)),Y([]),aa(null),b.path.trim().length>0&&az(b.path,b.defaultBranch))},[D,a,J,i,R]);let aF="onboarding"===b&&f>0,aG=(0,p.useMemo)(()=>"onboarding"===b?aF?c1:c1.filter(a=>"preferences"===a.id):c0.filter(a=>a.implemented),[b,aF]),aH=aG.find(a=>a.id===t)??aG[0]??c0[0],aI="onboarding"===b,aJ="preferences"===aH.id,aK="general"===aH.id,aL="remote_access"===aH.id,aM="agents"===aH.id,aN=aJ||aK||aM,aO=aN||aL,aP="repositories"===aH.id,aQ="organization"===aH.id,aR=aG.findIndex(a=>a.id===aH.id)+1,aS=aG.some(a=>"repositories"===a.id),aT="admin"===af.current.role,aU=function(a){switch(a){case"cloudflare-access":return"Cloudflare Access";case"private-network":return"Private network";case"enterprise-only":return"Enterprise only";case"generic-header":return"Legacy mode blocked";case"clerk":return"Clerk";case"misconfigured":return"Auth required";case"unsafe-public":return"Blocked until protected";default:return"Local only"}}(an.mode),aV=function(a){switch(a){case"starting":return"Starting";case"ready":return"Ready";case"error":return"Error";default:return"Disabled"}}(an.status),aW=null!==ar,aX=an.provider??an.recommendedProvider,aY="tailscale"===aX,aZ=null!==aX||an.managed,a$=!an.installed&&an.canAutoInstall?"Install + Enable":"Enable Private Link",a_=!ap&&!aW&&aY&&!("ready"===an.status&&an.managed),a0=!ap&&!aW&&("starting"===an.status||"ready"===an.status||"error"===an.status),a1=(0,p.useMemo)(()=>{let a=new Set(g);v.trim().length>0&&a.add(v),0===a.size&&a.add(cT);let b=new Map(cs.map((a,b)=>[a,b]));return[...a].sort((a,c)=>{let d=b.get((0,cq.normalizeAgentName)(a))??Number.MAX_SAFE_INTEGER,e=b.get((0,cq.normalizeAgentName)(c))??Number.MAX_SAFE_INTEGER;return d!==e?d-e:cX(a).localeCompare(cX(c))})},[g,v]),a2=h[(0,cq.normalizeAgentName)(v)]??null;if(!a)return null;let a3=v.trim().length>0&&x.trim().length>0&&z.trim().length>0,a4=!!T&&T.displayName.trim().length>0&&T.repo.trim().length>0&&T.path.trim().length>0&&T.defaultBranch.trim().length>0,a5=aT&&!ah&&(!af.trustedHeaders.enabled||af.trustedHeaders.teamDomain.trim().length>0&&af.trustedHeaders.audience.trim().length>0),a6=aP?P:aQ?al:d,a7=T?(q={...T,agentModel:di(V)??"",agentReasoningEffort:dj(V)??""},r={ide:x,markdownEditor:z},s=["npx conductor-oss@latest setup","--yes",`--path ${dq(q.path)}`,`--project-id ${dq(q.id)}`,`--display-name ${dq(q.displayName)}`,`--agent ${dq(q.agent||"claude-code")}`,`--ide ${dq(r.ide)}`,`--markdown-editor ${dq(r.markdownEditor)}`],q.repo.trim().length>0&&s.push(`--repo ${dq(q.repo.trim())}`),q.defaultBranch.trim().length>0&&s.push(`--default-branch ${dq(q.defaultBranch.trim())}`),q.agentModel.trim().length>0&&s.push(`--model ${dq(q.agentModel.trim())}`),q.agentReasoningEffort.trim().length>0&&s.push(`--reasoning-effort ${dq(q.agentReasoningEffort.trim())}`),q.defaultWorkingDirectory.trim().length>0&&s.push(`--default-working-directory ${dq(q.defaultWorkingDirectory.trim())}`),s.join(" ")):"";async function a8(a,b){let d;if(!a3||c)return!1;let f=await o((d=F?H??c4[0]?.id??"abstract-sound-4":null,{onboardingAcknowledged:!!a||e.onboardingAcknowledged,codingAgent:v.trim(),ide:x.trim(),markdownEditor:z.trim(),markdownEditorPath:(B??"").trim(),modelAccess:D,notifications:{soundEnabled:F,soundFile:d}}),b);return f&&a2&&!a2.ready&&l(v),f}async function a9(){if(!L){if(!aS){if(!await a8(!0,{closeDialog:!0}))return;k?.({needsProject:0===f});return}await a8(!1,{closeDialog:!1})&&u("repositories")}}async function ba(){(!aP||await aA())&&await a8(!0,{closeDialog:!0})&&k?.({needsProject:!1})}return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{className:"fixed inset-0 z-[90] flex items-start justify-center overflow-y-auto bg-black/70 px-3 py-3 sm:items-center",onClick:()=>{av||"onboarding"===b||ab||ad||n()},role:"presentation",children:(0,m.jsxs)("div",{className:"flex max-h-[calc(100dvh-1.5rem)] w-full max-w-[1120px] flex-col overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_24px_80px_rgba(0,0,0,0.55)] sm:h-[min(92vh,760px)] sm:flex-row",onClick:a=>a.stopPropagation(),children:[(0,m.jsxs)("aside",{className:"flex w-full shrink-0 flex-col border-b border-[var(--vk-border)] bg-[rgba(28,28,28,0.8)] sm:w-[224px] sm:border-b-0 sm:border-r",children:[(0,m.jsx)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3 sm:py-4",children:(0,m.jsx)("h2",{className:"text-[22px] leading-[24px] text-[var(--vk-text-strong)] sm:text-[27px] sm:leading-[27px]",children:aI?"Setup":"Settings"})}),(0,m.jsx)("nav",{className:"flex gap-1 overflow-x-auto p-2 sm:block sm:space-y-1 sm:overflow-auto",children:aG.map(a=>{let b=a.icon,c=aH.id===a.id;return(0,m.jsxs)("button",{type:"button",onClick:()=>u(a.id),disabled:av,className:`flex shrink-0 items-center gap-3 rounded-[3px] px-3 py-2 text-left text-[14px] leading-[21px] transition-colors sm:w-full ${c?"bg-[rgba(234,122,42,0.1)] text-[var(--vk-orange)]":"text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"} disabled:opacity-50`,children:[(0,m.jsx)(b,{className:"h-4 w-4 shrink-0"}),(0,m.jsx)("span",{children:a.label})]},a.id)})})]}),(0,m.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,m.jsxs)("header",{className:"flex items-center justify-between border-b border-[var(--vk-border)] px-4 py-3 sm:py-4",children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("h3",{className:"text-[20px] leading-[24px] text-[var(--vk-text-strong)] sm:text-[27px] sm:leading-[27px]",children:aI?aJ?"Choose your preferences":"Review repository defaults":aH.label}),aI&&(0,m.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Step ",aR," of ",aG.length]})]}),(0,m.jsx)("button",{type:"button",onClick:n,disabled:av||"onboarding"===b,"aria-label":"Close settings",className:"inline-flex h-7 w-7 items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-40",children:(0,m.jsx)(cp.X,{className:"h-4 w-4"})})]}),(0,m.jsx)("div",{className:"min-h-0 flex-1 overflow-auto px-4 py-3 sm:px-6 sm:py-4",children:aO?(0,m.jsxs)("div",{className:"space-y-5",children:[aI&&(0,m.jsx)("section",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[rgba(234,122,42,0.08)] px-4 py-3",children:(0,m.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"Conductor is already running locally. Finish setup here in the dashboard, then you can start using chat and boards immediately."})}),(aJ||aM)&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("section",{className:"space-y-2",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Choose Your Coding Agent"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Select the default coding agent, review its setup state, and confirm which models Conductor can offer for it."}),(0,m.jsx)("div",{className:"grid gap-3",children:a1.map(a=>{let b=v===a,c=h[(0,cq.normalizeAgentName)(a)]??null,d=dk(a,D),e=de(a,D,i),f=e.slice(0,3),g=e.length-f.length,j=c?.installed?c.ready?"Ready":"Setup required":"Not installed";return(0,m.jsxs)("div",{className:`flex flex-col gap-3 rounded-[4px] border px-3 py-3 text-left sm:flex-row sm:items-start ${b?"border-[var(--vk-orange)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsxs)("div",{className:"flex min-w-0 flex-1 items-start gap-3",children:[(0,m.jsx)(cB.AgentTileIcon,{seed:{label:a},className:"mt-0.5 h-5 w-5 border-none bg-transparent"}),(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:cX(a)}),(0,m.jsx)("span",{className:"inline-flex rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:j}),d?(0,m.jsx)("span",{className:"inline-flex rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:d}):null]}),(0,m.jsx)("p",{className:"mt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:c?.description??cu(a)?.description??"Agent metadata not available."}),(0,m.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[f.map(b=>(0,m.jsx)("span",{className:"inline-flex rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[11px] text-[var(--vk-text-normal)]",children:b.label},`${a}-${b.id}`)),g>0?(0,m.jsxs)("span",{className:"inline-flex rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:["+",g," more"]}):null,0===f.length?(0,m.jsx)("span",{className:"inline-flex rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:(0,bW.supportsAgentModelSelection)(a)?"Models appear after setup":"Uses the agent default model"}):null]}),!c?.installed&&c?.installHint?(0,m.jsxs)("p",{className:"mt-2 text-[11px] text-[var(--vk-text-muted)]",children:["Install hint: ",(0,m.jsx)("code",{className:"rounded bg-[var(--vk-bg-main)] px-1.5 py-0.5 text-[11px] text-[var(--vk-text-normal)]",children:c.installHint})]}):null]})]}),(0,m.jsxs)("div",{className:"flex shrink-0 items-center gap-2 self-start sm:ml-auto",children:[c?.ready?null:(0,m.jsx)("button",{type:"button",onClick:()=>{w(a),l(a)},className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-panel)]",children:c?.installed?"Authenticate":"Install"}),(0,m.jsx)("button",{type:"button",onClick:()=>w(a),className:`inline-flex h-8 items-center rounded-[4px] border px-3 text-[12px] ${b?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/12 text-[var(--vk-orange)]":"border-[var(--vk-border)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-panel)]"}`,children:b?"Selected":"Use this agent"}),b&&(0,m.jsx)(b8.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"})]})]},a)})})]}),(0,m.jsxs)("section",{className:"space-y-3",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Model Access"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Tell Conductor which account mode each agent is using so the model dropdown only shows options that make sense for that login path."})]}),(0,m.jsx)("div",{className:"grid gap-3",children:a1.filter(a=>{let b=(0,bW.getAgentModelCatalog)(a);return(0,bW.supportsAgentModelSelection)(a)&&(b?.accessOptions.length??0)>1}).map(a=>{let b=(0,bW.getAgentModelCatalog)(a);if(!b)return null;let c=(0,bW.resolveAgentModelAccess)(a,D)??b.defaultAccess;return(0,m.jsxs)("label",{className:"block rounded-[4px] border border-[var(--vk-border)] px-3 py-3",children:[(0,m.jsx)("span",{className:"mb-1 block text-[13px] font-medium text-[var(--vk-text-normal)]",children:b.label}),(0,m.jsx)("select",{value:c,onChange:b=>{var c;let d;return c=b.target.value,void((d=(0,bW.getAgentModelCatalog)(a))&&E(a=>({...a,[d.accessKey]:c})))},className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:b.accessOptions.map(a=>(0,m.jsx)("option",{value:a.id,children:a.label},a.id))}),(0,m.jsx)("p",{className:"mt-1.5 text-[11px] text-[var(--vk-text-muted)]",children:b.accessOptions.find(a=>a.id===c)?.description})]},a)})})]})]}),(aJ||aK)&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("section",{className:"space-y-2",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Choose Your Code Editor"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"This editor will be used when opening attempts and files."}),(0,m.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:c2.map(a=>{let b=x===a.id;return(0,m.jsxs)("button",{type:"button",onClick:()=>y(a.id),className:`flex items-center gap-2 rounded-[4px] border px-3 py-2 text-left ${b?"border-[var(--vk-orange)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)(dp,{editorId:a.id,label:a.label}),(0,m.jsx)("span",{className:"flex-1 text-[13px] text-[var(--vk-text-normal)]",children:a.label}),b&&(0,m.jsx)(b8.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"})]},a.id)})})]}),(0,m.jsxs)("section",{className:"space-y-2",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Markdown Editor"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Used as your second-brain markdown source when feeding context into tasks."}),(0,m.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:c3.map(a=>{let b=z===a.id;return(0,m.jsxs)("button",{type:"button",onClick:()=>A(a.id),className:`flex items-center gap-2 rounded-[4px] border px-3 py-2 text-left ${b?"border-[var(--vk-orange)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)(ds,{editorId:a.id}),(0,m.jsx)("span",{className:"flex-1 text-[13px] text-[var(--vk-text-normal)]",children:a.label}),b&&(0,m.jsx)(b8.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"})]},a.id)})}),"notion"!==z&&(0,m.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] px-3 py-3",children:(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Notes Root"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:B??"",readOnly:!0,onClick:()=>ae(!0),placeholder:"Select your Obsidian vault, Logseq graph, or notes folder",className:"h-9 w-full cursor-pointer rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>ae(!0),disabled:av,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60",title:"Browse folders",children:(0,m.jsx)(cc.FolderOpen,{className:"h-4 w-4"})}),(B??"").trim().length>0&&(0,m.jsx)("button",{type:"button",onClick:()=>C(""),disabled:av,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60",children:"Clear"})]}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Context attachments are discovered from this folder first. Leave it blank to fall back to the current workspace."})]})})]}),(0,m.jsxs)("section",{className:"space-y-2",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Notification Sound"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Pick a sound for notifications, or disable sound."}),(0,m.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[c4.map(a=>{let b=F&&H===a.id;return(0,m.jsxs)("button",{type:"button",onClick:()=>{G(!0),I(a.id)},className:`flex items-center gap-2 rounded-[4px] border px-3 py-2 text-left ${b?"border-[var(--vk-orange)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)(cn,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,m.jsx)("span",{className:"flex-1 text-[13px] text-[var(--vk-text-normal)]",children:a.label}),b&&(0,m.jsx)(b8.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"})]},a.id)}),(0,m.jsxs)("button",{type:"button",onClick:()=>G(!1),className:`flex items-center gap-2 rounded-[4px] border px-3 py-2 text-left ${!F?"border-[var(--vk-orange)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)(co,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,m.jsx)("span",{className:"flex-1 text-[13px] text-[var(--vk-text-normal)]",children:"No sound"}),!F&&(0,m.jsx)(b8.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"})]})]})]})]}),aL&&(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsxs)("section",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[rgba(234,122,42,0.06)] px-4 py-3",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Remote Access"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Use one complete URL to open this Conductor instance from your phone or any other machine. The URL below is only shown to admin sessions because it can grant real control of the dashboard."})]}),(0,m.jsxs)("section",{className:"space-y-3 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h5",{className:"text-[18px] leading-[20px] text-[var(--vk-text-strong)]",children:an.title}),(0,m.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-text-muted)]",children:an.description})]}),(0,m.jsxs)("button",{type:"button",onClick:()=>void aD(),disabled:ap,className:"inline-flex h-8 items-center gap-1.5 rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,m.jsx)(cj.RefreshCcw,{className:`h-3.5 w-3.5${ap?" animate-spin":""}`}),(0,m.jsx)("span",{children:"Refresh"})]})]}),ap?(0,m.jsxs)("div",{className:"flex items-center gap-2 rounded-[6px] border border-[var(--vk-border)] px-3 py-3 text-[13px] text-[var(--vk-text-muted)]",children:[(0,m.jsx)(ch.Loader2,{className:"h-4 w-4 animate-spin"}),"Loading remote access details..."]}):at?(0,m.jsx)("div",{className:"rounded-[6px] border border-[var(--vk-red)]/35 bg-[var(--vk-red)]/10 px-3 py-3 text-[12px] leading-5 text-[var(--vk-red)]",children:at}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"grid gap-3 lg:grid-cols-3",children:[(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Remote Status"}),(0,m.jsx)("p",{className:"mt-2 text-[14px] text-[var(--vk-text-normal)]",children:aV})]}),(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Security Mode"}),(0,m.jsx)("p",{className:"mt-2 text-[14px] text-[var(--vk-text-normal)]",children:aU})]}),(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Local Target"}),(0,m.jsx)("p",{className:"mt-2 break-all text-[14px] text-[var(--vk-text-normal)]",children:an.localUrl??"Not resolved"})]}),(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Remote URL"}),(0,m.jsx)("p",{className:"mt-2 break-all text-[14px] text-[var(--vk-text-normal)]",children:an.publicUrl??"Not resolved"})]})]}),aZ?(0,m.jsxs)("div",{className:"space-y-3 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:aY?"Private Network Link":"Managed Remote Access"}),(0,m.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:aY?"Start a private Tailscale link inside Conductor. Only authenticated devices on your tailnet can reach this URL.":"Conductor no longer starts public share tunnels. Use a private Tailscale link here, or configure a protected Cloudflare Access URL separately."})]}),(0,m.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,m.jsx)("button",{type:"button",onClick:()=>void aE("enable"),disabled:!a_,className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-orange)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-orange)]/10 disabled:cursor-not-allowed disabled:opacity-50",children:"enable"===ar?"Enabling...":a$}),(0,m.jsx)("button",{type:"button",onClick:()=>void aE("disable"),disabled:!a0,className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-50",children:"disable"===ar?"Disabling...":"Disable"})]})]}),(0,m.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-text-muted)]",children:aY?an.installed?"Tailscale is available on this machine. Conductor will publish a private HTTPS link inside your tailnet.":an.canAutoInstall&&"brew"===an.autoInstallMethod?"Tailscale is not installed yet. Conductor can install it automatically with Homebrew, but the machine still needs a Tailscale sign-in.":"Tailscale is not installed on this machine yet. Install and sign in once to enable the private remote link.":"Managed remote access now uses only a private Tailscale link. For an enterprise public URL, configure Cloudflare Access separately and point Conductor at that protected address."})]}):(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Enterprise Policy"}),(0,m.jsx)("p",{className:"mt-2 text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"tailscale"===an.recommendedProvider?"Conductor is set up for a private VPN-style link. Install and sign in to Tailscale, then enable the private link from this screen.":"Conductor no longer publishes bearer-style unlock URLs. Configure verified Cloudflare Access and point `CONDUCTOR_PUBLIC_DASHBOARD_URL` at the protected external URL instead."})]}),an.lastError&&(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-red)]/35 bg-[var(--vk-red)]/10 px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-red)]",children:aY?"Private Link Error":"Tunnel Error"}),(0,m.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-red)]",children:an.lastError})]}),an.connectUrl?(0,m.jsxs)("div",{className:"space-y-2 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"private-network"===an.mode?"Private Remote URL":"Protected Remote URL"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"private-network"===an.mode?"Share this URL only with operators who are already authenticated to your private network.":"Share this protected URL. Recipients still need to pass the enterprise identity check before they reach Conductor."})]}),(0,m.jsx)(dy,{value:an.connectUrl,idleLabel:"Copy URL"})]}),(0,m.jsx)("code",{className:"block break-all rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-3 text-[12px] leading-5 text-[var(--vk-text-normal)]",children:an.connectUrl})]}):(0,m.jsx)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:(0,m.jsx)("p",{className:"text-[13px] text-[var(--vk-text-normal)]",children:"enterprise-only"===an.mode?"tailscale"===an.recommendedProvider?an.connected?"A private VPN URL will appear here after you enable the private link.":"A private VPN URL will appear here after Tailscale is installed and signed in.":"A protected enterprise remote URL will appear here after verified Cloudflare Access is configured.":"A protected remote URL is not available yet."})}),an.warnings.length>0&&(0,m.jsxs)("div",{className:"space-y-2 rounded-[6px] border border-[var(--vk-red)]/35 bg-[var(--vk-red)]/10 px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-red)]",children:"Security Warnings"}),(0,m.jsx)("div",{className:"space-y-1.5",children:an.warnings.map(a=>(0,m.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-red)]",children:a},a))})]}),an.nextSteps.length>0&&(0,m.jsxs)("div",{className:"space-y-2 rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Next Steps"}),(0,m.jsx)("div",{className:"space-y-1.5",children:an.nextSteps.map(a=>(0,m.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-text-muted)]",children:a},a))})]})]})]})]})]}):aP?(0,m.jsxs)("div",{className:"space-y-5",children:[(0,m.jsxs)("section",{className:"space-y-1",children:[(0,m.jsx)("h4",{className:"text-[24px] leading-[24px] text-[var(--vk-text-strong)]",children:aI?"Repository Defaults":"Repository Configuration"}),(0,m.jsx)("p",{className:"text-[14px] text-[var(--vk-text-muted)]",children:aI?"Review the repository Conductor will use for this workspace. You can edit advanced scripts later from Settings.":"Configure scripts and defaults used whenever this repository is selected for workspaces."})]}),("settings"===b||J.length>1)&&(0,m.jsxs)("section",{className:"space-y-2",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Select Repository"}),(0,m.jsxs)("select",{value:R,onChange:a=>S(a.target.value),disabled:L||0===J.length||av,className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60",children:[0===J.length&&(0,m.jsx)("option",{value:"",children:"No repositories configured"}),J.map(a=>(0,m.jsx)("option",{value:a.id,children:a.displayName},a.id))]})]}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Select a repository to view and edit its configuration."}),L&&(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Loading repositories..."})]}),aI&&1===J.length&&T&&(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Detected Repository"}),(0,m.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(15,15,15,0.52)] px-3 py-3 text-[13px] text-[var(--vk-text-normal)]",children:[T.displayName,(0,m.jsx)("span",{className:"ml-2 text-[var(--vk-text-muted)]",children:T.path})]})]}),T&&(0,m.jsxs)(m.Fragment,{children:["settings"===b&&(0,m.jsxs)("section",{className:"space-y-3 border-t border-[var(--vk-border)] pt-4",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h5",{className:"text-[22px] leading-[22px] text-[var(--vk-text-strong)]",children:"Repo-Preseed Bootstrap"}),(0,m.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Use this when you already know the target repository and want one command to prefill it. The default first-run path is still `npx conductor-oss@latest`, which opens the dashboard and lets the user choose preferences before adding a project."})]}),(0,m.jsxs)("div",{className:"flex flex-wrap gap-2 text-[11px] text-[var(--vk-text-muted)]",children:[(0,m.jsxs)("span",{className:"rounded-[999px] border border-[var(--vk-border)] px-2 py-1",children:["Workspace: ",T.workspaceMode]}),(0,m.jsxs)("span",{className:"rounded-[999px] border border-[var(--vk-border)] px-2 py-1",children:["Runtime: ",T.runtimeMode]}),(0,m.jsxs)("span",{className:"rounded-[999px] border border-[var(--vk-border)] px-2 py-1",children:["SCM: ",T.scmMode]})]}),(0,m.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(15,15,15,0.72)] p-3",children:(0,m.jsx)("pre",{className:"overflow-x-auto whitespace-pre-wrap break-all text-[12px] leading-5 text-[var(--vk-text-normal)]",children:a7})}),(0,m.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"This command uses your selected agent, editor, and notes app. Best on macOS with Homebrew. GitHub sign-in still opens a browser so the user can approve access."}),(0,m.jsx)(dy,{value:a7,idleLabel:"Copy Setup Command"})]})]}),(0,m.jsxs)("section",{className:"space-y-3 border-t border-[var(--vk-border)] pt-4",children:[(0,m.jsx)("h5",{className:"text-[22px] leading-[22px] text-[var(--vk-text-strong)]",children:"General Settings"}),(0,m.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Configure basic repository information."}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Display Name"}),(0,m.jsx)("input",{value:T.displayName,onChange:a=>U(b=>b?{...b,displayName:a.target.value}:b),className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"A friendly name for this repository."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Repository Slug"}),(0,m.jsx)("input",{value:T.repo,onChange:a=>U(b=>b?{...b,repo:a.target.value}:b),placeholder:"e.g., your-org/your-repo",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Used for PR tracking, GitHub links, and onboarding defaults."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Default Agent"}),(0,m.jsx)("select",{value:T.agent,onChange:a=>{let b=a.target.value;U(a=>a?{...a,agent:b}:a),W(dh(b,D,i,null))},className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:a1.map(a=>(0,m.jsx)("option",{value:a,children:cX(a)},a))}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Used by the one-line bootstrap and as the project default when tasks dispatch."})]}),(0,bW.supportsAgentModelSelection)(T.agent)&&(0,m.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] px-3 py-3",children:(0,m.jsx)(dt,{agent:T.agent,modelAccess:D,runtimeModelCatalogs:i,selection:V,onChange:W})}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Agent Permission Default"}),(0,m.jsxs)("select",{value:T.agentPermissions,onChange:a=>U(b=>b?{...b,agentPermissions:"default"===a.target.value?"default":"skip"}:b),className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,m.jsx)("option",{value:"skip",children:"Auto approve and allow local dev servers"}),(0,m.jsx)("option",{value:"default",children:"Sandboxed default mode"})]}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Applies to new sessions for this repository across all agents unless you override the launch mode."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Repository Path"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:T.path,readOnly:!0,onClick:()=>ac(!0),placeholder:"Use Browse to select a repository folder",className:"h-9 w-full cursor-pointer rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>ac(!0),disabled:av,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60",children:(0,m.jsx)(cc.FolderOpen,{className:"h-4 w-4"})})]}),!T.pathHealth.exists&&(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-red)]",children:"Configured path does not exist on disk."}),T.pathHealth.exists&&!T.pathHealth.isGitRepository&&(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-red)]",children:"Configured path exists but is not a git repository."}),T.pathHealth.suggestedPath&&(0,m.jsx)("button",{type:"button",onClick:()=>{let a=T.pathHealth.suggestedPath??"";a&&(U(b=>b?{...b,path:a,pathHealth:{...b.pathHealth,exists:!0,isGitRepository:!0,suggestedPath:null}}:b),az(a))},className:"mt-1 inline-flex h-7 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Use detected git repo path"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Default Working Directory"}),(0,m.jsx)("input",{value:T.defaultWorkingDirectory,onChange:a=>U(b=>b?{...b,defaultWorkingDirectory:a.target.value}:b),placeholder:"e.g., packages/frontend",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Subdirectory relative to the repository root where the coding agent starts."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Default Target Branch"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:T.defaultBranch,onChange:a=>U(b=>b?{...b,defaultBranch:a.target.value}:b),placeholder:"Select a branch",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>{az()},disabled:Z,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60",title:"Detect branches",children:Z?(0,m.jsx)(ch.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,m.jsx)(cj.RefreshCcw,{className:"h-3.5 w-3.5"})})]}),X.length>0&&(0,m.jsx)("select",{value:T.defaultBranch,onChange:a=>U(b=>b?{...b,defaultBranch:a.target.value}:b),className:"mt-2 h-8 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[12px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:X.map(a=>(0,m.jsx)("option",{value:a,children:a},a))}),_&&(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-red)]",children:_})]})]}),"settings"===b&&(0,m.jsxs)("section",{className:"space-y-3 border-t border-[var(--vk-border)] pt-4",children:[(0,m.jsx)("h5",{className:"text-[22px] leading-[22px] text-[var(--vk-text-strong)]",children:"Scripts & Configuration"}),(0,m.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Configure dev server, setup, cleanup, archive, and file-copy behavior for this repository."}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Dev Server Script"}),(0,m.jsx)("textarea",{rows:3,value:T.devServerScript,onChange:a=>U(b=>b?{...b,devServerScript:a.target.value}:b),placeholder:"npm run dev",className:"w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Optional. Leave this blank if you run the local app yourself and only want Conductor to auto-connect the preview."})]}),(0,m.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Dev Server CWD"}),(0,m.jsx)("input",{value:T.devServerCwd,onChange:a=>U(b=>b?{...b,devServerCwd:a.target.value}:b),placeholder:"e.g., apps/web",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Runs the dev server from this subdirectory when set."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview URL Override"}),(0,m.jsx)("input",{value:T.devServerUrl,onChange:a=>U(b=>b?{...b,devServerUrl:a.target.value}:b),placeholder:"e.g., https://preview.example.com",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"If set, preview connects here first instead of inferring from logs."})]})]}),(0,m.jsxs)("div",{className:"grid gap-3 sm:grid-cols-4",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview Port"}),(0,m.jsx)("input",{value:T.devServerPort,onChange:a=>U(b=>b?{...b,devServerPort:a.target.value}:b),inputMode:"numeric",placeholder:"3000",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview Host"}),(0,m.jsx)("input",{value:T.devServerHost,onChange:a=>U(b=>b?{...b,devServerHost:a.target.value}:b),placeholder:"127.0.0.1",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview Path"}),(0,m.jsx)("input",{value:T.devServerPath,onChange:a=>U(b=>b?{...b,devServerPath:a.target.value}:b),placeholder:"/",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("label",{className:"flex items-center gap-2 rounded-[4px] border border-[var(--vk-border)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:T.devServerHttps,onChange:a=>U(b=>b?{...b,devServerHttps:a.target.checked}:b),className:"h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsx)("span",{children:"Use HTTPS"})]})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Setup Script"}),(0,m.jsx)("textarea",{rows:4,value:T.setupScript,onChange:a=>U(b=>b?{...b,setupScript:a.target.value}:b),placeholder:"npm install",className:"w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Runs in the worktree after creation and before/with coding-agent startup."})]}),(0,m.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:T.runSetupInParallel,onChange:a=>U(b=>b?{...b,runSetupInParallel:a.target.checked}:b),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsx)("span",{children:"Run setup script in parallel with coding agent"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Cleanup Script"}),(0,m.jsx)("textarea",{rows:4,value:T.cleanupScript,onChange:a=>U(b=>b?{...b,cleanupScript:a.target.value}:b),placeholder:"Runs when the workspace is archived and changes exist",className:"w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Archive Script"}),(0,m.jsx)("textarea",{rows:4,value:T.archiveScript,onChange:a=>U(b=>b?{...b,archiveScript:a.target.value}:b),placeholder:"Runs when the workspace/session is archived",className:"w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Copy Files"}),(0,m.jsx)("input",{value:T.copyFiles,onChange:a=>U(b=>b?{...b,copyFiles:a.target.value}:b),placeholder:".env, config/*.json",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Comma-separated relative file paths or glob patterns copied from the repo to each worktree."})]})]})]})]}):aQ?(0,m.jsxs)("div",{className:"space-y-5",children:[(0,m.jsxs)("section",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[rgba(234,122,42,0.06)] px-4 py-3",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Security-First Remote Access"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"The dashboard stays bound to localhost. For phone and team access, put a verified edge identity layer like Cloudflare Access in front of it, then map authenticated users into viewer, operator, or admin roles here."})]}),ah?(0,m.jsxs)("section",{className:"flex items-center gap-2 rounded-[6px] border border-[var(--vk-border)] px-4 py-4 text-[13px] text-[var(--vk-text-muted)]",children:[(0,m.jsx)(ch.Loader2,{className:"h-4 w-4 animate-spin"}),"Loading organization access settings..."]}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("section",{className:"grid gap-3 lg:grid-cols-3",children:[(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Current Identity"}),(0,m.jsx)("p",{className:"mt-2 text-[14px] text-[var(--vk-text-normal)]",children:af.current.email??"Anonymous local session"})]}),(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Effective Role"}),(0,m.jsx)("p",{className:"mt-2 text-[14px] text-[var(--vk-text-normal)]",children:af.current.role??"No access"})]}),(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Auth Provider"}),(0,m.jsx)("p",{className:"mt-2 text-[14px] text-[var(--vk-text-normal)]",children:af.current.provider??"Local only"})]})]}),!aT&&(0,m.jsx)("section",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[rgba(80,80,80,0.18)] px-4 py-3",children:(0,m.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"You can review organization security here, but only an admin session can save changes. Use a local admin session or an admin identity from your edge auth provider to modify access rules."})}),(0,m.jsxs)("section",{className:"space-y-3 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h5",{className:"text-[18px] leading-[20px] text-[var(--vk-text-strong)]",children:"Baseline Access Rules"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Require authentication for remote dashboard requests and decide what authenticated users get by default before explicit role bindings are applied. Localhost on this machine stays in a local admin recovery mode so setup and break-glass access keep working."})]}),(0,m.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:af.requireAuth,onChange:a=>ag(b=>({...b,requireAuth:a.target.checked})),disabled:!aT||aj||af.trustedHeaders.enabled,className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsx)("span",{children:"Require authentication for remote dashboard requests"})]}),(0,m.jsx)("p",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Public share-link remote control has been removed. Remote access now requires either the private Tailscale link or an identity-bound provider such as Cloudflare Access or Clerk."}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Default Role"}),(0,m.jsxs)("select",{value:af.defaultRole,onChange:a=>ag(b=>({...b,defaultRole:a.target.value})),disabled:!aT||aj,className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60",children:[(0,m.jsx)("option",{value:"viewer",children:"Viewer"}),(0,m.jsx)("option",{value:"operator",children:"Operator"}),(0,m.jsx)("option",{value:"admin",children:"Admin"})]}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"This applies after identity verification when no explicit email or domain binding matches. Cloudflare Access enterprise mode forces full authentication automatically."})]})]}),(0,m.jsxs)("section",{className:"space-y-3 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h5",{className:"text-[18px] leading-[20px] text-[var(--vk-text-strong)]",children:"Verified Edge Auth"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Recommended for secure public phone access and free team collaboration. Conductor verifies the Cloudflare Access JWT instead of trusting a raw email header."})]}),(0,m.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:af.trustedHeaders.enabled,onChange:a=>ag(b=>({...b,requireAuth:!!a.target.checked||b.requireAuth,trustedHeaders:{...b.trustedHeaders,enabled:a.target.checked}})),disabled:!aT||aj,className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsx)("span",{children:"Enable verified Cloudflare Access authentication"})]}),(0,m.jsxs)("div",{className:"grid gap-3 lg:grid-cols-2",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Provider"}),(0,m.jsx)("div",{className:"flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)]",children:"Cloudflare Access (verified JWT)"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Identity Email Header"}),(0,m.jsx)("input",{value:af.trustedHeaders.emailHeader,onChange:a=>ag(b=>({...b,trustedHeaders:{...b.trustedHeaders,emailHeader:a.target.value}})),disabled:!aT||aj,className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"JWT Assertion Header"}),(0,m.jsx)("input",{value:af.trustedHeaders.jwtHeader,onChange:a=>ag(b=>({...b,trustedHeaders:{...b.trustedHeaders,jwtHeader:a.target.value}})),disabled:!aT||aj,className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Cloudflare Team Domain"}),(0,m.jsx)("input",{value:af.trustedHeaders.teamDomain,onChange:a=>ag(b=>({...b,trustedHeaders:{...b.trustedHeaders,teamDomain:a.target.value}})),disabled:!aT||aj,placeholder:"your-team.cloudflareaccess.com",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60"})]}),(0,m.jsxs)("label",{className:"block lg:col-span-2",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Cloudflare Access Audience"}),(0,m.jsx)("input",{value:af.trustedHeaders.audience,onChange:a=>ag(b=>({...b,trustedHeaders:{...b.trustedHeaders,audience:a.target.value}})),disabled:!aT||aj,placeholder:"Copy the AUD value from your Cloudflare Access application",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60"})]})]}),(0,m.jsx)("p",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Enterprise remote access requires a Cloudflare Access application that injects a verified JWT and email header. Conductor will not publish a shareable admin URL when that verification layer is missing."})]}),(0,m.jsxs)("section",{className:"space-y-3 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h5",{className:"text-[18px] leading-[20px] text-[var(--vk-text-strong)]",children:"Role Bindings"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Map verified team identities into least-privilege roles. `viewer` can inspect work, `operator` can control agents, and `admin` can change global settings."})]}),(0,m.jsx)("div",{className:"grid gap-3 lg:grid-cols-2",children:[{label:"Viewer Emails",key:"viewers",placeholder:"alice@example.com"},{label:"Operator Emails",key:"operators",placeholder:"builder@example.com"},{label:"Admin Emails",key:"admins",placeholder:"owner@example.com"},{label:"Viewer Domains",key:"viewerDomains",placeholder:"guests.example.com"},{label:"Operator Domains",key:"operatorDomains",placeholder:"eng.example.com"},{label:"Admin Domains",key:"adminDomains",placeholder:"admins.example.com"}].map(({label:a,key:b,placeholder:c})=>(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:a}),(0,m.jsx)("textarea",{rows:4,value:af.roles[b],onChange:a=>ag(c=>({...c,roles:{...c.roles,[b]:a.target.value}})),disabled:!aT||aj,placeholder:c,className:"w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60"}),(0,m.jsx)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:"One entry per line."})]},b))})]})]})]}):(0,m.jsxs)("section",{className:"space-y-3",children:[(0,m.jsx)("h4",{className:"text-[16px] font-medium text-[var(--vk-text-strong)]",children:aH.label}),(0,m.jsx)("p",{className:"text-[14px] text-[var(--vk-text-muted)]",children:"This section is queued for implementation. General, Agents, Remote Access, and repository settings are available now."}),(0,m.jsx)("button",{type:"button",onClick:()=>u("general"),className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Open General"})]})}),(0,m.jsxs)("footer",{className:"flex flex-col gap-3 border-t border-[var(--vk-border)] px-4 py-3 sm:flex-row sm:items-center sm:justify-between sm:gap-2",children:[(0,m.jsxs)("div",{className:"min-w-0",children:[a6&&(0,m.jsx)("p",{className:"truncate rounded-[4px] border border-[var(--vk-red)]/35 bg-[var(--vk-red)]/10 px-2 py-1 text-[12px] text-[var(--vk-red)]",children:a6}),!a6&&aN&&(0,m.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)]",children:aI?"Finish setup once here. You can change these preferences any time from Settings.":"Preferences are saved to your conductor config and applied immediately."}),!a6&&aP&&(0,m.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)]",children:aI?"These defaults will be used the first time workspaces and tasks are created for this repo.":"Repository settings are saved to your conductor config and used for future workspaces."}),!a6&&aQ&&(0,m.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"Organization access settings are written into `conductor.yaml`. Use admin role bindings for full control, operator bindings for day-to-day agent usage, and viewer bindings for read-only access."})]}),(0,m.jsxs)("div",{className:"flex w-full flex-wrap items-center justify-end gap-2 sm:w-auto",children:[!aI&&(0,m.jsx)("button",{type:"button",onClick:n,disabled:av,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Close"}),aI&&aP&&(0,m.jsx)("button",{type:"button",onClick:()=>u("preferences"),disabled:av,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Back"}),aN&&!aI&&(0,m.jsx)("button",{type:"button",onClick:()=>{a8(e.onboardingAcknowledged,{closeDialog:!0})},disabled:!a3||c,className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:c?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(ch.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),"Saving..."]}):"Save"}),aP&&!aI&&(0,m.jsx)("button",{type:"button",onClick:()=>{aA()},disabled:!a4||N||L,className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:N?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(ch.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),"Saving..."]}):"Save Repository"}),aQ&&!aI&&(0,m.jsx)("button",{type:"button",onClick:()=>{aC()},disabled:!a5||aj,className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:aj?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(ch.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),"Saving..."]}):"Save Access"}),aI&&(0,m.jsx)("button",{type:"button",onClick:()=>{aJ?a9():ba()},disabled:aJ?!a3||c||L:!a4||av,className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:av||aJ&&L?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(ch.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),aJ&&L?"Loading...":"Saving..."]}):aJ&&aS?"Continue":"Finish Setup"})]})]})]})]})}),(0,m.jsx)(dw,{open:ab,initialPath:T?.path,title:"Select Repository Path",description:"Choose the local git repository folder.",onClose:()=>ac(!1),onSelect:a=>{ac(!1),a&&(U(b=>b?{...b,path:a,pathHealth:{...b.pathHealth,exists:!0,isGitRepository:!0,suggestedPath:null}}:b),az(a))}}),(0,m.jsx)(dw,{open:ad,initialPath:B??"",title:"Select Notes Root",description:"Choose the local Obsidian vault, Logseq graph, or markdown notes folder used for context attachments.",onClose:()=>ae(!1),onSelect:a=>{ae(!1),null!==a&&C(a)}})]})}a.s(["default",()=>du],69436)}];
|
|
1
|
+
module.exports=[69436,a=>{"use strict";let b,c,d,e;var f,g,h,i,j,k,l,m=a.i(87924),n=a.i(19721),o=a.i(50944),p=a.i(72131),q=a.i(7554),r=a.i(70121),s=a.i(50104),t=a.i(25152),u=a.i(30553),v=a.i(37738),w=a.i(7827),x=a.i(96743),y=0;function z(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}var A=a.i(46872),B="focusScope.autoFocusOnMount",C="focusScope.autoFocusOnUnmount",D={bubbles:!1,cancelable:!0},E=p.forwardRef((a,b)=>{let{loop:c=!1,trapped:d=!1,onMountAutoFocus:e,onUnmountAutoFocus:f,...g}=a,[h,i]=p.useState(null),j=(0,A.useCallbackRef)(e),k=(0,A.useCallbackRef)(f),l=p.useRef(null),n=(0,r.useComposedRefs)(b,a=>i(a)),o=p.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;p.useEffect(()=>{if(d){let a=function(a){if(o.paused||!h)return;let b=a.target;h.contains(b)?l.current=b:H(l.current,{select:!0})},b=function(a){if(o.paused||!h)return;let b=a.relatedTarget;null!==b&&(h.contains(b)||H(l.current,{select:!0}))};document.addEventListener("focusin",a),document.addEventListener("focusout",b);let c=new MutationObserver(function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&H(h)});return h&&c.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[d,h,o.paused]),p.useEffect(()=>{if(h){I.add(o);let a=document.activeElement;if(!h.contains(a)){let b=new CustomEvent(B,D);h.addEventListener(B,j),h.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(H(d,{select:b}),document.activeElement!==c)return}(F(h).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&H(h))}return()=>{h.removeEventListener(B,j),setTimeout(()=>{let b=new CustomEvent(C,D);h.addEventListener(C,k),h.dispatchEvent(b),b.defaultPrevented||H(a??document.body,{select:!0}),h.removeEventListener(C,k),I.remove(o)},0)}}},[h,j,k,o]);let q=p.useCallback(a=>{if(!c&&!d||o.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,e=document.activeElement;if(b&&e){var f;let b,d=a.currentTarget,[g,h]=[G(b=F(f=d),f),G(b.reverse(),f)];g&&h?a.shiftKey||e!==h?a.shiftKey&&e===g&&(a.preventDefault(),c&&H(h,{select:!0})):(a.preventDefault(),c&&H(g,{select:!0})):e===d&&a.preventDefault()}},[c,d,o.paused]);return(0,m.jsx)(u.Primitive.div,{tabIndex:-1,...g,ref:n,onKeyDown:q})});function F(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}function G(a,b){for(let c of a)if(!function(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}(c,{upTo:b}))return c}function H(a,{select:b=!1}={}){if(a&&a.focus){var c;let d=document.activeElement;a.focus({preventScroll:!0}),a!==d&&(c=a)instanceof HTMLInputElement&&"select"in c&&b&&a.select()}}E.displayName="FocusScope";var I=(d=[],{add(a){let b=d[0];a!==b&&b?.pause(),(d=J(d,a)).unshift(a)},remove(a){d=J(d,a),d[0]?.resume()}});function J(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}var K=a.i(92843),L=a.i(4691),M=a.i(92616),N=a.i(77192),O=a.i(24050),P=Symbol("radix.slottable");function Q(a){return p.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===P}var R=new WeakMap,S=new WeakMap,T={},U=0,V=function(a){return a&&(a.host||V(a.parentNode))},W=function(a,b,c,d){var e=(Array.isArray(a)?a:[a]).map(function(a){if(b.contains(a))return a;var c=V(a);return c&&b.contains(c)?c:(console.error("aria-hidden",a,"in not contained inside",b,". Doing nothing"),null)}).filter(function(a){return!!a});T[c]||(T[c]=new WeakMap);var f=T[c],g=[],h=new Set,i=new Set(e),j=function(a){!a||h.has(a)||(h.add(a),j(a.parentNode))};e.forEach(j);var k=function(a){!a||i.has(a)||Array.prototype.forEach.call(a.children,function(a){if(h.has(a))k(a);else try{var b=a.getAttribute(d),e=null!==b&&"false"!==b,i=(R.get(a)||0)+1,j=(f.get(a)||0)+1;R.set(a,i),f.set(a,j),g.push(a),1===i&&e&&S.set(a,!0),1===j&&a.setAttribute(c,"true"),e||a.setAttribute(d,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return k(b),h.clear(),U++,function(){g.forEach(function(a){var b=R.get(a)-1,e=f.get(a)-1;R.set(a,b),f.set(a,e),b||(S.has(a)||a.removeAttribute(d),S.delete(a)),e||a.removeAttribute(c)}),--U||(R=new WeakMap,R=new WeakMap,S=new WeakMap,T={})}},X=function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("u"<typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live], script"))),W(d,e,c,"aria-hidden")):function(){return null}},Y=function(){return(Y=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function Z(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}var $=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),_="width-before-scroll-bar";function aa(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var ab=p.useEffect,ac=new WeakMap,ad=(void 0===f&&(f={}),(void 0===g&&(g=function(a){return a}),h=[],i=!1,j={read:function(){if(i)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return h.length?h[h.length-1]:null},useMedium:function(a){var b=g(a,i);return h.push(b),function(){h=h.filter(function(a){return a!==b})}},assignSyncMedium:function(a){for(i=!0;h.length;){var b=h;h=[],b.forEach(a)}h={push:function(b){return a(b)},filter:function(){return h}}},assignMedium:function(a){i=!0;var b=[];if(h.length){var c=h;h=[],c.forEach(a),b=h}var d=function(){var c=b;b=[],c.forEach(a)},e=function(){return Promise.resolve().then(d)};e(),h={push:function(a){b.push(a),e()},filter:function(a){return b=b.filter(a),h}}}}).options=Y({async:!0,ssr:!1},f),j),ae=function(){},af=p.forwardRef(function(a,b){var c,d,e,f,g=p.useRef(null),h=p.useState({onScrollCapture:ae,onWheelCapture:ae,onTouchMoveCapture:ae}),i=h[0],j=h[1],k=a.forwardProps,l=a.children,m=a.className,n=a.removeScrollBar,o=a.enabled,q=a.shards,r=a.sideCar,s=a.noRelative,t=a.noIsolation,u=a.inert,v=a.allowPinchZoom,w=a.as,x=a.gapMode,y=Z(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),z=(c=[g,b],d=function(a){return c.forEach(function(b){return aa(b,a)})},(e=(0,p.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,ab(function(){var a=ac.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||aa(a,null)}),d.forEach(function(a){b.has(a)||aa(a,e)})}ac.set(f,c)},[c]),f),A=Y(Y({},y),i);return p.createElement(p.Fragment,null,o&&p.createElement(r,{sideCar:ad,removeScrollBar:n,shards:q,noRelative:s,noIsolation:t,inert:u,setCallbacks:j,allowPinchZoom:!!v,lockRef:g,gapMode:x}),k?p.cloneElement(p.Children.only(l),Y(Y({},A),{ref:z})):p.createElement(void 0===w?"div":w,Y({},A,{className:m,ref:z}),l))});af.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},af.classNames={fullWidth:_,zeroRight:$};var ag=function(a){var b=a.sideCar,c=Z(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return p.createElement(d,Y({},c))};ag.isSideCarExport=!0;var ah=function(){var a=0,b=null;return{add:function(c){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=l||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return b&&a.setAttribute("nonce",b),a}())){var d,e;(d=b).styleSheet?d.styleSheet.cssText=c:d.appendChild(document.createTextNode(c)),e=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},ai=function(){var a=ah();return function(b,c){p.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},aj=function(){var a=ai();return function(b){return a(b.styles,b.dynamic),null}},ak={left:0,top:0,right:0,gap:0},al=aj(),am="data-scroll-locked",an=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(am,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat($," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(_," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat($," .").concat($," {\n right: 0 ").concat(d,";\n }\n \n .").concat(_," .").concat(_," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(am,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},ao=function(){var a=parseInt(document.body.getAttribute(am)||"0",10);return isFinite(a)?a:0},ap=function(){p.useEffect(function(){return document.body.setAttribute(am,(ao()+1).toString()),function(){var a=ao()-1;a<=0?document.body.removeAttribute(am):document.body.setAttribute(am,a.toString())}},[])},aq=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;ap();var f=p.useMemo(function(){return void 0===e,ak},[e]);return p.createElement(al,{styles:an(f,!b,e,c?"":"!important")})},ar=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},as=function(a,b){var c=b.ownerDocument,d=b;do{if("u">typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),at(a,d)){var e=au(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body)return!1},at=function(a,b){return"v"===a?ar(b,"overflowY"):ar(b,"overflowX")},au=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},av=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{if(!i)break;var o=au(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&at(a,i)&&(m+=q,n+=p);var r=i.parentNode;i=r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE?r.host:r}while(!j&&i!==document.body||j&&(b.contains(i)||b===i))return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},aw=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},ax=function(a){return[a.deltaX,a.deltaY]},ay=function(a){return a&&"current"in a?a.current:a},az=0,aA=[];let aB=(k=function(a){var b=p.useRef([]),c=p.useRef([0,0]),d=p.useRef(),e=p.useState(az++)[0],f=p.useState(aj)[0],g=p.useRef(a);p.useEffect(function(){g.current=a},[a]),p.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(ay),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var h=p.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!g.current.allowPinchZoom;var e,f=aw(a),h=c.current,i="deltaX"in a?a.deltaX:h[0]-f[0],j="deltaY"in a?a.deltaY:h[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=window.getSelection(),n=m&&m.anchorNode;if(n&&(n===k||n.contains(k)))return!1;var o=as(l,k);if(!o)return!0;if(o?e=l:(e="v"===l?"h":"v",o=as(l,k)),!o)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var p=d.current||e;return av(p,b,a,"h"===p?i:j,!0)},[]),i=p.useCallback(function(a){if(aA.length&&aA[aA.length-1]===f){var c="deltaY"in a?ax(a):aw(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(g.current.shards||[]).map(ay).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?h(a,e[0]):!g.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),j=p.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),k=p.useCallback(function(a){c.current=aw(a),d.current=void 0},[]),l=p.useCallback(function(b){j(b.type,ax(b),b.target,h(b,a.lockRef.current))},[]),m=p.useCallback(function(b){j(b.type,aw(b),b.target,h(b,a.lockRef.current))},[]);p.useEffect(function(){return aA.push(f),a.setCallbacks({onScrollCapture:l,onWheelCapture:l,onTouchMoveCapture:m}),document.addEventListener("wheel",i,!1),document.addEventListener("touchmove",i,!1),document.addEventListener("touchstart",k,!1),function(){aA=aA.filter(function(a){return a!==f}),document.removeEventListener("wheel",i,!1),document.removeEventListener("touchmove",i,!1),document.removeEventListener("touchstart",k,!1)}},[]);var n=a.removeScrollBar,o=a.inert;return p.createElement(p.Fragment,null,o?p.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,n?p.createElement(aq,{noRelative:a.noRelative,gapMode:a.gapMode}):null)},ad.useMedium(k),ag);var aC=p.forwardRef(function(a,b){return p.createElement(af,Y({},a,{ref:b,sideCar:aB}))});aC.classNames=af.classNames;var aD=["Enter"," "],aE=["ArrowUp","PageDown","End"],aF=["ArrowDown","PageUp","Home",...aE],aG={ltr:[...aD,"ArrowRight"],rtl:[...aD,"ArrowLeft"]},aH={ltr:["ArrowLeft"],rtl:["ArrowRight"]},aI="Menu",[aJ,aK,aL]=(0,v.createCollection)(aI),[aM,aN]=(0,s.createContextScope)(aI,[aL,L.createPopperScope,O.createRovingFocusGroupScope]),aO=(0,L.createPopperScope)(),aP=(0,O.createRovingFocusGroupScope)(),[aQ,aR]=aM(aI),[aS,aT]=aM(aI),aU=a=>{let{__scopeMenu:b,open:c=!1,children:d,dir:e,onOpenChange:f,modal:g=!0}=a,h=aO(b),[i,j]=p.useState(null),k=p.useRef(!1),l=(0,A.useCallbackRef)(f),n=(0,w.useDirection)(e);return p.useEffect(()=>{let a=()=>{k.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>k.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,m.jsx)(L.Root,{...h,children:(0,m.jsx)(aQ,{scope:b,open:c,onOpenChange:l,content:i,onContentChange:j,children:(0,m.jsx)(aS,{scope:b,onClose:p.useCallback(()=>l(!1),[l]),isUsingKeyboardRef:k,dir:n,modal:g,children:d})})})};aU.displayName=aI;var aV=p.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=aO(c);return(0,m.jsx)(L.Anchor,{...e,...d,ref:b})});aV.displayName="MenuAnchor";var aW="MenuPortal",[aX,aY]=aM(aW,{forceMount:void 0}),aZ=a=>{let{__scopeMenu:b,forceMount:c,children:d,container:e}=a,f=aR(aW,b);return(0,m.jsx)(aX,{scope:b,forceMount:c,children:(0,m.jsx)(N.Presence,{present:c||f.open,children:(0,m.jsx)(M.Portal,{asChild:!0,container:e,children:d})})})};aZ.displayName=aW;var a$="MenuContent",[a_,a0]=aM(a$),a1=p.forwardRef((a,b)=>{let c=aY(a$,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,f=aR(a$,a.__scopeMenu),g=aT(a$,a.__scopeMenu);return(0,m.jsx)(aJ.Provider,{scope:a.__scopeMenu,children:(0,m.jsx)(N.Presence,{present:d||f.open,children:(0,m.jsx)(aJ.Slot,{scope:a.__scopeMenu,children:g.modal?(0,m.jsx)(a2,{...e,ref:b}):(0,m.jsx)(a3,{...e,ref:b})})})})}),a2=p.forwardRef((a,b)=>{let c=aR(a$,a.__scopeMenu),d=p.useRef(null),e=(0,r.useComposedRefs)(b,d);return p.useEffect(()=>{let a=d.current;if(a)return X(a)},[]),(0,m.jsx)(a5,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:c.open,disableOutsideScroll:!0,onFocusOutside:(0,q.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>c.onOpenChange(!1)})}),a3=p.forwardRef((a,b)=>{let c=aR(a$,a.__scopeMenu);return(0,m.jsx)(a5,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>c.onOpenChange(!1)})}),a4=((e=p.forwardRef((a,b)=>{let{children:c,...d}=a;if(p.isValidElement(c)){var e;let a,f,g=(e=c,(f=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(f=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),h=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==p.Fragment&&(h.ref=b?(0,r.composeRefs)(b,g):g),p.cloneElement(c,h)}return p.Children.count(c)>1?p.Children.only(null):null})).displayName="MenuContent.ScrollLock.SlotClone",b=e,(c=p.forwardRef((a,c)=>{let{children:d,...e}=a,f=p.Children.toArray(d),g=f.find(Q);if(g){let a=g.props.children,d=f.map(b=>b!==g?b:p.Children.count(a)>1?p.Children.only(null):p.isValidElement(a)?a.props.children:null);return(0,m.jsx)(b,{...e,ref:c,children:p.isValidElement(a)?p.cloneElement(a,void 0,d):null})}return(0,m.jsx)(b,{...e,ref:c,children:d})})).displayName="MenuContent.ScrollLock.Slot",c),a5=p.forwardRef((a,b)=>{let{__scopeMenu:c,loop:d=!1,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEntryFocus:i,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:l,onInteractOutside:n,onDismiss:o,disableOutsideScroll:s,...t}=a,u=aR(a$,c),v=aT(a$,c),w=aO(c),A=aP(c),B=aK(c),[C,D]=p.useState(null),F=p.useRef(null),G=(0,r.useComposedRefs)(b,F,u.onContentChange),H=p.useRef(0),I=p.useRef(""),J=p.useRef(0),K=p.useRef(null),M=p.useRef("right"),N=p.useRef(0),P=s?aC:p.Fragment;p.useEffect(()=>()=>window.clearTimeout(H.current),[]),p.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??z()),document.body.insertAdjacentElement("beforeend",a[1]??z()),y++,()=>{1===y&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),y--}},[]);let Q=p.useCallback(a=>{var b,c;return M.current===K.current?.side&&(b=a,!!(c=K.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,m.jsx)(a_,{scope:c,searchRef:I,onItemEnter:p.useCallback(a=>{Q(a)&&a.preventDefault()},[Q]),onItemLeave:p.useCallback(a=>{Q(a)||(F.current?.focus(),D(null))},[Q]),onTriggerLeave:p.useCallback(a=>{Q(a)&&a.preventDefault()},[Q]),pointerGraceTimerRef:J,onPointerGraceIntentChange:p.useCallback(a=>{K.current=a},[]),children:(0,m.jsx)(P,{...s?{as:a4,allowPinchZoom:!0}:void 0,children:(0,m.jsx)(E,{asChild:!0,trapped:e,onMountAutoFocus:(0,q.composeEventHandlers)(f,a=>{a.preventDefault(),F.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:g,children:(0,m.jsx)(x.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:h,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:l,onInteractOutside:n,onDismiss:o,children:(0,m.jsx)(O.Root,{asChild:!0,...A,dir:v.dir,orientation:"vertical",loop:d,currentTabStopId:C,onCurrentTabStopIdChange:D,onEntryFocus:(0,q.composeEventHandlers)(i,a=>{v.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,m.jsx)(L.Content,{role:"menu","aria-orientation":"vertical","data-state":bx(u.open),"data-radix-menu-content":"",dir:v.dir,...w,...t,ref:G,style:{outline:"none",...t.style},onKeyDown:(0,q.composeEventHandlers)(t.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=I.current+e,f=B().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){I.current=b,window.clearTimeout(H.current),""!==b&&(H.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=F.current;if(a.target!==f||!aF.includes(a.key))return;a.preventDefault();let g=B().filter(a=>!a.disabled).map(a=>a.ref.current);aE.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,q.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(H.current),I.current="")}),onPointerMove:(0,q.composeEventHandlers)(a.onPointerMove,bA(a=>{let b=a.target,c=N.current!==a.clientX;a.currentTarget.contains(b)&&c&&(M.current=a.clientX>N.current?"right":"left",N.current=a.clientX)}))})})})})})})});a1.displayName=a$;var a6=p.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,m.jsx)(u.Primitive.div,{role:"group",...d,ref:b})});a6.displayName="MenuGroup";var a7=p.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,m.jsx)(u.Primitive.div,{...d,ref:b})});a7.displayName="MenuLabel";var a8="MenuItem",a9="menu.itemSelect",ba=p.forwardRef((a,b)=>{let{disabled:c=!1,onSelect:d,...e}=a,f=p.useRef(null),g=aT(a8,a.__scopeMenu),h=a0(a8,a.__scopeMenu),i=(0,r.useComposedRefs)(b,f),j=p.useRef(!1);return(0,m.jsx)(bb,{...e,ref:i,disabled:c,onClick:(0,q.composeEventHandlers)(a.onClick,()=>{let a=f.current;if(!c&&a){let b=new CustomEvent(a9,{bubbles:!0,cancelable:!0});a.addEventListener(a9,a=>d?.(a),{once:!0}),(0,u.dispatchDiscreteCustomEvent)(a,b),b.defaultPrevented?j.current=!1:g.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),j.current=!0},onPointerUp:(0,q.composeEventHandlers)(a.onPointerUp,a=>{j.current||a.currentTarget?.click()}),onKeyDown:(0,q.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==h.searchRef.current;c||b&&" "===a.key||aD.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});ba.displayName=a8;var bb=p.forwardRef((a,b)=>{let{__scopeMenu:c,disabled:d=!1,textValue:e,...f}=a,g=a0(a8,c),h=aP(c),i=p.useRef(null),j=(0,r.useComposedRefs)(b,i),[k,l]=p.useState(!1),[n,o]=p.useState("");return p.useEffect(()=>{let a=i.current;a&&o((a.textContent??"").trim())},[f.children]),(0,m.jsx)(aJ.ItemSlot,{scope:c,disabled:d,textValue:e??n,children:(0,m.jsx)(O.Item,{asChild:!0,...h,focusable:!d,children:(0,m.jsx)(u.Primitive.div,{role:"menuitem","data-highlighted":k?"":void 0,"aria-disabled":d||void 0,"data-disabled":d?"":void 0,...f,ref:j,onPointerMove:(0,q.composeEventHandlers)(a.onPointerMove,bA(a=>{d?g.onItemLeave(a):(g.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,q.composeEventHandlers)(a.onPointerLeave,bA(a=>g.onItemLeave(a))),onFocus:(0,q.composeEventHandlers)(a.onFocus,()=>l(!0)),onBlur:(0,q.composeEventHandlers)(a.onBlur,()=>l(!1))})})})}),bc=p.forwardRef((a,b)=>{let{checked:c=!1,onCheckedChange:d,...e}=a;return(0,m.jsx)(bk,{scope:a.__scopeMenu,checked:c,children:(0,m.jsx)(ba,{role:"menuitemcheckbox","aria-checked":by(c)?"mixed":c,...e,ref:b,"data-state":bz(c),onSelect:(0,q.composeEventHandlers)(e.onSelect,()=>d?.(!!by(c)||!c),{checkForDefaultPrevented:!1})})})});bc.displayName="MenuCheckboxItem";var bd="MenuRadioGroup",[be,bf]=aM(bd,{value:void 0,onValueChange:()=>{}}),bg=p.forwardRef((a,b)=>{let{value:c,onValueChange:d,...e}=a,f=(0,A.useCallbackRef)(d);return(0,m.jsx)(be,{scope:a.__scopeMenu,value:c,onValueChange:f,children:(0,m.jsx)(a6,{...e,ref:b})})});bg.displayName=bd;var bh="MenuRadioItem",bi=p.forwardRef((a,b)=>{let{value:c,...d}=a,e=bf(bh,a.__scopeMenu),f=c===e.value;return(0,m.jsx)(bk,{scope:a.__scopeMenu,checked:f,children:(0,m.jsx)(ba,{role:"menuitemradio","aria-checked":f,...d,ref:b,"data-state":bz(f),onSelect:(0,q.composeEventHandlers)(d.onSelect,()=>e.onValueChange?.(c),{checkForDefaultPrevented:!1})})})});bi.displayName=bh;var bj="MenuItemIndicator",[bk,bl]=aM(bj,{checked:!1}),bm=p.forwardRef((a,b)=>{let{__scopeMenu:c,forceMount:d,...e}=a,f=bl(bj,c);return(0,m.jsx)(N.Presence,{present:d||by(f.checked)||!0===f.checked,children:(0,m.jsx)(u.Primitive.span,{...e,ref:b,"data-state":bz(f.checked)})})});bm.displayName=bj;var bn=p.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,m.jsx)(u.Primitive.div,{role:"separator","aria-orientation":"horizontal",...d,ref:b})});bn.displayName="MenuSeparator";var bo=p.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=aO(c);return(0,m.jsx)(L.Arrow,{...e,...d,ref:b})});bo.displayName="MenuArrow";var bp="MenuSub",[bq,br]=aM(bp),bs=a=>{let{__scopeMenu:b,children:c,open:d=!1,onOpenChange:e}=a,f=aR(bp,b),g=aO(b),[h,i]=p.useState(null),[j,k]=p.useState(null),l=(0,A.useCallbackRef)(e);return p.useEffect(()=>(!1===f.open&&l(!1),()=>l(!1)),[f.open,l]),(0,m.jsx)(L.Root,{...g,children:(0,m.jsx)(aQ,{scope:b,open:d,onOpenChange:l,content:j,onContentChange:k,children:(0,m.jsx)(bq,{scope:b,contentId:(0,K.useId)(),triggerId:(0,K.useId)(),trigger:h,onTriggerChange:i,children:c})})})};bs.displayName=bp;var bt="MenuSubTrigger",bu=p.forwardRef((a,b)=>{let c=aR(bt,a.__scopeMenu),d=aT(bt,a.__scopeMenu),e=br(bt,a.__scopeMenu),f=a0(bt,a.__scopeMenu),g=p.useRef(null),{pointerGraceTimerRef:h,onPointerGraceIntentChange:i}=f,j={__scopeMenu:a.__scopeMenu},k=p.useCallback(()=>{g.current&&window.clearTimeout(g.current),g.current=null},[]);return p.useEffect(()=>k,[k]),p.useEffect(()=>{let a=h.current;return()=>{window.clearTimeout(a),i(null)}},[h,i]),(0,m.jsx)(aV,{asChild:!0,...j,children:(0,m.jsx)(bb,{id:e.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":e.contentId,"data-state":bx(c.open),...a,ref:(0,r.composeRefs)(b,e.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),c.open||c.onOpenChange(!0))},onPointerMove:(0,q.composeEventHandlers)(a.onPointerMove,bA(b=>{f.onItemEnter(b),!b.defaultPrevented&&(a.disabled||c.open||g.current||(f.onPointerGraceIntentChange(null),g.current=window.setTimeout(()=>{c.onOpenChange(!0),k()},100)))})),onPointerLeave:(0,q.composeEventHandlers)(a.onPointerLeave,bA(a=>{k();let b=c.content?.getBoundingClientRect();if(b){let d=c.content?.dataset.side,e="right"===d,g=b[e?"left":"right"],i=b[e?"right":"left"];f.onPointerGraceIntentChange({area:[{x:a.clientX+(e?-5:5),y:a.clientY},{x:g,y:b.top},{x:i,y:b.top},{x:i,y:b.bottom},{x:g,y:b.bottom}],side:d}),window.clearTimeout(h.current),h.current=window.setTimeout(()=>f.onPointerGraceIntentChange(null),300)}else{if(f.onTriggerLeave(a),a.defaultPrevented)return;f.onPointerGraceIntentChange(null)}})),onKeyDown:(0,q.composeEventHandlers)(a.onKeyDown,b=>{let e=""!==f.searchRef.current;a.disabled||e&&" "===b.key||aG[d.dir].includes(b.key)&&(c.onOpenChange(!0),c.content?.focus(),b.preventDefault())})})})});bu.displayName=bt;var bv="MenuSubContent",bw=p.forwardRef((a,b)=>{let c=aY(a$,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,f=aR(a$,a.__scopeMenu),g=aT(a$,a.__scopeMenu),h=br(bv,a.__scopeMenu),i=p.useRef(null),j=(0,r.useComposedRefs)(b,i);return(0,m.jsx)(aJ.Provider,{scope:a.__scopeMenu,children:(0,m.jsx)(N.Presence,{present:d||f.open,children:(0,m.jsx)(aJ.Slot,{scope:a.__scopeMenu,children:(0,m.jsx)(a5,{id:h.contentId,"aria-labelledby":h.triggerId,...e,ref:j,align:"start",side:"rtl"===g.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{g.isUsingKeyboardRef.current&&i.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,q.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==h.trigger&&f.onOpenChange(!1)}),onEscapeKeyDown:(0,q.composeEventHandlers)(a.onEscapeKeyDown,a=>{g.onClose(),a.preventDefault()}),onKeyDown:(0,q.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=aH[g.dir].includes(a.key);b&&c&&(f.onOpenChange(!1),h.trigger?.focus(),a.preventDefault())})})})})})});function bx(a){return a?"open":"closed"}function by(a){return"indeterminate"===a}function bz(a){return by(a)?"indeterminate":a?"checked":"unchecked"}function bA(a){return b=>"mouse"===b.pointerType?a(b):void 0}bw.displayName=bv;var bB="DropdownMenu",[bC,bD]=(0,s.createContextScope)(bB,[aN]),bE=aN(),[bF,bG]=bC(bB),bH=a=>{let{__scopeDropdownMenu:b,children:c,dir:d,open:e,defaultOpen:f,onOpenChange:g,modal:h=!0}=a,i=bE(b),j=p.useRef(null),[k,l]=(0,t.useControllableState)({prop:e,defaultProp:f??!1,onChange:g,caller:bB});return(0,m.jsx)(bF,{scope:b,triggerId:(0,K.useId)(),triggerRef:j,contentId:(0,K.useId)(),open:k,onOpenChange:l,onOpenToggle:p.useCallback(()=>l(a=>!a),[l]),modal:h,children:(0,m.jsx)(aU,{...i,open:k,onOpenChange:l,dir:d,modal:h,children:c})})};bH.displayName=bB;var bI="DropdownMenuTrigger",bJ=p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,disabled:d=!1,...e}=a,f=bG(bI,c),g=bE(c);return(0,m.jsx)(aV,{asChild:!0,...g,children:(0,m.jsx)(u.Primitive.button,{type:"button",id:f.triggerId,"aria-haspopup":"menu","aria-expanded":f.open,"aria-controls":f.open?f.contentId:void 0,"data-state":f.open?"open":"closed","data-disabled":d?"":void 0,disabled:d,...e,ref:(0,r.composeRefs)(b,f.triggerRef),onPointerDown:(0,q.composeEventHandlers)(a.onPointerDown,a=>{!d&&0===a.button&&!1===a.ctrlKey&&(f.onOpenToggle(),f.open||a.preventDefault())}),onKeyDown:(0,q.composeEventHandlers)(a.onKeyDown,a=>{!d&&(["Enter"," "].includes(a.key)&&f.onOpenToggle(),"ArrowDown"===a.key&&f.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});bJ.displayName=bI;var bK=a=>{let{__scopeDropdownMenu:b,...c}=a,d=bE(b);return(0,m.jsx)(aZ,{...d,...c})};bK.displayName="DropdownMenuPortal";var bL="DropdownMenuContent",bM=p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bG(bL,c),f=bE(c),g=p.useRef(!1);return(0,m.jsx)(a1,{id:e.contentId,"aria-labelledby":e.triggerId,...f,...d,ref:b,onCloseAutoFocus:(0,q.composeEventHandlers)(a.onCloseAutoFocus,a=>{g.current||e.triggerRef.current?.focus(),g.current=!1,a.preventDefault()}),onInteractOutside:(0,q.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!e.modal||d)&&(g.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bM.displayName=bL,p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(a6,{...e,...d,ref:b})}).displayName="DropdownMenuGroup",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(a7,{...e,...d,ref:b})}).displayName="DropdownMenuLabel";var bN=p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(ba,{...e,...d,ref:b})});bN.displayName="DropdownMenuItem",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(bc,{...e,...d,ref:b})}).displayName="DropdownMenuCheckboxItem",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(bg,{...e,...d,ref:b})}).displayName="DropdownMenuRadioGroup",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(bi,{...e,...d,ref:b})}).displayName="DropdownMenuRadioItem",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(bm,{...e,...d,ref:b})}).displayName="DropdownMenuItemIndicator";var bO=p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(bn,{...e,...d,ref:b})});bO.displayName="DropdownMenuSeparator",p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(bo,{...e,...d,ref:b})}).displayName="DropdownMenuArrow";var bP=p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(bu,{...e,...d,ref:b})});bP.displayName="DropdownMenuSubTrigger";var bQ=p.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=bE(c);return(0,m.jsx)(bw,{...e,...d,ref:b,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bQ.displayName="DropdownMenuSubContent";var bR=a=>{let{__scopeDropdownMenu:b,children:c,open:d,onOpenChange:e,defaultOpen:f}=a,g=bE(b),[h,i]=(0,t.useControllableState)({prop:d,defaultProp:f??!1,onChange:e,caller:"DropdownMenuSub"});return(0,m.jsx)(bs,{...g,open:h,onOpenChange:i,children:c})};function bS(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function bT(){return(bT=Object.assign.bind()).apply(this,arguments)}var bU=["aria-label","aria-labelledby","tabIndex","className","fill","size","verticalAlign","id","title","style"],bV={small:16,medium:32,large:64};function bW(a,b,c){var d=c(),e=Object.keys(d),f=p.default.forwardRef(function(a,c){var f,g,h=a["aria-label"],i=a["aria-labelledby"],j=a.tabIndex,k=a.className,l=a.fill,m=a.size,n=void 0===m?16:m,o=a.verticalAlign,q=a.id,r=a.title,s=a.style,t=function(a,b){if(null==a)return{};var c,d,e=function(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],b.indexOf(c)>=0||(e[c]=a[c]);return e}(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],!(b.indexOf(c)>=0)&&Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}(a,bU),u=bV[n]||n,v=(f=e,g=u,f.map(function(a){return parseInt(a,10)}).reduce(function(a,b){return b<=g?b:a},f[0])),w=d[v].width,x=w/v*u,y=d[v].path,z=h||i;return p.default.createElement("svg",bT({ref:c},t,{"aria-hidden":z?void 0:"true",tabIndex:j,focusable:j>=0?"true":"false","aria-label":h,"aria-labelledby":i,className:"".concat(b," ").concat(void 0===k?"":k).trim(),role:z?"img":void 0,viewBox:"0 0 ".concat(w," ").concat(v),width:x,height:u,fill:void 0===l?"currentColor":l,id:q,display:"inline-block",overflow:"visible",style:function(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?bS(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],e in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):bS(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}({verticalAlign:void 0===o?"text-bottom":o},s)}),r?p.default.createElement("title",null,r):null,y)});return f.displayName=a,f}var bX=bW("GitBranchIcon","octicon octicon-git-branch",function(){return{16:{width:16,path:p.default.createElement("path",{d:"M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"})},24:{width:24,path:p.default.createElement(p.default.Fragment,null,p.default.createElement("path",{d:"M15 4.75a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM2.5 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM5.75 6.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 6.5Zm0 14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 21Zm12.5-14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 18.25 6.5Z"}),p.default.createElement("path",{d:"M5.75 16.75A.75.75 0 0 1 5 16V8a.75.75 0 0 1 1.5 0v8a.75.75 0 0 1-.75.75Z"}),p.default.createElement("path",{d:"M17.5 8.75v-1H19v1a3.75 3.75 0 0 1-3.75 3.75h-7a1.75 1.75 0 0 0-1.75 1.75H5A3.25 3.25 0 0 1 8.25 11h7a2.25 2.25 0 0 0 2.25-2.25Z"}))}}}),bY=bW("LockIcon","octicon octicon-lock",function(){return{16:{width:16,path:p.default.createElement("path",{d:"M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z"})},24:{width:24,path:p.default.createElement("path",{d:"M6 9V7.25C6 3.845 8.503 1 12 1s6 2.845 6 6.25V9h.5a2.5 2.5 0 0 1 2.5 2.5v8a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-8A2.5 2.5 0 0 1 5.5 9Zm-1.5 2.5v8a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1h-13a1 1 0 0 0-1 1Zm3-4.25V9h9V7.25c0-2.67-1.922-4.75-4.5-4.75-2.578 0-4.5 2.08-4.5 4.75Z"})}}}),bZ=bW("MarkGithubIcon","octicon octicon-mark-github",function(){return{16:{width:16,path:p.default.createElement("path",{d:"M6.766 11.695C4.703 11.437 3.25 9.904 3.25 7.92c0-.806.281-1.677.75-2.258-.203-.532-.172-1.662.062-2.129.626-.081 1.469.258 1.969.726.594-.194 1.219-.291 1.985-.291.765 0 1.39.097 1.953.274.484-.451 1.343-.79 1.969-.709.218.435.25 1.564.046 2.113.5.613.766 1.436.766 2.274 0 1.984-1.453 3.485-3.547 3.759.531.355.891 1.129.891 2.016v1.678c0 .484.39.758.859.564C13.781 14.824 16 11.905 16 8.291 16 3.726 12.406 0 7.984 0 3.562 0 0 3.726 0 8.291c0 3.581 2.203 6.55 5.172 7.663A.595.595 0 0 0 6 15.389v-1.291c-.219.097-.5.162-.75.162-1.031 0-1.641-.581-2.078-1.662-.172-.435-.36-.693-.719-.742-.187-.016-.25-.097-.25-.193 0-.194.313-.339.625-.339.453 0 .844.29 1.25.887.313.468.641.678 1.031.678.391 0 .641-.146 1-.516.266-.275.469-.517.657-.678Z"})},24:{width:24,path:p.default.createElement("path",{d:"M10.303 16.652c-2.837-.344-4.835-2.385-4.835-5.028 0-1.074.387-2.235 1.031-3.008-.279-.709-.236-2.214.086-2.837.86-.107 2.02.344 2.708.967.816-.258 1.676-.386 2.728-.386 1.053 0 1.913.128 2.686.365.666-.602 1.848-1.053 2.708-.946.3.581.344 2.085.064 2.815.688.817 1.053 1.913 1.053 3.03 0 2.643-1.998 4.641-4.877 5.006.73.473 1.224 1.504 1.224 2.686v2.235c0 .644.537 1.01 1.182.752 3.889-1.483 6.94-5.372 6.94-10.185 0-6.081-4.942-11.044-11.022-11.044-6.081 0-10.98 4.963-10.98 11.044a10.84 10.84 0 0 0 7.112 10.206c.58.215 1.139-.172 1.139-.752v-1.719a2.768 2.768 0 0 1-1.032.215c-1.418 0-2.256-.773-2.857-2.213-.237-.58-.495-.924-.989-.988-.258-.022-.344-.129-.344-.258 0-.258.43-.451.86-.451.623 0 1.16.386 1.719 1.181.43.623.881.903 1.418.903.537 0 .881-.194 1.375-.688.365-.365.645-.687.903-.902Z"})}}}),b$=bW("RepoIcon","octicon octicon-repo",function(){return{16:{width:16,path:p.default.createElement("path",{d:"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"})},24:{width:24,path:p.default.createElement(p.default.Fragment,null,p.default.createElement("path",{d:"M3 2.75A2.75 2.75 0 0 1 5.75 0h14.5a.75.75 0 0 1 .75.75v20.5a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h5.25v-4H6A1.5 1.5 0 0 0 4.5 18v.75c0 .716.43 1.334 1.05 1.605a.75.75 0 0 1-.6 1.374A3.251 3.251 0 0 1 3 18.75ZM19.5 1.5H5.75c-.69 0-1.25.56-1.25 1.25v12.651A2.989 2.989 0 0 1 6 15h13.5Z"}),p.default.createElement("path",{d:"M7 18.25a.25.25 0 0 1 .25-.25h5a.25.25 0 0 1 .25.25v5.01a.25.25 0 0 1-.397.201l-2.206-1.604a.25.25 0 0 0-.294 0L7.397 23.46a.25.25 0 0 1-.397-.2v-5.01Z"}))}}});let b_=["amp","claude-code","codex","cursor-cli","droid","gemini","github-copilot","opencode","qwen-code","ccr"],b0={amp:"default",claudeCode:"pro",codex:"chatgpt",cursorCli:"default",droid:"default",gemini:"oauth",githubCopilot:"default",opencode:"default",qwenCode:"oauth",ccr:"default"},b1={amp:{agent:"amp",label:"Amp",accessKey:"amp",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Amp CLI catalog and custom override support."}]},"claude-code":{agent:"claude-code",label:"Claude Code",accessKey:"claudeCode",defaultAccess:"pro",accessOptions:[{id:"pro",label:"Claude Pro",description:"Shows the current Sonnet models that Claude Code documents for Pro usage."},{id:"max",label:"Claude Max",description:"Unlocks both Sonnet and Opus model choices in Claude Code."},{id:"api",label:"Anthropic API",description:"Use direct Anthropic API credentials instead of a Claude subscription."}]},codex:{agent:"codex",label:"Codex",accessKey:"codex",defaultAccess:"chatgpt",accessOptions:[{id:"chatgpt",label:"ChatGPT Plan",description:"Use the ChatGPT-backed Codex login flow for paid ChatGPT workspaces."},{id:"api",label:"OpenAI API",description:"Use direct OpenAI API credentials when Codex is pointed at the API."}]},"cursor-cli":{agent:"cursor-cli",label:"Cursor Agent",accessKey:"cursorCli",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Cursor Agent catalog and custom override support."}]},droid:{agent:"droid",label:"Droid",accessKey:"droid",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Droid catalog and custom override support."}]},gemini:{agent:"gemini",label:"Gemini",accessKey:"gemini",defaultAccess:"oauth",accessOptions:[{id:"oauth",label:"Google Login",description:"Use the built-in Google account flow that Gemini CLI ships with."},{id:"api",label:"Gemini API",description:"Use a Gemini API key or Vertex AI project for broader model control."}]},"github-copilot":{agent:"github-copilot",label:"GitHub Copilot",accessKey:"githubCopilot",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Copilot CLI catalog and custom override support."}]},opencode:{agent:"opencode",label:"OpenCode",accessKey:"opencode",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed OpenCode catalog and custom override support."}]},"qwen-code":{agent:"qwen-code",label:"Qwen Code",accessKey:"qwenCode",defaultAccess:"oauth",accessOptions:[{id:"oauth",label:"Qwen OAuth",description:"Use Qwen Code's built-in browser login and bundled provider defaults."},{id:"api",label:"DashScope / Custom API",description:"Use DashScope or another OpenAI-compatible endpoint configured for Qwen Code."}]},ccr:{agent:"ccr",label:"CCR",accessKey:"ccr",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Claude Code Router catalog and custom override support."}]}},b2=[{id:"low",label:"Low",description:"Fast responses with lighter reasoning."},{id:"medium",label:"Medium",description:"Balanced speed and reasoning depth for everyday tasks."},{id:"high",label:"High",description:"Deeper reasoning for more complex tasks."}],b3=[...b2,{id:"xhigh",label:"Extra High",description:"Maximum reasoning depth for the hardest tasks."}];function b4(a,b,c,d=function(a){return a.trim().split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":a[0]?.toUpperCase()+a.slice(1)).join(" ")}(a)){return{id:a,label:d,description:b,access:c}}let b5={amp:{modelsByAccess:{default:[b4("free","Amp Free mode prioritizes lower-cost execution.",["default"],"Amp Free"),b4("rush","Amp Rush mode prioritizes faster turnaround.",["default"],"Amp Rush"),b4("smart","Amp Smart mode balances quality, speed, and tool choice.",["default"],"Amp Smart"),b4("deep","Amp Deep mode enables the highest-capability reasoning path.",["default"],"Amp Deep")]},defaultModelByAccess:{default:"smart"}},"claude-code":{modelsByAccess:{pro:[b4("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),b4("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")],max:[b4("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),b4("claude-opus-4-6","Highest-capability Claude Code model for deeper reasoning.",["max","api"],"Claude Opus 4.6"),b4("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")],api:[b4("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),b4("claude-opus-4-6","Highest-capability Claude Code model for deeper reasoning.",["max","api"],"Claude Opus 4.6"),b4("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")]},defaultModelByAccess:{pro:"claude-sonnet-4-6",max:"claude-opus-4-6",api:"claude-sonnet-4-6"},reasoningOptionsByAccess:{pro:b2,max:b2,api:b2},defaultReasoningByAccess:{pro:"medium",max:"high",api:"medium"}},codex:{modelsByAccess:{chatgpt:[b4("gpt-5.4","Latest frontier coding model exposed by Codex.",["chatgpt","api"],"GPT-5.4"),b4("gpt-5.3-codex","Balanced Codex coding model.",["chatgpt","api"],"GPT-5.3-Codex"),b4("gpt-5.3-codex-spark","Fast Codex model optimized for rapid iteration.",["chatgpt"],"GPT-5.3-Codex-Spark"),b4("gpt-5.2-codex","Previous generation Codex coding model.",["chatgpt","api"],"GPT-5.2-Codex"),b4("gpt-5.1-codex-max","High-capability legacy Codex model.",["chatgpt","api"],"GPT-5.1-Codex-Max"),b4("gpt-5.1-codex-mini","Smaller Codex model for quick tasks.",["chatgpt","api"],"GPT-5.1-Codex-Mini")],api:[b4("gpt-5.4","Latest frontier coding model exposed by Codex.",["chatgpt","api"],"GPT-5.4"),b4("gpt-5.3-codex","Balanced Codex coding model.",["chatgpt","api"],"GPT-5.3-Codex"),b4("gpt-5.2-codex","Previous generation Codex coding model.",["chatgpt","api"],"GPT-5.2-Codex"),b4("gpt-5.1-codex-max","High-capability legacy Codex model.",["chatgpt","api"],"GPT-5.1-Codex-Max"),b4("gpt-5.1-codex-mini","Smaller Codex model for quick tasks.",["chatgpt","api"],"GPT-5.1-Codex-Mini")]},defaultModelByAccess:{chatgpt:"gpt-5.4",api:"gpt-5.4"},reasoningOptionsByAccess:{chatgpt:b3,api:b3},defaultReasoningByAccess:{chatgpt:"high",api:"high"}},"cursor-cli":{modelsByAccess:{default:[b4("gpt-5","Cursor Agent's GPT-5 preset alias.",["default"],"GPT-5"),b4("sonnet-4","Cursor Agent's Sonnet preset alias.",["default"],"Sonnet 4"),b4("opus","Cursor Agent's Opus preset alias.",["default"],"Opus")]},defaultModelByAccess:{default:"gpt-5"}},droid:{modelsByAccess:{default:[]},defaultModelByAccess:{}},gemini:{modelsByAccess:{oauth:[b4("gemini-3.1-pro-preview","High-capability Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3.1 Pro Preview"),b4("gemini-3-flash-preview","Fast Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3 Flash Preview")],api:[b4("gemini-3.1-pro-preview","High-capability Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3.1 Pro Preview"),b4("gemini-3-flash-preview","Fast Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3 Flash Preview")]},defaultModelByAccess:{oauth:"gemini-3.1-pro-preview",api:"gemini-3.1-pro-preview"}},"github-copilot":{modelsByAccess:{default:[]},defaultModelByAccess:{}},opencode:{modelsByAccess:{default:[]},defaultModelByAccess:{}},"qwen-code":{modelsByAccess:{oauth:[b4("coder-model","Model discovered in the local Qwen Code installation.",["oauth","api"],"Coder Model")],api:[b4("coder-model","Model discovered in the local Qwen Code installation.",["oauth","api"],"Coder Model")]},defaultModelByAccess:{oauth:"coder-model",api:"coder-model"}},ccr:{modelsByAccess:{default:[b4("claude-sonnet-4-6","Balanced Claude model exposed through Claude Code Router.",["default"],"Claude Sonnet 4.6"),b4("claude-opus-4-6","Highest-capability Claude model exposed through Claude Code Router.",["default"],"Claude Opus 4.6"),b4("claude-haiku-4-5","Fast Claude model exposed through Claude Code Router.",["default"],"Claude Haiku 4.5")]},defaultModelByAccess:{default:"claude-sonnet-4-6"},reasoningOptionsByAccess:{default:b2},defaultReasoningByAccess:{default:"medium"}}};function b6(a){let b=a.trim().toLowerCase().replace(/[_\s]+/g,"-");return b_.includes(b)?b:null}function b7(a){return null!==b6(a)}function b8(a){let b=b6(a);return b?b1[b]:null}function b9(a,b){let c=b8(a);if(!c)return null;let d=b?.[c.accessKey];return"string"==typeof d&&c.accessOptions.some(a=>a.id===d)?d:c.defaultAccess}var ca={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},cb=p.default.createContext&&p.default.createContext(ca),cc=["attr","size","title"];function cd(){return(cd=Object.assign.bind()).apply(null,arguments)}function ce(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function cf(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?ce(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],(e=function(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}(a,"string");return"symbol"==typeof b?b:b+""}(e))in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):ce(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function cg(a){return b=>p.default.createElement(ch,cd({attr:cf({},a.attr)},b),function a(b){return b&&b.map((b,c)=>p.default.createElement(b.tag,cf({key:c},b.attr),a(b.child)))}(a.child))}function ch(a){var b=b=>{var c,{attr:d,size:e,title:f}=a,g=function(a,b){if(null==a)return{};var c,d,e=function(a,b){if(null==a)return{};var c={};for(var d in a)if(({}).hasOwnProperty.call(a,d)){if(-1!==b.indexOf(d))continue;c[d]=a[d]}return c}(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],-1===b.indexOf(c)&&({}).propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}(a,cc),h=e||b.size||"1em";return b.className&&(c=b.className),a.className&&(c=(c?c+" ":"")+a.className),p.default.createElement("svg",cd({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},b.attr,d,g,{className:c,style:cf(cf({color:a.color||b.color},b.style),a.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),f&&p.default.createElement("title",null,f),a.children)};return void 0!==cb?p.default.createElement(cb.Consumer,null,a=>b(a)):b(ca)}var ci=a.i(70106);let cj=(0,ci.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),ck=(0,ci.default)("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),cl=(0,ci.default)("building-2",[["path",{d:"M10 12h4",key:"a56b0p"}],["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M14 21v-3a2 2 0 0 0-4 0v3",key:"1rgiei"}],["path",{d:"M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2",key:"secmi2"}],["path",{d:"M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16",key:"16ra0t"}]]),cm=(0,ci.default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var cn=a.i(33441),co=a.i(5784),cp=a.i(5151),cq=a.i(77156),cr=a.i(96101),cs=a.i(34531);let ct=(0,ci.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"}]]),cu=(0,ci.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"}]]),cv=(0,ci.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 cw=a.i(96221);let cx=(0,ci.default)("plug-zap",[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]]);var cy=a.i(28790),cz=a.i(87532);let cA=(0,ci.default)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]),cB=(0,ci.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]),cC=(0,ci.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),cD=(0,ci.default)("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]);var cE=a.i(33508);function cF(a){return a.trim().toLowerCase().replace(/[_\s]+/g,"-")}let cG=[{name:"codex",label:"Codex",description:"OpenAI Codex CLI",homepage:"https://github.com/openai/codex",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/openai.svg",installHint:"npm install -g @openai/codex",installUrl:"https://github.com/openai/codex",setupUrl:"https://chatgpt.com/codex"},{name:"gemini",label:"Gemini",description:"Google Gemini CLI",homepage:"https://ai.google.dev/gemini-api/docs",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/googlegemini.svg",installHint:"npm install -g @google/gemini-cli",installUrl:"https://ai.google.dev/gemini-api/docs",setupUrl:"https://aistudio.google.com/"},{name:"qwen-code",label:"Qwen Code",description:"Qwen Code CLI",homepage:"https://qwenlm.github.io/announcements/",iconUrl:null,installHint:"npm install -g @qwen-code/qwen-code@latest",installUrl:"https://qwenlm.github.io/announcements/",setupUrl:"https://chat.qwen.ai/"},{name:"droid",label:"Droid",description:"Factory Droid CLI",homepage:"https://github.com/Factory-AI/factory",iconUrl:"https://raw.githubusercontent.com/Factory-AI/factory/main/docs/images/droid_logo_cli.png",installHint:"npm install -g @factory/cli",installUrl:"https://github.com/Factory-AI/factory"},{name:"claude-code",label:"Claude Code",description:"Claude Code CLI",homepage:"https://www.anthropic.com/claude",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @anthropic-ai/claude-code",installUrl:"https://www.anthropic.com/claude-code",setupUrl:"https://claude.ai/"},{name:"amp",label:"Amp",description:"Amp Code CLI",homepage:"https://www.ampcode.com",iconUrl:"https://ampcode.com/amp-mark-color.svg",installHint:"npm install -g @sourcegraph/amp",installUrl:"https://www.ampcode.com"},{name:"opencode",label:"OpenCode",description:"OpenCode CLI",homepage:"https://opencode.ai",iconUrl:null,installHint:"npm install -g opencode-ai",installUrl:"https://opencode.ai"},{name:"github-copilot",label:"GitHub Copilot",description:"GitHub Copilot CLI",homepage:"https://docs.github.com/copilot/how-tos/copilot-cli",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/githubcopilot.svg",installHint:"npm install -g @github/copilot",installUrl:"https://docs.github.com/copilot/how-tos/copilot-cli",setupUrl:"https://github.com/settings/copilot"},{name:"cursor-cli",label:"Cursor Agent",description:"Cursor Agent CLI",homepage:"https://www.cursor.com",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/cursor.svg",installHint:"npm install -g cursor-agent"},{name:"ccr",label:"CCR",description:"Claude Code Router",homepage:"https://www.npmjs.com/package/@musistudio/claude-code-router",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @musistudio/claude-code-router",installUrl:"https://www.npmjs.com/package/@musistudio/claude-code-router"}],cH=cG.map(a=>a.name),cI=new Map(cG.map(a=>[cF(a.name),a]));function cJ(a){return cI.get(cF(a))??null}var cK=a.i(72865),cL=a.i(35757);let cM=new Set,cN=[],cO=!0,cP=0,cQ=null,cR=null;function cS(){for(let a of cM)a()}function cT(){return{agents:cN,loading:cO}}function cU(){return cN.length>0&&Date.now()-cP<3e4}function cV(){null===cR&&(cR=window.setTimeout(()=>{cR=null,cW(!0)},1e4))}async function cW(a=!1){if(!a&&cU()){cO&&(cO=!1,cS());return}return cQ||(cO=!0,cS(),cQ=(async()=>{try{var a;let b=await fetch("/api/agents",{cache:"no-store"});if(!b.ok)throw Error(`Failed to fetch agents: ${b.status}`);let c=(a=await b.json(),Array.isArray(a)?a:a&&"object"==typeof a&&"agents"in a&&Array.isArray(a.agents)?a.agents:[]);c.length>0?(cN=c,cP=Date.now(),null!==cR&&(window.clearTimeout(cR),cR=null)):cV()}catch{cV()}finally{cO=!1,cQ=null,cS()}})())}var cX=a.i(17402),cY=a.i(48171),cZ=a.i(62586),c$=a.i(52806),c_=a.i(5913);let c0=["pro","max","api"],c1=["chatgpt","api"],c2=["default"],c3=["oauth","api"],c4=["oauth","api"];function c5(a,b,c){return"string"==typeof a&&b.includes(a)?a:c}function c6(a){let b=!a||"object"!=typeof a||Array.isArray(a)?{}:{...a},c={...b0};return{amp:c5(b.amp,c2,c.amp),claudeCode:c5(b.claudeCode,c0,c.claudeCode),codex:c5(b.codex,c1,c.codex),cursorCli:c5(b.cursorCli,c2,c.cursorCli),droid:c5(b.droid,c2,c.droid),gemini:c5(b.gemini,c3,c.gemini),githubCopilot:c5(b.githubCopilot,c2,c.githubCopilot),opencode:c5(b.opencode,c2,c.opencode),qwenCode:c5(b.qwenCode,c4,c.qwenCode),ccr:c5(b.ccr,c2,c.ccr)}}let c7=(0,ci.default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var c8=a.i(10948);let c9=(0,ci.default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]),da=(0,ci.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);var db=a.i(71541),dc=a.i(50415),dd=a.i(48079),de=a.i(69630);function df({projects:a,sessions:b,selectedProjectId:c,agentCount:d,onCreateWorkspace:e,onSelectProject:f,onSelectSession:g}){let h=(0,p.useMemo)(()=>b.filter(a=>"archived"!==a.status),[b]),i=(0,p.useMemo)(()=>a.map(a=>{let b=h.filter(b=>b.projectId===a.id),c=b.filter(a=>"done"!==(0,de.getAttentionLevel)(a)).length;return{id:a.id,description:a.description,branch:a.defaultBranch||"main",totalSessions:b.length,activeSessions:c}}).sort((a,b)=>b.activeSessions-a.activeSessions||b.totalSessions-a.totalSessions||a.id.localeCompare(b.id)),[a,h]),j=(0,p.useMemo)(()=>[...h].sort((a,b)=>new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()).slice(0,5),[h]),k=h.filter(a=>"done"!==(0,de.getAttentionLevel)(a)).length,l=h.filter(a=>{let b=(0,de.getAttentionLevel)(a);return"merge"===b||"respond"===b||"review"===b}).length,n=h.filter(a=>"merge"===(0,de.getAttentionLevel)(a)).length,o=i.find(a=>a.id===c)??null,q=0===a.length&&0===h.length,r=[{label:"Projects",value:String(a.length),icon:cs.FolderGit2},{label:"Active sessions",value:String(k),icon:c9},{label:"Need attention",value:String(l),icon:da},{label:"Merge ready",value:String(n),icon:c8.GitBranch}];return q?(0,m.jsx)("div",{className:"flex min-h-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))]",children:(0,m.jsxs)("div",{className:"mx-auto flex min-h-full w-full max-w-[1200px] flex-1 flex-col px-3 py-3 sm:px-4 sm:py-4",children:[(0,m.jsx)("div",{className:"mb-4 flex justify-end",children:(0,m.jsx)(db.Button,{variant:"outline",size:"md",onClick:e,children:"Add workspace"})}),(0,m.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,m.jsx)(dd.Card,{className:"w-full max-w-[880px] border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_88%,transparent)]",children:(0,m.jsxs)(dd.CardContent,{className:"flex flex-col items-center px-6 py-12 text-center sm:px-10 sm:py-16",children:[(0,m.jsx)("span",{className:"inline-flex h-14 w-14 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,m.jsx)(ct,{className:"h-6 w-6"})}),(0,m.jsx)("p",{className:"mt-5 text-[11px] uppercase tracking-[0.14em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,m.jsx)("h1",{className:"mt-3 max-w-[14ch] text-[30px] font-semibold leading-[1.02] tracking-[-0.05em] text-[var(--vk-text-strong)] sm:text-[44px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,m.jsx)("p",{className:"mt-4 max-w-[560px] text-[14px] leading-7 text-[var(--vk-text-muted)] sm:text-[15px]",children:"Start by linking a workspace. Once a project is connected, this page will show active sessions, recent work, and project focus without sending you through an empty composer first."}),(0,m.jsxs)("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-3",children:[(0,m.jsx)(db.Button,{variant:"primary",size:"md",onClick:e,children:"Add workspace"}),(0,m.jsx)("div",{className:"inline-flex rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"0 projects · 0 active sessions"})]})]})})})]})}):(0,m.jsx)("div",{className:"flex min-h-full flex-col border-b border-[var(--vk-border)] bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))]",children:(0,m.jsxs)("div",{className:"mx-auto flex min-h-full w-full max-w-[1440px] flex-1 flex-col gap-4 px-3 py-3 sm:px-4",children:[(0,m.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,m.jsxs)("div",{className:"max-w-3xl",children:[(0,m.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,m.jsx)("h1",{className:"mt-1 text-[24px] font-semibold leading-[1.05] tracking-[-0.04em] text-[var(--vk-text-strong)] sm:text-[30px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,m.jsx)("p",{className:"mt-2 max-w-2xl text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"The current design language stays intact, but the workspace entrypoint now exposes status, recent activity, and project context without forcing you into a blank composer first."})]}),(0,m.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,m.jsx)(db.Button,{variant:"outline",size:"md",onClick:e,children:"Add workspace"})})]}),(0,m.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:r.map(({label:a,value:b,icon:c})=>(0,m.jsx)(dd.Card,{className:"bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_86%,transparent)]",children:(0,m.jsxs)(dd.CardContent,{className:"flex items-center gap-3 py-3",children:[(0,m.jsx)("span",{className:"inline-flex h-10 w-10 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,m.jsx)(c,{className:"h-4 w-4"})}),(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:a}),(0,m.jsx)("p",{className:"mt-1 text-[22px] font-semibold text-[var(--vk-text-strong)]",children:b})]})]})},a))}),(0,m.jsxs)("div",{className:"grid flex-1 gap-3 xl:grid-cols-[1.35fr_0.95fr]",children:[(0,m.jsxs)(dd.Card,{className:"flex h-full min-h-[280px] flex-col",children:[(0,m.jsxs)(dd.CardHeader,{className:"justify-between",children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-[14px] font-semibold text-[var(--vk-text-strong)]",children:"Recent sessions"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Jump back into active work without hunting through the sidebar."})]}),(0,m.jsx)(dc.Badge,{variant:"outline",children:h.length})]}),(0,m.jsx)(dd.CardContent,{className:"flex-1 space-y-2",children:0===j.length?(0,m.jsx)("div",{className:"flex h-full min-h-[180px] items-center justify-center rounded-[6px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 text-center text-[13px] text-[var(--vk-text-muted)]",children:"No sessions yet. Create or open a workspace to start work."}):j.map(a=>{let b;return(0,m.jsxs)("button",{type:"button",onClick:()=>g(a.id),className:"flex w-full items-center gap-3 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3 text-left transition-colors hover:bg-[var(--vk-bg-hover)]",children:[(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("p",{className:"truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:a.summary?.trim()||a.projectId}),(0,m.jsx)(dc.Badge,{variant:(b=(0,de.getAttentionLevel)(a),"queued"===a.status?"outline":"merge"===b?"success":"review"===b||"respond"===b?"warning":"errored"===a.status||"killed"===a.status?"error":"outline"),children:function(a){if("queued"===a.status){let b=Number.parseInt(a.metadata.queuePosition??"",10);return Number.isFinite(b)&&b>0?`Queued #${b}`:"Queued"}if("reattach_pending"===a.metadata.recoveryState)return"Reattaching";if("detached_runtime"===a.metadata.recoveryState)return"Recover";let b=(0,de.getAttentionLevel)(a);return"merge"===b?"Ready":"respond"===b?"Needs input":"review"===b?"Review":"pending"===b?"Pending":"done"===b?"Done":"Running"}(a)})]}),(0,m.jsxs)("p",{className:"mt-1 truncate text-[12px] text-[var(--vk-text-muted)]",children:[a.projectId,a.branch?` \xb7 ${a.branch}`:"",a.issueId?` \xb7 ${a.issueId}`:""]})]}),(0,m.jsxs)("div",{className:"shrink-0 text-right",children:[(0,m.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)]",children:function(a){let b=Date.now()-new Date(a).getTime();if(!Number.isFinite(b)||b<6e4)return"Updated now";let c=Math.floor(b/6e4);if(c<60)return`Updated ${c}m ago`;let d=Math.floor(c/60);if(d<24)return`Updated ${d}h ago`;let e=Math.floor(d/24);return`Updated ${e}d ago`}(a.lastActivityAt)}),(0,m.jsx)(c7,{className:"ml-auto mt-2 h-4 w-4 text-[var(--vk-text-muted)]"})]})]},a.id)})})]}),(0,m.jsxs)(dd.Card,{className:"flex h-full min-h-[280px] flex-col",children:[(0,m.jsxs)(dd.CardHeader,{className:"justify-between",children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-[14px] font-semibold text-[var(--vk-text-strong)]",children:"Project focus"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:o?`Selected: ${o.id}`:"Select a project to scope new work."})]}),(0,m.jsxs)(dc.Badge,{variant:"outline",children:[d," agents"]})]}),(0,m.jsxs)(dd.CardContent,{className:"flex-1 space-y-2",children:[(0,m.jsxs)("button",{type:"button",onClick:()=>f(null),className:`flex w-full items-center justify-between rounded-[6px] border px-3 py-2 text-left ${null===c?"border-[var(--vk-border)] bg-[var(--vk-bg-hover)] text-[var(--vk-text-strong)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)("span",{children:"All projects"}),(0,m.jsx)(dc.Badge,{variant:"outline",children:h.length})]}),0===i.length?(0,m.jsx)("div",{className:"flex h-full min-h-[180px] items-center justify-center rounded-[6px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 text-center text-[13px] text-[var(--vk-text-muted)]",children:"No configured projects yet."}):i.slice(0,6).map(a=>(0,m.jsxs)("button",{type:"button",onClick:()=>f(a.id),className:`flex w-full items-start justify-between gap-3 rounded-[6px] border px-3 py-2.5 text-left ${c===a.id?"border-[var(--vk-border)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsxs)("div",{className:"min-w-0",children:[(0,m.jsx)("p",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:a.id}),(0,m.jsx)("p",{className:"truncate text-[12px] text-[var(--vk-text-muted)]",children:a.description?.trim()||`Default branch: ${a.branch}`})]}),(0,m.jsxs)("div",{className:"shrink-0 text-right",children:[(0,m.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-strong)]",children:[a.activeSessions," active"]}),(0,m.jsxs)("p",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[a.totalSessions," total"]})]})]},a.id)),o?(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)(ct,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,m.jsx)("p",{className:"text-[13px] font-medium text-[var(--vk-text-strong)]",children:o.id})]}),(0,m.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:o.description?.trim()||"This project is ready to launch work from chat or board mode."})]}):null]})]})]})]})})}let dg="claude-code";function dh(a){let b=a?.trim();return b&&b.length>0?b:null}let di=(0,n.default)(()=>a.A(60928).then(a=>a.SessionDetail),{loadableGenerated:{modules:[31437]},loading:()=>(0,m.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading session..."})}),dj=(0,n.default)(()=>a.A(67645).then(a=>a.WorkspaceKanban),{loadableGenerated:{modules:[96933]},loading:()=>(0,m.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading board..."})});function dk(a){let b=cJ(a);return b?.label?b.label:a.split(/[-_\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}function dl(a){return a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}function dm(a){if(!a)return null;let b=Date.parse(a);return Number.isNaN(b)?null:`Updated ${new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric"}).format(new Date(b))}`}function dn(a){return a.issueId?.trim()||a.taskRef?.trim()||a.id}function dp(a){let[b]=a.split(" - ");return(b??a).trim()}let dq=[{id:"general",label:"General",icon:cB,implemented:!0},{id:"remote_access",label:"Remote Access",icon:cA,implemented:!0},{id:"repositories",label:"Repositories",icon:cs.FolderGit2,implemented:!0},{id:"organization",label:"Organization Settings",icon:cl,implemented:!0},{id:"projects",label:"Projects",icon:ct,implemented:!1},{id:"agents",label:"Agents",icon:cj,implemented:!0},{id:"mcp",label:"MCP Servers",icon:cx,implemented:!1},{id:"preferences",label:"Preferences",icon:cA,implemented:!1}],dr=[{id:"preferences",label:"Preferences",icon:cA,implemented:!0},{id:"repositories",label:"Repository",icon:cs.FolderGit2,implemented:!0}],ds=[{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"}],dt=[{id:"obsidian",label:"Obsidian"},{id:"vscode",label:"VS Code"},{id:"notion",label:"Notion"},{id:"typora",label:"Typora"},{id:"logseq",label:"Logseq"},{id:"custom",label:"Custom"}],du=ds.filter(a=>"custom"!==a.id),dv=[{id:"abstract-sound-1",label:"Abstract Sound 1"},{id:"abstract-sound-2",label:"Abstract Sound 2"},{id:"abstract-sound-3",label:"Abstract Sound 3"},{id:"abstract-sound-4",label:"Abstract Sound 4"},{id:"cow-mooing",label:"Cow Mooing"},{id:"phone-vibration",label:"Phone Vibration"},{id:"rooster",label:"Rooster"}];function dw(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function dx(a,b){let c=dw(a),d=dw(c.notifications),e=d.soundFile,f="string"==typeof c.codingAgent&&c.codingAgent.trim().length>0?c.codingAgent.trim():b,g="string"==typeof c.ide&&c.ide.trim().length>0?c.ide.trim():"vscode",h="string"==typeof c.markdownEditor&&c.markdownEditor.trim().length>0?c.markdownEditor.trim():"obsidian",i="string"==typeof c.markdownEditorPath?c.markdownEditorPath.trim():"";return{onboardingAcknowledged:!0===c.onboardingAcknowledged,codingAgent:f,ide:g,markdownEditor:h,markdownEditorPath:i,modelAccess:c6(c.modelAccess),notifications:{soundEnabled:!1!==d.soundEnabled,soundFile:null===e?null:"string"==typeof e&&e.trim().length>0?e.trim():"abstract-sound-4"}}}function dy(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean).join("\n"):"string"!=typeof a?"":a.split(/[\n,]+/g).map(a=>a.trim()).filter(Boolean).join("\n")}function dz(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean):[]}function dA(a,b){let c=dw(a),d=dw(c.trustedHeaders),e=dw(c.roles),f=dw(b),g=c.defaultRole,h=f.role;return{requireAuth:!0===c.requireAuth||!0===d.enabled,defaultRole:"viewer"===g||"admin"===g||"operator"===g?g:"operator",trustedHeaders:{enabled:!0===d.enabled,provider:"cloudflare-access",emailHeader:"string"==typeof d.emailHeader&&d.emailHeader.trim().length>0?d.emailHeader.trim():"Cf-Access-Authenticated-User-Email",jwtHeader:"string"==typeof d.jwtHeader&&d.jwtHeader.trim().length>0?d.jwtHeader.trim():"Cf-Access-Jwt-Assertion",teamDomain:"string"==typeof d.teamDomain&&d.teamDomain.trim().length>0?d.teamDomain.trim():"",audience:"string"==typeof d.audience&&d.audience.trim().length>0?d.audience.trim():""},roles:{viewers:dy(e.viewers),operators:dy(e.operators),admins:dy(e.admins),viewerDomains:dy(e.viewerDomains),operatorDomains:dy(e.operatorDomains),adminDomains:dy(e.adminDomains)},current:{authenticated:!0===f.authenticated,role:"viewer"===h||"operator"===h||"admin"===h?h:null,email:"string"==typeof f.email&&f.email.trim().length>0?f.email.trim():null,provider:"string"==typeof f.provider&&f.provider.trim().length>0?f.provider.trim():null}}}function dB(a){let b=dw(a),c=b.mode,d=b.status,e=b.provider,f=b.autoInstallMethod;return{publicUrl:"string"==typeof b.publicUrl&&b.publicUrl.trim().length>0?b.publicUrl.trim():null,connectUrl:"string"==typeof b.connectUrl&&b.connectUrl.trim().length>0?b.connectUrl.trim():null,shareable:!0===b.shareable,status:"starting"===d||"ready"===d||"error"===d||"disabled"===d?d:"disabled",provider:"tailscale"===e?e:null,recommendedProvider:"tailscale"===b.recommendedProvider?b.recommendedProvider:null,localUrl:"string"==typeof b.localUrl&&b.localUrl.trim().length>0?b.localUrl.trim():null,managed:!0===b.managed,installed:!0===b.installed,connected:!0===b.connected,canAutoInstall:!0===b.canAutoInstall,autoInstallMethod:"brew"===f?"brew":null,lastError:"string"==typeof b.lastError&&b.lastError.trim().length>0?b.lastError.trim():null,startedAt:"string"==typeof b.startedAt&&b.startedAt.trim().length>0?b.startedAt.trim():null,updatedAt:"string"==typeof b.updatedAt&&b.updatedAt.trim().length>0?b.updatedAt.trim():null,mode:"cloudflare-access"===c||"private-network"===c||"enterprise-only"===c||"generic-header"===c||"clerk"===c||"local-only"===c||"misconfigured"===c||"unsafe-public"===c?c:"local-only",title:"string"==typeof b.title&&b.title.trim().length>0?b.title.trim():"Remote access",description:"string"==typeof b.description&&b.description.trim().length>0?b.description.trim():"",warnings:dz(b.warnings),nextSteps:dz(b.nextSteps)}}function dC(){return{catalogModel:"",customModel:"",reasoningEffort:""}}function dD(a,b){return b[cF(a)]??null}function dE(a){if(!a)return[];let b=[],c=new Set;for(let d of Object.values(a.modelsByAccess))if(Array.isArray(d))for(let a of d)!a?.id||c.has(a.id)||(c.add(a.id),b.push(a));return b}function dF(a,b,c){let d=dD(a,c),e=b9(a,b),f=d&&e?d.modelsByAccess[e]??[]:[],g=function(a,b){let c=b6(a);if(!c)return[];let d=b9(c,b);if(!d)return[];let e=b5[c],f=e.modelsByAccess[d]??[];if(f.length>0)return[...f];let g=[],h=new Set;for(let a of Object.values(e.modelsByAccess))if(Array.isArray(a))for(let b of a)h.has(b.id)||(h.add(b.id),g.push(b));return g}(a,b),h=[],i=new Set;for(let a of[...f,...g,...dE(d)])!a?.id||i.has(a.id)||(i.add(a.id),h.push(a));return h}function dG(a,b,c,d){let e=function(a,b,c){if(!a)return[];let d=b?.trim();return d&&a.reasoningOptionsByModel?.[d]?.length?a.reasoningOptionsByModel[d]??[]:c?a.reasoningOptionsByAccess?.[c]??[]:[]}(dD(a,c),d,b9(a,b)),f=function(a,b){let c=b6(a);if(!c)return[];let d=b9(c,b);return d?b5[c].reasoningOptionsByAccess?.[d]??[]:[]}(a,b),g=[],h=new Set;for(let a of[...e,...f])!a?.id||h.has(a.id)||(h.add(a.id),g.push(a));return g}function dH(a,b,c,d){return function(a,b,c){if(!a)return null;let d=b?.trim();return d&&a.defaultReasoningByModel?.[d]?a.defaultReasoningByModel[d]??null:c?a.defaultReasoningByAccess?.[c]??null:null}(dD(a,c),d,b9(a,b))??function(a,b){let c=b6(a);if(!c)return null;let d=b9(c,b);return d?b5[c].defaultReasoningByAccess?.[d]??null:null}(a,b)??""}function dI(a,b,c,d,e){let f,g,h=d?.trim()??"",i=e?.trim().toLowerCase()??"",j=dF(a,b,c),k=(f=dD(a,c),g=b9(a,b),(f&&g?f.defaultModelByAccess[g]??null:null)??function(a,b){let c=b6(a);if(!c)return null;let d=b9(c,b);return d?b5[c].defaultModelByAccess[d]??null:null}(a,b)??dE(f)[0]?.id??""),l=d=>{let e=dG(a,b,c,d);return i.length>0&&e.some(a=>a.id===i)?i:dH(a,b,c,d)};return h.length>0?j.some(a=>a.id===h)?{catalogModel:h,customModel:"",reasoningEffort:l(h)}:{catalogModel:k,customModel:h,reasoningEffort:l(h)}:{catalogModel:k,customModel:"",reasoningEffort:l(k)}}function dJ(a){let b=a.customModel.trim();if(b.length>0)return b;let c=a.catalogModel.trim();return c.length>0?c:void 0}function dK(a){let b=a.reasoningEffort.trim().toLowerCase();return b.length>0?b:void 0}function dL(a,b){let c=b8(a);if(!c||c.accessOptions.length<=1)return null;let d=b9(a,b);return d?c.accessOptions.find(a=>a.id===d)?.label??null:null}let dM="block h-4 w-4 shrink-0",dN="block h-4 w-4 shrink-0 object-contain",dO={vscode:{kind:"image",imageSrc:"/icons/ide/vscode-dark.svg",className:dN},"vscode-insiders":{kind:"image",imageSrc:"/icons/ide/vscode-insiders.svg",className:dN},cursor:{kind:"image",imageSrc:"/icons/ide/cursor-dark.svg",className:dN},windsurf:{kind:"image",imageSrc:"/icons/ide/windsurf-dark.svg",className:dN},"intellij-idea":{kind:"image",imageSrc:"/icons/ide/intellij.svg",className:dN},zed:{kind:"image",imageSrc:"/icons/ide/zed-dark.svg",className:dN},xcode:{kind:"image",imageSrc:"/icons/ide/xcode.svg",className:dN},antigravity:{kind:"image",imageSrc:"/icons/ide/antigravity-dark.svg",className:dN},custom:{kind:"icon",icon:cB,className:`${dN} text-[var(--vk-text-muted)]`}};function dP({editorId:a,label:b}){let c=dO[a];if(!c)return(0,m.jsx)(cB,{className:`${dN} text-[var(--vk-text-muted)]`});if("image"===c.kind)return(0,m.jsx)("img",{src:c.imageSrc,alt:`${b} logo`,className:c.className});let d=c.icon;return(0,m.jsx)(d,{className:c.className})}function dQ(a){return JSON.stringify(a)}let dR={obsidian:{kind:"icon",icon:function(a){return cg({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M19.355 18.538a68.967 68.959 0 0 0 1.858-2.954.81.81 0 0 0-.062-.9c-.516-.685-1.504-2.075-2.042-3.362-.553-1.321-.636-3.375-.64-4.377a1.707 1.707 0 0 0-.358-1.05l-3.198-4.064a3.744 3.744 0 0 1-.076.543c-.106.503-.307 1.004-.536 1.5-.134.29-.29.6-.446.914l-.31.626c-.516 1.068-.997 2.227-1.132 3.59-.124 1.26.046 2.73.815 4.481.128.011.257.025.386.044a6.363 6.363 0 0 1 3.326 1.505c.916.79 1.744 1.922 2.415 3.5zM8.199 22.569c.073.012.146.02.22.02.78.024 2.095.092 3.16.29.87.16 2.593.64 4.01 1.055 1.083.316 2.198-.548 2.355-1.664.114-.814.33-1.735.725-2.58l-.01.005c-.67-1.87-1.522-3.078-2.416-3.849a5.295 5.295 0 0 0-2.778-1.257c-1.54-.216-2.952.19-3.84.45.532 2.218.368 4.829-1.425 7.531zM5.533 9.938c-.023.1-.056.197-.098.29L2.82 16.059a1.602 1.602 0 0 0 .313 1.772l4.116 4.24c2.103-3.101 1.796-6.02.836-8.3-.728-1.73-1.832-3.081-2.55-3.831zM9.32 14.01c.615-.183 1.606-.465 2.745-.534-.683-1.725-.848-3.233-.716-4.577.154-1.552.7-2.847 1.235-3.95.113-.235.223-.454.328-.664.149-.297.288-.577.419-.86.217-.47.379-.885.46-1.27.08-.38.08-.72-.014-1.043-.095-.325-.297-.675-.68-1.06a1.6 1.6 0 0 0-1.475.36l-4.95 4.452a1.602 1.602 0 0 0-.513.952l-.427 2.83c.672.59 2.328 2.316 3.335 4.711.09.21.175.43.253.653z"},child:[]}]})(a)},className:`${dM} text-[#8b5cf6]`},vscode:{kind:"icon",icon:function(a){return cg({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{d:"M10.8634 13.9195C10.6568 14.0195 10.4233 14.0246 10.2185 13.9444C10.1162 13.9044 10.021 13.843 9.93997 13.7614L4.81616 9.06268L2.58433 10.7656C2.37657 10.9241 2.08597 10.9111 1.89301 10.7347L1.17719 10.0802C0.941168 9.86437 0.940898 9.49112 1.17661 9.27496L3.11213 7.5L1.17661 5.72504C0.940898 5.50888 0.941168 5.13563 1.17719 4.91982L1.89301 4.2653C2.08597 4.08887 2.37657 4.07588 2.58433 4.2344L4.81616 5.93732L9.93997 1.23855C9.97037 1.20797 10.0028 1.18023 10.0368 1.15538C10.2748 0.981429 10.5922 0.949298 10.8634 1.08048L13.5399 2.37507C13.8212 2.5111 14 2.79721 14 3.11109V8H10.752V4.53356L6.86419 7.5L10.752 10.4664V8H14V11.8889C14 12.2028 13.8211 12.4889 13.5399 12.625L10.8634 13.9195Z"},child:[]}]})(a)},className:`${dM} text-[#22a3f5]`},notion:{kind:"icon",icon:function(a){return cg({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4.459 4.208c.746.606 1.026.56 2.428.466l13.215-.793c.28 0 .047-.28-.046-.326L17.86 1.968c-.42-.326-.981-.7-2.055-.607L3.01 2.295c-.466.046-.56.28-.374.466zm.793 3.08v13.904c0 .747.373 1.027 1.214.98l14.523-.84c.841-.046.935-.56.935-1.167V6.354c0-.606-.233-.933-.748-.887l-15.177.887c-.56.047-.747.327-.747.933zm14.337.745c.093.42 0 .84-.42.888l-.7.14v10.264c-.608.327-1.168.514-1.635.514-.748 0-.935-.234-1.495-.933l-4.577-7.186v6.952L12.21 19s0 .84-1.168.84l-3.222.186c-.093-.186 0-.653.327-.746l.84-.233V9.854L7.822 9.76c-.094-.42.14-1.026.793-1.073l3.456-.233 4.764 7.279v-6.44l-1.215-.139c-.093-.514.28-.887.747-.933zM1.936 1.035l13.31-.98c1.634-.14 2.055-.047 3.082.7l4.249 2.986c.7.513.934.653.934 1.213v16.378c0 1.026-.373 1.634-1.68 1.726l-15.458.934c-.98.047-1.448-.093-1.962-.747l-3.129-4.06c-.56-.747-.793-1.306-.793-1.96V2.667c0-.839.374-1.54 1.447-1.632z"},child:[]}]})(a)},className:`${dM} text-white`},logseq:{kind:"image",imageSrc:"/icons/editors/logseq.svg",className:`${dM} object-contain`},typora:{kind:"image",imageSrc:"/icons/editors/typora-32.png",className:`${dM} rounded-[3px] bg-white/90 p-[1px] object-contain`},custom:{kind:"icon",icon:cB,className:`${dM} text-[var(--vk-text-muted)]`}};function dS({editorId:a}){let b=dR[a];if(!b)return(0,m.jsx)(ck,{className:`${dM} text-[var(--vk-text-muted)]`});if("image"===b.kind)return(0,m.jsx)("img",{src:b.imageSrc,alt:"",className:b.className});let c=b.icon;return(0,m.jsx)(c,{className:b.className})}function dT({agent:a,modelAccess:b,runtimeModelCatalogs:c,selection:d,onChange:e,compact:f=!1}){if(!b7(a))return null;let g=b8(a),h=dF(a,b,c),i=dG(a,b,c,dJ(d)??d.catalogModel),j=dL(a,b);return g?(0,m.jsxs)("div",{className:f?"grid gap-3 md:grid-cols-3":"space-y-3",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Model"}),(0,m.jsxs)("select",{value:d.catalogModel,disabled:0===h.length,onChange:f=>{let g=f.target.value,h=dG(a,b,c,g);e({...d,catalogModel:g,reasoningEffort:h.some(a=>a.id===d.reasoningEffort)?d.reasoningEffort:dH(a,b,c,g)})},className:"h-9 w-full rounded-[4px] 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)] disabled:opacity-60",children:[0===h.length&&(0,m.jsx)("option",{value:"",children:"No runtime models detected"}),h.map(a=>(0,m.jsx)("option",{value:a.id,children:a.label},a.id))]}),(0,m.jsxs)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:[j?`Filtered for ${j}.`:"Filtered for your current access preference."," Leave custom override blank to use this selection."]})]}),i.length>0&&(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Reasoning Effort"}),(0,m.jsx)("select",{value:d.reasoningEffort,onChange:a=>{e({...d,reasoningEffort:a.target.value})},className:"h-9 w-full rounded-[4px] 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:i.map(a=>(0,m.jsx)("option",{value:a.id,children:a.label},a.id))}),(0,m.jsx)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:"Choose how much deliberate reasoning the CLI should use before it acts."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Custom Model Override"}),(0,m.jsx)("input",{value:d.customModel,onChange:f=>{let g=f.target.value,h=g.trim()||d.catalogModel,i=dG(a,b,c,h);e({...d,customModel:g,reasoningEffort:i.some(a=>a.id===d.reasoningEffort)?d.reasoningEffort:dH(a,b,c,h)})},placeholder:function(a,b){let c=dD(a,b);if(c?.customModelPlaceholder.trim())return c.customModelPlaceholder;let d=b8(a)?.label??"agent";return`Enter exact ${d} model id`}(a,c),className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:"Optional. Use this to force an exact model id from the installed CLI when you want to override the detected list."})]})]}):null}function dU(){let a=(0,o.useRouter)(),b=(0,o.usePathname)(),c=(0,o.useSearchParams)(),d=(0,p.useMemo)(()=>dh(c.get("project")),[c]),e=(0,p.useMemo)(()=>dh(c.get("session")),[c]),f=(0,p.useMemo)(()=>"board"===c.get("view")?"board":"chat",[c]),{sessions:g,loading:h,error:i,refresh:j}=(0,cK.useSessions)(d),{projects:k,loading:l,error:n,refresh:q}=(0,cL.useConfig)(),{agents:r}=function(){let[a,b]=(0,p.useState)(()=>cT());return(0,p.useEffect)(()=>{let a=()=>b(cT());cM.add(a),a(),cW();let c=()=>{cU()||cW(!0)},d=()=>{"visible"!==document.visibilityState||cU()||cW(!0)};return window.addEventListener("focus",c),document.addEventListener("visibilitychange",d),()=>{cM.delete(a),window.removeEventListener("focus",c),document.removeEventListener("visibilitychange",d)}},[]),a}(),{mobileSidebarOpen:s,desktopSidebarOpen:t,toggleSidebar:u,closeSidebarOnMobile:v,syncSidebarForViewport:w}=(0,cX.useResponsiveSidebarState)(),[x,y]=(0,p.useState)(""),[z,A]=(0,p.useState)(""),[B,C]=(0,p.useState)(dC()),[D,E]=(0,p.useState)(!1),[F,G]=(0,p.useState)(null),[H,I]=(0,p.useState)(!1),[J,K]=(0,p.useState)(!1),[L,M]=(0,p.useState)(null),[N,O]=(0,p.useState)(null),[P,Q]=(0,p.useState)(!0),[R,S]=(0,p.useState)(!1),[T,U]=(0,p.useState)(null),[V,W]=(0,p.useState)(!1),[X,Y]=(0,p.useState)(!1),Z=F??n??i??T,$=(0,p.useCallback)((d,e="push")=>{let f=new URLSearchParams(c.toString()),g=(a,b)=>{let c="string"==typeof b?b.trim():"";c.length>0?f.set(a,c):f.delete(a)};"projectId"in d&&g("project",d.projectId),"sessionId"in d&&g("session",d.sessionId),"workspaceView"in d&&("board"===d.workspaceView?f.set("view","board"):f.delete("view")),"tab"in d&&(d.tab&&"chat"!==d.tab?f.set("tab",d.tab):f.delete("tab")),f.has("project")||f.delete("view"),f.has("session")||f.delete("tab");let h=f.toString(),i=h.length>0?`${b}?${h}`:b;"replace"===e?a.replace(i,{scroll:!1}):a.push(i,{scroll:!1})},[b,a,c]);(0,p.useEffect)(()=>{if(!l&&!n){if(0===k.length){null!==d&&$({projectId:null,workspaceView:null},"replace");return}null===d||k.some(a=>a.id===d)||$({projectId:e?null:k[0]?.id??null,workspaceView:e?null:f},"replace")}},[n,l,$,k,d,e,f]),(0,p.useEffect)(()=>{h||i||!e||e&&(g.some(a=>a.id===e)||$({sessionId:null,tab:null},"replace"))},[g,$,e,i,h]);let _=(0,p.useMemo)(()=>g.find(a=>a.id===e)??null,[g,e]),aa=(0,p.useMemo)(()=>k.find(a=>a.id===d)??null,[k,d]),ab=(0,p.useMemo)(()=>_?[_.projectId,_.branch].filter(Boolean).join(" · "):aa?[aa.id,aa.defaultBranch||"main"].filter(Boolean).join(" · "):"All Projects",[aa,_]),ac=(0,p.useMemo)(()=>{let a=Array.isArray(r)?r:[],b=new Set;for(let a of cG)b.add(a.name);for(let c of a)c.name&&b.add(c.name);for(let a of k)a.agent&&b.add(a.agent);return N?.codingAgent&&b.add(N.codingAgent),z&&b.add(z),0===b.size&&b.add(N?.codingAgent||dg),[...b]},[r,N?.codingAgent,k,z]),ad=(0,p.useMemo)(()=>{let a={};for(let b of cG)a[cF(b.name)]={name:b.name,ready:!1,installed:!1,configured:!1,homepage:b.homepage,description:b.description,installHint:b.installHint??null,installUrl:b.installUrl??b.homepage??null,setupUrl:b.setupUrl??b.homepage??null};for(let b of Array.isArray(r)?r:[]){if(!b.name)continue;let c=cF(b.name),d=cJ(b.name);a[cF(b.name)]={name:d?.name??b.name,ready:!0===b.ready,installed:!1!==b.installed,configured:!0===b.configured,homepage:"string"==typeof b.homepage?b.homepage:d?.homepage??a[c]?.homepage??null,description:"string"==typeof b.description?b.description:d?.description??a[c]?.description??null,installHint:"string"==typeof b.installHint?b.installHint:d?.installHint??a[c]?.installHint??null,installUrl:"string"==typeof b.installUrl?b.installUrl:d?.installUrl??a[c]?.installUrl??null,setupUrl:"string"==typeof b.setupUrl?b.setupUrl:d?.setupUrl??a[c]?.setupUrl??null}}return a},[r]),ae=(0,p.useMemo)(()=>{let a={};for(let b of Array.isArray(r)?r:[])b.name&&b.runtimeModelCatalog&&(a[cF(b.name)]=b.runtimeModelCatalog);return a},[r]),af=(0,p.useCallback)(a=>{let b=ad[cF(a)],c=cJ(a);b?.installed?b?.setupUrl??c?.setupUrl??b?.homepage??c?.homepage:b?.installUrl??c?.installUrl??b?.setupUrl??c?.setupUrl??b?.homepage??c?.homepage},[ad]);async function ag(a,b){S(!0),U(null);try{let c=await fetch("/api/preferences",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to save preferences: ${c.status}`);let e=dx(d?.preferences,a.codingAgent||dg);return O(e),A(e.codingAgent),b?.closeDialog!==!1&&W(!1),!0}catch(a){return U(a instanceof Error?a.message:"Failed to save preferences"),!1}finally{S(!1)}}(0,p.useEffect)(()=>{let a=!1;return async function(){Q(!0);try{let b=await fetch("/api/preferences"),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to load preferences: ${b.status}`);if(a)return;let d=dx(c?.preferences,dg);O(d),U(null)}catch(b){if(a)return;O(dx(null,dg)),U(b instanceof Error?b.message:"Failed to load preferences")}finally{a||Q(!1)}}(),()=>{a=!0}},[]),(0,p.useEffect)(()=>{N&&(z||A(N.codingAgent))},[N,z]),(0,p.useEffect)(()=>{P||N&&(N.onboardingAcknowledged||W(!0))},[N,P]),(0,p.useEffect)(()=>{if(0!==ac.length&&(!z||!ac.includes(z))){let a=N?.codingAgent||dg;A(ac.includes(a)?a:ac[0]??dg)}},[ac,N?.codingAgent,z]),(0,p.useEffect)(()=>{let a=z||aa?.agent||N?.codingAgent||dg,b=aa&&cF(aa.agent)===cF(a)?aa.agentModel:null,c=aa&&cF(aa.agent)===cF(a)?aa.agentReasoningEffort:null;C(dI(a,N?.modelAccess??c6(null),ae,b,c))},[N?.modelAccess,N?.codingAgent,ae,z,aa]);let ah=(0,p.useCallback)(()=>{M(null),I(!0),w()},[w]);(0,p.useEffect)(()=>{X&&!V&&(Y(!1),ah())},[X,V]);let ai=(0,p.useCallback)(async a=>{let b=x.trim(),c=dJ(B),e=dK(B),f=a?.projectId??d??k[0]?.id;if(!f)return void G("No project is configured in conductor.yaml");let g=z||dg,h=ad[cF(g)]??null;if(h&&!h.ready){G(h.installed?`${dk(g)} is not ready yet. Finish setup or authentication and try again.`:`${dk(g)} is not installed on this machine yet. Open setup and try again.`),af(g);return}E(!0),G(null);try{let d=await fetch("/api/spawn",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:f,prompt:b,...a?.issueId?.trim()?{issueId:a.issueId.trim()}:{},agent:g,...a?.branch?{branch:a.branch}:{},...a?.baseBranch?{baseBranch:a.baseBranch}:{},..."boolean"==typeof a?.useWorktree?{useWorktree:a.useWorktree}:{},...a?.permissionMode?{permissionMode:a.permissionMode}:{},...c?{model:c}:{},...e?{reasoningEffort:e}:{}})}),h=await d.json().catch(()=>null);if(!d.ok)throw Error(h?.error??`Failed to create workspace: ${d.status}`);if(!h?.session?.id)throw Error("Session created but response is missing session id");y(""),w(),await j(),$({projectId:f,sessionId:h.session.id,tab:null},"push")}catch(a){G(a instanceof Error?a.message:"Failed to create workspace")}finally{E(!1)}},[ad,B,$,af,k,x,j,z,d,w]),aj=(0,p.useCallback)(async a=>{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/archive`,{method:"POST"}),c=await b.json().catch(()=>null);if(404===b.status&&(b=await fetch(`/api/sessions/${encodeURIComponent(a)}/actions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"archive"})}),c=await b.json().catch(()=>null)),!b.ok)throw Error(c?.error??`Failed to archive session: ${b.status}`);e===a&&$({sessionId:null,tab:null},"replace"),await j()},[$,j,e]),ak=(0,p.useCallback)(async a=>{K(!0),M(null);try{let b=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to add workspace: ${b.status}`);let d=c?.project?.id;if(!d)throw Error("Workspace created but response is missing project id");await q(),y(""),w(),I(!1),$({projectId:d,sessionId:null,workspaceView:"chat",tab:null},"push")}catch(a){M(a instanceof Error?a.message:"Failed to add workspace")}finally{K(!1)}},[$,q,w]),al=!P&&!!N&&!N.onboardingAcknowledged,am=N??dx(null,z||dg),an=z||am.codingAgent||dg,ao=(0,p.useCallback)(a=>{$({projectId:a,sessionId:null,workspaceView:a?f:null,tab:null},"push"),A(N?.codingAgent||dg),v()},[v,$,N?.codingAgent,f]),ap=(0,p.useCallback)(a=>{let b=g.find(b=>b.id===a)??null;$({projectId:b?.projectId??d??null,sessionId:a,tab:null},"push"),v()},[v,g,$,d]),aq=(0,p.useCallback)(()=>{W(!0)},[]),ar=(0,p.useCallback)(()=>{J||I(!1)},[J]),as=(0,p.useCallback)(()=>{R||al||(W(!1),U(null))},[al,R]),at=(0,p.useCallback)(async a=>{let b=encodeURIComponent(a),c=await fetch(`/api/repositories/${b}`,{method:"DELETE"});(404===c.status||405===c.status)&&(c=await fetch(`/api/repositories?id=${b}`,{method:"DELETE"}));let d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to unlink project (${c.status})`);await q()},[q]),au=(0,p.useMemo)(()=>(0,m.jsx)(c_.WorkspaceSidebarPanel,{projects:k,selectedProjectId:d,onSelectProject:ao,onUnlinkProject:at,sessions:g,selectedSessionId:e,onSelectSession:ap,onArchiveSession:aj,onCreateWorkspace:ah}),[g,aj,ao,ap,at,ah,k,d,e]),av=(0,p.useMemo)(()=>"board"===f?(0,m.jsx)(dj,{projectId:d,defaultAgent:an,agentOptions:ac}):(0,m.jsx)(dX,{prompt:x,setPrompt:y,selectedAgent:an,setSelectedAgent:A,agentStates:ad,modelSelection:B,setModelSelection:C,modelAccess:am.modelAccess,runtimeModelCatalogs:ae,agentOptions:ac,projects:k,selectedProjectId:d,onSelectProject:ao,projectLabel:d??"All projects",hasProject:k.length>0,creating:D,error:Z,onOpenAddWorkspace:ah,onOpenAgentSetup:af,onCreate:ai}),[ac,ad,D,ai,B,af,ah,k,x,an,am.modelAccess,ae,d,y,Z,f]),aw=(0,p.useMemo)(()=>aa?(0,m.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,m.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 py-3 sm:px-4",children:(0,m.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,m.jsxs)("div",{className:"min-w-0",children:[(0,m.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Project Workspace"}),(0,m.jsxs)("p",{className:"mt-1 truncate text-[14px] text-[var(--vk-text-strong)]",children:[aa.id," · ",aa.defaultBranch||"main"]})]}),(0,m.jsxs)("div",{className:"inline-flex w-fit rounded-[6px] border border-[var(--vk-border)] p-1",children:[(0,m.jsx)("button",{type:"button",onClick:()=>$({projectId:aa.id,workspaceView:"chat"},"replace"),className:`min-h-[32px] rounded-[4px] px-3 text-[13px] ${"chat"===f?"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,m.jsx)("button",{type:"button",onClick:()=>$({projectId:aa.id,workspaceView:"board"},"replace"),className:`min-h-[32px] rounded-[4px] px-3 text-[13px] ${"board"===f?"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,m.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:av})]}):av,[$,aa,av,f]),ax=(0,p.useMemo)(()=>e?(0,m.jsx)(di,{sessionId:e},e):null!==d?(0,m.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:aw}):(0,m.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,m.jsx)(df,{projects:k,sessions:g,selectedProjectId:d,agentCount:ac.length,onCreateWorkspace:ah,onSelectProject:ao,onSelectSession:ap})}),[g,aw,e,ao,ap,ah,k,d,ac.length]);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(cY.AppShell,{mobileSidebarOpen:s,desktopSidebarOpen:t,onToggleSidebar:u,sidebar:au,children:[(0,m.jsx)(cZ.TopBar,{title:ab,onOpenPreferences:aq}),(0,m.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:ax})]}),H?(0,m.jsx)(dV,{open:H,onClose:ar,onCreate:ak,creating:J,error:L,defaultAgent:an,agentOptions:ac}):null,V||al?(0,m.jsx)(dZ,{open:V,mode:al?"onboarding":"settings",creating:R,error:T,current:am,projectCount:k.length,agentOptions:ac,agentStates:ad,runtimeModelCatalogs:ae,onRepositoriesChanged:q,onOnboardingComplete:({needsProject:a})=>{a&&Y(!0)},onOpenAgentSetup:af,onClose:as,onSave:ag}):null]})}function dV({open:a,onClose:b,onCreate:c,creating:d,error:e,defaultAgent:f,agentOptions:g}){let[h,i]=(0,p.useState)("git"),[j,k]=(0,p.useState)(""),[l,n]=(0,p.useState)(!1),[o,q]=(0,p.useState)(""),[r,s]=(0,p.useState)(""),[t,u]=(0,p.useState)("main"),[v,w]=(0,p.useState)(f),[x,y]=(0,p.useState)(!1),[z,A]=(0,p.useState)(!0),[B,C]=(0,p.useState)([]),[D,E]=(0,p.useState)(!1),[F,G]=(0,p.useState)(!1),[H,I]=(0,p.useState)(null),[J,K]=(0,p.useState)(""),[L,M]=(0,p.useState)(""),[N,O]=(0,p.useState)(!1),[P,Q]=(0,p.useState)("local"),[R,S]=(0,p.useState)([]),[T,U]=(0,p.useState)(!1),[V,W]=(0,p.useState)(null);(0,p.useEffect)(()=>{a&&(i("git"),k(""),n(!1),q(""),s(""),u("main"),A(!0),y(!1),w(f),C([]),G(!1),I(null),K(""),M(""),S([]),W(null),U(!1),O(!1),Q("local"))},[f,a]),(0,p.useEffect)(()=>{!a||"local"!==h||r.trim().length>0||(Q("local"),O(!0))},[h,a,r]);let X=(0,p.useMemo)(()=>{let a=J.trim().toLowerCase(),b=0===a.length?B:B.filter(b=>b.fullName.toLowerCase().includes(a)||b.name.toLowerCase().includes(a)||(b.ownerLogin??"").toLowerCase().includes(a)||(b.description??"").toLowerCase().includes(a)||b.defaultBranch.toLowerCase().includes(a));return 0===a.length?b.slice(0,10):b.slice(0,14)},[J,B]),Y=(0,p.useMemo)(()=>{let a=B.find(a=>a.httpsUrl===L);return a||(o.trim()?B.find(a=>a.httpsUrl===o.trim())??null:null)},[o,B,L]),Z=(0,p.useMemo)(()=>(function(a){let b=a.trim();if(!b)return null;let c=b.match(/^https?:\/\/github\.com\/([^/\s]+)\/([^/\s?#]+?)(?:\.git)?\/?$/i);if(c)return`https://github.com/${c[1]}/${c[2]}.git`;let d=b.match(/^git@github\.com:([^/\s]+)\/([^/\s]+?)(?:\.git)?$/i);return d?`https://github.com/${d[1]}/${d[2]}.git`:null})(J),[J]),$=(0,p.useMemo)(()=>{let a;return(a=J.trim())&&/^(https?:\/\/|git@)/i.test(a)?a:null},[J]),_=(0,p.useMemo)(()=>dm(Y?.updatedAt),[Y]),aa=(0,p.useMemo)(()=>{let a=Z??$;return!!a&&a.toLowerCase()!==o.trim().toLowerCase()},[o,Z,$]),ab=(0,p.useMemo)(()=>{let a=[...new Set(g)];0===a.length&&a.push(f||dg);let b=new Map(cH.map((a,b)=>[a,b]));return a.sort((a,c)=>{let d=b.get(cF(a))??Number.MAX_SAFE_INTEGER,e=b.get(cF(c))??Number.MAX_SAFE_INTEGER;return d!==e?d-e:dk(a).localeCompare(dk(c))})},[g,f]);(0,p.useEffect)(()=>{ab.includes(v)||w(ab[0]??dg)},[v,ab]);let ac=async(a=!1)=>{E(!0),I(null);try{let b=await fetch(`/api/github/repos${a?"?refresh=true":""}`),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to load GitHub repositories (${b.status})`);C(Array.isArray(c?.repos)?c.repos:[])}catch(a){C([]),I(a instanceof Error?a.message:"Failed to load GitHub repositories")}finally{G(!0),E(!1)}};(0,p.useEffect)(()=>{!a||"git"!==h||D||F||ac()},[F,D,h,a]);let ad=async a=>{let b=a?.gitUrl??("git"===h?o.trim():""),c=a?.path??("local"===h?r.trim():"");if(0===b.length&&0===c.length)return void W("git"===h?"Choose or paste a repository first.":"Select a local repository path first.");U(!0),W(null);try{let a=new URLSearchParams;b.length>0&&a.set("gitUrl",b),c.length>0&&a.set("path",c);let d=await fetch(`/api/workspaces/branches?${a.toString()}`),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to load branches (${d.status})`);let f=Array.isArray(e?.branches)?e.branches.filter(a=>"string"==typeof a&&a.trim().length>0):[];S(f);let g="string"==typeof e?.defaultBranch&&e.defaultBranch.trim().length>0?e.defaultBranch.trim():f[0]??null;g&&(0===t.trim().length||!f.includes(t))&&u(g)}catch(a){S([]),W(a instanceof Error?a.message:"Failed to load branches")}finally{U(!1)}},ae=async a=>{M(a);let b=B.find(b=>b.httpsUrl===a);b&&(q(b.httpsUrl),K(b.fullName),u(b.defaultBranch||"main"),l||k(dl(b.name)||j),await ad({gitUrl:b.httpsUrl}))},af=async()=>{let a=Z??$;if(!a)return;let b=B.find(b=>b.httpsUrl.toLowerCase()===a.toLowerCase())??null;if(b)return void await ae(b.httpsUrl);if(M(""),q(a),u("main"),S([]),W(null),!l){let b=function(a){let b=a.trim();if(!b)return null;let c=b.match(/^git@[^:]+:([^/]+)\/([^/\s]+?)(?:\.git)?$/i);if(c)return c[2]??null;try{let a=new URL(b).pathname.split("/").filter(Boolean).at(-1);return a?a.replace(/\.git$/i,""):null}catch{return null}}(a);b&&k(dl(b))}await ad({gitUrl:a})},ag=a=>{Q(a),O(!0)};if(!a)return null;let ah="git"===h?o.trim().length>0&&t.trim().length>0:r.trim().length>0&&t.trim().length>0;async function ai(a){if(a.preventDefault(),!ah||d)return;let b="git"===h?{mode:h,projectId:j.trim()||void 0,agent:v,defaultBranch:t.trim(),useWorktree:x,gitUrl:o.trim(),path:r.trim()||void 0}:{mode:h,projectId:j.trim()||void 0,agent:v,defaultBranch:t.trim(),useWorktree:x,path:r.trim(),initializeGit:z};await c(b)}return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{className:"fixed inset-0 z-[80] flex items-start justify-center overflow-y-auto bg-black/65 px-3 py-3 sm:items-center sm:py-0",onClick:()=>{d||N||b()},role:"presentation",children:(0,m.jsxs)("form",{onSubmit:ai,onClick:a=>a.stopPropagation(),className:"flex max-h-[calc(100dvh-1.5rem)] w-full max-w-[760px] flex-col overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_24px_80px_rgba(0,0,0,0.55)]",children:[(0,m.jsxs)("header",{className:"flex items-center border-b border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("h2",{className:"text-[18px] leading-[22px] text-[var(--vk-text-strong)]",children:"Add Workspace"}),(0,m.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Pick a GitHub repository or local folder, then confirm the branch."})]}),(0,m.jsx)("button",{type:"button",onClick:b,disabled:d,"aria-label":"Close dialog",className:"ml-auto inline-flex h-8 w-8 items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:(0,m.jsx)(cE.X,{className:"h-4 w-4"})})]}),(0,m.jsxs)("div",{className:"min-h-0 flex-1 space-y-4 overflow-y-auto px-4 py-4",children:[(0,m.jsxs)("div",{className:"inline-flex rounded-[4px] border border-[var(--vk-border)] p-1",children:[(0,m.jsx)("button",{type:"button",onClick:()=>i("git"),className:`rounded-[3px] px-3 py-1.5 text-[13px] ${"git"===h?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"GitHub"}),(0,m.jsx)("button",{type:"button",onClick:()=>i("local"),className:`rounded-[3px] px-3 py-1.5 text-[13px] ${"local"===h?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Local Folder"})]}),"git"===h?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-3",children:[(0,m.jsxs)("div",{className:"flex items-start gap-3",children:[(0,m.jsx)("span",{className:"inline-flex h-9 w-9 items-center justify-center rounded-[5px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-strong)]",children:(0,m.jsx)(bZ,{className:"h-[18px] w-[18px]"})}),(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsx)("p",{className:"text-[13px] font-medium text-[var(--vk-text-strong)]",children:"GitHub Repository"}),(0,m.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:"Search accessible repositories or paste a repository URL. Conductor fills the branch and clone URL after selection."})]}),(0,m.jsx)("button",{type:"button",onClick:()=>{G(!1),ac(!0)},disabled:D,className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:D?(0,m.jsx)(cw.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(cy.RefreshCcw,{className:"mr-1.5 h-3.5 w-3.5"}),"Refresh"]})})]}),(0,m.jsxs)("div",{className:"relative mt-3",children:[(0,m.jsx)(bZ,{className:"pointer-events-none absolute left-3 top-1/2 h-[16px] w-[16px] -translate-y-1/2 text-[var(--vk-text-muted)]"}),(0,m.jsx)("input",{value:J,onChange:a=>K(a.target.value),onKeyDown:a=>{"Enter"===a.key&&aa&&(a.preventDefault(),af())},placeholder:"Search GitHub repos or paste a repository URL",className:"h-10 w-full rounded-[5px] border border-[var(--vk-border)] bg-transparent pl-10 pr-3 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),aa?(0,m.jsxs)("button",{type:"button",onClick:()=>{af()},className:"mt-3 inline-flex items-center gap-2 rounded-[5px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,m.jsx)(b$,{className:"h-4 w-4 text-[var(--vk-text-strong)]"}),(0,m.jsxs)("span",{className:"truncate",children:["Use ",Z?"this GitHub repository":"pasted repository URL"]})]}):null,D&&0===B.length?(0,m.jsx)("div",{className:"mt-3 rounded-[5px] border border-[var(--vk-border)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Loading accessible GitHub repositories..."}):null,H?(0,m.jsxs)("div",{className:"mt-3 rounded-[5px] border border-[var(--vk-red)]/40 bg-[var(--vk-bg-panel)] px-3 py-3 text-[12px] text-[var(--vk-red)]",children:[(0,m.jsx)("p",{children:H}),(0,m.jsx)("button",{type:"button",onClick:()=>{G(!1),ac(!0)},className:"mt-2 inline-flex items-center rounded-[4px] border border-[var(--vk-border)] px-2 py-1 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Retry"})]}):null,!H&&X.length>0?(0,m.jsx)("div",{className:"mt-3 max-h-[260px] space-y-2 overflow-y-auto pr-1",children:X.map(a=>{let b=dm(a.updatedAt),c=Y?.httpsUrl===a.httpsUrl;return(0,m.jsxs)("button",{type:"button",onClick:()=>{ae(a.httpsUrl)},className:`flex w-full items-start gap-3 rounded-[5px] border px-3 py-3 text-left transition ${c?"border-[var(--vk-orange)] bg-[var(--vk-bg-panel)]":"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)("span",{className:"mt-0.5 inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-[5px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-strong)]",children:(0,m.jsx)(b$,{className:"h-4 w-4"})}),(0,m.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,m.jsxs)("span",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)("span",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:a.fullName}),(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:[a.private?(0,m.jsx)(bY,{className:"h-3 w-3"}):(0,m.jsx)(bZ,{className:"h-3 w-3"}),a.private?"Private":"Public"]}),(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:[(0,m.jsx)(bX,{className:"h-3 w-3"}),a.defaultBranch]})]}),a.description?(0,m.jsx)("span",{className:"mt-1 block line-clamp-2 text-[12px] leading-[17px] text-[var(--vk-text-muted)]",children:a.description}):null,(0,m.jsxs)("span",{className:"mt-1 flex flex-wrap gap-x-3 gap-y-1 text-[11px] text-[var(--vk-text-muted)]",children:[a.ownerLogin?(0,m.jsx)("span",{children:a.ownerLogin}):null,b?(0,m.jsx)("span",{children:b}):null,a.permission?(0,m.jsx)("span",{children:a.permission.toLowerCase()}):null]})]}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 shrink-0 items-center justify-center text-[var(--vk-text-strong)]",children:c?(0,m.jsx)(cn.Check,{className:"h-4 w-4"}):null})]},a.httpsUrl)})}):null,D||H||0!==X.length?null:(0,m.jsx)("p",{className:"mt-3 text-[12px] text-[var(--vk-text-muted)]",children:J.trim().length>0?"No matching repositories. Try another search or paste a repository URL.":"No accessible GitHub repositories were found for this machine yet."})]}),o.trim().length>0?(0,m.jsx)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-3",children:(0,m.jsxs)("div",{className:"flex items-start gap-3",children:[(0,m.jsx)("span",{className:"inline-flex h-9 w-9 items-center justify-center rounded-[5px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-strong)]",children:(0,m.jsx)(b$,{className:"h-[18px] w-[18px]"})}),(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)("span",{className:"truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:Y?.fullName??o}),(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:[Y&&Y.private?(0,m.jsx)(bY,{className:"h-3 w-3"}):(0,m.jsx)(bZ,{className:"h-3 w-3"}),Y?Y.private?"Private":"Public":"Manual URL"]}),(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:[(0,m.jsx)(bX,{className:"h-3 w-3"}),t||"main"]})]}),Y?.description?(0,m.jsx)("p",{className:"mt-1 line-clamp-2 text-[12px] leading-[17px] text-[var(--vk-text-muted)]",children:Y.description}):(0,m.jsx)("p",{className:"mt-1 truncate text-[12px] text-[var(--vk-text-muted)]",children:o}),(0,m.jsxs)("div",{className:"mt-1 flex flex-wrap gap-x-3 gap-y-1 text-[11px] text-[var(--vk-text-muted)]",children:[Y?.ownerLogin?(0,m.jsx)("span",{children:Y.ownerLogin}):null,_?(0,m.jsx)("span",{children:_}):null,Y?.permission?(0,m.jsx)("span",{children:Y.permission.toLowerCase()}):null]})]})]})}):null]}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Local Path"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:r,readOnly:!0,onClick:()=>ag("local"),placeholder:"Use Browse to select a repository folder",className:"h-9 w-full cursor-pointer rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>ag("local"),className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",title:"Browse folders",children:(0,m.jsx)(cr.FolderOpen,{className:"h-4 w-4"})})]})]}),(0,m.jsxs)("label",{className:"flex items-center gap-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:z,onChange:a=>A(a.target.checked),className:"h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsx)("span",{children:"Initialize git if this folder is non-git"})]})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Workspace Name (optional)"}),(0,m.jsx)("input",{value:j,onChange:a=>{k(a.target.value),n(!0)},placeholder:"auto-derived from the selected repository or folder",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Branch"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:t,onChange:a=>u(a.target.value),placeholder:"Uses the repository default branch",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>{ad()},disabled:T,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",title:"Detect branches",children:T?(0,m.jsx)(cw.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,m.jsx)(cy.RefreshCcw,{className:"h-3.5 w-3.5"})})]}),R.length>0&&(0,m.jsx)("select",{value:t,onChange:a=>u(a.target.value),className:"mt-2 h-8 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[12px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:R.map(a=>(0,m.jsx)("option",{value:a,children:a},a))}),V&&(0,m.jsx)("p",{className:"mt-1 text-[11px] text-[var(--vk-red)]",children:V})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Agent"}),(0,m.jsx)("select",{value:v,onChange:a=>w(a.target.value),className:"h-9 w-full rounded-[4px] 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:ab.map(a=>(0,m.jsx)("option",{value:a,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:dk(a)},a))})]})]}),"git"===h?(0,m.jsxs)("details",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,m.jsx)("summary",{className:"cursor-pointer list-none px-3 py-2 text-[13px] text-[var(--vk-text-normal)] marker:hidden",children:(0,m.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,m.jsx)(co.ChevronDown,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),"Advanced options"]})}),(0,m.jsxs)("div",{className:"space-y-3 border-t border-[var(--vk-border)] px-3 py-3",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] text-[var(--vk-text-muted)]",children:"Local Copy Location (optional)"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:r,readOnly:!0,onClick:()=>ag("clone"),placeholder:"Choose a folder only if you want a specific clone location",className:"h-9 w-full cursor-pointer rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>ag("clone"),className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",title:"Browse folders",children:(0,m.jsx)(cr.FolderOpen,{className:"h-4 w-4"})})]})]}),(0,m.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:x,onChange:a=>y(a.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsxs)("span",{children:["Keep work isolated in a new worktree",(0,m.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"Turn this off only if you want sessions to run directly in the selected branch."})]})]})]})]}):(0,m.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:x,onChange:a=>y(a.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsxs)("span",{children:["Keep work isolated in a new worktree",(0,m.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"Turn this off only if you want sessions to run directly in the selected branch."})]})]}),e&&(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:e})]}),(0,m.jsxs)("footer",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("button",{type:"button",onClick:b,disabled:d,className:"inline-flex h-9 items-center rounded-[4px] 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,m.jsx)("button",{type:"submit",disabled:!ah||d,className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:d?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(cw.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),"Adding..."]}):"Add Workspace"})]})]})}),(0,m.jsx)(dW,{open:N,initialPath:r,title:"local"===P?"Select Local Repository":"Select Clone Target Folder",description:"local"===P?"Choose the local repository folder.":"Choose where the git repository should be cloned.",onClose:()=>O(!1),onSelect:a=>{if(O(!1),a){if(s(a),("local"===h||"local"===P)&&!l){let b,c=(b=a.trim())?b.split(/[\\/]+/).filter(Boolean).at(-1)??null:null;c&&k(dl(c))}("local"===h||"local"===P)&&ad({path:a})}}})]})}function dW({open:a,initialPath:b,title:c,description:d,onClose:e,onSelect:f}){let[g,h]=(0,p.useState)(""),[i,j]=(0,p.useState)(b??""),[k,l]=(0,p.useState)([]),[n,o]=(0,p.useState)(""),[q,r]=(0,p.useState)(!1),[s,t]=(0,p.useState)(null),[u,v]=(0,p.useState)(!1);(0,p.useEffect)(()=>{if(!a)return;o(""),j(b??"");let c=b&&b.trim().length>0?b.trim():void 0,d=c?`?path=${encodeURIComponent(c)}`:"";r(!0),t(null),fetch(`/api/filesystem/directory${d}`).then(async a=>{let b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to load directory (${a.status})`);h("string"==typeof b?.currentPath?b.currentPath:""),l(Array.isArray(b?.entries)?b.entries:[])}).catch(a=>{t(a instanceof Error?a.message:"Failed to load directory"),l([])}).finally(()=>{r(!1)})},[b,a]);let w=(0,p.useMemo)(()=>{if(0===n.trim().length)return k;let a=n.trim().toLowerCase();return k.filter(b=>b.name.toLowerCase().includes(a))},[k,n]),x=async a=>{r(!0),t(null);try{let b=a&&a.trim().length>0?`?path=${encodeURIComponent(a.trim())}`:"",c=await fetch(`/api/filesystem/directory${b}`),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to load directory (${c.status})`);let e="string"==typeof d?.currentPath?d.currentPath:"";h(e),l(Array.isArray(d?.entries)?d.entries:[]),j(e)}catch(a){t(a instanceof Error?a.message:"Failed to load directory"),l([])}finally{r(!1)}},y=async()=>{v(!0);try{let a=await fetch("/api/filesystem/pick-directory",{method:"POST"}),b=await a.json().catch(()=>null);if(!b||b.cancelled||!b.path)return;j(b.path),x(b.path)}catch{}finally{v(!1)}};return a?(0,m.jsx)("div",{className:"fixed inset-0 z-[95] flex items-start justify-center overflow-y-auto bg-black/70 px-3 py-3 sm:items-center sm:py-0",onClick:()=>{e(),f(null)},role:"presentation",children:(0,m.jsxs)("div",{className:"flex max-h-[calc(100dvh-1.5rem)] w-full max-w-[760px] flex-col overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_24px_80px_rgba(0,0,0,0.55)]",onClick:a=>a.stopPropagation(),children:[(0,m.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("h3",{className:"text-[16px] text-[var(--vk-text-strong)]",children:c}),(0,m.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:d})]}),(0,m.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 px-4 py-3",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)("input",{value:i,onChange:a=>j(a.target.value),placeholder:"/path/to/repository",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>{x(i)},className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Open"})]}),(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)("button",{type:"button",onClick:()=>{x()},className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Home"}),(0,m.jsx)("button",{type:"button",onClick:()=>{if(!g)return;let a=g.replace(/\\/g,"/");if(/^[A-Za-z]:\/?$/.test(g)||"/"===a)return;let b=a.split("/").filter(Boolean),c=g.match(/^([A-Za-z]):[/\\]/);x(c?b.length>1?`${c[1]}:/${b.slice(1,-1).join("/")}`:`${c[1]}:/`:b.length>1?`/${b.slice(0,-1).join("/")}`:"/")},className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Up"}),(0,m.jsxs)("button",{type:"button",disabled:u,onClick:()=>{y()},className:"inline-flex h-8 items-center gap-1 rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[u?(0,m.jsx)(cw.Loader2,{className:"h-3 w-3 animate-spin"}):(0,m.jsx)(cr.FolderOpen,{className:"h-3 w-3"}),u?"Opening...":"Browse"]}),(0,m.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-muted)]",children:g||"Home"})]}),(0,m.jsxs)("div",{className:"relative",children:[(0,m.jsx)(cz.Search,{className:"pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-[var(--vk-text-muted)]"}),(0,m.jsx)("input",{value:n,onChange:a=>o(a.target.value),placeholder:"Filter folders",className:"h-8 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent pl-7 pr-2 text-[12px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsx)("div",{className:"min-h-0 flex-1 overflow-auto rounded-[4px] border border-[var(--vk-border)]",children:q?(0,m.jsx)("div",{className:"px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Loading..."}):s?(0,m.jsx)("div",{className:"px-3 py-3 text-[12px] text-[var(--vk-red)]",children:s}):0===w.length?(0,m.jsx)("div",{className:"px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No folders found."}):(0,m.jsx)("div",{className:"p-1",children:w.map(a=>(0,m.jsxs)("button",{type:"button",onClick:()=>{a.isDirectory&&x(a.path)},className:`mb-1 flex w-full items-center gap-2 rounded-[4px] px-2 py-2 text-left text-[12px] ${a.isDirectory?"text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]":"cursor-default text-[var(--vk-text-muted)]"}`,children:[(0,m.jsx)(cr.FolderOpen,{className:"h-4 w-4 shrink-0"}),(0,m.jsx)("span",{className:"truncate",children:a.name}),a.isGitRepo&&(0,m.jsx)("span",{className:"ml-auto rounded-[999px] border border-[var(--vk-border)] px-1.5 py-0.5 text-[10px]",children:"git"})]},a.path))})})]}),(0,m.jsxs)("footer",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("button",{type:"button",onClick:()=>{e(),f(null)},className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Cancel"}),(0,m.jsx)("button",{type:"button",onClick:()=>{let a=i.trim().length>0?i.trim():g;e(),f(a||null)},className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)]",children:"Use this folder"})]})]})}):null}let dX=(0,p.memo)(function({prompt:a,setPrompt:b,selectedAgent:c,setSelectedAgent:d,agentStates:e,modelSelection:f,setModelSelection:g,modelAccess:h,runtimeModelCatalogs:i,agentOptions:j,projects:k,selectedProjectId:l,onSelectProject:n,projectLabel:o,hasProject:q,creating:r,error:s,onOpenAddWorkspace:t,onOpenAgentSetup:u,onCreate:v}){let w=(0,p.useMemo)(()=>{let a=new Map(cH.map((a,b)=>[a,b]));return[...j].sort((b,c)=>{let d=a.get(cF(b))??Number.MAX_SAFE_INTEGER,e=a.get(cF(c))??Number.MAX_SAFE_INTEGER;return d!==e?d-e:dk(b).localeCompare(dk(c))})},[j]),x=dk(c),y=e[cF(c)]??null,z=(0,p.useMemo)(()=>[...k].sort((a,b)=>a.id.localeCompare(b.id)),[k]),A=l??z[0]?.id??null,B=(0,p.useMemo)(()=>z.find(a=>a.id===A)??null,[A,z]),[C,D]=(0,p.useState)([]),[E,F]=(0,p.useState)(!1),[G,H]=(0,p.useState)(""),[I,J]=(0,p.useState)(""),[K,L]=(0,p.useState)([]),[M,N]=(0,p.useState)(!1),[O,P]=(0,p.useState)(!1),[Q,R]=(0,p.useState)("default");(0,p.useEffect)(()=>{if(!B){D([]),H("");return}let a=!1,b=B.defaultBranch.trim()||"main";return async function(){if(!B.path?.trim()){D([b]),H(b);return}F(!0);try{let c=new URLSearchParams({path:B.path}),d=await fetch(`/api/workspaces/branches?${c.toString()}`),e=await d.json().catch(()=>null),f=Array.isArray(e?.branches)?e.branches.filter(a=>"string"==typeof a&&a.trim().length>0):[],g="string"==typeof e?.defaultBranch&&e.defaultBranch.trim().length>0?e.defaultBranch.trim():b,h=f.length>0?f:[g];if(a)return;D(h),H(a=>a.trim().length>0&&h.includes(a)?a:g)}catch{if(a)return;D([b]),H(b)}finally{a||F(!1)}}(),()=>{a=!0}},[B]),(0,p.useEffect)(()=>{if(!A){L([]),J("");return}let a=!1;return async function(){N(!0);try{let b=await fetch(`/api/boards?projectId=${encodeURIComponent(A)}`),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to load tasks: ${b.status}`);let d=(Array.isArray(c?.columns)?c.columns:[]).flatMap(a=>Array.isArray(a.tasks)?a.tasks:[]),e=new Set,f=d.filter(a=>{let b=dn(a);return!(!b||e.has(b))&&(e.add(b),!0)});if(a)return;L(f),J(a=>f.some(b=>dn(b)===a)?a:"")}catch{if(a)return;L([]),J("")}finally{a||N(!1)}}(),()=>{a=!0}},[A]);let S=(0,p.useMemo)(()=>dF(c,h,i),[h,i,c]),T=(0,p.useMemo)(()=>K.find(a=>dn(a)===I)??null,[K,I]),U=dJ(f)??"",V=(0,p.useMemo)(()=>{let a=new Set,b=[],d=U.trim();for(let c of S)a.has(c.id)||(a.add(c.id),b.push(c));return d&&!a.has(d)&&(a.add(d),b.unshift({id:d,label:function(a,b){let c=b.trim(),d=cF(a);if(!c)return c;if("claude-code"===d){let a=c.toLowerCase();if("opus"===a)return"Claude Opus";if("sonnet"===a)return"Claude Sonnet";if("haiku"===a)return"Claude Haiku";let b=a.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(b){let a=b[1];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${b[2]}.${b[3]}`}}return c.split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(a)?a:a[0]?.toUpperCase()+a.slice(1)).join("-")}(c,d),description:"Current selected model.",access:[]})),b},[S,c,U]),W=(0,p.useMemo)(()=>!y||y.ready||U?U?V.find(a=>a.id===U)?.label??U:"Default":"Setup required",[V,y,U]),X="z-50 min-w-[240px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)]",Y=`${X} max-h-[min(360px,50vh)] overflow-y-auto`,Z="flex min-h-[36px] 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)]",$=[{id:"default",label:"Default",icon:cA},{id:"auto",label:"Auto",icon:cm},{id:"ask",label:"Ask",icon:cu},{id:"plan",label:"Plan",icon:cv}],_=$.find(a=>a.id===Q)??$[0],aa=a=>{let b=a.repo?.trim();if(b){let a=b.split("/").filter(Boolean),c=a[a.length-1]?.replace(/\.git$/i,"");if(c)return c}return a.id},ab=B?aa(B):null,ac=B?`${ab} \xb7 ${G||B.defaultBranch||"main"}`:q?o:"Select project",ad=T?.taskRef?.trim()||"Link task",ae=T?dp(T.text):"Choose a task, bug, or issue from this project's board";return(0,m.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,m.jsxs)("div",{className:"w-full max-w-[768px]",children:[(0,m.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,m.jsxs)("div",{className:"mx-auto w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-[var(--vk-border)] px-2 pb-[9px] pt-2",children:[(0,m.jsx)(c$.AgentTileIcon,{seed:{label:c},className:"h-[25px] w-[25px] border-none bg-transparent"}),(0,m.jsxs)(bH,{children:[(0,m.jsx)(bJ,{asChild:!0,children:(0,m.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,m.jsx)("span",{className:"truncate pr-1",children:x}),(0,m.jsx)(co.ChevronDown,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})}),(0,m.jsx)(bK,{children:(0,m.jsxs)(bM,{align:"start",sideOffset:6,className:X,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Agents"}),w.map(a=>{let b=a===c,f=e[cF(a)]??null;return(0,m.jsxs)(bN,{onSelect:()=>d(a),className:Z,children:[(0,m.jsx)(c$.AgentTileIcon,{seed:{label:a},className:"h-6 w-6 border-none bg-transparent"}),(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsx)("div",{children:dk(a)}),f?.ready?null:(0,m.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--vk-text-muted)]",children:f?.installed?"Setup required":"Not installed"})]}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:b?(0,m.jsx)(cn.Check,{className:"h-4 w-4"}):null})]},a)})]})})]}),(0,m.jsxs)(bH,{children:[(0,m.jsx)(bJ,{asChild:!0,children:(0,m.jsxs)("button",{type:"button",disabled:!A,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,m.jsx)("span",{className:"pr-2 text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Task"}),(0,m.jsx)("span",{className:"min-w-0 flex-1 truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)]",children:ad}),(0,m.jsx)(co.ChevronDown,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})}),(0,m.jsx)(bK,{children:(0,m.jsxs)(bM,{align:"end",side:"bottom",sideOffset:6,className:Y,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Link task"}),(0,m.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:ae}),(0,m.jsxs)(bN,{onSelect:()=>J(""),className:Z,children:[(0,m.jsx)("span",{children:"No linked task"}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:I?null:(0,m.jsx)(cn.Check,{className:"h-4 w-4"})})]}),M?(0,m.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Loading board tasks..."}):K.length>0?K.map(a=>{let b=dn(a),c=dp(a.text),d=[a.type,a.priority].filter(Boolean).join(" · ");return(0,m.jsxs)(bN,{onSelect:()=>J(b),className:`${Z} min-w-[320px] items-start`,children:[(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsx)("div",{className:"truncate",children:a.taskRef?.trim()||c}),(0,m.jsxs)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:[a.taskRef?.trim()?c:b,d?` \xb7 ${d}`:""]})]}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:I===b?(0,m.jsx)(cn.Check,{className:"h-4 w-4"}):null})]},b)}):(0,m.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,m.jsx)("div",{className:"rounded-[3.5px]",children:(0,m.jsxs)("div",{className:"flex flex-col gap-3 p-2",children:[(0,m.jsxs)("div",{className:"relative w-full",children:[(0,m.jsx)("textarea",{value:a,onChange:a=>b(a.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,m.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,m.jsx)(cq.Eye,{className:"h-[14px] w-[14px]"})})]}),(0,m.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,m.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-2",children:[(0,m.jsxs)(bH,{children:[(0,m.jsx)(bJ,{asChild:!0,children:(0,m.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,m.jsx)(cA,{className:"h-[15px] w-[15px]"})})}),(0,m.jsx)(bK,{children:(0,m.jsxs)(bM,{align:"start",sideOffset:6,className:X,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Projects"}),z.map(a=>{let b=aa(a),c=a.id!==b?a.id:a.path?.trim()||a.repo?.trim()||null;return(0,m.jsxs)(bN,{onSelect:()=>n(a.id),className:`${Z} min-w-[280px] items-start`,children:[(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsx)("div",{className:"truncate",children:b}),c?(0,m.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:c}):null]}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:a.id===A?(0,m.jsx)(cn.Check,{className:"h-4 w-4"}):null})]},a.id)}),(0,m.jsx)(bO,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,m.jsxs)(bN,{onSelect:t,className:Z,children:[(0,m.jsx)(cr.FolderOpen,{className:"h-4 w-4"}),(0,m.jsx)("span",{children:"Add Workspace"})]})]})})]}),(0,m.jsxs)(bH,{children:[(0,m.jsx)(bJ,{asChild:!0,children:(0,m.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,m.jsx)("span",{children:W}),(0,m.jsx)(co.ChevronDown,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,m.jsx)(bK,{children:(0,m.jsxs)(bM,{align:"start",sideOffset:6,className:X,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Model"}),(0,m.jsxs)(bN,{onSelect:()=>g(dI(c,h,i,B?.agentModel,B?.agentReasoningEffort)),className:Z,children:[(0,m.jsx)("span",{children:"Default"}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:U?null:(0,m.jsx)(cn.Check,{className:"h-4 w-4"})})]}),V.map(a=>(0,m.jsxs)(bN,{onSelect:()=>g({catalogModel:a.id,customModel:"",reasoningEffort:dH(c,h,i,a.id)}),className:Z,children:[(0,m.jsx)("span",{children:a.label}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:U===a.id?(0,m.jsx)(cn.Check,{className:"h-4 w-4"}):null})]},a.id)),0===V.length?(0,m.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,y&&!y.ready?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(bO,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>u(c),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:y.installed?"Open setup":"Open install guide"})]}):null]})})]}),(0,m.jsxs)(bH,{children:[(0,m.jsx)(bJ,{asChild:!0,children:(0,m.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,m.jsx)("span",{children:_.label}),(0,m.jsx)(co.ChevronDown,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,m.jsx)(bK,{children:(0,m.jsxs)(bM,{align:"start",sideOffset:6,className:X,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Permissions"}),$.map(({id:a,label:b,icon:c})=>(0,m.jsxs)(bN,{onSelect:()=>R(a),className:Z,children:[(0,m.jsx)(c,{className:"h-4 w-4"}),(0,m.jsx)("span",{children:b}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:Q===a?(0,m.jsx)(cn.Check,{className:"h-4 w-4"}):null})]},a))]})})]}),(0,m.jsxs)(bH,{children:[(0,m.jsx)(bJ,{asChild:!0,children:(0,m.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:ac})}),(0,m.jsx)(bK,{children:(0,m.jsxs)(bM,{align:"start",side:"bottom",sideOffset:6,avoidCollisions:!1,className:Y,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Branch"}),ab?(0,m.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:ab}):null,E?(0,m.jsx)("div",{className:"px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:"Loading branches..."}):C.map(a=>(0,m.jsxs)(bN,{onSelect:()=>H(a),className:Z,children:[(0,m.jsx)("span",{children:a}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:G===a?(0,m.jsx)(cn.Check,{className:"h-4 w-4"}):null})]},a))]})})]})]}),(0,m.jsx)("div",{className:"flex w-full justify-end sm:w-auto",children:(0,m.jsx)("button",{type:"button",onClick:()=>v({projectId:A??void 0,...O?{baseBranch:G||B?.defaultBranch||void 0}:{branch:G||B?.defaultBranch||void 0},issueId:I.trim()||void 0,useWorktree:O,permissionMode:Q}),disabled:r||!A,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:r?(0,m.jsx)(cw.Loader2,{className:"h-4 w-4 animate-spin"}):"Launch"})})]}),y&&!y.ready?(0,m.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,m.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,m.jsxs)("div",{className:"min-w-0",children:[(0,m.jsxs)("p",{className:"text-[13px] text-[var(--vk-text-strong)]",children:[x," is not ready on this machine."]}),(0,m.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:y.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,m.jsx)("button",{type:"button",onClick:()=>u(c),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:y.installed?"Open setup":"Open install"})]})}):null,(0,m.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,m.jsx)("input",{type:"checkbox",checked:O,onChange:a=>P(a.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsxs)("span",{children:["Use worktree isolation",(0,m.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."})]})]})]})})]}),s&&(0,m.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:s})]})})});function dY({value:a,idleLabel:b="Copy",copiedLabel:c="Copied"}){let[d,e]=(0,p.useState)(!1);async function f(){await navigator.clipboard.writeText(a),e(!0),window.setTimeout(()=>e(!1),1400)}return(0,m.jsxs)("button",{type:"button",onClick:()=>void f(),className:"inline-flex h-8 items-center gap-1.5 rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[d?(0,m.jsx)(cn.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):(0,m.jsx)(cp.Copy,{className:"h-3.5 w-3.5"}),(0,m.jsx)("span",{children:d?c:b})]})}function dZ({open:a,mode:b,creating:c,error:d,current:e,projectCount:f,agentOptions:g,agentStates:h,runtimeModelCatalogs:i,onRepositoriesChanged:j,onOnboardingComplete:k,onOpenAgentSetup:l,onClose:n,onSave:o}){var q,r;let s,[t,u]=(0,p.useState)("preferences"),[v,w]=(0,p.useState)(e.codingAgent),[x,y]=(0,p.useState)(e.ide),[z,A]=(0,p.useState)(e.markdownEditor),[B,C]=(0,p.useState)(e.markdownEditorPath??""),[D,E]=(0,p.useState)(e.modelAccess),[F,G]=(0,p.useState)(e.notifications.soundEnabled),[H,I]=(0,p.useState)(e.notifications.soundFile),[J,K]=(0,p.useState)([]),[L,M]=(0,p.useState)(!1),[N,O]=(0,p.useState)(!1),[P,Q]=(0,p.useState)(null),[R,S]=(0,p.useState)(""),[T,U]=(0,p.useState)(null),[V,W]=(0,p.useState)(dC()),[X,Y]=(0,p.useState)([]),[Z,$]=(0,p.useState)(!1),[_,aa]=(0,p.useState)(null),[ab,ac]=(0,p.useState)(!1),[ad,ae]=(0,p.useState)(!1),[af,ag]=(0,p.useState)(()=>dA(null)),[ah,ai]=(0,p.useState)(!1),[aj,ak]=(0,p.useState)(!1),[al,am]=(0,p.useState)(null),[an,ao]=(0,p.useState)(()=>dB(null)),[ap,aq]=(0,p.useState)(!1),[ar,as]=(0,p.useState)(null),[at,au]=(0,p.useState)(null),av=c||N||aj||null!==ar;function aw(a){return{...a,agentPermissions:"default"===a.agentPermissions?"default":"skip",devServerScript:a.devServerScript??"",devServerCwd:a.devServerCwd??"",devServerUrl:a.devServerUrl??"",devServerPort:a.devServerPort??"",devServerHost:a.devServerHost??"",devServerPath:a.devServerPath??"",devServerHttps:!0===a.devServerHttps,pathHealth:{exists:a.pathHealth.exists,isGitRepository:a.pathHealth.isGitRepository,suggestedPath:a.pathHealth.suggestedPath}}}function ax(a){return a.split(/\n+/g).map(a=>a.trim()).filter(Boolean)}async function ay(a){M(!0),Q(null);try{let b=await fetch("/api/repositories"),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to load repositories (${b.status})`);let d=Array.isArray(c?.repositories)?c.repositories:[];K(d);let e=d[0]?.id??"",f=a&&d.some(b=>b.id===a)?a:R&&d.some(a=>a.id===R)?R:e;S(f)}catch(a){K([]),S(""),U(null),W(dC()),Q(a instanceof Error?a.message:"Failed to load repositories")}finally{M(!1)}}async function az(a,b){let c=(a??T?.path??"").trim();if(0===c.length){aa("Select a repository path first."),Y([]);return}$(!0),aa(null);try{let a=new URLSearchParams({path:c}),d=await fetch(`/api/workspaces/branches?${a.toString()}`),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to detect branches (${d.status})`);let f=Array.isArray(e?.branches)?e.branches.filter(a=>"string"==typeof a&&a.trim().length>0):[];Y(f);let g=b?.trim()||("string"==typeof e?.defaultBranch&&e.defaultBranch.trim().length>0?e.defaultBranch.trim():f[0]??"");if(!g)return;U(a=>!a||a.defaultBranch.trim().length>0&&f.includes(a.defaultBranch)?a:{...a,defaultBranch:g})}catch(a){Y([]),aa(a instanceof Error?a.message:"Failed to detect branches")}finally{$(!1)}}async function aA(){if(!T||N||0===T.repo.trim().length||0===T.path.trim().length)return!1;O(!0),Q(null);try{let a=await fetch("/api/repositories",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:T.id,displayName:T.displayName,repo:T.repo,path:T.path,agent:T.agent,agentPermissions:T.agentPermissions,agentModel:dJ(V)??"",agentReasoningEffort:dK(V)??"",defaultWorkingDirectory:T.defaultWorkingDirectory,defaultBranch:T.defaultBranch,devServerScript:T.devServerScript,devServerCwd:T.devServerCwd,devServerUrl:T.devServerUrl,devServerPort:T.devServerPort,devServerHost:T.devServerHost,devServerPath:T.devServerPath,devServerHttps:T.devServerHttps,setupScript:T.setupScript,runSetupInParallel:T.runSetupInParallel,cleanupScript:T.cleanupScript,archiveScript:T.archiveScript,copyFiles:T.copyFiles})}),b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to save repository settings (${a.status})`);let c=b?.repository;if(!c)throw Error("Repository saved but response is missing repository data");return K(a=>a.map(a=>a.id===c.id?c:a)),U(aw(c)),S(c.id),aa(null),await az(c.path,c.defaultBranch),j&&await j(),!0}catch(a){return Q(a instanceof Error?a.message:"Failed to save repository settings"),!1}finally{O(!1)}}async function aB(){ai(!0),am(null);try{let a=await fetch("/api/access"),b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to load organization settings (${a.status})`);ag(dA(b?.access,b?.current))}catch(a){ag(dA(null)),am(a instanceof Error?a.message:"Failed to load organization settings")}finally{ai(!1)}}async function aC(){if(aj)return!1;ak(!0),am(null);try{let a=await fetch("/api/access",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireAuth:af.requireAuth||af.trustedHeaders.enabled,defaultRole:af.defaultRole,trustedHeaders:{enabled:af.trustedHeaders.enabled,provider:"cloudflare-access",emailHeader:af.trustedHeaders.emailHeader,jwtHeader:af.trustedHeaders.jwtHeader,teamDomain:af.trustedHeaders.teamDomain,audience:af.trustedHeaders.audience},roles:{viewers:ax(af.roles.viewers),operators:ax(af.roles.operators),admins:ax(af.roles.admins),viewerDomains:ax(af.roles.viewerDomains),operatorDomains:ax(af.roles.operatorDomains),adminDomains:ax(af.roles.adminDomains)}})}),b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to save organization settings (${a.status})`);return ag(dA(b?.access,b?.current)),"remote_access"===t&&await aD(),!0}catch(a){return am(a instanceof Error?a.message:"Failed to save organization settings"),!1}finally{ak(!1)}}async function aD(){aq(!0),au(null);try{let a=await fetch("/api/remote-access"),b=await a.json().catch(()=>null);if(!a.ok){let c=b&&"object"==typeof b&&"reason"in b&&"string"==typeof b.reason?b.reason:null,d=b&&"object"==typeof b&&"error"in b&&"string"==typeof b.error?b.error:null;throw Error(c??d??`Failed to load remote access (${a.status})`)}ao(dB(b))}catch(a){ao(dB(null)),au(a instanceof Error?a.message:"Failed to load remote access")}finally{aq(!1)}}async function aE(a){as(a),au(null);try{let b=await fetch("/api/remote-access",{method:"disable"===a?"DELETE":"POST",headers:"disable"===a?void 0:{"Content-Type":"application/json"},body:"disable"===a?void 0:JSON.stringify({action:a})}),c=await b.json().catch(()=>null);if(!b.ok){let d=c&&"object"==typeof c&&"reason"in c&&"string"==typeof c.reason?c.reason:null,e=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null;throw Error(d??e??`Failed to ${a} remote access (${b.status})`)}ao(dB(c))}catch(b){au(b instanceof Error?b.message:`Failed to ${a} remote access`)}finally{as(null)}}(0,p.useEffect)(()=>{a&&(u("onboarding"===b?"preferences":"general"),w(e.codingAgent),y(e.ide),A(e.markdownEditor),C(e.markdownEditorPath??""),E(e.modelAccess),G(e.notifications.soundEnabled),I(e.notifications.soundFile),Y([]),aa(null),Q(null),W(dC()),am(null),ao(dB(null)),au(null))},[b,a]),(0,p.useEffect)(()=>{a&&("settings"===b||"repositories"===t)&&ay()},[t,b,a]),(0,p.useEffect)(()=>{a&&"onboarding"!==b&&aB()},[b,a]),(0,p.useEffect)(()=>{a&&"onboarding"!==b&&"remote_access"===t&&aD()},[t,b,a]),(0,p.useEffect)(()=>{if(!a)return;if(!R){U(null),W(dC());return}let b=J.find(a=>a.id===R);b&&(U(aw(b)),W(dI(b.agent,D,i,b.agentModel,b.agentReasoningEffort)),Y([]),aa(null),b.path.trim().length>0&&az(b.path,b.defaultBranch))},[D,a,J,i,R]);let aF="onboarding"===b&&f>0,aG=(0,p.useMemo)(()=>"onboarding"===b?aF?dr:dr.filter(a=>"preferences"===a.id):dq.filter(a=>a.implemented),[b,aF]),aH=aG.find(a=>a.id===t)??aG[0]??dq[0],aI="onboarding"===b,aJ="preferences"===aH.id,aK="general"===aH.id,aL="remote_access"===aH.id,aM="agents"===aH.id,aN=aJ||aK||aM,aO=aN||aL,aP="repositories"===aH.id,aQ="organization"===aH.id,aR=aG.findIndex(a=>a.id===aH.id)+1,aS=aG.some(a=>"repositories"===a.id),aT="admin"===af.current.role,aU=function(a){switch(a){case"cloudflare-access":return"Cloudflare Access";case"private-network":return"Private network";case"enterprise-only":return"Enterprise only";case"generic-header":return"Legacy mode blocked";case"clerk":return"Clerk";case"misconfigured":return"Auth required";case"unsafe-public":return"Blocked until protected";default:return"Local only"}}(an.mode),aV=function(a){switch(a){case"starting":return"Starting";case"ready":return"Ready";case"error":return"Error";default:return"Disabled"}}(an.status),aW=null!==ar,aX=an.provider??an.recommendedProvider,aY="tailscale"===aX,aZ=null!==aX||an.managed,a$=ds.find(a=>a.id===x)??{id:x,label:x},a_="z-50 min-w-[240px] rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)]",a0=`${a_} min-w-[280px]`,a1="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)]",a2=!an.installed&&an.canAutoInstall?"Install + Enable":"Enable Private Link",a3=!ap&&!aW&&aY&&!("ready"===an.status&&an.managed),a4=!ap&&!aW&&("starting"===an.status||"ready"===an.status||"error"===an.status),a5=(0,p.useMemo)(()=>{let a=new Set(g);v.trim().length>0&&a.add(v),0===a.size&&a.add(dg);let b=new Map(cH.map((a,b)=>[a,b]));return[...a].sort((a,c)=>{let d=b.get(cF(a))??Number.MAX_SAFE_INTEGER,e=b.get(cF(c))??Number.MAX_SAFE_INTEGER;return d!==e?d-e:dk(a).localeCompare(dk(c))})},[g,v]),a6=h[cF(v)]??null;if(!a)return null;let a7=v.trim().length>0&&x.trim().length>0&&z.trim().length>0,a8=!!T&&T.displayName.trim().length>0&&T.repo.trim().length>0&&T.path.trim().length>0&&T.defaultBranch.trim().length>0,a9=aT&&!ah&&(!af.trustedHeaders.enabled||af.trustedHeaders.teamDomain.trim().length>0&&af.trustedHeaders.audience.trim().length>0),ba=aP?P:aQ?al:d,bb=T?(q={...T,agentModel:dJ(V)??"",agentReasoningEffort:dK(V)??""},r={ide:x,markdownEditor:z},s=["npx conductor-oss@latest setup","--yes",`--path ${dQ(q.path)}`,`--project-id ${dQ(q.id)}`,`--display-name ${dQ(q.displayName)}`,`--agent ${dQ(q.agent||"claude-code")}`,`--ide ${dQ(r.ide)}`,`--markdown-editor ${dQ(r.markdownEditor)}`],q.repo.trim().length>0&&s.push(`--repo ${dQ(q.repo.trim())}`),q.defaultBranch.trim().length>0&&s.push(`--default-branch ${dQ(q.defaultBranch.trim())}`),q.agentModel.trim().length>0&&s.push(`--model ${dQ(q.agentModel.trim())}`),q.agentReasoningEffort.trim().length>0&&s.push(`--reasoning-effort ${dQ(q.agentReasoningEffort.trim())}`),q.defaultWorkingDirectory.trim().length>0&&s.push(`--default-working-directory ${dQ(q.defaultWorkingDirectory.trim())}`),s.join(" ")):"";async function bc(a,b){let d;if(!a7||c)return!1;let f=await o((d=F?H??dv[0]?.id??"abstract-sound-4":null,{onboardingAcknowledged:!!a||e.onboardingAcknowledged,codingAgent:v.trim(),ide:x.trim(),markdownEditor:z.trim(),markdownEditorPath:(B??"").trim(),modelAccess:D,notifications:{soundEnabled:F,soundFile:d}}),b);return f&&a6&&!a6.ready&&l(v),f}async function bd(){if(!L){if(!aS){if(!await bc(!0,{closeDialog:!0}))return;k?.({needsProject:0===f});return}await bc(!1,{closeDialog:!1})&&u("repositories")}}async function be(){(!aP||await aA())&&await bc(!0,{closeDialog:!0})&&k?.({needsProject:!1})}return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{className:"fixed inset-0 z-[90] flex items-start justify-center overflow-y-auto bg-black/70 px-3 py-3 sm:items-center",onClick:()=>{av||"onboarding"===b||ab||ad||n()},role:"presentation",children:(0,m.jsxs)("div",{className:"flex max-h-[calc(100dvh-1.5rem)] w-full max-w-[1120px] flex-col overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_24px_80px_rgba(0,0,0,0.55)] sm:h-[min(92vh,760px)] sm:flex-row",onClick:a=>a.stopPropagation(),children:[(0,m.jsxs)("aside",{className:"flex w-full shrink-0 flex-col border-b border-[var(--vk-border)] bg-[rgba(28,28,28,0.8)] sm:w-[224px] sm:border-b-0 sm:border-r",children:[(0,m.jsx)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3 sm:py-4",children:(0,m.jsx)("h2",{className:"text-[22px] leading-[24px] text-[var(--vk-text-strong)] sm:text-[27px] sm:leading-[27px]",children:aI?"Setup":"Settings"})}),(0,m.jsx)("nav",{className:"flex gap-1 overflow-x-auto p-2 sm:block sm:space-y-1 sm:overflow-auto",children:aG.map(a=>{let b=a.icon,c=aH.id===a.id;return(0,m.jsxs)("button",{type:"button",onClick:()=>u(a.id),disabled:av,className:`flex shrink-0 items-center gap-3 rounded-[3px] px-3 py-2 text-left text-[14px] leading-[21px] transition-colors sm:w-full ${c?"bg-[rgba(234,122,42,0.1)] text-[var(--vk-orange)]":"text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"} disabled:opacity-50`,children:[(0,m.jsx)(b,{className:"h-4 w-4 shrink-0"}),(0,m.jsx)("span",{children:a.label})]},a.id)})})]}),(0,m.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,m.jsxs)("header",{className:"flex items-center justify-between border-b border-[var(--vk-border)] px-4 py-3 sm:py-4",children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("h3",{className:"text-[20px] leading-[24px] text-[var(--vk-text-strong)] sm:text-[27px] sm:leading-[27px]",children:aI?aJ?"Choose your preferences":"Review repository defaults":aH.label}),aI&&(0,m.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Step ",aR," of ",aG.length]})]}),(0,m.jsx)("button",{type:"button",onClick:n,disabled:av||"onboarding"===b,"aria-label":"Close settings",className:"inline-flex h-7 w-7 items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-40",children:(0,m.jsx)(cE.X,{className:"h-4 w-4"})})]}),(0,m.jsx)("div",{className:"min-h-0 flex-1 overflow-auto px-4 py-3 sm:px-6 sm:py-4",children:aO?(0,m.jsxs)("div",{className:"space-y-5",children:[aI&&(0,m.jsx)("section",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[rgba(234,122,42,0.08)] px-4 py-3",children:(0,m.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"Conductor is already running locally. Finish setup here in the dashboard, then you can start using chat and boards immediately."})}),(aJ||aM)&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("section",{className:"space-y-2",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Choose Your Coding Agent"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Select the default coding agent, review its setup state, and confirm which models Conductor can offer for it."}),(0,m.jsx)("div",{className:"grid gap-3",children:a5.map(a=>{let b=v===a,c=h[cF(a)]??null,d=dL(a,D),e=dF(a,D,i),f=e.slice(0,3),g=e.length-f.length,j=c?.installed?c.ready?"Ready":"Setup required":"Not installed";return(0,m.jsxs)("div",{className:`flex flex-col gap-3 rounded-[4px] border px-3 py-3 text-left sm:flex-row sm:items-start ${b?"border-[var(--vk-orange)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsxs)("div",{className:"flex min-w-0 flex-1 items-start gap-3",children:[(0,m.jsx)(c$.AgentTileIcon,{seed:{label:a},className:"mt-0.5 h-5 w-5 border-none bg-transparent"}),(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:dk(a)}),(0,m.jsx)("span",{className:"inline-flex rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:j}),d?(0,m.jsx)("span",{className:"inline-flex rounded-full border border-[var(--vk-border)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:d}):null]}),(0,m.jsx)("p",{className:"mt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:c?.description??cJ(a)?.description??"Agent metadata not available."}),(0,m.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[f.map(b=>(0,m.jsx)("span",{className:"inline-flex rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[11px] text-[var(--vk-text-normal)]",children:b.label},`${a}-${b.id}`)),g>0?(0,m.jsxs)("span",{className:"inline-flex rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:["+",g," more"]}):null,0===f.length?(0,m.jsx)("span",{className:"inline-flex rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:b7(a)?"Models appear after setup":"Uses the agent default model"}):null]}),!c?.installed&&c?.installHint?(0,m.jsxs)("p",{className:"mt-2 text-[11px] text-[var(--vk-text-muted)]",children:["Install hint: ",(0,m.jsx)("code",{className:"rounded bg-[var(--vk-bg-main)] px-1.5 py-0.5 text-[11px] text-[var(--vk-text-normal)]",children:c.installHint})]}):null]})]}),(0,m.jsxs)("div",{className:"flex shrink-0 items-center gap-2 self-start sm:ml-auto",children:[c?.ready?null:(0,m.jsx)("button",{type:"button",onClick:()=>{w(a),l(a)},className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-panel)]",children:c?.installed?"Authenticate":"Install"}),(0,m.jsx)("button",{type:"button",onClick:()=>w(a),className:`inline-flex h-8 items-center rounded-[4px] border px-3 text-[12px] ${b?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/12 text-[var(--vk-orange)]":"border-[var(--vk-border)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-panel)]"}`,children:b?"Selected":"Use this agent"}),b&&(0,m.jsx)(cn.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"})]})]},a)})})]}),(0,m.jsxs)("section",{className:"space-y-3",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Model Access"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Tell Conductor which account mode each agent is using so the model dropdown only shows options that make sense for that login path."})]}),(0,m.jsx)("div",{className:"grid gap-3",children:a5.filter(a=>{let b=b8(a);return b7(a)&&(b?.accessOptions.length??0)>1}).map(a=>{let b=b8(a);if(!b)return null;let c=b9(a,D)??b.defaultAccess;return(0,m.jsxs)("label",{className:"block rounded-[4px] border border-[var(--vk-border)] px-3 py-3",children:[(0,m.jsx)("span",{className:"mb-1 block text-[13px] font-medium text-[var(--vk-text-normal)]",children:b.label}),(0,m.jsx)("select",{value:c,onChange:b=>{var c;let d;return c=b.target.value,void((d=b8(a))&&E(a=>({...a,[d.accessKey]:c})))},className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:b.accessOptions.map(a=>(0,m.jsx)("option",{value:a.id,children:a.label},a.id))}),(0,m.jsx)("p",{className:"mt-1.5 text-[11px] text-[var(--vk-text-muted)]",children:b.accessOptions.find(a=>a.id===c)?.description})]},a)})})]})]}),(aJ||aK)&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("section",{className:"space-y-3",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Choose Your Code Editor"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"This editor will be used when opening attempts and files."})]}),(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsxs)(bH,{children:[(0,m.jsx)(bJ,{asChild:!0,children:(0,m.jsxs)("button",{type:"button",className:"inline-flex h-11 items-center gap-2 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[14px] text-[var(--vk-text-normal)] outline-none transition hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)]","aria-label":"Choose code editor",children:[(0,m.jsx)("span",{className:"inline-flex h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-muted)]",children:(0,m.jsx)(cr.FolderOpen,{className:"h-3.5 w-3.5"})}),(0,m.jsx)("span",{className:"font-medium text-[var(--vk-text-strong)]",children:"Open"}),(0,m.jsx)(co.ChevronDown,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"})]})}),(0,m.jsx)(bK,{children:(0,m.jsxs)(bM,{align:"start",sideOffset:6,className:a_,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[12px] font-medium uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Open With"}),(0,m.jsxs)(bR,{children:[(0,m.jsxs)(bP,{className:`${a1} min-w-[220px] justify-between`,children:[(0,m.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,m.jsx)(dP,{editorId:a$.id,label:a$.label}),(0,m.jsx)("span",{children:"IDE"})]}),(0,m.jsxs)("div",{className:"ml-4 flex min-w-0 items-center gap-2",children:[(0,m.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-muted)]",children:a$.label}),(0,m.jsx)(cm,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"})]})]}),(0,m.jsx)(bK,{children:(0,m.jsxs)(bQ,{sideOffset:8,alignOffset:-4,className:a0,children:[(0,m.jsx)("p",{className:"px-3 pb-1 text-[12px] font-medium uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Editors"}),du.map(a=>(0,m.jsxs)(bN,{onSelect:()=>y(a.id),className:a1,children:[(0,m.jsx)(dP,{editorId:a.id,label:a.label}),(0,m.jsx)("span",{className:"flex-1",children:a.label}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:x===a.id?(0,m.jsx)(cn.Check,{className:"h-4 w-4 text-[var(--vk-orange)]"}):null})]},a.id))]})})]}),(0,m.jsx)(bO,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,m.jsxs)(bN,{onSelect:()=>y("custom"),className:a1,children:[(0,m.jsx)(dP,{editorId:"custom",label:"Custom"}),(0,m.jsx)("span",{className:"flex-1",children:"Custom"}),(0,m.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:"custom"===x?(0,m.jsx)(cn.Check,{className:"h-4 w-4 text-[var(--vk-orange)]"}):null})]})]})})]}),(0,m.jsxs)("div",{className:"inline-flex min-h-11 max-w-full items-center gap-2 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2",children:[(0,m.jsx)("span",{className:"inline-flex h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,m.jsx)(dP,{editorId:a$.id,label:a$.label})}),(0,m.jsxs)("div",{className:"min-w-0",children:[(0,m.jsx)("div",{className:"truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:a$.label}),(0,m.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Current editor"})]})]})]})]}),(0,m.jsxs)("section",{className:"space-y-2",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Markdown Editor"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Used as your second-brain markdown source when feeding context into tasks."}),(0,m.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:dt.map(a=>{let b=z===a.id;return(0,m.jsxs)("button",{type:"button",onClick:()=>A(a.id),className:`flex items-center gap-2 rounded-[4px] border px-3 py-2 text-left ${b?"border-[var(--vk-orange)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)(dS,{editorId:a.id}),(0,m.jsx)("span",{className:"flex-1 text-[13px] text-[var(--vk-text-normal)]",children:a.label}),b&&(0,m.jsx)(cn.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"})]},a.id)})}),"notion"!==z&&(0,m.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] px-3 py-3",children:(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Notes Root"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:B??"",readOnly:!0,onClick:()=>ae(!0),placeholder:"Select your Obsidian vault, Logseq graph, or notes folder",className:"h-9 w-full cursor-pointer rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>ae(!0),disabled:av,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60",title:"Browse folders",children:(0,m.jsx)(cr.FolderOpen,{className:"h-4 w-4"})}),(B??"").trim().length>0&&(0,m.jsx)("button",{type:"button",onClick:()=>C(""),disabled:av,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60",children:"Clear"})]}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Context attachments are discovered from this folder first. Leave it blank to fall back to the current workspace."})]})})]}),(0,m.jsxs)("section",{className:"space-y-2",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Notification Sound"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Pick a sound for notifications, or disable sound."}),(0,m.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[dv.map(a=>{let b=F&&H===a.id;return(0,m.jsxs)("button",{type:"button",onClick:()=>{G(!0),I(a.id)},className:`flex items-center gap-2 rounded-[4px] border px-3 py-2 text-left ${b?"border-[var(--vk-orange)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)(cC,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,m.jsx)("span",{className:"flex-1 text-[13px] text-[var(--vk-text-normal)]",children:a.label}),b&&(0,m.jsx)(cn.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"})]},a.id)}),(0,m.jsxs)("button",{type:"button",onClick:()=>G(!1),className:`flex items-center gap-2 rounded-[4px] border px-3 py-2 text-left ${!F?"border-[var(--vk-orange)] bg-[var(--vk-bg-hover)]":"border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,m.jsx)(cD,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,m.jsx)("span",{className:"flex-1 text-[13px] text-[var(--vk-text-normal)]",children:"No sound"}),!F&&(0,m.jsx)(cn.Check,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"})]})]})]})]}),aL&&(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsxs)("section",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[rgba(234,122,42,0.06)] px-4 py-3",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Remote Access"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Use one complete URL to open this Conductor instance from your phone or any other machine. The URL below is only shown to admin sessions because it can grant real control of the dashboard."})]}),(0,m.jsxs)("section",{className:"space-y-3 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h5",{className:"text-[18px] leading-[20px] text-[var(--vk-text-strong)]",children:an.title}),(0,m.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-text-muted)]",children:an.description})]}),(0,m.jsxs)("button",{type:"button",onClick:()=>void aD(),disabled:ap,className:"inline-flex h-8 items-center gap-1.5 rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,m.jsx)(cy.RefreshCcw,{className:`h-3.5 w-3.5${ap?" animate-spin":""}`}),(0,m.jsx)("span",{children:"Refresh"})]})]}),ap?(0,m.jsxs)("div",{className:"flex items-center gap-2 rounded-[6px] border border-[var(--vk-border)] px-3 py-3 text-[13px] text-[var(--vk-text-muted)]",children:[(0,m.jsx)(cw.Loader2,{className:"h-4 w-4 animate-spin"}),"Loading remote access details..."]}):at?(0,m.jsx)("div",{className:"rounded-[6px] border border-[var(--vk-red)]/35 bg-[var(--vk-red)]/10 px-3 py-3 text-[12px] leading-5 text-[var(--vk-red)]",children:at}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"grid gap-3 lg:grid-cols-3",children:[(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Remote Status"}),(0,m.jsx)("p",{className:"mt-2 text-[14px] text-[var(--vk-text-normal)]",children:aV})]}),(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Security Mode"}),(0,m.jsx)("p",{className:"mt-2 text-[14px] text-[var(--vk-text-normal)]",children:aU})]}),(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Local Target"}),(0,m.jsx)("p",{className:"mt-2 break-all text-[14px] text-[var(--vk-text-normal)]",children:an.localUrl??"Not resolved"})]}),(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Remote URL"}),(0,m.jsx)("p",{className:"mt-2 break-all text-[14px] text-[var(--vk-text-normal)]",children:an.publicUrl??"Not resolved"})]})]}),aZ?(0,m.jsxs)("div",{className:"space-y-3 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:aY?"Private Network Link":"Managed Remote Access"}),(0,m.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:aY?"Start a private Tailscale link inside Conductor. Only authenticated devices on your tailnet can reach this URL.":"Conductor no longer starts public share tunnels. Use a private Tailscale link here, or configure a protected Cloudflare Access URL separately."})]}),(0,m.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,m.jsx)("button",{type:"button",onClick:()=>void aE("enable"),disabled:!a3,className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-orange)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-orange)]/10 disabled:cursor-not-allowed disabled:opacity-50",children:"enable"===ar?"Enabling...":a2}),(0,m.jsx)("button",{type:"button",onClick:()=>void aE("disable"),disabled:!a4,className:"inline-flex h-8 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-50",children:"disable"===ar?"Disabling...":"Disable"})]})]}),(0,m.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-text-muted)]",children:aY?an.installed?"Tailscale is available on this machine. Conductor will publish a private HTTPS link inside your tailnet.":an.canAutoInstall&&"brew"===an.autoInstallMethod?"Tailscale is not installed yet. Conductor can install it automatically with Homebrew, but the machine still needs a Tailscale sign-in.":"Tailscale is not installed on this machine yet. Install and sign in once to enable the private remote link.":"Managed remote access now uses only a private Tailscale link. For an enterprise public URL, configure Cloudflare Access separately and point Conductor at that protected address."})]}):(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Enterprise Policy"}),(0,m.jsx)("p",{className:"mt-2 text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"tailscale"===an.recommendedProvider?"Conductor is set up for a private VPN-style link. Install and sign in to Tailscale, then enable the private link from this screen.":"Conductor no longer publishes bearer-style unlock URLs. Configure verified Cloudflare Access and point `CONDUCTOR_PUBLIC_DASHBOARD_URL` at the protected external URL instead."})]}),an.lastError&&(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-red)]/35 bg-[var(--vk-red)]/10 px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-red)]",children:aY?"Private Link Error":"Tunnel Error"}),(0,m.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-red)]",children:an.lastError})]}),an.connectUrl?(0,m.jsxs)("div",{className:"space-y-2 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"private-network"===an.mode?"Private Remote URL":"Protected Remote URL"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"private-network"===an.mode?"Share this URL only with operators who are already authenticated to your private network.":"Share this protected URL. Recipients still need to pass the enterprise identity check before they reach Conductor."})]}),(0,m.jsx)(dY,{value:an.connectUrl,idleLabel:"Copy URL"})]}),(0,m.jsx)("code",{className:"block break-all rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-3 text-[12px] leading-5 text-[var(--vk-text-normal)]",children:an.connectUrl})]}):(0,m.jsx)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:(0,m.jsx)("p",{className:"text-[13px] text-[var(--vk-text-normal)]",children:"enterprise-only"===an.mode?"tailscale"===an.recommendedProvider?an.connected?"A private VPN URL will appear here after you enable the private link.":"A private VPN URL will appear here after Tailscale is installed and signed in.":"A protected enterprise remote URL will appear here after verified Cloudflare Access is configured.":"A protected remote URL is not available yet."})}),an.warnings.length>0&&(0,m.jsxs)("div",{className:"space-y-2 rounded-[6px] border border-[var(--vk-red)]/35 bg-[var(--vk-red)]/10 px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-red)]",children:"Security Warnings"}),(0,m.jsx)("div",{className:"space-y-1.5",children:an.warnings.map(a=>(0,m.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-red)]",children:a},a))})]}),an.nextSteps.length>0&&(0,m.jsxs)("div",{className:"space-y-2 rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Next Steps"}),(0,m.jsx)("div",{className:"space-y-1.5",children:an.nextSteps.map(a=>(0,m.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-text-muted)]",children:a},a))})]})]})]})]})]}):aP?(0,m.jsxs)("div",{className:"space-y-5",children:[(0,m.jsxs)("section",{className:"space-y-1",children:[(0,m.jsx)("h4",{className:"text-[24px] leading-[24px] text-[var(--vk-text-strong)]",children:aI?"Repository Defaults":"Repository Configuration"}),(0,m.jsx)("p",{className:"text-[14px] text-[var(--vk-text-muted)]",children:aI?"Review the repository Conductor will use for this workspace. You can edit advanced scripts later from Settings.":"Configure scripts and defaults used whenever this repository is selected for workspaces."})]}),("settings"===b||J.length>1)&&(0,m.jsxs)("section",{className:"space-y-2",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Select Repository"}),(0,m.jsxs)("select",{value:R,onChange:a=>S(a.target.value),disabled:L||0===J.length||av,className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60",children:[0===J.length&&(0,m.jsx)("option",{value:"",children:"No repositories configured"}),J.map(a=>(0,m.jsx)("option",{value:a.id,children:a.displayName},a.id))]})]}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Select a repository to view and edit its configuration."}),L&&(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Loading repositories..."})]}),aI&&1===J.length&&T&&(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Detected Repository"}),(0,m.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(15,15,15,0.52)] px-3 py-3 text-[13px] text-[var(--vk-text-normal)]",children:[T.displayName,(0,m.jsx)("span",{className:"ml-2 text-[var(--vk-text-muted)]",children:T.path})]})]}),T&&(0,m.jsxs)(m.Fragment,{children:["settings"===b&&(0,m.jsxs)("section",{className:"space-y-3 border-t border-[var(--vk-border)] pt-4",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h5",{className:"text-[22px] leading-[22px] text-[var(--vk-text-strong)]",children:"Repo-Preseed Bootstrap"}),(0,m.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Use this when you already know the target repository and want one command to prefill it. The default first-run path is still `npx conductor-oss@latest`, which opens the dashboard and lets the user choose preferences before adding a project."})]}),(0,m.jsxs)("div",{className:"flex flex-wrap gap-2 text-[11px] text-[var(--vk-text-muted)]",children:[(0,m.jsxs)("span",{className:"rounded-[999px] border border-[var(--vk-border)] px-2 py-1",children:["Workspace: ",T.workspaceMode]}),(0,m.jsxs)("span",{className:"rounded-[999px] border border-[var(--vk-border)] px-2 py-1",children:["Runtime: ",T.runtimeMode]}),(0,m.jsxs)("span",{className:"rounded-[999px] border border-[var(--vk-border)] px-2 py-1",children:["SCM: ",T.scmMode]})]}),(0,m.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(15,15,15,0.72)] p-3",children:(0,m.jsx)("pre",{className:"overflow-x-auto whitespace-pre-wrap break-all text-[12px] leading-5 text-[var(--vk-text-normal)]",children:bb})}),(0,m.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"This command uses your selected agent, editor, and notes app. Best on macOS with Homebrew. GitHub sign-in still opens a browser so the user can approve access."}),(0,m.jsx)(dY,{value:bb,idleLabel:"Copy Setup Command"})]})]}),(0,m.jsxs)("section",{className:"space-y-3 border-t border-[var(--vk-border)] pt-4",children:[(0,m.jsx)("h5",{className:"text-[22px] leading-[22px] text-[var(--vk-text-strong)]",children:"General Settings"}),(0,m.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Configure basic repository information."}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Display Name"}),(0,m.jsx)("input",{value:T.displayName,onChange:a=>U(b=>b?{...b,displayName:a.target.value}:b),className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"A friendly name for this repository."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Repository Slug"}),(0,m.jsx)("input",{value:T.repo,onChange:a=>U(b=>b?{...b,repo:a.target.value}:b),placeholder:"e.g., your-org/your-repo",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Used for PR tracking, GitHub links, and onboarding defaults."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Default Agent"}),(0,m.jsx)("select",{value:T.agent,onChange:a=>{let b=a.target.value;U(a=>a?{...a,agent:b}:a),W(dI(b,D,i,null))},className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:a5.map(a=>(0,m.jsx)("option",{value:a,children:dk(a)},a))}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Used by the one-line bootstrap and as the project default when tasks dispatch."})]}),b7(T.agent)&&(0,m.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] px-3 py-3",children:(0,m.jsx)(dT,{agent:T.agent,modelAccess:D,runtimeModelCatalogs:i,selection:V,onChange:W})}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Agent Permission Default"}),(0,m.jsxs)("select",{value:T.agentPermissions,onChange:a=>U(b=>b?{...b,agentPermissions:"default"===a.target.value?"default":"skip"}:b),className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,m.jsx)("option",{value:"skip",children:"Auto approve and allow local dev servers"}),(0,m.jsx)("option",{value:"default",children:"Sandboxed default mode"})]}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Applies to new sessions for this repository across all agents unless you override the launch mode."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Repository Path"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:T.path,readOnly:!0,onClick:()=>ac(!0),placeholder:"Use Browse to select a repository folder",className:"h-9 w-full cursor-pointer rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>ac(!0),disabled:av,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60",children:(0,m.jsx)(cr.FolderOpen,{className:"h-4 w-4"})})]}),!T.pathHealth.exists&&(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-red)]",children:"Configured path does not exist on disk."}),T.pathHealth.exists&&!T.pathHealth.isGitRepository&&(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-red)]",children:"Configured path exists but is not a git repository."}),T.pathHealth.suggestedPath&&(0,m.jsx)("button",{type:"button",onClick:()=>{let a=T.pathHealth.suggestedPath??"";a&&(U(b=>b?{...b,path:a,pathHealth:{...b.pathHealth,exists:!0,isGitRepository:!0,suggestedPath:null}}:b),az(a))},className:"mt-1 inline-flex h-7 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Use detected git repo path"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Default Working Directory"}),(0,m.jsx)("input",{value:T.defaultWorkingDirectory,onChange:a=>U(b=>b?{...b,defaultWorkingDirectory:a.target.value}:b),placeholder:"e.g., packages/frontend",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Subdirectory relative to the repository root where the coding agent starts."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Default Target Branch"}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("input",{value:T.defaultBranch,onChange:a=>U(b=>b?{...b,defaultBranch:a.target.value}:b),placeholder:"Select a branch",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("button",{type:"button",onClick:()=>{az()},disabled:Z,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60",title:"Detect branches",children:Z?(0,m.jsx)(cw.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,m.jsx)(cy.RefreshCcw,{className:"h-3.5 w-3.5"})})]}),X.length>0&&(0,m.jsx)("select",{value:T.defaultBranch,onChange:a=>U(b=>b?{...b,defaultBranch:a.target.value}:b),className:"mt-2 h-8 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[12px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:X.map(a=>(0,m.jsx)("option",{value:a,children:a},a))}),_&&(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-red)]",children:_})]})]}),"settings"===b&&(0,m.jsxs)("section",{className:"space-y-3 border-t border-[var(--vk-border)] pt-4",children:[(0,m.jsx)("h5",{className:"text-[22px] leading-[22px] text-[var(--vk-text-strong)]",children:"Scripts & Configuration"}),(0,m.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Configure dev server, setup, cleanup, archive, and file-copy behavior for this repository."}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Dev Server Script"}),(0,m.jsx)("textarea",{rows:3,value:T.devServerScript,onChange:a=>U(b=>b?{...b,devServerScript:a.target.value}:b),placeholder:"npm run dev",className:"w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Optional. Leave this blank if you run the local app yourself and only want Conductor to auto-connect the preview."})]}),(0,m.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Dev Server CWD"}),(0,m.jsx)("input",{value:T.devServerCwd,onChange:a=>U(b=>b?{...b,devServerCwd:a.target.value}:b),placeholder:"e.g., apps/web",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Runs the dev server from this subdirectory when set."})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview URL Override"}),(0,m.jsx)("input",{value:T.devServerUrl,onChange:a=>U(b=>b?{...b,devServerUrl:a.target.value}:b),placeholder:"e.g., https://preview.example.com",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"If set, preview connects here first instead of inferring from logs."})]})]}),(0,m.jsxs)("div",{className:"grid gap-3 sm:grid-cols-4",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview Port"}),(0,m.jsx)("input",{value:T.devServerPort,onChange:a=>U(b=>b?{...b,devServerPort:a.target.value}:b),inputMode:"numeric",placeholder:"3000",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview Host"}),(0,m.jsx)("input",{value:T.devServerHost,onChange:a=>U(b=>b?{...b,devServerHost:a.target.value}:b),placeholder:"127.0.0.1",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview Path"}),(0,m.jsx)("input",{value:T.devServerPath,onChange:a=>U(b=>b?{...b,devServerPath:a.target.value}:b),placeholder:"/",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("label",{className:"flex items-center gap-2 rounded-[4px] border border-[var(--vk-border)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:T.devServerHttps,onChange:a=>U(b=>b?{...b,devServerHttps:a.target.checked}:b),className:"h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsx)("span",{children:"Use HTTPS"})]})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Setup Script"}),(0,m.jsx)("textarea",{rows:4,value:T.setupScript,onChange:a=>U(b=>b?{...b,setupScript:a.target.value}:b),placeholder:"npm install",className:"w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Runs in the worktree after creation and before/with coding-agent startup."})]}),(0,m.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:T.runSetupInParallel,onChange:a=>U(b=>b?{...b,runSetupInParallel:a.target.checked}:b),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsx)("span",{children:"Run setup script in parallel with coding agent"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Cleanup Script"}),(0,m.jsx)("textarea",{rows:4,value:T.cleanupScript,onChange:a=>U(b=>b?{...b,cleanupScript:a.target.value}:b),placeholder:"Runs when the workspace is archived and changes exist",className:"w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Archive Script"}),(0,m.jsx)("textarea",{rows:4,value:T.archiveScript,onChange:a=>U(b=>b?{...b,archiveScript:a.target.value}:b),placeholder:"Runs when the workspace/session is archived",className:"w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Copy Files"}),(0,m.jsx)("input",{value:T.copyFiles,onChange:a=>U(b=>b?{...b,copyFiles:a.target.value}:b),placeholder:".env, config/*.json",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Comma-separated relative file paths or glob patterns copied from the repo to each worktree."})]})]})]})]}):aQ?(0,m.jsxs)("div",{className:"space-y-5",children:[(0,m.jsxs)("section",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[rgba(234,122,42,0.06)] px-4 py-3",children:[(0,m.jsx)("h4",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Security-First Remote Access"}),(0,m.jsx)("p",{className:"mt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"The dashboard stays bound to localhost. For phone and team access, put a verified edge identity layer like Cloudflare Access in front of it, then map authenticated users into viewer, operator, or admin roles here."})]}),ah?(0,m.jsxs)("section",{className:"flex items-center gap-2 rounded-[6px] border border-[var(--vk-border)] px-4 py-4 text-[13px] text-[var(--vk-text-muted)]",children:[(0,m.jsx)(cw.Loader2,{className:"h-4 w-4 animate-spin"}),"Loading organization access settings..."]}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("section",{className:"grid gap-3 lg:grid-cols-3",children:[(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Current Identity"}),(0,m.jsx)("p",{className:"mt-2 text-[14px] text-[var(--vk-text-normal)]",children:af.current.email??"Anonymous local session"})]}),(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Effective Role"}),(0,m.jsx)("p",{className:"mt-2 text-[14px] text-[var(--vk-text-normal)]",children:af.current.role??"No access"})]}),(0,m.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] px-4 py-3",children:[(0,m.jsx)("span",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Auth Provider"}),(0,m.jsx)("p",{className:"mt-2 text-[14px] text-[var(--vk-text-normal)]",children:af.current.provider??"Local only"})]})]}),!aT&&(0,m.jsx)("section",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[rgba(80,80,80,0.18)] px-4 py-3",children:(0,m.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"You can review organization security here, but only an admin session can save changes. Use a local admin session or an admin identity from your edge auth provider to modify access rules."})}),(0,m.jsxs)("section",{className:"space-y-3 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h5",{className:"text-[18px] leading-[20px] text-[var(--vk-text-strong)]",children:"Baseline Access Rules"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Require authentication for remote dashboard requests and decide what authenticated users get by default before explicit role bindings are applied. Localhost on this machine stays in a local admin recovery mode so setup and break-glass access keep working."})]}),(0,m.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:af.requireAuth,onChange:a=>ag(b=>({...b,requireAuth:a.target.checked})),disabled:!aT||aj||af.trustedHeaders.enabled,className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsx)("span",{children:"Require authentication for remote dashboard requests"})]}),(0,m.jsx)("p",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Public share-link remote control has been removed. Remote access now requires either the private Tailscale link or an identity-bound provider such as Cloudflare Access or Clerk."}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Default Role"}),(0,m.jsxs)("select",{value:af.defaultRole,onChange:a=>ag(b=>({...b,defaultRole:a.target.value})),disabled:!aT||aj,className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60",children:[(0,m.jsx)("option",{value:"viewer",children:"Viewer"}),(0,m.jsx)("option",{value:"operator",children:"Operator"}),(0,m.jsx)("option",{value:"admin",children:"Admin"})]}),(0,m.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:"This applies after identity verification when no explicit email or domain binding matches. Cloudflare Access enterprise mode forces full authentication automatically."})]})]}),(0,m.jsxs)("section",{className:"space-y-3 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h5",{className:"text-[18px] leading-[20px] text-[var(--vk-text-strong)]",children:"Verified Edge Auth"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Recommended for secure public phone access and free team collaboration. Conductor verifies the Cloudflare Access JWT instead of trusting a raw email header."})]}),(0,m.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,m.jsx)("input",{type:"checkbox",checked:af.trustedHeaders.enabled,onChange:a=>ag(b=>({...b,requireAuth:!!a.target.checked||b.requireAuth,trustedHeaders:{...b.trustedHeaders,enabled:a.target.checked}})),disabled:!aT||aj,className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,m.jsx)("span",{children:"Enable verified Cloudflare Access authentication"})]}),(0,m.jsxs)("div",{className:"grid gap-3 lg:grid-cols-2",children:[(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Provider"}),(0,m.jsx)("div",{className:"flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[13px] text-[var(--vk-text-normal)]",children:"Cloudflare Access (verified JWT)"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Identity Email Header"}),(0,m.jsx)("input",{value:af.trustedHeaders.emailHeader,onChange:a=>ag(b=>({...b,trustedHeaders:{...b.trustedHeaders,emailHeader:a.target.value}})),disabled:!aT||aj,className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"JWT Assertion Header"}),(0,m.jsx)("input",{value:af.trustedHeaders.jwtHeader,onChange:a=>ag(b=>({...b,trustedHeaders:{...b.trustedHeaders,jwtHeader:a.target.value}})),disabled:!aT||aj,className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60"})]}),(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Cloudflare Team Domain"}),(0,m.jsx)("input",{value:af.trustedHeaders.teamDomain,onChange:a=>ag(b=>({...b,trustedHeaders:{...b.trustedHeaders,teamDomain:a.target.value}})),disabled:!aT||aj,placeholder:"your-team.cloudflareaccess.com",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60"})]}),(0,m.jsxs)("label",{className:"block lg:col-span-2",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Cloudflare Access Audience"}),(0,m.jsx)("input",{value:af.trustedHeaders.audience,onChange:a=>ag(b=>({...b,trustedHeaders:{...b.trustedHeaders,audience:a.target.value}})),disabled:!aT||aj,placeholder:"Copy the AUD value from your Cloudflare Access application",className:"h-9 w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60"})]})]}),(0,m.jsx)("p",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Enterprise remote access requires a Cloudflare Access application that injects a verified JWT and email header. Conductor will not publish a shareable admin URL when that verification layer is missing."})]}),(0,m.jsxs)("section",{className:"space-y-3 rounded-[6px] border border-[var(--vk-border)] px-4 py-4",children:[(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("h5",{className:"text-[18px] leading-[20px] text-[var(--vk-text-strong)]",children:"Role Bindings"}),(0,m.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Map verified team identities into least-privilege roles. `viewer` can inspect work, `operator` can control agents, and `admin` can change global settings."})]}),(0,m.jsx)("div",{className:"grid gap-3 lg:grid-cols-2",children:[{label:"Viewer Emails",key:"viewers",placeholder:"alice@example.com"},{label:"Operator Emails",key:"operators",placeholder:"builder@example.com"},{label:"Admin Emails",key:"admins",placeholder:"owner@example.com"},{label:"Viewer Domains",key:"viewerDomains",placeholder:"guests.example.com"},{label:"Operator Domains",key:"operatorDomains",placeholder:"eng.example.com"},{label:"Admin Domains",key:"adminDomains",placeholder:"admins.example.com"}].map(({label:a,key:b,placeholder:c})=>(0,m.jsxs)("label",{className:"block",children:[(0,m.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:a}),(0,m.jsx)("textarea",{rows:4,value:af.roles[b],onChange:a=>ag(c=>({...c,roles:{...c.roles,[b]:a.target.value}})),disabled:!aT||aj,placeholder:c,className:"w-full rounded-[4px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] disabled:opacity-60"}),(0,m.jsx)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:"One entry per line."})]},b))})]})]})]}):(0,m.jsxs)("section",{className:"space-y-3",children:[(0,m.jsx)("h4",{className:"text-[16px] font-medium text-[var(--vk-text-strong)]",children:aH.label}),(0,m.jsx)("p",{className:"text-[14px] text-[var(--vk-text-muted)]",children:"This section is queued for implementation. General, Agents, Remote Access, and repository settings are available now."}),(0,m.jsx)("button",{type:"button",onClick:()=>u("general"),className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:"Open General"})]})}),(0,m.jsxs)("footer",{className:"flex flex-col gap-3 border-t border-[var(--vk-border)] px-4 py-3 sm:flex-row sm:items-center sm:justify-between sm:gap-2",children:[(0,m.jsxs)("div",{className:"min-w-0",children:[ba&&(0,m.jsx)("p",{className:"truncate rounded-[4px] border border-[var(--vk-red)]/35 bg-[var(--vk-red)]/10 px-2 py-1 text-[12px] text-[var(--vk-red)]",children:ba}),!ba&&aN&&(0,m.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)]",children:aI?"Finish setup once here. You can change these preferences any time from Settings.":"Preferences are saved to your conductor config and applied immediately."}),!ba&&aP&&(0,m.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)]",children:aI?"These defaults will be used the first time workspaces and tasks are created for this repo.":"Repository settings are saved to your conductor config and used for future workspaces."}),!ba&&aQ&&(0,m.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"Organization access settings are written into `conductor.yaml`. Use admin role bindings for full control, operator bindings for day-to-day agent usage, and viewer bindings for read-only access."})]}),(0,m.jsxs)("div",{className:"flex w-full flex-wrap items-center justify-end gap-2 sm:w-auto",children:[!aI&&(0,m.jsx)("button",{type:"button",onClick:n,disabled:av,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Close"}),aI&&aP&&(0,m.jsx)("button",{type:"button",onClick:()=>u("preferences"),disabled:av,className:"inline-flex h-9 items-center rounded-[4px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Back"}),aN&&!aI&&(0,m.jsx)("button",{type:"button",onClick:()=>{bc(e.onboardingAcknowledged,{closeDialog:!0})},disabled:!a7||c,className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:c?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(cw.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),"Saving..."]}):"Save"}),aP&&!aI&&(0,m.jsx)("button",{type:"button",onClick:()=>{aA()},disabled:!a8||N||L,className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:N?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(cw.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),"Saving..."]}):"Save Repository"}),aQ&&!aI&&(0,m.jsx)("button",{type:"button",onClick:()=>{aC()},disabled:!a9||aj,className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:aj?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(cw.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),"Saving..."]}):"Save Access"}),aI&&(0,m.jsx)("button",{type:"button",onClick:()=>{aJ?bd():be()},disabled:aJ?!a7||c||L:!a8||av,className:"inline-flex h-9 items-center rounded-[4px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:av||aJ&&L?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(cw.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),aJ&&L?"Loading...":"Saving..."]}):aJ&&aS?"Continue":"Finish Setup"})]})]})]})]})}),(0,m.jsx)(dW,{open:ab,initialPath:T?.path,title:"Select Repository Path",description:"Choose the local git repository folder.",onClose:()=>ac(!1),onSelect:a=>{ac(!1),a&&(U(b=>b?{...b,path:a,pathHealth:{...b.pathHealth,exists:!0,isGitRepository:!0,suggestedPath:null}}:b),az(a))}}),(0,m.jsx)(dW,{open:ad,initialPath:B??"",title:"Select Notes Root",description:"Choose the local Obsidian vault, Logseq graph, or markdown notes folder used for context attachments.",onClose:()=>ae(!1),onSelect:a=>{ae(!1),null!==a&&C(a)}})]})}a.s(["default",()=>dU],69436)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_web_src_features_dashboard_DashboardClient_tsx_81ae42b0._.js.map
|