conductor-oss 0.25.13 → 0.25.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/dist/commands/bridge.d.ts +3 -0
  2. package/dist/commands/bridge.d.ts.map +1 -0
  3. package/dist/commands/bridge.js +88 -0
  4. package/dist/commands/bridge.js.map +1 -0
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -1
  7. package/package.json +5 -5
  8. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  9. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +6 -9
  10. package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
  11. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  12. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +8 -8
  13. package/web/.next/standalone/packages/web/.next/routes-manifest.json +6 -30
  14. package/web/.next/standalone/packages/web/.next/server/app/__clerk/[[...path]]/route.js +1 -1
  15. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page.js +3 -3
  16. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  20. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  24. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +2 -2
  26. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/api/auth/profile/route.js +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/[bridgeId]/route.js +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/route.js +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/app-update/route.js +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/repair/route.js +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/route.js +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/service-restart/route.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/claims/complete/route.js +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/code/route.js +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/route.js +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app/api/bridges/route.js +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js +1 -1
  46. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js +1 -1
  48. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +1 -1
  58. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js +1 -1
  59. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js +1 -1
  61. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  62. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js +1 -1
  63. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js +1 -1
  64. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js +1 -1
  65. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js +1 -1
  66. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js +1 -1
  67. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route.js +1 -1
  68. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +1 -1
  70. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js +1 -1
  72. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js +1 -1
  73. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js +1 -1
  74. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js +1 -1
  76. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/relay/route.js +1 -1
  78. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js +1 -1
  79. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js +1 -1
  80. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js +1 -1
  81. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js +1 -1
  82. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +1 -1
  83. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +1 -1
  84. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js +1 -1
  85. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +1 -1
  86. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +2 -2
  87. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  88. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  89. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route.js +173 -0
  90. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route.js.nft.json +1 -0
  91. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route_client-reference-manifest.js +1 -0
  92. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.sh/route.js +2 -2
  93. package/web/.next/standalone/packages/web/.next/server/app/icon.svg/route.js +1 -1
  94. package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
  95. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  96. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  97. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
  98. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  99. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  100. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +2 -2
  101. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  102. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  103. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +2 -2
  104. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  105. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  106. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +2 -2
  107. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  108. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  109. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +2 -2
  110. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  111. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  112. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +2 -2
  113. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  114. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  115. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +6 -9
  116. package/web/.next/standalone/packages/web/.next/server/chunks/2435.js +1 -0
  117. package/web/.next/standalone/packages/web/.next/server/chunks/3947.js +1 -1
  118. package/web/.next/standalone/packages/web/.next/server/chunks/5164.js +3 -3
  119. package/web/.next/standalone/packages/web/.next/server/chunks/5295.js +1 -1
  120. package/web/.next/standalone/packages/web/.next/server/chunks/6054.js +1 -1
  121. package/web/.next/standalone/packages/web/.next/server/chunks/7164.js +1 -0
  122. package/web/.next/standalone/packages/web/.next/server/chunks/7319.js +1 -0
  123. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  124. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  125. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  126. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  127. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  128. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  129. package/web/.next/standalone/packages/web/.next/static/{Gvy4Ia1I3Ie2kYkynALHj → Mjqe5hsqEUnzPRpACaS7b}/_buildManifest.js +1 -1
  130. package/web/.next/standalone/packages/web/.next/static/chunks/{1665-a331700c8924c21e.js → 1665-fa34224806570e87.js} +1 -1
  131. package/web/.next/standalone/packages/web/.next/static/chunks/1679-517f9d8b8b973bcb.js +1 -0
  132. package/web/.next/standalone/packages/web/.next/static/chunks/{2228.4b77fc33a35a9f45.js → 2228.a234698e8170bbca.js} +1 -1
  133. package/web/.next/standalone/packages/web/.next/static/chunks/2452-ad0fe2f5b47de568.js +1 -0
  134. package/web/.next/standalone/packages/web/.next/static/chunks/{6352.ec64cf0dc840d64f.js → 3971.154b902083a92a74.js} +1 -1
  135. package/web/.next/standalone/packages/web/.next/static/chunks/{4443.c59c35ca57a35033.js → 4443.083a31fab90dab8d.js} +1 -1
  136. package/web/.next/standalone/packages/web/.next/static/chunks/{474.cd6f983eaacacb80.js → 474.5c65338e98fea7c5.js} +1 -1
  137. package/web/.next/standalone/packages/web/.next/static/chunks/5316.dd76ed91953b6a45.js +1 -0
  138. package/web/.next/standalone/packages/web/.next/static/chunks/{7220-dbe6c4e782acd626.js → 7220-ada0fe02ebb5beda.js} +1 -1
  139. package/web/.next/standalone/packages/web/.next/static/chunks/7552.72d7dcd87cede845.js +1 -0
  140. package/web/.next/standalone/packages/web/.next/static/chunks/8374-a12f115bfe292dbd.js +1 -0
  141. package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-a65d0ac41bceb870.js +1 -0
  142. package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-a65d0ac41bceb870.js +1 -0
  143. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-a65d0ac41bceb870.js +1 -0
  144. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-a65d0ac41bceb870.js +1 -0
  145. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-a65d0ac41bceb870.js +1 -0
  146. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-a65d0ac41bceb870.js +1 -0
  147. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-a65d0ac41bceb870.js +1 -0
  148. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-a65d0ac41bceb870.js +1 -0
  149. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-a65d0ac41bceb870.js +1 -0
  150. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-a65d0ac41bceb870.js +1 -0
  151. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-a65d0ac41bceb870.js +1 -0
  152. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-a65d0ac41bceb870.js +1 -0
  153. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-a65d0ac41bceb870.js +1 -0
  154. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-a65d0ac41bceb870.js +1 -0
  155. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-a65d0ac41bceb870.js +1 -0
  156. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-a65d0ac41bceb870.js +1 -0
  157. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-a65d0ac41bceb870.js +1 -0
  158. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-a65d0ac41bceb870.js +1 -0
  159. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-a65d0ac41bceb870.js +1 -0
  160. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-a65d0ac41bceb870.js +1 -0
  161. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-a65d0ac41bceb870.js +1 -0
  162. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-a65d0ac41bceb870.js +1 -0
  163. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-a65d0ac41bceb870.js +1 -0
  164. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-a65d0ac41bceb870.js +1 -0
  165. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-a65d0ac41bceb870.js +1 -0
  166. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-a65d0ac41bceb870.js +1 -0
  167. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-a65d0ac41bceb870.js +1 -0
  168. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-a65d0ac41bceb870.js +1 -0
  169. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-a65d0ac41bceb870.js +1 -0
  170. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-a65d0ac41bceb870.js +1 -0
  171. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-a65d0ac41bceb870.js +1 -0
  172. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-a65d0ac41bceb870.js +1 -0
  173. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-a65d0ac41bceb870.js +1 -0
  174. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-a65d0ac41bceb870.js +1 -0
  175. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-a65d0ac41bceb870.js +1 -0
  176. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-a65d0ac41bceb870.js +1 -0
  177. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-a65d0ac41bceb870.js +1 -0
  178. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-a65d0ac41bceb870.js +1 -0
  179. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/feed/route-a65d0ac41bceb870.js +1 -0
  180. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/feedback/route-a65d0ac41bceb870.js +1 -0
  181. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-a65d0ac41bceb870.js +1 -0
  182. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/interrupt/route-a65d0ac41bceb870.js +1 -0
  183. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-a65d0ac41bceb870.js +1 -0
  184. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-a65d0ac41bceb870.js +1 -0
  185. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-a65d0ac41bceb870.js +1 -0
  186. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-a65d0ac41bceb870.js +1 -0
  187. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-a65d0ac41bceb870.js +1 -0
  188. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-a65d0ac41bceb870.js +1 -0
  189. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-a65d0ac41bceb870.js +1 -0
  190. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-a65d0ac41bceb870.js +1 -0
  191. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-a65d0ac41bceb870.js +1 -0
  192. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-a65d0ac41bceb870.js +1 -0
  193. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-a65d0ac41bceb870.js +1 -0
  194. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-a65d0ac41bceb870.js +1 -0
  195. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-a65d0ac41bceb870.js +1 -0
  196. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-a65d0ac41bceb870.js +1 -0
  197. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-a65d0ac41bceb870.js +1 -0
  198. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-a65d0ac41bceb870.js +1 -0
  199. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-a65d0ac41bceb870.js +1 -0
  200. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-a65d0ac41bceb870.js +1 -0
  201. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-2d417d35f436cb43.js +1 -0
  202. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-a65d0ac41bceb870.js +1 -0
  203. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-a65d0ac41bceb870.js +1 -0
  204. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-f090899d8eff67c0.js +1 -0
  205. package/web/.next/standalone/packages/web/.next/static/chunks/app/{page-e092dae1c6caddbd.js → page-a8a679f34b9627c6.js} +1 -1
  206. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/{page-2875f50f8cab8de6.js → page-14a6cae27c2389be.js} +1 -1
  207. package/web/.next/standalone/packages/web/.next/static/chunks/app/settings/bridge/page-0c2bacf3f3816e04.js +1 -0
  208. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-a65d0ac41bceb870.js +1 -0
  209. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-a65d0ac41bceb870.js +1 -0
  210. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-a65d0ac41bceb870.js +1 -0
  211. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-a65d0ac41bceb870.js +1 -0
  212. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a65d0ac41bceb870.js +1 -0
  213. package/web/.next/{static/chunks/webpack-50895afcf26e01d6.js → standalone/packages/web/.next/static/chunks/webpack-e1405f0057216684.js} +1 -1
  214. package/web/.next/{static/css/a7121266a45ff6e6.css → standalone/packages/web/.next/static/css/5a87961ab493e774.css} +1 -1
  215. package/web/.next/static/{Gvy4Ia1I3Ie2kYkynALHj → Mjqe5hsqEUnzPRpACaS7b}/_buildManifest.js +1 -1
  216. package/web/.next/static/chunks/{1665-a331700c8924c21e.js → 1665-fa34224806570e87.js} +1 -1
  217. package/web/.next/static/chunks/1679-517f9d8b8b973bcb.js +1 -0
  218. package/web/.next/static/chunks/{2228.4b77fc33a35a9f45.js → 2228.a234698e8170bbca.js} +1 -1
  219. package/web/.next/static/chunks/2452-ad0fe2f5b47de568.js +1 -0
  220. package/web/.next/static/chunks/{6352.ec64cf0dc840d64f.js → 3971.154b902083a92a74.js} +1 -1
  221. package/web/.next/static/chunks/{4443.c59c35ca57a35033.js → 4443.083a31fab90dab8d.js} +1 -1
  222. package/web/.next/static/chunks/{474.cd6f983eaacacb80.js → 474.5c65338e98fea7c5.js} +1 -1
  223. package/web/.next/static/chunks/5316.dd76ed91953b6a45.js +1 -0
  224. package/web/.next/static/chunks/{7220-dbe6c4e782acd626.js → 7220-ada0fe02ebb5beda.js} +1 -1
  225. package/web/.next/static/chunks/7552.72d7dcd87cede845.js +1 -0
  226. package/web/.next/static/chunks/8374-a12f115bfe292dbd.js +1 -0
  227. package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-a65d0ac41bceb870.js +1 -0
  228. package/web/.next/static/chunks/app/_global-error/page-a65d0ac41bceb870.js +1 -0
  229. package/web/.next/static/chunks/app/api/access/route-a65d0ac41bceb870.js +1 -0
  230. package/web/.next/static/chunks/app/api/agents/route-a65d0ac41bceb870.js +1 -0
  231. package/web/.next/static/chunks/app/api/app-update/route-a65d0ac41bceb870.js +1 -0
  232. package/web/.next/static/chunks/app/api/attachments/route-a65d0ac41bceb870.js +1 -0
  233. package/web/.next/static/chunks/app/api/auth/profile/route-a65d0ac41bceb870.js +1 -0
  234. package/web/.next/static/chunks/app/api/boards/comments/route-a65d0ac41bceb870.js +1 -0
  235. package/web/.next/static/chunks/app/api/boards/route-a65d0ac41bceb870.js +1 -0
  236. package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-a65d0ac41bceb870.js +1 -0
  237. package/web/.next/static/chunks/app/api/bridge/bridges/route-a65d0ac41bceb870.js +1 -0
  238. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-a65d0ac41bceb870.js +1 -0
  239. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-a65d0ac41bceb870.js +1 -0
  240. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-a65d0ac41bceb870.js +1 -0
  241. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-a65d0ac41bceb870.js +1 -0
  242. package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-a65d0ac41bceb870.js +1 -0
  243. package/web/.next/static/chunks/app/api/bridge/devices/code/route-a65d0ac41bceb870.js +1 -0
  244. package/web/.next/static/chunks/app/api/bridge/devices/route-a65d0ac41bceb870.js +1 -0
  245. package/web/.next/static/chunks/app/api/bridges/route-a65d0ac41bceb870.js +1 -0
  246. package/web/.next/static/chunks/app/api/config/route-a65d0ac41bceb870.js +1 -0
  247. package/web/.next/static/chunks/app/api/context-files/open/route-a65d0ac41bceb870.js +1 -0
  248. package/web/.next/static/chunks/app/api/context-files/route-a65d0ac41bceb870.js +1 -0
  249. package/web/.next/static/chunks/app/api/events/route-a65d0ac41bceb870.js +1 -0
  250. package/web/.next/static/chunks/app/api/executor/health/route-a65d0ac41bceb870.js +1 -0
  251. package/web/.next/static/chunks/app/api/filesystem/directory/route-a65d0ac41bceb870.js +1 -0
  252. package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-a65d0ac41bceb870.js +1 -0
  253. package/web/.next/static/chunks/app/api/github/repos/route-a65d0ac41bceb870.js +1 -0
  254. package/web/.next/static/chunks/app/api/github/webhook/route-a65d0ac41bceb870.js +1 -0
  255. package/web/.next/static/chunks/app/api/health/boards/route-a65d0ac41bceb870.js +1 -0
  256. package/web/.next/static/chunks/app/api/health/sessions/route-a65d0ac41bceb870.js +1 -0
  257. package/web/.next/static/chunks/app/api/notifications/route-a65d0ac41bceb870.js +1 -0
  258. package/web/.next/static/chunks/app/api/preferences/route-a65d0ac41bceb870.js +1 -0
  259. package/web/.next/static/chunks/app/api/repositories/[id]/route-a65d0ac41bceb870.js +1 -0
  260. package/web/.next/static/chunks/app/api/repositories/route-a65d0ac41bceb870.js +1 -0
  261. package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-a65d0ac41bceb870.js +1 -0
  262. package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-a65d0ac41bceb870.js +1 -0
  263. package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-a65d0ac41bceb870.js +1 -0
  264. package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-a65d0ac41bceb870.js +1 -0
  265. package/web/.next/static/chunks/app/api/sessions/[id]/feed/route-a65d0ac41bceb870.js +1 -0
  266. package/web/.next/static/chunks/app/api/sessions/[id]/feedback/route-a65d0ac41bceb870.js +1 -0
  267. package/web/.next/static/chunks/app/api/sessions/[id]/files/route-a65d0ac41bceb870.js +1 -0
  268. package/web/.next/static/chunks/app/api/sessions/[id]/interrupt/route-a65d0ac41bceb870.js +1 -0
  269. package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-a65d0ac41bceb870.js +1 -0
  270. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-a65d0ac41bceb870.js +1 -0
  271. package/web/.next/static/chunks/app/api/sessions/[id]/output/route-a65d0ac41bceb870.js +1 -0
  272. package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-a65d0ac41bceb870.js +1 -0
  273. package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-a65d0ac41bceb870.js +1 -0
  274. package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-a65d0ac41bceb870.js +1 -0
  275. package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-a65d0ac41bceb870.js +1 -0
  276. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-a65d0ac41bceb870.js +1 -0
  277. package/web/.next/static/chunks/app/api/sessions/[id]/route-a65d0ac41bceb870.js +1 -0
  278. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-a65d0ac41bceb870.js +1 -0
  279. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-a65d0ac41bceb870.js +1 -0
  280. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-a65d0ac41bceb870.js +1 -0
  281. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-a65d0ac41bceb870.js +1 -0
  282. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-a65d0ac41bceb870.js +1 -0
  283. package/web/.next/static/chunks/app/api/sessions/route-a65d0ac41bceb870.js +1 -0
  284. package/web/.next/static/chunks/app/api/spawn/route-a65d0ac41bceb870.js +1 -0
  285. package/web/.next/static/chunks/app/api/workspaces/branches/route-a65d0ac41bceb870.js +1 -0
  286. package/web/.next/static/chunks/app/api/workspaces/route-a65d0ac41bceb870.js +1 -0
  287. package/web/.next/static/chunks/app/bridge/connect/page-2d417d35f436cb43.js +1 -0
  288. package/web/.next/static/chunks/app/bridge/install.ps1/route-a65d0ac41bceb870.js +1 -0
  289. package/web/.next/static/chunks/app/bridge/install.sh/route-a65d0ac41bceb870.js +1 -0
  290. package/web/.next/static/chunks/app/layout-f090899d8eff67c0.js +1 -0
  291. package/web/.next/static/chunks/app/{page-e092dae1c6caddbd.js → page-a8a679f34b9627c6.js} +1 -1
  292. package/web/.next/static/chunks/app/sessions/[id]/{page-2875f50f8cab8de6.js → page-14a6cae27c2389be.js} +1 -1
  293. package/web/.next/static/chunks/app/settings/bridge/page-0c2bacf3f3816e04.js +1 -0
  294. package/web/.next/static/chunks/app/sign-in/hosted/page-a65d0ac41bceb870.js +1 -0
  295. package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-a65d0ac41bceb870.js +1 -0
  296. package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-a65d0ac41bceb870.js +1 -0
  297. package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-a65d0ac41bceb870.js +1 -0
  298. package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a65d0ac41bceb870.js +1 -0
  299. package/web/.next/{standalone/packages/web/.next/static/chunks/webpack-50895afcf26e01d6.js → static/chunks/webpack-e1405f0057216684.js} +1 -1
  300. package/web/.next/{standalone/packages/web/.next/static/css/a7121266a45ff6e6.css → static/css/5a87961ab493e774.css} +1 -1
  301. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/shares/[shareId]/output/route.js +0 -1
  302. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/shares/[shareId]/output/route.js.nft.json +0 -1
  303. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/shares/[shareId]/output/route_client-reference-manifest.js +0 -1
  304. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/shares/[shareId]/route.js +0 -1
  305. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/shares/[shareId]/route.js.nft.json +0 -1
  306. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/shares/[shareId]/route_client-reference-manifest.js +0 -1
  307. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/shares/route.js +0 -1
  308. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/shares/route.js.nft.json +0 -1
  309. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/shares/route_client-reference-manifest.js +0 -1
  310. package/web/.next/standalone/packages/web/.next/server/app/bridge/share/[shareId]/page.js +0 -2
  311. package/web/.next/standalone/packages/web/.next/server/app/bridge/share/[shareId]/page.js.nft.json +0 -1
  312. package/web/.next/standalone/packages/web/.next/server/app/bridge/share/[shareId]/page_client-reference-manifest.js +0 -1
  313. package/web/.next/standalone/packages/web/.next/server/chunks/313.js +0 -1
  314. package/web/.next/standalone/packages/web/.next/server/chunks/8712.js +0 -1
  315. package/web/.next/standalone/packages/web/.next/server/chunks/9268.js +0 -1
  316. package/web/.next/standalone/packages/web/.next/static/chunks/1679-ae7423829b0581c4.js +0 -1
  317. package/web/.next/standalone/packages/web/.next/static/chunks/2452-b50c45abad648b69.js +0 -1
  318. package/web/.next/standalone/packages/web/.next/static/chunks/3846.aa1cdc66db0fbde9.js +0 -1
  319. package/web/.next/standalone/packages/web/.next/static/chunks/4120.b50665db7e22cca5.js +0 -1
  320. package/web/.next/standalone/packages/web/.next/static/chunks/514-4da5527bff9e931e.js +0 -1
  321. package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-b639f73aae8798d0.js +0 -1
  322. package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-b639f73aae8798d0.js +0 -1
  323. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-b639f73aae8798d0.js +0 -1
  324. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-b639f73aae8798d0.js +0 -1
  325. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-b639f73aae8798d0.js +0 -1
  326. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-b639f73aae8798d0.js +0 -1
  327. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-b639f73aae8798d0.js +0 -1
  328. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-b639f73aae8798d0.js +0 -1
  329. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-b639f73aae8798d0.js +0 -1
  330. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-b639f73aae8798d0.js +0 -1
  331. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-b639f73aae8798d0.js +0 -1
  332. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-b639f73aae8798d0.js +0 -1
  333. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-b639f73aae8798d0.js +0 -1
  334. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-b639f73aae8798d0.js +0 -1
  335. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-b639f73aae8798d0.js +0 -1
  336. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-b639f73aae8798d0.js +0 -1
  337. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-b639f73aae8798d0.js +0 -1
  338. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-b639f73aae8798d0.js +0 -1
  339. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/shares/[shareId]/output/route-b639f73aae8798d0.js +0 -1
  340. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/shares/[shareId]/route-b639f73aae8798d0.js +0 -1
  341. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/shares/route-b639f73aae8798d0.js +0 -1
  342. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-b639f73aae8798d0.js +0 -1
  343. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-b639f73aae8798d0.js +0 -1
  344. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-b639f73aae8798d0.js +0 -1
  345. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-b639f73aae8798d0.js +0 -1
  346. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-b639f73aae8798d0.js +0 -1
  347. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-b639f73aae8798d0.js +0 -1
  348. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-b639f73aae8798d0.js +0 -1
  349. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-b639f73aae8798d0.js +0 -1
  350. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-b639f73aae8798d0.js +0 -1
  351. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-b639f73aae8798d0.js +0 -1
  352. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-b639f73aae8798d0.js +0 -1
  353. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-b639f73aae8798d0.js +0 -1
  354. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-b639f73aae8798d0.js +0 -1
  355. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-b639f73aae8798d0.js +0 -1
  356. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-b639f73aae8798d0.js +0 -1
  357. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-b639f73aae8798d0.js +0 -1
  358. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-b639f73aae8798d0.js +0 -1
  359. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-b639f73aae8798d0.js +0 -1
  360. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-b639f73aae8798d0.js +0 -1
  361. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-b639f73aae8798d0.js +0 -1
  362. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/feed/route-b639f73aae8798d0.js +0 -1
  363. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/feedback/route-b639f73aae8798d0.js +0 -1
  364. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-b639f73aae8798d0.js +0 -1
  365. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/interrupt/route-b639f73aae8798d0.js +0 -1
  366. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-b639f73aae8798d0.js +0 -1
  367. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-b639f73aae8798d0.js +0 -1
  368. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-b639f73aae8798d0.js +0 -1
  369. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-b639f73aae8798d0.js +0 -1
  370. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-b639f73aae8798d0.js +0 -1
  371. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-b639f73aae8798d0.js +0 -1
  372. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-b639f73aae8798d0.js +0 -1
  373. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-b639f73aae8798d0.js +0 -1
  374. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-b639f73aae8798d0.js +0 -1
  375. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-b639f73aae8798d0.js +0 -1
  376. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-b639f73aae8798d0.js +0 -1
  377. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-b639f73aae8798d0.js +0 -1
  378. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-b639f73aae8798d0.js +0 -1
  379. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-b639f73aae8798d0.js +0 -1
  380. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-b639f73aae8798d0.js +0 -1
  381. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-b639f73aae8798d0.js +0 -1
  382. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-b639f73aae8798d0.js +0 -1
  383. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-b639f73aae8798d0.js +0 -1
  384. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-aa2755b2f785e79c.js +0 -1
  385. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-b639f73aae8798d0.js +0 -1
  386. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/share/[shareId]/page-9c48a5de46beee1d.js +0 -1
  387. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-1bbb4db7f9481d50.js +0 -1
  388. package/web/.next/standalone/packages/web/.next/static/chunks/app/settings/bridge/page-ee4a3917e8d848a8.js +0 -1
  389. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-b639f73aae8798d0.js +0 -1
  390. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-b639f73aae8798d0.js +0 -1
  391. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-b639f73aae8798d0.js +0 -1
  392. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-b639f73aae8798d0.js +0 -1
  393. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b639f73aae8798d0.js +0 -1
  394. package/web/.next/static/chunks/1679-ae7423829b0581c4.js +0 -1
  395. package/web/.next/static/chunks/2452-b50c45abad648b69.js +0 -1
  396. package/web/.next/static/chunks/3846.aa1cdc66db0fbde9.js +0 -1
  397. package/web/.next/static/chunks/4120.b50665db7e22cca5.js +0 -1
  398. package/web/.next/static/chunks/514-4da5527bff9e931e.js +0 -1
  399. package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-b639f73aae8798d0.js +0 -1
  400. package/web/.next/static/chunks/app/_global-error/page-b639f73aae8798d0.js +0 -1
  401. package/web/.next/static/chunks/app/api/access/route-b639f73aae8798d0.js +0 -1
  402. package/web/.next/static/chunks/app/api/agents/route-b639f73aae8798d0.js +0 -1
  403. package/web/.next/static/chunks/app/api/app-update/route-b639f73aae8798d0.js +0 -1
  404. package/web/.next/static/chunks/app/api/attachments/route-b639f73aae8798d0.js +0 -1
  405. package/web/.next/static/chunks/app/api/auth/profile/route-b639f73aae8798d0.js +0 -1
  406. package/web/.next/static/chunks/app/api/boards/comments/route-b639f73aae8798d0.js +0 -1
  407. package/web/.next/static/chunks/app/api/boards/route-b639f73aae8798d0.js +0 -1
  408. package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-b639f73aae8798d0.js +0 -1
  409. package/web/.next/static/chunks/app/api/bridge/bridges/route-b639f73aae8798d0.js +0 -1
  410. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-b639f73aae8798d0.js +0 -1
  411. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-b639f73aae8798d0.js +0 -1
  412. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-b639f73aae8798d0.js +0 -1
  413. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-b639f73aae8798d0.js +0 -1
  414. package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-b639f73aae8798d0.js +0 -1
  415. package/web/.next/static/chunks/app/api/bridge/devices/code/route-b639f73aae8798d0.js +0 -1
  416. package/web/.next/static/chunks/app/api/bridge/devices/route-b639f73aae8798d0.js +0 -1
  417. package/web/.next/static/chunks/app/api/bridge/shares/[shareId]/output/route-b639f73aae8798d0.js +0 -1
  418. package/web/.next/static/chunks/app/api/bridge/shares/[shareId]/route-b639f73aae8798d0.js +0 -1
  419. package/web/.next/static/chunks/app/api/bridge/shares/route-b639f73aae8798d0.js +0 -1
  420. package/web/.next/static/chunks/app/api/bridges/route-b639f73aae8798d0.js +0 -1
  421. package/web/.next/static/chunks/app/api/config/route-b639f73aae8798d0.js +0 -1
  422. package/web/.next/static/chunks/app/api/context-files/open/route-b639f73aae8798d0.js +0 -1
  423. package/web/.next/static/chunks/app/api/context-files/route-b639f73aae8798d0.js +0 -1
  424. package/web/.next/static/chunks/app/api/events/route-b639f73aae8798d0.js +0 -1
  425. package/web/.next/static/chunks/app/api/executor/health/route-b639f73aae8798d0.js +0 -1
  426. package/web/.next/static/chunks/app/api/filesystem/directory/route-b639f73aae8798d0.js +0 -1
  427. package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-b639f73aae8798d0.js +0 -1
  428. package/web/.next/static/chunks/app/api/github/repos/route-b639f73aae8798d0.js +0 -1
  429. package/web/.next/static/chunks/app/api/github/webhook/route-b639f73aae8798d0.js +0 -1
  430. package/web/.next/static/chunks/app/api/health/boards/route-b639f73aae8798d0.js +0 -1
  431. package/web/.next/static/chunks/app/api/health/sessions/route-b639f73aae8798d0.js +0 -1
  432. package/web/.next/static/chunks/app/api/notifications/route-b639f73aae8798d0.js +0 -1
  433. package/web/.next/static/chunks/app/api/preferences/route-b639f73aae8798d0.js +0 -1
  434. package/web/.next/static/chunks/app/api/repositories/[id]/route-b639f73aae8798d0.js +0 -1
  435. package/web/.next/static/chunks/app/api/repositories/route-b639f73aae8798d0.js +0 -1
  436. package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-b639f73aae8798d0.js +0 -1
  437. package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-b639f73aae8798d0.js +0 -1
  438. package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-b639f73aae8798d0.js +0 -1
  439. package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-b639f73aae8798d0.js +0 -1
  440. package/web/.next/static/chunks/app/api/sessions/[id]/feed/route-b639f73aae8798d0.js +0 -1
  441. package/web/.next/static/chunks/app/api/sessions/[id]/feedback/route-b639f73aae8798d0.js +0 -1
  442. package/web/.next/static/chunks/app/api/sessions/[id]/files/route-b639f73aae8798d0.js +0 -1
  443. package/web/.next/static/chunks/app/api/sessions/[id]/interrupt/route-b639f73aae8798d0.js +0 -1
  444. package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-b639f73aae8798d0.js +0 -1
  445. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-b639f73aae8798d0.js +0 -1
  446. package/web/.next/static/chunks/app/api/sessions/[id]/output/route-b639f73aae8798d0.js +0 -1
  447. package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-b639f73aae8798d0.js +0 -1
  448. package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-b639f73aae8798d0.js +0 -1
  449. package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-b639f73aae8798d0.js +0 -1
  450. package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-b639f73aae8798d0.js +0 -1
  451. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-b639f73aae8798d0.js +0 -1
  452. package/web/.next/static/chunks/app/api/sessions/[id]/route-b639f73aae8798d0.js +0 -1
  453. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-b639f73aae8798d0.js +0 -1
  454. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-b639f73aae8798d0.js +0 -1
  455. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-b639f73aae8798d0.js +0 -1
  456. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-b639f73aae8798d0.js +0 -1
  457. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-b639f73aae8798d0.js +0 -1
  458. package/web/.next/static/chunks/app/api/sessions/route-b639f73aae8798d0.js +0 -1
  459. package/web/.next/static/chunks/app/api/spawn/route-b639f73aae8798d0.js +0 -1
  460. package/web/.next/static/chunks/app/api/workspaces/branches/route-b639f73aae8798d0.js +0 -1
  461. package/web/.next/static/chunks/app/api/workspaces/route-b639f73aae8798d0.js +0 -1
  462. package/web/.next/static/chunks/app/bridge/connect/page-aa2755b2f785e79c.js +0 -1
  463. package/web/.next/static/chunks/app/bridge/install.sh/route-b639f73aae8798d0.js +0 -1
  464. package/web/.next/static/chunks/app/bridge/share/[shareId]/page-9c48a5de46beee1d.js +0 -1
  465. package/web/.next/static/chunks/app/layout-1bbb4db7f9481d50.js +0 -1
  466. package/web/.next/static/chunks/app/settings/bridge/page-ee4a3917e8d848a8.js +0 -1
  467. package/web/.next/static/chunks/app/sign-in/hosted/page-b639f73aae8798d0.js +0 -1
  468. package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-b639f73aae8798d0.js +0 -1
  469. package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-b639f73aae8798d0.js +0 -1
  470. package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-b639f73aae8798d0.js +0 -1
  471. package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b639f73aae8798d0.js +0 -1
  472. /package/web/.next/standalone/packages/web/.next/static/{Gvy4Ia1I3Ie2kYkynALHj → Mjqe5hsqEUnzPRpACaS7b}/_ssgManifest.js +0 -0
  473. /package/web/.next/static/{Gvy4Ia1I3Ie2kYkynALHj → Mjqe5hsqEUnzPRpACaS7b}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1063],{26083:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(13454).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},69863:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(13454).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},69902:(e,t,s)=>{"use strict";s.d(t,{PublicPageShell:()=>n,PublicPanel:()=>d,PublicSection:()=>l});var a=s(54568),i=s(82175),r=s(46916);function n({children:e,className:t}){return(0,a.jsx)("main",{className:"min-h-screen bg-[var(--bg-canvas)] text-[var(--text-strong)]",children:(0,a.jsxs)("div",{className:"mx-auto flex min-h-screen w-full max-w-6xl flex-col px-6 py-8 sm:px-8 sm:py-10",children:[(0,a.jsxs)("header",{className:"flex items-center gap-3 border-b border-[var(--border-soft)] pb-6",children:[(0,a.jsx)("img",{src:"/icon.svg",alt:"Conductor icon",width:40,height:40,className:"h-10 w-10 rounded-[10px] border border-[var(--border-soft)] bg-[var(--bg-panel)] p-1.5"}),(0,a.jsx)(i.default,{src:"/brand/conductor-wordmark-dark.png",alt:"Conductor",width:320,height:62,priority:!0,className:"h-auto w-[168px] sm:w-[220px]"})]}),(0,a.jsx)("div",{className:(0,r.cn)("flex-1 py-10 sm:py-12",t),children:e})]})})}function d({children:e,className:t}){return(0,a.jsx)("section",{className:(0,r.cn)("surface-card rounded-[var(--radius-lg)] border border-[var(--border-soft)] bg-[var(--bg-panel)]",t),children:e})}function l({eyebrow:e,title:t,description:s,children:i,className:n}){return(0,a.jsxs)("div",{className:(0,r.cn)("space-y-4",n),children:[e?(0,a.jsx)("p",{className:"text-xs font-semibold uppercase tracking-[0.24em] text-[var(--text-muted)]",children:e}):null,(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("h1",{className:"text-3xl font-semibold tracking-[-0.02em] text-[var(--text-strong)] sm:text-4xl",children:t}),s?(0,a.jsx)("p",{className:"max-w-2xl text-base leading-7 text-[var(--text-muted)] sm:text-lg",children:s}):null]}),i]})}},77522:(e,t,s)=>{"use strict";s.d(t,{C:()=>a,n:()=>i});let a=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function i(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"}},81677:(e,t,s)=>{"use strict";s.d(t,{default:()=>U});var a=s(54568),i=s(7620),r=s(65587),n=s.n(r),d=s(81167),l=s(60527),c=s(58299),o=s(69863),m=s(63322),x=s(59706),v=s(13454);let h=(0,v.A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var p=s(34041),u=s(87242),g=s(2099);let b=(0,v.A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);var f=s(36645),j=s(15321),k=s(21665),w=s(69902),N=s(83954),y=s(76081),_=s(44522),C=s(11984),$=s(46916),A=s(26167),S=s(61369),I=s(31404),E=s(15115),z=s(77522);function M(e){return`${e.hostname} \xb7 ${e.os}/${e.arch}`}function R({children:e,className:t,id:s}){return(0,a.jsx)("section",{id:s,className:(0,$.cn)("rounded-[24px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-6","shadow-[0_18px_36px_rgba(0,0,0,0.2)]",t),children:e})}function T({children:e}){return(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.24em] text-[var(--vk-text-muted)]",children:e})}function F({children:e}){return(0,a.jsx)("div",{className:"rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-1.5 text-xs text-[var(--vk-text-muted)]",children:e})}function P({title:e,description:t,command:s,children:i,footer:r}){return(0,a.jsxs)("div",{className:"rounded-[20px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-5",children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-[var(--vk-text-strong)]",children:e}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:t}),i,(0,a.jsx)("pre",{className:"mt-4 overflow-x-auto whitespace-pre-wrap break-all rounded-[16px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-4 py-3 font-mono text-sm leading-6 text-[var(--vk-text-normal)]",children:s}),r?(0,a.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:r}):null]})}function U({initialClaimToken:e=null,initialSelectedDeviceId:t=null,dashboardUrl:s,relayUrl:r,installScriptUrl:v}){let[O,L]=(0,i.useState)([]),[q,D]=(0,i.useState)(null),[V,J]=(0,i.useState)(null),[G,B]=(0,i.useState)(!0),[H,W]=(0,i.useState)(!1),[K,Q]=(0,i.useState)(null),[X,Y]=(0,i.useState)(null),[Z,ee]=(0,i.useState)(null),[et,es]=(0,i.useState)(!1),[ea,ei]=(0,i.useState)(!1),[er,en]=(0,i.useState)(null),[ed,el]=(0,i.useState)(null),[ec,eo]=(0,i.useState)(e?"pending":"idle"),[em,ex]=(0,i.useState)(!1),[ev,eh]=(0,i.useState)(null),[ep,eu]=(0,i.useState)(null),[eg,eb]=(0,i.useState)(null),[ef,ej]=(0,i.useState)(t),[ek,ew]=(0,i.useState)({deviceId:null,phase:"idle",message:null}),[eN,ey]=(0,i.useState)({deviceId:null,kind:null,status:"idle",message:null}),e_=(0,i.useRef)(new Set),eC=(0,i.useMemo)(()=>(0,S.$y)(v,s,r),[s,v,r]),e$=(0,i.useMemo)(()=>(0,S.G7)(v),[v]),eA=(0,i.useMemo)(()=>(0,S.hI)(s,r),[s,r]),eS=(0,i.useMemo)(()=>(0,S.zd)(q,r),[q,r]),eI=O.filter(e=>e.connected),eE=(0,i.useMemo)(()=>ep?O.find(e=>e.device_id===ep.deviceId)??null:null,[ep,O]),ez=(0,i.useMemo)(()=>eg?O.find(e=>e.device_id===eg)??null:null,[O,eg]),eM=(0,i.useMemo)(()=>O.find(e=>e.device_id===ef)??eE??ez??eI[0]??O[0]??null,[eE,eI,O,ez,ef]),eR=(0,i.useMemo)(()=>(eE?.connected?eE:null)??(ez?.connected?ez:null)??(eM?.connected?eM:null)??eI[0]??null,[eE,eI,ez,eM]),eT=eR?`/?bridge=${encodeURIComponent(eR.device_id)}`:null,eF=!!eM&&"running"===eN.status&&eN.deviceId===eM?.device_id,eP=eF&&"repair"===eN.kind,eU=eF&&"restart"===eN.kind,eO=!!eM&&(eN.deviceId===eM?.device_id&&(0,C.Az)(eN.message)||ek.deviceId===eM?.device_id&&(0,C.Az)(ek.message));(0,i.useEffect)(()=>{ej(e=>e&&(0===O.length||O.some(t=>t.device_id===e))?e:t&&(0===O.length||O.some(e=>e.device_id===t))?t:eE?.device_id??ez?.device_id??eI[0]?.device_id??O[0]?.device_id??null)},[eE,eI,O,t,ez]),(0,i.useEffect)(()=>{let e=()=>{eb((0,_.Tr)()?.deviceId??null)};return e(),window.addEventListener("focus",e),window.addEventListener("storage",e),()=>{window.removeEventListener("focus",e),window.removeEventListener("storage",e)}},[]);let eL=(0,i.useCallback)(async()=>{B(!0);try{let e=await fetch("/api/bridge/devices",{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok)throw Error(t?.error??`Failed to load devices (${e.status})`);L((0,E.o)(t?.devices)),ee(null)}catch(e){L([]),ee(e instanceof Error?e.message:"Failed to load paired devices.")}finally{B(!1)}},[]),eq=(0,i.useCallback)(async()=>{if(e){eo("pending"),eh(null);try{let t=await fetch("/api/bridge/devices/claims/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({claim_token:e})}),s=await t.json().catch(()=>null);if(!t.ok||!s?.paired||!s.device_id||!s.device_name)throw Error(s?.error??`Failed to pair this laptop (${t.status})`);eu({deviceId:s.device_id,deviceName:s.device_name}),(0,_.m7)({deviceId:s.device_id,deviceName:s.device_name}),eb(s.device_id),eo("paired"),await eL()}catch(e){eo("idle"),eh(e instanceof Error?e.message:"Failed to complete the laptop claim.")}}},[e,eL]);async function eD(){W(!0),Y(null);try{let e=await fetch("/api/bridge/devices/code",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),t=await e.json().catch(()=>null);if(!e.ok||!t?.code)throw Error(t?.error??`Failed to create pairing code (${e.status})`);D(t.code),J(t.expires_in??null),ee(null)}catch(e){ee(e instanceof Error?e.message:"Failed to create pairing code.")}finally{W(!1)}}async function eV(e,t){try{await navigator.clipboard.writeText(e),Y(t),ee(null)}catch(e){Y(null),ee(e instanceof Error?e.message:"Failed to copy command.")}}async function eJ(e){Q(e);try{let t=await fetch(`/api/bridge/devices/${encodeURIComponent(e)}`,{method:"DELETE"}),s=await t.json().catch(()=>null);if(!t.ok)throw Error(s?.error??`Failed to revoke device (${t.status})`);await eL()}catch(e){ee(e instanceof Error?e.message:"Failed to revoke device.")}finally{Q(null)}}async function eG(e){ey({deviceId:e.device_id,kind:"restart",status:"running",message:`Restarting the bridge service on ${e.device_name}.`});try{let t=await (0,A.b)(e.device_id);ey({deviceId:e.device_id,kind:"restart",status:"completed",message:t}),window.setTimeout(()=>{eL()},2e3)}catch(t){ey({deviceId:e.device_id,kind:"restart",status:"failed",message:t instanceof Error?t.message:`Failed to restart ${e.device_name}.`})}}async function eB(e){ey({deviceId:e.device_id,kind:"repair",status:"running",message:`Reinstalling the bridge service on ${e.device_name}.`});try{let t=await (0,A.E)(e.device_id,v);ey({deviceId:e.device_id,kind:"repair",status:"completed",message:t}),window.setTimeout(()=>{eL()},2e3)}catch(t){ey({deviceId:e.device_id,kind:"repair",status:"failed",message:t instanceof Error?t.message:`Failed to repair ${e.device_name}.`})}}async function eH(e){await (0,_.jV)(e,ew),window.setTimeout(()=>{eL()},2e3)}async function eW(){es(!0),ei(!0),en(null),el(null);try{var e;let t=eI[0];if(!t)throw Error("Connect a laptop first, then reopen the device terminal test.");let s=await fetch((0,I.S)("/api/sessions",t.device_id),{cache:"no-store"}),a=await s.json().catch(()=>null);if(!s.ok){let e=a&&!Array.isArray(a)?a.error:null;throw Error(e??`Failed to load sessions (${s.status})`)}let i=(e=Array.isArray(a)?a:a?.sessions??[]).find(e=>!z.C.has(e.status))??e[0]??null;if(!i)throw Error("Create or resume a session first, then reopen the bridge terminal test.");el(i)}catch(e){en(e instanceof Error?e.message:"Failed to load a session for bridge testing.")}finally{ei(!1)}}return(0,i.useEffect)(()=>{eL()},[eL]),(0,i.useEffect)(()=>{e&&eq()},[eq,e]),(0,i.useEffect)(()=>{let e=(eE?.connected?eE:null)??(ez?.connected?ez:null)??(eM?.connected?eM:null);!e||e_.current.has(e.device_id)||(e_.current.add(e.device_id),(0,_.jV)(e,ew))},[ec,eE,ez,eM]),(0,i.useEffect)(()=>{!ez||ez.connected||ek.message||ew({deviceId:ez.device_id,phase:"checking",message:`Waiting for ${ez.device_name} to come online so Conductor can finish checking its package version.`})},[ek.message,ez]),(0,i.useEffect)(()=>{let t=!!eg&&!ez?.connected,s=!!ef&&!eM?.connected;if(!e&&("paired"!==ec||0!==eI.length)&&!t&&!s)return;let a=window.setInterval(()=>{eL()},4e3);return()=>{window.clearInterval(a)}},[ec,eI.length,e,eg,ez?.connected,eL,eM?.connected,ef]),(0,i.useEffect)(()=>{e||q||H||!em||eD()},[H,e,q,em]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(w.PublicPageShell,{className:"py-8 sm:py-10",children:(0,a.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-5",children:[(0,a.jsx)(R,{children:(0,a.jsxs)("div",{className:"flex flex-col gap-5 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{className:"max-w-3xl",children:[(0,a.jsx)(T,{children:"Conductor Bridge"}),(0,a.jsx)("h1",{className:"mt-3 text-3xl font-semibold tracking-[-0.03em] text-[var(--vk-text-strong)] sm:text-4xl",children:"Connect a laptop"}),(0,a.jsx)("p",{className:"mt-3 text-base leading-7 text-[var(--vk-text-muted)]",children:"Pair one machine, keep the bridge daemon running on it, and use it from the normal Conductor dashboard."}),(0,a.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,a.jsxs)(F,{children:[O.length," paired"]}),(0,a.jsxs)(F,{children:[eI.length," online"]}),(0,a.jsx)(F,{children:eR?`${eR.device_name} ready`:eM?`${eM.device_name} selected`:"No device selected"})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2 lg:justify-end",children:[eT?(0,a.jsx)(y.$,{asChild:!0,variant:"primary",size:"lg",children:(0,a.jsxs)(n(),{href:eT,children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),"Open ",eR?.device_name??"device"]})}):(0,a.jsx)(y.$,{asChild:!0,variant:"primary",size:"lg",children:(0,a.jsxs)("a",{href:"#bridge-setup",children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),"Set up this laptop"]})}),(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"lg",onClick:()=>{eL()},children:[(0,a.jsx)(l.A,{className:"h-4 w-4"}),"Refresh"]}),(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"lg",disabled:ea||0===eI.length,onClick:()=>{eW()},children:[ea?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(o.A,{className:"h-4 w-4"}),"Test connection"]})]})]})}),eR?(0,a.jsx)(R,{className:"border-[rgba(24,197,143,0.32)] bg-[rgba(24,197,143,0.08)] shadow-none",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(T,{children:"Ready to use"}),(0,a.jsxs)("h2",{className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:[eR.device_name," is online"]}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:"Continue into the dashboard with this laptop selected, or open a live bridge test."})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(y.$,{asChild:!0,variant:"primary",size:"lg",children:(0,a.jsxs)(n(),{href:eT??"/",children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),"Open dashboard"]})}),(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"lg",onClick:()=>{eW()},children:[(0,a.jsx)(o.A,{className:"h-4 w-4"}),"Open terminal test"]})]})]})}):null,Z?(0,a.jsx)("div",{className:"rounded-[20px] border border-[color:color-mix(in_srgb,var(--vk-red)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-5 py-4 text-sm text-[var(--vk-red)]",children:Z}):null,e?(0,a.jsxs)(R,{children:[(0,a.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{className:"max-w-3xl",children:[(0,a.jsx)(T,{children:"Device-first pairing"}),(0,a.jsx)("h2",{className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:"paired"===ec?"This laptop is paired":"Finishing this laptop claim"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:"paired"===ec?"The local command can now finish the handshake on the same machine. This page will keep refreshing until the laptop reports online.":"Conductor is binding the currently-running machine to your account and returning device credentials to that local command."})]}),ep?(0,a.jsx)(y.$,{asChild:!0,variant:"primary",size:"lg",children:(0,a.jsxs)(n(),{href:`/?bridge=${encodeURIComponent(ep.deviceId)}`,children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),"Open ",ep.deviceName]})}):null]}),(0,a.jsx)("div",{className:"mt-5 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4 text-sm text-[var(--vk-text-muted)]",children:"pending"===ec?(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),"Waiting for the local command to receive its one-time device credentials."]}):"paired"===ec&&ep?(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)(m.A,{className:"mt-0.5 h-4 w-4 text-[var(--vk-green)]"}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"font-medium text-[var(--vk-text-strong)]",children:[ep.deviceName," is now paired."]}),(0,a.jsx)("div",{className:"mt-1",children:eE?.connected?"This laptop is online and ready to use.":"The bridge service is restarting for this laptop now. This page will refresh until it reports online."}),ek.message?(0,a.jsx)("div",{className:(0,$.cn)("mt-2 text-xs leading-5","failed"===ek.phase?"text-[var(--vk-red)]":"skipped"===ek.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:ek.message}):null]})]}):ev?(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("div",{className:"text-[var(--vk-red)]",children:ev}),(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",onClick:()=>{eq()},children:[(0,a.jsx)(l.A,{className:"h-4 w-4"}),"Retry claim"]})]}):null})]}):null,(0,a.jsxs)("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1.08fr)_minmax(0,0.92fr)]",children:[(0,a.jsxs)(R,{id:"bridge-setup",children:[(0,a.jsx)(T,{children:"Setup"}),(0,a.jsx)("h2",{className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:"Connect this laptop"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:"Most users only need one command. It installs the bridge, registers the background service, opens the browser, and pairs the current laptop to this dashboard."}),(0,a.jsx)("div",{className:"mt-5",children:(0,a.jsx)(P,{title:"Recommended command",description:"Run this once on the laptop you want to use.",command:eC,footer:(0,a.jsxs)(y.$,{type:"button",variant:"primary",size:"md",onClick:()=>{eV(eC,"setup")},children:["setup"===X?(0,a.jsx)(m.A,{className:"h-4 w-4"}):(0,a.jsx)(x.A,{className:"h-4 w-4"}),"setup"===X?"Setup command copied":"Copy setup command"]})})}),(0,a.jsxs)("ol",{className:"mt-5 grid gap-3 sm:grid-cols-3",children:[(0,a.jsxs)("li",{className:"rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4",children:[(0,a.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"Step 1"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-normal)]",children:"Run the command in Terminal on the laptop you want to pair."})]}),(0,a.jsxs)("li",{className:"rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4",children:[(0,a.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"Step 2"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-normal)]",children:"Finish sign-in in the browser tab the command opens."})]}),(0,a.jsxs)("li",{className:"rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4",children:[(0,a.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"Step 3"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-normal)]",children:"Leave the bridge daemon running so the laptop stays available."})]})]}),(0,a.jsxs)("div",{className:"mt-5 rounded-[20px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-4 px-5 py-4 text-left",onClick:()=>{ex(e=>!e)},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-[var(--vk-text-strong)]",children:"Advanced options"}),(0,a.jsx)("div",{className:"mt-1 text-sm text-[var(--vk-text-muted)]",children:"Use these only if the default setup flow is not right for your case."})]}),em?(0,a.jsx)(h,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}):(0,a.jsx)(p.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"})]}),em?(0,a.jsxs)("div",{className:"space-y-4 border-t border-[var(--vk-border)] px-4 py-4",children:[(0,a.jsx)(P,{title:"Install only",description:"Install the bridge now, then connect later from a new shell.",command:e$,footer:(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",onClick:()=>{eV(e$,"install")},children:[(0,a.jsx)(x.A,{className:"h-4 w-4"}),"install"===X?"Install command copied":"Copy install command"]})}),(0,a.jsx)(P,{title:"Already installed",description:"Use this when the bridge is already installed on the laptop.",command:eA,footer:(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",onClick:()=>{eV(eA,"connect")},children:[(0,a.jsx)(x.A,{className:"h-4 w-4"}),"connect"===X?"Connect command copied":"Copy connect command"]})}),(0,a.jsx)(P,{title:"Manual fallback",description:"Use a one-time code only if the browser claim flow cannot finish on the same machine.",command:eS,children:(0,a.jsx)("div",{className:"mt-4 rounded-[16px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-4 py-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"One-time code"}),(0,a.jsx)("div",{className:"mt-3 font-mono text-4xl font-semibold tracking-[0.18em] text-[var(--vk-text-strong)]",children:q??"------"}),(0,a.jsx)("div",{className:"mt-3 text-sm text-[var(--vk-text-muted)]",children:q?`Valid for about ${Math.max(1,Math.round((V??600)/60))} minutes.`:"Generate a code to reveal the manual pair command."})]}),(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",disabled:H,onClick:()=>{eD()},children:[H?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(l.A,{className:"h-4 w-4"}),q?"Generate new code":"Generate code"]})]})}),footer:(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",disabled:!q,onClick:()=>{eV(eS,"manual")},children:["manual"===X?(0,a.jsx)(m.A,{className:"h-4 w-4"}):(0,a.jsx)(x.A,{className:"h-4 w-4"}),"manual"===X?"Manual command copied":"Copy manual command"]})})]}):null]})]}),(0,a.jsxs)(R,{children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(T,{children:"Devices"}),(0,a.jsx)("h2",{className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:"Paired devices"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[var(--vk-text-muted)]",children:"Pick a laptop below, then continue into the dashboard with that device selected."})]}),(0,a.jsxs)(F,{children:[O.length," total"]})]}),eM?(0,a.jsx)("div",{className:"mt-5 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("div",{className:"text-base font-semibold text-[var(--vk-text-strong)]",children:eM.device_name}),(0,a.jsx)(k.J,{connected:eM.connected,title:`${eM.device_name} is ${eM.connected?"online":"offline"}`})]}),(0,a.jsx)("div",{className:"text-sm text-[var(--vk-text-muted)]",children:M(eM)}),ek.message&&ek.deviceId===eM.device_id?(0,a.jsx)("div",{className:(0,$.cn)("text-xs leading-5","failed"===ek.phase?"text-[var(--vk-red)]":"skipped"===ek.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:ek.message}):null,eN.message&&eN.deviceId===eM.device_id?(0,a.jsx)("div",{className:(0,$.cn)("text-xs leading-5","failed"===eN.status?"text-[var(--vk-red)]":"completed"===eN.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:eN.message}):null,eO?(0,a.jsx)(j.i,{deviceId:eM.device_id,deviceName:eM.device_name,dashboardUrl:s,installScriptUrl:v,relayUrl:r}):null,eM.connected?(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",disabled:eF||(0,_.xv)(ek,eM.device_id),onClick:()=>{eB(eM)},children:[eP?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(u.A,{className:"h-4 w-4"}),"Repair bridge"]}),(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",disabled:(0,_.xv)(ek,eM.device_id)||eF,onClick:()=>{eH(eM)},children:[(0,_.xv)(ek,eM.device_id)?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(g.A,{className:"h-4 w-4"}),(0,_.xv)(ek,eM.device_id)?"Updating...":"Update Conductor"]}),(0,a.jsx)(y.$,{asChild:!0,variant:"primary",size:"md",children:(0,a.jsxs)(n(),{href:`/?bridge=${encodeURIComponent(eM.device_id)}`,children:[(0,a.jsx)(d.A,{className:"h-4 w-4"}),"Continue with ",eM.device_name]})}),(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",disabled:eF||(0,_.xv)(ek,eM.device_id),onClick:()=>{eG(eM)},children:[eU?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(l.A,{className:"h-4 w-4"}),"Restart service"]})]}):(0,a.jsx)("div",{className:"text-sm text-[var(--vk-text-muted)]",children:"This laptop is paired, but it is not online right now."})]})}):null,(0,a.jsx)("div",{className:"mt-5 space-y-3",children:G?(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-4 text-sm text-[var(--vk-text-muted)]",children:[(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),"Loading paired devices..."]}):O.length>0?O.map(e=>{let t=eM?.device_id===e.device_id,s=(0,_.xv)(ek,e.device_id),i="running"===eN.status&&eN.deviceId===e.device_id,r=i&&"repair"===eN.kind,d=i&&"restart"===eN.kind;return(0,a.jsx)("div",{className:(0,$.cn)("rounded-[18px] border bg-[var(--vk-bg-main)] p-4",t?"border-[var(--vk-orange)]":"border-[var(--vk-border)]"),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[(0,a.jsxs)("button",{type:"button",className:"min-w-0 flex-1 text-left",onClick:()=>{ej(e.device_id)},children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("div",{className:"truncate text-base font-medium text-[var(--vk-text-strong)]",children:e.device_name}),(0,a.jsx)(k.J,{connected:e.connected,title:`${e.device_name} is ${e.connected?"online":"offline"}`}),t?(0,a.jsx)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-1 text-[11px] text-[var(--vk-text-muted)]",children:"Selected"}):null]}),(0,a.jsx)("div",{className:"mt-2 text-sm text-[var(--vk-text-muted)]",children:M(e)}),(0,a.jsxs)("div",{className:"mt-1 text-xs text-[var(--vk-text-muted)]",children:["Relay: ",e.last_status?.hostname??e.hostname]}),ek.message&&ek.deviceId===e.device_id?(0,a.jsx)("div",{className:(0,$.cn)("mt-2 text-xs leading-5","failed"===ek.phase?"text-[var(--vk-red)]":"skipped"===ek.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:ek.message}):null,eN.message&&eN.deviceId===e.device_id?(0,a.jsx)("div",{className:(0,$.cn)("mt-2 text-xs leading-5","failed"===eN.status?"text-[var(--vk-red)]":"completed"===eN.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:eN.message}):null]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[e.connected?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y.$,{asChild:!0,variant:t?"primary":"outline",size:"md",children:(0,a.jsx)(n(),{href:`/?bridge=${encodeURIComponent(e.device_id)}`,children:t?"Continue":"Open"})}),(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",disabled:i||s,onClick:()=>{ej(e.device_id),eB(e)},children:[r?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(u.A,{className:"h-4 w-4"}),"Repair"]}),(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",disabled:s||i,onClick:()=>{ej(e.device_id),eH(e)},children:[s?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(g.A,{className:"h-4 w-4"}),s?"Updating...":"Update"]}),(0,a.jsxs)(y.$,{type:"button",variant:"outline",size:"md",disabled:i||s,onClick:()=>{ej(e.device_id),eG(e)},children:[d?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(l.A,{className:"h-4 w-4"}),"Restart"]})]}):(0,a.jsx)("span",{className:"text-xs text-[var(--vk-text-muted)]",children:"Offline"}),(0,a.jsx)(y.$,{type:"button",variant:"ghost",size:"icon",disabled:K===e.device_id,onClick:()=>{eJ(e.device_id)},"aria-label":`Revoke ${e.device_name}`,children:K===e.device_id?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(b,{className:"h-4 w-4"})})]})]})},e.device_id)}):(0,a.jsx)("div",{className:"rounded-[18px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 py-6 text-sm text-[var(--vk-text-muted)]",children:"No laptops have been paired yet. Run the setup command on the laptop you want to use."})})]})]})]})}),et?(0,a.jsxs)("div",{className:"fixed inset-0 z-[85] flex items-start justify-center overflow-y-auto bg-black/70 px-3 py-3 sm:items-center sm:py-0",children:[(0,a.jsx)("button",{type:"button",className:"absolute inset-0","aria-label":"Close bridge terminal test",onClick:()=>{es(!1)}}),(0,a.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"bridge-test-title",className:"relative z-10 flex max-h-[92vh] w-full max-w-6xl flex-col overflow-hidden rounded-[24px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_80px_rgba(0,0,0,0.4)]",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-4 border-b border-[var(--vk-border)] px-5 py-5 sm:flex-row sm:items-start sm:justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs font-semibold uppercase tracking-[0.24em] text-[var(--vk-text-muted)]",children:"Bridge terminal test"}),(0,a.jsx)("h2",{id:"bridge-test-title",className:"mt-2 text-xl font-semibold text-[var(--vk-text-strong)]",children:"Live session over Conductor Bridge"}),(0,a.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-6 text-[var(--vk-text-muted)]",children:ed?`${ed.projectId}${ed.branch?` \xb7 ${ed.branch}`:""}`:"Open a session here to verify terminal input and output through the bridge."})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)(k.J,{connected:eI.length>0,title:`${eI.length} connected device${1===eI.length?"":"s"}`}),(0,a.jsx)(y.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>{es(!1)},"aria-label":"Close bridge test modal",children:(0,a.jsx)(f.A,{className:"h-4 w-4"})})]})]}),(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col px-5 py-5",children:[0===eI.length?(0,a.jsx)("div",{className:"mb-4 rounded-[18px] border border-[color:color-mix(in_srgb,var(--vk-red)_28%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_10%,transparent)] px-4 py-3 text-sm text-[var(--vk-text-muted)]",children:"No paired bridge reports as online right now. Reconnect a laptop to test the live terminal path."}):null,ea?(0,a.jsx)("div",{className:"flex min-h-[360px] flex-1 items-center justify-center rounded-[20px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-sm text-[var(--vk-text-muted)]",children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),"Preparing a session for the bridge test..."]})}):er?(0,a.jsx)("div",{className:"rounded-[20px] border border-[color:color-mix(in_srgb,var(--vk-red)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-5 py-4 text-sm text-[var(--vk-red)]",children:er}):ed?(0,a.jsx)("div",{className:"min-h-[420px] flex-1 overflow-hidden rounded-[20px] border border-[var(--vk-border)] bg-[#060404]",children:(0,a.jsx)(N.SessionTerminal,{sessionId:ed.id,bridgeId:ed.bridgeId,sessionState:ed.status,pendingInsert:null})}):(0,a.jsx)("div",{className:"rounded-[20px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-5 py-10 text-sm text-[var(--vk-text-muted)]",children:"No session is available for bridge testing yet."})]})]})]}):null]})}},82767:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,65587,23)),Promise.resolve().then(s.bind(s,69902)),Promise.resolve().then(s.bind(s,81677))}},e=>{e.O(0,[3357,5587,1455,2175,4517,1665,3954,587,1968,7358],()=>e(e.s=82767)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[403,664,816,817,916,1035,1082,1097,1649,1652,1789,2046,2164,2170,2273,2318,2328,2503,2518,2637,2801,2938,3004,3032,3419,3530,3738,3896,3925,3971,4164,4275,4301,4627,4896,5333,5336,5368,5452,5605,5638,5951,6159,6419,6541,6810,6819,6849,6865,6946,6984,6988,7074,7613,7851,8080,8145,8167,8204,8241,8301,8503,8531,8977,9092,9169,9183,9560,9907],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9729],{29547:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let a=t(7620);function s(e,r){let t=(0,a.useRef)(null),s=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=t.current;e&&(t.current=null,e());let r=s.current;r&&(s.current=null,r())}else e&&(t.current=n(e,a)),r&&(s.current=n(r,a))},[e,r])}function n(e,r){if("function"!=typeof e)return e.current=r,()=>{e.current=null};{let t=e(r);return"function"==typeof t?t:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),e.exports=r.default)},46916:(e,r,t)=>{"use strict";t.d(r,{cn:()=>n});var a=t(9917),s=t(2809);function n(...e){return(0,s.QP)((0,a.$)(e))}},58050:(e,r,t)=>{Promise.resolve().then(t.bind(t,70899))},69902:(e,r,t)=>{"use strict";t.d(r,{PublicPageShell:()=>l,PublicPanel:()=>u,PublicSection:()=>c});var a=t(54568),s=t(82175),n=t(46916);function l({children:e,className:r}){return(0,a.jsx)("main",{className:"min-h-screen bg-[var(--bg-canvas)] text-[var(--text-strong)]",children:(0,a.jsxs)("div",{className:"mx-auto flex min-h-screen w-full max-w-6xl flex-col px-6 py-8 sm:px-8 sm:py-10",children:[(0,a.jsxs)("header",{className:"flex items-center gap-3 border-b border-[var(--border-soft)] pb-6",children:[(0,a.jsx)("img",{src:"/icon.svg",alt:"Conductor icon",width:40,height:40,className:"h-10 w-10 rounded-[10px] border border-[var(--border-soft)] bg-[var(--bg-panel)] p-1.5"}),(0,a.jsx)(s.default,{src:"/brand/conductor-wordmark-dark.png",alt:"Conductor",width:320,height:62,priority:!0,className:"h-auto w-[168px] sm:w-[220px]"})]}),(0,a.jsx)("div",{className:(0,n.cn)("flex-1 py-10 sm:py-12",r),children:e})]})})}function u({children:e,className:r}){return(0,a.jsx)("section",{className:(0,n.cn)("surface-card rounded-[var(--radius-lg)] border border-[var(--border-soft)] bg-[var(--bg-panel)]",r),children:e})}function c({eyebrow:e,title:r,description:t,children:s,className:l}){return(0,a.jsxs)("div",{className:(0,n.cn)("space-y-4",l),children:[e?(0,a.jsx)("p",{className:"text-xs font-semibold uppercase tracking-[0.24em] text-[var(--text-muted)]",children:e}):null,(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("h1",{className:"text-3xl font-semibold tracking-[-0.02em] text-[var(--text-strong)] sm:text-4xl",children:r}),t?(0,a.jsx)("p",{className:"max-w-2xl text-base leading-7 text-[var(--text-muted)] sm:text-lg",children:t}):null]}),s]})}},70899:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>u});var a=t(54568),s=t(7620),n=t(79748),l=t(69902);function u(){var e;let r=(0,n.useParams)().shareId,t=(0,s.useRef)(!0),[u,c]=(0,s.useState)(null),[o,i]=(0,s.useState)(""),[d,x]=(0,s.useState)(!0),[m,f]=(0,s.useState)(!1),[h,p]=(0,s.useState)(null),[b,v]=(0,s.useState)(null),g=(0,s.useCallback)(async(e=!1)=>{!e&&t.current&&f(!0);try{let e=await fetch(`/api/bridge/shares/${encodeURIComponent(r)}/output?lines=500`,{cache:"no-store"}),a=await e.json().catch(()=>null);if(!e.ok)throw Error(a?.error??`Failed to load shared terminal output (${e.status})`);if(!t.current)return;i("string"==typeof a?.output?a.output:""),p(null),v(new Date().toLocaleTimeString())}catch(e){t.current&&p(e instanceof Error?e.message:"Failed to load shared terminal output.")}finally{!e&&t.current&&f(!1)}},[r]);return((0,s.useEffect)(()=>(t.current=!0,()=>{t.current=!1}),[]),(0,s.useEffect)(()=>{let e=!1;return async function(){x(!0);try{let a=await fetch(`/api/bridge/shares/${encodeURIComponent(r)}`,{cache:"no-store"}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to resolve share link (${a.status})`);if(e||!t.current)return;c(s),p(null),await g()}catch(r){!e&&t.current&&p(r instanceof Error?r.message:"Failed to resolve share link.")}finally{!e&&t.current&&x(!1)}}(),()=>{e=!0}},[g,r]),(0,s.useEffect)(()=>{if(!u)return;let e=window.setInterval(()=>{g(!0)},4e3);return()=>{window.clearInterval(e)}},[g,u]),d)?(0,a.jsx)(l.PublicPageShell,{className:"flex items-center",children:(0,a.jsx)("div",{className:"mx-auto w-full max-w-xl",children:(0,a.jsx)(l.PublicPanel,{className:"px-6 py-5 text-sm text-[var(--text-muted)]",children:"Loading shared terminal..."})})}):h&&!u?(0,a.jsx)(l.PublicPageShell,{className:"flex items-center",children:(0,a.jsx)("div",{className:"mx-auto w-full max-w-xl",children:(0,a.jsx)(l.PublicPanel,{className:"p-6",children:(0,a.jsx)(l.PublicSection,{eyebrow:"Conductor Bridge",title:"Shared terminal unavailable",description:h})})})}):(0,a.jsx)("main",{className:"min-h-dvh bg-[var(--bg-canvas)] px-3 py-3 text-[var(--text-strong)] sm:px-6 sm:py-6",children:(0,a.jsxs)("div",{className:"mx-auto flex min-h-[calc(100dvh-1.5rem)] w-full max-w-7xl flex-col overflow-hidden rounded-[var(--radius-lg)] border border-[var(--border-soft)] bg-[var(--bg-panel)]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-[var(--border-soft)] px-4 py-3 text-[12px] text-[var(--text-muted)] sm:px-6",children:[(0,a.jsxs)("div",{children:["Shared terminal",u?` \xb7 ${u.read_only?"read-only":"editable"} \xb7 created ${(e=u.created_at_secs)<60?`${e}s ago`:e<3600?`${Math.round(e/60)}m ago`:`${Math.round(e/3600)}h ago`}`:""]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[b?(0,a.jsxs)("span",{children:["Updated ",b]}):null,(0,a.jsx)("button",{type:"button",onClick:()=>{g()},disabled:m,className:"rounded-md border border-[var(--border-soft)] px-2 py-1 text-[11px] text-[var(--text-strong)] hover:bg-[var(--bg-panel-elevated)] disabled:opacity-60",children:m?"Refreshing...":"Refresh"})]})]}),h?(0,a.jsx)("div",{className:"border-b border-[var(--border-soft)] bg-[rgba(255,143,122,0.08)] px-4 py-2 text-[12px] text-[var(--status-error)] sm:px-6",children:h}):null,(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-auto bg-[#060404] p-4 sm:p-6",children:(0,a.jsx)("pre",{className:"min-h-full whitespace-pre-wrap break-words font-mono text-[13px] leading-6 text-[#efe8e1]",children:o||"No terminal output is available yet."})})]})})}},79748:(e,r,t)=>{"use strict";var a=t(79796);t.o(a,"useParams")&&t.d(r,{useParams:function(){return a.useParams}}),t.o(a,"usePathname")&&t.d(r,{usePathname:function(){return a.usePathname}}),t.o(a,"useRouter")&&t.d(r,{useRouter:function(){return a.useRouter}}),t.o(a,"useSearchParams")&&t.d(r,{useSearchParams:function(){return a.useSearchParams}}),t.o(a,"useSelectedLayoutSegments")&&t.d(r,{useSelectedLayoutSegments:function(){return a.useSelectedLayoutSegments}})}},e=>{e.O(0,[3357,2175,587,1968,7358],()=>e(e.s=58050)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{24876:(e,r,t)=>{Promise.resolve().then(t.bind(t,37204)),Promise.resolve().then(t.bind(t,36727)),Promise.resolve().then(t.bind(t,76940)),Promise.resolve().then(t.bind(t,48914)),Promise.resolve().then(t.bind(t,30679)),Promise.resolve().then(t.bind(t,62520)),Promise.resolve().then(t.bind(t,93603)),Promise.resolve().then(t.t.bind(t,48477,23)),Promise.resolve().then(t.t.bind(t,91745,23)),Promise.resolve().then(t.t.bind(t,31008,23)),Promise.resolve().then(t.t.bind(t,78578,23)),Promise.resolve().then(t.t.bind(t,74471,23)),Promise.resolve().then(t.bind(t,48204)),Promise.resolve().then(t.bind(t,92690))},42509:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("00a411b1f47977f3426b4bcad7a1958a0ae33c1efa",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},46916:(e,r,t)=>{"use strict";t.d(r,{cn:()=>s});var o=t(9917),n=t(2809);function s(...e){return(0,n.QP)((0,o.$)(e))}},48204:(e,r,t)=>{"use strict";t.d(r,{ThemeProvider:()=>a});var o=t(54568),n=t(7620);let s=(0,n.createContext)({theme:"dark",toggleTheme:()=>{}});function i(e){let r=document.documentElement;r.classList.remove("dark","light"),r.classList.add(e)}function a({children:e}){let[r,t]=(0,n.useState)("dark");(0,n.useEffect)(()=>{let e=localStorage.getItem("conductor-theme");if("light"===e||"dark"===e){t(e),i(e);return}i("dark")},[]);let d=(0,n.useCallback)(()=>{t(e=>{let r="dark"===e?"light":"dark";return localStorage.setItem("conductor-theme",r),i(r),r})},[]);return(0,o.jsx)(s.Provider,{value:{theme:r,toggleTheme:d},children:e})}},74471:()=>{},83789:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("005762fec1ba2a10d1b76b14788858bd8e7361deeb",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},92690:(e,r,t)=>{"use strict";t.d(r,{TooltipProvider:()=>a});var o=t(54568),n=t(97257),s=t(7620),i=t(46916);let a=n.Kq;n.bL,n.l9,(0,s.forwardRef)(({className:e,sideOffset:r=8,...t},s)=>(0,o.jsx)(n.ZL,{children:(0,o.jsx)(n.UC,{ref:s,sideOffset:r,className:(0,i.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",e),...t})})).displayName="TooltipContent"}},e=>{e.O(0,[7547,3357,524,1455,7220,587,1968,7358],()=>e(e.s=24876)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7766],{41021:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>x});var s=t(54568),a=t(7620),o=t(65587),l=t.n(o);let d="conductor-bridge-token",n="conductor-bridge-relay-url";function i(e){let r=window.localStorage.getItem(e)?.trim();return r&&r.length>0?r:null}function c(){return{token:i(d),relayUrl:i(n)}}function x(){let[e,r]=(0,a.useState)(null),[t,o]=(0,a.useState)(null),[i,x]=(0,a.useState)([]),[h,m]=(0,a.useState)([]),[v,b]=(0,a.useState)(!0),[u,p]=(0,a.useState)(null),[g,k]=(0,a.useState)(null),f=(0,a.useMemo)(()=>{if(!t)return null;let e=function(e){let{relayUrl:r}=c();if(!r)return null;let t=function(e,r){try{let t=window.location.origin,s=new URL(e,t);if("http"===r){if("ws:"===s.protocol)s.protocol="http:";else if("wss:"===s.protocol)s.protocol="https:";else if("http:"!==s.protocol&&"https:"!==s.protocol)return null}else if("http:"===s.protocol)s.protocol="ws:";else if("https:"===s.protocol)s.protocol="wss:";else if("ws:"!==s.protocol&&"wss:"!==s.protocol)return null;return s.hash="",s.toString()}catch{return null}}(r,"http");if(!t)return null;let s=new URL(t),{pathname:a,query:o}=function(e){let[r,t=""]=e.split("?");return{pathname:r.startsWith("/")?r:`/${r}`,query:t}}(e);return s.pathname=a,s.search=o?`?${o}`:"",s.toString()}("/health");return e?new URL(e).origin:null},[t]);async function j(){let e=c();r(e.token),o(e.relayUrl);try{let[e,r]=await Promise.all([fetch("/api/bridge/bridges",{cache:"no-store"}),fetch("/api/bridge/shares",{cache:"no-store"})]),t=await e.json().catch(()=>null),s=await r.json().catch(()=>null);if(!e.ok)throw Error(t?.error??`Failed to load bridges (${e.status})`);if(!r.ok)throw Error(s?.error??`Failed to load shares (${r.status})`);x(t?.bridges??[]),m(s?.shares??[]),p(null)}catch(e){p(e instanceof Error?e.message:"Failed to load bridge settings."),x([]),m([])}finally{b(!1)}}return(0,a.useEffect)(()=>{j()},[]),(0,s.jsx)("main",{className:"min-h-dvh bg-[var(--vk-bg-main)] px-6 py-8 text-[var(--vk-text-normal)]",children:(0,s.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-6",children:[(0,s.jsx)("div",{className:"rounded-[24px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-6 shadow-[0_18px_40px_rgba(0,0,0,0.28)]",children:(0,s.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold",children:"Bridge settings"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-[var(--vk-text-muted)]",children:"Manage the local bridge token, relay URL, connected bridges, and shared terminal links."})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,s.jsx)(l(),{href:"/bridge/connect",className:"rounded-xl border border-[var(--vk-border)] px-4 py-2 text-sm hover:bg-[var(--vk-bg-hover)]",children:"Connect bridge"}),(0,s.jsx)("button",{type:"button",onClick:()=>{j()},className:"rounded-xl border border-[var(--vk-border)] px-4 py-2 text-sm hover:bg-[var(--vk-bg-hover)]",children:"Refresh"})]})]})}),(0,s.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,s.jsxs)("section",{className:"rounded-[24px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-6 shadow-[0_18px_40px_rgba(0,0,0,0.28)]",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold",children:"Local connection"}),(0,s.jsxs)("dl",{className:"mt-4 space-y-4 text-sm",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("dt",{className:"text-[var(--vk-text-muted)]",children:"Relay URL"}),(0,s.jsx)("dd",{className:"mt-1 break-all font-mono text-xs text-[var(--vk-text-normal)]",children:t??"not configured"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("dt",{className:"text-[var(--vk-text-muted)]",children:"Bridge token"}),(0,s.jsx)("dd",{className:"mt-1 break-all font-mono text-xs text-[var(--vk-text-normal)]",children:e??"not configured"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("dt",{className:"text-[var(--vk-text-muted)]",children:"Storage keys"}),(0,s.jsxs)("dd",{className:"mt-1 break-all font-mono text-xs text-[var(--vk-text-normal)]",children:[d,", ",n]})]})]}),(0,s.jsxs)("div",{className:"mt-6 flex flex-wrap gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>{window.localStorage.removeItem(n),window.localStorage.removeItem(d),window.dispatchEvent(new Event("storage")),r(null),o(null),x([]),m([])},className:"rounded-xl border border-[var(--vk-border)] px-4 py-2 text-sm hover:bg-[var(--vk-bg-hover)]",children:"Revoke local token"}),(0,s.jsx)("button",{type:"button",onClick:()=>{j()},className:"rounded-xl border border-[var(--vk-border)] px-4 py-2 text-sm hover:bg-[var(--vk-bg-hover)]",children:"Reload relay state"})]})]}),(0,s.jsxs)("section",{className:"rounded-[24px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-6 shadow-[0_18px_40px_rgba(0,0,0,0.28)]",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold",children:"Relay status"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-[var(--vk-text-muted)]",children:f?`Relay origin: ${f}`:"No relay configured in this browser."}),(0,s.jsx)("div",{className:"mt-4 space-y-3",children:i.length>0?i.map(e=>(0,s.jsx)("div",{className:"rounded-2xl border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-4 text-sm",children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"font-medium",children:e.last_status?.hostname??e.bridge_id}),(0,s.jsxs)("div",{className:"mt-1 text-xs text-[var(--vk-text-muted)]",children:[e.last_status?.os??"unknown"," \xb7 ",e.browser_count," browser connection",1===e.browser_count?"":"s"]})]}),(0,s.jsx)("button",{type:"button",disabled:g===e.bridge_id,onClick:async()=>{k(e.bridge_id);try{let r=await fetch(`/api/bridge/bridges/${encodeURIComponent(e.bridge_id)}`,{method:"DELETE"});if(!r.ok)throw Error(`Failed to revoke bridge (${r.status})`);await j()}catch(e){p(e instanceof Error?e.message:"Failed to revoke bridge.")}finally{k(null)}},className:"rounded-xl border border-[var(--vk-border)] px-3 py-1.5 text-xs hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Disconnect"})]})},e.bridge_id)):(0,s.jsx)("div",{className:"rounded-2xl border border-dashed border-[var(--vk-border)] px-4 py-6 text-sm text-[var(--vk-text-muted)]",children:v?"Loading bridge list…":"No connected bridges found."})})]})]}),(0,s.jsxs)("section",{className:"rounded-[24px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-6 shadow-[0_18px_40px_rgba(0,0,0,0.28)]",children:[(0,s.jsx)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-lg font-semibold",children:"Shared terminals"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-[var(--vk-text-muted)]",children:"Read-only links are created and revoked on the relay. They never store session output."})]})}),(0,s.jsx)("div",{className:"mt-4 space-y-3",children:h.length>0?h.map(e=>{var r;return(0,s.jsx)("div",{className:"rounded-2xl border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-4 text-sm",children:(0,s.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"font-medium",children:["Share ",e.share_id.slice(0,8)]}),(0,s.jsxs)("div",{className:"mt-1 text-xs text-[var(--vk-text-muted)]",children:["Session scope: ",e.session_scope," \xb7 ",e.read_only?"read-only":"editable"," \xb7 created ",(r=e.created_at_secs)<60?`${r}s ago`:r<3600?`${Math.round(r/60)}m ago`:`${Math.round(r/3600)}h ago`]}),(0,s.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:e.browser_url})]}),(0,s.jsx)("button",{type:"button",disabled:g===e.share_id,onClick:async()=>{k(e.share_id);try{let r=await fetch(`/api/bridge/shares/${encodeURIComponent(e.share_id)}`,{method:"DELETE"});if(!r.ok)throw Error(`Failed to revoke share (${r.status})`);await j()}catch(e){p(e instanceof Error?e.message:"Failed to revoke share.")}finally{k(null)}},className:"rounded-xl border border-[var(--vk-border)] px-3 py-1.5 text-xs hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Revoke"})]})},e.share_id)}):(0,s.jsx)("div",{className:"rounded-2xl border border-dashed border-[var(--vk-border)] px-4 py-6 text-sm text-[var(--vk-text-muted)]",children:v?"Loading share links…":"No active shared terminals."})})]}),u?(0,s.jsx)("div",{className:"rounded-[24px] border border-[rgba(255,143,122,0.25)] bg-[rgba(255,143,122,0.08)] px-5 py-4 text-sm text-[var(--status-error)]",children:u}):null]})})}},90923:(e,r,t)=>{Promise.resolve().then(t.bind(t,41021))}},e=>{e.O(0,[5587,587,1968,7358],()=>e(e.s=90923)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[403,664,816,817,916,1035,1082,1097,1649,1652,1789,2046,2164,2170,2273,2318,2328,2503,2518,2637,2801,2938,3004,3032,3419,3530,3738,3896,3925,3971,4164,4275,4301,4627,4896,5333,5336,5368,5452,5605,5638,5951,6159,6419,6541,6810,6819,6849,6865,6946,6984,6988,7074,7613,7851,8080,8145,8167,8204,8241,8301,8503,8531,8977,9092,9169,9183,9560,9907],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[403,664,816,817,916,1035,1082,1097,1649,1652,1789,2046,2164,2170,2273,2318,2328,2503,2518,2637,2801,2938,3004,3032,3419,3530,3738,3896,3925,3971,4164,4275,4301,4627,4896,5333,5336,5368,5452,5605,5638,5951,6159,6419,6541,6810,6819,6849,6865,6946,6984,6988,7074,7613,7851,8080,8145,8167,8204,8241,8301,8503,8531,8977,9092,9169,9183,9560,9907],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[403,664,816,817,916,1035,1082,1097,1649,1652,1789,2046,2164,2170,2273,2318,2328,2503,2518,2637,2801,2938,3004,3032,3419,3530,3738,3896,3925,3971,4164,4275,4301,4627,4896,5333,5336,5368,5452,5605,5638,5951,6159,6419,6541,6810,6819,6849,6865,6946,6984,6988,7074,7613,7851,8080,8145,8167,8204,8241,8301,8503,8531,8977,9092,9169,9183,9560,9907],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[403,664,816,817,916,1035,1082,1097,1649,1652,1789,2046,2164,2170,2273,2318,2328,2503,2518,2637,2801,2938,3004,3032,3419,3530,3738,3896,3925,3971,4164,4275,4301,4627,4896,5333,5336,5368,5452,5605,5638,5951,6159,6419,6541,6810,6819,6849,6865,6946,6984,6988,7074,7613,7851,8080,8145,8167,8204,8241,8301,8503,8531,8977,9092,9169,9183,9560,9907],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[403,664,816,817,916,1035,1082,1097,1649,1652,1789,2046,2164,2170,2273,2318,2328,2503,2518,2637,2801,2938,3004,3032,3419,3530,3738,3896,3925,3971,4164,4275,4301,4627,4896,5333,5336,5368,5452,5605,5638,5951,6159,6419,6541,6810,6819,6849,6865,6946,6984,6988,7074,7613,7851,8080,8145,8167,8204,8241,8301,8503,8531,8977,9092,9169,9183,9560,9907],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);