conductor-oss 0.58.12 → 0.58.13

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 (566) hide show
  1. package/package.json +5 -5
  2. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  3. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +6 -5
  4. package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
  5. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  6. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +9 -9
  7. package/web/.next/standalone/packages/web/.next/routes-manifest.json +16 -8
  8. package/web/.next/standalone/packages/web/.next/server/app/__clerk/[[...path]]/route.js +1 -1
  9. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page.js +3 -3
  10. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  12. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  13. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +2 -2
  20. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +1 -1
  24. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/api/auth/profile/route.js +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/[bridgeId]/route.js +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/route.js +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/app-update/route.js +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/repair/route.js +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/route.js +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/service-restart/route.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/claims/complete/route.js +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/code/route.js +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/route.js +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/api/bridges/route.js +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js +1 -1
  46. package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/route.js +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/sync/route.js +1 -1
  48. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/bindings/route.js +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/route.js +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/stream/route.js +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/integration/route.js +1 -1
  58. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/interrupt/route.js +1 -1
  59. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/preferences/route.js +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/route.js +1 -1
  61. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/send/route.js +1 -1
  62. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route.js +1 -1
  63. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/route.js +1 -1
  64. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/route.js +1 -1
  65. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatchers/route.js +1 -1
  66. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/open/route.js +1 -1
  67. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/route.js +1 -1
  68. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/setup/route.js +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/app/api/projects/route.js +1 -1
  70. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +1 -1
  72. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js +1 -1
  73. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  74. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js +1 -1
  76. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js +1 -1
  78. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +1 -1
  79. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js +1 -1
  80. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js +1 -1
  81. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js +1 -1
  82. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js +1 -1
  83. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js +1 -1
  84. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js +1 -1
  85. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js +1 -1
  86. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/relay/route.js +1 -1
  87. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js +1 -1
  88. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js +1 -1
  89. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js.nft.json +1 -1
  90. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js +1 -0
  91. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/{ws → ttyd}/route.js.nft.json +1 -1
  92. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route_client-reference-manifest.js +1 -0
  93. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js +1 -0
  94. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js.nft.json +1 -0
  95. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route_client-reference-manifest.js +1 -0
  96. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js +1 -0
  97. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js.nft.json +1 -0
  98. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route_client-reference-manifest.js +1 -0
  99. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +1 -1
  100. package/web/.next/standalone/packages/web/.next/server/app/api/skills/activate/route.js +1 -1
  101. package/web/.next/standalone/packages/web/.next/server/app/api/skills/catalog/route.js +1 -1
  102. package/web/.next/standalone/packages/web/.next/server/app/api/skills/deactivate/route.js +1 -1
  103. package/web/.next/standalone/packages/web/.next/server/app/api/skills/install/route.js +1 -1
  104. package/web/.next/standalone/packages/web/.next/server/app/api/skills/installed/route.js +1 -1
  105. package/web/.next/standalone/packages/web/.next/server/app/api/skills/session-active/route.js +1 -1
  106. package/web/.next/standalone/packages/web/.next/server/app/api/skills/uninstall/route.js +1 -1
  107. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +1 -1
  108. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js +1 -1
  109. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +1 -1
  110. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +2 -2
  111. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  112. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  113. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route.js +2 -2
  114. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.sh/route.js +2 -2
  115. package/web/.next/standalone/packages/web/.next/server/app/icon.svg/route.js +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
  117. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  118. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  119. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
  120. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  121. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  122. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +2 -2
  123. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  124. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  125. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +2 -2
  126. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  127. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  128. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +2 -2
  129. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  130. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  131. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +2 -2
  132. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  133. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  134. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +2 -2
  135. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  136. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  137. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +6 -5
  138. package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
  139. package/web/.next/standalone/packages/web/.next/server/chunks/2802.js +1 -0
  140. package/web/.next/standalone/packages/web/.next/server/chunks/3364.js +3 -0
  141. package/web/.next/standalone/packages/web/.next/server/chunks/3540.js +1 -1
  142. package/web/.next/standalone/packages/web/.next/server/chunks/468.js +1 -1
  143. package/web/.next/standalone/packages/web/.next/server/chunks/6034.js +1 -1
  144. package/web/.next/standalone/packages/web/.next/server/chunks/8039.js +278 -0
  145. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  146. package/web/.next/standalone/packages/web/.next/server/chunks/9615.js +1 -0
  147. package/web/.next/standalone/packages/web/.next/server/functions-config-manifest.json +3 -1
  148. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  149. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  150. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.js +1 -1
  151. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.json +1 -1
  152. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  153. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  154. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  155. package/web/.next/{static/chunks/5350.aa94c6b8388dca53.js → standalone/packages/web/.next/static/chunks/2969.7ed62af605513fc5.js} +1 -1
  156. package/web/.next/standalone/packages/web/.next/static/chunks/{3838.04287296ac551c5a.js → 3838.e16cb2d72c562a24.js} +1 -1
  157. package/web/.next/standalone/packages/web/.next/static/chunks/4443.562c2cf3b1c7eafe.js +1 -0
  158. package/web/.next/standalone/packages/web/.next/static/chunks/{5493-63720742e75faa27.js → 5493-74e29d5110b6cee2.js} +1 -1
  159. package/web/.next/standalone/packages/web/.next/static/chunks/7332.24d21240a4d8ae81.js +1 -0
  160. package/web/.next/{static/chunks/8510-e7bbc9699a1d2b2a.js → standalone/packages/web/.next/static/chunks/8510-4802c67282856b73.js} +1 -1
  161. package/web/.next/standalone/packages/web/.next/static/chunks/883-7ade258e2e6bccb9.js +3 -0
  162. package/web/.next/{static/chunks/9703-4fb004d4fc34e01d.js → standalone/packages/web/.next/static/chunks/9703-93347b812923255f.js} +2 -2
  163. package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-da63d844222da45c.js +1 -0
  164. package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-da63d844222da45c.js +1 -0
  165. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-da63d844222da45c.js +1 -0
  166. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-da63d844222da45c.js +1 -0
  167. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-da63d844222da45c.js +1 -0
  168. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-da63d844222da45c.js +1 -0
  169. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-da63d844222da45c.js +1 -0
  170. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-da63d844222da45c.js +1 -0
  171. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-da63d844222da45c.js +1 -0
  172. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-da63d844222da45c.js +1 -0
  173. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-da63d844222da45c.js +1 -0
  174. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-da63d844222da45c.js +1 -0
  175. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-da63d844222da45c.js +1 -0
  176. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-da63d844222da45c.js +1 -0
  177. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-da63d844222da45c.js +1 -0
  178. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-da63d844222da45c.js +1 -0
  179. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-da63d844222da45c.js +1 -0
  180. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-da63d844222da45c.js +1 -0
  181. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-da63d844222da45c.js +1 -0
  182. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-da63d844222da45c.js +1 -0
  183. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-da63d844222da45c.js +1 -0
  184. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-da63d844222da45c.js +1 -0
  185. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-da63d844222da45c.js +1 -0
  186. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-da63d844222da45c.js +1 -0
  187. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-da63d844222da45c.js +1 -0
  188. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-da63d844222da45c.js +1 -0
  189. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/route-da63d844222da45c.js +1 -0
  190. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/sync/route-da63d844222da45c.js +1 -0
  191. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-da63d844222da45c.js +1 -0
  192. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-da63d844222da45c.js +1 -0
  193. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-da63d844222da45c.js +1 -0
  194. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-da63d844222da45c.js +1 -0
  195. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-da63d844222da45c.js +1 -0
  196. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-da63d844222da45c.js +1 -0
  197. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-da63d844222da45c.js +1 -0
  198. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-da63d844222da45c.js +1 -0
  199. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-da63d844222da45c.js +1 -0
  200. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-da63d844222da45c.js +1 -0
  201. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-da63d844222da45c.js +1 -0
  202. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-da63d844222da45c.js +1 -0
  203. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-da63d844222da45c.js +1 -0
  204. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-da63d844222da45c.js +1 -0
  205. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-da63d844222da45c.js +1 -0
  206. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-da63d844222da45c.js +1 -0
  207. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-da63d844222da45c.js +1 -0
  208. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-da63d844222da45c.js +1 -0
  209. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/open/route-da63d844222da45c.js +1 -0
  210. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/route-da63d844222da45c.js +1 -0
  211. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/setup/route-da63d844222da45c.js +1 -0
  212. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/route-da63d844222da45c.js +1 -0
  213. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-da63d844222da45c.js +1 -0
  214. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-da63d844222da45c.js +1 -0
  215. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-da63d844222da45c.js +1 -0
  216. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-da63d844222da45c.js +1 -0
  217. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-da63d844222da45c.js +1 -0
  218. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-da63d844222da45c.js +1 -0
  219. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-da63d844222da45c.js +1 -0
  220. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-da63d844222da45c.js +1 -0
  221. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-da63d844222da45c.js +1 -0
  222. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-da63d844222da45c.js +1 -0
  223. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-da63d844222da45c.js +1 -0
  224. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-da63d844222da45c.js +1 -0
  225. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-da63d844222da45c.js +1 -0
  226. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-da63d844222da45c.js +1 -0
  227. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-da63d844222da45c.js +1 -0
  228. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-da63d844222da45c.js +1 -0
  229. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-da63d844222da45c.js +1 -0
  230. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-da63d844222da45c.js +1 -0
  231. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-da63d844222da45c.js +1 -0
  232. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-da63d844222da45c.js +1 -0
  233. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-da63d844222da45c.js +1 -0
  234. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-da63d844222da45c.js +1 -0
  235. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-da63d844222da45c.js +1 -0
  236. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-da63d844222da45c.js +1 -0
  237. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-da63d844222da45c.js +1 -0
  238. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-da63d844222da45c.js +1 -0
  239. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-da63d844222da45c.js +1 -0
  240. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-da63d844222da45c.js +1 -0
  241. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-da63d844222da45c.js +1 -0
  242. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-da63d844222da45c.js +1 -0
  243. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-da63d844222da45c.js +1 -0
  244. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-da63d844222da45c.js +1 -0
  245. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-da63d844222da45c.js +1 -0
  246. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-69fb7636334c3973.js +1 -0
  247. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-da63d844222da45c.js +1 -0
  248. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-da63d844222da45c.js +1 -0
  249. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-98e021b3f1f63ff8.js +1 -0
  250. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-da63d844222da45c.js +1 -0
  251. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-da63d844222da45c.js +1 -0
  252. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-da63d844222da45c.js +1 -0
  253. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-da63d844222da45c.js +1 -0
  254. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-da63d844222da45c.js +1 -0
  255. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-9b458b0e28d599e9.js +1 -0
  256. package/web/.next/standalone/packages/web/.next/static/css/d31189a7bb85881e.css +1 -0
  257. package/web/.next/standalone/packages/web/.next/static/{WbZdZtkgQtt-eEAc7rzHl → jX90efNmWKjmUhjR6uaGX}/_buildManifest.js +1 -1
  258. package/web/.next/{standalone/packages/web/.next/static/chunks/5350.aa94c6b8388dca53.js → static/chunks/2969.7ed62af605513fc5.js} +1 -1
  259. package/web/.next/static/chunks/{3838.04287296ac551c5a.js → 3838.e16cb2d72c562a24.js} +1 -1
  260. package/web/.next/static/chunks/4443.562c2cf3b1c7eafe.js +1 -0
  261. package/web/.next/static/chunks/{5493-63720742e75faa27.js → 5493-74e29d5110b6cee2.js} +1 -1
  262. package/web/.next/static/chunks/7332.24d21240a4d8ae81.js +1 -0
  263. package/web/.next/{standalone/packages/web/.next/static/chunks/8510-e7bbc9699a1d2b2a.js → static/chunks/8510-4802c67282856b73.js} +1 -1
  264. package/web/.next/static/chunks/883-7ade258e2e6bccb9.js +3 -0
  265. package/web/.next/{standalone/packages/web/.next/static/chunks/9703-4fb004d4fc34e01d.js → static/chunks/9703-93347b812923255f.js} +2 -2
  266. package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-da63d844222da45c.js +1 -0
  267. package/web/.next/static/chunks/app/_global-error/page-da63d844222da45c.js +1 -0
  268. package/web/.next/static/chunks/app/api/access/route-da63d844222da45c.js +1 -0
  269. package/web/.next/static/chunks/app/api/agents/route-da63d844222da45c.js +1 -0
  270. package/web/.next/static/chunks/app/api/app-update/route-da63d844222da45c.js +1 -0
  271. package/web/.next/static/chunks/app/api/attachments/route-da63d844222da45c.js +1 -0
  272. package/web/.next/static/chunks/app/api/auth/profile/route-da63d844222da45c.js +1 -0
  273. package/web/.next/static/chunks/app/api/boards/comments/route-da63d844222da45c.js +1 -0
  274. package/web/.next/static/chunks/app/api/boards/route-da63d844222da45c.js +1 -0
  275. package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-da63d844222da45c.js +1 -0
  276. package/web/.next/static/chunks/app/api/bridge/bridges/route-da63d844222da45c.js +1 -0
  277. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-da63d844222da45c.js +1 -0
  278. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-da63d844222da45c.js +1 -0
  279. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-da63d844222da45c.js +1 -0
  280. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-da63d844222da45c.js +1 -0
  281. package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-da63d844222da45c.js +1 -0
  282. package/web/.next/static/chunks/app/api/bridge/devices/code/route-da63d844222da45c.js +1 -0
  283. package/web/.next/static/chunks/app/api/bridge/devices/route-da63d844222da45c.js +1 -0
  284. package/web/.next/static/chunks/app/api/bridges/route-da63d844222da45c.js +1 -0
  285. package/web/.next/static/chunks/app/api/config/route-da63d844222da45c.js +1 -0
  286. package/web/.next/static/chunks/app/api/context-files/open/route-da63d844222da45c.js +1 -0
  287. package/web/.next/static/chunks/app/api/context-files/route-da63d844222da45c.js +1 -0
  288. package/web/.next/static/chunks/app/api/events/route-da63d844222da45c.js +1 -0
  289. package/web/.next/static/chunks/app/api/executor/health/route-da63d844222da45c.js +1 -0
  290. package/web/.next/static/chunks/app/api/filesystem/directory/route-da63d844222da45c.js +1 -0
  291. package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-da63d844222da45c.js +1 -0
  292. package/web/.next/static/chunks/app/api/github/projects/route-da63d844222da45c.js +1 -0
  293. package/web/.next/static/chunks/app/api/github/projects/sync/route-da63d844222da45c.js +1 -0
  294. package/web/.next/static/chunks/app/api/github/repos/route-da63d844222da45c.js +1 -0
  295. package/web/.next/static/chunks/app/api/github/webhook/route-da63d844222da45c.js +1 -0
  296. package/web/.next/static/chunks/app/api/health/boards/route-da63d844222da45c.js +1 -0
  297. package/web/.next/static/chunks/app/api/health/sessions/route-da63d844222da45c.js +1 -0
  298. package/web/.next/static/chunks/app/api/notifications/route-da63d844222da45c.js +1 -0
  299. package/web/.next/static/chunks/app/api/preferences/route-da63d844222da45c.js +1 -0
  300. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-da63d844222da45c.js +1 -0
  301. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-da63d844222da45c.js +1 -0
  302. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-da63d844222da45c.js +1 -0
  303. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-da63d844222da45c.js +1 -0
  304. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-da63d844222da45c.js +1 -0
  305. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-da63d844222da45c.js +1 -0
  306. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-da63d844222da45c.js +1 -0
  307. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-da63d844222da45c.js +1 -0
  308. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-da63d844222da45c.js +1 -0
  309. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-da63d844222da45c.js +1 -0
  310. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-da63d844222da45c.js +1 -0
  311. package/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-da63d844222da45c.js +1 -0
  312. package/web/.next/static/chunks/app/api/projects/[id]/open/route-da63d844222da45c.js +1 -0
  313. package/web/.next/static/chunks/app/api/projects/[id]/route-da63d844222da45c.js +1 -0
  314. package/web/.next/static/chunks/app/api/projects/[id]/setup/route-da63d844222da45c.js +1 -0
  315. package/web/.next/static/chunks/app/api/projects/route-da63d844222da45c.js +1 -0
  316. package/web/.next/static/chunks/app/api/repositories/[id]/route-da63d844222da45c.js +1 -0
  317. package/web/.next/static/chunks/app/api/repositories/route-da63d844222da45c.js +1 -0
  318. package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-da63d844222da45c.js +1 -0
  319. package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-da63d844222da45c.js +1 -0
  320. package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-da63d844222da45c.js +1 -0
  321. package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-da63d844222da45c.js +1 -0
  322. package/web/.next/static/chunks/app/api/sessions/[id]/files/route-da63d844222da45c.js +1 -0
  323. package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-da63d844222da45c.js +1 -0
  324. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-da63d844222da45c.js +1 -0
  325. package/web/.next/static/chunks/app/api/sessions/[id]/output/route-da63d844222da45c.js +1 -0
  326. package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-da63d844222da45c.js +1 -0
  327. package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-da63d844222da45c.js +1 -0
  328. package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-da63d844222da45c.js +1 -0
  329. package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-da63d844222da45c.js +1 -0
  330. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-da63d844222da45c.js +1 -0
  331. package/web/.next/static/chunks/app/api/sessions/[id]/route-da63d844222da45c.js +1 -0
  332. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-da63d844222da45c.js +1 -0
  333. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-da63d844222da45c.js +1 -0
  334. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-da63d844222da45c.js +1 -0
  335. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-da63d844222da45c.js +1 -0
  336. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-da63d844222da45c.js +1 -0
  337. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-da63d844222da45c.js +1 -0
  338. package/web/.next/static/chunks/app/api/sessions/route-da63d844222da45c.js +1 -0
  339. package/web/.next/static/chunks/app/api/skills/activate/route-da63d844222da45c.js +1 -0
  340. package/web/.next/static/chunks/app/api/skills/catalog/route-da63d844222da45c.js +1 -0
  341. package/web/.next/static/chunks/app/api/skills/deactivate/route-da63d844222da45c.js +1 -0
  342. package/web/.next/static/chunks/app/api/skills/install/route-da63d844222da45c.js +1 -0
  343. package/web/.next/static/chunks/app/api/skills/installed/route-da63d844222da45c.js +1 -0
  344. package/web/.next/static/chunks/app/api/skills/session-active/route-da63d844222da45c.js +1 -0
  345. package/web/.next/static/chunks/app/api/skills/uninstall/route-da63d844222da45c.js +1 -0
  346. package/web/.next/static/chunks/app/api/spawn/route-da63d844222da45c.js +1 -0
  347. package/web/.next/static/chunks/app/api/workspaces/branches/route-da63d844222da45c.js +1 -0
  348. package/web/.next/static/chunks/app/api/workspaces/route-da63d844222da45c.js +1 -0
  349. package/web/.next/static/chunks/app/bridge/connect/page-69fb7636334c3973.js +1 -0
  350. package/web/.next/static/chunks/app/bridge/install.ps1/route-da63d844222da45c.js +1 -0
  351. package/web/.next/static/chunks/app/bridge/install.sh/route-da63d844222da45c.js +1 -0
  352. package/web/.next/static/chunks/app/layout-98e021b3f1f63ff8.js +1 -0
  353. package/web/.next/static/chunks/app/sign-in/hosted/page-da63d844222da45c.js +1 -0
  354. package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-da63d844222da45c.js +1 -0
  355. package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-da63d844222da45c.js +1 -0
  356. package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-da63d844222da45c.js +1 -0
  357. package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-da63d844222da45c.js +1 -0
  358. package/web/.next/static/chunks/webpack-9b458b0e28d599e9.js +1 -0
  359. package/web/.next/static/css/d31189a7bb85881e.css +1 -0
  360. package/web/.next/static/{WbZdZtkgQtt-eEAc7rzHl → jX90efNmWKjmUhjR6uaGX}/_buildManifest.js +1 -1
  361. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ws/route.js +0 -1
  362. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ws/route_client-reference-manifest.js +0 -1
  363. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js +0 -5
  364. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js.nft.json +0 -1
  365. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page_client-reference-manifest.js +0 -1
  366. package/web/.next/standalone/packages/web/.next/server/chunks/5262.js +0 -3
  367. package/web/.next/standalone/packages/web/.next/server/chunks/6969.js +0 -1
  368. package/web/.next/standalone/packages/web/.next/server/chunks/8616.js +0 -1
  369. package/web/.next/standalone/packages/web/.next/static/chunks/4443.b63af6e6d5fedad4.js +0 -1
  370. package/web/.next/standalone/packages/web/.next/static/chunks/7283-5a86b16cfe8deff3.js +0 -3
  371. package/web/.next/standalone/packages/web/.next/static/chunks/8065.43f0c839ee18f559.js +0 -1
  372. package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-2014857132332e79.js +0 -1
  373. package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-2014857132332e79.js +0 -1
  374. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-2014857132332e79.js +0 -1
  375. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-2014857132332e79.js +0 -1
  376. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-2014857132332e79.js +0 -1
  377. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-2014857132332e79.js +0 -1
  378. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-2014857132332e79.js +0 -1
  379. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-2014857132332e79.js +0 -1
  380. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-2014857132332e79.js +0 -1
  381. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-2014857132332e79.js +0 -1
  382. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-2014857132332e79.js +0 -1
  383. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-2014857132332e79.js +0 -1
  384. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-2014857132332e79.js +0 -1
  385. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-2014857132332e79.js +0 -1
  386. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-2014857132332e79.js +0 -1
  387. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-2014857132332e79.js +0 -1
  388. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-2014857132332e79.js +0 -1
  389. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-2014857132332e79.js +0 -1
  390. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-2014857132332e79.js +0 -1
  391. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-2014857132332e79.js +0 -1
  392. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-2014857132332e79.js +0 -1
  393. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-2014857132332e79.js +0 -1
  394. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-2014857132332e79.js +0 -1
  395. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-2014857132332e79.js +0 -1
  396. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-2014857132332e79.js +0 -1
  397. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-2014857132332e79.js +0 -1
  398. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/route-2014857132332e79.js +0 -1
  399. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/sync/route-2014857132332e79.js +0 -1
  400. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-2014857132332e79.js +0 -1
  401. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-2014857132332e79.js +0 -1
  402. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-2014857132332e79.js +0 -1
  403. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-2014857132332e79.js +0 -1
  404. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-2014857132332e79.js +0 -1
  405. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-2014857132332e79.js +0 -1
  406. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-2014857132332e79.js +0 -1
  407. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-2014857132332e79.js +0 -1
  408. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-2014857132332e79.js +0 -1
  409. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-2014857132332e79.js +0 -1
  410. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-2014857132332e79.js +0 -1
  411. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-2014857132332e79.js +0 -1
  412. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-2014857132332e79.js +0 -1
  413. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-2014857132332e79.js +0 -1
  414. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-2014857132332e79.js +0 -1
  415. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-2014857132332e79.js +0 -1
  416. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-2014857132332e79.js +0 -1
  417. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-2014857132332e79.js +0 -1
  418. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/open/route-2014857132332e79.js +0 -1
  419. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/route-2014857132332e79.js +0 -1
  420. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/setup/route-2014857132332e79.js +0 -1
  421. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/route-2014857132332e79.js +0 -1
  422. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-2014857132332e79.js +0 -1
  423. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-2014857132332e79.js +0 -1
  424. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-2014857132332e79.js +0 -1
  425. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-2014857132332e79.js +0 -1
  426. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-2014857132332e79.js +0 -1
  427. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-2014857132332e79.js +0 -1
  428. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-2014857132332e79.js +0 -1
  429. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-2014857132332e79.js +0 -1
  430. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-2014857132332e79.js +0 -1
  431. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-2014857132332e79.js +0 -1
  432. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-2014857132332e79.js +0 -1
  433. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-2014857132332e79.js +0 -1
  434. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-2014857132332e79.js +0 -1
  435. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-2014857132332e79.js +0 -1
  436. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-2014857132332e79.js +0 -1
  437. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-2014857132332e79.js +0 -1
  438. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-2014857132332e79.js +0 -1
  439. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-2014857132332e79.js +0 -1
  440. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-2014857132332e79.js +0 -1
  441. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ws/route-2014857132332e79.js +0 -1
  442. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-2014857132332e79.js +0 -1
  443. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-2014857132332e79.js +0 -1
  444. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-2014857132332e79.js +0 -1
  445. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-2014857132332e79.js +0 -1
  446. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-2014857132332e79.js +0 -1
  447. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-2014857132332e79.js +0 -1
  448. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-2014857132332e79.js +0 -1
  449. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-2014857132332e79.js +0 -1
  450. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-2014857132332e79.js +0 -1
  451. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-2014857132332e79.js +0 -1
  452. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-2014857132332e79.js +0 -1
  453. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-401d459ff53aa870.js +0 -1
  454. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-2014857132332e79.js +0 -1
  455. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-2014857132332e79.js +0 -1
  456. package/web/.next/standalone/packages/web/.next/static/chunks/app/embed/terminal/[id]/page-292cb86b7e9d9a89.js +0 -2
  457. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-9d09cda8decbed7d.js +0 -1
  458. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-2014857132332e79.js +0 -1
  459. package/web/.next/standalone/packages/web/.next/static/chunks/ca465714-4d31bfa1a1fb3e89.js +0 -3
  460. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-2014857132332e79.js +0 -1
  461. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-2014857132332e79.js +0 -1
  462. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-2014857132332e79.js +0 -1
  463. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2014857132332e79.js +0 -1
  464. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-f87c1539475b78f8.js +0 -1
  465. package/web/.next/standalone/packages/web/.next/static/css/5641252ec0e3c7e7.css +0 -1
  466. package/web/.next/standalone/packages/web/.next/static/css/6ef2fa08dd043252.css +0 -1
  467. package/web/.next/static/chunks/4443.b63af6e6d5fedad4.js +0 -1
  468. package/web/.next/static/chunks/7283-5a86b16cfe8deff3.js +0 -3
  469. package/web/.next/static/chunks/8065.43f0c839ee18f559.js +0 -1
  470. package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-2014857132332e79.js +0 -1
  471. package/web/.next/static/chunks/app/_global-error/page-2014857132332e79.js +0 -1
  472. package/web/.next/static/chunks/app/api/access/route-2014857132332e79.js +0 -1
  473. package/web/.next/static/chunks/app/api/agents/route-2014857132332e79.js +0 -1
  474. package/web/.next/static/chunks/app/api/app-update/route-2014857132332e79.js +0 -1
  475. package/web/.next/static/chunks/app/api/attachments/route-2014857132332e79.js +0 -1
  476. package/web/.next/static/chunks/app/api/auth/profile/route-2014857132332e79.js +0 -1
  477. package/web/.next/static/chunks/app/api/boards/comments/route-2014857132332e79.js +0 -1
  478. package/web/.next/static/chunks/app/api/boards/route-2014857132332e79.js +0 -1
  479. package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-2014857132332e79.js +0 -1
  480. package/web/.next/static/chunks/app/api/bridge/bridges/route-2014857132332e79.js +0 -1
  481. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-2014857132332e79.js +0 -1
  482. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-2014857132332e79.js +0 -1
  483. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-2014857132332e79.js +0 -1
  484. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-2014857132332e79.js +0 -1
  485. package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-2014857132332e79.js +0 -1
  486. package/web/.next/static/chunks/app/api/bridge/devices/code/route-2014857132332e79.js +0 -1
  487. package/web/.next/static/chunks/app/api/bridge/devices/route-2014857132332e79.js +0 -1
  488. package/web/.next/static/chunks/app/api/bridges/route-2014857132332e79.js +0 -1
  489. package/web/.next/static/chunks/app/api/config/route-2014857132332e79.js +0 -1
  490. package/web/.next/static/chunks/app/api/context-files/open/route-2014857132332e79.js +0 -1
  491. package/web/.next/static/chunks/app/api/context-files/route-2014857132332e79.js +0 -1
  492. package/web/.next/static/chunks/app/api/events/route-2014857132332e79.js +0 -1
  493. package/web/.next/static/chunks/app/api/executor/health/route-2014857132332e79.js +0 -1
  494. package/web/.next/static/chunks/app/api/filesystem/directory/route-2014857132332e79.js +0 -1
  495. package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-2014857132332e79.js +0 -1
  496. package/web/.next/static/chunks/app/api/github/projects/route-2014857132332e79.js +0 -1
  497. package/web/.next/static/chunks/app/api/github/projects/sync/route-2014857132332e79.js +0 -1
  498. package/web/.next/static/chunks/app/api/github/repos/route-2014857132332e79.js +0 -1
  499. package/web/.next/static/chunks/app/api/github/webhook/route-2014857132332e79.js +0 -1
  500. package/web/.next/static/chunks/app/api/health/boards/route-2014857132332e79.js +0 -1
  501. package/web/.next/static/chunks/app/api/health/sessions/route-2014857132332e79.js +0 -1
  502. package/web/.next/static/chunks/app/api/notifications/route-2014857132332e79.js +0 -1
  503. package/web/.next/static/chunks/app/api/preferences/route-2014857132332e79.js +0 -1
  504. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-2014857132332e79.js +0 -1
  505. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-2014857132332e79.js +0 -1
  506. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-2014857132332e79.js +0 -1
  507. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-2014857132332e79.js +0 -1
  508. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-2014857132332e79.js +0 -1
  509. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-2014857132332e79.js +0 -1
  510. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-2014857132332e79.js +0 -1
  511. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-2014857132332e79.js +0 -1
  512. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-2014857132332e79.js +0 -1
  513. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-2014857132332e79.js +0 -1
  514. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-2014857132332e79.js +0 -1
  515. package/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-2014857132332e79.js +0 -1
  516. package/web/.next/static/chunks/app/api/projects/[id]/open/route-2014857132332e79.js +0 -1
  517. package/web/.next/static/chunks/app/api/projects/[id]/route-2014857132332e79.js +0 -1
  518. package/web/.next/static/chunks/app/api/projects/[id]/setup/route-2014857132332e79.js +0 -1
  519. package/web/.next/static/chunks/app/api/projects/route-2014857132332e79.js +0 -1
  520. package/web/.next/static/chunks/app/api/repositories/[id]/route-2014857132332e79.js +0 -1
  521. package/web/.next/static/chunks/app/api/repositories/route-2014857132332e79.js +0 -1
  522. package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-2014857132332e79.js +0 -1
  523. package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-2014857132332e79.js +0 -1
  524. package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-2014857132332e79.js +0 -1
  525. package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-2014857132332e79.js +0 -1
  526. package/web/.next/static/chunks/app/api/sessions/[id]/files/route-2014857132332e79.js +0 -1
  527. package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-2014857132332e79.js +0 -1
  528. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-2014857132332e79.js +0 -1
  529. package/web/.next/static/chunks/app/api/sessions/[id]/output/route-2014857132332e79.js +0 -1
  530. package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-2014857132332e79.js +0 -1
  531. package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-2014857132332e79.js +0 -1
  532. package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-2014857132332e79.js +0 -1
  533. package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-2014857132332e79.js +0 -1
  534. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-2014857132332e79.js +0 -1
  535. package/web/.next/static/chunks/app/api/sessions/[id]/route-2014857132332e79.js +0 -1
  536. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-2014857132332e79.js +0 -1
  537. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-2014857132332e79.js +0 -1
  538. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-2014857132332e79.js +0 -1
  539. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ws/route-2014857132332e79.js +0 -1
  540. package/web/.next/static/chunks/app/api/sessions/route-2014857132332e79.js +0 -1
  541. package/web/.next/static/chunks/app/api/skills/activate/route-2014857132332e79.js +0 -1
  542. package/web/.next/static/chunks/app/api/skills/catalog/route-2014857132332e79.js +0 -1
  543. package/web/.next/static/chunks/app/api/skills/deactivate/route-2014857132332e79.js +0 -1
  544. package/web/.next/static/chunks/app/api/skills/install/route-2014857132332e79.js +0 -1
  545. package/web/.next/static/chunks/app/api/skills/installed/route-2014857132332e79.js +0 -1
  546. package/web/.next/static/chunks/app/api/skills/session-active/route-2014857132332e79.js +0 -1
  547. package/web/.next/static/chunks/app/api/skills/uninstall/route-2014857132332e79.js +0 -1
  548. package/web/.next/static/chunks/app/api/spawn/route-2014857132332e79.js +0 -1
  549. package/web/.next/static/chunks/app/api/workspaces/branches/route-2014857132332e79.js +0 -1
  550. package/web/.next/static/chunks/app/api/workspaces/route-2014857132332e79.js +0 -1
  551. package/web/.next/static/chunks/app/bridge/connect/page-401d459ff53aa870.js +0 -1
  552. package/web/.next/static/chunks/app/bridge/install.ps1/route-2014857132332e79.js +0 -1
  553. package/web/.next/static/chunks/app/bridge/install.sh/route-2014857132332e79.js +0 -1
  554. package/web/.next/static/chunks/app/embed/terminal/[id]/page-292cb86b7e9d9a89.js +0 -2
  555. package/web/.next/static/chunks/app/layout-9d09cda8decbed7d.js +0 -1
  556. package/web/.next/static/chunks/app/sign-in/hosted/page-2014857132332e79.js +0 -1
  557. package/web/.next/static/chunks/ca465714-4d31bfa1a1fb3e89.js +0 -3
  558. package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-2014857132332e79.js +0 -1
  559. package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-2014857132332e79.js +0 -1
  560. package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-2014857132332e79.js +0 -1
  561. package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2014857132332e79.js +0 -1
  562. package/web/.next/static/chunks/webpack-f87c1539475b78f8.js +0 -1
  563. package/web/.next/static/css/5641252ec0e3c7e7.css +0 -1
  564. package/web/.next/static/css/6ef2fa08dd043252.css +0 -1
  565. /package/web/.next/standalone/packages/web/.next/static/{WbZdZtkgQtt-eEAc7rzHl → jX90efNmWKjmUhjR6uaGX}/_ssgManifest.js +0 -0
  566. /package/web/.next/static/{WbZdZtkgQtt-eEAc7rzHl → jX90efNmWKjmUhjR6uaGX}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4443],{34443:(e,l,a)=>{a.r(l),a.d(l,{KeylessCreatorOrReader:()=>r});var s=a(79748),n=a(7620),t=a(69645);let r=e=>{var l;let{children:a}=e,r=(null==(l=(0,s.useSelectedLayoutSegments)()[0])?void 0:l.startsWith("/_not-found"))||!1,[i,u]=n.useActionState(t.a,null);return((0,n.useEffect)(()=>{r||n.startTransition(()=>{u()})},[r]),n.isValidElement(a))?n.cloneElement(a,{key:null==i?void 0:i.publishableKey,publishableKey:null==i?void 0:i.publishableKey,__internal_keyless_claimKeylessApplicationUrl:null==i?void 0:i.claimUrl,__internal_keyless_copyInstanceKeysUrl:null==i?void 0:i.apiKeysUrl,__internal_bypassMissingPublishableKey:!0}):a}},69645:(e,l,a)=>{a.d(l,{a:()=>n});var s=a(5974);let n=(0,s.createServerReference)("00f202f995f11a2535f836b0d7a1bb002ad9012d96",s.callServer,void 0,s.findSourceMapURL,"createOrReadKeylessAction")}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5493],{33507:(e,t,s)=>{s.d(t,{DK:()=>n,VM:()=>i,hq:()=>a,qg:()=>l,re:()=>r});let a="overscroll-contain touch-pan-y [-webkit-overflow-scrolling:touch]",n=`overflow-y-auto ${a}`,l="min-h-0 flex-1 overflow-hidden bg-[#0f1012] p-3",i=a;function r(e){return["flex h-full min-h-0 min-w-0 w-full flex-col",e?"overflow-hidden bg-[#060404]":"overflow-hidden"].join(" ")}},35493:(e,t,s)=>{s.r(t),s.d(t,{SessionDetail:()=>eh});var a=s(54568),n=s(42925),l=s(7620),i=s(79748),r=s(7920),c=s(96611),d=s(46548),o=s(69863),x=s(97380),u=s(41007),m=s(90466),h=s(64357),f=s(40443),p=s(76081),v=s(35821),g=s(10926),b=s(76050),j=s(34309),w=s(59706),k=s(34041),N=s(76265),y=s(45894),S=s(26463),$=s(96249),A=s(58299),C=s(56050),I=s(23555),E=s(60527),M=s(58588),_=s(99844),R=s(5881),q=s(72410),D=s(33507);function L({text:e}){let[t,s]=(0,l.useState)(!1);async function n(){try{await navigator.clipboard.writeText(e),s(!0),window.setTimeout(()=>s(!1),1400)}catch{}}return(0,a.jsxs)("button",{type:"button",onClick:()=>void n(),className:"inline-flex max-w-[180px] items-center gap-1 font-mono text-[11px] text-[var(--vk-text-muted)] transition-colors hover:text-[var(--vk-text-normal)]",children:[(0,a.jsx)("span",{className:"truncate",children:e}),t?(0,a.jsx)(j.A,{className:"h-3 w-3 shrink-0 text-emerald-400"}):(0,a.jsx)(w.A,{className:"h-3 w-3 shrink-0 opacity-50"})]})}function P(e,t){let s=e.metadata[t];return"string"==typeof s&&s.trim().length>0?s:void 0}function F(e){if(!e)return null;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:null}function T({node:e,depth:t,selectedPath:s,expandedDirs:n,onToggleDir:l,onSelectFile:i}){let r=n.has(e.path),c=e.path===s,d=8+16*t;return e.isDir?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>l(e.path),className:"flex w-full items-center gap-1.5 py-1.5 text-left text-[12px] text-[var(--vk-text-muted)] hover:bg-white/4 active:bg-white/6",style:{paddingLeft:d},children:[r?(0,a.jsx)(k.A,{className:"h-3 w-3 shrink-0 opacity-50"}):(0,a.jsx)(N.A,{className:"h-3 w-3 shrink-0 opacity-50"}),r?(0,a.jsx)(y.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}):(0,a.jsx)(S.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]}),r?e.children.map(e=>(0,a.jsx)(T,{node:e,depth:t+1,selectedPath:s,expandedDirs:n,onToggleDir:l,onSelectFile:i},e.path)):null]}):(0,a.jsxs)("button",{type:"button",onClick:()=>i(e.path),className:`flex w-full items-center gap-1.5 py-1.5 pr-2 text-left text-[12px] transition-colors ${c?"bg-blue-500/10 text-[var(--vk-text-strong)]":"text-[var(--vk-text-normal)] hover:bg-white/4"}`,style:{paddingLeft:d+16},children:[(0,a.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]})}let U={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",mjs:"javascript",cjs:"javascript",mts:"typescript",cts:"typescript",html:"html",htm:"html",css:"css",scss:"scss",sass:"sass",less:"less",vue:"vue",svelte:"svelte",astro:"astro",json:"json",jsonc:"jsonc",json5:"json5",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",xml:"xml",svg:"xml",plist:"xml",csv:"csv",tsv:"csv",md:"markdown",mdx:"mdx",tex:"latex",rst:"rst",rs:"rust",go:"go",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",hh:"cpp",cs:"csharp",java:"java",kt:"kotlin",kts:"kotlin",scala:"scala",swift:"swift",m:"objective-c",mm:"objective-cpp",zig:"zig",nim:"nim",v:"v",d:"d",py:"python",pyi:"python",rb:"ruby",php:"php",pl:"perl",pm:"perl",lua:"lua",r:"r",R:"r",jl:"julia",ex:"elixir",exs:"elixir",erl:"erlang",hrl:"erlang",hs:"haskell",lhs:"haskell",clj:"clojure",cljs:"clojure",ml:"ocaml",mli:"ocaml",fs:"fsharp",fsx:"fsharp",sh:"bash",bash:"bash",zsh:"bash",fish:"fish",ps1:"powershell",psm1:"powershell",bat:"bat",cmd:"bat",dockerfile:"dockerfile",containerfile:"dockerfile",tf:"hcl",hcl:"hcl",nix:"nix",sql:"sql",graphql:"graphql",gql:"graphql",prisma:"prisma",proto:"protobuf",thrift:"thrift",makefile:"makefile",cmake:"cmake",asm:"asm",s:"asm",diff:"diff",patch:"diff",log:"log",txt:"plaintext",env:"dotenv",lock:"json"},O={makefile:"makefile",Makefile:"makefile",dockerfile:"dockerfile",Dockerfile:"dockerfile",containerfile:"dockerfile",Containerfile:"dockerfile",gemfile:"ruby",Gemfile:"ruby",rakefile:"ruby",Rakefile:"ruby",cmakelists:"cmake",CMakeLists:"cmake",".gitignore":"gitignore",".dockerignore":"gitignore",".editorconfig":"ini",".prettierrc":"json",".eslintrc":"json",".babelrc":"json",".env":"dotenv",".env.local":"dotenv",".env.production":"dotenv","tsconfig.json":"jsonc","jsconfig.json":"jsonc"},z=new Set(["png","jpg","jpeg","gif","webp","svg","ico","bmp","avif"]);function W(e){let t=e.split("/").pop()??"",s=t.lastIndexOf(".");return s>=0?t.slice(s+1).toLowerCase():""}function X({code:e,lang:t}){let[n,i]=(0,l.useState)(null),r=(0,l.useRef)(e),c=(0,l.useRef)(t);if((0,l.useEffect)(()=>{r.current=e,c.current=t;let a=!1;return(async()=>{try{let{codeToHtml:n}=await Promise.all([s.e(9526),s.e(3838)]).then(s.bind(s,13838));if(a)return;let l=await n(e,{lang:t,theme:"github-dark-default"});a||r.current!==e||c.current!==t||i(l)}catch{if(a)return;try{let{codeToHtml:t}=await Promise.all([s.e(9526),s.e(3838)]).then(s.bind(s,13838));if(a)return;let n=await t(e,{lang:"plaintext",theme:"github-dark-default"});a||i(n)}catch{a||i(null)}}})(),()=>{a=!0}},[e,t]),!n){let t=e.split("\n"),s=String(t.length).length;return(0,a.jsx)("div",{className:"inline-block min-w-full align-top",children:(0,a.jsx)("table",{className:"min-w-full border-collapse font-mono text-[11px] leading-5",children:(0,a.jsx)("tbody",{children:t.map((e,t)=>(0,a.jsxs)("tr",{className:"hover:bg-white/3",children:[(0,a.jsx)("td",{className:"select-none whitespace-nowrap border-r border-white/6 px-2 text-right text-[var(--vk-text-muted)] opacity-40",style:{minWidth:`${s+2}ch`},children:t+1}),(0,a.jsx)("td",{className:"whitespace-pre px-3 text-[var(--vk-text-normal)]",children:e||"\xa0"})]},t))})})})}return(0,a.jsx)("div",{className:"shiki-viewer inline-block min-w-full align-top [&_.shiki]:!bg-transparent [&_.shiki]:p-0 [&_code]:text-[11px] [&_code]:leading-5 [&_pre]:!bg-transparent [&_pre]:!p-0",dangerouslySetInnerHTML:{__html:n}})}function B({sessionId:e,filePath:t}){let[s,n]=(0,l.useState)(null),[i,r]=(0,l.useState)(!0),[c,d]=(0,l.useState)(null),[o,x]=(0,l.useState)(!1),[u,m]=(0,l.useState)(!1),[h,f]=(0,l.useState)(0);if((0,l.useEffect)(()=>{let s=!1;r(!0),d(null),n(null),x(!1),m(!1),f(0);let a=new URLSearchParams({path:t});return fetch(`/api/sessions/${encodeURIComponent(e)}/files?${a.toString()}`,{cache:"no-store"}).then(async e=>{if(!e.ok)throw Error(`Failed to load file (${e.status})`);return e.json()}).then(e=>{s||(e.binary?x(!0):n("string"==typeof e.content?e.content:""),m(!!e.truncated),f("number"==typeof e.size?e.size:0))}).catch(e=>{s||d(e instanceof Error?e.message:"Failed to load file")}).finally(()=>{s||r(!1)}),()=>{s=!0}},[e,t]),i)return(0,a.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin"}),"Loading…"]});if(c)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center px-4 text-center text-[12px] text-red-400",children:c});if(o&&z.has(W(t))){let s=new URLSearchParams({path:t,raw:"1"}),n=`/api/sessions/${encodeURIComponent(e)}/files?${s.toString()}`;return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-4",children:[(0,a.jsx)("img",{src:n,alt:t,className:"max-h-[60vh] max-w-full rounded-md object-contain"}),(0,a.jsxs)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[t.split("/").pop(),h>0?` \xb7 ${Z(h)}`:""]})]})}if(o){let e=W(t);return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 px-4 text-center",children:[(0,a.jsx)("div",{className:"rounded-lg bg-white/4 p-4",children:(0,a.jsx)($.A,{className:"mx-auto h-8 w-8 text-[var(--vk-text-muted)]"})}),(0,a.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:["Binary file",e?` (.${e})`:""," — preview not available"]}),h>0?(0,a.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)] opacity-60",children:Z(h)}):null]})}let p=function(e){let t=e.split("/").pop()??"";if(O[t])return O[t];let s=t.lastIndexOf(".");if(s>=0){let e=t.slice(s+1).toLowerCase();if(U[e])return U[e]}return"plaintext"}(t);return(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[u?(0,a.jsxs)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1 text-[11px] text-amber-300",children:["File truncated",h>0?` (${Z(h)} total)`:""]}):null,(0,a.jsx)("div",{className:`min-h-0 min-w-0 flex-1 overflow-auto py-2 touch-pan-x ${D.hq}`,children:(0,a.jsx)(X,{code:s??"",lang:p})})]})}function Z(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function V({sessionId:e,active:t}){let[s,n]=(0,l.useState)([]),[i,r]=(0,l.useState)(!0),[c,d]=(0,l.useState)(null),[o,x]=(0,l.useState)(!1),[u,m]=(0,l.useState)(""),[h,f]=(0,l.useState)(null),[p,v]=(0,l.useState)(new Set),g=(0,l.useRef)(!0),b=(0,l.useCallback)(async()=>{try{r(!0);let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/files`,{cache:"no-store"});if(!t.ok)throw Error(`Failed to load files (${t.status})`);let s=await t.json();if(!g.current)return;n(s.files??[]),x(!!s.truncated),d(null)}catch(e){if(!g.current)return;d(e instanceof Error?e.message:"Failed to load files")}finally{g.current&&r(!1)}},[e]);(0,l.useEffect)(()=>(g.current=!0,t&&b(),()=>{g.current=!1}),[t,b]);let j=(0,l.useMemo)(()=>(function(e){let t={name:"",path:"",children:[],isDir:!0};for(let s of e){let e=s.split("/"),a=t,n="";for(let t=0;t<e.length;t++){let s=e[t];n=n?`${n}/${s}`:s;let l=t===e.length-1,i=a.children.find(e=>e.name===s);i||(i={name:s,path:n,children:[],isDir:!l},a.children.push(i)),a=i}}return function e(t){for(let s of(t.sort((e,t)=>e.isDir!==t.isDir?e.isDir?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base"})),t))s.children.length>0&&e(s.children);return t}(t.children)})(s),[s]),w=(0,l.useMemo)(()=>(function(e,t){if(!t)return e;let s=t.toLowerCase();return function e(t){let a=[];for(let n of t)(function e(t){return!!(t.name.toLowerCase().includes(s)||t.path.toLowerCase().includes(s))||t.children.some(e)})(n)&&(n.isDir?a.push({...n,children:e(n.children)}):a.push(n));return a}(e)})(j,u.trim()),[j,u]);(0,l.useEffect)(()=>{if(u.trim()){let e=new Set;!function t(s){for(let a of s)a.isDir&&(e.add(a.path),t(a.children))}(w),v(e)}},[w,u]);let k=(0,l.useCallback)(e=>{v(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),N=(0,l.useCallback)(e=>{f(e)},[]),y=(0,l.useCallback)(()=>{f(null)},[]);if(i&&0===s.length)return(0,a.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin"}),"Loading workspace files…"]});if(c)return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-4 text-center",children:[(0,a.jsx)("p",{className:"text-[12px] text-red-400",children:c}),(0,a.jsx)("button",{type:"button",onClick:()=>void b(),className:"text-[11px] text-[var(--vk-text-muted)] underline hover:text-[var(--vk-text-normal)]",children:"Retry"})]});let S=h?(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col lg:hidden",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-2",children:[(0,a.jsx)("button",{type:"button",onClick:y,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6","aria-label":"Back to file list",children:(0,a.jsx)(C.A,{className:"h-4 w-4"})}),(0,a.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:h})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(B,{sessionId:e,filePath:h})})]}):null;return(0,a.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[S,(0,a.jsxs)("div",{className:`flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-1.5 ${h?"hidden lg:flex":""}`,children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 rounded-md bg-white/4 px-2 py-1.5",children:[(0,a.jsx)(I.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{type:"text",value:u,onChange:e=>m(e.target.value),placeholder:"Search files…",className:"min-w-0 flex-1 bg-transparent text-[12px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,a.jsx)("button",{type:"button",onClick:()=>void b(),disabled:i,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6 disabled:opacity-50","aria-label":"Refresh files",children:(0,a.jsx)(E.A,{className:`h-3.5 w-3.5 ${i?"animate-spin":""}`})})]}),o?(0,a.jsx)("div",{className:`shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1.5 text-[11px] text-amber-300 ${h?"hidden lg:block":""}`,children:"File list truncated (4000 file limit)"}):null,(0,a.jsxs)("div",{className:`min-h-0 flex-1 lg:flex lg:flex-row ${h?"hidden lg:flex":"flex flex-col"}`,children:[(0,a.jsx)("div",{className:`min-h-0 flex-1 overflow-y-auto py-1 lg:max-w-[320px] lg:border-r lg:border-white/8 ${D.hq}`,children:0===w.length?(0,a.jsx)("div",{className:"px-3 py-6 text-center text-[12px] text-[var(--vk-text-muted)]",children:u?"No files match your search.":"No files in workspace."}):w.map(e=>(0,a.jsx)(T,{node:e,depth:0,selectedPath:h,expandedDirs:p,onToggleDir:k,onSelectFile:N},e.path))}),(0,a.jsx)("div",{className:"hidden min-h-0 min-w-0 flex-1 lg:block",children:h?(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-3 py-2",children:[(0,a.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:h})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(B,{sessionId:e,filePath:h})})]}):(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-[12px] text-[var(--vk-text-muted)]",children:"Select a file to view its contents"})})]})]})}function G({session:e,sessionId:t,active:s}){let n=(0,l.useMemo)(()=>P(e,"task")??P(e,"prompt")??("string"==typeof e.task?e.task:"")??("string"==typeof e.prompt?e.prompt:""),[e]),i=(0,l.useMemo)(()=>P(e,"agent")??("string"==typeof e.agent?e.agent:""),[e]),r=(0,l.useMemo)(()=>(function(e,t){if(!e||!t)return"";let s=new Date(e).getTime(),a=new Date(t).getTime();if(!Number.isFinite(s)||!Number.isFinite(a)||a<s)return"";let n=Math.floor((a-s)/6e4);if(n<1)return"<1m";if(n<60)return`${n}m`;let l=Math.floor(n/60);return`${l}h ${n%60}m`})(P(e,"startedAt")??e.startedAt,P(e,"finishedAt")??e.finishedAt),[e]),c=(0,l.useMemo)(()=>(function(e){if("number"==typeof e.cost)return e.cost;let t=e.metadata.cost;if("string"!=typeof t)return 0;try{let e=JSON.parse(t),s="number"==typeof e.estimatedCostUsd?e.estimatedCostUsd:0,a="number"==typeof e.totalUSD?e.totalUSD:0;return s??a}catch{return 0}})(e),[e]),d=(0,l.useMemo)(()=>F(P(e,"queuePosition")),[e]),o=(0,l.useMemo)(()=>F(P(e,"queueDepth")),[e]),x=(0,l.useMemo)(()=>P(e,"recoveryState")??"",[e]),u=(0,l.useMemo)(()=>"queued"===e.status?d?`Waiting in queue at position ${d}${o?` of ${o}`:""}.`:"Waiting in the launch queue.":"requeued_after_restart"===x?"Session recovered after backend restart and requeued.":"reattach_pending"===x?"Recovering terminal runtime after backend restart.":"detached_runtime"===x?"Backend restarted while agent may still be running.":"resume_required"===x?"Session recovered after restart. Send a message to resume.":"",[o,d,x,e.status]);return(0,a.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[u?(0,a.jsx)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-2",children:(0,a.jsx)("p",{className:"text-[12px] leading-snug text-amber-300",children:u})}):null,n?(0,a.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2.5",children:(0,a.jsx)("p",{className:"line-clamp-3 whitespace-pre-wrap text-[13px] leading-relaxed text-[var(--vk-text-normal)]",children:n})}):null,(0,a.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-x-4 gap-y-1 border-b border-white/8 px-3 py-2 text-[11px] text-[var(--vk-text-muted)]",children:[i?(0,a.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(q.N,{seed:{label:i},className:"h-4 w-4"}),(0,a.jsx)("span",{children:i})]}):null,e.branch?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(M.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)(L,{text:e.branch})]}):null,r?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(_.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{children:r})]}):null,c>0?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(R.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsxs)("span",{children:["$",c.toFixed(3)]})]}):null]}),(0,a.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden border-t border-white/8",children:[(0,a.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2",children:(0,a.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wide text-[var(--vk-text-muted)]",children:"Workspace files"})}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(V,{sessionId:t,active:s})})]})]})}var K=s(40448),J=s(50549),H=s(26083),Q=s(31404),Y=s(59207),ee=s(46916);let et="block h-5 w-5 shrink-0 object-contain",es=[{id:"finder",label:"Finder"},{id:"cursor",label:"Cursor"},{id:"antigravity",label:"Antigravity"},{id:"windsurf",label:"Windsurf"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"custom",label:"Custom"}],ea={finder:{kind:"image",imageSrc:"/icons/ide/finder.svg",className:et},vscode:{kind:"image",imageSrc:"/icons/ide/vscode-dark.svg",className:et},"vscode-insiders":{kind:"image",imageSrc:"/icons/ide/vscode-insiders.svg",className:et},cursor:{kind:"image",imageSrc:"/icons/ide/cursor-dark.svg",className:et},windsurf:{kind:"image",imageSrc:"/icons/ide/windsurf-dark.svg",className:et},"intellij-idea":{kind:"image",imageSrc:"/icons/ide/intellij.svg",className:et},zed:{kind:"image",imageSrc:"/icons/ide/zed-dark.svg",className:et},xcode:{kind:"image",imageSrc:"/icons/ide/xcode.svg",className:et},antigravity:{kind:"image",imageSrc:"/icons/ide/antigravity-dark.svg",className:et},custom:{kind:"icon",className:`${et} text-[var(--vk-text-muted)]`}};function en({editorId:e,label:t}){let s=ea[e];return s?"icon"===s.kind?(0,a.jsx)(J.A,{className:s?.className??`${et} text-[var(--vk-text-muted)]`}):(0,a.jsx)("img",{src:s.imageSrc,alt:`${t} logo`,className:s.className}):(0,a.jsx)(J.A,{className:`${et} text-[var(--vk-text-muted)]`})}function el({projectId:e,bridgeId:t,label:s="Open",triggerClassName:n}){let{preferences:i}=(0,Y.g)(t),[r,c]=(0,l.useState)(null),d=(0,l.useMemo)(()=>{var e;return e=i?.ide??"vscode",es.find(t=>t.id===e)??{id:e,label:e}},[i?.ide]);async function o(s){if(e&&!r){c(s);try{let a=await fetch((0,Q.S)(`/api/projects/${encodeURIComponent(e)}/open`,t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ide:s})}),n=await a.json().catch(()=>null);if(!a.ok)throw Error(n?.error??`Failed to open project (${a.status})`)}catch(e){window.alert(e instanceof Error?e.message:"Failed to open project")}finally{c(null)}}}return(0,a.jsxs)(K.bL,{children:[(0,a.jsx)(K.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",disabled:!e||null!==r,className:(0,ee.cn)("inline-flex h-9 items-center gap-2 rounded-[6px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.06)] disabled:cursor-not-allowed disabled:opacity-60",n),"aria-label":"Open project in code editor",title:e?`Open project in ${d.label}`:"No project selected",children:[r?(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin text-current"}):(0,a.jsx)(H.A,{className:"h-4 w-4 text-current"}),(0,a.jsx)("span",{className:"hidden font-medium sm:inline",children:s}),(0,a.jsx)(k.A,{className:"h-3.5 w-3.5 text-current"})]})}),(0,a.jsx)(K.ZL,{children:(0,a.jsx)(K.UC,{align:"end",sideOffset:8,className:"z-50 min-w-[240px] rounded-[8px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:es.map(e=>(0,a.jsxs)(K.q7,{onSelect:()=>void o(e.id),className:"flex min-h-[44px] cursor-default items-center gap-3 rounded-[6px] px-3 py-2 text-[14px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)]",children:[(0,a.jsx)(en,{editorId:e.id,label:e.label}),(0,a.jsx)("span",{className:"flex-1",children:e.label}),d.id===e.id?(0,a.jsx)(j.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}):null]},e.id))})})]})}let ei=(0,n.default)(function(){return s.e(7283).then(s.bind(s,57283)).then(e=>e.SessionTerminal)},{loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading terminal..."})}),er=(0,n.default)(()=>Promise.all([s.e(3971),s.e(2799)]).then(s.bind(s,22799)).then(e=>e.SessionPreview),{loadableGenerated:{webpack:()=>[22799]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading preview..."})}),ec=(0,n.default)(()=>s.e(633).then(s.bind(s,60633)).then(e=>e.SessionDiff),{loadableGenerated:{webpack:()=>[60633]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading review…"}),ssr:!1}),ed=(0,n.default)(()=>s.e(1874).then(s.bind(s,81874)).then(e=>e.SessionSkills),{loadableGenerated:{webpack:()=>[81874]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading skills..."})}),eo=(0,n.default)(()=>Promise.all([s.e(9526),s.e(2651),s.e(2261),s.e(9847)]).then(s.bind(s,52261)).then(e=>e.DispatcherPane),{loadableGenerated:{webpack:()=>[52261]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading dispatcher..."})}),ex="min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:invisible data-[state=inactive]:opacity-0",eu="min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=active]:relative data-[state=active]:z-10 data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:opacity-0 data-[state=inactive]:select-none";function em(e,t){let s=(0,b.tK)(t);return"overview"===e||"preview"===e||"skills"===e||"diff"===e?e:"dispatcher"===e||"terminal"===e?"dispatcher"===s?"dispatcher":"terminal":s}function eh({sessionId:e,initialSession:t=null,bridgeId:s=null,immersiveMobileMode:n=!1,active:j=!0,suppressPreviewAutoOpen:w=!1,onOpenSidebar:k}){let N=(0,i.usePathname)(),y=(0,i.useRouter)(),S=(0,i.useSearchParams)(),{session:$,loading:A,error:C}=(0,v.w)(e,t,{enabled:j,bridgeId:s}),I=(0,l.useRef)(0),E=(0,l.useRef)(!1),[M,_]=(0,l.useState)(null),R=(0,l.useMemo)(()=>em(S.get("tab"),$),[S,$]),q=(0,l.useCallback)(e=>{let t=em(e,$),s=(0,b.tK)($),a=new URLSearchParams(S.toString());t===s?a.delete("tab"):a.set("tab",t);let n=a.toString(),l=n.length>0?`${N}?${n}`:N;y.replace(l,{scroll:!1})},[N,y,S,$]);(0,l.useEffect)(()=>{if(!$)return;let e=S.get("tab"),t=em(e,$),s=t===(0,b.tK)($)?null:t;if((e?.trim()?e:null)===s)return;let a=new URLSearchParams(S.toString());s?a.set("tab",s):a.delete("tab");let n=a.toString(),l=n.length>0?`${N}?${n}`:N;y.replace(l,{scroll:!1})},[N,y,S,$]);let L=(0,l.useCallback)(e=>{I.current+=1,_({nonce:I.current,...e})},[]);(0,l.useEffect)(()=>{E.current=!1,I.current=0,_(null)},[e]);let P=(0,l.useCallback)(e=>{(function({active:e,activeTab:t,alreadyOpened:s,connected:a,suppressAutoOpen:n}){return a&&e&&"terminal"===t&&!s&&!n})({active:j,activeTab:R,alreadyOpened:E.current,connected:e,suppressAutoOpen:w})&&(E.current=!0,q("preview"))},[j,R,q,w]);if(A)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(f.Zp,{className:"w-full max-w-md",children:(0,a.jsx)(f.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Loading session workspace..."})})});if(C)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(f.Zp,{className:"w-full max-w-md border-[color:color-mix(in_srgb,var(--status-error)_45%,transparent)]",children:(0,a.jsx)(f.Wu,{className:"py-7 text-center text-[13px] text-[var(--status-error)]",children:C})})});if(!$)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(f.Zp,{className:"w-full max-w-md",children:(0,a.jsx)(f.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Session not found"})})});let F="string"==typeof $.status?$.status:"unknown",T=(0,b.Zu)($),U=function(e){switch(e){case"needs_input":return"needs input";case"working":return"working";case"running":return"running";case"spawning":return"spawning";case"queued":return"queued";default:return e.replace(/[_-]+/g," ")}}(F),O=function(e){switch(e){case"working":case"running":return"bg-amber-400";case"needs_input":return"bg-blue-400";case"spawning":case"queued":default:return"bg-gray-400";case"done":return"bg-emerald-400";case"errored":return"bg-red-400";case"stuck":return"bg-[var(--vk-accent)]";case"terminated":case"killed":return"bg-gray-500"}}(F),z="working"===F||"running"===F||"spawning"===F||"queued"===F||"needs_input"===F,W="queued"!==F&&"spawning"!==F,X=j&&n&&"terminal"===R,B=j&&"preview"===R,Z=j&&"diff"===R,V="min-h-[38px] gap-1.5 px-2.5 text-[12px] sm:min-h-0 sm:px-3",K=(0,g.kV)(e).slice(0,7),J=(0,a.jsxs)(h.j7,{className:"flex w-full overflow-x-auto sm:w-fit sm:inline-flex",children:[(0,a.jsxs)(h.Xi,{value:"overview",className:V,children:[(0,a.jsx)(r.A,{className:"h-3.5 w-3.5"}),"Overview"]}),(0,a.jsxs)(h.Xi,{value:"diff",className:V,children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}),"Review"]}),T?(0,a.jsxs)(h.Xi,{value:"dispatcher",className:V,children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"}),"Dispatcher"]}):(0,a.jsxs)(h.Xi,{value:"terminal",className:V,children:[(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"}),"Terminal"]}),(0,a.jsxs)(h.Xi,{value:"preview",className:V,children:[(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Preview"]}),(0,a.jsxs)(h.Xi,{value:"skills",className:V,children:[(0,a.jsx)(u.A,{className:"h-3.5 w-3.5"}),"Skills"]})]});return(0,a.jsx)("div",{className:(0,D.re)(X),"data-conductor-session-terminal":"native-iframe",children:(0,a.jsxs)(h.tU,{value:R,onValueChange:q,className:X?"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-0 p-0":"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-1 p-1 lg:gap-2 lg:p-3",children:[X?(0,a.jsxs)("div",{className:"flex shrink-0 flex-col border-b border-white/10 bg-[#0d0908]",children:[(0,a.jsxs)("div",{className:"flex h-10 items-center gap-2 px-2",children:[k?(0,a.jsx)(p.$,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:k,"aria-label":"Open workspace panel",children:(0,a.jsx)(m.A,{className:"h-4 w-4"})}):null,(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[(0,a.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${O}${z?" animate-pulse":""}`}),(0,a.jsx)("span",{className:"text-[12px] font-medium text-[#efe8e1]",children:U}),(0,a.jsxs)("span",{className:"font-mono text-[10px] text-[#8e847d]",children:["\xb7 ",K]})]}),W?(0,a.jsx)(el,{projectId:$.projectId,bridgeId:$.bridgeId??null}):null]}),(0,a.jsx)("div",{className:"px-1.5 pb-1.5",children:J})]}):(0,a.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1.5 sm:flex-nowrap",children:[J,(0,a.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:ml-auto sm:w-auto sm:justify-end",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${O}${z?" animate-pulse":""}`}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:U}),(0,a.jsxs)("span",{className:"hidden font-mono text-[10px] text-[var(--vk-text-muted)] sm:inline",children:["\xb7 ",K]})]}),W?(0,a.jsx)(el,{projectId:$.projectId,bridgeId:$.bridgeId??null}):null]})]}),(0,a.jsxs)("div",{className:"relative min-h-0 min-w-0 h-0 flex-1 overflow-hidden",children:[(0,a.jsx)(h.av,{value:"overview",className:ex,children:(0,a.jsx)(G,{session:$,sessionId:e,active:j&&"overview"===R})}),(0,a.jsx)(h.av,{value:"diff",className:`${ex} flex min-h-0 flex-col`,children:(0,a.jsx)(ec,{sessionId:e,active:Z})}),T?(0,a.jsx)(h.av,{value:"dispatcher",forceMount:!0,className:eu,children:(0,a.jsx)(eo,{thread:$,projectId:$.projectId,bridgeId:$.bridgeId??s,active:j&&"dispatcher"===R,className:"h-full w-full border-0 xl:w-full"})}):(0,a.jsx)(h.av,{value:"terminal",forceMount:!0,className:X?`flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-[#060404] ${eu}`:`flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-transparent ${eu}`,children:(0,a.jsx)(ei,{sessionId:e,projectId:$.projectId,bridgeId:$.bridgeId??null,sessionState:F,runtimeMode:$.metadata.runtimeMode?.trim()??null,pendingInsert:M,immersiveMobileMode:X,panelVisible:j&&"terminal"===R,onPendingInsertConsumed:()=>_(null)})}),(0,a.jsx)(h.av,{value:"preview",forceMount:!0,className:`${eu} flex min-h-0 flex-col`,children:(0,a.jsx)(er,{sessionId:e,active:B,onQueueTerminalInsert:L,onConnectionChange:P},e)}),(0,a.jsx)(h.av,{value:"skills",className:ex,children:(0,a.jsx)(ed,{session:$,sessionId:e,active:j&&"skills"===R})})]})]},e)})}},40443:(e,t,s)=>{s.d(t,{Wu:()=>r,Zp:()=>l,aR:()=>i});var a=s(54568),n=s(46916);let l=(0,s(7620).forwardRef)(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,n.cn)("surface-card rounded-[var(--radius-md)] border",e),...t}));function i({className:e,...t}){return(0,a.jsx)("div",{className:(0,n.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",e),...t})}function r({className:e,...t}){return(0,a.jsx)("div",{className:(0,n.cn)("px-3 py-2",e),...t})}l.displayName="Card"},59207:(e,t,s)=>{s.d(t,{g:()=>i});var a=s(7620),n=s(31404);function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function i(e,t){let s=t?.enabled??!0,[i,r]=(0,a.useState)(null),[c,d]=(0,a.useState)(s),[o,x]=(0,a.useState)(null),u=(0,a.useCallback)(async()=>{if(!s){r(null),x(null),d(!1);return}try{var t;let s,a,i,c=await fetch((0,n.S)("/api/preferences",e)),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??d?.reason??`Failed to load preferences: ${c.status}`);r((t=d?.preferences,s=l(t),i=(a=l(s.notifications)).soundFile,{onboardingAcknowledged:!0===s.onboardingAcknowledged,codingAgent:"string"==typeof s.codingAgent&&s.codingAgent.trim().length>0?s.codingAgent.trim():"claude-code",ide:"string"==typeof s.ide&&s.ide.trim().length>0?s.ide.trim():"vscode",markdownEditor:"string"==typeof s.markdownEditor&&s.markdownEditor.trim().length>0?s.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof s.markdownEditorPath?s.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===i?null:"string"==typeof i&&i.trim().length>0?i.trim():"abstract-sound-4"}})),x(null)}catch(e){r(null),x(e instanceof Error?e.message:"Failed to load preferences")}finally{d(!1)}},[e,s]);return(0,a.useEffect)(()=>{s&&u()},[s,u]),{preferences:s?i:null,loading:!!s&&c,error:s?o:null,refresh:u}}},64357:(e,t,s)=>{s.d(t,{Xi:()=>d,av:()=>o,j7:()=>c,tU:()=>r});var a=s(54568),n=s(35131),l=s(7620),i=s(46916);let r=n.bL,c=(0,l.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(n.B8,{ref:s,className:(0,i.cn)("inline-flex max-w-full items-center gap-0.5 overflow-x-auto rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-0.5 whitespace-nowrap touch-pan-x [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",e),...t}));c.displayName="TabsList";let d=(0,l.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(n.l9,{ref:s,className:(0,i.cn)("inline-flex min-h-[34px] shrink-0 items-center gap-1.5 rounded-[3px] px-2.5 py-1.5 text-[12px] text-[var(--vk-text-muted)]","data-[state=active]:bg-[var(--vk-bg-active)] data-[state=active]:text-[var(--vk-text-normal)]","hover:text-[var(--vk-text-normal)]","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]",e),...t}));d.displayName="TabsTrigger";let o=(0,l.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(n.UC,{ref:s,className:(0,i.cn)("focus-visible:outline-none",e),...t}));o.displayName="TabsContent"}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5493],{33507:(e,t,s)=>{s.d(t,{DK:()=>n,VM:()=>i,hq:()=>a,qg:()=>l,re:()=>r});let a="overscroll-contain touch-pan-y [-webkit-overflow-scrolling:touch]",n=`overflow-y-auto ${a}`,l="min-h-0 flex-1 overflow-hidden bg-[#0f1012] p-3",i=a;function r(e){return["flex h-full min-h-0 min-w-0 w-full flex-col",e?"overflow-hidden bg-[#060404]":"overflow-hidden"].join(" ")}},35493:(e,t,s)=>{s.r(t),s.d(t,{SessionDetail:()=>eh});var a=s(54568),n=s(42925),l=s(7620),i=s(79748),r=s(7920),c=s(96611),d=s(46548),o=s(69863),x=s(97380),u=s(41007),m=s(90466),h=s(64357),f=s(40443),p=s(76081),v=s(35821),g=s(10926),b=s(76050),j=s(34309),w=s(59706),k=s(34041),N=s(76265),y=s(45894),S=s(26463),$=s(96249),A=s(58299),C=s(56050),I=s(23555),E=s(60527),M=s(58588),_=s(99844),R=s(5881),q=s(72410),D=s(33507);function L({text:e}){let[t,s]=(0,l.useState)(!1);async function n(){try{await navigator.clipboard.writeText(e),s(!0),window.setTimeout(()=>s(!1),1400)}catch{}}return(0,a.jsxs)("button",{type:"button",onClick:()=>void n(),className:"inline-flex max-w-[180px] items-center gap-1 font-mono text-[11px] text-[var(--vk-text-muted)] transition-colors hover:text-[var(--vk-text-normal)]",children:[(0,a.jsx)("span",{className:"truncate",children:e}),t?(0,a.jsx)(j.A,{className:"h-3 w-3 shrink-0 text-emerald-400"}):(0,a.jsx)(w.A,{className:"h-3 w-3 shrink-0 opacity-50"})]})}function P(e,t){let s=e.metadata[t];return"string"==typeof s&&s.trim().length>0?s:void 0}function F(e){if(!e)return null;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:null}function T({node:e,depth:t,selectedPath:s,expandedDirs:n,onToggleDir:l,onSelectFile:i}){let r=n.has(e.path),c=e.path===s,d=8+16*t;return e.isDir?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>l(e.path),className:"flex w-full items-center gap-1.5 py-1.5 text-left text-[12px] text-[var(--vk-text-muted)] hover:bg-white/4 active:bg-white/6",style:{paddingLeft:d},children:[r?(0,a.jsx)(k.A,{className:"h-3 w-3 shrink-0 opacity-50"}):(0,a.jsx)(N.A,{className:"h-3 w-3 shrink-0 opacity-50"}),r?(0,a.jsx)(y.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}):(0,a.jsx)(S.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]}),r?e.children.map(e=>(0,a.jsx)(T,{node:e,depth:t+1,selectedPath:s,expandedDirs:n,onToggleDir:l,onSelectFile:i},e.path)):null]}):(0,a.jsxs)("button",{type:"button",onClick:()=>i(e.path),className:`flex w-full items-center gap-1.5 py-1.5 pr-2 text-left text-[12px] transition-colors ${c?"bg-blue-500/10 text-[var(--vk-text-strong)]":"text-[var(--vk-text-normal)] hover:bg-white/4"}`,style:{paddingLeft:d+16},children:[(0,a.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]})}let U={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",mjs:"javascript",cjs:"javascript",mts:"typescript",cts:"typescript",html:"html",htm:"html",css:"css",scss:"scss",sass:"sass",less:"less",vue:"vue",svelte:"svelte",astro:"astro",json:"json",jsonc:"jsonc",json5:"json5",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",xml:"xml",svg:"xml",plist:"xml",csv:"csv",tsv:"csv",md:"markdown",mdx:"mdx",tex:"latex",rst:"rst",rs:"rust",go:"go",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",hh:"cpp",cs:"csharp",java:"java",kt:"kotlin",kts:"kotlin",scala:"scala",swift:"swift",m:"objective-c",mm:"objective-cpp",zig:"zig",nim:"nim",v:"v",d:"d",py:"python",pyi:"python",rb:"ruby",php:"php",pl:"perl",pm:"perl",lua:"lua",r:"r",R:"r",jl:"julia",ex:"elixir",exs:"elixir",erl:"erlang",hrl:"erlang",hs:"haskell",lhs:"haskell",clj:"clojure",cljs:"clojure",ml:"ocaml",mli:"ocaml",fs:"fsharp",fsx:"fsharp",sh:"bash",bash:"bash",zsh:"bash",fish:"fish",ps1:"powershell",psm1:"powershell",bat:"bat",cmd:"bat",dockerfile:"dockerfile",containerfile:"dockerfile",tf:"hcl",hcl:"hcl",nix:"nix",sql:"sql",graphql:"graphql",gql:"graphql",prisma:"prisma",proto:"protobuf",thrift:"thrift",makefile:"makefile",cmake:"cmake",asm:"asm",s:"asm",diff:"diff",patch:"diff",log:"log",txt:"plaintext",env:"dotenv",lock:"json"},O={makefile:"makefile",Makefile:"makefile",dockerfile:"dockerfile",Dockerfile:"dockerfile",containerfile:"dockerfile",Containerfile:"dockerfile",gemfile:"ruby",Gemfile:"ruby",rakefile:"ruby",Rakefile:"ruby",cmakelists:"cmake",CMakeLists:"cmake",".gitignore":"gitignore",".dockerignore":"gitignore",".editorconfig":"ini",".prettierrc":"json",".eslintrc":"json",".babelrc":"json",".env":"dotenv",".env.local":"dotenv",".env.production":"dotenv","tsconfig.json":"jsonc","jsconfig.json":"jsonc"},z=new Set(["png","jpg","jpeg","gif","webp","svg","ico","bmp","avif"]);function W(e){let t=e.split("/").pop()??"",s=t.lastIndexOf(".");return s>=0?t.slice(s+1).toLowerCase():""}function X({code:e,lang:t}){let[n,i]=(0,l.useState)(null),r=(0,l.useRef)(e),c=(0,l.useRef)(t);if((0,l.useEffect)(()=>{r.current=e,c.current=t;let a=!1;return(async()=>{try{let{codeToHtml:n}=await Promise.all([s.e(9526),s.e(3838)]).then(s.bind(s,13838));if(a)return;let l=await n(e,{lang:t,theme:"github-dark-default"});a||r.current!==e||c.current!==t||i(l)}catch{if(a)return;try{let{codeToHtml:t}=await Promise.all([s.e(9526),s.e(3838)]).then(s.bind(s,13838));if(a)return;let n=await t(e,{lang:"plaintext",theme:"github-dark-default"});a||i(n)}catch{a||i(null)}}})(),()=>{a=!0}},[e,t]),!n){let t=e.split("\n"),s=String(t.length).length;return(0,a.jsx)("div",{className:"inline-block min-w-full align-top",children:(0,a.jsx)("table",{className:"min-w-full border-collapse font-mono text-[11px] leading-5",children:(0,a.jsx)("tbody",{children:t.map((e,t)=>(0,a.jsxs)("tr",{className:"hover:bg-white/3",children:[(0,a.jsx)("td",{className:"select-none whitespace-nowrap border-r border-white/6 px-2 text-right text-[var(--vk-text-muted)] opacity-40",style:{minWidth:`${s+2}ch`},children:t+1}),(0,a.jsx)("td",{className:"whitespace-pre px-3 text-[var(--vk-text-normal)]",children:e||"\xa0"})]},t))})})})}return(0,a.jsx)("div",{className:"shiki-viewer inline-block min-w-full align-top [&_.shiki]:!bg-transparent [&_.shiki]:p-0 [&_code]:text-[11px] [&_code]:leading-5 [&_pre]:!bg-transparent [&_pre]:!p-0",dangerouslySetInnerHTML:{__html:n}})}function B({sessionId:e,filePath:t}){let[s,n]=(0,l.useState)(null),[i,r]=(0,l.useState)(!0),[c,d]=(0,l.useState)(null),[o,x]=(0,l.useState)(!1),[u,m]=(0,l.useState)(!1),[h,f]=(0,l.useState)(0);if((0,l.useEffect)(()=>{let s=!1;r(!0),d(null),n(null),x(!1),m(!1),f(0);let a=new URLSearchParams({path:t});return fetch(`/api/sessions/${encodeURIComponent(e)}/files?${a.toString()}`,{cache:"no-store"}).then(async e=>{if(!e.ok)throw Error(`Failed to load file (${e.status})`);return e.json()}).then(e=>{s||(e.binary?x(!0):n("string"==typeof e.content?e.content:""),m(!!e.truncated),f("number"==typeof e.size?e.size:0))}).catch(e=>{s||d(e instanceof Error?e.message:"Failed to load file")}).finally(()=>{s||r(!1)}),()=>{s=!0}},[e,t]),i)return(0,a.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin"}),"Loading…"]});if(c)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center px-4 text-center text-[12px] text-red-400",children:c});if(o&&z.has(W(t))){let s=new URLSearchParams({path:t,raw:"1"}),n=`/api/sessions/${encodeURIComponent(e)}/files?${s.toString()}`;return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-4",children:[(0,a.jsx)("img",{src:n,alt:t,className:"max-h-[60vh] max-w-full rounded-md object-contain"}),(0,a.jsxs)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[t.split("/").pop(),h>0?` \xb7 ${Z(h)}`:""]})]})}if(o){let e=W(t);return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 px-4 text-center",children:[(0,a.jsx)("div",{className:"rounded-lg bg-white/4 p-4",children:(0,a.jsx)($.A,{className:"mx-auto h-8 w-8 text-[var(--vk-text-muted)]"})}),(0,a.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:["Binary file",e?` (.${e})`:""," — preview not available"]}),h>0?(0,a.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)] opacity-60",children:Z(h)}):null]})}let p=function(e){let t=e.split("/").pop()??"";if(O[t])return O[t];let s=t.lastIndexOf(".");if(s>=0){let e=t.slice(s+1).toLowerCase();if(U[e])return U[e]}return"plaintext"}(t);return(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[u?(0,a.jsxs)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1 text-[11px] text-amber-300",children:["File truncated",h>0?` (${Z(h)} total)`:""]}):null,(0,a.jsx)("div",{className:`min-h-0 min-w-0 flex-1 overflow-auto py-2 touch-pan-x ${D.hq}`,children:(0,a.jsx)(X,{code:s??"",lang:p})})]})}function Z(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function V({sessionId:e,active:t}){let[s,n]=(0,l.useState)([]),[i,r]=(0,l.useState)(!0),[c,d]=(0,l.useState)(null),[o,x]=(0,l.useState)(!1),[u,m]=(0,l.useState)(""),[h,f]=(0,l.useState)(null),[p,v]=(0,l.useState)(new Set),g=(0,l.useRef)(!0),b=(0,l.useCallback)(async()=>{try{r(!0);let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/files`,{cache:"no-store"});if(!t.ok)throw Error(`Failed to load files (${t.status})`);let s=await t.json();if(!g.current)return;n(s.files??[]),x(!!s.truncated),d(null)}catch(e){if(!g.current)return;d(e instanceof Error?e.message:"Failed to load files")}finally{g.current&&r(!1)}},[e]);(0,l.useEffect)(()=>(g.current=!0,t&&b(),()=>{g.current=!1}),[t,b]);let j=(0,l.useMemo)(()=>(function(e){let t={name:"",path:"",children:[],isDir:!0};for(let s of e){let e=s.split("/"),a=t,n="";for(let t=0;t<e.length;t++){let s=e[t];n=n?`${n}/${s}`:s;let l=t===e.length-1,i=a.children.find(e=>e.name===s);i||(i={name:s,path:n,children:[],isDir:!l},a.children.push(i)),a=i}}return function e(t){for(let s of(t.sort((e,t)=>e.isDir!==t.isDir?e.isDir?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base"})),t))s.children.length>0&&e(s.children);return t}(t.children)})(s),[s]),w=(0,l.useMemo)(()=>(function(e,t){if(!t)return e;let s=t.toLowerCase();return function e(t){let a=[];for(let n of t)(function e(t){return!!(t.name.toLowerCase().includes(s)||t.path.toLowerCase().includes(s))||t.children.some(e)})(n)&&(n.isDir?a.push({...n,children:e(n.children)}):a.push(n));return a}(e)})(j,u.trim()),[j,u]);(0,l.useEffect)(()=>{if(u.trim()){let e=new Set;!function t(s){for(let a of s)a.isDir&&(e.add(a.path),t(a.children))}(w),v(e)}},[w,u]);let k=(0,l.useCallback)(e=>{v(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),N=(0,l.useCallback)(e=>{f(e)},[]),y=(0,l.useCallback)(()=>{f(null)},[]);if(i&&0===s.length)return(0,a.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin"}),"Loading workspace files…"]});if(c)return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-4 text-center",children:[(0,a.jsx)("p",{className:"text-[12px] text-red-400",children:c}),(0,a.jsx)("button",{type:"button",onClick:()=>void b(),className:"text-[11px] text-[var(--vk-text-muted)] underline hover:text-[var(--vk-text-normal)]",children:"Retry"})]});let S=h?(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col lg:hidden",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-2",children:[(0,a.jsx)("button",{type:"button",onClick:y,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6","aria-label":"Back to file list",children:(0,a.jsx)(C.A,{className:"h-4 w-4"})}),(0,a.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:h})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(B,{sessionId:e,filePath:h})})]}):null;return(0,a.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[S,(0,a.jsxs)("div",{className:`flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-1.5 ${h?"hidden lg:flex":""}`,children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 rounded-md bg-white/4 px-2 py-1.5",children:[(0,a.jsx)(I.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{type:"text",value:u,onChange:e=>m(e.target.value),placeholder:"Search files…",className:"min-w-0 flex-1 bg-transparent text-[12px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,a.jsx)("button",{type:"button",onClick:()=>void b(),disabled:i,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6 disabled:opacity-50","aria-label":"Refresh files",children:(0,a.jsx)(E.A,{className:`h-3.5 w-3.5 ${i?"animate-spin":""}`})})]}),o?(0,a.jsx)("div",{className:`shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1.5 text-[11px] text-amber-300 ${h?"hidden lg:block":""}`,children:"File list truncated (4000 file limit)"}):null,(0,a.jsxs)("div",{className:`min-h-0 flex-1 lg:flex lg:flex-row ${h?"hidden lg:flex":"flex flex-col"}`,children:[(0,a.jsx)("div",{className:`min-h-0 flex-1 overflow-y-auto py-1 lg:max-w-[320px] lg:border-r lg:border-white/8 ${D.hq}`,children:0===w.length?(0,a.jsx)("div",{className:"px-3 py-6 text-center text-[12px] text-[var(--vk-text-muted)]",children:u?"No files match your search.":"No files in workspace."}):w.map(e=>(0,a.jsx)(T,{node:e,depth:0,selectedPath:h,expandedDirs:p,onToggleDir:k,onSelectFile:N},e.path))}),(0,a.jsx)("div",{className:"hidden min-h-0 min-w-0 flex-1 lg:block",children:h?(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-3 py-2",children:[(0,a.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:h})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(B,{sessionId:e,filePath:h})})]}):(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-[12px] text-[var(--vk-text-muted)]",children:"Select a file to view its contents"})})]})]})}function G({session:e,sessionId:t,active:s}){let n=(0,l.useMemo)(()=>P(e,"task")??P(e,"prompt")??("string"==typeof e.task?e.task:"")??("string"==typeof e.prompt?e.prompt:""),[e]),i=(0,l.useMemo)(()=>P(e,"agent")??("string"==typeof e.agent?e.agent:""),[e]),r=(0,l.useMemo)(()=>(function(e,t){if(!e||!t)return"";let s=new Date(e).getTime(),a=new Date(t).getTime();if(!Number.isFinite(s)||!Number.isFinite(a)||a<s)return"";let n=Math.floor((a-s)/6e4);if(n<1)return"<1m";if(n<60)return`${n}m`;let l=Math.floor(n/60);return`${l}h ${n%60}m`})(P(e,"startedAt")??e.startedAt,P(e,"finishedAt")??e.finishedAt),[e]),c=(0,l.useMemo)(()=>(function(e){if("number"==typeof e.cost)return e.cost;let t=e.metadata.cost;if("string"!=typeof t)return 0;try{let e=JSON.parse(t),s="number"==typeof e.estimatedCostUsd?e.estimatedCostUsd:0,a="number"==typeof e.totalUSD?e.totalUSD:0;return s??a}catch{return 0}})(e),[e]),d=(0,l.useMemo)(()=>F(P(e,"queuePosition")),[e]),o=(0,l.useMemo)(()=>F(P(e,"queueDepth")),[e]),x=(0,l.useMemo)(()=>P(e,"recoveryState")??"",[e]),u=(0,l.useMemo)(()=>"queued"===e.status?d?`Waiting in queue at position ${d}${o?` of ${o}`:""}.`:"Waiting in the launch queue.":"requeued_after_restart"===x?"Session recovered after backend restart and requeued.":"reattach_pending"===x?"Recovering terminal runtime after backend restart.":"detached_runtime"===x?"Backend restarted while agent may still be running.":"resume_required"===x?"Session recovered after restart. Send a message to resume.":"",[o,d,x,e.status]);return(0,a.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[u?(0,a.jsx)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-2",children:(0,a.jsx)("p",{className:"text-[12px] leading-snug text-amber-300",children:u})}):null,n?(0,a.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2.5",children:(0,a.jsx)("p",{className:"line-clamp-3 whitespace-pre-wrap text-[13px] leading-relaxed text-[var(--vk-text-normal)]",children:n})}):null,(0,a.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-x-4 gap-y-1 border-b border-white/8 px-3 py-2 text-[11px] text-[var(--vk-text-muted)]",children:[i?(0,a.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(q.N,{seed:{label:i},className:"h-4 w-4"}),(0,a.jsx)("span",{children:i})]}):null,e.branch?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(M.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)(L,{text:e.branch})]}):null,r?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(_.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{children:r})]}):null,c>0?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(R.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsxs)("span",{children:["$",c.toFixed(3)]})]}):null]}),(0,a.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden border-t border-white/8",children:[(0,a.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2",children:(0,a.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wide text-[var(--vk-text-muted)]",children:"Workspace files"})}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(V,{sessionId:t,active:s})})]})]})}var K=s(40448),J=s(50549),H=s(26083),Q=s(31404),Y=s(59207),ee=s(46916);let et="block h-5 w-5 shrink-0 object-contain",es=[{id:"finder",label:"Finder"},{id:"cursor",label:"Cursor"},{id:"antigravity",label:"Antigravity"},{id:"windsurf",label:"Windsurf"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"custom",label:"Custom"}],ea={finder:{kind:"image",imageSrc:"/icons/ide/finder.svg",className:et},vscode:{kind:"image",imageSrc:"/icons/ide/vscode-dark.svg",className:et},"vscode-insiders":{kind:"image",imageSrc:"/icons/ide/vscode-insiders.svg",className:et},cursor:{kind:"image",imageSrc:"/icons/ide/cursor-dark.svg",className:et},windsurf:{kind:"image",imageSrc:"/icons/ide/windsurf-dark.svg",className:et},"intellij-idea":{kind:"image",imageSrc:"/icons/ide/intellij.svg",className:et},zed:{kind:"image",imageSrc:"/icons/ide/zed-dark.svg",className:et},xcode:{kind:"image",imageSrc:"/icons/ide/xcode.svg",className:et},antigravity:{kind:"image",imageSrc:"/icons/ide/antigravity-dark.svg",className:et},custom:{kind:"icon",className:`${et} text-[var(--vk-text-muted)]`}};function en({editorId:e,label:t}){let s=ea[e];return s?"icon"===s.kind?(0,a.jsx)(J.A,{className:s?.className??`${et} text-[var(--vk-text-muted)]`}):(0,a.jsx)("img",{src:s.imageSrc,alt:`${t} logo`,className:s.className}):(0,a.jsx)(J.A,{className:`${et} text-[var(--vk-text-muted)]`})}function el({projectId:e,bridgeId:t,label:s="Open",triggerClassName:n}){let{preferences:i}=(0,Y.g)(t),[r,c]=(0,l.useState)(null),d=(0,l.useMemo)(()=>{var e;return e=i?.ide??"vscode",es.find(t=>t.id===e)??{id:e,label:e}},[i?.ide]);async function o(s){if(e&&!r){c(s);try{let a=await fetch((0,Q.S)(`/api/projects/${encodeURIComponent(e)}/open`,t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ide:s})}),n=await a.json().catch(()=>null);if(!a.ok)throw Error(n?.error??`Failed to open project (${a.status})`)}catch(e){window.alert(e instanceof Error?e.message:"Failed to open project")}finally{c(null)}}}return(0,a.jsxs)(K.bL,{children:[(0,a.jsx)(K.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",disabled:!e||null!==r,className:(0,ee.cn)("inline-flex h-9 items-center gap-2 rounded-[6px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.06)] disabled:cursor-not-allowed disabled:opacity-60",n),"aria-label":"Open project in code editor",title:e?`Open project in ${d.label}`:"No project selected",children:[r?(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin text-current"}):(0,a.jsx)(H.A,{className:"h-4 w-4 text-current"}),(0,a.jsx)("span",{className:"hidden font-medium sm:inline",children:s}),(0,a.jsx)(k.A,{className:"h-3.5 w-3.5 text-current"})]})}),(0,a.jsx)(K.ZL,{children:(0,a.jsx)(K.UC,{align:"end",sideOffset:8,className:"z-50 min-w-[240px] rounded-[8px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:es.map(e=>(0,a.jsxs)(K.q7,{onSelect:()=>void o(e.id),className:"flex min-h-[44px] cursor-default items-center gap-3 rounded-[6px] px-3 py-2 text-[14px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)]",children:[(0,a.jsx)(en,{editorId:e.id,label:e.label}),(0,a.jsx)("span",{className:"flex-1",children:e.label}),d.id===e.id?(0,a.jsx)(j.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}):null]},e.id))})})]})}let ei=(0,n.default)(function(){return s.e(883).then(s.bind(s,883)).then(e=>e.SessionTerminal)},{loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading terminal..."})}),er=(0,n.default)(()=>Promise.all([s.e(3971),s.e(2799)]).then(s.bind(s,22799)).then(e=>e.SessionPreview),{loadableGenerated:{webpack:()=>[22799]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading preview..."})}),ec=(0,n.default)(()=>s.e(633).then(s.bind(s,60633)).then(e=>e.SessionDiff),{loadableGenerated:{webpack:()=>[60633]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading review…"}),ssr:!1}),ed=(0,n.default)(()=>s.e(1874).then(s.bind(s,81874)).then(e=>e.SessionSkills),{loadableGenerated:{webpack:()=>[81874]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading skills..."})}),eo=(0,n.default)(()=>Promise.all([s.e(9526),s.e(2651),s.e(2261),s.e(9847)]).then(s.bind(s,52261)).then(e=>e.DispatcherPane),{loadableGenerated:{webpack:()=>[52261]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading dispatcher..."})}),ex="min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:invisible data-[state=inactive]:opacity-0",eu="min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=active]:relative data-[state=active]:z-10 data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:opacity-0 data-[state=inactive]:select-none";function em(e,t){let s=(0,b.tK)(t);return"overview"===e||"preview"===e||"skills"===e||"diff"===e?e:"dispatcher"===e||"terminal"===e?"dispatcher"===s?"dispatcher":"terminal":s}function eh({sessionId:e,initialSession:t=null,bridgeId:s=null,immersiveMobileMode:n=!1,active:j=!0,suppressPreviewAutoOpen:w=!1,onOpenSidebar:k}){let N=(0,i.usePathname)(),y=(0,i.useRouter)(),S=(0,i.useSearchParams)(),{session:$,loading:A,error:C}=(0,v.w)(e,t,{enabled:j,bridgeId:s}),I=(0,l.useRef)(0),E=(0,l.useRef)(!1),[M,_]=(0,l.useState)(null),R=(0,l.useMemo)(()=>em(S.get("tab"),$),[S,$]),q=(0,l.useCallback)(e=>{let t=em(e,$),s=(0,b.tK)($),a=new URLSearchParams(S.toString());t===s?a.delete("tab"):a.set("tab",t);let n=a.toString(),l=n.length>0?`${N}?${n}`:N;y.replace(l,{scroll:!1})},[N,y,S,$]);(0,l.useEffect)(()=>{if(!$)return;let e=S.get("tab"),t=em(e,$),s=t===(0,b.tK)($)?null:t;if((e?.trim()?e:null)===s)return;let a=new URLSearchParams(S.toString());s?a.set("tab",s):a.delete("tab");let n=a.toString(),l=n.length>0?`${N}?${n}`:N;y.replace(l,{scroll:!1})},[N,y,S,$]);let L=(0,l.useCallback)(e=>{I.current+=1,_({nonce:I.current,...e})},[]);(0,l.useEffect)(()=>{E.current=!1,I.current=0,_(null)},[e]);let P=(0,l.useCallback)(e=>{(function({active:e,activeTab:t,alreadyOpened:s,connected:a,suppressAutoOpen:n}){return a&&e&&"terminal"===t&&!s&&!n})({active:j,activeTab:R,alreadyOpened:E.current,connected:e,suppressAutoOpen:w})&&(E.current=!0,q("preview"))},[j,R,q,w]);if(A)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(f.Zp,{className:"w-full max-w-md",children:(0,a.jsx)(f.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Loading session workspace..."})})});if(C)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(f.Zp,{className:"w-full max-w-md border-[color:color-mix(in_srgb,var(--status-error)_45%,transparent)]",children:(0,a.jsx)(f.Wu,{className:"py-7 text-center text-[13px] text-[var(--status-error)]",children:C})})});if(!$)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(f.Zp,{className:"w-full max-w-md",children:(0,a.jsx)(f.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Session not found"})})});let F="string"==typeof $.status?$.status:"unknown",T=(0,b.Zu)($),U=function(e){switch(e){case"needs_input":return"needs input";case"working":return"working";case"running":return"running";case"spawning":return"spawning";case"queued":return"queued";default:return e.replace(/[_-]+/g," ")}}(F),O=function(e){switch(e){case"working":case"running":return"bg-amber-400";case"needs_input":return"bg-blue-400";case"spawning":case"queued":default:return"bg-gray-400";case"done":return"bg-emerald-400";case"errored":return"bg-red-400";case"stuck":return"bg-[var(--vk-accent)]";case"terminated":case"killed":return"bg-gray-500"}}(F),z="working"===F||"running"===F||"spawning"===F||"queued"===F||"needs_input"===F,W="queued"!==F&&"spawning"!==F,X=j&&n&&"terminal"===R,B=j&&"preview"===R,Z=j&&"diff"===R,V="min-h-[38px] gap-1.5 px-2.5 text-[12px] sm:min-h-0 sm:px-3",K=(0,g.kV)(e).slice(0,7),J=(0,a.jsxs)(h.j7,{className:"flex w-full overflow-x-auto sm:w-fit sm:inline-flex",children:[(0,a.jsxs)(h.Xi,{value:"overview",className:V,children:[(0,a.jsx)(r.A,{className:"h-3.5 w-3.5"}),"Overview"]}),(0,a.jsxs)(h.Xi,{value:"diff",className:V,children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}),"Review"]}),T?(0,a.jsxs)(h.Xi,{value:"dispatcher",className:V,children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"}),"Dispatcher"]}):(0,a.jsxs)(h.Xi,{value:"terminal",className:V,children:[(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"}),"Terminal"]}),(0,a.jsxs)(h.Xi,{value:"preview",className:V,children:[(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Preview"]}),(0,a.jsxs)(h.Xi,{value:"skills",className:V,children:[(0,a.jsx)(u.A,{className:"h-3.5 w-3.5"}),"Skills"]})]});return(0,a.jsx)("div",{className:(0,D.re)(X),"data-conductor-session-terminal":"ttyd-iframe",children:(0,a.jsxs)(h.tU,{value:R,onValueChange:q,className:X?"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-0 p-0":"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-1 p-1 lg:gap-2 lg:p-3",children:[X?(0,a.jsxs)("div",{className:"flex shrink-0 flex-col border-b border-white/10 bg-[#0d0908]",children:[(0,a.jsxs)("div",{className:"flex h-10 items-center gap-2 px-2",children:[k?(0,a.jsx)(p.$,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:k,"aria-label":"Open workspace panel",children:(0,a.jsx)(m.A,{className:"h-4 w-4"})}):null,(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[(0,a.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${O}${z?" animate-pulse":""}`}),(0,a.jsx)("span",{className:"text-[12px] font-medium text-[#efe8e1]",children:U}),(0,a.jsxs)("span",{className:"font-mono text-[10px] text-[#8e847d]",children:["\xb7 ",K]})]}),W?(0,a.jsx)(el,{projectId:$.projectId,bridgeId:$.bridgeId??null}):null]}),(0,a.jsx)("div",{className:"px-1.5 pb-1.5",children:J})]}):(0,a.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1.5 sm:flex-nowrap",children:[J,(0,a.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:ml-auto sm:w-auto sm:justify-end",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${O}${z?" animate-pulse":""}`}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:U}),(0,a.jsxs)("span",{className:"hidden font-mono text-[10px] text-[var(--vk-text-muted)] sm:inline",children:["\xb7 ",K]})]}),W?(0,a.jsx)(el,{projectId:$.projectId,bridgeId:$.bridgeId??null}):null]})]}),(0,a.jsxs)("div",{className:"relative min-h-0 min-w-0 h-0 flex-1 overflow-hidden",children:[(0,a.jsx)(h.av,{value:"overview",className:ex,children:(0,a.jsx)(G,{session:$,sessionId:e,active:j&&"overview"===R})}),(0,a.jsx)(h.av,{value:"diff",className:`${ex} flex min-h-0 flex-col`,children:(0,a.jsx)(ec,{sessionId:e,active:Z})}),T?(0,a.jsx)(h.av,{value:"dispatcher",forceMount:!0,className:eu,children:(0,a.jsx)(eo,{thread:$,projectId:$.projectId,bridgeId:$.bridgeId??s,active:j&&"dispatcher"===R,className:"h-full w-full border-0 xl:w-full"})}):(0,a.jsx)(h.av,{value:"terminal",forceMount:!0,className:X?`flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-[#060404] ${eu}`:`flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-transparent ${eu}`,children:(0,a.jsx)(ei,{sessionId:e,projectId:$.projectId,bridgeId:$.bridgeId??null,sessionState:F,runtimeMode:$.metadata.runtimeMode?.trim()??null,pendingInsert:M,immersiveMobileMode:X,panelVisible:j&&"terminal"===R,onPendingInsertConsumed:()=>_(null)})}),(0,a.jsx)(h.av,{value:"preview",forceMount:!0,className:`${eu} flex min-h-0 flex-col`,children:(0,a.jsx)(er,{sessionId:e,active:B,onQueueTerminalInsert:L,onConnectionChange:P},e)}),(0,a.jsx)(h.av,{value:"skills",className:ex,children:(0,a.jsx)(ed,{session:$,sessionId:e,active:j&&"skills"===R})})]})]},e)})}},40443:(e,t,s)=>{s.d(t,{Wu:()=>r,Zp:()=>l,aR:()=>i});var a=s(54568),n=s(46916);let l=(0,s(7620).forwardRef)(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,n.cn)("surface-card rounded-[var(--radius-md)] border",e),...t}));function i({className:e,...t}){return(0,a.jsx)("div",{className:(0,n.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",e),...t})}function r({className:e,...t}){return(0,a.jsx)("div",{className:(0,n.cn)("px-3 py-2",e),...t})}l.displayName="Card"},59207:(e,t,s)=>{s.d(t,{g:()=>i});var a=s(7620),n=s(31404);function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function i(e,t){let s=t?.enabled??!0,[i,r]=(0,a.useState)(null),[c,d]=(0,a.useState)(s),[o,x]=(0,a.useState)(null),u=(0,a.useCallback)(async()=>{if(!s){r(null),x(null),d(!1);return}try{var t;let s,a,i,c=await fetch((0,n.S)("/api/preferences",e)),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??d?.reason??`Failed to load preferences: ${c.status}`);r((t=d?.preferences,s=l(t),i=(a=l(s.notifications)).soundFile,{onboardingAcknowledged:!0===s.onboardingAcknowledged,codingAgent:"string"==typeof s.codingAgent&&s.codingAgent.trim().length>0?s.codingAgent.trim():"claude-code",ide:"string"==typeof s.ide&&s.ide.trim().length>0?s.ide.trim():"vscode",markdownEditor:"string"==typeof s.markdownEditor&&s.markdownEditor.trim().length>0?s.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof s.markdownEditorPath?s.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===i?null:"string"==typeof i&&i.trim().length>0?i.trim():"abstract-sound-4"}})),x(null)}catch(e){r(null),x(e instanceof Error?e.message:"Failed to load preferences")}finally{d(!1)}},[e,s]);return(0,a.useEffect)(()=>{s&&u()},[s,u]),{preferences:s?i:null,loading:!!s&&c,error:s?o:null,refresh:u}}},64357:(e,t,s)=>{s.d(t,{Xi:()=>d,av:()=>o,j7:()=>c,tU:()=>r});var a=s(54568),n=s(35131),l=s(7620),i=s(46916);let r=n.bL,c=(0,l.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(n.B8,{ref:s,className:(0,i.cn)("inline-flex max-w-full items-center gap-0.5 overflow-x-auto rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-0.5 whitespace-nowrap touch-pan-x [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",e),...t}));c.displayName="TabsList";let d=(0,l.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(n.l9,{ref:s,className:(0,i.cn)("inline-flex min-h-[34px] shrink-0 items-center gap-1.5 rounded-[3px] px-2.5 py-1.5 text-[12px] text-[var(--vk-text-muted)]","data-[state=active]:bg-[var(--vk-bg-active)] data-[state=active]:text-[var(--vk-text-normal)]","hover:text-[var(--vk-text-normal)]","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]",e),...t}));d.displayName="TabsTrigger";let o=(0,l.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(n.UC,{ref:s,className:(0,i.cn)("focus-visible:outline-none",e),...t}));o.displayName="TabsContent"}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7332],{69645:(e,c,r)=>{r.d(c,{a:()=>d});var a=r(5974);let d=(0,a.createServerReference)("00f202f995f11a2535f836b0d7a1bb002ad9012d96",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")},97332:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>t.a,deleteKeylessAction:()=>d,detectKeylessEnvDriftAction:()=>f.A,syncKeylessConfigAction:()=>s});var a=r(5974);let d=(0,a.createServerReference)("00d1454244817fa90f6bf1d7eca997ec814855acef",a.callServer,void 0,a.findSourceMapURL,"deleteKeylessAction");var f=r(67133),t=r(69645);let s=(0,a.createServerReference)("40f18b42de2381dfb9681fc463d734c51e42e4ddfd",a.callServer,void 0,a.findSourceMapURL,"syncKeylessConfigAction")}}]);
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8510],{2609:(e,t,r)=>{"use strict";r.d(t,{T5:()=>s.T5,hP:()=>n.hP,nO:()=>s.nO,yC:()=>o}),r(16744);var n=r(70590),s=r(87835);function o(e,t,r){let s=t.path||(null==r?void 0:r.path);return"path"===(t.routing||(null==r?void 0:r.routing)||"path")?s?{...r,...t,routing:"path"}:n.sb.throw((0,n.kd)(e)):t.path?n.sb.throw((0,n.s7)(e)):{...r,...t,path:void 0}}},2896:(e,t,r)=>{"use strict";function n({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(54568),r(97509),r(85999),r(12918),r(32106)},5974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={callServer:function(){return o.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(34273),a=r(16409),i=r(97102)},6035:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(59113).createAsyncLocalStorage)()},6974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(74468)._(r(7620)).default.createContext(null)},10594:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return h},handleClientScriptLoad:function(){return y},initScriptLoader:function(){return v}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(74468),a=r(99649),i=r(54568),l=o._(r(97509)),c=a._(r(7620)),u=r(2737),d=r(66161),p=r(71341),f=new Map,b=new Set,m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:s=null,dangerouslySetInnerHTML:o,children:a="",strategy:i="afterInteractive",onError:c,stylesheets:u}=e,p=r||t;if(p&&b.has(p))return;if(f.has(t)){b.add(p),f.get(t).then(n,c);return}let m=()=>{s&&s(),b.add(p)},y=document.createElement("script"),v=new Promise((e,t)=>{y.addEventListener("load",function(t){e(),n&&n.call(this,t),m()}),y.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});o?(y.innerHTML=o.__html||"",m()):a?(y.textContent="string"==typeof a?a:Array.isArray(a)?a.join(""):"",m()):t&&(y.src=t,f.set(t,v)),(0,d.setAttributesFromProps)(y,e),"worker"===i&&y.setAttribute("type","text/partytown"),y.setAttribute("data-nscript",i),u&&(e=>{if(l.default.preinit)return e.forEach(e=>{l.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(u),document.body.appendChild(y)};function y(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}):m(e)}function v(e){e.forEach(y),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");b.add(t)})}function _(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:s=null,strategy:o="afterInteractive",onError:a,stylesheets:d,...f}=e,{updateScripts:y,scripts:v,getIsSsr:_,appDir:h,nonce:g}=(0,c.useContext)(u.HeadManagerContext);g=f.nonce||g;let w=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let e=t||r;w.current||(s&&e&&b.has(e)&&s(),w.current=!0)},[s,t,r]);let E=(0,c.useRef)(!1);if((0,c.useEffect)(()=>{if(!E.current){if("afterInteractive"===o)m(e);else"lazyOnload"===o&&("complete"===document.readyState?(0,p.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}));E.current=!0}},[e,o]),("beforeInteractive"===o||"worker"===o)&&(y?(v[o]=(v[o]||[]).concat([{id:t,src:r,onLoad:n,onReady:s,onError:a,...f,nonce:g}]),y(v)):_&&_()?b.add(t||r):_&&!_()&&m({...e,nonce:g})),h){if(d&&d.forEach(e=>{l.default.preinit(e,{as:"style"})}),"beforeInteractive"===o)if(!r)return f.dangerouslySetInnerHTML&&(f.children=f.dangerouslySetInnerHTML.__html,delete f.dangerouslySetInnerHTML),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([0,{...f,id:t}])})`}});else return l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin}),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([r,{...f,id:t}])})`}});"afterInteractive"===o&&r&&l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin})}return null}Object.defineProperty(_,"__nextScript",{value:!0});let h=_;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},23597:(e,t,r)=>{"use strict";function n({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(61841)},30679:(e,t,r)=>{"use strict";r.d(t,{PromisifiedAuthProvider:()=>l,d:()=>c});var n=r(30524),s=r(2609),o=r(45836),a=r(7620);let i=a.createContext(null);function l({authPromise:e,children:t}){return a.createElement(i.Provider,{value:e},t)}function c(e={}){let t=(0,o.useRouter)(),r=a.useContext(i),l=r;return(r&&"then"in r&&(l=a.use(r)),"u"<typeof window)?t?(0,n.As)(e):(0,s.hP)({...l,...e}):(0,n.As)({...l,...e})}},36727:(e,t,r)=>{"use strict";r.r(t),r.d(t,{KeylessCookieSync:()=>a});var n=r(79748),s=r(7620),o=r(38036);function a(e){var t;let a=(null==(t=(0,n.useSelectedLayoutSegments)()[0])?void 0:t.startsWith("/_not-found"))||!1;return(0,s.useEffect)(()=>{o.I&&!a&&r.e(8065).then(r.bind(r,88065)).then(t=>t.syncKeylessConfigAction({...e,returnUrl:window.location.href}))},[a]),e.children}},37204:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ClientClerkProvider:()=>O});var n=r(30524),s=r(20602);let o=new Set;var a=r(42925),i=r(79748),l=r(99321),c=r(7620);let u="u">typeof window?c.useLayoutEffect:c.useEffect,d=c.createContext(void 0);d.displayName="ClerkNextOptionsCtx";let p=()=>{let e=c.useContext(d);return null==e?void 0:e.value},f=e=>{let{children:t,options:r}=e;return c.createElement(d.Provider,{value:{value:r}},t)};var b=r(2609),m=r(10594),y=r.n(m);function v(e){let{publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a}=p(),{domain:i,proxyUrl:l}=(0,n.ho)();if(!t)return null;let u={domain:i,proxyUrl:l,publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a},d=(0,b.nO)(u),f="app"===e.router?"script":y();return c.createElement(f,{src:d,"data-clerk-js-script":!0,async:!0,defer:"pages"!==e.router&&void 0,crossOrigin:"anonymous",strategy:"pages"===e.router?"beforeInteractive":void 0,...(0,b.T5)(u)})}var _=r(38036),h=r(76975),g=r(67160),w=r(63680);let E=e=>{var t;return{...e,publishableKey:e.publishableKey||w.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY||"",clerkJSUrl:e.clerkJSUrl||w.env.NEXT_PUBLIC_CLERK_JS_URL,clerkJSVersion:e.clerkJSVersion||w.env.NEXT_PUBLIC_CLERK_JS_VERSION,proxyUrl:e.proxyUrl||w.env.NEXT_PUBLIC_CLERK_PROXY_URL||"",domain:e.domain||w.env.NEXT_PUBLIC_CLERK_DOMAIN||"",isSatellite:e.isSatellite||(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_IS_SATELLITE),signInUrl:e.signInUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL||"",signUpUrl:e.signUpUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_URL||"",signInForceRedirectUrl:e.signInForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL||"",signUpForceRedirectUrl:e.signUpForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL||"",signInFallbackRedirectUrl:e.signInFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL||"",signUpFallbackRedirectUrl:e.signUpFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL||"",afterSignInUrl:e.afterSignInUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL||"",afterSignUpUrl:e.afterSignUpUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL||"",newSubscriptionRedirectUrl:e.newSubscriptionRedirectUrl||w.env.NEXT_PUBLIC_CLERK_CHECKOUT_CONTINUE_URL||"",telemetry:null!=(t=e.telemetry)?t:{disabled:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DISABLED),debug:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DEBUG)},sdkMetadata:g.tm}};var x=r(3102),C=r(57042);let k=()=>{var e,t;let r=(0,n.ho)(),{pagesRouter:s}=(0,C.r)();return null==(t=r.telemetry)||t.record((0,x.YF)({router:s?"pages":"app",...(null==(e=null==globalThis?void 0:globalThis.next)?void 0:e.version)?{nextjsVersion:globalThis.next.version}:{}})),null};var L=r(43458),R=r(4570),T=r(88657);let j=e=>{var t;return null!=window.__clerk_internal_navigations||(window.__clerk_internal_navigations={}),null!=(t=window.__clerk_internal_navigations)[e]||(t[e]={}),window.__clerk_internal_navigations[e]},I=e=>{let{windowNav:t,routerNav:r,name:n}=e,s=(0,i.usePathname)(),[o,a]=(0,c.useTransition)();t&&(j(n).fun=(e,s)=>new Promise(o=>{var i,l;null!=(i=j(n)).promisesBuffer||(i.promisesBuffer=[]),null==(l=j(n).promisesBuffer)||l.push(o),a(()=>{var n,o,a;if((null==(n=null==s?void 0:s.__internal_metadata)?void 0:n.navigationType)==="internal")t((null!=(a=null==(o=window.next)?void 0:o.version)?a:"")<"14.1.0"?history.state:null,"",e);else r(e)})}));let l=()=>{var e;null==(e=j(n).promisesBuffer)||e.forEach(e=>e()),j(n).promisesBuffer=[]};return(0,c.useEffect)(()=>(l(),l),[]),(0,c.useEffect)(()=>{o||l()},[s,o]),(0,c.useCallback)((e,t)=>j(n).fun(e,t),[])},P=(0,a.default)(()=>r.e(4443).then(r.bind(r,34443)).then(e=>e.KeylessCreatorOrReader),{loadableGenerated:{webpack:()=>[34443]}}),S=e=>{let t,r;if(L.M0){var a,d;let e=`Clerk:
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8510],{2609:(e,t,r)=>{"use strict";r.d(t,{T5:()=>s.T5,hP:()=>n.hP,nO:()=>s.nO,yC:()=>o}),r(16744);var n=r(70590),s=r(87835);function o(e,t,r){let s=t.path||(null==r?void 0:r.path);return"path"===(t.routing||(null==r?void 0:r.routing)||"path")?s?{...r,...t,routing:"path"}:n.sb.throw((0,n.kd)(e)):t.path?n.sb.throw((0,n.s7)(e)):{...r,...t,path:void 0}}},2896:(e,t,r)=>{"use strict";function n({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(54568),r(97509),r(85999),r(12918),r(32106)},5974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={callServer:function(){return o.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(34273),a=r(16409),i=r(97102)},6035:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(59113).createAsyncLocalStorage)()},6974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(74468)._(r(7620)).default.createContext(null)},10594:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return h},handleClientScriptLoad:function(){return y},initScriptLoader:function(){return v}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(74468),a=r(99649),i=r(54568),l=o._(r(97509)),c=a._(r(7620)),u=r(2737),d=r(66161),p=r(71341),f=new Map,b=new Set,m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:s=null,dangerouslySetInnerHTML:o,children:a="",strategy:i="afterInteractive",onError:c,stylesheets:u}=e,p=r||t;if(p&&b.has(p))return;if(f.has(t)){b.add(p),f.get(t).then(n,c);return}let m=()=>{s&&s(),b.add(p)},y=document.createElement("script"),v=new Promise((e,t)=>{y.addEventListener("load",function(t){e(),n&&n.call(this,t),m()}),y.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});o?(y.innerHTML=o.__html||"",m()):a?(y.textContent="string"==typeof a?a:Array.isArray(a)?a.join(""):"",m()):t&&(y.src=t,f.set(t,v)),(0,d.setAttributesFromProps)(y,e),"worker"===i&&y.setAttribute("type","text/partytown"),y.setAttribute("data-nscript",i),u&&(e=>{if(l.default.preinit)return e.forEach(e=>{l.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(u),document.body.appendChild(y)};function y(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}):m(e)}function v(e){e.forEach(y),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");b.add(t)})}function _(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:s=null,strategy:o="afterInteractive",onError:a,stylesheets:d,...f}=e,{updateScripts:y,scripts:v,getIsSsr:_,appDir:h,nonce:g}=(0,c.useContext)(u.HeadManagerContext);g=f.nonce||g;let w=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let e=t||r;w.current||(s&&e&&b.has(e)&&s(),w.current=!0)},[s,t,r]);let E=(0,c.useRef)(!1);if((0,c.useEffect)(()=>{if(!E.current){if("afterInteractive"===o)m(e);else"lazyOnload"===o&&("complete"===document.readyState?(0,p.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}));E.current=!0}},[e,o]),("beforeInteractive"===o||"worker"===o)&&(y?(v[o]=(v[o]||[]).concat([{id:t,src:r,onLoad:n,onReady:s,onError:a,...f,nonce:g}]),y(v)):_&&_()?b.add(t||r):_&&!_()&&m({...e,nonce:g})),h){if(d&&d.forEach(e=>{l.default.preinit(e,{as:"style"})}),"beforeInteractive"===o)if(!r)return f.dangerouslySetInnerHTML&&(f.children=f.dangerouslySetInnerHTML.__html,delete f.dangerouslySetInnerHTML),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([0,{...f,id:t}])})`}});else return l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin}),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([r,{...f,id:t}])})`}});"afterInteractive"===o&&r&&l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin})}return null}Object.defineProperty(_,"__nextScript",{value:!0});let h=_;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},23597:(e,t,r)=>{"use strict";function n({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(61841)},30679:(e,t,r)=>{"use strict";r.d(t,{PromisifiedAuthProvider:()=>l,d:()=>c});var n=r(30524),s=r(2609),o=r(45836),a=r(7620);let i=a.createContext(null);function l({authPromise:e,children:t}){return a.createElement(i.Provider,{value:e},t)}function c(e={}){let t=(0,o.useRouter)(),r=a.useContext(i),l=r;return(r&&"then"in r&&(l=a.use(r)),"u"<typeof window)?t?(0,n.As)(e):(0,s.hP)({...l,...e}):(0,n.As)({...l,...e})}},36727:(e,t,r)=>{"use strict";r.r(t),r.d(t,{KeylessCookieSync:()=>a});var n=r(79748),s=r(7620),o=r(38036);function a(e){var t;let a=(null==(t=(0,n.useSelectedLayoutSegments)()[0])?void 0:t.startsWith("/_not-found"))||!1;return(0,s.useEffect)(()=>{o.I&&!a&&r.e(7332).then(r.bind(r,97332)).then(t=>t.syncKeylessConfigAction({...e,returnUrl:window.location.href}))},[a]),e.children}},37204:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ClientClerkProvider:()=>O});var n=r(30524),s=r(20602);let o=new Set;var a=r(42925),i=r(79748),l=r(99321),c=r(7620);let u="u">typeof window?c.useLayoutEffect:c.useEffect,d=c.createContext(void 0);d.displayName="ClerkNextOptionsCtx";let p=()=>{let e=c.useContext(d);return null==e?void 0:e.value},f=e=>{let{children:t,options:r}=e;return c.createElement(d.Provider,{value:{value:r}},t)};var b=r(2609),m=r(10594),y=r.n(m);function v(e){let{publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a}=p(),{domain:i,proxyUrl:l}=(0,n.ho)();if(!t)return null;let u={domain:i,proxyUrl:l,publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a},d=(0,b.nO)(u),f="app"===e.router?"script":y();return c.createElement(f,{src:d,"data-clerk-js-script":!0,async:!0,defer:"pages"!==e.router&&void 0,crossOrigin:"anonymous",strategy:"pages"===e.router?"beforeInteractive":void 0,...(0,b.T5)(u)})}var _=r(38036),h=r(76975),g=r(67160),w=r(63680);let E=e=>{var t;return{...e,publishableKey:e.publishableKey||w.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY||"",clerkJSUrl:e.clerkJSUrl||w.env.NEXT_PUBLIC_CLERK_JS_URL,clerkJSVersion:e.clerkJSVersion||w.env.NEXT_PUBLIC_CLERK_JS_VERSION,proxyUrl:e.proxyUrl||w.env.NEXT_PUBLIC_CLERK_PROXY_URL||"",domain:e.domain||w.env.NEXT_PUBLIC_CLERK_DOMAIN||"",isSatellite:e.isSatellite||(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_IS_SATELLITE),signInUrl:e.signInUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL||"",signUpUrl:e.signUpUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_URL||"",signInForceRedirectUrl:e.signInForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL||"",signUpForceRedirectUrl:e.signUpForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL||"",signInFallbackRedirectUrl:e.signInFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL||"",signUpFallbackRedirectUrl:e.signUpFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL||"",afterSignInUrl:e.afterSignInUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL||"",afterSignUpUrl:e.afterSignUpUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL||"",newSubscriptionRedirectUrl:e.newSubscriptionRedirectUrl||w.env.NEXT_PUBLIC_CLERK_CHECKOUT_CONTINUE_URL||"",telemetry:null!=(t=e.telemetry)?t:{disabled:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DISABLED),debug:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DEBUG)},sdkMetadata:g.tm}};var x=r(3102),C=r(57042);let k=()=>{var e,t;let r=(0,n.ho)(),{pagesRouter:s}=(0,C.r)();return null==(t=r.telemetry)||t.record((0,x.YF)({router:s?"pages":"app",...(null==(e=null==globalThis?void 0:globalThis.next)?void 0:e.version)?{nextjsVersion:globalThis.next.version}:{}})),null};var L=r(43458),R=r(67133),T=r(1669);let j=e=>{var t;return null!=window.__clerk_internal_navigations||(window.__clerk_internal_navigations={}),null!=(t=window.__clerk_internal_navigations)[e]||(t[e]={}),window.__clerk_internal_navigations[e]},I=e=>{let{windowNav:t,routerNav:r,name:n}=e,s=(0,i.usePathname)(),[o,a]=(0,c.useTransition)();t&&(j(n).fun=(e,s)=>new Promise(o=>{var i,l;null!=(i=j(n)).promisesBuffer||(i.promisesBuffer=[]),null==(l=j(n).promisesBuffer)||l.push(o),a(()=>{var n,o,a;if((null==(n=null==s?void 0:s.__internal_metadata)?void 0:n.navigationType)==="internal")t((null!=(a=null==(o=window.next)?void 0:o.version)?a:"")<"14.1.0"?history.state:null,"",e);else r(e)})}));let l=()=>{var e;null==(e=j(n).promisesBuffer)||e.forEach(e=>e()),j(n).promisesBuffer=[]};return(0,c.useEffect)(()=>(l(),l),[]),(0,c.useEffect)(()=>{o||l()},[s,o]),(0,c.useCallback)((e,t)=>j(n).fun(e,t),[])},P=(0,a.default)(()=>r.e(4443).then(r.bind(r,34443)).then(e=>e.KeylessCreatorOrReader),{loadableGenerated:{webpack:()=>[34443]}}),S=e=>{let t,r;if(L.M0){var a,d;let e=`Clerk:
2
2
  Your current Next.js version (${l.version}) will be deprecated in the next major release of "@clerk/nextjs". Please upgrade to next@14.1.0 or later.`;(0,s.M)()?(a=e,o.has(a)||(o.add(a),console.warn(a))):(d=`
3
3
  \x1b[43m----------
4
4
  ${e}
@@ -0,0 +1,3 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[883],{883:(e,t,n)=>{n.r(t),n.d(t,{SessionTerminal:()=>P});var r=n(54568),l=n(58299),i=n(13454);let a=(0,i.A)("file-up",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]]),s=(0,i.A)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]),u=(0,i.A)("square-stop",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]);var o=n(60527),c=n(14796),d=n(36645),h=(n(82797),n(7620)),f=n(76081),m=n(85905),w=n(31404),p=n(18510);let g=new Set(["queued","spawning","running","working","needs_input","stuck"]);var y=n(63680);function b(e){return"127.0.0.1"===e||"localhost"===e||"::1"===e}function x(e){return e.length>1&&e.endsWith("/")?e.replace(/\/+$/,""):e}function v(e){return e.startsWith("/api/sessions/")&&e.includes("/terminal/ttyd")}async function k(e,t){let n=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/terminal/token`,t?.bridgeId),{cache:"no-store",credentials:"same-origin",signal:t?.signal}),r=await n.json().catch(()=>null),l="string"==typeof r?.ttydHttpUrl&&r.ttydHttpUrl.trim().length>0?r.ttydHttpUrl.trim():null,i="string"==typeof r?.ttydWsUrl&&r.ttydWsUrl.trim().length>0?r.ttydWsUrl.trim():null,a="string"==typeof r?.tunnelUrl&&r.tunnelUrl.trim().length>0?r.tunnelUrl.trim():null,s="string"==typeof r?.relayTtydWsUrl&&r.relayTtydWsUrl.trim().length>0?r.relayTtydWsUrl.trim():null,u=(()=>{let e=r?.expiresInSeconds;if("number"==typeof e&&Number.isFinite(e))return Math.max(0,Math.floor(e));if("string"==typeof e){let t=Number.parseInt(e.trim(),10);if(Number.isFinite(t))return Math.max(0,t)}return null})();return 401===n.status||403===n.status?{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,relayTtydWsUrl:null,reason:r?.error??"Terminal access denied"}:n.ok?{interactive:!0,ttydHttpUrl:l,ttydWsUrl:i,tunnelUrl:a,relayTtydWsUrl:s,expiresInSeconds:u}:{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,relayTtydWsUrl:null,reason:r?.error??"Terminal unavailable"}}async function U(e,t){let n=function(){let e=function(){if("u"<typeof document)return null;let e=document.querySelector('meta[name="conductor-backend-url"]'),t=e?.content?.trim();if(!t)return null;try{let e=window.location.origin,n=new URL(t,e);if("http:"!==n.protocol&&"https:"!==n.protocol)return null;{let e=new URL(window.location.origin);b(n.hostname)&&!b(e.hostname)&&(n.hostname=e.hostname,"https:"===e.protocol&&"http:"===n.protocol&&(n.protocol="https:"))}return n.toString()}catch{return null}}();if(e)return e;let t=y.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL?.trim();if(t)return t;let{protocol:n,hostname:r,origin:l,port:i}=window.location;return"3000"===i||"4747"===i?`${n}//${r}:4749`:l}(),r=window.location.origin,l=await k(e,t);if(!1===l.interactive)return{terminalUrl:null,terminalLinkUrl:null,relayTtydWsUrl:null,interactive:!1,reason:l.reason,expiresInSeconds:null,tunnelUrl:null};let i=function(e,t,n,r){let l=e??t;if(!l)return null;try{let e=(()=>{try{return new URL(l,r).pathname}catch{return null}})(),t=e&&v(e)?r:n,i=new URL(l,t);return"ws:"===i.protocol&&(i.protocol="http:"),"wss:"===i.protocol&&(i.protocol="https:"),"/ws"===i.pathname?i.pathname="/":i.pathname.endsWith("/ws")&&(i.pathname=x(i.pathname.slice(0,-3))),i.pathname=x(i.pathname),i.hash="",i.toString()}catch{return null}}(l.ttydHttpUrl,l.ttydWsUrl,n,r);if(!i)return{terminalUrl:null,terminalLinkUrl:null,relayTtydWsUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."};let a=function(e,t){let n=t?.trim();if(!n)return e;try{let t=new URL(e);if(!v(t.pathname))return e;return t.searchParams.set("bridgeId",n),t.toString()}catch{return e}}(i,t?.bridgeId),s=function(e,t,n){if(n?.trim()||!t.tunnelUrl)return e;try{let n=new URL(t.tunnelUrl),r=function(e){if(!e)return null;try{return new URL(e).searchParams.get("token")}catch{return null}}(e);if(!r)return e;return n.searchParams.set("token",r),n.toString()}catch{return e}}(a,l,t?.bridgeId);return{terminalUrl:a,terminalLinkUrl:s,relayTtydWsUrl:l.relayTtydWsUrl,interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}}function R(e){if(!e)return null;try{let t=new URL(e);return t.searchParams.delete("token"),t.hash="",t.toString()}catch{return e}}var j=n(86181);let C=new Set(["archived","killed","terminated","restored"]),N=[0,50,150,400,1e3];async function S(e,t,n){let r=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/keys`,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`Failed to queue terminal input (${r.status})`)}}function E(e,t){let n;if(e&&t&&null!==e.contentWindow){try{n=new URL(e.src).origin}catch{n=window.location.origin}n&&"null"!==n&&e.contentWindow.postMessage({type:"conductor-ttyd-auth-token",token:t},n)}}function L(e,t){let n;if(e?.contentWindow&&t){try{n=new URL(e.src).origin}catch{n=window.location.origin}if(n&&"null"!==n)try{e.contentWindow.postMessage({type:"conductor-ttyd-relay-url",relayTtydWsUrl:t},n)}catch{}}}function T(e){let{sessionId:t,projectId:n,bridgeId:i,sessionState:y,runtimeMode:b,pendingInsert:x,immersiveMobileMode:v=!1,panelVisible:k=!0,onPendingInsertConsumed:T}=e,P=(0,h.useRef)(null),A=(0,h.useRef)(null),W=(0,h.useRef)(0),I=(0,h.useRef)(0),M=(0,h.useRef)(null),$=(0,h.useRef)(null),z=(0,h.useRef)([]),F=(0,h.useRef)(!1),_=(0,h.useRef)(null),D=(0,h.useRef)(0),O=(0,h.useRef)(Date.now()),q=(0,h.useRef)(null),H=(0,h.useRef)(null),B=(0,h.useRef)(0),V=(0,h.useRef)(0),J=(0,h.useRef)(0),K=(0,h.useRef)(0),X=(0,h.useRef)(0),G=(0,h.useRef)(null),Q=(0,h.useMemo)(()=>y.trim().toLowerCase(),[y]),Y=b?.trim().toLowerCase()??null,Z="ttyd"===Y,ee=Z?!C.has(Q):g.has(Q),et=(0,h.useRef)(ee);et.current=ee;let en=(0,h.useRef)(null),er=(0,h.useRef)(null),[el,ei]=(0,h.useState)(null),[ea,es]=(0,h.useState)(null),[eu,eo]=(0,h.useState)(null),[ec,ed]=(0,h.useState)(ee),[eh,ef]=(0,h.useState)(null),[em,ew]=(0,h.useState)(!1),[ep,eg]=(0,h.useState)(0),[ey,eb]=(0,h.useState)(""),[ex,ev]=(0,h.useState)(!1),[ek,eU]=(0,h.useState)(null),[eR,ej]=(0,h.useState)(null),[eC,eN]=(0,h.useState)(null),[eS,eE]=(0,h.useState)(!1),[eL,eT]=(0,h.useState)(!1),eP=(0,h.useRef)(null),eA=(0,h.useRef)(null),eW=(0,h.useRef)(!1),eI=(0,h.useRef)(0),eM=(0,h.useRef)(null),e$=(0,h.useRef)(null),ez=(0,h.useCallback)(()=>{for(let e of z.current)window.clearTimeout(e);z.current=[]},[]),eF=(0,h.useCallback)(()=>{let e=$.current,t=M.current;if(!e?.contentWindow||!t)return;let n=t.getBoundingClientRect(),r=Math.round(n.width),l=Math.round(n.height);if(r<10||l<10)return;let i=eM.current;i&&i.w===r&&i.h===l||(eM.current={w:r,h:l},function(e){let t;if(e?.contentWindow){try{t=new URL(e.src).origin}catch{t=window.location.origin}if(t&&"null"!==t)try{e.contentWindow.postMessage({type:"conductor-terminal-resize"},t)}catch{}}}(e))},[]),e_=(0,h.useCallback)(()=>{if($.current?.contentWindow)for(let e of(ez(),N))z.current.push(window.setTimeout(()=>{eF()},e))},[ez,eF]),eD=(0,h.useCallback)(()=>{let e=function(e){if(!e)return null;try{let t=new URL(e).searchParams.get("token")?.trim();return t&&t.length>0?t:null}catch{return null}}(ea);e&&E($.current,e)},[ea]),eO=(0,h.useCallback)(()=>{L($.current,eu)},[eu]),eq=(0,h.useCallback)(e=>{if(!ee)return;let t=window.Date.now();e?.force!==!0&&t-D.current<1500||(D.current=t,e?.resetResizeCache&&(eM.current=null,eI.current=t+120),e?.syncCurrentToken!==!1&&(eD(),eO(),e_()),e?.resolveConnection?(J.current+=1,eg(e=>e+1)):V.current+=1)},[ee,e_,eO,eD]);(0,h.useEffect)(()=>{eP.current=el},[el]),(0,h.useEffect)(()=>{eA.current=eu},[eu]),(0,h.useEffect)(()=>{F.current=em},[em]),(0,h.useEffect)(()=>{W.current=0,I.current=0,ei(null),es(null),eo(null),ed(ee),ef(null),ew(!1),eg(0),eb(""),ev(!1),eU(null),ej(null),eN(null),eE(!1),eW.current=!1,F.current=!1,_.current=null,D.current=0,eI.current=0,eM.current=null,q.current=null,H.current=null,B.current=0,V.current=0,J.current=0,K.current=0,X.current=0,O.current=Date.now(),ez()},[ez,t]),(0,h.useEffect)(()=>{C.has(Q)&&(ei(null),es(null),eo(null),ew(!1),ef(null),eW.current=!1)},[Q,t]),(0,h.useEffect)(()=>{eM.current=null},[el]),(0,h.useEffect)(()=>()=>ez(),[ez]),(0,h.useEffect)(()=>{let e=window.setTimeout(()=>{(null===er.current||void 0===er.current)&&(er.current=ee);let e=er.current;er.current=ee,ee||!0!==e||(en.current?.abort(),ed(!1),ef(null)),ee&&!1===e&&eg(e=>e+1)},500);return()=>window.clearTimeout(e)},[ee]),(0,h.useEffect)(()=>{if(!et.current)return void ed(!1);let e=!1,n=null,r=null,l=new AbortController;return en.current=l,(!eP.current||eW.current)&&ed(!0),ef(null),U(t,{signal:l.signal,bridgeId:i}).then(t=>{if(!e&&et.current){if(I.current=0,t.interactive&&t.terminalUrl){var n,l,i;let e,a,s=t.terminalLinkUrl??t.terminalUrl,u=t.relayTtydWsUrl??null,o=eA.current!==u,c=eW.current||(n=eP.current,l=t.terminalUrl,e=R(n),a=R(l),!e||e!==a);eW.current=!1,es(s),eo(u);let d=!c&&eP.current&&function(e,t){if(!e)return!1;try{let n=new URL(e),r=new URL(t);if(n.origin!==r.origin||n.pathname!==r.pathname)return!1;let l=new URLSearchParams(n.searchParams),i=new URLSearchParams(r.searchParams);l.delete("token"),i.delete("token");let a=l.toString(),s=i.toString();if(a!==s)return!1;let u=new URL(e).searchParams.get("token"),o=new URL(t).searchParams.get("token");return u!==o}catch{return!1}}(eP.current,t.terminalUrl);if(c||!eP.current)eP.current||ew(!1),ei(t.terminalUrl);else{let e=$.current;if(d&&e){let n=(()=>{try{return new URL(t.terminalUrl).searchParams.get("token")}catch{return null}})();n&&E(e,n)}o&&e&&L(e,u)}ef(null);let h="number"!=typeof(i=t.expiresInSeconds)||!Number.isFinite(i)||i<=0?null:1e3*Math.max(5,i-30);null!==h&&(r=window.setTimeout(()=>{G.current=null,eg(e=>e+1)},h),G.current=r);return}et.current&&(eP.current||(ei(null),es(null),eo(null),ew(!1)),ef(t.reason??"Live ttyd terminal is unavailable."))}}).catch(t=>{if(e||!et.current||t instanceof DOMException&&"AbortError"===t.name)return;let r=!!eP.current;r||(ei(null),es(null),eo(null),ew(!1)),ef(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=I.current,i=r?5e3:Math.min(4e3,500*2**l);I.current=r?0:Math.min(l+1,3),n=window.setTimeout(()=>{eg(e=>e+1)},i)}).finally(()=>{!e&&et.current&&ed(!1)}),()=>{e=!0,l.abort(),en.current===l&&(en.current=null),null!==n&&window.clearTimeout(n),null!==r&&window.clearTimeout(r),null!==G.current&&(window.clearTimeout(G.current),G.current=null)}},[i,ep,t]),(0,h.useEffect)(()=>{let e=e$.current;if(e$.current=k,!k)return;let t=0,n=0;return!1===e&&(eq({resetResizeCache:!0,resolveConnection:!1}),t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{eM.current=null,e_(),eF()})})),()=>{cancelAnimationFrame(t),cancelAnimationFrame(n)}},[eF,k,eq,e_]);let eH=(0,h.useCallback)(()=>{if(!ee)return;let e=window.Date.now(),t=null===_.current?0:e-_.current;_.current=null,eq({force:t>0,resetResizeCache:t>0,resolveConnection:!1})},[ee,eq]);(0,h.useEffect)(()=>{if("u"<typeof document)return;let e=()=>{if("hidden"===document.visibilityState){_.current=window.Date.now(),eI.current=window.Date.now()+320,null!==G.current&&(window.clearTimeout(G.current),G.current=null);return}"visible"===document.visibilityState&&(eI.current=window.Date.now()+200,eH(),eg(e=>e+1))},t=()=>{eH()},n=()=>{eH()};return document.addEventListener("visibilitychange",e),window.addEventListener("pageshow",t),window.addEventListener("online",n),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("pageshow",t),window.removeEventListener("online",n)}},[eH]),(0,h.useEffect)(()=>{if(!k||!ee)return;let e=()=>{eI.current=window.Date.now()+120,eM.current=null,e_(),requestAnimationFrame(()=>{eF()})};return window.addEventListener("focus",e),()=>{window.removeEventListener("focus",e)}},[ee,eF,k,e_]),(0,h.useEffect)(()=>{let e=e=>{if(!e.data||"object"!=typeof e.data||e.source!==$.current?.contentWindow)return;let t=e.data.type;if("conductor-ttyd-ready"===t){ew(!0),ef(null),e_(),eF();return}"conductor-ttyd-auth-token-request"===t&&(K.current+=1,eq({force:!0,resetResizeCache:!0,resolveConnection:!0}))};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[eF,eq,e_]),(0,h.useEffect)(()=>{if(!x||x.nonce<=W.current)return;W.current=x.nonce;let e=x.inlineText.trim();if(0===e.length)return;let n=!1;return S(t,`${e} `,i).then(()=>{n||(ej(null),T?.())}).catch(e=>{n||ej(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{n=!0}},[i,T,x,t]),(0,h.useEffect)(()=>{em&&(eD(),eO())},[em,eO,eD]),(0,h.useEffect)(()=>{if(!ee||!el||em)return;let e=window.setTimeout(()=>{F.current||ef("The terminal view did not finish loading in time. Try reload or open in a new tab.")},25e3);return()=>window.clearTimeout(e)},[ee,em,el]),(0,h.useCallback)(async()=>{let e=ey.trim();if(0!==e.length&&!ex){ev(!0),eU(null);try{let n=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(t)}/actions`,i),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:e})});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Failed to send message (${n.status})`)}eb(""),P.current?.focus()}catch(e){eU(e instanceof Error?e.message:"Failed to send message")}finally{ev(!1)}}},[i,ey,ex,t]);let eB=(0,h.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&await S(t,e,i)}catch{}},[i,t]),eV=(0,h.useCallback)(()=>{A.current?.click()},[]),eJ=(0,h.useCallback)(async e=>{let{files:r}=e.target;if(e.target.value="",r&&0!==r.length){eN(null),eE(!0);try{for(let e of(await (0,m.P)({files:Array.from(r),projectId:n,taskRef:t,bridgeId:i})))await S(t,`\r
2
+ [attached file: ${e}]\r
3
+ `,i)}catch(e){eN(e instanceof Error?e.message:"Failed to upload attachment.")}finally{eE(!1)}}},[i,n,t]),eK=(0,h.useCallback)(async()=>{await S(t,"\x03",i)},[i,t]),eX=(0,h.useCallback)(()=>{let e=M.current;if(!e)return;let t=window.visualViewport;if(!t)return;let{usableHeight:n,keyboardVisible:r}=(0,j.wP)(window.innerHeight,t.height,t.offsetTop,e.getBoundingClientRect().top);if(!r){e.style.height="100%",eT(!1);return}if(n<=0){e.style.height="100%";return}e.style.height=`${Math.max(0,Math.round(n))}px`,eT(!0)},[]);(0,h.useEffect)(()=>{let e=M.current;if(!e)return;let t=null,n=()=>{if(!k||window.Date.now()<eI.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(null!==t&&(window.clearTimeout(t),t=null),t=window.setTimeout(()=>{if(t=null,window.Date.now()<eI.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(eX(),eF())},150))};n();let r="u"<typeof ResizeObserver?null:new ResizeObserver(()=>{n()}),l=window.visualViewport;return r?.observe(e),window.addEventListener("resize",n),l?.addEventListener("resize",n),l?.addEventListener("scroll",n),()=>{r?.disconnect(),window.removeEventListener("resize",n),l?.removeEventListener("resize",n),l?.removeEventListener("scroll",n),null!==t&&window.clearTimeout(t),e.style.removeProperty("height")}},[eX,ee,eF,k,el]),(0,h.useEffect)(()=>{},[eh,ee,em,Y,ek,eR,ec,t,el,ea,eu,Z]);let eG=(0,h.useCallback)(()=>{X.current+=1,ef(null),I.current=0,eW.current=!0,eg(e=>e+1)},[]),eQ=ee?"Connecting live terminal":"Live terminal is not active",eY=eh??(ee?"Reconnecting to the existing ttyd terminal.":Z?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":`Session status is \`${Q}\`. Interactive ttyd terminals only run while the agent is active.`),eZ=ea??el??void 0,e0=(0,p.s)(t,{bridgeId:i,tab:"terminal"});return(0,r.jsxs)("div",{className:v?"group/terminal relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[#060404]":"group/terminal relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden rounded-none border-0 bg-[#060404] lg:rounded-[14px] lg:border lg:border-white/10 lg:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",children:[(0,r.jsxs)("div",{className:"absolute right-2 top-2 z-20 flex items-center gap-2 sm:right-3 sm:top-3",children:[(0,r.jsx)("input",{ref:A,type:"file",multiple:!0,accept:"*/*",className:"sr-only",tabIndex:-1,"aria-hidden":!0,onChange:e=>void eJ(e)}),(0,r.jsx)(f.$,{type:"button",size:"icon",variant:"ghost",disabled:!ee||!el||eS,className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] disabled:opacity-40 sm:h-7 sm:w-7",onClick:eV,"aria-label":"Attach photos or files",children:eS?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(a,{className:"h-3.5 w-3.5"})}),window.matchMedia?.("(pointer: coarse)").matches?(0,r.jsx)(f.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eB,"aria-label":"Paste from clipboard",children:(0,r.jsx)(s,{className:"h-3.5 w-3.5"})}):null,(0,r.jsx)(f.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eK,"aria-label":"Soft stop (Ctrl+C)",children:(0,r.jsx)(u,{className:"h-3.5 w-3.5"})}),(0,r.jsx)(f.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eG,"aria-label":"Reload ttyd terminal",children:ec?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{className:v?"min-h-0 min-w-0 h-0 flex-1 overflow-hidden px-0 pb-[env(safe-area-inset-bottom)] pt-0 w-full":"min-h-0 min-w-0 h-0 flex-1 overflow-hidden px-0.5 pb-0 pt-0.5 lg:px-1.5 lg:pb-1 lg:pt-3 w-full",children:ee&&el?(0,r.jsxs)("div",{ref:M,className:"relative flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden rounded-[10px] bg-[#060404] pb-[env(safe-area-inset-bottom)]",children:[em?null:(0,r.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-[#060404]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-[#141010]/92 px-3 py-2 text-[12px] text-[#c9c0b7] backdrop-blur-sm",children:[(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,r.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,r.jsx)("iframe",{ref:$,title:`ttyd terminal for ${t}`,src:el,className:"block h-full min-h-0 w-full flex-1 border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onError:()=>{ef("Failed to load the terminal frame. Try reload or open in a new tab.")},onLoad:()=>{let e=Date.now();B.current+=1,H.current=e,null===q.current&&(q.current=e),ew(!0),ef(null),eX(),eD(),eO(),e_()}},t)]}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center p-4",children:(0,r.jsx)("div",{className:"max-w-lg rounded-[16px] border border-white/10 bg-[#141010]/92 p-5 text-[#efe8e1] shadow-[0_24px_48px_rgba(0,0,0,0.34)]",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"mt-0.5 rounded-full border border-white/10 bg-[#201818] p-2 text-[#c9c0b7]",children:eh?(0,r.jsx)(c.A,{className:"h-4 w-4"}):(0,r.jsx)(l.A,{className:`h-4 w-4 ${ec?"animate-spin":""}`})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[14px] font-medium",children:eQ}),(0,r.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:eY}),eZ?(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-x-3 gap-y-1",children:[(0,r.jsx)("a",{href:e0,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the full terminal page"}),(0,r.jsx)("a",{href:eZ,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#a79c94] underline underline-offset-4",children:"Open the ttyd terminal directly"})]}):null]})]})})})}),eR||eC?(0,r.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] px-3 py-2 text-[11px] text-[#ffb39e] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:[eR?(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(c.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:eR}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ej(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,eC?(0,r.jsxs)("div",{className:`flex items-center gap-1.5 ${eR?"mt-2":""}`,children:[(0,r.jsx)(c.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:eC}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>eN(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null]}):null,null]})}let P=(0,h.memo)(function(e){return(0,r.jsx)(T,{...e})},function(e,t){var n,r;let l=e.panelVisible??!0,i=t.panelVisible??!0;return e.sessionId===t.sessionId&&e.projectId===t.projectId&&e.bridgeId===t.bridgeId&&l===i&&((n=e.pendingInsert)===(r=t.pendingInsert)||!!n&&!!r&&n.nonce===r.nonce&&n.inlineText===r.inlineText)&&(!l&&!i||e.sessionState===t.sessionState&&e.runtimeMode===t.runtimeMode&&e.immersiveMobileMode===t.immersiveMobileMode)})},14796:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},18510:(e,t,n)=>{n.d(t,{J:()=>l,s:()=>i});var r=n(10926);function l(e){let t=(0,r.C0)(e);if(!t)return"/";let n=new URLSearchParams;return n.set("bridge",t),`/?${n.toString()}`}function i(e,t={}){let n,l=e.trim(),a=(0,r.DW)(l)?l:(n=(0,r.C0)(t.bridgeId))?(0,r.Bp)(n,l):l,s=new URLSearchParams,u=t.tab?.trim();u&&s.set("tab",u);let o=s.toString(),c=`/sessions/${encodeURIComponent(a)}`;return o.length>0?`${c}?${o}`:c}},82797:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},85905:(e,t,n)=>{n.d(t,{P:()=>i});var r=n(31404);function l(e){return e&&"object"==typeof e?e:null}async function i({files:e,projectId:t,taskRef:n,bridgeId:a,preferAbsolute:s=!0}){if(!e.length)return[];let u=t.trim();if(!u)throw Error("Project id is required to upload attachments");let o=new FormData;o.append("projectId",u);let c=n?.trim();for(let t of(c&&o.append("taskRef",c),e))o.append("files",t);let d=await fetch((0,r.S)("/api/attachments",a),{method:"POST",body:o}),h=await d.json().catch(()=>null);if(!d.ok){let t=1===e.length?e[0]?.name??"attachment":`${e.length} attachments`;throw Error(h?.error??`Failed to upload ${t}`)}let f=(Array.isArray(h?.files)?h.files:h?[h]:[]).map(e=>(function(e,t){let n=l(e);if(!n)return null;let r=l(n.attachment);for(let e of t?[n.absolutePath,n.path,n.filePath,r?.absolutePath,r?.path,r?.filePath]:[n.path,n.absolutePath,n.filePath,r?.path,r?.absolutePath,r?.filePath])if("string"==typeof e&&e.trim().length>0)return e.trim();return null})(e,s)).filter(e=>!!e);if(0===f.length)throw Error("Attachment upload succeeded but did not return a usable file path");return f}}}]);
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9703],{10926:(e,t,r)=>{r.d(t,{Bp:()=>i,C0:()=>a,DW:()=>s,kV:()=>o});let n="bridge:";function a(e){let t=e?.trim();return t&&t.length>0?t:null}function i(e,t){return`${n}${e}:${t}`}function s(e){let t=e?.trim();if(!t||!t.startsWith(n))return null;let r=t.slice(n.length),i=r.indexOf(":");if(i<=0||i>=r.length-1)return null;let s=a(r.slice(0,i)),o=r.slice(i+1).trim();return s&&0!==o.length?{bridgeId:s,sessionId:o}:null}function o(e){let t=e?.trim()??"";return t?s(t)?.sessionId??t:""}},11984:(e,t,r)=>{function n(e){let t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("127.0.0.1:4749")||t.includes("older bridge build")||t.includes("one-time local bridge upgrade"))}function a(e){return`This laptop needs a one-time local bridge upgrade before ${function(e){switch(e){case"repair":return"Repair bridge";case"restart":return"Restart service";case"update":return"Update Conductor"}}(e)} can run from the dashboard.`}function i(e){let t=e?.trim()||"This laptop";return`${t} is still on an older bridge build, so Conductor cannot repair, restart, or update it remotely yet. Upgrade the bridge once on that laptop, then future fixes run from the dashboard.`}r.d(t,{Az:()=>n,IG:()=>a,_5:()=>i})},15115:(e,t,r)=>{function n(e,t){return"string"==typeof e&&e.trim().length>0?e.trim():t}function a(e){let t="string"==typeof e?e.trim():"";return t?` (build ${t})`:""}function i(e){return Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e).map(e=>{let t,r,a;return t=n(e.hostname,"unknown-host"),r=n(e.os,"unknown-os"),a=n(e.arch,"unknown-arch"),{device_id:n(e.device_id,t),device_name:n(e.device_name,t),hostname:t,os:r,arch:a,connected:!0===e.connected,last_status:e.last_status?{hostname:n(e.last_status.hostname,t),os:n(e.last_status.os,r),connected:!0===e.last_status.connected,version:"string"==typeof e.last_status.version&&e.last_status.version.trim().length>0?e.last_status.version.trim():null}:null}}):[]}r.d(t,{oH:()=>i,wj:()=>a})},15321:(e,t,r)=>{r.d(t,{i:()=>m});var n=r(54568),a=r(7620),i=r(65587),s=r.n(i),o=r(63322),d=r(59706),l=r(87242),c=r(76081),u=r(46916),p=r(11984),v=r(61369);function m({deviceId:e,deviceName:t,deviceOs:r,dashboardUrl:i,installScriptUrl:g,installPowerShellUrl:h,relayUrl:x,className:f}){let[b,w]=(0,a.useState)(!1),k=(0,a.useMemo)(()=>(0,v.Y8)(r),[r]),y="windows"===k?h:g,_=(0,a.useMemo)(()=>(0,v.$y)(y,i,x,k),[i,x,y,k]),j=(0,a.useMemo)(()=>(0,v.kw)(e),[e]);return(0,n.jsxs)("div",{className:(0,u.cn)("mt-3 rounded-[14px] border border-[color:color-mix(in_srgb,var(--vk-orange)_28%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)] px-3 py-3",f),children:[(0,n.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"One-time local repair"}),(0,n.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-normal)]",children:(0,p._5)(t)}),(0,n.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,n.jsxs)(c.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{navigator.clipboard?.writeText?(w(!1),navigator.clipboard.writeText(_).then(()=>{w(!0)}).catch(()=>{w(!1)})):w(!1)},children:[b?(0,n.jsx)(o.A,{className:"h-4 w-4"}):(0,n.jsx)(d.A,{className:"h-4 w-4"}),b?"Repair command copied":"Copy repair command"]}),(0,n.jsx)(c.$,{asChild:!0,variant:"outline",size:"sm",children:(0,n.jsxs)(s(),{href:j,children:[(0,n.jsx)(l.A,{className:"h-4 w-4"}),"Open repair steps"]})})]})]})}},26167:(e,t,r)=>{r.d(t,{E:()=>i,b:()=>a});var n=r(11984);async function a(e){let t=await s(e,"service-restart",{});return t?.message??"Bridge service restart scheduled. This laptop should reconnect once the bridge is back online."}async function i(e,t){let r=await s(e,"repair",{installScriptUrl:t});return r?.message??"Bridge reinstall requested. This laptop should reconnect shortly."}async function s(e,t,r){let a=await fetch(`/api/bridge/devices/${encodeURIComponent(e)}/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r),cache:"no-store"}),i=await a.json().catch(()=>null);if(!a.ok){var s,o;let e;throw Error((s=i?.error??i?.message??null,o=a.status,e=s?.trim()??"",(0,n.Az)(e)?(0,n.IG)("repair"===t?"repair":"restart"):e||`Failed to run ${t} on the bridge service (${o})`))}return i}},31404:(e,t,r)=>{r.d(t,{S:()=>a,y:()=>i});var n=r(10926);function a(e,t){let r=(0,n.C0)(t);if(!r)return e;let a=new URL(e,"http://127.0.0.1");return a.searchParams.set("bridgeId",r),`${a.pathname}${a.search}${a.hash}`}function i(e){let t=function(e){if(!e)return null;if(e instanceof URL)return e;if("string"==typeof e)try{return new URL(e,"http://127.0.0.1")}catch{return null}if("string"==typeof e.href)try{return new URL(e.href)}catch{}return null}(e);if(!t)return null;let r=(0,n.C0)(t.searchParams.get("bridge")??t.searchParams.get("bridgeId"));if(r)return r;let a=(0,n.DW)(t.searchParams.get("session"))?.bridgeId;if(a)return a;let i=t.pathname.match(/^\/sessions\/([^/]+)$/);if(!i)return null;try{return(0,n.DW)(decodeURIComponent(i[1]))?.bridgeId??null}catch{return null}}},39702:(e,t,r)=>{r.d(t,{J:()=>S});var n=r(54568),a=r(7620),i=r(40448),s=r(65587),o=r.n(s),d=r(79748),l=r(22061),c=r(34041),u=r(58299),p=r(87242),v=r(2099),m=r(60527),g=r(81167),h=r(15321),x=r(44522),f=r(11984),b=r(46916),w=r(26167),k=r(83770),y=r(61369),_=r(15115),j=r(67506);let N="/bridge/connect";function C({connected:e,className:t,title:r,suffix:a}){return(0,n.jsxs)("span",{className:(0,b.cn)("inline-flex items-center gap-2 rounded-full border px-2.5 py-1 text-[12px] font-medium",e?"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]":"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]",t),title:r,children:[(0,n.jsx)("span",{className:(0,b.cn)("h-2.5 w-2.5 rounded-full",e?"bg-[var(--vk-green)]":"bg-[var(--vk-red)]")}),(0,n.jsx)("span",{children:e?"Online":"Offline"}),a]})}function $({className:e}){let t=(0,d.useRouter)(),r=(0,d.usePathname)(),s=(0,d.useSearchParams)(),[S,I]=(0,a.useState)([]),[R,M]=(0,a.useState)(!0),[A,U]=(0,a.useState)(null),[E,F]=(0,a.useState)(null),[T,L]=(0,a.useState)({deviceId:null,phase:"idle",message:null}),[P,O]=(0,a.useState)({deviceId:null,kind:null,status:"idle",message:null}),[D,z]=(0,a.useState)(null),B=(0,a.useRef)(new Set),G=(0,j.y)(),H=!!G&&null===D,q=(0,a.useCallback)(async e=>{if(!H){e&&M(!1),I([]),U(null);return}e&&M(!0);try{let e=await fetch("/api/bridge/devices",{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok){if((0,k.Xt)(t?.error)){z(t?.error??null),I([]),U(null);return}throw Error(t?.error??`Failed to load bridge devices (${e.status})`)}I((0,_.oH)(t?.devices)),z(null),U(null)}catch(e){U(e instanceof Error?e.message:"Failed to load bridge devices.")}finally{M(!1)}},[H]);(0,a.useEffect)(()=>{if(!H){M(!1),I([]),U(null);return}let e=!1,t=null,r=async t=>{e||await q(t)};return r(!0),t=window.setInterval(()=>{r(!1)},15e3),()=>{e=!0,null!==t&&window.clearInterval(t)}},[H,q]),(0,a.useEffect)(()=>{let e=()=>{F((0,x.Tr)()?.deviceId??null)};return e(),window.addEventListener("focus",e),window.addEventListener("storage",e),()=>{window.removeEventListener("focus",e),window.removeEventListener("storage",e)}},[]),(0,a.useEffect)(()=>{r!==N&&t.prefetch(N)},[r,t]);let J=S.filter(e=>e.connected),W=s.get("bridge")?.trim()||null,V=window.location.origin,Y=W?S.find(e=>e.device_id===W)??null:null,X=!R&&0===J.length,Z=E?S.find(e=>e.device_id===E)??null:null,Q=X?Y?.device_id?(0,y.kw)(Y.device_id):Z?.device_id?(0,y.kw)(Z.device_id):S[0]?.device_id?(0,y.kw)(S[0].device_id):N:N,K=J.length>0,ee=H?A??(K?`${J.length} bridge${1===J.length?"":"s"} online`:S.length>0?"No paired bridges are online":"No paired bridges yet"):D??"Bridge relay URL is not configured";(0,a.useEffect)(()=>{let e=(Z?.connected?Z:null)??(Y?.connected?Y:null);!e||B.current.has(e.device_id)||(B.current.add(e.device_id),(0,x.jV)(e,L))},[Z,Y]),(0,a.useEffect)(()=>{!Z||Z.connected||T.message||L({deviceId:Z.device_id,phase:"checking",message:`Waiting for ${Z.device_name} to reconnect so Conductor can finish its package update.`})},[T.message,Z]);let et=(0,a.useCallback)(async e=>{O({deviceId:e.device_id,kind:"restart",status:"running",message:`Restarting the bridge service on ${e.device_name}.`});try{let t=await (0,w.b)(e.device_id);O({deviceId:e.device_id,kind:"restart",status:"completed",message:`${t} Waiting for ${e.device_name} to reconnect.`}),[2e3,5e3,1e4,2e4,35e3].forEach(e=>{window.setTimeout(()=>{q(!1)},e)})}catch(t){O({deviceId:e.device_id,kind:"restart",status:"failed",message:t instanceof Error?t.message:`Failed to restart ${e.device_name}.`})}},[q]),er=(0,a.useCallback)(async e=>{O({deviceId:e.device_id,kind:"repair",status:"running",message:`Reinstalling the bridge service on ${e.device_name}.`});try{let t=(0,y.pj)(window.location.origin,(0,y.Y8)(e.os)),r=await (0,w.E)(e.device_id,t);O({deviceId:e.device_id,kind:"repair",status:"completed",message:r}),window.setTimeout(()=>{q(!1)},2e3)}catch(t){O({deviceId:e.device_id,kind:"repair",status:"failed",message:t instanceof Error?t.message:`Failed to repair ${e.device_name}.`})}},[q]),en=(0,a.useCallback)(async e=>{await (0,x.jV)(e,L),window.setTimeout(()=>{q(!1)},2e3)},[q]);return X?(0,n.jsx)(o(),{href:Q,prefetch:!0,className:"inline-flex",title:S.length>0?"Reconnect paired device":"Pair a device",children:(0,n.jsx)(C,{connected:!1,className:e,title:S.length>0?"Reconnect paired device":"Pair a device",suffix:(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"})})}):(0,n.jsxs)(i.bL,{children:[(0,n.jsx)(i.l9,{asChild:!0,children:(0,n.jsx)("button",{type:"button",className:"outline-none",children:(0,n.jsx)(C,{connected:K,className:e,title:ee,suffix:(0,n.jsx)(c.A,{className:"h-3.5 w-3.5 text-current/70"})})})}),(0,n.jsx)(i.ZL,{children:(0,n.jsxs)(i.UC,{align:"end",sideOffset:8,className:"z-[90] w-[320px] rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 text-[var(--vk-text-normal)] shadow-[0_22px_48px_rgba(0,0,0,0.34)]",children:[(0,n.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,n.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.22em] text-[var(--vk-text-muted)]",children:"Conductor Bridge"}),(0,n.jsx)("div",{className:"mt-2 text-[13px] text-[var(--vk-text-normal)]",children:K?`${J.length} device${1===J.length?"":"s"} online`:R?"Loading device status":"No live bridge connection"}),(0,n.jsx)("div",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:"If a laptop is online but misbehaving, repair the bridge, update Conductor, or restart the service here."}),A?(0,n.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-red)]",children:A}):null,T.message?(0,n.jsxs)("div",{className:(0,b.cn)("mt-2 flex flex-wrap items-center gap-2 text-[12px] leading-5","failed"===T.phase?"text-[var(--vk-red)]":"skipped"===T.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,x.qv)(T.phase)}),(0,n.jsx)("span",{children:T.message})]}):null]}),(0,n.jsx)("div",{className:"mt-2 max-h-[280px] overflow-y-auto",children:S.length>0?S.map(e=>{let t=(0,x.xv)(T,e.device_id),r="running"===P.status&&P.deviceId===e.device_id,a=r&&"repair"===P.kind,i=r&&"restart"===P.kind,s=P.deviceId===e.device_id&&(0,f.Az)(P.message)||T.deviceId===e.device_id&&(0,f.Az)(T.message);return(0,n.jsx)("div",{className:"rounded-[14px] px-3 py-2.5 transition-colors hover:bg-[var(--vk-bg-hover)]",children:(0,n.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:e.device_name}),(0,n.jsxs)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:[e.hostname," \xb7 ",e.os,"/",e.arch,(0,_.wj)(e.last_status?.version)]}),(0,n.jsxs)("div",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Relay: ",e.last_status?.hostname??e.hostname,(0,_.wj)(e.last_status?.version)]}),T.message&&T.deviceId===e.device_id?(0,n.jsxs)("div",{className:(0,b.cn)("mt-1 flex flex-wrap items-center gap-2 text-[11px] leading-5","failed"===T.phase?"text-[var(--vk-red)]":"skipped"===T.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,x.qv)(T.phase)}),(0,n.jsx)("span",{children:T.message})]}):null,P.message&&P.deviceId===e.device_id?(0,n.jsx)("div",{className:(0,b.cn)("mt-1 text-[11px] leading-5","failed"===P.status?"text-[var(--vk-red)]":"completed"===P.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:P.message}):null,s&&V?(0,n.jsx)(h.i,{deviceId:e.device_id,deviceName:e.device_name,deviceOs:e.os,dashboardUrl:V,installScriptUrl:(0,y.pj)(V),installPowerShellUrl:(0,y.pj)(V,"windows"),relayUrl:G}):null,e.connected?(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:r||t,onClick:()=>{er(e)},children:[a?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(p.A,{className:"h-3.5 w-3.5"}),"Repair bridge"]}),(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:t||r,onClick:()=>{en(e)},children:[t?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(v.A,{className:"h-3.5 w-3.5"}),t?"Updating...":"Update Conductor"]}),(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:r||t,onClick:()=>{et(e)},children:[i?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Restart service"]})]}):null]}),(0,n.jsx)(C,{connected:!0===e.connected})]})},e.device_id)}):(0,n.jsx)("div",{className:"rounded-[14px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[12px] text-[var(--vk-text-muted)]",children:R?"Loading paired devices...":"Pair a laptop to see bridge status here."})}),(0,n.jsx)(i.wv,{className:"my-2 h-px bg-[var(--vk-border)]"}),(0,n.jsx)(i.q7,{asChild:!0,children:(0,n.jsxs)(o(),{href:N,prefetch:!0,className:"flex items-center justify-between rounded-[12px] px-3 py-2 text-[13px] font-medium text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,n.jsx)("span",{children:"Open paired devices"}),(0,n.jsx)(g.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"})]})})]})})]})}function S({connected:e,className:t,title:r}={}){return"boolean"==typeof e?(0,n.jsx)(C,{connected:e,className:t,title:r}):(0,n.jsx)($,{className:t})}},44522:(e,t,r)=>{r.d(t,{N8:()=>c,Tr:()=>v,jV:()=>m,m7:()=>p,qv:()=>s,xv:()=>o});var n=r(31404),a=r(11984);let i="conductor-bridge-recent-pairing";function s(e){switch(e){case"checking":return"Checking";case"updating":return"Updating";case"restarting":return"Restarting";case"completed":return"Completed";case"skipped":return"Skipped";case"failed":return"Failed";default:return"Idle"}}function o(e,t){return e.deviceId===t&&("checking"===e.phase||"updating"===e.phase||"restarting"===e.phase)}function d(e,t){return t.jobMessage??`Installing Conductor ${t.latestVersion??"latest"} on ${e.device_name}.`}function l(e){let t=e.currentVersion?.trim();return t?` (build ${t})`:""}function c(e){if(!e.enabled)switch(e.reason){case"source-checkout":return"This laptop is running from a source checkout, so there is no published package to auto-update.";case"missing-cli-metadata":return"This install could not determine its update metadata, so automatic package updates are unavailable.";default:return"Automatic package updates are unavailable for this laptop."}return e.updateAvailable?e.canAutoUpdate?`This laptop is already running the latest Conductor release${l(e)}.`:"npx"===e.installMode?"This laptop was launched via npx, so the next launch will pick up the latest package automatically.":e.updateCommand?`A newer Conductor release is available, but this install still needs a manual update: ${e.updateCommand}`:"A newer Conductor release is available, but this install cannot update itself automatically.":`This laptop is already running the latest Conductor release${l(e)}.`}async function u(e,t){var r,i;let s=t?.method??"GET",o=`/api/bridge/devices/${encodeURIComponent(e)}/app-update`,d=new URL((0,n.S)(o,e),window.location.origin);t?.force&&d.searchParams.set("force","1");let l=await fetch(d.toString(),{method:s,headers:t?.body?{"Content-Type":"application/json"}:void 0,body:t?.body?JSON.stringify(t.body):void 0,cache:"no-store"}),c=await l.json().catch(()=>null);if(!l.ok){let e;throw Error((r=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null,i=l.status,e=r?.trim()??"",(0,a.Az)(e)?(0,a.IG)("update"):e||`Failed to update Conductor on this laptop (${i})`))}let u=c&&"object"==typeof c?c:null;if(!u)throw Error("Paired device returned an invalid update payload.");return u}function p(e){let t={deviceId:e.deviceId,deviceName:e.deviceName??null,pairedAt:new Date().toISOString()};try{window.localStorage.setItem(i,JSON.stringify(t))}catch{}}function v(){try{let e=window.localStorage.getItem(i);if(!e)return null;let t=JSON.parse(e);if(!(t&&"object"==typeof t&&"string"==typeof t.deviceId&&"string"==typeof t.pairedAt&&(null===t.deviceName||"string"==typeof t.deviceName)))return window.localStorage.removeItem(i),null;let r=Date.parse(t.pairedAt);if(!Number.isFinite(r)||Date.now()-r>18e5)return window.localStorage.removeItem(i),null;return t}catch{return null}}async function m(e,t){let r=(r,n)=>{t({deviceId:e.device_id,phase:r,message:n})};r("checking",`Checking for Conductor updates on ${e.device_name}.`);try{let t=await u(e.device_id,{force:!0});if(t.restarting)return void r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name}. This page will reconnect once the bridge runtime is back online.`);if("running"===t.jobStatus)r("updating",d(e,t));else{if(!t.updateAvailable||!t.enabled||!t.canAutoUpdate)return void r(t.enabled&&t.canAutoUpdate?"completed":"skipped",c(t));t=await u(e.device_id,{method:"POST"}),r("updating",d(e,t))}let n=Date.now()+3e5;for(;Date.now()<n&&"running"===t.jobStatus;){if(await new Promise(e=>{window.setTimeout(e,1500)}),(t=await u(e.device_id)).restarting)return void r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name}. This page will reconnect once the bridge runtime is back online.`);r("updating",d(e,t))}if("running"===t.jobStatus)return void r("updating",`The package update is still running on ${e.device_name}. Leave this page open and Conductor will finish applying it in the background.`);if("failed"===t.jobStatus)throw Error(t.jobMessage??t.error??`Automatic package update failed on ${e.device_name}.`);if(t.restartRequired){if(t.canRestart){t=await u(e.device_id,{method:"POST",body:{action:"restart"}}),r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name} to finish updating Conductor.`);return}r("completed",t.jobMessage??`The latest Conductor package is installed on ${e.device_name}. Restart that laptop to finish updating.`);return}r("completed",t.jobMessage??`${e.device_name} is now updated to Conductor ${t.latestVersion??"latest"}.`)}catch(t){r("failed",t instanceof Error?t.message:`Failed to auto-update ${e.device_name}.`)}}},46916:(e,t,r)=>{r.d(t,{cn:()=>i});var n=r(9917),a=r(2809);function i(...e){return(0,a.QP)((0,n.$)(e))}},61369:(e,t,r)=>{function n(e){return/^[A-Za-z0-9_./:=@%+-]+$/.test(e)?e:`'${e.replace(/'/g,"'\"'\"'")}'`}function a(e){return e.map(n).join(" ")}function i(e){return`'${e.replace(/'/g,"''")}'`}function s(e){return/^[A-Za-z0-9_./:=@%+\\-]+$/.test(e)?e:i(e)}function o(e,t="unix"){return"windows"===t?["& (Join-Path $HOME '.conductor\\bin\\conductor-bridge.exe')",...e.map(s)].join(" "):a(["conductor-bridge",...e])}function d(e){return(e?.trim().toLowerCase()??"").startsWith("windows")?"windows":"unix"}function l(e,t="unix"){return new URL("windows"===t?"/bridge/install.ps1":"/bridge/install.sh",e).toString()}function c(e){return`/bridge/connect?device=${encodeURIComponent(e)}#bridge-setup`}function u(e,t="unix"){return"windows"===t?`& ([scriptblock]::Create((Invoke-RestMethod -Uri ${i(e)})))`:`curl -fsSL ${n(e)} | sh`}function p(e,t,r,s="unix"){if("windows"===s){let n=[`& ([scriptblock]::Create((Invoke-RestMethod -Uri ${i(e)})))`,"-Connect","-DashboardUrl",i(t)];return r?.trim()&&n.push("-RelayUrl",i(r.trim())),n.join(" ")}let o=["sh","-s","--","--connect","--dashboard-url",t];return r?.trim()&&o.push("--relay-url",r.trim()),`curl -fsSL ${n(e)} | ${a(o)}`}function v(e,t,r="unix"){let n=["connect","--dashboard-url",e];return t?.trim()&&n.push("--relay-url",t.trim()),o(n,r)}function m(e,t,r="unix"){let n=["pair","--code",e?.trim()||"ABC123"],a=["daemon"];return t?.trim()&&(n.push("--relay-url",t.trim()),a.push("--relay-url",t.trim())),`${o(n,r)}
2
- ${o(a,r)}`}r.d(t,{$y:()=>p,G7:()=>u,Y8:()=>d,hI:()=>v,kw:()=>c,pj:()=>l,zd:()=>m})},67506:(e,t,r)=>{r.d(t,{y:()=>a});var n=r(63680);function a(){let e=function(e){let t=e?.trim();if(!t)return null;try{let e=new URL(t);if("http:"!==e.protocol&&"https:"!==e.protocol)return null;return e.toString()}catch{return null}}(n.env.CONDUCTOR_BRIDGE_RELAY_URL??n.env.NEXT_PUBLIC_CONDUCTOR_BRIDGE_RELAY_URL);return e||null}},76081:(e,t,r)=>{r.d(t,{$:()=>l});var n=r(54568),a=r(46916),i=r(78347),s=r(7620);let o={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},d={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},l=(0,s.forwardRef)(({variant:e="default",size:t="md",asChild:r,className:s,children:l,...c},u)=>{let p=r?i.DX:"button";return(0,n.jsx)(p,{ref:u,className:(0,a.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",o[e],d[t],s),...c,children:l})});l.displayName="Button"},77522:(e,t,r)=>{r.d(t,{C:()=>n,n:()=>a});let n=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function a(e){return"merged"===e.status||"archived"===e.status||"killed"===e.status||"errored"===e.status||"cleanup"===e.status||"done"===e.status||"terminated"===e.status||e.pr&&("merged"===e.pr.state||"closed"===e.pr.state)?"done":"mergeable"===e.status||"approved"===e.status||e.pr?.mergeability.mergeable?"merge":"waiting_input"===e.activity||"blocked"===e.activity||"needs_input"===e.status||"stuck"===e.status?"respond":"queued"===e.status?"pending":"exited"===e.activity?"respond":"ci_failed"===e.status||"changes_requested"===e.status||e.pr&&("failing"===e.pr.ciStatus||"changes_requested"===e.pr.reviewDecision||!e.pr.mergeability.noConflicts)?"review":"review_pending"===e.status||e.pr&&!e.pr.isDraft&&("pending"===e.pr.reviewDecision||"none"===e.pr.reviewDecision)?"pending":"working"}},83770:(e,t,r)=>{r.d(t,{Xt:()=>n});function n(e){let t=e?.trim();return"Bridge relay URL is not configured"===t||"RELAY_JWT_SECRET is required for bridge relay access"===t}},86181:(e,t,r)=>{r.d(t,{Jn:()=>a,k$:()=>i,wP:()=>s});let n='MesloLGM Nerd Font, MesloLGM NF, MesloLGS NF, MesloLGS Nerd Font, Hack Nerd Font, FiraCode Nerd Font, JetBrainsMono Nerd Font, CaskaydiaCove Nerd Font, Menlo, Monaco, "Courier New", SF Mono, SF Pro, monospace';function a(e){var t;return(t="number"==typeof e&&Number.isFinite(e)&&e>0?e:1280)<420?{fontFamily:"'SF Mono', Menlo, Monaco, monospace",fontSize:10,lineHeight:1.1}:t<560?{fontFamily:"'SF Mono', Menlo, Monaco, monospace",fontSize:11,lineHeight:1.15}:t<768?{fontFamily:"'SF Mono', Menlo, Monaco, monospace",fontSize:12,lineHeight:1.2}:t<1024?{fontFamily:n,fontSize:13,lineHeight:1.2}:{fontFamily:n,fontSize:14,lineHeight:1.2}}function i(){var e;return"function"==typeof window.matchMedia&&window.matchMedia("(pointer: coarse)").matches,"u"<typeof navigator||navigator.maxTouchPoints,e=window.innerWidth,window.innerHeight,e<1024}function s(e,t,r,n){let a=Number.isFinite(e)?Math.max(0,e):0,i=Number.isFinite(t)?Math.max(0,t):a,s=Number.isFinite(r)?Math.max(0,r):0,o=Number.isFinite(n)?Math.max(0,n):0,d=Math.max(0,a-(i+s));return{usableHeight:Math.round(Math.max(0,i-Math.max(0,o-s))),keyboardInset:Math.round(d),keyboardVisible:d>=80}}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9703],{10926:(e,t,r)=>{r.d(t,{Bp:()=>i,C0:()=>a,DW:()=>s,kV:()=>d});let n="bridge:";function a(e){let t=e?.trim();return t&&t.length>0?t:null}function i(e,t){return`${n}${e}:${t}`}function s(e){let t=e?.trim();if(!t||!t.startsWith(n))return null;let r=t.slice(n.length),i=r.indexOf(":");if(i<=0||i>=r.length-1)return null;let s=a(r.slice(0,i)),d=r.slice(i+1).trim();return s&&0!==d.length?{bridgeId:s,sessionId:d}:null}function d(e){let t=e?.trim()??"";return t?s(t)?.sessionId??t:""}},11984:(e,t,r)=>{function n(e){let t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("127.0.0.1:4749")||t.includes("older bridge build")||t.includes("one-time local bridge upgrade"))}function a(e){return`This laptop needs a one-time local bridge upgrade before ${function(e){switch(e){case"repair":return"Repair bridge";case"restart":return"Restart service";case"update":return"Update Conductor"}}(e)} can run from the dashboard.`}function i(e){let t=e?.trim()||"This laptop";return`${t} is still on an older bridge build, so Conductor cannot repair, restart, or update it remotely yet. Upgrade the bridge once on that laptop, then future fixes run from the dashboard.`}r.d(t,{Az:()=>n,IG:()=>a,_5:()=>i})},15115:(e,t,r)=>{function n(e,t){return"string"==typeof e&&e.trim().length>0?e.trim():t}function a(e){let t="string"==typeof e?e.trim():"";return t?` (build ${t})`:""}function i(e){return Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e).map(e=>{let t,r,a;return t=n(e.hostname,"unknown-host"),r=n(e.os,"unknown-os"),a=n(e.arch,"unknown-arch"),{device_id:n(e.device_id,t),device_name:n(e.device_name,t),hostname:t,os:r,arch:a,connected:!0===e.connected,last_status:e.last_status?{hostname:n(e.last_status.hostname,t),os:n(e.last_status.os,r),connected:!0===e.last_status.connected,version:"string"==typeof e.last_status.version&&e.last_status.version.trim().length>0?e.last_status.version.trim():null}:null}}):[]}r.d(t,{oH:()=>i,wj:()=>a})},15321:(e,t,r)=>{r.d(t,{i:()=>m});var n=r(54568),a=r(7620),i=r(65587),s=r.n(i),d=r(63322),o=r(59706),l=r(87242),c=r(76081),u=r(46916),v=r(11984),p=r(61369);function m({deviceId:e,deviceName:t,deviceOs:r,dashboardUrl:i,installScriptUrl:g,installPowerShellUrl:h,relayUrl:x,className:f}){let[b,w]=(0,a.useState)(!1),k=(0,a.useMemo)(()=>(0,p.Y8)(r),[r]),y="windows"===k?h:g,_=(0,a.useMemo)(()=>(0,p.$y)(y,i,x,k),[i,x,y,k]),j=(0,a.useMemo)(()=>(0,p.kw)(e),[e]);return(0,n.jsxs)("div",{className:(0,u.cn)("mt-3 rounded-[14px] border border-[color:color-mix(in_srgb,var(--vk-orange)_28%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)] px-3 py-3",f),children:[(0,n.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"One-time local repair"}),(0,n.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-normal)]",children:(0,v._5)(t)}),(0,n.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,n.jsxs)(c.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{navigator.clipboard?.writeText?(w(!1),navigator.clipboard.writeText(_).then(()=>{w(!0)}).catch(()=>{w(!1)})):w(!1)},children:[b?(0,n.jsx)(d.A,{className:"h-4 w-4"}):(0,n.jsx)(o.A,{className:"h-4 w-4"}),b?"Repair command copied":"Copy repair command"]}),(0,n.jsx)(c.$,{asChild:!0,variant:"outline",size:"sm",children:(0,n.jsxs)(s(),{href:j,children:[(0,n.jsx)(l.A,{className:"h-4 w-4"}),"Open repair steps"]})})]})]})}},26167:(e,t,r)=>{r.d(t,{E:()=>i,b:()=>a});var n=r(11984);async function a(e){let t=await s(e,"service-restart",{});return t?.message??"Bridge service restart scheduled. This laptop should reconnect once the bridge is back online."}async function i(e,t){let r=await s(e,"repair",{installScriptUrl:t});return r?.message??"Bridge reinstall requested. This laptop should reconnect shortly."}async function s(e,t,r){let a=await fetch(`/api/bridge/devices/${encodeURIComponent(e)}/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r),cache:"no-store"}),i=await a.json().catch(()=>null);if(!a.ok){var s,d;let e;throw Error((s=i?.error??i?.message??null,d=a.status,e=s?.trim()??"",(0,n.Az)(e)?(0,n.IG)("repair"===t?"repair":"restart"):e||`Failed to run ${t} on the bridge service (${d})`))}return i}},31404:(e,t,r)=>{r.d(t,{S:()=>a,y:()=>i});var n=r(10926);function a(e,t){let r=(0,n.C0)(t);if(!r)return e;let a=new URL(e,"http://127.0.0.1");return a.searchParams.set("bridgeId",r),`${a.pathname}${a.search}${a.hash}`}function i(e){let t=function(e){if(!e)return null;if(e instanceof URL)return e;if("string"==typeof e)try{return new URL(e,"http://127.0.0.1")}catch{return null}if("string"==typeof e.href)try{return new URL(e.href)}catch{}return null}(e);if(!t)return null;let r=(0,n.C0)(t.searchParams.get("bridge")??t.searchParams.get("bridgeId"));if(r)return r;let a=(0,n.DW)(t.searchParams.get("session"))?.bridgeId;if(a)return a;let i=t.pathname.match(/^\/sessions\/([^/]+)$/);if(!i)return null;try{return(0,n.DW)(decodeURIComponent(i[1]))?.bridgeId??null}catch{return null}}},39702:(e,t,r)=>{r.d(t,{J:()=>I});var n=r(54568),a=r(7620),i=r(40448),s=r(65587),d=r.n(s),o=r(79748),l=r(22061),c=r(34041),u=r(58299),v=r(87242),p=r(2099),m=r(60527),g=r(81167),h=r(15321),x=r(44522),f=r(11984),b=r(46916),w=r(26167),k=r(83770),y=r(61369),_=r(15115),j=r(67506);let N="/bridge/connect";function $({connected:e,className:t,title:r,suffix:a}){return(0,n.jsxs)("span",{className:(0,b.cn)("inline-flex items-center gap-2 rounded-full border px-2.5 py-1 text-[12px] font-medium",e?"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]":"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]",t),title:r,children:[(0,n.jsx)("span",{className:(0,b.cn)("h-2.5 w-2.5 rounded-full",e?"bg-[var(--vk-green)]":"bg-[var(--vk-red)]")}),(0,n.jsx)("span",{children:e?"Online":"Offline"}),a]})}function C({className:e}){let t=(0,o.useRouter)(),r=(0,o.usePathname)(),s=(0,o.useSearchParams)(),[I,R]=(0,a.useState)([]),[S,A]=(0,a.useState)(!0),[U,E]=(0,a.useState)(null),[T,L]=(0,a.useState)(null),[M,O]=(0,a.useState)({deviceId:null,phase:"idle",message:null}),[P,D]=(0,a.useState)({deviceId:null,kind:null,status:"idle",message:null}),[F,z]=(0,a.useState)(null),B=(0,a.useRef)(new Set),q=(0,j.y)(),W=!!q&&null===F,V=(0,a.useCallback)(async e=>{if(!W){e&&A(!1),R([]),E(null);return}e&&A(!0);try{let e=await fetch("/api/bridge/devices",{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok){if((0,k.Xt)(t?.error)){z(t?.error??null),R([]),E(null);return}throw Error(t?.error??`Failed to load bridge devices (${e.status})`)}R((0,_.oH)(t?.devices)),z(null),E(null)}catch(e){E(e instanceof Error?e.message:"Failed to load bridge devices.")}finally{A(!1)}},[W]);(0,a.useEffect)(()=>{if(!W){A(!1),R([]),E(null);return}let e=!1,t=null,r=async t=>{e||await V(t)};return r(!0),t=window.setInterval(()=>{r(!1)},15e3),()=>{e=!0,null!==t&&window.clearInterval(t)}},[W,V]),(0,a.useEffect)(()=>{let e=()=>{L((0,x.Tr)()?.deviceId??null)};return e(),window.addEventListener("focus",e),window.addEventListener("storage",e),()=>{window.removeEventListener("focus",e),window.removeEventListener("storage",e)}},[]),(0,a.useEffect)(()=>{r!==N&&t.prefetch(N)},[r,t]);let G=I.filter(e=>e.connected),J=s.get("bridge")?.trim()||null,Y=window.location.origin,H=J?I.find(e=>e.device_id===J)??null:null,X=!S&&0===G.length,Z=T?I.find(e=>e.device_id===T)??null:null,Q=X?H?.device_id?(0,y.kw)(H.device_id):Z?.device_id?(0,y.kw)(Z.device_id):I[0]?.device_id?(0,y.kw)(I[0].device_id):N:N,K=G.length>0,ee=W?U??(K?`${G.length} bridge${1===G.length?"":"s"} online`:I.length>0?"No paired bridges are online":"No paired bridges yet"):F??"Bridge relay URL is not configured";(0,a.useEffect)(()=>{let e=(Z?.connected?Z:null)??(H?.connected?H:null);!e||B.current.has(e.device_id)||(B.current.add(e.device_id),(0,x.jV)(e,O))},[Z,H]),(0,a.useEffect)(()=>{!Z||Z.connected||M.message||O({deviceId:Z.device_id,phase:"checking",message:`Waiting for ${Z.device_name} to reconnect so Conductor can finish its package update.`})},[M.message,Z]);let et=(0,a.useCallback)(async e=>{D({deviceId:e.device_id,kind:"restart",status:"running",message:`Restarting the bridge service on ${e.device_name}.`});try{let t=await (0,w.b)(e.device_id);D({deviceId:e.device_id,kind:"restart",status:"completed",message:`${t} Waiting for ${e.device_name} to reconnect.`}),[2e3,5e3,1e4,2e4,35e3].forEach(e=>{window.setTimeout(()=>{V(!1)},e)})}catch(t){D({deviceId:e.device_id,kind:"restart",status:"failed",message:t instanceof Error?t.message:`Failed to restart ${e.device_name}.`})}},[V]),er=(0,a.useCallback)(async e=>{D({deviceId:e.device_id,kind:"repair",status:"running",message:`Reinstalling the bridge service on ${e.device_name}.`});try{let t=(0,y.pj)(window.location.origin,(0,y.Y8)(e.os)),r=await (0,w.E)(e.device_id,t);D({deviceId:e.device_id,kind:"repair",status:"completed",message:r}),window.setTimeout(()=>{V(!1)},2e3)}catch(t){D({deviceId:e.device_id,kind:"repair",status:"failed",message:t instanceof Error?t.message:`Failed to repair ${e.device_name}.`})}},[V]),en=(0,a.useCallback)(async e=>{await (0,x.jV)(e,O),window.setTimeout(()=>{V(!1)},2e3)},[V]);return X?(0,n.jsx)(d(),{href:Q,prefetch:!0,className:"inline-flex",title:I.length>0?"Reconnect paired device":"Pair a device",children:(0,n.jsx)($,{connected:!1,className:e,title:I.length>0?"Reconnect paired device":"Pair a device",suffix:(0,n.jsx)(l.A,{className:"h-3.5 w-3.5"})})}):(0,n.jsxs)(i.bL,{children:[(0,n.jsx)(i.l9,{asChild:!0,children:(0,n.jsx)("button",{type:"button",className:"outline-none",children:(0,n.jsx)($,{connected:K,className:e,title:ee,suffix:(0,n.jsx)(c.A,{className:"h-3.5 w-3.5 text-current/70"})})})}),(0,n.jsx)(i.ZL,{children:(0,n.jsxs)(i.UC,{align:"end",sideOffset:8,className:"z-[90] w-[320px] rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 text-[var(--vk-text-normal)] shadow-[0_22px_48px_rgba(0,0,0,0.34)]",children:[(0,n.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,n.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.22em] text-[var(--vk-text-muted)]",children:"Conductor Bridge"}),(0,n.jsx)("div",{className:"mt-2 text-[13px] text-[var(--vk-text-normal)]",children:K?`${G.length} device${1===G.length?"":"s"} online`:S?"Loading device status":"No live bridge connection"}),(0,n.jsx)("div",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:"If a laptop is online but misbehaving, repair the bridge, update Conductor, or restart the service here."}),U?(0,n.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-red)]",children:U}):null,M.message?(0,n.jsxs)("div",{className:(0,b.cn)("mt-2 flex flex-wrap items-center gap-2 text-[12px] leading-5","failed"===M.phase?"text-[var(--vk-red)]":"skipped"===M.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,x.qv)(M.phase)}),(0,n.jsx)("span",{children:M.message})]}):null]}),(0,n.jsx)("div",{className:"mt-2 max-h-[280px] overflow-y-auto",children:I.length>0?I.map(e=>{let t=(0,x.xv)(M,e.device_id),r="running"===P.status&&P.deviceId===e.device_id,a=r&&"repair"===P.kind,i=r&&"restart"===P.kind,s=P.deviceId===e.device_id&&(0,f.Az)(P.message)||M.deviceId===e.device_id&&(0,f.Az)(M.message);return(0,n.jsx)("div",{className:"rounded-[14px] px-3 py-2.5 transition-colors hover:bg-[var(--vk-bg-hover)]",children:(0,n.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:e.device_name}),(0,n.jsxs)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:[e.hostname," \xb7 ",e.os,"/",e.arch,(0,_.wj)(e.last_status?.version)]}),(0,n.jsxs)("div",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Relay: ",e.last_status?.hostname??e.hostname,(0,_.wj)(e.last_status?.version)]}),M.message&&M.deviceId===e.device_id?(0,n.jsxs)("div",{className:(0,b.cn)("mt-1 flex flex-wrap items-center gap-2 text-[11px] leading-5","failed"===M.phase?"text-[var(--vk-red)]":"skipped"===M.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,x.qv)(M.phase)}),(0,n.jsx)("span",{children:M.message})]}):null,P.message&&P.deviceId===e.device_id?(0,n.jsx)("div",{className:(0,b.cn)("mt-1 text-[11px] leading-5","failed"===P.status?"text-[var(--vk-red)]":"completed"===P.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:P.message}):null,s&&Y?(0,n.jsx)(h.i,{deviceId:e.device_id,deviceName:e.device_name,deviceOs:e.os,dashboardUrl:Y,installScriptUrl:(0,y.pj)(Y),installPowerShellUrl:(0,y.pj)(Y,"windows"),relayUrl:q}):null,e.connected?(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:r||t,onClick:()=>{er(e)},children:[a?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(v.A,{className:"h-3.5 w-3.5"}),"Repair bridge"]}),(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:t||r,onClick:()=>{en(e)},children:[t?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(p.A,{className:"h-3.5 w-3.5"}),t?"Updating...":"Update Conductor"]}),(0,n.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:r||t,onClick:()=>{et(e)},children:[i?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Restart service"]})]}):null]}),(0,n.jsx)($,{connected:!0===e.connected})]})},e.device_id)}):(0,n.jsx)("div",{className:"rounded-[14px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[12px] text-[var(--vk-text-muted)]",children:S?"Loading paired devices...":"Pair a laptop to see bridge status here."})}),(0,n.jsx)(i.wv,{className:"my-2 h-px bg-[var(--vk-border)]"}),(0,n.jsx)(i.q7,{asChild:!0,children:(0,n.jsxs)(d(),{href:N,prefetch:!0,className:"flex items-center justify-between rounded-[12px] px-3 py-2 text-[13px] font-medium text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,n.jsx)("span",{children:"Open paired devices"}),(0,n.jsx)(g.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"})]})})]})})]})}function I({connected:e,className:t,title:r}={}){return"boolean"==typeof e?(0,n.jsx)($,{connected:e,className:t,title:r}):(0,n.jsx)(C,{className:t})}},44522:(e,t,r)=>{r.d(t,{N8:()=>c,Tr:()=>p,jV:()=>m,m7:()=>v,qv:()=>s,xv:()=>d});var n=r(31404),a=r(11984);let i="conductor-bridge-recent-pairing";function s(e){switch(e){case"checking":return"Checking";case"updating":return"Updating";case"restarting":return"Restarting";case"completed":return"Completed";case"skipped":return"Skipped";case"failed":return"Failed";default:return"Idle"}}function d(e,t){return e.deviceId===t&&("checking"===e.phase||"updating"===e.phase||"restarting"===e.phase)}function o(e,t){return t.jobMessage??`Installing Conductor ${t.latestVersion??"latest"} on ${e.device_name}.`}function l(e){let t=e.currentVersion?.trim();return t?` (build ${t})`:""}function c(e){if(!e.enabled)switch(e.reason){case"source-checkout":return"This laptop is running from a source checkout, so there is no published package to auto-update.";case"missing-cli-metadata":return"This install could not determine its update metadata, so automatic package updates are unavailable.";default:return"Automatic package updates are unavailable for this laptop."}return e.updateAvailable?e.canAutoUpdate?`This laptop is already running the latest Conductor release${l(e)}.`:"npx"===e.installMode?"This laptop was launched via npx, so the next launch will pick up the latest package automatically.":e.updateCommand?`A newer Conductor release is available, but this install still needs a manual update: ${e.updateCommand}`:"A newer Conductor release is available, but this install cannot update itself automatically.":`This laptop is already running the latest Conductor release${l(e)}.`}async function u(e,t){var r,i;let s=t?.method??"GET",d=`/api/bridge/devices/${encodeURIComponent(e)}/app-update`,o=new URL((0,n.S)(d,e),window.location.origin);t?.force&&o.searchParams.set("force","1");let l=await fetch(o.toString(),{method:s,headers:t?.body?{"Content-Type":"application/json"}:void 0,body:t?.body?JSON.stringify(t.body):void 0,cache:"no-store"}),c=await l.json().catch(()=>null);if(!l.ok){let e;throw Error((r=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null,i=l.status,e=r?.trim()??"",(0,a.Az)(e)?(0,a.IG)("update"):e||`Failed to update Conductor on this laptop (${i})`))}let u=c&&"object"==typeof c?c:null;if(!u)throw Error("Paired device returned an invalid update payload.");return u}function v(e){let t={deviceId:e.deviceId,deviceName:e.deviceName??null,pairedAt:new Date().toISOString()};try{window.localStorage.setItem(i,JSON.stringify(t))}catch{}}function p(){try{let e=window.localStorage.getItem(i);if(!e)return null;let t=JSON.parse(e);if(!(t&&"object"==typeof t&&"string"==typeof t.deviceId&&"string"==typeof t.pairedAt&&(null===t.deviceName||"string"==typeof t.deviceName)))return window.localStorage.removeItem(i),null;let r=Date.parse(t.pairedAt);if(!Number.isFinite(r)||Date.now()-r>18e5)return window.localStorage.removeItem(i),null;return t}catch{return null}}async function m(e,t){let r=(r,n)=>{t({deviceId:e.device_id,phase:r,message:n})};r("checking",`Checking for Conductor updates on ${e.device_name}.`);try{let t=await u(e.device_id,{force:!0});if(t.restarting)return void r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name}. This page will reconnect once the bridge runtime is back online.`);if("running"===t.jobStatus)r("updating",o(e,t));else{if(!t.updateAvailable||!t.enabled||!t.canAutoUpdate)return void r(t.enabled&&t.canAutoUpdate?"completed":"skipped",c(t));t=await u(e.device_id,{method:"POST"}),r("updating",o(e,t))}let n=Date.now()+3e5;for(;Date.now()<n&&"running"===t.jobStatus;){if(await new Promise(e=>{window.setTimeout(e,1500)}),(t=await u(e.device_id)).restarting)return void r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name}. This page will reconnect once the bridge runtime is back online.`);r("updating",o(e,t))}if("running"===t.jobStatus)return void r("updating",`The package update is still running on ${e.device_name}. Leave this page open and Conductor will finish applying it in the background.`);if("failed"===t.jobStatus)throw Error(t.jobMessage??t.error??`Automatic package update failed on ${e.device_name}.`);if(t.restartRequired){if(t.canRestart){t=await u(e.device_id,{method:"POST",body:{action:"restart"}}),r("restarting",t.jobMessage??`Restart scheduled on ${e.device_name} to finish updating Conductor.`);return}r("completed",t.jobMessage??`The latest Conductor package is installed on ${e.device_name}. Restart that laptop to finish updating.`);return}r("completed",t.jobMessage??`${e.device_name} is now updated to Conductor ${t.latestVersion??"latest"}.`)}catch(t){r("failed",t instanceof Error?t.message:`Failed to auto-update ${e.device_name}.`)}}},46916:(e,t,r)=>{r.d(t,{cn:()=>i});var n=r(9917),a=r(2809);function i(...e){return(0,a.QP)((0,n.$)(e))}},61369:(e,t,r)=>{function n(e){return/^[A-Za-z0-9_./:=@%+-]+$/.test(e)?e:`'${e.replace(/'/g,"'\"'\"'")}'`}function a(e){return e.map(n).join(" ")}function i(e){return`'${e.replace(/'/g,"''")}'`}function s(e){return/^[A-Za-z0-9_./:=@%+\\-]+$/.test(e)?e:i(e)}function d(e,t="unix"){return"windows"===t?["& (Join-Path $HOME '.conductor\\bin\\conductor-bridge.exe')",...e.map(s)].join(" "):a(["conductor-bridge",...e])}function o(e){return(e?.trim().toLowerCase()??"").startsWith("windows")?"windows":"unix"}function l(e,t="unix"){return new URL("windows"===t?"/bridge/install.ps1":"/bridge/install.sh",e).toString()}function c(e){return`/bridge/connect?device=${encodeURIComponent(e)}#bridge-setup`}function u(e,t="unix"){return"windows"===t?`& ([scriptblock]::Create((Invoke-RestMethod -Uri ${i(e)})))`:`curl -fsSL ${n(e)} | sh`}function v(e,t,r,s="unix"){if("windows"===s){let n=[`& ([scriptblock]::Create((Invoke-RestMethod -Uri ${i(e)})))`,"-Connect","-DashboardUrl",i(t)];return r?.trim()&&n.push("-RelayUrl",i(r.trim())),n.join(" ")}let d=["sh","-s","--","--connect","--dashboard-url",t];return r?.trim()&&d.push("--relay-url",r.trim()),`curl -fsSL ${n(e)} | ${a(d)}`}function p(e,t,r="unix"){let n=["connect","--dashboard-url",e];return t?.trim()&&n.push("--relay-url",t.trim()),d(n,r)}function m(e,t,r="unix"){let n=["pair","--code",e?.trim()||"ABC123"],a=["daemon"];return t?.trim()&&(n.push("--relay-url",t.trim()),a.push("--relay-url",t.trim())),`${d(n,r)}
2
+ ${d(a,r)}`}r.d(t,{$y:()=>v,G7:()=>u,Y8:()=>o,hI:()=>p,kw:()=>c,pj:()=>l,zd:()=>m})},67506:(e,t,r)=>{r.d(t,{y:()=>a});var n=r(63680);function a(){let e=function(e){let t=e?.trim();if(!t)return null;try{let e=new URL(t);if("http:"!==e.protocol&&"https:"!==e.protocol)return null;return e.toString()}catch{return null}}(n.env.CONDUCTOR_BRIDGE_RELAY_URL??n.env.NEXT_PUBLIC_CONDUCTOR_BRIDGE_RELAY_URL);return e||null}},76081:(e,t,r)=>{r.d(t,{$:()=>l});var n=r(54568),a=r(46916),i=r(78347),s=r(7620);let d={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},o={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},l=(0,s.forwardRef)(({variant:e="default",size:t="md",asChild:r,className:s,children:l,...c},u)=>{let v=r?i.DX:"button";return(0,n.jsx)(v,{ref:u,className:(0,a.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",d[e],o[t],s),...c,children:l})});l.displayName="Button"},77522:(e,t,r)=>{r.d(t,{C:()=>n,n:()=>a});let n=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function a(e){return"merged"===e.status||"archived"===e.status||"killed"===e.status||"errored"===e.status||"cleanup"===e.status||"done"===e.status||"terminated"===e.status||e.pr&&("merged"===e.pr.state||"closed"===e.pr.state)?"done":"mergeable"===e.status||"approved"===e.status||e.pr?.mergeability.mergeable?"merge":"waiting_input"===e.activity||"blocked"===e.activity||"needs_input"===e.status||"stuck"===e.status?"respond":"queued"===e.status?"pending":"exited"===e.activity?"respond":"ci_failed"===e.status||"changes_requested"===e.status||e.pr&&("failing"===e.pr.ciStatus||"changes_requested"===e.pr.reviewDecision||!e.pr.mergeability.noConflicts)?"review":"review_pending"===e.status||e.pr&&!e.pr.isDraft&&("pending"===e.pr.reviewDecision||"none"===e.pr.reviewDecision)?"pending":"working"}},83770:(e,t,r)=>{r.d(t,{Xt:()=>n});function n(e){let t=e?.trim();return"Bridge relay URL is not configured"===t||"RELAY_JWT_SECRET is required for bridge relay access"===t}},86181:(e,t,r)=>{function n(){var e;return"function"==typeof window.matchMedia&&window.matchMedia("(pointer: coarse)").matches,"u"<typeof navigator||navigator.maxTouchPoints,e=window.innerWidth,window.innerHeight,e<1024}function a(e,t,r,n){let a=Number.isFinite(e)?Math.max(0,e):0,i=Number.isFinite(t)?Math.max(0,t):a,s=Number.isFinite(r)?Math.max(0,r):0,d=Number.isFinite(n)?Math.max(0,n):0,o=Math.max(0,a-(i+s));return{usableHeight:Math.round(Math.max(0,i-Math.max(0,d-s))),keyboardInset:Math.round(o),keyboardVisible:o>=80}}r.d(t,{k$:()=>n,wP:()=>a})}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);