conductor-oss 0.58.13 → 0.58.15
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 +5 -5
- 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 +5 -5
- 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/3540.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/3813.js +1 -0
- 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/7973.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
- 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 → Oz7SJnK4z8evRO4DMLDXS}/_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/{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.562c2cf3b1c7eafe.js → 4443.b34dcb57133e30d9.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/5263.cfb00bc46e91a8b5.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-5fc85741b4d73adb.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-2f3b196830b4efe9.js +2 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-de4a1b7802460ef9.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-86ae4225b02c341d.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/css/6ef2fa08dd043252.css +1 -0
- package/web/.next/static/{jX90efNmWKjmUhjR6uaGX → Oz7SJnK4z8evRO4DMLDXS}/_buildManifest.js +1 -1
- package/web/.next/static/chunks/{1874.99b3a1b087b90a3d.js → 1874.2a160ad70372724a.js} +1 -1
- 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.562c2cf3b1c7eafe.js → 4443.b34dcb57133e30d9.js} +1 -1
- package/web/.next/static/chunks/5263.cfb00bc46e91a8b5.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-5fc85741b4d73adb.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-2f3b196830b4efe9.js +2 -0
- package/web/.next/static/chunks/app/layout-de4a1b7802460ef9.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-86ae4225b02c341d.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/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/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 → Oz7SJnK4z8evRO4DMLDXS}/_ssgManifest.js +0 -0
- /package/web/.next/static/{jX90efNmWKjmUhjR6uaGX → Oz7SJnK4z8evRO4DMLDXS}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5493],{33507:(e,t,s)=>{s.d(t,{DK:()=>n,VM:()=>i,hq:()=>a,qg:()=>l,re:()=>r});let a="overscroll-contain touch-pan-y [-webkit-overflow-scrolling:touch]",n=`overflow-y-auto ${a}`,l="min-h-0 flex-1 overflow-hidden bg-[#0f1012] p-3",i=a;function r(e){return["flex h-full min-h-0 min-w-0 w-full flex-col",e?"overflow-hidden bg-[#060404]":"overflow-hidden"].join(" ")}},35493:(e,t,s)=>{s.r(t),s.d(t,{SessionDetail:()=>eh});var a=s(54568),n=s(42925),l=s(7620),i=s(79748),r=s(7920),c=s(96611),d=s(46548),o=s(69863),x=s(97380),u=s(41007),m=s(90466),h=s(64357),f=s(40443),p=s(76081),v=s(35821),g=s(10926),b=s(76050),j=s(34309),w=s(59706),k=s(34041),N=s(76265),y=s(45894),S=s(26463),$=s(96249),A=s(58299),C=s(56050),I=s(23555),E=s(60527),M=s(58588),_=s(99844),D=s(5881),R=s(72410),q=s(33507);function L({text:e}){let[t,s]=(0,l.useState)(!1);async function n(){try{await navigator.clipboard.writeText(e),s(!0),window.setTimeout(()=>s(!1),1400)}catch{}}return(0,a.jsxs)("button",{type:"button",onClick:()=>void n(),className:"inline-flex max-w-[180px] items-center gap-1 font-mono text-[11px] text-[var(--vk-text-muted)] transition-colors hover:text-[var(--vk-text-normal)]",children:[(0,a.jsx)("span",{className:"truncate",children:e}),t?(0,a.jsx)(j.A,{className:"h-3 w-3 shrink-0 text-emerald-400"}):(0,a.jsx)(w.A,{className:"h-3 w-3 shrink-0 opacity-50"})]})}function P(e,t){let s=e.metadata[t];return"string"==typeof s&&s.trim().length>0?s:void 0}function F(e){if(!e)return null;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:null}function T({node:e,depth:t,selectedPath:s,expandedDirs:n,onToggleDir:l,onSelectFile:i}){let r=n.has(e.path),c=e.path===s,d=8+16*t;return e.isDir?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>l(e.path),className:"flex w-full items-center gap-1.5 py-1.5 text-left text-[12px] text-[var(--vk-text-muted)] hover:bg-white/4 active:bg-white/6",style:{paddingLeft:d},children:[r?(0,a.jsx)(k.A,{className:"h-3 w-3 shrink-0 opacity-50"}):(0,a.jsx)(N.A,{className:"h-3 w-3 shrink-0 opacity-50"}),r?(0,a.jsx)(y.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}):(0,a.jsx)(S.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]}),r?e.children.map(e=>(0,a.jsx)(T,{node:e,depth:t+1,selectedPath:s,expandedDirs:n,onToggleDir:l,onSelectFile:i},e.path)):null]}):(0,a.jsxs)("button",{type:"button",onClick:()=>i(e.path),className:`flex w-full items-center gap-1.5 py-1.5 pr-2 text-left text-[12px] transition-colors ${c?"bg-blue-500/10 text-[var(--vk-text-strong)]":"text-[var(--vk-text-normal)] hover:bg-white/4"}`,style:{paddingLeft:d+16},children:[(0,a.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]})}let U={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",mjs:"javascript",cjs:"javascript",mts:"typescript",cts:"typescript",html:"html",htm:"html",css:"css",scss:"scss",sass:"sass",less:"less",vue:"vue",svelte:"svelte",astro:"astro",json:"json",jsonc:"jsonc",json5:"json5",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",xml:"xml",svg:"xml",plist:"xml",csv:"csv",tsv:"csv",md:"markdown",mdx:"mdx",tex:"latex",rst:"rst",rs:"rust",go:"go",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",hh:"cpp",cs:"csharp",java:"java",kt:"kotlin",kts:"kotlin",scala:"scala",swift:"swift",m:"objective-c",mm:"objective-cpp",zig:"zig",nim:"nim",v:"v",d:"d",py:"python",pyi:"python",rb:"ruby",php:"php",pl:"perl",pm:"perl",lua:"lua",r:"r",R:"r",jl:"julia",ex:"elixir",exs:"elixir",erl:"erlang",hrl:"erlang",hs:"haskell",lhs:"haskell",clj:"clojure",cljs:"clojure",ml:"ocaml",mli:"ocaml",fs:"fsharp",fsx:"fsharp",sh:"bash",bash:"bash",zsh:"bash",fish:"fish",ps1:"powershell",psm1:"powershell",bat:"bat",cmd:"bat",dockerfile:"dockerfile",containerfile:"dockerfile",tf:"hcl",hcl:"hcl",nix:"nix",sql:"sql",graphql:"graphql",gql:"graphql",prisma:"prisma",proto:"protobuf",thrift:"thrift",makefile:"makefile",cmake:"cmake",asm:"asm",s:"asm",diff:"diff",patch:"diff",log:"log",txt:"plaintext",env:"dotenv",lock:"json"},O={makefile:"makefile",Makefile:"makefile",dockerfile:"dockerfile",Dockerfile:"dockerfile",containerfile:"dockerfile",Containerfile:"dockerfile",gemfile:"ruby",Gemfile:"ruby",rakefile:"ruby",Rakefile:"ruby",cmakelists:"cmake",CMakeLists:"cmake",".gitignore":"gitignore",".dockerignore":"gitignore",".editorconfig":"ini",".prettierrc":"json",".eslintrc":"json",".babelrc":"json",".env":"dotenv",".env.local":"dotenv",".env.production":"dotenv","tsconfig.json":"jsonc","jsconfig.json":"jsonc"},z=new Set(["png","jpg","jpeg","gif","webp","svg","ico","bmp","avif"]);function W(e){let t=e.split("/").pop()??"",s=t.lastIndexOf(".");return s>=0?t.slice(s+1).toLowerCase():""}function X({code:e,lang:t}){let[n,i]=(0,l.useState)(null),r=(0,l.useRef)(e),c=(0,l.useRef)(t);if((0,l.useEffect)(()=>{r.current=e,c.current=t;let a=!1;return(async()=>{try{let{codeToHtml:n}=await Promise.all([s.e(9526),s.e(3838)]).then(s.bind(s,13838));if(a)return;let l=await n(e,{lang:t,theme:"github-dark-default"});a||r.current!==e||c.current!==t||i(l)}catch{if(a)return;try{let{codeToHtml:t}=await Promise.all([s.e(9526),s.e(3838)]).then(s.bind(s,13838));if(a)return;let n=await t(e,{lang:"plaintext",theme:"github-dark-default"});a||i(n)}catch{a||i(null)}}})(),()=>{a=!0}},[e,t]),!n){let t=e.split("\n"),s=String(t.length).length;return(0,a.jsx)("div",{className:"inline-block min-w-full align-top",children:(0,a.jsx)("table",{className:"min-w-full border-collapse font-mono text-[11px] leading-5",children:(0,a.jsx)("tbody",{children:t.map((e,t)=>(0,a.jsxs)("tr",{className:"hover:bg-white/3",children:[(0,a.jsx)("td",{className:"select-none whitespace-nowrap border-r border-white/6 px-2 text-right text-[var(--vk-text-muted)] opacity-40",style:{minWidth:`${s+2}ch`},children:t+1}),(0,a.jsx)("td",{className:"whitespace-pre px-3 text-[var(--vk-text-normal)]",children:e||"\xa0"})]},t))})})})}return(0,a.jsx)("div",{className:"shiki-viewer inline-block min-w-full align-top [&_.shiki]:!bg-transparent [&_.shiki]:p-0 [&_code]:text-[11px] [&_code]:leading-5 [&_pre]:!bg-transparent [&_pre]:!p-0",dangerouslySetInnerHTML:{__html:n}})}function B({sessionId:e,filePath:t}){let[s,n]=(0,l.useState)(null),[i,r]=(0,l.useState)(!0),[c,d]=(0,l.useState)(null),[o,x]=(0,l.useState)(!1),[u,m]=(0,l.useState)(!1),[h,f]=(0,l.useState)(0);if((0,l.useEffect)(()=>{let s=!1;r(!0),d(null),n(null),x(!1),m(!1),f(0);let a=new URLSearchParams({path:t});return fetch(`/api/sessions/${encodeURIComponent(e)}/files?${a.toString()}`,{cache:"no-store"}).then(async e=>{if(!e.ok)throw Error(`Failed to load file (${e.status})`);return e.json()}).then(e=>{s||(e.binary?x(!0):n("string"==typeof e.content?e.content:""),m(!!e.truncated),f("number"==typeof e.size?e.size:0))}).catch(e=>{s||d(e instanceof Error?e.message:"Failed to load file")}).finally(()=>{s||r(!1)}),()=>{s=!0}},[e,t]),i)return(0,a.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin"}),"Loading…"]});if(c)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center px-4 text-center text-[12px] text-red-400",children:c});if(o&&z.has(W(t))){let s=new URLSearchParams({path:t,raw:"1"}),n=`/api/sessions/${encodeURIComponent(e)}/files?${s.toString()}`;return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-4",children:[(0,a.jsx)("img",{src:n,alt:t,className:"max-h-[60vh] max-w-full rounded-md object-contain"}),(0,a.jsxs)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[t.split("/").pop(),h>0?` \xb7 ${Z(h)}`:""]})]})}if(o){let e=W(t);return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 px-4 text-center",children:[(0,a.jsx)("div",{className:"rounded-lg bg-white/4 p-4",children:(0,a.jsx)($.A,{className:"mx-auto h-8 w-8 text-[var(--vk-text-muted)]"})}),(0,a.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:["Binary file",e?` (.${e})`:""," — preview not available"]}),h>0?(0,a.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)] opacity-60",children:Z(h)}):null]})}let p=function(e){let t=e.split("/").pop()??"";if(O[t])return O[t];let s=t.lastIndexOf(".");if(s>=0){let e=t.slice(s+1).toLowerCase();if(U[e])return U[e]}return"plaintext"}(t);return(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[u?(0,a.jsxs)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1 text-[11px] text-amber-300",children:["File truncated",h>0?` (${Z(h)} total)`:""]}):null,(0,a.jsx)("div",{className:`min-h-0 min-w-0 flex-1 overflow-auto py-2 touch-pan-x ${q.hq}`,children:(0,a.jsx)(X,{code:s??"",lang:p})})]})}function Z(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function K({sessionId:e,active:t}){let[s,n]=(0,l.useState)([]),[i,r]=(0,l.useState)(!0),[c,d]=(0,l.useState)(null),[o,x]=(0,l.useState)(!1),[u,m]=(0,l.useState)(""),[h,f]=(0,l.useState)(null),[p,v]=(0,l.useState)(new Set),g=(0,l.useRef)(!0),b=(0,l.useCallback)(async()=>{try{r(!0);let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/files`,{cache:"no-store"});if(!t.ok)throw Error(`Failed to load files (${t.status})`);let s=await t.json();if(!g.current)return;n(s.files??[]),x(!!s.truncated),d(null)}catch(e){if(!g.current)return;d(e instanceof Error?e.message:"Failed to load files")}finally{g.current&&r(!1)}},[e]);(0,l.useEffect)(()=>(g.current=!0,t&&b(),()=>{g.current=!1}),[t,b]);let j=(0,l.useMemo)(()=>(function(e){let t={name:"",path:"",children:[],isDir:!0};for(let s of e){let e=s.split("/"),a=t,n="";for(let t=0;t<e.length;t++){let s=e[t];n=n?`${n}/${s}`:s;let l=t===e.length-1,i=a.children.find(e=>e.name===s);i||(i={name:s,path:n,children:[],isDir:!l},a.children.push(i)),a=i}}return function e(t){for(let s of(t.sort((e,t)=>e.isDir!==t.isDir?e.isDir?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base"})),t))s.children.length>0&&e(s.children);return t}(t.children)})(s),[s]),w=(0,l.useMemo)(()=>(function(e,t){if(!t)return e;let s=t.toLowerCase();return function e(t){let a=[];for(let n of t)(function e(t){return!!(t.name.toLowerCase().includes(s)||t.path.toLowerCase().includes(s))||t.children.some(e)})(n)&&(n.isDir?a.push({...n,children:e(n.children)}):a.push(n));return a}(e)})(j,u.trim()),[j,u]);(0,l.useEffect)(()=>{if(u.trim()){let e=new Set;!function t(s){for(let a of s)a.isDir&&(e.add(a.path),t(a.children))}(w),v(e)}},[w,u]);let k=(0,l.useCallback)(e=>{v(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),N=(0,l.useCallback)(e=>{f(e)},[]),y=(0,l.useCallback)(()=>{f(null)},[]);if(i&&0===s.length)return(0,a.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin"}),"Loading workspace files…"]});if(c)return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-4 text-center",children:[(0,a.jsx)("p",{className:"text-[12px] text-red-400",children:c}),(0,a.jsx)("button",{type:"button",onClick:()=>void b(),className:"text-[11px] text-[var(--vk-text-muted)] underline hover:text-[var(--vk-text-normal)]",children:"Retry"})]});let S=h?(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col lg:hidden",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-2",children:[(0,a.jsx)("button",{type:"button",onClick:y,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6","aria-label":"Back to file list",children:(0,a.jsx)(C.A,{className:"h-4 w-4"})}),(0,a.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:h})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(B,{sessionId:e,filePath:h})})]}):null;return(0,a.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[S,(0,a.jsxs)("div",{className:`flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-1.5 ${h?"hidden lg:flex":""}`,children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 rounded-md bg-white/4 px-2 py-1.5",children:[(0,a.jsx)(I.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{type:"text",value:u,onChange:e=>m(e.target.value),placeholder:"Search files…",className:"min-w-0 flex-1 bg-transparent text-[12px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,a.jsx)("button",{type:"button",onClick:()=>void b(),disabled:i,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6 disabled:opacity-50","aria-label":"Refresh files",children:(0,a.jsx)(E.A,{className:`h-3.5 w-3.5 ${i?"animate-spin":""}`})})]}),o?(0,a.jsx)("div",{className:`shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1.5 text-[11px] text-amber-300 ${h?"hidden lg:block":""}`,children:"File list truncated (4000 file limit)"}):null,(0,a.jsxs)("div",{className:`min-h-0 flex-1 lg:flex lg:flex-row ${h?"hidden lg:flex":"flex flex-col"}`,children:[(0,a.jsx)("div",{className:`min-h-0 flex-1 overflow-y-auto py-1 lg:max-w-[320px] lg:border-r lg:border-white/8 ${q.hq}`,children:0===w.length?(0,a.jsx)("div",{className:"px-3 py-6 text-center text-[12px] text-[var(--vk-text-muted)]",children:u?"No files match your search.":"No files in workspace."}):w.map(e=>(0,a.jsx)(T,{node:e,depth:0,selectedPath:h,expandedDirs:p,onToggleDir:k,onSelectFile:N},e.path))}),(0,a.jsx)("div",{className:"hidden min-h-0 min-w-0 flex-1 lg:block",children:h?(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-3 py-2",children:[(0,a.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:h})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(B,{sessionId:e,filePath:h})})]}):(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-[12px] text-[var(--vk-text-muted)]",children:"Select a file to view its contents"})})]})]})}function V({session:e,sessionId:t,active:s}){let n=(0,l.useMemo)(()=>P(e,"task")??P(e,"prompt")??("string"==typeof e.task?e.task:"")??("string"==typeof e.prompt?e.prompt:""),[e]),i=(0,l.useMemo)(()=>P(e,"agent")??("string"==typeof e.agent?e.agent:""),[e]),r=(0,l.useMemo)(()=>(function(e,t){if(!e||!t)return"";let s=new Date(e).getTime(),a=new Date(t).getTime();if(!Number.isFinite(s)||!Number.isFinite(a)||a<s)return"";let n=Math.floor((a-s)/6e4);if(n<1)return"<1m";if(n<60)return`${n}m`;let l=Math.floor(n/60);return`${l}h ${n%60}m`})(P(e,"startedAt")??e.startedAt,P(e,"finishedAt")??e.finishedAt),[e]),c=(0,l.useMemo)(()=>(function(e){if("number"==typeof e.cost)return e.cost;let t=e.metadata.cost;if("string"!=typeof t)return 0;try{let e=JSON.parse(t),s="number"==typeof e.estimatedCostUsd?e.estimatedCostUsd:0,a="number"==typeof e.totalUSD?e.totalUSD:0;return s??a}catch{return 0}})(e),[e]),d=(0,l.useMemo)(()=>F(P(e,"queuePosition")),[e]),o=(0,l.useMemo)(()=>F(P(e,"queueDepth")),[e]),x=(0,l.useMemo)(()=>P(e,"recoveryState")??"",[e]),u=(0,l.useMemo)(()=>"queued"===e.status?d?`Waiting in queue at position ${d}${o?` of ${o}`:""}.`:"Waiting in the launch queue.":"requeued_after_restart"===x?"Session recovered after backend restart and requeued.":"reattach_pending"===x?"Recovering terminal runtime after backend restart.":"detached_runtime"===x?"Backend restarted while agent may still be running.":"resume_required"===x?"Session recovered after restart. Send a message to resume.":"",[o,d,x,e.status]);return(0,a.jsxs)("div",{className:`flex h-full min-h-0 flex-col ${q.DK}`,children:[u?(0,a.jsx)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-2",children:(0,a.jsx)("p",{className:"text-[12px] leading-snug text-amber-300",children:u})}):null,n?(0,a.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2.5",children:(0,a.jsx)("p",{className:"line-clamp-3 whitespace-pre-wrap text-[13px] leading-relaxed text-[var(--vk-text-normal)]",children:n})}):null,(0,a.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-x-4 gap-y-1 border-b border-white/8 px-3 py-2 text-[11px] text-[var(--vk-text-muted)]",children:[i?(0,a.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(R.N,{seed:{label:i},className:"h-4 w-4"}),(0,a.jsx)("span",{children:i})]}):null,e.branch?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(M.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)(L,{text:e.branch})]}):null,r?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(_.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{children:r})]}):null,c>0?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(D.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsxs)("span",{children:["$",c.toFixed(3)]})]}):null]}),(0,a.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden border-t border-white/8",children:[(0,a.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2",children:(0,a.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wide text-[var(--vk-text-muted)]",children:"Workspace files"})}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(K,{sessionId:t,active:s})})]})]})}var G=s(40448),J=s(50549),H=s(26083),Q=s(31404),Y=s(59207),ee=s(46916);let et="block h-5 w-5 shrink-0 object-contain",es=[{id:"finder",label:"Finder"},{id:"cursor",label:"Cursor"},{id:"antigravity",label:"Antigravity"},{id:"windsurf",label:"Windsurf"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"custom",label:"Custom"}],ea={finder:{kind:"image",imageSrc:"/icons/ide/finder.svg",className:et},vscode:{kind:"image",imageSrc:"/icons/ide/vscode-dark.svg",className:et},"vscode-insiders":{kind:"image",imageSrc:"/icons/ide/vscode-insiders.svg",className:et},cursor:{kind:"image",imageSrc:"/icons/ide/cursor-dark.svg",className:et},windsurf:{kind:"image",imageSrc:"/icons/ide/windsurf-dark.svg",className:et},"intellij-idea":{kind:"image",imageSrc:"/icons/ide/intellij.svg",className:et},zed:{kind:"image",imageSrc:"/icons/ide/zed-dark.svg",className:et},xcode:{kind:"image",imageSrc:"/icons/ide/xcode.svg",className:et},antigravity:{kind:"image",imageSrc:"/icons/ide/antigravity-dark.svg",className:et},custom:{kind:"icon",className:`${et} text-[var(--vk-text-muted)]`}};function en({editorId:e,label:t}){let s=ea[e];return s?"icon"===s.kind?(0,a.jsx)(J.A,{className:s?.className??`${et} text-[var(--vk-text-muted)]`}):(0,a.jsx)("img",{src:s.imageSrc,alt:`${t} logo`,className:s.className}):(0,a.jsx)(J.A,{className:`${et} text-[var(--vk-text-muted)]`})}function el({projectId:e,bridgeId:t,label:s="Open",triggerClassName:n}){let{preferences:i}=(0,Y.g)(t),[r,c]=(0,l.useState)(null),d=(0,l.useMemo)(()=>{var e;return e=i?.ide??"vscode",es.find(t=>t.id===e)??{id:e,label:e}},[i?.ide]);async function o(s){if(e&&!r){c(s);try{let a=await fetch((0,Q.S)(`/api/projects/${encodeURIComponent(e)}/open`,t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ide:s})}),n=await a.json().catch(()=>null);if(!a.ok)throw Error(n?.error??`Failed to open project (${a.status})`)}catch(e){window.alert(e instanceof Error?e.message:"Failed to open project")}finally{c(null)}}}return(0,a.jsxs)(G.bL,{children:[(0,a.jsx)(G.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",disabled:!e||null!==r,className:(0,ee.cn)("inline-flex h-9 items-center gap-2 rounded-[6px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.06)] disabled:cursor-not-allowed disabled:opacity-60",n),"aria-label":"Open project in code editor",title:e?`Open project in ${d.label}`:"No project selected",children:[r?(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin text-current"}):(0,a.jsx)(H.A,{className:"h-4 w-4 text-current"}),(0,a.jsx)("span",{className:"hidden font-medium sm:inline",children:s}),(0,a.jsx)(k.A,{className:"h-3.5 w-3.5 text-current"})]})}),(0,a.jsx)(G.ZL,{children:(0,a.jsx)(G.UC,{align:"end",sideOffset:8,className:"z-50 min-w-[240px] rounded-[8px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:es.map(e=>(0,a.jsxs)(G.q7,{onSelect:()=>void o(e.id),className:"flex min-h-[44px] cursor-default items-center gap-3 rounded-[6px] px-3 py-2 text-[14px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)]",children:[(0,a.jsx)(en,{editorId:e.id,label:e.label}),(0,a.jsx)("span",{className:"flex-1",children:e.label}),d.id===e.id?(0,a.jsx)(j.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}):null]},e.id))})})]})}let ei=(0,n.default)(function(){return s.e(883).then(s.bind(s,883)).then(e=>e.SessionTerminal)},{loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading terminal..."})}),er=(0,n.default)(()=>Promise.all([s.e(3971),s.e(2799)]).then(s.bind(s,22799)).then(e=>e.SessionPreview),{loadableGenerated:{webpack:()=>[22799]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading preview..."})}),ec=(0,n.default)(()=>s.e(633).then(s.bind(s,60633)).then(e=>e.SessionDiff),{loadableGenerated:{webpack:()=>[60633]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading review…"}),ssr:!1}),ed=(0,n.default)(()=>s.e(1874).then(s.bind(s,81874)).then(e=>e.SessionSkills),{loadableGenerated:{webpack:()=>[81874]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading skills..."})}),eo=(0,n.default)(()=>Promise.all([s.e(9526),s.e(2651),s.e(2261),s.e(9847)]).then(s.bind(s,52261)).then(e=>e.DispatcherPane),{loadableGenerated:{webpack:()=>[52261]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading dispatcher..."})}),ex="min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:invisible data-[state=inactive]:opacity-0",eu="min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=active]:relative data-[state=active]:z-10 data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:opacity-0 data-[state=inactive]:select-none";function em(e,t){let s=(0,b.tK)(t);return"overview"===e||"preview"===e||"skills"===e||"diff"===e?e:"dispatcher"===e||"terminal"===e?"dispatcher"===s?"dispatcher":"terminal":s}function eh({sessionId:e,initialSession:t=null,bridgeId:s=null,immersiveMobileMode:n=!1,active:j=!0,suppressPreviewAutoOpen:w=!1,onOpenSidebar:k}){let N=(0,i.usePathname)(),y=(0,i.useRouter)(),S=(0,i.useSearchParams)(),{session:$,loading:A,error:C}=(0,v.w)(e,t,{enabled:j,bridgeId:s}),I=(0,l.useRef)(0),E=(0,l.useRef)(!1),[M,_]=(0,l.useState)(null),D=(0,l.useMemo)(()=>em(S.get("tab"),$),[S,$]),R=(0,l.useCallback)(e=>{let t=em(e,$),s=(0,b.tK)($),a=new URLSearchParams(S.toString());t===s?a.delete("tab"):a.set("tab",t);let n=a.toString(),l=n.length>0?`${N}?${n}`:N;y.replace(l,{scroll:!1})},[N,y,S,$]);(0,l.useEffect)(()=>{if(!$)return;let e=S.get("tab"),t=em(e,$),s=t===(0,b.tK)($)?null:t;if((e?.trim()?e:null)===s)return;let a=new URLSearchParams(S.toString());s?a.set("tab",s):a.delete("tab");let n=a.toString(),l=n.length>0?`${N}?${n}`:N;y.replace(l,{scroll:!1})},[N,y,S,$]);let L=(0,l.useCallback)(e=>{I.current+=1,_({nonce:I.current,...e})},[]);(0,l.useEffect)(()=>{E.current=!1,I.current=0,_(null)},[e]);let P=(0,l.useCallback)(e=>{(function({active:e,activeTab:t,alreadyOpened:s,connected:a,suppressAutoOpen:n}){return a&&e&&"terminal"===t&&!s&&!n})({active:j,activeTab:D,alreadyOpened:E.current,connected:e,suppressAutoOpen:w})&&(E.current=!0,R("preview"))},[j,D,R,w]);if(A)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(f.Zp,{className:"w-full max-w-md",children:(0,a.jsx)(f.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Loading session workspace..."})})});if(C)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(f.Zp,{className:"w-full max-w-md border-[color:color-mix(in_srgb,var(--status-error)_45%,transparent)]",children:(0,a.jsx)(f.Wu,{className:"py-7 text-center text-[13px] text-[var(--status-error)]",children:C})})});if(!$)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(f.Zp,{className:"w-full max-w-md",children:(0,a.jsx)(f.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Session not found"})})});let F="string"==typeof $.status?$.status:"unknown",T=(0,b.Zu)($),U=function(e){switch(e){case"needs_input":return"needs input";case"working":return"working";case"running":return"running";case"spawning":return"spawning";case"queued":return"queued";default:return e.replace(/[_-]+/g," ")}}(F),O=function(e){switch(e){case"working":case"running":return"bg-amber-400";case"needs_input":return"bg-blue-400";case"spawning":case"queued":default:return"bg-gray-400";case"done":return"bg-emerald-400";case"errored":return"bg-red-400";case"stuck":return"bg-[var(--vk-accent)]";case"terminated":case"killed":return"bg-gray-500"}}(F),z="working"===F||"running"===F||"spawning"===F||"queued"===F||"needs_input"===F,W="queued"!==F&&"spawning"!==F,X=j&&n&&"terminal"===D,B=j&&"preview"===D,Z=j&&"diff"===D,K="min-h-[38px] gap-1.5 px-2.5 text-[12px] sm:min-h-0 sm:px-3",G=(0,g.kV)(e).slice(0,7),J=(0,a.jsxs)(h.j7,{className:"flex w-full overflow-x-auto sm:w-fit sm:inline-flex",children:[(0,a.jsxs)(h.Xi,{value:"overview",className:K,children:[(0,a.jsx)(r.A,{className:"h-3.5 w-3.5"}),"Overview"]}),(0,a.jsxs)(h.Xi,{value:"diff",className:K,children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}),"Review"]}),T?(0,a.jsxs)(h.Xi,{value:"dispatcher",className:K,children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"}),"Dispatcher"]}):(0,a.jsxs)(h.Xi,{value:"terminal",className:K,children:[(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"}),"Terminal"]}),(0,a.jsxs)(h.Xi,{value:"preview",className:K,children:[(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Preview"]}),(0,a.jsxs)(h.Xi,{value:"skills",className:K,children:[(0,a.jsx)(u.A,{className:"h-3.5 w-3.5"}),"Skills"]})]});return(0,a.jsx)("div",{className:(0,q.re)(X),"data-conductor-session-terminal":"ttyd-iframe",children:(0,a.jsxs)(h.tU,{value:D,onValueChange:R,className:X?"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-0 p-0":"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-1 p-1 lg:gap-2 lg:p-3",children:[X?(0,a.jsxs)("div",{className:"flex shrink-0 flex-col border-b border-white/10 bg-[#0d0908]",children:[(0,a.jsxs)("div",{className:"flex h-10 items-center gap-2 px-2",children:[k?(0,a.jsx)(p.$,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:k,"aria-label":"Open workspace panel",children:(0,a.jsx)(m.A,{className:"h-4 w-4"})}):null,(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[(0,a.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${O}${z?" animate-pulse":""}`}),(0,a.jsx)("span",{className:"text-[12px] font-medium text-[#efe8e1]",children:U}),(0,a.jsxs)("span",{className:"font-mono text-[10px] text-[#8e847d]",children:["\xb7 ",G]})]}),W?(0,a.jsx)(el,{projectId:$.projectId,bridgeId:$.bridgeId??null}):null]}),(0,a.jsx)("div",{className:"px-1.5 pb-1.5",children:J})]}):(0,a.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1.5 sm:flex-nowrap",children:[J,(0,a.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:ml-auto sm:w-auto sm:justify-end",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${O}${z?" animate-pulse":""}`}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:U}),(0,a.jsxs)("span",{className:"hidden font-mono text-[10px] text-[var(--vk-text-muted)] sm:inline",children:["\xb7 ",G]})]}),W?(0,a.jsx)(el,{projectId:$.projectId,bridgeId:$.bridgeId??null}):null]})]}),(0,a.jsxs)("div",{className:"relative min-h-0 min-w-0 h-0 flex-1 overflow-hidden",children:[(0,a.jsx)(h.av,{value:"overview",className:ex,children:(0,a.jsx)(V,{session:$,sessionId:e,active:j&&"overview"===D})}),(0,a.jsx)(h.av,{value:"diff",className:`${ex} flex min-h-0 flex-col`,children:(0,a.jsx)(ec,{sessionId:e,active:Z})}),T?(0,a.jsx)(h.av,{value:"dispatcher",forceMount:!0,className:eu,children:(0,a.jsx)(eo,{thread:$,projectId:$.projectId,bridgeId:$.bridgeId??s,active:j&&"dispatcher"===D,className:"h-full w-full border-0 xl:w-full"})}):(0,a.jsx)(h.av,{value:"terminal",forceMount:!0,className:X?`flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-[#060404] ${eu}`:`flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-transparent ${eu}`,children:(0,a.jsx)(ei,{sessionId:e,projectId:$.projectId,bridgeId:$.bridgeId??null,sessionState:F,runtimeMode:$.metadata.runtimeMode?.trim()??null,pendingInsert:M,immersiveMobileMode:X,panelVisible:j&&"terminal"===D,onPendingInsertConsumed:()=>_(null)})}),(0,a.jsx)(h.av,{value:"preview",forceMount:!0,className:`${eu} flex min-h-0 flex-col`,children:(0,a.jsx)(er,{sessionId:e,active:B,onQueueTerminalInsert:L,onConnectionChange:P},e)}),(0,a.jsx)(h.av,{value:"skills",className:ex,children:(0,a.jsx)(ed,{session:$,sessionId:e,active:j&&"skills"===D})})]})]},e)})}},40443:(e,t,s)=>{s.d(t,{Wu:()=>r,Zp:()=>l,aR:()=>i});var a=s(54568),n=s(46916);let l=(0,s(7620).forwardRef)(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,n.cn)("surface-card rounded-[var(--radius-md)] border",e),...t}));function i({className:e,...t}){return(0,a.jsx)("div",{className:(0,n.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",e),...t})}function r({className:e,...t}){return(0,a.jsx)("div",{className:(0,n.cn)("px-3 py-2",e),...t})}l.displayName="Card"},59207:(e,t,s)=>{s.d(t,{g:()=>i});var a=s(7620),n=s(31404);function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function i(e,t){let s=t?.enabled??!0,[i,r]=(0,a.useState)(null),[c,d]=(0,a.useState)(s),[o,x]=(0,a.useState)(null),u=(0,a.useCallback)(async()=>{if(!s){r(null),x(null),d(!1);return}try{var t;let s,a,i,c=await fetch((0,n.S)("/api/preferences",e)),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??d?.reason??`Failed to load preferences: ${c.status}`);r((t=d?.preferences,s=l(t),i=(a=l(s.notifications)).soundFile,{onboardingAcknowledged:!0===s.onboardingAcknowledged,codingAgent:"string"==typeof s.codingAgent&&s.codingAgent.trim().length>0?s.codingAgent.trim():"claude-code",ide:"string"==typeof s.ide&&s.ide.trim().length>0?s.ide.trim():"vscode",markdownEditor:"string"==typeof s.markdownEditor&&s.markdownEditor.trim().length>0?s.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof s.markdownEditorPath?s.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===i?null:"string"==typeof i&&i.trim().length>0?i.trim():"abstract-sound-4"}})),x(null)}catch(e){r(null),x(e instanceof Error?e.message:"Failed to load preferences")}finally{d(!1)}},[e,s]);return(0,a.useEffect)(()=>{s&&u()},[s,u]),{preferences:s?i:null,loading:!!s&&c,error:s?o:null,refresh:u}}},64357:(e,t,s)=>{s.d(t,{Xi:()=>d,av:()=>o,j7:()=>c,tU:()=>r});var a=s(54568),n=s(35131),l=s(7620),i=s(46916);let r=n.bL,c=(0,l.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(n.B8,{ref:s,className:(0,i.cn)("inline-flex max-w-full items-center gap-0.5 overflow-x-auto rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-0.5 whitespace-nowrap touch-pan-x [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",e),...t}));c.displayName="TabsList";let d=(0,l.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(n.l9,{ref:s,className:(0,i.cn)("inline-flex min-h-[34px] shrink-0 items-center gap-1.5 rounded-[3px] px-2.5 py-1.5 text-[12px] text-[var(--vk-text-muted)]","data-[state=active]:bg-[var(--vk-bg-active)] data-[state=active]:text-[var(--vk-text-normal)]","hover:text-[var(--vk-text-normal)]","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]",e),...t}));d.displayName="TabsTrigger";let o=(0,l.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(n.UC,{ref:s,className:(0,i.cn)("focus-visible:outline-none",e),...t}));o.displayName="TabsContent"}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6173],{18510:(e,t,r)=>{r.d(t,{J:()=>s,s:()=>n});var a=r(10926);function s(e){let t=(0,a.C0)(e);if(!t)return"/";let r=new URLSearchParams;return r.set("bridge",t),`/?${r.toString()}`}function n(e,t={}){let r,s=e.trim(),l=(0,a.DW)(s)?s:(r=(0,a.C0)(t.bridgeId))?(0,a.Bp)(r,s):s,i=new URLSearchParams,o=t.tab?.trim();o&&i.set("tab",o);let c=i.toString(),d=`/sessions/${encodeURIComponent(l)}`;return c.length>0?`${d}?${c}`:d}},26083:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},33507:(e,t,r)=>{r.d(t,{DK:()=>s,VM:()=>l,hq:()=>a,qg:()=>n,re:()=>i});let a="overscroll-contain touch-pan-y [-webkit-overflow-scrolling:touch]",s=`overflow-y-auto ${a}`,n="min-h-0 flex-1 overflow-hidden bg-[#0f1012] p-3",l=a;function i(e){return["flex h-full min-h-0 min-w-0 w-full flex-col",e?"overflow-hidden bg-[#060404]":"overflow-hidden"].join(" ")}},40443:(e,t,r)=>{r.d(t,{Wu:()=>i,Zp:()=>n,aR:()=>l});var a=r(54568),s=r(46916);let n=(0,r(7620).forwardRef)(({className:e,...t},r)=>(0,a.jsx)("div",{ref:r,className:(0,s.cn)("surface-card rounded-[var(--radius-md)] border",e),...t}));function l({className:e,...t}){return(0,a.jsx)("div",{className:(0,s.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",e),...t})}function i({className:e,...t}){return(0,a.jsx)("div",{className:(0,s.cn)("px-3 py-2",e),...t})}n.displayName="Card"},46548:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},58588:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},61469:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},66173:(e,t,r)=>{r.r(t),r.d(t,{WorkspaceOverview:()=>R});var a=r(54568),s=r(7620),n=r(57917),l=r(61469),i=r(46548),o=r(58588),c=r(55341),d=r(76081),x=r(90986),p=r(40443),m=r(33507),g=r(77522),u=r(13454);let v=(0,u.A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var b=r(26083);let f=(0,u.A)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var h=r(46916);let k={active:{label:"active",dot:"var(--status-working)",bg:"color-mix(in srgb, var(--status-working) 18%, transparent)",text:"var(--status-working)"},ready:{label:"ready",dot:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 18%, transparent)",text:"var(--status-ready)"},idle:{label:"idle",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 20%, transparent)",text:"var(--text-muted)"},waiting_input:{label:"waiting",dot:"var(--status-attention)",bg:"color-mix(in srgb, var(--status-attention) 16%, transparent)",text:"var(--status-attention)"},blocked:{label:"blocked",dot:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 16%, transparent)",text:"var(--status-error)"},exited:{label:"exited",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 18%, transparent)",text:"var(--text-faint)"}},y={label:"unknown",dot:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 16%, transparent)",text:"var(--text-faint)"};function j({activity:e,dotOnly:t=!1,size:r=6}){let s=null!==e&&e in k?k[e]:{...y,label:e??"unknown"},n="active"===e;return t?(0,a.jsx)("div",{className:`shrink-0 rounded-full ${n?"attention-glow":""}`,style:{width:r,height:r,background:s.dot}}):(0,a.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full px-1.5 py-0.5",style:{background:s.bg},children:[(0,a.jsx)("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${n?"attention-glow":""}`,style:{background:s.dot}}),(0,a.jsx)("span",{className:"text-[10px] font-medium",style:{color:s.text},children:s.label})]})}var w=r(72410);let N={passing:{label:"CI passing",bg:"color-mix(in srgb, var(--status-ready) 14%, transparent)",text:"var(--status-ready)",icon:"✓"},failing:{label:"CI failing",bg:"color-mix(in srgb, var(--status-error) 14%, transparent)",text:"var(--status-error)",icon:"✗"},pending:{label:"CI pending",bg:"color-mix(in srgb, var(--status-attention) 12%, transparent)",text:"var(--status-attention)",icon:"●"},none:{label:"—",bg:"transparent",text:"var(--text-faint)",icon:""}};function C({status:e,failedCount:t,compact:r,prUrl:s}){let n=N[e]??N.none;if("none"===e||!e)return(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:"\\u2014"});let l="failing"===e&&t&&t>0?`${t} check${t>1?"s":""} failing`:n.label,i=(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:n.bg,color:n.text},children:[!r&&(0,a.jsx)("span",{children:n.icon}),l]});return s?(0,a.jsx)("a",{href:`${s}/checks`,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"hover:opacity-80",children:i}):i}function A({additions:e,deletions:t,compact:r}){let s,n=(s=e+t)<10?"XS":s<50?"S":s<200?"M":s<500?"L":"XL";return(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-semibold",children:[(0,a.jsxs)("span",{className:"text-[var(--status-ready)]",children:["+",e]}),(0,a.jsxs)("span",{className:"text-[var(--status-error)]",children:["-",t]}),!r&&(0,a.jsx)("span",{className:"text-[var(--text-faint)]",children:n})]})}var M=r(18510);let S=[{bg:"rgba(59,130,246,0.12)",text:"#60a5fa"},{bg:"rgba(139,92,246,0.12)",text:"#a78bfa"},{bg:"rgba(16,185,129,0.12)",text:"#34d399"},{bg:"rgba(245,158,11,0.12)",text:"#fbbf24"},{bg:"rgba(244,63,94,0.12)",text:"#fb7185"},{bg:"rgba(6,182,212,0.12)",text:"#22d3ee"},{bg:"rgba(99,102,241,0.12)",text:"#818cf8"},{bg:"rgba(236,72,153,0.12)",text:"#f472b6"}];function _(e){let t=0;for(let r of e)t=31*t+r.charCodeAt(0)|0;return S[Math.abs(t)%S.length]}let $={merge:"border-[color-mix(in_srgb,var(--status-ready)_30%,transparent)]",respond:"border-[color-mix(in_srgb,var(--status-attention)_30%,transparent)]",review:"border-[color-mix(in_srgb,var(--vk-orange,orange)_20%,transparent)]"},D={working:"text-[13px] font-medium text-[var(--text-secondary)]",pending:"text-[13px] font-medium text-[var(--text-secondary)]"};function I({decision:e}){let t="approved"===e,r="changes_requested"===e;return(0,a.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:t?"color-mix(in srgb, var(--status-ready) 12%, transparent)":r?"color-mix(in srgb, var(--status-error) 12%, transparent)":"color-mix(in srgb, var(--text-faint) 10%, transparent)",color:t?"var(--status-ready)":r?"var(--status-error)":"var(--text-faint)"},children:t?"✅ Approved":r?"Changes req.":`Review: ${e||"pending"}`})}function P({session:e,onSelect:t,onRestore:r}){let[n,l]=(0,s.useState)(!1),i="merged"===e.status||e.pr?.state==="merged"?{label:"merged",color:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 12%, transparent)"}:"killed"===e.status||"terminated"===e.status?{label:e.status,color:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 12%, transparent)"}:{label:e.status||"done",color:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 12%, transparent)"},c=_(e.projectId),d="merged"!==e.status&&g.C.has(e.status);return(0,a.jsxs)("div",{className:(0,h.cn)("rounded-[10px] border border-[rgba(255,255,255,0.06)] bg-[rgba(23,25,30,0.88)] p-3 transition-colors hover:border-[rgba(255,255,255,0.12)]",n&&"border-[rgba(255,255,255,0.1)]"),onClick:e=>{e.target.closest("a, button, input")||l(!n)},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:i.bg,color:i.color},children:i.label}),(0,a.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:c.bg,color:c.text},children:e.projectId}),(0,a.jsx)("div",{className:"flex-1"}),d&&(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),r?.(e.id)},className:"inline-flex items-center gap-1 text-[10px] text-[var(--color-accent)] hover:underline",children:[(0,a.jsx)(v,{className:"h-3 w-3"}),"restore"]})]}),(0,a.jsx)("p",{className:"mt-1.5 text-[13px] font-semibold leading-snug text-[var(--text-primary)] line-clamp-2",children:e.summary||e.projectId}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.branch&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,a.jsx)(o.A,{className:"h-2.5 w-2.5 opacity-50"}),e.branch]}),e.pr&&(0,a.jsxs)("a",{href:e.pr.url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-bold text-[var(--text-primary)] hover:underline",children:["#",e.pr.number]}),e.pr?.additions!=null&&e.pr?.deletions!=null&&(0,a.jsx)(A,{additions:e.pr.additions,deletions:e.pr.deletions})]}),n&&(0,a.jsxs)("div",{className:"mt-3 border-t border-[var(--vk-border)] pt-3 space-y-2",children:[e.pr&&(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsx)(C,{status:e.pr.ciStatus,prUrl:e.pr.url}),(0,a.jsx)(I,{decision:e.pr.reviewDecision})]}),!e.pr&&(0,a.jsx)("p",{className:"text-[11px] text-[var(--text-faint)]",children:"No PR associated."})]})]})}function q({session:e,onSelect:t,onSend:r,onKill:n,onRestore:l,compact:i}){let c,d,[x,p]=(0,s.useState)(!1),[m,u]=(0,s.useState)(""),[k,y]=(0,s.useState)(!1),[N,S]=(0,s.useState)(()=>Date.now()),R=(0,g.n)(e),z=g.C.has(e.status),L=z&&"merged"!==e.status,U=_(e.projectId),E=function(e){let t=e.cost;if(!t)return null;try{let e=JSON.parse(t);return e.estimatedCostUsd??e.totalUSD??null}catch{return null}}(e.metadata),O=(c=[],(d=e.pr)&&("failing"===d.ciStatus&&c.push({key:"ci-failing",label:"CI failing",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),"changes_requested"===d.reviewDecision&&c.push({key:"changes",label:"Changes requested",color:"var(--vk-orange, #f59f0a)",borderColor:"color-mix(in srgb, var(--vk-orange, #f59f0a) 40%, transparent)",bg:"color-mix(in srgb, var(--vk-orange, #f59f0a) 8%, transparent)"}),d.mergeability.noConflicts||c.push({key:"conflicts",label:"Conflicts",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),d.mergeability.mergeable&&d.mergeability.ciPassing&&d.mergeability.approved&&"open"===d.state&&c.push({key:"merge-ready",label:"Ready to merge",color:"var(--status-ready)",borderColor:"color-mix(in srgb, var(--status-ready) 40%, transparent)",bg:"color-mix(in srgb, var(--status-ready) 8%, transparent)"})),c),W=e.metadata?.agent,K=e.pr,T=K?.state==="open"&&K.mergeability.mergeable&&K.mergeability.ciPassing&&K.mergeability.approved,V=(0,s.useCallback)(async()=>{let t=m.trim();if(t&&!k){y(!0);try{await Promise.resolve(r?.(e.id,t)),u("")}finally{setTimeout(()=>y(!1),1500)}}},[m,k,r,e.id]);if((0,s.useEffect)(()=>{S(Date.now());let e=window.setInterval(()=>S(Date.now()),6e4);return()=>window.clearInterval(e)},[]),"done"===R||i)return(0,a.jsx)(P,{session:e,onSelect:t,onSend:r,onKill:n,onRestore:l});let Z=T?$.merge:O.length>0?$.respond:R in $?$[R]:"border-[rgba(255,255,255,0.08)]",F=R in D?D[R]:"text-[14px] font-semibold text-[var(--text-primary)]";return(0,a.jsxs)("div",{className:(0,h.cn)("rounded-[10px] border bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] transition-colors hover:border-[rgba(255,255,255,0.14)]",Z),onClick:r=>{r.target.closest("a, button, input, textarea")||t?.(e.id)},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(j,{activity:e.activity}),(0,a.jsx)("span",{className:"font-mono text-[11px] text-[var(--text-muted)] truncate max-w-[120px]",children:e.id}),(0,a.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:U.bg,color:U.text},children:e.projectId}),(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(e,t){let r=Math.floor((t-new Date(e).getTime())/6e4);if(r<1)return"now";if(r<60)return`${r}m`;let a=Math.floor(r/60);return a<24?`${a}h`:`${Math.floor(a/24)}d`}(e.createdAt,N)}),(0,a.jsx)("a",{href:(0,M.s)(e.id,{bridgeId:e.bridgeId,tab:"terminal"}),onClick:e=>e.stopPropagation(),className:"inline-flex h-5 w-5 items-center justify-center rounded text-[var(--text-faint)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--text-muted)]",title:"Open session",children:(0,a.jsx)(b.A,{className:"h-3 w-3"})})]}),(0,a.jsx)("div",{className:"mt-1.5",children:(0,a.jsx)("p",{className:(0,h.cn)("leading-snug line-clamp-2",F),children:e.summary||e.projectId})}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.branch&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,a.jsx)(o.A,{className:"h-2.5 w-2.5 opacity-50"}),e.branch]}),K&&(0,a.jsxs)("a",{href:K.url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"font-mono text-[11px] font-bold text-[var(--text-primary)] hover:underline",children:["#",K.number]}),K?.additions!=null&&K?.deletions!=null&&(0,a.jsx)(A,{additions:K.additions,deletions:K.deletions}),W&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded bg-[var(--color-accent-subtle)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--color-accent)]",children:[(0,a.jsx)(w.N,{seed:{label:W},className:"h-4 w-4"}),W]})]}),O.length>0&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[O.map(e=>(0,a.jsx)("span",{className:"inline-flex items-center rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:e.bg,color:e.color,border:`1px solid ${e.borderColor}`},children:e.label},e.key)),K&&(0,a.jsx)(C,{status:K.ciStatus,compact:!0,prUrl:K.url}),K&&"none"!==K.reviewDecision&&"pending"!==K.reviewDecision&&(0,a.jsx)(I,{decision:K.reviewDecision})]}),(0,a.jsxs)("div",{className:"mt-2 flex items-center gap-3 border-t border-[var(--vk-border)] pt-2",children:[null!=E&&(0,a.jsxs)("span",{className:"font-mono text-[10px] text-[var(--text-faint)]",children:["$",E.toFixed(2)]}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(e,t){let r=new Date(t).getTime()-new Date(e).getTime();if(r<0)return"-";let a=Math.floor(r/1e3);if(a<60)return`${a}s`;let s=Math.floor(a/60);if(s<60)return`${s}m`;let n=Math.floor(s/60);return`${n}h ${s%60}m`}(e.createdAt,e.lastActivityAt)}),(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("span",{className:"text-[10px] capitalize text-[var(--text-muted)]",children:e.status.replace(/_/g," ")})]}),!z&&(0,a.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,a.jsx)("input",{type:"text",value:m,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),V())},placeholder:"Message agent...",className:"flex-1 rounded-md border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2.5 py-1.5 text-[11px] text-[var(--text-primary)] placeholder-[var(--text-faint)] outline-none focus:border-[var(--color-accent)]",onClick:e=>e.stopPropagation()}),(0,a.jsx)("button",{onClick:e=>{e.stopPropagation(),V()},disabled:k||0===m.trim().length,className:"rounded-md bg-[var(--color-accent)] px-2.5 py-1.5 text-[10px] font-medium text-white transition-opacity hover:opacity-90 disabled:opacity-40",children:k?"Sent":"Send"})]}),z&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[L&&(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),l?.(e.id)},className:"inline-flex items-center gap-1 rounded-md border border-[var(--vk-border)] px-2 py-1 text-[10px] font-medium text-[var(--color-accent)] hover:bg-[var(--color-accent-subtle)]",children:[(0,a.jsx)(v,{className:"h-3 w-3"}),"Restore"]}),(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),n?.(e.id)},className:"inline-flex items-center gap-1 rounded-md border border-[color-mix(in_srgb,var(--status-error)_30%,transparent)] px-2 py-1 text-[10px] font-medium text-[var(--status-error)] hover:bg-[color-mix(in_srgb,var(--status-error)_8%,transparent)]",children:[(0,a.jsx)(f,{className:"h-3 w-3"}),"Cleanup"]})]})]})}function R({projects:e,sessions:t,onCreateWorkspace:r,onSelectSession:u}){let v=(0,s.useMemo)(()=>t.filter(e=>"archived"!==e.status),[t]),b=(0,s.useMemo)(()=>(function(e,t){let r=[];for(let a of e){let e=r.length;for(;e>0&&0>r[e-1].lastActivityAt.localeCompare(a.lastActivityAt);)e-=1;!(e>=t)&&(r.splice(e,0,a),r.length>t&&r.pop())}return r})(v,Math.max(v.length,12)),[v]),f=(0,s.useMemo)(()=>{let e=0,t=0,r=0;for(let a of v){let s=(0,g.n)(a);"done"!==s&&(e+=1),"merge"===s?(r+=1,t+=1):("respond"===s||"review"===s)&&(t+=1)}return{active:e,attention:t,merge:r}},[v]),h=0===e.length&&0===v.length,k=[{label:"Projects",value:String(e.length),icon:n.A,caption:"Linked workspaces"},{label:"Active sessions",value:String(f.active),icon:l.A,caption:"Agent sessions in progress"},{label:"Need attention",value:String(f.attention),icon:i.A,caption:"Awaiting review or input"},{label:"Merge ready",value:String(f.merge),icon:o.A,caption:"Cleared to land"}];return h?(0,a.jsx)("div",{className:`flex h-full min-h-0 w-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] ${m.DK}`,children:(0,a.jsxs)("div",{className:"mx-auto flex h-full min-h-0 w-full max-w-[1200px] flex-1 flex-col px-3 py-3 sm:px-4 sm:py-4",children:[(0,a.jsx)("div",{className:"mb-4 flex justify-end",children:(0,a.jsx)(d.$,{variant:"outline",size:"md",onClick:r,children:"Add workspace"})}),(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,a.jsx)(p.Zp,{className:"w-full max-w-[880px] border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_88%,transparent)]",children:(0,a.jsxs)(p.Wu,{className:"flex flex-col items-center px-6 py-12 text-center sm:px-10 sm:py-16",children:[(0,a.jsx)("span",{className:"inline-flex h-14 w-14 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,a.jsx)(c.A,{className:"h-6 w-6"})}),(0,a.jsx)("p",{className:"mt-5 text-[11px] uppercase tracking-[0.14em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,a.jsx)("h1",{className:"mt-3 max-w-[14ch] text-[30px] font-semibold leading-[1.02] tracking-[-0.05em] text-[var(--vk-text-strong)] sm:text-[44px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,a.jsx)("p",{className:"mt-4 max-w-[560px] text-[14px] leading-7 text-[var(--vk-text-muted)] sm:text-[15px]",children:"Start by linking a workspace. Once a project is connected, this page will show active sessions and recent work without sending you through an empty composer first."}),(0,a.jsxs)("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-3",children:[(0,a.jsx)(d.$,{variant:"primary",size:"md",onClick:r,children:"Add workspace"}),(0,a.jsx)("div",{className:"inline-flex rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"0 projects \xb7 0 active sessions"})]})]})})})]})}):(0,a.jsx)("div",{className:`flex h-full min-h-0 w-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] ${m.DK}`,children:(0,a.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-1 flex-col gap-4 px-3 py-3 sm:px-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{className:"max-w-3xl",children:[(0,a.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,a.jsx)("h1",{className:"mt-1 text-[24px] font-semibold leading-[1.05] tracking-[-0.04em] text-[var(--vk-text-strong)] sm:text-[30px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,a.jsx)("p",{className:"mt-2 max-w-2xl text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"The workspace entrypoint now exposes status and recent activity without forcing you into a blank composer first."})]}),(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,a.jsx)(d.$,{variant:"outline",size:"md",onClick:r,children:"Add workspace"})})]}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-3 xl:grid-cols-4",children:k.map(({label:e,value:t,icon:r,caption:s})=>(0,a.jsx)(p.Zp,{className:"bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_86%,transparent)] [content-visibility:auto] [contain-intrinsic-size:104px]",children:(0,a.jsxs)(p.Wu,{className:"flex items-center gap-3 py-3",children:[(0,a.jsx)("span",{className:"inline-flex h-10 w-10 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,a.jsx)(r,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:e}),(0,a.jsx)("p",{className:"mt-1 text-[22px] font-semibold text-[var(--vk-text-strong)]",children:t}),(0,a.jsx)("p",{className:"mt-0.5 text-[10px] text-[var(--text-faint)]",children:s})]})]})},e))}),(0,a.jsx)("div",{className:"flex min-h-0 w-full flex-1",children:(0,a.jsxs)(p.Zp,{className:"flex min-h-0 w-full flex-1 flex-col",children:[(0,a.jsxs)(p.aR,{className:"justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[14px] font-semibold text-[var(--vk-text-strong)]",children:"Recent sessions"}),(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Jump back into active work without hunting through the sidebar."})]}),(0,a.jsx)(x.E,{variant:"outline",children:v.length})]}),(0,a.jsx)(p.Wu,{className:"flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto",children:0===b.length?(0,a.jsx)("div",{className:"flex h-full min-h-[180px] items-center justify-center rounded-[6px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 text-center text-[13px] text-[var(--vk-text-muted)]",children:"No sessions yet. Create or open a workspace to start work."}):b.map(e=>(0,a.jsx)(q,{session:e,onSelect:u},e.id))})]})})]})})}},90986:(e,t,r)=>{r.d(t,{E:()=>l});var a=r(54568),s=r(46916);let n={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function l({variant:e="default",className:t,children:r}){return(0,a.jsx)("span",{className:(0,s.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",n[e],t),children:r})}}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6173],{18510:(e,t,r)=>{r.d(t,{J:()=>s,s:()=>n});var a=r(10926);function s(e){let t=(0,a.C0)(e);if(!t)return"/";let r=new URLSearchParams;return r.set("bridge",t),`/?${r.toString()}`}function n(e,t={}){let r,s=e.trim(),l=(0,a.DW)(s)?s:(r=(0,a.C0)(t.bridgeId))?(0,a.Bp)(r,s):s,i=new URLSearchParams,o=t.tab?.trim();o&&i.set("tab",o);let c=i.toString(),d=`/sessions/${encodeURIComponent(l)}`;return c.length>0?`${d}?${c}`:d}},26083:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},33507:(e,t,r)=>{r.d(t,{DK:()=>s,VM:()=>l,hq:()=>a,qg:()=>n,re:()=>i});let a="overscroll-contain touch-pan-y [-webkit-overflow-scrolling:touch]",s=`overflow-y-auto ${a}`,n="min-h-0 flex-1 overflow-hidden bg-[#0f1012] p-3",l=a;function i(e){return["flex h-full min-h-0 min-w-0 w-full flex-col",e?"overflow-hidden bg-[#060404]":"overflow-hidden"].join(" ")}},40443:(e,t,r)=>{r.d(t,{Wu:()=>i,Zp:()=>n,aR:()=>l});var a=r(54568),s=r(46916);let n=(0,r(7620).forwardRef)(({className:e,...t},r)=>(0,a.jsx)("div",{ref:r,className:(0,s.cn)("surface-card rounded-[var(--radius-md)] border",e),...t}));function l({className:e,...t}){return(0,a.jsx)("div",{className:(0,s.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",e),...t})}function i({className:e,...t}){return(0,a.jsx)("div",{className:(0,s.cn)("px-3 py-2",e),...t})}n.displayName="Card"},46548:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},58588:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},61469:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},66173:(e,t,r)=>{r.r(t),r.d(t,{WorkspaceOverview:()=>R});var a=r(54568),s=r(7620),n=r(57917),l=r(61469),i=r(46548),o=r(58588),c=r(55341),d=r(76081),x=r(90986),p=r(40443),m=r(33507),g=r(77522),u=r(13454);let v=(0,u.A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var b=r(26083);let f=(0,u.A)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var h=r(46916);let k={active:{label:"active",dot:"var(--status-working)",bg:"color-mix(in srgb, var(--status-working) 18%, transparent)",text:"var(--status-working)"},ready:{label:"ready",dot:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 18%, transparent)",text:"var(--status-ready)"},idle:{label:"idle",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 20%, transparent)",text:"var(--text-muted)"},waiting_input:{label:"waiting",dot:"var(--status-attention)",bg:"color-mix(in srgb, var(--status-attention) 16%, transparent)",text:"var(--status-attention)"},blocked:{label:"blocked",dot:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 16%, transparent)",text:"var(--status-error)"},exited:{label:"exited",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 18%, transparent)",text:"var(--text-faint)"}},y={label:"unknown",dot:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 16%, transparent)",text:"var(--text-faint)"};function j({activity:e,dotOnly:t=!1,size:r=6}){let s=null!==e&&e in k?k[e]:{...y,label:e??"unknown"},n="active"===e;return t?(0,a.jsx)("div",{className:`shrink-0 rounded-full ${n?"attention-glow":""}`,style:{width:r,height:r,background:s.dot}}):(0,a.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full px-1.5 py-0.5",style:{background:s.bg},children:[(0,a.jsx)("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${n?"attention-glow":""}`,style:{background:s.dot}}),(0,a.jsx)("span",{className:"text-[10px] font-medium",style:{color:s.text},children:s.label})]})}var w=r(72410);let N={passing:{label:"CI passing",bg:"color-mix(in srgb, var(--status-ready) 14%, transparent)",text:"var(--status-ready)",icon:"✓"},failing:{label:"CI failing",bg:"color-mix(in srgb, var(--status-error) 14%, transparent)",text:"var(--status-error)",icon:"✗"},pending:{label:"CI pending",bg:"color-mix(in srgb, var(--status-attention) 12%, transparent)",text:"var(--status-attention)",icon:"●"},none:{label:"—",bg:"transparent",text:"var(--text-faint)",icon:""}};function C({status:e,failedCount:t,compact:r,prUrl:s}){let n=N[e]??N.none;if("none"===e||!e)return(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:"\\u2014"});let l="failing"===e&&t&&t>0?`${t} check${t>1?"s":""} failing`:n.label,i=(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:n.bg,color:n.text},children:[!r&&(0,a.jsx)("span",{children:n.icon}),l]});return s?(0,a.jsx)("a",{href:`${s}/checks`,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"hover:opacity-80",children:i}):i}function A({additions:e,deletions:t,compact:r}){let s,n=(s=e+t)<10?"XS":s<50?"S":s<200?"M":s<500?"L":"XL";return(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-semibold",children:[(0,a.jsxs)("span",{className:"text-[var(--status-ready)]",children:["+",e]}),(0,a.jsxs)("span",{className:"text-[var(--status-error)]",children:["-",t]}),!r&&(0,a.jsx)("span",{className:"text-[var(--text-faint)]",children:n})]})}var M=r(18510);let S=[{bg:"rgba(59,130,246,0.12)",text:"#60a5fa"},{bg:"rgba(139,92,246,0.12)",text:"#a78bfa"},{bg:"rgba(16,185,129,0.12)",text:"#34d399"},{bg:"rgba(245,158,11,0.12)",text:"#fbbf24"},{bg:"rgba(244,63,94,0.12)",text:"#fb7185"},{bg:"rgba(6,182,212,0.12)",text:"#22d3ee"},{bg:"rgba(99,102,241,0.12)",text:"#818cf8"},{bg:"rgba(236,72,153,0.12)",text:"#f472b6"}];function _(e){let t=0;for(let r of e)t=31*t+r.charCodeAt(0)|0;return S[Math.abs(t)%S.length]}let $={merge:"border-[color-mix(in_srgb,var(--status-ready)_30%,transparent)]",respond:"border-[color-mix(in_srgb,var(--status-attention)_30%,transparent)]",review:"border-[color-mix(in_srgb,var(--vk-orange,orange)_20%,transparent)]"},D={working:"text-[13px] font-medium text-[var(--text-secondary)]",pending:"text-[13px] font-medium text-[var(--text-secondary)]"};function q({decision:e}){let t="approved"===e,r="changes_requested"===e;return(0,a.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:t?"color-mix(in srgb, var(--status-ready) 12%, transparent)":r?"color-mix(in srgb, var(--status-error) 12%, transparent)":"color-mix(in srgb, var(--text-faint) 10%, transparent)",color:t?"var(--status-ready)":r?"var(--status-error)":"var(--text-faint)"},children:t?"✅ Approved":r?"Changes req.":`Review: ${e||"pending"}`})}function I({session:e,onSelect:t,onRestore:r}){let[n,l]=(0,s.useState)(!1),i="merged"===e.status||e.pr?.state==="merged"?{label:"merged",color:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 12%, transparent)"}:"killed"===e.status||"terminated"===e.status?{label:e.status,color:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 12%, transparent)"}:{label:e.status||"done",color:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 12%, transparent)"},c=_(e.projectId),d="merged"!==e.status&&g.C.has(e.status);return(0,a.jsxs)("div",{className:(0,h.cn)("rounded-[10px] border border-[rgba(255,255,255,0.06)] bg-[rgba(23,25,30,0.88)] p-3 transition-colors hover:border-[rgba(255,255,255,0.12)]",n&&"border-[rgba(255,255,255,0.1)]"),onClick:e=>{e.target.closest("a, button, input")||l(!n)},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:i.bg,color:i.color},children:i.label}),(0,a.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:c.bg,color:c.text},children:e.projectId}),(0,a.jsx)("div",{className:"flex-1"}),d&&(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),r?.(e.id)},className:"inline-flex items-center gap-1 text-[10px] text-[var(--color-accent)] hover:underline",children:[(0,a.jsx)(v,{className:"h-3 w-3"}),"restore"]})]}),(0,a.jsx)("p",{className:"mt-1.5 text-[13px] font-semibold leading-snug text-[var(--text-primary)] line-clamp-2",children:e.summary||e.projectId}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.branch&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,a.jsx)(o.A,{className:"h-2.5 w-2.5 opacity-50"}),e.branch]}),e.pr&&(0,a.jsxs)("a",{href:e.pr.url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-bold text-[var(--text-primary)] hover:underline",children:["#",e.pr.number]}),e.pr?.additions!=null&&e.pr?.deletions!=null&&(0,a.jsx)(A,{additions:e.pr.additions,deletions:e.pr.deletions})]}),n&&(0,a.jsxs)("div",{className:"mt-3 border-t border-[var(--vk-border)] pt-3 space-y-2",children:[e.pr&&(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsx)(C,{status:e.pr.ciStatus,prUrl:e.pr.url}),(0,a.jsx)(q,{decision:e.pr.reviewDecision})]}),!e.pr&&(0,a.jsx)("p",{className:"text-[11px] text-[var(--text-faint)]",children:"No PR associated."})]})]})}function P({session:e,onSelect:t,onSend:r,onKill:n,onRestore:l,compact:i}){let c,d,[x,p]=(0,s.useState)(!1),[m,u]=(0,s.useState)(""),[k,y]=(0,s.useState)(!1),[N,S]=(0,s.useState)(()=>Date.now()),R=(0,g.n)(e),z=g.C.has(e.status),L=z&&"merged"!==e.status,U=_(e.projectId),E=function(e){let t=e.cost;if(!t)return null;try{let e=JSON.parse(t);return e.estimatedCostUsd??e.totalUSD??null}catch{return null}}(e.metadata),O=(c=[],(d=e.pr)&&("failing"===d.ciStatus&&c.push({key:"ci-failing",label:"CI failing",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),"changes_requested"===d.reviewDecision&&c.push({key:"changes",label:"Changes requested",color:"var(--vk-orange, #f59f0a)",borderColor:"color-mix(in srgb, var(--vk-orange, #f59f0a) 40%, transparent)",bg:"color-mix(in srgb, var(--vk-orange, #f59f0a) 8%, transparent)"}),d.mergeability.noConflicts||c.push({key:"conflicts",label:"Conflicts",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),d.mergeability.mergeable&&d.mergeability.ciPassing&&d.mergeability.approved&&"open"===d.state&&c.push({key:"merge-ready",label:"Ready to merge",color:"var(--status-ready)",borderColor:"color-mix(in srgb, var(--status-ready) 40%, transparent)",bg:"color-mix(in srgb, var(--status-ready) 8%, transparent)"})),c),W=e.metadata?.agent,K=e.pr,T=K?.state==="open"&&K.mergeability.mergeable&&K.mergeability.ciPassing&&K.mergeability.approved,V=(0,s.useCallback)(async()=>{let t=m.trim();if(t&&!k){y(!0);try{await Promise.resolve(r?.(e.id,t)),u("")}finally{setTimeout(()=>y(!1),1500)}}},[m,k,r,e.id]);if((0,s.useEffect)(()=>{S(Date.now());let e=window.setInterval(()=>S(Date.now()),6e4);return()=>window.clearInterval(e)},[]),"done"===R||i)return(0,a.jsx)(I,{session:e,onSelect:t,onSend:r,onKill:n,onRestore:l});let Z=T?$.merge:O.length>0?$.respond:R in $?$[R]:"border-[rgba(255,255,255,0.08)]",F=R in D?D[R]:"text-[14px] font-semibold text-[var(--text-primary)]";return(0,a.jsxs)("div",{className:(0,h.cn)("rounded-[10px] border bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] transition-colors hover:border-[rgba(255,255,255,0.14)]",Z),onClick:r=>{r.target.closest("a, button, input, textarea")||t?.(e.id)},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(j,{activity:e.activity}),(0,a.jsx)("span",{className:"font-mono text-[11px] text-[var(--text-muted)] truncate max-w-[120px]",children:e.id}),(0,a.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:U.bg,color:U.text},children:e.projectId}),(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(e,t){let r=Math.floor((t-new Date(e).getTime())/6e4);if(r<1)return"now";if(r<60)return`${r}m`;let a=Math.floor(r/60);return a<24?`${a}h`:`${Math.floor(a/24)}d`}(e.createdAt,N)}),(0,a.jsx)("a",{href:(0,M.s)(e.id,{bridgeId:e.bridgeId,tab:"terminal"}),onClick:e=>e.stopPropagation(),className:"inline-flex h-5 w-5 items-center justify-center rounded text-[var(--text-faint)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--text-muted)]",title:"Open session",children:(0,a.jsx)(b.A,{className:"h-3 w-3"})})]}),(0,a.jsx)("div",{className:"mt-1.5",children:(0,a.jsx)("p",{className:(0,h.cn)("leading-snug line-clamp-2",F),children:e.summary||e.projectId})}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.branch&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,a.jsx)(o.A,{className:"h-2.5 w-2.5 opacity-50"}),e.branch]}),K&&(0,a.jsxs)("a",{href:K.url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"font-mono text-[11px] font-bold text-[var(--text-primary)] hover:underline",children:["#",K.number]}),K?.additions!=null&&K?.deletions!=null&&(0,a.jsx)(A,{additions:K.additions,deletions:K.deletions}),W&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded bg-[var(--color-accent-subtle)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--color-accent)]",children:[(0,a.jsx)(w.N,{seed:{label:W},className:"h-4 w-4"}),W]})]}),O.length>0&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[O.map(e=>(0,a.jsx)("span",{className:"inline-flex items-center rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:e.bg,color:e.color,border:`1px solid ${e.borderColor}`},children:e.label},e.key)),K&&(0,a.jsx)(C,{status:K.ciStatus,compact:!0,prUrl:K.url}),K&&"none"!==K.reviewDecision&&"pending"!==K.reviewDecision&&(0,a.jsx)(q,{decision:K.reviewDecision})]}),(0,a.jsxs)("div",{className:"mt-2 flex items-center gap-3 border-t border-[var(--vk-border)] pt-2",children:[null!=E&&(0,a.jsxs)("span",{className:"font-mono text-[10px] text-[var(--text-faint)]",children:["$",E.toFixed(2)]}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(e,t){let r=new Date(t).getTime()-new Date(e).getTime();if(r<0)return"-";let a=Math.floor(r/1e3);if(a<60)return`${a}s`;let s=Math.floor(a/60);if(s<60)return`${s}m`;let n=Math.floor(s/60);return`${n}h ${s%60}m`}(e.createdAt,e.lastActivityAt)}),(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("span",{className:"text-[10px] capitalize text-[var(--text-muted)]",children:e.status.replace(/_/g," ")})]}),!z&&(0,a.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,a.jsx)("input",{type:"text",value:m,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),V())},placeholder:"Message agent...",className:"flex-1 rounded-md border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2.5 py-1.5 text-[11px] text-[var(--text-primary)] placeholder-[var(--text-faint)] outline-none focus:border-[var(--color-accent)]",onClick:e=>e.stopPropagation()}),(0,a.jsx)("button",{onClick:e=>{e.stopPropagation(),V()},disabled:k||0===m.trim().length,className:"rounded-md bg-[var(--color-accent)] px-2.5 py-1.5 text-[10px] font-medium text-white transition-opacity hover:opacity-90 disabled:opacity-40",children:k?"Sent":"Send"})]}),z&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[L&&(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),l?.(e.id)},className:"inline-flex items-center gap-1 rounded-md border border-[var(--vk-border)] px-2 py-1 text-[10px] font-medium text-[var(--color-accent)] hover:bg-[var(--color-accent-subtle)]",children:[(0,a.jsx)(v,{className:"h-3 w-3"}),"Restore"]}),(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),n?.(e.id)},className:"inline-flex items-center gap-1 rounded-md border border-[color-mix(in_srgb,var(--status-error)_30%,transparent)] px-2 py-1 text-[10px] font-medium text-[var(--status-error)] hover:bg-[color-mix(in_srgb,var(--status-error)_8%,transparent)]",children:[(0,a.jsx)(f,{className:"h-3 w-3"}),"Cleanup"]})]})]})}function R({projects:e,sessions:t,onCreateWorkspace:r,onSelectSession:u}){let v=(0,s.useMemo)(()=>t.filter(e=>"archived"!==e.status),[t]),b=(0,s.useMemo)(()=>(function(e,t){let r=[];for(let a of e){let e=r.length;for(;e>0&&0>r[e-1].lastActivityAt.localeCompare(a.lastActivityAt);)e-=1;!(e>=t)&&(r.splice(e,0,a),r.length>t&&r.pop())}return r})(v,Math.max(v.length,12)),[v]),f=(0,s.useMemo)(()=>{let e=0,t=0,r=0;for(let a of v){let s=(0,g.n)(a);"done"!==s&&(e+=1),"merge"===s?(r+=1,t+=1):("respond"===s||"review"===s)&&(t+=1)}return{active:e,attention:t,merge:r}},[v]),h=0===e.length&&0===v.length,k=[{label:"Projects",value:String(e.length),icon:n.A,caption:"Linked workspaces"},{label:"Active sessions",value:String(f.active),icon:l.A,caption:"Agent sessions in progress"},{label:"Need attention",value:String(f.attention),icon:i.A,caption:"Awaiting review or input"},{label:"Merge ready",value:String(f.merge),icon:o.A,caption:"Cleared to land"}];return h?(0,a.jsx)("div",{className:`flex h-full min-h-0 w-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] ${m.DK}`,children:(0,a.jsxs)("div",{className:"mx-auto flex h-full min-h-0 w-full max-w-[1200px] flex-1 flex-col px-3 py-3 sm:px-4 sm:py-4",children:[(0,a.jsx)("div",{className:"mb-4 flex justify-end",children:(0,a.jsx)(d.$,{variant:"outline",size:"md",onClick:r,children:"Add workspace"})}),(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,a.jsx)(p.Zp,{className:"w-full max-w-[880px] border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_88%,transparent)]",children:(0,a.jsxs)(p.Wu,{className:"flex flex-col items-center px-6 py-12 text-center sm:px-10 sm:py-16",children:[(0,a.jsx)("span",{className:"inline-flex h-14 w-14 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,a.jsx)(c.A,{className:"h-6 w-6"})}),(0,a.jsx)("p",{className:"mt-5 text-[11px] uppercase tracking-[0.14em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,a.jsx)("h1",{className:"mt-3 max-w-[14ch] text-[30px] font-semibold leading-[1.02] tracking-[-0.05em] text-[var(--vk-text-strong)] sm:text-[44px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,a.jsx)("p",{className:"mt-4 max-w-[560px] text-[14px] leading-7 text-[var(--vk-text-muted)] sm:text-[15px]",children:"Start by linking a workspace. Once a project is connected, this page will show active sessions and recent work without sending you through an empty composer first."}),(0,a.jsxs)("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-3",children:[(0,a.jsx)(d.$,{variant:"primary",size:"md",onClick:r,children:"Add workspace"}),(0,a.jsx)("div",{className:"inline-flex rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"0 projects \xb7 0 active sessions"})]})]})})})]})}):(0,a.jsx)("div",{className:`flex h-full min-h-0 w-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] ${m.DK}`,children:(0,a.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-1 flex-col gap-4 px-3 py-3 sm:px-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{className:"max-w-3xl",children:[(0,a.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,a.jsx)("h1",{className:"mt-1 text-[24px] font-semibold leading-[1.05] tracking-[-0.04em] text-[var(--vk-text-strong)] sm:text-[30px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,a.jsx)("p",{className:"mt-2 max-w-2xl text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"The workspace entrypoint now exposes status and recent activity without forcing you into a blank composer first."})]}),(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,a.jsx)(d.$,{variant:"outline",size:"md",onClick:r,children:"Add workspace"})})]}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-3 xl:grid-cols-4",children:k.map(({label:e,value:t,icon:r,caption:s})=>(0,a.jsx)(p.Zp,{className:"bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_86%,transparent)] [content-visibility:auto] [contain-intrinsic-size:104px]",children:(0,a.jsxs)(p.Wu,{className:"flex items-center gap-3 py-3",children:[(0,a.jsx)("span",{className:"inline-flex h-10 w-10 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,a.jsx)(r,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:e}),(0,a.jsx)("p",{className:"mt-1 text-[22px] font-semibold text-[var(--vk-text-strong)]",children:t}),(0,a.jsx)("p",{className:"mt-0.5 text-[10px] text-[var(--text-faint)]",children:s})]})]})},e))}),(0,a.jsx)("div",{className:"flex min-h-0 w-full flex-1",children:(0,a.jsxs)(p.Zp,{className:"flex min-h-0 w-full flex-1 flex-col",children:[(0,a.jsxs)(p.aR,{className:"justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[14px] font-semibold text-[var(--vk-text-strong)]",children:"Recent sessions"}),(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Jump back into active work without hunting through the sidebar."})]}),(0,a.jsx)(x.E,{variant:"outline",children:v.length})]}),(0,a.jsx)(p.Wu,{className:`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto ${m.hq}`,children:0===b.length?(0,a.jsx)("div",{className:"flex h-full min-h-[180px] items-center justify-center rounded-[6px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 text-center text-[13px] text-[var(--vk-text-muted)]",children:"No sessions yet. Create or open a workspace to start work."}):b.map(e=>(0,a.jsx)(P,{session:e,onSelect:u},e.id))})]})})]})})}},90986:(e,t,r)=>{r.d(t,{E:()=>l});var a=r(54568),s=r(46916);let n={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function l({variant:e="default",className:t,children:r}){return(0,a.jsx)("span",{className:(0,s.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",n[e],t),children:r})}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[633],{14796:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(13454).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},60633:(e,t,r)=>{r.r(t),r.d(t,{SessionDiff:()=>z});var n=r(54568);class a{diff(e,t,r={}){let n;"function"==typeof r?(n=r,r={}):"callback"in r&&(n=r.callback);let a=this.castInput(e,r),s=this.castInput(t,r),i=this.removeEmpty(this.tokenize(a,r)),l=this.removeEmpty(this.tokenize(s,r));return this.diffWithOptionsObj(i,l,r,n)}diffWithOptionsObj(e,t,r,n){var a;let s=e=>(e=this.postProcess(e,r),n)?void setTimeout(function(){n(e)},0):e,i=t.length,l=e.length,d=1,o=i+l;null!=r.maxEditLength&&(o=Math.min(o,r.maxEditLength));let c=null!=(a=r.timeout)?a:1/0,u=Date.now()+c,x=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(x[0],t,e,0,r);if(x[0].oldPos+1>=l&&m+1>=i)return s(this.buildValues(x[0].lastComponent,t,e));let h=-1/0,f=1/0,p=()=>{for(let n=Math.max(h,-d);n<=Math.min(f,d);n+=2){let a,d=x[n-1],o=x[n+1];d&&(x[n-1]=void 0);let c=!1;if(o){let e=o.oldPos-n;c=o&&0<=e&&e<i}let u=d&&d.oldPos+1<l;if(!c&&!u){x[n]=void 0;continue}if(a=!u||c&&d.oldPos<o.oldPos?this.addToPath(o,!0,!1,0,r):this.addToPath(d,!1,!0,1,r),m=this.extractCommon(a,t,e,n,r),a.oldPos+1>=l&&m+1>=i)return s(this.buildValues(a.lastComponent,t,e))||!0;x[n]=a,a.oldPos+1>=l&&(f=Math.min(f,n-1)),m+1>=i&&(h=Math.max(h,n+1))}d++};if(n)!function e(){setTimeout(function(){if(d>o||Date.now()>u)return n(void 0);p()||e()},0)}();else for(;d<=o&&Date.now()<=u;){let e=p();if(e)return e}}addToPath(e,t,r,n,a){let s=e.lastComponent;return s&&!a.oneChangePerToken&&s.added===t&&s.removed===r?{oldPos:e.oldPos+n,lastComponent:{count:s.count+1,added:t,removed:r,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:t,removed:r,previousComponent:s}}}extractCommon(e,t,r,n,a){let s=t.length,i=r.length,l=e.oldPos,d=l-n,o=0;for(;d+1<s&&l+1<i&&this.equals(r[l+1],t[d+1],a);)d++,l++,o++,a.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return o&&!a.oneChangePerToken&&(e.lastComponent={count:o,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=l,d}equals(e,t,r){return r.comparator?r.comparator(e,t):e===t||!!r.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let r=0;r<e.length;r++)e[r]&&t.push(e[r]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,r){let n,a=[];for(;e;)a.push(e),n=e.previousComponent,delete e.previousComponent,e=n;a.reverse();let s=a.length,i=0,l=0,d=0;for(;i<s;i++){let e=a[i];if(e.removed)e.value=this.join(r.slice(d,d+e.count)),d+=e.count;else{if(!e.added&&this.useLongestToken){let n=t.slice(l,l+e.count);n=n.map(function(e,t){let n=r[d+t];return n.length>e.length?n:e}),e.value=this.join(n)}else e.value=this.join(t.slice(l,l+e.count));l+=e.count,e.added||(d+=e.count)}}return a}}class s extends a{constructor(){super(...arguments),this.tokenize=l}equals(e,t,r){return r.ignoreWhitespace?(r.newlineIsToken&&e.includes("\n")||(e=e.trim()),r.newlineIsToken&&t.includes("\n")||(t=t.trim())):r.ignoreNewlineAtEof&&!r.newlineIsToken&&(e.endsWith("\n")&&(e=e.slice(0,-1)),t.endsWith("\n")&&(t=t.slice(0,-1))),super.equals(e,t,r)}}let i=new s;function l(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,"\n"));let r=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(let e=0;e<n.length;e++){let a=n[e];e%2&&!t.newlineIsToken?r[r.length-1]+=a:r.push(a)}return r}var d=r(7620),o=r(56050),c=r(58299);let u=(0,r(13454).A)("file-code-corner",[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]]);var x=r(96611),m=r(60527),h=r(23555),f=r(14796),p=r(90986),v=r(46916),g=r(17210),b=r(77522),k=r(33507);let y=["against-base","staged","unstaged","untracked"],j=["against-base","unstaged","staged","untracked"],w={loading:!1,loaded:!1,error:null,data:null},N={hasDiff:!1,generatedAt:"",source:"not-found",truncated:!1,branch:"",defaultBranch:"",files:[],untracked:[],sections:{againstBase:[],staged:[],unstaged:[],untracked:[]}},C="conductor-session-diff-view-mode",E="conductor-session-diff-hide-unchanged",L={"against-base":"Against base",staged:"Staged",unstaged:"Unstaged",untracked:"Untracked"};function P(e){return"string"!=typeof e?"":e.trim().replace(/^\/+/,"").replace(/\/+/g,"/")}function S(e){return"modified"===e||"added"===e||"deleted"===e||"renamed"===e||"copy"===e||"binary"===e||"untracked"===e?e:"unknown"}function A(e){let t=P(e.path);return t?{path:t,oldPath:P(e.oldPath??"")||null,status:S(e.status),additions:Number.isFinite(e.additions)?Math.max(0,Number(e.additions)):0,deletions:Number.isFinite(e.deletions)?Math.max(0,Number(e.deletions)):0}:null}function _(e){return"added"===e.status?"Added":"deleted"===e.status?"Deleted":"renamed"===e.status?"Renamed":"copy"===e.status?"Copied":"binary"===e.status?"Binary":"untracked"===e.status?"Untracked":"modified"===e.status?"Modified":"Changed"}function M(e){return"added"===e.status||"untracked"===e.status?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.08)] text-[var(--vk-green)]":"deleted"===e.status?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] text-[var(--vk-red)]":"renamed"===e.status||"copy"===e.status?"border-[rgba(108,168,255,0.35)] bg-[rgba(108,168,255,0.08)] text-[var(--status-working)]":"binary"===e.status?"border-[rgba(210,160,59,0.35)] bg-[rgba(210,160,59,0.08)] text-[var(--status-attention)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] text-[var(--vk-text-muted)]"}function B(e){return!Number.isFinite(e)||e<=0?"0 B":e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function T(e){if(!e)return[];let t=e.replace(/\r\n/g,"\n");if(0===t.length)return[];let r=t.split("\n");return t.endsWith("\n")&&r.pop(),r}function K(e,t,r,n,a,s){return{kind:"content",oldKind:e,newKind:t,oldLine:r,newLine:n,oldText:a,newText:s}}function $(e){return"add"===e?"bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"remove"===e?"bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"context"===e?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"}function F({rows:e}){return(0,n.jsx)("div",{className:"overflow-x-auto overscroll-x-contain rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)]",children:(0,n.jsxs)("div",{className:"min-w-[680px]",children:[(0,n.jsxs)("div",{className:"grid grid-cols-[2.5rem_minmax(0,1fr)_2.5rem_minmax(0,1fr)] border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[10px] font-medium uppercase tracking-[0.12em] text-[var(--vk-text-muted)] sm:grid-cols-[4rem_minmax(0,1fr)_4rem_minmax(0,1fr)]",children:[(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Old"}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-3 py-2",children:"Before"}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"New"}),(0,n.jsx)("div",{className:"px-3 py-2",children:"After"})]}),(0,n.jsx)("div",{className:"font-mono text-[11px] leading-6 sm:text-[12px]",children:e.map((e,t)=>"skip"===e.kind?(0,n.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2 text-center text-[11px] text-[var(--vk-text-muted)] last:border-b-0",children:e.message},`skip-${t}`):(0,n.jsxs)("div",{className:"grid grid-cols-[2.5rem_minmax(0,1fr)_2.5rem_minmax(0,1fr)] border-b border-[var(--vk-border)] last:border-b-0 sm:grid-cols-[4rem_minmax(0,1fr)_4rem_minmax(0,1fr)]",children:[(0,n.jsx)("div",{className:(0,v.cn)("border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",$(e.oldKind)),children:e.oldLine??""}),(0,n.jsx)("div",{className:(0,v.cn)("min-w-0 border-r border-[var(--vk-border)] px-3 py-1 whitespace-pre",$(e.oldKind)),children:e.oldText||" "}),(0,n.jsx)("div",{className:(0,v.cn)("border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",$(e.newKind)),children:e.newLine??""}),(0,n.jsx)("div",{className:(0,v.cn)("min-w-0 px-3 py-1 whitespace-pre",$(e.newKind)),children:e.newText||" "})]},`${e.oldLine??"x"}:${e.newLine??"y"}:${t}`))})]})})}function I({rows:e}){return(0,n.jsx)("div",{className:"overflow-x-auto overscroll-x-contain rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)]",children:(0,n.jsxs)("div",{className:"min-w-[480px]",children:[(0,n.jsxs)("div",{className:"grid grid-cols-[2rem_2rem_1rem_minmax(0,1fr)] border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[10px] font-medium uppercase tracking-[0.12em] text-[var(--vk-text-muted)] sm:grid-cols-[4rem_4rem_1.5rem_minmax(0,1fr)]",children:[(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Old"}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"New"}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Op"}),(0,n.jsx)("div",{className:"px-3 py-2",children:"Content"})]}),(0,n.jsx)("div",{className:"font-mono text-[11px] leading-6 sm:text-[12px]",children:e.map((e,t)=>{var r,a;return"skip"===e.kind?(0,n.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2 text-center text-[11px] text-[var(--vk-text-muted)] last:border-b-0",children:e.message},`skip-${t}`):(0,n.jsxs)("div",{className:(0,v.cn)("grid grid-cols-[2rem_2rem_1rem_minmax(0,1fr)] border-b border-[var(--vk-border)] last:border-b-0 sm:grid-cols-[4rem_4rem_1.5rem_minmax(0,1fr)]","add"===(r=e.lineKind)?"bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"remove"===r?"bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"text-[var(--vk-text-normal)]"),children:[(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:e.oldLine??""}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:e.newLine??""}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-center",children:"add"===(a=e.lineKind)?"+":"remove"===a?"-":" "}),(0,n.jsx)("div",{className:"min-w-0 px-3 py-1 whitespace-pre",children:e.text||" "})]},`${e.oldLine??"x"}:${e.newLine??"y"}:${t}`)})})]})})}function R({activeBaseBranch:e,entry:t,inlineRows:r,onBack:a,selectedState:s,splitRows:i,viewMode:l}){let d=t.categories.filter(e=>e!==t.category);return(0,n.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,n.jsx)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[a?(0,n.jsx)("button",{type:"button",onClick:a,className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-[8px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Back to changed files",children:(0,n.jsx)(o.A,{className:"h-4 w-4"})}):null,(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{className:(0,v.cn)("inline-flex h-[24px] items-center rounded-[6px] border px-2 text-[11px]",M(t.file)),children:_(t.file)}),(0,n.jsx)("span",{className:"truncate font-mono text-[13px] text-[var(--vk-text-strong)]",children:t.file.path})]}),(0,n.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,n.jsx)("span",{children:L[t.category]}),d.length>0?(0,n.jsxs)("span",{children:["Also in ",d.map(e=>L[e]).join(" \xb7 ")]}):null,t.file.oldPath?(0,n.jsxs)("span",{className:"font-mono",children:[t.file.oldPath," -> ",t.file.path]}):null,(0,n.jsxs)("span",{className:"font-mono text-[var(--vk-green)]",children:["+",t.file.additions]}),(0,n.jsxs)("span",{className:"font-mono text-[var(--vk-red)]",children:["-",t.file.deletions]})]})]})]})}),(0,n.jsxs)("div",{className:`min-h-0 flex-1 overflow-auto px-4 py-4 ${k.hq}`,children:[s.loading?(0,n.jsxs)("div",{className:"flex h-full min-h-[240px] items-center justify-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,n.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),(0,n.jsx)("span",{children:"Loading diff..."})]}):null,s.error?(0,n.jsx)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[13px] text-[var(--status-error)]",children:s.error}):null,!s.loading&&!s.error&&s.data?.binary?(0,n.jsx)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[12px] text-[var(--vk-text-muted)]",children:"Binary file preview is not available for this file."}):null,s.loading||s.error||!s.data||s.data.binary?null:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-[11px] text-[var(--vk-text-muted)]",children:[(0,n.jsxs)("span",{children:["Base: ",s.data.baseBranch||e]}),(0,n.jsxs)("span",{children:["Original: ",B(s.data.originalSize)]}),(0,n.jsxs)("span",{children:["Modified: ",B(s.data.modifiedSize)]}),s.data.truncated?(0,n.jsx)("span",{className:"text-[var(--status-attention)]",children:"Preview truncated to 1 MB."}):null]}),(0,n.jsx)("div",{className:"pb-4",children:"side-by-side"===l?(0,n.jsx)(F,{rows:i}):(0,n.jsx)(I,{rows:r})})]}),s.loading||s.error||s.data?null:(0,n.jsx)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[12px] text-[var(--vk-text-muted)]",children:"No diff content available for this file."})]})]})}function z({sessionId:e,active:t}){var r;let a=encodeURIComponent(e),[s,l]=(0,d.useState)(N),[o,c]=(0,d.useState)(!0),[P,B]=(0,d.useState)(null),[$,F]=(0,d.useState)(()=>"side-by-side"===window.localStorage.getItem(C)?"side-by-side":"inline"),[I,D]=(0,d.useState)(()=>"true"===window.localStorage.getItem(E)),[O,q]=(0,d.useState)(""),[U,W]=(0,d.useState)(null),[V,G]=(0,d.useState)({}),[X,H]=(0,d.useState)(!1),[J,Z]=(0,d.useState)(!1),Q=(0,d.useRef)(!0),Y=(0,d.useRef)(""),ee=(0,d.useRef)(null),et=(0,d.useRef)(!1),er=(0,d.useDeferredValue)(O.trim().toLowerCase()),en=(0,d.useCallback)(async()=>{try{let e=await fetch(`/api/sessions/${a}/diff`,{cache:"no-store"});if(!e.ok){if(404===e.status){if(!Q.current)return;l(N),B(null),G({});return}let t=`Failed to fetch diff (${e.status})`;try{let r=await e.json();"string"==typeof r.error&&r.error.length>0&&(t=r.error)}catch{}throw Error(t)}let t=await e.json();if(!Q.current)return;if(t.error)throw Error(t.error);let r={hasDiff:!!t.hasDiff,generatedAt:"string"==typeof t.generatedAt?t.generatedAt:"",source:"working-tree"===t.source||"remote-pr"===t.source?t.source:"not-found",truncated:!!t.truncated,branch:"string"==typeof t.branch?t.branch:"",defaultBranch:"string"==typeof t.defaultBranch?t.defaultBranch:"",files:Array.isArray(t.files)?t.files:[],untracked:Array.isArray(t.untracked)?t.untracked.filter(e=>"string"==typeof e):[],sections:t.sections},n=JSON.stringify({hasDiff:r.hasDiff,source:r.source,truncated:r.truncated,branch:r.branch,defaultBranch:r.defaultBranch,files:r.files,untracked:r.untracked,sections:r.sections});l(r),Y.current!==n&&(Y.current=n,G({})),B(null)}catch(e){if(!Q.current)return;l(N),B(e instanceof Error?e.message:"Failed to load diff")}finally{Q.current&&c(!1)}},[a]),ea=(0,d.useCallback)(async(e,t)=>{let{category:r,file:n,fileKey:s}=e;G(e=>{let t=e[s];return t?.loading||t?.loaded?e:{...e,[s]:{loading:!0,loaded:!1,error:null,data:null}}});try{let e=new URLSearchParams({path:n.path,category:r,status:n.status});n.oldPath&&e.set("oldPath",n.oldPath),t&&e.set("baseBranch",t);let i=await fetch(`/api/sessions/${a}/diff?${e.toString()}`,{cache:"no-store"});if(!i.ok){let e=`Failed to load diff contents (${i.status})`;try{let t=await i.json();"string"==typeof t.error&&t.error.length>0&&(e=t.error)}catch{}throw Error(e)}let l=await i.json();if(!Q.current)return;if(l.error)throw Error(l.error);G(e=>({...e,[s]:{loading:!1,loaded:!0,error:null,data:{path:"string"==typeof l.path?l.path:n.path,oldPath:"string"==typeof l.oldPath?l.oldPath:null,status:S(l.status),category:"staged"===l.category||"unstaged"===l.category||"untracked"===l.category?l.category:"against-base",baseBranch:"string"==typeof l.baseBranch?l.baseBranch:t,binary:!!l.binary,truncated:!!l.truncated,originalSize:Number.isFinite(l.originalSize)?Math.max(0,Number(l.originalSize)):0,modifiedSize:Number.isFinite(l.modifiedSize)?Math.max(0,Number(l.modifiedSize)):0,original:"string"==typeof l.original||null===l.original?l.original:"",modified:"string"==typeof l.modified||null===l.modified?l.modified:""}}}))}catch(e){if(!Q.current)return;G(t=>({...t,[s]:{loading:!1,loaded:!0,error:e instanceof Error?e.message:"Failed to load diff contents",data:null}}))}},[a]);(0,d.useEffect)(()=>{if(Q.current=!0,ee.current=null,et.current=!1,!t)return()=>{Q.current=!1};en();let r=(0,g.L)(t=>{if(!Q.current)return;let r=t.sessions.find(t=>t.id===e);if(!r)return;et.current=b.C.has(r.status);let n=`${r.status}:${r.lastActivityAt}`;ee.current!==n&&(ee.current=n,en())}),n=null,a=()=>{let e="visible"!==document.visibilityState||et.current?3e4:15e3;n=window.setTimeout(async()=>{Q.current&&(await en(),Q.current&&a())},e)};a();let s=()=>{ee.current=null,en()},i=()=>{"visible"===document.visibilityState&&s()};return window.addEventListener("focus",s),document.addEventListener("visibilitychange",i),()=>{Q.current=!1,r(),null!=n&&window.clearTimeout(n),window.removeEventListener("focus",s),document.removeEventListener("visibilitychange",i)}},[t,en,e]),(0,d.useEffect)(()=>{window.localStorage.setItem(C,$)},[$]),(0,d.useEffect)(()=>{window.localStorage.setItem(E,I?"true":"false")},[I]),(0,d.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia("(max-width: 1023px)"),t=()=>H(e.matches);return(t(),"function"==typeof e.addEventListener)?(e.addEventListener("change",t),()=>e.removeEventListener("change",t)):(e.addListener(t),()=>e.removeListener(t))},[]),(0,d.useEffect)(()=>{c(!0),B(null),Y.current="",q(""),W(null),G({}),Z(!1)},[e]);let es=(0,d.useMemo)(()=>{let e,t,r,n,a,i;return t=(e=e=>Array.isArray(e)?e.map(e=>A(e)).filter(e=>null!==e):[])(s.sections?.againstBase??s.files??[]),r=e(s.sections?.staged??[]),n=e(s.sections?.unstaged??[]),a=e(s.sections?.untracked??[]).concat(Array.isArray(s.untracked)?s.untracked.map(e=>A({path:e,status:"untracked",additions:0,deletions:0})).filter(e=>null!==e):[]),{againstBase:(i=e=>{let t=new Map;for(let r of e)t.set(`${r.path}:${r.oldPath??""}:${r.status}`,r);return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,void 0,{sensitivity:"base"}))})(t),staged:i(r),unstaged:i(n),untracked:i(a)}},[s]),ei=(0,d.useMemo)(()=>(function(e){let t=new Map(j.map((e,t)=>[e,t])),r=new Map(y.map((e,t)=>[e,t])),n=new Map;for(let r of y){for(let a of"against-base"===r?e.againstBase:e[r]){let e=`${a.oldPath??""}:${a.path}`,s=n.get(e);if(!s){n.set(e,{category:r,categories:[r],file:a,fileKey:e});continue}s.categories.includes(r)||s.categories.push(r);let i=t.get(s.category)??Number.MAX_SAFE_INTEGER;(t.get(r)??Number.MAX_SAFE_INTEGER)<i&&(s.category=r,s.file=a)}}return[...n.values()].map(e=>({...e,categories:[...e.categories].sort((e,t)=>(r.get(e)??Number.MAX_SAFE_INTEGER)-(r.get(t)??Number.MAX_SAFE_INTEGER))})).sort((e,t)=>{let r=e.file.path.localeCompare(t.file.path,void 0,{sensitivity:"base"});return 0!==r?r:(e.file.oldPath??"").localeCompare(t.file.oldPath??"",void 0,{sensitivity:"base"})})})(es),[es]),el=(0,d.useMemo)(()=>{let e;return(e=er.trim().toLowerCase())?ei.filter(t=>{let r=t.file.oldPath??"";return t.file.path.toLowerCase().includes(e)||r.toLowerCase().includes(e)}):ei},[ei,er]),ed=(0,d.useMemo)(()=>(function(e){let t=0,r=0;for(let n of e)t+=n.file.additions,r+=n.file.deletions;return{files:e.length,additions:t,deletions:r}})(ei),[ei]),eo=(0,d.useMemo)(()=>{let e=new Map;for(let t of ei)e.set(t.fileKey,t);return e},[ei]);(0,d.useEffect)(()=>{if(0===el.length){W(null),Z(!1);return}W(e=>e&&el.some(t=>t.fileKey===e)?e:el[0]?.fileKey??null)},[el]),(0,d.useEffect)(()=>{X||Z(!1)},[X]);let ec=U?eo.get(U)??null:null,eu=ec?V[ec.fileKey]??w:w,ex=el.length>0,em=s.defaultBranch?.trim()||"main",eh=X?"inline":$;(0,d.useEffect)(()=>{if(!t||!ec)return;let e=V[ec.fileKey];e?.loading||e?.loaded||ea(ec,em)},[t,em,V,ea,ec]);let ef=(0,d.useMemo)(()=>{let e=eu.data;if(!e||e.binary)return[];let t=function(e,t){let r=i.diff(e,t,void 0),n=[],a=1,s=1;for(let e=0;e<r.length;e+=1){let t=r[e],i=T(t.value);if(t.removed){let t=r[e+1],l=t?.added?T(t.value):[],d=Math.max(i.length,l.length);for(let e=0;e<d;e+=1){let t=i[e]??"",r=l[e]??"",d=e<i.length,o=e<l.length;n.push(K(d?"remove":"empty",o?"add":"empty",d?a+e:null,o?s+e:null,t,r))}a+=i.length,t?.added&&(s+=l.length,e+=1);continue}if(t.added){for(let e=0;e<i.length;e+=1)n.push(K("empty","add",null,s,"",i[e]??"")),s+=1;continue}for(let e of i)n.push(K("context","context",a,s,e,e)),a+=1,s+=1}return n}(e.original??"",e.modified??"");return I?function(e){if(0===e.length)return e;let t=[],r=0;for(;r<e.length;){let n=e[r];if("content"!==n.kind||"context"!==n.oldKind||"context"!==n.newKind){t.push(n),r+=1;continue}let a=r;for(;a<e.length;){let t=e[a];if("content"!==t.kind||"context"!==t.oldKind||"context"!==t.newKind)break;a+=1}let s=e.slice(r,a);s.length<=7?t.push(...s):(t.push(...s.slice(0,3)),t.push({kind:"skip",oldKind:"empty",newKind:"empty",oldLine:null,newLine:null,oldText:"",newText:"",message:`${s.length-6} unchanged lines hidden`}),t.push(...s.slice(-3))),r=a}return t}(t):t},[I,eu.data]),ep=(0,d.useMemo)(()=>(function(e){let t=[];for(let r of e){if("skip"===r.kind){t.push({kind:"skip",lineKind:"context",oldLine:null,newLine:null,text:"",message:r.message});continue}if("context"===r.oldKind&&"context"===r.newKind){t.push({kind:"content",lineKind:"context",oldLine:r.oldLine,newLine:r.newLine,text:r.oldText});continue}"remove"===r.oldKind&&t.push({kind:"content",lineKind:"remove",oldLine:r.oldLine,newLine:null,text:r.oldText}),"add"===r.newKind&&t.push({kind:"content",lineKind:"add",oldLine:null,newLine:r.newLine,text:r.newText})}return t})(ef),[ef]),ev=(0,d.useCallback)(e=>{W(e),X&&Z(!0)},[X]),eg=(0,n.jsx)("div",{className:`flex min-h-0 h-full max-h-full flex-col overflow-y-auto lg:border-r lg:border-[var(--vk-border)] ${k.hq}`,children:(0,n.jsx)("div",{className:"py-1",children:el.map(e=>{let t=e.fileKey===U,r=e.file.oldPath?`${e.file.oldPath} -> ${e.file.path}`:e.categories.length>1?e.categories.map(e=>L[e]).join(" \xb7 "):null;return(0,n.jsxs)("button",{type:"button",onClick:()=>ev(e.fileKey),className:(0,v.cn)("flex w-full items-start gap-2 border-l-2 px-3 py-2.5 text-left transition","[content-visibility:auto] [contain-intrinsic-size:52px]",t?"border-l-[var(--status-working)] bg-[rgba(108,168,255,0.08)]":"border-l-transparent hover:bg-[var(--vk-bg-hover)]"),children:[(0,n.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,n.jsx)("span",{className:"block truncate font-mono text-[12px] text-[var(--vk-text-strong)]",children:e.file.path}),(0,n.jsxs)("span",{className:"mt-0.5 flex flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{className:(0,v.cn)("inline-flex h-[20px] items-center rounded-[6px] border px-1.5 text-[10px]",M(e.file)),children:_(e.file)}),r?(0,n.jsx)("span",{className:"truncate font-mono text-[10px] text-[var(--vk-text-muted)]",children:r}):null]})]}),(0,n.jsxs)("span",{className:"shrink-0 font-mono text-[11px]",children:[e.file.additions>0?(0,n.jsxs)("span",{className:"block text-right text-[var(--vk-green)]",children:["+",e.file.additions]}):null,e.file.deletions>0?(0,n.jsxs)("span",{className:"block text-right text-[var(--vk-red)]",children:["-",e.file.deletions]}):null,0===e.file.additions&&0===e.file.deletions?(0,n.jsx)("span",{className:"block text-right text-[var(--vk-text-muted)]",children:"0"}):null]})]},e.fileKey)})})}),eb=ec?(0,n.jsx)(R,{activeBaseBranch:em,entry:ec,inlineRows:ep,selectedState:eu,splitRows:ef,viewMode:eh}):(0,n.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-8 text-center",children:[(0,n.jsx)(u,{className:"h-8 w-8 text-[var(--vk-text-muted)]"}),(0,n.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Select a file to inspect its diff."})]}),ek=ec?(0,n.jsx)(R,{activeBaseBranch:em,entry:ec,inlineRows:ep,onBack:()=>Z(!1),selectedState:eu,splitRows:ef,viewMode:eh}):null;return(0,n.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",children:[(0,n.jsxs)("div",{className:"flex min-h-[42px] shrink-0 items-center gap-2 border-b border-[var(--vk-border)] px-3",children:[(0,n.jsx)(x.A,{className:"h-[15px] w-[15px] text-[var(--vk-text-muted)]"}),(0,n.jsx)("span",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:"Changed Files"}),(0,n.jsx)(p.E,{variant:"outline",children:"working-tree"===(r=s.source)?"Working tree":"remote-pr"===r?"Remote PR":"Not found"}),s.branch?(0,n.jsx)(p.E,{variant:"outline",children:s.branch}):null,s.defaultBranch?(0,n.jsxs)(p.E,{variant:"outline",children:["base ",s.defaultBranch]}):null,(0,n.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,n.jsx)("span",{className:"hidden text-[11px] text-[var(--vk-text-muted)] lg:inline",children:function(e){if(!e)return"Not generated";let t=new Date(e);return Number.isNaN(t.getTime())?"Not generated":new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"}).format(t)}(s.generatedAt)}),(0,n.jsx)("button",{type:"button",onClick:()=>void en(),disabled:o,className:"inline-flex h-[24px] w-[24px] items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60","aria-label":"Refresh diff",children:(0,n.jsx)(m.A,{className:(0,v.cn)("h-[14px] w-[14px]",o&&"animate-spin")})})]})]}),(0,n.jsxs)("div",{className:(0,v.cn)("sticky top-0 z-10 flex shrink-0 items-center gap-3 border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2.5",J&&"hidden lg:flex"),children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,n.jsxs)("span",{children:[ed.files," files"]}),(0,n.jsxs)("span",{className:"font-mono text-[var(--vk-green)]",children:["+",ed.additions]}),(0,n.jsxs)("span",{className:"font-mono text-[var(--vk-red)]",children:["-",ed.deletions]}),s.truncated?(0,n.jsx)("span",{className:"text-[var(--status-attention)]",children:"Summary truncated"}):null]}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("button",{type:"button",onClick:()=>F("side-by-side"),className:(0,v.cn)("hidden rounded-[6px] px-2 py-1 text-[11px] lg:inline-flex","side-by-side"===$?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:"Split"}),(0,n.jsx)("button",{type:"button",onClick:()=>F("inline"),className:(0,v.cn)("rounded-[6px] px-2 py-1 text-[11px]","inline"===$?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:"Inline"}),(0,n.jsx)("button",{type:"button",onClick:()=>D(e=>!e),className:(0,v.cn)("rounded-[6px] px-2 py-1 text-[11px]",I?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:I?"Show all":(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"hidden sm:inline",children:"Hide unchanged"}),(0,n.jsx)("span",{className:"sm:hidden",children:"Hide"})]})})]})]}),(0,n.jsx)("div",{className:(0,v.cn)("shrink-0 border-b border-[var(--vk-border)] p-2",J&&"hidden lg:block"),children:(0,n.jsxs)("label",{className:"flex items-center gap-2 rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-2.5 py-2",children:[(0,n.jsx)(h.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,n.jsx)("input",{type:"text",value:O,onChange:e=>q(e.target.value),placeholder:"Search changed files...",className:"w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,n.jsxs)("div",{className:"min-h-0 flex-1 overflow-hidden",children:[!o||s.hasDiff||P?null:(0,n.jsx)("div",{className:"flex h-full items-center justify-center p-8 text-[13px] text-[var(--vk-text-muted)]",children:"Loading session diff..."}),P?(0,n.jsx)("div",{className:"flex h-full items-center justify-center p-8 text-center text-[13px] text-[var(--status-error)]",children:P}):null,o||P||ex?null:(0,n.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-8 text-center",children:[(0,n.jsx)(f.A,{className:"h-7 w-7 text-[var(--vk-text-muted)]"}),(0,n.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:er?"No files match the current search.":"No changed files in this session yet."})]}),!P&&ex?(0,n.jsxs)(n.Fragment,{children:[J&&ec?(0,n.jsx)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden lg:hidden",children:ek}):null,(0,n.jsxs)("div",{className:(0,v.cn)("h-full min-h-0 overflow-hidden lg:grid lg:grid-cols-[320px_minmax(0,1fr)]",J&&"hidden lg:grid"),children:[eg,(0,n.jsx)("div",{className:"hidden min-h-0 overflow-hidden lg:block",children:eb})]})]}):null]})]})}},90986:(e,t,r)=>{r.d(t,{E:()=>i});var n=r(54568),a=r(46916);let s={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 i({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",s[e],t),children:r})}}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[633],{14796:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(13454).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},60633:(e,t,r)=>{r.r(t),r.d(t,{SessionDiff:()=>z});var n=r(54568);class a{diff(e,t,r={}){let n;"function"==typeof r?(n=r,r={}):"callback"in r&&(n=r.callback);let a=this.castInput(e,r),s=this.castInput(t,r),i=this.removeEmpty(this.tokenize(a,r)),l=this.removeEmpty(this.tokenize(s,r));return this.diffWithOptionsObj(i,l,r,n)}diffWithOptionsObj(e,t,r,n){var a;let s=e=>(e=this.postProcess(e,r),n)?void setTimeout(function(){n(e)},0):e,i=t.length,l=e.length,d=1,o=i+l;null!=r.maxEditLength&&(o=Math.min(o,r.maxEditLength));let c=null!=(a=r.timeout)?a:1/0,u=Date.now()+c,x=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(x[0],t,e,0,r);if(x[0].oldPos+1>=l&&m+1>=i)return s(this.buildValues(x[0].lastComponent,t,e));let h=-1/0,f=1/0,p=()=>{for(let n=Math.max(h,-d);n<=Math.min(f,d);n+=2){let a,d=x[n-1],o=x[n+1];d&&(x[n-1]=void 0);let c=!1;if(o){let e=o.oldPos-n;c=o&&0<=e&&e<i}let u=d&&d.oldPos+1<l;if(!c&&!u){x[n]=void 0;continue}if(a=!u||c&&d.oldPos<o.oldPos?this.addToPath(o,!0,!1,0,r):this.addToPath(d,!1,!0,1,r),m=this.extractCommon(a,t,e,n,r),a.oldPos+1>=l&&m+1>=i)return s(this.buildValues(a.lastComponent,t,e))||!0;x[n]=a,a.oldPos+1>=l&&(f=Math.min(f,n-1)),m+1>=i&&(h=Math.max(h,n+1))}d++};if(n)!function e(){setTimeout(function(){if(d>o||Date.now()>u)return n(void 0);p()||e()},0)}();else for(;d<=o&&Date.now()<=u;){let e=p();if(e)return e}}addToPath(e,t,r,n,a){let s=e.lastComponent;return s&&!a.oneChangePerToken&&s.added===t&&s.removed===r?{oldPos:e.oldPos+n,lastComponent:{count:s.count+1,added:t,removed:r,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:t,removed:r,previousComponent:s}}}extractCommon(e,t,r,n,a){let s=t.length,i=r.length,l=e.oldPos,d=l-n,o=0;for(;d+1<s&&l+1<i&&this.equals(r[l+1],t[d+1],a);)d++,l++,o++,a.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return o&&!a.oneChangePerToken&&(e.lastComponent={count:o,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=l,d}equals(e,t,r){return r.comparator?r.comparator(e,t):e===t||!!r.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let r=0;r<e.length;r++)e[r]&&t.push(e[r]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,r){let n,a=[];for(;e;)a.push(e),n=e.previousComponent,delete e.previousComponent,e=n;a.reverse();let s=a.length,i=0,l=0,d=0;for(;i<s;i++){let e=a[i];if(e.removed)e.value=this.join(r.slice(d,d+e.count)),d+=e.count;else{if(!e.added&&this.useLongestToken){let n=t.slice(l,l+e.count);n=n.map(function(e,t){let n=r[d+t];return n.length>e.length?n:e}),e.value=this.join(n)}else e.value=this.join(t.slice(l,l+e.count));l+=e.count,e.added||(d+=e.count)}}return a}}class s extends a{constructor(){super(...arguments),this.tokenize=l}equals(e,t,r){return r.ignoreWhitespace?(r.newlineIsToken&&e.includes("\n")||(e=e.trim()),r.newlineIsToken&&t.includes("\n")||(t=t.trim())):r.ignoreNewlineAtEof&&!r.newlineIsToken&&(e.endsWith("\n")&&(e=e.slice(0,-1)),t.endsWith("\n")&&(t=t.slice(0,-1))),super.equals(e,t,r)}}let i=new s;function l(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,"\n"));let r=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(let e=0;e<n.length;e++){let a=n[e];e%2&&!t.newlineIsToken?r[r.length-1]+=a:r.push(a)}return r}var d=r(7620),o=r(56050),c=r(58299);let u=(0,r(13454).A)("file-code-corner",[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]]);var x=r(96611),m=r(60527),h=r(23555),f=r(14796),p=r(90986),v=r(46916),g=r(17210),b=r(77522),k=r(33507);let y=["against-base","staged","unstaged","untracked"],j=["against-base","unstaged","staged","untracked"],w={loading:!1,loaded:!1,error:null,data:null},N={hasDiff:!1,generatedAt:"",source:"not-found",truncated:!1,branch:"",defaultBranch:"",files:[],untracked:[],sections:{againstBase:[],staged:[],unstaged:[],untracked:[]}},C="conductor-session-diff-view-mode",E="conductor-session-diff-hide-unchanged",L={"against-base":"Against base",staged:"Staged",unstaged:"Unstaged",untracked:"Untracked"};function P(e){return"string"!=typeof e?"":e.trim().replace(/^\/+/,"").replace(/\/+/g,"/")}function S(e){return"modified"===e||"added"===e||"deleted"===e||"renamed"===e||"copy"===e||"binary"===e||"untracked"===e?e:"unknown"}function A(e){let t=P(e.path);return t?{path:t,oldPath:P(e.oldPath??"")||null,status:S(e.status),additions:Number.isFinite(e.additions)?Math.max(0,Number(e.additions)):0,deletions:Number.isFinite(e.deletions)?Math.max(0,Number(e.deletions)):0}:null}function _(e){return"added"===e.status?"Added":"deleted"===e.status?"Deleted":"renamed"===e.status?"Renamed":"copy"===e.status?"Copied":"binary"===e.status?"Binary":"untracked"===e.status?"Untracked":"modified"===e.status?"Modified":"Changed"}function M(e){return"added"===e.status||"untracked"===e.status?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.08)] text-[var(--vk-green)]":"deleted"===e.status?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] text-[var(--vk-red)]":"renamed"===e.status||"copy"===e.status?"border-[rgba(108,168,255,0.35)] bg-[rgba(108,168,255,0.08)] text-[var(--status-working)]":"binary"===e.status?"border-[rgba(210,160,59,0.35)] bg-[rgba(210,160,59,0.08)] text-[var(--status-attention)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] text-[var(--vk-text-muted)]"}function B(e){return!Number.isFinite(e)||e<=0?"0 B":e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function T(e){if(!e)return[];let t=e.replace(/\r\n/g,"\n");if(0===t.length)return[];let r=t.split("\n");return t.endsWith("\n")&&r.pop(),r}function K(e,t,r,n,a,s){return{kind:"content",oldKind:e,newKind:t,oldLine:r,newLine:n,oldText:a,newText:s}}function $(e){return"add"===e?"bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"remove"===e?"bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"context"===e?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"}function F({rows:e}){return(0,n.jsx)("div",{className:"overflow-x-auto overscroll-x-contain rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)]",children:(0,n.jsxs)("div",{className:"min-w-[680px]",children:[(0,n.jsxs)("div",{className:"grid grid-cols-[2.5rem_minmax(0,1fr)_2.5rem_minmax(0,1fr)] border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[10px] font-medium uppercase tracking-[0.12em] text-[var(--vk-text-muted)] sm:grid-cols-[4rem_minmax(0,1fr)_4rem_minmax(0,1fr)]",children:[(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Old"}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-3 py-2",children:"Before"}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"New"}),(0,n.jsx)("div",{className:"px-3 py-2",children:"After"})]}),(0,n.jsx)("div",{className:"font-mono text-[11px] leading-6 sm:text-[12px]",children:e.map((e,t)=>"skip"===e.kind?(0,n.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2 text-center text-[11px] text-[var(--vk-text-muted)] last:border-b-0",children:e.message},`skip-${t}`):(0,n.jsxs)("div",{className:"grid grid-cols-[2.5rem_minmax(0,1fr)_2.5rem_minmax(0,1fr)] border-b border-[var(--vk-border)] last:border-b-0 sm:grid-cols-[4rem_minmax(0,1fr)_4rem_minmax(0,1fr)]",children:[(0,n.jsx)("div",{className:(0,v.cn)("border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",$(e.oldKind)),children:e.oldLine??""}),(0,n.jsx)("div",{className:(0,v.cn)("min-w-0 border-r border-[var(--vk-border)] px-3 py-1 whitespace-pre",$(e.oldKind)),children:e.oldText||" "}),(0,n.jsx)("div",{className:(0,v.cn)("border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",$(e.newKind)),children:e.newLine??""}),(0,n.jsx)("div",{className:(0,v.cn)("min-w-0 px-3 py-1 whitespace-pre",$(e.newKind)),children:e.newText||" "})]},`${e.oldLine??"x"}:${e.newLine??"y"}:${t}`))})]})})}function I({rows:e}){return(0,n.jsx)("div",{className:"overflow-x-auto overscroll-x-contain rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)]",children:(0,n.jsxs)("div",{className:"min-w-[480px]",children:[(0,n.jsxs)("div",{className:"grid grid-cols-[2rem_2rem_1rem_minmax(0,1fr)] border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[10px] font-medium uppercase tracking-[0.12em] text-[var(--vk-text-muted)] sm:grid-cols-[4rem_4rem_1.5rem_minmax(0,1fr)]",children:[(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Old"}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"New"}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-2",children:"Op"}),(0,n.jsx)("div",{className:"px-3 py-2",children:"Content"})]}),(0,n.jsx)("div",{className:"font-mono text-[11px] leading-6 sm:text-[12px]",children:e.map((e,t)=>{var r,a;return"skip"===e.kind?(0,n.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2 text-center text-[11px] text-[var(--vk-text-muted)] last:border-b-0",children:e.message},`skip-${t}`):(0,n.jsxs)("div",{className:(0,v.cn)("grid grid-cols-[2rem_2rem_1rem_minmax(0,1fr)] border-b border-[var(--vk-border)] last:border-b-0 sm:grid-cols-[4rem_4rem_1.5rem_minmax(0,1fr)]","add"===(r=e.lineKind)?"bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"remove"===r?"bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"text-[var(--vk-text-normal)]"),children:[(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:e.oldLine??""}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:e.newLine??""}),(0,n.jsx)("div",{className:"border-r border-[var(--vk-border)] px-2 py-1 text-center",children:"add"===(a=e.lineKind)?"+":"remove"===a?"-":" "}),(0,n.jsx)("div",{className:"min-w-0 px-3 py-1 whitespace-pre",children:e.text||" "})]},`${e.oldLine??"x"}:${e.newLine??"y"}:${t}`)})})]})})}function R({activeBaseBranch:e,entry:t,inlineRows:r,onBack:a,selectedState:s,splitRows:i,viewMode:l}){let d=t.categories.filter(e=>e!==t.category);return(0,n.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,n.jsx)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[a?(0,n.jsx)("button",{type:"button",onClick:a,className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-[8px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Back to changed files",children:(0,n.jsx)(o.A,{className:"h-4 w-4"})}):null,(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{className:(0,v.cn)("inline-flex h-[24px] items-center rounded-[6px] border px-2 text-[11px]",M(t.file)),children:_(t.file)}),(0,n.jsx)("span",{className:"truncate font-mono text-[13px] text-[var(--vk-text-strong)]",children:t.file.path})]}),(0,n.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,n.jsx)("span",{children:L[t.category]}),d.length>0?(0,n.jsxs)("span",{children:["Also in ",d.map(e=>L[e]).join(" \xb7 ")]}):null,t.file.oldPath?(0,n.jsxs)("span",{className:"font-mono",children:[t.file.oldPath," -> ",t.file.path]}):null,(0,n.jsxs)("span",{className:"font-mono text-[var(--vk-green)]",children:["+",t.file.additions]}),(0,n.jsxs)("span",{className:"font-mono text-[var(--vk-red)]",children:["-",t.file.deletions]})]})]})]})}),(0,n.jsxs)("div",{className:`min-h-0 flex-1 overflow-auto px-4 py-4 ${k.hq}`,children:[s.loading?(0,n.jsxs)("div",{className:"flex h-full min-h-[240px] items-center justify-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,n.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),(0,n.jsx)("span",{children:"Loading diff..."})]}):null,s.error?(0,n.jsx)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[13px] text-[var(--status-error)]",children:s.error}):null,!s.loading&&!s.error&&s.data?.binary?(0,n.jsx)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[12px] text-[var(--vk-text-muted)]",children:"Binary file preview is not available for this file."}):null,s.loading||s.error||!s.data||s.data.binary?null:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-[11px] text-[var(--vk-text-muted)]",children:[(0,n.jsxs)("span",{children:["Base: ",s.data.baseBranch||e]}),(0,n.jsxs)("span",{children:["Original: ",B(s.data.originalSize)]}),(0,n.jsxs)("span",{children:["Modified: ",B(s.data.modifiedSize)]}),s.data.truncated?(0,n.jsx)("span",{className:"text-[var(--status-attention)]",children:"Preview truncated to 1 MB."}):null]}),(0,n.jsx)("div",{className:"pb-4",children:"side-by-side"===l?(0,n.jsx)(F,{rows:i}):(0,n.jsx)(I,{rows:r})})]}),s.loading||s.error||s.data?null:(0,n.jsx)("div",{className:"flex min-h-[180px] items-center justify-center px-4 py-8 text-center text-[12px] text-[var(--vk-text-muted)]",children:"No diff content available for this file."})]})]})}function z({sessionId:e,active:t}){var r;let a=encodeURIComponent(e),[s,l]=(0,d.useState)(N),[o,c]=(0,d.useState)(!0),[P,B]=(0,d.useState)(null),[$,F]=(0,d.useState)(()=>"side-by-side"===window.localStorage.getItem(C)?"side-by-side":"inline"),[I,D]=(0,d.useState)(()=>"true"===window.localStorage.getItem(E)),[O,q]=(0,d.useState)(""),[U,W]=(0,d.useState)(null),[V,G]=(0,d.useState)({}),[X,H]=(0,d.useState)(!1),[J,Z]=(0,d.useState)(!1),Q=(0,d.useRef)(!0),Y=(0,d.useRef)(""),ee=(0,d.useRef)(null),et=(0,d.useRef)(!1),er=(0,d.useDeferredValue)(O.trim().toLowerCase()),en=(0,d.useCallback)(async()=>{try{let e=await fetch(`/api/sessions/${a}/diff`,{cache:"no-store"});if(!e.ok){if(404===e.status){if(!Q.current)return;l(N),B(null),G({});return}let t=`Failed to fetch diff (${e.status})`;try{let r=await e.json();"string"==typeof r.error&&r.error.length>0&&(t=r.error)}catch{}throw Error(t)}let t=await e.json();if(!Q.current)return;if(t.error)throw Error(t.error);let r={hasDiff:!!t.hasDiff,generatedAt:"string"==typeof t.generatedAt?t.generatedAt:"",source:"working-tree"===t.source||"remote-pr"===t.source?t.source:"not-found",truncated:!!t.truncated,branch:"string"==typeof t.branch?t.branch:"",defaultBranch:"string"==typeof t.defaultBranch?t.defaultBranch:"",files:Array.isArray(t.files)?t.files:[],untracked:Array.isArray(t.untracked)?t.untracked.filter(e=>"string"==typeof e):[],sections:t.sections},n=JSON.stringify({hasDiff:r.hasDiff,source:r.source,truncated:r.truncated,branch:r.branch,defaultBranch:r.defaultBranch,files:r.files,untracked:r.untracked,sections:r.sections});l(r),Y.current!==n&&(Y.current=n,G({})),B(null)}catch(e){if(!Q.current)return;l(N),B(e instanceof Error?e.message:"Failed to load diff")}finally{Q.current&&c(!1)}},[a]),ea=(0,d.useCallback)(async(e,t)=>{let{category:r,file:n,fileKey:s}=e;G(e=>{let t=e[s];return t?.loading||t?.loaded?e:{...e,[s]:{loading:!0,loaded:!1,error:null,data:null}}});try{let e=new URLSearchParams({path:n.path,category:r,status:n.status});n.oldPath&&e.set("oldPath",n.oldPath),t&&e.set("baseBranch",t);let i=await fetch(`/api/sessions/${a}/diff?${e.toString()}`,{cache:"no-store"});if(!i.ok){let e=`Failed to load diff contents (${i.status})`;try{let t=await i.json();"string"==typeof t.error&&t.error.length>0&&(e=t.error)}catch{}throw Error(e)}let l=await i.json();if(!Q.current)return;if(l.error)throw Error(l.error);G(e=>({...e,[s]:{loading:!1,loaded:!0,error:null,data:{path:"string"==typeof l.path?l.path:n.path,oldPath:"string"==typeof l.oldPath?l.oldPath:null,status:S(l.status),category:"staged"===l.category||"unstaged"===l.category||"untracked"===l.category?l.category:"against-base",baseBranch:"string"==typeof l.baseBranch?l.baseBranch:t,binary:!!l.binary,truncated:!!l.truncated,originalSize:Number.isFinite(l.originalSize)?Math.max(0,Number(l.originalSize)):0,modifiedSize:Number.isFinite(l.modifiedSize)?Math.max(0,Number(l.modifiedSize)):0,original:"string"==typeof l.original||null===l.original?l.original:"",modified:"string"==typeof l.modified||null===l.modified?l.modified:""}}}))}catch(e){if(!Q.current)return;G(t=>({...t,[s]:{loading:!1,loaded:!0,error:e instanceof Error?e.message:"Failed to load diff contents",data:null}}))}},[a]);(0,d.useEffect)(()=>{if(Q.current=!0,ee.current=null,et.current=!1,!t)return()=>{Q.current=!1};en();let r=(0,g.L)(t=>{if(!Q.current)return;let r=t.sessions.find(t=>t.id===e);if(!r)return;et.current=b.C.has(r.status);let n=`${r.status}:${r.lastActivityAt}`;ee.current!==n&&(ee.current=n,en())}),n=null,a=()=>{let e="visible"!==document.visibilityState||et.current?3e4:15e3;n=window.setTimeout(async()=>{Q.current&&(await en(),Q.current&&a())},e)};a();let s=()=>{ee.current=null,en()},i=()=>{"visible"===document.visibilityState&&s()};return window.addEventListener("focus",s),document.addEventListener("visibilitychange",i),()=>{Q.current=!1,r(),null!=n&&window.clearTimeout(n),window.removeEventListener("focus",s),document.removeEventListener("visibilitychange",i)}},[t,en,e]),(0,d.useEffect)(()=>{window.localStorage.setItem(C,$)},[$]),(0,d.useEffect)(()=>{window.localStorage.setItem(E,I?"true":"false")},[I]),(0,d.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia("(max-width: 1023px)"),t=()=>H(e.matches);return(t(),"function"==typeof e.addEventListener)?(e.addEventListener("change",t),()=>e.removeEventListener("change",t)):(e.addListener(t),()=>e.removeListener(t))},[]),(0,d.useEffect)(()=>{c(!0),B(null),Y.current="",q(""),W(null),G({}),Z(!1)},[e]);let es=(0,d.useMemo)(()=>{let e,t,r,n,a,i;return t=(e=e=>Array.isArray(e)?e.map(e=>A(e)).filter(e=>null!==e):[])(s.sections?.againstBase??s.files??[]),r=e(s.sections?.staged??[]),n=e(s.sections?.unstaged??[]),a=e(s.sections?.untracked??[]).concat(Array.isArray(s.untracked)?s.untracked.map(e=>A({path:e,status:"untracked",additions:0,deletions:0})).filter(e=>null!==e):[]),{againstBase:(i=e=>{let t=new Map;for(let r of e)t.set(`${r.path}:${r.oldPath??""}:${r.status}`,r);return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,void 0,{sensitivity:"base"}))})(t),staged:i(r),unstaged:i(n),untracked:i(a)}},[s]),ei=(0,d.useMemo)(()=>(function(e){let t=new Map(j.map((e,t)=>[e,t])),r=new Map(y.map((e,t)=>[e,t])),n=new Map;for(let r of y){for(let a of"against-base"===r?e.againstBase:e[r]){let e=`${a.oldPath??""}:${a.path}`,s=n.get(e);if(!s){n.set(e,{category:r,categories:[r],file:a,fileKey:e});continue}s.categories.includes(r)||s.categories.push(r);let i=t.get(s.category)??Number.MAX_SAFE_INTEGER;(t.get(r)??Number.MAX_SAFE_INTEGER)<i&&(s.category=r,s.file=a)}}return[...n.values()].map(e=>({...e,categories:[...e.categories].sort((e,t)=>(r.get(e)??Number.MAX_SAFE_INTEGER)-(r.get(t)??Number.MAX_SAFE_INTEGER))})).sort((e,t)=>{let r=e.file.path.localeCompare(t.file.path,void 0,{sensitivity:"base"});return 0!==r?r:(e.file.oldPath??"").localeCompare(t.file.oldPath??"",void 0,{sensitivity:"base"})})})(es),[es]),el=(0,d.useMemo)(()=>{let e;return(e=er.trim().toLowerCase())?ei.filter(t=>{let r=t.file.oldPath??"";return t.file.path.toLowerCase().includes(e)||r.toLowerCase().includes(e)}):ei},[ei,er]),ed=(0,d.useMemo)(()=>(function(e){let t=0,r=0;for(let n of e)t+=n.file.additions,r+=n.file.deletions;return{files:e.length,additions:t,deletions:r}})(ei),[ei]),eo=(0,d.useMemo)(()=>{let e=new Map;for(let t of ei)e.set(t.fileKey,t);return e},[ei]);(0,d.useEffect)(()=>{if(0===el.length){W(null),Z(!1);return}W(e=>e&&el.some(t=>t.fileKey===e)?e:el[0]?.fileKey??null)},[el]),(0,d.useEffect)(()=>{X||Z(!1)},[X]);let ec=U?eo.get(U)??null:null,eu=ec?V[ec.fileKey]??w:w,ex=el.length>0,em=s.defaultBranch?.trim()||"main",eh=X?"inline":$;(0,d.useEffect)(()=>{if(!t||!ec)return;let e=V[ec.fileKey];e?.loading||e?.loaded||ea(ec,em)},[t,em,V,ea,ec]);let ef=(0,d.useMemo)(()=>{let e=eu.data;if(!e||e.binary)return[];let t=function(e,t){let r=i.diff(e,t,void 0),n=[],a=1,s=1;for(let e=0;e<r.length;e+=1){let t=r[e],i=T(t.value);if(t.removed){let t=r[e+1],l=t?.added?T(t.value):[],d=Math.max(i.length,l.length);for(let e=0;e<d;e+=1){let t=i[e]??"",r=l[e]??"",d=e<i.length,o=e<l.length;n.push(K(d?"remove":"empty",o?"add":"empty",d?a+e:null,o?s+e:null,t,r))}a+=i.length,t?.added&&(s+=l.length,e+=1);continue}if(t.added){for(let e=0;e<i.length;e+=1)n.push(K("empty","add",null,s,"",i[e]??"")),s+=1;continue}for(let e of i)n.push(K("context","context",a,s,e,e)),a+=1,s+=1}return n}(e.original??"",e.modified??"");return I?function(e){if(0===e.length)return e;let t=[],r=0;for(;r<e.length;){let n=e[r];if("content"!==n.kind||"context"!==n.oldKind||"context"!==n.newKind){t.push(n),r+=1;continue}let a=r;for(;a<e.length;){let t=e[a];if("content"!==t.kind||"context"!==t.oldKind||"context"!==t.newKind)break;a+=1}let s=e.slice(r,a);s.length<=7?t.push(...s):(t.push(...s.slice(0,3)),t.push({kind:"skip",oldKind:"empty",newKind:"empty",oldLine:null,newLine:null,oldText:"",newText:"",message:`${s.length-6} unchanged lines hidden`}),t.push(...s.slice(-3))),r=a}return t}(t):t},[I,eu.data]),ep=(0,d.useMemo)(()=>(function(e){let t=[];for(let r of e){if("skip"===r.kind){t.push({kind:"skip",lineKind:"context",oldLine:null,newLine:null,text:"",message:r.message});continue}if("context"===r.oldKind&&"context"===r.newKind){t.push({kind:"content",lineKind:"context",oldLine:r.oldLine,newLine:r.newLine,text:r.oldText});continue}"remove"===r.oldKind&&t.push({kind:"content",lineKind:"remove",oldLine:r.oldLine,newLine:null,text:r.oldText}),"add"===r.newKind&&t.push({kind:"content",lineKind:"add",oldLine:null,newLine:r.newLine,text:r.newText})}return t})(ef),[ef]),ev=(0,d.useCallback)(e=>{W(e),X&&Z(!0)},[X]),eg=(0,n.jsx)("div",{className:`flex min-h-0 h-full max-h-full flex-col overflow-y-auto lg:border-r lg:border-[var(--vk-border)] ${k.hq}`,children:(0,n.jsx)("div",{className:"py-1",children:el.map(e=>{let t=e.fileKey===U,r=e.file.oldPath?`${e.file.oldPath} -> ${e.file.path}`:e.categories.length>1?e.categories.map(e=>L[e]).join(" \xb7 "):null;return(0,n.jsxs)("button",{type:"button",onClick:()=>ev(e.fileKey),className:(0,v.cn)("flex w-full items-start gap-2 border-l-2 px-3 py-2.5 text-left transition","[content-visibility:auto] [contain-intrinsic-size:52px]",t?"border-l-[var(--status-working)] bg-[rgba(108,168,255,0.08)]":"border-l-transparent hover:bg-[var(--vk-bg-hover)]"),children:[(0,n.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,n.jsx)("span",{className:"block truncate font-mono text-[12px] text-[var(--vk-text-strong)]",children:e.file.path}),(0,n.jsxs)("span",{className:"mt-0.5 flex flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{className:(0,v.cn)("inline-flex h-[20px] items-center rounded-[6px] border px-1.5 text-[10px]",M(e.file)),children:_(e.file)}),r?(0,n.jsx)("span",{className:"truncate font-mono text-[10px] text-[var(--vk-text-muted)]",children:r}):null]})]}),(0,n.jsxs)("span",{className:"shrink-0 font-mono text-[11px]",children:[e.file.additions>0?(0,n.jsxs)("span",{className:"block text-right text-[var(--vk-green)]",children:["+",e.file.additions]}):null,e.file.deletions>0?(0,n.jsxs)("span",{className:"block text-right text-[var(--vk-red)]",children:["-",e.file.deletions]}):null,0===e.file.additions&&0===e.file.deletions?(0,n.jsx)("span",{className:"block text-right text-[var(--vk-text-muted)]",children:"0"}):null]})]},e.fileKey)})})}),eb=ec?(0,n.jsx)(R,{activeBaseBranch:em,entry:ec,inlineRows:ep,selectedState:eu,splitRows:ef,viewMode:eh}):(0,n.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-8 text-center",children:[(0,n.jsx)(u,{className:"h-8 w-8 text-[var(--vk-text-muted)]"}),(0,n.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Select a file to inspect its diff."})]}),ek=ec?(0,n.jsx)(R,{activeBaseBranch:em,entry:ec,inlineRows:ep,onBack:()=>Z(!1),selectedState:eu,splitRows:ef,viewMode:eh}):null;return(0,n.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",children:[(0,n.jsxs)("div",{className:"flex min-h-[42px] shrink-0 items-center gap-2 border-b border-[var(--vk-border)] px-3",children:[(0,n.jsx)(x.A,{className:"h-[15px] w-[15px] text-[var(--vk-text-muted)]"}),(0,n.jsx)("span",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:"Changed Files"}),(0,n.jsx)(p.E,{variant:"outline",children:"working-tree"===(r=s.source)?"Working tree":"remote-pr"===r?"Remote PR":"Not found"}),s.branch?(0,n.jsx)(p.E,{variant:"outline",children:s.branch}):null,s.defaultBranch?(0,n.jsxs)(p.E,{variant:"outline",children:["base ",s.defaultBranch]}):null,(0,n.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,n.jsx)("span",{className:"hidden text-[11px] text-[var(--vk-text-muted)] lg:inline",children:function(e){if(!e)return"Not generated";let t=new Date(e);return Number.isNaN(t.getTime())?"Not generated":new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"}).format(t)}(s.generatedAt)}),(0,n.jsx)("button",{type:"button",onClick:()=>void en(),disabled:o,className:"inline-flex h-[24px] w-[24px] items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-60","aria-label":"Refresh diff",children:(0,n.jsx)(m.A,{className:(0,v.cn)("h-[14px] w-[14px]",o&&"animate-spin")})})]})]}),(0,n.jsxs)("div",{className:(0,v.cn)("sticky top-0 z-10 flex shrink-0 items-center gap-3 border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2.5",J&&"hidden lg:flex"),children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,n.jsxs)("span",{children:[ed.files," files"]}),(0,n.jsxs)("span",{className:"font-mono text-[var(--vk-green)]",children:["+",ed.additions]}),(0,n.jsxs)("span",{className:"font-mono text-[var(--vk-red)]",children:["-",ed.deletions]}),s.truncated?(0,n.jsx)("span",{className:"text-[var(--status-attention)]",children:"Summary truncated"}):null]}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("button",{type:"button",onClick:()=>F("side-by-side"),className:(0,v.cn)("hidden rounded-[6px] px-2 py-1 text-[11px] lg:inline-flex","side-by-side"===$?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:"Split"}),(0,n.jsx)("button",{type:"button",onClick:()=>F("inline"),className:(0,v.cn)("rounded-[6px] px-2 py-1 text-[11px]","inline"===$?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:"Inline"}),(0,n.jsx)("button",{type:"button",onClick:()=>D(e=>!e),className:(0,v.cn)("rounded-[6px] px-2 py-1 text-[11px]",I?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:I?"Show all":(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"hidden sm:inline",children:"Hide unchanged"}),(0,n.jsx)("span",{className:"sm:hidden",children:"Hide"})]})})]})]}),(0,n.jsx)("div",{className:(0,v.cn)("shrink-0 border-b border-[var(--vk-border)] p-2",J&&"hidden lg:block"),children:(0,n.jsxs)("label",{className:"flex items-center gap-2 rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-2.5 py-2",children:[(0,n.jsx)(h.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,n.jsx)("input",{type:"text",value:O,onChange:e=>q(e.target.value),placeholder:"Search changed files...",className:"w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,n.jsxs)("div",{className:`min-h-0 flex-1 ${k.DK}`,children:[!o||s.hasDiff||P?null:(0,n.jsx)("div",{className:"flex h-full items-center justify-center p-8 text-[13px] text-[var(--vk-text-muted)]",children:"Loading session diff..."}),P?(0,n.jsx)("div",{className:"flex h-full items-center justify-center p-8 text-center text-[13px] text-[var(--status-error)]",children:P}):null,o||P||ex?null:(0,n.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-8 text-center",children:[(0,n.jsx)(f.A,{className:"h-7 w-7 text-[var(--vk-text-muted)]"}),(0,n.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:er?"No files match the current search.":"No changed files in this session yet."})]}),!P&&ex?(0,n.jsxs)(n.Fragment,{children:[J&&ec?(0,n.jsx)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden lg:hidden",children:ek}):null,(0,n.jsxs)("div",{className:(0,v.cn)("h-full min-h-0 overflow-hidden lg:grid lg:grid-cols-[320px_minmax(0,1fr)]",J&&"hidden lg:grid"),children:[eg,(0,n.jsx)("div",{className:"hidden min-h-0 overflow-hidden lg:block",children:eb})]})]}):null]})]})}},90986:(e,t,r)=>{r.d(t,{E:()=>i});var n=r(54568),a=r(46916);let s={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 i({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",s[e],t),children:r})}}}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8510],{2609:(e,t,r)=>{"use strict";r.d(t,{T5:()=>s.T5,hP:()=>n.hP,nO:()=>s.nO,yC:()=>o}),r(16744);var n=r(70590),s=r(87835);function o(e,t,r){let s=t.path||(null==r?void 0:r.path);return"path"===(t.routing||(null==r?void 0:r.routing)||"path")?s?{...r,...t,routing:"path"}:n.sb.throw((0,n.kd)(e)):t.path?n.sb.throw((0,n.s7)(e)):{...r,...t,path:void 0}}},2896:(e,t,r)=>{"use strict";function n({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(54568),r(97509),r(85999),r(12918),r(32106)},5974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={callServer:function(){return o.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(34273),a=r(16409),i=r(97102)},6035:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(59113).createAsyncLocalStorage)()},6974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(74468)._(r(7620)).default.createContext(null)},10594:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return h},handleClientScriptLoad:function(){return y},initScriptLoader:function(){return v}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(74468),a=r(99649),i=r(54568),l=o._(r(97509)),c=a._(r(7620)),u=r(2737),d=r(66161),p=r(71341),f=new Map,b=new Set,m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:s=null,dangerouslySetInnerHTML:o,children:a="",strategy:i="afterInteractive",onError:c,stylesheets:u}=e,p=r||t;if(p&&b.has(p))return;if(f.has(t)){b.add(p),f.get(t).then(n,c);return}let m=()=>{s&&s(),b.add(p)},y=document.createElement("script"),v=new Promise((e,t)=>{y.addEventListener("load",function(t){e(),n&&n.call(this,t),m()}),y.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});o?(y.innerHTML=o.__html||"",m()):a?(y.textContent="string"==typeof a?a:Array.isArray(a)?a.join(""):"",m()):t&&(y.src=t,f.set(t,v)),(0,d.setAttributesFromProps)(y,e),"worker"===i&&y.setAttribute("type","text/partytown"),y.setAttribute("data-nscript",i),u&&(e=>{if(l.default.preinit)return e.forEach(e=>{l.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(u),document.body.appendChild(y)};function y(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}):m(e)}function v(e){e.forEach(y),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");b.add(t)})}function _(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:s=null,strategy:o="afterInteractive",onError:a,stylesheets:d,...f}=e,{updateScripts:y,scripts:v,getIsSsr:_,appDir:h,nonce:g}=(0,c.useContext)(u.HeadManagerContext);g=f.nonce||g;let w=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let e=t||r;w.current||(s&&e&&b.has(e)&&s(),w.current=!0)},[s,t,r]);let E=(0,c.useRef)(!1);if((0,c.useEffect)(()=>{if(!E.current){if("afterInteractive"===o)m(e);else"lazyOnload"===o&&("complete"===document.readyState?(0,p.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}));E.current=!0}},[e,o]),("beforeInteractive"===o||"worker"===o)&&(y?(v[o]=(v[o]||[]).concat([{id:t,src:r,onLoad:n,onReady:s,onError:a,...f,nonce:g}]),y(v)):_&&_()?b.add(t||r):_&&!_()&&m({...e,nonce:g})),h){if(d&&d.forEach(e=>{l.default.preinit(e,{as:"style"})}),"beforeInteractive"===o)if(!r)return f.dangerouslySetInnerHTML&&(f.children=f.dangerouslySetInnerHTML.__html,delete f.dangerouslySetInnerHTML),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([0,{...f,id:t}])})`}});else return l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin}),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([r,{...f,id:t}])})`}});"afterInteractive"===o&&r&&l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin})}return null}Object.defineProperty(_,"__nextScript",{value:!0});let h=_;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},23597:(e,t,r)=>{"use strict";function n({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(61841)},30679:(e,t,r)=>{"use strict";r.d(t,{PromisifiedAuthProvider:()=>l,d:()=>c});var n=r(30524),s=r(2609),o=r(45836),a=r(7620);let i=a.createContext(null);function l({authPromise:e,children:t}){return a.createElement(i.Provider,{value:e},t)}function c(e={}){let t=(0,o.useRouter)(),r=a.useContext(i),l=r;return(r&&"then"in r&&(l=a.use(r)),"u"<typeof window)?t?(0,n.As)(e):(0,s.hP)({...l,...e}):(0,n.As)({...l,...e})}},36727:(e,t,r)=>{"use strict";r.r(t),r.d(t,{KeylessCookieSync:()=>a});var n=r(79748),s=r(7620),o=r(38036);function a(e){var t;let a=(null==(t=(0,n.useSelectedLayoutSegments)()[0])?void 0:t.startsWith("/_not-found"))||!1;return(0,s.useEffect)(()=>{o.I&&!a&&r.e(
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8510],{2609:(e,t,r)=>{"use strict";r.d(t,{T5:()=>s.T5,hP:()=>n.hP,nO:()=>s.nO,yC:()=>o}),r(16744);var n=r(70590),s=r(87835);function o(e,t,r){let s=t.path||(null==r?void 0:r.path);return"path"===(t.routing||(null==r?void 0:r.routing)||"path")?s?{...r,...t,routing:"path"}:n.sb.throw((0,n.kd)(e)):t.path?n.sb.throw((0,n.s7)(e)):{...r,...t,path:void 0}}},2896:(e,t,r)=>{"use strict";function n({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(54568),r(97509),r(85999),r(12918),r(32106)},5974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={callServer:function(){return o.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(34273),a=r(16409),i=r(97102)},6035:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(59113).createAsyncLocalStorage)()},6974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(74468)._(r(7620)).default.createContext(null)},10594:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return h},handleClientScriptLoad:function(){return y},initScriptLoader:function(){return v}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(74468),a=r(99649),i=r(54568),l=o._(r(97509)),c=a._(r(7620)),u=r(2737),d=r(66161),p=r(71341),f=new Map,b=new Set,m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:s=null,dangerouslySetInnerHTML:o,children:a="",strategy:i="afterInteractive",onError:c,stylesheets:u}=e,p=r||t;if(p&&b.has(p))return;if(f.has(t)){b.add(p),f.get(t).then(n,c);return}let m=()=>{s&&s(),b.add(p)},y=document.createElement("script"),v=new Promise((e,t)=>{y.addEventListener("load",function(t){e(),n&&n.call(this,t),m()}),y.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});o?(y.innerHTML=o.__html||"",m()):a?(y.textContent="string"==typeof a?a:Array.isArray(a)?a.join(""):"",m()):t&&(y.src=t,f.set(t,v)),(0,d.setAttributesFromProps)(y,e),"worker"===i&&y.setAttribute("type","text/partytown"),y.setAttribute("data-nscript",i),u&&(e=>{if(l.default.preinit)return e.forEach(e=>{l.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(u),document.body.appendChild(y)};function y(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}):m(e)}function v(e){e.forEach(y),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");b.add(t)})}function _(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:s=null,strategy:o="afterInteractive",onError:a,stylesheets:d,...f}=e,{updateScripts:y,scripts:v,getIsSsr:_,appDir:h,nonce:g}=(0,c.useContext)(u.HeadManagerContext);g=f.nonce||g;let w=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let e=t||r;w.current||(s&&e&&b.has(e)&&s(),w.current=!0)},[s,t,r]);let E=(0,c.useRef)(!1);if((0,c.useEffect)(()=>{if(!E.current){if("afterInteractive"===o)m(e);else"lazyOnload"===o&&("complete"===document.readyState?(0,p.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}));E.current=!0}},[e,o]),("beforeInteractive"===o||"worker"===o)&&(y?(v[o]=(v[o]||[]).concat([{id:t,src:r,onLoad:n,onReady:s,onError:a,...f,nonce:g}]),y(v)):_&&_()?b.add(t||r):_&&!_()&&m({...e,nonce:g})),h){if(d&&d.forEach(e=>{l.default.preinit(e,{as:"style"})}),"beforeInteractive"===o)if(!r)return f.dangerouslySetInnerHTML&&(f.children=f.dangerouslySetInnerHTML.__html,delete f.dangerouslySetInnerHTML),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([0,{...f,id:t}])})`}});else return l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin}),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([r,{...f,id:t}])})`}});"afterInteractive"===o&&r&&l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin})}return null}Object.defineProperty(_,"__nextScript",{value:!0});let h=_;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},23597:(e,t,r)=>{"use strict";function n({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(61841)},30679:(e,t,r)=>{"use strict";r.d(t,{PromisifiedAuthProvider:()=>l,d:()=>c});var n=r(30524),s=r(2609),o=r(45836),a=r(7620);let i=a.createContext(null);function l({authPromise:e,children:t}){return a.createElement(i.Provider,{value:e},t)}function c(e={}){let t=(0,o.useRouter)(),r=a.useContext(i),l=r;return(r&&"then"in r&&(l=a.use(r)),"u"<typeof window)?t?(0,n.As)(e):(0,s.hP)({...l,...e}):(0,n.As)({...l,...e})}},36727:(e,t,r)=>{"use strict";r.r(t),r.d(t,{KeylessCookieSync:()=>a});var n=r(79748),s=r(7620),o=r(38036);function a(e){var t;let a=(null==(t=(0,n.useSelectedLayoutSegments)()[0])?void 0:t.startsWith("/_not-found"))||!1;return(0,s.useEffect)(()=>{o.I&&!a&&r.e(5263).then(r.bind(r,85263)).then(t=>t.syncKeylessConfigAction({...e,returnUrl:window.location.href}))},[a]),e.children}},37204:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ClientClerkProvider:()=>O});var n=r(30524),s=r(20602);let o=new Set;var a=r(42925),i=r(79748),l=r(99321),c=r(7620);let u="u">typeof window?c.useLayoutEffect:c.useEffect,d=c.createContext(void 0);d.displayName="ClerkNextOptionsCtx";let p=()=>{let e=c.useContext(d);return null==e?void 0:e.value},f=e=>{let{children:t,options:r}=e;return c.createElement(d.Provider,{value:{value:r}},t)};var b=r(2609),m=r(10594),y=r.n(m);function v(e){let{publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a}=p(),{domain:i,proxyUrl:l}=(0,n.ho)();if(!t)return null;let u={domain:i,proxyUrl:l,publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a},d=(0,b.nO)(u),f="app"===e.router?"script":y();return c.createElement(f,{src:d,"data-clerk-js-script":!0,async:!0,defer:"pages"!==e.router&&void 0,crossOrigin:"anonymous",strategy:"pages"===e.router?"beforeInteractive":void 0,...(0,b.T5)(u)})}var _=r(38036),h=r(76975),g=r(67160),w=r(63680);let E=e=>{var t;return{...e,publishableKey:e.publishableKey||w.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY||"",clerkJSUrl:e.clerkJSUrl||w.env.NEXT_PUBLIC_CLERK_JS_URL,clerkJSVersion:e.clerkJSVersion||w.env.NEXT_PUBLIC_CLERK_JS_VERSION,proxyUrl:e.proxyUrl||w.env.NEXT_PUBLIC_CLERK_PROXY_URL||"",domain:e.domain||w.env.NEXT_PUBLIC_CLERK_DOMAIN||"",isSatellite:e.isSatellite||(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_IS_SATELLITE),signInUrl:e.signInUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL||"",signUpUrl:e.signUpUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_URL||"",signInForceRedirectUrl:e.signInForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL||"",signUpForceRedirectUrl:e.signUpForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL||"",signInFallbackRedirectUrl:e.signInFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL||"",signUpFallbackRedirectUrl:e.signUpFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL||"",afterSignInUrl:e.afterSignInUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL||"",afterSignUpUrl:e.afterSignUpUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL||"",newSubscriptionRedirectUrl:e.newSubscriptionRedirectUrl||w.env.NEXT_PUBLIC_CLERK_CHECKOUT_CONTINUE_URL||"",telemetry:null!=(t=e.telemetry)?t:{disabled:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DISABLED),debug:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DEBUG)},sdkMetadata:g.tm}};var x=r(3102),C=r(57042);let k=()=>{var e,t;let r=(0,n.ho)(),{pagesRouter:s}=(0,C.r)();return null==(t=r.telemetry)||t.record((0,x.YF)({router:s?"pages":"app",...(null==(e=null==globalThis?void 0:globalThis.next)?void 0:e.version)?{nextjsVersion:globalThis.next.version}:{}})),null};var L=r(43458),R=r(93149),T=r(71743);let j=e=>{var t;return null!=window.__clerk_internal_navigations||(window.__clerk_internal_navigations={}),null!=(t=window.__clerk_internal_navigations)[e]||(t[e]={}),window.__clerk_internal_navigations[e]},I=e=>{let{windowNav:t,routerNav:r,name:n}=e,s=(0,i.usePathname)(),[o,a]=(0,c.useTransition)();t&&(j(n).fun=(e,s)=>new Promise(o=>{var i,l;null!=(i=j(n)).promisesBuffer||(i.promisesBuffer=[]),null==(l=j(n).promisesBuffer)||l.push(o),a(()=>{var n,o,a;if((null==(n=null==s?void 0:s.__internal_metadata)?void 0:n.navigationType)==="internal")t((null!=(a=null==(o=window.next)?void 0:o.version)?a:"")<"14.1.0"?history.state:null,"",e);else r(e)})}));let l=()=>{var e;null==(e=j(n).promisesBuffer)||e.forEach(e=>e()),j(n).promisesBuffer=[]};return(0,c.useEffect)(()=>(l(),l),[]),(0,c.useEffect)(()=>{o||l()},[s,o]),(0,c.useCallback)((e,t)=>j(n).fun(e,t),[])},P=(0,a.default)(()=>r.e(4443).then(r.bind(r,34443)).then(e=>e.KeylessCreatorOrReader),{loadableGenerated:{webpack:()=>[34443]}}),S=e=>{let t,r;if(L.M0){var a,d;let e=`Clerk:
|
|
2
2
|
Your current Next.js version (${l.version}) will be deprecated in the next major release of "@clerk/nextjs". Please upgrade to next@14.1.0 or later.`;(0,s.M)()?(a=e,o.has(a)||(o.add(a),console.warn(a))):(d=`
|
|
3
3
|
\x1b[43m----------
|
|
4
4
|
${e}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[883],{883:(e,t,n)=>{n.r(t),n.d(t,{SessionTerminal:()=>I});var r=n(54568),l=n(58299),i=n(13454);let a=(0,i.A)("file-up",[["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:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]]),s=(0,i.A)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]),u=(0,i.A)("square-stop",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]);var o=n(60527),c=n(14796),d=n(36645),h=(n(82797),n(7620)),m=n(76081),f=n(85905),w=n(31404),p=n(18510);let g=new Set(["queued","spawning","running","working","needs_input","stuck"]);var y=n(63680);function b(e){return"127.0.0.1"===e||"localhost"===e||"::1"===e}function x(e){return e.length>1&&e.endsWith("/")?e.replace(/\/+$/,""):e}function v(e){return e.startsWith("/api/sessions/")&&e.includes("/terminal/ttyd")}async function U(e,t){let n=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/terminal/token`,t?.bridgeId),{cache:"no-store",credentials:"same-origin",signal:t?.signal}),r=await n.json().catch(()=>null),l="string"==typeof r?.ttydHttpUrl&&r.ttydHttpUrl.trim().length>0?r.ttydHttpUrl.trim():null,i="string"==typeof r?.wsUrl&&r.wsUrl.trim().length>0?r.wsUrl.trim():null,a="string"==typeof r?.ttydWsUrl&&r.ttydWsUrl.trim().length>0?r.ttydWsUrl.trim():i,s="string"==typeof r?.tunnelUrl&&r.tunnelUrl.trim().length>0?r.tunnelUrl.trim():null,u="string"==typeof r?.relayTtydWsUrl&&r.relayTtydWsUrl.trim().length>0?r.relayTtydWsUrl.trim():null,o=(()=>{let e=r?.expiresInSeconds;if("number"==typeof e&&Number.isFinite(e))return Math.max(0,Math.floor(e));if("string"==typeof e){let t=Number.parseInt(e.trim(),10);if(Number.isFinite(t))return Math.max(0,t)}return null})();return 401===n.status||403===n.status?{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,relayTtydWsUrl:null,reason:r?.error??"Terminal access denied"}:n.ok?{interactive:!0,ttydHttpUrl:l,ttydWsUrl:a,tunnelUrl:s,relayTtydWsUrl:u,expiresInSeconds:o}:{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,relayTtydWsUrl:null,reason:r?.error??"Terminal unavailable"}}async function k(e,t){let n=function(){let e=function(){if("u"<typeof document)return null;let e=document.querySelector('meta[name="conductor-backend-url"]'),t=e?.content?.trim();if(!t)return null;try{let e=window.location.origin,n=new URL(t,e);if("http:"!==n.protocol&&"https:"!==n.protocol)return null;{let e=new URL(window.location.origin);b(n.hostname)&&!b(e.hostname)&&(n.hostname=e.hostname,"https:"===e.protocol&&"http:"===n.protocol&&(n.protocol="https:"))}return n.toString()}catch{return null}}();if(e)return e;let t=y.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL?.trim();if(t)return t;let{protocol:n,hostname:r,origin:l,port:i}=window.location;return"3000"===i||"4747"===i?`${n}//${r}:4749`:l}(),r=window.location.origin,l=await U(e,t);if(!1===l.interactive)return{terminalUrl:null,terminalLinkUrl:null,relayTtydWsUrl:null,interactive:!1,reason:l.reason,expiresInSeconds:null,tunnelUrl:null};let i=function(e,t,n,r){let l=e??t;if(!l)return null;try{let e=(()=>{try{return new URL(l,r).pathname}catch{return null}})(),t=e&&v(e)?r:n,i=new URL(l,t);return"ws:"===i.protocol&&(i.protocol="http:"),"wss:"===i.protocol&&(i.protocol="https:"),"/ws"===i.pathname?i.pathname="/":i.pathname.endsWith("/ws")&&(i.pathname=x(i.pathname.slice(0,-3))),i.pathname=x(i.pathname),i.hash="",i.toString()}catch{return null}}(l.ttydHttpUrl,l.ttydWsUrl,n,r);if(!l.ttydHttpUrl&&l.ttydWsUrl){var a;let n,i,s=(a=t?.bridgeId,n=new URL(`/embed/terminal/${encodeURIComponent(e)}`,r),(i=a?.trim())&&n.searchParams.set("bridgeId",i),n.toString());return{terminalUrl:s,terminalLinkUrl:s,relayTtydWsUrl:l.relayTtydWsUrl,interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}}if(!i)return{terminalUrl:null,terminalLinkUrl:null,relayTtydWsUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."};let s=function(e,t){let n=t?.trim();if(!n)return e;try{let t=new URL(e);if(!v(t.pathname))return e;return t.searchParams.set("bridgeId",n),t.toString()}catch{return e}}(i,t?.bridgeId),u=function(e,t,n){if(n?.trim()||!t.tunnelUrl)return e;try{let n=new URL(t.tunnelUrl),r=function(e){if(!e)return null;try{return new URL(e).searchParams.get("token")}catch{return null}}(e);if(!r)return e;return n.searchParams.set("token",r),n.toString()}catch{return e}}(s,l,t?.bridgeId);return{terminalUrl:s,terminalLinkUrl:u,relayTtydWsUrl:l.relayTtydWsUrl,interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}}function R(e){if(!e)return null;try{let t=new URL(e);return t.searchParams.delete("token"),t.hash="",t.toString()}catch{return e}}var j=n(86181);let C=new Set(["archived","killed","terminated","restored"]),S=[0,50,150,400,1e3];async function N(e,t,n){let r=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/keys`,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`Failed to queue terminal input (${r.status})`)}}function L(e,t){let n;if(e&&t&&null!==e.contentWindow){try{n=new URL(e.src).origin}catch{n=window.location.origin}n&&"null"!==n&&e.contentWindow.postMessage({type:"conductor-ttyd-auth-token",token:t},n)}}function E(e,t){let n;if(e?.contentWindow&&t){try{n=new URL(e.src).origin}catch{n=window.location.origin}if(n&&"null"!==n)try{e.contentWindow.postMessage({type:"conductor-ttyd-relay-url",relayTtydWsUrl:t},n)}catch{}}}function T(e){let{sessionId:t,projectId:n,bridgeId:i,sessionState:y,runtimeMode:b,pendingInsert:x,immersiveMobileMode:v=!1,panelVisible:U=!0,onPendingInsertConsumed:T}=e,I=(0,h.useRef)(null),P=(0,h.useRef)(null),W=(0,h.useRef)(0),A=(0,h.useRef)(0),M=(0,h.useRef)(null),$=(0,h.useRef)(null),z=(0,h.useRef)([]),F=(0,h.useRef)(!1),_=(0,h.useRef)(null),D=(0,h.useRef)(0),O=(0,h.useRef)(Date.now()),q=(0,h.useRef)(null),H=(0,h.useRef)(null),B=(0,h.useRef)(0),V=(0,h.useRef)(0),J=(0,h.useRef)(0),K=(0,h.useRef)(0),X=(0,h.useRef)(0),G=(0,h.useRef)(null),Q=(0,h.useMemo)(()=>y.trim().toLowerCase(),[y]),Y=b?.trim().toLowerCase()??null,Z="ttyd"===Y,ee=Z?!C.has(Q):g.has(Q),et=(0,h.useRef)(ee);et.current=ee;let en=(0,h.useRef)(null),er=(0,h.useRef)(null),[el,ei]=(0,h.useState)(null),[ea,es]=(0,h.useState)(null),[eu,eo]=(0,h.useState)(null),[ec,ed]=(0,h.useState)(ee),[eh,em]=(0,h.useState)(null),[ef,ew]=(0,h.useState)(!1),[ep,eg]=(0,h.useState)(0),[ey,eb]=(0,h.useState)(""),[ex,ev]=(0,h.useState)(!1),[eU,ek]=(0,h.useState)(null),[eR,ej]=(0,h.useState)(null),[eC,eS]=(0,h.useState)(null),[eN,eL]=(0,h.useState)(!1),[eE,eT]=(0,h.useState)(!1),eI=(0,h.useRef)(null),eP=(0,h.useRef)(null),eW=(0,h.useRef)(!1),eA=(0,h.useRef)(0),eM=(0,h.useRef)(null),e$=(0,h.useRef)(null),ez=(0,h.useCallback)(()=>{for(let e of z.current)window.clearTimeout(e);z.current=[]},[]),eF=(0,h.useCallback)(()=>{let e=$.current,t=M.current;if(!e?.contentWindow||!t)return;let n=t.getBoundingClientRect(),r=Math.round(n.width),l=Math.round(n.height);if(r<10||l<10)return;let i=eM.current;i&&i.w===r&&i.h===l||(eM.current={w:r,h:l},function(e){let t;if(e?.contentWindow){try{t=new URL(e.src).origin}catch{t=window.location.origin}if(t&&"null"!==t)try{e.contentWindow.postMessage({type:"conductor-terminal-resize"},t)}catch{}}}(e))},[]),e_=(0,h.useCallback)(()=>{if($.current?.contentWindow)for(let e of(ez(),S))z.current.push(window.setTimeout(()=>{eF()},e))},[ez,eF]),eD=(0,h.useCallback)(()=>{let e=function(e){if(!e)return null;try{let t=new URL(e).searchParams.get("token")?.trim();return t&&t.length>0?t:null}catch{return null}}(ea);e&&L($.current,e)},[ea]),eO=(0,h.useCallback)(()=>{E($.current,eu)},[eu]),eq=(0,h.useCallback)(e=>{if(!ee)return;let t=window.Date.now();e?.force!==!0&&t-D.current<1500||(D.current=t,e?.resetResizeCache&&(eM.current=null,eA.current=t+120),e?.syncCurrentToken!==!1&&(eD(),eO(),e_()),e?.resolveConnection?(J.current+=1,eg(e=>e+1)):V.current+=1)},[ee,e_,eO,eD]);(0,h.useEffect)(()=>{eI.current=el},[el]),(0,h.useEffect)(()=>{eP.current=eu},[eu]),(0,h.useEffect)(()=>{F.current=ef},[ef]),(0,h.useEffect)(()=>{W.current=0,A.current=0,ei(null),es(null),eo(null),ed(ee),em(null),ew(!1),eg(0),eb(""),ev(!1),ek(null),ej(null),eS(null),eL(!1),eW.current=!1,F.current=!1,_.current=null,D.current=0,eA.current=0,eM.current=null,q.current=null,H.current=null,B.current=0,V.current=0,J.current=0,K.current=0,X.current=0,O.current=Date.now(),ez()},[ez,t]),(0,h.useEffect)(()=>{C.has(Q)&&(ei(null),es(null),eo(null),ew(!1),em(null),eW.current=!1)},[Q,t]),(0,h.useEffect)(()=>{eM.current=null},[el]),(0,h.useEffect)(()=>()=>ez(),[ez]),(0,h.useEffect)(()=>{let e=window.setTimeout(()=>{(null===er.current||void 0===er.current)&&(er.current=ee);let e=er.current;er.current=ee,ee||!0!==e||(en.current?.abort(),ed(!1),em(null)),ee&&!1===e&&eg(e=>e+1)},500);return()=>window.clearTimeout(e)},[ee]),(0,h.useEffect)(()=>{if(!et.current)return void ed(!1);let e=!1,n=null,r=null,l=new AbortController;return en.current=l,(!eI.current||eW.current)&&ed(!0),em(null),k(t,{signal:l.signal,bridgeId:i}).then(t=>{if(!e&&et.current){if(A.current=0,t.interactive&&t.terminalUrl){var n,l,i;let e,a,s=t.terminalLinkUrl??t.terminalUrl,u=t.relayTtydWsUrl??null,o=eP.current!==u,c=eW.current||(n=eI.current,l=t.terminalUrl,e=R(n),a=R(l),!e||e!==a);eW.current=!1,es(s),eo(u);let d=!c&&eI.current&&function(e,t){if(!e)return!1;try{let n=new URL(e),r=new URL(t);if(n.origin!==r.origin||n.pathname!==r.pathname)return!1;let l=new URLSearchParams(n.searchParams),i=new URLSearchParams(r.searchParams);l.delete("token"),i.delete("token");let a=l.toString(),s=i.toString();if(a!==s)return!1;let u=new URL(e).searchParams.get("token"),o=new URL(t).searchParams.get("token");return u!==o}catch{return!1}}(eI.current,t.terminalUrl);if(c||!eI.current)eI.current||ew(!1),ei(t.terminalUrl);else{let e=$.current;if(d&&e){let n=(()=>{try{return new URL(t.terminalUrl).searchParams.get("token")}catch{return null}})();n&&L(e,n)}o&&e&&E(e,u)}em(null);let h="number"!=typeof(i=t.expiresInSeconds)||!Number.isFinite(i)||i<=0?null:1e3*Math.max(5,i-30);null!==h&&(r=window.setTimeout(()=>{G.current=null,eg(e=>e+1)},h),G.current=r);return}et.current&&(eI.current||(ei(null),es(null),eo(null),ew(!1)),em(t.reason??"Live ttyd terminal is unavailable."))}}).catch(t=>{if(e||!et.current||t instanceof DOMException&&"AbortError"===t.name)return;let r=!!eI.current;r||(ei(null),es(null),eo(null),ew(!1)),em(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=A.current,i=r?5e3:Math.min(4e3,500*2**l);A.current=r?0:Math.min(l+1,3),n=window.setTimeout(()=>{eg(e=>e+1)},i)}).finally(()=>{!e&&et.current&&ed(!1)}),()=>{e=!0,l.abort(),en.current===l&&(en.current=null),null!==n&&window.clearTimeout(n),null!==r&&window.clearTimeout(r),null!==G.current&&(window.clearTimeout(G.current),G.current=null)}},[i,ep,t]),(0,h.useEffect)(()=>{let e=e$.current;if(e$.current=U,!U)return;let t=0,n=0;return!1===e&&(eq({resetResizeCache:!0,resolveConnection:!1}),t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{eM.current=null,e_(),eF()})})),()=>{cancelAnimationFrame(t),cancelAnimationFrame(n)}},[eF,U,eq,e_]);let eH=(0,h.useCallback)(()=>{if(!ee)return;let e=window.Date.now(),t=null===_.current?0:e-_.current;_.current=null,eq({force:t>0,resetResizeCache:t>0,resolveConnection:!1})},[ee,eq]);(0,h.useEffect)(()=>{if("u"<typeof document)return;let e=()=>{if("hidden"===document.visibilityState){_.current=window.Date.now(),eA.current=window.Date.now()+320,null!==G.current&&(window.clearTimeout(G.current),G.current=null);return}"visible"===document.visibilityState&&(eA.current=window.Date.now()+200,eH(),eg(e=>e+1))},t=()=>{eH()},n=()=>{eH()};return document.addEventListener("visibilitychange",e),window.addEventListener("pageshow",t),window.addEventListener("online",n),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("pageshow",t),window.removeEventListener("online",n)}},[eH]),(0,h.useEffect)(()=>{if(!U||!ee)return;let e=()=>{eA.current=window.Date.now()+120,eM.current=null,e_(),requestAnimationFrame(()=>{eF()})};return window.addEventListener("focus",e),()=>{window.removeEventListener("focus",e)}},[ee,eF,U,e_]),(0,h.useEffect)(()=>{let e=e=>{if(!e.data||"object"!=typeof e.data||e.source!==$.current?.contentWindow)return;let t=e.data.type;if("conductor-ttyd-ready"===t){ew(!0),em(null),e_(),eF();return}"conductor-ttyd-auth-token-request"===t&&(K.current+=1,eq({force:!0,resetResizeCache:!0,resolveConnection:!0}))};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[eF,eq,e_]),(0,h.useEffect)(()=>{if(!x||x.nonce<=W.current)return;W.current=x.nonce;let e=x.inlineText.trim();if(0===e.length)return;let n=!1;return N(t,`${e} `,i).then(()=>{n||(ej(null),T?.())}).catch(e=>{n||ej(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{n=!0}},[i,T,x,t]),(0,h.useEffect)(()=>{ef&&(eD(),eO())},[ef,eO,eD]),(0,h.useEffect)(()=>{if(!ee||!el||ef)return;let e=window.setTimeout(()=>{F.current||em("The terminal view did not finish loading in time. Try reload or open in a new tab.")},25e3);return()=>window.clearTimeout(e)},[ee,ef,el]),(0,h.useCallback)(async()=>{let e=ey.trim();if(0!==e.length&&!ex){ev(!0),ek(null);try{let n=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(t)}/actions`,i),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:e})});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Failed to send message (${n.status})`)}eb(""),I.current?.focus()}catch(e){ek(e instanceof Error?e.message:"Failed to send message")}finally{ev(!1)}}},[i,ey,ex,t]);let eB=(0,h.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&await N(t,e,i)}catch{}},[i,t]),eV=(0,h.useCallback)(()=>{P.current?.click()},[]),eJ=(0,h.useCallback)(async e=>{let{files:r}=e.target;if(e.target.value="",r&&0!==r.length){eS(null),eL(!0);try{for(let e of(await (0,f.P)({files:Array.from(r),projectId:n,taskRef:t,bridgeId:i})))await N(t,`\r
|
|
2
|
+
[attached file: ${e}]\r
|
|
3
|
+
`,i)}catch(e){eS(e instanceof Error?e.message:"Failed to upload attachment.")}finally{eL(!1)}}},[i,n,t]),eK=(0,h.useCallback)(async()=>{await N(t,"\x03",i)},[i,t]),eX=(0,h.useCallback)(()=>{let e=M.current;if(!e)return;let t=window.visualViewport;if(!t)return;let{usableHeight:n,keyboardVisible:r}=(0,j.wP)(window.innerHeight,t.height,t.offsetTop,e.getBoundingClientRect().top);if(!r){e.style.height="100%",eT(!1);return}if(n<=0){e.style.height="100%";return}e.style.height=`${Math.max(0,Math.round(n))}px`,eT(!0)},[]);(0,h.useEffect)(()=>{let e=M.current;if(!e)return;let t=null,n=()=>{if(!U||window.Date.now()<eA.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(null!==t&&(window.clearTimeout(t),t=null),t=window.setTimeout(()=>{if(t=null,window.Date.now()<eA.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(eX(),eF())},150))};n();let r="u"<typeof ResizeObserver?null:new ResizeObserver(()=>{n()}),l=window.visualViewport;return r?.observe(e),window.addEventListener("resize",n),l?.addEventListener("resize",n),l?.addEventListener("scroll",n),()=>{r?.disconnect(),window.removeEventListener("resize",n),l?.removeEventListener("resize",n),l?.removeEventListener("scroll",n),null!==t&&window.clearTimeout(t),e.style.removeProperty("height")}},[eX,ee,eF,U,el]),(0,h.useEffect)(()=>{},[eh,ee,ef,Y,eU,eR,ec,t,el,ea,eu,Z]);let eG=(0,h.useCallback)(()=>{X.current+=1,em(null),A.current=0,eW.current=!0,eg(e=>e+1)},[]),eQ=ee?"Connecting live terminal":"Live terminal is not active",eY=eh??(ee?"Reconnecting to the existing ttyd terminal.":Z?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":`Session status is \`${Q}\`. Interactive ttyd terminals only run while the agent is active.`),eZ=ea??el??void 0,e0=(0,p.s)(t,{bridgeId:i,tab:"terminal"});return(0,r.jsxs)("div",{className:v?"group/terminal relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[#060404]":"group/terminal relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden rounded-none border-0 bg-[#060404] lg:rounded-[14px] lg:border lg:border-white/10 lg:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",children:[(0,r.jsxs)("div",{className:"absolute right-2 top-2 z-20 flex items-center gap-2 sm:right-3 sm:top-3",children:[(0,r.jsx)("input",{ref:P,type:"file",multiple:!0,accept:"*/*",className:"sr-only",tabIndex:-1,"aria-hidden":!0,onChange:e=>void eJ(e)}),(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",disabled:!ee||!el||eN,className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] disabled:opacity-40 sm:h-7 sm:w-7",onClick:eV,"aria-label":"Attach photos or files",children:eN?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(a,{className:"h-3.5 w-3.5"})}),window.matchMedia?.("(pointer: coarse)").matches?(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eB,"aria-label":"Paste from clipboard",children:(0,r.jsx)(s,{className:"h-3.5 w-3.5"})}):null,(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eK,"aria-label":"Soft stop (Ctrl+C)",children:(0,r.jsx)(u,{className:"h-3.5 w-3.5"})}),(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eG,"aria-label":"Reload ttyd terminal",children:ec?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{className:v?"min-h-0 min-w-0 h-0 flex-1 overflow-hidden px-0 pb-[env(safe-area-inset-bottom)] pt-0 w-full":"min-h-0 min-w-0 h-0 flex-1 overflow-hidden px-0.5 pb-0 pt-0.5 lg:px-1.5 lg:pb-1 lg:pt-3 w-full",children:ee&&el?(0,r.jsxs)("div",{ref:M,className:"relative flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden rounded-[10px] bg-[#060404] pb-[env(safe-area-inset-bottom)]",children:[ef?null:(0,r.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-[#060404]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-[#141010]/92 px-3 py-2 text-[12px] text-[#c9c0b7] backdrop-blur-sm",children:[(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,r.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,r.jsx)("iframe",{ref:$,title:`ttyd terminal for ${t}`,src:el,className:"block h-full min-h-0 w-full flex-1 border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onError:()=>{em("Failed to load the terminal frame. Try reload or open in a new tab.")},onLoad:()=>{let e=Date.now();B.current+=1,H.current=e,null===q.current&&(q.current=e),ew(!0),em(null),eX(),eD(),eO(),e_()}},t)]}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center p-4",children:(0,r.jsx)("div",{className:"max-w-lg rounded-[16px] border border-white/10 bg-[#141010]/92 p-5 text-[#efe8e1] shadow-[0_24px_48px_rgba(0,0,0,0.34)]",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"mt-0.5 rounded-full border border-white/10 bg-[#201818] p-2 text-[#c9c0b7]",children:eh?(0,r.jsx)(c.A,{className:"h-4 w-4"}):(0,r.jsx)(l.A,{className:`h-4 w-4 ${ec?"animate-spin":""}`})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[14px] font-medium",children:eQ}),(0,r.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:eY}),eZ?(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-x-3 gap-y-1",children:[(0,r.jsx)("a",{href:e0,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the full terminal page"}),(0,r.jsx)("a",{href:eZ,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#a79c94] underline underline-offset-4",children:"Open the ttyd terminal directly"})]}):null]})]})})})}),eR||eC?(0,r.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] px-3 py-2 text-[11px] text-[#ffb39e] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:[eR?(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(c.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:eR}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ej(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,eC?(0,r.jsxs)("div",{className:`flex items-center gap-1.5 ${eR?"mt-2":""}`,children:[(0,r.jsx)(c.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:eC}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>eS(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null]}):null,null]})}let I=(0,h.memo)(function(e){return(0,r.jsx)(T,{...e})},function(e,t){var n,r;let l=e.panelVisible??!0,i=t.panelVisible??!0;return e.sessionId===t.sessionId&&e.projectId===t.projectId&&e.bridgeId===t.bridgeId&&l===i&&((n=e.pendingInsert)===(r=t.pendingInsert)||!!n&&!!r&&n.nonce===r.nonce&&n.inlineText===r.inlineText)&&(!l&&!i||e.sessionState===t.sessionState&&e.runtimeMode===t.runtimeMode&&e.immersiveMobileMode===t.immersiveMobileMode)})},14796:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},18510:(e,t,n)=>{n.d(t,{J:()=>l,s:()=>i});var r=n(10926);function l(e){let t=(0,r.C0)(e);if(!t)return"/";let n=new URLSearchParams;return n.set("bridge",t),`/?${n.toString()}`}function i(e,t={}){let n,l=e.trim(),a=(0,r.DW)(l)?l:(n=(0,r.C0)(t.bridgeId))?(0,r.Bp)(n,l):l,s=new URLSearchParams,u=t.tab?.trim();u&&s.set("tab",u);let o=s.toString(),c=`/sessions/${encodeURIComponent(a)}`;return o.length>0?`${c}?${o}`:c}},82797:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},85905:(e,t,n)=>{n.d(t,{P:()=>i});var r=n(31404);function l(e){return e&&"object"==typeof e?e:null}async function i({files:e,projectId:t,taskRef:n,bridgeId:a,preferAbsolute:s=!0}){if(!e.length)return[];let u=t.trim();if(!u)throw Error("Project id is required to upload attachments");let o=new FormData;o.append("projectId",u);let c=n?.trim();for(let t of(c&&o.append("taskRef",c),e))o.append("files",t);let d=await fetch((0,r.S)("/api/attachments",a),{method:"POST",body:o}),h=await d.json().catch(()=>null);if(!d.ok){let t=1===e.length?e[0]?.name??"attachment":`${e.length} attachments`;throw Error(h?.error??`Failed to upload ${t}`)}let m=(Array.isArray(h?.files)?h.files:h?[h]:[]).map(e=>(function(e,t){let n=l(e);if(!n)return null;let r=l(n.attachment);for(let e of t?[n.absolutePath,n.path,n.filePath,r?.absolutePath,r?.path,r?.filePath]:[n.path,n.absolutePath,n.filePath,r?.path,r?.absolutePath,r?.filePath])if("string"==typeof e&&e.trim().length>0)return e.trim();return null})(e,s)).filter(e=>!!e);if(0===m.length)throw Error("Attachment upload succeeded but did not return a usable file path");return m}}}]);
|