conductor-oss 0.57.6 → 0.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/node_modules/@conductor-oss/core/dist/config.js +4 -4
- package/node_modules/@conductor-oss/core/dist/config.js.map +1 -1
- package/node_modules/@conductor-oss/core/dist/types.d.ts +1 -1
- package/node_modules/@conductor-oss/core/dist/types.js +1 -1
- 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 -6
- package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +12 -12
- package/web/.next/standalone/packages/web/.next/routes-manifest.json +8 -16
- 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/token/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ws/route.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/{ttyd → ws}/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ws/route_client-reference-manifest.js +1 -0
- 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 +6 -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 -6
- package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/{9149.js → 3054.js} +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/{7548.js → 3414.js} +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/5068.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/626.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/{3540.js → 7737.js} +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/9030.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 +1 -3
- 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/{2fd2xxj8LPZwZbsGpYttR → EZxyXuDt2fbD_J3ABqLGK}/_buildManifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/1698.2bb12e16a46e63e6.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{2261.cbe7673af7ac2a09.js → 2261.a4a22edc2699e706.js} +1 -1
- package/web/.next/{static/chunks/9703-93347b812923255f.js → standalone/packages/web/.next/static/chunks/3301-83bfba2f12daff75.js} +2 -2
- package/web/.next/standalone/packages/web/.next/static/chunks/{3838.e16cb2d72c562a24.js → 3838.70eaf44136d75fd9.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4094.b94100f0b554a20c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{6778.b11dd7c7d98f5ec9.js → 4397.d5c3dfd99c20ef0a.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{4443.0816c59f52ded54b.js → 4443.951bc4743a39cfbe.js} +1 -1
- 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-aa36cf7b22e93079.js → 5493-56abbf2a46a290a7.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{1964-5f3bdfb35008cdf0.js → 6778-f675a7009d5d06b5.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{8510-7040ccbe7369f319.js → 8510-8433dfaacc306299.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/sync/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/open/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/setup/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ws/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-4353167bf419a5e2.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/embed/terminal/[id]/page-f237abb4e8051e1b.js +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-5dcda65798010dd0.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-a738f5ee8dd225d5.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/{page-c5e2da005848302c.js → page-0584f75c0511152f.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-2014857132332e79.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-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2014857132332e79.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/webpack-910378af4ef971d5.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/css/6ef2fa08dd043252.css +1 -0
- package/web/.next/standalone/packages/web/.next/static/css/e079b536879689ec.css +1 -0
- package/web/.next/static/{2fd2xxj8LPZwZbsGpYttR → EZxyXuDt2fbD_J3ABqLGK}/_buildManifest.js +1 -1
- package/web/.next/static/chunks/1698.2bb12e16a46e63e6.js +1 -0
- package/web/.next/static/chunks/{2261.cbe7673af7ac2a09.js → 2261.a4a22edc2699e706.js} +1 -1
- package/web/.next/{standalone/packages/web/.next/static/chunks/9703-93347b812923255f.js → static/chunks/3301-83bfba2f12daff75.js} +2 -2
- package/web/.next/static/chunks/{3838.e16cb2d72c562a24.js → 3838.70eaf44136d75fd9.js} +1 -1
- package/web/.next/static/chunks/4094.b94100f0b554a20c.js +1 -0
- package/web/.next/static/chunks/{6778.b11dd7c7d98f5ec9.js → 4397.d5c3dfd99c20ef0a.js} +1 -1
- package/web/.next/static/chunks/{4443.0816c59f52ded54b.js → 4443.951bc4743a39cfbe.js} +1 -1
- package/web/.next/static/chunks/{2969.7ed62af605513fc5.js → 5350.aa94c6b8388dca53.js} +1 -1
- package/web/.next/static/chunks/{5493-aa36cf7b22e93079.js → 5493-56abbf2a46a290a7.js} +1 -1
- package/web/.next/static/chunks/{1964-5f3bdfb35008cdf0.js → 6778-f675a7009d5d06b5.js} +1 -1
- package/web/.next/static/chunks/{8510-7040ccbe7369f319.js → 8510-8433dfaacc306299.js} +1 -1
- package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/_global-error/page-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/access/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/agents/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/app-update/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/attachments/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/auth/profile/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/boards/comments/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/boards/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/bridges/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/code/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/bridge/devices/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/bridges/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/config/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/context-files/open/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/context-files/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/events/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/executor/health/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/filesystem/directory/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/github/projects/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/github/projects/sync/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/github/repos/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/github/webhook/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/health/boards/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/health/sessions/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/notifications/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/preferences/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/open/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/setup/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/projects/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/repositories/[id]/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/repositories/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/files/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/output/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ws/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/skills/activate/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/skills/catalog/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/skills/deactivate/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/skills/install/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/skills/installed/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/skills/session-active/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/skills/uninstall/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/spawn/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/workspaces/branches/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/api/workspaces/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/bridge/connect/page-4353167bf419a5e2.js +1 -0
- package/web/.next/static/chunks/app/bridge/install.ps1/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/bridge/install.sh/route-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/app/embed/terminal/[id]/page-f237abb4e8051e1b.js +3 -0
- package/web/.next/static/chunks/app/layout-5dcda65798010dd0.js +1 -0
- package/web/.next/static/chunks/app/page-a738f5ee8dd225d5.js +1 -0
- package/web/.next/static/chunks/app/sessions/[id]/{page-c5e2da005848302c.js → page-0584f75c0511152f.js} +1 -1
- package/web/.next/static/chunks/app/sign-in/hosted/page-2014857132332e79.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-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2014857132332e79.js +1 -0
- package/web/.next/static/chunks/webpack-910378af4ef971d5.js +1 -0
- package/web/.next/static/css/6ef2fa08dd043252.css +1 -0
- package/web/.next/static/css/e079b536879689ec.css +1 -0
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route_client-reference-manifest.js +0 -1
- 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/app/api/sessions/[id]/terminal/ttyd/ws/route.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js.nft.json +0 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route_client-reference-manifest.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/3364.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/8039.js +0 -278
- package/web/.next/standalone/packages/web/.next/server/chunks/8488.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/1136.122b0a20e0377c72.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/883-535cfc45ad771bdd.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/connect/page-69fb7636334c3973.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-6026ce906f0cd4a4.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-b6a5c403840a5555.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-da63d844222da45c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/webpack-861a73c6545f426f.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/css/d31189a7bb85881e.css +0 -1
- package/web/.next/static/chunks/1136.122b0a20e0377c72.js +0 -1
- package/web/.next/static/chunks/883-535cfc45ad771bdd.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/connect/page-69fb7636334c3973.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-6026ce906f0cd4a4.js +0 -1
- package/web/.next/static/chunks/app/page-b6a5c403840a5555.js +0 -1
- package/web/.next/static/chunks/app/sign-in/hosted/page-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-da63d844222da45c.js +0 -1
- package/web/.next/static/chunks/webpack-861a73c6545f426f.js +0 -1
- package/web/.next/static/css/d31189a7bb85881e.css +0 -1
- /package/web/.next/standalone/packages/web/.next/static/{2fd2xxj8LPZwZbsGpYttR → EZxyXuDt2fbD_J3ABqLGK}/_ssgManifest.js +0 -0
- /package/web/.next/static/{2fd2xxj8LPZwZbsGpYttR → EZxyXuDt2fbD_J3ABqLGK}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9703],{10926:(e,t,r)=>{r.d(t,{Bp:()=>i,C0:()=>a,DW:()=>s,kV:()=>d});let n="bridge:";function a(e){let t=e?.trim();return t&&t.length>0?t:null}function i(e,t){return`${n}${e}:${t}`}function s(e){let t=e?.trim();if(!t||!t.startsWith(n))return null;let r=t.slice(n.length),i=r.indexOf(":");if(i<=0||i>=r.length-1)return null;let s=a(r.slice(0,i)),d=r.slice(i+1).trim();return s&&0!==d.length?{bridgeId:s,sessionId:d}:null}function d(e){let t=e?.trim()??"";return t?s(t)?.sessionId??t:""}},11984:(e,t,r)=>{function n(e){let t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("127.0.0.1:4749")||t.includes("older bridge build")||t.includes("one-time local bridge upgrade"))}function a(e){return`This laptop needs a one-time local bridge upgrade before ${function(e){switch(e){case"repair":return"Repair bridge";case"restart":return"Restart service";case"update":return"Update Conductor"}}(e)} can run from the dashboard.`}function i(e){let t=e?.trim()||"This laptop";return`${t} is still on an older bridge build, so Conductor cannot repair, restart, or update it remotely yet. Upgrade the bridge once on that laptop, then future fixes run from the dashboard.`}r.d(t,{Az:()=>n,IG:()=>a,_5:()=>i})},15115:(e,t,r)=>{function n(e,t){return"string"==typeof e&&e.trim().length>0?e.trim():t}function a(e){let t="string"==typeof e?e.trim():"";return t?` (build ${t})`:""}function i(e){return Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e).map(e=>{let t,r,a;return t=n(e.hostname,"unknown-host"),r=n(e.os,"unknown-os"),a=n(e.arch,"unknown-arch"),{device_id:n(e.device_id,t),device_name:n(e.device_name,t),hostname:t,os:r,arch:a,connected:!0===e.connected,last_status:e.last_status?{hostname:n(e.last_status.hostname,t),os:n(e.last_status.os,r),connected:!0===e.last_status.connected,version:"string"==typeof e.last_status.version&&e.last_status.version.trim().length>0?e.last_status.version.trim():null}:null}}):[]}r.d(t,{oH:()=>i,wj:()=>a})},15321:(e,t,r)=>{r.d(t,{i:()=>m});var n=r(54568),a=r(7620),i=r(65587),s=r.n(i),d=r(63322),o=r(59706),l=r(87242),c=r(76081),u=r(46916),v=r(11984),p=r(61369);function m({deviceId:e,deviceName:t,deviceOs:r,dashboardUrl:i,installScriptUrl:g,installPowerShellUrl:h,relayUrl:x,className:f}){let[b,w]=(0,a.useState)(!1),k=(0,a.useMemo)(()=>(0,p.Y8)(r),[r]),y="windows"===k?h:g,_=(0,a.useMemo)(()=>(0,p.$y)(y,i,x,k),[i,x,y,k]),j=(0,a.useMemo)(()=>(0,p.kw)(e),[e]);return(0,n.jsxs)("div",{className:(0,u.cn)("mt-3 rounded-[14px] border border-[color:color-mix(in_srgb,var(--vk-orange)_28%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)] px-3 py-3",f),children:[(0,n.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"One-time local repair"}),(0,n.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-normal)]",children:(0,v._5)(t)}),(0,n.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,n.jsxs)(c.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{navigator.clipboard?.writeText?(w(!1),navigator.clipboard.writeText(_).then(()=>{w(!0)}).catch(()=>{w(!1)})):w(!1)},children:[b?(0,n.jsx)(d.A,{className:"h-4 w-4"}):(0,n.jsx)(o.A,{className:"h-4 w-4"}),b?"Repair command copied":"Copy repair command"]}),(0,n.jsx)(c.$,{asChild:!0,variant:"outline",size:"sm",children:(0,n.jsxs)(s(),{href:j,children:[(0,n.jsx)(l.A,{className:"h-4 w-4"}),"Open repair steps"]})})]})]})}},26167:(e,t,r)=>{r.d(t,{E:()=>i,b:()=>a});var n=r(11984);async function a(e){let t=await s(e,"service-restart",{});return t?.message??"Bridge service restart scheduled. This laptop should reconnect once the bridge is back online."}async function i(e,t){let r=await s(e,"repair",{installScriptUrl:t});return r?.message??"Bridge reinstall requested. This laptop should reconnect shortly."}async function s(e,t,r){let a=await fetch(`/api/bridge/devices/${encodeURIComponent(e)}/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r),cache:"no-store"}),i=await a.json().catch(()=>null);if(!a.ok){var s,d;let e;throw Error((s=i?.error??i?.message??null,d=a.status,e=s?.trim()??"",(0,n.Az)(e)?(0,n.IG)("repair"===t?"repair":"restart"):e||`Failed to run ${t} on the bridge service (${d})`))}return i}},31404:(e,t,r)=>{r.d(t,{S:()=>a,y:()=>i});var n=r(10926);function a(e,t){let r=(0,n.C0)(t);if(!r)return e;let a=new URL(e,"http://127.0.0.1");return a.searchParams.set("bridgeId",r),`${a.pathname}${a.search}${a.hash}`}function i(e){let t=function(e){if(!e)return null;if(e instanceof URL)return e;if("string"==typeof e)try{return new URL(e,"http://127.0.0.1")}catch{return null}if("string"==typeof e.href)try{return new URL(e.href)}catch{}return null}(e);if(!t)return null;let r=(0,n.C0)(t.searchParams.get("bridge")??t.searchParams.get("bridgeId"));if(r)return r;let a=(0,n.DW)(t.searchParams.get("session"))?.bridgeId;if(a)return a;let i=t.pathname.match(/^\/sessions\/([^/]+)$/);if(!i)return null;try{return(0,n.DW)(decodeURIComponent(i[1]))?.bridgeId??null}catch{return null}}},39702:(e,t,r)=>{r.d(t,{J:()=>I});var n=r(54568),a=r(7620),i=r(40448),s=r(65587),d=r.n(s),o=r(79748),l=r(22061),c=r(34041),u=r(58299),v=r(87242),p=r(2099),m=r(60527),g=r(81167),h=r(15321),x=r(44522),f=r(11984),b=r(46916),w=r(26167),k=r(83770),y=r(61369),_=r(15115),j=r(67506);let N="/bridge/connect";function $({connected:e,className:t,title:r,suffix:a}){return(0,n.jsxs)("span",{className:(0,b.cn)("inline-flex items-center gap-2 rounded-full border px-2.5 py-1 text-[12px] font-medium",e?"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]":"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]",t),title:r,children:[(0,n.jsx)("span",{className:(0,b.cn)("h-2.5 w-2.5 rounded-full",e?"bg-[var(--vk-green)]":"bg-[var(--vk-red)]")}),(0,n.jsx)("span",{children:e?"Online":"Offline"}),a]})}function C({className:e}){let t=(0,o.useRouter)(),r=(0,o.usePathname)(),s=(0,o.useSearchParams)(),[I,R]=(0,a.useState)([]),[S,A]=(0,a.useState)(!0),[U,E]=(0,a.useState)(null),[T,L]=(0,a.useState)(null),[M,O]=(0,a.useState)({deviceId:null,phase:"idle",message:null}),[P,D]=(0,a.useState)({deviceId:null,kind:null,status:"idle",message:null}),[F,z]=(0,a.useState)(null),B=(0,a.useRef)(new Set),q=(0,j.y)(),W=!!q&&null===F,V=(0,a.useCallback)(async e=>{if(!W){e&&A(!1),R([]),E(null);return}e&&A(!0);try{let e=await fetch("/api/bridge/devices",{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok){if((0,k.Xt)(t?.error)){z(t?.error??null),R([]),E(null);return}throw Error(t?.error??`Failed to load bridge devices (${e.status})`)}R((0,_.oH)(t?.devices)),z(null),E(null)}catch(e){E(e instanceof Error?e.message:"Failed to load bridge devices.")}finally{A(!1)}},[W]);(0,a.useEffect)(()=>{if(!W){A(!1),R([]),E(null);return}let e=!1,t=null,r=async t=>{e||await V(t)};return r(!0),t=window.setInterval(()=>{r(!1)},15e3),()=>{e=!0,null!==t&&window.clearInterval(t)}},[W,V]),(0,a.useEffect)(()=>{let e=()=>{L((0,x.Tr)()?.deviceId??null)};return e(),window.addEventListener("focus",e),window.addEventListener("storage",e),()=>{window.removeEventListener("focus",e),window.removeEventListener("storage",e)}},[]),(0,a.useEffect)(()=>{r!==N&&t.prefetch(N)},[r,t]);let G=I.filter(e=>e.connected),J=s.get("bridge")?.trim()||null,Y=window.location.origin,H=J?I.find(e=>e.device_id===J)??null:null,X=!S&&0===G.length,Z=T?I.find(e=>e.device_id===T)??null:null,Q=X?H?.device_id?(0,y.kw)(H.device_id):Z?.device_id?(0,y.kw)(Z.device_id):I[0]?.device_id?(0,y.kw)(I[0].device_id):N:N,K=G.length>0,ee=W?U??(K?`${G.length} bridge${1===G.length?"":"s"} online`:I.length>0?"No paired bridges are online":"No paired bridges yet"):F??"Bridge relay URL is not configured";(0,a.useEffect)(()=>{let e=(Z?.connected?Z:null)??(H?.connected?H:null);!e||B.current.has(e.device_id)||(B.current.add(e.device_id),(0,x.jV)(e,O))},[Z,H]),(0,a.useEffect)(()=>{!Z||Z.connected||M.message||O({deviceId:Z.device_id,phase:"checking",message:`Waiting for ${Z.device_name} to reconnect so Conductor can finish its package update.`})},[M.message,Z]);let et=(0,a.useCallback)(async e=>{D({deviceId:e.device_id,kind:"restart",status:"running",message:`Restarting the bridge service on ${e.device_name}.`});try{let t=await (0,w.b)(e.device_id);D({deviceId:e.device_id,kind:"restart",status:"completed",message:`${t} Waiting for ${e.device_name} to reconnect.`}),[2e3,5e3,1e4,2e4,35e3].forEach(e=>{window.setTimeout(()=>{V(!1)},e)})}catch(t){D({deviceId:e.device_id,kind:"restart",status:"failed",message:t instanceof Error?t.message:`Failed to restart ${e.device_name}.`})}},[V]),er=(0,a.useCallback)(async e=>{D({deviceId:e.device_id,kind:"repair",status:"running",message:`Reinstalling the bridge service on ${e.device_name}.`});try{let t=(0,y.pj)(window.location.origin,(0,y.Y8)(e.os)),r=await (0,w.E)(e.device_id,t);D({deviceId:e.device_id,kind:"repair",status:"completed",message:r}),window.setTimeout(()=>{V(!1)},2e3)}catch(t){D({deviceId:e.device_id,kind:"repair",status:"failed",message:t instanceof Error?t.message:`Failed to repair ${e.device_name}.`})}},[V]),en=(0,a.useCallback)(async e=>{await (0,x.jV)(e,O),window.setTimeout(()=>{V(!1)},2e3)},[V]);return X?(0,n.jsx)(d(),{href:Q,prefetch:!0,className:"inline-flex",title:I.length>0?"Reconnect paired device":"Pair a device",children:(0,n.jsx)($,{connected:!1,className:e,title:I.length>0?"Reconnect paired device":"Pair a device",suffix:(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"})})}):(0,n.jsxs)(i.bL,{children:[(0,n.jsx)(i.l9,{asChild:!0,children:(0,n.jsx)("button",{type:"button",className:"outline-none",children:(0,n.jsx)($,{connected:K,className:e,title:ee,suffix:(0,n.jsx)(c.A,{className:"h-3.5 w-3.5 text-current/70"})})})}),(0,n.jsx)(i.ZL,{children:(0,n.jsxs)(i.UC,{align:"end",sideOffset:8,className:"z-[90] w-[320px] rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 text-[var(--vk-text-normal)] shadow-[0_22px_48px_rgba(0,0,0,0.34)]",children:[(0,n.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,n.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.22em] text-[var(--vk-text-muted)]",children:"Conductor Bridge"}),(0,n.jsx)("div",{className:"mt-2 text-[13px] text-[var(--vk-text-normal)]",children:K?`${G.length} device${1===G.length?"":"s"} online`:S?"Loading device status":"No live bridge connection"}),(0,n.jsx)("div",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:"If a laptop is online but misbehaving, repair the bridge, update Conductor, or restart the service here."}),U?(0,n.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-red)]",children:U}):null,M.message?(0,n.jsxs)("div",{className:(0,b.cn)("mt-2 flex flex-wrap items-center gap-2 text-[12px] leading-5","failed"===M.phase?"text-[var(--vk-red)]":"skipped"===M.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,x.qv)(M.phase)}),(0,n.jsx)("span",{children:M.message})]}):null]}),(0,n.jsx)("div",{className:"mt-2 max-h-[280px] overflow-y-auto",children:I.length>0?I.map(e=>{let t=(0,x.xv)(M,e.device_id),r="running"===P.status&&P.deviceId===e.device_id,a=r&&"repair"===P.kind,i=r&&"restart"===P.kind,s=P.deviceId===e.device_id&&(0,f.Az)(P.message)||M.deviceId===e.device_id&&(0,f.Az)(M.message);return(0,n.jsx)("div",{className:"rounded-[14px] px-3 py-2.5 transition-colors hover:bg-[var(--vk-bg-hover)]",children:(0,n.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:e.device_name}),(0,n.jsxs)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:[e.hostname," \xb7 ",e.os,"/",e.arch,(0,_.wj)(e.last_status?.version)]}),(0,n.jsxs)("div",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Relay: ",e.last_status?.hostname??e.hostname,(0,_.wj)(e.last_status?.version)]}),M.message&&M.deviceId===e.device_id?(0,n.jsxs)("div",{className:(0,b.cn)("mt-1 flex flex-wrap items-center gap-2 text-[11px] leading-5","failed"===M.phase?"text-[var(--vk-red)]":"skipped"===M.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,x.qv)(M.phase)}),(0,n.jsx)("span",{children:M.message})]}):null,P.message&&P.deviceId===e.device_id?(0,n.jsx)("div",{className:(0,b.cn)("mt-1 text-[11px] leading-5","failed"===P.status?"text-[var(--vk-red)]":"completed"===P.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:P.message}):null,s&&Y?(0,n.jsx)(h.i,{deviceId:e.device_id,deviceName:e.device_name,deviceOs:e.os,dashboardUrl:Y,installScriptUrl:(0,y.pj)(Y),installPowerShellUrl:(0,y.pj)(Y,"windows"),relayUrl:q}):null,e.connected?(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:r||t,onClick:()=>{er(e)},children:[a?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(v.A,{className:"h-3.5 w-3.5"}),"Repair bridge"]}),(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:t||r,onClick:()=>{en(e)},children:[t?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(p.A,{className:"h-3.5 w-3.5"}),t?"Updating...":"Update Conductor"]}),(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:r||t,onClick:()=>{et(e)},children:[i?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Restart service"]})]}):null]}),(0,n.jsx)($,{connected:!0===e.connected})]})},e.device_id)}):(0,n.jsx)("div",{className:"rounded-[14px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[12px] text-[var(--vk-text-muted)]",children:S?"Loading paired devices...":"Pair a laptop to see bridge status here."})}),(0,n.jsx)(i.wv,{className:"my-2 h-px bg-[var(--vk-border)]"}),(0,n.jsx)(i.q7,{asChild:!0,children:(0,n.jsxs)(d(),{href:N,prefetch:!0,className:"flex items-center justify-between rounded-[12px] px-3 py-2 text-[13px] font-medium text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,n.jsx)("span",{children:"Open paired devices"}),(0,n.jsx)(g.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"})]})})]})})]})}function I({connected:e,className:t,title:r}={}){return"boolean"==typeof e?(0,n.jsx)($,{connected:e,className:t,title:r}):(0,n.jsx)(C,{className:t})}},44522:(e,t,r)=>{r.d(t,{N8:()=>c,Tr:()=>p,jV:()=>m,m7:()=>v,qv:()=>s,xv:()=>d});var n=r(31404),a=r(11984);let i="conductor-bridge-recent-pairing";function s(e){switch(e){case"checking":return"Checking";case"updating":return"Updating";case"restarting":return"Restarting";case"completed":return"Completed";case"skipped":return"Skipped";case"failed":return"Failed";default:return"Idle"}}function d(e,t){return e.deviceId===t&&("checking"===e.phase||"updating"===e.phase||"restarting"===e.phase)}function o(e,t){return t.jobMessage??`Installing Conductor ${t.latestVersion??"latest"} on ${e.device_name}.`}function l(e){let t=e.currentVersion?.trim();return t?` (build ${t})`:""}function c(e){if(!e.enabled)switch(e.reason){case"source-checkout":return"This laptop is running from a source checkout, so there is no published package to auto-update.";case"missing-cli-metadata":return"This install could not determine its update metadata, so automatic package updates are unavailable.";default:return"Automatic package updates are unavailable for this laptop."}return e.updateAvailable?e.canAutoUpdate?`This laptop is already running the latest Conductor release${l(e)}.`:"npx"===e.installMode?"This laptop was launched via npx, so the next launch will pick up the latest package automatically.":e.updateCommand?`A newer Conductor release is available, but this install still needs a manual update: ${e.updateCommand}`:"A newer Conductor release is available, but this install cannot update itself automatically.":`This laptop is already running the latest Conductor release${l(e)}.`}async function u(e,t){var r,i;let s=t?.method??"GET",d=`/api/bridge/devices/${encodeURIComponent(e)}/app-update`,o=new URL((0,n.S)(d,e),window.location.origin);t?.force&&o.searchParams.set("force","1");let l=await fetch(o.toString(),{method:s,headers:t?.body?{"Content-Type":"application/json"}:void 0,body:t?.body?JSON.stringify(t.body):void 0,cache:"no-store"}),c=await l.json().catch(()=>null);if(!l.ok){let e;throw Error((r=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null,i=l.status,e=r?.trim()??"",(0,a.Az)(e)?(0,a.IG)("update"):e||`Failed to update Conductor on this laptop (${i})`))}let u=c&&"object"==typeof c?c:null;if(!u)throw Error("Paired device returned an invalid update payload.");return u}function v(e){let t={deviceId:e.deviceId,deviceName:e.deviceName??null,pairedAt:new Date().toISOString()};try{window.localStorage.setItem(i,JSON.stringify(t))}catch{}}function p(){try{let e=window.localStorage.getItem(i);if(!e)return null;let t=JSON.parse(e);if(!(t&&"object"==typeof t&&"string"==typeof t.deviceId&&"string"==typeof t.pairedAt&&(null===t.deviceName||"string"==typeof t.deviceName)))return window.localStorage.removeItem(i),null;let r=Date.parse(t.pairedAt);if(!Number.isFinite(r)||Date.now()-r>18e5)return window.localStorage.removeItem(i),null;return t}catch{return null}}async function m(e,t){let r=(r,n)=>{t({deviceId:e.device_id,phase:r,message:n})};r("checking",`Checking for Conductor updates on ${e.device_name}.`);try{let t=await u(e.device_id,{force:!0});if(t.restarting)return void r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name}. This page will reconnect once the bridge runtime is back online.`);if("running"===t.jobStatus)r("updating",o(e,t));else{if(!t.updateAvailable||!t.enabled||!t.canAutoUpdate)return void r(t.enabled&&t.canAutoUpdate?"completed":"skipped",c(t));t=await u(e.device_id,{method:"POST"}),r("updating",o(e,t))}let n=Date.now()+3e5;for(;Date.now()<n&&"running"===t.jobStatus;){if(await new Promise(e=>{window.setTimeout(e,1500)}),(t=await u(e.device_id)).restarting)return void r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name}. This page will reconnect once the bridge runtime is back online.`);r("updating",o(e,t))}if("running"===t.jobStatus)return void r("updating",`The package update is still running on ${e.device_name}. Leave this page open and Conductor will finish applying it in the background.`);if("failed"===t.jobStatus)throw Error(t.jobMessage??t.error??`Automatic package update failed on ${e.device_name}.`);if(t.restartRequired){if(t.canRestart){t=await u(e.device_id,{method:"POST",body:{action:"restart"}}),r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name} to finish updating Conductor.`);return}r("completed",t.jobMessage??`The latest Conductor package is installed on ${e.device_name}. Restart that laptop to finish updating.`);return}r("completed",t.jobMessage??`${e.device_name} is now updated to Conductor ${t.latestVersion??"latest"}.`)}catch(t){r("failed",t instanceof Error?t.message:`Failed to auto-update ${e.device_name}.`)}}},46916:(e,t,r)=>{r.d(t,{cn:()=>i});var n=r(9917),a=r(2809);function i(...e){return(0,a.QP)((0,n.$)(e))}},61369:(e,t,r)=>{function n(e){return/^[A-Za-z0-9_./:=@%+-]+$/.test(e)?e:`'${e.replace(/'/g,"'\"'\"'")}'`}function a(e){return e.map(n).join(" ")}function i(e){return`'${e.replace(/'/g,"''")}'`}function s(e){return/^[A-Za-z0-9_./:=@%+\\-]+$/.test(e)?e:i(e)}function d(e,t="unix"){return"windows"===t?["& (Join-Path $HOME '.conductor\\bin\\conductor-bridge.exe')",...e.map(s)].join(" "):a(["conductor-bridge",...e])}function o(e){return(e?.trim().toLowerCase()??"").startsWith("windows")?"windows":"unix"}function l(e,t="unix"){return new URL("windows"===t?"/bridge/install.ps1":"/bridge/install.sh",e).toString()}function c(e){return`/bridge/connect?device=${encodeURIComponent(e)}#bridge-setup`}function u(e,t="unix"){return"windows"===t?`& ([scriptblock]::Create((Invoke-RestMethod -Uri ${i(e)})))`:`curl -fsSL ${n(e)} | sh`}function v(e,t,r,s="unix"){if("windows"===s){let n=[`& ([scriptblock]::Create((Invoke-RestMethod -Uri ${i(e)})))`,"-Connect","-DashboardUrl",i(t)];return r?.trim()&&n.push("-RelayUrl",i(r.trim())),n.join(" ")}let d=["sh","-s","--","--connect","--dashboard-url",t];return r?.trim()&&d.push("--relay-url",r.trim()),`curl -fsSL ${n(e)} | ${a(d)}`}function p(e,t,r="unix"){let n=["connect","--dashboard-url",e];return t?.trim()&&n.push("--relay-url",t.trim()),d(n,r)}function m(e,t,r="unix"){let n=["pair","--code",e?.trim()||"ABC123"],a=["daemon"];return t?.trim()&&(n.push("--relay-url",t.trim()),a.push("--relay-url",t.trim())),`${d(n,r)}
|
|
2
|
-
${d(a,r)}`}r.d(t,{$y:()=>v,G7:()=>u,Y8:()=>o,hI:()=>p,kw:()=>c,pj:()=>l,zd:()=>m})},67506:(e,t,r)=>{r.d(t,{y:()=>a});var n=r(63680);function a(){let e=function(e){let t=e?.trim();if(!t)return null;try{let e=new URL(t);if("http:"!==e.protocol&&"https:"!==e.protocol)return null;return e.toString()}catch{return null}}(n.env.CONDUCTOR_BRIDGE_RELAY_URL??n.env.NEXT_PUBLIC_CONDUCTOR_BRIDGE_RELAY_URL);return e||null}},76081:(e,t,r)=>{r.d(t,{$:()=>l});var n=r(54568),a=r(46916),i=r(78347),s=r(7620);let d={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},o={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},l=(0,s.forwardRef)(({variant:e="default",size:t="md",asChild:r,className:s,children:l,...c},u)=>{let v=r?i.DX:"button";return(0,n.jsx)(v,{ref:u,className:(0,a.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",d[e],o[t],s),...c,children:l})});l.displayName="Button"},77522:(e,t,r)=>{r.d(t,{C:()=>n,n:()=>a});let n=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function a(e){return"merged"===e.status||"archived"===e.status||"killed"===e.status||"errored"===e.status||"cleanup"===e.status||"done"===e.status||"terminated"===e.status||e.pr&&("merged"===e.pr.state||"closed"===e.pr.state)?"done":"mergeable"===e.status||"approved"===e.status||e.pr?.mergeability.mergeable?"merge":"waiting_input"===e.activity||"blocked"===e.activity||"needs_input"===e.status||"stuck"===e.status?"respond":"queued"===e.status?"pending":"exited"===e.activity?"respond":"ci_failed"===e.status||"changes_requested"===e.status||e.pr&&("failing"===e.pr.ciStatus||"changes_requested"===e.pr.reviewDecision||!e.pr.mergeability.noConflicts)?"review":"review_pending"===e.status||e.pr&&!e.pr.isDraft&&("pending"===e.pr.reviewDecision||"none"===e.pr.reviewDecision)?"pending":"working"}},83770:(e,t,r)=>{r.d(t,{Xt:()=>n});function n(e){let t=e?.trim();return"Bridge relay URL is not configured"===t||"RELAY_JWT_SECRET is required for bridge relay access"===t}}
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3301],{10926:(e,t,r)=>{r.d(t,{Bp:()=>i,C0:()=>a,DW:()=>s,kV:()=>d});let n="bridge:";function a(e){let t=e?.trim();return t&&t.length>0?t:null}function i(e,t){return`${n}${e}:${t}`}function s(e){let t=e?.trim();if(!t||!t.startsWith(n))return null;let r=t.slice(n.length),i=r.indexOf(":");if(i<=0||i>=r.length-1)return null;let s=a(r.slice(0,i)),d=r.slice(i+1).trim();return s&&0!==d.length?{bridgeId:s,sessionId:d}:null}function d(e){let t=e?.trim()??"";return t?s(t)?.sessionId??t:""}},11984:(e,t,r)=>{function n(e){let t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("127.0.0.1:4749")||t.includes("older bridge build")||t.includes("one-time local bridge upgrade"))}function a(e){return`This laptop needs a one-time local bridge upgrade before ${function(e){switch(e){case"repair":return"Repair bridge";case"restart":return"Restart service";case"update":return"Update Conductor"}}(e)} can run from the dashboard.`}function i(e){let t=e?.trim()||"This laptop";return`${t} is still on an older bridge build, so Conductor cannot repair, restart, or update it remotely yet. Upgrade the bridge once on that laptop, then future fixes run from the dashboard.`}r.d(t,{Az:()=>n,IG:()=>a,_5:()=>i})},15115:(e,t,r)=>{function n(e,t){return"string"==typeof e&&e.trim().length>0?e.trim():t}function a(e){let t="string"==typeof e?e.trim():"";return t?` (build ${t})`:""}function i(e){return Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e).map(e=>{let t,r,a;return t=n(e.hostname,"unknown-host"),r=n(e.os,"unknown-os"),a=n(e.arch,"unknown-arch"),{device_id:n(e.device_id,t),device_name:n(e.device_name,t),hostname:t,os:r,arch:a,connected:!0===e.connected,last_status:e.last_status?{hostname:n(e.last_status.hostname,t),os:n(e.last_status.os,r),connected:!0===e.last_status.connected,version:"string"==typeof e.last_status.version&&e.last_status.version.trim().length>0?e.last_status.version.trim():null}:null}}):[]}r.d(t,{oH:()=>i,wj:()=>a})},15321:(e,t,r)=>{r.d(t,{i:()=>m});var n=r(54568),a=r(7620),i=r(65587),s=r.n(i),d=r(63322),o=r(59706),l=r(87242),c=r(76081),u=r(46916),v=r(11984),p=r(61369);function m({deviceId:e,deviceName:t,deviceOs:r,dashboardUrl:i,installScriptUrl:g,installPowerShellUrl:h,relayUrl:x,className:f}){let[b,w]=(0,a.useState)(!1),k=(0,a.useMemo)(()=>(0,p.Y8)(r),[r]),y="windows"===k?h:g,_=(0,a.useMemo)(()=>(0,p.$y)(y,i,x,k),[i,x,y,k]),j=(0,a.useMemo)(()=>(0,p.kw)(e),[e]);return(0,n.jsxs)("div",{className:(0,u.cn)("mt-3 rounded-[14px] border border-[color:color-mix(in_srgb,var(--vk-orange)_28%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)] px-3 py-3",f),children:[(0,n.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"One-time local repair"}),(0,n.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-normal)]",children:(0,v._5)(t)}),(0,n.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,n.jsxs)(c.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{navigator.clipboard?.writeText?(w(!1),navigator.clipboard.writeText(_).then(()=>{w(!0)}).catch(()=>{w(!1)})):w(!1)},children:[b?(0,n.jsx)(d.A,{className:"h-4 w-4"}):(0,n.jsx)(o.A,{className:"h-4 w-4"}),b?"Repair command copied":"Copy repair command"]}),(0,n.jsx)(c.$,{asChild:!0,variant:"outline",size:"sm",children:(0,n.jsxs)(s(),{href:j,children:[(0,n.jsx)(l.A,{className:"h-4 w-4"}),"Open repair steps"]})})]})]})}},26167:(e,t,r)=>{r.d(t,{E:()=>i,b:()=>a});var n=r(11984);async function a(e){let t=await s(e,"service-restart",{});return t?.message??"Bridge service restart scheduled. This laptop should reconnect once the bridge is back online."}async function i(e,t){let r=await s(e,"repair",{installScriptUrl:t});return r?.message??"Bridge reinstall requested. This laptop should reconnect shortly."}async function s(e,t,r){let a=await fetch(`/api/bridge/devices/${encodeURIComponent(e)}/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r),cache:"no-store"}),i=await a.json().catch(()=>null);if(!a.ok){var s,d;let e;throw Error((s=i?.error??i?.message??null,d=a.status,e=s?.trim()??"",(0,n.Az)(e)?(0,n.IG)("repair"===t?"repair":"restart"):e||`Failed to run ${t} on the bridge service (${d})`))}return i}},31404:(e,t,r)=>{r.d(t,{S:()=>a,y:()=>i});var n=r(10926);function a(e,t){let r=(0,n.C0)(t);if(!r)return e;let a=new URL(e,"http://127.0.0.1");return a.searchParams.set("bridgeId",r),`${a.pathname}${a.search}${a.hash}`}function i(e){let t=function(e){if(!e)return null;if(e instanceof URL)return e;if("string"==typeof e)try{return new URL(e,"http://127.0.0.1")}catch{return null}if("string"==typeof e.href)try{return new URL(e.href)}catch{}return null}(e);if(!t)return null;let r=(0,n.C0)(t.searchParams.get("bridge")??t.searchParams.get("bridgeId"));if(r)return r;let a=(0,n.DW)(t.searchParams.get("session"))?.bridgeId;if(a)return a;let i=t.pathname.match(/^\/sessions\/([^/]+)$/);if(!i)return null;try{return(0,n.DW)(decodeURIComponent(i[1]))?.bridgeId??null}catch{return null}}},39702:(e,t,r)=>{r.d(t,{J:()=>I});var n=r(54568),a=r(7620),i=r(40448),s=r(65587),d=r.n(s),o=r(79748),l=r(22061),c=r(34041),u=r(58299),v=r(87242),p=r(2099),m=r(60527),g=r(81167),h=r(15321),x=r(44522),f=r(11984),b=r(46916),w=r(26167),k=r(83770),y=r(61369),_=r(15115),j=r(67506);let N="/bridge/connect";function $({connected:e,className:t,title:r,suffix:a}){return(0,n.jsxs)("span",{className:(0,b.cn)("inline-flex items-center gap-2 rounded-full border px-2.5 py-1 text-[12px] font-medium",e?"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]":"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]",t),title:r,children:[(0,n.jsx)("span",{className:(0,b.cn)("h-2.5 w-2.5 rounded-full",e?"bg-[var(--vk-green)]":"bg-[var(--vk-red)]")}),(0,n.jsx)("span",{children:e?"Online":"Offline"}),a]})}function C({className:e}){let t=(0,o.useRouter)(),r=(0,o.usePathname)(),s=(0,o.useSearchParams)(),[I,R]=(0,a.useState)([]),[S,A]=(0,a.useState)(!0),[U,E]=(0,a.useState)(null),[T,L]=(0,a.useState)(null),[O,P]=(0,a.useState)({deviceId:null,phase:"idle",message:null}),[D,M]=(0,a.useState)({deviceId:null,kind:null,status:"idle",message:null}),[z,B]=(0,a.useState)(null),q=(0,a.useRef)(new Set),F=(0,j.y)(),W=!!F&&null===z,G=(0,a.useCallback)(async e=>{if(!W){e&&A(!1),R([]),E(null);return}e&&A(!0);try{let e=await fetch("/api/bridge/devices",{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok){if((0,k.Xt)(t?.error)){B(t?.error??null),R([]),E(null);return}throw Error(t?.error??`Failed to load bridge devices (${e.status})`)}R((0,_.oH)(t?.devices)),B(null),E(null)}catch(e){E(e instanceof Error?e.message:"Failed to load bridge devices.")}finally{A(!1)}},[W]);(0,a.useEffect)(()=>{if(!W){A(!1),R([]),E(null);return}let e=!1,t=null,r=async t=>{e||await G(t)};return r(!0),t=window.setInterval(()=>{r(!1)},15e3),()=>{e=!0,null!==t&&window.clearInterval(t)}},[W,G]),(0,a.useEffect)(()=>{let e=()=>{L((0,x.Tr)()?.deviceId??null)};return e(),window.addEventListener("focus",e),window.addEventListener("storage",e),()=>{window.removeEventListener("focus",e),window.removeEventListener("storage",e)}},[]),(0,a.useEffect)(()=>{r!==N&&t.prefetch(N)},[r,t]);let J=I.filter(e=>e.connected),V=s.get("bridge")?.trim()||null,Y=window.location.origin,X=V?I.find(e=>e.device_id===V)??null:null,H=!S&&0===J.length,Z=T?I.find(e=>e.device_id===T)??null:null,Q=H?X?.device_id?(0,y.kw)(X.device_id):Z?.device_id?(0,y.kw)(Z.device_id):I[0]?.device_id?(0,y.kw)(I[0].device_id):N:N,K=J.length>0,ee=W?U??(K?`${J.length} bridge${1===J.length?"":"s"} online`:I.length>0?"No paired bridges are online":"No paired bridges yet"):z??"Bridge relay URL is not configured";(0,a.useEffect)(()=>{let e=(Z?.connected?Z:null)??(X?.connected?X:null);!e||q.current.has(e.device_id)||(q.current.add(e.device_id),(0,x.jV)(e,P))},[Z,X]),(0,a.useEffect)(()=>{!Z||Z.connected||O.message||P({deviceId:Z.device_id,phase:"checking",message:`Waiting for ${Z.device_name} to reconnect so Conductor can finish its package update.`})},[O.message,Z]);let et=(0,a.useCallback)(async e=>{M({deviceId:e.device_id,kind:"restart",status:"running",message:`Restarting the bridge service on ${e.device_name}.`});try{let t=await (0,w.b)(e.device_id);M({deviceId:e.device_id,kind:"restart",status:"completed",message:`${t} Waiting for ${e.device_name} to reconnect.`}),[2e3,5e3,1e4,2e4,35e3].forEach(e=>{window.setTimeout(()=>{G(!1)},e)})}catch(t){M({deviceId:e.device_id,kind:"restart",status:"failed",message:t instanceof Error?t.message:`Failed to restart ${e.device_name}.`})}},[G]),er=(0,a.useCallback)(async e=>{M({deviceId:e.device_id,kind:"repair",status:"running",message:`Reinstalling the bridge service on ${e.device_name}.`});try{let t=(0,y.pj)(window.location.origin,(0,y.Y8)(e.os)),r=await (0,w.E)(e.device_id,t);M({deviceId:e.device_id,kind:"repair",status:"completed",message:r}),window.setTimeout(()=>{G(!1)},2e3)}catch(t){M({deviceId:e.device_id,kind:"repair",status:"failed",message:t instanceof Error?t.message:`Failed to repair ${e.device_name}.`})}},[G]),en=(0,a.useCallback)(async e=>{await (0,x.jV)(e,P),window.setTimeout(()=>{G(!1)},2e3)},[G]);return H?(0,n.jsx)(d(),{href:Q,prefetch:!0,className:"inline-flex",title:I.length>0?"Reconnect paired device":"Pair a device",children:(0,n.jsx)($,{connected:!1,className:e,title:I.length>0?"Reconnect paired device":"Pair a device",suffix:(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"})})}):(0,n.jsxs)(i.bL,{children:[(0,n.jsx)(i.l9,{asChild:!0,children:(0,n.jsx)("button",{type:"button",className:"outline-none",children:(0,n.jsx)($,{connected:K,className:e,title:ee,suffix:(0,n.jsx)(c.A,{className:"h-3.5 w-3.5 text-current/70"})})})}),(0,n.jsx)(i.ZL,{children:(0,n.jsxs)(i.UC,{align:"end",sideOffset:8,className:"z-[90] w-[320px] rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 text-[var(--vk-text-normal)] shadow-[0_22px_48px_rgba(0,0,0,0.34)]",children:[(0,n.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,n.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.22em] text-[var(--vk-text-muted)]",children:"Conductor Bridge"}),(0,n.jsx)("div",{className:"mt-2 text-[13px] text-[var(--vk-text-normal)]",children:K?`${J.length} device${1===J.length?"":"s"} online`:S?"Loading device status":"No live bridge connection"}),(0,n.jsx)("div",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:"If a laptop is online but misbehaving, repair the bridge, update Conductor, or restart the service here."}),U?(0,n.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-red)]",children:U}):null,O.message?(0,n.jsxs)("div",{className:(0,b.cn)("mt-2 flex flex-wrap items-center gap-2 text-[12px] leading-5","failed"===O.phase?"text-[var(--vk-red)]":"skipped"===O.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,x.qv)(O.phase)}),(0,n.jsx)("span",{children:O.message})]}):null]}),(0,n.jsx)("div",{className:"mt-2 max-h-[280px] overflow-y-auto",children:I.length>0?I.map(e=>{let t=(0,x.xv)(O,e.device_id),r="running"===D.status&&D.deviceId===e.device_id,a=r&&"repair"===D.kind,i=r&&"restart"===D.kind,s=D.deviceId===e.device_id&&(0,f.Az)(D.message)||O.deviceId===e.device_id&&(0,f.Az)(O.message);return(0,n.jsx)("div",{className:"rounded-[14px] px-3 py-2.5 transition-colors hover:bg-[var(--vk-bg-hover)]",children:(0,n.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:e.device_name}),(0,n.jsxs)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:[e.hostname," \xb7 ",e.os,"/",e.arch,(0,_.wj)(e.last_status?.version)]}),(0,n.jsxs)("div",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Relay: ",e.last_status?.hostname??e.hostname,(0,_.wj)(e.last_status?.version)]}),O.message&&O.deviceId===e.device_id?(0,n.jsxs)("div",{className:(0,b.cn)("mt-1 flex flex-wrap items-center gap-2 text-[11px] leading-5","failed"===O.phase?"text-[var(--vk-red)]":"skipped"===O.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,x.qv)(O.phase)}),(0,n.jsx)("span",{children:O.message})]}):null,D.message&&D.deviceId===e.device_id?(0,n.jsx)("div",{className:(0,b.cn)("mt-1 text-[11px] leading-5","failed"===D.status?"text-[var(--vk-red)]":"completed"===D.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:D.message}):null,s&&Y?(0,n.jsx)(h.i,{deviceId:e.device_id,deviceName:e.device_name,deviceOs:e.os,dashboardUrl:Y,installScriptUrl:(0,y.pj)(Y),installPowerShellUrl:(0,y.pj)(Y,"windows"),relayUrl:F}):null,e.connected?(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:r||t,onClick:()=>{er(e)},children:[a?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(v.A,{className:"h-3.5 w-3.5"}),"Repair bridge"]}),(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:t||r,onClick:()=>{en(e)},children:[t?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(p.A,{className:"h-3.5 w-3.5"}),t?"Updating...":"Update Conductor"]}),(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:r||t,onClick:()=>{et(e)},children:[i?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Restart service"]})]}):null]}),(0,n.jsx)($,{connected:!0===e.connected})]})},e.device_id)}):(0,n.jsx)("div",{className:"rounded-[14px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[12px] text-[var(--vk-text-muted)]",children:S?"Loading paired devices...":"Pair a laptop to see bridge status here."})}),(0,n.jsx)(i.wv,{className:"my-2 h-px bg-[var(--vk-border)]"}),(0,n.jsx)(i.q7,{asChild:!0,children:(0,n.jsxs)(d(),{href:N,prefetch:!0,className:"flex items-center justify-between rounded-[12px] px-3 py-2 text-[13px] font-medium text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,n.jsx)("span",{children:"Open paired devices"}),(0,n.jsx)(g.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"})]})})]})})]})}function I({connected:e,className:t,title:r}={}){return"boolean"==typeof e?(0,n.jsx)($,{connected:e,className:t,title:r}):(0,n.jsx)(C,{className:t})}},44522:(e,t,r)=>{r.d(t,{N8:()=>c,Tr:()=>p,jV:()=>m,m7:()=>v,qv:()=>s,xv:()=>d});var n=r(31404),a=r(11984);let i="conductor-bridge-recent-pairing";function s(e){switch(e){case"checking":return"Checking";case"updating":return"Updating";case"restarting":return"Restarting";case"completed":return"Completed";case"skipped":return"Skipped";case"failed":return"Failed";default:return"Idle"}}function d(e,t){return e.deviceId===t&&("checking"===e.phase||"updating"===e.phase||"restarting"===e.phase)}function o(e,t){return t.jobMessage??`Installing Conductor ${t.latestVersion??"latest"} on ${e.device_name}.`}function l(e){let t=e.currentVersion?.trim();return t?` (build ${t})`:""}function c(e){if(!e.enabled)switch(e.reason){case"source-checkout":return"This laptop is running from a source checkout, so there is no published package to auto-update.";case"missing-cli-metadata":return"This install could not determine its update metadata, so automatic package updates are unavailable.";default:return"Automatic package updates are unavailable for this laptop."}return e.updateAvailable?e.canAutoUpdate?`This laptop is already running the latest Conductor release${l(e)}.`:"npx"===e.installMode?"This laptop was launched via npx, so the next launch will pick up the latest package automatically.":e.updateCommand?`A newer Conductor release is available, but this install still needs a manual update: ${e.updateCommand}`:"A newer Conductor release is available, but this install cannot update itself automatically.":`This laptop is already running the latest Conductor release${l(e)}.`}async function u(e,t){var r,i;let s=t?.method??"GET",d=`/api/bridge/devices/${encodeURIComponent(e)}/app-update`,o=new URL((0,n.S)(d,e),window.location.origin);t?.force&&o.searchParams.set("force","1");let l=await fetch(o.toString(),{method:s,headers:t?.body?{"Content-Type":"application/json"}:void 0,body:t?.body?JSON.stringify(t.body):void 0,cache:"no-store"}),c=await l.json().catch(()=>null);if(!l.ok){let e;throw Error((r=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null,i=l.status,e=r?.trim()??"",(0,a.Az)(e)?(0,a.IG)("update"):e||`Failed to update Conductor on this laptop (${i})`))}let u=c&&"object"==typeof c?c:null;if(!u)throw Error("Paired device returned an invalid update payload.");return u}function v(e){let t={deviceId:e.deviceId,deviceName:e.deviceName??null,pairedAt:new Date().toISOString()};try{window.localStorage.setItem(i,JSON.stringify(t))}catch{}}function p(){try{let e=window.localStorage.getItem(i);if(!e)return null;let t=JSON.parse(e);if(!(t&&"object"==typeof t&&"string"==typeof t.deviceId&&"string"==typeof t.pairedAt&&(null===t.deviceName||"string"==typeof t.deviceName)))return window.localStorage.removeItem(i),null;let r=Date.parse(t.pairedAt);if(!Number.isFinite(r)||Date.now()-r>18e5)return window.localStorage.removeItem(i),null;return t}catch{return null}}async function m(e,t){let r=(r,n)=>{t({deviceId:e.device_id,phase:r,message:n})};r("checking",`Checking for Conductor updates on ${e.device_name}.`);try{let t=await u(e.device_id,{force:!0});if(t.restarting)return void r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name}. This page will reconnect once the bridge runtime is back online.`);if("running"===t.jobStatus)r("updating",o(e,t));else{if(!t.updateAvailable||!t.enabled||!t.canAutoUpdate)return void r(t.enabled&&t.canAutoUpdate?"completed":"skipped",c(t));t=await u(e.device_id,{method:"POST"}),r("updating",o(e,t))}let n=Date.now()+3e5;for(;Date.now()<n&&"running"===t.jobStatus;){if(await new Promise(e=>{window.setTimeout(e,1500)}),(t=await u(e.device_id)).restarting)return void r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name}. This page will reconnect once the bridge runtime is back online.`);r("updating",o(e,t))}if("running"===t.jobStatus)return void r("updating",`The package update is still running on ${e.device_name}. Leave this page open and Conductor will finish applying it in the background.`);if("failed"===t.jobStatus)throw Error(t.jobMessage??t.error??`Automatic package update failed on ${e.device_name}.`);if(t.restartRequired){if(t.canRestart){t=await u(e.device_id,{method:"POST",body:{action:"restart"}}),r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name} to finish updating Conductor.`);return}r("completed",t.jobMessage??`The latest Conductor package is installed on ${e.device_name}. Restart that laptop to finish updating.`);return}r("completed",t.jobMessage??`${e.device_name} is now updated to Conductor ${t.latestVersion??"latest"}.`)}catch(t){r("failed",t instanceof Error?t.message:`Failed to auto-update ${e.device_name}.`)}}},46916:(e,t,r)=>{r.d(t,{cn:()=>i});var n=r(9917),a=r(2809);function i(...e){return(0,a.QP)((0,n.$)(e))}},61369:(e,t,r)=>{function n(e){return/^[A-Za-z0-9_./:=@%+-]+$/.test(e)?e:`'${e.replace(/'/g,"'\"'\"'")}'`}function a(e){return e.map(n).join(" ")}function i(e){return`'${e.replace(/'/g,"''")}'`}function s(e){return/^[A-Za-z0-9_./:=@%+\\-]+$/.test(e)?e:i(e)}function d(e,t="unix"){return"windows"===t?["& (Join-Path $HOME '.conductor\\bin\\conductor-bridge.exe')",...e.map(s)].join(" "):a(["conductor-bridge",...e])}function o(e){return(e?.trim().toLowerCase()??"").startsWith("windows")?"windows":"unix"}function l(e,t="unix"){return new URL("windows"===t?"/bridge/install.ps1":"/bridge/install.sh",e).toString()}function c(e){return`/bridge/connect?device=${encodeURIComponent(e)}#bridge-setup`}function u(e,t="unix"){return"windows"===t?`& ([scriptblock]::Create((Invoke-RestMethod -Uri ${i(e)})))`:`curl -fsSL ${n(e)} | sh`}function v(e,t,r,s="unix"){if("windows"===s){let n=[`& ([scriptblock]::Create((Invoke-RestMethod -Uri ${i(e)})))`,"-Connect","-DashboardUrl",i(t)];return r?.trim()&&n.push("-RelayUrl",i(r.trim())),n.join(" ")}let d=["sh","-s","--","--connect","--dashboard-url",t];return r?.trim()&&d.push("--relay-url",r.trim()),`curl -fsSL ${n(e)} | ${a(d)}`}function p(e,t,r="unix"){let n=["connect","--dashboard-url",e];return t?.trim()&&n.push("--relay-url",t.trim()),d(n,r)}function m(e,t,r="unix"){let n=["pair","--code",e?.trim()||"ABC123"],a=["daemon"];return t?.trim()&&(n.push("--relay-url",t.trim()),a.push("--relay-url",t.trim())),`${d(n,r)}
|
|
2
|
+
${d(a,r)}`}r.d(t,{$y:()=>v,G7:()=>u,Y8:()=>o,hI:()=>p,kw:()=>c,pj:()=>l,zd:()=>m})},67506:(e,t,r)=>{r.d(t,{y:()=>a});var n=r(63680);function a(){let e=function(e){let t=e?.trim();if(!t)return null;try{let e=new URL(t);if("http:"!==e.protocol&&"https:"!==e.protocol)return null;return e.toString()}catch{return null}}(n.env.CONDUCTOR_BRIDGE_RELAY_URL??n.env.NEXT_PUBLIC_CONDUCTOR_BRIDGE_RELAY_URL);return e||null}},76081:(e,t,r)=>{r.d(t,{$:()=>l});var n=r(54568),a=r(46916),i=r(78347),s=r(7620);let d={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},o={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},l=(0,s.forwardRef)(({variant:e="default",size:t="md",asChild:r,className:s,children:l,...c},u)=>{let v=r?i.DX:"button";return(0,n.jsx)(v,{ref:u,className:(0,a.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",d[e],o[t],s),...c,children:l})});l.displayName="Button"},77522:(e,t,r)=>{r.d(t,{C:()=>n,n:()=>a});let n=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function a(e){return"merged"===e.status||"archived"===e.status||"killed"===e.status||"errored"===e.status||"cleanup"===e.status||"done"===e.status||"terminated"===e.status||e.pr&&("merged"===e.pr.state||"closed"===e.pr.state)?"done":"mergeable"===e.status||"approved"===e.status||e.pr?.mergeability.mergeable?"merge":"waiting_input"===e.activity||"blocked"===e.activity||"needs_input"===e.status||"stuck"===e.status?"respond":"queued"===e.status?"pending":"exited"===e.activity?"respond":"ci_failed"===e.status||"changes_requested"===e.status||e.pr&&("failing"===e.pr.ciStatus||"changes_requested"===e.pr.reviewDecision||!e.pr.mergeability.noConflicts)?"review":"review_pending"===e.status||e.pr&&!e.pr.isDraft&&("pending"===e.pr.reviewDecision||"none"===e.pr.reviewDecision)?"pending":"working"}},83770:(e,t,r)=>{r.d(t,{Xt:()=>n});function n(e){let t=e?.trim();return"Bridge relay URL is not configured"===t||"RELAY_JWT_SECRET is required for bridge relay access"===t}}}]);
|