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,3 +1,3 @@
1
- module.exports=[48031,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(70106);let e=(0,d.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"}]]),f=(0,d.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 g=a.i(5151),h=a.i(77156);let i=(0,d.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 j=a.i(44494),k=a.i(96221);let l=(0,d.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=a.i(69520),n=a.i(92759),o=a.i(48677),o=o;let p=(0,d.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 q=a.i(33508),r=a.i(50415),s=a.i(71541),t=a.i(48079),u=a.i(30553),v=a.i(77192),w=a.i(50104),x=a.i(70121),y=a.i(46872),z=a.i(7827),A=a.i(72752),B=a.i(7554),C="ScrollArea",[D,E]=(0,w.createContextScope)(C),[F,G]=D(C),H=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,type:f="hover",dir:g,scrollHideDelay:h=600,...i}=a,[j,k]=c.useState(null),[l,m]=c.useState(null),[n,o]=c.useState(null),[p,q]=c.useState(null),[r,s]=c.useState(null),[t,v]=c.useState(0),[w,y]=c.useState(0),[A,B]=c.useState(!1),[C,D]=c.useState(!1),E=(0,x.useComposedRefs)(d,a=>k(a)),G=(0,z.useDirection)(g);return(0,b.jsx)(F,{scope:e,type:f,dir:G,scrollHideDelay:h,scrollArea:j,viewport:l,onViewportChange:m,content:n,onContentChange:o,scrollbarX:p,onScrollbarXChange:q,scrollbarXEnabled:A,onScrollbarXEnabledChange:B,scrollbarY:r,onScrollbarYChange:s,scrollbarYEnabled:C,onScrollbarYEnabledChange:D,onCornerWidthChange:v,onCornerHeightChange:y,children:(0,b.jsx)(u.Primitive.div,{dir:G,...i,ref:E,style:{position:"relative","--radix-scroll-area-corner-width":t+"px","--radix-scroll-area-corner-height":w+"px",...a.style}})})});H.displayName=C;var I="ScrollAreaViewport",J=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,children:f,nonce:g,...h}=a,i=G(I,e),j=c.useRef(null),k=(0,x.useComposedRefs)(d,j,i.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(u.Primitive.div,{"data-radix-scroll-area-viewport":"",...h,ref:k,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:f})})]})});J.displayName=I;var K="ScrollAreaScrollbar",L=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=G(K,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(M,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(N,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(O,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(P,{...f,ref:d}):null});L.displayName=K;var M=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=G(K,a.__scopeScrollArea),[h,i]=c.useState(!1);return c.useEffect(()=>{let a=g.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),g.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[g.scrollArea,g.scrollHideDelay]),(0,b.jsx)(v.Presence,{present:e||h,children:(0,b.jsx)(O,{"data-state":h?"visible":"hidden",...f,ref:d})})}),N=c.forwardRef((a,d)=>{var e;let{forceMount:f,...g}=a,h=G(K,a.__scopeScrollArea),i="horizontal"===a.orientation,j=af(()=>l("SCROLL_END"),100),[k,l]=(e={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},c.useReducer((a,b)=>e[a][b]??a,"hidden"));return c.useEffect(()=>{if("idle"===k){let a=window.setTimeout(()=>l("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[k,h.scrollHideDelay,l]),c.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(l("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,l,j]),(0,b.jsx)(v.Presence,{present:f||"hidden"!==k,children:(0,b.jsx)(P,{"data-state":"hidden"===k?"hidden":"visible",...g,ref:d,onPointerEnter:(0,B.composeEventHandlers)(a.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:(0,B.composeEventHandlers)(a.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),O=c.forwardRef((a,d)=>{let e=G(K,a.__scopeScrollArea),{forceMount:f,...g}=a,[h,i]=c.useState(!1),j="horizontal"===a.orientation,k=af(()=>{if(e.viewport){let a=e.viewport.offsetWidth<e.viewport.scrollWidth,b=e.viewport.offsetHeight<e.viewport.scrollHeight;i(j?a:b)}},10);return ag(e.viewport,k),ag(e.content,k),(0,b.jsx)(v.Presence,{present:f||h,children:(0,b.jsx)(P,{"data-state":h?"visible":"hidden",...g,ref:d})})}),P=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=G(K,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=aa(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=ab(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return ad([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(Q,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=ac(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(R,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=ac(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),Q=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=G(K,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,x.useComposedRefs)(d,k,h.onScrollbarXChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(U,{"data-orientation":"horizontal",...g,ref:l,sizes:e,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ab(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:_(i.paddingLeft),paddingEnd:_(i.paddingRight)}})}})}),R=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=G(K,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,x.useComposedRefs)(d,k,h.onScrollbarYChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(U,{"data-orientation":"vertical",...g,ref:l,sizes:e,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ab(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:_(i.paddingTop),paddingEnd:_(i.paddingBottom)}})}})}),[S,T]=D(K),U=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,sizes:f,hasThumb:g,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:j,onThumbPositionChange:k,onDragScroll:l,onWheelScroll:m,onResize:n,...o}=a,p=G(K,e),[q,r]=c.useState(null),s=(0,x.useComposedRefs)(d,a=>r(a)),t=c.useRef(null),v=c.useRef(""),w=p.viewport,z=f.content-f.viewport,A=(0,y.useCallbackRef)(m),C=(0,y.useCallbackRef)(k),D=af(n,10);function E(a){t.current&&l({x:a.clientX-t.current.left,y:a.clientY-t.current.top})}return c.useEffect(()=>{let a=a=>{let b=a.target;q?.contains(b)&&A(a,z)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[w,q,z,A]),c.useEffect(C,[f,C]),ag(q,D),ag(p.content,D),(0,b.jsx)(S,{scope:e,scrollbar:q,hasThumb:g,onThumbChange:(0,y.useCallbackRef)(h),onThumbPointerUp:(0,y.useCallbackRef)(i),onThumbPositionChange:C,onThumbPointerDown:(0,y.useCallbackRef)(j),children:(0,b.jsx)(u.Primitive.div,{...o,ref:s,style:{position:"absolute",...o.style},onPointerDown:(0,B.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),t.current=q.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),E(a))}),onPointerMove:(0,B.composeEventHandlers)(a.onPointerMove,E),onPointerUp:(0,B.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=""),t.current=null})})})}),V="ScrollAreaThumb",W=c.forwardRef((a,c)=>{let{forceMount:d,...e}=a,f=T(V,a.__scopeScrollArea);return(0,b.jsx)(v.Presence,{present:d||f.hasThumb,children:(0,b.jsx)(X,{ref:c,...e})})}),X=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,style:f,...g}=a,h=G(V,e),i=T(V,e),{onThumbPositionChange:j}=i,k=(0,x.useComposedRefs)(d,a=>i.onThumbChange(a)),l=c.useRef(void 0),m=af(()=>{l.current&&(l.current(),l.current=void 0)},100);return c.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{m(),l.current||(l.current=ae(a,j),j())};return j(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,m,j]),(0,b.jsx)(u.Primitive.div,{"data-state":i.hasThumb?"visible":"hidden",...g,ref:k,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...f},onPointerDownCapture:(0,B.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,B.composeEventHandlers)(a.onPointerUp,i.onThumbPointerUp)})});W.displayName=V;var Y="ScrollAreaCorner",Z=c.forwardRef((a,c)=>{let d=G(Y,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)($,{...a,ref:c}):null});Z.displayName=Y;var $=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,...f}=a,g=G(Y,e),[h,i]=c.useState(0),[j,k]=c.useState(0),l=!!(h&&j);return ag(g.scrollbarX,()=>{let a=g.scrollbarX?.offsetHeight||0;g.onCornerHeightChange(a),k(a)}),ag(g.scrollbarY,()=>{let a=g.scrollbarY?.offsetWidth||0;g.onCornerWidthChange(a),i(a)}),l?(0,b.jsx)(u.Primitive.div,{...f,ref:d,style:{width:h,height:j,position:"absolute",right:"ltr"===g.dir?0:void 0,left:"rtl"===g.dir?0:void 0,bottom:0,...a.style}}):null});function _(a){return a?parseInt(a,10):0}function aa(a,b){let c=a/b;return isNaN(c)?0:c}function ab(a){let b=aa(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function ac(a,b,c="ltr"){let d=ab(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=function(a,[b,c]){return Math.min(c,Math.max(b,a))}(a,"ltr"===c?[0,g]:[-1*g,0]);return ad([0,g],[0,f-d])(h)}function ad(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var ae=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function af(a,b){let d=(0,y.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function ag(a,b){let c=(0,y.useCallbackRef)(b);(0,A.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}var ah=a.i(26006);let ai=(0,c.forwardRef)(({className:a,children:c,...d},e)=>(0,b.jsxs)(H,{ref:e,className:(0,ah.cn)("relative overflow-hidden",a),...d,children:[(0,b.jsx)(J,{className:"h-full w-full rounded-[inherit]",children:c}),(0,b.jsx)(aj,{}),(0,b.jsx)(Z,{})]}));ai.displayName="ScrollArea";let aj=(0,c.forwardRef)(({className:a,orientation:c="vertical",...d},e)=>(0,b.jsx)(L,{ref:e,orientation:c,className:(0,ah.cn)("flex touch-none select-none","vertical"===c&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent p-px",a),...d,children:(0,b.jsx)(W,{className:"relative flex-1 rounded-full bg-[color:color-mix(in_srgb,var(--border-strong)_75%,transparent)] hover:bg-[var(--border-strong)]"})}));aj.displayName="ScrollBar";let ak=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 al(a){let b=Date.parse(a);return Number.isNaN(b)?a:new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",second:"2-digit"}).format(new Date(b))}function am(a,b=120){return a.length<=b?a:`${a.slice(0,b-1)}…`}function an(a,b=180){let c=am((a??"").replace(/\s+/g," ").trim(),b);return c?`"${c.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:null}function ao(a){return a.map(a=>a?.trim()).filter(a=>!!a).join("; ")}function ap(a,b){return[`[${a}]`,...b.map(a=>a?.trim()).filter(a=>!!a)].join("\n")}function aq(a,b){return{inlineText:ao(["[Browser selection]",`selector=${an(a.selector,220)}`,`tag=${a.tag}`,a.role?`role=${a.role}`:null,a.name?`name=${an(a.name,140)}`:null,a.text?`text=${an(a.text,180)}`:null,a.frameName?`frame=${an(a.frameName,120)}`:null,b?`page=${an(b,220)}`:null]),draftText:ap("Browser selection",[b?`Page: ${b}`:null,`Frame: ${a.frameName} (${a.frameUrl})`,`Selector: ${a.selector}`,`Tag: ${a.tag}`,a.role?`Role: ${a.role}`:null,a.name?`Name: ${a.name}`:null,a.text?`Text: ${a.text}`:null,a.htmlPreview?`HTML preview: ${a.htmlPreview}`:null]),successMessage:"Queued the selected element for terminal input."}}function ar(a,b,c,d){let e=b.slice("console"===a?-8:-10),f=e.map(b=>{let c=[b.level,an(b.message,120)];return"network"===a&&(c.unshift(b.method??"GET"),c.push("number"==typeof b.status?String(b.status):null),c.push(b.url?an(b.url,120):null)),c.filter(Boolean).join(" ")});return{inlineText:ao(["console"===a?"[Browser console]":"[Browser network]",c?`page=${an(c,220)}`:null,d?`selected=${an(d.selector,180)}`:null,`entries=${an(f.join(" | "),520)}`]),draftText:ap("console"===a?"Browser console logs":"Browser network logs",[c?`Page: ${c}`:null,d?`Selected element: ${d.selector}`:null,...e.map(b=>"console"===a?`- ${al(b.timestamp)} ${b.level}: ${b.message}`:`- ${al(b.timestamp)} ${b.method??"GET"} ${b.status??"-"} ${b.url??b.message}`)]),successMessage:"console"===a?"Queued recent console logs for terminal input.":"Queued recent network logs for terminal input."}}function as({sessionId:a,active:d,onQueueTerminalInsert:u,onConnectionChange:v}){let[w,x]=(0,c.useState)(null),[y,z]=(0,c.useState)([]),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)(!0),[G,H]=(0,c.useState)(!0),[I,J]=(0,c.useState)(null),[K,L]=(0,c.useState)(null),[M,N]=(0,c.useState)(null),[O,P]=(0,c.useState)(null),[Q,R]=(0,c.useState)("navigate"),[S,T]=(0,c.useState)(null),[U,V]=(0,c.useState)(""),[W,X]=(0,c.useState)({naturalWidth:0,naturalHeight:0,renderedWidth:0,renderedHeight:0}),Y=(0,c.useRef)(null),Z=(0,c.useRef)(Promise.resolve()),$=(0,c.useRef)(null),_=(0,c.useRef)(null),[aa,ab]=(0,c.useState)(()=>"u"<typeof document||!document.hidden),ac=d&&aa;(0,c.useEffect)(()=>{let a=()=>{ab(!document.hidden)};return document.addEventListener("visibilitychange",a),()=>{document.removeEventListener("visibilitychange",a)}},[]);let ad=(0,c.useCallback)(async()=>{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/preview`,{cache:"no-store"}),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c&&"error"in c?c.error??"Failed to load preview state":`Failed to load preview state: ${b.status}`);x(c),J(null),V(a=>a.trim().length>0&&a!==w?.currentUrl?a:c.currentUrl??c.candidateUrls[0]??a)},[a,w?.currentUrl]),ae=(0,c.useCallback)(async b=>{D(!0),J(null);try{let c=await fetch(`/api/sessions/${encodeURIComponent(a)}/preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json().catch(()=>null);if(!c.ok)throw d&&"object"==typeof d&&"status"in d&&d.status&&x(d.status),Error(d&&"error"in d?d.error??"Preview command failed":`Preview command failed: ${c.status}`);return x(d),d}finally{D(!1)}},[a]),af=(0,c.useCallback)((a,b)=>{Z.current=Z.current.catch(()=>void 0).then(async()=>{try{await ae(a)}catch(a){J(a instanceof Error?a.message:b)}})},[ae]),ag=(0,c.useCallback)(async b=>{if(!w?.connected)return void z([]);B(!0);try{let c=new URLSearchParams;b&&c.set("frameId",b),G&&c.set("interactiveOnly","1");let d=await fetch(`/api/sessions/${encodeURIComponent(a)}/preview/dom?${c.toString()}`,{cache:"no-store"}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e&&"error"in e?e.error??"Failed to inspect DOM":`Failed to inspect DOM: ${d.status}`);z(e.nodes)}catch(a){J(a instanceof Error?a.message:"Failed to inspect DOM"),z([])}finally{B(!1)}},[G,a,w?.connected]);(0,c.useEffect)(()=>{if(!ac)return;let a=!0;(async()=>{try{await ad()}catch(b){a&&J(b instanceof Error?b.message:"Failed to load preview")}finally{a&&F(!1)}})();let b=window.setInterval(()=>{ad().catch(b=>{a&&J(b instanceof Error?b.message:"Failed to refresh preview")})},4e3);return()=>{a=!1,window.clearInterval(b)}},[ad,ac]),(0,c.useEffect)(()=>{ac&&w?.connected?ag(w.activeFrameId):z([])},[G,ag,ac,w?.activeFrameId,w?.connected,w?.screenshotKey]),(0,c.useEffect)(()=>{if(!ac)return;if(w?.connected){Y.current=null;return}T(null);let a=w?.candidateUrls[0];if(!a)return;let b=Y.current?.attemptedAt??NaN,c=Y.current?.candidate??null,d=Date.now();c===a&&Number.isFinite(b)&&d-b<5e3||(Y.current={candidate:a,attemptedAt:d},ae({command:"connect",url:a}).catch(a=>{J(a instanceof Error?a.message:"Failed to connect preview")}))},[ae,ac,w?.candidateUrls,w?.connected]),(0,c.useEffect)(()=>{v?.(!!(ac&&w?.connected&&w?.screenshotKey))},[v,ac,w?.connected,w?.screenshotKey]);let aj=(0,c.useMemo)(()=>w?.connected?`/api/sessions/${encodeURIComponent(a)}/preview/screenshot?ts=${encodeURIComponent(w.screenshotKey)}`:null,[a,w?.connected,w?.screenshotKey]),an=(0,c.useMemo)(()=>w?.frames.find(a=>a.id===w.activeFrameId)??null,[w?.activeFrameId,w?.frames]),ao=(0,c.useMemo)(()=>w?.frames.find(a=>a.isMain)??null,[w?.frames]),ap=null!==O,as=!!an?.isMain,at=(0,c.useMemo)(()=>{let a=w?.selectedElement?.bounds;if(!w?.selectedElement||!a||!ao||w.selectedElement.frameId!==ao.id||!W.naturalWidth||!W.naturalHeight||!W.renderedWidth||!W.renderedHeight)return null;let b=W.renderedWidth/W.naturalWidth,c=W.renderedHeight/W.naturalHeight;return{left:`${a.x*b}px`,top:`${a.y*c}px`,width:`${Math.max(a.width*b,2)}px`,height:`${Math.max(a.height*c,2)}px`}},[W,ao,w?.selectedElement]),au=(0,c.useCallback)(async()=>{let a=U.trim();if(a)try{await ae({command:"connect",url:a})}catch(a){J(a instanceof Error?a.message:"Failed to connect preview")}},[ae,U]),av=(0,c.useCallback)((a,b,c=!1)=>{T({anchorX:a,anchorY:b,pending:c}),L(null),N(null)},[]),aw=(0,c.useCallback)(a=>{R(a),T(null),L(null),N(null)},[]),ax=(0,c.useMemo)(()=>{if(!S)return null;let a=W.renderedWidth||340,b=W.renderedHeight||280,c=Math.max(220,b-24);if(a<=520)return{left:"12px",top:`${Math.max(12,b-Math.min(280,c)-12)}px`,width:`${Math.max(a-24,220)}px`,maxHeight:`${c}px`};let d=Math.min(340,Math.max(a-24,240)),e=Math.max(12,a-d-12),f=Math.max(12,b-280-12),g=S.anchorX+18,h=S.anchorY+18,i=g>e?Math.max(12,S.anchorX-d-18):g,j=h>f?Math.max(12,S.anchorY-280-18):h;return{left:`${Math.min(Math.max(i,12),e)}px`,top:`${Math.min(Math.max(j,12),f)}px`,width:`${d}px`,maxHeight:`${c}px`}},[W.renderedHeight,W.renderedWidth,S]);(0,c.useEffect)(()=>{if(!S)return;let a=a=>{"Escape"===a.key&&T(null)};return window.addEventListener("keydown",a),()=>{window.removeEventListener("keydown",a)}},[S]);let ay=(0,c.useCallback)(a=>{if(!$.current)return null;let b=$.current.getBoundingClientRect();if(!b.width||!b.height||!$.current.naturalWidth||!$.current.naturalHeight)return null;let c=a.clientX-b.left,d=a.clientY-b.top;return{anchorX:c,anchorY:d,x:c/b.width*$.current.naturalWidth,y:d/b.height*$.current.naturalHeight}},[]),az=(0,c.useCallback)(a=>{u(a),L(null),N(a.successMessage)},[u]),aA=(0,c.useCallback)(async(a,b,c,d)=>{av(c,d,!0);try{let e=await ae({command:"selectAtPoint",x:a,y:b});return av(c,d,!1),e}catch(a){throw T(null),a}},[av,ae]),aB=(0,c.useCallback)(async(a,b)=>{let c=Math.max(W.renderedWidth-44,12);av(c,12,!0);try{let d=await ae({command:"selectBySelector",selector:a,frameId:b});return av(c,12,!1),d}catch(a){throw T(null),a}},[W.renderedWidth,av,ae]),aC=(0,c.useCallback)(async a=>{if(C)return;let b=ay(a);if(b){if(T(null),L(null),N(null),"navigate"===Q){_.current?.focus({preventScroll:!0});try{await ae({command:"clickAtPoint",x:b.x,y:b.y})}catch(a){J(a instanceof Error?a.message:"Failed to interact with preview")}return}if(as)try{await aA(b.x,b.y,b.anchorX,b.anchorY)}catch(a){J(a instanceof Error?a.message:"Failed to select element")}}},[C,as,Q,ay,ae,aA]),aD=(0,c.useCallback)(async a=>{if(C||"inspect"!==Q||!as)return;let b=ay(a);if(b){L(null),N(null);try{let a=await aA(b.x,b.y,b.anchorX,b.anchorY);if(!a.selectedElement)throw Error("No element found at the selected point");az(aq(a.selectedElement,a.currentUrl))}catch(a){J(a instanceof Error?a.message:"Failed to queue selected element")}}},[C,as,Q,az,ay,aA]),aE=(0,c.useCallback)(a=>{if("navigate"!==Q||!w?.connected||a.metaKey||a.ctrlKey||a.altKey)return;let b=ak.get(a.key);if(b){a.preventDefault(),af({command:"pressKey",key:b},"Failed to send key to preview");return}1===a.key.length&&(a.preventDefault(),af({command:"typeText",text:a.key},"Failed to type into preview"))},[Q,af,w?.connected]),aF=(0,c.useCallback)(a=>{if("navigate"!==Q||!w?.connected)return;let b=a.clipboardData.getData("text");b&&(a.preventDefault(),af({command:"typeText",text:b},"Failed to paste into preview"))},[Q,af,w?.connected]),aG=(0,c.useCallback)(a=>{if(!w)return void L("Preview state is not loaded yet.");let b=w.consoleLogs.slice(-80),c=w.networkLogs.slice(-80);if("selection"===a&&!w.selectedElement)return void L("Select an element before queueing preview context for terminal input.");if("console"===a&&!b.length)return void L("There are no console logs to send yet.");if("network"===a&&!c.length)return void L("There are no network logs to send yet.");P(a),L(null),N(null);try{let d="selection"===a&&w.selectedElement?aq(w.selectedElement,w.currentUrl):"console"===a?ar("console",b,w.currentUrl,w.selectedElement):ar("network",c,w.currentUrl,w.selectedElement);az(d),"selection"===a&&T(null)}catch(a){L(a instanceof Error?a.message:"Failed to queue preview context")}finally{P(null)}},[az,w]),aH=(0,c.useCallback)(async()=>{let a=w?.selectedElement?.selector;if(a)try{await navigator.clipboard.writeText(a),N("Selector copied to clipboard."),L(null)}catch{L("Clipboard access is unavailable.")}},[w?.selectedElement?.selector]);return(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-2 overflow-auto",children:[(0,b.jsxs)(t.Card,{children:[(0,b.jsxs)(t.CardHeader,{className:"flex flex-col items-start gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(j.Globe,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Dev preview browser"}),w?.connected?(0,b.jsx)(r.Badge,{variant:"success",children:"connected"}):(0,b.jsx)(r.Badge,{variant:"outline",children:"idle"}),an?(0,b.jsx)(r.Badge,{variant:"outline",children:an.isMain?"main frame":"nested frame"}):null]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void ad().catch(a=>{J(a instanceof Error?a.message:"Failed to refresh preview")}),disabled:E||C,children:[(0,b.jsx)(m.RefreshCw,{className:(0,ah.cn)("h-3.5 w-3.5",C&&"animate-spin")}),"Refresh"]}),(0,b.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void ae({command:"reload"}).catch(a=>{J(a instanceof Error?a.message:"Failed to reload preview")}),disabled:!w?.connected||C,children:[(0,b.jsx)(p,{className:"h-3.5 w-3.5"}),"Reload page"]})]})]}),(0,b.jsxs)(t.CardContent,{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,b.jsx)("input",{value:U,onChange:a=>V(a.target.value),placeholder:w?.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,b.jsxs)(s.Button,{type:"button",variant:"primary",onClick:()=>void au(),disabled:C||!U.trim(),children:[C?(0,b.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(l,{className:"h-4 w-4"}),"Connect"]})]}),w?.candidateUrls.length?(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:w.candidateUrls.map(a=>(0,b.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-1 text-left text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",onClick:()=>{V(a),ae({command:"connect",url:a}).catch(a=>{J(a instanceof Error?a.message:"Failed to connect preview")})},children:[(0,b.jsx)(j.Globe,{className:"h-3 w-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a})]},a))}):null,I||w?.lastError?(0,b.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,b.jsx)(e,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:I??w?.lastError})]}):null]})]}),(0,b.jsxs)(t.Card,{className:"min-h-0 shrink-0 overflow-hidden",children:[(0,b.jsxs)(t.CardHeader,{className:"flex flex-col items-start gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Eye,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Preview"})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-1",children:[(0,b.jsxs)(s.Button,{type:"button",size:"sm",variant:"navigate"===Q?"primary":"ghost",onClick:()=>aw("navigate"),children:[(0,b.jsx)(l,{className:"h-3.5 w-3.5"}),"Navigate"]}),(0,b.jsxs)(s.Button,{type:"button",size:"sm",variant:"inspect"===Q?"primary":"ghost",onClick:()=>aw("inspect"),children:[(0,b.jsx)(h.Eye,{className:"h-3.5 w-3.5"}),"Inspect"]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-[var(--vk-text-muted)]",children:[(0,b.jsx)(r.Badge,{variant:"outline",children:w?.title?am(w.title,40):"Untitled page"}),(0,b.jsx)(r.Badge,{variant:"outline",children:"navigate"===Q?"navigate mode: clicks interact with the page":as?"inspect mode: click once to select, double-click to queue for terminal input":"inspect mode: use DOM list for this frame"})]})]})]}),(0,b.jsx)(t.CardContent,{className:"min-h-0",children:(0,b.jsx)("div",{className:"flex h-[56vh] min-h-[200px] max-h-[620px] items-center justify-center overflow-auto rounded-[6px] border border-[var(--vk-border)] bg-[#111] p-2 sm:h-[72vh] sm:min-h-[360px] sm:max-h-[760px] sm:p-3",children:E?(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,b.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}),"Loading preview…"]}):aj?(0,b.jsxs)("div",{ref:_,tabIndex:w?.connected?0:-1,onKeyDown:aE,onPaste:aF,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,b.jsx)("img",{ref:$,src:aj,alt:"Session preview",className:(0,ah.cn)("max-h-full max-w-full rounded-[4px] object-contain shadow-[0_18px_36px_rgba(0,0,0,0.28)]","navigate"===Q?"cursor-pointer":as?"cursor-crosshair":"cursor-default"),onClick:a=>void aC(a),onDoubleClick:a=>void aD(a),onLoad:a=>{let b=a.currentTarget;X({naturalWidth:b.naturalWidth,naturalHeight:b.naturalHeight,renderedWidth:b.clientWidth,renderedHeight:b.clientHeight})}}),"inspect"===Q&&at?(0,b.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:at}):null,"inspect"===Q&&S&&ax?(0,b.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:ax,children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:"Terminal input"}),(0,b.jsx)("div",{className:"mt-1 text-[13px] font-medium text-[var(--vk-text-normal)]",children:S.pending?"Selecting element…":"Queue selection for the terminal"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>void aH(),disabled:S.pending||!w?.selectedElement,children:(0,b.jsx)(g.Copy,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>T(null),children:(0,b.jsx)(q.X,{className:"h-3.5 w-3.5"})})]})]}),(0,b.jsx)("div",{className:"flex-1 space-y-3 overflow-y-auto px-3 py-3",children:S.pending?(0,b.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,b.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}),"Capturing the selected element from the preview…"]}):w?.selectedElement?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:w.selectedElement.tag}),w.selectedElement.role?(0,b.jsx)(r.Badge,{variant:"outline",children:w.selectedElement.role}):null]}),(0,b.jsx)("div",{className:"mt-2 text-[12px] text-[var(--vk-text-normal)]",children:am(w.selectedElement.name||w.selectedElement.text||"Selected element",140)}),(0,b.jsx)("div",{className:"mt-2 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:w.selectedElement.selector})]}),(0,b.jsx)("div",{className:"rounded-[6px] border border-dashed border-[var(--vk-border)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"Double-click the element in the preview to queue it immediately, or use the button below. The text is inserted into terminal input instead of being sent to the agent, so you can add more context before submitting."}),K?(0,b.jsx)("div",{className:"text-[12px] text-[var(--vk-red)]",children:K}):null,(0,b.jsxs)(s.Button,{type:"button",variant:"primary",className:"w-full",onClick:()=>void aG("selection"),disabled:ap||!w.selectedElement,children:["selection"===O?(0,b.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(n.Send,{className:"h-4 w-4"}),"Queue for terminal input"]})]}):(0,b.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,b.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."})})})]}),M?(0,b.jsx)("div",{className:"rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-green)_35%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-green)_10%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-green)]",children:M}):null,!S&&K?(0,b.jsx)("div",{className:"rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-red)_35%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_10%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:K}):null,(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsxs)(t.Card,{className:"min-h-0",children:[(0,b.jsxs)(t.CardHeader,{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(f,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Frames and DOM"}),(0,b.jsx)(r.Badge,{variant:"outline",children:"inspect"===Q?"inspect":"read-only in navigate mode"})]}),(0,b.jsx)(s.Button,{type:"button",variant:G?"primary":"outline",size:"sm",onClick:()=>H(a=>!a),children:G?"Interactive only":"All nodes"})]}),(0,b.jsxs)(t.CardContent,{className:"grid gap-2 xl:grid-cols-[220px_minmax(0,1fr)]",children:[(0,b.jsx)("div",{className:"space-y-2",children:w?.frames.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{ae({command:"selectFrame",frameId:a.id}).catch(a=>{J(a instanceof Error?a.message:"Failed to select frame")})},className:(0,ah.cn)("flex w-full flex-col items-start gap-1 rounded-[4px] border px-2 py-2 text-left transition-colors",w.activeFrameId===a.id?"border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(r.Badge,{variant:"outline",children:a.isMain?"main":"frame"}),(0,b.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:a.name})]}),(0,b.jsx)("span",{className:"w-full truncate text-[11px] text-[var(--vk-text-muted)]",children:a.url||"about:blank"})]},a.id))}),(0,b.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,b.jsx)(ai,{className:"h-[200px] sm:h-[300px] xl:h-[360px]",children:(0,b.jsxs)("div",{className:"space-y-1 p-2",children:["navigate"===Q?(0,b.jsx)("div",{className:"rounded-[4px] border border-dashed border-[var(--vk-border)] px-2 py-2 text-[11px] text-[var(--vk-text-muted)]",children:"Switch to Inspect mode to pick DOM nodes. Single-click selects a node. Double-click queues it for terminal input."}):null,A?(0,b.jsxs)("div",{className:"flex items-center gap-2 px-2 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,b.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}),"Inspecting frame DOM…"]}):y.length?y.map((a,c)=>(0,b.jsxs)("button",{type:"button",className:(0,ah.cn)("w-full rounded-[4px] border border-[transparent] px-2 py-2 text-left","inspect"===Q?"hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]":"cursor-not-allowed opacity-60"),disabled:"inspect"!==Q,onClick:()=>{T(null),L(null),N(null),aB(a.selector,w?.activeFrameId).catch(a=>{J(a instanceof Error?a.message:"Failed to select DOM node")})},onDoubleClick:()=>{L(null),N(null),aB(a.selector,w?.activeFrameId).then(a=>{if(!a.selectedElement)throw Error("Failed to resolve the selected DOM node");az(aq(a.selectedElement,a.currentUrl))}).catch(a=>{J(a instanceof Error?a.message:"Failed to queue DOM node")})},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:a.tag}),a.interactive?(0,b.jsx)(r.Badge,{variant:"warning",children:"interactive"}):null,a.role?(0,b.jsx)(r.Badge,{variant:"outline",children:a.role}):null]}),(0,b.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:a.selector}),a.text?(0,b.jsx)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-normal)]",children:am(a.text,180)}):null]},`${a.id??"node"}-${c}-${a.selector}-${a.tag}-${a.text}`)):(0,b.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,b.jsxs)("div",{className:"grid gap-2 lg:grid-cols-2",children:[(0,b.jsxs)(t.Card,{className:"min-h-0",children:[(0,b.jsxs)(t.CardHeader,{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(o.default,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Console"}),(0,b.jsx)(r.Badge,{variant:"outline",children:w?.consoleLogs.length??0})]}),(0,b.jsxs)(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>void aG("console"),disabled:ap||!w?.consoleLogs.length,children:["console"===O?(0,b.jsx)(k.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(n.Send,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,b.jsx)(t.CardContent,{children:(0,b.jsx)(ai,{className:"h-[180px] sm:h-[260px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,b.jsx)("div",{className:"space-y-1 p-2",children:w?.consoleLogs.length?w.consoleLogs.map(a=>(0,b.jsxs)("div",{className:"rounded-[3px] px-2 py-1.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,b.jsx)("span",{children:a.level}),(0,b.jsx)("span",{children:al(a.timestamp)})]}),(0,b.jsx)("div",{className:"mt-1 whitespace-pre-wrap break-all font-mono",children:a.message})]},a.id)):(0,b.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Console output appears here once the page loads."})})})})]}),(0,b.jsxs)(t.Card,{className:"min-h-0",children:[(0,b.jsxs)(t.CardHeader,{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(i,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Network"}),(0,b.jsx)(r.Badge,{variant:"outline",children:w?.networkLogs.length??0})]}),(0,b.jsxs)(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>void aG("network"),disabled:ap||!w?.networkLogs.length,children:["network"===O?(0,b.jsx)(k.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(n.Send,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,b.jsx)(t.CardContent,{children:(0,b.jsx)(ai,{className:"h-[180px] sm:h-[260px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,b.jsx)("div",{className:"space-y-1 p-2",children:w?.networkLogs.length?w.networkLogs.map(a=>(0,b.jsxs)("div",{className:"rounded-[3px] px-2 py-1.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,b.jsx)("span",{children:a.method??"GET"}),"number"==typeof a.status?(0,b.jsx)("span",{children:a.status}):null,a.resourceType?(0,b.jsx)("span",{children:a.resourceType}):null,(0,b.jsx)("span",{children:al(a.timestamp)})]}),(0,b.jsx)("div",{className:"mt-1 break-all font-mono",children:a.url??a.message})]},a.id)):(0,b.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Network requests appear here after the preview loads."})})})})]})]})]})]})}a.s(["SessionPreview",()=>as],48031)},64600,a=>{a.n(a.i(48031))}];
1
+ module.exports=[48031,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(70106);let e=(0,d.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"}]]),f=(0,d.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 g=a.i(5151),h=a.i(77156);let i=(0,d.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 j=a.i(44494),k=a.i(96221);let l=(0,d.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=a.i(69520),n=a.i(92759),o=a.i(48677),o=o;let p=(0,d.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 q=a.i(33508),r=a.i(50415),s=a.i(71541),t=a.i(48079),u=a.i(30553),v=a.i(77192),w=a.i(50104),x=a.i(70121),y=a.i(46872),z=a.i(7827),A=a.i(72752),B=a.i(7554),C="ScrollArea",[D,E]=(0,w.createContextScope)(C),[F,G]=D(C),H=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,type:f="hover",dir:g,scrollHideDelay:h=600,...i}=a,[j,k]=c.useState(null),[l,m]=c.useState(null),[n,o]=c.useState(null),[p,q]=c.useState(null),[r,s]=c.useState(null),[t,v]=c.useState(0),[w,y]=c.useState(0),[A,B]=c.useState(!1),[C,D]=c.useState(!1),E=(0,x.useComposedRefs)(d,a=>k(a)),G=(0,z.useDirection)(g);return(0,b.jsx)(F,{scope:e,type:f,dir:G,scrollHideDelay:h,scrollArea:j,viewport:l,onViewportChange:m,content:n,onContentChange:o,scrollbarX:p,onScrollbarXChange:q,scrollbarXEnabled:A,onScrollbarXEnabledChange:B,scrollbarY:r,onScrollbarYChange:s,scrollbarYEnabled:C,onScrollbarYEnabledChange:D,onCornerWidthChange:v,onCornerHeightChange:y,children:(0,b.jsx)(u.Primitive.div,{dir:G,...i,ref:E,style:{position:"relative","--radix-scroll-area-corner-width":t+"px","--radix-scroll-area-corner-height":w+"px",...a.style}})})});H.displayName=C;var I="ScrollAreaViewport",J=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,children:f,nonce:g,...h}=a,i=G(I,e),j=c.useRef(null),k=(0,x.useComposedRefs)(d,j,i.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(u.Primitive.div,{"data-radix-scroll-area-viewport":"",...h,ref:k,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:f})})]})});J.displayName=I;var K="ScrollAreaScrollbar",L=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=G(K,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(M,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(N,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(O,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(P,{...f,ref:d}):null});L.displayName=K;var M=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=G(K,a.__scopeScrollArea),[h,i]=c.useState(!1);return c.useEffect(()=>{let a=g.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),g.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[g.scrollArea,g.scrollHideDelay]),(0,b.jsx)(v.Presence,{present:e||h,children:(0,b.jsx)(O,{"data-state":h?"visible":"hidden",...f,ref:d})})}),N=c.forwardRef((a,d)=>{var e;let{forceMount:f,...g}=a,h=G(K,a.__scopeScrollArea),i="horizontal"===a.orientation,j=af(()=>l("SCROLL_END"),100),[k,l]=(e={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},c.useReducer((a,b)=>e[a][b]??a,"hidden"));return c.useEffect(()=>{if("idle"===k){let a=window.setTimeout(()=>l("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[k,h.scrollHideDelay,l]),c.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(l("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,l,j]),(0,b.jsx)(v.Presence,{present:f||"hidden"!==k,children:(0,b.jsx)(P,{"data-state":"hidden"===k?"hidden":"visible",...g,ref:d,onPointerEnter:(0,B.composeEventHandlers)(a.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:(0,B.composeEventHandlers)(a.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),O=c.forwardRef((a,d)=>{let e=G(K,a.__scopeScrollArea),{forceMount:f,...g}=a,[h,i]=c.useState(!1),j="horizontal"===a.orientation,k=af(()=>{if(e.viewport){let a=e.viewport.offsetWidth<e.viewport.scrollWidth,b=e.viewport.offsetHeight<e.viewport.scrollHeight;i(j?a:b)}},10);return ag(e.viewport,k),ag(e.content,k),(0,b.jsx)(v.Presence,{present:f||h,children:(0,b.jsx)(P,{"data-state":h?"visible":"hidden",...g,ref:d})})}),P=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=G(K,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=aa(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=ab(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return ad([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(Q,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=ac(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(R,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=ac(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),Q=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=G(K,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,x.useComposedRefs)(d,k,h.onScrollbarXChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(U,{"data-orientation":"horizontal",...g,ref:l,sizes:e,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ab(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:_(i.paddingLeft),paddingEnd:_(i.paddingRight)}})}})}),R=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=G(K,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,x.useComposedRefs)(d,k,h.onScrollbarYChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(U,{"data-orientation":"vertical",...g,ref:l,sizes:e,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ab(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:_(i.paddingTop),paddingEnd:_(i.paddingBottom)}})}})}),[S,T]=D(K),U=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,sizes:f,hasThumb:g,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:j,onThumbPositionChange:k,onDragScroll:l,onWheelScroll:m,onResize:n,...o}=a,p=G(K,e),[q,r]=c.useState(null),s=(0,x.useComposedRefs)(d,a=>r(a)),t=c.useRef(null),v=c.useRef(""),w=p.viewport,z=f.content-f.viewport,A=(0,y.useCallbackRef)(m),C=(0,y.useCallbackRef)(k),D=af(n,10);function E(a){t.current&&l({x:a.clientX-t.current.left,y:a.clientY-t.current.top})}return c.useEffect(()=>{let a=a=>{let b=a.target;q?.contains(b)&&A(a,z)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[w,q,z,A]),c.useEffect(C,[f,C]),ag(q,D),ag(p.content,D),(0,b.jsx)(S,{scope:e,scrollbar:q,hasThumb:g,onThumbChange:(0,y.useCallbackRef)(h),onThumbPointerUp:(0,y.useCallbackRef)(i),onThumbPositionChange:C,onThumbPointerDown:(0,y.useCallbackRef)(j),children:(0,b.jsx)(u.Primitive.div,{...o,ref:s,style:{position:"absolute",...o.style},onPointerDown:(0,B.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),t.current=q.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),E(a))}),onPointerMove:(0,B.composeEventHandlers)(a.onPointerMove,E),onPointerUp:(0,B.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=""),t.current=null})})})}),V="ScrollAreaThumb",W=c.forwardRef((a,c)=>{let{forceMount:d,...e}=a,f=T(V,a.__scopeScrollArea);return(0,b.jsx)(v.Presence,{present:d||f.hasThumb,children:(0,b.jsx)(X,{ref:c,...e})})}),X=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,style:f,...g}=a,h=G(V,e),i=T(V,e),{onThumbPositionChange:j}=i,k=(0,x.useComposedRefs)(d,a=>i.onThumbChange(a)),l=c.useRef(void 0),m=af(()=>{l.current&&(l.current(),l.current=void 0)},100);return c.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{m(),l.current||(l.current=ae(a,j),j())};return j(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,m,j]),(0,b.jsx)(u.Primitive.div,{"data-state":i.hasThumb?"visible":"hidden",...g,ref:k,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...f},onPointerDownCapture:(0,B.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,B.composeEventHandlers)(a.onPointerUp,i.onThumbPointerUp)})});W.displayName=V;var Y="ScrollAreaCorner",Z=c.forwardRef((a,c)=>{let d=G(Y,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)($,{...a,ref:c}):null});Z.displayName=Y;var $=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,...f}=a,g=G(Y,e),[h,i]=c.useState(0),[j,k]=c.useState(0),l=!!(h&&j);return ag(g.scrollbarX,()=>{let a=g.scrollbarX?.offsetHeight||0;g.onCornerHeightChange(a),k(a)}),ag(g.scrollbarY,()=>{let a=g.scrollbarY?.offsetWidth||0;g.onCornerWidthChange(a),i(a)}),l?(0,b.jsx)(u.Primitive.div,{...f,ref:d,style:{width:h,height:j,position:"absolute",right:"ltr"===g.dir?0:void 0,left:"rtl"===g.dir?0:void 0,bottom:0,...a.style}}):null});function _(a){return a?parseInt(a,10):0}function aa(a,b){let c=a/b;return isNaN(c)?0:c}function ab(a){let b=aa(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function ac(a,b,c="ltr"){let d=ab(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=function(a,[b,c]){return Math.min(c,Math.max(b,a))}(a,"ltr"===c?[0,g]:[-1*g,0]);return ad([0,g],[0,f-d])(h)}function ad(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var ae=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function af(a,b){let d=(0,y.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function ag(a,b){let c=(0,y.useCallbackRef)(b);(0,A.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}var ah=a.i(26006);let ai=(0,c.forwardRef)(({className:a,children:c,...d},e)=>(0,b.jsxs)(H,{ref:e,className:(0,ah.cn)("relative overflow-hidden",a),...d,children:[(0,b.jsx)(J,{className:"h-full w-full rounded-[inherit]",children:c}),(0,b.jsx)(aj,{}),(0,b.jsx)(Z,{})]}));ai.displayName="ScrollArea";let aj=(0,c.forwardRef)(({className:a,orientation:c="vertical",...d},e)=>(0,b.jsx)(L,{ref:e,orientation:c,className:(0,ah.cn)("flex touch-none select-none","vertical"===c&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent p-px",a),...d,children:(0,b.jsx)(W,{className:"relative flex-1 rounded-full bg-[color:color-mix(in_srgb,var(--border-strong)_75%,transparent)] hover:bg-[var(--border-strong)]"})}));aj.displayName="ScrollBar";let ak=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 al(a){let b=Date.parse(a);return Number.isNaN(b)?a:new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit",second:"2-digit",timeZone:"UTC"}).format(new Date(b))}function am(a,b=120){return a.length<=b?a:`${a.slice(0,b-1)}…`}function an(a,b=180){let c=am((a??"").replace(/\s+/g," ").trim(),b);return c?`"${c.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:null}function ao(a){return a.map(a=>a?.trim()).filter(a=>!!a).join("; ")}function ap(a,b){return[`[${a}]`,...b.map(a=>a?.trim()).filter(a=>!!a)].join("\n")}function aq(a,b){return{inlineText:ao(["[Browser selection]",`selector=${an(a.selector,220)}`,`tag=${a.tag}`,a.role?`role=${a.role}`:null,a.name?`name=${an(a.name,140)}`:null,a.text?`text=${an(a.text,180)}`:null,a.frameName?`frame=${an(a.frameName,120)}`:null,b?`page=${an(b,220)}`:null]),draftText:ap("Browser selection",[b?`Page: ${b}`:null,`Frame: ${a.frameName} (${a.frameUrl})`,`Selector: ${a.selector}`,`Tag: ${a.tag}`,a.role?`Role: ${a.role}`:null,a.name?`Name: ${a.name}`:null,a.text?`Text: ${a.text}`:null,a.htmlPreview?`HTML preview: ${a.htmlPreview}`:null]),successMessage:"Queued the selected element for terminal input."}}function ar(a,b,c,d){let e=b.slice("console"===a?-8:-10),f=e.map(b=>{let c=[b.level,an(b.message,120)];return"network"===a&&(c.unshift(b.method??"GET"),c.push("number"==typeof b.status?String(b.status):null),c.push(b.url?an(b.url,120):null)),c.filter(Boolean).join(" ")});return{inlineText:ao(["console"===a?"[Browser console]":"[Browser network]",c?`page=${an(c,220)}`:null,d?`selected=${an(d.selector,180)}`:null,`entries=${an(f.join(" | "),520)}`]),draftText:ap("console"===a?"Browser console logs":"Browser network logs",[c?`Page: ${c}`:null,d?`Selected element: ${d.selector}`:null,...e.map(b=>"console"===a?`- ${al(b.timestamp)} ${b.level}: ${b.message}`:`- ${al(b.timestamp)} ${b.method??"GET"} ${b.status??"-"} ${b.url??b.message}`)]),successMessage:"console"===a?"Queued recent console logs for terminal input.":"Queued recent network logs for terminal input."}}function as({sessionId:a,active:d,onQueueTerminalInsert:u,onConnectionChange:v}){let[w,x]=(0,c.useState)(null),[y,z]=(0,c.useState)([]),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)(!0),[G,H]=(0,c.useState)(!0),[I,J]=(0,c.useState)(null),[K,L]=(0,c.useState)(null),[M,N]=(0,c.useState)(null),[O,P]=(0,c.useState)(null),[Q,R]=(0,c.useState)("navigate"),[S,T]=(0,c.useState)(null),[U,V]=(0,c.useState)(""),[W,X]=(0,c.useState)({naturalWidth:0,naturalHeight:0,renderedWidth:0,renderedHeight:0}),Y=(0,c.useRef)(null),Z=(0,c.useRef)(Promise.resolve()),$=(0,c.useRef)(null),_=(0,c.useRef)(null),[aa,ab]=(0,c.useState)(!0),ac=d&&aa;(0,c.useEffect)(()=>{let a=()=>{ab(!document.hidden)};return document.addEventListener("visibilitychange",a),()=>{document.removeEventListener("visibilitychange",a)}},[]);let ad=(0,c.useCallback)(async()=>{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/preview`,{cache:"no-store"}),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c&&"error"in c?c.error??"Failed to load preview state":`Failed to load preview state: ${b.status}`);x(c),J(null),V(a=>a.trim().length>0&&a!==w?.currentUrl?a:c.currentUrl??c.candidateUrls[0]??a)},[a,w?.currentUrl]),ae=(0,c.useCallback)(async b=>{D(!0),J(null);try{let c=await fetch(`/api/sessions/${encodeURIComponent(a)}/preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json().catch(()=>null);if(!c.ok)throw d&&"object"==typeof d&&"status"in d&&d.status&&x(d.status),Error(d&&"error"in d?d.error??"Preview command failed":`Preview command failed: ${c.status}`);return x(d),d}finally{D(!1)}},[a]),af=(0,c.useCallback)((a,b)=>{Z.current=Z.current.catch(()=>void 0).then(async()=>{try{await ae(a)}catch(a){J(a instanceof Error?a.message:b)}})},[ae]),ag=(0,c.useCallback)(async b=>{if(!w?.connected)return void z([]);B(!0);try{let c=new URLSearchParams;b&&c.set("frameId",b),G&&c.set("interactiveOnly","1");let d=await fetch(`/api/sessions/${encodeURIComponent(a)}/preview/dom?${c.toString()}`,{cache:"no-store"}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e&&"error"in e?e.error??"Failed to inspect DOM":`Failed to inspect DOM: ${d.status}`);z(e.nodes)}catch(a){J(a instanceof Error?a.message:"Failed to inspect DOM"),z([])}finally{B(!1)}},[G,a,w?.connected]);(0,c.useEffect)(()=>{if(!ac)return;let a=!0;(async()=>{try{await ad()}catch(b){a&&J(b instanceof Error?b.message:"Failed to load preview")}finally{a&&F(!1)}})();let b=window.setInterval(()=>{ad().catch(b=>{a&&J(b instanceof Error?b.message:"Failed to refresh preview")})},4e3);return()=>{a=!1,window.clearInterval(b)}},[ad,ac]),(0,c.useEffect)(()=>{ac&&w?.connected?ag(w.activeFrameId):z([])},[G,ag,ac,w?.activeFrameId,w?.connected,w?.screenshotKey]),(0,c.useEffect)(()=>{if(!ac)return;if(w?.connected){Y.current=null;return}T(null);let a=w?.candidateUrls[0];if(!a)return;let b=Y.current?.attemptedAt??NaN,c=Y.current?.candidate??null,d=Date.now();c===a&&Number.isFinite(b)&&d-b<5e3||(Y.current={candidate:a,attemptedAt:d},ae({command:"connect",url:a}).catch(a=>{J(a instanceof Error?a.message:"Failed to connect preview")}))},[ae,ac,w?.candidateUrls,w?.connected]),(0,c.useEffect)(()=>{v?.(!!(ac&&w?.connected&&w?.screenshotKey))},[v,ac,w?.connected,w?.screenshotKey]);let aj=(0,c.useMemo)(()=>w?.connected?`/api/sessions/${encodeURIComponent(a)}/preview/screenshot?ts=${encodeURIComponent(w.screenshotKey)}`:null,[a,w?.connected,w?.screenshotKey]),an=(0,c.useMemo)(()=>w?.frames.find(a=>a.id===w.activeFrameId)??null,[w?.activeFrameId,w?.frames]),ao=(0,c.useMemo)(()=>w?.frames.find(a=>a.isMain)??null,[w?.frames]),ap=null!==O,as=!!an?.isMain,at=(0,c.useMemo)(()=>{let a=w?.selectedElement?.bounds;if(!w?.selectedElement||!a||!ao||w.selectedElement.frameId!==ao.id||!W.naturalWidth||!W.naturalHeight||!W.renderedWidth||!W.renderedHeight)return null;let b=W.renderedWidth/W.naturalWidth,c=W.renderedHeight/W.naturalHeight;return{left:`${a.x*b}px`,top:`${a.y*c}px`,width:`${Math.max(a.width*b,2)}px`,height:`${Math.max(a.height*c,2)}px`}},[W,ao,w?.selectedElement]),au=(0,c.useCallback)(async()=>{let a=U.trim();if(a)try{await ae({command:"connect",url:a})}catch(a){J(a instanceof Error?a.message:"Failed to connect preview")}},[ae,U]),av=(0,c.useCallback)((a,b,c=!1)=>{T({anchorX:a,anchorY:b,pending:c}),L(null),N(null)},[]),aw=(0,c.useCallback)(a=>{R(a),T(null),L(null),N(null)},[]),ax=(0,c.useMemo)(()=>{if(!S)return null;let a=W.renderedWidth||340,b=W.renderedHeight||280,c=Math.max(220,b-24);if(a<=520)return{left:"12px",top:`${Math.max(12,b-Math.min(280,c)-12)}px`,width:`${Math.max(a-24,220)}px`,maxHeight:`${c}px`};let d=Math.min(340,Math.max(a-24,240)),e=Math.max(12,a-d-12),f=Math.max(12,b-280-12),g=S.anchorX+18,h=S.anchorY+18,i=g>e?Math.max(12,S.anchorX-d-18):g,j=h>f?Math.max(12,S.anchorY-280-18):h;return{left:`${Math.min(Math.max(i,12),e)}px`,top:`${Math.min(Math.max(j,12),f)}px`,width:`${d}px`,maxHeight:`${c}px`}},[W.renderedHeight,W.renderedWidth,S]);(0,c.useEffect)(()=>{if(!S)return;let a=a=>{"Escape"===a.key&&T(null)};return window.addEventListener("keydown",a),()=>{window.removeEventListener("keydown",a)}},[S]);let ay=(0,c.useCallback)(a=>{if(!$.current)return null;let b=$.current.getBoundingClientRect();if(!b.width||!b.height||!$.current.naturalWidth||!$.current.naturalHeight)return null;let c=a.clientX-b.left,d=a.clientY-b.top;return{anchorX:c,anchorY:d,x:c/b.width*$.current.naturalWidth,y:d/b.height*$.current.naturalHeight}},[]),az=(0,c.useCallback)(a=>{u(a),L(null),N(a.successMessage)},[u]),aA=(0,c.useCallback)(async(a,b,c,d)=>{av(c,d,!0);try{let e=await ae({command:"selectAtPoint",x:a,y:b});return av(c,d,!1),e}catch(a){throw T(null),a}},[av,ae]),aB=(0,c.useCallback)(async(a,b)=>{let c=Math.max(W.renderedWidth-44,12);av(c,12,!0);try{let d=await ae({command:"selectBySelector",selector:a,frameId:b});return av(c,12,!1),d}catch(a){throw T(null),a}},[W.renderedWidth,av,ae]),aC=(0,c.useCallback)(async a=>{if(C)return;let b=ay(a);if(b){if(T(null),L(null),N(null),"navigate"===Q){_.current?.focus({preventScroll:!0});try{await ae({command:"clickAtPoint",x:b.x,y:b.y})}catch(a){J(a instanceof Error?a.message:"Failed to interact with preview")}return}if(as)try{await aA(b.x,b.y,b.anchorX,b.anchorY)}catch(a){J(a instanceof Error?a.message:"Failed to select element")}}},[C,as,Q,ay,ae,aA]),aD=(0,c.useCallback)(async a=>{if(C||"inspect"!==Q||!as)return;let b=ay(a);if(b){L(null),N(null);try{let a=await aA(b.x,b.y,b.anchorX,b.anchorY);if(!a.selectedElement)throw Error("No element found at the selected point");az(aq(a.selectedElement,a.currentUrl))}catch(a){J(a instanceof Error?a.message:"Failed to queue selected element")}}},[C,as,Q,az,ay,aA]),aE=(0,c.useCallback)(a=>{if("navigate"!==Q||!w?.connected||a.metaKey||a.ctrlKey||a.altKey)return;let b=ak.get(a.key);if(b){a.preventDefault(),af({command:"pressKey",key:b},"Failed to send key to preview");return}1===a.key.length&&(a.preventDefault(),af({command:"typeText",text:a.key},"Failed to type into preview"))},[Q,af,w?.connected]),aF=(0,c.useCallback)(a=>{if("navigate"!==Q||!w?.connected)return;let b=a.clipboardData.getData("text");b&&(a.preventDefault(),af({command:"typeText",text:b},"Failed to paste into preview"))},[Q,af,w?.connected]),aG=(0,c.useCallback)(a=>{if(!w)return void L("Preview state is not loaded yet.");let b=w.consoleLogs.slice(-80),c=w.networkLogs.slice(-80);if("selection"===a&&!w.selectedElement)return void L("Select an element before queueing preview context for terminal input.");if("console"===a&&!b.length)return void L("There are no console logs to send yet.");if("network"===a&&!c.length)return void L("There are no network logs to send yet.");P(a),L(null),N(null);try{let d="selection"===a&&w.selectedElement?aq(w.selectedElement,w.currentUrl):"console"===a?ar("console",b,w.currentUrl,w.selectedElement):ar("network",c,w.currentUrl,w.selectedElement);az(d),"selection"===a&&T(null)}catch(a){L(a instanceof Error?a.message:"Failed to queue preview context")}finally{P(null)}},[az,w]),aH=(0,c.useCallback)(async()=>{let a=w?.selectedElement?.selector;if(a)try{await navigator.clipboard.writeText(a),N("Selector copied to clipboard."),L(null)}catch{L("Clipboard access is unavailable.")}},[w?.selectedElement?.selector]);return(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-2 overflow-auto",children:[(0,b.jsxs)(t.Card,{children:[(0,b.jsxs)(t.CardHeader,{className:"flex flex-col items-start gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(j.Globe,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Dev preview browser"}),w?.connected?(0,b.jsx)(r.Badge,{variant:"success",children:"connected"}):(0,b.jsx)(r.Badge,{variant:"outline",children:"idle"}),an?(0,b.jsx)(r.Badge,{variant:"outline",children:an.isMain?"main frame":"nested frame"}):null]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void ad().catch(a=>{J(a instanceof Error?a.message:"Failed to refresh preview")}),disabled:E||C,children:[(0,b.jsx)(m.RefreshCw,{className:(0,ah.cn)("h-3.5 w-3.5",C&&"animate-spin")}),"Refresh"]}),(0,b.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void ae({command:"reload"}).catch(a=>{J(a instanceof Error?a.message:"Failed to reload preview")}),disabled:!w?.connected||C,children:[(0,b.jsx)(p,{className:"h-3.5 w-3.5"}),"Reload page"]})]})]}),(0,b.jsxs)(t.CardContent,{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,b.jsx)("input",{value:U,onChange:a=>V(a.target.value),placeholder:w?.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,b.jsxs)(s.Button,{type:"button",variant:"primary",onClick:()=>void au(),disabled:C||!U.trim(),children:[C?(0,b.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(l,{className:"h-4 w-4"}),"Connect"]})]}),w?.candidateUrls.length?(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:w.candidateUrls.map(a=>(0,b.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-1 text-left text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",onClick:()=>{V(a),ae({command:"connect",url:a}).catch(a=>{J(a instanceof Error?a.message:"Failed to connect preview")})},children:[(0,b.jsx)(j.Globe,{className:"h-3 w-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a})]},a))}):null,I||w?.lastError?(0,b.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,b.jsx)(e,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:I??w?.lastError})]}):null]})]}),(0,b.jsxs)(t.Card,{className:"min-h-0 shrink-0 overflow-hidden",children:[(0,b.jsxs)(t.CardHeader,{className:"flex flex-col items-start gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Eye,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Preview"})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-1",children:[(0,b.jsxs)(s.Button,{type:"button",size:"sm",variant:"navigate"===Q?"primary":"ghost",onClick:()=>aw("navigate"),children:[(0,b.jsx)(l,{className:"h-3.5 w-3.5"}),"Navigate"]}),(0,b.jsxs)(s.Button,{type:"button",size:"sm",variant:"inspect"===Q?"primary":"ghost",onClick:()=>aw("inspect"),children:[(0,b.jsx)(h.Eye,{className:"h-3.5 w-3.5"}),"Inspect"]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-[var(--vk-text-muted)]",children:[(0,b.jsx)(r.Badge,{variant:"outline",children:w?.title?am(w.title,40):"Untitled page"}),(0,b.jsx)(r.Badge,{variant:"outline",children:"navigate"===Q?"navigate mode: clicks interact with the page":as?"inspect mode: click once to select, double-click to queue for terminal input":"inspect mode: use DOM list for this frame"})]})]})]}),(0,b.jsx)(t.CardContent,{className:"min-h-0",children:(0,b.jsx)("div",{className:"flex h-[56vh] min-h-[200px] max-h-[620px] items-center justify-center overflow-auto rounded-[6px] border border-[var(--vk-border)] bg-[#111] p-2 sm:h-[72vh] sm:min-h-[360px] sm:max-h-[760px] sm:p-3",children:E?(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,b.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}),"Loading preview…"]}):aj?(0,b.jsxs)("div",{ref:_,tabIndex:w?.connected?0:-1,onKeyDown:aE,onPaste:aF,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,b.jsx)("img",{ref:$,src:aj,alt:"Session preview",className:(0,ah.cn)("max-h-full max-w-full rounded-[4px] object-contain shadow-[0_18px_36px_rgba(0,0,0,0.28)]","navigate"===Q?"cursor-pointer":as?"cursor-crosshair":"cursor-default"),onClick:a=>void aC(a),onDoubleClick:a=>void aD(a),onLoad:a=>{let b=a.currentTarget;X({naturalWidth:b.naturalWidth,naturalHeight:b.naturalHeight,renderedWidth:b.clientWidth,renderedHeight:b.clientHeight})}}),"inspect"===Q&&at?(0,b.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:at}):null,"inspect"===Q&&S&&ax?(0,b.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:ax,children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:"Terminal input"}),(0,b.jsx)("div",{className:"mt-1 text-[13px] font-medium text-[var(--vk-text-normal)]",children:S.pending?"Selecting element…":"Queue selection for the terminal"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>void aH(),disabled:S.pending||!w?.selectedElement,children:(0,b.jsx)(g.Copy,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>T(null),children:(0,b.jsx)(q.X,{className:"h-3.5 w-3.5"})})]})]}),(0,b.jsx)("div",{className:"flex-1 space-y-3 overflow-y-auto px-3 py-3",children:S.pending?(0,b.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,b.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}),"Capturing the selected element from the preview…"]}):w?.selectedElement?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:w.selectedElement.tag}),w.selectedElement.role?(0,b.jsx)(r.Badge,{variant:"outline",children:w.selectedElement.role}):null]}),(0,b.jsx)("div",{className:"mt-2 text-[12px] text-[var(--vk-text-normal)]",children:am(w.selectedElement.name||w.selectedElement.text||"Selected element",140)}),(0,b.jsx)("div",{className:"mt-2 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:w.selectedElement.selector})]}),(0,b.jsx)("div",{className:"rounded-[6px] border border-dashed border-[var(--vk-border)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"Double-click the element in the preview to queue it immediately, or use the button below. The text is inserted into terminal input instead of being sent to the agent, so you can add more context before submitting."}),K?(0,b.jsx)("div",{className:"text-[12px] text-[var(--vk-red)]",children:K}):null,(0,b.jsxs)(s.Button,{type:"button",variant:"primary",className:"w-full",onClick:()=>void aG("selection"),disabled:ap||!w.selectedElement,children:["selection"===O?(0,b.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(n.Send,{className:"h-4 w-4"}),"Queue for terminal input"]})]}):(0,b.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,b.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."})})})]}),M?(0,b.jsx)("div",{className:"rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-green)_35%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-green)_10%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-green)]",children:M}):null,!S&&K?(0,b.jsx)("div",{className:"rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-red)_35%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_10%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:K}):null,(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsxs)(t.Card,{className:"min-h-0",children:[(0,b.jsxs)(t.CardHeader,{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(f,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Frames and DOM"}),(0,b.jsx)(r.Badge,{variant:"outline",children:"inspect"===Q?"inspect":"read-only in navigate mode"})]}),(0,b.jsx)(s.Button,{type:"button",variant:G?"primary":"outline",size:"sm",onClick:()=>H(a=>!a),children:G?"Interactive only":"All nodes"})]}),(0,b.jsxs)(t.CardContent,{className:"grid gap-2 xl:grid-cols-[220px_minmax(0,1fr)]",children:[(0,b.jsx)("div",{className:"space-y-2",children:w?.frames.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{ae({command:"selectFrame",frameId:a.id}).catch(a=>{J(a instanceof Error?a.message:"Failed to select frame")})},className:(0,ah.cn)("flex w-full flex-col items-start gap-1 rounded-[4px] border px-2 py-2 text-left transition-colors",w.activeFrameId===a.id?"border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(r.Badge,{variant:"outline",children:a.isMain?"main":"frame"}),(0,b.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:a.name})]}),(0,b.jsx)("span",{className:"w-full truncate text-[11px] text-[var(--vk-text-muted)]",children:a.url||"about:blank"})]},a.id))}),(0,b.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,b.jsx)(ai,{className:"h-[200px] sm:h-[300px] xl:h-[360px]",children:(0,b.jsxs)("div",{className:"space-y-1 p-2",children:["navigate"===Q?(0,b.jsx)("div",{className:"rounded-[4px] border border-dashed border-[var(--vk-border)] px-2 py-2 text-[11px] text-[var(--vk-text-muted)]",children:"Switch to Inspect mode to pick DOM nodes. Single-click selects a node. Double-click queues it for terminal input."}):null,A?(0,b.jsxs)("div",{className:"flex items-center gap-2 px-2 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,b.jsx)(k.Loader2,{className:"h-4 w-4 animate-spin"}),"Inspecting frame DOM…"]}):y.length?y.map((a,c)=>(0,b.jsxs)("button",{type:"button",className:(0,ah.cn)("w-full rounded-[4px] border border-[transparent] px-2 py-2 text-left","inspect"===Q?"hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]":"cursor-not-allowed opacity-60"),disabled:"inspect"!==Q,onClick:()=>{T(null),L(null),N(null),aB(a.selector,w?.activeFrameId).catch(a=>{J(a instanceof Error?a.message:"Failed to select DOM node")})},onDoubleClick:()=>{L(null),N(null),aB(a.selector,w?.activeFrameId).then(a=>{if(!a.selectedElement)throw Error("Failed to resolve the selected DOM node");az(aq(a.selectedElement,a.currentUrl))}).catch(a=>{J(a instanceof Error?a.message:"Failed to queue DOM node")})},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:a.tag}),a.interactive?(0,b.jsx)(r.Badge,{variant:"warning",children:"interactive"}):null,a.role?(0,b.jsx)(r.Badge,{variant:"outline",children:a.role}):null]}),(0,b.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:a.selector}),a.text?(0,b.jsx)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-normal)]",children:am(a.text,180)}):null]},`${a.id??"node"}-${c}-${a.selector}-${a.tag}-${a.text}`)):(0,b.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,b.jsxs)("div",{className:"grid gap-2 lg:grid-cols-2",children:[(0,b.jsxs)(t.Card,{className:"min-h-0",children:[(0,b.jsxs)(t.CardHeader,{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(o.default,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Console"}),(0,b.jsx)(r.Badge,{variant:"outline",children:w?.consoleLogs.length??0})]}),(0,b.jsxs)(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>void aG("console"),disabled:ap||!w?.consoleLogs.length,children:["console"===O?(0,b.jsx)(k.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(n.Send,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,b.jsx)(t.CardContent,{children:(0,b.jsx)(ai,{className:"h-[180px] sm:h-[260px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,b.jsx)("div",{className:"space-y-1 p-2",children:w?.consoleLogs.length?w.consoleLogs.map(a=>(0,b.jsxs)("div",{className:"rounded-[3px] px-2 py-1.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,b.jsx)("span",{children:a.level}),(0,b.jsx)("span",{children:al(a.timestamp)})]}),(0,b.jsx)("div",{className:"mt-1 whitespace-pre-wrap break-all font-mono",children:a.message})]},a.id)):(0,b.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Console output appears here once the page loads."})})})})]}),(0,b.jsxs)(t.Card,{className:"min-h-0",children:[(0,b.jsxs)(t.CardHeader,{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(i,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Network"}),(0,b.jsx)(r.Badge,{variant:"outline",children:w?.networkLogs.length??0})]}),(0,b.jsxs)(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>void aG("network"),disabled:ap||!w?.networkLogs.length,children:["network"===O?(0,b.jsx)(k.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(n.Send,{className:"h-3.5 w-3.5"}),"Queue for terminal"]})]}),(0,b.jsx)(t.CardContent,{children:(0,b.jsx)(ai,{className:"h-[180px] sm:h-[260px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,b.jsx)("div",{className:"space-y-1 p-2",children:w?.networkLogs.length?w.networkLogs.map(a=>(0,b.jsxs)("div",{className:"rounded-[3px] px-2 py-1.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,b.jsx)("span",{children:a.method??"GET"}),"number"==typeof a.status?(0,b.jsx)("span",{children:a.status}):null,a.resourceType?(0,b.jsx)("span",{children:a.resourceType}):null,(0,b.jsx)("span",{children:al(a.timestamp)})]}),(0,b.jsx)("div",{className:"mt-1 break-all font-mono",children:a.url??a.message})]},a.id)):(0,b.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Network requests appear here after the preview loads."})})})})]})]})]})]})}a.s(["SessionPreview",()=>as],48031)},64600,a=>{a.n(a.i(48031))}];
2
2
 
3
3
  //# sourceMappingURL=packages_web_src_components_sessions_SessionPreview_tsx_ec32db81._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[69436,a=>{"use strict";var b=a.i(87924),c=a.i(19721),d=a.i(50944),e=a.i(72131),f=a.i(27736),g=a.i(67299),h=a.i(13846),i=a.i(76172),j=a.i(82434),k=a.i(67900),l=a.i(31746),m=a.i(33441),n=a.i(5784),o=a.i(77156),p=a.i(96101),q=a.i(34531),r=a.i(63416),s=a.i(70106);let t=(0,s.default)("hand",[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]]),u=(0,s.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);var v=a.i(96221),w=a.i(39920),x=a.i(72162),y=a.i(65385),z=a.i(53603),A=a.i(57941),B=a.i(61693),C=a.i(72865),D=a.i(35757);let E=new Set,F=[],G=!0,H=0,I=null,J=null;function K(){for(let a of E)a()}function L(){return{agents:F,loading:G}}function M(){return F.length>0&&Date.now()-H<3e4}function N(){null===J&&(J=window.setTimeout(()=>{J=null,O(!0)},1e4))}async function O(a=!1){if(!a&&M()){G&&(G=!1,K());return}return I||(G=!0,K(),I=(async()=>{try{var a;let b=await fetch("/api/agents",{cache:"no-store"});if(!b.ok)throw Error(`Failed to fetch agents: ${b.status}`);let c=(a=await b.json(),Array.isArray(a)?a:a&&"object"==typeof a&&"agents"in a&&Array.isArray(a.agents)?a.agents:[]);c.length>0?(F=c,H=Date.now(),null!==J&&(window.clearTimeout(J),J=null)):N()}catch{N()}finally{G=!1,I=null,K()}})())}var P=a.i(17402),Q=a.i(48171),R=a.i(62586);a.i(28257);var S=a.i(52806),T=a.i(87837),U=a.i(87315);let V="claude-code";function W(a){let b=a?.trim();return b&&b.length>0?b:null}let X=(0,c.default)(()=>a.A(60928).then(a=>a.SessionDetail),{loadableGenerated:{modules:[31437]},loading:()=>(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading session..."})}),Y=(0,c.default)(()=>a.A(21994).then(a=>a.WorkspaceSidebarPanel),{loadableGenerated:{modules:[4886]},loading:()=>(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace panel..."})}),Z=(0,c.default)(()=>a.A(86672).then(a=>a.WorkspaceOverview),{loadableGenerated:{modules:[58641]},loading:()=>(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace..."})}),$=(0,c.default)(()=>a.A(67645).then(a=>a.WorkspaceKanban),{loadableGenerated:{modules:[96933]},loading:()=>(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading board..."})}),_=(0,c.default)(()=>a.A(75873).then(a=>a.NewWorkspaceDialog),{loadableGenerated:{modules:[41280]},loading:()=>null}),aa=(0,c.default)(()=>a.A(75873).then(a=>a.SettingsDialog),{loadableGenerated:{modules:[41280]},loading:()=>null});function ab(a){let b=(0,A.getKnownAgent)(a);return b?.label?b.label:a.split(/[-_\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}function ac(a){return a.issueId?.trim()||a.taskRef?.trim()||a.id}function ad(a){let[b]=a.split(" - ");return(b??a).trim()}function ae(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function af(a,b){let c=ae(a),d=ae(c.notifications),e=d.soundFile,f="string"==typeof c.codingAgent&&c.codingAgent.trim().length>0?c.codingAgent.trim():b,g="string"==typeof c.ide&&c.ide.trim().length>0?c.ide.trim():"vscode",h="string"==typeof c.markdownEditor&&c.markdownEditor.trim().length>0?c.markdownEditor.trim():"obsidian",i="string"==typeof c.markdownEditorPath?c.markdownEditorPath.trim():"";return{onboardingAcknowledged:!0===c.onboardingAcknowledged,codingAgent:f,ide:g,markdownEditor:h,markdownEditorPath:i,modelAccess:(0,T.normalizeModelAccessPreferences)(c.modelAccess),notifications:{soundEnabled:!1!==d.soundEnabled,soundFile:null===e?null:"string"==typeof e&&e.trim().length>0?e.trim():"abstract-sound-4"}}}function ag(a,b){return b[(0,z.normalizeAgentName)(a)]??null}function ah(a){if(!a)return[];let b=[],c=new Set;for(let d of Object.values(a.modelsByAccess))if(Array.isArray(d))for(let a of d)!a?.id||c.has(a.id)||(c.add(a.id),b.push(a));return b}function ai(a,b,c){let d=ag(a,c),e=(0,g.resolveAgentModelAccess)(a,b),f=(0,U.getRuntimeCatalogModelsForAccess)(d,e),h=(0,g.getAvailableAgentModels)(a,b),i=[],j=new Set;for(let a of[...f,...h,...ah(d)])!a?.id||j.has(a.id)||(j.add(a.id),i.push(a));return i}function aj(a,b,c,d){let e=ag(a,c),f=(0,g.resolveAgentModelAccess)(a,b);return(0,U.getRuntimeCatalogDefaultReasoning)(e,d,f)??(0,g.getDefaultAgentReasoningEffort)(a,b)??""}function ak(a,b,c,d,e){let f,h,i=d?.trim()??"",j=e?.trim().toLowerCase()??"",k=ai(a,b,c),l=(f=ag(a,c),h=(0,g.resolveAgentModelAccess)(a,b),(0,U.getRuntimeCatalogDefaultModelForAccess)(f,h)??(0,g.getDefaultAgentModel)(a,b)??ah(f)[0]?.id??""),m=d=>{let e=function(a,b,c,d){let e=ag(a,c),f=(0,g.resolveAgentModelAccess)(a,b),h=(0,U.getRuntimeCatalogReasoningOptions)(e,d,f),i=(0,g.getAvailableAgentReasoningEfforts)(a,b),j=[],k=new Set;for(let a of[...h,...i])!a?.id||k.has(a.id)||(k.add(a.id),j.push(a));return j}(a,b,c,d);return j.length>0&&e.some(a=>a.id===j)?j:aj(a,b,c,d)};return i.length>0?k.some(a=>a.id===i)?{catalogModel:i,customModel:"",reasoningEffort:m(i)}:{catalogModel:l,customModel:i,reasoningEffort:m(i)}:{catalogModel:l,customModel:"",reasoningEffort:m(l)}}function al(a){let b=a.customModel.trim();if(b.length>0)return b;let c=a.catalogModel.trim();return c.length>0?c:void 0}function am(){let a=(0,d.useRouter)(),c=(0,d.usePathname)(),f=(0,d.useSearchParams)(),g=(0,e.useMemo)(()=>W(f.get("project")),[f]),h=(0,e.useMemo)(()=>W(f.get("session")),[f]),i=(0,e.useMemo)(()=>"board"===f.get("view")?"board":"chat",[f]),j=(0,e.useMemo)(()=>{let a=f.get("tab");return"overview"!==a&&"preview"!==a&&"diff"!==a},[f]),{projects:k,loading:l,error:m,refresh:n}=(0,D.useConfig)(),{agents:o}=function(){let[a,b]=(0,e.useState)(()=>L());return(0,e.useEffect)(()=>{let a=()=>b(L());E.add(a),a(),O();let c=()=>{M()||O(!0)},d=()=>{"visible"!==document.visibilityState||M()||O(!0)};return window.addEventListener("focus",c),document.addEventListener("visibilitychange",d),()=>{E.delete(a),window.removeEventListener("focus",c),document.removeEventListener("visibilitychange",d)}},[]),a}(),{mobileSidebarOpen:p,desktopSidebarOpen:q,toggleSidebar:r,closeSidebarOnMobile:s,syncSidebarForViewport:t}=(0,P.useResponsiveSidebarStateWithOptions)({initialDesktopOpen:!1}),u=p||q,v=!h||u,{sessions:w,loading:x,error:y,refresh:F}=(0,C.useSessions)(g,{enabled:v}),[G,H]=(0,e.useState)(""),[I,J]=(0,e.useState)(""),[K,N]=(0,e.useState)({catalogModel:"",customModel:"",reasoningEffort:""}),[S,U]=(0,e.useState)(!1),[ac,ad]=(0,e.useState)(null),[ae,ag]=(0,e.useState)(!1),[ah,ai]=(0,e.useState)(!1),[aj,am]=(0,e.useState)(null),[ao,ap]=(0,e.useState)(null),[aq,ar]=(0,e.useState)(!0),[as,at]=(0,e.useState)(!1),[au,av]=(0,e.useState)(null),[aw,ax]=(0,e.useState)(!1),[ay,az]=(0,e.useState)(!1),[aA,aB]=(0,e.useState)(()=>h?[h]:[]),[aC,aD]=(0,e.useState)(!1);(0,e.useEffect)(()=>{},[]);let aE=!!h&&j&&aC,aF=(0,e.useMemo)(()=>new Map(w.map(a=>[a.id,a])),[w]),{session:aG,loading:aH,error:aI}=(0,B.useSession)(h,null,{enabled:!!h}),aJ=ac??m??y??aI??au,aK=(0,e.useMemo)(()=>{let a=new Map;for(let b of w){let c=a.get(b.projectId);c?c.push(b):a.set(b.projectId,[b])}return a},[w]),aL=(0,e.useCallback)((b,d="push")=>{let e=new URLSearchParams(f.toString()),g=(a,b)=>{let c="string"==typeof b?b.trim():"";c.length>0?e.set(a,c):e.delete(a)};"projectId"in b&&g("project",b.projectId),"sessionId"in b&&g("session",b.sessionId),"workspaceView"in b&&("board"===b.workspaceView?e.set("view","board"):e.delete("view")),"tab"in b&&(b.tab&&"chat"!==b.tab?e.set("tab",b.tab):e.delete("tab")),e.has("project")||e.delete("view"),e.has("session")||e.delete("tab");let h=e.toString(),i=h.length>0?`${c}?${h}`:c;"replace"===d?a.replace(i,{scroll:!1}):a.push(i,{scroll:!1})},[c,a,f]);(0,e.useEffect)(()=>{if(!l&&!m){if(0===k.length){null!==g&&aL({projectId:null,workspaceView:null},"replace");return}null===g||k.some(a=>a.id===g)||aL({projectId:h?null:k[0]?.id??null,workspaceView:h?null:i},"replace")}},[m,l,aL,k,g,h,i]),(0,e.useEffect)(()=>{if(h){if(v){if(x||y)return;w.some(a=>a.id===h)||aL({sessionId:null,tab:null},"replace");return}!aH&&(aG||aL({sessionId:null,tab:null},"replace"))}},[w,aL,v,h,aH,aG,y,x]),(0,e.useEffect)(()=>{h?aB(a=>[h,...a.filter(a=>a!==h)].slice(0,1)):aB([])},[h]),(0,e.useEffect)(()=>{h&&v&&!x&&!y&&aB(a=>a.filter(a=>a===h||aF.has(a)))},[v,h,aF,y,x]);let aM=(0,e.useMemo)(()=>aG,[aG]),aN=(0,e.useMemo)(()=>k.find(a=>a.id===g)??null,[k,g]),aO=(0,e.useMemo)(()=>g?aK.get(g)??[]:[],[g,aK]),aP=(0,e.useMemo)(()=>aM?[aM.projectId,aM.branch].filter(Boolean).join(" · "):aN?[aN.id,aN.defaultBranch||"main"].filter(Boolean).join(" · "):"All Projects",[aN,aM]),aQ=(0,e.useMemo)(()=>{let a=Array.isArray(o)?o:[],b=new Set;for(let a of A.KNOWN_AGENTS)b.add(a.name);for(let c of a)c.name&&b.add(c.name);for(let a of k)a.agent&&b.add(a.agent);return ao?.codingAgent&&b.add(ao.codingAgent),I&&b.add(I),0===b.size&&b.add(ao?.codingAgent||V),[...b]},[o,ao?.codingAgent,k,I]),aR=(0,e.useMemo)(()=>{let a={};for(let b of A.KNOWN_AGENTS)a[(0,z.normalizeAgentName)(b.name)]={name:b.name,ready:!1,installed:!1,configured:!1,homepage:b.homepage,description:b.description,installHint:b.installHint??null,installUrl:b.installUrl??b.homepage??null,setupUrl:b.setupUrl??b.homepage??null};for(let b of Array.isArray(o)?o:[]){if(!b.name)continue;let c=(0,z.normalizeAgentName)(b.name),d=(0,A.getKnownAgent)(b.name);a[(0,z.normalizeAgentName)(b.name)]={name:d?.name??b.name,ready:!0===b.ready,installed:!1!==b.installed,configured:!0===b.configured,homepage:"string"==typeof b.homepage?b.homepage:d?.homepage??a[c]?.homepage??null,description:"string"==typeof b.description?b.description:d?.description??a[c]?.description??null,installHint:"string"==typeof b.installHint?b.installHint:d?.installHint??a[c]?.installHint??null,installUrl:"string"==typeof b.installUrl?b.installUrl:d?.installUrl??a[c]?.installUrl??null,setupUrl:"string"==typeof b.setupUrl?b.setupUrl:d?.setupUrl??a[c]?.setupUrl??null}}return a},[o]),aS=(0,e.useMemo)(()=>{let a={};for(let b of Array.isArray(o)?o:[])b.name&&b.runtimeModelCatalog&&(a[(0,z.normalizeAgentName)(b.name)]=b.runtimeModelCatalog);return a},[o]),aT=(0,e.useCallback)(a=>{let b=aR[(0,z.normalizeAgentName)(a)],c=(0,A.getKnownAgent)(a);b?.installed?b?.setupUrl??c?.setupUrl??b?.homepage??c?.homepage:b?.installUrl??c?.installUrl??b?.setupUrl??c?.setupUrl??b?.homepage??c?.homepage},[aR]);async function aU(a,b){at(!0),av(null);try{let c=await fetch("/api/preferences",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to save preferences: ${c.status}`);let e=af(d?.preferences,a.codingAgent||V);return ap(e),J(e.codingAgent),b?.closeDialog!==!1&&ax(!1),!0}catch(a){return av(a instanceof Error?a.message:"Failed to save preferences"),!1}finally{at(!1)}}(0,e.useEffect)(()=>{let a=!1;return async function(){ar(!0);try{let b=await fetch("/api/preferences"),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to load preferences: ${b.status}`);if(a)return;let d=af(c?.preferences,V);ap(d),av(null)}catch(b){if(a)return;ap(af(null,V)),av(b instanceof Error?b.message:"Failed to load preferences")}finally{a||ar(!1)}}(),()=>{a=!0}},[]),(0,e.useEffect)(()=>{ao&&(I||J(ao.codingAgent))},[ao,I]),(0,e.useEffect)(()=>{aq||ao&&(ao.onboardingAcknowledged||ax(!0))},[ao,aq]),(0,e.useEffect)(()=>{if(0!==aQ.length&&(!I||!aQ.includes(I))){let a=ao?.codingAgent||V;J(aQ.includes(a)?a:aQ[0]??V)}},[aQ,ao?.codingAgent,I]),(0,e.useEffect)(()=>{let a=I||aN?.agent||ao?.codingAgent||V,b=aN&&(0,z.normalizeAgentName)(aN.agent)===(0,z.normalizeAgentName)(a)?aN.agentModel:null,c=aN&&(0,z.normalizeAgentName)(aN.agent)===(0,z.normalizeAgentName)(a)?aN.agentReasoningEffort:null;N(ak(a,ao?.modelAccess??(0,T.normalizeModelAccessPreferences)(null),aS,b,c))},[ao?.modelAccess,ao?.codingAgent,aS,I,aN]);let aV=(0,e.useCallback)(()=>{am(null),ag(!0),t()},[t]);(0,e.useEffect)(()=>{ay&&!aw&&(az(!1),aV())},[ay,aw]);let aW=(0,e.useCallback)(async a=>{let b,c=G.trim(),d=al(K),e=(b=K.reasoningEffort.trim().toLowerCase()).length>0?b:void 0,f=a?.projectId??g??k[0]?.id;if(!f)return void ad("No project is configured in conductor.yaml");let h=I||V,i=aR[(0,z.normalizeAgentName)(h)]??null;if(i&&!i.ready){ad(i.installed?`${ab(h)} is not ready yet. Finish setup or authentication and try again.`:`${ab(h)} is not installed on this machine yet. Open setup and try again.`),aT(h);return}U(!0),ad(null);try{let b=await fetch("/api/spawn",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:f,prompt:c,...a?.issueId?.trim()?{issueId:a.issueId.trim()}:{},agent:h,...a?.branch?{branch:a.branch}:{},...a?.baseBranch?{baseBranch:a.baseBranch}:{},..."boolean"==typeof a?.useWorktree?{useWorktree:a.useWorktree}:{},...a?.permissionMode?{permissionMode:a.permissionMode}:{},...d?{model:d}:{},...e?{reasoningEffort:e}:{}})}),g=await b.json().catch(()=>null);if(!b.ok)throw Error(g?.error??`Failed to create workspace: ${b.status}`);if(!g?.session?.id)throw Error("Session created but response is missing session id");H(""),t(),await F(),aL({projectId:f,sessionId:g.session.id,tab:null},"push")}catch(a){ad(a instanceof Error?a.message:"Failed to create workspace")}finally{U(!1)}},[aR,K,aL,aT,k,G,F,I,g,t]),aX=(0,e.useCallback)(async a=>{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/archive`,{method:"POST"}),c=await b.json().catch(()=>null);if(404===b.status&&(b=await fetch(`/api/sessions/${encodeURIComponent(a)}/actions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"archive"})}),c=await b.json().catch(()=>null)),!b.ok)throw Error(c?.error??`Failed to archive session: ${b.status}`);h===a&&aL({sessionId:null,tab:null},"replace"),await F()},[aL,F,h]),aY=(0,e.useCallback)(async a=>{ai(!0),am(null);try{let b=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to add workspace: ${b.status}`);let d=c?.project?.id;if(!d)throw Error("Workspace created but response is missing project id");await n(),H(""),t(),ag(!1),aL({projectId:d,sessionId:null,workspaceView:"chat",tab:null},"push")}catch(a){am(a instanceof Error?a.message:"Failed to add workspace")}finally{ai(!1)}},[aL,n,t]),aZ=!aq&&!!ao&&!ao.onboardingAcknowledged,a$=ao??af(null,I||V),a_=I||a$.codingAgent||V,a0=(0,e.useCallback)(a=>{aL({projectId:a,sessionId:null,workspaceView:a?i:null,tab:null},"push"),J(ao?.codingAgent||V),s()},[s,aL,ao?.codingAgent,i]),a1=(0,e.useCallback)((a,b)=>{let c=aF.get(a)??null;aL({projectId:c?.projectId??g??null,sessionId:a,tab:b?.tab??null},"push"),s()},[s,aL,g,aF]),a2=(0,e.useCallback)(()=>{ax(!0)},[]),a3=(0,e.useCallback)(()=>{ah||ag(!1)},[ah]),a4=(0,e.useCallback)(()=>{as||aZ||(ax(!1),av(null))},[aZ,as]),a5=(0,e.useCallback)(async a=>{let b=encodeURIComponent(a),c=await fetch(`/api/repositories/${b}`,{method:"DELETE"});(404===c.status||405===c.status)&&(c=await fetch(`/api/repositories?id=${b}`,{method:"DELETE"}));let d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to unlink project (${c.status})`);await n()},[n]),a6=(0,e.useMemo)(()=>u?(0,b.jsx)(Y,{projects:k,selectedProjectId:g,onSelectProject:a0,onUnlinkProject:a5,sessions:w,selectedSessionId:h,onSelectSession:a1,onArchiveSession:aX,onCreateWorkspace:aV}):null,[w,aX,a0,a1,a5,aV,k,g,h,u]),a7=(0,e.useMemo)(()=>"board"===i?(0,b.jsx)($,{projectId:g,defaultAgent:a_,agentOptions:aQ,projectSessions:aO}):(0,b.jsx)(an,{prompt:G,setPrompt:H,selectedAgent:a_,setSelectedAgent:J,agentStates:aR,modelSelection:K,setModelSelection:N,modelAccess:a$.modelAccess,runtimeModelCatalogs:aS,agentOptions:aQ,projects:k,selectedProjectId:g,onSelectProject:a0,projectLabel:g??"All projects",hasProject:k.length>0,creating:S,error:aJ,onOpenAddWorkspace:aV,onOpenAgentSetup:aT,onCreate:aW}),[aQ,aR,S,aW,K,aT,aV,k,aO,G,a_,a$.modelAccess,aS,g,H,aJ,i]),a8=(0,e.useMemo)(()=>aN?(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,b.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 py-3 sm:px-4",children:(0,b.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Project Workspace"}),(0,b.jsxs)("p",{className:"mt-1 truncate text-[14px] text-[var(--vk-text-strong)]",children:[aN.id," · ",aN.defaultBranch||"main"]})]}),(0,b.jsxs)("div",{className:"inline-flex w-fit rounded-[6px] border border-[var(--vk-border)] p-1",children:[(0,b.jsx)("button",{type:"button",onClick:()=>aL({projectId:aN.id,workspaceView:"chat"},"replace"),className:`min-h-[32px] rounded-[4px] px-3 text-[13px] ${"chat"===i?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"CLI launchpad"}),(0,b.jsx)("button",{type:"button",onClick:()=>aL({projectId:aN.id,workspaceView:"board"},"replace"),className:`min-h-[32px] rounded-[4px] px-3 text-[13px] ${"board"===i?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"})]})]})}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:a7})]}):a7,[aL,aN,a7,i]),a9=(0,e.useMemo)(()=>h?(0,b.jsx)("div",{className:"relative min-h-0 h-full min-w-0 flex-1 overflow-hidden",children:aA.map(a=>{let c=a===h,d=c?aM:aF.get(a)??null;return(0,b.jsx)("div",{"aria-hidden":!c,className:c?"relative h-full min-w-0":"pointer-events-none absolute inset-0 overflow-hidden invisible",children:(0,b.jsx)(X,{sessionId:a,initialSession:d,active:c,immersiveMobileMode:c&&aE,onOpenSidebar:r})},a)})}):null!==g?(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:a8}):(0,b.jsx)("div",{className:"flex h-full min-h-0 w-full flex-1 overflow-hidden",children:(0,b.jsx)(Z,{projects:k,sessions:w,onCreateWorkspace:aV,onSelectSession:a1})}),[w,aA,a8,aM,h,a1,aV,k,g,aF,r]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(Q.AppShell,{mobileSidebarOpen:p,desktopSidebarOpen:q,onToggleSidebar:r,hideMobileSidebarToggle:aE,sidebar:a6,children:[aE?null:(0,b.jsx)(R.TopBar,{title:aP,onOpenPreferences:a2}),(0,b.jsx)("div",{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden ${aE?"bg-[#060404]":""}`,children:a9})]}),ae?(0,b.jsx)(_,{open:ae,onClose:a3,onCreate:aY,creating:ah,error:aj,defaultAgent:a_,agentOptions:aQ}):null,aw||aZ?(0,b.jsx)(aa,{open:aw,mode:aZ?"onboarding":"settings",creating:as,error:au,current:a$,projectCount:k.length,agentOptions:aQ,agentStates:aR,runtimeModelCatalogs:aS,onRepositoriesChanged:n,onOnboardingComplete:({needsProject:a})=>{a&&az(!0)},onOpenAgentSetup:aT,onClose:a4,onSave:aU}):null]})}y.Settings2,x.SlidersHorizontal,q.FolderGit2,k.Building2,r.FolderKanban,j.Bot,w.PlugZap,x.SlidersHorizontal,x.SlidersHorizontal,q.FolderGit2,[{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"cursor",label:"Cursor"},{id:"windsurf",label:"Windsurf"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"antigravity",label:"Antigravity"},{id:"custom",label:"Custom"}].filter(a=>"custom"!==a.id),y.Settings2,h.SiObsidian,i.VscVscode,h.SiNotion,y.Settings2;let an=(0,e.memo)(function({prompt:a,setPrompt:c,selectedAgent:d,setSelectedAgent:g,agentStates:h,modelSelection:i,setModelSelection:j,modelAccess:k,runtimeModelCatalogs:q,agentOptions:r,projects:s,selectedProjectId:w,onSelectProject:y,projectLabel:B,hasProject:C,creating:D,error:E,onOpenAddWorkspace:F,onOpenAgentSetup:G,onCreate:H}){let I=(0,e.useMemo)(()=>{let a=new Map(A.KNOWN_AGENT_ORDER.map((a,b)=>[a,b]));return[...r].sort((b,c)=>{let d=a.get((0,z.normalizeAgentName)(b))??Number.MAX_SAFE_INTEGER,e=a.get((0,z.normalizeAgentName)(c))??Number.MAX_SAFE_INTEGER;return d!==e?d-e:ab(b).localeCompare(ab(c))})},[r]),J=ab(d),K=h[(0,z.normalizeAgentName)(d)]??null,L=(0,e.useMemo)(()=>[...s].sort((a,b)=>a.id.localeCompare(b.id)),[s]),M=w??L[0]?.id??null,N=(0,e.useMemo)(()=>L.find(a=>a.id===M)??null,[M,L]),[O,P]=(0,e.useState)([]),[Q,R]=(0,e.useState)(!1),[T,U]=(0,e.useState)(""),[V,W]=(0,e.useState)(""),[X,Y]=(0,e.useState)([]),[Z,$]=(0,e.useState)(!1),[_,aa]=(0,e.useState)(!1),[ae,af]=(0,e.useState)(!1),[ag,ah]=(0,e.useState)(!1),[am,an]=(0,e.useState)("default");(0,e.useEffect)(()=>{if(!N){P([]),U(""),R(!1);return}P([]),U(N.defaultBranch.trim()||"main"),R(!1)},[N]),(0,e.useEffect)(()=>{if(!M){Y([]),W(""),$(!1);return}Y([]),W(""),$(!1)},[M]);let ao=(0,e.useCallback)(async()=>{if(!N)return;let a=N.defaultBranch.trim()||"main";if(!N.path?.trim()){P([a]),U(b=>b.trim().length>0?b:a);return}R(!0);try{let b=new URLSearchParams({path:N.path}),c=await fetch(`/api/workspaces/branches?${b.toString()}`),d=await c.json().catch(()=>null),e=Array.isArray(d?.branches)?d.branches.filter(a=>"string"==typeof a&&a.trim().length>0):[],f="string"==typeof d?.defaultBranch&&d.defaultBranch.trim().length>0?d.defaultBranch.trim():a,g=e.length>0?e:[f];P(g),U(a=>a.trim().length>0&&g.includes(a)?a:f)}catch{P([a]),U(a)}finally{R(!1)}},[N]),ap=(0,e.useCallback)(async()=>{if(M){$(!0);try{let a=await fetch(`/api/boards?projectId=${encodeURIComponent(M)}`),b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to load tasks: ${a.status}`);let c=(Array.isArray(b?.columns)?b.columns:[]).flatMap(a=>Array.isArray(a.tasks)?a.tasks:[]),d=new Set,e=c.filter(a=>{let b=ac(a);return!(!b||d.has(b))&&(d.add(b),!0)});Y(e),W(a=>e.some(b=>ac(b)===a)?a:"")}catch{Y([]),W("")}finally{$(!1)}}},[M]);(0,e.useEffect)(()=>{!ae||Q||O.length>0||ao()},[Q,ae,O.length,ao]),(0,e.useEffect)(()=>{!_||Z||X.length>0||ap()},[X.length,ap,Z,_]);let aq=(0,e.useMemo)(()=>ai(d,k,q),[k,q,d]),ar=(0,e.useMemo)(()=>X.find(a=>ac(a)===V)??null,[X,V]),as=al(i)??"",at=(0,e.useMemo)(()=>{let a=new Set,b=[],c=as.trim();for(let c of aq)a.has(c.id)||(a.add(c.id),b.push(c));return c&&!a.has(c)&&(a.add(c),b.unshift({id:c,label:function(a,b){let c=b.trim(),d=(0,z.normalizeAgentName)(a);if(!c)return c;if("claude-code"===d){let a=c.toLowerCase();if("opus"===a)return"Claude Opus";if("sonnet"===a)return"Claude Sonnet";if("haiku"===a)return"Claude Haiku";let b=a.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(b){let a=b[1];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${b[2]}.${b[3]}`}}return c.split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(a)?a:a[0]?.toUpperCase()+a.slice(1)).join("-")}(d,c),description:"Current selected model.",access:[]})),b},[aq,d,as]),au=(0,e.useMemo)(()=>!K||K.ready||as?as?at.find(a=>a.id===as)?.label??as:"Default":"Setup required",[at,K,as]),av="z-50 min-w-[240px] max-w-[calc(100vw-32px)] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)] sm:max-w-none",aw=`${av} max-h-[min(360px,50vh)] overflow-y-auto`,ax="flex min-h-[44px] cursor-default items-center gap-2 rounded-[3px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)] sm:min-h-[36px]",ay=[{id:"default",label:"Default",icon:x.SlidersHorizontal},{id:"auto",label:"Auto",icon:l.ChevronsRight},{id:"ask",label:"Ask",icon:t},{id:"plan",label:"Plan",icon:u}],az=ay.find(a=>a.id===am)??ay[0],aA=a=>{let b=a.repo?.trim();if(b){let a=b.split("/").filter(Boolean),c=a[a.length-1]?.replace(/\.git$/i,"");if(c)return c}return a.id},aB=N?aA(N):null,aC=N?`${aB} \xb7 ${T||N.defaultBranch||"main"}`:C?B:"Select project",aD=ar?.taskRef?.trim()||"Link task",aE=ar?ad(ar.text):"Choose a task, bug, or issue from this project's board";return(0,b.jsx)("section",{className:"flex h-full min-h-0 items-start justify-center overflow-auto bg-[var(--vk-bg-main)] px-3 py-4 sm:items-center sm:px-6 sm:py-6",children:(0,b.jsxs)("div",{className:"w-full max-w-[768px]",children:[(0,b.jsx)("h1",{className:"pb-4 text-center text-[30px] font-medium leading-[34px] tracking-[-0.7px] text-[var(--vk-text-strong)] sm:text-[36px] sm:leading-[40px] sm:tracking-[-0.9px]",children:"What would you like to work on?"}),(0,b.jsxs)("div",{className:"mx-auto w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-[var(--vk-border)] px-2 pb-[9px] pt-2",children:[(0,b.jsx)(S.AgentTileIcon,{seed:{label:d},className:"h-[25px] w-[25px] border-none bg-transparent"}),(0,b.jsxs)(f.Root,{children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",className:"inline-flex h-[31px] max-w-[70vw] items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] sm:max-w-none","aria-label":"Select agent",children:[(0,b.jsx)("span",{className:"truncate pr-1",children:J}),(0,b.jsx)(n.ChevronDown,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"start",sideOffset:6,className:aw,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Agents"}),I.map(a=>{let c=a===d,e=h[(0,z.normalizeAgentName)(a)]??null;return(0,b.jsxs)(f.Item,{onSelect:()=>g(a),className:ax,children:[(0,b.jsx)(S.AgentTileIcon,{seed:{label:a},className:"h-6 w-6 border-none bg-transparent"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{children:ab(a)}),e?.ready?null:(0,b.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--vk-text-muted)]",children:e?.installed?"Setup required":"Not installed"})]}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:c?(0,b.jsx)(m.Check,{className:"h-4 w-4"}):null})]},a)})]})})]}),(0,b.jsxs)(f.Root,{onOpenChange:aa,children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",disabled:!M,className:"ml-auto flex h-[31px] min-w-[220px] items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-left disabled:cursor-not-allowed disabled:opacity-50 sm:ml-0 sm:w-[286px]","aria-label":"Link task",children:[(0,b.jsx)("span",{className:"pr-2 text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Task"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)]",children:aD}),(0,b.jsx)(n.ChevronDown,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"end",side:"bottom",sideOffset:6,className:aw,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Link task"}),(0,b.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:aE}),(0,b.jsxs)(f.Item,{onSelect:()=>W(""),className:ax,children:[(0,b.jsx)("span",{children:"No linked task"}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:V?null:(0,b.jsx)(m.Check,{className:"h-4 w-4"})})]}),Z?(0,b.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Loading board tasks..."}):X.length>0?X.map(a=>{let c=ac(a),d=ad(a.text),e=[a.type,a.priority].filter(Boolean).join(" · ");return(0,b.jsxs)(f.Item,{onSelect:()=>W(c),className:`${ax} min-w-[320px] items-start`,children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate",children:a.taskRef?.trim()||d}),(0,b.jsxs)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:[a.taskRef?.trim()?d:c,e?` \xb7 ${e}`:""]})]}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:V===c?(0,b.jsx)(m.Check,{className:"h-4 w-4"}):null})]},c)}):(0,b.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"No existing tasks were found for this project."})]})})]})]}),(0,b.jsx)("div",{className:"rounded-[3.5px]",children:(0,b.jsxs)("div",{className:"flex flex-col gap-3 p-2",children:[(0,b.jsxs)("div",{className:"relative w-full",children:[(0,b.jsx)("textarea",{value:a,onChange:a=>c(a.target.value),placeholder:"Optional launch prompt. Leave empty to open the native CLI.",rows:1,className:"min-h-[24px] w-full resize-none bg-transparent pr-8 text-[16px] leading-[24px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"}),(0,b.jsx)("button",{type:"button","aria-label":"Preview",className:"absolute right-0 top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,b.jsx)(o.Eye,{className:"h-[14px] w-[14px]"})})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-2",children:[(0,b.jsxs)(f.Root,{children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:"inline-flex h-[29px] w-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Select workspace or project",children:(0,b.jsx)(x.SlidersHorizontal,{className:"h-[15px] w-[15px]"})})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"start",sideOffset:6,className:aw,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Projects"}),L.map(a=>{let c=aA(a),d=a.id!==c?a.id:a.path?.trim()||a.repo?.trim()||null;return(0,b.jsxs)(f.Item,{onSelect:()=>y(a.id),className:`${ax} min-w-[280px] items-start`,children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate",children:c}),d?(0,b.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:d}):null]}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:a.id===M?(0,b.jsx)(m.Check,{className:"h-4 w-4"}):null})]},a.id)}),(0,b.jsx)(f.Separator,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,b.jsxs)(f.Item,{onSelect:F,className:ax,children:[(0,b.jsx)(p.FolderOpen,{className:"h-4 w-4"}),(0,b.jsx)("span",{children:"Add Workspace"})]})]})})]}),(0,b.jsxs)(f.Root,{children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,b.jsx)("span",{children:au}),(0,b.jsx)(n.ChevronDown,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"start",sideOffset:6,className:av,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Model"}),(0,b.jsxs)(f.Item,{onSelect:()=>j(ak(d,k,q,N?.agentModel,N?.agentReasoningEffort)),className:ax,children:[(0,b.jsx)("span",{children:"Default"}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:as?null:(0,b.jsx)(m.Check,{className:"h-4 w-4"})})]}),at.map(a=>(0,b.jsxs)(f.Item,{onSelect:()=>j({catalogModel:a.id,customModel:"",reasoningEffort:aj(d,k,q,a.id)}),className:ax,children:[(0,b.jsx)("span",{children:a.label}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:as===a.id?(0,b.jsx)(m.Check,{className:"h-4 w-4"}):null})]},a.id)),0===at.length?(0,b.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Models will appear here after the selected agent is installed and its runtime catalog is detected."}):null,K&&!K.ready?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,b.jsx)("button",{type:"button",onClick:()=>G(d),className:"flex w-full items-center rounded-[3px] px-3 py-2 text-left text-[13px] text-[var(--vk-orange)] transition hover:bg-[var(--vk-bg-hover)]",children:K.installed?"Open setup":"Open install guide"})]}):null]})})]}),(0,b.jsxs)(f.Root,{children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,b.jsx)("span",{children:az.label}),(0,b.jsx)(n.ChevronDown,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"start",sideOffset:6,className:av,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Permissions"}),ay.map(({id:a,label:c,icon:d})=>(0,b.jsxs)(f.Item,{onSelect:()=>an(a),className:ax,children:[(0,b.jsx)(d,{className:"h-4 w-4"}),(0,b.jsx)("span",{children:c}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:am===a?(0,b.jsx)(m.Check,{className:"h-4 w-4"}):null})]},a))]})})]}),(0,b.jsxs)(f.Root,{onOpenChange:af,children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",disabled:!N,className:"inline-flex min-h-[29px] max-w-[320px] items-center justify-center truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:text-[var(--vk-text-strong)] disabled:cursor-not-allowed disabled:opacity-50",children:aC})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"start",side:"bottom",sideOffset:6,avoidCollisions:!1,className:aw,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Branch"}),aB?(0,b.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:aB}):null,Q?(0,b.jsx)("div",{className:"px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:"Loading branches..."}):O.map(a=>(0,b.jsxs)(f.Item,{onSelect:()=>U(a),className:ax,children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:T===a?(0,b.jsx)(m.Check,{className:"h-4 w-4"}):null})]},a))]})})]})]}),(0,b.jsx)("div",{className:"flex w-full justify-end sm:w-auto",children:(0,b.jsx)("button",{type:"button",onClick:()=>H({projectId:M??void 0,...ag?{baseBranch:T||N?.defaultBranch||void 0}:{branch:T||N?.defaultBranch||void 0},issueId:V.trim()||void 0,useWorktree:ag,permissionMode:am}),disabled:D||!M,className:"inline-flex min-h-[29px] items-center justify-center rounded-[3px] bg-[var(--vk-bg-hover)] px-[8px] py-[6.5px] text-[16px] leading-[16px] text-[var(--vk-text-strong)] transition-colors hover:bg-[var(--vk-bg-active)] disabled:cursor-not-allowed disabled:opacity-50",children:D?(0,b.jsx)(v.Loader2,{className:"h-4 w-4 animate-spin"}):"Launch"})})]}),K&&!K.ready?(0,b.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("p",{className:"text-[13px] text-[var(--vk-text-strong)]",children:[J," is not ready on this machine."]}),(0,b.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:K.installed?"Finish login or local setup to load models and start streaming sessions.":"Install the CLI first, then its models and authentication state will appear here."})]}),(0,b.jsx)("button",{type:"button",onClick:()=>G(d),className:"inline-flex h-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)]",children:K.installed?"Open setup":"Open install"})]})}):null,(0,b.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,b.jsx)("input",{type:"checkbox",checked:ag,onChange:a=>ah(a.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,b.jsxs)("span",{children:["Use worktree isolation",(0,b.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"If unchecked, the session runs directly on the selected branch in the local repo."})]})]})]})})]}),E&&(0,b.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:E})]})})});a.s(["default",()=>am],69436)}];
1
+ module.exports=[69436,a=>{"use strict";var b=a.i(87924),c=a.i(19721),d=a.i(50944),e=a.i(72131),f=a.i(27736),g=a.i(67299),h=a.i(13846),i=a.i(76172),j=a.i(82434),k=a.i(67900),l=a.i(70106);let m=(0,l.default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var n=a.i(33441),o=a.i(5784),p=a.i(77156),q=a.i(96101),r=a.i(34531),s=a.i(63416);let t=(0,l.default)("hand",[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]]),u=(0,l.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);var v=a.i(96221),w=a.i(39920),x=a.i(72162),y=a.i(65385),z=a.i(53603),A=a.i(57941),B=a.i(61693),C=a.i(72865),D=a.i(35757),E=a.i(84384);let F=new Set,G=[],H=!0,I=0,J=null,K=null;function L(){for(let a of F)a()}function M(){return G.length>0&&Date.now()-I<3e4}function N(){null===K&&(K=window.setTimeout(()=>{K=null,O(!0)},1e4))}async function O(a=!1){if(!a&&M()){H&&(H=!1,L());return}return J||(H=!0,L(),J=(async()=>{try{var a;let b=await fetch("/api/agents",{cache:"no-store"});if(!b.ok)throw Error(`Failed to fetch agents: ${b.status}`);let c=(a=await b.json(),Array.isArray(a)?a:a&&"object"==typeof a&&"agents"in a&&Array.isArray(a.agents)?a.agents:[]);c.length>0?(G=c,I=Date.now(),null!==K&&(window.clearTimeout(K),K=null)):N()}catch{N()}finally{H=!1,J=null,L()}})())}var P=a.i(17402),Q=a.i(48171),R=a.i(62586);a.i(28257);var S=a.i(52806),T=a.i(87837),U=a.i(87315);let V="claude-code";function W(a){let b=a?.trim();return b&&b.length>0?b:null}let X=(0,c.default)(()=>a.A(60928).then(a=>a.SessionDetail),{loadableGenerated:{modules:[31437]},loading:()=>(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading session..."})}),Y=(0,c.default)(()=>a.A(21994).then(a=>a.WorkspaceSidebarPanel),{loadableGenerated:{modules:[4886]},loading:()=>(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace panel..."})}),Z=(0,c.default)(()=>a.A(86672).then(a=>a.WorkspaceOverview),{loadableGenerated:{modules:[58641]},loading:()=>(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace..."})}),$=(0,c.default)(()=>a.A(67645).then(a=>a.WorkspaceKanban),{loadableGenerated:{modules:[96933]},loading:()=>(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading board..."})}),_=(0,c.default)(()=>a.A(75873).then(a=>a.NewWorkspaceDialog),{loadableGenerated:{modules:[41280]},loading:()=>null}),aa=(0,c.default)(()=>a.A(75873).then(a=>a.SettingsDialog),{loadableGenerated:{modules:[41280]},loading:()=>null});function ab(a){let b=(0,A.getKnownAgent)(a);return b?.label?b.label:a.split(/[-_\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}function ac(a){return a.issueId?.trim()||a.taskRef?.trim()||a.id}function ad(a){let[b]=a.split(" - ");return(b??a).trim()}function ae(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function af(a,b){let c=ae(a),d=ae(c.notifications),e=d.soundFile,f="string"==typeof c.codingAgent&&c.codingAgent.trim().length>0?c.codingAgent.trim():b,g="string"==typeof c.ide&&c.ide.trim().length>0?c.ide.trim():"vscode",h="string"==typeof c.markdownEditor&&c.markdownEditor.trim().length>0?c.markdownEditor.trim():"obsidian",i="string"==typeof c.markdownEditorPath?c.markdownEditorPath.trim():"";return{onboardingAcknowledged:!0===c.onboardingAcknowledged,codingAgent:f,ide:g,markdownEditor:h,markdownEditorPath:i,modelAccess:(0,T.normalizeModelAccessPreferences)(c.modelAccess),notifications:{soundEnabled:!1!==d.soundEnabled,soundFile:null===e?null:"string"==typeof e&&e.trim().length>0?e.trim():"abstract-sound-4"}}}function ag(a,b){return b[(0,z.normalizeAgentName)(a)]??null}function ah(a){if(!a)return[];let b=[],c=new Set;for(let d of Object.values(a.modelsByAccess))if(Array.isArray(d))for(let a of d)!a?.id||c.has(a.id)||(c.add(a.id),b.push(a));return b}function ai(a,b,c){let d=ag(a,c),e=(0,g.resolveAgentModelAccess)(a,b),f=(0,U.getRuntimeCatalogModelsForAccess)(d,e),h=(0,g.getAvailableAgentModels)(a,b),i=[],j=new Set;for(let a of[...f,...h,...ah(d)])!a?.id||j.has(a.id)||(j.add(a.id),i.push(a));return i}function aj(a,b,c,d){let e=ag(a,c),f=(0,g.resolveAgentModelAccess)(a,b);return(0,U.getRuntimeCatalogDefaultReasoning)(e,d,f)??(0,g.getDefaultAgentReasoningEffort)(a,b)??""}function ak(a,b,c,d,e){let f,h,i=d?.trim()??"",j=e?.trim().toLowerCase()??"",k=ai(a,b,c),l=(f=ag(a,c),h=(0,g.resolveAgentModelAccess)(a,b),(0,U.getRuntimeCatalogDefaultModelForAccess)(f,h)??(0,g.getDefaultAgentModel)(a,b)??ah(f)[0]?.id??""),m=d=>{let e=function(a,b,c,d){let e=ag(a,c),f=(0,g.resolveAgentModelAccess)(a,b),h=(0,U.getRuntimeCatalogReasoningOptions)(e,d,f),i=(0,g.getAvailableAgentReasoningEfforts)(a,b),j=[],k=new Set;for(let a of[...h,...i])!a?.id||k.has(a.id)||(k.add(a.id),j.push(a));return j}(a,b,c,d);return j.length>0&&e.some(a=>a.id===j)?j:aj(a,b,c,d)};return i.length>0?k.some(a=>a.id===i)?{catalogModel:i,customModel:"",reasoningEffort:m(i)}:{catalogModel:l,customModel:i,reasoningEffort:m(i)}:{catalogModel:l,customModel:"",reasoningEffort:m(l)}}function al(a){let b=a.customModel.trim();if(b.length>0)return b;let c=a.catalogModel.trim();return c.length>0?c:void 0}function am(){let a=(0,d.useRouter)(),c=(0,d.usePathname)(),f=(0,d.useSearchParams)(),g=(0,e.useMemo)(()=>W(f.get("project")),[f]),h=(0,e.useMemo)(()=>W(f.get("session")),[f]),i=(0,e.useMemo)(()=>"board"===f.get("view")?"board":"chat",[f]),j=(0,e.useMemo)(()=>{let a=f.get("tab");return"overview"!==a&&"preview"!==a&&"diff"!==a},[f]),{projects:k,loading:l,error:m,refresh:n}=(0,D.useConfig)(),{agents:o}=function(){let[a,b]=(0,e.useState)({agents:[],loading:!0});return(0,e.useEffect)(()=>{let a=()=>b({agents:G,loading:H});F.add(a),a(),O();let c=()=>{M()||O(!0)},d=()=>{"visible"!==document.visibilityState||M()||O(!0)};return window.addEventListener("focus",c),document.addEventListener("visibilitychange",d),()=>{F.delete(a),window.removeEventListener("focus",c),document.removeEventListener("visibilitychange",d)}},[]),a}(),{mobileSidebarOpen:p,desktopSidebarOpen:q,toggleSidebar:r,closeSidebarOnMobile:s,syncSidebarForViewport:t}=(0,P.useResponsiveSidebarStateWithOptions)({initialDesktopOpen:!1}),u=p||q,v=!h||u,{sessions:w,loading:x,error:y,refresh:I}=(0,C.useSessions)(g,{enabled:v}),[J,K]=(0,e.useState)(""),[L,N]=(0,e.useState)(""),[S,U]=(0,e.useState)({catalogModel:"",customModel:"",reasoningEffort:""}),[ac,ad]=(0,e.useState)(!1),[ae,ag]=(0,e.useState)(null),[ah,ai]=(0,e.useState)(!1),[aj,am]=(0,e.useState)(!1),[ao,ap]=(0,e.useState)(null),[aq,ar]=(0,e.useState)(null),[as,at]=(0,e.useState)(!0),[au,av]=(0,e.useState)(!1),[aw,ax]=(0,e.useState)(null),[ay,az]=(0,e.useState)(!1),[aA,aB]=(0,e.useState)(!1),[aC,aD]=(0,e.useState)(()=>h?[h]:[]),[aE,aF]=(0,e.useState)(!1);(0,e.useEffect)(()=>{},[]);let aG=!!h&&j&&aE,aH=(0,e.useMemo)(()=>new Map(w.map(a=>[a.id,a])),[w]),{session:aI,loading:aJ,error:aK}=(0,B.useSession)(h,null,{enabled:!!h}),aL=ae??m??y??aK??aw,aM=(0,e.useMemo)(()=>{let a=new Map;for(let b of w){let c=a.get(b.projectId);c?c.push(b):a.set(b.projectId,[b])}return a},[w]),aN=(0,e.useCallback)((b,d="push")=>{let e=new URLSearchParams(f.toString()),g=(a,b)=>{let c="string"==typeof b?b.trim():"";c.length>0?e.set(a,c):e.delete(a)};"projectId"in b&&g("project",b.projectId),"sessionId"in b&&g("session",b.sessionId),"workspaceView"in b&&("board"===b.workspaceView?e.set("view","board"):e.delete("view")),"tab"in b&&(b.tab&&"chat"!==b.tab?e.set("tab",b.tab):e.delete("tab")),e.has("project")||e.delete("view"),e.has("session")||e.delete("tab");let h=e.toString(),i=h.length>0?`${c}?${h}`:c;"replace"===d?a.replace(i,{scroll:!1}):a.push(i,{scroll:!1})},[c,a,f]);(0,e.useEffect)(()=>{if(!l&&!m){if(0===k.length){null!==g&&aN({projectId:null,workspaceView:null},"replace");return}null===g||k.some(a=>a.id===g)||aN({projectId:h?null:k[0]?.id??null,workspaceView:h?null:i},"replace")}},[m,l,aN,k,g,h,i]),(0,e.useEffect)(()=>{if(h){if(v){if(x||y)return;w.some(a=>a.id===h)||aN({sessionId:null,tab:null},"replace");return}!aJ&&(aI||aN({sessionId:null,tab:null},"replace"))}},[w,aN,v,h,aJ,aI,y,x]),(0,e.useEffect)(()=>{h?aD(a=>[h,...a.filter(a=>a!==h)].slice(0,1)):aD([])},[h]),(0,e.useEffect)(()=>{h&&v&&!x&&!y&&aD(a=>a.filter(a=>a===h||aH.has(a)))},[v,h,aH,y,x]);let aO=(0,e.useMemo)(()=>aI,[aI]),aP=(0,e.useMemo)(()=>k.find(a=>a.id===g)??null,[k,g]),aQ=(0,e.useMemo)(()=>g?aM.get(g)??[]:[],[g,aM]),aR=(0,e.useMemo)(()=>aO?[aO.projectId,aO.branch].filter(Boolean).join(" · "):aP?[aP.id,aP.defaultBranch||"main"].filter(Boolean).join(" · "):"All Projects",[aP,aO]),aS=(0,e.useMemo)(()=>{let a=Array.isArray(o)?o:[],b=new Set;for(let a of A.KNOWN_AGENTS)b.add(a.name);for(let c of a)c.name&&b.add(c.name);for(let a of k)a.agent&&b.add(a.agent);return aq?.codingAgent&&b.add(aq.codingAgent),L&&b.add(L),0===b.size&&b.add(aq?.codingAgent||V),[...b]},[o,aq?.codingAgent,k,L]),aT=(0,e.useMemo)(()=>{let a={};for(let b of A.KNOWN_AGENTS)a[(0,z.normalizeAgentName)(b.name)]={name:b.name,ready:!1,installed:!1,configured:!1,homepage:b.homepage,description:b.description,installHint:b.installHint??null,installUrl:b.installUrl??b.homepage??null,setupUrl:b.setupUrl??b.homepage??null};for(let b of Array.isArray(o)?o:[]){if(!b.name)continue;let c=(0,z.normalizeAgentName)(b.name),d=(0,A.getKnownAgent)(b.name);a[(0,z.normalizeAgentName)(b.name)]={name:d?.name??b.name,ready:!0===b.ready,installed:!1!==b.installed,configured:!0===b.configured,homepage:"string"==typeof b.homepage?b.homepage:d?.homepage??a[c]?.homepage??null,description:"string"==typeof b.description?b.description:d?.description??a[c]?.description??null,installHint:"string"==typeof b.installHint?b.installHint:d?.installHint??a[c]?.installHint??null,installUrl:"string"==typeof b.installUrl?b.installUrl:d?.installUrl??a[c]?.installUrl??null,setupUrl:"string"==typeof b.setupUrl?b.setupUrl:d?.setupUrl??a[c]?.setupUrl??null}}return a},[o]),aU=(0,e.useMemo)(()=>{let a={};for(let b of Array.isArray(o)?o:[])b.name&&b.runtimeModelCatalog&&(a[(0,z.normalizeAgentName)(b.name)]=b.runtimeModelCatalog);return a},[o]),aV=(0,e.useCallback)(a=>{let b=aT[(0,z.normalizeAgentName)(a)],c=(0,A.getKnownAgent)(a);b?.installed?b?.setupUrl??c?.setupUrl??b?.homepage??c?.homepage:b?.installUrl??c?.installUrl??b?.setupUrl??c?.setupUrl??b?.homepage??c?.homepage},[aT]);async function aW(a,b){av(!0),ax(null);try{let c=await fetch("/api/preferences",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to save preferences: ${c.status}`);let e=af(d?.preferences,a.codingAgent||V);return ar(e),N(e.codingAgent),b?.closeDialog!==!1&&az(!1),!0}catch(a){return ax(a instanceof Error?a.message:"Failed to save preferences"),!1}finally{av(!1)}}(0,e.useEffect)(()=>{let a=!1;return async function(){at(!0);try{let b=await fetch("/api/preferences"),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to load preferences: ${b.status}`);if(a)return;let d=af(c?.preferences,V);ar(d),ax(null)}catch(b){if(a)return;ar(af(null,V)),ax(b instanceof Error?b.message:"Failed to load preferences")}finally{a||at(!1)}}(),()=>{a=!0}},[]),(0,e.useEffect)(()=>{aq&&(L||N(aq.codingAgent))},[aq,L]),(0,e.useEffect)(()=>{as||aq&&(aq.onboardingAcknowledged||az(!0))},[aq,as]),(0,e.useEffect)(()=>{if(0!==aS.length&&(!L||!aS.includes(L))){let a=aq?.codingAgent||V;N(aS.includes(a)?a:aS[0]??V)}},[aS,aq?.codingAgent,L]),(0,e.useEffect)(()=>{let a=L||aP?.agent||aq?.codingAgent||V,b=aP&&(0,z.normalizeAgentName)(aP.agent)===(0,z.normalizeAgentName)(a)?aP.agentModel:null,c=aP&&(0,z.normalizeAgentName)(aP.agent)===(0,z.normalizeAgentName)(a)?aP.agentReasoningEffort:null;U(ak(a,aq?.modelAccess??(0,T.normalizeModelAccessPreferences)(null),aU,b,c))},[aq?.modelAccess,aq?.codingAgent,aU,L,aP]);let aX=(0,e.useCallback)(()=>{ap(null),ai(!0),t()},[t]);(0,e.useEffect)(()=>{aA&&!ay&&(aB(!1),aX())},[aA,ay]);let aY=(0,e.useCallback)(async a=>{let b,c=J.trim(),d=al(S),e=(b=S.reasoningEffort.trim().toLowerCase()).length>0?b:void 0,f=a?.projectId??g??k[0]?.id;if(!f)return void ag("No project is configured in conductor.yaml");let h=L||V,i=aT[(0,z.normalizeAgentName)(h)]??null;if(i&&!i.ready){ag(i.installed?`${ab(h)} is not ready yet. Finish setup or authentication and try again.`:`${ab(h)} is not installed on this machine yet. Open setup and try again.`),aV(h);return}ad(!0),ag(null);try{let b=await fetch("/api/spawn",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:f,prompt:c,...a?.issueId?.trim()?{issueId:a.issueId.trim()}:{},agent:h,...a?.branch?{branch:a.branch}:{},...a?.baseBranch?{baseBranch:a.baseBranch}:{},..."boolean"==typeof a?.useWorktree?{useWorktree:a.useWorktree}:{},...a?.permissionMode?{permissionMode:a.permissionMode}:{},...d?{model:d}:{},...e?{reasoningEffort:e}:{}})}),g=await b.json().catch(()=>null);if(!b.ok)throw Error(g?.error??`Failed to create workspace: ${b.status}`);if(!g?.session?.id)throw Error("Session created but response is missing session id");K(""),t(),await I(),aN({projectId:f,sessionId:g.session.id,tab:null},"push")}catch(a){ag(a instanceof Error?a.message:"Failed to create workspace")}finally{ad(!1)}},[aT,S,aN,aV,k,J,I,L,g,t]),aZ=(0,e.useCallback)(async a=>{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/archive`,{method:"POST"}),c=await b.json().catch(()=>null);if(404===b.status&&(b=await fetch(`/api/sessions/${encodeURIComponent(a)}/actions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"archive"})}),c=await b.json().catch(()=>null)),!b.ok)throw Error(c?.error??`Failed to archive session: ${b.status}`);h===a&&aN({sessionId:null,tab:null},"replace"),await I()},[aN,I,h]),a$=(0,e.useCallback)(async a=>{am(!0),ap(null);try{let b=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error??`Failed to add workspace: ${b.status}`);let d=c?.project?.id;if(!d)throw Error("Workspace created but response is missing project id");await n(),K(""),t(),ai(!1),aN({projectId:d,sessionId:null,workspaceView:"chat",tab:null},"push")}catch(a){ap(a instanceof Error?a.message:"Failed to add workspace")}finally{am(!1)}},[aN,n,t]),a_=!as&&!!aq&&!aq.onboardingAcknowledged,a0=aq??af(null,L||V),a1=L||a0.codingAgent||V,a2=g??aI?.projectId??null;(0,E.useNotificationAlerts)({enabled:!as,projectId:a2,preferences:a0.notifications});let a3=(0,e.useCallback)(a=>{aN({projectId:a,sessionId:null,workspaceView:a?i:null,tab:null},"push"),N(aq?.codingAgent||V),s()},[s,aN,aq?.codingAgent,i]),a4=(0,e.useCallback)((a,b)=>{let c=aH.get(a)??null;aN({projectId:c?.projectId??g??null,sessionId:a,tab:b?.tab??null},"push"),s()},[s,aN,g,aH]),a5=(0,e.useCallback)(()=>{az(!0)},[]),a6=(0,e.useCallback)(()=>{aj||ai(!1)},[aj]),a7=(0,e.useCallback)(()=>{au||a_||(az(!1),ax(null))},[a_,au]),a8=(0,e.useCallback)(async a=>{let b=encodeURIComponent(a),c=await fetch(`/api/repositories/${b}`,{method:"DELETE"});(404===c.status||405===c.status)&&(c=await fetch(`/api/repositories?id=${b}`,{method:"DELETE"}));let d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to unlink project (${c.status})`);await n()},[n]),a9=(0,e.useMemo)(()=>u?(0,b.jsx)(Y,{projects:k,selectedProjectId:g,onSelectProject:a3,onUnlinkProject:a8,sessions:w,selectedSessionId:h,onSelectSession:a4,onArchiveSession:aZ,onCreateWorkspace:aX}):null,[w,aZ,a3,a4,a8,aX,k,g,h,u]),ba=(0,e.useMemo)(()=>"board"===i?(0,b.jsx)($,{projectId:g,defaultAgent:a1,agentOptions:aS,projectSessions:aQ}):(0,b.jsx)(an,{prompt:J,setPrompt:K,selectedAgent:a1,setSelectedAgent:N,agentStates:aT,modelSelection:S,setModelSelection:U,modelAccess:a0.modelAccess,runtimeModelCatalogs:aU,agentOptions:aS,projects:k,selectedProjectId:g,onSelectProject:a3,projectLabel:g??"All projects",hasProject:k.length>0,creating:ac,error:aL,onOpenAddWorkspace:aX,onOpenAgentSetup:aV,onCreate:aY}),[aS,aT,ac,aY,S,aV,aX,k,aQ,J,a1,a0.modelAccess,aU,g,K,aL,i]),bb=(0,e.useMemo)(()=>aP?(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,b.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 py-3 sm:px-4",children:(0,b.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Project Workspace"}),(0,b.jsxs)("p",{className:"mt-1 truncate text-[14px] text-[var(--vk-text-strong)]",children:[aP.id," · ",aP.defaultBranch||"main"]})]}),(0,b.jsxs)("div",{className:"inline-flex w-fit rounded-[6px] border border-[var(--vk-border)] p-1",children:[(0,b.jsx)("button",{type:"button",onClick:()=>aN({projectId:aP.id,workspaceView:"chat"},"replace"),className:`min-h-[32px] rounded-[4px] px-3 text-[13px] ${"chat"===i?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"CLI launchpad"}),(0,b.jsx)("button",{type:"button",onClick:()=>aN({projectId:aP.id,workspaceView:"board"},"replace"),className:`min-h-[32px] rounded-[4px] px-3 text-[13px] ${"board"===i?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"})]})]})}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:ba})]}):ba,[aN,aP,ba,i]),bc=(0,e.useMemo)(()=>h?(0,b.jsx)("div",{className:"relative min-h-0 h-full min-w-0 flex-1 overflow-hidden",children:aC.map(a=>{let c=a===h,d=c?aO:aH.get(a)??null;return(0,b.jsx)("div",{"aria-hidden":!c,className:c?"relative h-full min-w-0":"pointer-events-none absolute inset-0 overflow-hidden invisible",children:(0,b.jsx)(X,{sessionId:a,initialSession:d,active:c,immersiveMobileMode:c&&aG,onOpenSidebar:r})},a)})}):null!==g?(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:bb}):(0,b.jsx)("div",{className:"flex h-full min-h-0 w-full flex-1 overflow-hidden",children:(0,b.jsx)(Z,{projects:k,sessions:w,onCreateWorkspace:aX,onSelectSession:a4})}),[w,aC,bb,aO,h,a4,aX,k,g,aH,r]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(Q.AppShell,{mobileSidebarOpen:p,desktopSidebarOpen:q,onToggleSidebar:r,hideMobileSidebarToggle:aG,sidebar:a9,children:[aG?null:(0,b.jsx)(R.TopBar,{title:aR,onOpenPreferences:a5}),(0,b.jsx)("div",{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden ${aG?"bg-[#060404]":""}`,children:bc})]}),ah?(0,b.jsx)(_,{open:ah,onClose:a6,onCreate:a$,creating:aj,error:ao,defaultAgent:a1,agentOptions:aS}):null,ay||a_?(0,b.jsx)(aa,{open:ay,mode:a_?"onboarding":"settings",creating:au,error:aw,current:a0,projectCount:k.length,agentOptions:aS,agentStates:aT,runtimeModelCatalogs:aU,onRepositoriesChanged:n,onOnboardingComplete:({needsProject:a})=>{a&&aB(!0)},onOpenAgentSetup:aV,onClose:a7,onSave:aW}):null]})}y.Settings2,x.SlidersHorizontal,r.FolderGit2,k.Building2,s.FolderKanban,j.Bot,w.PlugZap,x.SlidersHorizontal,x.SlidersHorizontal,r.FolderGit2,[{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"cursor",label:"Cursor"},{id:"windsurf",label:"Windsurf"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"antigravity",label:"Antigravity"},{id:"custom",label:"Custom"}].filter(a=>"custom"!==a.id),y.Settings2,h.SiObsidian,i.VscVscode,h.SiNotion,y.Settings2;let an=(0,e.memo)(function({prompt:a,setPrompt:c,selectedAgent:d,setSelectedAgent:g,agentStates:h,modelSelection:i,setModelSelection:j,modelAccess:k,runtimeModelCatalogs:l,agentOptions:r,projects:s,selectedProjectId:w,onSelectProject:y,projectLabel:B,hasProject:C,creating:D,error:E,onOpenAddWorkspace:F,onOpenAgentSetup:G,onCreate:H}){let I=(0,e.useMemo)(()=>{let a=new Map(A.KNOWN_AGENT_ORDER.map((a,b)=>[a,b]));return[...r].sort((b,c)=>{let d=a.get((0,z.normalizeAgentName)(b))??Number.MAX_SAFE_INTEGER,e=a.get((0,z.normalizeAgentName)(c))??Number.MAX_SAFE_INTEGER;return d!==e?d-e:ab(b).localeCompare(ab(c))})},[r]),J=ab(d),K=h[(0,z.normalizeAgentName)(d)]??null,L=(0,e.useMemo)(()=>[...s].sort((a,b)=>a.id.localeCompare(b.id)),[s]),M=w??L[0]?.id??null,N=(0,e.useMemo)(()=>L.find(a=>a.id===M)??null,[M,L]),[O,P]=(0,e.useState)([]),[Q,R]=(0,e.useState)(!1),[T,U]=(0,e.useState)(""),[V,W]=(0,e.useState)(""),[X,Y]=(0,e.useState)([]),[Z,$]=(0,e.useState)(!1),[_,aa]=(0,e.useState)(!1),[ae,af]=(0,e.useState)(!1),[ag,ah]=(0,e.useState)(!1),[am,an]=(0,e.useState)("default");(0,e.useEffect)(()=>{if(!N){P([]),U(""),R(!1);return}P([]),U(N.defaultBranch.trim()||"main"),R(!1)},[N]),(0,e.useEffect)(()=>{if(!M){Y([]),W(""),$(!1);return}Y([]),W(""),$(!1)},[M]);let ao=(0,e.useCallback)(async()=>{if(!N)return;let a=N.defaultBranch.trim()||"main";if(!N.path?.trim()){P([a]),U(b=>b.trim().length>0?b:a);return}R(!0);try{let b=new URLSearchParams({path:N.path}),c=await fetch(`/api/workspaces/branches?${b.toString()}`),d=await c.json().catch(()=>null),e=Array.isArray(d?.branches)?d.branches.filter(a=>"string"==typeof a&&a.trim().length>0):[],f="string"==typeof d?.defaultBranch&&d.defaultBranch.trim().length>0?d.defaultBranch.trim():a,g=e.length>0?e:[f];P(g),U(a=>a.trim().length>0&&g.includes(a)?a:f)}catch{P([a]),U(a)}finally{R(!1)}},[N]),ap=(0,e.useCallback)(async()=>{if(M){$(!0);try{let a=await fetch(`/api/boards?projectId=${encodeURIComponent(M)}`),b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to load tasks: ${a.status}`);let c=(Array.isArray(b?.columns)?b.columns:[]).flatMap(a=>Array.isArray(a.tasks)?a.tasks:[]),d=new Set,e=c.filter(a=>{let b=ac(a);return!(!b||d.has(b))&&(d.add(b),!0)});Y(e),W(a=>e.some(b=>ac(b)===a)?a:"")}catch{Y([]),W("")}finally{$(!1)}}},[M]);(0,e.useEffect)(()=>{!ae||Q||O.length>0||ao()},[Q,ae,O.length,ao]),(0,e.useEffect)(()=>{!_||Z||X.length>0||ap()},[X.length,ap,Z,_]);let aq=(0,e.useMemo)(()=>ai(d,k,l),[k,l,d]),ar=(0,e.useMemo)(()=>X.find(a=>ac(a)===V)??null,[X,V]),as=al(i)??"",at=(0,e.useMemo)(()=>{let a=new Set,b=[],c=as.trim();for(let c of aq)a.has(c.id)||(a.add(c.id),b.push(c));return c&&!a.has(c)&&(a.add(c),b.unshift({id:c,label:function(a,b){let c=b.trim(),d=(0,z.normalizeAgentName)(a);if(!c)return c;if("claude-code"===d){let a=c.toLowerCase();if("opus"===a)return"Claude Opus";if("sonnet"===a)return"Claude Sonnet";if("haiku"===a)return"Claude Haiku";let b=a.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(b){let a=b[1];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${b[2]}.${b[3]}`}}return c.split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(a)?a:a[0]?.toUpperCase()+a.slice(1)).join("-")}(d,c),description:"Current selected model.",access:[]})),b},[aq,d,as]),au=(0,e.useMemo)(()=>!K||K.ready||as?as?at.find(a=>a.id===as)?.label??as:"Default":"Setup required",[at,K,as]),av="z-50 min-w-[240px] max-w-[calc(100vw-32px)] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)] sm:max-w-none",aw=`${av} max-h-[min(360px,50vh)] overflow-y-auto`,ax="flex min-h-[44px] cursor-default items-center gap-2 rounded-[3px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)] sm:min-h-[36px]",ay=[{id:"default",label:"Default",icon:x.SlidersHorizontal},{id:"auto",label:"Auto",icon:m},{id:"ask",label:"Ask",icon:t},{id:"plan",label:"Plan",icon:u}],az=ay.find(a=>a.id===am)??ay[0],aA=a=>{let b=a.repo?.trim();if(b){let a=b.split("/").filter(Boolean),c=a[a.length-1]?.replace(/\.git$/i,"");if(c)return c}return a.id},aB=N?aA(N):null,aC=N?`${aB} \xb7 ${T||N.defaultBranch||"main"}`:C?B:"Select project",aD=ar?.taskRef?.trim()||"Link task",aE=ar?ad(ar.text):"Choose a task, bug, or issue from this project's board";return(0,b.jsx)("section",{className:"flex h-full min-h-0 items-start justify-center overflow-auto bg-[var(--vk-bg-main)] px-3 py-4 sm:items-center sm:px-6 sm:py-6",children:(0,b.jsxs)("div",{className:"w-full max-w-[768px]",children:[(0,b.jsx)("h1",{className:"pb-4 text-center text-[30px] font-medium leading-[34px] tracking-[-0.7px] text-[var(--vk-text-strong)] sm:text-[36px] sm:leading-[40px] sm:tracking-[-0.9px]",children:"What would you like to work on?"}),(0,b.jsxs)("div",{className:"mx-auto w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-[var(--vk-border)] px-2 pb-[9px] pt-2",children:[(0,b.jsx)(S.AgentTileIcon,{seed:{label:d},className:"h-[25px] w-[25px] border-none bg-transparent"}),(0,b.jsxs)(f.Root,{children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",className:"inline-flex h-[31px] max-w-[70vw] items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] sm:max-w-none","aria-label":"Select agent",children:[(0,b.jsx)("span",{className:"truncate pr-1",children:J}),(0,b.jsx)(o.ChevronDown,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"start",sideOffset:6,className:aw,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Agents"}),I.map(a=>{let c=a===d,e=h[(0,z.normalizeAgentName)(a)]??null;return(0,b.jsxs)(f.Item,{onSelect:()=>g(a),className:ax,children:[(0,b.jsx)(S.AgentTileIcon,{seed:{label:a},className:"h-6 w-6 border-none bg-transparent"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{children:ab(a)}),e?.ready?null:(0,b.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--vk-text-muted)]",children:e?.installed?"Setup required":"Not installed"})]}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:c?(0,b.jsx)(n.Check,{className:"h-4 w-4"}):null})]},a)})]})})]}),(0,b.jsxs)(f.Root,{onOpenChange:aa,children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",disabled:!M,className:"ml-auto flex h-[31px] min-w-[220px] items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-left disabled:cursor-not-allowed disabled:opacity-50 sm:ml-0 sm:w-[286px]","aria-label":"Link task",children:[(0,b.jsx)("span",{className:"pr-2 text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Task"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)]",children:aD}),(0,b.jsx)(o.ChevronDown,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"end",side:"bottom",sideOffset:6,className:aw,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Link task"}),(0,b.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:aE}),(0,b.jsxs)(f.Item,{onSelect:()=>W(""),className:ax,children:[(0,b.jsx)("span",{children:"No linked task"}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:V?null:(0,b.jsx)(n.Check,{className:"h-4 w-4"})})]}),Z?(0,b.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Loading board tasks..."}):X.length>0?X.map(a=>{let c=ac(a),d=ad(a.text),e=[a.type,a.priority].filter(Boolean).join(" · ");return(0,b.jsxs)(f.Item,{onSelect:()=>W(c),className:`${ax} min-w-[320px] items-start`,children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate",children:a.taskRef?.trim()||d}),(0,b.jsxs)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:[a.taskRef?.trim()?d:c,e?` \xb7 ${e}`:""]})]}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:V===c?(0,b.jsx)(n.Check,{className:"h-4 w-4"}):null})]},c)}):(0,b.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"No existing tasks were found for this project."})]})})]})]}),(0,b.jsx)("div",{className:"rounded-[3.5px]",children:(0,b.jsxs)("div",{className:"flex flex-col gap-3 p-2",children:[(0,b.jsxs)("div",{className:"relative w-full",children:[(0,b.jsx)("textarea",{value:a,onChange:a=>c(a.target.value),placeholder:"Optional launch prompt. Leave empty to open the native CLI.",rows:1,className:"min-h-[24px] w-full resize-none bg-transparent pr-8 text-[16px] leading-[24px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"}),(0,b.jsx)("button",{type:"button","aria-label":"Preview",className:"absolute right-0 top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,b.jsx)(p.Eye,{className:"h-[14px] w-[14px]"})})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-2",children:[(0,b.jsxs)(f.Root,{children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:"inline-flex h-[29px] w-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Select workspace or project",children:(0,b.jsx)(x.SlidersHorizontal,{className:"h-[15px] w-[15px]"})})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"start",sideOffset:6,className:aw,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Projects"}),L.map(a=>{let c=aA(a),d=a.id!==c?a.id:a.path?.trim()||a.repo?.trim()||null;return(0,b.jsxs)(f.Item,{onSelect:()=>y(a.id),className:`${ax} min-w-[280px] items-start`,children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate",children:c}),d?(0,b.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:d}):null]}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:a.id===M?(0,b.jsx)(n.Check,{className:"h-4 w-4"}):null})]},a.id)}),(0,b.jsx)(f.Separator,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,b.jsxs)(f.Item,{onSelect:F,className:ax,children:[(0,b.jsx)(q.FolderOpen,{className:"h-4 w-4"}),(0,b.jsx)("span",{children:"Add Workspace"})]})]})})]}),(0,b.jsxs)(f.Root,{children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,b.jsx)("span",{children:au}),(0,b.jsx)(o.ChevronDown,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"start",sideOffset:6,className:av,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Model"}),(0,b.jsxs)(f.Item,{onSelect:()=>j(ak(d,k,l,N?.agentModel,N?.agentReasoningEffort)),className:ax,children:[(0,b.jsx)("span",{children:"Default"}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:as?null:(0,b.jsx)(n.Check,{className:"h-4 w-4"})})]}),at.map(a=>(0,b.jsxs)(f.Item,{onSelect:()=>j({catalogModel:a.id,customModel:"",reasoningEffort:aj(d,k,l,a.id)}),className:ax,children:[(0,b.jsx)("span",{children:a.label}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:as===a.id?(0,b.jsx)(n.Check,{className:"h-4 w-4"}):null})]},a.id)),0===at.length?(0,b.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Models will appear here after the selected agent is installed and its runtime catalog is detected."}):null,K&&!K.ready?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,b.jsx)("button",{type:"button",onClick:()=>G(d),className:"flex w-full items-center rounded-[3px] px-3 py-2 text-left text-[13px] text-[var(--vk-orange)] transition hover:bg-[var(--vk-bg-hover)]",children:K.installed?"Open setup":"Open install guide"})]}):null]})})]}),(0,b.jsxs)(f.Root,{children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,b.jsx)("span",{children:az.label}),(0,b.jsx)(o.ChevronDown,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"start",sideOffset:6,className:av,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Permissions"}),ay.map(({id:a,label:c,icon:d})=>(0,b.jsxs)(f.Item,{onSelect:()=>an(a),className:ax,children:[(0,b.jsx)(d,{className:"h-4 w-4"}),(0,b.jsx)("span",{children:c}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:am===a?(0,b.jsx)(n.Check,{className:"h-4 w-4"}):null})]},a))]})})]}),(0,b.jsxs)(f.Root,{onOpenChange:af,children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",disabled:!N,className:"inline-flex min-h-[29px] max-w-[320px] items-center justify-center truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:text-[var(--vk-text-strong)] disabled:cursor-not-allowed disabled:opacity-50",children:aC})}),(0,b.jsx)(f.Portal,{children:(0,b.jsxs)(f.Content,{align:"start",side:"bottom",sideOffset:6,avoidCollisions:!1,className:aw,children:[(0,b.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Branch"}),aB?(0,b.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:aB}):null,Q?(0,b.jsx)("div",{className:"px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:"Loading branches..."}):O.map(a=>(0,b.jsxs)(f.Item,{onSelect:()=>U(a),className:ax,children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:T===a?(0,b.jsx)(n.Check,{className:"h-4 w-4"}):null})]},a))]})})]})]}),(0,b.jsx)("div",{className:"flex w-full justify-end sm:w-auto",children:(0,b.jsx)("button",{type:"button",onClick:()=>H({projectId:M??void 0,...ag?{baseBranch:T||N?.defaultBranch||void 0}:{branch:T||N?.defaultBranch||void 0},issueId:V.trim()||void 0,useWorktree:ag,permissionMode:am}),disabled:D||!M,className:"inline-flex min-h-[29px] items-center justify-center rounded-[3px] bg-[var(--vk-bg-hover)] px-[8px] py-[6.5px] text-[16px] leading-[16px] text-[var(--vk-text-strong)] transition-colors hover:bg-[var(--vk-bg-active)] disabled:cursor-not-allowed disabled:opacity-50",children:D?(0,b.jsx)(v.Loader2,{className:"h-4 w-4 animate-spin"}):"Launch"})})]}),K&&!K.ready?(0,b.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("p",{className:"text-[13px] text-[var(--vk-text-strong)]",children:[J," is not ready on this machine."]}),(0,b.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:K.installed?"Finish login or local setup to load models and start streaming sessions.":"Install the CLI first, then its models and authentication state will appear here."})]}),(0,b.jsx)("button",{type:"button",onClick:()=>G(d),className:"inline-flex h-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)]",children:K.installed?"Open setup":"Open install"})]})}):null,(0,b.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,b.jsx)("input",{type:"checkbox",checked:ag,onChange:a=>ah(a.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,b.jsxs)("span",{children:["Use worktree isolation",(0,b.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"If unchecked, the session runs directly on the selected branch in the local repo."})]})]})]})})]}),E&&(0,b.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:E})]})})});a.s(["default",()=>am],69436)}];
2
2
 
3
3
  //# sourceMappingURL=packages_web_src_features_dashboard_DashboardClient_tsx_81ae42b0._.js.map