conductor-oss 0.58.13 → 0.58.14
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 +6 -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 +12 -12
- package/web/.next/standalone/packages/web/.next/routes-manifest.json +20 -6
- 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/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/route.js +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]/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/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 +5 -0
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js.nft.json +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page_client-reference-manifest.js +1 -0
- 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 +6 -6
- package/web/.next/standalone/packages/web/.next/server/chunks/1564.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/3075.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/3540.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/3855.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/468.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/4682.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/9455.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/9466.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/functions-config-manifest.json +0 -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/next-font-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/next-font-manifest.json +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/{jX90efNmWKjmUhjR6uaGX → Aovss9YPRWpXFC1mP5EPg}/_buildManifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{1874.99b3a1b087b90a3d.js → 1874.2a160ad70372724a.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/2004.d493e194f4dd2066.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{2799.7bd9e2d79aa292b4.js → 2799.d54bac0b61a6c631.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{3838.e16cb2d72c562a24.js → 3838.04287296ac551c5a.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4443.997dfe4056d894f6.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{2969.7ed62af605513fc5.js → 5350.aa94c6b8388dca53.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/5493-b8c806de7c81318c.js +1 -0
- package/web/.next/{static/chunks/6173.71de079d21a80de7.js → standalone/packages/web/.next/static/chunks/6173.cbb5154eba070ed3.js} +1 -1
- package/web/.next/{static/chunks/633.9d752fb54b0db33f.js → standalone/packages/web/.next/static/chunks/633.b4cdc286430a0c6b.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{8510-4802c67282856b73.js → 8510-e668bccc7d24d3ae.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/883-65233c6bec359af6.js +3 -0
- package/web/.next/{static/chunks/9703-93347b812923255f.js → standalone/packages/web/.next/static/chunks/9703-4fb004d4fc34e01d.js} +2 -2
- package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/sync/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/open/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/setup/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/embed/terminal/[id]/page-2c31cc583a4b32a8.js +2 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-9ad1aef6cf915b5c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/ca465714-4d31bfa1a1fb3e89.js +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-aa8d15aa094ad89c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{webpack-9b458b0e28d599e9.js → webpack-9beeaaf2cc32fd68.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/css/6ef2fa08dd043252.css +1 -0
- package/web/.next/static/{jX90efNmWKjmUhjR6uaGX → Aovss9YPRWpXFC1mP5EPg}/_buildManifest.js +1 -1
- package/web/.next/static/chunks/{1874.99b3a1b087b90a3d.js → 1874.2a160ad70372724a.js} +1 -1
- package/web/.next/static/chunks/2004.d493e194f4dd2066.js +1 -0
- package/web/.next/static/chunks/{2799.7bd9e2d79aa292b4.js → 2799.d54bac0b61a6c631.js} +1 -1
- package/web/.next/static/chunks/{3838.e16cb2d72c562a24.js → 3838.04287296ac551c5a.js} +1 -1
- package/web/.next/static/chunks/4443.997dfe4056d894f6.js +1 -0
- package/web/.next/static/chunks/{2969.7ed62af605513fc5.js → 5350.aa94c6b8388dca53.js} +1 -1
- package/web/.next/static/chunks/5493-b8c806de7c81318c.js +1 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/6173.71de079d21a80de7.js → static/chunks/6173.cbb5154eba070ed3.js} +1 -1
- package/web/.next/{standalone/packages/web/.next/static/chunks/633.9d752fb54b0db33f.js → static/chunks/633.b4cdc286430a0c6b.js} +1 -1
- package/web/.next/static/chunks/{8510-4802c67282856b73.js → 8510-e668bccc7d24d3ae.js} +1 -1
- package/web/.next/static/chunks/883-65233c6bec359af6.js +3 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/9703-93347b812923255f.js → static/chunks/9703-4fb004d4fc34e01d.js} +2 -2
- package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/_global-error/page-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/access/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/agents/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/app-update/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/attachments/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/auth/profile/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/boards/comments/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/boards/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/bridges/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/code/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/bridges/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/config/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/context-files/open/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/context-files/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/events/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/executor/health/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/filesystem/directory/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/github/projects/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/github/projects/sync/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/github/repos/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/github/webhook/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/health/boards/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/health/sessions/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/notifications/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/preferences/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/open/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/setup/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/projects/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/repositories/[id]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/repositories/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/files/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/output/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/skills/activate/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/skills/catalog/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/skills/deactivate/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/skills/install/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/skills/installed/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/skills/session-active/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/skills/uninstall/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/spawn/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/workspaces/branches/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/api/workspaces/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/bridge/install.ps1/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/bridge/install.sh/route-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/app/embed/terminal/[id]/page-2c31cc583a4b32a8.js +2 -0
- package/web/.next/static/chunks/app/layout-9ad1aef6cf915b5c.js +1 -0
- package/web/.next/static/chunks/app/sign-in/hosted/page-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/ca465714-4d31bfa1a1fb3e89.js +3 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-aa8d15aa094ad89c.js +1 -0
- package/web/.next/static/chunks/{webpack-9b458b0e28d599e9.js → webpack-9beeaaf2cc32fd68.js} +1 -1
- package/web/.next/static/css/6ef2fa08dd043252.css +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js.nft.json +0 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route_client-reference-manifest.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/2802.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/9615.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4443.562c2cf3b1c7eafe.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/5493-74e29d5110b6cee2.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/7332.24d21240a4d8ae81.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/883-7ade258e2e6bccb9.js +0 -3
- 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-98e021b3f1f63ff8.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/static/chunks/4443.562c2cf3b1c7eafe.js +0 -1
- package/web/.next/static/chunks/5493-74e29d5110b6cee2.js +0 -1
- package/web/.next/static/chunks/7332.24d21240a4d8ae81.js +0 -1
- package/web/.next/static/chunks/883-7ade258e2e6bccb9.js +0 -3
- 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-98e021b3f1f63ff8.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/standalone/packages/web/.next/static/{jX90efNmWKjmUhjR6uaGX → Aovss9YPRWpXFC1mP5EPg}/_ssgManifest.js +0 -0
- /package/web/.next/static/{jX90efNmWKjmUhjR6uaGX → Aovss9YPRWpXFC1mP5EPg}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"node":{"
|
|
1
|
+
{"node":{"009287ea122ebca7b87b0dc5abb3587e84e1ef8f88":{"workers":{"app/_not-found/page":{"moduleId":"22579","async":false},"app/embed/terminal/[id]/page":{"moduleId":"22579","async":false},"app/settings/bridge/page":{"moduleId":"22579","async":false},"app/sign-in/hosted/page":{"moduleId":"22579","async":false},"app/sign-in/sso-callback/page":{"moduleId":"22579","async":false},"app/unlock/page":{"moduleId":"22579","async":false},"app/bridge/connect/page":{"moduleId":"22579","async":false},"app/page":{"moduleId":"22579","async":false},"app/sessions/[id]/page":{"moduleId":"22579","async":false},"app/sign-in/[[...sign-in]]/page":{"moduleId":"22579","async":false}},"filename":"../../../node_modules/@clerk/nextjs/dist/esm/server/keyless-custom-headers.js","exportedName":"collectKeylessMetadata"},"40b268bf4afd641816f0dddd4f1e7547ee2ee7d4ae":{"workers":{"app/_not-found/page":{"moduleId":"22579","async":false},"app/embed/terminal/[id]/page":{"moduleId":"22579","async":false},"app/settings/bridge/page":{"moduleId":"22579","async":false},"app/sign-in/hosted/page":{"moduleId":"22579","async":false},"app/sign-in/sso-callback/page":{"moduleId":"22579","async":false},"app/unlock/page":{"moduleId":"22579","async":false},"app/bridge/connect/page":{"moduleId":"22579","async":false},"app/page":{"moduleId":"22579","async":false},"app/sessions/[id]/page":{"moduleId":"22579","async":false},"app/sign-in/[[...sign-in]]/page":{"moduleId":"22579","async":false}},"filename":"../../../node_modules/@clerk/nextjs/dist/esm/server/keyless-custom-headers.js","exportedName":"formatMetadataHeaders"},"000c134e04d6594c9584e7af82cfa49f8919e1c89b":{"workers":{"app/_not-found/page":{"moduleId":"22579","async":false},"app/embed/terminal/[id]/page":{"moduleId":"22579","async":false},"app/settings/bridge/page":{"moduleId":"22579","async":false},"app/sign-in/hosted/page":{"moduleId":"22579","async":false},"app/sign-in/sso-callback/page":{"moduleId":"22579","async":false},"app/unlock/page":{"moduleId":"22579","async":false},"app/bridge/connect/page":{"moduleId":"22579","async":false},"app/page":{"moduleId":"22579","async":false},"app/sessions/[id]/page":{"moduleId":"22579","async":false},"app/sign-in/[[...sign-in]]/page":{"moduleId":"22579","async":false}},"filename":"../../../node_modules/@clerk/nextjs/dist/esm/app-router/keyless-actions.js","exportedName":"deleteKeylessAction"},"00df6b551c360f98208edb74741c2b90fac8472423":{"workers":{"app/_not-found/page":{"moduleId":"22579","async":false},"app/embed/terminal/[id]/page":{"moduleId":"22579","async":false},"app/settings/bridge/page":{"moduleId":"22579","async":false},"app/sign-in/hosted/page":{"moduleId":"22579","async":false},"app/sign-in/sso-callback/page":{"moduleId":"22579","async":false},"app/unlock/page":{"moduleId":"22579","async":false},"app/bridge/connect/page":{"moduleId":"22579","async":false},"app/page":{"moduleId":"22579","async":false},"app/sessions/[id]/page":{"moduleId":"22579","async":false},"app/sign-in/[[...sign-in]]/page":{"moduleId":"22579","async":false}},"filename":"../../../node_modules/@clerk/nextjs/dist/esm/app-router/keyless-actions.js","exportedName":"detectKeylessEnvDriftAction"},"00ede94dfc4f593ba82cff8378f5c4e3fdf8b3fce2":{"workers":{"app/_not-found/page":{"moduleId":"22579","async":false},"app/embed/terminal/[id]/page":{"moduleId":"22579","async":false},"app/settings/bridge/page":{"moduleId":"22579","async":false},"app/sign-in/hosted/page":{"moduleId":"22579","async":false},"app/sign-in/sso-callback/page":{"moduleId":"22579","async":false},"app/unlock/page":{"moduleId":"22579","async":false},"app/bridge/connect/page":{"moduleId":"22579","async":false},"app/page":{"moduleId":"22579","async":false},"app/sessions/[id]/page":{"moduleId":"22579","async":false},"app/sign-in/[[...sign-in]]/page":{"moduleId":"22579","async":false}},"filename":"../../../node_modules/@clerk/nextjs/dist/esm/app-router/keyless-actions.js","exportedName":"createOrReadKeylessAction"},"40cd11015365d2d51a61f80482ec7a6a9b6fb02537":{"workers":{"app/_not-found/page":{"moduleId":"22579","async":false},"app/embed/terminal/[id]/page":{"moduleId":"22579","async":false},"app/settings/bridge/page":{"moduleId":"22579","async":false},"app/sign-in/hosted/page":{"moduleId":"22579","async":false},"app/sign-in/sso-callback/page":{"moduleId":"22579","async":false},"app/unlock/page":{"moduleId":"22579","async":false},"app/bridge/connect/page":{"moduleId":"22579","async":false},"app/page":{"moduleId":"22579","async":false},"app/sessions/[id]/page":{"moduleId":"22579","async":false},"app/sign-in/[[...sign-in]]/page":{"moduleId":"22579","async":false}},"filename":"../../../node_modules/@clerk/nextjs/dist/esm/app-router/keyless-actions.js","exportedName":"syncKeylessConfigAction"},"00e3ef26f67e48dd4226d527429160d88825b3158e":{"workers":{"app/_not-found/page":{"moduleId":"37992","async":false},"app/embed/terminal/[id]/page":{"moduleId":"37992","async":false},"app/settings/bridge/page":{"moduleId":"37992","async":false},"app/sign-in/hosted/page":{"moduleId":"37992","async":false},"app/sign-in/sso-callback/page":{"moduleId":"37992","async":false},"app/unlock/page":{"moduleId":"37992","async":false},"app/bridge/connect/page":{"moduleId":"37992","async":false},"app/page":{"moduleId":"37992","async":false},"app/sessions/[id]/page":{"moduleId":"37992","async":false},"app/sign-in/[[...sign-in]]/page":{"moduleId":"37992","async":false}},"filename":"../../../node_modules/@clerk/nextjs/dist/esm/app-router/server-actions.js","exportedName":"invalidateCacheAction"}},"edge":{},"encryptionKey":"/38TsOPQMDjXOoCRsoUxFVhdRbKGBw57fZotm4oHW1g="}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:51,errorRate:1e-4,numBits:978,numHashes:14,bitArray:[1,1,0,0,1,0,0,0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,0,1,0,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,1,1,0,1,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,1,1,1,0,1,0,1,1,0,0,1,1,1,1,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,1,0,1,1,1,0,1,1,1,0,1,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,0,1,1,1,0,1,0,1,0,0,1,1,0,1,1,0,0,1,0,0,1,1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,0,1,0,1,0,1,1,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,1,0,1,0,1,0,1,0,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,1,1,1,1,0,0,1,0,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,0,1,0,1,0,1,1,0,0,1,1,0,1,0,1,0,0,0,1,1,0,0,0,1,1,0,1,1,1,0,1,0,0,1,0,1,1,1,1,1,0,0,1,0,1,0,1,1,1,1,1,0,1,1,0,0,1,0,1,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,0,1,0,1,0,1,0,0,1,0,1,1,0,0,1,1,1,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,1,1,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,1,0,1,0,0,1,0,1,0,1,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,1,0,1,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,0,0,1,0,0,0,1,1,0,1,1,0,0,0,1,0,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,0,0,0,0,0,0,1,1,1,0,0,1,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,0,0,1,1,1,1,1,1,0,1,0,0,1,1,1,0,0,0,1,0,1,1,1,1,1,1,0,1,1,0,1,0,0,0,0,1,1,0,1,0,1,0,0,1,1,0,1,0,1,0,1,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,1,1,1,1,1,0,1,1,1,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0,1,1,0,1,1,1,0,0,1,0,1,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,0,1,0,0,1,0,0,1,1,0,1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,1,0,1,0,0,1,1,1,1,1,0,0,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,1,0,1,1,0]},__routerFilterDynamic:{numItems:
|
|
1
|
+
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:51,errorRate:1e-4,numBits:978,numHashes:14,bitArray:[1,1,0,0,1,0,0,0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,0,1,0,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,1,1,0,1,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,1,1,1,0,1,0,1,1,0,0,1,1,1,1,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,1,0,1,1,1,0,1,1,1,0,1,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,0,1,1,1,0,1,0,1,0,0,1,1,0,1,1,0,0,1,0,0,1,1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,0,1,0,1,0,1,1,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,1,0,1,0,1,0,1,0,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,1,1,1,1,0,0,1,0,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,0,1,0,1,0,1,1,0,0,1,1,0,1,0,1,0,0,0,1,1,0,0,0,1,1,0,1,1,1,0,1,0,0,1,0,1,1,1,1,1,0,0,1,0,1,0,1,1,1,1,1,0,1,1,0,0,1,0,1,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,0,1,0,1,0,1,0,0,1,0,1,1,0,0,1,1,1,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,1,1,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,1,0,1,0,0,1,0,1,0,1,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,1,0,1,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,0,0,1,0,0,0,1,1,0,1,1,0,0,0,1,0,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,0,0,0,0,0,0,1,1,1,0,0,1,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,0,0,1,1,1,1,1,1,0,1,0,0,1,1,1,0,0,0,1,0,1,1,1,1,1,1,0,1,1,0,1,0,0,0,0,1,1,0,1,0,1,0,0,1,1,0,1,0,1,0,1,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,1,1,1,1,1,0,1,1,1,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0,1,1,0,1,1,1,0,0,1,0,1,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,0,1,0,0,1,0,0,1,1,0,1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,1,0,1,0,0,1,1,1,1,1,0,0,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,1,0,1,1,0]},__routerFilterDynamic:{numItems:9,errorRate:1e-4,numBits:173,numHashes:14,bitArray:[1,0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,1,1,0,1,1,0,1,1,1,0,1,0,0,0,0,0,1,0,1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,0,1,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,1,0,0,1,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,0]},sortedPages:["/_app"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1874],{2939:(e,t,a)=>{a.d(t,{A:()=>s});let s=(0,a(13454).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},81874:(e,t,a)=>{a.r(t),a.d(t,{SessionSkills:()=>W});var s=a(54568),r=a(7620),l=a(2939),n=a(13454);let i=(0,n.A)("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),d=(0,n.A)("table-2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),o=(0,n.A)("users-round",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]),c=(0,n.A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]),x=(0,n.A)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var m=a(46548);let h=(0,n.A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),p=(0,n.A)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),v=(0,n.A)("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);var k=a(23555);let u=(0,n.A)("workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]),g=(0,n.A)("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]),f=(0,n.A)("video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]),y=(0,n.A)("megaphone",[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]]);var b=a(97380);let j=(0,n.A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),w=(0,n.A)("notebook-pen",[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]]);var N=a(41007);let M=(0,n.A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var A=a(58299),S=a(22061),C=a(87242),R=a(63322),E=a(31404),z=a(90986),I=a(76081),$=a(40443),q=a(33507);let H={FileText:l.A,Presentation:i,Table2:d,UsersRound:o,Palette:c,Image:x,Sparkles:m.A,LayoutGrid:h,Rocket:p,Bug:v,Search:k.A,Workflow:u,Wand2:g,Video:f,Megaphone:y,Globe:b.A,BookOpen:j,NotebookPen:w},U=[l.A,j,b.A,h,c,k.A,m.A,g,u,w,o],L={id:"generic-open-standard",name:"Generic open-standard",projectRoots:[".agents/skills"],userRoots:["~/.agents/skills"]};async function V(e){let t=await e,a=await t.json().catch(()=>null);if(!t.ok)throw Error(function(e,t){if(e&&"object"==typeof e){if("string"==typeof e.error&&e.error.trim().length>0)return e.error;if("string"==typeof e.reason&&e.reason.trim().length>0)return e.reason}return`Request failed (${t})`}(a,t.status));return a}function P(e,t){return e instanceof Error?e.message:t}function W({session:e,sessionId:t,active:a}){let l=e.bridgeId??null,n=e.metadata.agent?.trim()||e.metadata.executor?.trim()||e.metadata.runtimeAgent?.trim()||"",i=e.metadata.workspacePath?.trim()||null,[d,o]=(0,r.useState)(""),[c,x]=(0,r.useState)(n||L.id),[h,p]=(0,r.useState)(i?"workspace":"user"),[v,u]=(0,r.useState)([]),[g,f]=(0,r.useState)([]),[y,b]=(0,r.useState)({}),[j,w]=(0,r.useState)([]),[D,T]=(0,r.useState)([]),[_,F]=(0,r.useState)(!0),[O,G]=(0,r.useState)(null),[Z,B]=(0,r.useState)(null),J=(0,r.useMemo)(()=>g.find(e=>e.id===c)??(c.trim().length>0&&c!==L.id?{id:c,name:c,projectRoots:L.projectRoots,userRoots:L.userRoots}:L),[g,c]),K=(0,r.useMemo)(()=>{let e=[...g];return e.some(e=>e.id===J.id)||e.unshift(J),e.some(e=>e.id===n&&n.trim().length>0)||e.unshift({id:n||L.id,name:n||L.name,projectRoots:L.projectRoots,userRoots:L.userRoots}),e.filter((e,t,a)=>a.findIndex(t=>t.id===e.id)===t)},[n,g,J]),Q=(0,r.useCallback)(async(e={})=>{let{clearToast:s=!0}=e;if(a){F(!0),s&&B(null);try{let[e,a,s]=await Promise.allSettled([V(fetch((0,E.S)("/api/skills/catalog",l),{cache:"no-store"})),V(fetch((0,E.S)(`/api/skills/installed?agent=${encodeURIComponent(c)}${i?`&workspacePath=${encodeURIComponent(i)}`:""}`,l),{cache:"no-store"})),V(fetch((0,E.S)(`/api/skills/session-active?sessionId=${encodeURIComponent(t)}`,l),{cache:"no-store"}))]),r=[];if("fulfilled"===e.status?(u(Array.isArray(e.value.skills)?e.value.skills:[]),f(Array.isArray(e.value.agents)?e.value.agents:[])):r.push(P(e.reason,"Failed to load skills catalog")),"fulfilled"===a.status){let e=Object.fromEntries((a.value.skills??[]).map(e=>[e.skillId,e]));b(e),T(a.value.customSkills??[])}else r.push(P(a.reason,"Failed to load installed skills"));"fulfilled"===s.status?w(s.value.skillIds??[]):r.push(P(s.reason,"Failed to load active session skills")),r.length>0&&B({kind:"error",message:r[0]})}catch(e){B({kind:"error",message:e instanceof Error?e.message:"Failed to load skills"})}finally{F(!1)}}},[a,l,t,c,i]);(0,r.useEffect)(()=>{Q()},[Q]);let X=(0,r.useMemo)(()=>{let e=d.trim().toLowerCase();return v.filter(t=>0===e.length||t.name.toLowerCase().includes(e)||t.summary.toLowerCase().includes(e)||t.category.toLowerCase().includes(e))},[v,d]),Y=(0,r.useCallback)(async(e,a)=>{G(e.id),B(null);try{let s="activate"===a||"deactivate"===a?{sessionId:t,skillId:e.id}:{skillId:e.id,agent:c,scope:h,workspacePath:i,sessionId:t},r=await fetch((0,E.S)("install"===a?"/api/skills/install":"activate"===a?"/api/skills/activate":"deactivate"===a?"/api/skills/deactivate":"/api/skills/uninstall",l),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(s)}),n=await r.json().catch(()=>({}));if(!r.ok)throw Error(n.error||"Skill action failed");let d={install:`${e.name} installed and activated for this session.`,activate:`${e.name} is active for this session.`,deactivate:`${e.name} is no longer active for this session.`,uninstall:`${e.name} was removed from ${h} scope.`};B({kind:"success",message:d[a]}),await Q({clearToast:!1})}catch(e){B({kind:"error",message:e instanceof Error?e.message:"Skill action failed"})}finally{G(null)}},[l,Q,h,t,c,i]),ee=_&&0===v.length,et=_&&v.length>0,ea=d.trim().length>0;return(0,s.jsx)("div",{className:"flex h-full min-h-0 min-w-0 flex-col overflow-hidden",children:(0,s.jsx)("div",{className:`min-h-0 min-w-0 flex-1 pb-4 lg:pb-0 ${q.DK}`,children:(0,s.jsxs)("div",{className:"flex min-h-full min-w-0 flex-col gap-3",children:[(0,s.jsx)($.Zp,{className:"min-w-0",children:(0,s.jsxs)($.aR,{className:"flex flex-col items-stretch gap-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,s.jsxs)("div",{className:"min-w-0 space-y-1.5",children:[(0,s.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--vk-text-normal)]",children:"Skills"}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Install open-agent skills from the curated catalog, detect what is already installed for the selected agent, and mark a skill as active for this session."})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 text-[12px] text-[var(--vk-text-muted)] lg:items-end",children:[(0,s.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,s.jsx)(M,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsxs)("span",{className:"min-w-0",children:["Agent: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:n||"unknown"})]})]}),(0,s.jsxs)("div",{className:"min-w-0",children:["Device: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:l??"local"})]}),(0,s.jsxs)("div",{className:"min-w-0 break-words",children:["Target agent: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:J.name})]}),(0,s.jsxs)("div",{className:"min-w-0 break-words",children:["Workspace: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:i??"Unavailable"})]})]})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,s.jsxs)("label",{className:"flex w-full items-center gap-2 rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,s.jsx)(k.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsx)("input",{value:d,onChange:e=>o(e.target.value),placeholder:"Search skills",className:"min-w-0 flex-1 bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,s.jsxs)("label",{className:"flex w-full items-center justify-between gap-2 text-[12px] text-[var(--vk-text-muted)] lg:w-auto lg:justify-start",children:[(0,s.jsx)("span",{className:"shrink-0",children:"Target agent"}),(0,s.jsx)("select",{value:c,onChange:e=>x(e.target.value),className:"min-w-0 w-full rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)] lg:w-auto",children:K.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,s.jsxs)("label",{className:"flex w-full items-center justify-between gap-2 text-[12px] text-[var(--vk-text-muted)] lg:w-auto lg:justify-start",children:[(0,s.jsx)("span",{className:"shrink-0",children:"Install scope"}),(0,s.jsxs)("select",{value:h,onChange:e=>p(e.target.value),className:"min-w-0 w-full rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)] lg:w-auto",children:[(0,s.jsx)("option",{value:"user",children:"User"}),(0,s.jsx)("option",{value:"workspace",disabled:!i,children:"Workspace"})]})]})]}),(0,s.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:["Installs into the selected agent's official skill folders. User scope mirrors into"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:J.userRoots.join(" • ")}),"; workspace scope mirrors into"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:J.projectRoots.join(" • ")}),"."]}),Z?(0,s.jsx)("div",{className:`rounded-[14px] border px-3 py-2 text-[12px] ${"error"===Z.kind?"border-red-400/35 bg-red-400/10 text-red-100":"border-emerald-400/35 bg-emerald-400/10 text-emerald-100"}`,children:Z.message}):null,et?(0,s.jsx)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"Refreshing skills..."}):null]})}),(0,s.jsxs)("div",{className:"grid min-h-0 min-w-0 flex-1 gap-3 lg:grid-cols-[minmax(0,1fr)_320px] lg:overflow-hidden",children:[(0,s.jsx)("div",{className:"min-h-0 min-w-0 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] p-3 lg:overflow-y-auto",children:(0,s.jsx)("div",{className:"space-y-3 lg:pr-2",children:ee?(0,s.jsxs)("div",{className:"flex min-h-[180px] items-center justify-center text-[13px] text-[var(--vk-text-muted)] sm:min-h-[220px]",children:[(0,s.jsx)(A.A,{className:"mr-2 h-4 w-4 animate-spin"})," Loading skills..."]}):0===X.length?(0,s.jsx)("div",{className:"flex min-h-[180px] items-center justify-center text-[13px] text-[var(--vk-text-muted)] sm:min-h-[220px]",children:ea?"No matching skills found.":"No skills available."}):X.map(e=>{var t;let a,r=y[e.id],l=!!(r?.installedUser||r?.installedWorkspace),n=j.includes(e.id),i=O===e.id,d=(t=e.icon,(a=t?.trim())&&H[a]?H[a]:N.A),o=g.length>0&&e.compatibleAgents.length>=g.length;return(0,s.jsxs)($.Zp,{className:"min-w-0 border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,s.jsxs)($.aR,{className:"flex flex-col items-stretch gap-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,s.jsxs)("div",{className:"flex min-w-0 gap-3",children:[(0,s.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] text-[var(--vk-text-normal)]",children:(0,s.jsx)(d,{className:"h-4 w-4"})}),(0,s.jsxs)("div",{className:"min-w-0 space-y-1.5",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,s.jsx)("h3",{className:"min-w-0 text-[14px] font-semibold text-[var(--vk-text-normal)]",children:e.name}),e.verified?(0,s.jsx)(z.E,{children:"Verified"}):(0,s.jsx)(z.E,{variant:"outline",children:"Community"}),(0,s.jsx)(z.E,{variant:"outline",children:e.category}),l?(0,s.jsx)(z.E,{variant:"outline",children:"Installed"}):null,n?(0,s.jsx)(z.E,{variant:"outline",children:"Active now"}):null,null]}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:e.summary}),e.note?(0,s.jsxs)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,s.jsx)(z.E,{variant:"info",className:"mr-2 align-middle",children:"Note"}),(0,s.jsx)("span",{className:"align-middle",children:e.note})]}):null]})]}),(0,s.jsx)("div",{className:"flex w-full flex-wrap items-center gap-2 xl:w-auto xl:justify-end",children:(0,s.jsxs)("a",{href:e.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[12px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:["Docs ",(0,s.jsx)(S.A,{className:"h-3 w-3"})]})})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-2 text-[12px] text-[var(--vk-text-muted)]",children:o?(0,s.jsx)(z.E,{variant:"outline",children:"Compatible with all supported agents"}):e.compatibleAgents.map(e=>(0,s.jsx)(z.E,{variant:"outline",children:e},e))})]}),(0,s.jsxs)($.Wu,{className:"space-y-3",children:[r?.installPaths?.length?(0,s.jsxs)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)] break-words",children:["Installed at: ",r.installPaths.join(" • ")]}):null,(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[l?n?(0,s.jsxs)(I.$,{type:"button",variant:"outline",size:"sm",disabled:i,onClick:()=>void Y(e,"deactivate"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(C.A,{className:"mr-1 h-3.5 w-3.5"})," Deactivate"]}):(0,s.jsxs)(I.$,{type:"button",size:"sm",disabled:i||!1,onClick:()=>void Y(e,"activate"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(R.A,{className:"mr-1 h-3.5 w-3.5"})," Use in session"]}):(0,s.jsxs)(I.$,{type:"button",size:"sm",disabled:i||!1,onClick:()=>void Y(e,"install"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(R.A,{className:"mr-1 h-3.5 w-3.5"})," Install and use"]}),l?(0,s.jsxs)(I.$,{type:"button",variant:"outline",size:"sm",disabled:i,onClick:()=>void Y(e,"uninstall"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):null," Uninstall"]}):null]})]})]},e.id)})})}),(0,s.jsxs)($.Zp,{className:"min-h-0 min-w-0 border-[var(--vk-border)] bg-[var(--vk-bg-surface)] lg:overflow-y-auto",children:[(0,s.jsxs)($.aR,{className:"flex-col items-start gap-1.5",children:[(0,s.jsx)("h3",{className:"text-[14px] font-semibold text-[var(--vk-text-normal)]",children:"Detected custom skills"}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Extra skill folders already present on the paired machine that do not match the curated catalog."})]}),(0,s.jsx)($.Wu,{className:"space-y-2 text-[13px] text-[var(--vk-text-muted)]",children:0===D.length?(0,s.jsx)("p",{children:"No custom skill folders detected."}):D.map(e=>{let t=function(e){if(0===e.trim().length)return N.A;let t=0;for(let a of e)t=(t<<5)-t+a.charCodeAt(0)|0;return U[Math.abs(t)%U.length]??m.A}(e.name);return(0,s.jsxs)("div",{className:"flex items-start gap-3 rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 break-words",children:[(0,s.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",children:(0,s.jsx)(t,{className:"h-3.5 w-3.5"})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("div",{className:"font-medium text-[var(--vk-text-normal)]",children:e.name}),(0,s.jsxs)("div",{className:"text-[12px] text-[var(--vk-text-muted)] break-words",children:["Detected from ",e.source]})]})]},e.id)})})]})]})]})})})}},90986:(e,t,a)=>{a.d(t,{E:()=>n});var s=a(54568),r=a(46916);let l={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 n({variant:e="default",className:t,children:a}){return(0,s.jsx)("span",{className:(0,r.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",l[e],t),children:a})}}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1874],{2939:(e,t,a)=>{a.d(t,{A:()=>s});let s=(0,a(13454).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},81874:(e,t,a)=>{a.r(t),a.d(t,{SessionSkills:()=>W});var s=a(54568),r=a(7620),l=a(2939),n=a(13454);let i=(0,n.A)("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),d=(0,n.A)("table-2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),o=(0,n.A)("users-round",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]),c=(0,n.A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]),x=(0,n.A)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var m=a(46548);let h=(0,n.A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),p=(0,n.A)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),v=(0,n.A)("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);var k=a(23555);let u=(0,n.A)("workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]),g=(0,n.A)("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]),f=(0,n.A)("video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]),y=(0,n.A)("megaphone",[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]]);var b=a(97380);let j=(0,n.A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),w=(0,n.A)("notebook-pen",[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]]);var N=a(41007);let M=(0,n.A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var A=a(58299),S=a(22061),C=a(87242),R=a(63322),E=a(31404),z=a(90986),$=a(76081),I=a(40443),q=a(33507);let H={FileText:l.A,Presentation:i,Table2:d,UsersRound:o,Palette:c,Image:x,Sparkles:m.A,LayoutGrid:h,Rocket:p,Bug:v,Search:k.A,Workflow:u,Wand2:g,Video:f,Megaphone:y,Globe:b.A,BookOpen:j,NotebookPen:w},U=[l.A,j,b.A,h,c,k.A,m.A,g,u,w,o],L={id:"generic-open-standard",name:"Generic open-standard",projectRoots:[".agents/skills"],userRoots:["~/.agents/skills"]};async function V(e){let t=await e,a=await t.json().catch(()=>null);if(!t.ok)throw Error(function(e,t){if(e&&"object"==typeof e){if("string"==typeof e.error&&e.error.trim().length>0)return e.error;if("string"==typeof e.reason&&e.reason.trim().length>0)return e.reason}return`Request failed (${t})`}(a,t.status));return a}function P(e,t){return e instanceof Error?e.message:t}function W({session:e,sessionId:t,active:a}){let l=e.bridgeId??null,n=e.metadata.agent?.trim()||e.metadata.executor?.trim()||e.metadata.runtimeAgent?.trim()||"",i=e.metadata.workspacePath?.trim()||null,[d,o]=(0,r.useState)(""),[c,x]=(0,r.useState)(n||L.id),[h,p]=(0,r.useState)(i?"workspace":"user"),[v,u]=(0,r.useState)([]),[g,f]=(0,r.useState)([]),[y,b]=(0,r.useState)({}),[j,w]=(0,r.useState)([]),[D,T]=(0,r.useState)([]),[_,F]=(0,r.useState)(!0),[O,G]=(0,r.useState)(null),[Z,B]=(0,r.useState)(null),J=(0,r.useMemo)(()=>g.find(e=>e.id===c)??(c.trim().length>0&&c!==L.id?{id:c,name:c,projectRoots:L.projectRoots,userRoots:L.userRoots}:L),[g,c]),K=(0,r.useMemo)(()=>{let e=[...g];return e.some(e=>e.id===J.id)||e.unshift(J),e.some(e=>e.id===n&&n.trim().length>0)||e.unshift({id:n||L.id,name:n||L.name,projectRoots:L.projectRoots,userRoots:L.userRoots}),e.filter((e,t,a)=>a.findIndex(t=>t.id===e.id)===t)},[n,g,J]),Q=(0,r.useCallback)(async(e={})=>{let{clearToast:s=!0}=e;if(a){F(!0),s&&B(null);try{let[e,a,s]=await Promise.allSettled([V(fetch((0,E.S)("/api/skills/catalog",l),{cache:"no-store"})),V(fetch((0,E.S)(`/api/skills/installed?agent=${encodeURIComponent(c)}${i?`&workspacePath=${encodeURIComponent(i)}`:""}`,l),{cache:"no-store"})),V(fetch((0,E.S)(`/api/skills/session-active?sessionId=${encodeURIComponent(t)}`,l),{cache:"no-store"}))]),r=[];if("fulfilled"===e.status?(u(Array.isArray(e.value.skills)?e.value.skills:[]),f(Array.isArray(e.value.agents)?e.value.agents:[])):r.push(P(e.reason,"Failed to load skills catalog")),"fulfilled"===a.status){let e=Object.fromEntries((a.value.skills??[]).map(e=>[e.skillId,e]));b(e),T(a.value.customSkills??[])}else r.push(P(a.reason,"Failed to load installed skills"));"fulfilled"===s.status?w(s.value.skillIds??[]):r.push(P(s.reason,"Failed to load active session skills")),r.length>0&&B({kind:"error",message:r[0]})}catch(e){B({kind:"error",message:e instanceof Error?e.message:"Failed to load skills"})}finally{F(!1)}}},[a,l,t,c,i]);(0,r.useEffect)(()=>{Q()},[Q]);let X=(0,r.useMemo)(()=>{let e=d.trim().toLowerCase();return v.filter(t=>0===e.length||t.name.toLowerCase().includes(e)||t.summary.toLowerCase().includes(e)||t.category.toLowerCase().includes(e))},[v,d]),Y=(0,r.useCallback)(async(e,a)=>{G(e.id),B(null);try{let s="activate"===a||"deactivate"===a?{sessionId:t,skillId:e.id}:{skillId:e.id,agent:c,scope:h,workspacePath:i,sessionId:t},r=await fetch((0,E.S)("install"===a?"/api/skills/install":"activate"===a?"/api/skills/activate":"deactivate"===a?"/api/skills/deactivate":"/api/skills/uninstall",l),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(s)}),n=await r.json().catch(()=>({}));if(!r.ok)throw Error(n.error||"Skill action failed");let d={install:`${e.name} installed and activated for this session.`,activate:`${e.name} is active for this session.`,deactivate:`${e.name} is no longer active for this session.`,uninstall:`${e.name} was removed from ${h} scope.`};B({kind:"success",message:d[a]}),await Q({clearToast:!1})}catch(e){B({kind:"error",message:e instanceof Error?e.message:"Skill action failed"})}finally{G(null)}},[l,Q,h,t,c,i]),ee=_&&0===v.length,et=_&&v.length>0,ea=d.trim().length>0;return(0,s.jsx)("div",{className:"flex h-full min-h-0 min-w-0 flex-col overflow-hidden",children:(0,s.jsx)("div",{className:`min-h-0 min-w-0 flex-1 pb-4 lg:pb-0 ${q.DK}`,children:(0,s.jsxs)("div",{className:"flex min-h-full min-w-0 flex-col gap-3",children:[(0,s.jsx)(I.Zp,{className:"min-w-0",children:(0,s.jsxs)(I.aR,{className:"flex flex-col items-stretch gap-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,s.jsxs)("div",{className:"min-w-0 space-y-1.5",children:[(0,s.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--vk-text-normal)]",children:"Skills"}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Install open-agent skills from the curated catalog, detect what is already installed for the selected agent, and mark a skill as active for this session."})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 text-[12px] text-[var(--vk-text-muted)] lg:items-end",children:[(0,s.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,s.jsx)(M,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsxs)("span",{className:"min-w-0",children:["Agent: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:n||"unknown"})]})]}),(0,s.jsxs)("div",{className:"min-w-0",children:["Device: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:l??"local"})]}),(0,s.jsxs)("div",{className:"min-w-0 break-words",children:["Target agent: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:J.name})]}),(0,s.jsxs)("div",{className:"min-w-0 break-words",children:["Workspace: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:i??"Unavailable"})]})]})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,s.jsxs)("label",{className:"flex w-full items-center gap-2 rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,s.jsx)(k.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsx)("input",{value:d,onChange:e=>o(e.target.value),placeholder:"Search skills",className:"min-w-0 flex-1 bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,s.jsxs)("label",{className:"flex w-full items-center justify-between gap-2 text-[12px] text-[var(--vk-text-muted)] lg:w-auto lg:justify-start",children:[(0,s.jsx)("span",{className:"shrink-0",children:"Target agent"}),(0,s.jsx)("select",{value:c,onChange:e=>x(e.target.value),className:"min-w-0 w-full rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)] lg:w-auto",children:K.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,s.jsxs)("label",{className:"flex w-full items-center justify-between gap-2 text-[12px] text-[var(--vk-text-muted)] lg:w-auto lg:justify-start",children:[(0,s.jsx)("span",{className:"shrink-0",children:"Install scope"}),(0,s.jsxs)("select",{value:h,onChange:e=>p(e.target.value),className:"min-w-0 w-full rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)] lg:w-auto",children:[(0,s.jsx)("option",{value:"user",children:"User"}),(0,s.jsx)("option",{value:"workspace",disabled:!i,children:"Workspace"})]})]})]}),(0,s.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:["Installs into the selected agent's official skill folders. User scope mirrors into"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:J.userRoots.join(" • ")}),"; workspace scope mirrors into"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:J.projectRoots.join(" • ")}),"."]}),Z?(0,s.jsx)("div",{className:`rounded-[14px] border px-3 py-2 text-[12px] ${"error"===Z.kind?"border-red-400/35 bg-red-400/10 text-red-100":"border-emerald-400/35 bg-emerald-400/10 text-emerald-100"}`,children:Z.message}):null,et?(0,s.jsx)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"Refreshing skills..."}):null]})}),(0,s.jsxs)("div",{className:"grid min-h-0 min-w-0 flex-1 gap-3 lg:grid-cols-[minmax(0,1fr)_320px] lg:overflow-hidden",children:[(0,s.jsx)("div",{className:`min-h-0 min-w-0 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] p-3 lg:overflow-y-auto ${q.hq}`,children:(0,s.jsx)("div",{className:"space-y-3 lg:pr-2",children:ee?(0,s.jsxs)("div",{className:"flex min-h-[180px] items-center justify-center text-[13px] text-[var(--vk-text-muted)] sm:min-h-[220px]",children:[(0,s.jsx)(A.A,{className:"mr-2 h-4 w-4 animate-spin"})," Loading skills..."]}):0===X.length?(0,s.jsx)("div",{className:"flex min-h-[180px] items-center justify-center text-[13px] text-[var(--vk-text-muted)] sm:min-h-[220px]",children:ea?"No matching skills found.":"No skills available."}):X.map(e=>{var t;let a,r=y[e.id],l=!!(r?.installedUser||r?.installedWorkspace),n=j.includes(e.id),i=O===e.id,d=(t=e.icon,(a=t?.trim())&&H[a]?H[a]:N.A),o=g.length>0&&e.compatibleAgents.length>=g.length;return(0,s.jsxs)(I.Zp,{className:"min-w-0 border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,s.jsxs)(I.aR,{className:"flex flex-col items-stretch gap-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,s.jsxs)("div",{className:"flex min-w-0 gap-3",children:[(0,s.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] text-[var(--vk-text-normal)]",children:(0,s.jsx)(d,{className:"h-4 w-4"})}),(0,s.jsxs)("div",{className:"min-w-0 space-y-1.5",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,s.jsx)("h3",{className:"min-w-0 text-[14px] font-semibold text-[var(--vk-text-normal)]",children:e.name}),e.verified?(0,s.jsx)(z.E,{children:"Verified"}):(0,s.jsx)(z.E,{variant:"outline",children:"Community"}),(0,s.jsx)(z.E,{variant:"outline",children:e.category}),l?(0,s.jsx)(z.E,{variant:"outline",children:"Installed"}):null,n?(0,s.jsx)(z.E,{variant:"outline",children:"Active now"}):null,null]}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:e.summary}),e.note?(0,s.jsxs)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,s.jsx)(z.E,{variant:"info",className:"mr-2 align-middle",children:"Note"}),(0,s.jsx)("span",{className:"align-middle",children:e.note})]}):null]})]}),(0,s.jsx)("div",{className:"flex w-full flex-wrap items-center gap-2 xl:w-auto xl:justify-end",children:(0,s.jsxs)("a",{href:e.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[12px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:["Docs ",(0,s.jsx)(S.A,{className:"h-3 w-3"})]})})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-2 text-[12px] text-[var(--vk-text-muted)]",children:o?(0,s.jsx)(z.E,{variant:"outline",children:"Compatible with all supported agents"}):e.compatibleAgents.map(e=>(0,s.jsx)(z.E,{variant:"outline",children:e},e))})]}),(0,s.jsxs)(I.Wu,{className:"space-y-3",children:[r?.installPaths?.length?(0,s.jsxs)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)] break-words",children:["Installed at: ",r.installPaths.join(" • ")]}):null,(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[l?n?(0,s.jsxs)($.$,{type:"button",variant:"outline",size:"sm",disabled:i,onClick:()=>void Y(e,"deactivate"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(C.A,{className:"mr-1 h-3.5 w-3.5"})," Deactivate"]}):(0,s.jsxs)($.$,{type:"button",size:"sm",disabled:i||!1,onClick:()=>void Y(e,"activate"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(R.A,{className:"mr-1 h-3.5 w-3.5"})," Use in session"]}):(0,s.jsxs)($.$,{type:"button",size:"sm",disabled:i||!1,onClick:()=>void Y(e,"install"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(R.A,{className:"mr-1 h-3.5 w-3.5"})," Install and use"]}),l?(0,s.jsxs)($.$,{type:"button",variant:"outline",size:"sm",disabled:i,onClick:()=>void Y(e,"uninstall"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):null," Uninstall"]}):null]})]})]},e.id)})})}),(0,s.jsxs)(I.Zp,{className:`min-h-0 min-w-0 border-[var(--vk-border)] bg-[var(--vk-bg-surface)] lg:overflow-y-auto ${q.hq}`,children:[(0,s.jsxs)(I.aR,{className:"flex-col items-start gap-1.5",children:[(0,s.jsx)("h3",{className:"text-[14px] font-semibold text-[var(--vk-text-normal)]",children:"Detected custom skills"}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Extra skill folders already present on the paired machine that do not match the curated catalog."})]}),(0,s.jsx)(I.Wu,{className:"space-y-2 text-[13px] text-[var(--vk-text-muted)]",children:0===D.length?(0,s.jsx)("p",{children:"No custom skill folders detected."}):D.map(e=>{let t=function(e){if(0===e.trim().length)return N.A;let t=0;for(let a of e)t=(t<<5)-t+a.charCodeAt(0)|0;return U[Math.abs(t)%U.length]??m.A}(e.name);return(0,s.jsxs)("div",{className:"flex items-start gap-3 rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 break-words",children:[(0,s.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",children:(0,s.jsx)(t,{className:"h-3.5 w-3.5"})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("div",{className:"font-medium text-[var(--vk-text-normal)]",children:e.name}),(0,s.jsxs)("div",{className:"text-[12px] text-[var(--vk-text-muted)] break-words",children:["Detected from ",e.source]})]})]},e.id)})})]})]})]})})})}},90986:(e,t,a)=>{a.d(t,{E:()=>n});var s=a(54568),r=a(46916);let l={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 n({variant:e="default",className:t,children:a}){return(0,s.jsx)("span",{className:(0,r.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",l[e],t),children:a})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2004],{12004:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>s.a,deleteKeylessAction:()=>f,detectKeylessEnvDriftAction:()=>t.A,syncKeylessConfigAction:()=>d});var a=r(5974);let f=(0,a.createServerReference)("000c134e04d6594c9584e7af82cfa49f8919e1c89b",a.callServer,void 0,a.findSourceMapURL,"deleteKeylessAction");var t=r(10740),s=r(16766);let d=(0,a.createServerReference)("40cd11015365d2d51a61f80482ec7a6a9b6fb02537",a.callServer,void 0,a.findSourceMapURL,"syncKeylessConfigAction")},16766:(e,c,r)=>{r.d(c,{a:()=>f});var a=r(5974);let f=(0,a.createServerReference)("00ede94dfc4f593ba82cff8378f5c4e3fdf8b3fce2",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2799],{22799:(e,t,r)=>{r.r(t),r.d(t,{SessionPreview:()=>W});var n=r(54568),a=r(7620),l=r(59706),s=r(22996),i=r(69863),o=r(75646),c=r(92007),d=r(97380),m=r(58299),x=r(82797),u=r(45601),v=r(89603),p=r(56050),h=r(30307),b=r(60527),f=r(20732),g=r(63264),w=r(90986),k=r(76081),j=r(11791),N=r(46916);let y=(0,a.forwardRef)(({className:e,children:t,viewportClassName:r,...a},l)=>(0,n.jsxs)(j.bL,{ref:l,className:(0,N.cn)("relative overflow-hidden",e),...a,children:[(0,n.jsx)(j.LM,{className:(0,N.cn)("h-full w-full rounded-[inherit]",r),children:t}),(0,n.jsx)(E,{}),(0,n.jsx)(j.OK,{})]}));y.displayName="ScrollArea";let E=(0,a.forwardRef)(({className:e,orientation:t="vertical",...r},a)=>(0,n.jsx)(j.Ze,{ref:a,orientation:t,className:(0,N.cn)("flex touch-none select-none","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-px",e),...r,children:(0,n.jsx)(j.zi,{className:"relative flex-1 rounded-full bg-[color:color-mix(in_srgb,var(--border-strong)_75%,transparent)] hover:bg-[var(--border-strong)]"})}));E.displayName="ScrollBar";var C=r(64357);let $=/(?:127\.0\.0\.1|0\.0\.0\.0|localhost|::1|\[::1\])/i;function U(e){return e.find(e=>(function(e){try{let t=new URL(e);return $.test(t.hostname)}catch{return!1}})(e))??null}var L=r(33507);let R=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 M(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit",second:"2-digit",timeZone:"UTC"}).format(new Date(t))}function A(e,t=120){return e.length<=t?e:`${e.slice(0,t-1)}…`}function S(e,t=180){let r=A((e??"").replace(/\s+/g," ").trim(),t);return r?`"${r.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:null}function F(e){return e.map(e=>e?.trim()).filter(e=>!!e).join("; ")}function _(e,t){return[`[${e}]`,...t.map(e=>e?.trim()).filter(e=>!!e)].join("\n")}function T(e,t){return{inlineText:F(["[Browser selection]",`selector=${S(e.selector,220)}`,`tag=${e.tag}`,e.role?`role=${e.role}`:null,e.name?`name=${S(e.name,140)}`:null,e.text?`text=${S(e.text,180)}`:null,e.frameName?`frame=${S(e.frameName,120)}`:null,t?`page=${S(t,220)}`:null]),draftText:_("Browser selection",[t?`Page: ${t}`:null,`Frame: ${e.frameName} (${e.frameUrl})`,`Selector: ${e.selector}`,`Tag: ${e.tag}`,e.role?`Role: ${e.role}`:null,e.name?`Name: ${e.name}`:null,e.text?`Text: ${e.text}`:null,e.htmlPreview?`HTML preview: ${e.htmlPreview}`:null]),successMessage:"Queued the selected element for terminal input."}}function D(e,t,r,n){let a=t.slice("console"===e?-8:-10),l=a.map(t=>{let r=[t.level,S(t.message,120)];return"network"===e&&(r.unshift(t.method??"GET"),r.push("number"==typeof t.status?String(t.status):null),r.push(t.url?S(t.url,120):null)),r.filter(Boolean).join(" ")});return{inlineText:F(["console"===e?"[Browser console]":"[Browser network]",r?`page=${S(r,220)}`:null,n?`selected=${S(n.selector,180)}`:null,`entries=${S(l.join(" | "),520)}`]),draftText:_("console"===e?"Browser console logs":"Browser network logs",[r?`Page: ${r}`:null,n?`Selected element: ${n.selector}`:null,...a.map(t=>"console"===e?`- ${M(t.timestamp)} ${t.level}: ${t.message}`:`- ${M(t.timestamp)} ${t.method??"GET"} ${t.status??"-"} ${t.url??t.message}`)]),successMessage:"console"===e?"Queued recent console logs for terminal input.":"Queued recent network logs for terminal input."}}let I=/(?:127\.0\.0\.1|0\.0\.0\.0|localhost|::1|\[::1\])/i;function P(e){let t=e?.trim();if(!t)return null;try{return new URL(t).origin}catch{return null}}function O(e){return e?"Yes":"No"}function H(e,t="None"){return e?.trim()||t}function z({label:e,value:t,hint:r,monospace:a=!1}){return(0,n.jsxs)("div",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,n.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:e}),(0,n.jsx)("div",{className:(0,N.cn)("mt-1 text-[13px] font-medium text-[var(--vk-text-normal)]",a?"break-all font-mono text-[11px] leading-5":null),children:t}),(0,n.jsx)("div",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:r})]})}function B({section:e,onCopy:t}){return(0,n.jsxs)("div",{className:"overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,n.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsx)("div",{className:"text-[11px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:e.title}),(0,n.jsx)("div",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:e.description})]}),(0,n.jsx)("div",{className:"divide-y divide-[var(--vk-border)]",children:e.fields.map(r=>(0,n.jsxs)("div",{className:"flex items-start gap-3 px-3 py-2.5",children:[(0,n.jsx)("div",{className:"w-28 shrink-0 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:r.label}),(0,n.jsx)("div",{className:(0,N.cn)("min-w-0 flex-1 text-[12px] text-[var(--vk-text-normal)]",r.monospace?"break-all font-mono text-[11px] leading-5":"leading-5"),children:r.value}),r.copyValue?(0,n.jsx)(k.$,{type:"button",variant:"ghost",size:"sm",className:"h-7 shrink-0",onClick:()=>{t(r.copyValue,`${r.label} copied to clipboard.`)},children:(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"})}):null]},`${e.id}-${r.label}`))})]})}function W({sessionId:e,active:t,onQueueTerminalInsert:r,onConnectionChange:j}){let[E,$]=(0,a.useState)(null),[S,F]=(0,a.useState)([]),[_,V]=(0,a.useState)(!1),[q,K]=(0,a.useState)(!1),[X,G]=(0,a.useState)(!0),[Q,Y]=(0,a.useState)(!0),[Z,J]=(0,a.useState)(null),[ee,et]=(0,a.useState)(null),[er,en]=(0,a.useState)(null),[ea,el]=(0,a.useState)(null),[es,ei]=(0,a.useState)("navigate"),[eo,ec]=(0,a.useState)("elements"),[ed,em]=(0,a.useState)(null),[ex,eu]=(0,a.useState)(""),[ev,ep]=(0,a.useState)(!1),[eh,eb]=(0,a.useState)(!1),[ef,eg]=(0,a.useState)({naturalWidth:0,naturalHeight:0,renderedWidth:0,renderedHeight:0}),ew=(0,a.useRef)(null),ek=(0,a.useRef)(Promise.resolve()),ej=(0,a.useRef)(null),eN=(0,a.useRef)(null),ey=(0,a.useRef)(Date.now()),eE=(0,a.useRef)(null),eC=(0,a.useRef)(null),e$=(0,a.useRef)(null),eU=(0,a.useRef)(0),eL=(0,a.useRef)(0),eR=(0,a.useRef)(0),eM=(0,a.useRef)(0),eA=(0,a.useRef)(0),eS=(0,a.useRef)(0),eF=(0,a.useRef)(0),e_=(0,a.useRef)(0),eT=(0,a.useRef)(0),[eD,eI]=(0,a.useState)(!0),eP=t&&eD,eO=U(E?.candidateUrls??[]),eH=ev&&eh,ez=!ev||eh;(0,a.useEffect)(()=>{let e=()=>{eI(!document.hidden)};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[]),(0,a.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia("(max-width: 1023px)"),t=()=>{ep(e.matches)};return(t(),"function"==typeof e.addEventListener)?(e.addEventListener("change",t),()=>{e.removeEventListener("change",t)}):(e.addListener(t),()=>{e.removeListener(t)})},[]),(0,a.useEffect)(()=>{ey.current=Date.now(),eE.current=null,eC.current=null,e$.current=null,eU.current=0,eL.current=0,eR.current=0,eM.current=0,eA.current=0,eS.current=0,eF.current=0,e_.current=0,eT.current=0,eb(!1)},[e]),(0,a.useEffect)(()=>{ev||eb(!1)},[ev]);let eB=(0,a.useCallback)(async(t="manual")=>{eU.current+=1,"poll"===t&&(eR.current+=1);try{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview`,{cache:"no-store"}),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r&&"error"in r?r.error??"Failed to load preview state":`Failed to load preview state: ${t.status}`);let n=Date.now();null===eE.current&&(eE.current=n),$(r),J(null),eu(e=>e.trim().length>0&&e!==r.currentUrl?e:r.currentUrl??U(r.candidateUrls)??r.candidateUrls[0]??e)}catch(e){throw eL.current+=1,e}},[e]),eW=(0,a.useCallback)(async t=>{eM.current+=1,K(!0),J(null);try{let r=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await r.json().catch(()=>null);if(!r.ok)throw n&&"object"==typeof n&&"status"in n&&n.status&&$(n.status),Error(n&&"error"in n?n.error??"Preview command failed":`Preview command failed: ${r.status}`);return $(n),n}catch(e){throw eA.current+=1,e}finally{K(!1)}},[e]),eV=(0,a.useCallback)((e,t)=>{ek.current=ek.current.catch(()=>void 0).then(async()=>{try{await eW(e)}catch(e){J(e instanceof Error?e.message:t)}})},[eW]),eq=(0,a.useCallback)(async t=>{if(!E?.connected)return void F([]);eS.current+=1,V(!0);try{let r=new URLSearchParams;t&&r.set("frameId",t),Q&&r.set("interactiveOnly","1");let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview/dom?${r.toString()}`,{cache:"no-store"}),a=await n.json().catch(()=>null);if(!n.ok)throw Error(a&&"error"in a?a.error??"Failed to inspect DOM":`Failed to inspect DOM: ${n.status}`);F(a.nodes)}catch(e){eF.current+=1,J(e instanceof Error?e.message:"Failed to inspect DOM"),F([])}finally{V(!1)}},[Q,e,E?.connected]);(0,a.useEffect)(()=>{if(!eP)return;let e=!0;(async()=>{try{await eB("initial")}catch(t){e&&J(t instanceof Error?t.message:"Failed to load preview")}finally{e&&G(!1)}})();let t=window.innerWidth<768,r=window.setInterval(()=>{eB("poll").catch(t=>{e&&J(t instanceof Error?t.message:"Failed to refresh preview")})},t?8e3:4e3);return()=>{e=!1,window.clearInterval(r)}},[eB,eP]),(0,a.useEffect)(()=>{E?.connected?eP&&eq(E.activeFrameId):F([])},[Q,eq,eP,E?.activeFrameId,E?.connected,E?.screenshotKey]),(0,a.useEffect)(()=>{if(!eP)return;if(E?.connected){ew.current=null;return}if(em(null),!eO)return;let e=ew.current?.attemptedAt??NaN,t=ew.current?.candidate??null,r=Date.now();t===eO&&Number.isFinite(e)&&r-e<5e3||(ew.current={candidate:eO,attemptedAt:r},e_.current+=1,eW({command:"connect",url:eO}).catch(e=>{J(e instanceof Error?e.message:"Failed to connect preview")}))},[eO,eW,eP,E?.connected]),(0,a.useEffect)(()=>{if(E?.connected){let e=Date.now();e$.current=e,null===eC.current&&(eC.current=e)}j?.(!!(eP&&E?.connected&&E?.screenshotKey))},[j,eP,E?.connected,E?.screenshotKey]),(0,a.useEffect)(()=>{},[t,S.length,eD,eo,es,e,eP,E?.connected,E?.screenshotKey]);let eK=(0,a.useMemo)(()=>E?.connected?`/api/sessions/${encodeURIComponent(e)}/preview/screenshot?ts=${encodeURIComponent(E.screenshotKey)}`:null,[e,E?.connected,E?.screenshotKey]),eX=eO??E?.candidateUrls[0]??null,eG=(0,a.useMemo)(()=>E?.frames.find(e=>e.id===E.activeFrameId)??null,[E?.activeFrameId,E?.frames]),eQ=(0,a.useMemo)(()=>E?.frames.find(e=>e.isMain)??null,[E?.frames]),eY=(0,a.useMemo)(()=>P(E?.currentUrl),[E?.currentUrl]),eZ=(0,a.useMemo)(()=>{let e=E?.selectedElement;return[{id:"page",title:"Page",description:"Current page identity and live preview worker state.",fields:[{label:"Title",value:H(E?.title,"Untitled")},{label:"Current URL",value:H(E?.currentUrl),copyValue:E?.currentUrl??null,monospace:!0},{label:"Current origin",value:H(eY),copyValue:eY,monospace:!0},{label:"Connected",value:O(E?.connected)},{label:"Last error",value:H(E?.lastError,"None")}]},{id:"navigation",title:"Navigation",description:"History state and frame orientation for the current page.",fields:[{label:"Can go back",value:O(E?.canGoBack)},{label:"Can go forward",value:O(E?.canGoForward)},{label:"Active frame",value:H(eG?.name)},{label:"Main frame",value:H(eQ?.name)},{label:"Frame count",value:`${E?.frames.length??0}`}]},{id:"worker",title:"Worker",description:"Reported candidates, logs, and worker render metadata.",fields:[{label:"Candidate URLs",value:`${E?.candidateUrls.length??0}`},{label:"Auto-connect",value:H(eO??eX),copyValue:eO??eX??null,monospace:!0},{label:"Screenshot key",value:H(E?.screenshotKey,"Unavailable"),monospace:!0},{label:"Console rows",value:`${E?.consoleLogs.length??0}`},{label:"Network rows",value:`${E?.networkLogs.length??0}`}]},{id:"selection",title:"Selection",description:"Current element context captured from inspect mode.",fields:[{label:"Selector",value:H(e?.selector),copyValue:e?.selector??null,monospace:!0},{label:"Tag",value:H(e?.tag)},{label:"Role",value:H(e?.role)},{label:"Frame",value:H(e?.frameName)},{label:"Text",value:H(e?.text)}]}]},[eG?.name,eO,eY,eQ?.name,eX,E]),eJ=(0,a.useMemo)(()=>(E?.candidateUrls??[]).map(e=>{let t=P(e);return{url:e,origin:t,isLoopback:function(e){try{return I.test(new URL(e).hostname)}catch{return!1}}(e),isPreferred:e===eO,isConnected:!!(E?.currentUrl&&(E.currentUrl===e||t&&eY===t)),isTunnelOrigin:!!(E?.tunnelLocalOrigin&&t===E.tunnelLocalOrigin)}}),[eO,eY,E?.candidateUrls,E?.currentUrl,E?.tunnelLocalOrigin]),e0=(0,a.useMemo)(()=>eJ.filter(e=>e.isLoopback).length,[eJ]),e1=(0,a.useMemo)(()=>eJ.find(e=>e.isConnected)??null,[eJ]),e2=null!==ea,e3=!!eG?.isMain,e5=(0,a.useMemo)(()=>{let e=E?.selectedElement?.bounds;if(!E?.selectedElement||!e||!eQ||E.selectedElement.frameId!==eQ.id||!ef.naturalWidth||!ef.naturalHeight||!ef.renderedWidth||!ef.renderedHeight)return null;let t=ef.renderedWidth/ef.naturalWidth,r=ef.renderedHeight/ef.naturalHeight;return{left:`${e.x*t}px`,top:`${e.y*r}px`,width:`${Math.max(e.width*t,2)}px`,height:`${Math.max(e.height*r,2)}px`}},[ef,eQ,E?.selectedElement]),e8=(0,a.useCallback)(async(e,t)=>{let r=e?.trim();if(!r)return void et("Nothing to copy yet.");try{await navigator.clipboard.writeText(r),en(t),et(null)}catch{et("Clipboard access is unavailable.")}},[]),e4=(0,a.useCallback)(async e=>{eu(e),J(null);try{await eW({command:"connect",url:e})}catch(e){J(e instanceof Error?e.message:"Failed to connect preview")}},[eW]),e6=(0,a.useCallback)(async()=>{let e=ex.trim();e&&await e4(e)},[e4,ex]),e7=(0,a.useCallback)((e,t,r=!1)=>{em({anchorX:e,anchorY:t,pending:r}),et(null),en(null)},[]),e9=(0,a.useCallback)(e=>{ei(e),"inspect"===e&&ec("elements"),em(null),et(null),en(null)},[]),te=(0,a.useMemo)(()=>{if(!ed)return null;let e=ef.renderedWidth||340,t=ef.renderedHeight||280,r=Math.max(220,t-24);if(e<=520)return{left:"12px",top:`${Math.max(12,t-Math.min(280,r)-12)}px`,width:`${Math.max(e-24,220)}px`,maxHeight:`${r}px`};let n=Math.min(340,Math.max(e-24,240)),a=Math.max(12,e-n-12),l=Math.max(12,t-280-12),s=ed.anchorX+18,i=ed.anchorY+18,o=s>a?Math.max(12,ed.anchorX-n-18):s,c=i>l?Math.max(12,ed.anchorY-280-18):i;return{left:`${Math.min(Math.max(o,12),a)}px`,top:`${Math.min(Math.max(c,12),l)}px`,width:`${n}px`,maxHeight:`${r}px`}},[ef.renderedHeight,ef.renderedWidth,ed]);(0,a.useEffect)(()=>{if(!ed)return;let e=e=>{"Escape"===e.key&&em(null)};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[ed]);let tt=(0,a.useCallback)(e=>{if(!ej.current)return null;let t=ej.current.getBoundingClientRect();if(!t.width||!t.height||!ej.current.naturalWidth||!ej.current.naturalHeight)return null;let r=e.clientX-t.left,n=e.clientY-t.top;return{anchorX:r,anchorY:n,x:r/t.width*ej.current.naturalWidth,y:n/t.height*ej.current.naturalHeight}},[]),tr=(0,a.useCallback)(e=>{r(e),et(null),en(e.successMessage)},[r]),tn=(0,a.useCallback)(async(e,t,r,n)=>{e7(r,n,!0);try{let a=await eW({command:"selectAtPoint",x:e,y:t});return e7(r,n,!1),a}catch(e){throw em(null),e}},[e7,eW]),ta=(0,a.useCallback)(async(e,t)=>{let r=Math.max(ef.renderedWidth-44,12);e7(r,12,!0);try{let n=await eW({command:"selectBySelector",selector:e,frameId:t});return e7(r,12,!1),n}catch(e){throw em(null),e}},[ef.renderedWidth,e7,eW]),tl=(0,a.useCallback)(async e=>{if(q)return;let t=tt(e);if(t){if(em(null),et(null),en(null),"navigate"===es){eN.current?.focus({preventScroll:!0});try{await eW({command:"clickAtPoint",x:t.x,y:t.y})}catch(e){J(e instanceof Error?e.message:"Failed to interact with preview")}return}if(e3)try{await tn(t.x,t.y,t.anchorX,t.anchorY)}catch(e){J(e instanceof Error?e.message:"Failed to select element")}}},[q,e3,es,tt,eW,tn]),ts=(0,a.useCallback)(async e=>{if(q||"inspect"!==es||!e3)return;let t=tt(e);if(t){et(null),en(null);try{let e=await tn(t.x,t.y,t.anchorX,t.anchorY);if(!e.selectedElement)throw Error("No element found at the selected point");tr(T(e.selectedElement,e.currentUrl))}catch(e){J(e instanceof Error?e.message:"Failed to queue selected element")}}},[q,e3,es,tr,tt,tn]),ti=(0,a.useCallback)(e=>{if("navigate"!==es||!E?.connected||e.metaKey||e.ctrlKey||e.altKey)return;let t=R.get(e.key);if(t){e.preventDefault(),eV({command:"pressKey",key:t},"Failed to send key to preview");return}1===e.key.length&&(e.preventDefault(),eV({command:"typeText",text:e.key},"Failed to type into preview"))},[es,eV,E?.connected]),to=(0,a.useCallback)(e=>{if("navigate"!==es||!E?.connected)return;let t=e.clipboardData.getData("text");t&&(e.preventDefault(),eV({command:"typeText",text:t},"Failed to paste into preview"))},[es,eV,E?.connected]),tc=(0,a.useCallback)(e=>{if(!E)return void et("Preview state is not loaded yet.");let t=E.consoleLogs.slice(-80),r=E.networkLogs.slice(-80);if("selection"===e&&!E.selectedElement)return void et("Select an element before queueing preview context for terminal input.");if("console"===e&&!t.length)return void et("There are no console logs to send yet.");if("network"===e&&!r.length)return void et("There are no network logs to send yet.");el(e),et(null),en(null);try{let n="selection"===e&&E.selectedElement?T(E.selectedElement,E.currentUrl):"console"===e?D("console",t,E.currentUrl,E.selectedElement):D("network",r,E.currentUrl,E.selectedElement);tr(n),"selection"===e&&em(null)}catch(e){et(e instanceof Error?e.message:"Failed to queue preview context")}finally{el(null)}},[tr,E]),td=(0,a.useCallback)(async()=>{let e=E?.selectedElement?.selector;if(e)try{await navigator.clipboard.writeText(e),en("Selector copied to clipboard."),et(null)}catch{et("Clipboard access is unavailable.")}},[E?.selectedElement?.selector]),tm=(0,n.jsxs)(C.tU,{value:eo,onValueChange:e=>ec(e),className:"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden lg:min-h-0",children:[(0,n.jsx)("div",{className:"border-b border-[var(--vk-border)] px-2 py-2",children:(0,n.jsxs)(C.j7,{className:"w-full justify-start border-0 bg-transparent p-0",children:[(0,n.jsxs)(C.Xi,{value:"elements",children:[(0,n.jsx)(s.A,{className:"h-3.5 w-3.5"}),"Elements"]}),(0,n.jsxs)(C.Xi,{value:"console",children:[(0,n.jsx)(i.A,{className:"h-3.5 w-3.5"}),"Console",(0,n.jsx)(w.E,{variant:"outline",children:E?.consoleLogs.length??0})]}),(0,n.jsxs)(C.Xi,{value:"network",children:[(0,n.jsx)(o.A,{className:"h-3.5 w-3.5"}),"Network",(0,n.jsx)(w.E,{variant:"outline",children:E?.networkLogs.length??0})]}),(0,n.jsxs)(C.Xi,{value:"info",children:[(0,n.jsx)(c.A,{className:"h-3.5 w-3.5"}),"Info"]}),(0,n.jsxs)(C.Xi,{value:"proxies",children:[(0,n.jsx)(d.A,{className:"h-3.5 w-3.5"}),"Proxies"]})]})}),(0,n.jsxs)(C.av,{value:"elements",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Selected element"}),(0,n.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"inspect"===es?"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,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)(k.$,{type:"button",variant:Q?"primary":"outline",size:"sm",onClick:()=>Y(e=>!e),children:Q?"Interactive only":"All nodes"}),(0,n.jsxs)(k.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void td(),disabled:!E?.selectedElement,children:[(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Copy selector"]}),(0,n.jsxs)(k.$,{type:"button",variant:"primary",size:"sm",onClick:()=>void tc("selection"),disabled:e2||!E?.selectedElement,children:["selection"===ea?(0,n.jsx)(m.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]})]}),E?.selectedElement?(0,n.jsxs)("div",{className:"mt-3 rounded-[8px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:E.selectedElement.tag}),E.selectedElement.role?(0,n.jsx)(w.E,{variant:"outline",children:E.selectedElement.role}):null,E.selectedElement.frameName?(0,n.jsx)(w.E,{variant:"outline",children:E.selectedElement.frameName}):null]}),(0,n.jsx)("div",{className:"mt-2 text-[12px] text-[var(--vk-text-normal)]",children:A(E.selectedElement.name||E.selectedElement.text||"Selected element",180)}),(0,n.jsx)("div",{className:"mt-2 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:E.selectedElement.selector}),E.selectedElement.htmlPreview?(0,n.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:A(E.selectedElement.htmlPreview,260)}):null]}):(0,n.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."}),E?.frames.length?(0,n.jsx)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:E.frames.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>{eW({command:"selectFrame",frameId:e.id}).catch(e=>{J(e instanceof Error?e.message:"Failed to select frame")})},className:(0,N.cn)("inline-flex max-w-full items-center gap-2 rounded-[5px] border px-2.5 py-1.5 text-[11px]",E.activeFrameId===e.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,n.jsx)(w.E,{variant:"outline",children:e.isMain?"main":"frame"}),(0,n.jsx)("span",{className:"truncate",children:e.name})]},e.id))}):null]}),(0,n.jsx)(y,{className:"min-h-0 flex-1",viewportClassName:L.VM,children:(0,n.jsx)("div",{className:"space-y-1 p-3",children:_?(0,n.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,n.jsx)(m.A,{className:"h-4 w-4 animate-spin"}),"Inspecting frame DOM…"]}):S.length?S.map((e,t)=>(0,n.jsxs)("button",{type:"button",className:(0,N.cn)("w-full rounded-[6px] border px-3 py-2.5 text-left transition-colors","inspect"===es?"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"!==es,onClick:()=>{em(null),et(null),en(null),ta(e.selector,E?.activeFrameId).catch(e=>{J(e instanceof Error?e.message:"Failed to select DOM node")})},onDoubleClick:()=>{et(null),en(null),ta(e.selector,E?.activeFrameId).then(e=>{if(!e.selectedElement)throw Error("Failed to resolve the selected DOM node");tr(T(e.selectedElement,e.currentUrl))}).catch(e=>{J(e instanceof Error?e.message:"Failed to queue DOM node")})},children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:e.tag}),e.interactive?(0,n.jsx)(w.E,{variant:"warning",children:"interactive"}):null,e.role?(0,n.jsx)(w.E,{variant:"outline",children:e.role}):null]}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:e.selector}),e.text?(0,n.jsx)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-normal)]",children:A(e.text,180)}):null]},`${e.id??"node"}-${t}-${e.selector}-${e.tag}-${e.text}`)):(0,n.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"===es?"No DOM nodes to show for the current frame yet.":"Switch to Inspect mode to browse the current frame DOM."})})})]}),(0,n.jsxs)(C.av,{value:"console",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Console output"}),(0,n.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"Live browser console events from the preview worker."})]}),(0,n.jsxs)(k.$,{type:"button",variant:"primary",size:"sm",onClick:()=>void tc("console"),disabled:e2||!E?.consoleLogs.length,children:["console"===ea?(0,n.jsx)(m.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,n.jsx)(y,{className:"min-h-0 flex-1",viewportClassName:L.VM,children:(0,n.jsx)("div",{className:"space-y-1 p-3",children:E?.consoleLogs.length?E.consoleLogs.map(e=>(0,n.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,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,n.jsx)("span",{children:e.level}),(0,n.jsx)("span",{children:M(e.timestamp)})]}),(0,n.jsx)("div",{className:"mt-1 whitespace-pre-wrap break-all font-mono",children:e.message})]},e.id)):(0,n.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,n.jsxs)(C.av,{value:"network",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Network requests"}),(0,n.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"Recent requests captured by the preview worker."})]}),(0,n.jsxs)(k.$,{type:"button",variant:"primary",size:"sm",onClick:()=>void tc("network"),disabled:e2||!E?.networkLogs.length,children:["network"===ea?(0,n.jsx)(m.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,n.jsx)(y,{className:"min-h-0 flex-1",viewportClassName:L.VM,children:(0,n.jsx)("div",{className:"space-y-1 p-3",children:E?.networkLogs.length?E.networkLogs.map(e=>(0,n.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,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,n.jsx)("span",{children:e.method??"GET"}),"number"==typeof e.status?(0,n.jsx)("span",{children:e.status}):null,e.resourceType?(0,n.jsx)("span",{children:e.resourceType}):null,(0,n.jsx)("span",{children:M(e.timestamp)})]}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono",children:e.url??e.message})]},e.id)):(0,n.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,n.jsxs)(C.av,{value:"info",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview info"}),(0,n.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"A cleaner snapshot of page, worker, navigation, and element state."})]}),(0,n.jsxs)(k.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{e8(E?.currentUrl,"Current URL copied to clipboard.")},disabled:!E?.currentUrl,children:[(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Copy URL"]})]}),(0,n.jsx)(y,{className:"min-h-0 flex-1",viewportClassName:L.VM,children:(0,n.jsxs)("div",{className:"space-y-3 p-3 text-[12px] text-[var(--vk-text-normal)]",children:[(0,n.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,n.jsx)(z,{label:"Connected",value:E?.connected?"Live":"Idle",hint:E?.currentUrl?A(E.currentUrl,60):"No active page yet"}),(0,n.jsx)(z,{label:"Frames",value:`${E?.frames.length??0}`,hint:eG?.name??"No active frame"}),(0,n.jsx)(z,{label:"Console",value:`${E?.consoleLogs.length??0}`,hint:"Captured browser console rows"}),(0,n.jsx)(z,{label:"Network",value:`${E?.networkLogs.length??0}`,hint:"Recent preview worker requests"})]}),eZ.map(e=>(0,n.jsx)(B,{section:e,onCopy:e8},e.id))]})})]}),(0,n.jsxs)(C.av,{value:"proxies",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Proxy and tunnel routing"}),(0,n.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,n.jsxs)(k.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{e8(E?.tunnelLocalOrigin??E?.tunnelUrl,"Tunnel mapping copied to clipboard.")},disabled:!E?.tunnelLocalOrigin&&!E?.tunnelUrl,children:[(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Copy route"]})]}),(0,n.jsx)(y,{className:"min-h-0 flex-1",viewportClassName:L.VM,children:(0,n.jsxs)("div",{className:"space-y-3 p-3 text-[12px] text-[var(--vk-text-normal)]",children:[(0,n.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,n.jsx)(z,{label:"Candidates",value:`${eJ.length}`,hint:eJ.length?"Reported by the current session":"No targets reported yet"}),(0,n.jsx)(z,{label:"Loopback",value:`${e0}`,hint:e0?"Local dev URLs available":"No local loopback URLs"}),(0,n.jsx)(z,{label:"Tunnel",value:E?.tunnelUrl?"Ready":"None",hint:E?.tunnelLocalOrigin??"No bridge tunnel mapping",monospace:!!E?.tunnelLocalOrigin}),(0,n.jsx)(z,{label:"Current origin",value:eY??"Idle",hint:e1?"Matches the active preview page":"Not connected to a candidate yet",monospace:!!eY})]}),(0,n.jsx)(B,{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:H(E?.tunnelLocalOrigin,"Not set"),copyValue:E?.tunnelLocalOrigin??null,monospace:!0},{label:"Tunnel URL",value:H(E?.tunnelUrl,"Not set"),copyValue:E?.tunnelUrl??null,monospace:!0},{label:"Current origin",value:H(eY),copyValue:eY,monospace:!0}]},onCopy:e8}),(0,n.jsxs)("div",{className:"overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,n.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsx)("div",{className:"text-[11px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:"Candidate URLs"}),(0,n.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,n.jsx)("div",{className:"space-y-2 p-3",children:eJ.length?eJ.map(e=>(0,n.jsxs)("div",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-3",children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:(0,N.cn)("text-[12px] font-medium text-[var(--vk-text-normal)]",e.origin?"truncate":"break-all"),children:e.origin??e.url}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:e.url})]}),e.isConnected?(0,n.jsx)(w.E,{variant:"success",children:"current"}):null,e.isPreferred?(0,n.jsx)(w.E,{variant:"warning",children:"auto"}):null,e.isTunnelOrigin?(0,n.jsx)(w.E,{variant:"outline",children:"tunnel origin"}):null,(0,n.jsx)(w.E,{variant:"outline",children:e.isLoopback?"loopback":"remote"})]}),(0,n.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,n.jsxs)(k.$,{type:"button",variant:"primary",size:"sm",onClick:()=>{e4(e.url)},children:[(0,n.jsx)(d.A,{className:"h-3.5 w-3.5"}),"Connect"]}),(0,n.jsxs)(k.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{e8(e.url,"Candidate URL copied to clipboard.")},children:[(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Copy URL"]}),e.origin?(0,n.jsxs)(k.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{e8(e.origin,"Candidate origin copied to clipboard.")},children:[(0,n.jsx)(u.A,{className:"h-3.5 w-3.5"}),"Copy origin"]}):null]})]},e.url)):(0,n.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,n.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,n.jsx)("div",{className:"shrink-0 border-b border-[var(--vk-border)] px-3 py-3",children:(0,n.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(d.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,n.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Preview browser"})]}),E?.connected?(0,n.jsx)(w.E,{variant:"success",children:"connected"}):(0,n.jsx)(w.E,{variant:"outline",children:"idle"}),eG?(0,n.jsx)(w.E,{variant:"outline",children:eG.isMain?"main frame":"nested frame"}):null,E?.title?(0,n.jsx)(w.E,{variant:"outline",children:A(E.title,40)}):null,ed?.pending?(0,n.jsx)(w.E,{variant:"warning",children:"selecting element…"}):null]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 lg:flex-row lg:items-center",children:[(0,n.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,n.jsx)(d.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,n.jsx)("input",{value:ex,onChange:e=>eu(e.target.value),placeholder:eX??"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,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsxs)(k.$,{type:"button",variant:"primary",onClick:()=>void e6(),disabled:q||!ex.trim(),children:[q?(0,n.jsx)(m.A,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(v.A,{className:"h-4 w-4"}),"Connect"]}),(0,n.jsxs)(k.$,{type:"button","aria-label":"Go back",variant:"outline",onClick:()=>void eW({command:"goBack"}).then(e=>{eu(e.currentUrl??"")}).catch(e=>{J(e instanceof Error?e.message:"Failed to go back")}),disabled:!E?.connected||!E?.canGoBack||q,children:[(0,n.jsx)(p.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Back"})]}),(0,n.jsxs)(k.$,{type:"button","aria-label":"Go forward",variant:"outline",onClick:()=>void eW({command:"goForward"}).then(e=>{eu(e.currentUrl??"")}).catch(e=>{J(e instanceof Error?e.message:"Failed to go forward")}),disabled:!E?.connected||!E?.canGoForward||q,children:[(0,n.jsx)(h.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Forward"})]}),(0,n.jsxs)(k.$,{type:"button","aria-label":"Refresh preview status",variant:"outline",onClick:()=>void eB("manual").catch(e=>{J(e instanceof Error?e.message:"Failed to refresh preview")}),disabled:X||q,children:[(0,n.jsx)(b.A,{className:(0,N.cn)("h-3.5 w-3.5",q&&"animate-spin")}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Refresh"})]}),(0,n.jsxs)(k.$,{type:"button","aria-label":"Reload preview page",variant:"outline",onClick:()=>void eW({command:"reload"}).catch(e=>{J(e instanceof Error?e.message:"Failed to reload preview")}),disabled:!E?.connected||q,children:[(0,n.jsx)(u.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Reload"})]})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-1",children:[(0,n.jsxs)(k.$,{type:"button",size:"sm",variant:"navigate"===es?"primary":"ghost",onClick:()=>e9("navigate"),children:[(0,n.jsx)(v.A,{className:"h-3.5 w-3.5"}),"Navigate"]}),(0,n.jsxs)(k.$,{type:"button",size:"sm",variant:"inspect"===es?"primary":"ghost",onClick:()=>e9("inspect"),children:[(0,n.jsx)(f.A,{className:"h-3.5 w-3.5"}),"Inspect"]})]}),(0,n.jsxs)(k.$,{type:"button",size:"sm",variant:eH?"primary":"outline",className:"lg:hidden",onClick:()=>eb(e=>!e),children:[(0,n.jsx)(s.A,{className:"h-3.5 w-3.5"}),eH?"Hide tools":"Browser tools"]})]}),ev?null:(0,n.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"navigate"===es?"Navigate mode sends clicks and typing into the running app.":e3?"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."})]}),!E?.connected&&E?.candidateUrls.length&&ez?(0,n.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:E.candidateUrls.map(e=>(0,n.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:()=>{e4(e)},children:[(0,n.jsx)(d.A,{className:"h-3 w-3 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:e})]},e))}):null,Z||E?.lastError?(0,n.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,n.jsx)(g.A,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,n.jsx)("span",{children:Z??E?.lastError})]}):null,er?(0,n.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:er}):null,ee?(0,n.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:ee}):null]})}),(0,n.jsxs)("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden lg:grid lg:min-h-0 lg:grid-cols-[minmax(0,1.55fr)_minmax(320px,0.95fr)] lg:overflow-hidden",children:[(0,n.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,n.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,n.jsx)("div",{className:"min-w-0",children:(0,n.jsx)("div",{className:"truncate text-[var(--vk-text-normal)]",children:E?.currentUrl??eX??"No active preview URL yet"})}),E?.connected?(0,n.jsxs)(w.E,{variant:"outline",children:[E?.frames.length??0," frame",(E?.frames.length??0)===1?"":"s"]}):null]}),(0,n.jsx)("div",{className:L.qg,children:(0,n.jsx)("div",{className:"flex h-full min-h-[min(200px,45vh)] w-full items-center justify-center lg:min-h-[260px]",children:X?(0,n.jsxs)("div",{className:"flex items-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,n.jsx)(m.A,{className:"h-4 w-4 animate-spin"}),"Loading preview…"]}):eK?(0,n.jsxs)("div",{ref:eN,tabIndex:E?.connected?0:-1,onKeyDown:ti,onPaste:to,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] ${L.hq}`,children:[(0,n.jsx)("img",{ref:ej,src:eK,alt:"Session preview",className:(0,N.cn)("max-h-full max-w-full rounded-[8px] object-contain shadow-[0_18px_36px_rgba(0,0,0,0.28)]","navigate"===es?"cursor-pointer":e3?"cursor-crosshair":"cursor-default"),onClick:e=>void tl(e),onDoubleClick:e=>void ts(e),onLoad:e=>{eT.current+=1;let t=e.currentTarget;eg({naturalWidth:t.naturalWidth,naturalHeight:t.naturalHeight,renderedWidth:t.clientWidth,renderedHeight:t.clientHeight})}}),"inspect"===es&&e5?(0,n.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:e5}):null,"inspect"===es&&ed&&te?(0,n.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:te,children:ed.pending?"Selecting element…":E?.selectedElement?`${E.selectedElement.tag} \xb7 ${A(E.selectedElement.selector,120)}`:"Selection ready"}):null]}):(0,n.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."})})})]}),ev?null:tm]}),ev&&eH?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"absolute inset-0 z-10 bg-black/35 lg:hidden",onClick:()=>eb(!1),"aria-hidden":"true"}),(0,n.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,n.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-[var(--vk-border)] px-3 py-2.5",children:[(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,n.jsx)(s.A,{className:"h-4 w-4 shrink-0 text-[var(--vk-text-muted)]"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Browser tools"}),(0,n.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,n.jsx)(k.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>eb(!1),children:"Hide"})]}),(0,n.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:tm})]})]}):null]})}},90986:(e,t,r)=>{r.d(t,{E:()=>s});var n=r(54568),a=r(46916);let l={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 s({variant:e="default",className:t,children:r}){return(0,n.jsx)("span",{className:(0,a.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",l[e],t),children:r})}}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2799],{22799:(e,t,r)=>{r.r(t),r.d(t,{SessionPreview:()=>W});var n=r(54568),a=r(7620),l=r(59706),s=r(22996),i=r(69863),o=r(75646),c=r(92007),d=r(97380),m=r(58299),x=r(82797),u=r(45601),v=r(89603),p=r(56050),h=r(30307),b=r(60527),f=r(20732),g=r(63264),w=r(90986),k=r(76081),j=r(11791),N=r(46916);let y=(0,a.forwardRef)(({className:e,children:t,viewportClassName:r,...a},l)=>(0,n.jsxs)(j.bL,{ref:l,className:(0,N.cn)("relative overflow-hidden",e),...a,children:[(0,n.jsx)(j.LM,{className:(0,N.cn)("h-full w-full rounded-[inherit]",r),children:t}),(0,n.jsx)(E,{}),(0,n.jsx)(j.OK,{})]}));y.displayName="ScrollArea";let E=(0,a.forwardRef)(({className:e,orientation:t="vertical",...r},a)=>(0,n.jsx)(j.Ze,{ref:a,orientation:t,className:(0,N.cn)("flex touch-none select-none","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-px",e),...r,children:(0,n.jsx)(j.zi,{className:"relative flex-1 rounded-full bg-[color:color-mix(in_srgb,var(--border-strong)_75%,transparent)] hover:bg-[var(--border-strong)]"})}));E.displayName="ScrollBar";var C=r(64357);let $=/(?:127\.0\.0\.1|0\.0\.0\.0|localhost|::1|\[::1\])/i;function U(e){return e.find(e=>(function(e){try{let t=new URL(e);return $.test(t.hostname)}catch{return!1}})(e))??null}var L=r(33507);let R=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 M(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit",second:"2-digit",timeZone:"UTC"}).format(new Date(t))}function A(e,t=120){return e.length<=t?e:`${e.slice(0,t-1)}…`}function S(e,t=180){let r=A((e??"").replace(/\s+/g," ").trim(),t);return r?`"${r.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:null}function F(e){return e.map(e=>e?.trim()).filter(e=>!!e).join("; ")}function _(e,t){return[`[${e}]`,...t.map(e=>e?.trim()).filter(e=>!!e)].join("\n")}function T(e,t){return{inlineText:F(["[Browser selection]",`selector=${S(e.selector,220)}`,`tag=${e.tag}`,e.role?`role=${e.role}`:null,e.name?`name=${S(e.name,140)}`:null,e.text?`text=${S(e.text,180)}`:null,e.frameName?`frame=${S(e.frameName,120)}`:null,t?`page=${S(t,220)}`:null]),draftText:_("Browser selection",[t?`Page: ${t}`:null,`Frame: ${e.frameName} (${e.frameUrl})`,`Selector: ${e.selector}`,`Tag: ${e.tag}`,e.role?`Role: ${e.role}`:null,e.name?`Name: ${e.name}`:null,e.text?`Text: ${e.text}`:null,e.htmlPreview?`HTML preview: ${e.htmlPreview}`:null]),successMessage:"Queued the selected element for terminal input."}}function D(e,t,r,n){let a=t.slice("console"===e?-8:-10),l=a.map(t=>{let r=[t.level,S(t.message,120)];return"network"===e&&(r.unshift(t.method??"GET"),r.push("number"==typeof t.status?String(t.status):null),r.push(t.url?S(t.url,120):null)),r.filter(Boolean).join(" ")});return{inlineText:F(["console"===e?"[Browser console]":"[Browser network]",r?`page=${S(r,220)}`:null,n?`selected=${S(n.selector,180)}`:null,`entries=${S(l.join(" | "),520)}`]),draftText:_("console"===e?"Browser console logs":"Browser network logs",[r?`Page: ${r}`:null,n?`Selected element: ${n.selector}`:null,...a.map(t=>"console"===e?`- ${M(t.timestamp)} ${t.level}: ${t.message}`:`- ${M(t.timestamp)} ${t.method??"GET"} ${t.status??"-"} ${t.url??t.message}`)]),successMessage:"console"===e?"Queued recent console logs for terminal input.":"Queued recent network logs for terminal input."}}let I=/(?:127\.0\.0\.1|0\.0\.0\.0|localhost|::1|\[::1\])/i;function P(e){let t=e?.trim();if(!t)return null;try{return new URL(t).origin}catch{return null}}function O(e){return e?"Yes":"No"}function H(e,t="None"){return e?.trim()||t}function z({label:e,value:t,hint:r,monospace:a=!1}){return(0,n.jsxs)("div",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,n.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:e}),(0,n.jsx)("div",{className:(0,N.cn)("mt-1 text-[13px] font-medium text-[var(--vk-text-normal)]",a?"break-all font-mono text-[11px] leading-5":null),children:t}),(0,n.jsx)("div",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:r})]})}function B({section:e,onCopy:t}){return(0,n.jsxs)("div",{className:"overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,n.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsx)("div",{className:"text-[11px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:e.title}),(0,n.jsx)("div",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:e.description})]}),(0,n.jsx)("div",{className:"divide-y divide-[var(--vk-border)]",children:e.fields.map(r=>(0,n.jsxs)("div",{className:"flex items-start gap-3 px-3 py-2.5",children:[(0,n.jsx)("div",{className:"w-28 shrink-0 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:r.label}),(0,n.jsx)("div",{className:(0,N.cn)("min-w-0 flex-1 text-[12px] text-[var(--vk-text-normal)]",r.monospace?"break-all font-mono text-[11px] leading-5":"leading-5"),children:r.value}),r.copyValue?(0,n.jsx)(k.$,{type:"button",variant:"ghost",size:"sm",className:"h-7 shrink-0",onClick:()=>{t(r.copyValue,`${r.label} copied to clipboard.`)},children:(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"})}):null]},`${e.id}-${r.label}`))})]})}function W({sessionId:e,active:t,onQueueTerminalInsert:r,onConnectionChange:j}){let[E,$]=(0,a.useState)(null),[S,F]=(0,a.useState)([]),[_,V]=(0,a.useState)(!1),[q,K]=(0,a.useState)(!1),[X,G]=(0,a.useState)(!0),[Q,Y]=(0,a.useState)(!0),[Z,J]=(0,a.useState)(null),[ee,et]=(0,a.useState)(null),[er,en]=(0,a.useState)(null),[ea,el]=(0,a.useState)(null),[es,ei]=(0,a.useState)("navigate"),[eo,ec]=(0,a.useState)("elements"),[ed,em]=(0,a.useState)(null),[ex,eu]=(0,a.useState)(""),[ev,ep]=(0,a.useState)(!1),[eh,eb]=(0,a.useState)(!1),[ef,eg]=(0,a.useState)({naturalWidth:0,naturalHeight:0,renderedWidth:0,renderedHeight:0}),ew=(0,a.useRef)(null),ek=(0,a.useRef)(Promise.resolve()),ej=(0,a.useRef)(null),eN=(0,a.useRef)(null),ey=(0,a.useRef)(Date.now()),eE=(0,a.useRef)(null),eC=(0,a.useRef)(null),e$=(0,a.useRef)(null),eU=(0,a.useRef)(0),eL=(0,a.useRef)(0),eR=(0,a.useRef)(0),eM=(0,a.useRef)(0),eA=(0,a.useRef)(0),eS=(0,a.useRef)(0),eF=(0,a.useRef)(0),e_=(0,a.useRef)(0),eT=(0,a.useRef)(0),[eD,eI]=(0,a.useState)(!0),eP=t&&eD,eO=U(E?.candidateUrls??[]),eH=ev&&eh,ez=!ev||eh;(0,a.useEffect)(()=>{let e=()=>{eI(!document.hidden)};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[]),(0,a.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia("(max-width: 1023px)"),t=()=>{ep(e.matches)};return(t(),"function"==typeof e.addEventListener)?(e.addEventListener("change",t),()=>{e.removeEventListener("change",t)}):(e.addListener(t),()=>{e.removeListener(t)})},[]),(0,a.useEffect)(()=>{ey.current=Date.now(),eE.current=null,eC.current=null,e$.current=null,eU.current=0,eL.current=0,eR.current=0,eM.current=0,eA.current=0,eS.current=0,eF.current=0,e_.current=0,eT.current=0,eb(!1)},[e]),(0,a.useEffect)(()=>{ev||eb(!1)},[ev]);let eB=(0,a.useCallback)(async(t="manual")=>{eU.current+=1,"poll"===t&&(eR.current+=1);try{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview`,{cache:"no-store"}),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r&&"error"in r?r.error??"Failed to load preview state":`Failed to load preview state: ${t.status}`);let n=Date.now();null===eE.current&&(eE.current=n),$(r),J(null),eu(e=>e.trim().length>0&&e!==r.currentUrl?e:r.currentUrl??U(r.candidateUrls)??r.candidateUrls[0]??e)}catch(e){throw eL.current+=1,e}},[e]),eW=(0,a.useCallback)(async t=>{eM.current+=1,K(!0),J(null);try{let r=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await r.json().catch(()=>null);if(!r.ok)throw n&&"object"==typeof n&&"status"in n&&n.status&&$(n.status),Error(n&&"error"in n?n.error??"Preview command failed":`Preview command failed: ${r.status}`);return $(n),n}catch(e){throw eA.current+=1,e}finally{K(!1)}},[e]),eV=(0,a.useCallback)((e,t)=>{ek.current=ek.current.catch(()=>void 0).then(async()=>{try{await eW(e)}catch(e){J(e instanceof Error?e.message:t)}})},[eW]),eq=(0,a.useCallback)(async t=>{if(!E?.connected)return void F([]);eS.current+=1,V(!0);try{let r=new URLSearchParams;t&&r.set("frameId",t),Q&&r.set("interactiveOnly","1");let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview/dom?${r.toString()}`,{cache:"no-store"}),a=await n.json().catch(()=>null);if(!n.ok)throw Error(a&&"error"in a?a.error??"Failed to inspect DOM":`Failed to inspect DOM: ${n.status}`);F(a.nodes)}catch(e){eF.current+=1,J(e instanceof Error?e.message:"Failed to inspect DOM"),F([])}finally{V(!1)}},[Q,e,E?.connected]);(0,a.useEffect)(()=>{if(!eP)return;let e=!0;(async()=>{try{await eB("initial")}catch(t){e&&J(t instanceof Error?t.message:"Failed to load preview")}finally{e&&G(!1)}})();let t=window.innerWidth<768,r=window.setInterval(()=>{eB("poll").catch(t=>{e&&J(t instanceof Error?t.message:"Failed to refresh preview")})},t?8e3:4e3);return()=>{e=!1,window.clearInterval(r)}},[eB,eP]),(0,a.useEffect)(()=>{E?.connected?eP&&eq(E.activeFrameId):F([])},[Q,eq,eP,E?.activeFrameId,E?.connected,E?.screenshotKey]),(0,a.useEffect)(()=>{if(!eP)return;if(E?.connected){ew.current=null;return}if(em(null),!eO)return;let e=ew.current?.attemptedAt??NaN,t=ew.current?.candidate??null,r=Date.now();t===eO&&Number.isFinite(e)&&r-e<5e3||(ew.current={candidate:eO,attemptedAt:r},e_.current+=1,eW({command:"connect",url:eO}).catch(e=>{J(e instanceof Error?e.message:"Failed to connect preview")}))},[eO,eW,eP,E?.connected]),(0,a.useEffect)(()=>{if(E?.connected){let e=Date.now();e$.current=e,null===eC.current&&(eC.current=e)}j?.(!!(eP&&E?.connected&&E?.screenshotKey))},[j,eP,E?.connected,E?.screenshotKey]),(0,a.useEffect)(()=>{},[t,S.length,eD,eo,es,e,eP,E?.connected,E?.screenshotKey]);let eK=(0,a.useMemo)(()=>E?.connected?`/api/sessions/${encodeURIComponent(e)}/preview/screenshot?ts=${encodeURIComponent(E.screenshotKey)}`:null,[e,E?.connected,E?.screenshotKey]),eX=eO??E?.candidateUrls[0]??null,eG=(0,a.useMemo)(()=>E?.frames.find(e=>e.id===E.activeFrameId)??null,[E?.activeFrameId,E?.frames]),eQ=(0,a.useMemo)(()=>E?.frames.find(e=>e.isMain)??null,[E?.frames]),eY=(0,a.useMemo)(()=>P(E?.currentUrl),[E?.currentUrl]),eZ=(0,a.useMemo)(()=>{let e=E?.selectedElement;return[{id:"page",title:"Page",description:"Current page identity and live preview worker state.",fields:[{label:"Title",value:H(E?.title,"Untitled")},{label:"Current URL",value:H(E?.currentUrl),copyValue:E?.currentUrl??null,monospace:!0},{label:"Current origin",value:H(eY),copyValue:eY,monospace:!0},{label:"Connected",value:O(E?.connected)},{label:"Last error",value:H(E?.lastError,"None")}]},{id:"navigation",title:"Navigation",description:"History state and frame orientation for the current page.",fields:[{label:"Can go back",value:O(E?.canGoBack)},{label:"Can go forward",value:O(E?.canGoForward)},{label:"Active frame",value:H(eG?.name)},{label:"Main frame",value:H(eQ?.name)},{label:"Frame count",value:`${E?.frames.length??0}`}]},{id:"worker",title:"Worker",description:"Reported candidates, logs, and worker render metadata.",fields:[{label:"Candidate URLs",value:`${E?.candidateUrls.length??0}`},{label:"Auto-connect",value:H(eO??eX),copyValue:eO??eX??null,monospace:!0},{label:"Screenshot key",value:H(E?.screenshotKey,"Unavailable"),monospace:!0},{label:"Console rows",value:`${E?.consoleLogs.length??0}`},{label:"Network rows",value:`${E?.networkLogs.length??0}`}]},{id:"selection",title:"Selection",description:"Current element context captured from inspect mode.",fields:[{label:"Selector",value:H(e?.selector),copyValue:e?.selector??null,monospace:!0},{label:"Tag",value:H(e?.tag)},{label:"Role",value:H(e?.role)},{label:"Frame",value:H(e?.frameName)},{label:"Text",value:H(e?.text)}]}]},[eG?.name,eO,eY,eQ?.name,eX,E]),eJ=(0,a.useMemo)(()=>(E?.candidateUrls??[]).map(e=>{let t=P(e);return{url:e,origin:t,isLoopback:function(e){try{return I.test(new URL(e).hostname)}catch{return!1}}(e),isPreferred:e===eO,isConnected:!!(E?.currentUrl&&(E.currentUrl===e||t&&eY===t)),isTunnelOrigin:!!(E?.tunnelLocalOrigin&&t===E.tunnelLocalOrigin)}}),[eO,eY,E?.candidateUrls,E?.currentUrl,E?.tunnelLocalOrigin]),e0=(0,a.useMemo)(()=>eJ.filter(e=>e.isLoopback).length,[eJ]),e1=(0,a.useMemo)(()=>eJ.find(e=>e.isConnected)??null,[eJ]),e2=null!==ea,e3=!!eG?.isMain,e5=(0,a.useMemo)(()=>{let e=E?.selectedElement?.bounds;if(!E?.selectedElement||!e||!eQ||E.selectedElement.frameId!==eQ.id||!ef.naturalWidth||!ef.naturalHeight||!ef.renderedWidth||!ef.renderedHeight)return null;let t=ef.renderedWidth/ef.naturalWidth,r=ef.renderedHeight/ef.naturalHeight;return{left:`${e.x*t}px`,top:`${e.y*r}px`,width:`${Math.max(e.width*t,2)}px`,height:`${Math.max(e.height*r,2)}px`}},[ef,eQ,E?.selectedElement]),e8=(0,a.useCallback)(async(e,t)=>{let r=e?.trim();if(!r)return void et("Nothing to copy yet.");try{await navigator.clipboard.writeText(r),en(t),et(null)}catch{et("Clipboard access is unavailable.")}},[]),e4=(0,a.useCallback)(async e=>{eu(e),J(null);try{await eW({command:"connect",url:e})}catch(e){J(e instanceof Error?e.message:"Failed to connect preview")}},[eW]),e6=(0,a.useCallback)(async()=>{let e=ex.trim();e&&await e4(e)},[e4,ex]),e7=(0,a.useCallback)((e,t,r=!1)=>{em({anchorX:e,anchorY:t,pending:r}),et(null),en(null)},[]),e9=(0,a.useCallback)(e=>{ei(e),"inspect"===e&&ec("elements"),em(null),et(null),en(null)},[]),te=(0,a.useMemo)(()=>{if(!ed)return null;let e=ef.renderedWidth||340,t=ef.renderedHeight||280,r=Math.max(220,t-24);if(e<=520)return{left:"12px",top:`${Math.max(12,t-Math.min(280,r)-12)}px`,width:`${Math.max(e-24,220)}px`,maxHeight:`${r}px`};let n=Math.min(340,Math.max(e-24,240)),a=Math.max(12,e-n-12),l=Math.max(12,t-280-12),s=ed.anchorX+18,i=ed.anchorY+18,o=s>a?Math.max(12,ed.anchorX-n-18):s,c=i>l?Math.max(12,ed.anchorY-280-18):i;return{left:`${Math.min(Math.max(o,12),a)}px`,top:`${Math.min(Math.max(c,12),l)}px`,width:`${n}px`,maxHeight:`${r}px`}},[ef.renderedHeight,ef.renderedWidth,ed]);(0,a.useEffect)(()=>{if(!ed)return;let e=e=>{"Escape"===e.key&&em(null)};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[ed]);let tt=(0,a.useCallback)(e=>{if(!ej.current)return null;let t=ej.current.getBoundingClientRect();if(!t.width||!t.height||!ej.current.naturalWidth||!ej.current.naturalHeight)return null;let r=e.clientX-t.left,n=e.clientY-t.top;return{anchorX:r,anchorY:n,x:r/t.width*ej.current.naturalWidth,y:n/t.height*ej.current.naturalHeight}},[]),tr=(0,a.useCallback)(e=>{r(e),et(null),en(e.successMessage)},[r]),tn=(0,a.useCallback)(async(e,t,r,n)=>{e7(r,n,!0);try{let a=await eW({command:"selectAtPoint",x:e,y:t});return e7(r,n,!1),a}catch(e){throw em(null),e}},[e7,eW]),ta=(0,a.useCallback)(async(e,t)=>{let r=Math.max(ef.renderedWidth-44,12);e7(r,12,!0);try{let n=await eW({command:"selectBySelector",selector:e,frameId:t});return e7(r,12,!1),n}catch(e){throw em(null),e}},[ef.renderedWidth,e7,eW]),tl=(0,a.useCallback)(async e=>{if(q)return;let t=tt(e);if(t){if(em(null),et(null),en(null),"navigate"===es){eN.current?.focus({preventScroll:!0});try{await eW({command:"clickAtPoint",x:t.x,y:t.y})}catch(e){J(e instanceof Error?e.message:"Failed to interact with preview")}return}if(e3)try{await tn(t.x,t.y,t.anchorX,t.anchorY)}catch(e){J(e instanceof Error?e.message:"Failed to select element")}}},[q,e3,es,tt,eW,tn]),ts=(0,a.useCallback)(async e=>{if(q||"inspect"!==es||!e3)return;let t=tt(e);if(t){et(null),en(null);try{let e=await tn(t.x,t.y,t.anchorX,t.anchorY);if(!e.selectedElement)throw Error("No element found at the selected point");tr(T(e.selectedElement,e.currentUrl))}catch(e){J(e instanceof Error?e.message:"Failed to queue selected element")}}},[q,e3,es,tr,tt,tn]),ti=(0,a.useCallback)(e=>{if("navigate"!==es||!E?.connected||e.metaKey||e.ctrlKey||e.altKey)return;let t=R.get(e.key);if(t){e.preventDefault(),eV({command:"pressKey",key:t},"Failed to send key to preview");return}1===e.key.length&&(e.preventDefault(),eV({command:"typeText",text:e.key},"Failed to type into preview"))},[es,eV,E?.connected]),to=(0,a.useCallback)(e=>{if("navigate"!==es||!E?.connected)return;let t=e.clipboardData.getData("text");t&&(e.preventDefault(),eV({command:"typeText",text:t},"Failed to paste into preview"))},[es,eV,E?.connected]),tc=(0,a.useCallback)(e=>{if(!E)return void et("Preview state is not loaded yet.");let t=E.consoleLogs.slice(-80),r=E.networkLogs.slice(-80);if("selection"===e&&!E.selectedElement)return void et("Select an element before queueing preview context for terminal input.");if("console"===e&&!t.length)return void et("There are no console logs to send yet.");if("network"===e&&!r.length)return void et("There are no network logs to send yet.");el(e),et(null),en(null);try{let n="selection"===e&&E.selectedElement?T(E.selectedElement,E.currentUrl):"console"===e?D("console",t,E.currentUrl,E.selectedElement):D("network",r,E.currentUrl,E.selectedElement);tr(n),"selection"===e&&em(null)}catch(e){et(e instanceof Error?e.message:"Failed to queue preview context")}finally{el(null)}},[tr,E]),td=(0,a.useCallback)(async()=>{let e=E?.selectedElement?.selector;if(e)try{await navigator.clipboard.writeText(e),en("Selector copied to clipboard."),et(null)}catch{et("Clipboard access is unavailable.")}},[E?.selectedElement?.selector]),tm=(0,n.jsxs)(C.tU,{value:eo,onValueChange:e=>ec(e),className:"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden lg:min-h-0",children:[(0,n.jsx)("div",{className:"border-b border-[var(--vk-border)] px-2 py-2",children:(0,n.jsxs)(C.j7,{className:"w-full justify-start border-0 bg-transparent p-0",children:[(0,n.jsxs)(C.Xi,{value:"elements",children:[(0,n.jsx)(s.A,{className:"h-3.5 w-3.5"}),"Elements"]}),(0,n.jsxs)(C.Xi,{value:"console",children:[(0,n.jsx)(i.A,{className:"h-3.5 w-3.5"}),"Console",(0,n.jsx)(w.E,{variant:"outline",children:E?.consoleLogs.length??0})]}),(0,n.jsxs)(C.Xi,{value:"network",children:[(0,n.jsx)(o.A,{className:"h-3.5 w-3.5"}),"Network",(0,n.jsx)(w.E,{variant:"outline",children:E?.networkLogs.length??0})]}),(0,n.jsxs)(C.Xi,{value:"info",children:[(0,n.jsx)(c.A,{className:"h-3.5 w-3.5"}),"Info"]}),(0,n.jsxs)(C.Xi,{value:"proxies",children:[(0,n.jsx)(d.A,{className:"h-3.5 w-3.5"}),"Proxies"]})]})}),(0,n.jsxs)(C.av,{value:"elements",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Selected element"}),(0,n.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"inspect"===es?"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,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)(k.$,{type:"button",variant:Q?"primary":"outline",size:"sm",onClick:()=>Y(e=>!e),children:Q?"Interactive only":"All nodes"}),(0,n.jsxs)(k.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void td(),disabled:!E?.selectedElement,children:[(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Copy selector"]}),(0,n.jsxs)(k.$,{type:"button",variant:"primary",size:"sm",onClick:()=>void tc("selection"),disabled:e2||!E?.selectedElement,children:["selection"===ea?(0,n.jsx)(m.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]})]}),E?.selectedElement?(0,n.jsxs)("div",{className:"mt-3 rounded-[8px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:E.selectedElement.tag}),E.selectedElement.role?(0,n.jsx)(w.E,{variant:"outline",children:E.selectedElement.role}):null,E.selectedElement.frameName?(0,n.jsx)(w.E,{variant:"outline",children:E.selectedElement.frameName}):null]}),(0,n.jsx)("div",{className:"mt-2 text-[12px] text-[var(--vk-text-normal)]",children:A(E.selectedElement.name||E.selectedElement.text||"Selected element",180)}),(0,n.jsx)("div",{className:"mt-2 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:E.selectedElement.selector}),E.selectedElement.htmlPreview?(0,n.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:A(E.selectedElement.htmlPreview,260)}):null]}):(0,n.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."}),E?.frames.length?(0,n.jsx)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:E.frames.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>{eW({command:"selectFrame",frameId:e.id}).catch(e=>{J(e instanceof Error?e.message:"Failed to select frame")})},className:(0,N.cn)("inline-flex max-w-full items-center gap-2 rounded-[5px] border px-2.5 py-1.5 text-[11px]",E.activeFrameId===e.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,n.jsx)(w.E,{variant:"outline",children:e.isMain?"main":"frame"}),(0,n.jsx)("span",{className:"truncate",children:e.name})]},e.id))}):null]}),(0,n.jsx)(y,{className:"min-h-0 flex-1",viewportClassName:L.VM,children:(0,n.jsx)("div",{className:"space-y-1 p-3",children:_?(0,n.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,n.jsx)(m.A,{className:"h-4 w-4 animate-spin"}),"Inspecting frame DOM…"]}):S.length?S.map((e,t)=>(0,n.jsxs)("button",{type:"button",className:(0,N.cn)("w-full rounded-[6px] border px-3 py-2.5 text-left transition-colors","inspect"===es?"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"!==es,onClick:()=>{em(null),et(null),en(null),ta(e.selector,E?.activeFrameId).catch(e=>{J(e instanceof Error?e.message:"Failed to select DOM node")})},onDoubleClick:()=>{et(null),en(null),ta(e.selector,E?.activeFrameId).then(e=>{if(!e.selectedElement)throw Error("Failed to resolve the selected DOM node");tr(T(e.selectedElement,e.currentUrl))}).catch(e=>{J(e instanceof Error?e.message:"Failed to queue DOM node")})},children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:e.tag}),e.interactive?(0,n.jsx)(w.E,{variant:"warning",children:"interactive"}):null,e.role?(0,n.jsx)(w.E,{variant:"outline",children:e.role}):null]}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:e.selector}),e.text?(0,n.jsx)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-normal)]",children:A(e.text,180)}):null]},`${e.id??"node"}-${t}-${e.selector}-${e.tag}-${e.text}`)):(0,n.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"===es?"No DOM nodes to show for the current frame yet.":"Switch to Inspect mode to browse the current frame DOM."})})})]}),(0,n.jsxs)(C.av,{value:"console",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Console output"}),(0,n.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"Live browser console events from the preview worker."})]}),(0,n.jsxs)(k.$,{type:"button",variant:"primary",size:"sm",onClick:()=>void tc("console"),disabled:e2||!E?.consoleLogs.length,children:["console"===ea?(0,n.jsx)(m.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,n.jsx)(y,{className:"min-h-0 flex-1",viewportClassName:L.VM,children:(0,n.jsx)("div",{className:"space-y-1 p-3",children:E?.consoleLogs.length?E.consoleLogs.map(e=>(0,n.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,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,n.jsx)("span",{children:e.level}),(0,n.jsx)("span",{children:M(e.timestamp)})]}),(0,n.jsx)("div",{className:"mt-1 whitespace-pre-wrap break-all font-mono",children:e.message})]},e.id)):(0,n.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,n.jsxs)(C.av,{value:"network",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Network requests"}),(0,n.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"Recent requests captured by the preview worker."})]}),(0,n.jsxs)(k.$,{type:"button",variant:"primary",size:"sm",onClick:()=>void tc("network"),disabled:e2||!E?.networkLogs.length,children:["network"===ea?(0,n.jsx)(m.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,n.jsx)(y,{className:"min-h-0 flex-1",viewportClassName:L.VM,children:(0,n.jsx)("div",{className:"space-y-1 p-3",children:E?.networkLogs.length?E.networkLogs.map(e=>(0,n.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,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,n.jsx)("span",{children:e.method??"GET"}),"number"==typeof e.status?(0,n.jsx)("span",{children:e.status}):null,e.resourceType?(0,n.jsx)("span",{children:e.resourceType}):null,(0,n.jsx)("span",{children:M(e.timestamp)})]}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono",children:e.url??e.message})]},e.id)):(0,n.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,n.jsxs)(C.av,{value:"info",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Preview info"}),(0,n.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"A cleaner snapshot of page, worker, navigation, and element state."})]}),(0,n.jsxs)(k.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{e8(E?.currentUrl,"Current URL copied to clipboard.")},disabled:!E?.currentUrl,children:[(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Copy URL"]})]}),(0,n.jsx)(y,{className:"min-h-0 flex-1",viewportClassName:L.VM,children:(0,n.jsxs)("div",{className:"space-y-3 p-3 text-[12px] text-[var(--vk-text-normal)]",children:[(0,n.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,n.jsx)(z,{label:"Connected",value:E?.connected?"Live":"Idle",hint:E?.currentUrl?A(E.currentUrl,60):"No active page yet"}),(0,n.jsx)(z,{label:"Frames",value:`${E?.frames.length??0}`,hint:eG?.name??"No active frame"}),(0,n.jsx)(z,{label:"Console",value:`${E?.consoleLogs.length??0}`,hint:"Captured browser console rows"}),(0,n.jsx)(z,{label:"Network",value:`${E?.networkLogs.length??0}`,hint:"Recent preview worker requests"})]}),eZ.map(e=>(0,n.jsx)(B,{section:e,onCopy:e8},e.id))]})})]}),(0,n.jsxs)(C.av,{value:"proxies",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Proxy and tunnel routing"}),(0,n.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,n.jsxs)(k.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{e8(E?.tunnelLocalOrigin??E?.tunnelUrl,"Tunnel mapping copied to clipboard.")},disabled:!E?.tunnelLocalOrigin&&!E?.tunnelUrl,children:[(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Copy route"]})]}),(0,n.jsx)(y,{className:"min-h-0 flex-1",viewportClassName:L.VM,children:(0,n.jsxs)("div",{className:"space-y-3 p-3 text-[12px] text-[var(--vk-text-normal)]",children:[(0,n.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,n.jsx)(z,{label:"Candidates",value:`${eJ.length}`,hint:eJ.length?"Reported by the current session":"No targets reported yet"}),(0,n.jsx)(z,{label:"Loopback",value:`${e0}`,hint:e0?"Local dev URLs available":"No local loopback URLs"}),(0,n.jsx)(z,{label:"Tunnel",value:E?.tunnelUrl?"Ready":"None",hint:E?.tunnelLocalOrigin??"No bridge tunnel mapping",monospace:!!E?.tunnelLocalOrigin}),(0,n.jsx)(z,{label:"Current origin",value:eY??"Idle",hint:e1?"Matches the active preview page":"Not connected to a candidate yet",monospace:!!eY})]}),(0,n.jsx)(B,{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:H(E?.tunnelLocalOrigin,"Not set"),copyValue:E?.tunnelLocalOrigin??null,monospace:!0},{label:"Tunnel URL",value:H(E?.tunnelUrl,"Not set"),copyValue:E?.tunnelUrl??null,monospace:!0},{label:"Current origin",value:H(eY),copyValue:eY,monospace:!0}]},onCopy:e8}),(0,n.jsxs)("div",{className:"overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,n.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-3 py-3",children:[(0,n.jsx)("div",{className:"text-[11px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:"Candidate URLs"}),(0,n.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,n.jsx)("div",{className:"space-y-2 p-3",children:eJ.length?eJ.map(e=>(0,n.jsxs)("div",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-3",children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:(0,N.cn)("text-[12px] font-medium text-[var(--vk-text-normal)]",e.origin?"truncate":"break-all"),children:e.origin??e.url}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:e.url})]}),e.isConnected?(0,n.jsx)(w.E,{variant:"success",children:"current"}):null,e.isPreferred?(0,n.jsx)(w.E,{variant:"warning",children:"auto"}):null,e.isTunnelOrigin?(0,n.jsx)(w.E,{variant:"outline",children:"tunnel origin"}):null,(0,n.jsx)(w.E,{variant:"outline",children:e.isLoopback?"loopback":"remote"})]}),(0,n.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,n.jsxs)(k.$,{type:"button",variant:"primary",size:"sm",onClick:()=>{e4(e.url)},children:[(0,n.jsx)(d.A,{className:"h-3.5 w-3.5"}),"Connect"]}),(0,n.jsxs)(k.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{e8(e.url,"Candidate URL copied to clipboard.")},children:[(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Copy URL"]}),e.origin?(0,n.jsxs)(k.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{e8(e.origin,"Candidate origin copied to clipboard.")},children:[(0,n.jsx)(u.A,{className:"h-3.5 w-3.5"}),"Copy origin"]}):null]})]},e.url)):(0,n.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,n.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,n.jsx)("div",{className:"shrink-0 border-b border-[var(--vk-border)] px-3 py-3",children:(0,n.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(d.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,n.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Preview browser"})]}),E?.connected?(0,n.jsx)(w.E,{variant:"success",children:"connected"}):(0,n.jsx)(w.E,{variant:"outline",children:"idle"}),eG?(0,n.jsx)(w.E,{variant:"outline",children:eG.isMain?"main frame":"nested frame"}):null,E?.title?(0,n.jsx)(w.E,{variant:"outline",children:A(E.title,40)}):null,ed?.pending?(0,n.jsx)(w.E,{variant:"warning",children:"selecting element…"}):null]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 lg:flex-row lg:items-center",children:[(0,n.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,n.jsx)(d.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,n.jsx)("input",{value:ex,onChange:e=>eu(e.target.value),placeholder:eX??"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,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsxs)(k.$,{type:"button",variant:"primary",onClick:()=>void e6(),disabled:q||!ex.trim(),children:[q?(0,n.jsx)(m.A,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(v.A,{className:"h-4 w-4"}),"Connect"]}),(0,n.jsxs)(k.$,{type:"button","aria-label":"Go back",variant:"outline",onClick:()=>void eW({command:"goBack"}).then(e=>{eu(e.currentUrl??"")}).catch(e=>{J(e instanceof Error?e.message:"Failed to go back")}),disabled:!E?.connected||!E?.canGoBack||q,children:[(0,n.jsx)(p.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Back"})]}),(0,n.jsxs)(k.$,{type:"button","aria-label":"Go forward",variant:"outline",onClick:()=>void eW({command:"goForward"}).then(e=>{eu(e.currentUrl??"")}).catch(e=>{J(e instanceof Error?e.message:"Failed to go forward")}),disabled:!E?.connected||!E?.canGoForward||q,children:[(0,n.jsx)(h.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Forward"})]}),(0,n.jsxs)(k.$,{type:"button","aria-label":"Refresh preview status",variant:"outline",onClick:()=>void eB("manual").catch(e=>{J(e instanceof Error?e.message:"Failed to refresh preview")}),disabled:X||q,children:[(0,n.jsx)(b.A,{className:(0,N.cn)("h-3.5 w-3.5",q&&"animate-spin")}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Refresh"})]}),(0,n.jsxs)(k.$,{type:"button","aria-label":"Reload preview page",variant:"outline",onClick:()=>void eW({command:"reload"}).catch(e=>{J(e instanceof Error?e.message:"Failed to reload preview")}),disabled:!E?.connected||q,children:[(0,n.jsx)(u.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Reload"})]})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-1",children:[(0,n.jsxs)(k.$,{type:"button",size:"sm",variant:"navigate"===es?"primary":"ghost",onClick:()=>e9("navigate"),children:[(0,n.jsx)(v.A,{className:"h-3.5 w-3.5"}),"Navigate"]}),(0,n.jsxs)(k.$,{type:"button",size:"sm",variant:"inspect"===es?"primary":"ghost",onClick:()=>e9("inspect"),children:[(0,n.jsx)(f.A,{className:"h-3.5 w-3.5"}),"Inspect"]})]}),(0,n.jsxs)(k.$,{type:"button",size:"sm",variant:eH?"primary":"outline",className:"lg:hidden",onClick:()=>eb(e=>!e),children:[(0,n.jsx)(s.A,{className:"h-3.5 w-3.5"}),eH?"Hide tools":"Browser tools"]})]}),ev?null:(0,n.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"navigate"===es?"Navigate mode sends clicks and typing into the running app.":e3?"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."})]}),!E?.connected&&E?.candidateUrls.length&&ez?(0,n.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:E.candidateUrls.map(e=>(0,n.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:()=>{e4(e)},children:[(0,n.jsx)(d.A,{className:"h-3 w-3 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:e})]},e))}):null,Z||E?.lastError?(0,n.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,n.jsx)(g.A,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,n.jsx)("span",{children:Z??E?.lastError})]}):null,er?(0,n.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:er}):null,ee?(0,n.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:ee}):null]})}),(0,n.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)] ${L.DK}`,children:[(0,n.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,n.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,n.jsx)("div",{className:"min-w-0",children:(0,n.jsx)("div",{className:"truncate text-[var(--vk-text-normal)]",children:E?.currentUrl??eX??"No active preview URL yet"})}),E?.connected?(0,n.jsxs)(w.E,{variant:"outline",children:[E?.frames.length??0," frame",(E?.frames.length??0)===1?"":"s"]}):null]}),(0,n.jsx)("div",{className:L.qg,children:(0,n.jsx)("div",{className:"flex h-full min-h-[min(200px,45vh)] w-full items-center justify-center lg:min-h-[260px]",children:X?(0,n.jsxs)("div",{className:"flex items-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,n.jsx)(m.A,{className:"h-4 w-4 animate-spin"}),"Loading preview…"]}):eK?(0,n.jsxs)("div",{ref:eN,tabIndex:E?.connected?0:-1,onKeyDown:ti,onPaste:to,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] ${L.hq}`,children:[(0,n.jsx)("img",{ref:ej,src:eK,alt:"Session preview",className:(0,N.cn)("max-h-full max-w-full rounded-[8px] object-contain shadow-[0_18px_36px_rgba(0,0,0,0.28)]","navigate"===es?"cursor-pointer":e3?"cursor-crosshair":"cursor-default"),onClick:e=>void tl(e),onDoubleClick:e=>void ts(e),onLoad:e=>{eT.current+=1;let t=e.currentTarget;eg({naturalWidth:t.naturalWidth,naturalHeight:t.naturalHeight,renderedWidth:t.clientWidth,renderedHeight:t.clientHeight})}}),"inspect"===es&&e5?(0,n.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:e5}):null,"inspect"===es&&ed&&te?(0,n.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:te,children:ed.pending?"Selecting element…":E?.selectedElement?`${E.selectedElement.tag} \xb7 ${A(E.selectedElement.selector,120)}`:"Selection ready"}):null]}):(0,n.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."})})})]}),ev?null:tm]}),ev&&eH?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"absolute inset-0 z-10 bg-black/35 lg:hidden",onClick:()=>eb(!1),"aria-hidden":"true"}),(0,n.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,n.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-[var(--vk-border)] px-3 py-2.5",children:[(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,n.jsx)(s.A,{className:"h-4 w-4 shrink-0 text-[var(--vk-text-muted)]"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Browser tools"}),(0,n.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,n.jsx)(k.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>eb(!1),children:"Hide"})]}),(0,n.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:tm})]})]}):null]})}},90986:(e,t,r)=>{r.d(t,{E:()=>s});var n=r(54568),a=r(46916);let l={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 s({variant:e="default",className:t,children:r}){return(0,n.jsx)("span",{className:(0,a.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",l[e],t),children:r})}}}]);
|