conductor-oss 0.19.2 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/package.json +5 -5
  2. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  3. package/web/.next/standalone/packages/web/.next/build-manifest.json +4 -4
  4. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  5. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  6. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +2 -2
  7. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  8. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  14. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  15. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_not-found.rsc +4 -4
  19. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  20. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  22. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  25. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js.nft.json +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.nft.json +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js.nft.json +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js.nft.json +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/api/auth/session/route.js.nft.json +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js.nft.json +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js.nft.json +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js.nft.json +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js.nft.json +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js.nft.json +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.nft.json +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js.nft.json +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.nft.json +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js.nft.json +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js.nft.json +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js.nft.json +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js.nft.json +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js.nft.json +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/api/remote-access/route.js.nft.json +1 -1
  46. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
  48. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js.nft.json +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js.nft.json +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js.nft.json +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js.nft.json +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js.nft.json +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js.nft.json +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route.js.nft.json +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js.nft.json +1 -1
  58. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js.nft.json +1 -1
  59. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js.nft.json +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js.nft.json +1 -1
  61. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
  62. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  63. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.nft.json +1 -1
  64. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js.nft.json +1 -1
  65. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js.nft.json +1 -1
  66. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js.nft.json +1 -1
  67. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  68. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js.nft.json +1 -1
  70. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/app/page/build-manifest.json +2 -2
  72. package/web/.next/standalone/packages/web/.next/server/app/page/react-loadable-manifest.json +4 -4
  73. package/web/.next/standalone/packages/web/.next/server/app/page/server-reference-manifest.json +7 -7
  74. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  76. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/build-manifest.json +2 -2
  77. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/react-loadable-manifest.json +3 -3
  78. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/server-reference-manifest.json +7 -7
  79. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  80. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  81. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/build-manifest.json +2 -2
  82. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/server-reference-manifest.json +7 -7
  83. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  84. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  85. package/web/.next/standalone/packages/web/.next/server/app/unlock/page/build-manifest.json +2 -2
  86. package/web/.next/standalone/packages/web/.next/server/app/unlock/page/server-reference-manifest.json +7 -7
  87. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  88. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  89. package/web/.next/standalone/packages/web/.next/server/chunks/_2c837d66._.js +1 -1
  90. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__cb0aeb63._.js → [root-of-the-server]__1329224f._.js} +2 -2
  91. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__ce4b4158._.js → [root-of-the-server]__1cb74434._.js} +1 -1
  92. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__53bcdbc9._.js +1 -1
  93. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__c405048c._.js +1 -1
  94. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__c79fcfd3._.js +3 -0
  95. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_0e1412de._.js +1 -1
  96. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_3aee3cff._.js +3 -0
  97. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_532f707d._.js +1 -1
  98. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_69e05fca._.js +1 -1
  99. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_80efe193._.js +1 -1
  100. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_903c3fe3._.js +1 -1
  101. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_9990bc82._.js +3 -0
  102. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_a990354c._.js +1 -1
  103. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b9330c69._.js +1 -1
  104. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_c0f0e227._.js +1 -1
  105. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_f36ddaa9._.js +1 -1
  106. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_152e81cd._.js +3 -0
  107. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_a09380f4._.js +3 -0
  108. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{node_modules_@clerk_nextjs_dist_esm_app-router_3eb7b454._.js → node_modules_@clerk_nextjs_dist_esm_app-router_e767206a._.js} +2 -2
  109. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@radix-ui_19d0f177._.js +3 -0
  110. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{node_modules_b8d99fb4._.js → node_modules_@radix-ui_ef419f6b._.js} +2 -2
  111. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_core_dist_types_ba19386c.js +1 -1
  112. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_board_WorkspaceKanban_tsx_735b7999._.js +1 -1
  113. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_sessions_SessionPreview_tsx_ec32db81._.js +1 -1
  114. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_features_dashboard_DashboardClient_tsx_81ae42b0._.js +1 -1
  115. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_features_dashboard_components_DashboardDialogs_tsx_32d3d858._.js +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_hooks_5cb69d9a._.js +1 -1
  117. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_hooks_f05b02cd._.js +1 -1
  118. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +2 -2
  119. package/web/.next/standalone/packages/web/.next/server/pages/404.html +1 -1
  120. package/web/.next/standalone/packages/web/.next/server/pages/500.html +2 -2
  121. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  122. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +8 -8
  123. package/web/.next/standalone/packages/web/.next/static/chunks/{d934d0e74594a818.js → 2d65cd3bc1137b3d.js} +1 -1
  124. package/web/.next/standalone/packages/web/.next/static/chunks/{96b41c96a34195c2.js → 437b46a75e1c92a7.js} +1 -1
  125. package/web/.next/standalone/packages/web/.next/static/chunks/450e4de887dcd142.js +1 -0
  126. package/web/.next/standalone/packages/web/.next/static/chunks/{81e3cea43881b17d.js → 4b3ac491753f4910.js} +1 -1
  127. package/web/.next/standalone/packages/web/.next/static/chunks/4f912a60e3753a1f.css +4 -0
  128. package/web/.next/standalone/packages/web/.next/static/chunks/50475743a65c6ae5.js +1 -0
  129. package/web/.next/standalone/packages/web/.next/static/chunks/581440483618ce47.js +1 -0
  130. package/web/.next/standalone/packages/web/.next/static/chunks/5c60a749d318d388.js +1 -0
  131. package/web/.next/standalone/packages/web/.next/static/chunks/5cb35e89898ff9e1.js +1 -0
  132. package/web/.next/standalone/packages/web/.next/static/chunks/{378daaa8dbf5309c.js → 741a641e5fe294ff.js} +1 -1
  133. package/web/.next/standalone/packages/web/.next/static/chunks/9b1065a7ccd69a3e.js +1 -0
  134. package/web/.next/standalone/packages/web/.next/static/chunks/{a70ab593d305d020.js → a0af599485430d5f.js} +1 -1
  135. package/web/.next/{static/chunks/355bedd41c2e9b0c.js → standalone/packages/web/.next/static/chunks/ae6e408453a5d1dc.js} +1 -1
  136. package/web/.next/standalone/packages/web/.next/static/chunks/b1c03c2c194b81b8.js +1 -0
  137. package/web/.next/standalone/packages/web/.next/static/chunks/b9c1238cc9302baa.js +1 -0
  138. package/web/.next/standalone/packages/web/.next/static/chunks/c3443f28deeae499.js +1 -0
  139. package/web/.next/standalone/packages/web/.next/static/chunks/{4f9d3a3c14fb43da.js → c8e8ff2836531532.js} +1 -1
  140. package/web/.next/standalone/packages/web/.next/static/chunks/cb1a507b11d64bfb.js +1 -0
  141. package/web/.next/standalone/packages/web/.next/static/chunks/ce2f01a7e421d6fe.js +1 -0
  142. package/web/.next/standalone/packages/web/.next/static/chunks/dd6469b26407178b.js +1 -0
  143. package/web/.next/standalone/packages/web/.next/static/chunks/e59b8003fba5213d.js +1 -0
  144. package/web/.next/standalone/packages/web/.next/static/chunks/{459f77e3c65b47d6.js → fc68108d32aea368.js} +1 -1
  145. package/web/.next/standalone/packages/web/.next/static/chunks/{turbopack-9809b4096e86149a.js → turbopack-c76ead44073de602.js} +1 -1
  146. package/web/.next/standalone/packages/web/src/components/board/WorkspaceKanban.tsx +2 -1
  147. package/web/.next/standalone/packages/web/src/components/sessions/SessionDiff.tsx +3 -2
  148. package/web/.next/standalone/packages/web/src/components/sessions/SessionPreview.tsx +3 -2
  149. package/web/.next/standalone/packages/web/src/components/sessions/SessionTerminal.tsx +1 -1
  150. package/web/.next/standalone/packages/web/src/features/dashboard/DashboardClient.tsx +10 -11
  151. package/web/.next/standalone/packages/web/src/features/dashboard/components/DashboardDialogs.tsx +4 -142
  152. package/web/.next/standalone/packages/web/src/features/dashboard/components/WorkspaceOverview.tsx +20 -4
  153. package/web/.next/standalone/packages/web/src/features/sessions/SessionPageClient.tsx +10 -0
  154. package/web/.next/standalone/packages/web/src/hooks/useAgents.ts +1 -1
  155. package/web/.next/standalone/packages/web/src/hooks/useNotificationAlerts.ts +291 -0
  156. package/web/.next/standalone/packages/web/src/lib/notificationSounds.ts +207 -0
  157. package/web/.next/standalone/packages/web/src/lib/sessionState.ts +11 -6
  158. package/web/.next/static/chunks/{d934d0e74594a818.js → 2d65cd3bc1137b3d.js} +1 -1
  159. package/web/.next/static/chunks/{96b41c96a34195c2.js → 437b46a75e1c92a7.js} +1 -1
  160. package/web/.next/static/chunks/450e4de887dcd142.js +1 -0
  161. package/web/.next/static/chunks/{81e3cea43881b17d.js → 4b3ac491753f4910.js} +1 -1
  162. package/web/.next/static/chunks/4f912a60e3753a1f.css +4 -0
  163. package/web/.next/static/chunks/50475743a65c6ae5.js +1 -0
  164. package/web/.next/static/chunks/581440483618ce47.js +1 -0
  165. package/web/.next/static/chunks/5c60a749d318d388.js +1 -0
  166. package/web/.next/static/chunks/5cb35e89898ff9e1.js +1 -0
  167. package/web/.next/static/chunks/{378daaa8dbf5309c.js → 741a641e5fe294ff.js} +1 -1
  168. package/web/.next/static/chunks/9b1065a7ccd69a3e.js +1 -0
  169. package/web/.next/static/chunks/{a70ab593d305d020.js → a0af599485430d5f.js} +1 -1
  170. package/web/.next/{standalone/packages/web/.next/static/chunks/355bedd41c2e9b0c.js → static/chunks/ae6e408453a5d1dc.js} +1 -1
  171. package/web/.next/static/chunks/b1c03c2c194b81b8.js +1 -0
  172. package/web/.next/static/chunks/b9c1238cc9302baa.js +1 -0
  173. package/web/.next/static/chunks/c3443f28deeae499.js +1 -0
  174. package/web/.next/static/chunks/{4f9d3a3c14fb43da.js → c8e8ff2836531532.js} +1 -1
  175. package/web/.next/static/chunks/cb1a507b11d64bfb.js +1 -0
  176. package/web/.next/static/chunks/ce2f01a7e421d6fe.js +1 -0
  177. package/web/.next/static/chunks/dd6469b26407178b.js +1 -0
  178. package/web/.next/static/chunks/e59b8003fba5213d.js +1 -0
  179. package/web/.next/static/chunks/{459f77e3c65b47d6.js → fc68108d32aea368.js} +1 -1
  180. package/web/.next/static/chunks/{turbopack-9809b4096e86149a.js → turbopack-c76ead44073de602.js} +1 -1
  181. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__337468fd._.js +0 -3
  182. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_98876927._.js +0 -3
  183. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_883c65c7._.js +0 -3
  184. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_284bf164._.js +0 -3
  185. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_fc0422b6._.js +0 -3
  186. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_lib_cn_ts_d08d265f._.js +0 -3
  187. package/web/.next/standalone/packages/web/.next/static/chunks/26a7e7bfa0c7c333.js +0 -1
  188. package/web/.next/standalone/packages/web/.next/static/chunks/2760ffd80cc5974a.js +0 -1
  189. package/web/.next/standalone/packages/web/.next/static/chunks/27e63de286c66b73.js +0 -1
  190. package/web/.next/standalone/packages/web/.next/static/chunks/3066ce838f62bf36.js +0 -1
  191. package/web/.next/standalone/packages/web/.next/static/chunks/34500baf24f4b1ba.js +0 -1
  192. package/web/.next/standalone/packages/web/.next/static/chunks/5d8c72d5215f5485.js +0 -1
  193. package/web/.next/standalone/packages/web/.next/static/chunks/6e98107b81bc5b12.js +0 -1
  194. package/web/.next/standalone/packages/web/.next/static/chunks/8216f40bafea0ec2.js +0 -1
  195. package/web/.next/standalone/packages/web/.next/static/chunks/997ac5c24d1d89f2.js +0 -1
  196. package/web/.next/standalone/packages/web/.next/static/chunks/a0656cf00243d2a4.js +0 -1
  197. package/web/.next/standalone/packages/web/.next/static/chunks/c2f9fe243cc8bd24.js +0 -1
  198. package/web/.next/standalone/packages/web/.next/static/chunks/c3a61db21bd52eaf.css +0 -4
  199. package/web/.next/standalone/packages/web/.next/static/chunks/da9681f9820fc6bd.js +0 -1
  200. package/web/.next/static/chunks/26a7e7bfa0c7c333.js +0 -1
  201. package/web/.next/static/chunks/2760ffd80cc5974a.js +0 -1
  202. package/web/.next/static/chunks/27e63de286c66b73.js +0 -1
  203. package/web/.next/static/chunks/3066ce838f62bf36.js +0 -1
  204. package/web/.next/static/chunks/34500baf24f4b1ba.js +0 -1
  205. package/web/.next/static/chunks/5d8c72d5215f5485.js +0 -1
  206. package/web/.next/static/chunks/6e98107b81bc5b12.js +0 -1
  207. package/web/.next/static/chunks/8216f40bafea0ec2.js +0 -1
  208. package/web/.next/static/chunks/997ac5c24d1d89f2.js +0 -1
  209. package/web/.next/static/chunks/a0656cf00243d2a4.js +0 -1
  210. package/web/.next/static/chunks/c2f9fe243cc8bd24.js +0 -1
  211. package/web/.next/static/chunks/c3a61db21bd52eaf.css +0 -4
  212. package/web/.next/static/chunks/da9681f9820fc6bd.js +0 -1
  213. /package/web/.next/standalone/packages/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_buildManifest.js +0 -0
  214. /package/web/.next/standalone/packages/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_clientMiddlewareManifest.json +0 -0
  215. /package/web/.next/standalone/packages/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_ssgManifest.js +0 -0
  216. /package/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_buildManifest.js +0 -0
  217. /package/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_clientMiddlewareManifest.json +0 -0
  218. /package/web/.next/static/{AThcyGsbhfLjpe2EymN_C → E909GLj6potSWpP-i6F73}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11077,e=>{"use strict";let t,r,a;var n=e.i(43476),l=e.i(18620),o=e.i(71645),i=e.i(20783),s=Symbol.for("react.lazy"),c=o[" use ".trim().toString()];function d(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===s&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var p=((a=o.forwardRef((e,t)=>{let{children:r,...a}=e;if(d(r)&&"function"==typeof c&&(r=c(r._payload)),o.isValidElement(r)){var n;let e,l,s=(n=r,(l=(e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.ref:(l=(e=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.props.ref:n.props.ref||n.ref),c=function(e,t){let r={...t};for(let a in t){let n=e[a],l=t[a];/^on[A-Z]/.test(a)?n&&l?r[a]=(...e)=>{let t=l(...e);return n(...e),t}:n&&(r[a]=n):"style"===a?r[a]={...n,...l}:"className"===a&&(r[a]=[n,l].filter(Boolean).join(" "))}return{...e,...r}}(a,r.props);return r.type!==o.Fragment&&(c.ref=t?(0,i.composeRefs)(t,s):s),o.cloneElement(r,c)}return o.Children.count(r)>1?o.Children.only(null):null})).displayName="Slot.SlotClone",t=a,(r=o.forwardRef((e,r)=>{let{children:a,...l}=e;d(a)&&"function"==typeof c&&(a=c(a._payload));let i=o.Children.toArray(a),s=i.find(f);if(s){let e=s.props.children,a=i.map(t=>t!==s?t:o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null);return(0,n.jsx)(t,{...l,ref:r,children:o.isValidElement(e)?o.cloneElement(e,void 0,a):null})}return(0,n.jsx)(t,{...l,ref:r,children:a})})).displayName="Slot.Slot",r),v=Symbol("radix.slottable");function f(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===v}let u={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},b={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},h=(0,o.forwardRef)(({variant:e="default",size:t="md",asChild:r,className:a,children:o,...i},s)=>(0,n.jsx)(r?p:"button",{ref:s,className:(0,l.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",u[e],b[t],a),...i,children:o}));h.displayName="Button",e.s(["Button",0,h],11077)},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},90272,67236,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",()=>r],90272);let a=(0,t.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);e.s(["FolderKanban",()=>a],67236)},86536,e=>{"use strict";let t=(0,e.i(75254).default)("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"}]]);e.s(["Eye",()=>t],86536)},19202,e=>{e.v(t=>Promise.all(["static/chunks/96b41c96a34195c2.js","static/chunks/cf56c2684b9a1e98.js"].map(t=>e.l(t))).then(()=>t(31437)))},14955,e=>{e.v(t=>Promise.all(["static/chunks/12ac10166ec686d8.js"].map(t=>e.l(t))).then(()=>t(4886)))},85965,e=>{e.v(t=>Promise.all(["static/chunks/a0656cf00243d2a4.js"].map(t=>e.l(t))).then(()=>t(58641)))},24629,e=>{e.v(t=>Promise.all(["static/chunks/3f41b6fbd3701c02.js","static/chunks/c2f9fe243cc8bd24.js"].map(t=>e.l(t))).then(()=>t(96933)))},77137,e=>{e.v(t=>Promise.all(["static/chunks/7d847f89b35f06f0.js","static/chunks/8216f40bafea0ec2.js"].map(t=>e.l(t))).then(()=>t(41280)))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11077,e=>{"use strict";let t,r,n;var a=e.i(43476),s=e.i(18620),i=e.i(71645),l=e.i(20783),o=Symbol.for("react.lazy"),c=i[" use ".trim().toString()];function d(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===o&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var u=((n=i.forwardRef((e,t)=>{let{children:r,...n}=e;if(d(r)&&"function"==typeof c&&(r=c(r._payload)),i.isValidElement(r)){var a;let e,s,o=(a=r,(s=(e=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.ref:(s=(e=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.props.ref:a.props.ref||a.ref),c=function(e,t){let r={...t};for(let n in t){let a=e[n],s=t[n];/^on[A-Z]/.test(n)?a&&s?r[n]=(...e)=>{let t=s(...e);return a(...e),t}:a&&(r[n]=a):"style"===n?r[n]={...a,...s}:"className"===n&&(r[n]=[a,s].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==i.Fragment&&(c.ref=t?(0,l.composeRefs)(t,o):o),i.cloneElement(r,c)}return i.Children.count(r)>1?i.Children.only(null):null})).displayName="Slot.SlotClone",t=n,(r=i.forwardRef((e,r)=>{let{children:n,...s}=e;d(n)&&"function"==typeof c&&(n=c(n._payload));let l=i.Children.toArray(n),o=l.find(m);if(o){let e=o.props.children,n=l.map(t=>t!==o?t:i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null);return(0,a.jsx)(t,{...s,ref:r,children:i.isValidElement(e)?i.cloneElement(e,void 0,n):null})}return(0,a.jsx)(t,{...s,ref:r,children:n})})).displayName="Slot.Slot",r),p=Symbol("radix.slottable");function m(e){return i.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===p}let h={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},f={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},v=(0,i.forwardRef)(({variant:e="default",size:t="md",asChild:r,className:n,children:i,...l},o)=>(0,a.jsx)(r?u:"button",{ref:o,className:(0,s.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",h[e],f[t],n),...l,children:i}));v.displayName="Button",e.s(["Button",0,v],11077)},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},52808,e=>{"use strict";let t=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function r(e){return"merged"===e.status||"archived"===e.status||"killed"===e.status||"errored"===e.status||"cleanup"===e.status||"done"===e.status||"terminated"===e.status||e.pr&&("merged"===e.pr.state||"closed"===e.pr.state)?"done":"mergeable"===e.status||"approved"===e.status||e.pr?.mergeability.mergeable?"merge":"waiting_input"===e.activity||"blocked"===e.activity||"needs_input"===e.status||"stuck"===e.status?"respond":"queued"===e.status?"pending":"exited"===e.activity?"respond":"ci_failed"===e.status||"changes_requested"===e.status||e.pr&&("failing"===e.pr.ciStatus||"changes_requested"===e.pr.reviewDecision||!e.pr.mergeability.noConflicts)?"review":"review_pending"===e.status||e.pr&&!e.pr.isDraft&&("pending"===e.pr.reviewDecision||"none"===e.pr.reviewDecision)?"pending":"working"}e.s(["TERMINAL_STATUSES",0,t,"getAttentionLevel",()=>r])},48256,84981,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("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"}]]);e.s(["Globe",()=>r],48256);let n=(0,t.default)("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"}]]);e.s(["default",()=>n],84981)},90993,e=>{"use strict";var t=e.i(43476),r=e.i(18620);let n=(0,e.i(71645).forwardRef)(({className:e,...n},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("surface-card rounded-[var(--radius-md)] border",e),...n}));function a({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",e),...n})}function s({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("px-3 py-2",e),...n})}n.displayName="Card",e.s(["Card",0,n,"CardContent",()=>s,"CardHeader",()=>a])},55716,e=>{"use strict";let t=(0,e.i(75254).default)("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"}]]);e.s(["GitBranch",()=>t],55716)},27025,90336,e=>{"use strict";let t=(0,e.i(75254).default)("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"}]]);e.s(["Folder",()=>t],27025);var r=e.i(71645);function n(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function a(){let[e,t]=(0,r.useState)(null),[a,s]=(0,r.useState)(!0),[i,l]=(0,r.useState)(null),o=(0,r.useRef)(!1),c=(0,r.useCallback)(async()=>{try{var e;let r,a,s,i=await fetch("/api/preferences"),o=await i.json().catch(()=>null);if(!i.ok)throw Error(o?.error??`Failed to load preferences: ${i.status}`);t((e=o?.preferences,r=n(e),s=(a=n(r.notifications)).soundFile,{onboardingAcknowledged:!0===r.onboardingAcknowledged,codingAgent:"string"==typeof r.codingAgent&&r.codingAgent.trim().length>0?r.codingAgent.trim():"claude-code",ide:"string"==typeof r.ide&&r.ide.trim().length>0?r.ide.trim():"vscode",markdownEditor:"string"==typeof r.markdownEditor&&r.markdownEditor.trim().length>0?r.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof r.markdownEditorPath?r.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===s?null:"string"==typeof s&&s.trim().length>0?s.trim():"abstract-sound-4"}})),l(null)}catch(e){t(null),l(e instanceof Error?e.message:"Failed to load preferences")}finally{s(!1)}},[]);return(0,r.useEffect)(()=>{o.current||(o.current=!0,c())},[c]),{preferences:e,loading:a,error:i,refresh:c}}e.s(["usePreferences",()=>a],90336)},78917,e=>{"use strict";let t=(0,e.i(75254).default)("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"}]]);e.s(["ExternalLink",()=>t],78917)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],63059)},16715,e=>{"use strict";let t=(0,e.i(75254).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},64659,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],64659)},55436,e=>{"use strict";let t=(0,e.i(75254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],55436)},7233,e=>{"use strict";let t=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},45241,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(74080),a=e.i(7233),s=e.i(37727),i=e.i(18620),l=e.i(52808);let o=(0,e.i(75254).default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var c=e.i(55436),d=e.i(69242);let u=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];function p(e){let t=e.metadata.worktree?.trim()??"";return t&&t.replace(/\\/g,"/").replace(/\/+$/,"").includes("/worktrees/")?"worktree":"local"}function m(e){let t=e.branch?.trim();if(t)return t;let r=e.summary?.trim()||e.metadata.summary?.trim();return r||(e.status?.trim()?e.status.replace(/[_-]+/g," "):e.id.slice(0,8))}function h(){let[e,n]=(0,r.useState)(0);return(0,r.useEffect)(()=>{let e=window.setInterval(()=>{n(e=>(e+1)%u.length)},80);return()=>window.clearInterval(e)},[]),(0,t.jsx)("span",{"aria-hidden":"true",className:"inline-block select-none font-mono text-[18px] leading-none text-[var(--vk-text-strong)]",children:u[e]})}function f({running:e}){return e?(0,t.jsx)("span",{className:"mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center",children:(0,t.jsx)(h,{})}):null}function v({additions:e,deletions:r,isSelected:n}){return(0,t.jsx)("span",{className:(0,i.cn)("inline-flex shrink-0 items-center rounded-[10px] px-3 py-1.5 font-mono text-[12px] leading-none tabular-nums",n?"bg-[rgba(255,255,255,0.1)]":"bg-[rgba(255,255,255,0.06)]"),children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-3",children:[(0,t.jsxs)("span",{className:"text-[#18c58f]",children:["+",e]}),(0,t.jsxs)("span",{className:"text-[#f26d6d]",children:["−",r]})]})})}function x(e,t,r){e.stopPropagation(),e.preventDefault(),r(t,{tab:"diff"})}function b({sessions:e,selectedId:n,onSelect:a,onArchive:s,onCreateWorkspace:u,showHeader:h=!0}){let[b,g]=(0,r.useState)(""),[y,w]=(0,r.useState)(null),[k,j]=(0,r.useState)(null),N=(0,r.useMemo)(()=>{let t=e.filter(e=>"archived"!==e.status);if(!b.trim())return t;let r=b.toLowerCase();return t.filter(e=>{let t=e.summary??"",n=e.branch??"",a=e.metadata.agent??"",s=p(e),i=m(e);return e.id.toLowerCase().includes(r)||e.projectId.toLowerCase().includes(r)||t.toLowerCase().includes(r)||n.toLowerCase().includes(r)||a.toLowerCase().includes(r)||s.toLowerCase().includes(r)||i.toLowerCase().includes(r)})},[b,e]),S=async(e,t)=>{if(e.stopPropagation(),e.preventDefault(),s&&y!==t){w(t);try{await s(t)}catch(e){console.error("Failed to archive session",e),j(t),window.setTimeout(()=>j(null),3e3)}finally{w(e=>e===t?null:e)}}},C=(0,r.useMemo)(()=>[...N].sort((e,t)=>new Date(t.lastActivityAt).getTime()-new Date(e.lastActivityAt).getTime()),[N]);return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[h&&(0,t.jsxs)("div",{className:"flex h-[33px] items-center gap-1 px-2",children:[(0,t.jsx)("p",{className:"text-[16px] text-[var(--vk-text-normal)]",children:"Workspaces"}),u&&(0,t.jsx)("button",{type:"button",onClick:u,className:"ml-auto inline-flex h-5 w-5 items-center justify-center rounded-[3px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)] lg:hidden","aria-label":"New workspace",children:(0,t.jsx)("span",{className:"text-[14px]",children:"+"})})]}),(0,t.jsx)("div",{className:(0,i.cn)("flex h-[38px] items-center px-2 pb-1.5",!h&&"pt-1.5"),children:(0,t.jsxs)("label",{className:"flex h-[38px] flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 sm:h-[30px]",children:[(0,t.jsx)(c.Search,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,t.jsx)("input",{value:b,onChange:e=>g(e.target.value),placeholder:"Search...",className:"ml-1.5 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-2 pb-2",children:0===C.length?(0,t.jsx)("p",{className:"px-2 py-2 text-[14px] text-[var(--vk-text-muted)]",children:"No sessions"}):(0,t.jsx)("div",{className:"space-y-2",children:C.map(e=>{let r=(0,l.getAttentionLevel)(e),c=function(e){for(let t of[e.metadata.lastStderr,e.metadata.summary,e.summary]){if(!t)continue;let e=t.match(/(\d+)\s+insertions?\(\+\),\s+(\d+)\s+deletions?\(-\)/i);if(!e)continue;let r=Number.parseInt(e[1]??"0",10),n=Number.parseInt(e[2]??"0",10);if(Number.isFinite(r)&&Number.isFinite(n))return{additions:r,deletions:n}}return null}(e),u=function(e,t){let r=`${e.summary??""} ${e.metadata.summary??""}`.toLowerCase();if("killed"===e.status||r.includes("interrupted"))return{label:"Interrupted",className:"text-[var(--vk-orange)]"};switch(t){case"merge":return{label:"Ready",className:"text-[var(--vk-green)]"};case"respond":return{label:"Needs input",className:"text-[var(--vk-red)]"};case"review":return{label:"Review",className:"text-[var(--vk-orange)]"};case"working":return{label:"Running",className:"text-[#4e87f3]"};case"done":return{label:"Done",className:"text-[var(--vk-text-muted)]"};default:return{label:"Queued",className:"text-[var(--vk-text-muted)]"}}}(e,r),h=e.metadata.agent?.trim()||null,b=e.id===n,g="waiting_input"!==e.activity&&"blocked"!==e.activity&&("spawning"===e.status||"working"===e.status),w=y===e.id,j=k===e.id;return(0,t.jsxs)("div",{onClick:()=>a(e.id),onKeyDown:t=>{var r;return r=e.id,void(("Enter"===t.key||" "===t.key)&&(t.preventDefault(),a(r)))},role:"button",tabIndex:0,className:(0,i.cn)("group flex w-full items-start gap-3 rounded-[8px] border px-3 py-3 text-left transition-colors","[content-visibility:auto] [contain-intrinsic-size:92px]",b?"border-[rgba(234,122,42,0.28)] bg-[rgba(255,255,255,0.08)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsx)(f,{running:g}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-start gap-2",children:[(0,t.jsxs)("span",{className:"min-w-0 flex flex-1 items-center gap-2",children:[h?(0,t.jsx)("span",{className:"inline-flex h-5 w-5 shrink-0 items-center justify-center",title:h,"aria-label":`${h} agent`,children:(0,t.jsx)(d.AgentTileIcon,{seed:{label:h},className:"h-4 w-4"})}):null,(0,t.jsx)("span",{className:"min-w-0 truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:p(e)})]}),c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"hidden shrink-0 sm:block",children:(0,t.jsx)("button",{type:"button",onClick:t=>x(t,e.id,a),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&x(t,e.id,a)},className:"rounded-[10px] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","aria-label":`Open diff for session ${e.id}`,title:"Open diff tab",children:(0,t.jsx)(v,{additions:c.additions,deletions:c.deletions,isSelected:b})})}),(0,t.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium sm:hidden",children:(0,t.jsx)("span",{className:u.className,children:u.label})})]}):(0,t.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium",children:(0,t.jsx)("span",{className:u.className,children:u.label})})]}),(0,t.jsx)("span",{className:"mt-1 block truncate text-[12px] text-[var(--vk-text-muted)]",children:m(e)})]}),s?(0,t.jsx)("button",{type:"button",onClick:t=>void S(t,e.id),disabled:w,className:(0,i.cn)("mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-[6px] border border-[var(--vk-border)] text-[var(--vk-text-muted)] transition sm:h-7 sm:w-7","opacity-70 group-hover:opacity-100 focus-visible:opacity-100","hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",w&&"cursor-wait opacity-100"),"aria-label":`Archive session ${e.id}`,title:j?"Archive failed":"Archive session",children:(0,t.jsx)(o,{className:(0,i.cn)("h-3.5 w-3.5",j&&"text-red-400")})}):null]},e.id)})})})]})}var g=e.i(11077);let y=(0,r.memo)(function({projects:e,selectedProjectId:o,onSelectProject:c,onUnlinkProject:d,sessions:u,selectedSessionId:p,onSelectSession:m,onArchiveSession:h,onCreateWorkspace:f}){let[v,x]=(0,r.useState)(null),[y,w]=(0,r.useState)(null),[k,j]=(0,r.useState)(null),N=(0,r.useMemo)(()=>{let e=new Map;for(let t of u){if("archived"===t.status)continue;let r=e.get(t.projectId)??{total:0,active:0};r.total+=1,"done"!==(0,l.getAttentionLevel)(t)&&(r.active+=1),e.set(t.projectId,r)}return e},[u]),S=(0,r.useMemo)(()=>e.find(e=>e.id===y)??null,[y,e]);async function C(){if(d&&y){x(y),j(null);try{await d(y),w(null)}catch(e){j(e instanceof Error?e.message:"Failed to unlink project.")}finally{x(null)}}}return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-col bg-[var(--vk-bg-panel)]",children:[(0,t.jsxs)("section",{className:"border-b border-[var(--vk-border)] px-4 py-4",children:[(0,t.jsx)("div",{className:"flex justify-center text-center",children:(0,t.jsx)("p",{className:"font-brand-header text-[22px] font-bold leading-none uppercase tracking-[0.32em] text-[var(--vk-text-strong)]",children:"Conductor"})}),(0,t.jsxs)("button",{type:"button",onClick:f,className:"mt-3 inline-flex h-11 w-full items-center justify-center gap-1 rounded-[6px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-8","aria-label":"Add workspace",children:[(0,t.jsx)(a.Plus,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:"Add Workspace"})]})]}),(0,t.jsxs)("section",{className:"border-b border-[var(--vk-border)] pb-2 pt-1.5",children:[(0,t.jsx)("div",{className:"flex h-[28px] items-center px-3",children:(0,t.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Projects"})}),(0,t.jsxs)("div",{className:"max-h-[260px] overflow-y-auto px-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>c(null),className:(0,i.cn)("mb-1.5 flex w-full items-center gap-3 rounded-[6px] px-3 py-2.5 text-left text-[14px] leading-[21px]",null===o?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-[var(--vk-text-muted)]"}),(0,t.jsx)("span",{className:"truncate",children:"All projects"}),(0,t.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:e.length})]}),e.map(e=>{let r=o===e.id,n=N.get(e.id)??{total:0,active:0},a=v===e.id;return(0,t.jsxs)("div",{className:(0,i.cn)("group relative mb-1.5 flex items-center rounded-[6px]",r?"bg-[var(--vk-bg-hover)]":"hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsxs)("button",{type:"button",onClick:()=>c(e.id),className:(0,i.cn)("flex min-w-0 flex-1 items-center gap-3 px-3 py-2.5 text-left text-[14px] leading-[21px]",r?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"),children:[(0,t.jsx)("span",{className:"mt-1 h-2.5 w-2.5 shrink-0 rounded-full bg-[#3c83f6]"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate",children:e.id}),e.description?(0,t.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:e.description}):null]}),(0,t.jsxs)("span",{className:"shrink-0 text-right",children:[(0,t.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-normal)]",children:[n.active," active"]}),(0,t.jsxs)("span",{className:"block text-[10px] text-[var(--vk-text-muted)]",children:[n.total," total"]})]})]}),d&&(0,t.jsx)("button",{type:"button",disabled:a,onClick:t=>{t.stopPropagation(),j(null),w(e.id)},className:"mr-2 inline-flex shrink-0 items-center justify-center rounded-[4px] p-1 text-[var(--vk-text-muted)] hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)] disabled:opacity-50","aria-label":`Unlink ${e.id}`,title:"Unlink project",children:(0,t.jsx)(s.X,{className:"h-3.5 w-3.5"})})]},e.id)})]})]}),(0,t.jsx)("section",{className:"flex min-h-0 flex-1 flex-col pt-1.5",children:(0,t.jsx)(b,{sessions:u,selectedId:p,onSelect:m,onArchive:h,onCreateWorkspace:f,showHeader:!1})})]}),S&&"u">typeof document?(0,n.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{v||(w(null),j(null))},children:(0,t.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_90px_rgba(0,0,0,0.55)]",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"unlink-project-title",children:[(0,t.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)("h2",{id:"unlink-project-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Unlink Project"}),(0,t.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Remove ",(0,t.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:S.id})," from this workspace configuration."]})]}),(0,t.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,t.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This only removes the project from Conductor. Repository files on disk are not deleted."}),k?(0,t.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:k}):null]}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)(g.Button,{type:"button",variant:"ghost",onClick:()=>{w(null),j(null)},disabled:null!==v,children:"Cancel"}),(0,t.jsx)(g.Button,{type:"button",variant:"danger",onClick:()=>void C(),disabled:null!==v,children:v===S.id?"Unlinking...":"Unlink Project"})]})]})}),document.body):null]})});e.s(["WorkspaceSidebarPanel",0,y],45241)},99647,e=>{"use strict";let t=(0,e.i(75254).default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);e.s(["PanelLeftOpen",()=>t],99647)},40142,32944,e=>{"use strict";var t=e.i(71645),r=e.i(97878);let n={sessionsById:new Map,orderedIds:[],version:0,loading:!0,error:null,listInitialized:!1,refreshPromise:null,unsubscribeSnapshots:null,activeConsumers:0,pollTimer:null,focusHandler:null,visibilityHandler:null},a=new Set;function s(){for(let e of a)e()}function i(e){return[...e.values()].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)).map(e=>e.id)}function l(e,t){n.sessionsById=e,n.orderedIds=t,n.version+=1}function o(e){return{id:e.id,projectId:e.projectId,status:e.status,activity:e.activity,branch:e.branch,issueId:e.issueId,summary:e.summary??null,createdAt:e.createdAt,lastActivityAt:e.lastActivityAt,pr:e.pr??null,metadata:e.metadata}}async function c(){if(n.refreshPromise)return void await n.refreshPromise;let e=(async()=>{try{var e;let t=await fetch("/api/sessions",{cache:"no-store"});if(!t.ok)throw Error(`Failed to fetch sessions: ${t.status}`);let r=(e=await t.json().catch(()=>null),Array.isArray(e)?e:Array.isArray(e?.sessions)?e.sessions:[]),a=new Map(r.map(e=>[e.id,e]));l(a,i(a)),n.error=null}catch(e){n.error=e instanceof Error?e.message:"Failed to fetch sessions"}finally{n.loading=!1,s()}})();n.refreshPromise=e.finally(()=>{n.refreshPromise===e&&(n.refreshPromise=null)}),await e}function d(){return"visible"===document.visibilityState}function u(){null!==n.pollTimer&&(window.clearTimeout(n.pollTimer),n.pollTimer=null)}function p(){u(),0!==n.activeConsumers&&d()&&(n.pollTimer=window.setTimeout(async()=>{0!==n.activeConsumers&&d()&&(await c(),p())},15e3))}function m(){n.activeConsumers+=1,n.activeConsumers>1||(n.unsubscribeSnapshots||(n.unsubscribeSnapshots=(0,r.subscribeToSnapshotEvents)(e=>{if("snapshot"===e.type)l(new Map(e.sessions.map(e=>{let t=o(e);return[t.id,t]})),e.sessions.map(e=>e.id));else{let t=new Map(n.sessionsById);for(let r of e.sessions){let e=o(r);t.set(e.id,e)}for(let r of e.removedSessionIds??[])t.delete(r);l(t,i(t))}n.loading=!1,n.error=null,s()})),n.listInitialized||(n.listInitialized=!0),function(){if(n.focusHandler||n.visibilityHandler)return;let e=()=>{0!==n.activeConsumers&&(c(),p())},t=()=>{0!==n.activeConsumers&&("visible"===document.visibilityState&&c(),u(),p())};n.focusHandler=e,n.visibilityHandler=t,window.addEventListener("focus",e),document.addEventListener("visibilitychange",t)}(),d()&&c(),p())}function h(){n.activeConsumers=Math.max(0,n.activeConsumers-1),n.activeConsumers>0||(u(),n.focusHandler&&(window.removeEventListener("focus",n.focusHandler),n.focusHandler=null),n.visibilityHandler&&(document.removeEventListener("visibilitychange",n.visibilityHandler),n.visibilityHandler=null),n.unsubscribeSnapshots?.(),n.unsubscribeSnapshots=null)}function f(e){return a.add(e),()=>{a.delete(e)}}async function v(e){try{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}`,{cache:"no-store"});if(404===t.status){let t=new Map(n.sessionsById);return t.delete(e),l(t,i(t)),n.error=null,s(),null}if(!t.ok)throw Error(`Failed to fetch session: ${t.status}`);let r=await t.json(),a=new Map(n.sessionsById);return a.set(r.id,r),l(a,i(a)),n.error=null,r}catch(e){throw n.error=e instanceof Error?e.message:"Failed to fetch session",e}finally{n.loading=!1,s()}}function x(e,r){let a=r?.enabled??!0,[,s]=(0,t.useReducer)(e=>e+1,0);return(0,t.useEffect)(()=>{if(!a)return;m();let e=f(()=>s());return()=>{e(),h()}},[a]),{sessions:(0,t.useMemo)(()=>{let t;return a?(t=e?.trim(),n.orderedIds.map(e=>n.sessionsById.get(e)).filter(e=>!!e).filter(e=>!t||e.projectId===t)):[]},[a,e,n.version]),loading:!!a&&n.loading,error:a?n.error:null,refresh:c}}function b(e,r=null,a){let o=a?.enabled??!0,[,c]=(0,t.useReducer)(e=>e+1,0),d="string"==typeof e&&e.trim().length>0?e.trim():null,[u,p]=(0,t.useState)(r),[x,g]=(0,t.useState)(null),[y,w]=(0,t.useState)(o&&null!==d&&null===r&&!n.sessionsById.has(d));return(0,t.useEffect)(()=>{!function(e){if(!e)return;let t=n.sessionsById.get(e.id);if(t&&JSON.stringify(t)===JSON.stringify(e))return;let r=new Map(n.sessionsById);r.set(e.id,e),l(r,i(r)),n.loading=!1,s()}(r),p(r),g(null)},[r]),(0,t.useEffect)(()=>{if(o&&null!==d)return f(()=>c())},[o,d]),(0,t.useEffect)(()=>{if(o&&null!==d)return m(),()=>{h()}},[o,d]),(0,t.useEffect)(()=>{if(!o||null===d){p(null),g(null),w(!1);return}if(r||n.sessionsById.has(d)){p(e=>n.sessionsById.get(d)??e??r),g(null),w(!1);return}let e=!1;return w(!0),g(null),v(d).then(t=>{e||(p(t),g(null))}).catch(t=>{e||(p(null),g(t instanceof Error?t.message:"Failed to fetch session"))}).finally(()=>{e||w(!1)}),()=>{e=!0}},[o,d,r]),{session:d?n.sessionsById.get(d)??u??r??null:null,loading:y,error:o&&d?x??n.error:null}}function g(e,t=null,r){return b(e,t,r)}e.s(["useSharedSession",()=>b,"useSharedSessions",()=>x],32944),e.s(["useSession",()=>g],40142)},97878,e=>{"use strict";let t=new Set,r=new Set,n=null,a=null,s=null,i=null;function l(){return t.size>0||r.size>0}function o(){return"u"<typeof document||"visible"===document.visibilityState}function c(){n&&(n.close(),n=null)}function d(e){if(Array.isArray(e))return{type:"snapshot",sessions:e};if(!e||"object"!=typeof e)return null;let t=e.type;return"snapshot"!==t&&"snapshot_delta"!==t?null:Array.isArray(e.sessions)?e:null}function u(e){return e&&"object"==typeof e&&"boolean"==typeof e.enabled?e:null}function p(e){for(let r of t)r(e);let n=u(e.appUpdate);if(n)for(let e of r)e(n)}async function m(){if("function"!=typeof fetch)return;let e=(async()=>{try{let e=await fetch("/api/sessions");if(!e.ok)return;let t=await e.json().catch(()=>null),r=d(t);if(!r)return;p(r)}catch{}try{let t=await fetch("/api/app-update");if(!t.ok)return;let n=await t.json().catch(()=>null);var e=u(n);for(let t of r)t(e)}catch{}})();a=e.finally(()=>{a===e&&(a=null)}),await e}function h(){!n&&"u">typeof EventSource&&l()&&o()&&((n=new EventSource("/api/events")).onmessage=e=>{try{let t=d(JSON.parse(e.data));if(!t)return;p(t)}catch{}},n.addEventListener("refresh",()=>{a||m()}),n.onerror=()=>{l()&&o()||c()})}function f(){if(!l()){c(),s&&(window.removeEventListener("focus",s),s=null),i&&(document.removeEventListener("visibilitychange",i),i=null);return}(s||i||(s=()=>{l()&&o()&&(h(),a||m())},i=()=>{l()&&o()?(h(),a||m()):c()},window.addEventListener("focus",s),document.addEventListener("visibilitychange",i)),o())?h():c()}function v(e){return t.add(e),f(),()=>{t.delete(e),f()}}function x(e){return r.add(e),f(),()=>{r.delete(e),f()}}e.s(["subscribeToAppUpdateEvents",()=>x,"subscribeToSnapshotEvents",()=>v])},84765,e=>{"use strict";let t=(0,e.i(75254).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);e.s(["Settings2",()=>t],84765)},74886,e=>{"use strict";let t=(0,e.i(75254).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],74886)},69242,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n=new Map;for(let[e,t]of Object.entries({amp:["amp","amp-code","amp-cli","ampcode","agent-amp"],claude:["claude","claude-code","claude-cli","claudecode","ccr","claude-code-router","claude-mcp","claude-mcp-cli","claude-mcp-agent","agent-claude-code"],codex:["codex","openai-codex","codex-cli","codexcli","openai","agent-codex"],copilot:["copilot","github-copilot","githubcopilot","copilot-cli","agent-github-copilot"],cursor:["cursor","cursor-cli","cursor-agent","cursoragent","agent-cursor-cli"],droid:["droid","factory-droid","factory_droid","agent-droid"],gemini:["gemini","gemini-cli","google-gemini","googlegemini","agent-gemini"],opencode:["opencode","open-code","open_code","open-code-cli","agent-opencode"],qwen:["qwen","qwen-code","qwen_code","qwen-code-cli","agent-qwen-code"]}))for(let r of t)n.set(a(r),e);function a(e){return e.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/_+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function s(e){let t=a(e);if(!t)return null;let r=n.get(t);if(r)return r;for(let e of t.split("-")){let t=n.get(e);if(t)return t}for(let[e,r]of n.entries())if(t===e||t.startsWith(`${e}-`)||t.endsWith(`-${e}`)||t.includes(`-${e}-`))return r;return null}function i(e){try{let t=new URL(e),r=s(t.hostname.replace(/^www\./,"").replace(/\./g,"-"));if(r)return r;return s(t.pathname.replace(/\//g,"-"))}catch{return s(e)}}function l({label:e,className:r}){let n=e.split(/[^a-z0-9]/iu).filter(Boolean).slice(0,2).map(e=>e[0]?.toUpperCase()).join("");return(0,t.jsx)("span",{"aria-hidden":"true",className:`inline-flex shrink-0 items-center justify-center rounded-[0.2rem] text-[9px] font-semibold text-white ${r}`,style:{backgroundColor:function(e){let t=["#14b8a6","#06b6d4","#0ea5e9","#8b5cf6","#ec4899","#f97316","#f59e0b","#ef4444","#22c55e","#84cc16"],r=0;for(let n=0;n<e.length;n+=1)r=(31*r+e.charCodeAt(n))%t.length;return t[Math.abs(r)%t.length]??"#6b7280"}(`${e}:${e.length}`)},children:n||"AI"})}function o({seed:e,className:n="h-6 w-6"}){let[a,o]=(0,r.useState)(0),c=e?.label?.trim()??"",d=(0,r.useMemo)(()=>{var t;if(!c)return[];let r=s((t={label:c,iconUrl:e?.iconUrl,homepage:e?.homepage}).label)??(t.homepage?i(t.homepage):null)??(t.iconUrl?i(t.iconUrl):null),n="string"==typeof e?.iconUrl&&e.iconUrl.trim().length>0?e.iconUrl.trim():null,a=[];return r&&(a.push(`/agents/${r}-dark.svg`),a.push(`/agents/${r}-light.svg`)),n&&a.push(n),a},[c,e?.homepage,e?.iconUrl]);if((0,r.useEffect)(()=>{o(0)},[c,d]),!c)return(0,t.jsx)(l,{label:"AI",className:n});let u=d[a]??null;return u?(0,t.jsx)("img",{src:u,alt:`${c} icon`,loading:"lazy",className:`${n} shrink-0 rounded-[0.2rem] object-contain scale-125`,onError:()=>o(e=>e+1)}):(0,t.jsx)(l,{label:c,className:n})}e.s(["AgentTileIcon",()=>o])},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:s=2,absoluteStrokeWidth:i,className:l="",children:o,iconNode:c,...d},u)=>(0,t.createElement)("svg",{ref:u,...a,width:n,height:n,stroke:e,strokeWidth:i?24*Number(s)/Number(n):s,className:r("lucide",l),...!o&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(o)?o:[o]])),i=(e,a)=>{let i=(0,t.forwardRef)(({className:i,...l},o)=>(0,t.createElement)(s,{ref:o,iconNode:a,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...l}));return i.displayName=n(e),i};e.s(["default",()=>i],75254)},17521,e=>{"use strict";let t=(0,e.i(75254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t])},31278,e=>{"use strict";var t=e.i(17521);e.s(["Loader2",()=>t.default])},86318,e=>{"use strict";var t=e.i(71645);e.i(43476);var r=t.createContext(void 0);function n(e){let n=t.useContext(r);return e||n||"ltr"}e.s(["useDirection",()=>n])},90092,e=>{"use strict";let t=(0,e.i(75254).default)("refresh-ccw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]]);e.s(["RefreshCcw",()=>t],90092)},94102,36832,80235,33489,e=>{"use strict";var t=e.i(71645);function r(){return window.innerWidth>=1024}function n(e){let[n,a]=(0,t.useState)(!1),[s,i]=(0,t.useState)(e?.initialDesktopOpen??!0),l=(0,t.useCallback)(()=>{r()?i(e=>!e):a(e=>!e)},[]);return{mobileSidebarOpen:n,desktopSidebarOpen:s,toggleSidebar:l,closeSidebarOnMobile:(0,t.useCallback)(()=>{r()||a(!1)},[]),syncSidebarForViewport:(0,t.useCallback)(()=>{r()?i(!0):a(!1)},[])}}e.s(["useResponsiveSidebarStateWithOptions",()=>n],94102);var a=e.i(43476),s=e.i(99647),i=e.i(75254);let l=(0,i.default)("panel-right-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]);var o=e.i(18620),c=e.i(43531),d=e.i(74886);let u=(0,i.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);var p=e.i(31278),m=e.i(90092),h=e.i(37727),f=e.i(11077),v=e.i(97878);let x="conductor-dismissed-update-version";function b(){let[e,r]=(0,t.useState)(null),[n,s]=(0,t.useState)(null),[i,l]=(0,t.useState)(null),[b,g]=(0,t.useState)(!1),[y,w]=(0,t.useState)(!1),[k,j]=(0,t.useState)(!1),N=(0,t.useCallback)(async(e=!1)=>{try{let t=await fetch(`/api/app-update${e?"?force=1":""}`,{cache:"no-store"}),n=await t.json().catch(()=>null);if(!t.ok)throw Error("string"==typeof n?.error?n.error:`Failed to load update status (${t.status})`);r(n),s(null)}catch(e){s(e instanceof Error?e.message:"Failed to load update status.")}},[]);(0,t.useEffect)(()=>{try{let e=window.localStorage.getItem(x);l(e&&e.length>0?e:null)}catch{}N(!0);let e=(0,v.subscribeToAppUpdateEvents)(e=>{e&&(r(e),s(null))}),t=()=>{"visible"===document.visibilityState&&N(!1)};return window.addEventListener("focus",t),document.addEventListener("visibilitychange",t),()=>{e(),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",t)}},[N]);let S=e?.latestVersion&&i===e.latestVersion,C=!!e?.restarting||k,E=(0,t.useMemo)(()=>!!e?.enabled&&(!!C||"idle"!==e.jobStatus||!S&&e.updateAvailable),[S,C,e]);async function M(){e?.updateCommand&&(await navigator.clipboard.writeText(e.updateCommand),g(!0),window.setTimeout(()=>g(!1),1400))}async function A(){w(!0);try{let e=await fetch("/api/app-update",{method:"POST",headers:{"content-type":"application/json"}}),t=await e.json().catch(()=>null);if(!e.ok)throw Error("string"==typeof t?.error?t.error:`Update failed (${e.status})`);r(t),s(null)}catch(e){s(e instanceof Error?e.message:"Failed to trigger update.")}finally{w(!1)}}let I=(0,t.useCallback)(async()=>{let e=Date.now()+6e4;for(;Date.now()<e;){try{if((await fetch("/api/health",{cache:"no-store"})).ok)return void window.location.reload()}catch{}await new Promise(e=>window.setTimeout(e,1e3))}j(!1),s("Restart started, but the dashboard did not come back in time. Reload manually.")},[]);async function L(){try{let e=await fetch("/api/app-update",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"restart"})}),t=await e.json().catch(()=>null);if(!e.ok)throw Error("string"==typeof t?.error?t.error:`Restart failed (${e.status})`);r(t),s(null)}catch(e){s(e instanceof Error?e.message:"Failed to restart Conductor.")}}return((0,t.useEffect)(()=>{e?.restarting&&!k&&(j(!0),I())},[k,e?.restarting,I]),E)?(0,a.jsx)("div",{className:"pointer-events-none fixed bottom-3 right-3 z-[70] w-[min(calc(100vw-1.5rem),24rem)] sm:bottom-4 sm:right-4",children:(0,a.jsxs)("section",{className:(0,o.cn)("pointer-events-auto rounded-[14px] border bg-[var(--vk-bg-panel)] p-4 shadow-[0_16px_40px_rgba(0,0,0,0.35)]",e?.jobStatus==="failed"?"border-[color:color-mix(in_srgb,var(--vk-red)_55%,var(--vk-border))]":"border-[var(--vk-border)]"),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[C||e?.jobStatus==="running"?(0,a.jsx)(p.Loader2,{className:"h-4 w-4 animate-spin text-[var(--vk-orange)]"}):e?.jobStatus==="completed"?(0,a.jsx)(c.Check,{className:"h-4 w-4 text-[var(--status-ready)]"}):e?.jobStatus==="failed"?(0,a.jsx)(m.RefreshCcw,{className:"h-4 w-4 text-[var(--vk-red)]"}):(0,a.jsx)(u,{className:"h-4 w-4 text-[var(--vk-orange)]"}),(0,a.jsx)("h2",{className:"truncate text-[13px] font-semibold text-[var(--vk-text-normal)]",children:e?e.restarting?"Restarting Conductor":"running"===e.jobStatus?"Updating Conductor":"completed"===e.jobStatus?"Conductor updated":"failed"===e.jobStatus?"Update failed":e.latestVersion?`Conductor ${e.latestVersion} is available`:"Conductor update available":"Conductor update"})]}),(0,a.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:e?function(e){if(e.restarting)return"The launcher is restarting the runtime. This tab will reconnect automatically once it is ready.";if("running"===e.jobStatus)return e.jobMessage??"Installing the latest version in the background.";if("completed"===e.jobStatus)return e.jobMessage??"The latest version has been installed. Restart Conductor to use it.";if("failed"===e.jobStatus)return e.jobMessage??"The update command did not finish successfully.";let t=e.currentVersion?`You are running ${e.currentVersion}. `:"";return e.canAutoUpdate?`${t}Install the new release now and restart when it finishes.`:"npx"===e.installMode?`${t}Copy the restart command, run it in a terminal, and the next launch will use the latest release.`:`${t}Copy the update command, run it in a terminal, then restart Conductor.`}(e):"Checking for updates..."})]}),(0,a.jsx)("button",{type:"button",onClick:function(){if(e?.latestVersion){try{window.localStorage.setItem(x,e.latestVersion)}catch{}l(e.latestVersion);return}r(e=>e?{...e,enabled:!1}:e)},className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Dismiss update notice",children:(0,a.jsx)(h.X,{className:"h-4 w-4"})})]}),e?.updateCommand?(0,a.jsx)("div",{className:"mt-3 rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 font-mono text-[11px] leading-5 text-[var(--vk-text-muted)]",children:e.updateCommand}):null,e?(0,a.jsx)("p",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:function(e){switch(e){case"npx":return"This session was launched through npx. Copy the restart command, run it in a terminal, and the next launch will use the latest package.";case"unknown":return"Automatic updates are unavailable for this install.";default:return null}}(e.installMode)??(e.restartRequired?"Restart the current Conductor process after the installer completes.":"Update state streams from the running Conductor runtime.")}):null,n?(0,a.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:n}):e?.error?(0,a.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:e.error}):null,e?.logsTail&&"failed"===e.jobStatus?(0,a.jsx)("pre",{className:"mt-2 max-h-32 overflow-auto rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-2 text-[10px] leading-4 text-[var(--vk-text-faint)]",children:e.logsTail}):null,(0,a.jsxs)("div",{className:"mt-3 flex items-center justify-end gap-2",children:[e?.jobStatus==="failed"&&e.canAutoUpdate?(0,a.jsxs)(f.Button,{type:"button",size:"sm",variant:"primary",onClick:()=>void A(),disabled:y,children:[y?(0,a.jsx)(p.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(m.RefreshCcw,{className:"h-3.5 w-3.5"}),"Retry"]}):null,e?.jobStatus==="idle"&&e.canAutoUpdate?(0,a.jsxs)(f.Button,{type:"button",size:"sm",variant:"primary",onClick:()=>void A(),disabled:y,children:[y?(0,a.jsx)(p.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(u,{className:"h-3.5 w-3.5"}),"Update now"]}):null,e?.jobStatus==="idle"&&!e.canAutoUpdate&&e.updateCommand?(0,a.jsxs)(f.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>void M(),children:[b?(0,a.jsx)(c.Check,{className:"h-3.5 w-3.5 text-[var(--status-ready)]"}):(0,a.jsx)(d.Copy,{className:"h-3.5 w-3.5"}),b?"Copied":"npx"===e.installMode?"Copy restart command":"Copy command"]}):null,e?.restartRequired&&e.canRestart&&!e.restarting&&!k?(0,a.jsxs)(f.Button,{type:"button",size:"sm",variant:"primary",onClick:()=>void L(),children:[(0,a.jsx)(m.RefreshCcw,{className:"h-3.5 w-3.5"}),"Restart now"]}):null,e?.restarting||k?(0,a.jsxs)(f.Button,{type:"button",size:"sm",variant:"primary",disabled:!0,children:[(0,a.jsx)(p.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),"Restarting"]}):null]})]})}):null}let g="conductor-workspace-sidebar-width";function y({sidebar:e,children:r,mobileSidebarOpen:n,desktopSidebarOpen:i,onToggleSidebar:c,hideMobileSidebarToggle:d=!1}){let[u,p]=(0,t.useState)(356),[m,h]=(0,t.useState)(!1);(0,t.useEffect)(()=>{try{let e=window.localStorage.getItem(g),t=e?Number.parseInt(e,10):NaN;Number.isFinite(t)&&p(Math.min(460,Math.max(296,t)))}catch{}},[]),(0,t.useEffect)(()=>{if(!m)return;let e=e=>{p(Math.min(460,Math.max(296,e.clientX)))},t=()=>{h(!1)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(g,String(u))}catch{}}},[m,u]);let f={"--workspace-sidebar-width":`${u}px`};return(0,a.jsxs)("div",{style:f,className:"relative flex h-dvh min-h-[100dvh] w-full max-w-full overflow-hidden bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)] [padding-top:env(safe-area-inset-top)] [padding-bottom:env(safe-area-inset-bottom)] pl-[env(safe-area-inset-left)] pr-[env(safe-area-inset-right)]",children:[n&&(0,a.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:c,"aria-label":"Close workspace panel"}),(0,a.jsx)("aside",{className:(0,o.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-full max-w-none flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-[transform,width] duration-200 sm:w-[min(90vw,var(--workspace-sidebar-width))] sm:max-w-[28rem]",n?"translate-x-0":"-translate-x-full",i?"lg:w-[var(--workspace-sidebar-width)]":"lg:w-0 lg:overflow-hidden lg:border-r-0","lg:relative lg:left-auto lg:translate-x-0"),children:e}),i?(0,a.jsx)("div",{className:"absolute bottom-0 left-[var(--workspace-sidebar-width)] top-0 z-30 hidden w-2 -translate-x-1/2 cursor-col-resize lg:block",onMouseDown:()=>h(!0),"aria-hidden":"true",children:(0,a.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,i&&(0,a.jsx)("button",{type:"button",onClick:c,className:"absolute left-[var(--workspace-sidebar-width)] top-2 z-40 hidden h-7 w-7 -translate-x-1/2 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_0_0_1px_rgba(0,0,0,0.25)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Hide workspace panel",children:(0,a.jsx)(l,{className:"h-5 w-5"})}),(0,a.jsxs)("main",{className:"relative flex min-w-0 w-full flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!n&&!d&&(0,a.jsx)("button",{type:"button",onClick:c,className:"absolute left-2 top-2 z-40 inline-flex h-11 w-11 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_10px_24px_rgba(0,0,0,0.28)] hover:bg-[var(--vk-bg-hover)] sm:h-8 sm:w-8 lg:hidden","aria-label":"Open workspace panel",children:(0,a.jsx)(s.PanelLeftOpen,{className:"h-5 w-5"})}),!i&&(0,a.jsx)("button",{type:"button",onClick:c,className:"absolute left-2 top-2 z-40 hidden h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Open workspace panel",children:(0,a.jsx)(s.PanelLeftOpen,{className:"h-5 w-5"})}),r]}),(0,a.jsx)(b,{})]})}e.s(["AppShell",()=>y],36832);let w=(0,i.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),k=(0,t.memo)(function({title:e,onOpenPreferences:t,rightContent:r}){return(0,a.jsxs)("header",{className:"flex h-11 items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-14 pr-2 text-[13px] text-[var(--vk-text-muted)] sm:h-14 sm:pl-5 sm:pr-5 sm:text-[14px]",children:[(0,a.jsx)("div",{className:"min-w-0 flex-1 text-left sm:text-center",children:(0,a.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-normal)]",children:e??"All Projects"})}),r?(0,a.jsx)("div",{className:"ml-1 flex shrink-0 items-center gap-2",children:r}):null,t?(0,a.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,a.jsx)("button",{type:"button",onClick:t,className:"inline-flex h-11 w-11 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-9 sm:w-9","aria-label":"Open preferences",title:"Preferences",children:(0,a.jsx)(w,{className:"h-4 w-4"})})}):null]})});function j(){var e;return"function"==typeof window.matchMedia&&window.matchMedia("(pointer: coarse)").matches,"u"<typeof navigator||navigator.maxTouchPoints,e=window.innerWidth,window.innerHeight,e<1024}e.s(["TopBar",0,k],80235),e.s(["shouldUseCompactTerminalChrome",()=>j],33489)},2004,e=>{"use strict";var t=e.i(71645);function r(e,t){return{id:e,repo:"string"==typeof t?.repo?t.repo:null,path:"string"==typeof t?.path?t.path:null,iconUrl:"string"==typeof t?.iconUrl?t.iconUrl:null,boardDir:"string"==typeof t?.boardDir?t.boardDir:null,boardFile:"string"==typeof t?.boardFile?t.boardFile:null,description:"string"==typeof t?.description?t.description:null,defaultBranch:"string"==typeof t?.defaultBranch&&t.defaultBranch.trim().length>0?t.defaultBranch:"main",agent:"string"==typeof t?.agent&&t.agent.trim().length>0?t.agent:"claude-code",agentPermissions:"string"==typeof t?.agentPermissions&&t.agentPermissions.trim().length>0?t.agentPermissions:null,agentModel:"string"==typeof t?.agentModel&&t.agentModel.trim().length>0?t.agentModel:null,agentReasoningEffort:"string"==typeof t?.agentReasoningEffort&&t.agentReasoningEffort.trim().length>0?t.agentReasoningEffort:null}}function n(){let[e,n]=(0,t.useState)([]),[a,s]=(0,t.useState)(!0),[i,l]=(0,t.useState)(null),o=(0,t.useRef)(!1),c=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/config");if(!e.ok)throw Error(`Failed to fetch config: ${e.status}`);let t=await e.json();n(function(e){if(!e||"object"!=typeof e)return[];let t=e.projects;return t?Array.isArray(t)?t.map((e,t)=>e&&"object"==typeof e?r("string"==typeof e.id&&e.id.trim().length>0?e.id:`project-${t+1}`,e):r(`project-${t+1}`,null)):"object"==typeof t?Object.entries(t).map(([e,t])=>r(e,t&&"object"==typeof t?t:null)):[]:[]}(t)),l(null)}catch(e){n([]),l(e instanceof Error?e.message:"Failed to fetch config")}finally{s(!1)}},[]);return(0,t.useEffect)(()=>{o.current||(o.current=!0,c())},[c]),{projects:e,loading:a,error:i,refresh:c}}e.s(["useConfig",()=>n])},89965,e=>{"use strict";var t=e.i(32944);function r(e,r){return(0,t.useSharedSessions)(e,r)}e.s(["useSessions",()=>r])},93670,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(18566),a=e.i(94102),s=e.i(36832),i=e.i(80235),l=e.i(45241),o=e.i(93289),c=e.i(33489),d=e.i(2004),u=e.i(40142),p=e.i(89965);function m(){let e=(0,n.useParams)(),m=(0,n.useRouter)(),h=(0,n.useSearchParams)(),{projects:f}=(0,d.useConfig)(),{session:v}=(0,u.useSession)(e.id),{mobileSidebarOpen:x,desktopSidebarOpen:b,toggleSidebar:g,closeSidebarOnMobile:y}=(0,a.useResponsiveSidebarStateWithOptions)({initialDesktopOpen:!1}),w=x||b,{sessions:k,refresh:j}=(0,p.useSessions)(void 0,{enabled:w}),[N,S]=(0,r.useState)(null),[C,E]=(0,r.useState)(!1),M=(0,r.useMemo)(()=>{let e=h.get("tab");return"overview"!==e&&"preview"!==e&&"diff"!==e},[h])&&C,A=(0,r.useMemo)(()=>v?[v.projectId,v.branch].filter(Boolean).join(" · "):N||"Session",[v,N]);async function I(t){let r=await fetch(`/api/sessions/${encodeURIComponent(t)}/archive`,{method:"POST"}),n=await r.json().catch(()=>null);if(404===r.status&&(r=await fetch(`/api/sessions/${encodeURIComponent(t)}/actions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"archive"})}),n=await r.json().catch(()=>null)),!r.ok)throw Error(n?.error??`Failed to archive session: ${r.status}`);t===e.id?m.push("/"):await j()}return((0,r.useEffect)(()=>{v?.projectId?S(v.projectId):!N&&f.length>0&&S(f[0]?.id??null)},[v?.projectId,f,N]),(0,r.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(pointer: coarse)"):null,t=()=>{E((0,c.shouldUseCompactTerminalChrome)())};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]),e.id)?(0,t.jsxs)(s.AppShell,{mobileSidebarOpen:x,desktopSidebarOpen:b,onToggleSidebar:g,hideMobileSidebarToggle:M,sidebar:w?(0,t.jsx)(l.WorkspaceSidebarPanel,{projects:f,selectedProjectId:N,onSelectProject:e=>{null===e?m.push("/"):S(e)},sessions:k,selectedSessionId:e.id,onSelectSession:(e,t)=>{let r=new URLSearchParams;t?.tab&&r.set("tab",t.tab);let n=r.toString();m.push(n.length>0?`/sessions/${encodeURIComponent(e)}?${n}`:`/sessions/${encodeURIComponent(e)}`),y()},onArchiveSession:I,onCreateWorkspace:()=>{m.push("/")}}):null,children:[M?null:(0,t.jsx)(i.TopBar,{title:A}),(0,t.jsx)("div",{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden ${M?"bg-[#060404]":""}`,children:(0,t.jsx)(o.SessionDetail,{sessionId:e.id,initialSession:v,immersiveMobileMode:M,onOpenSidebar:g},e.id)})]}):(0,t.jsx)("div",{className:"flex h-dvh min-h-[100dvh] items-center justify-center",children:(0,t.jsx)("span",{className:"text-[13px] text-[var(--text-muted)]",children:"No session ID provided"})})}e.s(["default",()=>m])},18542,e=>{e.v(t=>Promise.all(["static/chunks/4f9d3a3c14fb43da.js"].map(t=>e.l(t))).then(()=>t(41386)))},140,e=>{e.v(t=>Promise.all(["static/chunks/179d5fdedb569ec3.js","static/chunks/b9a43bac36046bf9.js"].map(t=>e.l(t))).then(()=>t(24420)))},19493,e=>{e.v(t=>Promise.all(["static/chunks/6e98107b81bc5b12.js"].map(t=>e.l(t))).then(()=>t(3934)))},85119,e=>{e.v(t=>Promise.all(["static/chunks/8a687801de88eaee.js","static/chunks/34500baf24f4b1ba.js"].map(t=>e.l(t))).then(()=>t(59028)))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,45513,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(75254);let a=(0,n.default)("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"}]]),l=(0,n.default)("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 s=e.i(74886),o=e.i(86536);let i=(0,n.default)("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 c=e.i(48256),d=e.i(31278);let u=(0,n.default)("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"}]]);var m=e.i(16715),p=e.i(14764),x=e.i(84981),x=x;let h=(0,n.default)("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 v=e.i(37727),f=e.i(17442),g=e.i(11077),w=e.i(90993),b=e.i(48425),y=e.i(96626),k=e.i(30030),j=e.i(20783),N=e.i(30207),C=e.i(86318),E=e.i(34620),S=e.i(81140),R="ScrollArea",[T,L]=(0,k.createContextScope)(R),[M,P]=T(R),D=r.forwardRef((e,n)=>{let{__scopeScrollArea:a,type:l="hover",dir:s,scrollHideDelay:o=600,...i}=e,[c,d]=r.useState(null),[u,m]=r.useState(null),[p,x]=r.useState(null),[h,v]=r.useState(null),[f,g]=r.useState(null),[w,y]=r.useState(0),[k,N]=r.useState(0),[E,S]=r.useState(!1),[R,T]=r.useState(!1),L=(0,j.useComposedRefs)(n,e=>d(e)),P=(0,C.useDirection)(s);return(0,t.jsx)(M,{scope:a,type:l,dir:P,scrollHideDelay:o,scrollArea:c,viewport:u,onViewportChange:m,content:p,onContentChange:x,scrollbarX:h,onScrollbarXChange:v,scrollbarXEnabled:E,onScrollbarXEnabledChange:S,scrollbarY:f,onScrollbarYChange:g,scrollbarYEnabled:R,onScrollbarYEnabledChange:T,onCornerWidthChange:y,onCornerHeightChange:N,children:(0,t.jsx)(b.Primitive.div,{dir:P,...i,ref:L,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":k+"px",...e.style}})})});D.displayName=R;var _="ScrollAreaViewport",$=r.forwardRef((e,n)=>{let{__scopeScrollArea:a,children:l,nonce:s,...o}=e,i=P(_,a),c=r.useRef(null),d=(0,j.useComposedRefs)(n,c,i.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.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:s}),(0,t.jsx)(b.Primitive.div,{"data-radix-scroll-area-viewport":"",...o,ref:d,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});$.displayName=_;var H="ScrollAreaScrollbar",A=r.forwardRef((e,n)=>{let{forceMount:a,...l}=e,s=P(H,e.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:i}=s,c="horizontal"===e.orientation;return r.useEffect(()=>(c?o(!0):i(!0),()=>{c?o(!1):i(!1)}),[c,o,i]),"hover"===s.type?(0,t.jsx)(B,{...l,ref:n,forceMount:a}):"scroll"===s.type?(0,t.jsx)(F,{...l,ref:n,forceMount:a}):"auto"===s.type?(0,t.jsx)(U,{...l,ref:n,forceMount:a}):"always"===s.type?(0,t.jsx)(I,{...l,ref:n}):null});A.displayName=H;var B=r.forwardRef((e,n)=>{let{forceMount:a,...l}=e,s=P(H,e.__scopeScrollArea),[o,i]=r.useState(!1);return r.useEffect(()=>{let e=s.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),i(!0)},n=()=>{t=window.setTimeout(()=>i(!1),s.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[s.scrollArea,s.scrollHideDelay]),(0,t.jsx)(y.Presence,{present:a||o,children:(0,t.jsx)(U,{"data-state":o?"visible":"hidden",...l,ref:n})})}),F=r.forwardRef((e,n)=>{var a;let{forceMount:l,...s}=e,o=P(H,e.__scopeScrollArea),i="horizontal"===e.orientation,c=el(()=>u("SCROLL_END"),100),[d,u]=(a={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>a[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===d){let e=window.setTimeout(()=>u("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(e)}},[d,o.scrollHideDelay,u]),r.useEffect(()=>{let e=o.viewport,t=i?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(u("SCROLL"),c()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[o.viewport,i,u,c]),(0,t.jsx)(y.Presence,{present:l||"hidden"!==d,children:(0,t.jsx)(I,{"data-state":"hidden"===d?"hidden":"visible",...s,ref:n,onPointerEnter:(0,S.composeEventHandlers)(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:(0,S.composeEventHandlers)(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),U=r.forwardRef((e,n)=>{let a=P(H,e.__scopeScrollArea),{forceMount:l,...s}=e,[o,i]=r.useState(!1),c="horizontal"===e.orientation,d=el(()=>{if(a.viewport){let e=a.viewport.offsetWidth<a.viewport.scrollWidth,t=a.viewport.offsetHeight<a.viewport.scrollHeight;i(c?e:t)}},10);return es(a.viewport,d),es(a.content,d),(0,t.jsx)(y.Presence,{present:l||o,children:(0,t.jsx)(I,{"data-state":o?"visible":"hidden",...s,ref:n})})}),I=r.forwardRef((e,n)=>{let{orientation:a="vertical",...l}=e,s=P(H,e.__scopeScrollArea),o=r.useRef(null),i=r.useRef(0),[c,d]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=ee(c.viewport,c.content),m={...l,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>o.current=e,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:e=>i.current=e};function p(e,t){return function(e,t,r,n="ltr"){let a=et(r),l=t||a/2,s=r.scrollbar.paddingStart+l,o=r.scrollbar.size-r.scrollbar.paddingEnd-(a-l),i=r.content-r.viewport;return en([s,o],"ltr"===n?[0,i]:[-1*i,0])(e)}(e,i.current,c,t)}return"horizontal"===a?(0,t.jsx)(z,{...m,ref:n,onThumbPositionChange:()=>{if(s.viewport&&o.current){let e=er(s.viewport.scrollLeft,c,s.dir);o.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollLeft=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollLeft=p(e,s.dir))}}):"vertical"===a?(0,t.jsx)(W,{...m,ref:n,onThumbPositionChange:()=>{if(s.viewport&&o.current){let e=er(s.viewport.scrollTop,c);o.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollTop=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollTop=p(e))}}):null}),z=r.forwardRef((e,n)=>{let{sizes:a,onSizesChange:l,...s}=e,o=P(H,e.__scopeScrollArea),[i,c]=r.useState(),d=r.useRef(null),u=(0,j.useComposedRefs)(n,d,o.onScrollbarXChange);return r.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,t.jsx)(q,{"data-orientation":"horizontal",...s,ref:u,sizes:a,style:{bottom:0,left:"rtl"===o.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===o.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":et(a)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(o.viewport){var n,a;let l=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(l),n=l,a=r,n>0&&n<a&&t.preventDefault()}},onResize:()=>{d.current&&o.viewport&&i&&l({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:J(i.paddingLeft),paddingEnd:J(i.paddingRight)}})}})}),W=r.forwardRef((e,n)=>{let{sizes:a,onSizesChange:l,...s}=e,o=P(H,e.__scopeScrollArea),[i,c]=r.useState(),d=r.useRef(null),u=(0,j.useComposedRefs)(n,d,o.onScrollbarYChange);return r.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,t.jsx)(q,{"data-orientation":"vertical",...s,ref:u,sizes:a,style:{top:0,right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":et(a)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(o.viewport){var n,a;let l=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(l),n=l,a=r,n>0&&n<a&&t.preventDefault()}},onResize:()=>{d.current&&o.viewport&&i&&l({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:J(i.paddingTop),paddingEnd:J(i.paddingBottom)}})}})}),[O,X]=T(H),q=r.forwardRef((e,n)=>{let{__scopeScrollArea:a,sizes:l,hasThumb:s,onThumbChange:o,onThumbPointerUp:i,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:u,onWheelScroll:m,onResize:p,...x}=e,h=P(H,a),[v,f]=r.useState(null),g=(0,j.useComposedRefs)(n,e=>f(e)),w=r.useRef(null),y=r.useRef(""),k=h.viewport,C=l.content-l.viewport,E=(0,N.useCallbackRef)(m),R=(0,N.useCallbackRef)(d),T=el(p,10);function L(e){w.current&&u({x:e.clientX-w.current.left,y:e.clientY-w.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;v?.contains(t)&&E(e,C)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[k,v,C,E]),r.useEffect(R,[l,R]),es(v,T),es(h.content,T),(0,t.jsx)(O,{scope:a,scrollbar:v,hasThumb:s,onThumbChange:(0,N.useCallbackRef)(o),onThumbPointerUp:(0,N.useCallbackRef)(i),onThumbPositionChange:R,onThumbPointerDown:(0,N.useCallbackRef)(c),children:(0,t.jsx)(b.Primitive.div,{...x,ref:g,style:{position:"absolute",...x.style},onPointerDown:(0,S.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),w.current=v.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",h.viewport&&(h.viewport.style.scrollBehavior="auto"),L(e))}),onPointerMove:(0,S.composeEventHandlers)(e.onPointerMove,L),onPointerUp:(0,S.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=y.current,h.viewport&&(h.viewport.style.scrollBehavior=""),w.current=null})})})}),Y="ScrollAreaThumb",K=r.forwardRef((e,r)=>{let{forceMount:n,...a}=e,l=X(Y,e.__scopeScrollArea);return(0,t.jsx)(y.Presence,{present:n||l.hasThumb,children:(0,t.jsx)(V,{ref:r,...a})})}),V=r.forwardRef((e,n)=>{let{__scopeScrollArea:a,style:l,...s}=e,o=P(Y,a),i=X(Y,a),{onThumbPositionChange:c}=i,d=(0,j.useComposedRefs)(n,e=>i.onThumbChange(e)),u=r.useRef(void 0),m=el(()=>{u.current&&(u.current(),u.current=void 0)},100);return r.useEffect(()=>{let e=o.viewport;if(e){let t=()=>{m(),u.current||(u.current=ea(e,c),c())};return c(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[o.viewport,m,c]),(0,t.jsx)(b.Primitive.div,{"data-state":i.hasThumb?"visible":"hidden",...s,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:(0,S.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;i.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,S.composeEventHandlers)(e.onPointerUp,i.onThumbPointerUp)})});K.displayName=Y;var Q="ScrollAreaCorner",G=r.forwardRef((e,r)=>{let n=P(Q,e.__scopeScrollArea),a=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&a?(0,t.jsx)(Z,{...e,ref:r}):null});G.displayName=Q;var Z=r.forwardRef((e,n)=>{let{__scopeScrollArea:a,...l}=e,s=P(Q,a),[o,i]=r.useState(0),[c,d]=r.useState(0),u=!!(o&&c);return es(s.scrollbarX,()=>{let e=s.scrollbarX?.offsetHeight||0;s.onCornerHeightChange(e),d(e)}),es(s.scrollbarY,()=>{let e=s.scrollbarY?.offsetWidth||0;s.onCornerWidthChange(e),i(e)}),u?(0,t.jsx)(b.Primitive.div,{...l,ref:n,style:{width:o,height:c,position:"absolute",right:"ltr"===s.dir?0:void 0,left:"rtl"===s.dir?0:void 0,bottom:0,...e.style}}):null});function J(e){return e?parseInt(e,10):0}function ee(e,t){let r=e/t;return isNaN(r)?0:r}function et(e){let t=ee(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function er(e,t,r="ltr"){let n=et(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=t.scrollbar.size-a,s=t.content-t.viewport,o=function(e,[t,r]){return Math.min(r,Math.max(t,e))}(e,"ltr"===r?[0,s]:[-1*s,0]);return en([0,s],[0,l-n])(o)}function en(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var ea=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function a(){let l={left:e.scrollLeft,top:e.scrollTop},s=r.left!==l.left,o=r.top!==l.top;(s||o)&&t(),r=l,n=window.requestAnimationFrame(a)}(),()=>window.cancelAnimationFrame(n)};function el(e,t){let n=(0,N.useCallbackRef)(e),a=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(a.current),[]),r.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(n,t)},[n,t])}function es(e,t){let r=(0,N.useCallbackRef)(t);(0,E.useLayoutEffect)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}var eo=e.i(18620);let ei=(0,r.forwardRef)(({className:e,children:r,...n},a)=>(0,t.jsxs)(D,{ref:a,className:(0,eo.cn)("relative overflow-hidden",e),...n,children:[(0,t.jsx)($,{className:"h-full w-full rounded-[inherit]",children:r}),(0,t.jsx)(ec,{}),(0,t.jsx)(G,{})]}));ei.displayName="ScrollArea";let ec=(0,r.forwardRef)(({className:e,orientation:r="vertical",...n},a)=>(0,t.jsx)(A,{ref:a,orientation:r,className:(0,eo.cn)("flex touch-none select-none","vertical"===r&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent p-px",e),...n,children:(0,t.jsx)(K,{className:"relative flex-1 rounded-full bg-[color:color-mix(in_srgb,var(--border-strong)_75%,transparent)] hover:bg-[var(--border-strong)]"})}));ec.displayName="ScrollBar";let ed=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 eu(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",second:"2-digit"}).format(new Date(t))}function em(e,t=120){return e.length<=t?e:`${e.slice(0,t-1)}…`}function ep(e,t=180){let r=em((e??"").replace(/\s+/g," ").trim(),t);return r?`"${r.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:null}function ex(e){return e.map(e=>e?.trim()).filter(e=>!!e).join("; ")}function eh(e,t){return[`[${e}]`,...t.map(e=>e?.trim()).filter(e=>!!e)].join("\n")}function ev(e,t){return{inlineText:ex(["[Browser selection]",`selector=${ep(e.selector,220)}`,`tag=${e.tag}`,e.role?`role=${e.role}`:null,e.name?`name=${ep(e.name,140)}`:null,e.text?`text=${ep(e.text,180)}`:null,e.frameName?`frame=${ep(e.frameName,120)}`:null,t?`page=${ep(t,220)}`:null]),draftText:eh("Browser selection",[t?`Page: ${t}`:null,`Frame: ${e.frameName} (${e.frameUrl})`,`Selector: ${e.selector}`,`Tag: ${e.tag}`,e.role?`Role: ${e.role}`:null,e.name?`Name: ${e.name}`:null,e.text?`Text: ${e.text}`:null,e.htmlPreview?`HTML preview: ${e.htmlPreview}`:null]),successMessage:"Queued the selected element for terminal input."}}function ef(e,t,r,n){let a=t.slice("console"===e?-8:-10),l=a.map(t=>{let r=[t.level,ep(t.message,120)];return"network"===e&&(r.unshift(t.method??"GET"),r.push("number"==typeof t.status?String(t.status):null),r.push(t.url?ep(t.url,120):null)),r.filter(Boolean).join(" ")});return{inlineText:ex(["console"===e?"[Browser console]":"[Browser network]",r?`page=${ep(r,220)}`:null,n?`selected=${ep(n.selector,180)}`:null,`entries=${ep(l.join(" | "),520)}`]),draftText:eh("console"===e?"Browser console logs":"Browser network logs",[r?`Page: ${r}`:null,n?`Selected element: ${n.selector}`:null,...a.map(t=>"console"===e?`- ${eu(t.timestamp)} ${t.level}: ${t.message}`:`- ${eu(t.timestamp)} ${t.method??"GET"} ${t.status??"-"} ${t.url??t.message}`)]),successMessage:"console"===e?"Queued recent console logs for terminal input.":"Queued recent network logs for terminal input."}}function eg({sessionId:e,active:n,onQueueTerminalInsert:b,onConnectionChange:y}){let[k,j]=(0,r.useState)(null),[N,C]=(0,r.useState)([]),[E,S]=(0,r.useState)(!1),[R,T]=(0,r.useState)(!1),[L,M]=(0,r.useState)(!0),[P,D]=(0,r.useState)(!0),[_,$]=(0,r.useState)(null),[H,A]=(0,r.useState)(null),[B,F]=(0,r.useState)(null),[U,I]=(0,r.useState)(null),[z,W]=(0,r.useState)("navigate"),[O,X]=(0,r.useState)(null),[q,Y]=(0,r.useState)(""),[K,V]=(0,r.useState)({naturalWidth:0,naturalHeight:0,renderedWidth:0,renderedHeight:0}),Q=(0,r.useRef)(null),G=(0,r.useRef)(Promise.resolve()),Z=(0,r.useRef)(null),J=(0,r.useRef)(null),[ee,et]=(0,r.useState)(()=>"u"<typeof document||!document.hidden),er=n&&ee;(0,r.useEffect)(()=>{let e=()=>{et(!document.hidden)};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[]);let en=(0,r.useCallback)(async()=>{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview`,{cache:"no-store"}),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r&&"error"in r?r.error??"Failed to load preview state":`Failed to load preview state: ${t.status}`);j(r),$(null),Y(e=>e.trim().length>0&&e!==k?.currentUrl?e:r.currentUrl??r.candidateUrls[0]??e)},[e,k?.currentUrl]),ea=(0,r.useCallback)(async t=>{T(!0),$(null);try{let r=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await r.json().catch(()=>null);if(!r.ok)throw n&&"object"==typeof n&&"status"in n&&n.status&&j(n.status),Error(n&&"error"in n?n.error??"Preview command failed":`Preview command failed: ${r.status}`);return j(n),n}finally{T(!1)}},[e]),el=(0,r.useCallback)((e,t)=>{G.current=G.current.catch(()=>void 0).then(async()=>{try{await ea(e)}catch(e){$(e instanceof Error?e.message:t)}})},[ea]),es=(0,r.useCallback)(async t=>{if(!k?.connected)return void C([]);S(!0);try{let r=new URLSearchParams;t&&r.set("frameId",t),P&&r.set("interactiveOnly","1");let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview/dom?${r.toString()}`,{cache:"no-store"}),a=await n.json().catch(()=>null);if(!n.ok)throw Error(a&&"error"in a?a.error??"Failed to inspect DOM":`Failed to inspect DOM: ${n.status}`);C(a.nodes)}catch(e){$(e instanceof Error?e.message:"Failed to inspect DOM"),C([])}finally{S(!1)}},[P,e,k?.connected]);(0,r.useEffect)(()=>{if(!er)return;let e=!0;(async()=>{try{await en()}catch(t){e&&$(t instanceof Error?t.message:"Failed to load preview")}finally{e&&M(!1)}})();let t=window.setInterval(()=>{en().catch(t=>{e&&$(t instanceof Error?t.message:"Failed to refresh preview")})},4e3);return()=>{e=!1,window.clearInterval(t)}},[en,er]),(0,r.useEffect)(()=>{er&&k?.connected?es(k.activeFrameId):C([])},[P,es,er,k?.activeFrameId,k?.connected,k?.screenshotKey]),(0,r.useEffect)(()=>{if(!er)return;if(k?.connected){Q.current=null;return}X(null);let e=k?.candidateUrls[0];if(!e)return;let t=Q.current?.attemptedAt??NaN,r=Q.current?.candidate??null,n=Date.now();r===e&&Number.isFinite(t)&&n-t<5e3||(Q.current={candidate:e,attemptedAt:n},ea({command:"connect",url:e}).catch(e=>{$(e instanceof Error?e.message:"Failed to connect preview")}))},[ea,er,k?.candidateUrls,k?.connected]),(0,r.useEffect)(()=>{y?.(!!(er&&k?.connected&&k?.screenshotKey))},[y,er,k?.connected,k?.screenshotKey]);let ec=(0,r.useMemo)(()=>k?.connected?`/api/sessions/${encodeURIComponent(e)}/preview/screenshot?ts=${encodeURIComponent(k.screenshotKey)}`:null,[e,k?.connected,k?.screenshotKey]),ep=(0,r.useMemo)(()=>k?.frames.find(e=>e.id===k.activeFrameId)??null,[k?.activeFrameId,k?.frames]),ex=(0,r.useMemo)(()=>k?.frames.find(e=>e.isMain)??null,[k?.frames]),eh=null!==U,eg=!!ep?.isMain,ew=(0,r.useMemo)(()=>{let e=k?.selectedElement?.bounds;if(!k?.selectedElement||!e||!ex||k.selectedElement.frameId!==ex.id||!K.naturalWidth||!K.naturalHeight||!K.renderedWidth||!K.renderedHeight)return null;let t=K.renderedWidth/K.naturalWidth,r=K.renderedHeight/K.naturalHeight;return{left:`${e.x*t}px`,top:`${e.y*r}px`,width:`${Math.max(e.width*t,2)}px`,height:`${Math.max(e.height*r,2)}px`}},[K,ex,k?.selectedElement]),eb=(0,r.useCallback)(async()=>{let e=q.trim();if(e)try{await ea({command:"connect",url:e})}catch(e){$(e instanceof Error?e.message:"Failed to connect preview")}},[ea,q]),ey=(0,r.useCallback)((e,t,r=!1)=>{X({anchorX:e,anchorY:t,pending:r}),A(null),F(null)},[]),ek=(0,r.useCallback)(e=>{W(e),X(null),A(null),F(null)},[]),ej=(0,r.useMemo)(()=>{if(!O)return null;let e=K.renderedWidth||340,t=K.renderedHeight||280,r=Math.max(220,t-24);if(e<=520)return{left:"12px",top:`${Math.max(12,t-Math.min(280,r)-12)}px`,width:`${Math.max(e-24,220)}px`,maxHeight:`${r}px`};let n=Math.min(340,Math.max(e-24,240)),a=Math.max(12,e-n-12),l=Math.max(12,t-280-12),s=O.anchorX+18,o=O.anchorY+18,i=s>a?Math.max(12,O.anchorX-n-18):s,c=o>l?Math.max(12,O.anchorY-280-18):o;return{left:`${Math.min(Math.max(i,12),a)}px`,top:`${Math.min(Math.max(c,12),l)}px`,width:`${n}px`,maxHeight:`${r}px`}},[K.renderedHeight,K.renderedWidth,O]);(0,r.useEffect)(()=>{if(!O)return;let e=e=>{"Escape"===e.key&&X(null)};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[O]);let eN=(0,r.useCallback)(e=>{if(!Z.current)return null;let t=Z.current.getBoundingClientRect();if(!t.width||!t.height||!Z.current.naturalWidth||!Z.current.naturalHeight)return null;let r=e.clientX-t.left,n=e.clientY-t.top;return{anchorX:r,anchorY:n,x:r/t.width*Z.current.naturalWidth,y:n/t.height*Z.current.naturalHeight}},[]),eC=(0,r.useCallback)(e=>{b(e),A(null),F(e.successMessage)},[b]),eE=(0,r.useCallback)(async(e,t,r,n)=>{ey(r,n,!0);try{let a=await ea({command:"selectAtPoint",x:e,y:t});return ey(r,n,!1),a}catch(e){throw X(null),e}},[ey,ea]),eS=(0,r.useCallback)(async(e,t)=>{let r=Math.max(K.renderedWidth-44,12);ey(r,12,!0);try{let n=await ea({command:"selectBySelector",selector:e,frameId:t});return ey(r,12,!1),n}catch(e){throw X(null),e}},[K.renderedWidth,ey,ea]),eR=(0,r.useCallback)(async e=>{if(R)return;let t=eN(e);if(t){if(X(null),A(null),F(null),"navigate"===z){J.current?.focus({preventScroll:!0});try{await ea({command:"clickAtPoint",x:t.x,y:t.y})}catch(e){$(e instanceof Error?e.message:"Failed to interact with preview")}return}if(eg)try{await eE(t.x,t.y,t.anchorX,t.anchorY)}catch(e){$(e instanceof Error?e.message:"Failed to select element")}}},[R,eg,z,eN,ea,eE]),eT=(0,r.useCallback)(async e=>{if(R||"inspect"!==z||!eg)return;let t=eN(e);if(t){A(null),F(null);try{let e=await eE(t.x,t.y,t.anchorX,t.anchorY);if(!e.selectedElement)throw Error("No element found at the selected point");eC(ev(e.selectedElement,e.currentUrl))}catch(e){$(e instanceof Error?e.message:"Failed to queue selected element")}}},[R,eg,z,eC,eN,eE]),eL=(0,r.useCallback)(e=>{if("navigate"!==z||!k?.connected||e.metaKey||e.ctrlKey||e.altKey)return;let t=ed.get(e.key);if(t){e.preventDefault(),el({command:"pressKey",key:t},"Failed to send key to preview");return}1===e.key.length&&(e.preventDefault(),el({command:"typeText",text:e.key},"Failed to type into preview"))},[z,el,k?.connected]),eM=(0,r.useCallback)(e=>{if("navigate"!==z||!k?.connected)return;let t=e.clipboardData.getData("text");t&&(e.preventDefault(),el({command:"typeText",text:t},"Failed to paste into preview"))},[z,el,k?.connected]),eP=(0,r.useCallback)(e=>{if(!k)return void A("Preview state is not loaded yet.");let t=k.consoleLogs.slice(-80),r=k.networkLogs.slice(-80);if("selection"===e&&!k.selectedElement)return void A("Select an element before queueing preview context for terminal input.");if("console"===e&&!t.length)return void A("There are no console logs to send yet.");if("network"===e&&!r.length)return void A("There are no network logs to send yet.");I(e),A(null),F(null);try{let n="selection"===e&&k.selectedElement?ev(k.selectedElement,k.currentUrl):"console"===e?ef("console",t,k.currentUrl,k.selectedElement):ef("network",r,k.currentUrl,k.selectedElement);eC(n),"selection"===e&&X(null)}catch(e){A(e instanceof Error?e.message:"Failed to queue preview context")}finally{I(null)}},[eC,k]),eD=(0,r.useCallback)(async()=>{let e=k?.selectedElement?.selector;if(e)try{await navigator.clipboard.writeText(e),F("Selector copied to clipboard."),A(null)}catch{A("Clipboard access is unavailable.")}},[k?.selectedElement?.selector]);return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-2 overflow-auto",children:[(0,t.jsxs)(w.Card,{children:[(0,t.jsxs)(w.CardHeader,{className:"flex flex-col items-start gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Globe,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,t.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Dev preview browser"}),k?.connected?(0,t.jsx)(f.Badge,{variant:"success",children:"connected"}):(0,t.jsx)(f.Badge,{variant:"outline",children:"idle"}),ep?(0,t.jsx)(f.Badge,{variant:"outline",children:ep.isMain?"main frame":"nested frame"}):null]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(g.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void en().catch(e=>{$(e instanceof Error?e.message:"Failed to refresh preview")}),disabled:L||R,children:[(0,t.jsx)(m.RefreshCw,{className:(0,eo.cn)("h-3.5 w-3.5",R&&"animate-spin")}),"Refresh"]}),(0,t.jsxs)(g.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void ea({command:"reload"}).catch(e=>{$(e instanceof Error?e.message:"Failed to reload preview")}),disabled:!k?.connected||R,children:[(0,t.jsx)(h,{className:"h-3.5 w-3.5"}),"Reload page"]})]})]}),(0,t.jsxs)(w.CardContent,{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,t.jsx)("input",{value:q,onChange:e=>Y(e.target.value),placeholder:k?.candidateUrls[0]??"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,t.jsxs)(g.Button,{type:"button",variant:"primary",onClick:()=>void eb(),disabled:R||!q.trim(),children:[R?(0,t.jsx)(d.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(u,{className:"h-4 w-4"}),"Connect"]})]}),k?.candidateUrls.length?(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:k.candidateUrls.map(e=>(0,t.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:()=>{Y(e),ea({command:"connect",url:e}).catch(e=>{$(e instanceof Error?e.message:"Failed to connect preview")})},children:[(0,t.jsx)(c.Globe,{className:"h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e})]},e))}):null,_||k?.lastError?(0,t.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,t.jsx)(a,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:_??k?.lastError})]}):null]})]}),(0,t.jsxs)(w.Card,{className:"min-h-0 shrink-0 overflow-hidden",children:[(0,t.jsxs)(w.CardHeader,{className:"flex flex-col items-start gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Eye,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,t.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Preview"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-1",children:[(0,t.jsxs)(g.Button,{type:"button",size:"sm",variant:"navigate"===z?"primary":"ghost",onClick:()=>ek("navigate"),children:[(0,t.jsx)(u,{className:"h-3.5 w-3.5"}),"Navigate"]}),(0,t.jsxs)(g.Button,{type:"button",size:"sm",variant:"inspect"===z?"primary":"ghost",onClick:()=>ek("inspect"),children:[(0,t.jsx)(o.Eye,{className:"h-3.5 w-3.5"}),"Inspect"]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)(f.Badge,{variant:"outline",children:k?.title?em(k.title,40):"Untitled page"}),(0,t.jsx)(f.Badge,{variant:"outline",children:"navigate"===z?"navigate mode: clicks interact with the page":eg?"inspect mode: click once to select, double-click to queue for terminal input":"inspect mode: use DOM list for this frame"})]})]})]}),(0,t.jsx)(w.CardContent,{className:"min-h-0",children:(0,t.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:L?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)(d.Loader2,{className:"h-4 w-4 animate-spin"}),"Loading preview…"]}):ec?(0,t.jsxs)("div",{ref:J,tabIndex:k?.connected?0:-1,onKeyDown:eL,onPaste:eM,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,t.jsx)("img",{ref:Z,src:ec,alt:"Session preview",className:(0,eo.cn)("max-h-full max-w-full rounded-[4px] object-contain shadow-[0_18px_36px_rgba(0,0,0,0.28)]","navigate"===z?"cursor-pointer":eg?"cursor-crosshair":"cursor-default"),onClick:e=>void eR(e),onDoubleClick:e=>void eT(e),onLoad:e=>{let t=e.currentTarget;V({naturalWidth:t.naturalWidth,naturalHeight:t.naturalHeight,renderedWidth:t.clientWidth,renderedHeight:t.clientHeight})}}),"inspect"===z&&ew?(0,t.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:ew}):null,"inspect"===z&&O&&ej?(0,t.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:ej,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:"Terminal input"}),(0,t.jsx)("div",{className:"mt-1 text-[13px] font-medium text-[var(--vk-text-normal)]",children:O.pending?"Selecting element…":"Queue selection for the terminal"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(g.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>void eD(),disabled:O.pending||!k?.selectedElement,children:(0,t.jsx)(s.Copy,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(g.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>X(null),children:(0,t.jsx)(v.X,{className:"h-3.5 w-3.5"})})]})]}),(0,t.jsx)("div",{className:"flex-1 space-y-3 overflow-y-auto px-3 py-3",children:O.pending?(0,t.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,t.jsx)(d.Loader2,{className:"h-4 w-4 animate-spin"}),"Capturing the selected element from the preview…"]}):k?.selectedElement?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:k.selectedElement.tag}),k.selectedElement.role?(0,t.jsx)(f.Badge,{variant:"outline",children:k.selectedElement.role}):null]}),(0,t.jsx)("div",{className:"mt-2 text-[12px] text-[var(--vk-text-normal)]",children:em(k.selectedElement.name||k.selectedElement.text||"Selected element",140)}),(0,t.jsx)("div",{className:"mt-2 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:k.selectedElement.selector})]}),(0,t.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."}),H?(0,t.jsx)("div",{className:"text-[12px] text-[var(--vk-red)]",children:H}):null,(0,t.jsxs)(g.Button,{type:"button",variant:"primary",className:"w-full",onClick:()=>void eP("selection"),disabled:eh||!k.selectedElement,children:["selection"===U?(0,t.jsx)(d.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(p.Send,{className:"h-4 w-4"}),"Queue for terminal input"]})]}):(0,t.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,t.jsx)("div",{className:"max-w-md text-center text-[13px] text-[var(--vk-text-muted)]",children:"Connect a local dev 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."})})})]}),B?(0,t.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:B}):null,!O&&H?(0,t.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:H}):null,(0,t.jsxs)("div",{className:"grid gap-2",children:[(0,t.jsxs)(w.Card,{className:"min-h-0",children:[(0,t.jsxs)(w.CardHeader,{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,t.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Frames and DOM"}),(0,t.jsx)(f.Badge,{variant:"outline",children:"inspect"===z?"inspect":"read-only in navigate mode"})]}),(0,t.jsx)(g.Button,{type:"button",variant:P?"primary":"outline",size:"sm",onClick:()=>D(e=>!e),children:P?"Interactive only":"All nodes"})]}),(0,t.jsxs)(w.CardContent,{className:"grid gap-2 xl:grid-cols-[220px_minmax(0,1fr)]",children:[(0,t.jsx)("div",{className:"space-y-2",children:k?.frames.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{ea({command:"selectFrame",frameId:e.id}).catch(e=>{$(e instanceof Error?e.message:"Failed to select frame")})},className:(0,eo.cn)("flex w-full flex-col items-start gap-1 rounded-[4px] border px-2 py-2 text-left transition-colors",k.activeFrameId===e.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,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f.Badge,{variant:"outline",children:e.isMain?"main":"frame"}),(0,t.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:e.name})]}),(0,t.jsx)("span",{className:"w-full truncate text-[11px] text-[var(--vk-text-muted)]",children:e.url||"about:blank"})]},e.id))}),(0,t.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,t.jsx)(ei,{className:"h-[200px] sm:h-[300px] xl:h-[360px]",children:(0,t.jsxs)("div",{className:"space-y-1 p-2",children:["navigate"===z?(0,t.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,E?(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)(d.Loader2,{className:"h-4 w-4 animate-spin"}),"Inspecting frame DOM…"]}):N.length?N.map((e,r)=>(0,t.jsxs)("button",{type:"button",className:(0,eo.cn)("w-full rounded-[4px] border border-[transparent] px-2 py-2 text-left","inspect"===z?"hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]":"cursor-not-allowed opacity-60"),disabled:"inspect"!==z,onClick:()=>{X(null),A(null),F(null),eS(e.selector,k?.activeFrameId).catch(e=>{$(e instanceof Error?e.message:"Failed to select DOM node")})},onDoubleClick:()=>{A(null),F(null),eS(e.selector,k?.activeFrameId).then(e=>{if(!e.selectedElement)throw Error("Failed to resolve the selected DOM node");eC(ev(e.selectedElement,e.currentUrl))}).catch(e=>{$(e instanceof Error?e.message:"Failed to queue DOM node")})},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:e.tag}),e.interactive?(0,t.jsx)(f.Badge,{variant:"warning",children:"interactive"}):null,e.role?(0,t.jsx)(f.Badge,{variant:"outline",children:e.role}):null]}),(0,t.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:e.selector}),e.text?(0,t.jsx)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-normal)]",children:em(e.text,180)}):null]},`${e.id??"node"}-${r}-${e.selector}-${e.tag}-${e.text}`)):(0,t.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,t.jsxs)("div",{className:"grid gap-2 lg:grid-cols-2",children:[(0,t.jsxs)(w.Card,{className:"min-h-0",children:[(0,t.jsxs)(w.CardHeader,{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(x.default,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,t.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Console"}),(0,t.jsx)(f.Badge,{variant:"outline",children:k?.consoleLogs.length??0})]}),(0,t.jsxs)(g.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>void eP("console"),disabled:eh||!k?.consoleLogs.length,children:["console"===U?(0,t.jsx)(d.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(p.Send,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,t.jsx)(w.CardContent,{children:(0,t.jsx)(ei,{className:"h-[180px] sm:h-[260px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,t.jsx)("div",{className:"space-y-1 p-2",children:k?.consoleLogs.length?k.consoleLogs.map(e=>(0,t.jsxs)("div",{className:"rounded-[3px] px-2 py-1.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,t.jsx)("span",{children:e.level}),(0,t.jsx)("span",{children:eu(e.timestamp)})]}),(0,t.jsx)("div",{className:"mt-1 whitespace-pre-wrap break-all font-mono",children:e.message})]},e.id)):(0,t.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Console output appears here once the page loads."})})})})]}),(0,t.jsxs)(w.Card,{className:"min-h-0",children:[(0,t.jsxs)(w.CardHeader,{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,t.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Network"}),(0,t.jsx)(f.Badge,{variant:"outline",children:k?.networkLogs.length??0})]}),(0,t.jsxs)(g.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>void eP("network"),disabled:eh||!k?.networkLogs.length,children:["network"===U?(0,t.jsx)(d.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(p.Send,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,t.jsx)(w.CardContent,{children:(0,t.jsx)(ei,{className:"h-[180px] sm:h-[260px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,t.jsx)("div",{className:"space-y-1 p-2",children:k?.networkLogs.length?k.networkLogs.map(e=>(0,t.jsxs)("div",{className:"rounded-[3px] px-2 py-1.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,t.jsx)("span",{children:e.method??"GET"}),"number"==typeof e.status?(0,t.jsx)("span",{children:e.status}):null,e.resourceType?(0,t.jsx)("span",{children:e.resourceType}):null,(0,t.jsx)("span",{children:eu(e.timestamp)})]}),(0,t.jsx)("div",{className:"mt-1 break-all font-mono",children:e.url??e.message})]},e.id)):(0,t.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Network requests appear here after the preview loads."})})})})]})]})]})]})}e.s(["SessionPreview",()=>eg],45513)},59028,e=>{e.n(e.i(45513))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,43531,e=>{"use strict";let t=(0,e.i(75254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",()=>t],43531)},75830,e=>{"use strict";var t=e.i(71645),n=e.i(30030),r=e.i(20783),o=e.i(43476);function a(e){var n;let a,i=(n=e,(a=t.forwardRef((e,n)=>{let{children:o,...a}=e;if(t.isValidElement(o)){var i;let e,l,u=(i=o,(l=(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.ref:(l=(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),s=function(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...e)=>{let t=a(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...a}:"className"===r&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}(a,o.props);return o.type!==t.Fragment&&(s.ref=n?(0,r.composeRefs)(n,u):u),t.cloneElement(o,s)}return t.Children.count(o)>1?t.Children.only(null):null})).displayName=`${n}.SlotClone`,a),u=t.forwardRef((e,n)=>{let{children:r,...a}=e,u=t.Children.toArray(r),s=u.find(l);if(s){let e=s.props.children,r=u.map(n=>n!==s?n:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,o.jsx)(i,{...a,ref:n,children:t.isValidElement(e)?t.cloneElement(e,void 0,r):null})}return(0,o.jsx)(i,{...a,ref:n,children:r})});return u.displayName=`${e}.Slot`,u}var i=Symbol("radix.slottable");function l(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===i}function u(e){let i=e+"CollectionProvider",[l,u]=(0,n.createContextScope)(i),[s,c]=l(i,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:n,children:r}=e,a=t.default.useRef(null),i=t.default.useRef(new Map).current;return(0,o.jsx)(s,{scope:n,itemMap:i,collectionRef:a,children:r})};d.displayName=i;let f=e+"CollectionSlot",p=a(f),h=t.default.forwardRef((e,t)=>{let{scope:n,children:a}=e,i=c(f,n),l=(0,r.useComposedRefs)(t,i.collectionRef);return(0,o.jsx)(p,{ref:l,children:a})});h.displayName=f;let v=e+"CollectionItemSlot",m="data-radix-collection-item",g=a(v),y=t.default.forwardRef((e,n)=>{let{scope:a,children:i,...l}=e,u=t.default.useRef(null),s=(0,r.useComposedRefs)(n,u),d=c(v,a);return t.default.useEffect(()=>(d.itemMap.set(u,{ref:u,...l}),()=>void d.itemMap.delete(u))),(0,o.jsx)(g,{...{[m]:""},ref:s,children:i})});return y.displayName=v,[{Provider:d,Slot:h,ItemSlot:y},function(n){let r=c(e+"CollectionConsumer",n);return t.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(r.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[r.collectionRef,r.itemMap])},u]}var s=new WeakMap;function c(e,t){var n,r;let o,a,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(n=e,r=t,o=n.length,(i=(a=d(r))>=0?a:o+a)<0||i>=o?-1:i);return -1===l?void 0:e[l]}function d(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],s.set(this,!0)}set(e,t){return s.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r,o=this.has(t),a=this.#e.length,i=d(e),l=i>=0?i:a+i,u=l<0||l>=a?-1:l;if(u===this.size||o&&u===this.size-1||-1===u)return this.set(t,n),this;let s=this.size+ +!o;i<0&&l++;let c=[...this.#e],f=!1;for(let e=l;e<s;e++)if(l===e){let a=c[e];c[e]===t&&(a=c[e+1]),o&&this.delete(t),r=this.get(a),this.set(t,n)}else{f||c[e-1]!==t||(f=!0);let n=c[f?e:e-1],o=r;r=this.get(n),this.delete(n),this.set(n,o)}return this}with(t,n,r){let o=new e(this);return o.insert(t,n,r),o}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=c(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=c(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return c(this.#e,e)}from(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return -1}filter(t,n){let r=[],o=0;for(let e of this)Reflect.apply(t,n,[e,o,this])&&r.push(e),o++;return new e(r)}map(t,n){let r=[],o=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,o,this])]),o++;return new e(r)}reduce(...e){let[t,n]=e,r=0,o=n??this.at(0);for(let n of this)o=0===r&&1===e.length?n:Reflect.apply(t,this,[o,n,r,this]),r++;return o}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let o=this.at(n);r=n===this.size-1&&1===e.length?o:Reflect.apply(t,this,[r,o,n,this])}return r}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,o=this.size-1;if(void 0===t)return r;t<0&&(t+=this.size),void 0!==n&&n>0&&(o=n-1);for(let e=t;e<=o;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}}),e.s(["createCollection",()=>u],75830)},42727,e=>{"use strict";var t=e.i(71645),n=e.i(81140),r=e.i(75830),o=e.i(20783),a=e.i(30030),i=e.i(10772),l=e.i(48425),u=e.i(30207),s=e.i(69340),c=e.i(86318),d=e.i(43476),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[v,m,g]=(0,r.createCollection)(h),[y,w]=(0,a.createContextScope)(h,[g]),[b,x]=y(h),E=t.forwardRef((e,t)=>(0,d.jsx)(v.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(v.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(R,{...e,ref:t})})}));E.displayName=h;var R=t.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:a,orientation:i,loop:v=!1,dir:g,currentTabStopId:y,defaultCurrentTabStopId:w,onCurrentTabStopIdChange:x,onEntryFocus:E,preventScrollOnEntryFocus:R=!1,...C}=e,k=t.useRef(null),S=(0,o.useComposedRefs)(r,k),j=(0,c.useDirection)(g),[P,A]=(0,s.useControllableState)({prop:y,defaultProp:w??null,onChange:x,caller:h}),[D,I]=t.useState(!1),T=(0,u.useCallbackRef)(E),_=m(a),N=t.useRef(!1),[O,F]=t.useState(0);return t.useEffect(()=>{let e=k.current;if(e)return e.addEventListener(f,T),()=>e.removeEventListener(f,T)},[T]),(0,d.jsx)(b,{scope:a,orientation:i,dir:j,loop:v,currentTabStopId:P,onItemFocus:t.useCallback(e=>A(e),[A]),onItemShiftTab:t.useCallback(()=>I(!0),[]),onFocusableItemAdd:t.useCallback(()=>F(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>F(e=>e-1),[]),children:(0,d.jsx)(l.Primitive.div,{tabIndex:D||0===O?-1:0,"data-orientation":i,...C,ref:S,style:{outline:"none",...e.style},onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,()=>{N.current=!0}),onFocus:(0,n.composeEventHandlers)(e.onFocus,e=>{let t=!N.current;if(e.target===e.currentTarget&&t&&!D){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=_().filter(e=>e.focusable);M([e.find(e=>e.active),e.find(e=>e.id===P),...e].filter(Boolean).map(e=>e.ref.current),R)}}N.current=!1}),onBlur:(0,n.composeEventHandlers)(e.onBlur,()=>I(!1))})})}),C="RovingFocusGroupItem",k=t.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:o,focusable:a=!0,active:u=!1,tabStopId:s,children:c,...f}=e,p=(0,i.useId)(),h=s||p,g=x(C,o),y=g.currentTabStopId===h,w=m(o),{onFocusableItemAdd:b,onFocusableItemRemove:E,currentTabStopId:R}=g;return t.useEffect(()=>{if(a)return b(),()=>E()},[a,b,E]),(0,d.jsx)(v.ItemSlot,{scope:o,id:h,focusable:a,active:u,children:(0,d.jsx)(l.Primitive.span,{tabIndex:y?0:-1,"data-orientation":g.orientation,...f,ref:r,onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,e=>{a?g.onItemFocus(h):e.preventDefault()}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:(0,n.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,n){var r;let o=(r=e.key,"rtl"!==n?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return S[o]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=w().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var n,r;"prev"===t&&o.reverse();let a=o.indexOf(e.currentTarget);o=g.loop?(n=o,r=a+1,n.map((e,t)=>n[(r+t)%n.length])):o.slice(a+1)}setTimeout(()=>M(o))}}),children:"function"==typeof c?c({isCurrentTabStop:y,hasTabStop:null!=R}):c})})});k.displayName=C;var S={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function M(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}e.s(["Item",()=>k,"Root",()=>E,"createRovingFocusGroupScope",()=>w])},75505,e=>{"use strict";let t=(0,e.i(75254).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],75505)},3536,65491,e=>{"use strict";let t;var n=e.i(71645),r=0;function o(){n.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??a()),document.body.insertAdjacentElement("beforeend",e[1]??a()),r++,()=>{1===r&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),r--}},[])}function a(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}e.s(["useFocusGuards",()=>o],3536);var i=e.i(20783),l=e.i(48425),u=e.i(30207),s=e.i(43476),c="focusScope.autoFocusOnMount",d="focusScope.autoFocusOnUnmount",f={bubbles:!1,cancelable:!0},p=n.forwardRef((e,t)=>{let{loop:r=!1,trapped:o=!1,onMountAutoFocus:a,onUnmountAutoFocus:p,...y}=e,[w,b]=n.useState(null),x=(0,u.useCallbackRef)(a),E=(0,u.useCallbackRef)(p),R=n.useRef(null),C=(0,i.useComposedRefs)(t,e=>b(e)),k=n.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;n.useEffect(()=>{if(o){let e=function(e){if(k.paused||!w)return;let t=e.target;w.contains(t)?R.current=t:m(R.current,{select:!0})},t=function(e){if(k.paused||!w)return;let t=e.relatedTarget;null!==t&&(w.contains(t)||m(R.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let n=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&m(w)});return w&&n.observe(w,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),n.disconnect()}}},[o,w,k.paused]),n.useEffect(()=>{if(w){g.add(k);let e=document.activeElement;if(!w.contains(e)){let t=new CustomEvent(c,f);w.addEventListener(c,x),w.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(m(r,{select:t}),document.activeElement!==n)return}(h(w).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&m(w))}return()=>{w.removeEventListener(c,x),setTimeout(()=>{let t=new CustomEvent(d,f);w.addEventListener(d,E),w.dispatchEvent(t),t.defaultPrevented||m(e??document.body,{select:!0}),w.removeEventListener(d,E),g.remove(k)},0)}}},[w,x,E,k]);let S=n.useCallback(e=>{if(!r&&!o||k.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(t&&n){var a;let t,o=e.currentTarget,[i,l]=[v(t=h(a=o),a),v(t.reverse(),a)];i&&l?e.shiftKey||n!==l?e.shiftKey&&n===i&&(e.preventDefault(),r&&m(l,{select:!0})):(e.preventDefault(),r&&m(i,{select:!0})):n===o&&e.preventDefault()}},[r,o,k.paused]);return(0,s.jsx)(l.Primitive.div,{tabIndex:-1,...y,ref:C,onKeyDown:S})});function h(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function v(e,t){for(let n of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(n,{upTo:t}))return n}function m(e,{select:t=!1}={}){if(e&&e.focus){var n;let r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&(n=e)instanceof HTMLInputElement&&"select"in n&&t&&e.select()}}p.displayName="FocusScope";var g=(t=[],{add(e){let n=t[0];e!==n&&n?.pause(),(t=y(t,e)).unshift(e)},remove(e){t=y(t,e),t[0]?.resume()}});function y(e,t){let n=[...e],r=n.indexOf(t);return -1!==r&&n.splice(r,1),n}e.s(["FocusScope",()=>p],65491)},40666,e=>{"use strict";let t,n,r;var o,a,i,l,u,s,c,d=e.i(71645),f=e.i(81140),p=e.i(20783),h=e.i(30030),v=e.i(69340),m=e.i(48425),g=e.i(75830),y=e.i(86318),w=e.i(26330),b=e.i(3536),x=e.i(65491),E=e.i(10772),R=e.i(53660),C=e.i(74606),k=e.i(96626),S=e.i(42727),M=e.i(43476),j=Symbol("radix.slottable");function P(e){return d.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===j}var A=e.i(30207),D=new WeakMap,I=new WeakMap,T={},_=0,N=function(e){return e&&(e.host||N(e.parentNode))},O=function(e,t,n,r){var o=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var n=N(e);return n&&t.contains(n)?n:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});T[n]||(T[n]=new WeakMap);var a=T[n],i=[],l=new Set,u=new Set(o),s=function(e){!e||l.has(e)||(l.add(e),s(e.parentNode))};o.forEach(s);var c=function(e){!e||u.has(e)||Array.prototype.forEach.call(e.children,function(e){if(l.has(e))c(e);else try{var t=e.getAttribute(r),o=null!==t&&"false"!==t,u=(D.get(e)||0)+1,s=(a.get(e)||0)+1;D.set(e,u),a.set(e,s),i.push(e),1===u&&o&&I.set(e,!0),1===s&&e.setAttribute(n,"true"),o||e.setAttribute(r,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return c(t),l.clear(),_++,function(){i.forEach(function(e){var t=D.get(e)-1,o=a.get(e)-1;D.set(e,t),a.set(e,o),t||(I.has(e)||e.removeAttribute(r),I.delete(e)),o||e.removeAttribute(n)}),--_||(D=new WeakMap,D=new WeakMap,I=new WeakMap,T={})}},F=function(e,t,n){void 0===n&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||("u"<typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),O(r,o,n,"aria-hidden")):function(){return null}},L=function(){return(L=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function H(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}var K=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),W="width-before-scroll-bar";function B(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var G="u">typeof window?d.useLayoutEffect:d.useEffect,z=new WeakMap,U=(void 0===o&&(o={}),(void 0===a&&(a=function(e){return e}),i=[],l=!1,u={read:function(){if(l)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return i.length?i[i.length-1]:null},useMedium:function(e){var t=a(e,l);return i.push(t),function(){i=i.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(l=!0;i.length;){var t=i;i=[],t.forEach(e)}i={push:function(t){return e(t)},filter:function(){return i}}},assignMedium:function(e){l=!0;var t=[];if(i.length){var n=i;i=[],n.forEach(e),t=i}var r=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(r)};o(),i={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),i}}}}).options=L({async:!0,ssr:!1},o),u),V=function(){},X=d.forwardRef(function(e,t){var n,r,o,a,i=d.useRef(null),l=d.useState({onScrollCapture:V,onWheelCapture:V,onTouchMoveCapture:V}),u=l[0],s=l[1],c=e.forwardProps,f=e.children,p=e.className,h=e.removeScrollBar,v=e.enabled,m=e.shards,g=e.sideCar,y=e.noRelative,w=e.noIsolation,b=e.inert,x=e.allowPinchZoom,E=e.as,R=e.gapMode,C=H(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),k=(n=[i,t],r=function(e){return n.forEach(function(t){return B(t,e)})},(o=(0,d.useState)(function(){return{value:null,callback:r,facade:{get current(){return o.value},set current(value){var e=o.value;e!==value&&(o.value=value,o.callback(value,e))}}}})[0]).callback=r,a=o.facade,G(function(){var e=z.get(a);if(e){var t=new Set(e),r=new Set(n),o=a.current;t.forEach(function(e){r.has(e)||B(e,null)}),r.forEach(function(e){t.has(e)||B(e,o)})}z.set(a,n)},[n]),a),S=L(L({},C),u);return d.createElement(d.Fragment,null,v&&d.createElement(g,{sideCar:U,removeScrollBar:h,shards:m,noRelative:y,noIsolation:w,inert:b,setCallbacks:s,allowPinchZoom:!!x,lockRef:i,gapMode:R}),c?d.cloneElement(d.Children.only(f),L(L({},S),{ref:k})):d.createElement(void 0===E?"div":E,L({},S,{className:p,ref:k}),f))});X.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},X.classNames={fullWidth:W,zeroRight:K};var Y=function(e){var t=e.sideCar,n=H(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error("Sidecar medium not found");return d.createElement(r,L({},n))};Y.isSideCarExport=!0;var Z=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=c||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return t&&e.setAttribute("nonce",t),e}())){var r,o;(r=t).styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n)),o=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(o)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},q=function(){var e=Z();return function(t,n){d.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},$=function(){var e=q();return function(t){return e(t.styles,t.dynamic),null}},J={left:0,top:0,right:0,gap:0},Q=function(e){return parseInt(e||"",10)||0},ee=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[Q(n),Q(r),Q(o)]},et=function(e){if(void 0===e&&(e="margin"),"u"<typeof window)return J;var t=ee(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},en=$(),er="data-scroll-locked",eo=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,l=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(l,"px ").concat(r,";\n }\n body[").concat(er,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(K," {\n right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(W," {\n margin-right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(K," .").concat(K," {\n right: 0 ").concat(r,";\n }\n \n .").concat(W," .").concat(W," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(er,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(l,"px;\n }\n")},ea=function(){var e=parseInt(document.body.getAttribute(er)||"0",10);return isFinite(e)?e:0},ei=function(){d.useEffect(function(){return document.body.setAttribute(er,(ea()+1).toString()),function(){var e=ea()-1;e<=0?document.body.removeAttribute(er):document.body.setAttribute(er,e.toString())}},[])},el=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=void 0===r?"margin":r;ei();var a=d.useMemo(function(){return et(o)},[o]);return d.createElement(en,{styles:eo(a,!t,o,n?"":"!important")})},eu=!1;if("u">typeof window)try{var es=Object.defineProperty({},"passive",{get:function(){return eu=!0,!0}});window.addEventListener("test",es,es),window.removeEventListener("test",es,es)}catch(e){eu=!1}var ec=!!eu&&{passive:!1},ed=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&(n.overflowY!==n.overflowX||"TEXTAREA"===e.tagName||"visible"!==n[t])},ef=function(e,t){var n=t.ownerDocument,r=t;do{if("u">typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),ep(e,r)){var o=eh(e,r);if(o[1]>o[2])return!0}r=r.parentNode}while(r&&r!==n.body)return!1},ep=function(e,t){return"v"===e?ed(t,"overflowY"):ed(t,"overflowX")},eh=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},ev=function(e,t,n,r,o){var a,i=(a=window.getComputedStyle(t).direction,"h"===e&&"rtl"===a?-1:1),l=i*r,u=n.target,s=t.contains(u),c=!1,d=l>0,f=0,p=0;do{if(!u)break;var h=eh(e,u),v=h[0],m=h[1]-h[2]-i*v;(v||m)&&ep(e,u)&&(f+=m,p+=v);var g=u.parentNode;u=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!s&&u!==document.body||s&&(t.contains(u)||t===u))return d&&(o&&1>Math.abs(f)||!o&&l>f)?c=!0:!d&&(o&&1>Math.abs(p)||!o&&-l>p)&&(c=!0),c},em=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},eg=function(e){return[e.deltaX,e.deltaY]},ey=function(e){return e&&"current"in e?e.current:e},ew=0,eb=[];let ex=(s=function(e){var t=d.useRef([]),n=d.useRef([0,0]),r=d.useRef(),o=d.useState(ew++)[0],a=d.useState($)[0],i=d.useRef(e);d.useEffect(function(){i.current=e},[e]),d.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=(function(e,t,n){if(n||2==arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(ey),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=d.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!i.current.allowPinchZoom;var o,a=em(e),l=n.current,u="deltaX"in e?e.deltaX:l[0]-a[0],s="deltaY"in e?e.deltaY:l[1]-a[1],c=e.target,d=Math.abs(u)>Math.abs(s)?"h":"v";if("touches"in e&&"h"===d&&"range"===c.type)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===c||p.contains(c)))return!1;var h=ef(d,c);if(!h)return!0;if(h?o=d:(o="v"===d?"h":"v",h=ef(d,c)),!h)return!1;if(!r.current&&"changedTouches"in e&&(u||s)&&(r.current=o),!o)return!0;var v=r.current||o;return ev(v,t,e,"h"===v?u:s,!0)},[]),u=d.useCallback(function(e){if(eb.length&&eb[eb.length-1]===a){var n="deltaY"in e?eg(e):em(e),r=t.current.filter(function(t){var r;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(r=t.delta,r[0]===n[0]&&r[1]===n[1])})[0];if(r&&r.should){e.cancelable&&e.preventDefault();return}if(!r){var o=(i.current.shards||[]).map(ey).filter(Boolean).filter(function(t){return t.contains(e.target)});(o.length>0?l(e,o[0]):!i.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),s=d.useCallback(function(e,n,r,o){var a={name:e,delta:n,target:r,should:o,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),c=d.useCallback(function(e){n.current=em(e),r.current=void 0},[]),f=d.useCallback(function(t){s(t.type,eg(t),t.target,l(t,e.lockRef.current))},[]),p=d.useCallback(function(t){s(t.type,em(t),t.target,l(t,e.lockRef.current))},[]);d.useEffect(function(){return eb.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",u,ec),document.addEventListener("touchmove",u,ec),document.addEventListener("touchstart",c,ec),function(){eb=eb.filter(function(e){return e!==a}),document.removeEventListener("wheel",u,ec),document.removeEventListener("touchmove",u,ec),document.removeEventListener("touchstart",c,ec)}},[]);var h=e.removeScrollBar,v=e.inert;return d.createElement(d.Fragment,null,v?d.createElement(a,{styles:"\n .block-interactivity-".concat(o," {pointer-events: none;}\n .allow-interactivity-").concat(o," {pointer-events: all;}\n")}):null,h?d.createElement(el,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},U.useMedium(s),Y);var eE=d.forwardRef(function(e,t){return d.createElement(X,L({},e,{ref:t,sideCar:ex}))});eE.classNames=X.classNames;var eR=["Enter"," "],eC=["ArrowUp","PageDown","End"],ek=["ArrowDown","PageUp","Home",...eC],eS={ltr:[...eR,"ArrowRight"],rtl:[...eR,"ArrowLeft"]},eM={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ej="Menu",[eP,eA,eD]=(0,g.createCollection)(ej),[eI,eT]=(0,h.createContextScope)(ej,[eD,R.createPopperScope,S.createRovingFocusGroupScope]),e_=(0,R.createPopperScope)(),eN=(0,S.createRovingFocusGroupScope)(),[eO,eF]=eI(ej),[eL,eH]=eI(ej),eK=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:a,modal:i=!0}=e,l=e_(t),[u,s]=d.useState(null),c=d.useRef(!1),f=(0,A.useCallbackRef)(a),p=(0,y.useDirection)(o);return d.useEffect(()=>{let e=()=>{c.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>c.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,M.jsx)(R.Root,{...l,children:(0,M.jsx)(eO,{scope:t,open:n,onOpenChange:f,content:u,onContentChange:s,children:(0,M.jsx)(eL,{scope:t,onClose:d.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:c,dir:p,modal:i,children:r})})})};eK.displayName=ej;var eW=d.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,o=e_(n);return(0,M.jsx)(R.Anchor,{...o,...r,ref:t})});eW.displayName="MenuAnchor";var eB="MenuPortal",[eG,ez]=eI(eB,{forceMount:void 0}),eU=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:o}=e,a=eF(eB,t);return(0,M.jsx)(eG,{scope:t,forceMount:n,children:(0,M.jsx)(k.Presence,{present:n||a.open,children:(0,M.jsx)(C.Portal,{asChild:!0,container:o,children:r})})})};eU.displayName=eB;var eV="MenuContent",[eX,eY]=eI(eV),eZ=d.forwardRef((e,t)=>{let n=ez(eV,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=eF(eV,e.__scopeMenu),i=eH(eV,e.__scopeMenu);return(0,M.jsx)(eP.Provider,{scope:e.__scopeMenu,children:(0,M.jsx)(k.Presence,{present:r||a.open,children:(0,M.jsx)(eP.Slot,{scope:e.__scopeMenu,children:i.modal?(0,M.jsx)(eq,{...o,ref:t}):(0,M.jsx)(e$,{...o,ref:t})})})})}),eq=d.forwardRef((e,t)=>{let n=eF(eV,e.__scopeMenu),r=d.useRef(null),o=(0,p.useComposedRefs)(t,r);return d.useEffect(()=>{let e=r.current;if(e)return F(e)},[]),(0,M.jsx)(eQ,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:(0,f.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),e$=d.forwardRef((e,t)=>{let n=eF(eV,e.__scopeMenu);return(0,M.jsx)(eQ,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),eJ=((r=d.forwardRef((e,t)=>{let{children:n,...r}=e;if(d.isValidElement(n)){var o;let e,a,i=(o=n,(a=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(a=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),l=function(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...e)=>{let t=a(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...a}:"className"===r&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}(r,n.props);return n.type!==d.Fragment&&(l.ref=t?(0,p.composeRefs)(t,i):i),d.cloneElement(n,l)}return d.Children.count(n)>1?d.Children.only(null):null})).displayName="MenuContent.ScrollLock.SlotClone",t=r,(n=d.forwardRef((e,n)=>{let{children:r,...o}=e,a=d.Children.toArray(r),i=a.find(P);if(i){let e=i.props.children,r=a.map(t=>t!==i?t:d.Children.count(e)>1?d.Children.only(null):d.isValidElement(e)?e.props.children:null);return(0,M.jsx)(t,{...o,ref:n,children:d.isValidElement(e)?d.cloneElement(e,void 0,r):null})}return(0,M.jsx)(t,{...o,ref:n,children:r})})).displayName="MenuContent.ScrollLock.Slot",n),eQ=d.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:i,disableOutsidePointerEvents:l,onEntryFocus:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:h,onInteractOutside:v,onDismiss:m,disableOutsideScroll:g,...y}=e,E=eF(eV,n),C=eH(eV,n),k=e_(n),j=eN(n),P=eA(n),[A,D]=d.useState(null),I=d.useRef(null),T=(0,p.useComposedRefs)(t,I,E.onContentChange),_=d.useRef(0),N=d.useRef(""),O=d.useRef(0),F=d.useRef(null),L=d.useRef("right"),H=d.useRef(0),K=g?eE:d.Fragment;d.useEffect(()=>()=>window.clearTimeout(_.current),[]),(0,b.useFocusGuards)();let W=d.useCallback(e=>{var t,n;return L.current===F.current?.side&&(t=e,!!(n=F.current?.area)&&function(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let i=t[e],l=t[a],u=i.x,s=i.y,c=l.x,d=l.y;s>r!=d>r&&n<(c-u)*(r-s)/(d-s)+u&&(o=!o)}return o}({x:t.clientX,y:t.clientY},n))},[]);return(0,M.jsx)(eX,{scope:n,searchRef:N,onItemEnter:d.useCallback(e=>{W(e)&&e.preventDefault()},[W]),onItemLeave:d.useCallback(e=>{W(e)||(I.current?.focus(),D(null))},[W]),onTriggerLeave:d.useCallback(e=>{W(e)&&e.preventDefault()},[W]),pointerGraceTimerRef:O,onPointerGraceIntentChange:d.useCallback(e=>{F.current=e},[]),children:(0,M.jsx)(K,{...g?{as:eJ,allowPinchZoom:!0}:void 0,children:(0,M.jsx)(x.FocusScope,{asChild:!0,trapped:o,onMountAutoFocus:(0,f.composeEventHandlers)(a,e=>{e.preventDefault(),I.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,M.jsx)(w.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:h,onInteractOutside:v,onDismiss:m,children:(0,M.jsx)(S.Root,{asChild:!0,...j,dir:C.dir,orientation:"vertical",loop:r,currentTabStopId:A,onCurrentTabStopIdChange:D,onEntryFocus:(0,f.composeEventHandlers)(u,e=>{C.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,M.jsx)(R.Content,{role:"menu","aria-orientation":"vertical","data-state":tg(E.open),"data-radix-menu-content":"",dir:C.dir,...k,...y,ref:T,style:{outline:"none",...y.style},onKeyDown:(0,f.composeEventHandlers)(y.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;if(t){var o;let t,a,i,l,u,s;"Tab"===e.key&&e.preventDefault(),!n&&r&&(o=e.key,t=N.current+o,a=P().filter(e=>!e.disabled),i=document.activeElement,l=a.find(e=>e.ref.current===i)?.textValue,u=function(e,t,n){var r;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=n?e.indexOf(n):-1,i=(r=Math.max(a,0),e.map((t,n)=>e[(r+n)%e.length]));1===o.length&&(i=i.filter(e=>e!==n));let l=i.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return l!==n?l:void 0}(a.map(e=>e.textValue),t,l),s=a.find(e=>e.textValue===u)?.ref.current,function e(t){N.current=t,window.clearTimeout(_.current),""!==t&&(_.current=window.setTimeout(()=>e(""),1e3))}(t),s&&setTimeout(()=>s.focus()))}let a=I.current;if(e.target!==a||!ek.includes(e.key))return;e.preventDefault();let i=P().filter(e=>!e.disabled).map(e=>e.ref.current);eC.includes(e.key)&&i.reverse(),function(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}(i)}),onBlur:(0,f.composeEventHandlers)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(_.current),N.current="")}),onPointerMove:(0,f.composeEventHandlers)(e.onPointerMove,tb(e=>{let t=e.target,n=H.current!==e.clientX;e.currentTarget.contains(t)&&n&&(L.current=e.clientX>H.current?"right":"left",H.current=e.clientX)}))})})})})})})});eZ.displayName=eV;var e0=d.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,M.jsx)(m.Primitive.div,{role:"group",...r,ref:t})});e0.displayName="MenuGroup";var e1=d.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,M.jsx)(m.Primitive.div,{...r,ref:t})});e1.displayName="MenuLabel";var e2="MenuItem",e3="menu.itemSelect",e5=d.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...o}=e,a=d.useRef(null),i=eH(e2,e.__scopeMenu),l=eY(e2,e.__scopeMenu),u=(0,p.useComposedRefs)(t,a),s=d.useRef(!1);return(0,M.jsx)(e4,{...o,ref:u,disabled:n,onClick:(0,f.composeEventHandlers)(e.onClick,()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(e3,{bubbles:!0,cancelable:!0});e.addEventListener(e3,e=>r?.(e),{once:!0}),(0,m.dispatchDiscreteCustomEvent)(e,t),t.defaultPrevented?s.current=!1:i.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),s.current=!0},onPointerUp:(0,f.composeEventHandlers)(e.onPointerUp,e=>{s.current||e.currentTarget?.click()}),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,e=>{let t=""!==l.searchRef.current;n||t&&" "===e.key||eR.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});e5.displayName=e2;var e4=d.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:o,...a}=e,i=eY(e2,n),l=eN(n),u=d.useRef(null),s=(0,p.useComposedRefs)(t,u),[c,h]=d.useState(!1),[v,g]=d.useState("");return d.useEffect(()=>{let e=u.current;e&&g((e.textContent??"").trim())},[a.children]),(0,M.jsx)(eP.ItemSlot,{scope:n,disabled:r,textValue:o??v,children:(0,M.jsx)(S.Item,{asChild:!0,...l,focusable:!r,children:(0,M.jsx)(m.Primitive.div,{role:"menuitem","data-highlighted":c?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...a,ref:s,onPointerMove:(0,f.composeEventHandlers)(e.onPointerMove,tb(e=>{r?i.onItemLeave(e):(i.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,f.composeEventHandlers)(e.onPointerLeave,tb(e=>i.onItemLeave(e))),onFocus:(0,f.composeEventHandlers)(e.onFocus,()=>h(!0)),onBlur:(0,f.composeEventHandlers)(e.onBlur,()=>h(!1))})})})}),e6=d.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...o}=e;return(0,M.jsx)(to,{scope:e.__scopeMenu,checked:n,children:(0,M.jsx)(e5,{role:"menuitemcheckbox","aria-checked":ty(n)?"mixed":n,...o,ref:t,"data-state":tw(n),onSelect:(0,f.composeEventHandlers)(o.onSelect,()=>r?.(!!ty(n)||!n),{checkForDefaultPrevented:!1})})})});e6.displayName="MenuCheckboxItem";var e7="MenuRadioGroup",[e8,e9]=eI(e7,{value:void 0,onValueChange:()=>{}}),te=d.forwardRef((e,t)=>{let{value:n,onValueChange:r,...o}=e,a=(0,A.useCallbackRef)(r);return(0,M.jsx)(e8,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,M.jsx)(e0,{...o,ref:t})})});te.displayName=e7;var tt="MenuRadioItem",tn=d.forwardRef((e,t)=>{let{value:n,...r}=e,o=e9(tt,e.__scopeMenu),a=n===o.value;return(0,M.jsx)(to,{scope:e.__scopeMenu,checked:a,children:(0,M.jsx)(e5,{role:"menuitemradio","aria-checked":a,...r,ref:t,"data-state":tw(a),onSelect:(0,f.composeEventHandlers)(r.onSelect,()=>o.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});tn.displayName=tt;var tr="MenuItemIndicator",[to,ta]=eI(tr,{checked:!1}),ti=d.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...o}=e,a=ta(tr,n);return(0,M.jsx)(k.Presence,{present:r||ty(a.checked)||!0===a.checked,children:(0,M.jsx)(m.Primitive.span,{...o,ref:t,"data-state":tw(a.checked)})})});ti.displayName=tr;var tl=d.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,M.jsx)(m.Primitive.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});tl.displayName="MenuSeparator";var tu=d.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,o=e_(n);return(0,M.jsx)(R.Arrow,{...o,...r,ref:t})});tu.displayName="MenuArrow";var ts="MenuSub",[tc,td]=eI(ts),tf=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:o}=e,a=eF(ts,t),i=e_(t),[l,u]=d.useState(null),[s,c]=d.useState(null),f=(0,A.useCallbackRef)(o);return d.useEffect(()=>(!1===a.open&&f(!1),()=>f(!1)),[a.open,f]),(0,M.jsx)(R.Root,{...i,children:(0,M.jsx)(eO,{scope:t,open:r,onOpenChange:f,content:s,onContentChange:c,children:(0,M.jsx)(tc,{scope:t,contentId:(0,E.useId)(),triggerId:(0,E.useId)(),trigger:l,onTriggerChange:u,children:n})})})};tf.displayName=ts;var tp="MenuSubTrigger",th=d.forwardRef((e,t)=>{let n=eF(tp,e.__scopeMenu),r=eH(tp,e.__scopeMenu),o=td(tp,e.__scopeMenu),a=eY(tp,e.__scopeMenu),i=d.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:u}=a,s={__scopeMenu:e.__scopeMenu},c=d.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return d.useEffect(()=>c,[c]),d.useEffect(()=>{let e=l.current;return()=>{window.clearTimeout(e),u(null)}},[l,u]),(0,M.jsx)(eW,{asChild:!0,...s,children:(0,M.jsx)(e4,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":tg(n.open),...e,ref:(0,p.composeRefs)(t,o.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:(0,f.composeEventHandlers)(e.onPointerMove,tb(t=>{a.onItemEnter(t),!t.defaultPrevented&&(e.disabled||n.open||i.current||(a.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{n.onOpenChange(!0),c()},100)))})),onPointerLeave:(0,f.composeEventHandlers)(e.onPointerLeave,tb(e=>{c();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,o="right"===r,i=t[o?"left":"right"],u=t[o?"right":"left"];a.onPointerGraceIntentChange({area:[{x:e.clientX+(o?-5:5),y:e.clientY},{x:i,y:t.top},{x:u,y:t.top},{x:u,y:t.bottom},{x:i,y:t.bottom}],side:r}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,t=>{let o=""!==a.searchRef.current;e.disabled||o&&" "===t.key||eS[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});th.displayName=tp;var tv="MenuSubContent",tm=d.forwardRef((e,t)=>{let n=ez(eV,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=eF(eV,e.__scopeMenu),i=eH(eV,e.__scopeMenu),l=td(tv,e.__scopeMenu),u=d.useRef(null),s=(0,p.useComposedRefs)(t,u);return(0,M.jsx)(eP.Provider,{scope:e.__scopeMenu,children:(0,M.jsx)(k.Presence,{present:r||a.open,children:(0,M.jsx)(eP.Slot,{scope:e.__scopeMenu,children:(0,M.jsx)(eQ,{id:l.contentId,"aria-labelledby":l.triggerId,...o,ref:s,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{i.isUsingKeyboardRef.current&&u.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,f.composeEventHandlers)(e.onFocusOutside,e=>{e.target!==l.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:(0,f.composeEventHandlers)(e.onEscapeKeyDown,e=>{i.onClose(),e.preventDefault()}),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=eM[i.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),l.trigger?.focus(),e.preventDefault())})})})})})});function tg(e){return e?"open":"closed"}function ty(e){return"indeterminate"===e}function tw(e){return ty(e)?"indeterminate":e?"checked":"unchecked"}function tb(e){return t=>"mouse"===t.pointerType?e(t):void 0}tm.displayName=tv;var tx="DropdownMenu",[tE,tR]=(0,h.createContextScope)(tx,[eT]),tC=eT(),[tk,tS]=tE(tx),tM=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:a,onOpenChange:i,modal:l=!0}=e,u=tC(t),s=d.useRef(null),[c,f]=(0,v.useControllableState)({prop:o,defaultProp:a??!1,onChange:i,caller:tx});return(0,M.jsx)(tk,{scope:t,triggerId:(0,E.useId)(),triggerRef:s,contentId:(0,E.useId)(),open:c,onOpenChange:f,onOpenToggle:d.useCallback(()=>f(e=>!e),[f]),modal:l,children:(0,M.jsx)(eK,{...u,open:c,onOpenChange:f,dir:r,modal:l,children:n})})};tM.displayName=tx;var tj="DropdownMenuTrigger",tP=d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,a=tS(tj,n),i=tC(n);return(0,M.jsx)(eW,{asChild:!0,...i,children:(0,M.jsx)(m.Primitive.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:(0,p.composeRefs)(t,a.triggerRef),onPointerDown:(0,f.composeEventHandlers)(e.onPointerDown,e=>{!r&&0===e.button&&!1===e.ctrlKey&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,e=>{!r&&(["Enter"," "].includes(e.key)&&a.onOpenToggle(),"ArrowDown"===e.key&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});tP.displayName=tj;var tA=e=>{let{__scopeDropdownMenu:t,...n}=e,r=tC(t);return(0,M.jsx)(eU,{...r,...n})};tA.displayName="DropdownMenuPortal";var tD="DropdownMenuContent",tI=d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tS(tD,n),a=tC(n),i=d.useRef(!1);return(0,M.jsx)(eZ,{id:o.contentId,"aria-labelledby":o.triggerId,...a,...r,ref:t,onCloseAutoFocus:(0,f.composeEventHandlers)(e.onCloseAutoFocus,e=>{i.current||o.triggerRef.current?.focus(),i.current=!1,e.preventDefault()}),onInteractOutside:(0,f.composeEventHandlers)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;(!o.modal||r)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});tI.displayName=tD,d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(e0,{...o,...r,ref:t})}).displayName="DropdownMenuGroup",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(e1,{...o,...r,ref:t})}).displayName="DropdownMenuLabel";var tT=d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(e5,{...o,...r,ref:t})});tT.displayName="DropdownMenuItem",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(e6,{...o,...r,ref:t})}).displayName="DropdownMenuCheckboxItem",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(te,{...o,...r,ref:t})}).displayName="DropdownMenuRadioGroup",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(tn,{...o,...r,ref:t})}).displayName="DropdownMenuRadioItem",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(ti,{...o,...r,ref:t})}).displayName="DropdownMenuItemIndicator";var t_=d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(tl,{...o,...r,ref:t})});t_.displayName="DropdownMenuSeparator",d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(tu,{...o,...r,ref:t})}).displayName="DropdownMenuArrow";var tN=d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(th,{...o,...r,ref:t})});tN.displayName="DropdownMenuSubTrigger";var tO=d.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=tC(n);return(0,M.jsx)(tm,{...o,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});tO.displayName="DropdownMenuSubContent";var tF=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:o,defaultOpen:a}=e,i=tC(t),[l,u]=(0,v.useControllableState)({prop:r,defaultProp:a??!1,onChange:o,caller:"DropdownMenuSub"});return(0,M.jsx)(tf,{...i,open:l,onOpenChange:u,children:n})};e.s(["Content",()=>tI,"Item",()=>tT,"Portal",()=>tA,"Root",()=>tM,"Separator",()=>t_,"Sub",()=>tF,"SubContent",()=>tO,"SubTrigger",()=>tN,"Trigger",()=>tP],40666)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,61653,e=>{"use strict";let t=(0,e.i(75254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["default",()=>t])},14764,e=>{"use strict";let t=(0,e.i(75254).default)("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"}]]);e.s(["Send",()=>t],14764)},57965,e=>{"use strict";var t=e.i(47167),n=e.i(43476),l=e.i(61653),l=l,r=e.i(78917),a=e.i(31278),s=e.i(16715),i=e.i(14764),o=e.i(37727),c=e.i(71645),d=e.i(11077);let u=new Set(["queued","spawning","running","working","needs_input","stuck"]),m=new Set(["done","needs_input","stuck","errored","terminated","killed"]);function h(e){return"127.0.0.1"===e||"localhost"===e||"::1"===e}function f(e){return e.length>1&&e.endsWith("/")?e.replace(/\/+$/,""):e}async function p(e,t){let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/terminal/token`,{cache:"no-store",signal:t?.signal}),l=await n.json().catch(()=>null),r="string"==typeof l?.ttydHttpUrl&&l.ttydHttpUrl.trim().length>0?l.ttydHttpUrl.trim():null,a="string"==typeof l?.ttydWsUrl&&l.ttydWsUrl.trim().length>0?l.ttydWsUrl.trim():null;if(401===n.status||403===n.status)return{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,reason:l?.error??"Terminal access denied"};if(!n.ok)throw Error(l?.error??`Failed to resolve terminal token: ${n.status}`);return{interactive:!0,ttydHttpUrl:r,ttydWsUrl:a}}async function x(e,n){let l=function(){let e=function(){if("u"<typeof document)return null;let e=document.querySelector('meta[name="conductor-backend-url"]'),t=e?.content?.trim();if(!t)return null;try{let e=window.location.origin,n=new URL(t,e);if("http:"!==n.protocol&&"https:"!==n.protocol)return null;{let e=new URL(window.location.origin);h(n.hostname)&&!h(e.hostname)&&(n.hostname=e.hostname,"https:"===e.protocol&&"http:"===n.protocol&&(n.protocol="https:"))}return n.toString()}catch{return null}}();if(e)return e;let n=t.default.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL?.trim();if(n)return n;let{protocol:l,hostname:r,origin:a,port:s}=window.location;return"3000"===s||"4747"===s?`${l}//${r}:4749`:a}(),r=await p(e,n);if(!r.interactive)return{terminalUrl:null,interactive:!1,reason:r.reason};let a=function(e,t,n){let l=e??t;if(!l)return null;try{let e=new URL(l,n);return"ws:"===e.protocol&&(e.protocol="http:"),"wss:"===e.protocol&&(e.protocol="https:"),"/ws"===e.pathname?e.pathname="/":e.pathname.endsWith("/ws")&&(e.pathname=f(e.pathname.slice(0,-3))),e.pathname=f(e.pathname),e.hash="",e.toString()}catch{return null}}(r.ttydHttpUrl,r.ttydWsUrl,l);return a?{terminalUrl:a,interactive:!0,reason:null}:{terminalUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."}}let b=new Set(["archived","killed","terminated","restored"]);async function w(e,t){let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/keys`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Failed to queue terminal input (${n.status})`)}}function g(e){try{let t=new URL(e,window.location.origin);return t.searchParams.delete("token"),t.hash="",t.toString()}catch{return e}}let y=(0,c.memo)(function(e){let{sessionId:t,sessionState:h,runtimeMode:f,pendingInsert:p,immersiveMobileMode:y=!1}=e,v=(0,c.useRef)(null),j=(0,c.useRef)(0),N=(0,c.useRef)(0),k=(0,c.useMemo)(()=>h.trim().toLowerCase(),[h]),S=f?.trim().toLowerCase()??null,U="ttyd"===S,C=U?!b.has(k):u.has(k),R=!U&&!y&&m.has(k),[T,L]=(0,c.useState)(null),[E,_]=(0,c.useState)(C),[$,M]=(0,c.useState)(null),[O,I]=(0,c.useState)(!1),[z,F]=(0,c.useState)(0),[W,B]=(0,c.useState)(""),[D,P]=(0,c.useState)(!1),[q,A]=(0,c.useState)(null),[H,K]=(0,c.useState)(null),X=(0,c.useRef)(null);(0,c.useEffect)(()=>{X.current=T},[T]),(0,c.useEffect)(()=>{j.current=0,N.current=0,L(null),_(C),M(null),I(!1),F(0),B(""),P(!1),A(null),K(null)},[t]),(0,c.useEffect)(()=>{if(!C){_(!1),M(null);return}let e=!1,n=null,l=new AbortController;return _(!0),M(null),x(t,{signal:l.signal}).then(t=>{if(!e){if(N.current=0,t.interactive&&t.terminalUrl){var n,l;n=X.current,l=t.terminalUrl,n&&g(n)===g(l)||(I(!1),L(t.terminalUrl)),M(null);return}X.current||(L(null),I(!1)),M(t.reason??"Live ttyd terminal is unavailable.")}}).catch(t=>{if(e||t instanceof DOMException&&"AbortError"===t.name)return;let l=!!X.current;if(l||(L(null),I(!1)),M(t instanceof Error?t.message:"Failed to resolve ttyd terminal."),!l){let e=N.current,t=Math.min(4e3,500*2**e);N.current=Math.min(e+1,3),n=window.setTimeout(()=>{F(e=>e+1)},t)}}).finally(()=>{e||_(!1)}),()=>{e=!0,l.abort(),null!==n&&window.clearTimeout(n)}},[z,C,t]),(0,c.useEffect)(()=>{if(!p||p.nonce<=j.current)return;j.current=p.nonce;let e=p.inlineText.trim();if(0===e.length)return;let n=!1;return w(t,`${e} `).then(()=>{n||K(null)}).catch(e=>{n||K(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{n=!0}},[p,t]);let J=(0,c.useCallback)(async()=>{let e=W.trim();if(0!==e.length&&!D){P(!0),A(null);try{let n=await fetch(`/api/sessions/${encodeURIComponent(t)}/actions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:e})});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Failed to send message (${n.status})`)}B(""),v.current?.focus()}catch(e){A(e instanceof Error?e.message:"Failed to send message")}finally{P(!1)}}},[W,D,t]);(0,c.useEffect)(()=>{},[$,C,O,S,q,H,E,t,T,U]);let G=(0,c.useCallback)(()=>{M(null),N.current=0,F(e=>e+1)},[]),Q=C?"Connecting live terminal":R?"Session is waiting for input":"Live terminal is not active",V=$??(C?"Reconnecting to the existing ttyd terminal.":U?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":R?"Send a follow-up below to relaunch the agent in a fresh ttyd terminal.":`Session status is \`${k}\`. Interactive ttyd terminals only run while the agent is active.`);return(0,n.jsxs)("div",{className:y?"group/terminal relative flex h-full min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[#060404]":"group/terminal relative flex h-full min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden rounded-none border-0 bg-[#060404] lg:rounded-[14px] lg:border lg:border-white/10 lg:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",children:[(0,n.jsxs)("div",{className:"absolute right-2 top-2 z-10 flex items-center gap-2 sm:right-3 sm:top-3",children:[T?(0,n.jsx)("a",{href:T,target:"_blank",rel:"noreferrer",className:"inline-flex h-9 w-9 items-center justify-center rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm transition hover:bg-[#201818] sm:h-7 sm:w-7","aria-label":"Open ttyd terminal in a new tab",children:(0,n.jsx)(r.ExternalLink,{className:"h-3.5 w-3.5"})}):null,(0,n.jsx)(d.Button,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:G,"aria-label":"Reload ttyd terminal",children:E?(0,n.jsx)(a.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(s.RefreshCw,{className:"h-3.5 w-3.5"})})]}),(0,n.jsx)("div",{className:y?"min-h-0 min-w-0 flex-1 overflow-hidden px-0 pb-0 pt-0 w-full":"min-h-0 min-w-0 flex-1 overflow-hidden px-0.5 pb-0 pt-0.5 lg:px-1.5 lg:pb-1 lg:pt-3 w-full",children:C&&T?(0,n.jsxs)("div",{className:"relative h-full w-full overflow-hidden rounded-[10px] bg-[#060404]",children:[O?null:(0,n.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-[#060404]",children:(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-[#141010]/92 px-3 py-2 text-[12px] text-[#c9c0b7] backdrop-blur-sm",children:[(0,n.jsx)(a.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),(0,n.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,n.jsx)("iframe",{title:`ttyd terminal for ${t}`,src:T,className:"h-full w-full border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onLoad:()=>{I(!0),M(null)}})]}):(0,n.jsx)("div",{className:"flex h-full items-center justify-center p-4",children:(0,n.jsx)("div",{className:"max-w-lg rounded-[16px] border border-white/10 bg-[#141010]/92 p-5 text-[#efe8e1] shadow-[0_24px_48px_rgba(0,0,0,0.34)]",children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)("div",{className:"mt-0.5 rounded-full border border-white/10 bg-[#201818] p-2 text-[#c9c0b7]",children:$?(0,n.jsx)(l.default,{className:"h-4 w-4"}):(0,n.jsx)(a.Loader2,{className:`h-4 w-4 ${E?"animate-spin":""}`})}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:"text-[14px] font-medium",children:Q}),(0,n.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:V}),T?(0,n.jsx)("div",{className:"mt-3",children:(0,n.jsx)("a",{href:T,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the ttyd terminal directly"})}):null]})]})})})}),!R&&H?(0,n.jsx)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] px-3 py-2 text-[11px] text-[#ffb39e] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)(l.default,{className:"h-3 w-3 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:H}),(0,n.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>K(null),children:(0,n.jsx)(o.X,{className:"h-3 w-3"})})]})}):null,R?(0,n.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:[H?(0,n.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ffb39e]",children:[(0,n.jsx)(l.default,{className:"h-3 w-3 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:H}),(0,n.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>K(null),children:(0,n.jsx)(o.X,{className:"h-3 w-3"})})]}):null,q?(0,n.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ff8f7a]",children:[(0,n.jsx)(l.default,{className:"h-3 w-3 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:q}),(0,n.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>A(null),children:(0,n.jsx)(o.X,{className:"h-3 w-3"})})]}):null,(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault(),J()},className:"flex items-center gap-2 px-2 py-2 lg:px-3",children:[(0,n.jsx)("input",{ref:v,value:W,onChange:e=>B(e.target.value),placeholder:"Send a follow-up message…",disabled:D,className:"h-8 min-w-0 flex-1 rounded-md border border-white/10 bg-[#0c0808] px-2.5 text-[12px] text-[#efe8e1] outline-none placeholder:text-[#7d746e] focus:border-white/20 disabled:opacity-50",onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),e.currentTarget.blur())}}),(0,n.jsx)(d.Button,{type:"submit",size:"icon",variant:"ghost",disabled:D||0===W.trim().length,className:"h-8 w-8 shrink-0 rounded-md border border-white/10 bg-[#0c0808] text-[#c9c0b7] hover:bg-[#201818] disabled:opacity-30","aria-label":"Send message",children:D?(0,n.jsx)(a.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(i.Send,{className:"h-3.5 w-3.5"})})]})]}):null]})},function(e,t){var n,l;return e.sessionId===t.sessionId&&e.sessionState===t.sessionState&&e.runtimeMode===t.runtimeMode&&e.immersiveMobileMode===t.immersiveMobileMode&&((n=e.pendingInsert)===(l=t.pendingInsert)||!!n&&!!l&&n.nonce===l.nonce&&n.inlineText===l.inlineText)});e.s(["SessionTerminal",0,y],57965)},3934,e=>{e.n(e.i(57965))}]);