conductor-oss 0.30.0 → 0.30.2

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 (475) hide show
  1. package/dist/commands/start.d.ts +1 -0
  2. package/dist/commands/start.d.ts.map +1 -1
  3. package/dist/commands/start.js +11 -0
  4. package/dist/commands/start.js.map +1 -1
  5. package/package.json +5 -5
  6. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  7. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +5 -4
  8. package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
  9. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  10. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +10 -10
  11. package/web/.next/standalone/packages/web/.next/routes-manifest.json +8 -0
  12. package/web/.next/standalone/packages/web/.next/server/app/__clerk/[[...path]]/route.js +1 -1
  13. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page.js +3 -3
  14. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  15. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  16. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  20. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +2 -2
  24. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/api/auth/profile/route.js +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/[bridgeId]/route.js +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/route.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/app-update/route.js +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/repair/route.js +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/route.js +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/service-restart/route.js +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/claims/complete/route.js +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/code/route.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/route.js +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/api/bridges/route.js +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js +1 -1
  46. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js +1 -1
  48. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +1 -1
  58. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js +1 -1
  59. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js +1 -1
  61. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js +1 -1
  62. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js +1 -1
  63. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js +1 -1
  64. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js +1 -1
  65. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route.js +1 -1
  66. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js +1 -1
  67. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +1 -1
  68. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js +1 -1
  70. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js +1 -1
  72. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js +1 -1
  73. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js +1 -1
  74. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/relay/route.js +1 -1
  76. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js +2 -2
  78. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js +2 -2
  79. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js +1 -0
  80. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js.nft.json +1 -0
  81. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route_client-reference-manifest.js +1 -0
  82. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js +1 -1
  83. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +1 -1
  84. package/web/.next/standalone/packages/web/.next/server/app/api/skills/activate/route.js +1 -1
  85. package/web/.next/standalone/packages/web/.next/server/app/api/skills/catalog/route.js +1 -1
  86. package/web/.next/standalone/packages/web/.next/server/app/api/skills/deactivate/route.js +1 -1
  87. package/web/.next/standalone/packages/web/.next/server/app/api/skills/install/route.js +1 -1
  88. package/web/.next/standalone/packages/web/.next/server/app/api/skills/installed/route.js +1 -1
  89. package/web/.next/standalone/packages/web/.next/server/app/api/skills/session-active/route.js +1 -1
  90. package/web/.next/standalone/packages/web/.next/server/app/api/skills/uninstall/route.js +1 -1
  91. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +1 -1
  92. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js +1 -1
  93. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +1 -1
  94. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +2 -2
  95. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  96. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  97. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route.js +2 -2
  98. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.sh/route.js +2 -2
  99. package/web/.next/standalone/packages/web/.next/server/app/icon.svg/route.js +1 -1
  100. package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
  101. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  102. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  103. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
  104. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  105. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  106. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +2 -2
  107. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  108. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  109. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +2 -2
  110. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  111. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  112. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +2 -2
  113. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  114. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  115. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +2 -2
  116. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  117. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  118. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +2 -2
  119. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  120. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  121. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +5 -4
  122. package/web/.next/standalone/packages/web/.next/server/chunks/1121.js +1 -1
  123. package/web/.next/standalone/packages/web/.next/server/chunks/3990.js +1 -1
  124. package/web/.next/standalone/packages/web/.next/server/chunks/5164.js +3 -3
  125. package/web/.next/standalone/packages/web/.next/server/chunks/6054.js +1 -1
  126. package/web/.next/standalone/packages/web/.next/server/chunks/6229.js +1 -0
  127. package/web/.next/standalone/packages/web/.next/server/chunks/6312.js +1 -0
  128. package/web/.next/standalone/packages/web/.next/server/chunks/6489.js +1 -1
  129. package/web/.next/standalone/packages/web/.next/server/chunks/7023.js +1 -1
  130. package/web/.next/standalone/packages/web/.next/server/chunks/7909.js +1 -1
  131. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  132. package/web/.next/standalone/packages/web/.next/server/chunks/9517.js +1 -0
  133. package/web/.next/standalone/packages/web/.next/server/functions-config-manifest.json +1 -0
  134. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  135. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  136. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  137. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  138. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  139. package/web/.next/standalone/packages/web/.next/static/chunks/{1265.da1b33cb88d6d0a6.js → 1265.eb0836b68e2c5068.js} +1 -1
  140. package/web/.next/standalone/packages/web/.next/static/chunks/{2228.810adbeee03b4a23.js → 2228.f9129de25c8289ec.js} +1 -1
  141. package/web/.next/standalone/packages/web/.next/static/chunks/2799.d9ce5c7fa7af72b6.js +1 -0
  142. package/web/.next/{static/chunks/5350.aa94c6b8388dca53.js → standalone/packages/web/.next/static/chunks/2969.7ed62af605513fc5.js} +1 -1
  143. package/web/.next/standalone/packages/web/.next/static/chunks/4443.a7231192bcabcb39.js +1 -0
  144. package/web/.next/{static/chunks/4997-ccba7da009e8de44.js → standalone/packages/web/.next/static/chunks/4997-7eada56398f3eacc.js} +1 -1
  145. package/web/.next/{static/chunks/7220-ca36f1848fc14d44.js → standalone/packages/web/.next/static/chunks/7220-6f03daec280b1310.js} +1 -1
  146. package/web/.next/standalone/packages/web/.next/static/chunks/8659.44db5b2c3161acd3.js +1 -0
  147. package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-b225626133a6b5f4.js +1 -0
  148. package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-b225626133a6b5f4.js +1 -0
  149. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-b225626133a6b5f4.js +1 -0
  150. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-b225626133a6b5f4.js +1 -0
  151. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-b225626133a6b5f4.js +1 -0
  152. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-b225626133a6b5f4.js +1 -0
  153. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-b225626133a6b5f4.js +1 -0
  154. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-b225626133a6b5f4.js +1 -0
  155. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-b225626133a6b5f4.js +1 -0
  156. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-b225626133a6b5f4.js +1 -0
  157. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-b225626133a6b5f4.js +1 -0
  158. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-b225626133a6b5f4.js +1 -0
  159. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-b225626133a6b5f4.js +1 -0
  160. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-b225626133a6b5f4.js +1 -0
  161. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-b225626133a6b5f4.js +1 -0
  162. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-b225626133a6b5f4.js +1 -0
  163. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-b225626133a6b5f4.js +1 -0
  164. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-b225626133a6b5f4.js +1 -0
  165. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-b225626133a6b5f4.js +1 -0
  166. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-b225626133a6b5f4.js +1 -0
  167. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-b225626133a6b5f4.js +1 -0
  168. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-b225626133a6b5f4.js +1 -0
  169. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-b225626133a6b5f4.js +1 -0
  170. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-b225626133a6b5f4.js +1 -0
  171. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-b225626133a6b5f4.js +1 -0
  172. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-b225626133a6b5f4.js +1 -0
  173. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-b225626133a6b5f4.js +1 -0
  174. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-b225626133a6b5f4.js +1 -0
  175. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-b225626133a6b5f4.js +1 -0
  176. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-b225626133a6b5f4.js +1 -0
  177. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-b225626133a6b5f4.js +1 -0
  178. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-b225626133a6b5f4.js +1 -0
  179. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-b225626133a6b5f4.js +1 -0
  180. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-b225626133a6b5f4.js +1 -0
  181. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-b225626133a6b5f4.js +1 -0
  182. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-b225626133a6b5f4.js +1 -0
  183. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-b225626133a6b5f4.js +1 -0
  184. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-b225626133a6b5f4.js +1 -0
  185. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/feed/route-b225626133a6b5f4.js +1 -0
  186. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/feedback/route-b225626133a6b5f4.js +1 -0
  187. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-b225626133a6b5f4.js +1 -0
  188. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/interrupt/route-b225626133a6b5f4.js +1 -0
  189. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-b225626133a6b5f4.js +1 -0
  190. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-b225626133a6b5f4.js +1 -0
  191. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-b225626133a6b5f4.js +1 -0
  192. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-b225626133a6b5f4.js +1 -0
  193. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-b225626133a6b5f4.js +1 -0
  194. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-b225626133a6b5f4.js +1 -0
  195. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-b225626133a6b5f4.js +1 -0
  196. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-b225626133a6b5f4.js +1 -0
  197. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-b225626133a6b5f4.js +1 -0
  198. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-b225626133a6b5f4.js +1 -0
  199. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-b225626133a6b5f4.js +1 -0
  200. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-b225626133a6b5f4.js +1 -0
  201. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-b225626133a6b5f4.js +1 -0
  202. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-b225626133a6b5f4.js +1 -0
  203. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-b225626133a6b5f4.js +1 -0
  204. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-b225626133a6b5f4.js +1 -0
  205. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-b225626133a6b5f4.js +1 -0
  206. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-b225626133a6b5f4.js +1 -0
  207. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-b225626133a6b5f4.js +1 -0
  208. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-b225626133a6b5f4.js +1 -0
  209. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-b225626133a6b5f4.js +1 -0
  210. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-b225626133a6b5f4.js +1 -0
  211. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-b225626133a6b5f4.js +1 -0
  212. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-b225626133a6b5f4.js +1 -0
  213. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-b225626133a6b5f4.js +1 -0
  214. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-b225626133a6b5f4.js +1 -0
  215. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-b225626133a6b5f4.js +1 -0
  216. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-b225626133a6b5f4.js +1 -0
  217. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-cce84419ee9eeeca.js +1 -0
  218. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-b225626133a6b5f4.js +1 -0
  219. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-b225626133a6b5f4.js +1 -0
  220. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-b225626133a6b5f4.js +1 -0
  221. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-b225626133a6b5f4.js +1 -0
  222. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b225626133a6b5f4.js +1 -0
  223. package/web/.next/standalone/packages/web/.next/static/chunks/{webpack-89825eaca5533c07.js → webpack-65247d8c6649582a.js} +1 -1
  224. package/web/.next/standalone/packages/web/.next/static/css/fc4c317840df6858.css +3 -0
  225. package/web/.next/static/chunks/{1265.da1b33cb88d6d0a6.js → 1265.eb0836b68e2c5068.js} +1 -1
  226. package/web/.next/static/chunks/{2228.810adbeee03b4a23.js → 2228.f9129de25c8289ec.js} +1 -1
  227. package/web/.next/static/chunks/2799.d9ce5c7fa7af72b6.js +1 -0
  228. package/web/.next/{standalone/packages/web/.next/static/chunks/5350.aa94c6b8388dca53.js → static/chunks/2969.7ed62af605513fc5.js} +1 -1
  229. package/web/.next/static/chunks/4443.a7231192bcabcb39.js +1 -0
  230. package/web/.next/{standalone/packages/web/.next/static/chunks/4997-ccba7da009e8de44.js → static/chunks/4997-7eada56398f3eacc.js} +1 -1
  231. package/web/.next/{standalone/packages/web/.next/static/chunks/7220-ca36f1848fc14d44.js → static/chunks/7220-6f03daec280b1310.js} +1 -1
  232. package/web/.next/static/chunks/8659.44db5b2c3161acd3.js +1 -0
  233. package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-b225626133a6b5f4.js +1 -0
  234. package/web/.next/static/chunks/app/_global-error/page-b225626133a6b5f4.js +1 -0
  235. package/web/.next/static/chunks/app/api/access/route-b225626133a6b5f4.js +1 -0
  236. package/web/.next/static/chunks/app/api/agents/route-b225626133a6b5f4.js +1 -0
  237. package/web/.next/static/chunks/app/api/app-update/route-b225626133a6b5f4.js +1 -0
  238. package/web/.next/static/chunks/app/api/attachments/route-b225626133a6b5f4.js +1 -0
  239. package/web/.next/static/chunks/app/api/auth/profile/route-b225626133a6b5f4.js +1 -0
  240. package/web/.next/static/chunks/app/api/boards/comments/route-b225626133a6b5f4.js +1 -0
  241. package/web/.next/static/chunks/app/api/boards/route-b225626133a6b5f4.js +1 -0
  242. package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-b225626133a6b5f4.js +1 -0
  243. package/web/.next/static/chunks/app/api/bridge/bridges/route-b225626133a6b5f4.js +1 -0
  244. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-b225626133a6b5f4.js +1 -0
  245. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-b225626133a6b5f4.js +1 -0
  246. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-b225626133a6b5f4.js +1 -0
  247. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-b225626133a6b5f4.js +1 -0
  248. package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-b225626133a6b5f4.js +1 -0
  249. package/web/.next/static/chunks/app/api/bridge/devices/code/route-b225626133a6b5f4.js +1 -0
  250. package/web/.next/static/chunks/app/api/bridge/devices/route-b225626133a6b5f4.js +1 -0
  251. package/web/.next/static/chunks/app/api/bridges/route-b225626133a6b5f4.js +1 -0
  252. package/web/.next/static/chunks/app/api/config/route-b225626133a6b5f4.js +1 -0
  253. package/web/.next/static/chunks/app/api/context-files/open/route-b225626133a6b5f4.js +1 -0
  254. package/web/.next/static/chunks/app/api/context-files/route-b225626133a6b5f4.js +1 -0
  255. package/web/.next/static/chunks/app/api/events/route-b225626133a6b5f4.js +1 -0
  256. package/web/.next/static/chunks/app/api/executor/health/route-b225626133a6b5f4.js +1 -0
  257. package/web/.next/static/chunks/app/api/filesystem/directory/route-b225626133a6b5f4.js +1 -0
  258. package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-b225626133a6b5f4.js +1 -0
  259. package/web/.next/static/chunks/app/api/github/repos/route-b225626133a6b5f4.js +1 -0
  260. package/web/.next/static/chunks/app/api/github/webhook/route-b225626133a6b5f4.js +1 -0
  261. package/web/.next/static/chunks/app/api/health/boards/route-b225626133a6b5f4.js +1 -0
  262. package/web/.next/static/chunks/app/api/health/sessions/route-b225626133a6b5f4.js +1 -0
  263. package/web/.next/static/chunks/app/api/notifications/route-b225626133a6b5f4.js +1 -0
  264. package/web/.next/static/chunks/app/api/preferences/route-b225626133a6b5f4.js +1 -0
  265. package/web/.next/static/chunks/app/api/repositories/[id]/route-b225626133a6b5f4.js +1 -0
  266. package/web/.next/static/chunks/app/api/repositories/route-b225626133a6b5f4.js +1 -0
  267. package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-b225626133a6b5f4.js +1 -0
  268. package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-b225626133a6b5f4.js +1 -0
  269. package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-b225626133a6b5f4.js +1 -0
  270. package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-b225626133a6b5f4.js +1 -0
  271. package/web/.next/static/chunks/app/api/sessions/[id]/feed/route-b225626133a6b5f4.js +1 -0
  272. package/web/.next/static/chunks/app/api/sessions/[id]/feedback/route-b225626133a6b5f4.js +1 -0
  273. package/web/.next/static/chunks/app/api/sessions/[id]/files/route-b225626133a6b5f4.js +1 -0
  274. package/web/.next/static/chunks/app/api/sessions/[id]/interrupt/route-b225626133a6b5f4.js +1 -0
  275. package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-b225626133a6b5f4.js +1 -0
  276. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-b225626133a6b5f4.js +1 -0
  277. package/web/.next/static/chunks/app/api/sessions/[id]/output/route-b225626133a6b5f4.js +1 -0
  278. package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-b225626133a6b5f4.js +1 -0
  279. package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-b225626133a6b5f4.js +1 -0
  280. package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-b225626133a6b5f4.js +1 -0
  281. package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-b225626133a6b5f4.js +1 -0
  282. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-b225626133a6b5f4.js +1 -0
  283. package/web/.next/static/chunks/app/api/sessions/[id]/route-b225626133a6b5f4.js +1 -0
  284. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-b225626133a6b5f4.js +1 -0
  285. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-b225626133a6b5f4.js +1 -0
  286. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-b225626133a6b5f4.js +1 -0
  287. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-b225626133a6b5f4.js +1 -0
  288. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-b225626133a6b5f4.js +1 -0
  289. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-b225626133a6b5f4.js +1 -0
  290. package/web/.next/static/chunks/app/api/sessions/route-b225626133a6b5f4.js +1 -0
  291. package/web/.next/static/chunks/app/api/skills/activate/route-b225626133a6b5f4.js +1 -0
  292. package/web/.next/static/chunks/app/api/skills/catalog/route-b225626133a6b5f4.js +1 -0
  293. package/web/.next/static/chunks/app/api/skills/deactivate/route-b225626133a6b5f4.js +1 -0
  294. package/web/.next/static/chunks/app/api/skills/install/route-b225626133a6b5f4.js +1 -0
  295. package/web/.next/static/chunks/app/api/skills/installed/route-b225626133a6b5f4.js +1 -0
  296. package/web/.next/static/chunks/app/api/skills/session-active/route-b225626133a6b5f4.js +1 -0
  297. package/web/.next/static/chunks/app/api/skills/uninstall/route-b225626133a6b5f4.js +1 -0
  298. package/web/.next/static/chunks/app/api/spawn/route-b225626133a6b5f4.js +1 -0
  299. package/web/.next/static/chunks/app/api/workspaces/branches/route-b225626133a6b5f4.js +1 -0
  300. package/web/.next/static/chunks/app/api/workspaces/route-b225626133a6b5f4.js +1 -0
  301. package/web/.next/static/chunks/app/bridge/install.ps1/route-b225626133a6b5f4.js +1 -0
  302. package/web/.next/static/chunks/app/bridge/install.sh/route-b225626133a6b5f4.js +1 -0
  303. package/web/.next/static/chunks/app/layout-cce84419ee9eeeca.js +1 -0
  304. package/web/.next/static/chunks/app/sign-in/hosted/page-b225626133a6b5f4.js +1 -0
  305. package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-b225626133a6b5f4.js +1 -0
  306. package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-b225626133a6b5f4.js +1 -0
  307. package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-b225626133a6b5f4.js +1 -0
  308. package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b225626133a6b5f4.js +1 -0
  309. package/web/.next/static/chunks/{webpack-89825eaca5533c07.js → webpack-65247d8c6649582a.js} +1 -1
  310. package/web/.next/static/css/fc4c317840df6858.css +3 -0
  311. package/web/.next/standalone/packages/web/.next/server/chunks/4272.js +0 -1
  312. package/web/.next/standalone/packages/web/.next/server/chunks/8308.js +0 -1
  313. package/web/.next/standalone/packages/web/.next/server/chunks/9039.js +0 -1
  314. package/web/.next/standalone/packages/web/.next/static/chunks/3007.7e32b298c93a3914.js +0 -1
  315. package/web/.next/standalone/packages/web/.next/static/chunks/4089.108861a1fa8ed692.js +0 -1
  316. package/web/.next/standalone/packages/web/.next/static/chunks/4443.68bc768731cc2566.js +0 -1
  317. package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-aac202c77eb40981.js +0 -1
  318. package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-aac202c77eb40981.js +0 -1
  319. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-aac202c77eb40981.js +0 -1
  320. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-aac202c77eb40981.js +0 -1
  321. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-aac202c77eb40981.js +0 -1
  322. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-aac202c77eb40981.js +0 -1
  323. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-aac202c77eb40981.js +0 -1
  324. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-aac202c77eb40981.js +0 -1
  325. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-aac202c77eb40981.js +0 -1
  326. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-aac202c77eb40981.js +0 -1
  327. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-aac202c77eb40981.js +0 -1
  328. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-aac202c77eb40981.js +0 -1
  329. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-aac202c77eb40981.js +0 -1
  330. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-aac202c77eb40981.js +0 -1
  331. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-aac202c77eb40981.js +0 -1
  332. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-aac202c77eb40981.js +0 -1
  333. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-aac202c77eb40981.js +0 -1
  334. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-aac202c77eb40981.js +0 -1
  335. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-aac202c77eb40981.js +0 -1
  336. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-aac202c77eb40981.js +0 -1
  337. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-aac202c77eb40981.js +0 -1
  338. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-aac202c77eb40981.js +0 -1
  339. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-aac202c77eb40981.js +0 -1
  340. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-aac202c77eb40981.js +0 -1
  341. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-aac202c77eb40981.js +0 -1
  342. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-aac202c77eb40981.js +0 -1
  343. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-aac202c77eb40981.js +0 -1
  344. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-aac202c77eb40981.js +0 -1
  345. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-aac202c77eb40981.js +0 -1
  346. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-aac202c77eb40981.js +0 -1
  347. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-aac202c77eb40981.js +0 -1
  348. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-aac202c77eb40981.js +0 -1
  349. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-aac202c77eb40981.js +0 -1
  350. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-aac202c77eb40981.js +0 -1
  351. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-aac202c77eb40981.js +0 -1
  352. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-aac202c77eb40981.js +0 -1
  353. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-aac202c77eb40981.js +0 -1
  354. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-aac202c77eb40981.js +0 -1
  355. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/feed/route-aac202c77eb40981.js +0 -1
  356. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/feedback/route-aac202c77eb40981.js +0 -1
  357. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-aac202c77eb40981.js +0 -1
  358. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/interrupt/route-aac202c77eb40981.js +0 -1
  359. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-aac202c77eb40981.js +0 -1
  360. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-aac202c77eb40981.js +0 -1
  361. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-aac202c77eb40981.js +0 -1
  362. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-aac202c77eb40981.js +0 -1
  363. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-aac202c77eb40981.js +0 -1
  364. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-aac202c77eb40981.js +0 -1
  365. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-aac202c77eb40981.js +0 -1
  366. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-aac202c77eb40981.js +0 -1
  367. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-aac202c77eb40981.js +0 -1
  368. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-aac202c77eb40981.js +0 -1
  369. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-aac202c77eb40981.js +0 -1
  370. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-aac202c77eb40981.js +0 -1
  371. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-aac202c77eb40981.js +0 -1
  372. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-aac202c77eb40981.js +0 -1
  373. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-aac202c77eb40981.js +0 -1
  374. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-aac202c77eb40981.js +0 -1
  375. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-aac202c77eb40981.js +0 -1
  376. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-aac202c77eb40981.js +0 -1
  377. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-aac202c77eb40981.js +0 -1
  378. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-aac202c77eb40981.js +0 -1
  379. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-aac202c77eb40981.js +0 -1
  380. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-aac202c77eb40981.js +0 -1
  381. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-aac202c77eb40981.js +0 -1
  382. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-aac202c77eb40981.js +0 -1
  383. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-aac202c77eb40981.js +0 -1
  384. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-aac202c77eb40981.js +0 -1
  385. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-aac202c77eb40981.js +0 -1
  386. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-d2885664cdcf3828.js +0 -1
  387. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-aac202c77eb40981.js +0 -1
  388. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-aac202c77eb40981.js +0 -1
  389. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-aac202c77eb40981.js +0 -1
  390. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-aac202c77eb40981.js +0 -1
  391. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-aac202c77eb40981.js +0 -1
  392. package/web/.next/standalone/packages/web/.next/static/css/88e7cdfd48e96ef7.css +0 -3
  393. package/web/.next/static/chunks/3007.7e32b298c93a3914.js +0 -1
  394. package/web/.next/static/chunks/4089.108861a1fa8ed692.js +0 -1
  395. package/web/.next/static/chunks/4443.68bc768731cc2566.js +0 -1
  396. package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-aac202c77eb40981.js +0 -1
  397. package/web/.next/static/chunks/app/_global-error/page-aac202c77eb40981.js +0 -1
  398. package/web/.next/static/chunks/app/api/access/route-aac202c77eb40981.js +0 -1
  399. package/web/.next/static/chunks/app/api/agents/route-aac202c77eb40981.js +0 -1
  400. package/web/.next/static/chunks/app/api/app-update/route-aac202c77eb40981.js +0 -1
  401. package/web/.next/static/chunks/app/api/attachments/route-aac202c77eb40981.js +0 -1
  402. package/web/.next/static/chunks/app/api/auth/profile/route-aac202c77eb40981.js +0 -1
  403. package/web/.next/static/chunks/app/api/boards/comments/route-aac202c77eb40981.js +0 -1
  404. package/web/.next/static/chunks/app/api/boards/route-aac202c77eb40981.js +0 -1
  405. package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-aac202c77eb40981.js +0 -1
  406. package/web/.next/static/chunks/app/api/bridge/bridges/route-aac202c77eb40981.js +0 -1
  407. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-aac202c77eb40981.js +0 -1
  408. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-aac202c77eb40981.js +0 -1
  409. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-aac202c77eb40981.js +0 -1
  410. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-aac202c77eb40981.js +0 -1
  411. package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-aac202c77eb40981.js +0 -1
  412. package/web/.next/static/chunks/app/api/bridge/devices/code/route-aac202c77eb40981.js +0 -1
  413. package/web/.next/static/chunks/app/api/bridge/devices/route-aac202c77eb40981.js +0 -1
  414. package/web/.next/static/chunks/app/api/bridges/route-aac202c77eb40981.js +0 -1
  415. package/web/.next/static/chunks/app/api/config/route-aac202c77eb40981.js +0 -1
  416. package/web/.next/static/chunks/app/api/context-files/open/route-aac202c77eb40981.js +0 -1
  417. package/web/.next/static/chunks/app/api/context-files/route-aac202c77eb40981.js +0 -1
  418. package/web/.next/static/chunks/app/api/events/route-aac202c77eb40981.js +0 -1
  419. package/web/.next/static/chunks/app/api/executor/health/route-aac202c77eb40981.js +0 -1
  420. package/web/.next/static/chunks/app/api/filesystem/directory/route-aac202c77eb40981.js +0 -1
  421. package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-aac202c77eb40981.js +0 -1
  422. package/web/.next/static/chunks/app/api/github/repos/route-aac202c77eb40981.js +0 -1
  423. package/web/.next/static/chunks/app/api/github/webhook/route-aac202c77eb40981.js +0 -1
  424. package/web/.next/static/chunks/app/api/health/boards/route-aac202c77eb40981.js +0 -1
  425. package/web/.next/static/chunks/app/api/health/sessions/route-aac202c77eb40981.js +0 -1
  426. package/web/.next/static/chunks/app/api/notifications/route-aac202c77eb40981.js +0 -1
  427. package/web/.next/static/chunks/app/api/preferences/route-aac202c77eb40981.js +0 -1
  428. package/web/.next/static/chunks/app/api/repositories/[id]/route-aac202c77eb40981.js +0 -1
  429. package/web/.next/static/chunks/app/api/repositories/route-aac202c77eb40981.js +0 -1
  430. package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-aac202c77eb40981.js +0 -1
  431. package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-aac202c77eb40981.js +0 -1
  432. package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-aac202c77eb40981.js +0 -1
  433. package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-aac202c77eb40981.js +0 -1
  434. package/web/.next/static/chunks/app/api/sessions/[id]/feed/route-aac202c77eb40981.js +0 -1
  435. package/web/.next/static/chunks/app/api/sessions/[id]/feedback/route-aac202c77eb40981.js +0 -1
  436. package/web/.next/static/chunks/app/api/sessions/[id]/files/route-aac202c77eb40981.js +0 -1
  437. package/web/.next/static/chunks/app/api/sessions/[id]/interrupt/route-aac202c77eb40981.js +0 -1
  438. package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-aac202c77eb40981.js +0 -1
  439. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-aac202c77eb40981.js +0 -1
  440. package/web/.next/static/chunks/app/api/sessions/[id]/output/route-aac202c77eb40981.js +0 -1
  441. package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-aac202c77eb40981.js +0 -1
  442. package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-aac202c77eb40981.js +0 -1
  443. package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-aac202c77eb40981.js +0 -1
  444. package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-aac202c77eb40981.js +0 -1
  445. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-aac202c77eb40981.js +0 -1
  446. package/web/.next/static/chunks/app/api/sessions/[id]/route-aac202c77eb40981.js +0 -1
  447. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-aac202c77eb40981.js +0 -1
  448. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-aac202c77eb40981.js +0 -1
  449. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-aac202c77eb40981.js +0 -1
  450. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-aac202c77eb40981.js +0 -1
  451. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-aac202c77eb40981.js +0 -1
  452. package/web/.next/static/chunks/app/api/sessions/route-aac202c77eb40981.js +0 -1
  453. package/web/.next/static/chunks/app/api/skills/activate/route-aac202c77eb40981.js +0 -1
  454. package/web/.next/static/chunks/app/api/skills/catalog/route-aac202c77eb40981.js +0 -1
  455. package/web/.next/static/chunks/app/api/skills/deactivate/route-aac202c77eb40981.js +0 -1
  456. package/web/.next/static/chunks/app/api/skills/install/route-aac202c77eb40981.js +0 -1
  457. package/web/.next/static/chunks/app/api/skills/installed/route-aac202c77eb40981.js +0 -1
  458. package/web/.next/static/chunks/app/api/skills/session-active/route-aac202c77eb40981.js +0 -1
  459. package/web/.next/static/chunks/app/api/skills/uninstall/route-aac202c77eb40981.js +0 -1
  460. package/web/.next/static/chunks/app/api/spawn/route-aac202c77eb40981.js +0 -1
  461. package/web/.next/static/chunks/app/api/workspaces/branches/route-aac202c77eb40981.js +0 -1
  462. package/web/.next/static/chunks/app/api/workspaces/route-aac202c77eb40981.js +0 -1
  463. package/web/.next/static/chunks/app/bridge/install.ps1/route-aac202c77eb40981.js +0 -1
  464. package/web/.next/static/chunks/app/bridge/install.sh/route-aac202c77eb40981.js +0 -1
  465. package/web/.next/static/chunks/app/layout-d2885664cdcf3828.js +0 -1
  466. package/web/.next/static/chunks/app/sign-in/hosted/page-aac202c77eb40981.js +0 -1
  467. package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-aac202c77eb40981.js +0 -1
  468. package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-aac202c77eb40981.js +0 -1
  469. package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-aac202c77eb40981.js +0 -1
  470. package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-aac202c77eb40981.js +0 -1
  471. package/web/.next/static/css/88e7cdfd48e96ef7.css +0 -3
  472. /package/web/.next/standalone/packages/web/.next/static/{4t0CHi5khaTECrGbEDYyS → see4G2ERXsOIVmNhC0xYH}/_buildManifest.js +0 -0
  473. /package/web/.next/standalone/packages/web/.next/static/{4t0CHi5khaTECrGbEDYyS → see4G2ERXsOIVmNhC0xYH}/_ssgManifest.js +0 -0
  474. /package/web/.next/static/{4t0CHi5khaTECrGbEDYyS → see4G2ERXsOIVmNhC0xYH}/_buildManifest.js +0 -0
  475. /package/web/.next/static/{4t0CHi5khaTECrGbEDYyS → see4G2ERXsOIVmNhC0xYH}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=7023,exports.ids=[7023,9789],exports.modules={7071:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},7901:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},26993:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]])},27023:(a,b,c)=>{c.r(b),c.d(b,{SessionDetail:()=>aG});var d=c(92692),e=c(3429),f=c(71277),g=c(67994),h=c(37303);let i=(0,h.A)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var j=c(7071),k=c(52404),l=c(26993),m=c(62170),n=c(74508),o=c(63660),p=c(64121),q=c(64308),r=c(5707),s=c(8370),t=c(50904),u=c(92408),v="Tabs",[w,x]=(0,o.A)(v,[p.RG]),y=(0,p.RG)(),[z,A]=w(v),B=f.forwardRef((a,b)=>{let{__scopeTabs:c,value:e,onValueChange:f,defaultValue:g,orientation:h="horizontal",dir:i,activationMode:j="automatic",...k}=a,l=(0,s.jH)(i),[m,n]=(0,t.i)({prop:e,onChange:f,defaultProp:g??"",caller:v});return(0,d.jsx)(z,{scope:c,baseId:(0,u.B)(),value:m,onValueChange:n,orientation:h,dir:l,activationMode:j,children:(0,d.jsx)(r.sG.div,{dir:l,"data-orientation":h,...k,ref:b})})});B.displayName=v;var C="TabsList",D=f.forwardRef((a,b)=>{let{__scopeTabs:c,loop:e=!0,...f}=a,g=A(C,c),h=y(c);return(0,d.jsx)(p.bL,{asChild:!0,...h,orientation:g.orientation,dir:g.dir,loop:e,children:(0,d.jsx)(r.sG.div,{role:"tablist","aria-orientation":g.orientation,...f,ref:b})})});D.displayName=C;var E="TabsTrigger",F=f.forwardRef((a,b)=>{let{__scopeTabs:c,value:e,disabled:f=!1,...g}=a,h=A(E,c),i=y(c),j=I(h.baseId,e),k=J(h.baseId,e),l=e===h.value;return(0,d.jsx)(p.q7,{asChild:!0,...i,focusable:!f,active:l,children:(0,d.jsx)(r.sG.button,{type:"button",role:"tab","aria-selected":l,"aria-controls":k,"data-state":l?"active":"inactive","data-disabled":f?"":void 0,disabled:f,id:j,...g,ref:b,onMouseDown:(0,n.mK)(a.onMouseDown,a=>{f||0!==a.button||!1!==a.ctrlKey?a.preventDefault():h.onValueChange(e)}),onKeyDown:(0,n.mK)(a.onKeyDown,a=>{[" ","Enter"].includes(a.key)&&h.onValueChange(e)}),onFocus:(0,n.mK)(a.onFocus,()=>{let a="manual"!==h.activationMode;l||f||!a||h.onValueChange(e)})})})});F.displayName=E;var G="TabsContent",H=f.forwardRef((a,b)=>{let{__scopeTabs:c,value:e,forceMount:g,children:h,...i}=a,j=A(G,c),k=I(j.baseId,e),l=J(j.baseId,e),m=e===j.value,n=f.useRef(m);return f.useEffect(()=>{let a=requestAnimationFrame(()=>n.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,d.jsx)(q.C,{present:g||m,children:({present:c})=>(0,d.jsx)(r.sG.div,{"data-state":m?"active":"inactive","data-orientation":j.orientation,role:"tabpanel","aria-labelledby":k,hidden:!c,id:l,tabIndex:0,...i,ref:b,style:{...a.style,animationDuration:n.current?"0s":void 0},children:c&&h})})});function I(a,b){return`${a}-trigger-${b}`}function J(a,b){return`${a}-content-${b}`}H.displayName=G;var K=c(93544);let L=(0,f.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(D,{ref:c,className:(0,K.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",a),...b}));L.displayName="TabsList";let M=(0,f.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(F,{ref:c,className:(0,K.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)]",a),...b}));M.displayName="TabsTrigger";let N=(0,f.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(H,{ref:c,className:(0,K.cn)("focus-visible:outline-none",a),...b}));N.displayName="TabsContent";var O=c(54761),P=c(1071),Q=c(33857),R=c(49549),S=c(13636),T=c(86263),U=c(79101),V=c(51430),W=c(7901);let X=(0,h.A)("file",[["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"}]]);var Y=c(64583);let Z=(0,h.A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);var $=c(59789),_=c(75185),aa=c(57658);let ab=(0,h.A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]),ac=(0,h.A)("dollar-sign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);var ad=c(44462);let ae=(0,e.default)(async()=>{},{loadableGenerated:{modules:["components/sessions/SessionOverview.tsx -> ./SessionDiff"]},loading:()=>(0,d.jsx)("div",{className:"flex h-32 items-center justify-center text-[12px] text-[var(--vk-text-muted)]",children:"Loading changes…"}),ssr:!1});function af({text:a}){let[b,c]=(0,f.useState)(!1);async function e(){try{await navigator.clipboard.writeText(a),c(!0),window.setTimeout(()=>c(!1),1400)}catch{}}return(0,d.jsxs)("button",{type:"button",onClick:()=>void e(),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,d.jsx)("span",{className:"truncate",children:a}),b?(0,d.jsx)(R.A,{className:"h-3 w-3 shrink-0 text-emerald-400"}):(0,d.jsx)(S.A,{className:"h-3 w-3 shrink-0 opacity-50"})]})}function ag(a,b){let c=a.metadata[b];return"string"==typeof c&&c.trim().length>0?c:void 0}function ah(a){if(!a)return null;let b=Number.parseInt(a,10);return Number.isFinite(b)&&b>0?b:null}function ai({node:a,depth:b,selectedPath:c,expandedDirs:e,onToggleDir:f,onSelectFile:g}){let h=e.has(a.path),i=a.path===c,j=8+16*b;return a.isDir?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("button",{type:"button",onClick:()=>f(a.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:j},children:[h?(0,d.jsx)(T.A,{className:"h-3 w-3 shrink-0 opacity-50"}):(0,d.jsx)(U.A,{className:"h-3 w-3 shrink-0 opacity-50"}),h?(0,d.jsx)(V.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}):(0,d.jsx)(W.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}),(0,d.jsx)("span",{className:"truncate",children:a.name})]}),h?a.children.map(a=>(0,d.jsx)(ai,{node:a,depth:b+1,selectedPath:c,expandedDirs:e,onToggleDir:f,onSelectFile:g},a.path)):null]}):(0,d.jsxs)("button",{type:"button",onClick:()=>g(a.path),className:`flex w-full items-center gap-1.5 py-1.5 pr-2 text-left text-[12px] transition-colors ${i?"bg-blue-500/10 text-[var(--vk-text-strong)]":"text-[var(--vk-text-normal)] hover:bg-white/4"}`,style:{paddingLeft:j+16},children:[(0,d.jsx)(X,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate",children:a.name})]})}let aj={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"},ak={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"},al=new Set(["png","jpg","jpeg","gif","webp","svg","ico","bmp","avif"]);function am(a){let b=a.split("/").pop()??"",c=b.lastIndexOf(".");return c>=0?b.slice(c+1).toLowerCase():""}function an({code:a,lang:b}){let[c,e]=(0,f.useState)(null);if((0,f.useRef)(a),(0,f.useRef)(b),!c){let b=a.split("\n"),c=String(b.length).length;return(0,d.jsx)("div",{className:"inline-block min-w-full align-top",children:(0,d.jsx)("table",{className:"min-w-full border-collapse font-mono text-[11px] leading-5",children:(0,d.jsx)("tbody",{children:b.map((a,b)=>(0,d.jsxs)("tr",{className:"hover:bg-white/3",children:[(0,d.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:`${c+2}ch`},children:b+1}),(0,d.jsx)("td",{className:"whitespace-pre px-3 text-[var(--vk-text-normal)]",children:a||"\xa0"})]},b))})})})}return(0,d.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:c}})}function ao({sessionId:a,filePath:b}){let[c,e]=(0,f.useState)(null),[g,h]=(0,f.useState)(!0),[i,j]=(0,f.useState)(null),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(!1),[o,p]=(0,f.useState)(0);if(g)return(0,d.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(Y.A,{className:"h-4 w-4 animate-spin"}),"Loading…"]});if(i)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center px-4 text-center text-[12px] text-red-400",children:i});if(k&&al.has(am(b))){let c=new URLSearchParams({path:b,raw:"1"}),e=`/api/sessions/${encodeURIComponent(a)}/files?${c.toString()}`;return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-4",children:[(0,d.jsx)("img",{src:e,alt:b,className:"max-h-[60vh] max-w-full rounded-md object-contain"}),(0,d.jsxs)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[b.split("/").pop(),o>0?` \xb7 ${ap(o)}`:""]})]})}if(k){let a=am(b);return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 px-4 text-center",children:[(0,d.jsx)("div",{className:"rounded-lg bg-white/4 p-4",children:(0,d.jsx)(X,{className:"mx-auto h-8 w-8 text-[var(--vk-text-muted)]"})}),(0,d.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:["Binary file",a?` (.${a})`:""," — preview not available"]}),o>0?(0,d.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)] opacity-60",children:ap(o)}):null]})}let q=function(a){let b=a.split("/").pop()??"";if(ak[b])return ak[b];let c=b.lastIndexOf(".");if(c>=0){let a=b.slice(c+1).toLowerCase();if(aj[a])return aj[a]}return"plaintext"}(b);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[m?(0,d.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",o>0?` (${ap(o)} total)`:""]}):null,(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-auto overscroll-contain touch-pan-x touch-pan-y py-2",children:(0,d.jsx)(an,{code:c??"",lang:q})})]})}function ap(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function aq({sessionId:a,active:b}){let[c,e]=(0,f.useState)([]),[g,h]=(0,f.useState)(!0),[i,j]=(0,f.useState)(null),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(""),[o,p]=(0,f.useState)(null),[q,r]=(0,f.useState)(new Set),s=(0,f.useRef)(!0),t=(0,f.useCallback)(async()=>{try{h(!0);let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/files`,{cache:"no-store"});if(!b.ok)throw Error(`Failed to load files (${b.status})`);let c=await b.json();if(!s.current)return;e(c.files??[]),l(!!c.truncated),j(null)}catch(a){if(!s.current)return;j(a instanceof Error?a.message:"Failed to load files")}finally{s.current&&h(!1)}},[a]),u=(0,f.useMemo)(()=>(function(a){let b={name:"",path:"",children:[],isDir:!0};for(let c of a){let a=c.split("/"),d=b,e="";for(let b=0;b<a.length;b++){let c=a[b];e=e?`${e}/${c}`:c;let f=b===a.length-1,g=d.children.find(a=>a.name===c);g||(g={name:c,path:e,children:[],isDir:!f},d.children.push(g)),d=g}}return function a(b){for(let c of(b.sort((a,b)=>a.isDir!==b.isDir?a.isDir?-1:1:a.name.localeCompare(b.name,void 0,{sensitivity:"base"})),b))c.children.length>0&&a(c.children);return b}(b.children)})(c),[c]),v=(0,f.useMemo)(()=>(function(a,b){if(!b)return a;let c=b.toLowerCase();return function a(b){let d=[];for(let e of b)(function a(b){return!!(b.name.toLowerCase().includes(c)||b.path.toLowerCase().includes(c))||b.children.some(a)})(e)&&(e.isDir?d.push({...e,children:a(e.children)}):d.push(e));return d}(a)})(u,m.trim()),[u,m]),w=(0,f.useCallback)(a=>{r(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),x=(0,f.useCallback)(a=>{p(a)},[]),y=(0,f.useCallback)(()=>{p(null)},[]);if(g&&0===c.length)return(0,d.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(Y.A,{className:"h-4 w-4 animate-spin"}),"Loading workspace files…"]});if(i)return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-4 text-center",children:[(0,d.jsx)("p",{className:"text-[12px] text-red-400",children:i}),(0,d.jsx)("button",{type:"button",onClick:()=>void t(),className:"text-[11px] text-[var(--vk-text-muted)] underline hover:text-[var(--vk-text-normal)]",children:"Retry"})]});let z=o?(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col lg:hidden",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-2",children:[(0,d.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,d.jsx)(Z,{className:"h-4 w-4"})}),(0,d.jsx)(X,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:o})]}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(ao,{sessionId:a,filePath:o})})]}):null;return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-y-auto overscroll-contain lg:overflow-hidden",children:[z,(0,d.jsxs)("div",{className:`flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-1.5 ${o?"hidden lg:flex":""}`,children:[(0,d.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,d.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{type:"text",value:m,onChange:a=>n(a.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,d.jsx)("button",{type:"button",onClick:()=>void t(),disabled:g,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,d.jsx)(_.A,{className:`h-3.5 w-3.5 ${g?"animate-spin":""}`})})]}),k?(0,d.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 ${o?"hidden lg:block":""}`,children:"File list truncated (4000 file limit)"}):null,(0,d.jsxs)("div",{className:`min-h-0 flex-1 lg:flex lg:flex-row ${o?"hidden lg:flex":"flex flex-col"}`,children:[(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain py-1 lg:max-w-[320px] lg:border-r lg:border-white/8",children:0===v.length?(0,d.jsx)("div",{className:"px-3 py-6 text-center text-[12px] text-[var(--vk-text-muted)]",children:m?"No files match your search.":"No files in workspace."}):v.map(a=>(0,d.jsx)(ai,{node:a,depth:0,selectedPath:o,expandedDirs:q,onToggleDir:w,onSelectFile:x},a.path))}),(0,d.jsx)("div",{className:"hidden min-h-0 min-w-0 flex-1 lg:block",children:o?(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-3 py-2",children:[(0,d.jsx)(X,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:o})]}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(ao,{sessionId:a,filePath:o})})]}):(0,d.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 ar({session:a,sessionId:b,active:c}){let[e,g]=(0,f.useState)("changes"),h=(0,f.useMemo)(()=>ag(a,"task")??ag(a,"prompt")??("string"==typeof a.task?a.task:"")??("string"==typeof a.prompt?a.prompt:""),[a]),i=(0,f.useMemo)(()=>ag(a,"agent")??("string"==typeof a.agent?a.agent:""),[a]),j=(0,f.useMemo)(()=>(function(a,b){if(!a||!b)return"";let c=new Date(a).getTime(),d=new Date(b).getTime();if(!Number.isFinite(c)||!Number.isFinite(d)||d<c)return"";let e=Math.floor((d-c)/6e4);if(e<1)return"<1m";if(e<60)return`${e}m`;let f=Math.floor(e/60);return`${f}h ${e%60}m`})(ag(a,"startedAt")??a.startedAt,ag(a,"finishedAt")??a.finishedAt),[a]),k=(0,f.useMemo)(()=>(function(a){if("number"==typeof a.cost)return a.cost;let b=a.metadata.cost;if("string"!=typeof b)return 0;try{let a=JSON.parse(b),c="number"==typeof a.estimatedCostUsd?a.estimatedCostUsd:0,d="number"==typeof a.totalUSD?a.totalUSD:0;return c??d}catch{return 0}})(a),[a]),l=(0,f.useMemo)(()=>ah(ag(a,"queuePosition")),[a]),m=(0,f.useMemo)(()=>ah(ag(a,"queueDepth")),[a]),n=(0,f.useMemo)(()=>ag(a,"recoveryState")??"",[a]),o=(0,f.useMemo)(()=>"queued"===a.status?l?`Waiting in queue at position ${l}${m?` of ${m}`:""}.`:"Waiting in the launch queue.":"requeued_after_restart"===n?"Session recovered after backend restart and requeued.":"reattach_pending"===n?"Recovering terminal runtime after backend restart.":"detached_runtime"===n?"Backend restarted while agent may still be running.":"resume_required"===n?"Session recovered after restart. Send a message to resume.":"",[m,l,n,a.status]);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-y-auto overscroll-contain lg:overflow-hidden",children:[o?(0,d.jsx)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-2",children:(0,d.jsx)("p",{className:"text-[12px] leading-snug text-amber-300",children:o})}):null,h?(0,d.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2.5",children:(0,d.jsx)("p",{className:"line-clamp-3 whitespace-pre-wrap text-[13px] leading-relaxed text-[var(--vk-text-normal)]",children:h})}):null,(0,d.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,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(ad.N,{seed:{label:i},className:"h-4 w-4"}),(0,d.jsx)("span",{children:i})]}):null,a.branch?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(aa.A,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)(af,{text:a.branch})]}):null,j?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(ab,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{children:j})]}):null,k>0?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(ac,{className:"h-3 w-3 shrink-0"}),(0,d.jsxs)("span",{children:["$",k.toFixed(3)]})]}):null]}),(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-0 border-b border-white/8 px-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>g("changes"),className:`px-3 py-2 text-[12px] font-medium transition-colors ${"changes"===e?"border-b-2 border-[var(--vk-orange)] text-[var(--vk-text-strong)]":"border-b-2 border-transparent text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"}`,children:"Changes"}),(0,d.jsx)("button",{type:"button",onClick:()=>g("files"),className:`px-3 py-2 text-[12px] font-medium transition-colors ${"files"===e?"border-b-2 border-[var(--vk-orange)] text-[var(--vk-text-strong)]":"border-b-2 border-transparent text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"}`,children:"Files"})]}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain",children:"changes"===e?(0,d.jsx)(ae,{sessionId:b,active:c},b):(0,d.jsx)(aq,{sessionId:b,active:c&&"files"===e})})]})}var as=c(140),at=c(48055),au=c(71943),av=c(46818),aw=c(67811);let ax="block h-5 w-5 shrink-0 object-contain",ay=[{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"}],az={finder:{kind:"image",imageSrc:"/icons/ide/finder.svg",className:ax},vscode:{kind:"image",imageSrc:"/icons/ide/vscode-dark.svg",className:ax},"vscode-insiders":{kind:"image",imageSrc:"/icons/ide/vscode-insiders.svg",className:ax},cursor:{kind:"image",imageSrc:"/icons/ide/cursor-dark.svg",className:ax},windsurf:{kind:"image",imageSrc:"/icons/ide/windsurf-dark.svg",className:ax},"intellij-idea":{kind:"image",imageSrc:"/icons/ide/intellij.svg",className:ax},zed:{kind:"image",imageSrc:"/icons/ide/zed-dark.svg",className:ax},xcode:{kind:"image",imageSrc:"/icons/ide/xcode.svg",className:ax},antigravity:{kind:"image",imageSrc:"/icons/ide/antigravity-dark.svg",className:ax},custom:{kind:"icon",className:`${ax} text-[var(--vk-text-muted)]`}};function aA({editorId:a,label:b}){let c=az[a];return c?"icon"===c.kind?(0,d.jsx)(at.A,{className:c?.className??`${ax} text-[var(--vk-text-muted)]`}):(0,d.jsx)("img",{src:c.imageSrc,alt:`${b} logo`,className:c.className}):(0,d.jsx)(at.A,{className:`${ax} text-[var(--vk-text-muted)]`})}function aB({projectId:a,bridgeId:b}){let{preferences:c}=(0,aw.g)(b),[e,g]=(0,f.useState)(null),h=(0,f.useMemo)(()=>{var a;return a=c?.ide??"vscode",ay.find(b=>b.id===a)??{id:a,label:a}},[c?.ide]);async function i(c){if(a&&!e){g(c);try{let d=await fetch((0,av.S)(`/api/projects/${encodeURIComponent(a)}/open`,b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ide:c})}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to open project (${d.status})`)}catch(a){window.alert(a instanceof Error?a.message:"Failed to open project")}finally{g(null)}}}return(0,d.jsxs)(as.bL,{children:[(0,d.jsx)(as.l9,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:!a||null!==e,className:"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","aria-label":"Open project in code editor",title:a?`Open project in ${h.label}`:"No project selected",children:[e?(0,d.jsx)(Y.A,{className:"h-4 w-4 animate-spin text-[var(--vk-text-muted)]"}):(0,d.jsx)(au.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"hidden font-medium sm:inline",children:"Open"}),(0,d.jsx)(T.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"})]})}),(0,d.jsx)(as.ZL,{children:(0,d.jsx)(as.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:ay.map(a=>(0,d.jsxs)(as.q7,{onSelect:()=>void i(a.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,d.jsx)(aA,{editorId:a.id,label:a.label}),(0,d.jsx)("span",{className:"flex-1",children:a.label}),h.id===a.id?(0,d.jsx)(R.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}):null]},a.id))})})]})}let aC=(0,e.default)(()=>c.e(9579).then(c.bind(c,69579)).then(a=>a.SessionTerminal),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionTerminal"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading terminal..."})}),aD=(0,e.default)(()=>c.e(9039).then(c.bind(c,69039)).then(a=>a.SessionPreview),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionPreview"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading preview..."})}),aE=(0,e.default)(()=>c.e(3855).then(c.bind(c,93855)).then(a=>a.SessionSkills),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionSkills"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading skills..."})});function aF(a){return"overview"===a||"terminal"===a||"preview"===a||"skills"===a?a:"terminal"}function aG({sessionId:a,initialSession:b=null,bridgeId:c=null,immersiveMobileMode:e=!1,active:h=!0,suppressPreviewAutoOpen:n=!1,onOpenSidebar:o}){let p=(0,g.usePathname)(),q=(0,g.useRouter)(),r=(0,g.useSearchParams)(),{session:s,loading:t,error:u}=(0,Q.w)(a,b,{enabled:h,bridgeId:c}),v=(0,f.useRef)(0),w=(0,f.useRef)(!1),[x,y]=(0,f.useState)(null),z=(0,f.useMemo)(()=>aF(r.get("tab")),[r]),A=(0,f.useCallback)(a=>{let b=aF(a),c=new URLSearchParams(r.toString());"terminal"===b?c.delete("tab"):c.set("tab",b);let d=c.toString(),e=d.length>0?`${p}?${d}`:p;q.replace(e,{scroll:!1})},[p,q,r]),C=(0,f.useCallback)(a=>{v.current+=1,y({nonce:v.current,...a})},[]),D=(0,f.useCallback)(a=>{(function({active:a,activeTab:b,alreadyOpened:c,connected:d,suppressAutoOpen:e}){return d&&a&&"terminal"===b&&!c&&!e})({active:h,activeTab:z,alreadyOpened:w.current,connected:a,suppressAutoOpen:n})&&(w.current=!0,A("preview"))},[h,z,A,n]);if(t)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(O.Zp,{className:"w-full max-w-md",children:(0,d.jsx)(O.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Loading session workspace..."})})});if(u)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(O.Zp,{className:"w-full max-w-md border-[color:color-mix(in_srgb,var(--status-error)_45%,transparent)]",children:(0,d.jsx)(O.Wu,{className:"py-7 text-center text-[13px] text-[var(--status-error)]",children:u})})});if(!s)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(O.Zp,{className:"w-full max-w-md",children:(0,d.jsx)(O.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Session not found"})})});let E="string"==typeof s.status?s.status:"unknown",F=function(a){switch(a){case"needs_input":return"needs input";case"working":return"working";case"running":return"running";case"spawning":return"spawning";case"queued":return"queued";default:return a.replace(/[_-]+/g," ")}}(E),G=function(a){switch(a){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-orange-500";case"terminated":case"killed":return"bg-gray-500"}}(E),H="working"===E||"running"===E||"spawning"===E||"queued"===E||"needs_input"===E,I="queued"!==E&&"spawning"!==E,J=h&&e&&"terminal"===z,K=h&&"preview"===z,R="min-h-[38px] gap-1.5 px-2.5 text-[12px] sm:min-h-0 sm:px-3",S=(0,d.jsxs)(L,{className:"flex w-full overflow-x-auto sm:w-fit sm:inline-flex",children:[(0,d.jsxs)(M,{value:"overview",className:R,children:[(0,d.jsx)(i,{className:"h-3.5 w-3.5"}),"Overview"]}),(0,d.jsxs)(M,{value:"terminal",className:R,children:[(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"}),"Terminal"]}),(0,d.jsxs)(M,{value:"preview",className:R,children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5"}),"Preview"]}),(0,d.jsxs)(M,{value:"skills",className:R,children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Skills"]})]});return(0,d.jsx)("div",{className:`flex h-full min-h-0 min-w-0 w-full flex-col ${J?"overflow-hidden bg-[#060404]":"overflow-y-auto overscroll-contain lg:overflow-hidden"}`,children:(0,d.jsxs)(B,{value:z,onValueChange:A,className:J?"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:[J?(0,d.jsxs)("div",{className:"flex shrink-0 flex-col border-b border-white/10 bg-[#0d0908]",children:[(0,d.jsxs)("div",{className:"flex h-10 items-center gap-2 px-2",children:[o?(0,d.jsx)(P.$,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:o,"aria-label":"Open workspace panel",children:(0,d.jsx)(m.A,{className:"h-4 w-4"})}):null,(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[(0,d.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${G}${H?" animate-pulse":""}`}),(0,d.jsx)("span",{className:"text-[12px] font-medium text-[#efe8e1]",children:F}),(0,d.jsxs)("span",{className:"font-mono text-[10px] text-[#8e847d]",children:["\xb7 ",a.slice(0,7)]})]}),I?(0,d.jsx)(aB,{projectId:s.projectId,bridgeId:s.bridgeId??null}):null]}),(0,d.jsx)("div",{className:"px-1.5 pb-1.5",children:S})]}):(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1.5 sm:flex-nowrap",children:[S,(0,d.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:ml-auto sm:w-auto sm:justify-end",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${G}${H?" animate-pulse":""}`}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:F}),(0,d.jsxs)("span",{className:"hidden font-mono text-[10px] text-[var(--vk-text-muted)] sm:inline",children:["\xb7 ",a.slice(0,7)]})]}),I?(0,d.jsx)(aB,{projectId:s.projectId,bridgeId:s.bridgeId??null}):null]})]}),(0,d.jsxs)("div",{className:"relative min-h-0 min-w-0 flex-1 overflow-hidden",children:[(0,d.jsx)(N,{value:"overview",className:"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",children:(0,d.jsx)(ar,{session:s,sessionId:a,active:h&&"overview"===z})}),(0,d.jsx)(N,{value:"terminal",forceMount:!0,className:J?"flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-[#060404] 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":"flex min-h-0 h-full min-w-0 flex-col w-full overflow-hidden bg-transparent 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",children:(0,d.jsx)(aC,{sessionId:a,projectId:s.projectId,bridgeId:s.bridgeId??null,sessionState:E,runtimeMode:s.metadata.runtimeMode?.trim()??null,pendingInsert:x,immersiveMobileMode:J})}),(0,d.jsx)(N,{value:"preview",className:"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",children:K?(0,d.jsx)(aD,{sessionId:a,active:K,onQueueTerminalInsert:C,onConnectionChange:D},a):null}),(0,d.jsx)(N,{value:"skills",className:"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",children:(0,d.jsx)(aE,{session:s,sessionId:a,active:h&&"skills"===z})})]})]},a)})}},52404:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},54761:(a,b,c)=>{c.d(b,{Wu:()=>h,Zp:()=>f,aR:()=>g});var d=c(92692),e=c(93544);let f=(0,c(71277).forwardRef)(({className:a,...b},c)=>(0,d.jsx)("div",{ref:c,className:(0,e.cn)("surface-card rounded-[var(--radius-md)] border",a),...b}));function g({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("px-3 py-2",a),...b})}f.displayName="Card"},57658:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},59789:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},67811:(a,b,c)=>{c.d(b,{g:()=>g});var d=c(71277),e=c(46818);function f(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function g(a,b){let c=b?.enabled??!0,[g,h]=(0,d.useState)(null),[i,j]=(0,d.useState)(c),[k,l]=(0,d.useState)(null),m=(0,d.useCallback)(async()=>{if(!c){h(null),l(null),j(!1);return}try{var b;let c,d,g,i=await fetch((0,e.S)("/api/preferences",a)),j=await i.json().catch(()=>null);if(!i.ok)throw Error(j?.error??j?.reason??`Failed to load preferences: ${i.status}`);h((b=j?.preferences,c=f(b),g=(d=f(c.notifications)).soundFile,{onboardingAcknowledged:!0===c.onboardingAcknowledged,codingAgent:"string"==typeof c.codingAgent&&c.codingAgent.trim().length>0?c.codingAgent.trim():"claude-code",ide:"string"==typeof c.ide&&c.ide.trim().length>0?c.ide.trim():"vscode",markdownEditor:"string"==typeof c.markdownEditor&&c.markdownEditor.trim().length>0?c.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof c.markdownEditorPath?c.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==d.soundEnabled,soundFile:null===g?null:"string"==typeof g&&g.trim().length>0?g.trim():"abstract-sound-4"}})),l(null)}catch(a){h(null),l(a instanceof Error?a.message:"Failed to load preferences")}finally{j(!1)}},[a,c]);return{preferences:c?g:null,loading:!!c&&i,error:c?k:null,refresh:m}}},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},79101:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])}};
1
+ "use strict";exports.id=7023,exports.ids=[7023,9789],exports.modules={7071:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},7901:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},26993:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]])},27023:(a,b,c)=>{c.r(b),c.d(b,{SessionDetail:()=>aG});var d=c(92692),e=c(3429),f=c(71277),g=c(67994),h=c(37303);let i=(0,h.A)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var j=c(7071),k=c(52404),l=c(26993),m=c(62170),n=c(74508),o=c(63660),p=c(64121),q=c(64308),r=c(5707),s=c(8370),t=c(50904),u=c(92408),v="Tabs",[w,x]=(0,o.A)(v,[p.RG]),y=(0,p.RG)(),[z,A]=w(v),B=f.forwardRef((a,b)=>{let{__scopeTabs:c,value:e,onValueChange:f,defaultValue:g,orientation:h="horizontal",dir:i,activationMode:j="automatic",...k}=a,l=(0,s.jH)(i),[m,n]=(0,t.i)({prop:e,onChange:f,defaultProp:g??"",caller:v});return(0,d.jsx)(z,{scope:c,baseId:(0,u.B)(),value:m,onValueChange:n,orientation:h,dir:l,activationMode:j,children:(0,d.jsx)(r.sG.div,{dir:l,"data-orientation":h,...k,ref:b})})});B.displayName=v;var C="TabsList",D=f.forwardRef((a,b)=>{let{__scopeTabs:c,loop:e=!0,...f}=a,g=A(C,c),h=y(c);return(0,d.jsx)(p.bL,{asChild:!0,...h,orientation:g.orientation,dir:g.dir,loop:e,children:(0,d.jsx)(r.sG.div,{role:"tablist","aria-orientation":g.orientation,...f,ref:b})})});D.displayName=C;var E="TabsTrigger",F=f.forwardRef((a,b)=>{let{__scopeTabs:c,value:e,disabled:f=!1,...g}=a,h=A(E,c),i=y(c),j=I(h.baseId,e),k=J(h.baseId,e),l=e===h.value;return(0,d.jsx)(p.q7,{asChild:!0,...i,focusable:!f,active:l,children:(0,d.jsx)(r.sG.button,{type:"button",role:"tab","aria-selected":l,"aria-controls":k,"data-state":l?"active":"inactive","data-disabled":f?"":void 0,disabled:f,id:j,...g,ref:b,onMouseDown:(0,n.mK)(a.onMouseDown,a=>{f||0!==a.button||!1!==a.ctrlKey?a.preventDefault():h.onValueChange(e)}),onKeyDown:(0,n.mK)(a.onKeyDown,a=>{[" ","Enter"].includes(a.key)&&h.onValueChange(e)}),onFocus:(0,n.mK)(a.onFocus,()=>{let a="manual"!==h.activationMode;l||f||!a||h.onValueChange(e)})})})});F.displayName=E;var G="TabsContent",H=f.forwardRef((a,b)=>{let{__scopeTabs:c,value:e,forceMount:g,children:h,...i}=a,j=A(G,c),k=I(j.baseId,e),l=J(j.baseId,e),m=e===j.value,n=f.useRef(m);return f.useEffect(()=>{let a=requestAnimationFrame(()=>n.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,d.jsx)(q.C,{present:g||m,children:({present:c})=>(0,d.jsx)(r.sG.div,{"data-state":m?"active":"inactive","data-orientation":j.orientation,role:"tabpanel","aria-labelledby":k,hidden:!c,id:l,tabIndex:0,...i,ref:b,style:{...a.style,animationDuration:n.current?"0s":void 0},children:c&&h})})});function I(a,b){return`${a}-trigger-${b}`}function J(a,b){return`${a}-content-${b}`}H.displayName=G;var K=c(93544);let L=(0,f.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(D,{ref:c,className:(0,K.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",a),...b}));L.displayName="TabsList";let M=(0,f.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(F,{ref:c,className:(0,K.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)]",a),...b}));M.displayName="TabsTrigger";let N=(0,f.forwardRef)(({className:a,...b},c)=>(0,d.jsx)(H,{ref:c,className:(0,K.cn)("focus-visible:outline-none",a),...b}));N.displayName="TabsContent";var O=c(54761),P=c(1071),Q=c(33857),R=c(49549),S=c(13636),T=c(86263),U=c(79101),V=c(51430),W=c(7901);let X=(0,h.A)("file",[["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"}]]);var Y=c(64583);let Z=(0,h.A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);var $=c(59789),_=c(75185),aa=c(57658);let ab=(0,h.A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]),ac=(0,h.A)("dollar-sign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);var ad=c(44462);let ae=(0,e.default)(async()=>{},{loadableGenerated:{modules:["components/sessions/SessionOverview.tsx -> ./SessionDiff"]},loading:()=>(0,d.jsx)("div",{className:"flex h-32 items-center justify-center text-[12px] text-[var(--vk-text-muted)]",children:"Loading changes…"}),ssr:!1});function af({text:a}){let[b,c]=(0,f.useState)(!1);async function e(){try{await navigator.clipboard.writeText(a),c(!0),window.setTimeout(()=>c(!1),1400)}catch{}}return(0,d.jsxs)("button",{type:"button",onClick:()=>void e(),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,d.jsx)("span",{className:"truncate",children:a}),b?(0,d.jsx)(R.A,{className:"h-3 w-3 shrink-0 text-emerald-400"}):(0,d.jsx)(S.A,{className:"h-3 w-3 shrink-0 opacity-50"})]})}function ag(a,b){let c=a.metadata[b];return"string"==typeof c&&c.trim().length>0?c:void 0}function ah(a){if(!a)return null;let b=Number.parseInt(a,10);return Number.isFinite(b)&&b>0?b:null}function ai({node:a,depth:b,selectedPath:c,expandedDirs:e,onToggleDir:f,onSelectFile:g}){let h=e.has(a.path),i=a.path===c,j=8+16*b;return a.isDir?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("button",{type:"button",onClick:()=>f(a.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:j},children:[h?(0,d.jsx)(T.A,{className:"h-3 w-3 shrink-0 opacity-50"}):(0,d.jsx)(U.A,{className:"h-3 w-3 shrink-0 opacity-50"}),h?(0,d.jsx)(V.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}):(0,d.jsx)(W.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}),(0,d.jsx)("span",{className:"truncate",children:a.name})]}),h?a.children.map(a=>(0,d.jsx)(ai,{node:a,depth:b+1,selectedPath:c,expandedDirs:e,onToggleDir:f,onSelectFile:g},a.path)):null]}):(0,d.jsxs)("button",{type:"button",onClick:()=>g(a.path),className:`flex w-full items-center gap-1.5 py-1.5 pr-2 text-left text-[12px] transition-colors ${i?"bg-blue-500/10 text-[var(--vk-text-strong)]":"text-[var(--vk-text-normal)] hover:bg-white/4"}`,style:{paddingLeft:j+16},children:[(0,d.jsx)(X,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate",children:a.name})]})}let aj={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"},ak={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"},al=new Set(["png","jpg","jpeg","gif","webp","svg","ico","bmp","avif"]);function am(a){let b=a.split("/").pop()??"",c=b.lastIndexOf(".");return c>=0?b.slice(c+1).toLowerCase():""}function an({code:a,lang:b}){let[c,e]=(0,f.useState)(null);if((0,f.useRef)(a),(0,f.useRef)(b),!c){let b=a.split("\n"),c=String(b.length).length;return(0,d.jsx)("div",{className:"inline-block min-w-full align-top",children:(0,d.jsx)("table",{className:"min-w-full border-collapse font-mono text-[11px] leading-5",children:(0,d.jsx)("tbody",{children:b.map((a,b)=>(0,d.jsxs)("tr",{className:"hover:bg-white/3",children:[(0,d.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:`${c+2}ch`},children:b+1}),(0,d.jsx)("td",{className:"whitespace-pre px-3 text-[var(--vk-text-normal)]",children:a||"\xa0"})]},b))})})})}return(0,d.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:c}})}function ao({sessionId:a,filePath:b}){let[c,e]=(0,f.useState)(null),[g,h]=(0,f.useState)(!0),[i,j]=(0,f.useState)(null),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(!1),[o,p]=(0,f.useState)(0);if(g)return(0,d.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(Y.A,{className:"h-4 w-4 animate-spin"}),"Loading…"]});if(i)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center px-4 text-center text-[12px] text-red-400",children:i});if(k&&al.has(am(b))){let c=new URLSearchParams({path:b,raw:"1"}),e=`/api/sessions/${encodeURIComponent(a)}/files?${c.toString()}`;return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-4",children:[(0,d.jsx)("img",{src:e,alt:b,className:"max-h-[60vh] max-w-full rounded-md object-contain"}),(0,d.jsxs)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[b.split("/").pop(),o>0?` \xb7 ${ap(o)}`:""]})]})}if(k){let a=am(b);return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 px-4 text-center",children:[(0,d.jsx)("div",{className:"rounded-lg bg-white/4 p-4",children:(0,d.jsx)(X,{className:"mx-auto h-8 w-8 text-[var(--vk-text-muted)]"})}),(0,d.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:["Binary file",a?` (.${a})`:""," — preview not available"]}),o>0?(0,d.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)] opacity-60",children:ap(o)}):null]})}let q=function(a){let b=a.split("/").pop()??"";if(ak[b])return ak[b];let c=b.lastIndexOf(".");if(c>=0){let a=b.slice(c+1).toLowerCase();if(aj[a])return aj[a]}return"plaintext"}(b);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[m?(0,d.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",o>0?` (${ap(o)} total)`:""]}):null,(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-auto overscroll-contain touch-pan-x touch-pan-y py-2",children:(0,d.jsx)(an,{code:c??"",lang:q})})]})}function ap(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function aq({sessionId:a,active:b}){let[c,e]=(0,f.useState)([]),[g,h]=(0,f.useState)(!0),[i,j]=(0,f.useState)(null),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(""),[o,p]=(0,f.useState)(null),[q,r]=(0,f.useState)(new Set),s=(0,f.useRef)(!0),t=(0,f.useCallback)(async()=>{try{h(!0);let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/files`,{cache:"no-store"});if(!b.ok)throw Error(`Failed to load files (${b.status})`);let c=await b.json();if(!s.current)return;e(c.files??[]),l(!!c.truncated),j(null)}catch(a){if(!s.current)return;j(a instanceof Error?a.message:"Failed to load files")}finally{s.current&&h(!1)}},[a]),u=(0,f.useMemo)(()=>(function(a){let b={name:"",path:"",children:[],isDir:!0};for(let c of a){let a=c.split("/"),d=b,e="";for(let b=0;b<a.length;b++){let c=a[b];e=e?`${e}/${c}`:c;let f=b===a.length-1,g=d.children.find(a=>a.name===c);g||(g={name:c,path:e,children:[],isDir:!f},d.children.push(g)),d=g}}return function a(b){for(let c of(b.sort((a,b)=>a.isDir!==b.isDir?a.isDir?-1:1:a.name.localeCompare(b.name,void 0,{sensitivity:"base"})),b))c.children.length>0&&a(c.children);return b}(b.children)})(c),[c]),v=(0,f.useMemo)(()=>(function(a,b){if(!b)return a;let c=b.toLowerCase();return function a(b){let d=[];for(let e of b)(function a(b){return!!(b.name.toLowerCase().includes(c)||b.path.toLowerCase().includes(c))||b.children.some(a)})(e)&&(e.isDir?d.push({...e,children:a(e.children)}):d.push(e));return d}(a)})(u,m.trim()),[u,m]),w=(0,f.useCallback)(a=>{r(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),x=(0,f.useCallback)(a=>{p(a)},[]),y=(0,f.useCallback)(()=>{p(null)},[]);if(g&&0===c.length)return(0,d.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(Y.A,{className:"h-4 w-4 animate-spin"}),"Loading workspace files…"]});if(i)return(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-4 text-center",children:[(0,d.jsx)("p",{className:"text-[12px] text-red-400",children:i}),(0,d.jsx)("button",{type:"button",onClick:()=>void t(),className:"text-[11px] text-[var(--vk-text-muted)] underline hover:text-[var(--vk-text-normal)]",children:"Retry"})]});let z=o?(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col lg:hidden",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-2",children:[(0,d.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,d.jsx)(Z,{className:"h-4 w-4"})}),(0,d.jsx)(X,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:o})]}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(ao,{sessionId:a,filePath:o})})]}):null;return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-y-auto overscroll-contain lg:overflow-hidden",children:[z,(0,d.jsxs)("div",{className:`flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-1.5 ${o?"hidden lg:flex":""}`,children:[(0,d.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,d.jsx)($.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{type:"text",value:m,onChange:a=>n(a.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,d.jsx)("button",{type:"button",onClick:()=>void t(),disabled:g,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,d.jsx)(_.A,{className:`h-3.5 w-3.5 ${g?"animate-spin":""}`})})]}),k?(0,d.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 ${o?"hidden lg:block":""}`,children:"File list truncated (4000 file limit)"}):null,(0,d.jsxs)("div",{className:`min-h-0 flex-1 lg:flex lg:flex-row ${o?"hidden lg:flex":"flex flex-col"}`,children:[(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain py-1 lg:max-w-[320px] lg:border-r lg:border-white/8",children:0===v.length?(0,d.jsx)("div",{className:"px-3 py-6 text-center text-[12px] text-[var(--vk-text-muted)]",children:m?"No files match your search.":"No files in workspace."}):v.map(a=>(0,d.jsx)(ai,{node:a,depth:0,selectedPath:o,expandedDirs:q,onToggleDir:w,onSelectFile:x},a.path))}),(0,d.jsx)("div",{className:"hidden min-h-0 min-w-0 flex-1 lg:block",children:o?(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-3 py-2",children:[(0,d.jsx)(X,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:o})]}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(ao,{sessionId:a,filePath:o})})]}):(0,d.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 ar({session:a,sessionId:b,active:c}){let[e,g]=(0,f.useState)("changes"),h=(0,f.useMemo)(()=>ag(a,"task")??ag(a,"prompt")??("string"==typeof a.task?a.task:"")??("string"==typeof a.prompt?a.prompt:""),[a]),i=(0,f.useMemo)(()=>ag(a,"agent")??("string"==typeof a.agent?a.agent:""),[a]),j=(0,f.useMemo)(()=>(function(a,b){if(!a||!b)return"";let c=new Date(a).getTime(),d=new Date(b).getTime();if(!Number.isFinite(c)||!Number.isFinite(d)||d<c)return"";let e=Math.floor((d-c)/6e4);if(e<1)return"<1m";if(e<60)return`${e}m`;let f=Math.floor(e/60);return`${f}h ${e%60}m`})(ag(a,"startedAt")??a.startedAt,ag(a,"finishedAt")??a.finishedAt),[a]),k=(0,f.useMemo)(()=>(function(a){if("number"==typeof a.cost)return a.cost;let b=a.metadata.cost;if("string"!=typeof b)return 0;try{let a=JSON.parse(b),c="number"==typeof a.estimatedCostUsd?a.estimatedCostUsd:0,d="number"==typeof a.totalUSD?a.totalUSD:0;return c??d}catch{return 0}})(a),[a]),l=(0,f.useMemo)(()=>ah(ag(a,"queuePosition")),[a]),m=(0,f.useMemo)(()=>ah(ag(a,"queueDepth")),[a]),n=(0,f.useMemo)(()=>ag(a,"recoveryState")??"",[a]),o=(0,f.useMemo)(()=>"queued"===a.status?l?`Waiting in queue at position ${l}${m?` of ${m}`:""}.`:"Waiting in the launch queue.":"requeued_after_restart"===n?"Session recovered after backend restart and requeued.":"reattach_pending"===n?"Recovering terminal runtime after backend restart.":"detached_runtime"===n?"Backend restarted while agent may still be running.":"resume_required"===n?"Session recovered after restart. Send a message to resume.":"",[m,l,n,a.status]);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-y-auto overscroll-contain lg:overflow-hidden",children:[o?(0,d.jsx)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-2",children:(0,d.jsx)("p",{className:"text-[12px] leading-snug text-amber-300",children:o})}):null,h?(0,d.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2.5",children:(0,d.jsx)("p",{className:"line-clamp-3 whitespace-pre-wrap text-[13px] leading-relaxed text-[var(--vk-text-normal)]",children:h})}):null,(0,d.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,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(ad.N,{seed:{label:i},className:"h-4 w-4"}),(0,d.jsx)("span",{children:i})]}):null,a.branch?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(aa.A,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)(af,{text:a.branch})]}):null,j?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(ab,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{children:j})]}):null,k>0?(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(ac,{className:"h-3 w-3 shrink-0"}),(0,d.jsxs)("span",{children:["$",k.toFixed(3)]})]}):null]}),(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-0 border-b border-white/8 px-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>g("changes"),className:`px-3 py-2 text-[12px] font-medium transition-colors ${"changes"===e?"border-b-2 border-[var(--vk-orange)] text-[var(--vk-text-strong)]":"border-b-2 border-transparent text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"}`,children:"Changes"}),(0,d.jsx)("button",{type:"button",onClick:()=>g("files"),className:`px-3 py-2 text-[12px] font-medium transition-colors ${"files"===e?"border-b-2 border-[var(--vk-orange)] text-[var(--vk-text-strong)]":"border-b-2 border-transparent text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"}`,children:"Files"})]}),(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain",children:"changes"===e?(0,d.jsx)(ae,{sessionId:b,active:c},b):(0,d.jsx)(aq,{sessionId:b,active:c&&"files"===e})})]})}var as=c(140),at=c(48055),au=c(71943),av=c(46818),aw=c(67811);let ax="block h-5 w-5 shrink-0 object-contain",ay=[{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"}],az={finder:{kind:"image",imageSrc:"/icons/ide/finder.svg",className:ax},vscode:{kind:"image",imageSrc:"/icons/ide/vscode-dark.svg",className:ax},"vscode-insiders":{kind:"image",imageSrc:"/icons/ide/vscode-insiders.svg",className:ax},cursor:{kind:"image",imageSrc:"/icons/ide/cursor-dark.svg",className:ax},windsurf:{kind:"image",imageSrc:"/icons/ide/windsurf-dark.svg",className:ax},"intellij-idea":{kind:"image",imageSrc:"/icons/ide/intellij.svg",className:ax},zed:{kind:"image",imageSrc:"/icons/ide/zed-dark.svg",className:ax},xcode:{kind:"image",imageSrc:"/icons/ide/xcode.svg",className:ax},antigravity:{kind:"image",imageSrc:"/icons/ide/antigravity-dark.svg",className:ax},custom:{kind:"icon",className:`${ax} text-[var(--vk-text-muted)]`}};function aA({editorId:a,label:b}){let c=az[a];return c?"icon"===c.kind?(0,d.jsx)(at.A,{className:c?.className??`${ax} text-[var(--vk-text-muted)]`}):(0,d.jsx)("img",{src:c.imageSrc,alt:`${b} logo`,className:c.className}):(0,d.jsx)(at.A,{className:`${ax} text-[var(--vk-text-muted)]`})}function aB({projectId:a,bridgeId:b}){let{preferences:c}=(0,aw.g)(b),[e,g]=(0,f.useState)(null),h=(0,f.useMemo)(()=>{var a;return a=c?.ide??"vscode",ay.find(b=>b.id===a)??{id:a,label:a}},[c?.ide]);async function i(c){if(a&&!e){g(c);try{let d=await fetch((0,av.S)(`/api/projects/${encodeURIComponent(a)}/open`,b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ide:c})}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to open project (${d.status})`)}catch(a){window.alert(a instanceof Error?a.message:"Failed to open project")}finally{g(null)}}}return(0,d.jsxs)(as.bL,{children:[(0,d.jsx)(as.l9,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:!a||null!==e,className:"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","aria-label":"Open project in code editor",title:a?`Open project in ${h.label}`:"No project selected",children:[e?(0,d.jsx)(Y.A,{className:"h-4 w-4 animate-spin text-[var(--vk-text-muted)]"}):(0,d.jsx)(au.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"hidden font-medium sm:inline",children:"Open"}),(0,d.jsx)(T.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"})]})}),(0,d.jsx)(as.ZL,{children:(0,d.jsx)(as.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:ay.map(a=>(0,d.jsxs)(as.q7,{onSelect:()=>void i(a.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,d.jsx)(aA,{editorId:a.id,label:a.label}),(0,d.jsx)("span",{className:"flex-1",children:a.label}),h.id===a.id?(0,d.jsx)(R.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}):null]},a.id))})})]})}let aC=(0,e.default)(()=>c.e(9579).then(c.bind(c,69579)).then(a=>a.SessionTerminal),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionTerminal"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading terminal..."})}),aD=(0,e.default)(()=>c.e(9517).then(c.bind(c,79517)).then(a=>a.SessionPreview),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionPreview"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading preview..."})}),aE=(0,e.default)(()=>c.e(3855).then(c.bind(c,93855)).then(a=>a.SessionSkills),{loadableGenerated:{modules:["components/sessions/SessionDetail.tsx -> ./SessionSkills"]},loading:()=>(0,d.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading skills..."})});function aF(a){return"overview"===a||"terminal"===a||"preview"===a||"skills"===a?a:"terminal"}function aG({sessionId:a,initialSession:b=null,bridgeId:c=null,immersiveMobileMode:e=!1,active:h=!0,suppressPreviewAutoOpen:n=!1,onOpenSidebar:o}){let p=(0,g.usePathname)(),q=(0,g.useRouter)(),r=(0,g.useSearchParams)(),{session:s,loading:t,error:u}=(0,Q.w)(a,b,{enabled:h,bridgeId:c}),v=(0,f.useRef)(0),w=(0,f.useRef)(!1),[x,y]=(0,f.useState)(null),z=(0,f.useMemo)(()=>aF(r.get("tab")),[r]),A=(0,f.useCallback)(a=>{let b=aF(a),c=new URLSearchParams(r.toString());"terminal"===b?c.delete("tab"):c.set("tab",b);let d=c.toString(),e=d.length>0?`${p}?${d}`:p;q.replace(e,{scroll:!1})},[p,q,r]),C=(0,f.useCallback)(a=>{v.current+=1,y({nonce:v.current,...a})},[]),D=(0,f.useCallback)(a=>{(function({active:a,activeTab:b,alreadyOpened:c,connected:d,suppressAutoOpen:e}){return d&&a&&"terminal"===b&&!c&&!e})({active:h,activeTab:z,alreadyOpened:w.current,connected:a,suppressAutoOpen:n})&&(w.current=!0,A("preview"))},[h,z,A,n]);if(t)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(O.Zp,{className:"w-full max-w-md",children:(0,d.jsx)(O.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Loading session workspace..."})})});if(u)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(O.Zp,{className:"w-full max-w-md border-[color:color-mix(in_srgb,var(--status-error)_45%,transparent)]",children:(0,d.jsx)(O.Wu,{className:"py-7 text-center text-[13px] text-[var(--status-error)]",children:u})})});if(!s)return(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,d.jsx)(O.Zp,{className:"w-full max-w-md",children:(0,d.jsx)(O.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Session not found"})})});let E="string"==typeof s.status?s.status:"unknown",F=function(a){switch(a){case"needs_input":return"needs input";case"working":return"working";case"running":return"running";case"spawning":return"spawning";case"queued":return"queued";default:return a.replace(/[_-]+/g," ")}}(E),G=function(a){switch(a){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-orange-500";case"terminated":case"killed":return"bg-gray-500"}}(E),H="working"===E||"running"===E||"spawning"===E||"queued"===E||"needs_input"===E,I="queued"!==E&&"spawning"!==E,J=h&&e&&"terminal"===z,K=h&&"preview"===z,R="min-h-[38px] gap-1.5 px-2.5 text-[12px] sm:min-h-0 sm:px-3",S=(0,d.jsxs)(L,{className:"flex w-full overflow-x-auto sm:w-fit sm:inline-flex",children:[(0,d.jsxs)(M,{value:"overview",className:R,children:[(0,d.jsx)(i,{className:"h-3.5 w-3.5"}),"Overview"]}),(0,d.jsxs)(M,{value:"terminal",className:R,children:[(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"}),"Terminal"]}),(0,d.jsxs)(M,{value:"preview",className:R,children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5"}),"Preview"]}),(0,d.jsxs)(M,{value:"skills",className:R,children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Skills"]})]});return(0,d.jsx)("div",{className:`flex h-full min-h-0 min-w-0 w-full flex-col ${J?"overflow-hidden bg-[#060404]":"overflow-y-auto overscroll-contain lg:overflow-hidden"}`,children:(0,d.jsxs)(B,{value:z,onValueChange:A,className:J?"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:[J?(0,d.jsxs)("div",{className:"flex shrink-0 flex-col border-b border-white/10 bg-[#0d0908]",children:[(0,d.jsxs)("div",{className:"flex h-10 items-center gap-2 px-2",children:[o?(0,d.jsx)(P.$,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:o,"aria-label":"Open workspace panel",children:(0,d.jsx)(m.A,{className:"h-4 w-4"})}):null,(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[(0,d.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${G}${H?" animate-pulse":""}`}),(0,d.jsx)("span",{className:"text-[12px] font-medium text-[#efe8e1]",children:F}),(0,d.jsxs)("span",{className:"font-mono text-[10px] text-[#8e847d]",children:["\xb7 ",a.slice(0,7)]})]}),I?(0,d.jsx)(aB,{projectId:s.projectId,bridgeId:s.bridgeId??null}):null]}),(0,d.jsx)("div",{className:"px-1.5 pb-1.5",children:S})]}):(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1.5 sm:flex-nowrap",children:[S,(0,d.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:ml-auto sm:w-auto sm:justify-end",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${G}${H?" animate-pulse":""}`}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:F}),(0,d.jsxs)("span",{className:"hidden font-mono text-[10px] text-[var(--vk-text-muted)] sm:inline",children:["\xb7 ",a.slice(0,7)]})]}),I?(0,d.jsx)(aB,{projectId:s.projectId,bridgeId:s.bridgeId??null}):null]})]}),(0,d.jsxs)("div",{className:"relative min-h-0 min-w-0 flex-1 overflow-hidden",children:[(0,d.jsx)(N,{value:"overview",className:"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",children:(0,d.jsx)(ar,{session:s,sessionId:a,active:h&&"overview"===z})}),(0,d.jsx)(N,{value:"terminal",forceMount:!0,className:J?"flex min-h-0 h-full min-w-0 w-full flex-col overflow-hidden bg-[#060404] 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":"flex min-h-0 h-full min-w-0 flex-col w-full overflow-hidden bg-transparent 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",children:(0,d.jsx)(aC,{sessionId:a,projectId:s.projectId,bridgeId:s.bridgeId??null,sessionState:E,runtimeMode:s.metadata.runtimeMode?.trim()??null,pendingInsert:x,immersiveMobileMode:J})}),(0,d.jsx)(N,{value:"preview",className:"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",children:K?(0,d.jsx)(aD,{sessionId:a,active:K,onQueueTerminalInsert:C,onConnectionChange:D},a):null}),(0,d.jsx)(N,{value:"skills",className:"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",children:(0,d.jsx)(aE,{session:s,sessionId:a,active:h&&"skills"===z})})]})]},a)})}},52404:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},54761:(a,b,c)=>{c.d(b,{Wu:()=>h,Zp:()=>f,aR:()=>g});var d=c(92692),e=c(93544);let f=(0,c(71277).forwardRef)(({className:a,...b},c)=>(0,d.jsx)("div",{ref:c,className:(0,e.cn)("surface-card rounded-[var(--radius-md)] border",a),...b}));function g({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("px-3 py-2",a),...b})}f.displayName="Card"},57658:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},59789:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},67811:(a,b,c)=>{c.d(b,{g:()=>g});var d=c(71277),e=c(46818);function f(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function g(a,b){let c=b?.enabled??!0,[g,h]=(0,d.useState)(null),[i,j]=(0,d.useState)(c),[k,l]=(0,d.useState)(null),m=(0,d.useCallback)(async()=>{if(!c){h(null),l(null),j(!1);return}try{var b;let c,d,g,i=await fetch((0,e.S)("/api/preferences",a)),j=await i.json().catch(()=>null);if(!i.ok)throw Error(j?.error??j?.reason??`Failed to load preferences: ${i.status}`);h((b=j?.preferences,c=f(b),g=(d=f(c.notifications)).soundFile,{onboardingAcknowledged:!0===c.onboardingAcknowledged,codingAgent:"string"==typeof c.codingAgent&&c.codingAgent.trim().length>0?c.codingAgent.trim():"claude-code",ide:"string"==typeof c.ide&&c.ide.trim().length>0?c.ide.trim():"vscode",markdownEditor:"string"==typeof c.markdownEditor&&c.markdownEditor.trim().length>0?c.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof c.markdownEditorPath?c.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==d.soundEnabled,soundFile:null===g?null:"string"==typeof g&&g.trim().length>0?g.trim():"abstract-sound-4"}})),l(null)}catch(a){h(null),l(a instanceof Error?a.message:"Failed to load preferences")}finally{j(!1)}},[a,c]);return{preferences:c?g:null,loading:!!c&&i,error:c?k:null,refresh:m}}},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},79101:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])}};
@@ -1 +1 @@
1
- exports.id=7909,exports.ids=[7909],exports.modules={28218:(a,b,c)=>{"use strict";function d(a){if(!a)return"/";let b=a.trim();return!b.startsWith("/")||b.startsWith("//")?"/":b}c.d(b,{l:()=>d})},32679:(a,b,c)=>{"use strict";c.d(b,{Zn:()=>o,we:()=>n,ny:()=>K,VK:()=>l,sB:()=>L,G1:()=>N,Kn:()=>w,o0:()=>O,iJ:()=>m});var d=c(73024),e=c(76760),f=c(12049),g=c(9330),h=c(77873),i=c(72544),j=c(28218);function k(a){let b=(0,j.l)(a??"/");return"/sign-in"===b||"/sign-in/"===b||b.startsWith("/sign-in?")||b.startsWith("/sign-in/")?"/":b}function l(a=!1){return a?"/bridge/connect":"/"}function m(a,b,c){let d=k(c),e=function(a,b,c){let d=k(c);if(!a)return d;let e=(0,j.l)(a);if("/"!==e||"/"===a.trim())return e;let f=(b??"").trim();if(!f)return d;try{let b=new URL(a,f),c=new URL(f);if(b.origin!==c.origin)return d;return(0,j.l)(`${b.pathname}${b.search}${b.hash}`)}catch{return d}}(a,b,d);return"/sign-in"===e||"/sign-in/"===e||e.startsWith("/sign-in?")||e.startsWith("/sign-in/")?d:e}function n(a,b){let c=k(b),d=m(a,void 0,c);if(d===c&&"/"===d)return"/sign-in";let e=new URLSearchParams({redirect_url:d});return`/sign-in?${e.toString()}`}function o(a,b,c,d){let e=(a??"").trim(),f=(b??"").trim();if(!e||!f)return null;try{let a=new URL(e,f),b=new URL("/sign-in",f);if(a.origin===b.origin&&a.pathname===b.pathname)return null;let g=new URL(m(c,f,d),f);return a.searchParams.set("redirect_url",g.toString()),a.toString()}catch{return null}}var p=c(72460),q=c(33929),r=c(72504);let s="cloudflare-access",t=new Map;function u(a){return a?.trim()||null}async function v(a,b){let c,d,e=(c=function(a){let b=u(a);if(!b)return null;try{return new URL(b.includes("://")?b:`https://${b}`).hostname.toLowerCase()}catch{return b.replace(/^https?:\/\//i,"").replace(/\/+$/g,"").toLowerCase()}}(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_TEAM_DOMAIN??b?.trustedHeaders?.teamDomain),d=u(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_AUDIENCE??b?.trustedHeaders?.audience),{enabled:b?.trustedHeaders?.enabled===!0||"true"===(process.env.CONDUCTOR_TRUST_AUTH_HEADERS??"").trim().toLowerCase(),provider:"generic"===(u(process.env.CONDUCTOR_TRUST_AUTH_PROVIDER)?.toLowerCase()||b?.trustedHeaders?.provider||(c||d?s:null))?"generic":s,emailHeader:u(process.env.CONDUCTOR_TRUST_AUTH_EMAIL_HEADER)??u(b?.trustedHeaders?.emailHeader)??"Cf-Access-Authenticated-User-Email",jwtHeader:u(process.env.CONDUCTOR_TRUST_AUTH_JWT_HEADER)??u(b?.trustedHeaders?.jwtHeader)??"Cf-Access-Jwt-Assertion",teamDomain:c,audience:d});if(!e.enabled)return null;if(e.provider!==s)return a.get(e.emailHeader)?.trim().toLowerCase()?{ok:!1,reason:"Generic trusted-header mode has been removed. Configure verified Cloudflare Access instead.",provider:"trusted-header"}:null;let f=a.get(e.jwtHeader)?.trim()??"";if(!f)return null;if(!e.teamDomain||!e.audience)return{ok:!1,reason:"Cloudflare Access is enabled but team domain or audience is missing.",provider:"cloudflare-access"};try{let{payload:b}=await (0,r.V)(f,function(a){let b=t.get(a);if(b)return b;let c=(0,q.RD)(new URL(`https://${a}/cdn-cgi/access/certs`));return t.set(a,c),c}(e.teamDomain),{audience:e.audience,issuer:`https://${e.teamDomain}`}),c=function(a){let b=a.email;if("string"==typeof b&&b.trim().length>0)return b.trim().toLowerCase();let c=a.sub;return"string"==typeof c&&c.includes("@")?c.trim().toLowerCase():null}(b);if(!c)return{ok:!1,reason:"Cloudflare Access token is missing an email claim.",provider:"cloudflare-access"};let d=a.get(e.emailHeader)?.trim().toLowerCase()??"";if(d&&d!==c)return{ok:!1,reason:"Cloudflare Access email header does not match the verified token.",provider:"cloudflare-access"};return{ok:!0,email:c,provider:"cloudflare-access"}}catch(a){return{ok:!1,reason:a instanceof Error&&a.message.trim().length>0?a.message:"Cloudflare Access token verification failed",provider:"cloudflare-access"}}}function w(a){let b;return"true"===(b=(process.env.CONDUCTOR_REQUIRE_PAIRED_DEVICE??process.env.NEXT_PUBLIC_CONDUCTOR_REQUIRE_PAIRED_DEVICE??"").trim().toLowerCase())||"1"===b||"yes"===b||!!(a.provider&&"local"!==a.provider)}let x=globalThis,y=["conductor.yaml","conductor.yml"];function z(a){return(a??"").split(",").map(a=>a.trim().toLowerCase()).filter(Boolean)}function A(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function B(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean);return b.length>0?b:void 0}function C(a){for(let b of y){let c=(0,e.resolve)(a,b);if((0,d.existsSync)(c))return c}return null}function D(a,b){try{let c=new URL(a,b?`https://${b}`:void 0),d=c.hostname.toLowerCase(),e=c.port||"443";return{hostname:d,port:e,host:`${d}:${e}`}}catch{return null}}function E(){return{allowedEmails:z(process.env.CONDUCTOR_ALLOWED_EMAILS),allowedDomains:z(process.env.CONDUCTOR_ALLOWED_DOMAINS),adminEmails:z(process.env.CONDUCTOR_ADMIN_EMAILS)}}async function F(a){return a?a.headers:(0,g.headers)()}async function G(a){if(a){try{let b=new URL(a.url).hostname.trim().toLowerCase();if(b)return b}catch{}let b=(0,p.Pn)(a.headers);return b||""}let b=await (0,g.headers)();return(0,p.Pn)(b)}function H(a,b){let c;if(!function(a){let b=a.trim().toLowerCase(),{allowedEmails:c,allowedDomains:d,adminEmails:e}=E(),f=0===c.length||c.includes(b)||e.includes(b),g=0===d.length||d.some(a=>b.endsWith(`@${a}`));return f&&g}(a))return{ok:!1,authenticated:!0,email:a,reason:"Email/domain not allowed"};let d="viewer"===(c=process.env.CONDUCTOR_ACCESS_DEFAULT_ROLE?.trim().toLowerCase())||"operator"===c||"admin"===c?c:b?.defaultRole??null,e=(0,i.Qq)(a,d?{...b,defaultRole:d}:b,E());return e.role?{ok:!0,authenticated:!0,email:a,role:e.role}:{ok:!1,authenticated:!0,email:a,reason:"Authenticated user is not granted dashboard access"}}async function I(a,b){let c=await F(a),d=await v(c,b);return d?d.ok?{...H(d.email,b),provider:d.provider}:{ok:!1,authenticated:!1,reason:d.reason,provider:d.provider}:null}async function J(a,b){let d=(0,p.EO)(b);if(!d.enabled)return"production-origin-mismatch"===d.reason?{ok:!1,authenticated:!1,reason:"Preview auth is misconfigured. Use Clerk development keys for this preview deployment or move it onto a conductross.com subdomain.",provider:"clerk"}:null;if(!d.secretKeyAvailable)return{ok:!1,authenticated:!1,reason:"Authentication service is unavailable. Check Clerk env vars and retry.",provider:"clerk"};try{let{currentUser:b}=await Promise.all([c.e(7776),c.e(3160)]).then(c.bind(c,13160)),d=await b();if(!d)return{ok:!1,authenticated:!1,reason:"Not authenticated",provider:"clerk"};let e=d.emailAddresses.find(a=>a.id===d.primaryEmailAddressId)?.emailAddress??d.emailAddresses[0]?.emailAddress??"";if(!e)return{ok:!1,authenticated:!0,reason:"No email on account",provider:"clerk"};let f=e.toLowerCase(),g=H(f,a);if(!g.ok)return{...g,provider:"clerk"};let h=(process.env.CONDUCTOR_REQUIRE_APPROVAL??"true")==="true",i=E().adminEmails;if(h&&!i.includes(f)&&!0!==(d.publicMetadata??{}).conductorApproved)return{ok:!1,authenticated:!0,email:f,provider:"clerk",reason:"Awaiting manual approval"};return{...g,provider:"clerk"}}catch{return{ok:!1,authenticated:!1,reason:"Authentication service is unavailable. Check Clerk env vars and retry.",provider:"clerk"}}}async function K(a){let b=function(){let a=function(){let a=process.env.CO_CONFIG_PATH?.trim();if(a){let b=(0,e.resolve)(a);return(0,d.existsSync)(b)?b:null}let b=process.env.CONDUCTOR_WORKSPACE?.trim();if(b){let a=(0,e.resolve)(b);if(/^conductor\.ya?ml$/i.test((0,e.basename)(a)))return(0,d.existsSync)(a)?a:null;let c=C(a);if(c)return c}let c=process.cwd();for(let a of[c,(0,e.resolve)(c,".."),(0,e.resolve)(c,"../..")]){let b=C(a);if(b)return b}return null}(),b=a?(()=>{try{return(0,d.statSync)(a).mtimeMs}catch{return null}})():null;if(x._conductorDashboardConfig&&x._conductorDashboardConfigPath===a&&x._conductorDashboardConfigMtimeMs===b)return x._conductorDashboardConfig;let c={access:null,dashboardUrl:null};if(!a)return x._conductorDashboardConfig=c,x._conductorDashboardConfigPath=null,x._conductorDashboardConfigMtimeMs=null,c;try{let c,e=(c=(0,f.qg)((0,d.readFileSync)(a,"utf8")),{access:function(a){var b;let c=A(a);if(0===Object.keys(c).length)return null;let d=A(c.trustedHeaders),e=A(c.roles);return{requireAuth:!0===c.requireAuth||void 0,defaultRole:"viewer"===(b=c.defaultRole)||"operator"===b||"admin"===b?b:void 0,trustedHeaders:Object.keys(d).length>0?{enabled:!0===d.enabled||void 0,provider:"generic"===d.provider||"cloudflare-access"===d.provider?d.provider:void 0,emailHeader:"string"==typeof d.emailHeader?d.emailHeader:void 0,jwtHeader:"string"==typeof d.jwtHeader?d.jwtHeader:void 0,teamDomain:"string"==typeof d.teamDomain?d.teamDomain:void 0,audience:"string"==typeof d.audience?d.audience:void 0}:void 0,roles:Object.keys(e).length>0?{viewers:B(e.viewers),operators:B(e.operators),admins:B(e.admins),viewerDomains:B(e.viewerDomains),operatorDomains:B(e.operatorDomains),adminDomains:B(e.adminDomains)}:void 0}}(c?.access),dashboardUrl:"string"==typeof c?.dashboardUrl&&c.dashboardUrl.trim().length>0?c.dashboardUrl.trim():null});return x._conductorDashboardConfig=e,x._conductorDashboardConfigPath=a,x._conductorDashboardConfigMtimeMs=b,e}catch{return x._conductorDashboardConfig=c,x._conductorDashboardConfigPath=a,x._conductorDashboardConfigMtimeMs=b,c}}().access,c=await G(a),g=(0,i.cW)(c),h=await I(a,b);if(h)return h;let j=await J(b,c);return j?j:(b?.requireAuth===!0||"true"===(process.env.CONDUCTOR_REQUIRE_AUTH??"").trim().toLowerCase()||function(){let{allowedEmails:a,allowedDomains:b,adminEmails:c}=E();a.length>0||b.length>0||c.length}(),g?{ok:!0,authenticated:!1,role:"admin",email:"local",provider:"local"}:{ok:!1,authenticated:!1,reason:"Authentication is required for non-local dashboard access"})}async function L(a,b="viewer"){let c=await K(a);return c.ok?c.role&&(0,i.eT)(c.role,b)?null:h.NextResponse.json({error:"Insufficient permissions",reason:`Requires ${b} access`,email:c.email??null,role:c.role??null},{status:403}):h.NextResponse.json({error:"Access denied",reason:c.reason,email:c.email??null},{status:403})}function M(a,b,c){let d=D(a,b);if(!d)return!1;if(c.has(d.host.toLowerCase()))return!0;var e=d.host;if(e.toLowerCase()===b.toLowerCase())return!0;let f=D(`https://${b}`),g=D(`https://${e}`);return!!f&&!!g&&f.port===g.port&&(f.hostname===g.hostname||(0,i.cW)(f.hostname)&&(0,i.cW)(g.hostname))}function N(a){return function(a){let b=a.nextUrl.host.trim().toLowerCase()||a.headers.get("host")?.trim().toLowerCase()||"";if(!b)return null;let c=function(a){let b=new Set([a.toLowerCase()]);for(let c of z(process.env.CONDUCTOR_ALLOWED_ORIGINS)){if(!c)continue;let d=D(c.includes("://")?c:`https://${c}`,a);if(d){b.add(d.host.toLowerCase());continue}b.add(c.toLowerCase())}return b}(b),d=a.headers.get("sec-fetch-site")?.toLowerCase();if(d&&"none"!==d&&"same-origin"!==d&&"same-site"!==d)return h.NextResponse.json({error:"Invalid request context",reason:"Cross-site requests are not allowed for agent-control actions."},{status:403});let e=a.headers.get("origin"),f=e&&"null"!==e?e:null;if(f&&!M(f,b,c))return h.NextResponse.json({error:"Invalid request origin",reason:"Cross-origin requests are not allowed for agent-control actions."},{status:403});let g=a.headers.get("referer")??a.headers.get("referrer");return f||!g||M(g,b,c)?null:h.NextResponse.json({error:"Invalid request origin",reason:"Cross-site requests are not allowed for agent-control actions."},{status:403})}(a)}async function O(a,b="viewer"){let c=await K();if(c.ok&&c.role&&(0,i.eT)(c.role,b))return null;let d=(0,j.l)(a);if("clerk"===c.provider&&!c.authenticated)return n(d);let e=new URLSearchParams({error:"unavailable"});return"/"!==d&&e.set("next",d),`/unlock?${e.toString()}`}},72460:(a,b,c)=>{"use strict";c.d(b,{EO:()=>l,Pn:()=>j,Z2:()=>h,kE:()=>k});var d=c(72544);function e(a){return(a??"").trim()}function f(a){let b=e(a);if(!b)return null;let c=b.includes("://")?b:`https://${b}`;try{let a=new URL(c);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return{hostname:a.hostname.toLowerCase(),host:a.host.toLowerCase()}}catch{return null}}function g(a){let b=e(a);if(!b)return null;if(b.startsWith("/"))return b.replace(/\/+$/,"")||"/";let c=b.includes("://")?b:`https://${b}`;try{let a=new URL(c);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;let b=a.pathname.replace(/\/+$/,"");return`${a.origin}${b||""}`}catch{return null}}function h(){let a=e(process.env.CLERK_FAPI_URL);if(a)return a.replace(/\/+$/,"");let b=e(process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY).match(/^pk_(?:test|live)_(.+)$/);if(!b)return null;let c=function(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=(4-b.length%4)%4,d=b.padEnd(b.length+c,"=");try{return Buffer.from(d,"base64").toString("utf8")}catch{return null}}(b[1]);if(!c)return null;let d=c.replace(/\$+$/,"").trim().replace(/\/+$/,"");return d?d.startsWith("https://")||d.startsWith("http://")?d.replace(/\/+$/,""):`https://${d}`:null}function i(a,b,c){if(!a)return c;if(a.startsWith("/"))return a;let d=e(b);if(!d)return c;try{let b=new URL(a),e=new URL(d);if(b.origin!==e.origin)return c;return b.pathname.replace(/\/+$/,"")||"/"}catch{return c}}function j(a){return f(a.get("host")??"")?.hostname??""}function k(a){let b=f(a.get("host")??"");if(!b)return null;let c=(0,d.cW)(b.hostname)?"http":"https";return`${c}://${b.host}`}function l(a,b){let c,f=e(process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY)||null,j=e(process.env.CLERK_SECRET_KEY),k=e(b)||null,l=function(a){let b=new Set,c=a=>{let c=function(a){let b=e(a);if(!b)return null;let c=b.includes("://")?b:`https://${b}`;try{let a=new URL(c);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.origin}catch{return null}}(a);c&&b.add(c)};for(let b of(c(a),e(process.env.CONDUCTOR_ALLOWED_ORIGINS).split(",")))c(b);return[...b]}(k),m=!!j;if(!f)return{enabled:!1,publishableKey:f,secretKeyAvailable:m,proxyUrl:null,clerkJSUrl:null,signInUrl:null,signUpUrl:null,hostedSignInUrl:null,allowedRedirectOrigins:l,reason:"missing-publishable-key"};let n=function(a){let b=e(a);if(!b)return null;if(b.startsWith("/"))return b.replace(/\/+$/,"")||"/";let c=b.includes("://")?b:`https://${b}`;try{let a=new URL(c);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;let b=a.pathname.replace(/\/+$/,"");return`${a.origin}${b||""}`}catch{return null}}(process.env.NEXT_PUBLIC_CLERK_PROXY_URL??process.env.CLERK_PROXY_URL),o=h();if(!n&&!((c=e(f)).startsWith("pk_test_")||c.startsWith("sk_test_"))&&!function(a,b){let c=e(a).toLowerCase().replace(/^\[|\]$/g,"");if(!c||(0,d.cW)(c))return!0;let f=function(a){if(!a)return null;try{let b=new URL(a).hostname.toLowerCase(),c=b.split(".").filter(Boolean);if(c.length<=2)return b;return c.slice(1).join(".")}catch{return null}}(b);return!f||c===f||c.endsWith(`.${f}`)}(a,o))return{enabled:!1,publishableKey:f,secretKeyAvailable:m,proxyUrl:null,clerkJSUrl:null,signInUrl:null,signUpUrl:null,hostedSignInUrl:null,allowedRedirectOrigins:l,reason:"production-origin-mismatch"};let p=g(process.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL??process.env.CLERK_SIGN_IN_URL),q=g(process.env.NEXT_PUBLIC_CLERK_SIGN_UP_URL??process.env.CLERK_SIGN_UP_URL),r=g(process.env.NEXT_PUBLIC_CLERK_HOSTED_SIGN_IN_URL??process.env.CLERK_HOSTED_SIGN_IN_URL),s=i(p,k,"/sign-in"),t=i(q,k,null),u=function(a,b){if(!a||a.startsWith("/"))return null;let c=e(b);try{let b=new URL(a);if(!c)return a;let d=new URL(c);return b.origin===d.origin?null:a}catch{return null}}(r??p,k),v=!(0,d.cW)(a)&&n?n:null,w=v?`${v}/npm/@clerk/clerk-js@5/dist/clerk.browser.js`:null;return{enabled:!0,publishableKey:f,secretKeyAvailable:m,proxyUrl:v,clerkJSUrl:w,signInUrl:s,signUpUrl:t,hostedSignInUrl:u,allowedRedirectOrigins:l,reason:null}}},72544:(a,b,c)=>{"use strict";c.d(b,{Qq:()=>i,cW:()=>g,eT:()=>h});let d={viewer:0,operator:1,admin:2};function e(a){return(a??[]).map(a=>a.trim().toLowerCase()).filter(Boolean)}function f(a,b,c){return b.includes(a)||c.some(b=>a.endsWith(`@${b}`))}function g(a){let b=(a??"").trim().toLowerCase();return"localhost"===b||"127.0.0.1"===b||"0.0.0.0"===b||"::1"===b||"[::1]"===b}function h(a,b){return d[a]>=d[b]}function i(a,b,c){let d=a.trim().toLowerCase(),g=b?.roles,h=[...e(g?.admins),...e(c?.adminEmails)],i=[...e(g?.operators),...e(c?.allowedEmails)],j=e(g?.viewers),k=e(g?.adminDomains),l=[...e(g?.operatorDomains),...e(c?.allowedDomains)],m=e(g?.viewerDomains),n=!!g&&(e(g.viewers).length>0||e(g.operators).length>0||e(g.admins).length>0||e(g.viewerDomains).length>0||e(g.operatorDomains).length>0||e(g.adminDomains).length>0)||h.length>0||i.length>0||l.length>0;return f(d,h,k)?{role:"admin",matchedBinding:!0,explicitBindingsConfigured:n}:f(d,i,l)?{role:"operator",matchedBinding:!0,explicitBindingsConfigured:n}:f(d,j,m)?{role:"viewer",matchedBinding:!0,explicitBindingsConfigured:n}:b?.defaultRole?{role:b.defaultRole,matchedBinding:!1,explicitBindingsConfigured:n}:n?{role:null,matchedBinding:!1,explicitBindingsConfigured:n}:{role:"operator",matchedBinding:!1,explicitBindingsConfigured:n}}},80408:()=>{},87032:()=>{}};
1
+ exports.id=7909,exports.ids=[7909],exports.modules={28218:(a,b,c)=>{"use strict";function d(a){if(!a)return"/";let b=a.trim();return!b.startsWith("/")||b.startsWith("//")?"/":b}c.d(b,{l:()=>d})},32679:(a,b,c)=>{"use strict";c.d(b,{Zn:()=>o,we:()=>n,ny:()=>K,VK:()=>l,sB:()=>L,G1:()=>N,Kn:()=>w,o0:()=>O,iJ:()=>m});var d=c(73024),e=c(76760),f=c(12049),g=c(9330),h=c(77873),i=c(72544),j=c(28218);function k(a){let b=(0,j.l)(a??"/");return"/sign-in"===b||"/sign-in/"===b||b.startsWith("/sign-in?")||b.startsWith("/sign-in/")?"/":b}function l(a=!1){return a?"/bridge/connect":"/"}function m(a,b,c){let d=k(c),e=function(a,b,c){let d=k(c);if(!a)return d;let e=(0,j.l)(a);if("/"!==e||"/"===a.trim())return e;let f=(b??"").trim();if(!f)return d;try{let b=new URL(a,f),c=new URL(f);if(b.origin!==c.origin)return d;return(0,j.l)(`${b.pathname}${b.search}${b.hash}`)}catch{return d}}(a,b,d);return"/sign-in"===e||"/sign-in/"===e||e.startsWith("/sign-in?")||e.startsWith("/sign-in/")?d:e}function n(a,b){let c=k(b),d=m(a,void 0,c);if(d===c&&"/"===d)return"/sign-in";let e=new URLSearchParams({redirect_url:d});return`/sign-in?${e.toString()}`}function o(a,b,c,d){let e=(a??"").trim(),f=(b??"").trim();if(!e||!f)return null;try{let a=new URL(e,f),b=new URL("/sign-in",f);if(a.origin===b.origin&&a.pathname===b.pathname)return null;let g=new URL(m(c,f,d),f);return a.searchParams.set("redirect_url",g.toString()),a.toString()}catch{return null}}var p=c(72460),q=c(33929),r=c(72504);let s="cloudflare-access",t=new Map;function u(a){return a?.trim()||null}async function v(a,b){let c,d,e=(c=function(a){let b=u(a);if(!b)return null;try{return new URL(b.includes("://")?b:`https://${b}`).hostname.toLowerCase()}catch{return b.replace(/^https?:\/\//i,"").replace(/\/+$/g,"").toLowerCase()}}(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_TEAM_DOMAIN??b?.trustedHeaders?.teamDomain),d=u(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_AUDIENCE??b?.trustedHeaders?.audience),{enabled:b?.trustedHeaders?.enabled===!0||"true"===(process.env.CONDUCTOR_TRUST_AUTH_HEADERS??"").trim().toLowerCase(),provider:"generic"===(u(process.env.CONDUCTOR_TRUST_AUTH_PROVIDER)?.toLowerCase()||b?.trustedHeaders?.provider||(c||d?s:null))?"generic":s,emailHeader:u(process.env.CONDUCTOR_TRUST_AUTH_EMAIL_HEADER)??u(b?.trustedHeaders?.emailHeader)??"Cf-Access-Authenticated-User-Email",jwtHeader:u(process.env.CONDUCTOR_TRUST_AUTH_JWT_HEADER)??u(b?.trustedHeaders?.jwtHeader)??"Cf-Access-Jwt-Assertion",teamDomain:c,audience:d});if(!e.enabled)return null;if(e.provider!==s)return a.get(e.emailHeader)?.trim().toLowerCase()?{ok:!1,reason:"Generic trusted-header mode has been removed. Configure verified Cloudflare Access instead.",provider:"trusted-header"}:null;let f=a.get(e.jwtHeader)?.trim()??"";if(!f)return null;if(!e.teamDomain||!e.audience)return{ok:!1,reason:"Cloudflare Access is enabled but team domain or audience is missing.",provider:"cloudflare-access"};try{let{payload:b}=await (0,r.V)(f,function(a){let b=t.get(a);if(b)return b;let c=(0,q.RD)(new URL(`https://${a}/cdn-cgi/access/certs`));return t.set(a,c),c}(e.teamDomain),{audience:e.audience,issuer:`https://${e.teamDomain}`}),c=function(a){let b=a.email;if("string"==typeof b&&b.trim().length>0)return b.trim().toLowerCase();let c=a.sub;return"string"==typeof c&&c.includes("@")?c.trim().toLowerCase():null}(b);if(!c)return{ok:!1,reason:"Cloudflare Access token is missing an email claim.",provider:"cloudflare-access"};let d=a.get(e.emailHeader)?.trim().toLowerCase()??"";if(d&&d!==c)return{ok:!1,reason:"Cloudflare Access email header does not match the verified token.",provider:"cloudflare-access"};return{ok:!0,email:c,provider:"cloudflare-access"}}catch(a){return{ok:!1,reason:a instanceof Error&&a.message.trim().length>0?a.message:"Cloudflare Access token verification failed",provider:"cloudflare-access"}}}function w(a){let b;return"true"===(b=(process.env.CONDUCTOR_REQUIRE_PAIRED_DEVICE??process.env.NEXT_PUBLIC_CONDUCTOR_REQUIRE_PAIRED_DEVICE??"").trim().toLowerCase())||"1"===b||"yes"===b||!!(a.provider&&"local"!==a.provider)}let x=globalThis,y=["conductor.yaml","conductor.yml"];function z(a){return(a??"").split(",").map(a=>a.trim().toLowerCase()).filter(Boolean)}function A(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function B(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean);return b.length>0?b:void 0}function C(a){for(let b of y){let c=(0,e.resolve)(a,b);if((0,d.existsSync)(c))return c}return null}function D(a,b){try{let c=new URL(a,b?`https://${b}`:void 0),d=c.hostname.toLowerCase(),e=c.port||"443";return{hostname:d,port:e,host:`${d}:${e}`}}catch{return null}}function E(){return{allowedEmails:z(process.env.CONDUCTOR_ALLOWED_EMAILS),allowedDomains:z(process.env.CONDUCTOR_ALLOWED_DOMAINS),adminEmails:z(process.env.CONDUCTOR_ADMIN_EMAILS)}}async function F(a){return a?a.headers:(0,g.headers)()}async function G(a){if(a){try{let b=new URL(a.url).hostname.trim().toLowerCase();if(b)return b}catch{}let b=(0,p.Pn)(a.headers);return b||""}let b=await (0,g.headers)();return(0,p.Pn)(b)}function H(a,b){let c;if(!function(a){let b=a.trim().toLowerCase(),{allowedEmails:c,allowedDomains:d,adminEmails:e}=E(),f=0===c.length||c.includes(b)||e.includes(b),g=0===d.length||d.some(a=>b.endsWith(`@${a}`));return f&&g}(a))return{ok:!1,authenticated:!0,email:a,reason:"Email/domain not allowed"};let d="viewer"===(c=process.env.CONDUCTOR_ACCESS_DEFAULT_ROLE?.trim().toLowerCase())||"operator"===c||"admin"===c?c:b?.defaultRole??null,e=(0,i.Qq)(a,d?{...b,defaultRole:d}:b,E());return e.role?{ok:!0,authenticated:!0,email:a,role:e.role}:{ok:!1,authenticated:!0,email:a,reason:"Authenticated user is not granted dashboard access"}}async function I(a,b){let c=await F(a),d=await v(c,b);return d?d.ok?{...H(d.email,b),provider:d.provider}:{ok:!1,authenticated:!1,reason:d.reason,provider:d.provider}:null}async function J(a,b){let d=(0,p.EO)(b);if(!d.enabled)return"production-origin-mismatch"===d.reason?{ok:!1,authenticated:!1,reason:"Preview auth is misconfigured. Use Clerk development keys for this preview deployment or move it onto a conductross.com subdomain.",provider:"clerk"}:null;if(!d.secretKeyAvailable)return{ok:!1,authenticated:!1,reason:"Authentication service is unavailable. Check Clerk env vars and retry.",provider:"clerk"};try{let{currentUser:b}=await Promise.all([c.e(7776),c.e(3160)]).then(c.bind(c,13160)),d=await b();if(!d)return{ok:!1,authenticated:!1,reason:"Not authenticated",provider:"clerk"};let e=d.emailAddresses.find(a=>a.id===d.primaryEmailAddressId)?.emailAddress??d.emailAddresses[0]?.emailAddress??"";if(!e)return{ok:!1,authenticated:!0,reason:"No email on account",provider:"clerk"};let f=e.toLowerCase(),g=H(f,a);if(!g.ok)return{...g,provider:"clerk"};let h=(process.env.CONDUCTOR_REQUIRE_APPROVAL??"true")==="true",i=E().adminEmails;if(h&&!i.includes(f)&&!0!==(d.publicMetadata??{}).conductorApproved)return{ok:!1,authenticated:!0,email:f,provider:"clerk",reason:"Awaiting manual approval"};return{...g,provider:"clerk"}}catch{return{ok:!1,authenticated:!1,reason:"Authentication service is unavailable. Check Clerk env vars and retry.",provider:"clerk"}}}async function K(a){let b=function(){let a=function(){let a=process.env.CO_CONFIG_PATH?.trim();if(a){let b=(0,e.resolve)(a);return(0,d.existsSync)(b)?b:null}let b=process.env.CONDUCTOR_WORKSPACE?.trim();if(b){let a=(0,e.resolve)(b);if(/^conductor\.ya?ml$/i.test((0,e.basename)(a)))return(0,d.existsSync)(a)?a:null;let c=C(a);if(c)return c}let c=process.cwd();for(let a of[c,(0,e.resolve)(c,".."),(0,e.resolve)(c,"../..")]){let b=C(a);if(b)return b}return null}(),b=a?(()=>{try{return(0,d.statSync)(a).mtimeMs}catch{return null}})():null;if(x._conductorDashboardConfig&&x._conductorDashboardConfigPath===a&&x._conductorDashboardConfigMtimeMs===b)return x._conductorDashboardConfig;let c={access:null,dashboardUrl:null};if(!a)return x._conductorDashboardConfig=c,x._conductorDashboardConfigPath=null,x._conductorDashboardConfigMtimeMs=null,c;try{let c,e=(c=(0,f.qg)((0,d.readFileSync)(a,"utf8")),{access:function(a){var b;let c=A(a);if(0===Object.keys(c).length)return null;let d=A(c.trustedHeaders),e=A(c.roles);return{requireAuth:!0===c.requireAuth||void 0,defaultRole:"viewer"===(b=c.defaultRole)||"operator"===b||"admin"===b?b:void 0,trustedHeaders:Object.keys(d).length>0?{enabled:!0===d.enabled||void 0,provider:"generic"===d.provider||"cloudflare-access"===d.provider?d.provider:void 0,emailHeader:"string"==typeof d.emailHeader?d.emailHeader:void 0,jwtHeader:"string"==typeof d.jwtHeader?d.jwtHeader:void 0,teamDomain:"string"==typeof d.teamDomain?d.teamDomain:void 0,audience:"string"==typeof d.audience?d.audience:void 0}:void 0,roles:Object.keys(e).length>0?{viewers:B(e.viewers),operators:B(e.operators),admins:B(e.admins),viewerDomains:B(e.viewerDomains),operatorDomains:B(e.operatorDomains),adminDomains:B(e.adminDomains)}:void 0}}(c?.access),dashboardUrl:"string"==typeof c?.dashboardUrl&&c.dashboardUrl.trim().length>0?c.dashboardUrl.trim():null});return x._conductorDashboardConfig=e,x._conductorDashboardConfigPath=a,x._conductorDashboardConfigMtimeMs=b,e}catch{return x._conductorDashboardConfig=c,x._conductorDashboardConfigPath=a,x._conductorDashboardConfigMtimeMs=b,c}}().access,c=await G(a),g=(0,i.cW)(c),h=await I(a,b);if(h)return h;let j=await J(b,c);return j||(g&&(0,i.ci)()?{ok:!0,authenticated:!1,role:"admin",email:"local",provider:"local"}:{ok:!1,authenticated:!1,reason:"Authentication is required for non-local dashboard access"})}async function L(a,b="viewer"){let c=await K(a);return c.ok?c.role&&(0,i.eT)(c.role,b)?null:h.NextResponse.json({error:"Insufficient permissions",reason:`Requires ${b} access`,email:c.email??null,role:c.role??null},{status:403}):h.NextResponse.json({error:"Access denied",reason:c.reason,email:c.email??null},{status:403})}function M(a,b,c){let d=D(a,b);if(!d)return!1;if(c.has(d.host.toLowerCase()))return!0;var e=d.host;if(e.toLowerCase()===b.toLowerCase())return!0;let f=D(`https://${b}`),g=D(`https://${e}`);return!!f&&!!g&&f.port===g.port&&(f.hostname===g.hostname||(0,i.cW)(f.hostname)&&(0,i.cW)(g.hostname))}function N(a){return function(a){let b=a.nextUrl.host.trim().toLowerCase()||a.headers.get("host")?.trim().toLowerCase()||"";if(!b)return null;let c=function(a){let b=new Set([a.toLowerCase()]);for(let c of z(process.env.CONDUCTOR_ALLOWED_ORIGINS)){if(!c)continue;let d=D(c.includes("://")?c:`https://${c}`,a);if(d){b.add(d.host.toLowerCase());continue}b.add(c.toLowerCase())}return b}(b),d=a.headers.get("sec-fetch-site")?.toLowerCase();if(d&&"none"!==d&&"same-origin"!==d&&"same-site"!==d)return h.NextResponse.json({error:"Invalid request context",reason:"Cross-site requests are not allowed for agent-control actions."},{status:403});let e=a.headers.get("origin"),f=e&&"null"!==e?e:null;if(f&&!M(f,b,c))return h.NextResponse.json({error:"Invalid request origin",reason:"Cross-origin requests are not allowed for agent-control actions."},{status:403});let g=a.headers.get("referer")??a.headers.get("referrer");return f||!g||M(g,b,c)?null:h.NextResponse.json({error:"Invalid request origin",reason:"Cross-site requests are not allowed for agent-control actions."},{status:403})}(a)}async function O(a,b="viewer"){let c=await K();if(c.ok&&c.role&&(0,i.eT)(c.role,b))return null;let d=(0,j.l)(a);if("clerk"===c.provider&&!c.authenticated)return n(d);let e=new URLSearchParams({error:"unavailable"});return"/"!==d&&e.set("next",d),`/unlock?${e.toString()}`}},72460:(a,b,c)=>{"use strict";c.d(b,{EO:()=>l,Pn:()=>j,Z2:()=>h,kE:()=>k});var d=c(72544);function e(a){return(a??"").trim()}function f(a){let b=e(a);if(!b)return null;let c=b.includes("://")?b:`https://${b}`;try{let a=new URL(c);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return{hostname:a.hostname.toLowerCase(),host:a.host.toLowerCase()}}catch{return null}}function g(a){let b=e(a);if(!b)return null;if(b.startsWith("/"))return b.replace(/\/+$/,"")||"/";let c=b.includes("://")?b:`https://${b}`;try{let a=new URL(c);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;let b=a.pathname.replace(/\/+$/,"");return`${a.origin}${b||""}`}catch{return null}}function h(){let a=e(process.env.CLERK_FAPI_URL);if(a)return a.replace(/\/+$/,"");let b=e(process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY).match(/^pk_(?:test|live)_(.+)$/);if(!b)return null;let c=function(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=(4-b.length%4)%4,d=b.padEnd(b.length+c,"=");try{return Buffer.from(d,"base64").toString("utf8")}catch{return null}}(b[1]);if(!c)return null;let d=c.replace(/\$+$/,"").trim().replace(/\/+$/,"");return d?d.startsWith("https://")||d.startsWith("http://")?d.replace(/\/+$/,""):`https://${d}`:null}function i(a,b,c){if(!a)return c;if(a.startsWith("/"))return a;let d=e(b);if(!d)return c;try{let b=new URL(a),e=new URL(d);if(b.origin!==e.origin)return c;return b.pathname.replace(/\/+$/,"")||"/"}catch{return c}}function j(a){return f(a.get("host")??"")?.hostname??""}function k(a){let b=f(a.get("host")??"");if(!b)return null;let c=(0,d.cW)(b.hostname)?"http":"https";return`${c}://${b.host}`}function l(a,b){let c,f=e(process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY)||null,j=e(process.env.CLERK_SECRET_KEY),k=e(b)||null,l=function(a){let b=new Set,c=a=>{let c=function(a){let b=e(a);if(!b)return null;let c=b.includes("://")?b:`https://${b}`;try{let a=new URL(c);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.origin}catch{return null}}(a);c&&b.add(c)};for(let b of(c(a),e(process.env.CONDUCTOR_ALLOWED_ORIGINS).split(",")))c(b);return[...b]}(k),m=!!j;if(!f)return{enabled:!1,publishableKey:f,secretKeyAvailable:m,proxyUrl:null,clerkJSUrl:null,signInUrl:null,signUpUrl:null,hostedSignInUrl:null,allowedRedirectOrigins:l,reason:"missing-publishable-key"};let n=function(a){let b=e(a);if(!b)return null;if(b.startsWith("/"))return b.replace(/\/+$/,"")||"/";let c=b.includes("://")?b:`https://${b}`;try{let a=new URL(c);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;let b=a.pathname.replace(/\/+$/,"");return`${a.origin}${b||""}`}catch{return null}}(process.env.NEXT_PUBLIC_CLERK_PROXY_URL??process.env.CLERK_PROXY_URL),o=h();if(!n&&!((c=e(f)).startsWith("pk_test_")||c.startsWith("sk_test_"))&&!function(a,b){let c=e(a).toLowerCase().replace(/^\[|\]$/g,"");if(!c)return!0;let d=function(a){if(!a)return null;try{let b=new URL(a).hostname.toLowerCase(),c=b.split(".").filter(Boolean);if(c.length<=2)return b;return c.slice(1).join(".")}catch{return null}}(b);return!d||c===d||c.endsWith(`.${d}`)}(a,o))return{enabled:!1,publishableKey:f,secretKeyAvailable:m,proxyUrl:null,clerkJSUrl:null,signInUrl:null,signUpUrl:null,hostedSignInUrl:null,allowedRedirectOrigins:l,reason:"production-origin-mismatch"};let p=g(process.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL??process.env.CLERK_SIGN_IN_URL),q=g(process.env.NEXT_PUBLIC_CLERK_SIGN_UP_URL??process.env.CLERK_SIGN_UP_URL),r=g(process.env.NEXT_PUBLIC_CLERK_HOSTED_SIGN_IN_URL??process.env.CLERK_HOSTED_SIGN_IN_URL),s=i(p,k,"/sign-in"),t=i(q,k,null),u=function(a,b){if(!a||a.startsWith("/"))return null;let c=e(b);try{let b=new URL(a);if(!c)return a;let d=new URL(c);return b.origin===d.origin?null:a}catch{return null}}(r??p,k),v=!(0,d.cW)(a)&&n?n:null,w=v?`${v}/npm/@clerk/clerk-js@5/dist/clerk.browser.js`:null;return{enabled:!0,publishableKey:f,secretKeyAvailable:m,proxyUrl:v,clerkJSUrl:w,signInUrl:s,signUpUrl:t,hostedSignInUrl:u,allowedRedirectOrigins:l,reason:null}}},72544:(a,b,c)=>{"use strict";c.d(b,{Qq:()=>j,cW:()=>g,ci:()=>h,eT:()=>i});let d={viewer:0,operator:1,admin:2};function e(a){return(a??[]).map(a=>a.trim().toLowerCase()).filter(Boolean)}function f(a,b,c){return b.includes(a)||c.some(b=>a.endsWith(`@${b}`))}function g(a){let b=(a??"").trim().toLowerCase();return"localhost"===b||"127.0.0.1"===b||"::1"===b||"[::1]"===b}function h(){let a=(process.env.CONDUCTOR_ALLOW_LOCAL_UNAUTHENTICATED??"").trim().toLowerCase();return"true"===a||"1"===a||"yes"===a}function i(a,b){return d[a]>=d[b]}function j(a,b,c){let d=a.trim().toLowerCase(),g=b?.roles,h=[...e(g?.admins),...e(c?.adminEmails)],i=[...e(g?.operators),...e(c?.allowedEmails)],j=e(g?.viewers),k=e(g?.adminDomains),l=[...e(g?.operatorDomains),...e(c?.allowedDomains)],m=e(g?.viewerDomains),n=!!g&&(e(g.viewers).length>0||e(g.operators).length>0||e(g.admins).length>0||e(g.viewerDomains).length>0||e(g.operatorDomains).length>0||e(g.adminDomains).length>0)||h.length>0||i.length>0||l.length>0;return f(d,h,k)?{role:"admin",matchedBinding:!0,explicitBindingsConfigured:n}:f(d,i,l)?{role:"operator",matchedBinding:!0,explicitBindingsConfigured:n}:f(d,j,m)?{role:"viewer",matchedBinding:!0,explicitBindingsConfigured:n}:b?.defaultRole?{role:b.defaultRole,matchedBinding:!1,explicitBindingsConfigured:n}:n?{role:null,matchedBinding:!1,explicitBindingsConfigured:n}:{role:"operator",matchedBinding:!1,explicitBindingsConfigured:n}}},80408:()=>{},87032:()=>{}};
@@ -1 +1 @@
1
- "use strict";exports.id=9455,exports.ids=[9455],exports.modules={9455:(a,b,c)=>{c.r(b),c.d(b,{KeylessCreatorOrReader:()=>h});var d=c(67994),e=c(71277),f=c.n(e),g=c(17922);let h=a=>{var b;let{children:c}=a,h=(null==(b=(0,d.useSelectedLayoutSegments)()[0])?void 0:b.startsWith("/_not-found"))||!1,[i,j]=f().useActionState(g.a,null);return((0,e.useEffect)(()=>{h||f().startTransition(()=>{j()})},[h]),f().isValidElement(c))?f().cloneElement(c,{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}):c}},17922:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(85660);let e=(0,d.createServerReference)("0023d17e70637e1df4c9d336c3e02f353a899e8363",d.callServer,void 0,d.findSourceMapURL,"createOrReadKeylessAction")}};
1
+ "use strict";exports.id=9455,exports.ids=[9455],exports.modules={9455:(a,b,c)=>{c.r(b),c.d(b,{KeylessCreatorOrReader:()=>h});var d=c(67994),e=c(71277),f=c.n(e),g=c(12859);let h=a=>{var b;let{children:c}=a,h=(null==(b=(0,d.useSelectedLayoutSegments)()[0])?void 0:b.startsWith("/_not-found"))||!1,[i,j]=f().useActionState(g.a,null);return((0,e.useEffect)(()=>{h||f().startTransition(()=>{j()})},[h]),f().isValidElement(c))?f().cloneElement(c,{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}):c}},12859:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00cc094c84913ef51c465bd0f826638582aac42847",d.callServer,void 0,d.findSourceMapURL,"createOrReadKeylessAction")}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9517,exports.ids=[9517],exports.modules={48582:(a,b,c)=>{c.d(b,{E:()=>g});var d=c(92692),e=c(93544);let f={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function g({variant:a="default",className:b,children:c}){return(0,d.jsx)("span",{className:(0,e.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",f[a],b),children:c})}},69368:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},76680:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).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"}]])},79517:(a,b,c)=>{c.r(b),c.d(b,{SessionPreview:()=>aw});var d=c(92692),e=c(71277),f=c(52404),g=c(75185),h=c(37303);let i=(0,h.A)("waypoints",[["path",{d:"m10.586 5.414-5.172 5.172",key:"4mc350"}],["path",{d:"m18.586 13.414-5.172 5.172",key:"8c96vv"}],["path",{d:"M6 12h12",key:"8npq4p"}],["circle",{cx:"12",cy:"20",r:"2",key:"144qzu"}],["circle",{cx:"12",cy:"4",r:"2",key:"muu5ef"}],["circle",{cx:"20",cy:"12",r:"2",key:"1xzzfp"}],["circle",{cx:"4",cy:"12",r:"2",key:"1hvhnz"}]]);var j=c(64583);let k=(0,h.A)("mouse-pointer-click",[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]]),l=(0,h.A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var m=c(69368),n=c(13636),o=c(2625),p=c(76680);let q=(0,h.A)("boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);var r=c(7071);let s=(0,h.A)("file-braces-corner",[["path",{d:"M14 22h4a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6",key:"14cnrg"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M5 14a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1 1 1 0 0 1 1 1v2a1 1 0 0 0 1 1",key:"sr0ebq"}],["path",{d:"M9 22a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-2a1 1 0 0 0-1-1",key:"w793db"}]]);var t=c(48582),u=c(1071),v=c(54761),w=c(5707),x=c(64308),y=c(63660),z=c(11256),A=c(87108),B=c(8370),C=c(97229),D=c(74508),E="ScrollArea",[F,G]=(0,y.A)(E),[H,I]=F(E),J=e.forwardRef((a,b)=>{let{__scopeScrollArea:c,type:f="hover",dir:g,scrollHideDelay:h=600,...i}=a,[j,k]=e.useState(null),[l,m]=e.useState(null),[n,o]=e.useState(null),[p,q]=e.useState(null),[r,s]=e.useState(null),[t,u]=e.useState(0),[v,x]=e.useState(0),[y,A]=e.useState(!1),[C,D]=e.useState(!1),E=(0,z.s)(b,a=>k(a)),F=(0,B.jH)(g);return(0,d.jsx)(H,{scope:c,type:f,dir:F,scrollHideDelay:h,scrollArea:j,viewport:l,onViewportChange:m,content:n,onContentChange:o,scrollbarX:p,onScrollbarXChange:q,scrollbarXEnabled:y,onScrollbarXEnabledChange:A,scrollbarY:r,onScrollbarYChange:s,scrollbarYEnabled:C,onScrollbarYEnabledChange:D,onCornerWidthChange:u,onCornerHeightChange:x,children:(0,d.jsx)(w.sG.div,{dir:F,...i,ref:E,style:{position:"relative","--radix-scroll-area-corner-width":t+"px","--radix-scroll-area-corner-height":v+"px",...a.style}})})});J.displayName=E;var K="ScrollAreaViewport",L=e.forwardRef((a,b)=>{let{__scopeScrollArea:c,children:f,nonce:g,...h}=a,i=I(K,c),j=e.useRef(null),k=(0,z.s)(b,j,i.onViewportChange);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,d.jsx)(w.sG.div,{"data-radix-scroll-area-viewport":"",...h,ref:k,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,d.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:f})})]})});L.displayName=K;var M="ScrollAreaScrollbar",N=e.forwardRef((a,b)=>{let{forceMount:c,...f}=a,g=I(M,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return e.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,d.jsx)(O,{...f,ref:b,forceMount:c}):"scroll"===g.type?(0,d.jsx)(P,{...f,ref:b,forceMount:c}):"auto"===g.type?(0,d.jsx)(Q,{...f,ref:b,forceMount:c}):"always"===g.type?(0,d.jsx)(R,{...f,ref:b}):null});N.displayName=M;var O=e.forwardRef((a,b)=>{let{forceMount:c,...f}=a,g=I(M,a.__scopeScrollArea),[h,i]=e.useState(!1);return e.useEffect(()=>{let a=g.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),g.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[g.scrollArea,g.scrollHideDelay]),(0,d.jsx)(x.C,{present:c||h,children:(0,d.jsx)(Q,{"data-state":h?"visible":"hidden",...f,ref:b})})}),P=e.forwardRef((a,b)=>{var c;let{forceMount:f,...g}=a,h=I(M,a.__scopeScrollArea),i="horizontal"===a.orientation,j=ah(()=>l("SCROLL_END"),100),[k,l]=(c={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},e.useReducer((a,b)=>c[a][b]??a,"hidden"));return e.useEffect(()=>{if("idle"===k){let a=window.setTimeout(()=>l("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[k,h.scrollHideDelay,l]),e.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(l("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,l,j]),(0,d.jsx)(x.C,{present:f||"hidden"!==k,children:(0,d.jsx)(R,{"data-state":"hidden"===k?"hidden":"visible",...g,ref:b,onPointerEnter:(0,D.mK)(a.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:(0,D.mK)(a.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),Q=e.forwardRef((a,b)=>{let c=I(M,a.__scopeScrollArea),{forceMount:f,...g}=a,[h,i]=e.useState(!1),j="horizontal"===a.orientation,k=ah(()=>{if(c.viewport){let a=c.viewport.offsetWidth<c.viewport.scrollWidth,b=c.viewport.offsetHeight<c.viewport.scrollHeight;i(j?a:b)}},10);return ai(c.viewport,k),ai(c.content,k),(0,d.jsx)(x.C,{present:f||h,children:(0,d.jsx)(R,{"data-state":h?"visible":"hidden",...g,ref:b})})}),R=e.forwardRef((a,b)=>{let{orientation:c="vertical",...f}=a,g=I(M,a.__scopeScrollArea),h=e.useRef(null),i=e.useRef(0),[j,k]=e.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=ac(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=ad(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return af([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===c?(0,d.jsx)(S,{...m,ref:b,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=ae(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===c?(0,d.jsx)(T,{...m,ref:b,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=ae(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),S=e.forwardRef((a,b)=>{let{sizes:c,onSizesChange:f,...g}=a,h=I(M,a.__scopeScrollArea),[i,j]=e.useState(),k=e.useRef(null),l=(0,z.s)(b,k,h.onScrollbarXChange);return e.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,d.jsx)(W,{"data-orientation":"horizontal",...g,ref:l,sizes:c,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ad(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:ab(i.paddingLeft),paddingEnd:ab(i.paddingRight)}})}})}),T=e.forwardRef((a,b)=>{let{sizes:c,onSizesChange:f,...g}=a,h=I(M,a.__scopeScrollArea),[i,j]=e.useState(),k=e.useRef(null),l=(0,z.s)(b,k,h.onScrollbarYChange);return e.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,d.jsx)(W,{"data-orientation":"vertical",...g,ref:l,sizes:c,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ad(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:ab(i.paddingTop),paddingEnd:ab(i.paddingBottom)}})}})}),[U,V]=F(M),W=e.forwardRef((a,b)=>{let{__scopeScrollArea:c,sizes:f,hasThumb:g,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:j,onThumbPositionChange:k,onDragScroll:l,onWheelScroll:m,onResize:n,...o}=a,p=I(M,c),[q,r]=e.useState(null),s=(0,z.s)(b,a=>r(a)),t=e.useRef(null),u=e.useRef(""),v=p.viewport,x=f.content-f.viewport,y=(0,A.c)(m),B=(0,A.c)(k),C=ah(n,10);function E(a){t.current&&l({x:a.clientX-t.current.left,y:a.clientY-t.current.top})}return e.useEffect(()=>{let a=a=>{let b=a.target;q?.contains(b)&&y(a,x)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[v,q,x,y]),e.useEffect(B,[f,B]),ai(q,C),ai(p.content,C),(0,d.jsx)(U,{scope:c,scrollbar:q,hasThumb:g,onThumbChange:(0,A.c)(h),onThumbPointerUp:(0,A.c)(i),onThumbPositionChange:B,onThumbPointerDown:(0,A.c)(j),children:(0,d.jsx)(w.sG.div,{...o,ref:s,style:{position:"absolute",...o.style},onPointerDown:(0,D.mK)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),t.current=q.getBoundingClientRect(),u.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),E(a))}),onPointerMove:(0,D.mK)(a.onPointerMove,E),onPointerUp:(0,D.mK)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=u.current,p.viewport&&(p.viewport.style.scrollBehavior=""),t.current=null})})})}),X="ScrollAreaThumb",Y=e.forwardRef((a,b)=>{let{forceMount:c,...e}=a,f=V(X,a.__scopeScrollArea);return(0,d.jsx)(x.C,{present:c||f.hasThumb,children:(0,d.jsx)(Z,{ref:b,...e})})}),Z=e.forwardRef((a,b)=>{let{__scopeScrollArea:c,style:f,...g}=a,h=I(X,c),i=V(X,c),{onThumbPositionChange:j}=i,k=(0,z.s)(b,a=>i.onThumbChange(a)),l=e.useRef(void 0),m=ah(()=>{l.current&&(l.current(),l.current=void 0)},100);return e.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{m(),l.current||(l.current=ag(a,j),j())};return j(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,m,j]),(0,d.jsx)(w.sG.div,{"data-state":i.hasThumb?"visible":"hidden",...g,ref:k,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...f},onPointerDownCapture:(0,D.mK)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,D.mK)(a.onPointerUp,i.onThumbPointerUp)})});Y.displayName=X;var $="ScrollAreaCorner",_=e.forwardRef((a,b)=>{let c=I($,a.__scopeScrollArea),e=!!(c.scrollbarX&&c.scrollbarY);return"scroll"!==c.type&&e?(0,d.jsx)(aa,{...a,ref:b}):null});_.displayName=$;var aa=e.forwardRef((a,b)=>{let{__scopeScrollArea:c,...f}=a,g=I($,c),[h,i]=e.useState(0),[j,k]=e.useState(0),l=!!(h&&j);return ai(g.scrollbarX,()=>{let a=g.scrollbarX?.offsetHeight||0;g.onCornerHeightChange(a),k(a)}),ai(g.scrollbarY,()=>{let a=g.scrollbarY?.offsetWidth||0;g.onCornerWidthChange(a),i(a)}),l?(0,d.jsx)(w.sG.div,{...f,ref:b,style:{width:h,height:j,position:"absolute",right:"ltr"===g.dir?0:void 0,left:"rtl"===g.dir?0:void 0,bottom:0,...a.style}}):null});function ab(a){return a?parseInt(a,10):0}function ac(a,b){let c=a/b;return isNaN(c)?0:c}function ad(a){let b=ac(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function ae(a,b,c="ltr"){let d=ad(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=function(a,[b,c]){return Math.min(c,Math.max(b,a))}(a,"ltr"===c?[0,g]:[-1*g,0]);return af([0,g],[0,f-d])(h)}function af(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var ag=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function ah(a,b){let c=(0,A.c)(a),d=e.useRef(0);return e.useEffect(()=>()=>window.clearTimeout(d.current),[]),e.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(c,b)},[c,b])}function ai(a,b){let c=(0,A.c)(b);(0,C.N)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}var aj=c(93544);let ak=(0,e.forwardRef)(({className:a,children:b,...c},e)=>(0,d.jsxs)(J,{ref:e,className:(0,aj.cn)("relative overflow-hidden",a),...c,children:[(0,d.jsx)(L,{className:"h-full w-full rounded-[inherit]",children:b}),(0,d.jsx)(al,{}),(0,d.jsx)(_,{})]}));ak.displayName="ScrollArea";let al=(0,e.forwardRef)(({className:a,orientation:b="vertical",...c},e)=>(0,d.jsx)(N,{ref:e,orientation:b,className:(0,aj.cn)("flex touch-none select-none","vertical"===b&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent p-px",a),...c,children:(0,d.jsx)(Y,{className:"relative flex-1 rounded-full bg-[color:color-mix(in_srgb,var(--border-strong)_75%,transparent)] hover:bg-[var(--border-strong)]"})}));al.displayName="ScrollBar";let am=/(?:127\.0\.0\.1|0\.0\.0\.0|localhost|::1|\[::1\])/i;function an(a){return a.find(a=>(function(a){try{let b=new URL(a);return am.test(b.hostname)}catch{return!1}})(a))??null}let ao=new Map([["Backspace","Backspace"],["Delete","Delete"],["Enter","Enter"],["Tab","Tab"],["Escape","Escape"],["ArrowUp","ArrowUp"],["ArrowDown","ArrowDown"],["ArrowLeft","ArrowLeft"],["ArrowRight","ArrowRight"],["Home","Home"],["End","End"],["PageUp","PageUp"],["PageDown","PageDown"],[" ","Space"]]);function ap(a){let b=Date.parse(a);return Number.isNaN(b)?a:new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit",second:"2-digit",timeZone:"UTC"}).format(new Date(b))}function aq(a,b=120){return a.length<=b?a:`${a.slice(0,b-1)}…`}function ar(a,b=180){let c=aq((a??"").replace(/\s+/g," ").trim(),b);return c?`"${c.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:null}function as(a){return a.map(a=>a?.trim()).filter(a=>!!a).join("; ")}function at(a,b){return[`[${a}]`,...b.map(a=>a?.trim()).filter(a=>!!a)].join("\n")}function au(a,b){return{inlineText:as(["[Browser selection]",`selector=${ar(a.selector,220)}`,`tag=${a.tag}`,a.role?`role=${a.role}`:null,a.name?`name=${ar(a.name,140)}`:null,a.text?`text=${ar(a.text,180)}`:null,a.frameName?`frame=${ar(a.frameName,120)}`:null,b?`page=${ar(b,220)}`:null]),draftText:at("Browser selection",[b?`Page: ${b}`:null,`Frame: ${a.frameName} (${a.frameUrl})`,`Selector: ${a.selector}`,`Tag: ${a.tag}`,a.role?`Role: ${a.role}`:null,a.name?`Name: ${a.name}`:null,a.text?`Text: ${a.text}`:null,a.htmlPreview?`HTML preview: ${a.htmlPreview}`:null]),successMessage:"Queued the selected element for terminal input."}}function av(a,b,c,d){let e=b.slice("console"===a?-8:-10),f=e.map(b=>{let c=[b.level,ar(b.message,120)];return"network"===a&&(c.unshift(b.method??"GET"),c.push("number"==typeof b.status?String(b.status):null),c.push(b.url?ar(b.url,120):null)),c.filter(Boolean).join(" ")});return{inlineText:as(["console"===a?"[Browser console]":"[Browser network]",c?`page=${ar(c,220)}`:null,d?`selected=${ar(d.selector,180)}`:null,`entries=${ar(f.join(" | "),520)}`]),draftText:at("console"===a?"Browser console logs":"Browser network logs",[c?`Page: ${c}`:null,d?`Selected element: ${d.selector}`:null,...e.map(b=>"console"===a?`- ${ap(b.timestamp)} ${b.level}: ${b.message}`:`- ${ap(b.timestamp)} ${b.method??"GET"} ${b.status??"-"} ${b.url??b.message}`)]),successMessage:"console"===a?"Queued recent console logs for terminal input.":"Queued recent network logs for terminal input."}}function aw({sessionId:a,active:b,onQueueTerminalInsert:c,onConnectionChange:h}){let[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)([]),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(!0),[G,H]=(0,e.useState)(!0),[I,J]=(0,e.useState)(null),[K,L]=(0,e.useState)(null),[M,N]=(0,e.useState)(null),[O,P]=(0,e.useState)(null),[Q,R]=(0,e.useState)("navigate"),[S,T]=(0,e.useState)(null),[U,V]=(0,e.useState)(""),[W,X]=(0,e.useState)({naturalWidth:0,naturalHeight:0,renderedWidth:0,renderedHeight:0});(0,e.useRef)(null);let Y=(0,e.useRef)(Promise.resolve()),Z=(0,e.useRef)(null),$=(0,e.useRef)(null),[_,aa]=(0,e.useState)(!0),ab=an(w?.candidateUrls??[]),ac=(0,e.useCallback)(async()=>{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/preview`,{cache:"no-store"}),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c&&"error"in c?c.error??"Failed to load preview state":`Failed to load preview state: ${b.status}`);x(c),J(null),V(a=>a.trim().length>0&&a!==c.currentUrl?a:c.currentUrl??an(c.candidateUrls)??c.candidateUrls[0]??a)},[a]),ad=(0,e.useCallback)(async b=>{D(!0),J(null);try{let c=await fetch(`/api/sessions/${encodeURIComponent(a)}/preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json().catch(()=>null);if(!c.ok)throw d&&"object"==typeof d&&"status"in d&&d.status&&x(d.status),Error(d&&"error"in d?d.error??"Preview command failed":`Preview command failed: ${c.status}`);return x(d),d}finally{D(!1)}},[a]),ae=(0,e.useCallback)((a,b)=>{Y.current=Y.current.catch(()=>void 0).then(async()=>{try{await ad(a)}catch(a){J(a instanceof Error?a.message:b)}})},[ad]);(0,e.useCallback)(async b=>{if(!w?.connected)return void z([]);B(!0);try{let c=new URLSearchParams;b&&c.set("frameId",b),G&&c.set("interactiveOnly","1");let d=await fetch(`/api/sessions/${encodeURIComponent(a)}/preview/dom?${c.toString()}`,{cache:"no-store"}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e&&"error"in e?e.error??"Failed to inspect DOM":`Failed to inspect DOM: ${d.status}`);z(e.nodes)}catch(a){J(a instanceof Error?a.message:"Failed to inspect DOM"),z([])}finally{B(!1)}},[G,a,w?.connected]);let af=(0,e.useMemo)(()=>w?.connected?`/api/sessions/${encodeURIComponent(a)}/preview/screenshot?ts=${encodeURIComponent(w.screenshotKey)}`:null,[a,w?.connected,w?.screenshotKey]),ag=ab??w?.candidateUrls[0]??null,ah=(0,e.useMemo)(()=>w?.frames.find(a=>a.id===w.activeFrameId)??null,[w?.activeFrameId,w?.frames]),ai=(0,e.useMemo)(()=>w?.frames.find(a=>a.isMain)??null,[w?.frames]),al=null!==O,am=!!ah?.isMain,ar=(0,e.useMemo)(()=>{let a=w?.selectedElement?.bounds;if(!w?.selectedElement||!a||!ai||w.selectedElement.frameId!==ai.id||!W.naturalWidth||!W.naturalHeight||!W.renderedWidth||!W.renderedHeight)return null;let b=W.renderedWidth/W.naturalWidth,c=W.renderedHeight/W.naturalHeight;return{left:`${a.x*b}px`,top:`${a.y*c}px`,width:`${Math.max(a.width*b,2)}px`,height:`${Math.max(a.height*c,2)}px`}},[W,ai,w?.selectedElement]),as=(0,e.useCallback)(async()=>{let a=U.trim();if(a)try{await ad({command:"connect",url:a})}catch(a){J(a instanceof Error?a.message:"Failed to connect preview")}},[ad,U]),at=(0,e.useCallback)((a,b,c=!1)=>{T({anchorX:a,anchorY:b,pending:c}),L(null),N(null)},[]),ax=(0,e.useCallback)(a=>{R(a),T(null),L(null),N(null)},[]),ay=(0,e.useMemo)(()=>{if(!S)return null;let a=W.renderedWidth||340,b=W.renderedHeight||280,c=Math.max(220,b-24);if(a<=520)return{left:"12px",top:`${Math.max(12,b-Math.min(280,c)-12)}px`,width:`${Math.max(a-24,220)}px`,maxHeight:`${c}px`};let d=Math.min(340,Math.max(a-24,240)),e=Math.max(12,a-d-12),f=Math.max(12,b-280-12),g=S.anchorX+18,h=S.anchorY+18,i=g>e?Math.max(12,S.anchorX-d-18):g,j=h>f?Math.max(12,S.anchorY-280-18):h;return{left:`${Math.min(Math.max(i,12),e)}px`,top:`${Math.min(Math.max(j,12),f)}px`,width:`${d}px`,maxHeight:`${c}px`}},[W.renderedHeight,W.renderedWidth,S]),az=(0,e.useCallback)(a=>{if(!Z.current)return null;let b=Z.current.getBoundingClientRect();if(!b.width||!b.height||!Z.current.naturalWidth||!Z.current.naturalHeight)return null;let c=a.clientX-b.left,d=a.clientY-b.top;return{anchorX:c,anchorY:d,x:c/b.width*Z.current.naturalWidth,y:d/b.height*Z.current.naturalHeight}},[]),aA=(0,e.useCallback)(a=>{c(a),L(null),N(a.successMessage)},[c]),aB=(0,e.useCallback)(async(a,b,c,d)=>{at(c,d,!0);try{let e=await ad({command:"selectAtPoint",x:a,y:b});return at(c,d,!1),e}catch(a){throw T(null),a}},[at,ad]),aC=(0,e.useCallback)(async(a,b)=>{let c=Math.max(W.renderedWidth-44,12);at(c,12,!0);try{let d=await ad({command:"selectBySelector",selector:a,frameId:b});return at(c,12,!1),d}catch(a){throw T(null),a}},[W.renderedWidth,at,ad]),aD=(0,e.useCallback)(async a=>{if(C)return;let b=az(a);if(b){if(T(null),L(null),N(null),"navigate"===Q){$.current?.focus({preventScroll:!0});try{await ad({command:"clickAtPoint",x:b.x,y:b.y})}catch(a){J(a instanceof Error?a.message:"Failed to interact with preview")}return}if(am)try{await aB(b.x,b.y,b.anchorX,b.anchorY)}catch(a){J(a instanceof Error?a.message:"Failed to select element")}}},[C,am,Q,az,ad,aB]),aE=(0,e.useCallback)(async a=>{if(C||"inspect"!==Q||!am)return;let b=az(a);if(b){L(null),N(null);try{let a=await aB(b.x,b.y,b.anchorX,b.anchorY);if(!a.selectedElement)throw Error("No element found at the selected point");aA(au(a.selectedElement,a.currentUrl))}catch(a){J(a instanceof Error?a.message:"Failed to queue selected element")}}},[C,am,Q,aA,az,aB]),aF=(0,e.useCallback)(a=>{if("navigate"!==Q||!w?.connected||a.metaKey||a.ctrlKey||a.altKey)return;let b=ao.get(a.key);if(b){a.preventDefault(),ae({command:"pressKey",key:b},"Failed to send key to preview");return}1===a.key.length&&(a.preventDefault(),ae({command:"typeText",text:a.key},"Failed to type into preview"))},[Q,ae,w?.connected]),aG=(0,e.useCallback)(a=>{if("navigate"!==Q||!w?.connected)return;let b=a.clipboardData.getData("text");b&&(a.preventDefault(),ae({command:"typeText",text:b},"Failed to paste into preview"))},[Q,ae,w?.connected]),aH=(0,e.useCallback)(a=>{if(!w)return void L("Preview state is not loaded yet.");let b=w.consoleLogs.slice(-80),c=w.networkLogs.slice(-80);if("selection"===a&&!w.selectedElement)return void L("Select an element before queueing preview context for terminal input.");if("console"===a&&!b.length)return void L("There are no console logs to send yet.");if("network"===a&&!c.length)return void L("There are no network logs to send yet.");P(a),L(null),N(null);try{let d="selection"===a&&w.selectedElement?au(w.selectedElement,w.currentUrl):"console"===a?av("console",b,w.currentUrl,w.selectedElement):av("network",c,w.currentUrl,w.selectedElement);aA(d),"selection"===a&&T(null)}catch(a){L(a instanceof Error?a.message:"Failed to queue preview context")}finally{P(null)}},[aA,w]),aI=(0,e.useCallback)(async()=>{let a=w?.selectedElement?.selector;if(a)try{await navigator.clipboard.writeText(a),N("Selector copied to clipboard."),L(null)}catch{L("Clipboard access is unavailable.")}},[w?.selectedElement?.selector]);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-2 overflow-auto",children:[(0,d.jsxs)(v.Zp,{children:[(0,d.jsxs)(v.aR,{className:"flex flex-col items-start gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(f.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Dev preview browser"}),w?.connected?(0,d.jsx)(t.E,{variant:"success",children:"connected"}):(0,d.jsx)(t.E,{variant:"outline",children:"idle"}),ah?(0,d.jsx)(t.E,{variant:"outline",children:ah.isMain?"main frame":"nested frame"}):null]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)(u.$,{type:"button",variant:"outline",size:"sm",onClick:()=>void ac().catch(a=>{J(a instanceof Error?a.message:"Failed to refresh preview")}),disabled:E||C,children:[(0,d.jsx)(g.A,{className:(0,aj.cn)("h-3.5 w-3.5",C&&"animate-spin")}),"Refresh"]}),(0,d.jsxs)(u.$,{type:"button",variant:"outline",size:"sm",onClick:()=>void ad({command:"reload"}).catch(a=>{J(a instanceof Error?a.message:"Failed to reload preview")}),disabled:!w?.connected||C,children:[(0,d.jsx)(i,{className:"h-3.5 w-3.5"}),"Reload page"]})]})]}),(0,d.jsxs)(v.Wu,{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,d.jsx)("input",{value:U,onChange:a=>V(a.target.value),placeholder:ag??"http://127.0.0.1:3000",className:"h-9 min-w-0 flex-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,d.jsxs)(u.$,{type:"button",variant:"primary",onClick:()=>void as(),disabled:C||!U.trim(),children:[C?(0,d.jsx)(j.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(k,{className:"h-4 w-4"}),"Connect"]})]}),w?.candidateUrls.length?(0,d.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:w.candidateUrls.map(a=>(0,d.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-1 text-left text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",onClick:()=>{V(a),ad({command:"connect",url:a}).catch(a=>{J(a instanceof Error?a.message:"Failed to connect preview")})},children:[(0,d.jsx)(f.A,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:a})]},a))}):null,I||w?.lastError?(0,d.jsxs)("div",{className:"flex items-start gap-2 rounded-[4px] border border-[color:color-mix(in_srgb,var(--vk-red)_45%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:[(0,d.jsx)(l,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,d.jsx)("span",{children:I??w?.lastError})]}):null]})]}),(0,d.jsxs)(v.Zp,{className:"min-h-0 shrink-0 overflow-hidden",children:[(0,d.jsxs)(v.aR,{className:"flex flex-col items-start gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(m.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Preview"})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-1",children:[(0,d.jsxs)(u.$,{type:"button",size:"sm",variant:"navigate"===Q?"primary":"ghost",onClick:()=>ax("navigate"),children:[(0,d.jsx)(k,{className:"h-3.5 w-3.5"}),"Navigate"]}),(0,d.jsxs)(u.$,{type:"button",size:"sm",variant:"inspect"===Q?"primary":"ghost",onClick:()=>ax("inspect"),children:[(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Inspect"]})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(t.E,{variant:"outline",children:w?.title?aq(w.title,40):"Untitled page"}),(0,d.jsx)(t.E,{variant:"outline",children:"navigate"===Q?"navigate mode: clicks interact with the page":am?"inspect mode: click once to select, double-click to queue for terminal input":"inspect mode: use DOM list for this frame"})]})]})]}),(0,d.jsx)(v.Wu,{className:"min-h-0",children:(0,d.jsx)("div",{className:"flex h-[56vh] min-h-[200px] max-h-[620px] items-center justify-center overflow-auto rounded-[6px] border border-[var(--vk-border)] bg-[#111] p-2 sm:h-[72vh] sm:min-h-[360px] sm:max-h-[760px] sm:p-3",children:E?(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(j.A,{className:"h-4 w-4 animate-spin"}),"Loading preview…"]}):af?(0,d.jsxs)("div",{ref:$,tabIndex:w?.connected?0:-1,onKeyDown:aF,onPaste:aG,className:"relative flex max-h-full max-w-full items-start justify-center overflow-auto rounded-[6px] outline-none focus-visible:ring-2 focus-visible:ring-[var(--vk-orange)] focus-visible:ring-offset-2 focus-visible:ring-offset-[#111]",children:[(0,d.jsx)("img",{ref:Z,src:af,alt:"Session preview",className:(0,aj.cn)("max-h-full max-w-full rounded-[4px] object-contain shadow-[0_18px_36px_rgba(0,0,0,0.28)]","navigate"===Q?"cursor-pointer":am?"cursor-crosshair":"cursor-default"),onClick:a=>void aD(a),onDoubleClick:a=>void aE(a),onLoad:a=>{let b=a.currentTarget;X({naturalWidth:b.naturalWidth,naturalHeight:b.naturalHeight,renderedWidth:b.clientWidth,renderedHeight:b.clientHeight})}}),"inspect"===Q&&ar?(0,d.jsx)("div",{className:"pointer-events-none absolute border-2 border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_18%,transparent)] shadow-[0_0_0_1px_rgba(0,0,0,0.5)]",style:ar}):null,"inspect"===Q&&S&&ay?(0,d.jsxs)("div",{className:"pointer-events-auto absolute z-20 flex flex-col overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_94%,black_6%)] shadow-[0_20px_44px_rgba(0,0,0,0.42)] backdrop-blur",style:ay,children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:"Terminal input"}),(0,d.jsx)("div",{className:"mt-1 text-[13px] font-medium text-[var(--vk-text-normal)]",children:S.pending?"Selecting element…":"Queue selection for the terminal"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)(u.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void aI(),disabled:S.pending||!w?.selectedElement,children:(0,d.jsx)(n.A,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(u.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>T(null),children:(0,d.jsx)(o.A,{className:"h-3.5 w-3.5"})})]})]}),(0,d.jsx)("div",{className:"flex-1 space-y-3 overflow-y-auto px-3 py-3",children:S.pending?(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(j.A,{className:"h-4 w-4 animate-spin"}),"Capturing the selected element from the preview…"]}):w?.selectedElement?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:w.selectedElement.tag}),w.selectedElement.role?(0,d.jsx)(t.E,{variant:"outline",children:w.selectedElement.role}):null]}),(0,d.jsx)("div",{className:"mt-2 text-[12px] text-[var(--vk-text-normal)]",children:aq(w.selectedElement.name||w.selectedElement.text||"Selected element",140)}),(0,d.jsx)("div",{className:"mt-2 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:w.selectedElement.selector})]}),(0,d.jsx)("div",{className:"rounded-[6px] border border-dashed border-[var(--vk-border)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"Double-click the element in the preview to queue it immediately, or use the button below. The text is inserted into terminal input instead of being sent to the agent, so you can add more context before submitting."}),K?(0,d.jsx)("div",{className:"text-[12px] text-[var(--vk-red)]",children:K}):null,(0,d.jsxs)(u.$,{type:"button",variant:"primary",className:"w-full",onClick:()=>void aH("selection"),disabled:al||!w.selectedElement,children:["selection"===O?(0,d.jsx)(j.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(p.A,{className:"h-4 w-4"}),"Queue for terminal input"]})]}):(0,d.jsx)("div",{className:"rounded-[6px] border border-dashed border-[var(--vk-border)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Single-click an element to inspect it here. Double-click to queue it for terminal input."})})]}):null]}):(0,d.jsx)("div",{className:"max-w-md text-center text-[13px] text-[var(--vk-text-muted)]",children:"Connect a local dev URL or explicit preview URL to start the preview browser. In Navigate mode, click the preview first, then type directly into the running app. Switch to Inspect mode to select UI elements and queue browser context into terminal input."})})})]}),M?(0,d.jsx)("div",{className:"rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-green)_35%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-green)_10%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-green)]",children:M}):null,!S&&K?(0,d.jsx)("div",{className:"rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-red)_35%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_10%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:K}):null,(0,d.jsxs)("div",{className:"grid gap-2",children:[(0,d.jsxs)(v.Zp,{className:"min-h-0",children:[(0,d.jsxs)(v.aR,{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(q,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Frames and DOM"}),(0,d.jsx)(t.E,{variant:"outline",children:"inspect"===Q?"inspect":"read-only in navigate mode"})]}),(0,d.jsx)(u.$,{type:"button",variant:G?"primary":"outline",size:"sm",onClick:()=>H(a=>!a),children:G?"Interactive only":"All nodes"})]}),(0,d.jsxs)(v.Wu,{className:"grid gap-2 xl:grid-cols-[220px_minmax(0,1fr)]",children:[(0,d.jsx)("div",{className:"space-y-2",children:w?.frames.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>{ad({command:"selectFrame",frameId:a.id}).catch(a=>{J(a instanceof Error?a.message:"Failed to select frame")})},className:(0,aj.cn)("flex w-full flex-col items-start gap-1 rounded-[4px] border px-2 py-2 text-left transition-colors",w.activeFrameId===a.id?"border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(t.E,{variant:"outline",children:a.isMain?"main":"frame"}),(0,d.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:a.name})]}),(0,d.jsx)("span",{className:"w-full truncate text-[11px] text-[var(--vk-text-muted)]",children:a.url||"about:blank"})]},a.id))}),(0,d.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,d.jsx)(ak,{className:"h-[200px] sm:h-[300px] xl:h-[360px]",children:(0,d.jsxs)("div",{className:"space-y-1 p-2",children:["navigate"===Q?(0,d.jsx)("div",{className:"rounded-[4px] border border-dashed border-[var(--vk-border)] px-2 py-2 text-[11px] text-[var(--vk-text-muted)]",children:"Switch to Inspect mode to pick DOM nodes. Single-click selects a node. Double-click queues it for terminal input."}):null,A?(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(j.A,{className:"h-4 w-4 animate-spin"}),"Inspecting frame DOM…"]}):y.length?y.map((a,b)=>(0,d.jsxs)("button",{type:"button",className:(0,aj.cn)("w-full rounded-[4px] border border-[transparent] px-2 py-2 text-left","inspect"===Q?"hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]":"cursor-not-allowed opacity-60"),disabled:"inspect"!==Q,onClick:()=>{T(null),L(null),N(null),aC(a.selector,w?.activeFrameId).catch(a=>{J(a instanceof Error?a.message:"Failed to select DOM node")})},onDoubleClick:()=>{L(null),N(null),aC(a.selector,w?.activeFrameId).then(a=>{if(!a.selectedElement)throw Error("Failed to resolve the selected DOM node");aA(au(a.selectedElement,a.currentUrl))}).catch(a=>{J(a instanceof Error?a.message:"Failed to queue DOM node")})},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:a.tag}),a.interactive?(0,d.jsx)(t.E,{variant:"warning",children:"interactive"}):null,a.role?(0,d.jsx)(t.E,{variant:"outline",children:a.role}):null]}),(0,d.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:a.selector}),a.text?(0,d.jsx)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-normal)]",children:aq(a.text,180)}):null]},`${a.id??"node"}-${b}-${a.selector}-${a.tag}-${a.text}`)):(0,d.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No DOM nodes to show for the current frame yet."})]})})})]})]}),(0,d.jsxs)("div",{className:"grid gap-2 lg:grid-cols-2",children:[(0,d.jsxs)(v.Zp,{className:"min-h-0",children:[(0,d.jsxs)(v.aR,{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(r.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Console"}),(0,d.jsx)(t.E,{variant:"outline",children:w?.consoleLogs.length??0})]}),(0,d.jsxs)(u.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void aH("console"),disabled:al||!w?.consoleLogs.length,children:["console"===O?(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(p.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,d.jsx)(v.Wu,{children:(0,d.jsx)(ak,{className:"h-[180px] sm:h-[260px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,d.jsx)("div",{className:"space-y-1 p-2",children:w?.consoleLogs.length?w.consoleLogs.map(a=>(0,d.jsxs)("div",{className:"rounded-[3px] px-2 py-1.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,d.jsx)("span",{children:a.level}),(0,d.jsx)("span",{children:ap(a.timestamp)})]}),(0,d.jsx)("div",{className:"mt-1 whitespace-pre-wrap break-all font-mono",children:a.message})]},a.id)):(0,d.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Console output appears here once the page loads."})})})})]}),(0,d.jsxs)(v.Zp,{className:"min-h-0",children:[(0,d.jsxs)(v.aR,{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(s,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Network"}),(0,d.jsx)(t.E,{variant:"outline",children:w?.networkLogs.length??0})]}),(0,d.jsxs)(u.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void aH("network"),disabled:al||!w?.networkLogs.length,children:["network"===O?(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(p.A,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,d.jsx)(v.Wu,{children:(0,d.jsx)(ak,{className:"h-[180px] sm:h-[260px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,d.jsx)("div",{className:"space-y-1 p-2",children:w?.networkLogs.length?w.networkLogs.map(a=>(0,d.jsxs)("div",{className:"rounded-[3px] px-2 py-1.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,d.jsx)("span",{children:a.method??"GET"}),"number"==typeof a.status?(0,d.jsx)("span",{children:a.status}):null,a.resourceType?(0,d.jsx)("span",{children:a.resourceType}):null,(0,d.jsx)("span",{children:ap(a.timestamp)})]}),(0,d.jsx)("div",{className:"mt-1 break-all font-mono",children:a.url??a.message})]},a.id)):(0,d.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Network requests appear here after the preview loads."})})})})]})]})]})]})}}};
@@ -23,6 +23,7 @@
23
23
  "/api/sessions/[id]/terminal/snapshot": {},
24
24
  "/api/sessions/[id]/terminal/token": {},
25
25
  "/api/sessions/[id]/terminal/ttyd": {},
26
+ "/api/sessions/[id]/terminal/ttyd/token": {},
26
27
  "/api/sessions/[id]/terminal/ttyd/ws": {}
27
28
  }
28
29
  }
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/4t0CHi5khaTECrGbEDYyS/_buildManifest.js","static/4t0CHi5khaTECrGbEDYyS/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-89825eaca5533c07.js","static/chunks/87c73c54-014124adcece3495.js","static/chunks/1968-281077ad765d1294.js","static/chunks/main-app-d6167a36ed763f15.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/see4G2ERXsOIVmNhC0xYH/_buildManifest.js","static/see4G2ERXsOIVmNhC0xYH/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-65247d8c6649582a.js","static/chunks/87c73c54-014124adcece3495.js","static/chunks/1968-281077ad765d1294.js","static/chunks/main-app-d6167a36ed763f15.js"],rootMainFilesTree:{},pages:{"/_app":[]}};