conductor-oss 0.58.44 → 0.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -5
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +9 -6
- package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +20 -12
- package/web/.next/standalone/packages/web/.next/routes-manifest.json +18 -0
- package/web/.next/standalone/packages/web/.next/server/app/__clerk/[[...path]]/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page.js +3 -3
- 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 +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.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/api/access/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/auth/profile/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/[bridgeId]/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/app-update/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/repair/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/service-restart/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/claims/complete/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/code/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridges/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/sync/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/file/route.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/file/route.js.nft.json +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/file/route_client-reference-manifest.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/open/route.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/open/route.js.nft.json +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/open/route_client-reference-manifest.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/route.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/route.js.nft.json +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/route_client-reference-manifest.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/bindings/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/stream/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/integration/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/interrupt/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/preferences/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/send/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatchers/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/open/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/setup/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js +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 +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/relay/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/activate/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/catalog/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/deactivate/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/install/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/installed/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/session-active/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/uninstall/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/bridge/install.sh/route.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/icon.svg/route.js +1 -1
- 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.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/settings/bridge/page.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +2 -2
- 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/sign-in/hosted/page.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +2 -2
- 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 +9 -6
- package/web/.next/standalone/packages/web/.next/server/chunks/1669.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/1827.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/4684.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/5523.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/5819.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/6014.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/6034.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/6829.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/7548.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/8786.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/8856.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
- 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 +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/232.57818194757d40c9.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/2432.a0011ea18f71e10f.js +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/2508.c5f5858a9de8e09f.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{4443.f8b28d258c2c09a2.js → 4443.997d5dfa8119a933.js} +1 -1
- package/web/.next/{static/chunks/5493-22c064a41611d50c.js → standalone/packages/web/.next/static/chunks/5493-25f3b71c5227edc8.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/6817.416855b6674f7c49.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{8510-e5474f723f1e449c.js → 8510-4f3803a915184f73.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{8607.f538d93ee6398358.js → 8607.c40c5d0302dfb7f3.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/8987.4e4f633f6953de9e.js +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/sync/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/project-notes/file/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/project-notes/open/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/project-notes/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/open/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/setup/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-45a9fb0483f82080.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-f04128bf900355e3.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{webpack-bb0ec96daa1f57a5.js → webpack-4f1ba9bc82453cdd.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/css/422540a30d8d8174.css +1 -0
- package/web/.next/standalone/packages/web/.next/static/oOIsREJ3HPI7ahTWJCt7Z/_buildManifest.js +1 -0
- package/web/.next/static/chunks/232.57818194757d40c9.js +1 -0
- package/web/.next/static/chunks/2432.a0011ea18f71e10f.js +3 -0
- package/web/.next/static/chunks/2508.c5f5858a9de8e09f.js +1 -0
- package/web/.next/static/chunks/{4443.f8b28d258c2c09a2.js → 4443.997d5dfa8119a933.js} +1 -1
- package/web/.next/{standalone/packages/web/.next/static/chunks/5493-22c064a41611d50c.js → static/chunks/5493-25f3b71c5227edc8.js} +1 -1
- package/web/.next/static/chunks/6817.416855b6674f7c49.js +1 -0
- package/web/.next/static/chunks/{8510-e5474f723f1e449c.js → 8510-4f3803a915184f73.js} +1 -1
- package/web/.next/static/chunks/{8607.f538d93ee6398358.js → 8607.c40c5d0302dfb7f3.js} +1 -1
- package/web/.next/static/chunks/8987.4e4f633f6953de9e.js +3 -0
- package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/_global-error/page-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/access/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/agents/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/app-update/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/attachments/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/auth/profile/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/boards/comments/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/boards/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/bridges/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/code/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/bridges/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/config/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/context-files/open/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/context-files/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/events/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/executor/health/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/filesystem/directory/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/github/projects/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/github/projects/sync/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/github/repos/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/github/webhook/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/health/boards/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/health/sessions/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/notifications/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/preferences/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/project-notes/file/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/project-notes/open/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/project-notes/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/open/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/setup/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/projects/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/repositories/[id]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/repositories/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/files/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/output/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/skills/activate/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/skills/catalog/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/skills/deactivate/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/skills/install/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/skills/installed/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/skills/session-active/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/skills/uninstall/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/spawn/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/workspaces/branches/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/api/workspaces/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/bridge/install.ps1/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/bridge/install.sh/route-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/app/layout-45a9fb0483f82080.js +1 -0
- package/web/.next/static/chunks/app/page-f04128bf900355e3.js +1 -0
- package/web/.next/static/chunks/app/sign-in/hosted/page-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-4de9a8b2bd537fc8.js +1 -0
- package/web/.next/static/chunks/{webpack-bb0ec96daa1f57a5.js → webpack-4f1ba9bc82453cdd.js} +1 -1
- package/web/.next/static/css/422540a30d8d8174.css +1 -0
- package/web/.next/static/oOIsREJ3HPI7ahTWJCt7Z/_buildManifest.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/1490.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/1564.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/3990.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/468.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/4737.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/5068.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/6054.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/2261.a4a22edc2699e706.js +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/2651.dcd5e794d7400def.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/474.0468442a7b5947e9.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/8613.5c25e343a523ace3.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/sync/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/open/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/setup/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-f445547f9ec69204.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-970687afb211d9f8.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/css/186566065c214a57.css +0 -1
- package/web/.next/standalone/packages/web/.next/static/ejPUSGu-biGfUY_gITpZ0/_buildManifest.js +0 -1
- package/web/.next/static/chunks/2261.a4a22edc2699e706.js +0 -3
- package/web/.next/static/chunks/2651.dcd5e794d7400def.js +0 -1
- package/web/.next/static/chunks/474.0468442a7b5947e9.js +0 -1
- package/web/.next/static/chunks/8613.5c25e343a523ace3.js +0 -1
- package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/_global-error/page-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/access/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/agents/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/app-update/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/attachments/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/auth/profile/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/boards/comments/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/boards/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/bridge/bridges/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/bridge/devices/code/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/bridge/devices/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/bridges/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/config/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/context-files/open/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/context-files/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/events/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/executor/health/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/filesystem/directory/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/github/projects/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/github/projects/sync/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/github/repos/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/github/webhook/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/health/boards/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/health/sessions/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/notifications/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/preferences/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/open/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/setup/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/projects/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/repositories/[id]/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/repositories/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/files/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/output/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/skills/activate/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/skills/catalog/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/skills/deactivate/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/skills/install/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/skills/installed/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/skills/session-active/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/skills/uninstall/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/spawn/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/workspaces/branches/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/api/workspaces/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/bridge/install.ps1/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/bridge/install.sh/route-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/app/layout-f445547f9ec69204.js +0 -1
- package/web/.next/static/chunks/app/page-970687afb211d9f8.js +0 -1
- package/web/.next/static/chunks/app/sign-in/hosted/page-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-da63d844222da45c.js +0 -1
- package/web/.next/static/css/186566065c214a57.css +0 -1
- package/web/.next/static/ejPUSGu-biGfUY_gITpZ0/_buildManifest.js +0 -1
- /package/web/.next/standalone/packages/web/.next/static/{ejPUSGu-biGfUY_gITpZ0 → oOIsREJ3HPI7ahTWJCt7Z}/_ssgManifest.js +0 -0
- /package/web/.next/static/{ejPUSGu-biGfUY_gITpZ0 → oOIsREJ3HPI7ahTWJCt7Z}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=4684,exports.ids=[4684],exports.modules={48582:(a,b,c)=>{c.d(b,{E:()=>g});var d=c(92692),e=c(93544);let f={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function g({variant:a="default",className:b,children:c}){return(0,d.jsx)("span",{className:(0,e.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",f[a],b),children:c})}},64684:(a,b,c)=>{c.r(b),c.d(b,{SessionPreview:()=>aF});var d=c(92692),e=c(71277),f=c(13636),g=c(37303);let h=(0,g.A)("boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);var i=c(7071);let j=(0,g.A)("file-braces-corner",[["path",{d:"M14 22h4a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6",key:"14cnrg"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M5 14a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1 1 1 0 0 1 1 1v2a1 1 0 0 0 1 1",key:"sr0ebq"}],["path",{d:"M9 22a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-2a1 1 0 0 0-1-1",key:"w793db"}]]),k=(0,g.A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var l=c(52404),m=c(64583),n=c(76680);let o=(0,g.A)("waypoints",[["path",{d:"m10.586 5.414-5.172 5.172",key:"4mc350"}],["path",{d:"m18.586 13.414-5.172 5.172",key:"8c96vv"}],["path",{d:"M6 12h12",key:"8npq4p"}],["circle",{cx:"12",cy:"20",r:"2",key:"144qzu"}],["circle",{cx:"12",cy:"4",r:"2",key:"muu5ef"}],["circle",{cx:"20",cy:"12",r:"2",key:"1xzzfp"}],["circle",{cx:"4",cy:"12",r:"2",key:"1hvhnz"}]]),p=(0,g.A)("mouse-pointer-click",[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]]);var q=c(32792);let r=(0,g.A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var s=c(75185),t=c(69368),u=c(76366),v=c(48582),w=c(1071),x=c(5707),y=c(64308),z=c(63660),A=c(11256),B=c(87108),C=c(8370),D=c(97229),E=c(74508),F="ScrollArea",[G,H]=(0,z.A)(F),[I,J]=G(F),K=e.forwardRef((a,b)=>{let{__scopeScrollArea:c,type:f="hover",dir:g,scrollHideDelay:h=600,...i}=a,[j,k]=e.useState(null),[l,m]=e.useState(null),[n,o]=e.useState(null),[p,q]=e.useState(null),[r,s]=e.useState(null),[t,u]=e.useState(0),[v,w]=e.useState(0),[y,z]=e.useState(!1),[B,D]=e.useState(!1),E=(0,A.s)(b,a=>k(a)),F=(0,C.jH)(g);return(0,d.jsx)(I,{scope:c,type:f,dir:F,scrollHideDelay:h,scrollArea:j,viewport:l,onViewportChange:m,content:n,onContentChange:o,scrollbarX:p,onScrollbarXChange:q,scrollbarXEnabled:y,onScrollbarXEnabledChange:z,scrollbarY:r,onScrollbarYChange:s,scrollbarYEnabled:B,onScrollbarYEnabledChange:D,onCornerWidthChange:u,onCornerHeightChange:w,children:(0,d.jsx)(x.sG.div,{dir:F,...i,ref:E,style:{position:"relative","--radix-scroll-area-corner-width":t+"px","--radix-scroll-area-corner-height":v+"px",...a.style}})})});K.displayName=F;var L="ScrollAreaViewport",M=e.forwardRef((a,b)=>{let{__scopeScrollArea:c,children:f,nonce:g,...h}=a,i=J(L,c),j=e.useRef(null),k=(0,A.s)(b,j,i.onViewportChange);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,d.jsx)(x.sG.div,{"data-radix-scroll-area-viewport":"",...h,ref:k,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,d.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:f})})]})});M.displayName=L;var N="ScrollAreaScrollbar",O=e.forwardRef((a,b)=>{let{forceMount:c,...f}=a,g=J(N,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return e.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,d.jsx)(P,{...f,ref:b,forceMount:c}):"scroll"===g.type?(0,d.jsx)(Q,{...f,ref:b,forceMount:c}):"auto"===g.type?(0,d.jsx)(R,{...f,ref:b,forceMount:c}):"always"===g.type?(0,d.jsx)(S,{...f,ref:b}):null});O.displayName=N;var P=e.forwardRef((a,b)=>{let{forceMount:c,...f}=a,g=J(N,a.__scopeScrollArea),[h,i]=e.useState(!1);return e.useEffect(()=>{let a=g.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),g.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[g.scrollArea,g.scrollHideDelay]),(0,d.jsx)(y.C,{present:c||h,children:(0,d.jsx)(R,{"data-state":h?"visible":"hidden",...f,ref:b})})}),Q=e.forwardRef((a,b)=>{var c;let{forceMount:f,...g}=a,h=J(N,a.__scopeScrollArea),i="horizontal"===a.orientation,j=ai(()=>l("SCROLL_END"),100),[k,l]=(c={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},e.useReducer((a,b)=>c[a][b]??a,"hidden"));return e.useEffect(()=>{if("idle"===k){let a=window.setTimeout(()=>l("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[k,h.scrollHideDelay,l]),e.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(l("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,l,j]),(0,d.jsx)(y.C,{present:f||"hidden"!==k,children:(0,d.jsx)(S,{"data-state":"hidden"===k?"hidden":"visible",...g,ref:b,onPointerEnter:(0,E.mK)(a.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:(0,E.mK)(a.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),R=e.forwardRef((a,b)=>{let c=J(N,a.__scopeScrollArea),{forceMount:f,...g}=a,[h,i]=e.useState(!1),j="horizontal"===a.orientation,k=ai(()=>{if(c.viewport){let a=c.viewport.offsetWidth<c.viewport.scrollWidth,b=c.viewport.offsetHeight<c.viewport.scrollHeight;i(j?a:b)}},10);return aj(c.viewport,k),aj(c.content,k),(0,d.jsx)(y.C,{present:f||h,children:(0,d.jsx)(S,{"data-state":h?"visible":"hidden",...g,ref:b})})}),S=e.forwardRef((a,b)=>{let{orientation:c="vertical",...f}=a,g=J(N,a.__scopeScrollArea),h=e.useRef(null),i=e.useRef(0),[j,k]=e.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=ad(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=ae(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return ag([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===c?(0,d.jsx)(T,{...m,ref:b,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=af(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===c?(0,d.jsx)(U,{...m,ref:b,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=af(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),T=e.forwardRef((a,b)=>{let{sizes:c,onSizesChange:f,...g}=a,h=J(N,a.__scopeScrollArea),[i,j]=e.useState(),k=e.useRef(null),l=(0,A.s)(b,k,h.onScrollbarXChange);return e.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,d.jsx)(X,{"data-orientation":"horizontal",...g,ref:l,sizes:c,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ae(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:ac(i.paddingLeft),paddingEnd:ac(i.paddingRight)}})}})}),U=e.forwardRef((a,b)=>{let{sizes:c,onSizesChange:f,...g}=a,h=J(N,a.__scopeScrollArea),[i,j]=e.useState(),k=e.useRef(null),l=(0,A.s)(b,k,h.onScrollbarYChange);return e.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,d.jsx)(X,{"data-orientation":"vertical",...g,ref:l,sizes:c,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ae(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:ac(i.paddingTop),paddingEnd:ac(i.paddingBottom)}})}})}),[V,W]=G(N),X=e.forwardRef((a,b)=>{let{__scopeScrollArea:c,sizes:f,hasThumb:g,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:j,onThumbPositionChange:k,onDragScroll:l,onWheelScroll:m,onResize:n,...o}=a,p=J(N,c),[q,r]=e.useState(null),s=(0,A.s)(b,a=>r(a)),t=e.useRef(null),u=e.useRef(""),v=p.viewport,w=f.content-f.viewport,y=(0,B.c)(m),z=(0,B.c)(k),C=ai(n,10);function D(a){t.current&&l({x:a.clientX-t.current.left,y:a.clientY-t.current.top})}return e.useEffect(()=>{let a=a=>{let b=a.target;q?.contains(b)&&y(a,w)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[v,q,w,y]),e.useEffect(z,[f,z]),aj(q,C),aj(p.content,C),(0,d.jsx)(V,{scope:c,scrollbar:q,hasThumb:g,onThumbChange:(0,B.c)(h),onThumbPointerUp:(0,B.c)(i),onThumbPositionChange:z,onThumbPointerDown:(0,B.c)(j),children:(0,d.jsx)(x.sG.div,{...o,ref:s,style:{position:"absolute",...o.style},onPointerDown:(0,E.mK)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),t.current=q.getBoundingClientRect(),u.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),D(a))}),onPointerMove:(0,E.mK)(a.onPointerMove,D),onPointerUp:(0,E.mK)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=u.current,p.viewport&&(p.viewport.style.scrollBehavior=""),t.current=null})})})}),Y="ScrollAreaThumb",Z=e.forwardRef((a,b)=>{let{forceMount:c,...e}=a,f=W(Y,a.__scopeScrollArea);return(0,d.jsx)(y.C,{present:c||f.hasThumb,children:(0,d.jsx)($,{ref:b,...e})})}),$=e.forwardRef((a,b)=>{let{__scopeScrollArea:c,style:f,...g}=a,h=J(Y,c),i=W(Y,c),{onThumbPositionChange:j}=i,k=(0,A.s)(b,a=>i.onThumbChange(a)),l=e.useRef(void 0),m=ai(()=>{l.current&&(l.current(),l.current=void 0)},100);return e.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{m(),l.current||(l.current=ah(a,j),j())};return j(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,m,j]),(0,d.jsx)(x.sG.div,{"data-state":i.hasThumb?"visible":"hidden",...g,ref:k,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...f},onPointerDownCapture:(0,E.mK)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,E.mK)(a.onPointerUp,i.onThumbPointerUp)})});Z.displayName=Y;var _="ScrollAreaCorner",aa=e.forwardRef((a,b)=>{let c=J(_,a.__scopeScrollArea),e=!!(c.scrollbarX&&c.scrollbarY);return"scroll"!==c.type&&e?(0,d.jsx)(ab,{...a,ref:b}):null});aa.displayName=_;var ab=e.forwardRef((a,b)=>{let{__scopeScrollArea:c,...f}=a,g=J(_,c),[h,i]=e.useState(0),[j,k]=e.useState(0),l=!!(h&&j);return aj(g.scrollbarX,()=>{let a=g.scrollbarX?.offsetHeight||0;g.onCornerHeightChange(a),k(a)}),aj(g.scrollbarY,()=>{let a=g.scrollbarY?.offsetWidth||0;g.onCornerWidthChange(a),i(a)}),l?(0,d.jsx)(x.sG.div,{...f,ref:b,style:{width:h,height:j,position:"absolute",right:"ltr"===g.dir?0:void 0,left:"rtl"===g.dir?0:void 0,bottom:0,...a.style}}):null});function ac(a){return a?parseInt(a,10):0}function ad(a,b){let c=a/b;return isNaN(c)?0:c}function ae(a){let b=ad(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function af(a,b,c="ltr"){let d=ae(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=function(a,[b,c]){return Math.min(c,Math.max(b,a))}(a,"ltr"===c?[0,g]:[-1*g,0]);return ag([0,g],[0,f-d])(h)}function ag(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var ah=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function ai(a,b){let c=(0,B.c)(a),d=e.useRef(0);return e.useEffect(()=>()=>window.clearTimeout(d.current),[]),e.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(c,b)},[c,b])}function aj(a,b){let c=(0,B.c)(b);(0,D.N)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}var ak=c(93544);let al=(0,e.forwardRef)(({className:a,children:b,viewportClassName:c,...e},f)=>(0,d.jsxs)(K,{ref:f,className:(0,ak.cn)("relative overflow-hidden",a),...e,children:[(0,d.jsx)(M,{className:(0,ak.cn)("h-full w-full rounded-[inherit]",c),children:b}),(0,d.jsx)(am,{}),(0,d.jsx)(aa,{})]}));al.displayName="ScrollArea";let am=(0,e.forwardRef)(({className:a,orientation:b="vertical",...c},e)=>(0,d.jsx)(O,{ref:e,orientation:b,className:(0,ak.cn)("flex touch-none select-none","vertical"===b&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent p-px",a),...c,children:(0,d.jsx)(Z,{className:"relative flex-1 rounded-full bg-[color:color-mix(in_srgb,var(--border-strong)_75%,transparent)] hover:bg-[var(--border-strong)]"})}));am.displayName="ScrollBar";var an=c(74712);let ao=/(?:127\.0\.0\.1|0\.0\.0\.0|localhost|::1|\[::1\])/i;function ap(a){return a.find(a=>(function(a){try{let b=new URL(a);return ao.test(b.hostname)}catch{return!1}})(a))??null}var aq=c(2621);let ar=new Map([["Backspace","Backspace"],["Delete","Delete"],["Enter","Enter"],["Tab","Tab"],["Escape","Escape"],["ArrowUp","ArrowUp"],["ArrowDown","ArrowDown"],["ArrowLeft","ArrowLeft"],["ArrowRight","ArrowRight"],["Home","Home"],["End","End"],["PageUp","PageUp"],["PageDown","PageDown"],[" ","Space"]]);function as(a){let b=Date.parse(a);return Number.isNaN(b)?a:new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit",second:"2-digit",timeZone:"UTC"}).format(new Date(b))}function at(a,b=120){return a.length<=b?a:`${a.slice(0,b-1)}…`}function au(a,b=180){let c=at((a??"").replace(/\s+/g," ").trim(),b);return c?`"${c.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:null}function av(a){return a.map(a=>a?.trim()).filter(a=>!!a).join("; ")}function aw(a,b){return[`[${a}]`,...b.map(a=>a?.trim()).filter(a=>!!a)].join("\n")}function ax(a,b){return{inlineText:av(["[Browser selection]",`selector=${au(a.selector,220)}`,`tag=${a.tag}`,a.role?`role=${a.role}`:null,a.name?`name=${au(a.name,140)}`:null,a.text?`text=${au(a.text,180)}`:null,a.frameName?`frame=${au(a.frameName,120)}`:null,b?`page=${au(b,220)}`:null]),draftText:aw("Browser selection",[b?`Page: ${b}`:null,`Frame: ${a.frameName} (${a.frameUrl})`,`Selector: ${a.selector}`,`Tag: ${a.tag}`,a.role?`Role: ${a.role}`:null,a.name?`Name: ${a.name}`:null,a.text?`Text: ${a.text}`:null,a.htmlPreview?`HTML preview: ${a.htmlPreview}`:null]),successMessage:"Queued the selected element for terminal input."}}function ay(a,b,c,d){let e=b.slice("console"===a?-8:-10),f=e.map(b=>{let c=[b.level,au(b.message,120)];return"network"===a&&(c.unshift(b.method??"GET"),c.push("number"==typeof b.status?String(b.status):null),c.push(b.url?au(b.url,120):null)),c.filter(Boolean).join(" ")});return{inlineText:av(["console"===a?"[Browser console]":"[Browser network]",c?`page=${au(c,220)}`:null,d?`selected=${au(d.selector,180)}`:null,`entries=${au(f.join(" | "),520)}`]),draftText:aw("console"===a?"Browser console logs":"Browser network logs",[c?`Page: ${c}`:null,d?`Selected element: ${d.selector}`:null,...e.map(b=>"console"===a?`- ${as(b.timestamp)} ${b.level}: ${b.message}`:`- ${as(b.timestamp)} ${b.method??"GET"} ${b.status??"-"} ${b.url??b.message}`)]),successMessage:"console"===a?"Queued recent console logs for terminal input.":"Queued recent network logs for terminal input."}}let az=/(?:127\.0\.0\.1|0\.0\.0\.0|localhost|::1|\[::1\])/i;function aA(a){let b=a?.trim();if(!b)return null;try{return new URL(b).origin}catch{return null}}function aB(a){return a?"Yes":"No"}function aC(a,b="None"){return a?.trim()||b}function aD({label:a,value:b,hint:c,monospace:e=!1}){return(0,d.jsxs)("div",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:a}),(0,d.jsx)("div",{className:(0,ak.cn)("mt-1 text-[13px] font-medium text-[var(--vk-text-normal)]",e?"break-all font-mono text-[11px] leading-5":null),children:b}),(0,d.jsx)("div",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:c})]})}function aE({section:a,onCopy:b}){return(0,d.jsxs)("div",{className:"overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-3 py-3",children:[(0,d.jsx)("div",{className:"text-[11px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:a.title}),(0,d.jsx)("div",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:a.description})]}),(0,d.jsx)("div",{className:"divide-y divide-[var(--vk-border)]",children:a.fields.map(c=>(0,d.jsxs)("div",{className:"flex items-start gap-3 px-3 py-2.5",children:[(0,d.jsx)("div",{className:"w-28 shrink-0 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:c.label}),(0,d.jsx)("div",{className:(0,ak.cn)("min-w-0 flex-1 text-[12px] text-[var(--vk-text-normal)]",c.monospace?"break-all font-mono text-[11px] leading-5":"leading-5"),children:c.value}),c.copyValue?(0,d.jsx)(w.$,{type:"button",variant:"ghost",size:"sm",className:"h-7 shrink-0",onClick:()=>{b(c.copyValue,`${c.label} copied to clipboard.`)},children:(0,d.jsx)(f.A,{className:"h-3.5 w-3.5"})}):null]},`${a.id}-${c.label}`))})]})}function aF({sessionId:a,active:b,onQueueTerminalInsert:c,onConnectionChange:g}){let[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)([]),[B,C]=(0,e.useState)(!1),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(!0),[H,I]=(0,e.useState)(!0),[J,K]=(0,e.useState)(null),[L,M]=(0,e.useState)(null),[N,O]=(0,e.useState)(null),[P,Q]=(0,e.useState)(null),[R,S]=(0,e.useState)("navigate"),[T,U]=(0,e.useState)("elements"),[V,W]=(0,e.useState)(null),[X,Y]=(0,e.useState)(""),[Z,$]=(0,e.useState)(!1),[_,aa]=(0,e.useState)(!1),[ab,ac]=(0,e.useState)({naturalWidth:0,naturalHeight:0,renderedWidth:0,renderedHeight:0});(0,e.useRef)(null);let ad=(0,e.useRef)(Promise.resolve()),ae=(0,e.useRef)(null),af=(0,e.useRef)(null);(0,e.useRef)(Date.now());let ag=(0,e.useRef)(null);(0,e.useRef)(null),(0,e.useRef)(null);let ah=(0,e.useRef)(0),ai=(0,e.useRef)(0),aj=(0,e.useRef)(0),am=(0,e.useRef)(0),ao=(0,e.useRef)(0),au=(0,e.useRef)(0),av=(0,e.useRef)(0);(0,e.useRef)(0);let aw=(0,e.useRef)(0),[aG,aH]=(0,e.useState)(!0),aI=ap(x?.candidateUrls??[]),aJ=Z&&_,aK=(0,e.useCallback)(b=>{let c=new URLSearchParams,d=b?.trim();d&&c.set("previewUrlHint",d);let e=c.toString();return`/api/sessions/${encodeURIComponent(a)}/preview${e?`?${e}`:""}`},[a]),aL=(0,e.useCallback)(async(a="manual")=>{ah.current+=1,"poll"===a&&(aj.current+=1);try{let a=await fetch(aK(X),{cache:"no-store"}),b=await a.json().catch(()=>null);if(!a.ok)throw Error(b&&"error"in b?b.error??"Failed to load preview state":`Failed to load preview state: ${a.status}`);let c=Date.now();null===ag.current&&(ag.current=c),y(b),K(null),Y(a=>a.trim().length>0&&a!==b.currentUrl?a:b.currentUrl??ap(b.candidateUrls)??b.candidateUrls[0]??a)}catch(a){throw ai.current+=1,a}},[aK,X]),aM=(0,e.useCallback)(async a=>{am.current+=1,E(!0),K(null);try{let b="connect"===a.command||"navigate"===a.command?a.url:X,c=await fetch(aK(b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),d=await c.json().catch(()=>null);if(!c.ok)throw d&&"object"==typeof d&&"status"in d&&d.status&&y(d.status),Error(d&&"error"in d?d.error??"Preview command failed":`Preview command failed: ${c.status}`);return y(d),d}catch(a){throw ao.current+=1,a}finally{E(!1)}},[aK,X]),aN=(0,e.useCallback)((a,b)=>{ad.current=ad.current.catch(()=>void 0).then(async()=>{try{await aM(a)}catch(a){K(a instanceof Error?a.message:b)}})},[aM]);(0,e.useCallback)(async b=>{if(!x?.connected)return void A([]);au.current+=1,C(!0);try{let c=new URLSearchParams;b&&c.set("frameId",b),H&&c.set("interactiveOnly","1");let d=await fetch(`/api/sessions/${encodeURIComponent(a)}/preview/dom?${c.toString()}`,{cache:"no-store"}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e&&"error"in e?e.error??"Failed to inspect DOM":`Failed to inspect DOM: ${d.status}`);A(e.nodes)}catch(a){av.current+=1,K(a instanceof Error?a.message:"Failed to inspect DOM"),A([])}finally{C(!1)}},[H,a,x?.connected]);let aO=(0,e.useMemo)(()=>x?.connected?`/api/sessions/${encodeURIComponent(a)}/preview/screenshot?ts=${encodeURIComponent(x.screenshotKey)}`:null,[a,x?.connected,x?.screenshotKey]),aP=aI??x?.candidateUrls[0]??null,aQ=(0,e.useMemo)(()=>x?.frames.find(a=>a.id===x.activeFrameId)??null,[x?.activeFrameId,x?.frames]),aR=(0,e.useMemo)(()=>x?.frames.find(a=>a.isMain)??null,[x?.frames]),aS=(0,e.useMemo)(()=>aA(x?.currentUrl),[x?.currentUrl]),aT=(0,e.useMemo)(()=>{let a=x?.selectedElement;return[{id:"page",title:"Page",description:"Current page identity and live preview worker state.",fields:[{label:"Title",value:aC(x?.title,"Untitled")},{label:"Current URL",value:aC(x?.currentUrl),copyValue:x?.currentUrl??null,monospace:!0},{label:"Current origin",value:aC(aS),copyValue:aS,monospace:!0},{label:"Connected",value:aB(x?.connected)},{label:"Last error",value:aC(x?.lastError,"None")}]},{id:"navigation",title:"Navigation",description:"History state and frame orientation for the current page.",fields:[{label:"Can go back",value:aB(x?.canGoBack)},{label:"Can go forward",value:aB(x?.canGoForward)},{label:"Active frame",value:aC(aQ?.name)},{label:"Main frame",value:aC(aR?.name)},{label:"Frame count",value:`${x?.frames.length??0}`}]},{id:"worker",title:"Worker",description:"Reported candidates, logs, and worker render metadata.",fields:[{label:"Candidate URLs",value:`${x?.candidateUrls.length??0}`},{label:"Auto-connect",value:aC(aI??aP),copyValue:aI??aP??null,monospace:!0},{label:"Screenshot key",value:aC(x?.screenshotKey,"Unavailable"),monospace:!0},{label:"Console rows",value:`${x?.consoleLogs.length??0}`},{label:"Network rows",value:`${x?.networkLogs.length??0}`}]},{id:"selection",title:"Selection",description:"Current element context captured from inspect mode.",fields:[{label:"Selector",value:aC(a?.selector),copyValue:a?.selector??null,monospace:!0},{label:"Tag",value:aC(a?.tag)},{label:"Role",value:aC(a?.role)},{label:"Frame",value:aC(a?.frameName)},{label:"Text",value:aC(a?.text)}]}]},[aQ?.name,aI,aS,aR?.name,aP,x]),aU=(0,e.useMemo)(()=>(x?.candidateUrls??[]).map(a=>{let b=aA(a);return{url:a,origin:b,isLoopback:function(a){try{return az.test(new URL(a).hostname)}catch{return!1}}(a),isPreferred:a===aI,isConnected:!!(x?.currentUrl&&(x.currentUrl===a||b&&aS===b)),isTunnelOrigin:!!(x?.tunnelLocalOrigin&&b===x.tunnelLocalOrigin)}}),[aI,aS,x?.candidateUrls,x?.currentUrl,x?.tunnelLocalOrigin]),aV=(0,e.useMemo)(()=>aU.filter(a=>a.isLoopback).length,[aU]),aW=(0,e.useMemo)(()=>aU.find(a=>a.isConnected)??null,[aU]),aX=null!==P,aY=!!aQ?.isMain,aZ=(0,e.useMemo)(()=>{let a=x?.selectedElement?.bounds;if(!x?.selectedElement||!a||!aR||x.selectedElement.frameId!==aR.id||!ab.naturalWidth||!ab.naturalHeight||!ab.renderedWidth||!ab.renderedHeight)return null;let b=ab.renderedWidth/ab.naturalWidth,c=ab.renderedHeight/ab.naturalHeight;return{left:`${a.x*b}px`,top:`${a.y*c}px`,width:`${Math.max(a.width*b,2)}px`,height:`${Math.max(a.height*c,2)}px`}},[ab,aR,x?.selectedElement]),a$=(0,e.useCallback)(async(a,b)=>{let c=a?.trim();if(!c)return void M("Nothing to copy yet.");try{await navigator.clipboard.writeText(c),O(b),M(null)}catch{M("Clipboard access is unavailable.")}},[]),a_=(0,e.useCallback)(async a=>{Y(a),K(null);try{await aM({command:"connect",url:a})}catch(a){K(a instanceof Error?a.message:"Failed to connect preview")}},[aM]),a0=(0,e.useCallback)(async()=>{let a=X.trim();a&&await a_(a)},[a_,X]),a1=(0,e.useCallback)((a,b,c=!1)=>{W({anchorX:a,anchorY:b,pending:c}),M(null),O(null)},[]),a2=(0,e.useCallback)(a=>{S(a),"inspect"===a&&U("elements"),W(null),M(null),O(null)},[]),a3=(0,e.useMemo)(()=>{if(!V)return null;let a=ab.renderedWidth||340,b=ab.renderedHeight||280,c=Math.max(220,b-24);if(a<=520)return{left:"12px",top:`${Math.max(12,b-Math.min(280,c)-12)}px`,width:`${Math.max(a-24,220)}px`,maxHeight:`${c}px`};let d=Math.min(340,Math.max(a-24,240)),e=Math.max(12,a-d-12),f=Math.max(12,b-280-12),g=V.anchorX+18,h=V.anchorY+18,i=g>e?Math.max(12,V.anchorX-d-18):g,j=h>f?Math.max(12,V.anchorY-280-18):h;return{left:`${Math.min(Math.max(i,12),e)}px`,top:`${Math.min(Math.max(j,12),f)}px`,width:`${d}px`,maxHeight:`${c}px`}},[ab.renderedHeight,ab.renderedWidth,V]),a4=(0,e.useCallback)(a=>{if(!ae.current)return null;let b=ae.current.getBoundingClientRect();if(!b.width||!b.height||!ae.current.naturalWidth||!ae.current.naturalHeight)return null;let c=a.clientX-b.left,d=a.clientY-b.top;return{anchorX:c,anchorY:d,x:c/b.width*ae.current.naturalWidth,y:d/b.height*ae.current.naturalHeight}},[]),a5=(0,e.useCallback)(a=>{c(a),M(null),O(a.successMessage)},[c]),a6=(0,e.useCallback)(async(a,b,c,d)=>{a1(c,d,!0);try{let e=await aM({command:"selectAtPoint",x:a,y:b});return a1(c,d,!1),e}catch(a){throw W(null),a}},[a1,aM]),a7=(0,e.useCallback)(async(a,b)=>{let c=Math.max(ab.renderedWidth-44,12);a1(c,12,!0);try{let d=await aM({command:"selectBySelector",selector:a,frameId:b});return a1(c,12,!1),d}catch(a){throw W(null),a}},[ab.renderedWidth,a1,aM]),a8=(0,e.useCallback)(async a=>{if(D)return;let b=a4(a);if(b){if(W(null),M(null),O(null),"navigate"===R){af.current?.focus({preventScroll:!0});try{await aM({command:"clickAtPoint",x:b.x,y:b.y})}catch(a){K(a instanceof Error?a.message:"Failed to interact with preview")}return}if(aY)try{await a6(b.x,b.y,b.anchorX,b.anchorY)}catch(a){K(a instanceof Error?a.message:"Failed to select element")}}},[D,aY,R,a4,aM,a6]),a9=(0,e.useCallback)(async a=>{if(D||"inspect"!==R||!aY)return;let b=a4(a);if(b){M(null),O(null);try{let a=await a6(b.x,b.y,b.anchorX,b.anchorY);if(!a.selectedElement)throw Error("No element found at the selected point");a5(ax(a.selectedElement,a.currentUrl))}catch(a){K(a instanceof Error?a.message:"Failed to queue selected element")}}},[D,aY,R,a5,a4,a6]),ba=(0,e.useCallback)(a=>{if("navigate"!==R||!x?.connected||a.metaKey||a.ctrlKey||a.altKey)return;let b=ar.get(a.key);if(b){a.preventDefault(),aN({command:"pressKey",key:b},"Failed to send key to preview");return}1===a.key.length&&(a.preventDefault(),aN({command:"typeText",text:a.key},"Failed to type into preview"))},[R,aN,x?.connected]),bb=(0,e.useCallback)(a=>{if("navigate"!==R||!x?.connected)return;let b=a.clipboardData.getData("text");b&&(a.preventDefault(),aN({command:"typeText",text:b},"Failed to paste into preview"))},[R,aN,x?.connected]),bc=(0,e.useCallback)(a=>{if(!x)return void M("Preview state is not loaded yet.");let b=x.consoleLogs.slice(-80),c=x.networkLogs.slice(-80);if("selection"===a&&!x.selectedElement)return void M("Select an element before queueing preview context for terminal input.");if("console"===a&&!b.length)return void M("There are no console logs to send yet.");if("network"===a&&!c.length)return void M("There are no network logs to send yet.");Q(a),M(null),O(null);try{let d="selection"===a&&x.selectedElement?ax(x.selectedElement,x.currentUrl):"console"===a?ay("console",b,x.currentUrl,x.selectedElement):ay("network",c,x.currentUrl,x.selectedElement);a5(d),"selection"===a&&W(null)}catch(a){M(a instanceof Error?a.message:"Failed to queue preview context")}finally{Q(null)}},[a5,x]),bd=(0,e.useCallback)(async()=>{let a=x?.selectedElement?.selector;if(a)try{await navigator.clipboard.writeText(a),O("Selector copied to clipboard."),M(null)}catch{M("Clipboard access is unavailable.")}},[x?.selectedElement?.selector]),be=(0,d.jsxs)(an.tU,{value:T,onValueChange:a=>U(a),className:"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden lg:min-h-0",children:[(0,d.jsx)("div",{className:"border-b border-[var(--vk-border)] px-2 py-2",children:(0,d.jsxs)(an.j7,{className:"w-full justify-start border-0 bg-transparent p-0",children:[(0,d.jsxs)(an.Xi,{value:"elements",children:[(0,d.jsx)(h,{className:"h-3.5 w-3.5"}),"Elements"]}),(0,d.jsxs)(an.Xi,{value:"console",children:[(0,d.jsx)(i.A,{className:"h-3.5 w-3.5"}),"Console",(0,d.jsx)(v.E,{variant:"outline",children:x?.consoleLogs.length??0})]}),(0,d.jsxs)(an.Xi,{value:"network",children:[(0,d.jsx)(j,{className:"h-3.5 w-3.5"}),"Network",(0,d.jsx)(v.E,{variant:"outline",children:x?.networkLogs.length??0})]}),(0,d.jsxs)(an.Xi,{value:"info",children:[(0,d.jsx)(k,{className:"h-3.5 w-3.5"}),"Info"]}),(0,d.jsxs)(an.Xi,{value:"proxies",children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Proxies"]})]})}),(0,d.jsxs)(an.av,{value:"elements",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-3 py-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Selected element"}),(0,d.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"inspect"===R?"Single-click to inspect. Double-click to queue the element for terminal input.":"Switch to Inspect mode to capture element context from the preview."})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)(w.$,{type:"button",variant:H?"primary":"outline",size:"sm",onClick:()=>I(a=>!a),children:H?"Interactive only":"All nodes"}),(0,d.jsxs)(w.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void bd(),disabled:!x?.selectedElement,children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5"}),"Copy selector"]}),(0,d.jsxs)(w.$,{type:"button",variant:"primary",size:"sm",onClick:()=>void bc("selection"),disabled:aX||!x?.selectedElement,children:["selection"===P?(0,d.jsx)(m.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(n.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]})]}),x?.selectedElement?(0,d.jsxs)("div",{className:"mt-3 rounded-[8px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:x.selectedElement.tag}),x.selectedElement.role?(0,d.jsx)(v.E,{variant:"outline",children:x.selectedElement.role}):null,x.selectedElement.frameName?(0,d.jsx)(v.E,{variant:"outline",children:x.selectedElement.frameName}):null]}),(0,d.jsx)("div",{className:"mt-2 text-[12px] text-[var(--vk-text-normal)]",children:at(x.selectedElement.name||x.selectedElement.text||"Selected element",180)}),(0,d.jsx)("div",{className:"mt-2 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:x.selectedElement.selector}),x.selectedElement.htmlPreview?(0,d.jsx)("div",{className:"mt-2 rounded-[6px] border border-dashed border-[var(--vk-border)] px-2.5 py-2 text-[11px] text-[var(--vk-text-muted)]",children:at(x.selectedElement.htmlPreview,260)}):null]}):(0,d.jsx)("div",{className:"mt-3 rounded-[8px] border border-dashed border-[var(--vk-border)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No element selected yet."}),x?.frames.length?(0,d.jsx)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:x.frames.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>{aM({command:"selectFrame",frameId:a.id}).catch(a=>{K(a instanceof Error?a.message:"Failed to select frame")})},className:(0,ak.cn)("inline-flex max-w-full items-center gap-2 rounded-[5px] border px-2.5 py-1.5 text-[11px]",x.activeFrameId===a.id?"border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)] text-[var(--vk-text-normal)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),children:[(0,d.jsx)(v.E,{variant:"outline",children:a.isMain?"main":"frame"}),(0,d.jsx)("span",{className:"truncate",children:a.name})]},a.id))}):null]}),(0,d.jsx)(al,{className:"min-h-0 flex-1",viewportClassName:aq.VM,children:(0,d.jsx)("div",{className:"space-y-1 p-3",children:B?(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(m.A,{className:"h-4 w-4 animate-spin"}),"Inspecting frame DOM…"]}):z.length?z.map((a,b)=>(0,d.jsxs)("button",{type:"button",className:(0,ak.cn)("w-full rounded-[6px] border px-3 py-2.5 text-left transition-colors","inspect"===R?"border-[var(--vk-border)] bg-[var(--vk-bg-main)] hover:bg-[var(--vk-bg-hover)]":"cursor-not-allowed border-[var(--vk-border)] bg-[var(--vk-bg-main)] opacity-60"),disabled:"inspect"!==R,onClick:()=>{W(null),M(null),O(null),a7(a.selector,x?.activeFrameId).catch(a=>{K(a instanceof Error?a.message:"Failed to select DOM node")})},onDoubleClick:()=>{M(null),O(null),a7(a.selector,x?.activeFrameId).then(a=>{if(!a.selectedElement)throw Error("Failed to resolve the selected DOM node");a5(ax(a.selectedElement,a.currentUrl))}).catch(a=>{K(a instanceof Error?a.message:"Failed to queue DOM node")})},children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:a.tag}),a.interactive?(0,d.jsx)(v.E,{variant:"warning",children:"interactive"}):null,a.role?(0,d.jsx)(v.E,{variant:"outline",children:a.role}):null]}),(0,d.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:a.selector}),a.text?(0,d.jsx)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-normal)]",children:at(a.text,180)}):null]},`${a.id??"node"}-${b}-${a.selector}-${a.tag}-${a.text}`)):(0,d.jsx)("div",{className:"rounded-[8px] border border-dashed border-[var(--vk-border)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"inspect"===R?"No DOM nodes to show for the current frame yet.":"Switch to Inspect mode to browse the current frame DOM."})})})]}),(0,d.jsxs)(an.av,{value:"console",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Console output"}),(0,d.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"Live browser console events from the preview worker."})]}),(0,d.jsxs)(w.$,{type:"button",variant:"primary",size:"sm",onClick:()=>void bc("console"),disabled:aX||!x?.consoleLogs.length,children:["console"===P?(0,d.jsx)(m.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(n.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,d.jsx)(al,{className:"min-h-0 flex-1",viewportClassName:aq.VM,children:(0,d.jsx)("div",{className:"space-y-1 p-3",children:x?.consoleLogs.length?x.consoleLogs.map(a=>(0,d.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,d.jsx)("span",{children:a.level}),(0,d.jsx)("span",{children:as(a.timestamp)})]}),(0,d.jsx)("div",{className:"mt-1 whitespace-pre-wrap break-all font-mono",children:a.message})]},a.id)):(0,d.jsx)("div",{className:"rounded-[8px] border border-dashed border-[var(--vk-border)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Console output appears here once the page loads."})})})]}),(0,d.jsxs)(an.av,{value:"network",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Network requests"}),(0,d.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"Recent requests captured by the preview worker."})]}),(0,d.jsxs)(w.$,{type:"button",variant:"primary",size:"sm",onClick:()=>void bc("network"),disabled:aX||!x?.networkLogs.length,children:["network"===P?(0,d.jsx)(m.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(n.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,d.jsx)(al,{className:"min-h-0 flex-1",viewportClassName:aq.VM,children:(0,d.jsx)("div",{className:"space-y-1 p-3",children:x?.networkLogs.length?x.networkLogs.map(a=>(0,d.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,d.jsx)("span",{children:a.method??"GET"}),"number"==typeof a.status?(0,d.jsx)("span",{children:a.status}):null,a.resourceType?(0,d.jsx)("span",{children:a.resourceType}):null,(0,d.jsx)("span",{children:as(a.timestamp)})]}),(0,d.jsx)("div",{className:"mt-1 break-all font-mono",children:a.url??a.message})]},a.id)):(0,d.jsx)("div",{className:"rounded-[8px] border border-dashed border-[var(--vk-border)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Network requests appear here after the preview loads."})})})]}),(0,d.jsxs)(an.av,{value:"info",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview info"}),(0,d.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"A cleaner snapshot of page, worker, navigation, and element state."})]}),(0,d.jsxs)(w.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{a$(x?.currentUrl,"Current URL copied to clipboard.")},disabled:!x?.currentUrl,children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5"}),"Copy URL"]})]}),(0,d.jsx)(al,{className:"min-h-0 flex-1",viewportClassName:aq.VM,children:(0,d.jsxs)("div",{className:"space-y-3 p-3 text-[12px] text-[var(--vk-text-normal)]",children:[(0,d.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,d.jsx)(aD,{label:"Connected",value:x?.connected?"Live":"Idle",hint:x?.currentUrl?at(x.currentUrl,60):"No active page yet"}),(0,d.jsx)(aD,{label:"Frames",value:`${x?.frames.length??0}`,hint:aQ?.name??"No active frame"}),(0,d.jsx)(aD,{label:"Console",value:`${x?.consoleLogs.length??0}`,hint:"Captured browser console rows"}),(0,d.jsx)(aD,{label:"Network",value:`${x?.networkLogs.length??0}`,hint:"Recent preview worker requests"})]}),aT.map(a=>(0,d.jsx)(aE,{section:a,onCopy:a$},a.id))]})})]}),(0,d.jsxs)(an.av,{value:"proxies",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Proxy and tunnel routing"}),(0,d.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"Candidate URLs come from the session. Tunnel metadata shows how bridge-backed previews map remote loopback into the local display origin."})]}),(0,d.jsxs)(w.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{a$(x?.tunnelLocalOrigin??x?.tunnelUrl,"Tunnel mapping copied to clipboard.")},disabled:!x?.tunnelLocalOrigin&&!x?.tunnelUrl,children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5"}),"Copy route"]})]}),(0,d.jsx)(al,{className:"min-h-0 flex-1",viewportClassName:aq.VM,children:(0,d.jsxs)("div",{className:"space-y-3 p-3 text-[12px] text-[var(--vk-text-normal)]",children:[(0,d.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,d.jsx)(aD,{label:"Candidates",value:`${aU.length}`,hint:aU.length?"Reported by the current session":"No targets reported yet"}),(0,d.jsx)(aD,{label:"Loopback",value:`${aV}`,hint:aV?"Local dev URLs available":"No local loopback URLs"}),(0,d.jsx)(aD,{label:"Tunnel",value:x?.tunnelUrl?"Ready":"None",hint:x?.tunnelLocalOrigin??"No bridge tunnel mapping",monospace:!!x?.tunnelLocalOrigin}),(0,d.jsx)(aD,{label:"Current origin",value:aS??"Idle",hint:aW?"Matches the active preview page":"Not connected to a candidate yet",monospace:!!aS})]}),(0,d.jsx)(aE,{section:{id:"tunnel-mapping",title:"Tunnel mapping",description:"Bridge previews can expose a remote tunnel while still rendering the equivalent local origin in the browser workspace.",fields:[{label:"Local origin",value:aC(x?.tunnelLocalOrigin,"Not set"),copyValue:x?.tunnelLocalOrigin??null,monospace:!0},{label:"Tunnel URL",value:aC(x?.tunnelUrl,"Not set"),copyValue:x?.tunnelUrl??null,monospace:!0},{label:"Current origin",value:aC(aS),copyValue:aS,monospace:!0}]},onCopy:a$}),(0,d.jsxs)("div",{className:"overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-3 py-3",children:[(0,d.jsx)("div",{className:"text-[11px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:"Candidate URLs"}),(0,d.jsx)("div",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:"Use connect to load a reported target into the preview browser, or copy the URL or origin for terminal context."})]}),(0,d.jsx)("div",{className:"space-y-2 p-3",children:aU.length?aU.map(a=>(0,d.jsxs)("div",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-3",children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:(0,ak.cn)("text-[12px] font-medium text-[var(--vk-text-normal)]",a.origin?"truncate":"break-all"),children:a.origin??a.url}),(0,d.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:a.url})]}),a.isConnected?(0,d.jsx)(v.E,{variant:"success",children:"current"}):null,a.isPreferred?(0,d.jsx)(v.E,{variant:"warning",children:"auto"}):null,a.isTunnelOrigin?(0,d.jsx)(v.E,{variant:"outline",children:"tunnel origin"}):null,(0,d.jsx)(v.E,{variant:"outline",children:a.isLoopback?"loopback":"remote"})]}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,d.jsxs)(w.$,{type:"button",variant:"primary",size:"sm",onClick:()=>{a_(a.url)},children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Connect"]}),(0,d.jsxs)(w.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{a$(a.url,"Candidate URL copied to clipboard.")},children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5"}),"Copy URL"]}),a.origin?(0,d.jsxs)(w.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{a$(a.origin,"Candidate origin copied to clipboard.")},children:[(0,d.jsx)(o,{className:"h-3.5 w-3.5"}),"Copy origin"]}):null]})]},a.url)):(0,d.jsx)("div",{className:"rounded-[8px] border border-dashed border-[var(--vk-border)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No candidate URLs detected yet."})})]})]})})]})]});return(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden rounded-[8px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",children:[(0,d.jsx)("div",{className:"shrink-0 border-b border-[var(--vk-border)] px-3 py-3",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(l.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Preview browser"})]}),x?.connected?(0,d.jsx)(v.E,{variant:"success",children:"connected"}):(0,d.jsx)(v.E,{variant:"outline",children:"idle"}),aQ?(0,d.jsx)(v.E,{variant:"outline",children:aQ.isMain?"main frame":"nested frame"}):null,x?.title?(0,d.jsx)(v.E,{variant:"outline",children:at(x.title,40)}):null,V?.pending?(0,d.jsx)(v.E,{variant:"warning",children:"selecting element…"}):null]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2 lg:flex-row lg:items-center",children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3",children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{value:X,onChange:a=>Y(a.target.value),placeholder:aP??"http://127.0.0.1:3000",className:"h-10 min-w-0 flex-1 bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)(w.$,{type:"button",variant:"primary",onClick:()=>void a0(),disabled:D||!X.trim(),children:[D?(0,d.jsx)(m.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(p,{className:"h-4 w-4"}),"Connect"]}),(0,d.jsxs)(w.$,{type:"button","aria-label":"Go back",variant:"outline",onClick:()=>void aM({command:"goBack"}).then(a=>{Y(a.currentUrl??"")}).catch(a=>{K(a instanceof Error?a.message:"Failed to go back")}),disabled:!x?.connected||!x?.canGoBack||D,children:[(0,d.jsx)(q.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Back"})]}),(0,d.jsxs)(w.$,{type:"button","aria-label":"Go forward",variant:"outline",onClick:()=>void aM({command:"goForward"}).then(a=>{Y(a.currentUrl??"")}).catch(a=>{K(a instanceof Error?a.message:"Failed to go forward")}),disabled:!x?.connected||!x?.canGoForward||D,children:[(0,d.jsx)(r,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Forward"})]}),(0,d.jsxs)(w.$,{type:"button","aria-label":"Refresh preview status",variant:"outline",onClick:()=>void aL("manual").catch(a=>{K(a instanceof Error?a.message:"Failed to refresh preview")}),disabled:F||D,children:[(0,d.jsx)(s.A,{className:(0,ak.cn)("h-3.5 w-3.5",D&&"animate-spin")}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Refresh"})]}),(0,d.jsxs)(w.$,{type:"button","aria-label":"Reload preview page",variant:"outline",onClick:()=>void aM({command:"reload"}).catch(a=>{K(a instanceof Error?a.message:"Failed to reload preview")}),disabled:!x?.connected||D,children:[(0,d.jsx)(o,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Reload"})]})]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-1",children:[(0,d.jsxs)(w.$,{type:"button",size:"sm",variant:"navigate"===R?"primary":"ghost",onClick:()=>a2("navigate"),children:[(0,d.jsx)(p,{className:"h-3.5 w-3.5"}),"Navigate"]}),(0,d.jsxs)(w.$,{type:"button",size:"sm",variant:"inspect"===R?"primary":"ghost",onClick:()=>a2("inspect"),children:[(0,d.jsx)(t.A,{className:"h-3.5 w-3.5"}),"Inspect"]})]}),(0,d.jsxs)(w.$,{type:"button",size:"sm",variant:aJ?"primary":"outline",className:"lg:hidden",onClick:()=>aa(a=>!a),children:[(0,d.jsx)(h,{className:"h-3.5 w-3.5"}),aJ?"Hide tools":"Browser tools"]})]}),Z?null:(0,d.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"navigate"===R?"Navigate mode sends clicks and typing into the running app.":aY?"Inspect mode lets you click once to inspect, double-click to queue for terminal input.":"Inspect mode is limited to the frame DOM list for nested frames."})]}),!x?.connected&&x?.candidateUrls.length&&(!Z||_)?(0,d.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:x.candidateUrls.map(a=>(0,d.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2.5 py-1.5 text-left text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",onClick:()=>{a_(a)},children:[(0,d.jsx)(l.A,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:a})]},a))}):null,J||x?.lastError?(0,d.jsxs)("div",{className:"flex items-start gap-2 rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-red)_45%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:[(0,d.jsx)(u.A,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,d.jsx)("span",{children:J??x?.lastError})]}):null,N?(0,d.jsx)("div",{className:"rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-green)_35%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-green)_10%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-green)]",children:N}):null,L?(0,d.jsx)("div",{className:"rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-red)_35%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_10%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:L}):null]})}),(0,d.jsxs)("div",{className:`relative flex min-h-0 min-w-0 flex-1 flex-col lg:grid lg:min-h-0 lg:grid-cols-[minmax(0,1.55fr)_minmax(320px,0.95fr)] ${aq.DK}`,children:[(0,d.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-[1.25] flex-col overflow-hidden border-b border-[var(--vk-border)] lg:flex-1 lg:border-b-0 lg:border-r",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-2 text-[11px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)("div",{className:"min-w-0",children:(0,d.jsx)("div",{className:"truncate text-[var(--vk-text-normal)]",children:x?.currentUrl??aP??"No active preview URL yet"})}),x?.connected?(0,d.jsxs)(v.E,{variant:"outline",children:[x?.frames.length??0," frame",(x?.frames.length??0)===1?"":"s"]}):null]}),(0,d.jsx)("div",{className:aq.qg,children:(0,d.jsx)("div",{className:"flex h-full min-h-[min(200px,45vh)] w-full items-center justify-center lg:min-h-[260px]",children:F?(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(m.A,{className:"h-4 w-4 animate-spin"}),"Loading preview…"]}):aO?(0,d.jsxs)("div",{ref:af,tabIndex:x?.connected?0:-1,onKeyDown:ba,onPaste:bb,className:`relative flex max-h-full max-w-full items-start justify-center overflow-auto rounded-[10px] outline-none focus-visible:ring-2 focus-visible:ring-[var(--vk-orange)] focus-visible:ring-offset-2 focus-visible:ring-offset-[#0f1012] ${aq.hq}`,children:[(0,d.jsx)("img",{ref:ae,src:aO,alt:"Session preview",className:(0,ak.cn)("max-h-full max-w-full rounded-[8px] object-contain shadow-[0_18px_36px_rgba(0,0,0,0.28)]","navigate"===R?"cursor-pointer":aY?"cursor-crosshair":"cursor-default"),onClick:a=>void a8(a),onDoubleClick:a=>void a9(a),onLoad:a=>{aw.current+=1;let b=a.currentTarget;ac({naturalWidth:b.naturalWidth,naturalHeight:b.naturalHeight,renderedWidth:b.clientWidth,renderedHeight:b.clientHeight})}}),"inspect"===R&&aZ?(0,d.jsx)("div",{className:"pointer-events-none absolute border-2 border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_18%,transparent)] shadow-[0_0_0_1px_rgba(0,0,0,0.5)]",style:aZ}):null,"inspect"===R&&V&&a3?(0,d.jsx)("div",{className:"pointer-events-none absolute z-20 rounded-[10px] border border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_94%,black_6%)] px-3 py-2 text-[11px] text-[var(--vk-text-normal)] shadow-[0_16px_40px_rgba(0,0,0,0.35)] backdrop-blur",style:a3,children:V.pending?"Selecting element…":x?.selectedElement?`${x.selectedElement.tag} \xb7 ${at(x.selectedElement.selector,120)}`:"Selection ready"}):null]}):(0,d.jsx)("div",{className:"max-w-md text-center text-[13px] text-[var(--vk-text-muted)]",children:"Connect a local dev URL or explicit preview URL to start the preview browser. Navigate mode lets you interact with the running app. Inspect mode lets you capture UI context and queue it into terminal input."})})})]}),Z?null:be]}),Z&&aJ?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"absolute inset-0 z-10 bg-black/35 lg:hidden",onClick:()=>aa(!1),"aria-hidden":"true"}),(0,d.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-20 flex max-h-[min(72vh,36rem)] min-h-[18rem] flex-col overflow-hidden rounded-t-[14px] border border-b-0 border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_96%,black_4%)] shadow-[0_-24px_48px_rgba(0,0,0,0.42)] lg:hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-[var(--vk-border)] px-3 py-2.5",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,d.jsx)(h,{className:"h-4 w-4 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Browser tools"}),(0,d.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Hidden by default on mobile so the browser stays front and center."})]})]}),(0,d.jsx)(w.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>aa(!1),children:"Hide"})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:be})]})]}):null]})}},69368:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},76366:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},76680:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=5523,exports.ids=[5523],exports.modules={25985:(a,b,c)=>{c.d(b,{FM:()=>g,JZ:()=>f,N7:()=>h});var d=c(32679),e=c(70209);async function f(a){let b=await (0,d.ny)(a),c=new Headers({"x-conductor-proxy-authorized":"true","x-conductor-access-authenticated":b.authenticated||"local"===b.provider?"true":"false"});b.role&&c.set("x-conductor-access-role",b.role),b.email&&c.set("x-conductor-access-email",b.email),b.provider&&c.set("x-conductor-access-provider",b.provider);let e=process.env.CONDUCTOR_PROXY_AUTH_SECRET?.trim()||null;return e&&c.set("x-conductor-proxy-secret",e),c}async function g(a,b,c={}){let h=await (0,d.sB)(a,c.role??"viewer");if(h)return h;if(c.requireActionGuard){let b=(0,d.G1)(a);if(b)return b}return(0,e.zP)(a,b,{headers:await f(a)})}async function h(a,b,c={}){let g=await (0,d.sB)(a,c.role??"viewer");if(g)return g;if(c.requireActionGuard){let b=(0,d.G1)(a);if(b)return b}return(0,e.X_)(a,b,{headers:await f(a)})}},28480:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ob:()=>z});var e=c(71553),f=c(31421),g=c(4573),h=c(73024),i=c(77030),j=c(76760),k=c(8856),l=c(34140),m=c(36026),n=c(94842),o=c(59506),p=a([k,l]);[k,l]=p.then?(await p)():p;let A={width:1440,height:960},B=["127.0.0.1","localhost","::1","0.0.0.0"],C=/^[a-z][a-z\d+.-]*:\/\//i,D=/^(?:localhost|127\.0\.0\.1|0\.0\.0\.0|\[::1\]|::1)(?::\d+)?(?:\/.*)?$/i;function q(a){return a.replace(/^\[(.*)\]$/,"$1").toLowerCase()}function r(a){let b=q(a);return B.includes(b)}function s(a){let b=a.split(".").map(a=>Number.parseInt(a,10));if(4!==b.length||b.some(a=>!Number.isInteger(a)||a<0||a>255))return!0;let[c,d]=b;return 0===c||10===c||127===c||100===c&&d>=64&&d<=127||169===c&&254===d||172===c&&d>=16&&d<=31||192===c&&168===d||198===c&&(18===d||19===d)||c>=224}function t(a){let b=q(a),c=(0,i.isIP)(b);if(4===c)return s(b);if(6===c){let a,c;return c=(a=q(b).toLowerCase()).startsWith("::ffff:")?a.slice(7):null,"::"===a||"::1"===a||a.startsWith("fe8")||a.startsWith("fe9")||a.startsWith("fea")||a.startsWith("feb")||a.startsWith("fc")||a.startsWith("fd")||!!c&&s(c)}return!1}async function u(a){if(process.env.CONDUCTOR_ALLOW_UNSAFE_PREVIEW_HOSTS?.trim().toLowerCase()==="true")return;let b=new URL(a);if(!r(b.hostname)){if(t(b.hostname))throw Error("Preview navigation to private network hosts is blocked. Use loopback URLs for local dev servers or set CONDUCTOR_ALLOW_UNSAFE_PREVIEW_HOSTS=true to override.");if((await (0,e.lookup)(b.hostname,{all:!0,verbatim:!0}).catch(()=>[])).some(a=>t(a.address)))throw Error("Preview navigation resolved to a private network address and was blocked. Set CONDUCTOR_ALLOW_UNSAFE_PREVIEW_HOSTS=true only if you intentionally trust that target.")}}function v(a,b){try{let c=new URL(a),d=new URL(b);return c.origin===d.origin}catch{return a===b}}let E=globalThis;function w(a,b){a.push(b),a.length>150&&a.splice(0,a.length-150)}function x(a){return`${a}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function y(a){return(a??"").replace(/\s+/g," ").trim()}class F{async getBrowser(){return this.browserPromise||(this.browserPromise=k.default.launch({headless:!0,executablePath:function(){let a=process.env.PUPPETEER_EXECUTABLE_PATH?.trim();if(a)return a;for(let a of[l.ChromeReleaseChannel.STABLE,l.ChromeReleaseChannel.CANARY,l.ChromeReleaseChannel.BETA,l.ChromeReleaseChannel.DEV])try{return(0,l.computeSystemExecutablePath)({browser:l.Browser.CHROME,channel:a})}catch{}let b=function(){for(let a of"darwin"===process.platform?["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome","/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary","/Applications/Chromium.app/Contents/MacOS/Chromium","/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge","/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"]:"win32"===process.platform?[process.env.PROGRAMFILES,process.env["PROGRAMFILES(X86)"],process.env.LOCALAPPDATA].filter(a=>!!a?.trim()).flatMap(a=>[(0,j.join)(a,"Google","Chrome","Application","chrome.exe"),(0,j.join)(a,"Chromium","Application","chrome.exe"),(0,j.join)(a,"Microsoft","Edge","Application","msedge.exe"),(0,j.join)(a,"BraveSoftware","Brave-Browser","Application","brave.exe")]):["google-chrome-stable","google-chrome","chromium-browser","chromium","microsoft-edge","brave-browser"]){if(a.includes("/")||a.includes("\\")){if((0,h.existsSync)(a))return a;continue}let b=function(a){let b="win32"===process.platform?"where":"which";try{return(0,f.execFileSync)(b,[a],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim().split(/\r?\n/).map(a=>a.trim()).find(Boolean)||null}catch{return null}}(a);if(b)return b}return null}();if(b)return b;throw Error("Chrome/Chromium not found. Install a supported browser or set PUPPETEER_EXECUTABLE_PATH.")}(),defaultViewport:A,args:["--disable-dev-shm-usage","--disable-background-networking","--no-first-run","--no-default-browser-check"]})),this.browserPromise}getState(a){let b=this.states.get(a);return b||(b={sessionId:a,context:null,page:null,destroying:!1,activeFrameId:null,selectedElement:null,consoleLogs:[],networkLogs:[],lastError:null,frameIds:new WeakMap,requestStarts:new WeakMap,frameSequence:0,bridgePreview:null,requestInterceptionEnabled:!1},this.states.set(a,b)),b}async ensureContext(a,b){return a.context&&!a.context.closed||(a.context=await b.createBrowserContext()),a.context}async destroySession(a,b={}){let c=this.states.get(a);if(!c||c.destroying)return;c.destroying=!0;let d=c.page,e=c.context;try{!1!==b.closePage&&d&&!d.isClosed()&&await d.close().catch(()=>{}),e&&!e.closed&&await e.close().catch(()=>{})}finally{this.states.delete(a)}}ensureFrameId(a,b){let c=a.frameIds.get(b);if(c)return c;let d=`frame-${++a.frameSequence}`;return a.frameIds.set(b,d),d}async configureBridgePreview(a,b,c){let d=this.getState(a);d.bridgePreview=b&&c?{...b,forwardedHeaders:Object.fromEntries(new Headers(c).entries())}:null,d.page&&!d.page.isClosed()&&await this.syncRequestInterception(d,d.page)}async syncRequestInterception(a,b,c){!0!==a.requestInterceptionEnabled&&(await b.setRequestInterception(!0),a.requestInterceptionEnabled=!0)}async handlePreviewRequest(a,b){let c,d=a.bridgePreview;if(!d){await u(b.url()),await b.continue();return}try{c=new URL(b.url())}catch{await b.abort("blockedbyclient");return}if("http:"!==c.protocol&&"https:"!==c.protocol||!d.allowedOrigins.includes(c.origin))return void await b.abort("blockedbyclient");let e="GET"===b.method()||"HEAD"===b.method()?null:b.postData()??null,f=await (0,n.LN)(d.bridgeId,d.forwardedHeaders,{sessionId:d.sessionId,method:b.method(),url:c.toString(),headers:function(a){let b={};for(let[c,d]of Object.entries(a)){let a=c.trim().toLowerCase();a&&"host"!==a&&"connection"!==a&&"proxy-connection"!==a&&"keep-alive"!==a&&"transfer-encoding"!==a&&"content-length"!==a&&"accept-encoding"!==a&&(b[a]=d)}return b}(b.headers()),bodyBase64:e?g.Buffer.from(e).toString("base64"):null});await b.respond({status:f.status,headers:f.headers,body:f.bodyBase64?g.Buffer.from(f.bodyBase64,"base64"):g.Buffer.alloc(0)})}attachListeners(a,b){b.on("console",b=>{this.captureConsole(a,b)}),b.on("pageerror",b=>{let c=b instanceof Error?b.message:String(b);w(a.consoleLogs,{id:x("pageerror"),kind:"pageerror",level:"error",message:c,timestamp:new Date().toISOString()}),a.lastError=c}),b.on("request",b=>{a.requestStarts.set(b,Date.now()),a.requestInterceptionEnabled&&this.handlePreviewRequest(a,b).catch(async c=>{a.lastError=c instanceof Error?c.message:"Bridge preview request failed",w(a.networkLogs,{id:x("preview-request"),kind:"network",level:"error",message:a.lastError,timestamp:new Date().toISOString(),url:b.url(),method:b.method(),status:null,resourceType:b.resourceType()});try{await b.abort("failed")}catch{}})}),b.on("response",b=>{this.captureResponse(a,b)}),b.on("requestfailed",b=>{w(a.networkLogs,{id:x("requestfailed"),kind:"network",level:"error",message:b.failure()?.errorText??"Request failed",timestamp:new Date().toISOString(),url:b.url(),method:b.method(),status:null,resourceType:b.resourceType()})}),b.on("framenavigated",c=>{let d=this.ensureFrameId(a,c);c===b.mainFrame()&&(a.activeFrameId??=d),a.selectedElement?.frameId===d&&(a.selectedElement=null)}),b.on("close",()=>{this.destroySession(a.sessionId,{closePage:!1})})}captureConsole(a,b){let c=b.location();w(a.consoleLogs,{id:x("console"),kind:"console",level:b.type(),message:y(b.text()),timestamp:new Date().toISOString(),url:c.url??null})}captureResponse(a,b){let c=b.request();w(a.networkLogs,{id:x("network"),kind:"network",level:b.ok()?"info":"error",message:`${c.method()} ${b.status()} ${y(b.statusText())}`.trim(),timestamp:new Date().toISOString(),url:b.url(),method:c.method(),status:b.status(),resourceType:c.resourceType()})}async ensurePage(a){let b=await this.getBrowser(),c=this.getState(a);if(c.page&&!c.page.isClosed())return await this.syncRequestInterception(c,c.page),{state:c,page:c.page};let d=await this.ensureContext(c,b),e=await d.newPage();return await e.setViewport(A),e.setDefaultNavigationTimeout(3e4),e.setDefaultTimeout(15e3),this.attachListeners(c,e),await this.syncRequestInterception(c,e),c.page=e,c.activeFrameId=this.ensureFrameId(c,e.mainFrame()),c.selectedElement=null,c.lastError=null,{state:c,page:e}}collectFrames(a,b){let c=b.frames().map(c=>{let d=this.ensureFrameId(a,c),e=c.parentFrame();return{id:d,name:c.name()||(c===b.mainFrame()?"Main frame":"Untitled frame"),url:c.url(),parentId:e?this.ensureFrameId(a,e):null,isMain:c===b.mainFrame()}});return c.some(b=>b.id===a.activeFrameId)||(a.activeFrameId=c.find(a=>a.isMain)?.id??c[0]?.id??null),a.selectedElement&&!c.some(b=>b.id===a.selectedElement?.frameId)&&(a.selectedElement=null),c}resolveFrame(a,b,c){let d=c??a.activeFrameId,e=b.frames();return d?e.find(b=>this.ensureFrameId(a,b)===d)??b.mainFrame():b.mainFrame()}async navigationProducedUsablePage(a,b,c,d){if(!(d instanceof Error?d.message:String(d)).toLowerCase().includes("net::err_aborted"))return!1;let e=a.url();if("about:blank"===e||e===c&&!v(e,b)||!v(e,b))return!1;try{let b=await a.evaluate(()=>document.readyState);return"interactive"===b||"complete"===b}catch{return!1}}async snapshotElement(a,b,c){return a.evaluate(({selector:a,point:b})=>{var c,d;let e,f,g,h;function i(a){return(a??"").replace(/\s+/g," ").trim()}let j=null;return("string"==typeof a&&a.trim()?j=document.querySelector(a):b&&(j=document.elementFromPoint(b.x,b.y)),j)?(c=j,e=i(c.outerHTML).slice(0,400),f=i(c.textContent),g=c.getBoundingClientRect(),h=[...c.attributes].reduce((a,b)=>(a&&Object.keys(a).length>=12||(a[b.name]=b.value),a),{}),{selector:function(a){let b=[],c=a;for(;c&&b.length<5;){let a=function(a){let b=a.tagName.toLowerCase(),c=i(a.getAttribute("id"));if(c)return`#${CSS.escape(c)}`;let d=[...a.classList].slice(0,2).map(a=>`.${CSS.escape(a)}`).join(""),e="",f=a.parentElement;if(f){let b=[...f.children].filter(b=>b.tagName===a.tagName);b.length>1&&(e=`:nth-of-type(${b.indexOf(a)+1})`)}return`${b}${d}${e}`}(c);if(b.unshift(a),a.startsWith("#"))break;c=c.parentElement}return b.join(" > ")}(c),tag:c.tagName.toLowerCase(),text:f.slice(0,220),role:function(a){let b=i(a.getAttribute("role"));if(b)return b;let c=a.tagName.toLowerCase();return"button"===c?"button":"a"===c&&a.hasAttribute("href")?"link":"input"===c?(a.getAttribute("type")??"textbox").toLowerCase():null}(c),name:(d=f.slice(0,220),i(c.getAttribute("aria-label")??c.getAttribute("title")??c.getAttribute("placeholder")??c.getAttribute("alt")??d)||null),interactive:function(a){if(!(a instanceof HTMLElement))return!1;let b=a.tagName.toLowerCase();return!!(["button","input","select","textarea","summary"].includes(b)||"a"===b&&a.hasAttribute("href")||a.hasAttribute("contenteditable")||a.hasAttribute("onclick")||(a.getAttribute("role")??"").match(/button|link|tab|checkbox|radio|switch|textbox|menuitem/i))||a.tabIndex>=0}(c),id:i(c.getAttribute("id"))||null,classes:[...c.classList].slice(0,6),htmlPreview:e,bounds:{x:g.x,y:g.y,width:g.width,height:g.height},attributes:h}):null},{selector:b,point:c})}async connect(a,b){let{state:c,page:d}=await this.ensurePage(a),e=function(a){let b,c=!(b=a.trim())||C.test(b)?b:D.test(b)?`http://${b}`:b;try{let a=new URL(c),b=a.toString(),d=q(a.hostname),e=a.protocol.toLowerCase();if("http:"!==e&&"https:"!==e)throw Error(`Navigation blocked: only http and https URLs are allowed. Got protocol "${a.protocol}".`);if(r(d)){let a=new Set([b]);for(let c of B){let d=new URL(b);d.hostname=c,a.add(d.toString())}return[...a]}return[b]}catch(a){if(a instanceof Error&&a.message.startsWith("Navigation blocked:"))throw a;throw Error(`Navigation blocked: could not parse "${c}" as a valid URL.`)}}(b),f=null;for(let a of e){let b=function(a,b){if(!b)return"direct";try{let c=new URL(a),d=r(q(c.hostname));if(b.allowedOrigins.includes(c.origin))return"bridge";return d?"blocked":"direct"}catch{return"direct"}}(a,c.bridgePreview);if("blocked"===b){f=Error("Bridge preview only allows navigation to the session's reported local dev server origin.");continue}let e=d.url();try{"direct"===b&&await u(a),await this.syncRequestInterception(c,d,a),await d.goto(a,{waitUntil:"domcontentloaded"}),await this.syncRequestInterception(c,d),c.selectedElement=null,c.lastError=null,c.activeFrameId=this.ensureFrameId(c,d.mainFrame());return}catch(b){if(await this.navigationProducedUsablePage(d,a,e,b)){await this.syncRequestInterception(c,d),c.selectedElement=null,c.lastError=null,c.activeFrameId=this.ensureFrameId(c,d.mainFrame());return}f=b}}throw c.lastError=f instanceof Error?f.message:"Failed to connect preview",f??Error("Failed to connect preview")}async runCommand(a,b){switch(b.command){case"connect":case"navigate":await this.connect(a,b.url);return;case"reload":{let{state:b,page:c}=await this.ensurePage(a);try{await c.reload({waitUntil:"domcontentloaded"}),b.lastError=null}catch(a){throw b.lastError=a instanceof Error?a.message:"Failed to reload preview",a}return}case"goBack":{let{state:b,page:c}=await this.ensurePage(a);try{await this.syncRequestInterception(b,c),await c.goBack({waitUntil:"domcontentloaded",timeout:1500}),await this.syncRequestInterception(b,c),b.selectedElement=null,b.lastError=null,b.activeFrameId=this.ensureFrameId(b,c.mainFrame())}catch(a){throw b.lastError=a instanceof Error?a.message:"Failed to go back",a}return}case"goForward":{let{state:b,page:c}=await this.ensurePage(a);try{await this.syncRequestInterception(b,c),await c.goForward({waitUntil:"domcontentloaded",timeout:1500}),await this.syncRequestInterception(b,c),b.selectedElement=null,b.lastError=null,b.activeFrameId=this.ensureFrameId(b,c.mainFrame())}catch(a){throw b.lastError=a instanceof Error?a.message:"Failed to go forward",a}return}case"selectFrame":{let{state:c,page:d}=await this.ensurePage(a),e=this.resolveFrame(c,d,b.frameId);c.activeFrameId=this.ensureFrameId(c,e),c.selectedElement=null,c.lastError=null;return}case"clickAtPoint":{let{state:c,page:d}=await this.ensurePage(a);c.selectedElement=null,c.lastError=null;let e=d.waitForNavigation({waitUntil:"domcontentloaded",timeout:1500}).catch(()=>null);await d.mouse.click(b.x,b.y),await e,await d.waitForNetworkIdle({idleTime:250,timeout:1e3}).catch(()=>null);return}case"typeText":{let{state:c,page:d}=await this.ensurePage(a);if(!b.text)return;await d.keyboard.type(b.text),c.lastError=null;return}case"pressKey":{let{state:c,page:d}=await this.ensurePage(a);c.lastError=null;let e=d.waitForNavigation({waitUntil:"domcontentloaded",timeout:1500}).catch(()=>null);await d.keyboard.press(b.key),await e,await d.waitForNetworkIdle({idleTime:250,timeout:1e3}).catch(()=>null);return}case"selectAtPoint":{let{state:c,page:d}=await this.ensurePage(a),e=this.resolveFrame(c,d,c.activeFrameId);if(e!==d.mainFrame())throw Error("Point selection is only available for the main frame. Pick nested frame elements from the DOM list.");let f=await this.snapshotElement(e,void 0,{x:b.x,y:b.y});if(!f)throw Error("No element found at the selected point");c.selectedElement={...f,frameId:this.ensureFrameId(c,e),frameName:e.name()||"Main frame",frameUrl:e.url()},c.lastError=null;return}case"selectBySelector":{let{state:c,page:d}=await this.ensurePage(a),e=this.resolveFrame(c,d,b.frameId),f=await this.snapshotElement(e,b.selector);if(!f)throw Error(`Element not found for selector: ${b.selector}`);c.selectedElement={...f,frameId:this.ensureFrameId(c,e),frameName:e.name()||(e===d.mainFrame()?"Main frame":"Frame"),frameUrl:e.url()},c.activeFrameId=this.ensureFrameId(c,e),c.lastError=null;return}default:return}}async inspectDom(a,b,c=!1){let{state:d,page:e}=await this.ensurePage(a),f=this.resolveFrame(d,e,b),g=await f.evaluate(({interactiveOnly:a,limit:b})=>{function c(a){return(a??"").replace(/\s+/g," ").trim()}let d=document.body??document.documentElement,e=document.createTreeWalker(d,NodeFilter.SHOW_ELEMENT),f=[],g=0;for(;e.nextNode();){g+=1;let d=e.currentNode;if(!(d instanceof Element))continue;let h=function(a){if(!(a instanceof HTMLElement))return!1;let b=a.tagName.toLowerCase();return!!(["button","input","select","textarea","summary"].includes(b)||"a"===b&&a.hasAttribute("href")||a.hasAttribute("contenteditable")||(a.getAttribute("role")??"").match(/button|link|tab|checkbox|radio|switch|textbox|menuitem/i))||a.tabIndex>=0}(d);if(a&&!h)continue;let i=c(d.textContent).slice(0,220),j=d.getBoundingClientRect();if(f.push({selector:function(a){let b=[],d=a;for(;d&&b.length<5;){let a=function(a){let b=a.tagName.toLowerCase(),d=c(a.getAttribute("id"));if(d)return`#${CSS.escape(d)}`;let e=[...a.classList].slice(0,2).map(a=>`.${CSS.escape(a)}`).join(""),f="",g=a.parentElement;if(g){let b=[...g.children].filter(b=>b.tagName===a.tagName);b.length>1&&(f=`:nth-of-type(${b.indexOf(a)+1})`)}return`${b}${e}${f}`}(d);if(b.unshift(a),a.startsWith("#"))break;d=d.parentElement}return b.join(" > ")}(d),tag:d.tagName.toLowerCase(),text:i,role:function(a){let b=c(a.getAttribute("role"));if(b)return b;let d=a.tagName.toLowerCase();return"button"===d?"button":"a"===d&&a.hasAttribute("href")?"link":"input"===d?(a.getAttribute("type")??"textbox").toLowerCase():null}(d),name:c(d.getAttribute("aria-label")??d.getAttribute("title")??d.getAttribute("placeholder")??d.getAttribute("alt")??i)||null,interactive:h,id:c(d.getAttribute("id"))||null,classes:[...d.classList].slice(0,6),htmlPreview:c(d.outerHTML).slice(0,320),bounds:{x:j.x,y:j.y,width:j.width,height:j.height}}),f.length>=b)break}return{nodes:f,truncated:f.length>=b||g>f.length}},{interactiveOnly:c,limit:250});return{frameId:this.ensureFrameId(d,f),nodes:g.nodes,truncated:g.truncated}}async takeScreenshot(a){let{page:b}=await this.ensurePage(a);return"about:blank"===b.url()?null:b.screenshot({type:"png"})}async getNavigationCapabilities(a){if(!a||a.isClosed()||"about:blank"===a.url())return{canGoBack:!1,canGoForward:!1};let b=null;try{b=await a.createCDPSession();let c=await b.send("Page.getNavigationHistory");return{canGoBack:c.currentIndex>0,canGoForward:c.currentIndex<c.entries.length-1}}catch{return{canGoBack:!1,canGoForward:!1}}finally{await b?.detach().catch(()=>null)}}async getStatus(a,b){let c=this.states.get(a)??null,d=c?.page&&!c.page.isClosed()?c.page:null,e=c&&d?this.collectFrames(c,d):[],{canGoBack:f,canGoForward:g}=await this.getNavigationCapabilities(d),h=null;if(d&&"about:blank"!==d.url())try{h=await d.title()}catch{h=null}return{connected:!!(d&&"about:blank"!==d.url()),candidateUrls:b,currentUrl:d&&"about:blank"!==d.url()?d.url():null,title:h,tunnelUrl:null,tunnelLocalOrigin:null,canGoBack:f,canGoForward:g,frames:e,activeFrameId:c?.activeFrameId??null,selectedElement:c?.selectedElement??null,consoleLogs:c?.consoleLogs??[],networkLogs:c?.networkLogs??[],lastError:c?.lastError??null,screenshotKey:`${Date.now()}`}}constructor(){this.browserPromise=null,this.states=new Map}}function z(){return!function(){let a=(0,m._)();if(!a)return!1;try{let b=new URL(a).hostname.toLowerCase();return"localhost"===b||"127.0.0.1"===b||"0.0.0.0"===b||"::1"===b||"[::1]"===b}catch{return!1}}()?(0,o.k)():(E._conductorPreviewBrowserManager||(E._conductorPreviewBrowserManager=new F),E._conductorPreviewBrowserManager)}d()}catch(a){d(a)}})},36026:(a,b,c)=>{function d(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.toString()}catch{return null}}function e(a){let b=a?.trim();if(!b)return null;let c=Number.parseInt(b,10);return!Number.isInteger(c)||c<1||c>65535?null:c}function f(){let a=d(process.env.CONDUCTOR_BACKEND_URL);if(a)return a;let b=d(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL);if(b)return b;let c=e(process.env.CONDUCTOR_BACKEND_PORT);if(null!==c)return`http://127.0.0.1:${c}`;let f=e(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_PORT);return null!==f?`http://127.0.0.1:${f}`:null}function g(){let a=f();if(!a)throw Error("Rust backend URL is not configured");return a}c.d(b,{B:()=>g,_:()=>f})},42599:(a,b,c)=>{c.d(b,{Ix:()=>s});var d=c(51455),e=c(94842),f=c(36026),g=c(91752);let h=/(?:127\.0\.0\.1|0\.0\.0\.0|localhost|::1|\[::1\])/i,i=/\bhttps?:\/\/[^\s"'<>`]+/gi,j=/^[a-z][a-z\d+.-]*:\/\//i,k=/(?<!:\/\/)(?:localhost|127\.0\.0\.1|0\.0\.0\.0|\[::1\]|::1)(?::\d+)?(?:\/[^\s"'<>`]*)?/gi,l=new Set(["previewUrl","devServerUrl","devServerURL","localUrl"]),m={devServerUrl:0,devServerURL:0,localUrl:10,previewUrl:50};function n(a,b){let c=a[b];return"string"==typeof c?c:null}async function o(a,b={}){let c,d=a.bridgeId?.trim()||(0,g.DW)(a.id)?.bridgeId||null;try{if(d){if(!b.request)return[];c=await (0,e.nl)(b.request,d,"/api/repositories",{pathOverride:"/api/repositories",bodyOverride:b.requestBody})}else{let a=(0,f.B)();c=await fetch(new URL("/api/repositories",a),{cache:"no-store",headers:b.headers})}}catch{return[]}if(!c.ok)return[];let h=await c.json().catch(()=>null),i=(Array.isArray(h?.repositories)?h.repositories:[]).find(b=>b&&"object"==typeof b&&n(b,"id")===a.projectId);if(!i||"object"!=typeof i)return[];let j=function(a){var b,c;let d,e,f=n(a,"devServerUrl")?.trim();if(f)return f;let g=n(a,"devServerPort")?.trim();if(!g)return null;let h=!0===a.devServerHttps?"https":"http",i=(b=n(a,"devServerHost"),(d=b?.trim())?"0.0.0.0"===d?"127.0.0.1":d:"127.0.0.1"),j=(c=n(a,"devServerPath"),(e=c?.trim())&&"/"!==e?e.startsWith("/")?e:`/${e}`:"");return`${h}://${i}:${g}${j}`}(i);return j?[j]:[]}function p(a,b=""){let c=(0,g.DW)(a),d=c?.sessionId??a;return`/api/sessions/${encodeURIComponent(d)}${b}`}async function q(a,b,c={}){let d=(0,g.DW)(a);if(d){if(!c.request)throw Error("Bridge preview lookup requires the incoming request context");return(0,e.nl)(c.request,d.bridgeId,b,{pathOverride:b,bodyOverride:c.requestBody})}return fetch(new URL(b,(0,f.B)()),{cache:"no-store",headers:c.headers})}async function r(a,b={}){let c=(0,g.DW)(a),d=await q(a,p(a),b);if(404===d.status)return null;if(!d.ok)throw Error(`Failed to fetch session ${a}: ${d.status}`);let e=await d.json();return c?(0,g.Vk)(e,c.bridgeId):e}async function s(a,b={}){try{var c,d;let e=await r(a,b);if(!e)return{session:null,candidateUrls:[],error:null,bridgePreview:null};let f=await z(e,b);return{session:e,candidateUrls:f,error:(c=e,d=f,!c.bridgeId?.trim()||d.length>0?null:[c.pr?.previewUrl??null,c.metadata.previewUrl??null,c.metadata.devServerUrl??null,c.metadata.devServerURL??null,c.metadata.localUrl??null,c.metadata.url??null,c.summary].some(a=>v(a).some(a=>w(a)))?"Bridge preview could not find a paired-device local dev server URL for this session.":"Bridge preview uses the paired device's local dev server, but this session did not report one."),bridgePreview:function(a,b){let c=a.bridgeId?.trim();if(!c)return null;let d=[...new Set(b.filter(a=>w(a)).map(a=>{try{return new URL(a).origin}catch{return null}}).filter(a=>!!a))];if(0===d.length)return null;let e=(0,g.DW)(a.id);return{bridgeId:c,sessionId:e?.sessionId??a.id,allowedOrigins:d}}(e,f)}}catch(a){return{session:null,candidateUrls:[],error:a instanceof Error?a.message:"Failed to load preview session",bridgePreview:null}}}function t(a){let b=a.trim().replace(/[),.;]+$/,""),c=j.test(b)?b:k.test(b)?`http://${b}`:b;k.lastIndex=0;try{let a=new URL(c);return"0.0.0.0"===a.hostname&&(a.hostname="127.0.0.1"),a.toString()}catch{return c}}async function u(a){try{let b=await (0,d.readFile)(a,"utf8");return v(b)}catch{return[]}}function v(a){return[...a?.match(i)??[],...a?.match(k)??[]].map(t)}function w(a){try{let b=new URL(a);return h.test(b.hostname)}catch{return!1}}function x(a,b,c,d,e=!1){if(!b?.trim())return;let f=t(b);if(!f||function(a,b){try{let c=new URL(a);if(b){let a=new URL(b);if(c.origin===a.origin)return!0}return c.pathname.startsWith("/api/")}catch{return!1}}(f,d))return;try{let a=new URL(f);if("http:"!==a.protocol&&"https:"!==a.protocol||!e&&!w(f))return}catch{return}let g=a.get(f);(void 0===g||c<g)&&a.set(f,c)}async function y(a,b={}){try{let c=await q(a,p(a,"/output?lines=400"),b);if(!c.ok)return"";let d=await c.json().catch(()=>null);return"string"==typeof d?.output?d.output:""}catch{return""}}async function z(a,b={}){let c=(0,f._)()??"",d=new Map;for(let[e,f]of(b.previewUrlHint?.trim()&&x(d,b.previewUrlHint,-10,c,!0),a.pr?.previewUrl?.trim()&&x(d,a.pr.previewUrl,50,c,!0),a.metadata.devServerUrl?.trim()&&x(d,a.metadata.devServerUrl,0,c,!0),Object.entries(a.metadata)))if("string"==typeof f)for(let a of(l.has(e)&&f.trim()&&x(d,f,m[e]??30,c,!0),v(f)))x(d,a,60,c);for(let b of v(a.summary))x(d,b,70,c);let e=a.metadata.devServerLog?.trim();if(e)for(let a of(await u(e)))x(d,a,40,c);for(let e of v(await y(a.id,b)))x(d,e,80,c);if(![...d.keys()].some(a=>w(a)))for(let e of(await o(a,b)))x(d,e,20,c,!0);return[...d.entries()].sort(([a,b],[c,d])=>{if(b!==d)return b-d;let e=+!w(a),f=+!w(c);return e!==f?e-f:a.localeCompare(c)}).map(([a])=>a)}},47490:(a,b,c)=>{c.d(b,{Yb:()=>g,Zk:()=>f});var d=c(14458);let e="Preview bridge auth requires a signed-in dashboard user.";function f(a,b){let c=b?.trim().toLowerCase();if(!c)throw Error(e);return`${c}:${a}`}function g(a){let b=a instanceof Error?a.message:"Failed to configure preview bridge";return b===e?{status:401,message:b}:"Unable to resolve the dashboard user for the bridge relay."===b?{status:403,message:b}:(0,d.Xt)(b)?{status:503,message:b}:{status:500,message:b}}},59506:(a,b,c)=>{c.d(b,{k:()=>i});var d=c(4573),e=c(46224);function f(a,b=null){return{connected:!1,candidateUrls:a,currentUrl:null,title:null,tunnelUrl:null,tunnelLocalOrigin:null,canGoBack:!1,canGoForward:!1,frames:[],activeFrameId:null,selectedElement:null,consoleLogs:[],networkLogs:[],lastError:b,screenshotKey:`${Date.now()}`}}class g{async configureBridgePreview(a,b,c){let d=(0,e.y)(),f=b&&c&&d?{...b,relayUrl:d,forwardedHeaders:Object.fromEntries(new Headers(c).entries())}:null;if(JSON.stringify(this.bridgePreviewConfigs.get(a)??null)===JSON.stringify(f))return;this.bridgePreviewConfigs.set(a,f);let g=this.remoteSessionIds.get(a);if(g&&this.isConfigured()){this.remoteSessionIds.delete(a);try{await fetch(`${this.workerUrl}/sessions/${encodeURIComponent(g)}`,{method:"DELETE",headers:this.buildHeaders(),cache:"no-store"})}catch{}}}async destroySession(a){let b=this.remoteSessionIds.get(a);if(this.remoteSessionIds.delete(a),this.bridgePreviewConfigs.delete(a),b&&this.isConfigured())try{await fetch(`${this.workerUrl}/sessions/${encodeURIComponent(b)}`,{method:"DELETE",headers:this.buildHeaders(),cache:"no-store"})}catch{}}async runCommand(a,b){let c=await this.sendCommand(a,b,{createIfMissing:!0});if("error"===c.kind)throw Error(c.message)}async inspectDom(a,b,c=!1){let d=await this.sendCommand(a,{command:"dom",frameId:b,interactiveOnly:c},{createIfMissing:!0});if("dom"!==d.kind)throw Error("error"===d.kind?d.message:"Unexpected preview worker DOM response");return d}async takeScreenshot(a){if(!this.remoteSessionIds.has(a))return null;let b=await this.sendCommand(a,{command:"screenshot"},{createIfMissing:!1});if("error"===b.kind){if(b.message.includes("not connected"))return null;throw Error(b.message)}if("screenshot"!==b.kind)throw Error("Unexpected preview worker screenshot response");return d.Buffer.from(b.imageBase64,"base64")}async getStatus(a,b){if(!this.remoteSessionIds.has(a))return f(b,this.configurationError());try{let c=await this.sendCommand(a,{command:"status",candidateUrls:b},{createIfMissing:!1});if("status"===c.kind)return c;return f(b,"error"===c.kind?c.message:"Preview service is unavailable")}catch(a){return f(b,a instanceof Error?a.message:"Preview service is unavailable")}}async sendCommand(a,b,c){let d=this.configurationError();if(d)return{kind:"error",message:d};let e=this.remoteSessionIds.get(a)??null;if(!e){if(!c.createIfMissing)return{kind:"error",message:"Preview is not connected"};e=await this.createRemoteSession(a)}try{let d=await fetch(`${this.workerUrl}/sessions/${encodeURIComponent(e)}/command`,{method:"POST",headers:this.buildHeaders(),body:JSON.stringify(b),cache:"no-store"}),f=await d.json();if(404===d.status&&!1!==c.retry)return this.remoteSessionIds.delete(a),await this.sendCommand(a,b,{createIfMissing:c.createIfMissing,retry:!1});if(!d.ok||"error"===f.kind)return"error"===f.kind?f:{kind:"error",message:"Preview worker request failed"};return f}catch(a){throw Error(this.networkErrorMessage(a))}}async createRemoteSession(a){let b=this.configurationError();if(b)throw Error(b);let c={clientSessionId:a,bridgePreview:this.bridgePreviewConfigs.get(a)??null};try{let b=await fetch(`${this.workerUrl}/sessions`,{method:"POST",headers:this.buildHeaders(),body:JSON.stringify(c),cache:"no-store"}),d=await b.json();if(!b.ok||!d.sessionId)throw Error(d.error||"Preview worker session creation failed");return this.remoteSessionIds.set(a,d.sessionId),d.sessionId}catch(a){throw Error(this.networkErrorMessage(a))}}buildHeaders(){return{Authorization:`Bearer ${this.workerApiKey}`,"Content-Type":"application/json"}}configurationError(){return this.workerUrl&&this.workerApiKey?null:"Preview worker is not configured"}isConfigured(){return null===this.configurationError()}networkErrorMessage(a){let b,c=a instanceof Error?a.message:"Preview service is unavailable";return(b=c.trim().toLowerCase())&&("preview worker is not configured"===b||!("fetch failed"===b||b.includes("econnrefused")||b.includes("enotfound")||b.includes("eai_again")||b.includes("networkerror")||b.includes("socket hang up")))?c:"Preview service is unavailable"}constructor(){this.workerUrl=function(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.toString().replace(/\/$/,"")}catch{return null}}(process.env.CONDUCTOR_PREVIEW_WORKER_URL),this.workerApiKey=process.env.CONDUCTOR_PREVIEW_WORKER_KEY?.trim()||null,this.remoteSessionIds=new Map,this.bridgePreviewConfigs=new Map}}let h=globalThis;function i(){return h._conductorPreviewWorkerClient||(h._conductorPreviewWorkerClient=new g),h._conductorPreviewWorkerClient}},70209:(a,b,c)=>{c.d(b,{X_:()=>m,Z$:()=>h,zP:()=>l});var d=c(77873),e=c(36026);let f=new Set(["connection","host","content-length","expect","upgrade","proxy-authorization","proxy-authenticate","te","trailers","transfer-encoding","accept-encoding","x-conductor-proxy-authorized","x-conductor-access-authenticated","x-conductor-access-role","x-conductor-access-email","x-conductor-access-provider","x-conductor-proxy-secret"]),g=new Set(["connection","content-length","content-encoding","keep-alive","transfer-encoding"]);function h(){return null!==(0,e._)()}function i(a){let b=new Headers;return a.headers.forEach((a,c)=>{g.has(c.toLowerCase())||b.set(c,a)}),b}async function j(a,b,c={}){let d=(0,e.B)(),g=new URL(a.url),h=new URL(b,d);h.search=g.search;let k=new Headers;a.headers.forEach((a,b)=>{f.has(b.toLowerCase())||k.set(b,a)}),c.headers&&new Headers(c.headers).forEach((a,b)=>{k.set(b,a)}),k.set("x-forwarded-proto",g.protocol.replace(":","")),k.set("x-forwarded-host",g.host);let l={method:a.method,headers:k,redirect:"manual",cache:"no-store"};if("GET"!==a.method&&"HEAD"!==a.method){let b=await a.arrayBuffer();b.byteLength>0&&(l.body=b)}let m=await fetch(h,l),n=i(m);return new Response(m.body,{status:m.status,statusText:m.statusText,headers:n})}async function k(a,b,c={}){let d,g=(0,e.B)(),h=new URL(a.url),j=new URL(b,g);j.search=h.search;let l=new Headers;a.headers.forEach((a,b)=>{f.has(b.toLowerCase())||l.set(b,a)}),c.headers&&new Headers(c.headers).forEach((a,b)=>{l.set(b,a)}),l.set("Accept","text/event-stream"),l.set("Cache-Control","no-cache"),l.set("x-forwarded-proto",h.protocol.replace(":","")),l.set("x-forwarded-host",h.host);let m=await fetch(j,{method:"GET",headers:l,redirect:"manual",cache:"no-store",signal:a.signal});return m.ok&&m.body?new Response(m.body,{status:m.status,statusText:m.statusText,headers:((d=i(m)).set("Content-Type","text/event-stream"),d.set("Cache-Control","no-cache, no-transform"),d.set("Connection","keep-alive"),d.set("X-Accel-Buffering","no"),d)}):new Response(m.body,{status:m.status,statusText:m.statusText,headers:i(m)})}async function l(a,b,c={}){if(!h())return d.NextResponse.json({error:"Rust backend URL is not configured"},{status:503});try{return await j(a,b,c)}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:"Failed to reach Rust backend"},{status:502})}}async function m(a,b,c={}){if(!h())return d.NextResponse.json({error:"Rust backend URL is not configured"},{status:503});try{return await k(a,b,c)}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:"Failed to reach Rust backend"},{status:502})}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=5819,exports.ids=[5819],exports.modules={57031:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(85660);let e=(0,d.createServerReference)("004d4b6c0beead9f8127d77b61d007db8938a9bf9f",d.callServer,void 0,d.findSourceMapURL,"createOrReadKeylessAction")},85819:(a,b,c)=>{c.r(b),c.d(b,{createOrReadKeylessAction:()=>f.a,deleteKeylessAction:()=>e,detectKeylessEnvDriftAction:()=>g.A,syncKeylessConfigAction:()=>h});var d=c(85660);let e=(0,d.createServerReference)("00220451ff4e78faf6b2d15e820cfeb16a1459528f",d.callServer,void 0,d.findSourceMapURL,"deleteKeylessAction");var f=c(57031),g=c(89551);let h=(0,d.createServerReference)("40e31663fcd381eef73791cd6e2278b9590c1554ef",d.callServer,void 0,d.findSourceMapURL,"syncKeylessConfigAction")}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=6014,exports.ids=[6014,9789],exports.modules={7071:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},46953:(a,b,c)=>{c.r(b),c.d(b,{ProjectDispatcherPanel:()=>p});var d=c(92692),e=c(71277),f=c(17024),g=c(19382),h=c(64583),i=c(
|
|
1
|
+
"use strict";exports.id=6014,exports.ids=[6014,9789],exports.modules={7071:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},46953:(a,b,c)=>{c.r(b),c.d(b,{ProjectDispatcherPanel:()=>p});var d=c(92692),e=c(71277),f=c(17024),g=c(19382),h=c(64583),i=c(68180),j=c(56829);function k(a,b){return new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()}function l(a){return[...a].sort(k)}var m=c(1071),n=c(23726),o=c(46818);function p({projectId:a,bridgeId:b,defaultAgent:c,modelAccess:k,runtimeModelCatalogs:q,collapsed:r=!1,onToggleCollapsed:s}){let[t,u]=(0,e.useState)([]),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!0),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(c),[H,I]=(0,e.useState)(()=>(0,n.c0)(c,k,q,null,null)),J=(0,e.useMemo)(()=>v?t.find(a=>a.id===v)??t[0]??null:t[0]??null,[t,v]);(0,e.useCallback)(async()=>{y(!0);try{let c=await fetch((0,o.S)(`/api/projects/${a}/dispatchers`,b),{cache:"no-store"}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??"Failed to load dispatcher sessions");let e=Array.isArray(d?.threads)?l(d.threads):[],f="string"==typeof d?.activeThreadId&&d.activeThreadId.trim().length>0?d.activeThreadId:null;u(e),w(a=>a&&e.some(b=>b.id===a)?a:f&&e.some(a=>a.id===f)?f:e[0]?.id??null),E(null)}catch(a){E(a instanceof Error?a.message:"Failed to load dispatcher sessions")}finally{y(!1)}},[b,a]);let K=(0,e.useCallback)(async c=>{A(!0),E(null);try{let d=H.customModel.trim()||H.catalogModel,e=await fetch((0,o.S)(`/api/projects/${a}/dispatcher`,b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({forceNew:c,dispatcherAgent:F,dispatcherModel:d,dispatcherReasoningEffort:H.reasoningEffort,implementationAgent:F,implementationModel:d,implementationReasoningEffort:H.reasoningEffort})}),f=await e.json().catch(()=>null);if(!e.ok)throw Error(f?.error??"Failed to start dispatcher");let g=f?.thread??null;if(!g?.id)throw Error("Dispatcher response did not include a thread");u(a=>l([g,...a.filter(a=>a.id!==g.id)])),w(g.id)}catch(a){E(a instanceof Error?a.message:"Failed to start dispatcher")}finally{A(!1)}},[b,c,J,F,H.catalogModel,H.customModel,H.reasoningEffort,a]),L=(0,e.useCallback)(async c=>{C(c),E(null);try{let d=new AbortController,e=setTimeout(()=>d.abort(),15e3),f=await fetch((0,o.S)(`/api/projects/${a}/dispatcher?threadId=${encodeURIComponent(c)}`,b),{method:"DELETE",signal:d.signal});clearTimeout(e);let g=await f.json().catch(()=>null);if(!f.ok)throw Error(g?.error??"Failed to delete dispatcher thread");u(a=>l(a.filter(a=>a.id!==c))),w(a=>a===c?null:a)}catch(b){if(b instanceof DOMException&&"AbortError"===b.name){let a=Error("Delete timed out after 15s. The backend may be busy.");throw E(a.message),a}let a=b instanceof Error?b.message:"Failed to delete dispatcher thread";throw E(a),b instanceof Error?b:Error(a)}finally{C(a=>a===c?null:a)}},[b,a]);return r?(0,d.jsx)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-panel)]",children:(0,d.jsxs)("button",{type:"button",onClick:s,className:"flex h-[33px] w-full items-center gap-2 border-b border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] xl:h-full xl:flex-col xl:justify-start xl:px-0 xl:py-3","aria-label":"Expand dispatcher",title:"Expand dispatcher",children:[(0,d.jsx)(f.A,{className:"h-4 w-4 shrink-0"}),(0,d.jsx)("span",{className:"truncate xl:hidden",children:"Dispatcher"}),(0,d.jsx)(g.A,{className:"ml-auto h-4 w-4 shrink-0 xl:ml-0"})]})}):x&&!J?(0,d.jsx)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:(0,d.jsxs)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading dispatcher..."]})}):J?(0,d.jsxs)("section",{className:"flex h-full min-h-0 min-w-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[D?(0,d.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[rgba(210,81,81,0.08)] px-3 py-2 text-[12px] text-[#d25151]",children:D}):null,(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(j.DispatcherPane,{thread:J,threads:t,projectId:a,bridgeId:b,modelAccess:k,runtimeModelCatalogs:q,onSelectThread:w,onDeleteThread:a=>void L(a),deletingThreadId:B,onStartNewConversation:()=>void K(!0),creatingConversation:z,onToggleCollapse:s,className:"w-full border-l-0 border-t-0 xl:w-full"})})]}):(0,d.jsxs)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[(0,d.jsxs)("div",{className:"flex h-[33px] items-center gap-2 border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:"Dispatcher"}),s?(0,d.jsx)("button",{type:"button",onClick:s,className:"hidden h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] xl:inline-flex","aria-label":"Collapse dispatcher",title:"Collapse dispatcher",children:(0,d.jsx)(g.A,{className:"h-3.5 w-3.5"})}):null]}),(0,d.jsx)("div",{className:"flex min-h-0 flex-1 items-center justify-center overflow-y-auto p-4 sm:p-6",children:(0,d.jsxs)("div",{className:"w-full max-w-[520px] rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-5 text-center shadow-[0_16px_48px_rgba(0,0,0,0.18)]",children:[(0,d.jsx)("div",{className:"mx-auto flex h-10 w-10 items-center justify-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,d.jsx)(f.A,{className:"h-5 w-5"})}),(0,d.jsx)("h2",{className:"mt-4 text-[18px] font-semibold text-[var(--vk-text-strong)]",children:"Start dispatcher"}),(0,d.jsx)("p",{className:"mt-2 text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"Use the dispatcher to review the current repo state, shape work, and propose board changes."}),(0,d.jsxs)("div",{className:"mt-5 rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.16)] p-3 text-left",children:[(0,d.jsx)("p",{className:"mb-3 text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Default task handoff"}),(0,d.jsx)(i.s,{implementationAgent:F,modelSelection:H,modelAccess:k,runtimeModelCatalogs:q,disabled:z,onImplementationAgentChange:a=>{G(a),I((0,n.c0)(a,k,q,null,null))},onModelSelectionChange:I})]}),D?(0,d.jsx)("div",{className:"mt-4 text-[13px] text-[#d25151]",children:D}):null,(0,d.jsx)("div",{className:"mt-5 flex items-center justify-center gap-3",children:(0,d.jsxs)(m.$,{onClick:()=>void K(!1),disabled:z,children:[z?(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,"Start dispatcher"]})})]})})]})}},50898:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("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"}]])},52404:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},57658:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},59789:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},79101:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=6034,exports.ids=[6034,9789],exports.modules={2621:(a,b,c)=>{c.d(b,{DK:()=>e,VM:()=>g,hq:()=>d,qg:()=>f,re:()=>h});let d="overscroll-contain touch-pan-y [-webkit-overflow-scrolling:touch]",e=`overflow-y-auto ${d}`,f="min-h-0 flex-1 overflow-hidden bg-[#0f1012] p-3",g=d;function h(a){return["flex h-full min-h-0 min-w-0 w-full flex-col",a?"overflow-hidden bg-[#060404]":"overflow-hidden"].join(" ")}},7071:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},7901:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},26993:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]])},32792:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},50898:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("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"}]])},52404:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},54761:(a,b,c)=>{c.d(b,{Wu:()=>h,Zp:()=>f,aR:()=>g});var d=c(92692),e=c(93544);let f=(0,c(71277).forwardRef)(({className:a,...b},c)=>(0,d.jsx)("div",{ref:c,className:(0,e.cn)("surface-card rounded-[var(--radius-md)] border",a),...b}));function g({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("px-3 py-2",a),...b})}f.displayName="Card"},57658:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},59789:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},67811:(a,b,c)=>{c.d(b,{g:()=>g});var d=c(71277),e=c(46818);function f(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function g(a,b){let c=b?.enabled??!0,[g,h]=(0,d.useState)(null),[i,j]=(0,d.useState)(c),[k,l]=(0,d.useState)(null),m=(0,d.useCallback)(async()=>{if(!c){h(null),l(null),j(!1);return}try{var b;let c,d,g,i=await fetch((0,e.S)("/api/preferences",a)),j=await i.json().catch(()=>null);if(!i.ok)throw Error(j?.error??j?.reason??`Failed to load preferences: ${i.status}`);h((b=j?.preferences,c=f(b),g=(d=f(c.notifications)).soundFile,{onboardingAcknowledged:!0===c.onboardingAcknowledged,codingAgent:"string"==typeof c.codingAgent&&c.codingAgent.trim().length>0?c.codingAgent.trim():"claude-code",ide:"string"==typeof c.ide&&c.ide.trim().length>0?c.ide.trim():"vscode",markdownEditor:"string"==typeof c.markdownEditor&&c.markdownEditor.trim().length>0?c.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof c.markdownEditorPath?c.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==d.soundEnabled,soundFile:null===g?null:"string"==typeof g&&g.trim().length>0?g.trim():"abstract-sound-4"}})),l(null)}catch(a){h(null),l(a instanceof Error?a.message:"Failed to load preferences")}finally{j(!1)}},[a,c]);return{preferences:c?g:null,loading:!!c&&i,error:c?k:null,refresh:m}}},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},74712:(a,b,c)=>{c.d(b,{tU:()=>D,av:()=>G,j7:()=>E,Xi:()=>F});var d=c(92692),e=c(71277),f=c(74508),g=c(63660),h=c(64121),i=c(64308),j=c(5707),k=c(8370),l=c(50904),m=c(92408),n="Tabs",[o,p]=(0,g.A)(n,[h.RG]),q=(0,h.RG)(),[r,s]=o(n),t=e.forwardRef((a,b)=>{let{__scopeTabs:c,value:e,onValueChange:f,defaultValue:g,orientation:h="horizontal",dir:i,activationMode:o="automatic",...p}=a,q=(0,k.jH)(i),[s,t]=(0,l.i)({prop:e,onChange:f,defaultProp:g??"",caller:n});return(0,d.jsx)(r,{scope:c,baseId:(0,m.B)(),value:s,onValueChange:t,orientation:h,dir:q,activationMode:o,children:(0,d.jsx)(j.sG.div,{dir:q,"data-orientation":h,...p,ref:b})})});t.displayName=n;var u="TabsList",v=e.forwardRef((a,b)=>{let{__scopeTabs:c,loop:e=!0,...f}=a,g=s(u,c),i=q(c);return(0,d.jsx)(h.bL,{asChild:!0,...i,orientation:g.orientation,dir:g.dir,loop:e,children:(0,d.jsx)(j.sG.div,{role:"tablist","aria-orientation":g.orientation,...f,ref:b})})});v.displayName=u;var w="TabsTrigger",x=e.forwardRef((a,b)=>{let{__scopeTabs:c,value:e,disabled:g=!1,...i}=a,k=s(w,c),l=q(c),m=A(k.baseId,e),n=B(k.baseId,e),o=e===k.value;return(0,d.jsx)(h.q7,{asChild:!0,...l,focusable:!g,active:o,children:(0,d.jsx)(j.sG.button,{type:"button",role:"tab","aria-selected":o,"aria-controls":n,"data-state":o?"active":"inactive","data-disabled":g?"":void 0,disabled:g,id:m,...i,ref:b,onMouseDown:(0,f.mK)(a.onMouseDown,a=>{g||0!==a.button||!1!==a.ctrlKey?a.preventDefault():k.onValueChange(e)}),onKeyDown:(0,f.mK)(a.onKeyDown,a=>{[" ","Enter"].includes(a.key)&&k.onValueChange(e)}),onFocus:(0,f.mK)(a.onFocus,()=>{let a="manual"!==k.activationMode;o||g||!a||k.onValueChange(e)})})})});x.displayName=w;var y="TabsContent",z=e.forwardRef((a,b)=>{let{__scopeTabs:c,value:f,forceMount:g,children:h,...k}=a,l=s(y,c),m=A(l.baseId,f),n=B(l.baseId,f),o=f===l.value,p=e.useRef(o);return e.useEffect(()=>{let a=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,d.jsx)(i.C,{present:g||o,children:({present:c})=>(0,d.jsx)(j.sG.div,{"data-state":o?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":m,hidden:!c,id:n,tabIndex:0,...k,ref:b,style:{...a.style,animationDuration:p.current?"0s":void 0},children:c&&h})})});function A(a,b){return`${a}-trigger-${b}`}function B(a,b){return`${a}-content-${b}`}z.displayName=y;var C=c(93544);let D=t,E=(0,e.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(v,{ref:c,className:(0,C.cn)("inline-flex max-w-full items-center gap-0.5 overflow-x-auto rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-0.5 whitespace-nowrap touch-pan-x [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",a),...b}));E.displayName="TabsList";let F=(0,e.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(x,{ref:c,className:(0,C.cn)("inline-flex min-h-[34px] shrink-0 items-center gap-1.5 rounded-[3px] px-2.5 py-1.5 text-[12px] text-[var(--vk-text-muted)]","data-[state=active]:bg-[var(--vk-bg-active)] data-[state=active]:text-[var(--vk-text-normal)]","hover:text-[var(--vk-text-normal)]","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]",a),...b}));F.displayName="TabsTrigger";let G=(0,e.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(z,{ref:c,className:(0,C.cn)("focus-visible:outline-none",a),...b}));G.displayName="TabsContent"},79101:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},96034:(a,b,c)=>{c.r(b),c.d(b,{SessionDetail:()=>ap});var d=c(92692),e=c(3429),f=c(71277),g=c(67994),h=c(37303);let i=(0,h.A)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]),j=(0,h.A)("git-compare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);var k=c(50898),l=c(7071),m=c(52404),n=c(26993),o=c(62170),p=c(74712),q=c(54761),r=c(1071),s=c(33857),t=c(19954),u=c(29942),v=c(49549),w=c(13636),x=c(86263),y=c(79101),z=c(51430),A=c(7901);let B=(0,h.A)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var C=c(64583),D=c(32792),E=c(59789),F=c(75185),G=c(57658);let H=(0,h.A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]),I=(0,h.A)("dollar-sign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);var J=c(86018),K=c(2621);function L({text:a}){let[b,c]=(0,f.useState)(!1);async function e(){try{await navigator.clipboard.writeText(a),c(!0),window.setTimeout(()=>c(!1),1400)}catch{}}return(0,d.jsxs)("button",{type:"button",onClick:()=>void e(),className:"inline-flex max-w-[180px] items-center gap-1 font-mono text-[11px] text-[var(--vk-text-muted)] transition-colors hover:text-[var(--vk-text-normal)]",children:[(0,d.jsx)("span",{className:"truncate",children:a}),b?(0,d.jsx)(v.A,{className:"h-3 w-3 shrink-0 text-emerald-400"}):(0,d.jsx)(w.A,{className:"h-3 w-3 shrink-0 opacity-50"})]})}function M(a,b){let c=a.metadata[b];return"string"==typeof c&&c.trim().length>0?c:void 0}function N(a){if(!a)return null;let b=Number.parseInt(a,10);return Number.isFinite(b)&&b>0?b:null}function O({node:a,depth:b,selectedPath:c,expandedDirs:e,onToggleDir:f,onSelectFile:g}){let h=e.has(a.path),i=a.path===c,j=8+16*b;return a.isDir?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("button",{type:"button",onClick:()=>f(a.path),className:"flex w-full items-center gap-1.5 py-1.5 text-left text-[12px] text-[var(--vk-text-muted)] hover:bg-white/4 active:bg-white/6",style:{paddingLeft:j},children:[h?(0,d.jsx)(x.A,{className:"h-3 w-3 shrink-0 opacity-50"}):(0,d.jsx)(y.A,{className:"h-3 w-3 shrink-0 opacity-50"}),h?(0,d.jsx)(z.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}):(0,d.jsx)(A.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}),(0,d.jsx)("span",{className:"truncate",children:a.name})]}),h?a.children.map(a=>(0,d.jsx)(O,{node:a,depth:b+1,selectedPath:c,expandedDirs:e,onToggleDir:f,onSelectFile:g},a.path)):null]}):(0,d.jsxs)("button",{type:"button",onClick:()=>g(a.path),className:`flex w-full items-center gap-1.5 py-1.5 pr-2 text-left text-[12px] transition-colors ${i?"bg-blue-500/10 text-[var(--vk-text-strong)]":"text-[var(--vk-text-normal)] hover:bg-white/4"}`,style:{paddingLeft:j+16},children:[(0,d.jsx)(B,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate",children:a.name})]})}let P={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",mjs:"javascript",cjs:"javascript",mts:"typescript",cts:"typescript",html:"html",htm:"html",css:"css",scss:"scss",sass:"sass",less:"less",vue:"vue",svelte:"svelte",astro:"astro",json:"json",jsonc:"jsonc",json5:"json5",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",xml:"xml",svg:"xml",plist:"xml",csv:"csv",tsv:"csv",md:"markdown",mdx:"mdx",tex:"latex",rst:"rst",rs:"rust",go:"go",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",hh:"cpp",cs:"csharp",java:"java",kt:"kotlin",kts:"kotlin",scala:"scala",swift:"swift",m:"objective-c",mm:"objective-cpp",zig:"zig",nim:"nim",v:"v",d:"d",py:"python",pyi:"python",rb:"ruby",php:"php",pl:"perl",pm:"perl",lua:"lua",r:"r",R:"r",jl:"julia",ex:"elixir",exs:"elixir",erl:"erlang",hrl:"erlang",hs:"haskell",lhs:"haskell",clj:"clojure",cljs:"clojure",ml:"ocaml",mli:"ocaml",fs:"fsharp",fsx:"fsharp",sh:"bash",bash:"bash",zsh:"bash",fish:"fish",ps1:"powershell",psm1:"powershell",bat:"bat",cmd:"bat",dockerfile:"dockerfile",containerfile:"dockerfile",tf:"hcl",hcl:"hcl",nix:"nix",sql:"sql",graphql:"graphql",gql:"graphql",prisma:"prisma",proto:"protobuf",thrift:"thrift",makefile:"makefile",cmake:"cmake",asm:"asm",s:"asm",diff:"diff",patch:"diff",log:"log",txt:"plaintext",env:"dotenv",lock:"json"},Q={makefile:"makefile",Makefile:"makefile",dockerfile:"dockerfile",Dockerfile:"dockerfile",containerfile:"dockerfile",Containerfile:"dockerfile",gemfile:"ruby",Gemfile:"ruby",rakefile:"ruby",Rakefile:"ruby",cmakelists:"cmake",CMakeLists:"cmake",".gitignore":"gitignore",".dockerignore":"gitignore",".editorconfig":"ini",".prettierrc":"json",".eslintrc":"json",".babelrc":"json",".env":"dotenv",".env.local":"dotenv",".env.production":"dotenv","tsconfig.json":"jsonc","jsconfig.json":"jsonc"},R=new Set(["png","jpg","jpeg","gif","webp","svg","ico","bmp","avif"]);function S(a){let b=a.split("/").pop()??"",c=b.lastIndexOf(".");return c>=0?b.slice(c+1).toLowerCase():""}function T({code:a,lang:b}){let[c,e]=(0,f.useState)(null);if((0,f.useRef)(a),(0,f.useRef)(b),!c){let b=a.split("\n"),c=String(b.length).length;return(0,d.jsx)("div",{className:"inline-block min-w-full align-top",children:(0,d.jsx)("table",{className:"min-w-full border-collapse font-mono text-[11px] leading-5",children:(0,d.jsx)("tbody",{children:b.map((a,b)=>(0,d.jsxs)("tr",{className:"hover:bg-white/3",children:[(0,d.jsx)("td",{className:"select-none whitespace-nowrap border-r border-white/6 px-2 text-right text-[var(--vk-text-muted)] opacity-40",style:{minWidth:`${c+2}ch`},children:b+1}),(0,d.jsx)("td",{className:"whitespace-pre px-3 text-[var(--vk-text-normal)]",children:a||"\xa0"})]},b))})})})}return(0,d.jsx)("div",{className:"shiki-viewer inline-block min-w-full align-top [&_.shiki]:!bg-transparent [&_.shiki]:p-0 [&_code]:text-[11px] [&_code]:leading-5 [&_pre]:!bg-transparent [&_pre]:!p-0",dangerouslySetInnerHTML:{__html:c}})}function U({sessionId:a,filePath:b}){let[c,e]=(0,f.useState)(null),[g,h]=(0,f.useState)(!0),[i,j]=(0,f.useState)(null),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(!1),[o,p]=(0,f.useState)(0);if(g)return(0,d.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(C.A,{className:"h-4 w-4 animate-spin"}),"Loading…"]});if(i)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center px-4 text-center text-[12px] text-red-400",children:i});if(k&&R.has(S(b))){let c=new URLSearchParams({path:b,raw:"1"}),e=`/api/sessions/${encodeURIComponent(a)}/files?${c.toString()}`;return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-4",children:[(0,d.jsx)("img",{src:e,alt:b,className:"max-h-[60vh] max-w-full rounded-md object-contain"}),(0,d.jsxs)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[b.split("/").pop(),o>0?` \xb7 ${V(o)}`:""]})]})}if(k){let a=S(b);return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 px-4 text-center",children:[(0,d.jsx)("div",{className:"rounded-lg bg-white/4 p-4",children:(0,d.jsx)(B,{className:"mx-auto h-8 w-8 text-[var(--vk-text-muted)]"})}),(0,d.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:["Binary file",a?` (.${a})`:""," — preview not available"]}),o>0?(0,d.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)] opacity-60",children:V(o)}):null]})}let q=function(a){let b=a.split("/").pop()??"";if(Q[b])return Q[b];let c=b.lastIndexOf(".");if(c>=0){let a=b.slice(c+1).toLowerCase();if(P[a])return P[a]}return"plaintext"}(b);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[m?(0,d.jsxs)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1 text-[11px] text-amber-300",children:["File truncated",o>0?` (${V(o)} total)`:""]}):null,(0,d.jsx)("div",{className:`min-h-0 min-w-0 flex-1 overflow-auto py-2 touch-pan-x ${K.hq}`,children:(0,d.jsx)(T,{code:c??"",lang:q})})]})}function V(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function W({sessionId:a,active:b}){let[c,e]=(0,f.useState)([]),[g,h]=(0,f.useState)(!0),[i,j]=(0,f.useState)(null),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(""),[o,p]=(0,f.useState)(null),[q,r]=(0,f.useState)(new Set),s=(0,f.useRef)(!0),t=(0,f.useCallback)(async()=>{try{h(!0);let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/files`,{cache:"no-store"});if(!b.ok)throw Error(`Failed to load files (${b.status})`);let c=await b.json();if(!s.current)return;e(c.files??[]),l(!!c.truncated),j(null)}catch(a){if(!s.current)return;j(a instanceof Error?a.message:"Failed to load files")}finally{s.current&&h(!1)}},[a]),u=(0,f.useMemo)(()=>(function(a){let b={name:"",path:"",children:[],isDir:!0};for(let c of a){let a=c.split("/"),d=b,e="";for(let b=0;b<a.length;b++){let c=a[b];e=e?`${e}/${c}`:c;let f=b===a.length-1,g=d.children.find(a=>a.name===c);g||(g={name:c,path:e,children:[],isDir:!f},d.children.push(g)),d=g}}return function a(b){for(let c of(b.sort((a,b)=>a.isDir!==b.isDir?a.isDir?-1:1:a.name.localeCompare(b.name,void 0,{sensitivity:"base"})),b))c.children.length>0&&a(c.children);return b}(b.children)})(c),[c]),v=(0,f.useMemo)(()=>(function(a,b){if(!b)return a;let c=b.toLowerCase();return function a(b){let d=[];for(let e of b)(function a(b){return!!(b.name.toLowerCase().includes(c)||b.path.toLowerCase().includes(c))||b.children.some(a)})(e)&&(e.isDir?d.push({...e,children:a(e.children)}):d.push(e));return d}(a)})(u,m.trim()),[u,m]),w=(0,f.useCallback)(a=>{r(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),x=(0,f.useCallback)(a=>{p(a)},[]),y=(0,f.useCallback)(()=>{p(null)},[]);if(g&&0===c.length)return(0,d.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(C.A,{className:"h-4 w-4 animate-spin"}),"Loading workspace files…"]});if(i)return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-4 text-center",children:[(0,d.jsx)("p",{className:"text-[12px] text-red-400",children:i}),(0,d.jsx)("button",{type:"button",onClick:()=>void t(),className:"text-[11px] text-[var(--vk-text-muted)] underline hover:text-[var(--vk-text-normal)]",children:"Retry"})]});let z=o?(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col lg:hidden",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-2",children:[(0,d.jsx)("button",{type:"button",onClick:y,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6","aria-label":"Back to file list",children:(0,d.jsx)(D.A,{className:"h-4 w-4"})}),(0,d.jsx)(B,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:o})]}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(U,{sessionId:a,filePath:o})})]}):null;return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[z,(0,d.jsxs)("div",{className:`flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-1.5 ${o?"hidden lg:flex":""}`,children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 rounded-md bg-white/4 px-2 py-1.5",children:[(0,d.jsx)(E.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{type:"text",value:m,onChange:a=>n(a.target.value),placeholder:"Search files…",className:"min-w-0 flex-1 bg-transparent text-[12px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,d.jsx)("button",{type:"button",onClick:()=>void t(),disabled:g,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6 disabled:opacity-50","aria-label":"Refresh files",children:(0,d.jsx)(F.A,{className:`h-3.5 w-3.5 ${g?"animate-spin":""}`})})]}),k?(0,d.jsx)("div",{className:`shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1.5 text-[11px] text-amber-300 ${o?"hidden lg:block":""}`,children:"File list truncated (4000 file limit)"}):null,(0,d.jsxs)("div",{className:`min-h-0 flex-1 lg:flex lg:flex-row ${o?"hidden lg:flex":"flex flex-col"}`,children:[(0,d.jsx)("div",{className:`min-h-0 flex-1 overflow-y-auto py-1 lg:max-w-[320px] lg:border-r lg:border-white/8 ${K.hq}`,children:0===v.length?(0,d.jsx)("div",{className:"px-3 py-6 text-center text-[12px] text-[var(--vk-text-muted)]",children:m?"No files match your search.":"No files in workspace."}):v.map(a=>(0,d.jsx)(O,{node:a,depth:0,selectedPath:o,expandedDirs:q,onToggleDir:w,onSelectFile:x},a.path))}),(0,d.jsx)("div",{className:"hidden min-h-0 min-w-0 flex-1 lg:block",children:o?(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-3 py-2",children:[(0,d.jsx)(B,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:o})]}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(U,{sessionId:a,filePath:o})})]}):(0,d.jsx)("div",{className:"flex h-full items-center justify-center text-[12px] text-[var(--vk-text-muted)]",children:"Select a file to view its contents"})})]})]})}function X({session:a,sessionId:b,active:c}){let e=(0,f.useMemo)(()=>M(a,"task")??M(a,"prompt")??("string"==typeof a.task?a.task:"")??("string"==typeof a.prompt?a.prompt:""),[a]),g=(0,f.useMemo)(()=>M(a,"agent")??("string"==typeof a.agent?a.agent:""),[a]),h=(0,f.useMemo)(()=>(function(a,b){if(!a||!b)return"";let c=new Date(a).getTime(),d=new Date(b).getTime();if(!Number.isFinite(c)||!Number.isFinite(d)||d<c)return"";let e=Math.floor((d-c)/6e4);if(e<1)return"<1m";if(e<60)return`${e}m`;let f=Math.floor(e/60);return`${f}h ${e%60}m`})(M(a,"startedAt")??a.startedAt,M(a,"finishedAt")??a.finishedAt),[a]),i=(0,f.useMemo)(()=>(function(a){if("number"==typeof a.cost)return a.cost;let b=a.metadata.cost;if("string"!=typeof b)return 0;try{let a=JSON.parse(b),c="number"==typeof a.estimatedCostUsd?a.estimatedCostUsd:0,d="number"==typeof a.totalUSD?a.totalUSD:0;return c??d}catch{return 0}})(a),[a]),j=(0,f.useMemo)(()=>N(M(a,"queuePosition")),[a]),k=(0,f.useMemo)(()=>N(M(a,"queueDepth")),[a]),l=(0,f.useMemo)(()=>M(a,"recoveryState")??"",[a]),m=(0,f.useMemo)(()=>"queued"===a.status?j?`Waiting in queue at position ${j}${k?` of ${k}`:""}.`:"Waiting in the launch queue.":"requeued_after_restart"===l?"Session recovered after backend restart and requeued.":"reattach_pending"===l?"Recovering terminal runtime after backend restart.":"detached_runtime"===l?"Backend restarted while agent may still be running.":"resume_required"===l?"Session recovered after restart. Send a message to resume.":"",[k,j,l,a.status]);return(0,d.jsxs)("div",{className:`flex h-full min-h-0 flex-col ${K.DK}`,children:[m?(0,d.jsx)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-2",children:(0,d.jsx)("p",{className:"text-[12px] leading-snug text-amber-300",children:m})}):null,e?(0,d.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2.5",children:(0,d.jsx)("p",{className:"line-clamp-3 whitespace-pre-wrap text-[13px] leading-relaxed text-[var(--vk-text-normal)]",children:e})}):null,(0,d.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-x-4 gap-y-1 border-b border-white/8 px-3 py-2 text-[11px] text-[var(--vk-text-muted)]",children:[g?(0,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(J.N,{seed:{label:g},className:"h-4 w-4"}),(0,d.jsx)("span",{children:g})]}):null,a.branch?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(G.A,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)(L,{text:a.branch})]}):null,h?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(H,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{children:h})]}):null,i>0?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(I,{className:"h-3 w-3 shrink-0"}),(0,d.jsxs)("span",{children:["$",i.toFixed(3)]})]}):null]}),(0,d.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden border-t border-white/8",children:[(0,d.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2",children:(0,d.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wide text-[var(--vk-text-muted)]",children:"Workspace files"})}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(W,{sessionId:b,active:c})})]})]})}var Y=c(140),Z=c(48055),$=c(71943),_=c(46818),aa=c(67811),ab=c(93544);let ac="block h-5 w-5 shrink-0 object-contain",ad=[{id:"finder",label:"Finder"},{id:"cursor",label:"Cursor"},{id:"antigravity",label:"Antigravity"},{id:"windsurf",label:"Windsurf"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"custom",label:"Custom"}],ae={finder:{kind:"image",imageSrc:"/icons/ide/finder.svg",className:ac},vscode:{kind:"image",imageSrc:"/icons/ide/vscode-dark.svg",className:ac},"vscode-insiders":{kind:"image",imageSrc:"/icons/ide/vscode-insiders.svg",className:ac},cursor:{kind:"image",imageSrc:"/icons/ide/cursor-dark.svg",className:ac},windsurf:{kind:"image",imageSrc:"/icons/ide/windsurf-dark.svg",className:ac},"intellij-idea":{kind:"image",imageSrc:"/icons/ide/intellij.svg",className:ac},zed:{kind:"image",imageSrc:"/icons/ide/zed-dark.svg",className:ac},xcode:{kind:"image",imageSrc:"/icons/ide/xcode.svg",className:ac},antigravity:{kind:"image",imageSrc:"/icons/ide/antigravity-dark.svg",className:ac},custom:{kind:"icon",className:`${ac} text-[var(--vk-text-muted)]`}};function af({editorId:a,label:b}){let c=ae[a];return c?"icon"===c.kind?(0,d.jsx)(Z.A,{className:c?.className??`${ac} text-[var(--vk-text-muted)]`}):(0,d.jsx)("img",{src:c.imageSrc,alt:`${b} logo`,className:c.className}):(0,d.jsx)(Z.A,{className:`${ac} text-[var(--vk-text-muted)]`})}function ag({projectId:a,bridgeId:b,label:c="Open",triggerClassName:e}){let{preferences:g}=(0,aa.g)(b),[h,i]=(0,f.useState)(null),j=(0,f.useMemo)(()=>{var a;return a=g?.ide??"vscode",ad.find(b=>b.id===a)??{id:a,label:a}},[g?.ide]);async function k(c){if(a&&!h){i(c);try{let d=await fetch((0,_.S)(`/api/projects/${encodeURIComponent(a)}/open`,b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ide:c})}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to open project (${d.status})`)}catch(a){window.alert(a instanceof Error?a.message:"Failed to open project")}finally{i(null)}}}return(0,d.jsxs)(Y.bL,{children:[(0,d.jsx)(Y.l9,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:!a||null!==h,className:(0,ab.cn)("inline-flex h-9 items-center gap-2 rounded-[6px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.06)] disabled:cursor-not-allowed disabled:opacity-60",e),"aria-label":"Open project in code editor",title:a?`Open project in ${j.label}`:"No project selected",children:[h?(0,d.jsx)(C.A,{className:"h-4 w-4 animate-spin text-current"}):(0,d.jsx)($.A,{className:"h-4 w-4 text-current"}),(0,d.jsx)("span",{className:"hidden font-medium sm:inline",children:c}),(0,d.jsx)(x.A,{className:"h-3.5 w-3.5 text-current"})]})}),(0,d.jsx)(Y.ZL,{children:(0,d.jsx)(Y.UC,{align:"end",sideOffset:8,className:"z-50 min-w-[240px] rounded-[8px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:ad.map(a=>(0,d.jsxs)(Y.q7,{onSelect:()=>void k(a.id),className:"flex min-h-[44px] cursor-default items-center gap-3 rounded-[6px] px-3 py-2 text-[14px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)]",children:[(0,d.jsx)(af,{editorId:a.id,label:a.label}),(0,d.jsx)("span",{className:"flex-1",children:a.label}),j.id===a.id?(0,d.jsx)(v.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}):null]},a.id))})})]})}let ah=(0,e.default)(function(){return c.e(3364).then(c.bind(c,3364)).then(a=>a.SessionTerminal)},{loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading terminal..."})}),ai=(0,e.default)(()=>c.e(1564).then(c.bind(c,21564)).then(a=>a.SessionPreview),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionPreview"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading preview..."})}),aj=(0,e.default)(async()=>{},{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionDiff"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading review…"}),ssr:!1}),ak=(0,e.default)(()=>c.e(3855).then(c.bind(c,93855)).then(a=>a.SessionSkills),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionSkills"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading skills..."})}),al=(0,e.default)(()=>Promise.all([c.e(468),c.e(5068),c.e(2831)]).then(c.bind(c,85068)).then(a=>a.DispatcherPane),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ../dispatcher/DispatcherPane"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading dispatcher..."})}),am="min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=active]:relative data-[state=active]:z-10 data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:z-0 data-[state=inactive]:invisible data-[state=inactive]:opacity-0",an="min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=active]:relative data-[state=active]:z-10 data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:z-0 data-[state=inactive]:opacity-0 data-[state=inactive]:select-none";function ao(a,b){let c=(0,u.tK)(b);return"overview"===a||"preview"===a||"skills"===a||"diff"===a?a:"dispatcher"===a||"terminal"===a?"dispatcher"===c?"dispatcher":"terminal":c}function ap({sessionId:a,initialSession:b=null,bridgeId:c=null,immersiveMobileMode:e=!1,active:h=!0,suppressPreviewAutoOpen:v=!1,onOpenSidebar:w}){let x=(0,g.usePathname)(),y=(0,g.useRouter)(),z=(0,g.useSearchParams)(),{session:A,loading:B,error:C}=(0,s.w)(a,b,{enabled:h,bridgeId:c}),D=(0,f.useRef)(0),E=(0,f.useRef)(!1),[F,G]=(0,f.useState)(null),H=(0,f.useMemo)(()=>ao(z.get("tab"),A),[z,A]),I=(0,f.useCallback)(a=>{let b=ao(a,A),c=(0,u.tK)(A),d=new URLSearchParams(z.toString());b===c?d.delete("tab"):d.set("tab",b);let e=d.toString(),f=e.length>0?`${x}?${e}`:x;y.replace(f,{scroll:!1})},[x,y,z,A]),J=(0,f.useCallback)(a=>{D.current+=1,G({nonce:D.current,...a})},[]),L=(0,f.useCallback)(a=>{(function({active:a,activeTab:b,alreadyOpened:c,connected:d,suppressAutoOpen:e}){return d&&a&&"terminal"===b&&!c&&!e})({active:h,activeTab:H,alreadyOpened:E.current,connected:a,suppressAutoOpen:v})&&(E.current=!0,I("preview"))},[h,H,I,v]);if(B)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(q.Zp,{className:"w-full max-w-md",children:(0,d.jsx)(q.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Loading session workspace..."})})});if(C)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(q.Zp,{className:"w-full max-w-md border-[color:color-mix(in_srgb,var(--status-error)_45%,transparent)]",children:(0,d.jsx)(q.Wu,{className:"py-7 text-center text-[13px] text-[var(--status-error)]",children:C})})});if(!A)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(q.Zp,{className:"w-full max-w-md",children:(0,d.jsx)(q.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Session not found"})})});let M="string"==typeof A.status?A.status:"unknown",N=(0,u.Zu)(A),O=function(a){switch(a){case"needs_input":return"needs input";case"working":return"working";case"running":return"running";case"spawning":return"spawning";case"queued":return"queued";default:return a.replace(/[_-]+/g," ")}}(M),P=function(a){switch(a){case"working":case"running":return"bg-amber-400";case"needs_input":return"bg-blue-400";case"spawning":case"queued":default:return"bg-gray-400";case"done":return"bg-emerald-400";case"errored":return"bg-red-400";case"stuck":return"bg-[var(--vk-accent)]";case"terminated":case"killed":return"bg-gray-500"}}(M),Q="working"===M||"running"===M||"spawning"===M||"queued"===M||"needs_input"===M,R="queued"!==M&&"spawning"!==M,S=h&&e&&"terminal"===H,T=h&&"preview"===H,U=h&&"diff"===H,V="min-h-[38px] gap-1.5 px-2.5 text-[12px] sm:min-h-0 sm:px-3",W=(0,t.kV)(a).slice(0,7),Y=(0,d.jsxs)(p.j7,{className:"flex w-full overflow-x-auto sm:w-fit sm:inline-flex",children:[(0,d.jsxs)(p.Xi,{value:"overview",className:V,children:[(0,d.jsx)(i,{className:"h-3.5 w-3.5"}),"Overview"]}),(0,d.jsxs)(p.Xi,{value:"diff",className:V,children:[(0,d.jsx)(j,{className:"h-3.5 w-3.5"}),"Review"]}),N?(0,d.jsxs)(p.Xi,{value:"dispatcher",className:V,children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5"}),"Dispatcher"]}):(0,d.jsxs)(p.Xi,{value:"terminal",className:V,children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Terminal"]}),(0,d.jsxs)(p.Xi,{value:"preview",className:V,children:[(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Preview"]}),(0,d.jsxs)(p.Xi,{value:"skills",className:V,children:[(0,d.jsx)(n.A,{className:"h-3.5 w-3.5"}),"Skills"]})]});return(0,d.jsx)("div",{className:(0,K.re)(S),"data-conductor-session-terminal":"ttyd-iframe",children:(0,d.jsxs)(p.tU,{value:H,onValueChange:I,className:S?"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-0 p-0":"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-1 p-1 lg:gap-2 lg:p-3",children:[S?(0,d.jsxs)("div",{className:"flex shrink-0 flex-col border-b border-white/10 bg-[#0d0908]",children:[(0,d.jsxs)("div",{className:"flex h-10 items-center gap-2 px-2",children:[w?(0,d.jsx)(r.$,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:w,"aria-label":"Open workspace panel",children:(0,d.jsx)(o.A,{className:"h-4 w-4"})}):null,(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[(0,d.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${P}${Q?" animate-pulse":""}`}),(0,d.jsx)("span",{className:"text-[12px] font-medium text-[#efe8e1]",children:O}),(0,d.jsxs)("span",{className:"font-mono text-[10px] text-[#8e847d]",children:["\xb7 ",W]})]}),R?(0,d.jsx)(ag,{projectId:A.projectId,bridgeId:A.bridgeId??null}):null]}),(0,d.jsx)("div",{className:"px-1.5 pb-1.5",children:Y})]}):(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1.5 sm:flex-nowrap",children:[Y,(0,d.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:ml-auto sm:w-auto sm:justify-end",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${P}${Q?" animate-pulse":""}`}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:O}),(0,d.jsxs)("span",{className:"hidden font-mono text-[10px] text-[var(--vk-text-muted)] sm:inline",children:["\xb7 ",W]})]}),R?(0,d.jsx)(ag,{projectId:A.projectId,bridgeId:A.bridgeId??null}):null]})]}),(0,d.jsxs)("div",{className:"relative min-h-0 min-w-0 h-0 flex-1 overflow-hidden",children:[(0,d.jsx)(p.av,{value:"overview",className:am,children:(0,d.jsx)(X,{session:A,sessionId:a,active:h&&"overview"===H})}),(0,d.jsx)(p.av,{value:"diff",className:`${am} flex min-h-0 flex-col`,children:(0,d.jsx)(aj,{sessionId:a,active:U})}),N?(0,d.jsx)(p.av,{value:"dispatcher",forceMount:!0,className:an,children:(0,d.jsx)(al,{thread:A,projectId:A.projectId,bridgeId:A.bridgeId??c,active:h&&"dispatcher"===H,className:"h-full w-full border-0 xl:w-full"})}):(0,d.jsx)(p.av,{value:"terminal",forceMount:!0,className:S?`flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-[#060404] ${an}`:`flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-transparent ${an}`,children:(0,d.jsx)(ah,{sessionId:a,projectId:A.projectId,bridgeId:A.bridgeId??null,sessionState:M,runtimeMode:A.metadata.runtimeMode?.trim()??null,pendingInsert:F,immersiveMobileMode:S,panelVisible:h&&"terminal"===H,onPendingInsertConsumed:()=>G(null)})}),(0,d.jsx)(p.av,{value:"preview",forceMount:!0,className:`${an} flex min-h-0 flex-col`,children:(0,d.jsx)(ai,{sessionId:a,active:T,onQueueTerminalInsert:J,onConnectionChange:L},a)}),(0,d.jsx)(p.av,{value:"skills",className:am,children:(0,d.jsx)(ak,{session:A,sessionId:a,active:h&&"skills"===H})})]})]},a)})}}};
|
|
1
|
+
"use strict";exports.id=6034,exports.ids=[6034,9789],exports.modules={2621:(a,b,c)=>{c.d(b,{DK:()=>e,VM:()=>g,hq:()=>d,qg:()=>f,re:()=>h});let d="overscroll-contain touch-pan-y [-webkit-overflow-scrolling:touch]",e=`overflow-y-auto ${d}`,f="min-h-0 flex-1 overflow-hidden bg-[#0f1012] p-3",g=d;function h(a){return["flex h-full min-h-0 min-w-0 w-full flex-col",a?"overflow-hidden bg-[#060404]":"overflow-hidden"].join(" ")}},7071:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},7901:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},26993:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]])},32792:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},50898:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("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"}]])},52404:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},54761:(a,b,c)=>{c.d(b,{Wu:()=>h,Zp:()=>f,aR:()=>g});var d=c(92692),e=c(93544);let f=(0,c(71277).forwardRef)(({className:a,...b},c)=>(0,d.jsx)("div",{ref:c,className:(0,e.cn)("surface-card rounded-[var(--radius-md)] border",a),...b}));function g({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("px-3 py-2",a),...b})}f.displayName="Card"},57658:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},59789:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},67811:(a,b,c)=>{c.d(b,{g:()=>g});var d=c(71277),e=c(46818);function f(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function g(a,b){let c=b?.enabled??!0,[g,h]=(0,d.useState)(null),[i,j]=(0,d.useState)(c),[k,l]=(0,d.useState)(null),m=(0,d.useCallback)(async()=>{if(!c){h(null),l(null),j(!1);return}try{var b;let c,d,g,i=await fetch((0,e.S)("/api/preferences",a)),j=await i.json().catch(()=>null);if(!i.ok)throw Error(j?.error??j?.reason??`Failed to load preferences: ${i.status}`);h((b=j?.preferences,c=f(b),g=(d=f(c.notifications)).soundFile,{onboardingAcknowledged:!0===c.onboardingAcknowledged,codingAgent:"string"==typeof c.codingAgent&&c.codingAgent.trim().length>0?c.codingAgent.trim():"claude-code",ide:"string"==typeof c.ide&&c.ide.trim().length>0?c.ide.trim():"vscode",markdownEditor:"string"==typeof c.markdownEditor&&c.markdownEditor.trim().length>0?c.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof c.markdownEditorPath?c.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==d.soundEnabled,soundFile:null===g?null:"string"==typeof g&&g.trim().length>0?g.trim():"abstract-sound-4"}})),l(null)}catch(a){h(null),l(a instanceof Error?a.message:"Failed to load preferences")}finally{j(!1)}},[a,c]);return{preferences:c?g:null,loading:!!c&&i,error:c?k:null,refresh:m}}},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},74712:(a,b,c)=>{c.d(b,{tU:()=>D,av:()=>G,j7:()=>E,Xi:()=>F});var d=c(92692),e=c(71277),f=c(74508),g=c(63660),h=c(64121),i=c(64308),j=c(5707),k=c(8370),l=c(50904),m=c(92408),n="Tabs",[o,p]=(0,g.A)(n,[h.RG]),q=(0,h.RG)(),[r,s]=o(n),t=e.forwardRef((a,b)=>{let{__scopeTabs:c,value:e,onValueChange:f,defaultValue:g,orientation:h="horizontal",dir:i,activationMode:o="automatic",...p}=a,q=(0,k.jH)(i),[s,t]=(0,l.i)({prop:e,onChange:f,defaultProp:g??"",caller:n});return(0,d.jsx)(r,{scope:c,baseId:(0,m.B)(),value:s,onValueChange:t,orientation:h,dir:q,activationMode:o,children:(0,d.jsx)(j.sG.div,{dir:q,"data-orientation":h,...p,ref:b})})});t.displayName=n;var u="TabsList",v=e.forwardRef((a,b)=>{let{__scopeTabs:c,loop:e=!0,...f}=a,g=s(u,c),i=q(c);return(0,d.jsx)(h.bL,{asChild:!0,...i,orientation:g.orientation,dir:g.dir,loop:e,children:(0,d.jsx)(j.sG.div,{role:"tablist","aria-orientation":g.orientation,...f,ref:b})})});v.displayName=u;var w="TabsTrigger",x=e.forwardRef((a,b)=>{let{__scopeTabs:c,value:e,disabled:g=!1,...i}=a,k=s(w,c),l=q(c),m=A(k.baseId,e),n=B(k.baseId,e),o=e===k.value;return(0,d.jsx)(h.q7,{asChild:!0,...l,focusable:!g,active:o,children:(0,d.jsx)(j.sG.button,{type:"button",role:"tab","aria-selected":o,"aria-controls":n,"data-state":o?"active":"inactive","data-disabled":g?"":void 0,disabled:g,id:m,...i,ref:b,onMouseDown:(0,f.mK)(a.onMouseDown,a=>{g||0!==a.button||!1!==a.ctrlKey?a.preventDefault():k.onValueChange(e)}),onKeyDown:(0,f.mK)(a.onKeyDown,a=>{[" ","Enter"].includes(a.key)&&k.onValueChange(e)}),onFocus:(0,f.mK)(a.onFocus,()=>{let a="manual"!==k.activationMode;o||g||!a||k.onValueChange(e)})})})});x.displayName=w;var y="TabsContent",z=e.forwardRef((a,b)=>{let{__scopeTabs:c,value:f,forceMount:g,children:h,...k}=a,l=s(y,c),m=A(l.baseId,f),n=B(l.baseId,f),o=f===l.value,p=e.useRef(o);return e.useEffect(()=>{let a=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,d.jsx)(i.C,{present:g||o,children:({present:c})=>(0,d.jsx)(j.sG.div,{"data-state":o?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":m,hidden:!c,id:n,tabIndex:0,...k,ref:b,style:{...a.style,animationDuration:p.current?"0s":void 0},children:c&&h})})});function A(a,b){return`${a}-trigger-${b}`}function B(a,b){return`${a}-content-${b}`}z.displayName=y;var C=c(93544);let D=t,E=(0,e.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(v,{ref:c,className:(0,C.cn)("inline-flex max-w-full items-center gap-0.5 overflow-x-auto rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-0.5 whitespace-nowrap touch-pan-x [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",a),...b}));E.displayName="TabsList";let F=(0,e.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(x,{ref:c,className:(0,C.cn)("inline-flex min-h-[34px] shrink-0 items-center gap-1.5 rounded-[3px] px-2.5 py-1.5 text-[12px] text-[var(--vk-text-muted)]","data-[state=active]:bg-[var(--vk-bg-active)] data-[state=active]:text-[var(--vk-text-normal)]","hover:text-[var(--vk-text-normal)]","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]",a),...b}));F.displayName="TabsTrigger";let G=(0,e.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(z,{ref:c,className:(0,C.cn)("focus-visible:outline-none",a),...b}));G.displayName="TabsContent"},79101:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},96034:(a,b,c)=>{c.r(b),c.d(b,{SessionDetail:()=>ap});var d=c(92692),e=c(3429),f=c(71277),g=c(67994),h=c(37303);let i=(0,h.A)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]),j=(0,h.A)("git-compare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);var k=c(50898),l=c(7071),m=c(52404),n=c(26993),o=c(62170),p=c(74712),q=c(54761),r=c(1071),s=c(33857),t=c(19954),u=c(29942),v=c(49549),w=c(13636),x=c(86263),y=c(79101),z=c(51430),A=c(7901);let B=(0,h.A)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var C=c(64583),D=c(32792),E=c(59789),F=c(75185),G=c(57658);let H=(0,h.A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]),I=(0,h.A)("dollar-sign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);var J=c(86018),K=c(2621);function L({text:a}){let[b,c]=(0,f.useState)(!1);async function e(){try{await navigator.clipboard.writeText(a),c(!0),window.setTimeout(()=>c(!1),1400)}catch{}}return(0,d.jsxs)("button",{type:"button",onClick:()=>void e(),className:"inline-flex max-w-[180px] items-center gap-1 font-mono text-[11px] text-[var(--vk-text-muted)] transition-colors hover:text-[var(--vk-text-normal)]",children:[(0,d.jsx)("span",{className:"truncate",children:a}),b?(0,d.jsx)(v.A,{className:"h-3 w-3 shrink-0 text-emerald-400"}):(0,d.jsx)(w.A,{className:"h-3 w-3 shrink-0 opacity-50"})]})}function M(a,b){let c=a.metadata[b];return"string"==typeof c&&c.trim().length>0?c:void 0}function N(a){if(!a)return null;let b=Number.parseInt(a,10);return Number.isFinite(b)&&b>0?b:null}function O({node:a,depth:b,selectedPath:c,expandedDirs:e,onToggleDir:f,onSelectFile:g}){let h=e.has(a.path),i=a.path===c,j=8+16*b;return a.isDir?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("button",{type:"button",onClick:()=>f(a.path),className:"flex w-full items-center gap-1.5 py-1.5 text-left text-[12px] text-[var(--vk-text-muted)] hover:bg-white/4 active:bg-white/6",style:{paddingLeft:j},children:[h?(0,d.jsx)(x.A,{className:"h-3 w-3 shrink-0 opacity-50"}):(0,d.jsx)(y.A,{className:"h-3 w-3 shrink-0 opacity-50"}),h?(0,d.jsx)(z.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}):(0,d.jsx)(A.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}),(0,d.jsx)("span",{className:"truncate",children:a.name})]}),h?a.children.map(a=>(0,d.jsx)(O,{node:a,depth:b+1,selectedPath:c,expandedDirs:e,onToggleDir:f,onSelectFile:g},a.path)):null]}):(0,d.jsxs)("button",{type:"button",onClick:()=>g(a.path),className:`flex w-full items-center gap-1.5 py-1.5 pr-2 text-left text-[12px] transition-colors ${i?"bg-blue-500/10 text-[var(--vk-text-strong)]":"text-[var(--vk-text-normal)] hover:bg-white/4"}`,style:{paddingLeft:j+16},children:[(0,d.jsx)(B,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate",children:a.name})]})}let P={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",mjs:"javascript",cjs:"javascript",mts:"typescript",cts:"typescript",html:"html",htm:"html",css:"css",scss:"scss",sass:"sass",less:"less",vue:"vue",svelte:"svelte",astro:"astro",json:"json",jsonc:"jsonc",json5:"json5",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",xml:"xml",svg:"xml",plist:"xml",csv:"csv",tsv:"csv",md:"markdown",mdx:"mdx",tex:"latex",rst:"rst",rs:"rust",go:"go",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",hh:"cpp",cs:"csharp",java:"java",kt:"kotlin",kts:"kotlin",scala:"scala",swift:"swift",m:"objective-c",mm:"objective-cpp",zig:"zig",nim:"nim",v:"v",d:"d",py:"python",pyi:"python",rb:"ruby",php:"php",pl:"perl",pm:"perl",lua:"lua",r:"r",R:"r",jl:"julia",ex:"elixir",exs:"elixir",erl:"erlang",hrl:"erlang",hs:"haskell",lhs:"haskell",clj:"clojure",cljs:"clojure",ml:"ocaml",mli:"ocaml",fs:"fsharp",fsx:"fsharp",sh:"bash",bash:"bash",zsh:"bash",fish:"fish",ps1:"powershell",psm1:"powershell",bat:"bat",cmd:"bat",dockerfile:"dockerfile",containerfile:"dockerfile",tf:"hcl",hcl:"hcl",nix:"nix",sql:"sql",graphql:"graphql",gql:"graphql",prisma:"prisma",proto:"protobuf",thrift:"thrift",makefile:"makefile",cmake:"cmake",asm:"asm",s:"asm",diff:"diff",patch:"diff",log:"log",txt:"plaintext",env:"dotenv",lock:"json"},Q={makefile:"makefile",Makefile:"makefile",dockerfile:"dockerfile",Dockerfile:"dockerfile",containerfile:"dockerfile",Containerfile:"dockerfile",gemfile:"ruby",Gemfile:"ruby",rakefile:"ruby",Rakefile:"ruby",cmakelists:"cmake",CMakeLists:"cmake",".gitignore":"gitignore",".dockerignore":"gitignore",".editorconfig":"ini",".prettierrc":"json",".eslintrc":"json",".babelrc":"json",".env":"dotenv",".env.local":"dotenv",".env.production":"dotenv","tsconfig.json":"jsonc","jsconfig.json":"jsonc"},R=new Set(["png","jpg","jpeg","gif","webp","svg","ico","bmp","avif"]);function S(a){let b=a.split("/").pop()??"",c=b.lastIndexOf(".");return c>=0?b.slice(c+1).toLowerCase():""}function T({code:a,lang:b}){let[c,e]=(0,f.useState)(null);if((0,f.useRef)(a),(0,f.useRef)(b),!c){let b=a.split("\n"),c=String(b.length).length;return(0,d.jsx)("div",{className:"inline-block min-w-full align-top",children:(0,d.jsx)("table",{className:"min-w-full border-collapse font-mono text-[11px] leading-5",children:(0,d.jsx)("tbody",{children:b.map((a,b)=>(0,d.jsxs)("tr",{className:"hover:bg-white/3",children:[(0,d.jsx)("td",{className:"select-none whitespace-nowrap border-r border-white/6 px-2 text-right text-[var(--vk-text-muted)] opacity-40",style:{minWidth:`${c+2}ch`},children:b+1}),(0,d.jsx)("td",{className:"whitespace-pre px-3 text-[var(--vk-text-normal)]",children:a||"\xa0"})]},b))})})})}return(0,d.jsx)("div",{className:"shiki-viewer inline-block min-w-full align-top [&_.shiki]:!bg-transparent [&_.shiki]:p-0 [&_code]:text-[11px] [&_code]:leading-5 [&_pre]:!bg-transparent [&_pre]:!p-0",dangerouslySetInnerHTML:{__html:c}})}function U({sessionId:a,filePath:b}){let[c,e]=(0,f.useState)(null),[g,h]=(0,f.useState)(!0),[i,j]=(0,f.useState)(null),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(!1),[o,p]=(0,f.useState)(0);if(g)return(0,d.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(C.A,{className:"h-4 w-4 animate-spin"}),"Loading…"]});if(i)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center px-4 text-center text-[12px] text-red-400",children:i});if(k&&R.has(S(b))){let c=new URLSearchParams({path:b,raw:"1"}),e=`/api/sessions/${encodeURIComponent(a)}/files?${c.toString()}`;return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-4",children:[(0,d.jsx)("img",{src:e,alt:b,className:"max-h-[60vh] max-w-full rounded-md object-contain"}),(0,d.jsxs)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[b.split("/").pop(),o>0?` \xb7 ${V(o)}`:""]})]})}if(k){let a=S(b);return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 px-4 text-center",children:[(0,d.jsx)("div",{className:"rounded-lg bg-white/4 p-4",children:(0,d.jsx)(B,{className:"mx-auto h-8 w-8 text-[var(--vk-text-muted)]"})}),(0,d.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:["Binary file",a?` (.${a})`:""," — preview not available"]}),o>0?(0,d.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)] opacity-60",children:V(o)}):null]})}let q=function(a){let b=a.split("/").pop()??"";if(Q[b])return Q[b];let c=b.lastIndexOf(".");if(c>=0){let a=b.slice(c+1).toLowerCase();if(P[a])return P[a]}return"plaintext"}(b);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[m?(0,d.jsxs)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1 text-[11px] text-amber-300",children:["File truncated",o>0?` (${V(o)} total)`:""]}):null,(0,d.jsx)("div",{className:`min-h-0 min-w-0 flex-1 overflow-auto py-2 touch-pan-x ${K.hq}`,children:(0,d.jsx)(T,{code:c??"",lang:q})})]})}function V(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function W({sessionId:a,active:b}){let[c,e]=(0,f.useState)([]),[g,h]=(0,f.useState)(!0),[i,j]=(0,f.useState)(null),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(""),[o,p]=(0,f.useState)(null),[q,r]=(0,f.useState)(new Set),s=(0,f.useRef)(!0),t=(0,f.useCallback)(async()=>{try{h(!0);let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/files`,{cache:"no-store"});if(!b.ok)throw Error(`Failed to load files (${b.status})`);let c=await b.json();if(!s.current)return;e(c.files??[]),l(!!c.truncated),j(null)}catch(a){if(!s.current)return;j(a instanceof Error?a.message:"Failed to load files")}finally{s.current&&h(!1)}},[a]),u=(0,f.useMemo)(()=>(function(a){let b={name:"",path:"",children:[],isDir:!0};for(let c of a){let a=c.split("/"),d=b,e="";for(let b=0;b<a.length;b++){let c=a[b];e=e?`${e}/${c}`:c;let f=b===a.length-1,g=d.children.find(a=>a.name===c);g||(g={name:c,path:e,children:[],isDir:!f},d.children.push(g)),d=g}}return function a(b){for(let c of(b.sort((a,b)=>a.isDir!==b.isDir?a.isDir?-1:1:a.name.localeCompare(b.name,void 0,{sensitivity:"base"})),b))c.children.length>0&&a(c.children);return b}(b.children)})(c),[c]),v=(0,f.useMemo)(()=>(function(a,b){if(!b)return a;let c=b.toLowerCase();return function a(b){let d=[];for(let e of b)(function a(b){return!!(b.name.toLowerCase().includes(c)||b.path.toLowerCase().includes(c))||b.children.some(a)})(e)&&(e.isDir?d.push({...e,children:a(e.children)}):d.push(e));return d}(a)})(u,m.trim()),[u,m]),w=(0,f.useCallback)(a=>{r(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),x=(0,f.useCallback)(a=>{p(a)},[]),y=(0,f.useCallback)(()=>{p(null)},[]);if(g&&0===c.length)return(0,d.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(C.A,{className:"h-4 w-4 animate-spin"}),"Loading workspace files…"]});if(i)return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-4 text-center",children:[(0,d.jsx)("p",{className:"text-[12px] text-red-400",children:i}),(0,d.jsx)("button",{type:"button",onClick:()=>void t(),className:"text-[11px] text-[var(--vk-text-muted)] underline hover:text-[var(--vk-text-normal)]",children:"Retry"})]});let z=o?(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col lg:hidden",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-2",children:[(0,d.jsx)("button",{type:"button",onClick:y,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6","aria-label":"Back to file list",children:(0,d.jsx)(D.A,{className:"h-4 w-4"})}),(0,d.jsx)(B,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:o})]}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(U,{sessionId:a,filePath:o})})]}):null;return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[z,(0,d.jsxs)("div",{className:`flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-1.5 ${o?"hidden lg:flex":""}`,children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 rounded-md bg-white/4 px-2 py-1.5",children:[(0,d.jsx)(E.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{type:"text",value:m,onChange:a=>n(a.target.value),placeholder:"Search files…",className:"min-w-0 flex-1 bg-transparent text-[12px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,d.jsx)("button",{type:"button",onClick:()=>void t(),disabled:g,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6 disabled:opacity-50","aria-label":"Refresh files",children:(0,d.jsx)(F.A,{className:`h-3.5 w-3.5 ${g?"animate-spin":""}`})})]}),k?(0,d.jsx)("div",{className:`shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1.5 text-[11px] text-amber-300 ${o?"hidden lg:block":""}`,children:"File list truncated (4000 file limit)"}):null,(0,d.jsxs)("div",{className:`min-h-0 flex-1 lg:flex lg:flex-row ${o?"hidden lg:flex":"flex flex-col"}`,children:[(0,d.jsx)("div",{className:`min-h-0 flex-1 overflow-y-auto py-1 lg:max-w-[320px] lg:border-r lg:border-white/8 ${K.hq}`,children:0===v.length?(0,d.jsx)("div",{className:"px-3 py-6 text-center text-[12px] text-[var(--vk-text-muted)]",children:m?"No files match your search.":"No files in workspace."}):v.map(a=>(0,d.jsx)(O,{node:a,depth:0,selectedPath:o,expandedDirs:q,onToggleDir:w,onSelectFile:x},a.path))}),(0,d.jsx)("div",{className:"hidden min-h-0 min-w-0 flex-1 lg:block",children:o?(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-3 py-2",children:[(0,d.jsx)(B,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:o})]}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(U,{sessionId:a,filePath:o})})]}):(0,d.jsx)("div",{className:"flex h-full items-center justify-center text-[12px] text-[var(--vk-text-muted)]",children:"Select a file to view its contents"})})]})]})}function X({session:a,sessionId:b,active:c}){let e=(0,f.useMemo)(()=>M(a,"task")??M(a,"prompt")??("string"==typeof a.task?a.task:"")??("string"==typeof a.prompt?a.prompt:""),[a]),g=(0,f.useMemo)(()=>M(a,"agent")??("string"==typeof a.agent?a.agent:""),[a]),h=(0,f.useMemo)(()=>(function(a,b){if(!a||!b)return"";let c=new Date(a).getTime(),d=new Date(b).getTime();if(!Number.isFinite(c)||!Number.isFinite(d)||d<c)return"";let e=Math.floor((d-c)/6e4);if(e<1)return"<1m";if(e<60)return`${e}m`;let f=Math.floor(e/60);return`${f}h ${e%60}m`})(M(a,"startedAt")??a.startedAt,M(a,"finishedAt")??a.finishedAt),[a]),i=(0,f.useMemo)(()=>(function(a){if("number"==typeof a.cost)return a.cost;let b=a.metadata.cost;if("string"!=typeof b)return 0;try{let a=JSON.parse(b),c="number"==typeof a.estimatedCostUsd?a.estimatedCostUsd:0,d="number"==typeof a.totalUSD?a.totalUSD:0;return c??d}catch{return 0}})(a),[a]),j=(0,f.useMemo)(()=>N(M(a,"queuePosition")),[a]),k=(0,f.useMemo)(()=>N(M(a,"queueDepth")),[a]),l=(0,f.useMemo)(()=>M(a,"recoveryState")??"",[a]),m=(0,f.useMemo)(()=>"queued"===a.status?j?`Waiting in queue at position ${j}${k?` of ${k}`:""}.`:"Waiting in the launch queue.":"requeued_after_restart"===l?"Session recovered after backend restart and requeued.":"reattach_pending"===l?"Recovering terminal runtime after backend restart.":"detached_runtime"===l?"Backend restarted while agent may still be running.":"resume_required"===l?"Session recovered after restart. Send a message to resume.":"",[k,j,l,a.status]);return(0,d.jsxs)("div",{className:`flex h-full min-h-0 flex-col ${K.DK}`,children:[m?(0,d.jsx)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-2",children:(0,d.jsx)("p",{className:"text-[12px] leading-snug text-amber-300",children:m})}):null,e?(0,d.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2.5",children:(0,d.jsx)("p",{className:"line-clamp-3 whitespace-pre-wrap text-[13px] leading-relaxed text-[var(--vk-text-normal)]",children:e})}):null,(0,d.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-x-4 gap-y-1 border-b border-white/8 px-3 py-2 text-[11px] text-[var(--vk-text-muted)]",children:[g?(0,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(J.N,{seed:{label:g},className:"h-4 w-4"}),(0,d.jsx)("span",{children:g})]}):null,a.branch?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(G.A,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)(L,{text:a.branch})]}):null,h?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(H,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{children:h})]}):null,i>0?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(I,{className:"h-3 w-3 shrink-0"}),(0,d.jsxs)("span",{children:["$",i.toFixed(3)]})]}):null]}),(0,d.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden border-t border-white/8",children:[(0,d.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2",children:(0,d.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wide text-[var(--vk-text-muted)]",children:"Workspace files"})}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(W,{sessionId:b,active:c})})]})]})}var Y=c(140),Z=c(48055),$=c(71943),_=c(46818),aa=c(67811),ab=c(93544);let ac="block h-5 w-5 shrink-0 object-contain",ad=[{id:"finder",label:"Finder"},{id:"cursor",label:"Cursor"},{id:"antigravity",label:"Antigravity"},{id:"windsurf",label:"Windsurf"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"custom",label:"Custom"}],ae={finder:{kind:"image",imageSrc:"/icons/ide/finder.svg",className:ac},vscode:{kind:"image",imageSrc:"/icons/ide/vscode-dark.svg",className:ac},"vscode-insiders":{kind:"image",imageSrc:"/icons/ide/vscode-insiders.svg",className:ac},cursor:{kind:"image",imageSrc:"/icons/ide/cursor-dark.svg",className:ac},windsurf:{kind:"image",imageSrc:"/icons/ide/windsurf-dark.svg",className:ac},"intellij-idea":{kind:"image",imageSrc:"/icons/ide/intellij.svg",className:ac},zed:{kind:"image",imageSrc:"/icons/ide/zed-dark.svg",className:ac},xcode:{kind:"image",imageSrc:"/icons/ide/xcode.svg",className:ac},antigravity:{kind:"image",imageSrc:"/icons/ide/antigravity-dark.svg",className:ac},custom:{kind:"icon",className:`${ac} text-[var(--vk-text-muted)]`}};function af({editorId:a,label:b}){let c=ae[a];return c?"icon"===c.kind?(0,d.jsx)(Z.A,{className:c?.className??`${ac} text-[var(--vk-text-muted)]`}):(0,d.jsx)("img",{src:c.imageSrc,alt:`${b} logo`,className:c.className}):(0,d.jsx)(Z.A,{className:`${ac} text-[var(--vk-text-muted)]`})}function ag({projectId:a,bridgeId:b,label:c="Open",triggerClassName:e}){let{preferences:g}=(0,aa.g)(b),[h,i]=(0,f.useState)(null),j=(0,f.useMemo)(()=>{var a;return a=g?.ide??"vscode",ad.find(b=>b.id===a)??{id:a,label:a}},[g?.ide]);async function k(c){if(a&&!h){i(c);try{let d=await fetch((0,_.S)(`/api/projects/${encodeURIComponent(a)}/open`,b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ide:c})}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to open project (${d.status})`)}catch(a){window.alert(a instanceof Error?a.message:"Failed to open project")}finally{i(null)}}}return(0,d.jsxs)(Y.bL,{children:[(0,d.jsx)(Y.l9,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:!a||null!==h,className:(0,ab.cn)("inline-flex h-9 items-center gap-2 rounded-[6px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.06)] disabled:cursor-not-allowed disabled:opacity-60",e),"aria-label":"Open project in code editor",title:a?`Open project in ${j.label}`:"No project selected",children:[h?(0,d.jsx)(C.A,{className:"h-4 w-4 animate-spin text-current"}):(0,d.jsx)($.A,{className:"h-4 w-4 text-current"}),(0,d.jsx)("span",{className:"hidden font-medium sm:inline",children:c}),(0,d.jsx)(x.A,{className:"h-3.5 w-3.5 text-current"})]})}),(0,d.jsx)(Y.ZL,{children:(0,d.jsx)(Y.UC,{align:"end",sideOffset:8,className:"z-50 min-w-[240px] rounded-[8px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:ad.map(a=>(0,d.jsxs)(Y.q7,{onSelect:()=>void k(a.id),className:"flex min-h-[44px] cursor-default items-center gap-3 rounded-[6px] px-3 py-2 text-[14px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)]",children:[(0,d.jsx)(af,{editorId:a.id,label:a.label}),(0,d.jsx)("span",{className:"flex-1",children:a.label}),j.id===a.id?(0,d.jsx)(v.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}):null]},a.id))})})]})}let ah=(0,e.default)(function(){return c.e(3364).then(c.bind(c,3364)).then(a=>a.SessionTerminal)},{loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading terminal..."})}),ai=(0,e.default)(()=>c.e(4684).then(c.bind(c,64684)).then(a=>a.SessionPreview),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionPreview"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading preview..."})}),aj=(0,e.default)(async()=>{},{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionDiff"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading review…"}),ssr:!1}),ak=(0,e.default)(()=>c.e(3855).then(c.bind(c,93855)).then(a=>a.SessionSkills),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionSkills"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading skills..."})}),al=(0,e.default)(()=>Promise.all([c.e(1827),c.e(6829),c.e(2831)]).then(c.bind(c,56829)).then(a=>a.DispatcherPane),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ../dispatcher/DispatcherPane"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading dispatcher..."})}),am="min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=active]:relative data-[state=active]:z-10 data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:z-0 data-[state=inactive]:invisible data-[state=inactive]:opacity-0",an="min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=active]:relative data-[state=active]:z-10 data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:z-0 data-[state=inactive]:opacity-0 data-[state=inactive]:select-none";function ao(a,b){let c=(0,u.tK)(b);return"overview"===a||"preview"===a||"skills"===a||"diff"===a?a:"dispatcher"===a||"terminal"===a?"dispatcher"===c?"dispatcher":"terminal":c}function ap({sessionId:a,initialSession:b=null,bridgeId:c=null,immersiveMobileMode:e=!1,active:h=!0,suppressPreviewAutoOpen:v=!1,onOpenSidebar:w}){let x=(0,g.usePathname)(),y=(0,g.useRouter)(),z=(0,g.useSearchParams)(),{session:A,loading:B,error:C}=(0,s.w)(a,b,{enabled:h,bridgeId:c}),D=(0,f.useRef)(0),E=(0,f.useRef)(!1),[F,G]=(0,f.useState)(null),H=(0,f.useMemo)(()=>ao(z.get("tab"),A),[z,A]),I=(0,f.useCallback)(a=>{let b=ao(a,A),c=(0,u.tK)(A),d=new URLSearchParams(z.toString());b===c?d.delete("tab"):d.set("tab",b);let e=d.toString(),f=e.length>0?`${x}?${e}`:x;y.replace(f,{scroll:!1})},[x,y,z,A]),J=(0,f.useCallback)(a=>{D.current+=1,G({nonce:D.current,...a})},[]),L=(0,f.useCallback)(a=>{(function({active:a,activeTab:b,alreadyOpened:c,connected:d,suppressAutoOpen:e}){return d&&a&&"terminal"===b&&!c&&!e})({active:h,activeTab:H,alreadyOpened:E.current,connected:a,suppressAutoOpen:v})&&(E.current=!0,I("preview"))},[h,H,I,v]);if(B)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(q.Zp,{className:"w-full max-w-md",children:(0,d.jsx)(q.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Loading session workspace..."})})});if(C)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(q.Zp,{className:"w-full max-w-md border-[color:color-mix(in_srgb,var(--status-error)_45%,transparent)]",children:(0,d.jsx)(q.Wu,{className:"py-7 text-center text-[13px] text-[var(--status-error)]",children:C})})});if(!A)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(q.Zp,{className:"w-full max-w-md",children:(0,d.jsx)(q.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Session not found"})})});let M="string"==typeof A.status?A.status:"unknown",N=(0,u.Zu)(A),O=function(a){switch(a){case"needs_input":return"needs input";case"working":return"working";case"running":return"running";case"spawning":return"spawning";case"queued":return"queued";default:return a.replace(/[_-]+/g," ")}}(M),P=function(a){switch(a){case"working":case"running":return"bg-amber-400";case"needs_input":return"bg-blue-400";case"spawning":case"queued":default:return"bg-gray-400";case"done":return"bg-emerald-400";case"errored":return"bg-red-400";case"stuck":return"bg-[var(--vk-accent)]";case"terminated":case"killed":return"bg-gray-500"}}(M),Q="working"===M||"running"===M||"spawning"===M||"queued"===M||"needs_input"===M,R="queued"!==M&&"spawning"!==M,S=h&&e&&"terminal"===H,T=h&&"preview"===H,U=h&&"diff"===H,V="min-h-[38px] gap-1.5 px-2.5 text-[12px] sm:min-h-0 sm:px-3",W=(0,t.kV)(a).slice(0,7),Y=(0,d.jsxs)(p.j7,{className:"flex w-full overflow-x-auto sm:w-fit sm:inline-flex",children:[(0,d.jsxs)(p.Xi,{value:"overview",className:V,children:[(0,d.jsx)(i,{className:"h-3.5 w-3.5"}),"Overview"]}),(0,d.jsxs)(p.Xi,{value:"diff",className:V,children:[(0,d.jsx)(j,{className:"h-3.5 w-3.5"}),"Review"]}),N?(0,d.jsxs)(p.Xi,{value:"dispatcher",className:V,children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5"}),"Dispatcher"]}):(0,d.jsxs)(p.Xi,{value:"terminal",className:V,children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Terminal"]}),(0,d.jsxs)(p.Xi,{value:"preview",className:V,children:[(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Preview"]}),(0,d.jsxs)(p.Xi,{value:"skills",className:V,children:[(0,d.jsx)(n.A,{className:"h-3.5 w-3.5"}),"Skills"]})]});return(0,d.jsx)("div",{className:(0,K.re)(S),"data-conductor-session-terminal":"ttyd-iframe",children:(0,d.jsxs)(p.tU,{value:H,onValueChange:I,className:S?"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-0 p-0":"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-1 p-1 lg:gap-2 lg:p-3",children:[S?(0,d.jsxs)("div",{className:"flex shrink-0 flex-col border-b border-white/10 bg-[#0d0908]",children:[(0,d.jsxs)("div",{className:"flex h-10 items-center gap-2 px-2",children:[w?(0,d.jsx)(r.$,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:w,"aria-label":"Open workspace panel",children:(0,d.jsx)(o.A,{className:"h-4 w-4"})}):null,(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[(0,d.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${P}${Q?" animate-pulse":""}`}),(0,d.jsx)("span",{className:"text-[12px] font-medium text-[#efe8e1]",children:O}),(0,d.jsxs)("span",{className:"font-mono text-[10px] text-[#8e847d]",children:["\xb7 ",W]})]}),R?(0,d.jsx)(ag,{projectId:A.projectId,bridgeId:A.bridgeId??null}):null]}),(0,d.jsx)("div",{className:"px-1.5 pb-1.5",children:Y})]}):(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1.5 sm:flex-nowrap",children:[Y,(0,d.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:ml-auto sm:w-auto sm:justify-end",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${P}${Q?" animate-pulse":""}`}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:O}),(0,d.jsxs)("span",{className:"hidden font-mono text-[10px] text-[var(--vk-text-muted)] sm:inline",children:["\xb7 ",W]})]}),R?(0,d.jsx)(ag,{projectId:A.projectId,bridgeId:A.bridgeId??null}):null]})]}),(0,d.jsxs)("div",{className:"relative min-h-0 min-w-0 h-0 flex-1 overflow-hidden",children:[(0,d.jsx)(p.av,{value:"overview",className:am,children:(0,d.jsx)(X,{session:A,sessionId:a,active:h&&"overview"===H})}),(0,d.jsx)(p.av,{value:"diff",className:`${am} flex min-h-0 flex-col`,children:(0,d.jsx)(aj,{sessionId:a,active:U})}),N?(0,d.jsx)(p.av,{value:"dispatcher",forceMount:!0,className:an,children:(0,d.jsx)(al,{thread:A,projectId:A.projectId,bridgeId:A.bridgeId??c,active:h&&"dispatcher"===H,className:"h-full w-full border-0 xl:w-full"})}):(0,d.jsx)(p.av,{value:"terminal",forceMount:!0,className:S?`flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-[#060404] ${an}`:`flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-transparent ${an}`,children:(0,d.jsx)(ah,{sessionId:a,projectId:A.projectId,bridgeId:A.bridgeId??null,sessionState:M,runtimeMode:A.metadata.runtimeMode?.trim()??null,pendingInsert:F,immersiveMobileMode:S,panelVisible:h&&"terminal"===H,onPendingInsertConsumed:()=>G(null)})}),(0,d.jsx)(p.av,{value:"preview",forceMount:!0,className:`${an} flex min-h-0 flex-col`,children:(0,d.jsx)(ai,{sessionId:a,active:T,onQueueTerminalInsert:J,onConnectionChange:L},a)}),(0,d.jsx)(p.av,{value:"skills",className:am,children:(0,d.jsx)(ak,{session:A,sessionId:a,active:h&&"skills"===H})})]})]},a)})}}};
|