@a5c-ai/babysitter-observer-dashboard 5.0.1-staging.7a8768ec

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 (513) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +16 -0
  3. package/.next/build-manifest.json +23 -0
  4. package/.next/export-marker.json +6 -0
  5. package/.next/fallback-build-manifest.json +13 -0
  6. package/.next/images-manifest.json +68 -0
  7. package/.next/next-minimal-server.js.nft.json +1 -0
  8. package/.next/next-server.js.nft.json +1 -0
  9. package/.next/package.json +1 -0
  10. package/.next/prerender-manifest.json +114 -0
  11. package/.next/required-server-files.json +334 -0
  12. package/.next/routes-manifest.json +139 -0
  13. package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  14. package/.next/server/app/_global-error/page/build-manifest.json +19 -0
  15. package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  16. package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  17. package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  18. package/.next/server/app/_global-error/page.js +9 -0
  19. package/.next/server/app/_global-error/page.js.map +5 -0
  20. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  21. package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  22. package/.next/server/app/_global-error.html +1 -0
  23. package/.next/server/app/_global-error.meta +15 -0
  24. package/.next/server/app/_global-error.rsc +14 -0
  25. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  26. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  27. package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  28. package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
  29. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  30. package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  31. package/.next/server/app/_not-found/page/build-manifest.json +19 -0
  32. package/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
  33. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  34. package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  35. package/.next/server/app/_not-found/page.js +13 -0
  36. package/.next/server/app/_not-found/page.js.map +5 -0
  37. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  38. package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  39. package/.next/server/app/_not-found.html +1 -0
  40. package/.next/server/app/_not-found.meta +16 -0
  41. package/.next/server/app/_not-found.rsc +19 -0
  42. package/.next/server/app/_not-found.segments/_full.segment.rsc +19 -0
  43. package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  44. package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -0
  45. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -0
  46. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  47. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  48. package/.next/server/app/api/config/route/app-paths-manifest.json +3 -0
  49. package/.next/server/app/api/config/route/build-manifest.json +9 -0
  50. package/.next/server/app/api/config/route/server-reference-manifest.json +4 -0
  51. package/.next/server/app/api/config/route.js +8 -0
  52. package/.next/server/app/api/config/route.js.map +5 -0
  53. package/.next/server/app/api/config/route.js.nft.json +1 -0
  54. package/.next/server/app/api/config/route_client-reference-manifest.js +3 -0
  55. package/.next/server/app/api/digest/route/app-paths-manifest.json +3 -0
  56. package/.next/server/app/api/digest/route/build-manifest.json +9 -0
  57. package/.next/server/app/api/digest/route/server-reference-manifest.json +4 -0
  58. package/.next/server/app/api/digest/route.js +9 -0
  59. package/.next/server/app/api/digest/route.js.map +5 -0
  60. package/.next/server/app/api/digest/route.js.nft.json +1 -0
  61. package/.next/server/app/api/digest/route_client-reference-manifest.js +3 -0
  62. package/.next/server/app/api/runs/[runId]/events/route/app-paths-manifest.json +3 -0
  63. package/.next/server/app/api/runs/[runId]/events/route/build-manifest.json +9 -0
  64. package/.next/server/app/api/runs/[runId]/events/route/server-reference-manifest.json +4 -0
  65. package/.next/server/app/api/runs/[runId]/events/route.js +8 -0
  66. package/.next/server/app/api/runs/[runId]/events/route.js.map +5 -0
  67. package/.next/server/app/api/runs/[runId]/events/route.js.nft.json +1 -0
  68. package/.next/server/app/api/runs/[runId]/events/route_client-reference-manifest.js +3 -0
  69. package/.next/server/app/api/runs/[runId]/route/app-paths-manifest.json +3 -0
  70. package/.next/server/app/api/runs/[runId]/route/build-manifest.json +9 -0
  71. package/.next/server/app/api/runs/[runId]/route/server-reference-manifest.json +4 -0
  72. package/.next/server/app/api/runs/[runId]/route.js +9 -0
  73. package/.next/server/app/api/runs/[runId]/route.js.map +5 -0
  74. package/.next/server/app/api/runs/[runId]/route.js.nft.json +1 -0
  75. package/.next/server/app/api/runs/[runId]/route_client-reference-manifest.js +3 -0
  76. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route/app-paths-manifest.json +3 -0
  77. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route/build-manifest.json +9 -0
  78. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route/server-reference-manifest.json +4 -0
  79. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route.js +8 -0
  80. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route.js.map +5 -0
  81. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route.js.nft.json +1 -0
  82. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route_client-reference-manifest.js +3 -0
  83. package/.next/server/app/api/runs/route/app-paths-manifest.json +3 -0
  84. package/.next/server/app/api/runs/route/build-manifest.json +9 -0
  85. package/.next/server/app/api/runs/route/server-reference-manifest.json +4 -0
  86. package/.next/server/app/api/runs/route.js +9 -0
  87. package/.next/server/app/api/runs/route.js.map +5 -0
  88. package/.next/server/app/api/runs/route.js.nft.json +1 -0
  89. package/.next/server/app/api/runs/route_client-reference-manifest.js +3 -0
  90. package/.next/server/app/api/stream/route/app-paths-manifest.json +3 -0
  91. package/.next/server/app/api/stream/route/build-manifest.json +9 -0
  92. package/.next/server/app/api/stream/route/server-reference-manifest.json +4 -0
  93. package/.next/server/app/api/stream/route.js +8 -0
  94. package/.next/server/app/api/stream/route.js.map +5 -0
  95. package/.next/server/app/api/stream/route.js.nft.json +1 -0
  96. package/.next/server/app/api/stream/route_client-reference-manifest.js +3 -0
  97. package/.next/server/app/api/test/route/app-paths-manifest.json +3 -0
  98. package/.next/server/app/api/test/route/build-manifest.json +9 -0
  99. package/.next/server/app/api/test/route/server-reference-manifest.json +4 -0
  100. package/.next/server/app/api/test/route.js +6 -0
  101. package/.next/server/app/api/test/route.js.map +5 -0
  102. package/.next/server/app/api/test/route.js.nft.json +1 -0
  103. package/.next/server/app/api/test/route_client-reference-manifest.js +3 -0
  104. package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
  105. package/.next/server/app/api/version/route/build-manifest.json +9 -0
  106. package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
  107. package/.next/server/app/api/version/route.js +7 -0
  108. package/.next/server/app/api/version/route.js.map +5 -0
  109. package/.next/server/app/api/version/route.js.nft.json +1 -0
  110. package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
  111. package/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
  112. package/.next/server/app/icon.svg/route/build-manifest.json +9 -0
  113. package/.next/server/app/icon.svg/route.js +7 -0
  114. package/.next/server/app/icon.svg/route.js.map +5 -0
  115. package/.next/server/app/icon.svg/route.js.nft.json +1 -0
  116. package/.next/server/app/icon.svg.body +20 -0
  117. package/.next/server/app/icon.svg.meta +1 -0
  118. package/.next/server/app/index.html +1 -0
  119. package/.next/server/app/index.meta +14 -0
  120. package/.next/server/app/index.rsc +21 -0
  121. package/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
  122. package/.next/server/app/index.segments/_full.segment.rsc +21 -0
  123. package/.next/server/app/index.segments/_head.segment.rsc +6 -0
  124. package/.next/server/app/index.segments/_index.segment.rsc +8 -0
  125. package/.next/server/app/index.segments/_tree.segment.rsc +2 -0
  126. package/.next/server/app/page/app-paths-manifest.json +3 -0
  127. package/.next/server/app/page/build-manifest.json +19 -0
  128. package/.next/server/app/page/next-font-manifest.json +6 -0
  129. package/.next/server/app/page/react-loadable-manifest.json +1 -0
  130. package/.next/server/app/page/server-reference-manifest.json +17 -0
  131. package/.next/server/app/page.js +15 -0
  132. package/.next/server/app/page.js.map +5 -0
  133. package/.next/server/app/page.js.nft.json +1 -0
  134. package/.next/server/app/page_client-reference-manifest.js +3 -0
  135. package/.next/server/app/runs/[runId]/page/app-paths-manifest.json +3 -0
  136. package/.next/server/app/runs/[runId]/page/build-manifest.json +19 -0
  137. package/.next/server/app/runs/[runId]/page/next-font-manifest.json +6 -0
  138. package/.next/server/app/runs/[runId]/page/react-loadable-manifest.json +22 -0
  139. package/.next/server/app/runs/[runId]/page/server-reference-manifest.json +17 -0
  140. package/.next/server/app/runs/[runId]/page.js +15 -0
  141. package/.next/server/app/runs/[runId]/page.js.map +5 -0
  142. package/.next/server/app/runs/[runId]/page.js.nft.json +1 -0
  143. package/.next/server/app/runs/[runId]/page_client-reference-manifest.js +3 -0
  144. package/.next/server/app-paths-manifest.json +16 -0
  145. package/.next/server/chunks/01oi_server_app_api_runs_[runId]_tasks_[effectId]_route_actions_0r72yai.js +3 -0
  146. package/.next/server/chunks/01oi_server_app_api_runs_[runId]_tasks_[effectId]_route_actions_0r72yai.js.map +1 -0
  147. package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_events_route_actions_0~msldk.js +3 -0
  148. package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_events_route_actions_0~msldk.js.map +1 -0
  149. package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_route_actions_09iz0n6.js +3 -0
  150. package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_route_actions_09iz0n6.js.map +1 -0
  151. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_config_route_actions_0~eypoa.js +3 -0
  152. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_config_route_actions_0~eypoa.js.map +1 -0
  153. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_digest_route_actions_04jj5zs.js +3 -0
  154. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_digest_route_actions_04jj5zs.js.map +1 -0
  155. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_runs_route_actions_0~-t-o4.js +3 -0
  156. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_runs_route_actions_0~-t-o4.js.map +1 -0
  157. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_stream_route_actions_0fkmv2_.js +3 -0
  158. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_stream_route_actions_0fkmv2_.js.map +1 -0
  159. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_test_route_actions_00ugava.js +3 -0
  160. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_test_route_actions_00ugava.js.map +1 -0
  161. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_version_route_actions_0~v3ojm.js +3 -0
  162. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_version_route_actions_0~v3ojm.js.map +1 -0
  163. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_icon_svg_route_actions_0yypxkm.js +3 -0
  164. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_icon_svg_route_actions_0yypxkm.js.map +1 -0
  165. package/.next/server/chunks/[root-of-the-server]__0.6bt.6._.js +3 -0
  166. package/.next/server/chunks/[root-of-the-server]__0.6bt.6._.js.map +1 -0
  167. package/.next/server/chunks/[root-of-the-server]__08kwev1._.js +3 -0
  168. package/.next/server/chunks/[root-of-the-server]__08kwev1._.js.map +1 -0
  169. package/.next/server/chunks/[root-of-the-server]__096el.d._.js +3 -0
  170. package/.next/server/chunks/[root-of-the-server]__096el.d._.js.map +1 -0
  171. package/.next/server/chunks/[root-of-the-server]__0_bmt4z._.js +3 -0
  172. package/.next/server/chunks/[root-of-the-server]__0_bmt4z._.js.map +1 -0
  173. package/.next/server/chunks/[root-of-the-server]__0_ln2d2._.js +3 -0
  174. package/.next/server/chunks/[root-of-the-server]__0_ln2d2._.js.map +1 -0
  175. package/.next/server/chunks/[root-of-the-server]__0al3v65._.js +3 -0
  176. package/.next/server/chunks/[root-of-the-server]__0al3v65._.js.map +1 -0
  177. package/.next/server/chunks/[root-of-the-server]__0gf516b._.js +3 -0
  178. package/.next/server/chunks/[root-of-the-server]__0gf516b._.js.map +1 -0
  179. package/.next/server/chunks/[root-of-the-server]__0kdfw4x._.js +3 -0
  180. package/.next/server/chunks/[root-of-the-server]__0kdfw4x._.js.map +1 -0
  181. package/.next/server/chunks/[root-of-the-server]__0pxt00h._.js +3 -0
  182. package/.next/server/chunks/[root-of-the-server]__0pxt00h._.js.map +1 -0
  183. package/.next/server/chunks/[root-of-the-server]__0rubnza._.js +3 -0
  184. package/.next/server/chunks/[root-of-the-server]__0rubnza._.js.map +1 -0
  185. package/.next/server/chunks/[root-of-the-server]__0tn9iud._.js +3 -0
  186. package/.next/server/chunks/[root-of-the-server]__0tn9iud._.js.map +1 -0
  187. package/.next/server/chunks/[root-of-the-server]__0ws5o6i._.js +3 -0
  188. package/.next/server/chunks/[root-of-the-server]__0ws5o6i._.js.map +1 -0
  189. package/.next/server/chunks/[turbopack]_runtime.js +903 -0
  190. package/.next/server/chunks/[turbopack]_runtime.js.map +11 -0
  191. package/.next/server/chunks/node_modules_next_04~_e52._.js +13 -0
  192. package/.next/server/chunks/node_modules_next_04~_e52._.js.map +1 -0
  193. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0nyyph-.js +9 -0
  194. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0nyyph-.js.map +1 -0
  195. package/.next/server/chunks/packages_observer-dashboard_src_lib_02.vvb.._.js +3 -0
  196. package/.next/server/chunks/packages_observer-dashboard_src_lib_02.vvb.._.js.map +1 -0
  197. package/.next/server/chunks/packages_observer-dashboard_src_lib_0rqgpk0._.js +3 -0
  198. package/.next/server/chunks/packages_observer-dashboard_src_lib_0rqgpk0._.js.map +1 -0
  199. package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__global-error_page_actions_0ekoxmy.js +3 -0
  200. package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__global-error_page_actions_0ekoxmy.js.map +1 -0
  201. package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__not-found_page_actions_09b3ti3.js +3 -0
  202. package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__not-found_page_actions_09b3ti3.js.map +1 -0
  203. package/.next/server/chunks/ssr/[root-of-the-server]__006f7~t._.js +4 -0
  204. package/.next/server/chunks/ssr/[root-of-the-server]__006f7~t._.js.map +1 -0
  205. package/.next/server/chunks/ssr/[root-of-the-server]__02jgvbi._.js +3 -0
  206. package/.next/server/chunks/ssr/[root-of-the-server]__02jgvbi._.js.map +1 -0
  207. package/.next/server/chunks/ssr/[root-of-the-server]__04j8t~1._.js +3 -0
  208. package/.next/server/chunks/ssr/[root-of-the-server]__04j8t~1._.js.map +1 -0
  209. package/.next/server/chunks/ssr/[root-of-the-server]__09c~s.0._.js +33 -0
  210. package/.next/server/chunks/ssr/[root-of-the-server]__09c~s.0._.js.map +1 -0
  211. package/.next/server/chunks/ssr/[root-of-the-server]__0cpy61n._.js +3 -0
  212. package/.next/server/chunks/ssr/[root-of-the-server]__0cpy61n._.js.map +1 -0
  213. package/.next/server/chunks/ssr/[root-of-the-server]__0cwa32j._.js +3 -0
  214. package/.next/server/chunks/ssr/[root-of-the-server]__0cwa32j._.js.map +1 -0
  215. package/.next/server/chunks/ssr/[root-of-the-server]__0fk_g0j._.js +19 -0
  216. package/.next/server/chunks/ssr/[root-of-the-server]__0fk_g0j._.js.map +1 -0
  217. package/.next/server/chunks/ssr/[root-of-the-server]__0pddpic._.js +3 -0
  218. package/.next/server/chunks/ssr/[root-of-the-server]__0pddpic._.js.map +1 -0
  219. package/.next/server/chunks/ssr/[root-of-the-server]__0pvtneq._.js +3 -0
  220. package/.next/server/chunks/ssr/[root-of-the-server]__0pvtneq._.js.map +1 -0
  221. package/.next/server/chunks/ssr/[root-of-the-server]__0xc-2vm._.js +3 -0
  222. package/.next/server/chunks/ssr/[root-of-the-server]__0xc-2vm._.js.map +1 -0
  223. package/.next/server/chunks/ssr/[root-of-the-server]__10xgshr._.js +33 -0
  224. package/.next/server/chunks/ssr/[root-of-the-server]__10xgshr._.js.map +1 -0
  225. package/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
  226. package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +11 -0
  227. package/.next/server/chunks/ssr/_00yo1im._.js +3 -0
  228. package/.next/server/chunks/ssr/_00yo1im._.js.map +1 -0
  229. package/.next/server/chunks/ssr/_03sbc.o._.js +3 -0
  230. package/.next/server/chunks/ssr/_03sbc.o._.js.map +1 -0
  231. package/.next/server/chunks/ssr/_04z5ea0._.js +3 -0
  232. package/.next/server/chunks/ssr/_04z5ea0._.js.map +1 -0
  233. package/.next/server/chunks/ssr/_0gmb3g_._.js +3 -0
  234. package/.next/server/chunks/ssr/_0gmb3g_._.js.map +1 -0
  235. package/.next/server/chunks/ssr/_0okz9j8._.js +6 -0
  236. package/.next/server/chunks/ssr/_0okz9j8._.js.map +1 -0
  237. package/.next/server/chunks/ssr/_0wrbwro._.js +6 -0
  238. package/.next/server/chunks/ssr/_0wrbwro._.js.map +1 -0
  239. package/.next/server/chunks/ssr/node_modules_09w7yel._.js +33 -0
  240. package/.next/server/chunks/ssr/node_modules_09w7yel._.js.map +1 -0
  241. package/.next/server/chunks/ssr/node_modules_next_dist_0avqw4q._.js +3 -0
  242. package/.next/server/chunks/ssr/node_modules_next_dist_0avqw4q._.js.map +1 -0
  243. package/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js +6 -0
  244. package/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js.map +1 -0
  245. package/.next/server/chunks/ssr/node_modules_next_dist_0i_._k3._.js +3 -0
  246. package/.next/server/chunks/ssr/node_modules_next_dist_0i_._k3._.js.map +1 -0
  247. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0ee1czk._.js +3 -0
  248. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0ee1czk._.js.map +1 -0
  249. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js +3 -0
  250. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js.map +1 -0
  251. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js +3 -0
  252. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js.map +1 -0
  253. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0amzg6z.js +4 -0
  254. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0amzg6z.js.map +1 -0
  255. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dw1x0d.js +4 -0
  256. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dw1x0d.js.map +1 -0
  257. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rc3ul_.js +4 -0
  258. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rc3ul_.js.map +1 -0
  259. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10iomok.js +4 -0
  260. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10iomok.js.map +1 -0
  261. package/.next/server/chunks/ssr/packages_observer-dashboard_0~a2tmu._.js +3 -0
  262. package/.next/server/chunks/ssr/packages_observer-dashboard_0~a2tmu._.js.map +1 -0
  263. package/.next/server/chunks/ssr/packages_observer-dashboard_src_0f.ozc-._.js +3 -0
  264. package/.next/server/chunks/ssr/packages_observer-dashboard_src_0f.ozc-._.js.map +1 -0
  265. package/.next/server/chunks/ssr/packages_observer-dashboard_src_components_providers_tsx_03_vrrn._.js +7 -0
  266. package/.next/server/chunks/ssr/packages_observer-dashboard_src_components_providers_tsx_03_vrrn._.js.map +1 -0
  267. package/.next/server/functions-config-manifest.json +4 -0
  268. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  269. package/.next/server/middleware-build-manifest.js +23 -0
  270. package/.next/server/middleware-manifest.json +6 -0
  271. package/.next/server/next-font-manifest.js +1 -0
  272. package/.next/server/next-font-manifest.json +6 -0
  273. package/.next/server/pages/404.html +1 -0
  274. package/.next/server/pages/500.html +1 -0
  275. package/.next/server/pages-manifest.json +4 -0
  276. package/.next/server/prefetch-hints.json +1 -0
  277. package/.next/server/server-reference-manifest.js +1 -0
  278. package/.next/server/server-reference-manifest.json +24 -0
  279. package/.next/static/MvfPly4ZXHqaveDVOG1qq/_buildManifest.js +11 -0
  280. package/.next/static/MvfPly4ZXHqaveDVOG1qq/_clientMiddlewareManifest.js +1 -0
  281. package/.next/static/MvfPly4ZXHqaveDVOG1qq/_ssgManifest.js +1 -0
  282. package/.next/static/chunks/00c87uqn~kk2z.js +1 -0
  283. package/.next/static/chunks/01xlw8hd842-c.js +1 -0
  284. package/.next/static/chunks/02p9dpa.0oxiz.js +1 -0
  285. package/.next/static/chunks/034i63v_muq~d.js +1 -0
  286. package/.next/static/chunks/03mo-6~4pxdio.js +1 -0
  287. package/.next/static/chunks/03~yq9q893hmn.js +1 -0
  288. package/.next/static/chunks/04dm5qn77.fc2.js +1 -0
  289. package/.next/static/chunks/07uz2g0_38qia.js +4 -0
  290. package/.next/static/chunks/08nqnwvixoxnk.js +2 -0
  291. package/.next/static/chunks/0d3shmwh5_nmn.js +1 -0
  292. package/.next/static/chunks/0e_wyjw3nx.a..js +1 -0
  293. package/.next/static/chunks/0mstyq17cbf8-.js +1 -0
  294. package/.next/static/chunks/0ntuxw9.how-q.js +1 -0
  295. package/.next/static/chunks/0t3uzajv1qzmo.js +1 -0
  296. package/.next/static/chunks/0u~_nwr5-v.xp.js +1 -0
  297. package/.next/static/chunks/0wxcxh6eyzams.js +1 -0
  298. package/.next/static/chunks/0x6y7yt4kiddp.css +1 -0
  299. package/.next/static/chunks/0z6-vonyxr0dn.js +4 -0
  300. package/.next/static/chunks/0ze4gu236oq96.js +31 -0
  301. package/.next/static/chunks/0zwozael9msy1.js +1 -0
  302. package/.next/static/chunks/10qd__0r7a~.l.js +1 -0
  303. package/.next/static/chunks/11jh_u1ynmatg.js +1 -0
  304. package/.next/static/chunks/13xer3cb9shu-.js +5 -0
  305. package/.next/static/chunks/142zlnch_xmgd.js +1 -0
  306. package/.next/static/chunks/144kcri75qczu.js +1 -0
  307. package/.next/static/chunks/turbopack-0-ww6fe7b37qt.js +1 -0
  308. package/.next/static/media/icon.08ljfy7xai2x_.svg +20 -0
  309. package/LICENSE +21 -0
  310. package/README.md +490 -0
  311. package/next.config.mjs +25 -0
  312. package/package.json +104 -0
  313. package/postcss.config.mjs +8 -0
  314. package/src/app/actions/__tests__/approve-breakpoint.test.ts +246 -0
  315. package/src/app/actions/approve-breakpoint.ts +145 -0
  316. package/src/app/api/config/route.ts +137 -0
  317. package/src/app/api/digest/route.ts +45 -0
  318. package/src/app/api/runs/[runId]/events/route.ts +56 -0
  319. package/src/app/api/runs/[runId]/route.ts +84 -0
  320. package/src/app/api/runs/[runId]/tasks/[effectId]/route.ts +44 -0
  321. package/src/app/api/runs/route.ts +48 -0
  322. package/src/app/api/stream/route.ts +136 -0
  323. package/src/app/api/test/route.ts +1 -0
  324. package/src/app/api/version/route.ts +57 -0
  325. package/src/app/globals.css +555 -0
  326. package/src/app/icon.svg +20 -0
  327. package/src/app/layout.tsx +39 -0
  328. package/src/app/not-found.tsx +16 -0
  329. package/src/app/page.tsx +120 -0
  330. package/src/app/runs/[runId]/page.tsx +279 -0
  331. package/src/cli.ts +271 -0
  332. package/src/components/breakpoint/__tests__/breakpoint-approval.test.tsx +212 -0
  333. package/src/components/breakpoint/__tests__/breakpoint-panel.test.tsx +130 -0
  334. package/src/components/breakpoint/__tests__/file-preview.test.tsx +313 -0
  335. package/src/components/breakpoint/breakpoint-approval.tsx +138 -0
  336. package/src/components/breakpoint/breakpoint-panel.tsx +95 -0
  337. package/src/components/breakpoint/file-preview.tsx +215 -0
  338. package/src/components/dashboard/.gitkeep +0 -0
  339. package/src/components/dashboard/__tests__/breakpoint-banner.test.tsx +177 -0
  340. package/src/components/dashboard/__tests__/catch-up-banner.test.tsx +141 -0
  341. package/src/components/dashboard/__tests__/executive-summary-banner.test.tsx +164 -0
  342. package/src/components/dashboard/__tests__/kpi-grid.test.tsx +101 -0
  343. package/src/components/dashboard/__tests__/pagination-controls.test.tsx +125 -0
  344. package/src/components/dashboard/__tests__/project-accordion.test.tsx +97 -0
  345. package/src/components/dashboard/__tests__/project-list-view.test.tsx +174 -0
  346. package/src/components/dashboard/__tests__/project-search-input.test.tsx +110 -0
  347. package/src/components/dashboard/__tests__/project-section-header.test.tsx +91 -0
  348. package/src/components/dashboard/__tests__/project-section.test.tsx +151 -0
  349. package/src/components/dashboard/__tests__/run-card.test.tsx +164 -0
  350. package/src/components/dashboard/__tests__/run-filter-bar.test.tsx +109 -0
  351. package/src/components/dashboard/__tests__/run-list.test.tsx +123 -0
  352. package/src/components/dashboard/__tests__/search-filter.test.tsx +150 -0
  353. package/src/components/dashboard/__tests__/virtualized-run-list.test.tsx +179 -0
  354. package/src/components/dashboard/breakpoint-banner.tsx +301 -0
  355. package/src/components/dashboard/catch-up-banner.tsx +88 -0
  356. package/src/components/dashboard/executive-summary-banner.tsx +174 -0
  357. package/src/components/dashboard/global-search.tsx +323 -0
  358. package/src/components/dashboard/kpi-grid.tsx +140 -0
  359. package/src/components/dashboard/pagination-controls.tsx +100 -0
  360. package/src/components/dashboard/project-accordion.tsx +72 -0
  361. package/src/components/dashboard/project-health-card.tsx +536 -0
  362. package/src/components/dashboard/project-list-view.tsx +246 -0
  363. package/src/components/dashboard/project-search-input.tsx +41 -0
  364. package/src/components/dashboard/project-section-header.tsx +73 -0
  365. package/src/components/dashboard/project-section.tsx +89 -0
  366. package/src/components/dashboard/run-card.tsx +218 -0
  367. package/src/components/dashboard/run-filter-bar.tsx +100 -0
  368. package/src/components/dashboard/run-list.tsx +77 -0
  369. package/src/components/dashboard/search-filter.tsx +69 -0
  370. package/src/components/dashboard/virtualized-run-list.tsx +130 -0
  371. package/src/components/details/.gitkeep +0 -0
  372. package/src/components/details/__tests__/agent-panel.test.tsx +236 -0
  373. package/src/components/details/__tests__/json-tree.test.tsx +347 -0
  374. package/src/components/details/__tests__/log-viewer.test.tsx +168 -0
  375. package/src/components/details/__tests__/task-detail.test.tsx +212 -0
  376. package/src/components/details/__tests__/timing-panel.test.tsx +271 -0
  377. package/src/components/details/agent-panel.tsx +234 -0
  378. package/src/components/details/json-tree/categorize.ts +131 -0
  379. package/src/components/details/json-tree/index.tsx +120 -0
  380. package/src/components/details/json-tree/json-node.tsx +223 -0
  381. package/src/components/details/json-tree/smart-summary.tsx +596 -0
  382. package/src/components/details/json-tree/tree-controls.tsx +47 -0
  383. package/src/components/details/json-tree.tsx +9 -0
  384. package/src/components/details/log-viewer.tsx +140 -0
  385. package/src/components/details/task-detail.tsx +114 -0
  386. package/src/components/details/timing-panel.tsx +247 -0
  387. package/src/components/events/.gitkeep +0 -0
  388. package/src/components/events/__tests__/event-item.test.tsx +211 -0
  389. package/src/components/events/__tests__/event-stream.test.tsx +225 -0
  390. package/src/components/events/event-item.tsx +121 -0
  391. package/src/components/events/event-stream.tsx +260 -0
  392. package/src/components/notifications/.gitkeep +0 -0
  393. package/src/components/notifications/__tests__/notification-panel.test.tsx +287 -0
  394. package/src/components/notifications/__tests__/notification-provider.test.tsx +585 -0
  395. package/src/components/notifications/__tests__/toast-stack.test.tsx +217 -0
  396. package/src/components/notifications/notification-panel.tsx +124 -0
  397. package/src/components/notifications/notification-provider.tsx +175 -0
  398. package/src/components/notifications/toast-stack.tsx +75 -0
  399. package/src/components/pipeline/.gitkeep +0 -0
  400. package/src/components/pipeline/__tests__/parallel-group.test.tsx +88 -0
  401. package/src/components/pipeline/__tests__/pipeline-view.test.tsx +345 -0
  402. package/src/components/pipeline/__tests__/step-card.test.tsx +330 -0
  403. package/src/components/pipeline/parallel-group.tsx +39 -0
  404. package/src/components/pipeline/pipeline-view.tsx +197 -0
  405. package/src/components/pipeline/step-card.tsx +166 -0
  406. package/src/components/providers/event-stream-provider.tsx +29 -0
  407. package/src/components/providers.tsx +24 -0
  408. package/src/components/shared/.gitkeep +0 -0
  409. package/src/components/shared/__tests__/empty-state.test.tsx +49 -0
  410. package/src/components/shared/__tests__/friendly-id.test.tsx +47 -0
  411. package/src/components/shared/__tests__/kbd.test.tsx +45 -0
  412. package/src/components/shared/__tests__/kind-badge.test.tsx +71 -0
  413. package/src/components/shared/__tests__/metrics-row.test.tsx +74 -0
  414. package/src/components/shared/__tests__/outcome-banner.test.tsx +71 -0
  415. package/src/components/shared/__tests__/progress-bar.test.tsx +89 -0
  416. package/src/components/shared/__tests__/session-pill.test.tsx +62 -0
  417. package/src/components/shared/__tests__/settings-modal.test.tsx +201 -0
  418. package/src/components/shared/__tests__/shortcuts-help.test.tsx +103 -0
  419. package/src/components/shared/__tests__/status-badge.test.tsx +98 -0
  420. package/src/components/shared/__tests__/theme-provider.test.tsx +100 -0
  421. package/src/components/shared/__tests__/truncated-id.test.tsx +53 -0
  422. package/src/components/shared/app-footer.tsx +80 -0
  423. package/src/components/shared/app-header.tsx +160 -0
  424. package/src/components/shared/empty-state.tsx +18 -0
  425. package/src/components/shared/error-boundary.tsx +81 -0
  426. package/src/components/shared/friendly-id.tsx +48 -0
  427. package/src/components/shared/kbd.tsx +15 -0
  428. package/src/components/shared/kind-badge.tsx +51 -0
  429. package/src/components/shared/metrics-row.tsx +106 -0
  430. package/src/components/shared/outcome-banner.tsx +56 -0
  431. package/src/components/shared/progress-bar.tsx +42 -0
  432. package/src/components/shared/session-pill.tsx +69 -0
  433. package/src/components/shared/settings-modal.tsx +509 -0
  434. package/src/components/shared/shortcuts-help.tsx +113 -0
  435. package/src/components/shared/status-badge.tsx +110 -0
  436. package/src/components/shared/theme-provider.tsx +46 -0
  437. package/src/components/shared/truncated-id.tsx +51 -0
  438. package/src/components/ui/.gitkeep +0 -0
  439. package/src/components/ui/__tests__/accordion.test.tsx +96 -0
  440. package/src/components/ui/__tests__/badge.test.tsx +69 -0
  441. package/src/components/ui/__tests__/button.test.tsx +113 -0
  442. package/src/components/ui/__tests__/tabs.test.tsx +75 -0
  443. package/src/components/ui/__tests__/tooltip.test.tsx +90 -0
  444. package/src/components/ui/accordion.tsx +61 -0
  445. package/src/components/ui/badge.tsx +25 -0
  446. package/src/components/ui/button.tsx +40 -0
  447. package/src/components/ui/card.tsx +21 -0
  448. package/src/components/ui/scroll-area.tsx +35 -0
  449. package/src/components/ui/separator.tsx +24 -0
  450. package/src/components/ui/tabs.tsx +64 -0
  451. package/src/components/ui/tooltip.tsx +37 -0
  452. package/src/hooks/.gitkeep +0 -0
  453. package/src/hooks/__tests__/use-animated-number.test.ts +184 -0
  454. package/src/hooks/__tests__/use-batched-updates.test.ts +315 -0
  455. package/src/hooks/__tests__/use-event-stream.test.ts +243 -0
  456. package/src/hooks/__tests__/use-keyboard.test.ts +217 -0
  457. package/src/hooks/__tests__/use-notifications.test.ts +230 -0
  458. package/src/hooks/__tests__/use-polling.test.ts +274 -0
  459. package/src/hooks/__tests__/use-project-runs.test.ts +163 -0
  460. package/src/hooks/__tests__/use-projects.test.ts +248 -0
  461. package/src/hooks/__tests__/use-run-dashboard.test.ts +168 -0
  462. package/src/hooks/__tests__/use-run-detail.test.ts +273 -0
  463. package/src/hooks/__tests__/use-smart-polling.test.ts +305 -0
  464. package/src/hooks/use-animated-number.ts +87 -0
  465. package/src/hooks/use-batched-updates.ts +150 -0
  466. package/src/hooks/use-event-stream.ts +150 -0
  467. package/src/hooks/use-keyboard.ts +45 -0
  468. package/src/hooks/use-notifications.ts +82 -0
  469. package/src/hooks/use-persisted-state.ts +60 -0
  470. package/src/hooks/use-polling.ts +60 -0
  471. package/src/hooks/use-project-runs.ts +51 -0
  472. package/src/hooks/use-projects.ts +26 -0
  473. package/src/hooks/use-run-dashboard.ts +207 -0
  474. package/src/hooks/use-run-detail.ts +77 -0
  475. package/src/hooks/use-smart-polling.ts +144 -0
  476. package/src/lib/.gitkeep +0 -0
  477. package/src/lib/__tests__/cn.test.ts +69 -0
  478. package/src/lib/__tests__/config-loader.test.ts +210 -0
  479. package/src/lib/__tests__/config.test.ts +561 -0
  480. package/src/lib/__tests__/error-handler.test.ts +143 -0
  481. package/src/lib/__tests__/fetcher.test.ts +517 -0
  482. package/src/lib/__tests__/global-registry.test.ts +214 -0
  483. package/src/lib/__tests__/parser.test.ts +1532 -0
  484. package/src/lib/__tests__/path-resolver.test.ts +112 -0
  485. package/src/lib/__tests__/run-cache.test.ts +591 -0
  486. package/src/lib/__tests__/server-init.test.ts +512 -0
  487. package/src/lib/__tests__/source-discovery.test.ts +246 -0
  488. package/src/lib/__tests__/utils.test.ts +160 -0
  489. package/src/lib/__tests__/watcher.test.ts +227 -0
  490. package/src/lib/cn.ts +6 -0
  491. package/src/lib/config-loader.ts +195 -0
  492. package/src/lib/config.ts +20 -0
  493. package/src/lib/error-handler.ts +76 -0
  494. package/src/lib/fetcher.ts +394 -0
  495. package/src/lib/global-registry.ts +117 -0
  496. package/src/lib/parser.ts +794 -0
  497. package/src/lib/path-resolver.ts +16 -0
  498. package/src/lib/run-cache.ts +404 -0
  499. package/src/lib/server-init.ts +226 -0
  500. package/src/lib/services/__tests__/run-query-service.test.ts +819 -0
  501. package/src/lib/services/run-query-service.ts +286 -0
  502. package/src/lib/source-discovery.ts +216 -0
  503. package/src/lib/utils.ts +103 -0
  504. package/src/lib/watcher.ts +265 -0
  505. package/src/test/fixtures.ts +269 -0
  506. package/src/test/mocks/handlers.ts +110 -0
  507. package/src/test/mocks/server.ts +17 -0
  508. package/src/test/setup.ts +200 -0
  509. package/src/test/test-utils.tsx +36 -0
  510. package/src/types/.gitkeep +0 -0
  511. package/src/types/breakpoint.ts +17 -0
  512. package/src/types/index.ts +214 -0
  513. package/tsconfig.json +50 -0
@@ -0,0 +1,4 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,48791,e=>{"use strict";var t=e.i(43476),s=e.i(71645),r=e.i(26650),n=e.i(45483);let a="observer:",i=s.useLayoutEffect;function l(e,t){let r=e.startsWith(a)?e:`${a}${e}`,[n,l]=(0,s.useState)(t);return i(()=>{try{let e=window.localStorage.getItem(r);if(null!==e){let t=JSON.parse(e);l(t)}}catch{}},[r]),[n,(0,s.useCallback)(e=>{l(t=>{let s="function"==typeof e?e(t):e;try{window.localStorage.setItem(r,JSON.stringify(s))}catch{}return s})},[r])]}var o=e.i(22016),d=e.i(73172),c=e.i(6790),u=e.i(8646),h=e.i(68842),m=e.i(86752),g=e.i(53897),x=e.i(3210);let p="observer:dismissed-breakpoints";function f({bp:e,stale:r,onDismiss:n}){let[a,i]=(0,s.useTransition)(),[l,p]=(0,s.useState)(null);return l?.ok?(0,t.jsxs)("div",{className:(0,d.cn)("group relative flex items-center gap-3 px-4 py-3 rounded-lg","bg-success-muted border border-success/30"),children:[(0,t.jsx)(h.CheckCircle2,{className:"h-5 w-5 text-success shrink-0"}),(0,t.jsxs)("span",{className:"text-sm text-success font-medium",children:["Approved — ",e.projectName]})]}):(0,t.jsxs)("div",{className:(0,d.cn)("group relative flex items-center gap-3 px-4 py-3 rounded-lg","bg-warning-muted border border-warning/30","shadow-breakpoint-glow animate-breakpoint-glow",r&&"opacity-70"),children:[(0,t.jsxs)(o.default,{href:`/runs/${e.runId}`,className:"flex items-center gap-3 flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"relative shrink-0",children:[(0,t.jsx)(c.Hand,{className:"h-5 w-5 text-warning animate-pulse-dot"}),(0,t.jsx)("span",{className:"absolute -top-0.5 -right-0.5 h-2 w-2 rounded-full bg-warning animate-ping"})]}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,t.jsx)(u.AlertTriangle,{className:"h-3 w-3 text-warning shrink-0"}),(0,t.jsx)("span",{className:"text-xs font-bold text-warning uppercase tracking-wider",children:"Approval Needed"}),r&&(0,t.jsx)("span",{className:"text-xs text-foreground-muted italic","data-testid":"staleness-indicator",children:"(checking...)"}),(0,t.jsx)("span",{className:"text-xs text-foreground-muted font-medium",children:e.projectName}),(0,t.jsx)("span",{className:"font-mono text-xs text-info",children:e.runId.slice(0,8)})]}),(0,t.jsx)("p",{className:"text-sm text-foreground truncate",children:e.breakpointQuestion})]})]}),(0,t.jsxs)("button",{onClick:t=>{t.preventDefault(),t.stopPropagation(),i(async()=>{let t=await (0,x.approveBreakpoint)(e.runId,e.effectId,"Approved from dashboard");p(t.success?{ok:!0}:{ok:!1,msg:t.error})})},disabled:a||!e.effectId,className:(0,d.cn)("shrink-0 flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-semibold","bg-success/20 text-success border border-success/30","hover:bg-success/30 hover:border-success/50","disabled:opacity-50 disabled:cursor-not-allowed","transition-colors"),title:"Approve this breakpoint",children:[(0,t.jsx)(m.Check,{className:"h-3.5 w-3.5"}),a?"Approving...":"Approve"]}),r&&n&&(0,t.jsx)("button",{onClick:e=>{e.preventDefault(),e.stopPropagation(),n()},className:(0,d.cn)("shrink-0 p-1 rounded text-foreground-muted/50","hover:text-foreground-muted hover:bg-foreground-muted/10","transition-colors"),title:"Dismiss this stale breakpoint","data-testid":"dismiss-breakpoint",children:(0,t.jsx)(g.X,{className:"h-3.5 w-3.5"})}),l&&!l.ok&&(0,t.jsx)("span",{className:"text-xs text-error ml-2",children:l.msg})]})}function b({breakpointRuns:e}){let[r,n]=(0,s.useState)([]),a=(0,s.useRef)(new Map),i=(0,s.useRef)(new Map),[l,u]=(0,s.useState)(new Set);(0,s.useLayoutEffect)(()=>{try{let e=localStorage.getItem(p);e&&u(new Set(JSON.parse(e)))}catch{}},[]);let m=(0,s.useCallback)(e=>{u(t=>{let s=new Set(t);s.add(e);try{localStorage.setItem(p,JSON.stringify([...s]))}catch{}return s})},[]);(0,s.useEffect)(()=>{let t=new Set(e.map(e=>e.runId));u(e=>{let s=new Set([...e].filter(e=>t.has(e)));if(s.size!==e.size){try{localStorage.setItem(p,JSON.stringify([...s]))}catch{}return s}return e})},[e]);let[,g]=(0,s.useState)(0);(0,s.useEffect)(()=>{let t=new Set(e.map(e=>e.runId)),s=Date.now(),r=[];for(let[e,n]of a.current)t.has(e)||(r.push({bp:n,resolvedAt:s}),i.current.delete(e));for(let t of(r.length>0&&n(e=>[...e,...r]),e))i.current.has(t.runId)||i.current.set(t.runId,s);a.current=new Map(e.map(e=>[e.runId,e]))},[e]),(0,s.useEffect)(()=>{if(0===e.length)return;let t=setInterval(()=>{g(e=>e+1)},1e4);return()=>clearInterval(t)},[e.length]);let x=(0,s.useCallback)(e=>{let t=i.current.get(e);return!!t&&Date.now()-t>12e4},[]);(0,s.useEffect)(()=>{if(0===r.length)return;let e=setInterval(()=>{let e=Date.now();n(t=>t.filter(t=>e-t.resolvedAt<2e4))},1e3);return()=>clearInterval(e)},[r.length]);let v=e.filter(e=>!l.has(e.runId)),w=v.length>0,j=r.length>0;return w||j?(0,t.jsxs)("div",{role:"alert","aria-live":"assertive","aria-atomic":"true",className:"flex flex-col gap-2 mb-6","data-testid":"breakpoint-banner",children:[v.map(e=>{let s=x(e.runId);return(0,t.jsx)(f,{bp:e,stale:s,onDismiss:()=>m(e.runId)},e.runId)}),r.map(e=>(0,t.jsxs)(o.default,{href:`/runs/${e.bp.runId}`,className:(0,d.cn)("group relative flex items-center gap-3 px-4 py-3 rounded-lg","bg-success-muted border border-success/30","shadow-glow-success","hover:border-success/50","transition-colors cursor-pointer"),children:[(0,t.jsx)("div",{className:"relative shrink-0",children:(0,t.jsx)(h.CheckCircle2,{className:"h-5 w-5 text-success"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,t.jsx)(h.CheckCircle2,{className:"h-3 w-3 text-success shrink-0"}),(0,t.jsx)("span",{className:"text-xs font-bold text-success uppercase tracking-wider",children:"Approved"}),(0,t.jsx)("span",{className:"text-xs text-foreground-muted font-medium",children:e.bp.projectName}),(0,t.jsx)("span",{className:"font-mono text-xs text-info",children:e.bp.runId.slice(0,8)})]}),(0,t.jsx)("p",{className:"text-sm text-foreground-muted truncate",children:e.bp.breakpointQuestion})]})]},`resolved-${e.bp.runId}`)),v.length>1&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1",children:[(0,t.jsx)(c.Hand,{className:"h-3.5 w-3.5 text-warning"}),(0,t.jsxs)("span",{className:"text-xs font-semibold text-warning",children:[v.length," approvals pending"]})]})]}):null}var v=e.i(22537),w=e.i(21255);let j=(0,w.default)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);function y({catchUp:e,summary:s}){if(!e.active)return null;let r=function(e){if(!e)return null;let t=[];return(e.failedRuns>0&&t.push(`${e.failedRuns} failed`),e.pendingBreakpoints>0&&t.push(`${e.pendingBreakpoints} awaiting input`),e.completedRuns>0&&t.push(`${e.completedRuns} completed`),0===t.length)?null:t.join(", ")}(s);return(0,t.jsxs)("div",{"data-testid":"catch-up-banner",className:(0,d.cn)("flex items-center gap-3 px-4 py-2.5 mb-4 rounded-lg","bg-info-muted border border-info/20","animate-in fade-in slide-in-from-top-2 duration-300"),children:[(0,t.jsx)("div",{className:"rounded-md p-1.5 bg-info/10",children:(0,t.jsx)(j,{className:"h-4 w-4 text-info"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("p",{className:"text-sm text-foreground",children:[(0,t.jsx)("span",{className:"font-semibold tabular-nums",children:e.bufferedCount})," ","runs updated while you were away"]}),r&&(0,t.jsx)("p",{"data-testid":"catch-up-summary",className:"text-xs text-foreground-muted mt-0.5 truncate",children:r})]}),(0,t.jsxs)("button",{onClick:e.flush,"data-testid":"catch-up-refresh-btn",className:(0,d.cn)("inline-flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-semibold","bg-info/10 border border-info/20 text-info","hover:bg-info/20 transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-info/50"),children:[(0,t.jsx)(v.RefreshCw,{className:"h-3 w-3"}),"Refresh now"]})]})}var N=e.i(49201);let k={healthy:{container:"border-success/25 bg-success-muted shadow-neon-glow-success-sm",text:"text-success",iconColor:"text-success"},amber:{container:"border-warning/25 bg-warning-muted shadow-neon-glow-warning-sm",text:"text-warning",iconColor:"text-warning"},red:{container:"border-error/25 bg-error-muted shadow-neon-glow-error-sm",text:"text-error",iconColor:"text-error"}};function C({metrics:e,onFilterChange:r,dismissed:n,onDismiss:a}){let i=(0,s.useMemo)(()=>(function(e){let s=[],r="healthy";if(e.failedRuns>0&&(s.push({text:`${e.failedRuns} run${1!==e.failedRuns?"s":""} failing`,filter:"failed"}),r="red"),e.pendingBreakpoints>0&&(s.push({text:`${e.pendingBreakpoints} approval${1!==e.pendingBreakpoints?"s":""} need${1===e.pendingBreakpoints?"s":""} your attention`,filter:"waiting"}),"red"!==r&&(r="amber")),e.staleRuns>0&&(s.push({text:`${e.staleRuns} stale run${1!==e.staleRuns?"s":""}`,filter:"stale"}),"red"!==r&&(r="amber")),0===s.length){let s=1===e.totalProjects?"project":"projects";return{severity:"healthy",issues:[{text:e.activeRuns>0?`All ${e.totalProjects} ${s} healthy \u2014 ${e.activeRuns} run${1!==e.activeRuns?"s":""} in progress`:`All ${e.totalProjects} ${s} healthy`,filter:null}],icon:(0,t.jsx)(h.CheckCircle2,{className:"h-4 w-4 shrink-0","aria-hidden":"true"})}}let n="red"===r?(0,t.jsx)(N.XCircle,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,t.jsx)(u.AlertTriangle,{className:"h-4 w-4 shrink-0","aria-hidden":"true"});return{severity:r,issues:s,icon:n}})(e),[e]),l=k[i.severity];return n?null:(0,t.jsxs)("div",{role:"status","aria-live":"polite","aria-atomic":"true","data-testid":"executive-summary-banner",className:(0,d.cn)("flex items-center gap-2.5 rounded-xl border px-4 py-3 mb-6 shadow-sm transition-all duration-300",l.container),children:[(0,t.jsx)("span",{className:l.iconColor,children:i.icon}),(0,t.jsx)("p",{className:(0,d.cn)("text-sm font-medium leading-snug flex-1",l.text),children:i.issues.map((e,s)=>(0,t.jsxs)("span",{children:[s>0&&", ",e.filter&&r?(0,t.jsx)("button",{onClick:()=>r(e.filter),className:"underline decoration-dotted underline-offset-2 hover:decoration-solid transition-all",children:e.text}):e.text]},s))}),"healthy"!==i.severity&&a&&(0,t.jsx)("button",{"data-testid":"executive-summary-dismiss",onClick:a,className:(0,d.cn)("rounded-md p-1.5 min-h-[44px] min-w-[44px] flex items-center justify-center transition-colors",l.iconColor,"opacity-60 hover:opacity-100"),"aria-label":"Dismiss banner",children:(0,t.jsx)(g.X,{className:"h-3.5 w-3.5"})})]})}var S=e.i(22930);let R=(0,w.default)("Activity",[["path",{d:"M22 12h-4l-3 9L9 3l-3 9H2",key:"d5dnw9"}]]);var M=e.i(11670),I=e.i(70354);let E={primary:{text:"text-primary",bg:"bg-primary/10",glow:"shadow-neon-glow-primary-xs",borderL:"",ring:"ring-primary/50"},success:{text:"text-success",bg:"bg-success/10",glow:"shadow-neon-glow-success-sm",borderL:"border-l-success/60",ring:"ring-success/50"},warning:{text:"text-warning",bg:"bg-warning/10",glow:"shadow-neon-glow-warning-sm",borderL:"border-l-warning/60",ring:"ring-warning/50"},error:{text:"text-error",bg:"bg-error/10",glow:"shadow-neon-glow-error-sm",borderL:"border-l-error/60",ring:"ring-error/50"},muted:{text:"text-zinc-500",bg:"bg-zinc-500/10",glow:"",borderL:"border-l-zinc-500/60",ring:"ring-zinc-500/50"}};function A({label:e,value:r,icon:n,color:a,pulse:i,testId:l,active:o,onClick:c}){let u=E[a],h=!!c,m=function(e,t=600){let[r,n]=(0,s.useState)(e),a=(0,s.useRef)(null),i=(0,s.useRef)(null),l=(0,s.useRef)(e),o=(0,s.useRef)(e),d=(0,s.useCallback)(e=>1-Math.pow(1-e,3),[]);return(0,s.useEffect)(()=>{let s=l.current;if(l.current=e,s===e)return;null!==a.current&&(cancelAnimationFrame(a.current),a.current=null);let r=o.current,c=e-r;if(0===c||2>=Math.abs(c)){n(e),o.current=e;return}let u=performance.now();return i.current={value:r,time:u},a.current=requestAnimationFrame(function s(i){let l=Math.min((i-u)/t,1),h=Math.round(r+c*d(l));o.current=h,n(h),l<1?a.current=requestAnimationFrame(s):(a.current=null,o.current=e,n(e))}),()=>{null!==a.current&&(cancelAnimationFrame(a.current),a.current=null)}},[e,t,d]),r}(r);return(0,t.jsxs)("div",{"data-testid":l,role:h?"button":void 0,"aria-pressed":h?!!o:void 0,tabIndex:h?0:void 0,onClick:c,onKeyDown:h?e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),c?.())}:void 0,className:(0,d.cn)("rounded-xl border border-border bg-card/90 p-3 flex items-center gap-3 transition-all shadow-sm",r>0&&"primary"!==a&&"border-l-2",r>0&&"primary"!==a&&u.borderL,u.glow,h&&"cursor-pointer hover:bg-background-secondary/65 hover:shadow-md",o&&"ring-2",o&&u.ring),children:[(0,t.jsx)("div",{className:(0,d.cn)("rounded-md p-2",u.bg),children:(0,t.jsx)("span",{className:(0,d.cn)(u.text,i&&"animate-pulse-dot"),children:n})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:(0,d.cn)("text-lg font-bold tabular-nums leading-none mb-0.5",u.text),children:m}),(0,t.jsx)("p",{className:"text-[11px] leading-tight text-foreground-muted uppercase tracking-[0.12em] font-medium",children:e})]})]})}function z({metrics:e,statusFilter:s,hasStaleRuns:r,onToggleFilter:n}){return(0,t.jsxs)("div",{"data-testid":"kpi-grid","aria-live":"polite","aria-label":"Key metrics",className:(0,d.cn)("grid gap-3 mb-6",r?"grid-cols-2 sm:grid-cols-5":"grid-cols-2 sm:grid-cols-4"),children:[(0,t.jsx)(A,{label:"Total Runs",value:e.totalRuns,icon:(0,t.jsx)(S.Layers,{className:"h-4 w-4"}),color:"primary",testId:"metric-tile-total-runs",onClick:()=>n("all"),active:"all"===s}),(0,t.jsx)(A,{label:"In Progress",value:e.activeRuns,icon:(0,t.jsx)(R,{className:"h-4 w-4"}),color:"warning",pulse:e.activeRuns>0,testId:"metric-tile-active",onClick:()=>n("waiting"),active:"waiting"===s}),r&&(0,t.jsx)(A,{label:"Stale",value:e.staleRuns,icon:(0,t.jsx)(I.Pause,{className:"h-4 w-4"}),color:"muted",testId:"metric-tile-stale",onClick:()=>n("stale"),active:"stale"===s}),(0,t.jsx)(A,{label:"Completed",value:e.completedRuns,icon:(0,t.jsx)(h.CheckCircle2,{className:"h-4 w-4"}),color:"success",testId:"metric-tile-completed",onClick:()=>n("completed"),active:"completed"===s}),(0,t.jsx)(A,{label:"Failed",value:e.failedRuns,icon:(0,t.jsx)(M.AlertCircle,{className:"h-4 w-4"}),color:"error",testId:"metric-tile-failed",onClick:()=>n("failed"),active:"failed"===s})]})}let T=(0,w.default)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);var O=e.i(27214);let F=[{label:"All",value:"all"},{label:"Running",value:"waiting"},{label:"Stale",value:"stale"},{label:"Completed",value:"completed"},{label:"Failed",value:"failed"}];function P({statusFilter:e,onStatusFilterChange:s,filterCounts:r,sortMode:n,onSortModeToggle:a,filteredProjectCount:i}){return(0,t.jsx)("div",{className:"mb-5",children:(0,t.jsxs)("div",{"data-testid":"filter-bar",className:"flex items-center gap-1",children:[F.map(n=>{let a=r[n.value]??0;return"stale"===n.value&&0===a?null:(0,t.jsxs)("button",{"data-testid":`filter-pill-${n.value}`,"aria-pressed":e===n.value,onClick:()=>s(n.value),className:(0,d.cn)("rounded-md px-3 py-1.5 min-h-[44px] text-xs font-medium transition-all inline-flex items-center gap-1.5",e===n.value?"stale"===n.value?"bg-zinc-500/10 text-zinc-500":"bg-primary/10 text-primary shadow-neon-glow-primary-xs":"text-foreground-muted hover:text-foreground-secondary hover:bg-background-secondary"),children:[n.label,a>0&&(0,t.jsx)("span",{className:(0,d.cn)("rounded-full px-1.5 py-px text-xs leading-tight font-semibold tabular-nums",e===n.value?"stale"===n.value?"bg-zinc-500/20 text-zinc-500":"bg-primary/20 text-primary":"bg-background-secondary text-foreground-muted"),children:a})]},n.value)}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsxs)("button",{"data-testid":"sort-toggle",onClick:a,className:(0,d.cn)("rounded-md px-2.5 py-1.5 min-h-[44px] text-xs font-medium inline-flex items-center gap-1.5","transition-all duration-200 ease-in-out","status"===n?"bg-warning/10 border border-warning/30 text-warning hover:bg-warning/15 hover:border-warning/40 shadow-sm":"bg-primary/10 border border-primary/30 text-primary hover:bg-primary/15 hover:border-primary/40 shadow-sm"),title:"status"===n?"Currently sorting by status priority (active first, then failed, then completed). Click to switch to chronological activity view.":"Currently sorting by most recent activity (newest updates first). Click to switch to status-grouped view.",children:["status"===n?(0,t.jsx)(T,{className:"h-3 w-3 transition-transform duration-200"}):(0,t.jsx)(O.Clock,{className:"h-3 w-3 transition-transform duration-200"}),"status"===n?"By Status":"By Activity"]}),(0,t.jsxs)("span",{"data-testid":"project-count",className:"text-xs text-foreground-muted tabular-nums",children:[i," project",1!==i?"s":""]})]})]})})}var D=e.i(55338),$=e.i(21509);let B=(0,w.default)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);var L=e.i(29235),_=e.i(77297),H=e.i(93649);function W({className:e,...s}){return(0,t.jsx)("div",{className:(0,d.cn)("rounded-xl border border-card-border bg-card text-card-foreground shadow-sm transition-all duration-200 hover:bg-[var(--card-hover)] hover:border-[var(--border-hover)] hover:shadow-md",e),...s})}var K=e.i(38170),U=e.i(83143),q=e.i(46519),V=e.i(22727),J=e.i(43041);let Q=(0,w.default)("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var X=e.i(48647);let Y=(0,s.memo)(function({run:e,selected:s}){var r;let n,a="completed"===e.status?100:e.totalTasks>0?Math.round(e.completedTasks/e.totalTasks*100):0,i="waiting"===e.status||"pending"===e.status,l=!0===e.isStale,u=e.tasks.find(e=>"breakpoint"===e.kind&&"requested"===e.status),h=e.breakpointQuestion??u?.breakpointQuestion,m=!l&&(!!u||"waiting"===e.status&&"breakpoint"===e.waitingKind),g="failed"===e.status?e.failedStep||(e.failureMessage?`${e.failureMessage}`:void 0):void 0;return(0,t.jsx)(o.default,{href:`/runs/${e.runId}`,children:(0,t.jsxs)(W,{className:(0,d.cn)("cursor-pointer p-4 transition-all card-hover-lift","hover:shadow-md",s&&"ring-1 ring-primary shadow-glow-primary",i&&!l&&!m&&"border-[var(--border-hover)]",m&&"border-warning/40 shadow-glow-warning ring-1 ring-warning/20 animate-breakpoint-glow",l&&"opacity-50"),children:[(0,t.jsx)("div",{className:"flex items-start justify-between gap-3",children:(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,t.jsx)("span",{className:(0,d.cn)("h-2 w-2 rounded-full shrink-0",l?"bg-zinc-500":m?"bg-warning shadow-[0_0_8px_var(--warning)] animate-pulse-dot":"completed"===e.status?"bg-success shadow-[0_0_6px_var(--success)]":"failed"===e.status?"bg-error shadow-[0_0_6px_var(--error)]":"waiting"===e.status?"bg-warning shadow-[0_0_6px_var(--warning)] animate-pulse-dot":"bg-pending")}),(0,t.jsx)("span",{className:"text-lg font-semibold italic font-serif text-foreground truncate",children:(0,J.friendlyProcessName)(e.processId)}),m&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-warning/15 border border-warning/30 px-2.5 py-1 text-[11px] leading-tight font-bold text-warning uppercase tracking-[0.12em] shrink-0 animate-pulse-dot",children:[(0,t.jsx)(c.Hand,{className:"h-2.5 w-2.5"}),"Approval Required"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[(0,t.jsx)(K.StatusBadge,{status:e.status,waitingKind:e.waitingKind,isStale:l}),l&&(0,t.jsx)("span",{className:"inline-flex items-center rounded-full bg-zinc-500/10 border border-zinc-500/20 px-2 py-0.5 text-xs leading-tight font-medium text-zinc-500 shrink-0",children:(r=e.updatedAt,(n=(0,J.formatRelativeTime)(r))?`Stale (${n})`:"Stale")}),(0,t.jsx)(q.TruncatedId,{id:e.runId,chars:4,className:"text-foreground-secondary"}),e.projectName&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-background-secondary px-2 py-0.5 text-xs leading-tight font-medium text-foreground-muted shrink-0",children:[(0,t.jsx)(Q,{className:"h-2.5 w-2.5"}),e.projectName]})]}),g&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mt-2 px-2 py-1 rounded-md bg-error-muted border border-error/20 border-l-2 border-l-error shadow-glow-error",children:[(0,t.jsx)(M.AlertCircle,{className:"h-3.5 w-3.5 text-error shrink-0"}),(0,t.jsxs)("span",{className:"text-xs text-error truncate",children:["Failed at: ",g.length>80?g.slice(0,80)+"...":g]})]}),m&&h&&(0,t.jsx)("div",{className:"mt-2 px-3 py-2 rounded-md bg-warning-muted border border-warning/25 border-l-2 border-l-warning shadow-breakpoint-glow",children:(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(c.Hand,{className:"h-4 w-4 text-warning shrink-0 mt-0.5 animate-pulse-dot"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("span",{className:"text-xs font-bold text-warning uppercase tracking-wider block mb-0.5",children:"Awaiting approval"}),(0,t.jsx)("span",{className:"text-sm text-foreground leading-snug block",children:h})]}),(0,t.jsxs)("span",{className:(0,d.cn)("shrink-0 inline-flex items-center gap-1 px-2 py-1 rounded-md","bg-warning/10 border border-warning/20","text-xs font-semibold text-warning","hover:bg-warning/20 transition-colors"),children:["Review & Approve",(0,t.jsx)(X.ExternalLink,{className:"h-2.5 w-2.5"})]})]})}),m&&!h&&(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-2 px-3 py-2 rounded-md bg-warning-muted border border-warning/25 border-l-2 border-l-warning shadow-breakpoint-glow",children:[(0,t.jsx)(c.Hand,{className:"h-4 w-4 text-warning shrink-0 animate-pulse-dot"}),(0,t.jsx)("span",{className:"text-xs font-semibold text-warning",children:"Approval needed"}),(0,t.jsxs)("span",{className:(0,d.cn)("ml-auto shrink-0 inline-flex items-center gap-1 px-2 py-1 rounded-md","bg-warning/10 border border-warning/20","text-xs font-semibold text-warning"),children:["Review & Approve",(0,t.jsx)(X.ExternalLink,{className:"h-2.5 w-2.5"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 mt-2 text-xs text-foreground-muted",children:[(0,t.jsx)(U.SessionPill,{sessionId:e.sessionId,active:i&&!l}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(S.Layers,{className:"h-3 w-3"}),e.completedTasks,"/",e.totalTasks," tasks"]}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(O.Clock,{className:"h-3 w-3"}),(0,J.formatDuration)(e.duration)]})]})]})}),e.totalTasks>0&&(0,t.jsx)(V.ProgressBar,{value:a,variant:function(e){switch(e){case"completed":return"success";case"failed":return"error";case"waiting":return"warning";default:return"default"}}(e.status),glow:i&&!l,className:"mt-4"})]})})},function(e,t){if(e.selected!==t.selected)return!1;let s=e.run,r=t.run;return s.runId===r.runId&&s.status===r.status&&s.updatedAt===r.updatedAt&&s.completedTasks===r.completedTasks&&s.totalTasks===r.totalTasks&&s.duration===r.duration&&s.isStale===r.isStale&&s.waitingKind===r.waitingKind&&s.breakpointQuestion===r.breakpointQuestion&&s.failedStep===r.failedStep&&s.failureMessage===r.failureMessage});var G=e.i(74080);function Z(e,t,s){let r,n=s.initialDeps??[],a=!0;function i(){var i,l,o;let d,c;s.key&&(null==(i=s.debug)?void 0:i.call(s))&&(d=Date.now());let u=e();if(!(u.length!==n.length||u.some((e,t)=>n[t]!==e)))return r;if(n=u,s.key&&(null==(l=s.debug)?void 0:l.call(s))&&(c=Date.now()),r=t(...u),s.key&&(null==(o=s.debug)?void 0:o.call(s))){let e=Math.round((Date.now()-d)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,n=(e,t)=>{for(e=String(e);e.length<t;)e=" "+e;return e};console.info(`%c⏱ ${n(t,5)} /${n(e,5)} ms`,`
2
+ font-size: .6rem;
3
+ font-weight: bold;
4
+ color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,null==s?void 0:s.key)}return(null==s?void 0:s.onChange)&&!(a&&s.skipInitialOnChange)&&s.onChange(r),a=!1,r}return i.updateDeps=e=>{n=e},i}function ee(e,t){if(void 0!==e)return e;throw Error(`Unexpected undefined${t?`: ${t}`:""}`)}e.i(47167);let et=e=>{let{offsetWidth:t,offsetHeight:s}=e;return{width:t,height:s}},es=e=>e,er=e=>{let t=Math.max(e.startIndex-e.overscan,0),s=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let e=t;e<=s;e++)r.push(e);return r},en=(e,t)=>{let s=e.scrollElement;if(!s)return;let r=e.targetWindow;if(!r)return;let n=e=>{let{width:s,height:r}=e;t({width:Math.round(s),height:Math.round(r)})};if(n(et(s)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(null==e?void 0:e.borderBoxSize){let t=e.borderBoxSize[0];if(t)return void n({width:t.inlineSize,height:t.blockSize})}n(et(s))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(s,{box:"border-box"}),()=>{a.unobserve(s)}},ea={passive:!0},ei="u"<typeof window||"onscrollend"in window,el=(e,t)=>{var s,r;let n,a=e.scrollElement;if(!a)return;let i=e.targetWindow;if(!i)return;let l=0,o=e.options.useScrollendEvent&&ei?()=>void 0:(s=()=>{t(l,!1)},r=e.options.isScrollingResetDelay,function(...e){i.clearTimeout(n),n=i.setTimeout(()=>s.apply(this,e),r)}),d=s=>()=>{let{horizontal:r,isRtl:n}=e.options;l=r?a.scrollLeft*(n&&-1||1):a.scrollTop,o(),t(l,s)},c=d(!0),u=d(!1);a.addEventListener("scroll",c,ea);let h=e.options.useScrollendEvent&&ei;return h&&a.addEventListener("scrollend",u,ea),()=>{a.removeEventListener("scroll",c),h&&a.removeEventListener("scrollend",u)}},eo=(e,t,s)=>{if(null==t?void 0:t.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[s.options.horizontal?"inlineSize":"blockSize"])}return e[s.options.horizontal?"offsetWidth":"offsetHeight"]},ed=(e,{adjustments:t=0,behavior:s},r)=>{var n,a;null==(a=null==(n=r.scrollElement)?void 0:n.scrollTo)||a.call(n,{[r.options.horizontal?"left":"top"]:e+t,behavior:s})};class ec{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var e,t,s;return(null==(s=null==(t=null==(e=this.targetWindow)?void 0:e.performance)?void 0:t.now)?void 0:s.call(t))??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(this.targetWindow&&this.targetWindow.ResizeObserver?e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,s=this.indexFromElement(t);t.isConnected?this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,e,this)):this.observer.unobserve(t)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}):null);return{disconnect:()=>{var s;null==(s=t())||s.disconnect(),e=null},observe:e=>{var s;return null==(s=t())?void 0:s.observe(e,{box:"border-box"})},unobserve:e=>{var s;return null==(s=t())?void 0:s.unobserve(e)}}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,s])=>{void 0===s&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:es,rangeExtractor:er,onChange:()=>{},measureElement:eo,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,s;null==(s=(t=this.options).onChange)||s.call(t,this,e)},this.maybeNotify=Z(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),null!=this.rafId&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;let t=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==t){if(this.cleanup(),!t)return void this.maybeNotify();this.scrollElement=t,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(null==(e=this.scrollElement)?void 0:e.window)??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?"forward":"backward":null,this.scrollOffset=e,this.isScrolling=t,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let s=new Map,r=new Map;for(let n=t-1;n>=0;n--){let t=e[n];if(s.has(t.lane))continue;let a=r.get(t.lane);if(null==a||t.end>a.end?r.set(t.lane,t):t.end<a.end&&s.set(t.lane,!0),s.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=Z(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(e,t,s,r,n,a)=>(void 0!==this.prevLanes&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:s,getItemKey:r,enabled:n,lanes:a}),{key:!1}),this.getMeasurements=Z(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:s,getItemKey:r,enabled:n,lanes:a},i)=>{if(!n)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let l=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);let o=this.measurementsCache.slice(0,l),d=Array(a).fill(void 0);for(let e=0;e<l;e++){let t=o[e];t&&(d[t.lane]=e)}for(let n=l;n<e;n++){let e,a,l=r(n),c=this.laneAssignments.get(n);if(void 0!==c&&this.options.lanes>1){let r=d[e=c],n=void 0!==r?o[r]:void 0;a=n?n.end+this.options.gap:t+s}else{let r=1===this.options.lanes?o[n-1]:this.getFurthestMeasurement(o,n);a=r?r.end+this.options.gap:t+s,e=r?r.lane:n%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(n,e)}let u=i.get(l),h="number"==typeof u?u:this.options.estimateSize(n),m=a+h;o[n]={index:n,start:a,size:h,end:m,key:l,lane:e},d[e]=n}return this.measurementsCache=o,o},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Z(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,s,r)=>this.range=e.length>0&&t>0?function({measurements:e,outerSize:t,scrollOffset:s,lanes:r}){let n=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:n};let a=eu(0,n,t=>e[t].start,s),i=a;if(1===r)for(;i<n&&e[i].end<s+t;)i++;else if(r>1){let l=Array(r).fill(0);for(;i<n&&l.some(e=>e<s+t);){let t=e[i];l[t.lane]=t.end,i++}let o=Array(r).fill(s+t);for(;a>=0&&o.some(e=>e>=s);){let t=e[a];o[t.lane]=t.start,a--}a=Math.max(0,a-a%r),i=Math.min(n,i+(r-1-i%r))}return{startIndex:a,endIndex:i}}({measurements:e,outerSize:t,scrollOffset:s,lanes:r}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Z(()=>{let e=null,t=null,s=this.calculateRange();return s&&(e=s.startIndex,t=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,s,r,n)=>null===r||null===n?[]:e({startIndex:r,endIndex:n,overscan:t,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,s=e.getAttribute(t);return s?parseInt(s,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{var t;if(!this.scrollState||"smooth"!==this.scrollState.behavior)return!0;let s=this.scrollState.index??(null==(t=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))?void 0:t.index);if(void 0!==s&&this.range){let t=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,s-t),n=Math.min(this.options.count-1,s+t);return e>=r&&e<=n}return!0},this.measureElement=e=>{if(!e)return void this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});let t=this.indexFromElement(e),s=this.options.getItemKey(t),r=this.elementsCache.get(s);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(s,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var s;let r=this.measurementsCache[e];if(!r)return;let n=t-(this.itemSizeCache.get(r.key)??r.size);0!==n&&((null==(s=this.scrollState)?void 0:s.behavior)!=="smooth"&&(void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(r,n,this):r.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=n,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(r.index),this.itemSizeCache=new Map(this.itemSizeCache.set(r.key,t)),this.notify(!1))},this.getVirtualItems=Z(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let s=[];for(let r=0,n=e.length;r<n;r++){let n=t[e[r]];s.push(n)}return s},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(0!==t.length)return ee(t[eu(0,t.length-1,e=>ee(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,t,s=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),n=this.getScrollOffset();return"auto"===t&&(t=e>=n+r?"end":"start"),"center"===t?e+=(s-r)/2:"end"===t&&(e-=r),Math.max(Math.min(this.getMaxScrollOffset(),e),0)},this.getOffsetForIndex=(e,t="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));let s=this.getSize(),r=this.getScrollOffset(),n=this.measurementsCache[e];if(!n)return;if("auto"===t)if(n.end>=r+s-this.options.scrollPaddingEnd)t="end";else{if(!(n.start<=r+this.options.scrollPaddingStart))return[r,t];t="start"}if("end"===t&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a="end"===t?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,n.size),t]},this.scrollToOffset=(e,{align:t="start",behavior:s="auto"}={})=>{let r=this.getOffsetForAlignment(e,t),n=this.now();this.scrollState={index:null,align:t,behavior:s,startedAt:n,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t="auto",behavior:s="auto"}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[n,a]=r,i=this.now();this.scrollState={index:e,align:a,behavior:s,startedAt:i,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t="auto"}={})=>{let s=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:"start",behavior:t,startedAt:r,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var e;let t,s=this.getMeasurements();if(0===s.length)t=this.options.paddingStart;else if(1===this.options.lanes)t=(null==(e=s[s.length-1])?void 0:e.end)??0;else{let e=Array(this.options.lanes).fill(null),r=s.length-1;for(;r>=0&&e.some(e=>null===e);){let t=s[r];null===e[t.lane]&&(e[t.lane]=t.end),r--}t=Math.max(...e.filter(e=>null!==e))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:s})=>{this.options.scrollToFn(e,{behavior:s,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(e)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}null==this.rafId&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=null!=this.scrollState.index?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,t=e?e[0]:this.scrollState.lastTargetOffset,s=t!==this.scrollState.lastTargetOffset;if(!s&&1.01>Math.abs(t-this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.scrollState=null;return}}else this.scrollState.stableFrames=0,s&&(this.scrollState.lastTargetOffset=t,this.scrollState.behavior="auto",this._scrollToOffset(t,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}let eu=(e,t,s,r)=>{for(;e<=t;){let n=(e+t)/2|0,a=s(n);if(a<r)e=n+1;else{if(!(a>r))return n;t=n-1}}return e>0?e-1:0},eh="u">typeof document?s.useLayoutEffect:s.useEffect;function em({runs:e,className:r,maxHeight:n=600,renderItem:a}){let i=(0,s.useRef)(null),l=(0,s.useMemo)(()=>e,[e]),o=(0,s.useCallback)(e=>l[e]?.runId??e,[l]),d=function({useFlushSync:e=!0,...t}){let r=s.useReducer(()=>({}),{})[1],n={...t,onChange:(s,n)=>{var a;e&&n?(0,G.flushSync)(r):r(),null==(a=t.onChange)||a.call(t,s,n)}},[a]=s.useState(()=>new ec(n));return a.setOptions(n),eh(()=>a._didMount(),[]),eh(()=>a._willUpdate()),a}({observeElementRect:en,observeElementOffset:el,scrollToFn:ed,...{count:l.length,getScrollElement:()=>i.current,estimateSize:()=>140,overscan:3,getItemKey:o}});if(l.length<15)return(0,t.jsx)("div",{className:r,"data-testid":"run-list-flat",children:(0,t.jsx)("div",{className:"flex flex-col gap-2",children:l.map((e,s)=>a?(0,t.jsx)("div",{children:a(e,s)},e.runId):(0,t.jsx)(Y,{run:e},e.runId))})});let c=d.getVirtualItems();return(0,t.jsx)("div",{ref:i,className:r,"data-testid":"run-list-virtualized",style:{maxHeight:n,overflow:"auto",contain:"strict"},children:(0,t.jsx)("div",{style:{height:`${d.getTotalSize()}px`,width:"100%",position:"relative"},children:c.map(e=>{let s=l[e.index];return s?(0,t.jsx)("div",{"data-index":e.index,ref:d.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${e.start}px)`},children:(0,t.jsx)("div",{style:{paddingBottom:8},children:a?a(s,e.index):(0,t.jsx)(Y,{run:s})})},e.key):null})})})}let eg=(0,w.default)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var ex=e.i(8080);function ep({currentPage:e,totalItems:s,itemsPerPage:r,onPageChange:n,className:a}){let i=Math.ceil(s/r),l=Math.min((e+1)*r,s),o=e>0,c=e<i-1;if(0===s)return null;let u=[];if(i<=5)for(let e=0;e<i;e++)u.push(e);else{u.push(0),e>2&&u.push("ellipsis");for(let t=Math.max(1,e-1);t<=Math.min(i-2,e+1);t++)u.push(t);e<i-3&&u.push("ellipsis"),u.push(i-1)}return(0,t.jsxs)("div",{className:(0,d.cn)("flex items-center justify-between border-t border-border pt-3",a),children:[(0,t.jsxs)("span",{className:"text-xs text-foreground-muted tabular-nums",children:[e*r+1,"–",l," of ",s]}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,t.jsx)("button",{onClick:()=>n(e-1),disabled:!o,className:(0,d.cn)("inline-flex h-11 w-11 items-center justify-center rounded-md text-xs transition-all",o?"text-foreground hover:bg-primary-muted hover:text-primary hover:shadow-neon-glow-primary-xs cursor-pointer":"text-foreground-muted cursor-not-allowed opacity-40"),"aria-label":"Previous page",children:(0,t.jsx)(eg,{className:"h-4 w-4"})}),u.map((s,r)=>"ellipsis"===s?(0,t.jsx)("span",{className:"inline-flex h-11 w-5 items-center justify-center text-xs text-foreground-muted",children:"..."},`ellipsis-${r}`):(0,t.jsx)("button",{onClick:()=>n(s),className:(0,d.cn)("inline-flex h-11 min-w-[44px] items-center justify-center rounded-md px-1.5 text-xs font-medium tabular-nums transition-all",s===e?"text-primary bg-primary/10":"text-foreground-muted hover:bg-background-secondary hover:text-foreground-secondary cursor-pointer"),children:s+1},s)),(0,t.jsx)("button",{onClick:()=>n(e+1),disabled:!c,className:(0,d.cn)("inline-flex h-11 w-11 items-center justify-center rounded-md text-xs transition-all",c?"text-foreground hover:bg-primary-muted hover:text-primary hover:shadow-neon-glow-primary-xs cursor-pointer":"text-foreground-muted cursor-not-allowed opacity-40"),"aria-label":"Next page",children:(0,t.jsx)(ex.ChevronRight,{className:"h-4 w-4"})})]})]})}var ef=e.i(95833),eb=e.i(81225),ev=e.i(23406);let ew={healthy:{dotClass:"bg-success shadow-[0_0_6px_var(--success)]",borderClass:"border-success/20 hover:border-success/40",icon:h.CheckCircle2,label:"Healthy",barColor:"bg-success"},active:{dotClass:"bg-warning shadow-[0_0_6px_var(--warning)] animate-pulse-dot",borderClass:"border-warning/20 hover:border-warning/40",icon:R,label:"Active",barColor:"bg-warning"},stale:{dotClass:"bg-zinc-500",borderClass:"border-zinc-500/20 hover:border-zinc-500/40",icon:I.Pause,label:"Stale",barColor:"bg-zinc-500"},failing:{dotClass:"bg-error shadow-[0_0_6px_var(--error)]",borderClass:"border-error/20 hover:border-error/40",icon:M.AlertCircle,label:"Failing",barColor:"bg-error"}};function ej({project:e,statusFilter:n,sortMode:a="status",onHide:i}){let o,u,m,g,x,p,[f,b]=(0,s.useState)(!1),v=(0,s.useCallback)(async t=>{t.stopPropagation(),b(!0);let s=await (0,ef.resilientFetch)("/api/config");if(!s.ok)return void b(!1);let r=s.data.hiddenProjects??[];if(r.includes(e.projectName)){b(!1),i?.(e.projectName);return}let n=[...r,e.projectName],a=await (0,ef.resilientFetch)("/api/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sources:s.data.sources,pollInterval:s.data.pollInterval,theme:s.data.theme,retentionDays:s.data.retentionDays,hiddenProjects:n})});b(!1),a.ok&&i?.(e.projectName)},[e.projectName,i]),[w,j]=l(`observer:project-expanded:${e.projectName}`,!1),[y,N]=(0,s.useState)(0),[k,C]=(0,s.useState)(!1),[E,A]=(0,s.useState)(!1),[z,T]=(0,s.useState)("all"),F=ew[e.failedRuns>0?"failing":e.activeRuns>0?"active":e.staleRuns>0?"stale":"healthy"],P=F.icon,D=e.totalTasks>0?Math.round(e.completedTasksAggregate/e.totalTasks*100):0,$="all"!==z?z:n,{runs:H,totalCount:K,loading:U}=function(e,t={}){let{limit:s=10,offset:n=0,search:a="",status:i="",sort:l="status",enabled:o=!0}=t,d=new URLSearchParams;d.set("project",e),d.set("limit",String(s)),d.set("offset",String(n)),a&&d.set("search",a),i&&d.set("status",i),l&&"status"!==l&&d.set("sort",l);let c=`/api/runs?${d.toString()}`,{data:u,loading:h,error:m,refresh:g}=(0,r.useSmartPolling)(c,{interval:5e3,sseFilter:()=>!0,enabled:o});return{runs:o&&u?u.runs:[],totalCount:o&&u?u.totalCount:0,loading:h,error:m,refresh:g}}(e.projectName,{limit:5,offset:5*y,status:"all"===$?"":$,sort:a,enabled:w}),q=e=>{T(t=>t===e?"all":e),N(0)};return(0,t.jsxs)(W,{"data-testid":`project-card-${e.projectName}`,className:(0,d.cn)("transition-all duration-200 overflow-hidden card-hover-lift",F.borderClass,w&&"ring-1 ring-primary/20"),children:[(0,t.jsxs)("button",{onClick:()=>j(e=>!e),className:"w-full text-left p-4 hover:bg-background-secondary/30 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 truncate flex-1",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold text-foreground truncate",children:e.projectName}),e.pendingBreakpoints>0&&(0,t.jsxs)("span",{className:(0,d.cn)("inline-flex items-center gap-1 rounded-full px-2 py-0.5 shrink-0","bg-warning/15 border border-warning/30","text-xs leading-tight font-bold text-warning","animate-pulse-dot"),children:[(0,t.jsx)(c.Hand,{className:"h-2.5 w-2.5"}),e.pendingBreakpoints," Pending"]})]}),(0,t.jsxs)("div",{className:"flex items-center shrink-0 ml-2 gap-1",children:[(0,t.jsx)("span",{role:"button",tabIndex:0,onClick:v,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),v(e))},className:(0,d.cn)("rounded-md p-2 min-h-[44px] min-w-[44px] inline-flex items-center justify-center transition-colors",f?"text-foreground-muted cursor-wait":"text-foreground-muted/40 hover:text-foreground-muted hover:bg-background-secondary"),title:"Hide project from dashboard",children:f?(0,t.jsx)(ev.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(eb.EyeOff,{className:"h-3.5 w-3.5"})}),w?(0,t.jsx)(_.ChevronUp,{className:"h-4 w-4 text-foreground-muted"}):(0,t.jsx)(L.ChevronDown,{className:"h-4 w-4 text-foreground-muted"})]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 text-xs text-foreground-muted",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:(0,d.cn)("h-2.5 w-2.5 rounded-full shrink-0",F.dotClass)}),(0,t.jsx)(P,{className:"h-3 w-3"}),F.label]}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(S.Layers,{className:"h-3 w-3"}),e.totalRuns]}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(O.Clock,{className:"h-3 w-3"}),(0,J.formatRelativeTime)(e.latestUpdate)]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.activeRuns>0&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-full bg-warning/10 border border-warning/20 px-1.5 py-0.5 text-xs leading-tight font-medium text-warning tabular-nums",title:`${e.activeRuns} active`,children:[(0,t.jsx)(R,{className:"h-3 w-3"}),e.activeRuns]}),e.staleRuns>0&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-full bg-zinc-500/10 border border-zinc-500/20 px-1.5 py-0.5 text-xs leading-tight font-medium text-zinc-500 tabular-nums",title:`${e.staleRuns} stale`,children:[(0,t.jsx)(I.Pause,{className:"h-3 w-3"}),e.staleRuns]}),e.completedRuns>0&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-full bg-success/10 border border-success/20 px-1.5 py-0.5 text-xs leading-tight font-medium text-success tabular-nums",title:`${e.completedRuns} completed`,children:[(0,t.jsx)(h.CheckCircle2,{className:"h-3 w-3"}),e.completedRuns]}),e.failedRuns>0&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-full bg-error/10 border border-error/20 px-1.5 py-0.5 text-xs leading-tight font-medium text-error tabular-nums",title:`${e.failedRuns} failed`,children:[(0,t.jsx)(M.AlertCircle,{className:"h-3 w-3"}),e.failedRuns]})]})]}),e.totalTasks>0&&(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,t.jsxs)("span",{className:"text-xs leading-tight text-foreground-muted",children:[e.completedTasksAggregate,"/",e.totalTasks," tasks"]}),(0,t.jsxs)("span",{className:"text-xs leading-tight text-foreground-muted tabular-nums",children:[D,"%"]})]}),(0,t.jsx)("div",{className:"h-1.5 w-full rounded-full bg-background-secondary overflow-hidden",children:(0,t.jsx)("div",{className:(0,d.cn)("h-full rounded-full transition-all duration-500",F.barColor),style:{width:`${D}%`}})})]})]}),w&&(o=H.filter(e=>"waiting"===e.status||"pending"===e.status||e.isStale),u=H.filter(e=>"completed"===e.status&&!e.isStale),m=H.filter(e=>"failed"===e.status&&!e.isStale),g=o.length>0,x=u.length>0,p=m.length>0,(0,t.jsxs)("div",{className:"border-t border-border px-4 pb-4 pt-3",children:[U&&0===H.length?(0,t.jsx)("div",{className:"flex flex-col gap-2",children:[1,2].map(e=>(0,t.jsxs)("div",{className:"rounded-lg border border-border bg-background p-3 animate-pulse",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,t.jsx)("div",{className:"h-2 w-2 rounded-full bg-foreground-muted/20"}),(0,t.jsx)("div",{className:"h-3 w-32 rounded bg-foreground-muted/10"})]}),(0,t.jsx)("div",{className:"h-2 w-full rounded bg-foreground-muted/10"})]},e))}):0===H.length?(0,t.jsx)("p",{className:"text-xs text-foreground-muted text-center py-4",children:"No matching runs"}):"activity"===a?(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:(0,d.cn)("grid gap-2 mb-3",e.staleRuns>0?"grid-cols-4":"grid-cols-3"),children:[(0,t.jsx)(ey,{icon:(0,t.jsx)(R,{className:"h-3.5 w-3.5"}),count:e.activeRuns,label:"Active",colorClass:"text-warning",bgClass:"bg-warning/10",pulse:e.activeRuns>0,active:"waiting"===z,onClick:e=>{e.stopPropagation(),q("waiting")}}),e.staleRuns>0&&(0,t.jsx)(ey,{icon:(0,t.jsx)(I.Pause,{className:"h-3.5 w-3.5"}),count:e.staleRuns,label:"Stale",colorClass:"text-zinc-500",bgClass:"bg-zinc-500/10",active:"waiting"===z,onClick:e=>{e.stopPropagation(),q("waiting")}}),(0,t.jsx)(ey,{icon:(0,t.jsx)(h.CheckCircle2,{className:"h-3.5 w-3.5"}),count:e.completedRuns,label:"Completed",colorClass:"text-success",bgClass:"bg-success/10",active:"completed"===z,onClick:e=>{e.stopPropagation(),q("completed")}}),(0,t.jsx)(ey,{icon:(0,t.jsx)(M.AlertCircle,{className:"h-3.5 w-3.5"}),count:e.failedRuns,label:"Failed",colorClass:"text-error",bgClass:"bg-error/10",active:"failed"===z,onClick:e=>{e.stopPropagation(),q("failed")}})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,t.jsx)(O.Clock,{className:"h-3.5 w-3.5 text-primary"}),(0,t.jsx)("span",{className:"text-xs font-semibold text-foreground",children:"Timeline"}),(0,t.jsx)("span",{className:"rounded-full bg-primary/10 border border-primary/20 px-2 py-px text-xs font-semibold text-primary tabular-nums",children:H.length})]}),(0,t.jsx)(em,{runs:H,maxHeight:500,renderItem:e=>(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(Y,{run:e}),(0,t.jsxs)("span",{className:"absolute top-2 right-2 inline-flex items-center gap-1 rounded-full bg-background/80 backdrop-blur-sm border border-border px-2 py-0.5 text-xs text-foreground-muted tabular-nums pointer-events-none z-10",children:[(0,t.jsx)(O.Clock,{className:"h-2.5 w-2.5"}),(0,J.formatRelativeTime)(e.updatedAt)]})]})})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:(0,d.cn)("grid gap-2 mb-3",e.staleRuns>0?"grid-cols-4":"grid-cols-3"),children:[(0,t.jsx)(ey,{icon:(0,t.jsx)(R,{className:"h-3.5 w-3.5"}),count:e.activeRuns,label:"Active",colorClass:"text-warning",bgClass:"bg-warning/10",pulse:e.activeRuns>0,active:"waiting"===z,onClick:e=>{e.stopPropagation(),q("waiting")}}),e.staleRuns>0&&(0,t.jsx)(ey,{icon:(0,t.jsx)(I.Pause,{className:"h-3.5 w-3.5"}),count:e.staleRuns,label:"Stale",colorClass:"text-zinc-500",bgClass:"bg-zinc-500/10",active:"waiting"===z,onClick:e=>{e.stopPropagation(),q("waiting")}}),(0,t.jsx)(ey,{icon:(0,t.jsx)(h.CheckCircle2,{className:"h-3.5 w-3.5"}),count:e.completedRuns,label:"Completed",colorClass:"text-success",bgClass:"bg-success/10",active:"completed"===z,onClick:e=>{e.stopPropagation(),q("completed")}}),(0,t.jsx)(ey,{icon:(0,t.jsx)(M.AlertCircle,{className:"h-3.5 w-3.5"}),count:e.failedRuns,label:"Failed",colorClass:"text-error",bgClass:"bg-error/10",active:"failed"===z,onClick:e=>{e.stopPropagation(),q("failed")}})]}),g&&(0,t.jsxs)("div",{className:"mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,t.jsx)(R,{className:"h-3.5 w-3.5 text-warning animate-pulse-dot"}),(0,t.jsx)("span",{className:"text-xs font-semibold text-foreground",children:"In Progress"}),(0,t.jsx)("span",{className:"rounded-full bg-warning/10 border border-warning/20 px-2 py-px text-xs font-semibold text-warning tabular-nums",children:o.length})]}),(0,t.jsx)(em,{runs:o,maxHeight:500})]}),p&&(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{onClick:e=>{e.stopPropagation(),A(e=>!e)},className:"flex items-center gap-2 py-1.5 text-xs group w-fit",children:[(0,t.jsx)(M.AlertCircle,{className:"h-3.5 w-3.5 text-error/70"}),(0,t.jsx)("span",{className:"font-semibold text-error/80 group-hover:text-error transition-colors",children:"Failed Runs"}),(0,t.jsx)("span",{className:"rounded-full bg-error/10 border border-error/20 px-2 py-px text-xs font-semibold text-error tabular-nums",children:m.length}),E?(0,t.jsx)(_.ChevronUp,{className:"h-3 w-3 text-error/40 group-hover:text-error/60"}):(0,t.jsx)(L.ChevronDown,{className:"h-3 w-3 text-error/40 group-hover:text-error/60"})]}),E&&(0,t.jsx)("div",{className:"mt-1 opacity-70",children:(0,t.jsx)(em,{runs:m,maxHeight:400})})]}),x&&(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{onClick:e=>{e.stopPropagation(),C(e=>!e)},className:"flex items-center gap-2 py-1.5 text-xs group w-fit",children:[(0,t.jsx)(B,{className:"h-3.5 w-3.5 text-foreground-muted/70"}),(0,t.jsx)("span",{className:"font-semibold text-foreground-muted group-hover:text-foreground-secondary transition-colors",children:"Completed History"}),(0,t.jsx)("span",{className:"rounded-full bg-background-secondary border border-border px-2 py-px text-xs font-semibold text-foreground-muted tabular-nums",children:u.length}),k?(0,t.jsx)(_.ChevronUp,{className:"h-3 w-3 text-foreground-muted/60 group-hover:text-foreground-muted"}):(0,t.jsx)(L.ChevronDown,{className:"h-3 w-3 text-foreground-muted/60 group-hover:text-foreground-muted"})]}),k&&(0,t.jsx)("div",{className:"mt-1 opacity-60",children:(0,t.jsx)(em,{runs:u,maxHeight:400})})]})]}),K>5&&(0,t.jsx)(ep,{currentPage:y,totalItems:K,itemsPerPage:5,onPageChange:N,className:"mt-3"})]}))]})}function ey({icon:e,count:s,label:r,colorClass:n,bgClass:a,pulse:i,active:l,onClick:o}){let c=!!o;return(0,t.jsxs)("div",{role:c?"button":void 0,tabIndex:c?0:void 0,onClick:o,onKeyDown:c?e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),o?.(e))}:void 0,className:(0,d.cn)("rounded-md px-2.5 py-1.5 flex items-center gap-2 transition-all",a,c&&"cursor-pointer hover:opacity-80",l&&"ring-2 ring-offset-1 ring-offset-card",l&&n.replace("text-","ring-").replace(/\/\d+$/,"/50")),children:[(0,t.jsx)("span",{className:(0,d.cn)(n,i&&"animate-pulse"),children:e}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:(0,d.cn)("text-sm font-bold tabular-nums leading-none",n),children:s}),(0,t.jsx)("p",{className:"text-xs leading-tight text-foreground-muted uppercase tracking-wider",children:r})]})]})}function eN(){return(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 items-start",children:[1,2,3].map(e=>(0,t.jsxs)("div",{className:"rounded-lg border border-border bg-card p-4 animate-pulse",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-foreground-muted/20"}),(0,t.jsx)("div",{className:"h-4 w-32 rounded bg-foreground-muted/10"})]}),(0,t.jsx)("div",{className:"h-1.5 w-full rounded-full bg-foreground-muted/10 mb-3"}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"h-5 w-16 rounded-full bg-foreground-muted/10"}),(0,t.jsx)("div",{className:"h-5 w-16 rounded-full bg-foreground-muted/10"}),(0,t.jsx)("div",{className:"h-3 w-12 rounded bg-foreground-muted/10"})]})]},e))})}function ek({error:e}){return(0,t.jsxs)("div",{"data-testid":"error-banner",className:"rounded-lg border border-error/20 bg-error-muted p-4 text-sm text-error",children:["Failed to load projects: ",e]})}function eC(){return(0,t.jsxs)("div",{"data-testid":"empty-state",className:"text-center py-16",children:[(0,t.jsx)(D.FolderOpen,{className:"h-10 w-10 text-foreground-muted/30 mx-auto mb-3"}),(0,t.jsx)("p",{className:"text-sm text-foreground-muted mb-1",children:"No projects found"}),(0,t.jsxs)("p",{className:"text-xs text-foreground-muted/60",children:["Configure watch sources in"," ",(0,t.jsx)("button",{onClick:()=>window.dispatchEvent(new CustomEvent("open-settings")),className:"text-primary hover:underline",children:"Settings"})," ","or edit ",(0,t.jsx)("span",{className:"font-mono",children:"~/.a5c/observer.json"})]})]})}function eS(){return(0,t.jsxs)("div",{"data-testid":"idle-empty-state",className:"text-center py-16",children:[(0,t.jsx)($.Eye,{className:"h-10 w-10 text-foreground-muted/30 mx-auto mb-3"}),(0,t.jsx)("p",{className:"text-sm text-foreground-muted mb-1",children:"All quiet — no active orchestration runs"}),(0,t.jsx)("p",{className:"text-xs text-foreground-muted/60",children:"Runs will appear here when babysitter processes are started"})]})}function eR({loading:e,error:s,filteredProjects:r,activeProjects:n,historyProjects:a,statusFilter:i,sortMode:l,cardStatusFilter:o,historyCollapsed:c,onHistoryCollapsedChange:u,onHideProject:h}){return e?(0,t.jsx)(eN,{}):s?(0,t.jsx)(ek,{error:s}):0===r.length?(0,t.jsx)(eC,{}):(0,t.jsxs)("div",{className:"flex flex-col gap-8",children:[0===n.length&&0===a.length&&(0,t.jsx)(eS,{}),0===n.length&&a.length>0&&("all"===i||"stale"===i)&&(0,t.jsxs)("div",{"data-testid":"idle-with-history-banner",className:"flex items-center gap-2 px-3 py-2 rounded-md bg-background-secondary/50 border border-border w-fit",children:[(0,t.jsx)(R,{className:"h-3.5 w-3.5 text-foreground-muted/50"}),(0,t.jsx)("span",{className:"text-xs text-foreground-muted",children:"activity"===l?"No activity in the last 24 hours":"No runs in progress"})]}),n.length>0&&("all"===i||"stale"===i||"waiting"===i)&&(0,t.jsx)(H.ErrorBoundary,{section:"Active Runs",children:(0,t.jsxs)("section",{"data-testid":"active-runs-section",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:["activity"===l?(0,t.jsx)(O.Clock,{className:"h-4 w-4 text-primary"}):(0,t.jsx)(R,{className:"h-4 w-4 text-warning animate-pulse-dot"}),(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"activity"===l?"Recent Activity":"In Progress"}),(0,t.jsx)("span",{className:(0,d.cn)("rounded-full px-2 py-px text-xs font-semibold tabular-nums","activity"===l?"bg-primary/10 border border-primary/20 text-primary":"bg-warning/10 border border-warning/20 text-warning"),children:n.length})]}),(0,t.jsx)("div",{"data-testid":"project-grid-active",className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 items-start",children:n.map(e=>(0,t.jsx)(ej,{project:e,statusFilter:o,sortMode:l,onHide:h},e.projectName))})]})}),("completed"===i||"failed"===i)&&(0,t.jsx)(H.ErrorBoundary,{section:"Filtered Results",children:(0,t.jsx)("div",{"data-testid":"project-grid-filtered",className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 items-start",children:r.map(e=>(0,t.jsx)(ej,{project:e,statusFilter:o,sortMode:l},e.projectName))})}),a.length>0&&("all"===i||"stale"===i)&&(0,t.jsx)(H.ErrorBoundary,{section:"Recent History",children:(0,t.jsxs)("section",{"data-testid":"recent-history-section",children:[(0,t.jsxs)("button",{onClick:()=>u(e=>!e),className:"flex items-center gap-2 mb-3 group w-fit",children:[(0,t.jsx)(B,{className:"h-4 w-4 text-foreground-muted/70"}),(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground-muted group-hover:text-foreground-secondary transition-colors",children:"activity"===l?"Earlier":"Recent History"}),(0,t.jsx)("span",{className:"rounded-full bg-background-secondary border border-border px-2 py-px text-xs font-semibold text-foreground-muted tabular-nums",children:a.length}),c?(0,t.jsx)(L.ChevronDown,{className:"h-3.5 w-3.5 text-foreground-muted/60 group-hover:text-foreground-muted transition-colors"}):(0,t.jsx)(_.ChevronUp,{className:"h-3.5 w-3.5 text-foreground-muted/60 group-hover:text-foreground-muted transition-colors"})]}),!c&&(0,t.jsx)("div",{className:"opacity-70",children:(0,t.jsx)("div",{"data-testid":"project-grid-history",className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 items-start",children:a.map(e=>(0,t.jsx)(ej,{project:e,statusFilter:o,sortMode:l},e.projectName))})})]})})]})}var eM=e.i(18566);let eI=(0,w.default)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),eE=(0,w.default)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);function eA(){let e=(0,eM.useRouter)(),[r,n]=(0,s.useState)(""),[a,i]=(0,s.useState)(""),[l,o]=(0,s.useState)([]),[c,u]=(0,s.useState)(!1),[h,m]=(0,s.useState)(!1),[x,p]=(0,s.useState)(-1),[f,b]=(0,s.useState)(!1),v=(0,s.useRef)(null),w=(0,s.useRef)(null),j=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=setTimeout(()=>{i(r.trim())},300);return()=>clearTimeout(e)},[r]),(0,s.useEffect)(()=>{if(!a){o([]),b(!1),p(-1);return}let e=!1;return async function(){m(!0);try{let t=new URLSearchParams({search:a,limit:"10"}),s=await fetch(`/api/runs?${t}`);if(!s.ok)throw Error("Search failed");let r=await s.json();e||(o(r.runs??[]),b(!0),p(-1))}catch{e||(o([]),b(!0))}finally{e||m(!1)}}(),()=>{e=!0}},[a]);let y=(0,s.useCallback)(t=>{u(!1),n(""),o([]),b(!1),e.push(`/runs/${t}`)},[e]),N=(0,s.useCallback)(e=>{if(c)switch(e.key){case"ArrowDown":e.preventDefault(),p(e=>e<l.length-1?e+1:0);break;case"ArrowUp":e.preventDefault(),p(e=>e>0?e-1:l.length-1);break;case"Enter":e.preventDefault(),x>=0&&x<l.length&&y(l[x].runId);break;case"Escape":e.preventDefault(),u(!1),v.current?.blur()}},[c,l,x,y]);(0,s.useEffect)(()=>{if(x>=0&&j.current){let e=j.current.querySelectorAll("[data-search-item]");e[x]?.scrollIntoView({block:"nearest"})}},[x]),(0,s.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key&&(e.preventDefault(),v.current?.focus(),u(!0)),"/"!==e.key||e.metaKey||e.ctrlKey||e.altKey||e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLSelectElement||e.target?.isContentEditable||(e.preventDefault(),v.current?.focus(),u(!0))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,s.useEffect)(()=>{let e=e=>{w.current&&!w.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let k=c&&r.trim().length>0;return(0,t.jsxs)("div",{ref:w,className:"relative w-full max-w-xl mx-auto mb-6",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(eI,{className:"absolute left-3.5 top-1/2 -translate-y-1/2 h-4 w-4 text-foreground-muted pointer-events-none"}),(0,t.jsx)("input",{ref:v,type:"text",value:r,onChange:e=>{n(e.target.value),u(!0)},onFocus:()=>{r.trim()&&u(!0)},onKeyDown:N,placeholder:"Search runs by ID, process name, or task title...",className:(0,d.cn)("w-full rounded-lg border border-border bg-card/80 backdrop-blur-sm","pl-10 pr-20 py-2.5 text-sm text-foreground","placeholder:text-foreground-muted/60","focus:border-primary/40 focus:outline-none focus:ring-2 focus:ring-primary/30","focus:shadow-neon-glow-primary-focus transition-all"),"data-testid":"global-search-input"}),(0,t.jsxs)("div",{className:"absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-1.5",children:[r&&(0,t.jsx)("button",{onClick:()=>{n(""),o([]),b(!1),u(!1),v.current?.focus()},className:"rounded-md p-2 min-h-[44px] min-w-[44px] flex items-center justify-center text-foreground-muted hover:text-foreground-secondary transition-colors","aria-label":"Clear search",children:(0,t.jsx)(g.X,{className:"h-3.5 w-3.5"})}),(0,t.jsxs)("kbd",{className:"hidden sm:inline-flex items-center gap-0.5 rounded border border-border bg-background-secondary px-1.5 py-0.5 text-xs font-medium text-foreground-muted",children:[(0,t.jsx)("span",{className:"text-xs",children:"u">typeof navigator&&/Mac/i.test(navigator.userAgent)?"⌘":"Ctrl"}),(0,t.jsx)("span",{children:"K"})]})]})]}),k&&(0,t.jsxs)("div",{className:(0,d.cn)("absolute z-50 top-full left-0 right-0 mt-1.5","rounded-lg border border-border bg-card/95 backdrop-blur-md shadow-xl","overflow-hidden"),"data-testid":"global-search-dropdown",children:[h&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-4 py-3 text-xs text-foreground-muted",children:[(0,t.jsx)("div",{className:"h-3 w-3 rounded-full border-2 border-primary/40 border-t-primary animate-spin"}),"Searching..."]}),!h&&f&&0===l.length&&(0,t.jsxs)("div",{className:"px-4 py-6 text-center",children:[(0,t.jsx)(eI,{className:"h-5 w-5 text-foreground-muted/30 mx-auto mb-2"}),(0,t.jsxs)("p",{className:"text-xs text-foreground-muted",children:["No runs found for “",a,"”"]})]}),!h&&l.length>0&&(0,t.jsx)("ul",{ref:j,className:"max-h-80 overflow-y-auto py-1",role:"listbox",children:l.map((e,s)=>(0,t.jsxs)("li",{"data-search-item":!0,role:"option","aria-selected":s===x,onClick:()=>y(e.runId),className:(0,d.cn)("flex items-center gap-3 px-4 py-2.5 cursor-pointer transition-colors",s===x?"bg-primary/10":"hover:bg-background-secondary/60"),children:[(0,t.jsx)("span",{className:(0,d.cn)("h-2 w-2 rounded-full shrink-0","completed"===e.status?"bg-success":"failed"===e.status?"bg-error":"waiting"===e.status||"pending"===e.status?"bg-warning":"bg-foreground-muted")}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground truncate",children:(0,J.friendlyProcessName)(e.processId)}),(0,t.jsx)(K.StatusBadge,{status:e.status,waitingKind:e.waitingKind,isStale:e.isStale})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[e.projectName&&(0,t.jsx)("span",{className:"text-xs text-foreground-muted",children:e.projectName}),(0,t.jsx)("span",{className:"font-mono text-xs text-info",children:(0,J.formatShortId)(e.runId,8)})]})]}),(0,t.jsx)(eE,{className:(0,d.cn)("h-3.5 w-3.5 shrink-0 transition-colors",s===x?"text-primary":"text-foreground-muted/40")})]},e.runId))})]})]})}e.s(["default",0,function(){let{projects:e,loading:a,error:i,metrics:o,allBreakpointRuns:d,summaryMetrics:c,bannerFingerprint:u,bannerDismissed:h,filterCounts:m,filteredProjects:g,activeProjects:x,historyProjects:p,statusFilter:f,sortMode:v,historyCollapsed:w,cardStatusFilter:j,hasStaleRuns:N,catchUp:k,setStatusFilter:S,setSortMode:R,setHistoryCollapsed:M,setDismissedFingerprint:I,toggleMetricFilter:E,handleHideProject:A}=function(){let e=(0,s.useRef)(()=>{}),t=function(e={}){let{sseFilter:t,onFlush:r,enabled:a=!0}=e,[i,l]=(0,s.useState)(!1),[o,d]=(0,s.useState)(0),c=(0,s.useRef)([]),u=(0,s.useRef)(!1),h=(0,s.useRef)(null),m=(0,s.useRef)(t);m.current=t;let g=(0,s.useRef)(r);g.current=r;let x=(0,s.useCallback)(()=>{u.current=!1,l(!1),d(0),c.current=[],h.current&&(clearTimeout(h.current),h.current=null),g.current?.()},[]),p=(0,s.useCallback)(()=>{u.current&&x()},[x]);return(0,s.useEffect)(()=>{if(!a)return;let e=(0,n.subscribe)(e=>{if("connected"===e.type||"disconnect"===e.type||"error"===e.type||m.current&&!m.current(e))return;let t=Date.now();c.current.push(t),c.current=c.current.filter(e=>t-e<5e3),u.current?(d(e=>e+1),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{x()},3e3)):c.current.length>=10&&(u.current=!0,l(!0),d(c.current.length),h.current=setTimeout(()=>{x()},3e3))});return()=>{e(),h.current&&(clearTimeout(h.current),h.current=null)}},[a,x]),{active:i,bufferedCount:o,flush:p}}({sseFilter:(0,s.useCallback)(e=>"update"===e.type||"new-run"===e.type,[]),onFlush:()=>e.current()}),{projects:a,recentCompletionWindowMs:i,loading:o,error:d,refresh:c}=function(e=5e3,t=!1){let{data:s,loading:n,error:a,refresh:i}=(0,r.useSmartPolling)("/api/runs?mode=projects",{interval:e,sseFilter:e=>"update"===e.type||"new-run"===e.type,suppressSseRefetch:t});return{projects:s?.projects||[],recentCompletionWindowMs:s?.recentCompletionWindowMs??144e5,loading:n,error:a,refresh:i}}(5e3,t.active);e.current=c;let[u,h]=(0,s.useState)("all"),[m,g]=l("observer:sort-mode","status"),[x,p]=l("banner-dismissed-fingerprint",null),f=(0,s.useCallback)(e=>{h(t=>t===e?"all":e)},[]),b=(0,s.useCallback)(e=>{c()},[c]),v=(0,s.useMemo)(()=>{let e=a.reduce((e,t)=>e+t.totalRuns,0),t=a.reduce((e,t)=>e+t.activeRuns,0),s=a.reduce((e,t)=>e+t.completedRuns,0),r=a.reduce((e,t)=>e+t.failedRuns,0),n=a.reduce((e,t)=>e+t.staleRuns,0);return{totalRuns:e,activeRuns:t,completedRuns:s,failedRuns:r,staleRuns:n,totalTasks:a.reduce((e,t)=>e+t.totalTasks,0),completedTasks:a.reduce((e,t)=>e+t.completedTasksAggregate,0)}},[a]),w=(0,s.useMemo)(()=>a.flatMap(e=>e.breakpointRuns??[]),[a]),j=(0,s.useMemo)(()=>({totalProjects:a.length,activeRuns:v.activeRuns,failedRuns:v.failedRuns,completedRuns:v.completedRuns,staleRuns:v.staleRuns,pendingBreakpoints:a.reduce((e,t)=>e+t.pendingBreakpoints,0)}),[a,v]),y=`${j.failedRuns}-${j.staleRuns}-${j.pendingBreakpoints}`,N=(0,s.useMemo)(()=>({all:v.totalRuns,waiting:v.activeRuns,stale:v.staleRuns,completed:v.completedRuns,failed:v.failedRuns,pending:0}),[v]),k=(0,s.useMemo)(()=>"all"===u?a:"stale"===u?a.filter(e=>e.staleRuns>0):a.filter(e=>"waiting"===u?e.activeRuns>0:"completed"===u?e.completedRuns>0:"failed"===u&&e.failedRuns>0),[a,u]),C="stale"===u?"all":u,{activeProjects:S,historyProjects:R}=(0,s.useMemo)(()=>{let e=Date.now();return"activity"===m?{activeProjects:k.filter(t=>e-new Date(t.latestUpdate).getTime()<864e5),historyProjects:k.filter(t=>e-new Date(t.latestUpdate).getTime()>=864e5)}:{activeProjects:k.filter(t=>t.activeRuns>0||t.staleRuns>0||e-new Date(t.latestUpdate).getTime()<i),historyProjects:k.filter(t=>0===t.activeRuns&&0===t.staleRuns&&e-new Date(t.latestUpdate).getTime()>=i)}},[k,i,m]),[M,I]=l("observer:history-collapsed",R.length>5),E=v.staleRuns>0;return{projects:a,loading:o,error:d,metrics:v,allBreakpointRuns:w,summaryMetrics:j,bannerFingerprint:y,bannerDismissed:x===y,filterCounts:N,filteredProjects:k,activeProjects:S,historyProjects:R,statusFilter:u,sortMode:m,historyCollapsed:M,cardStatusFilter:C,hasStaleRuns:E,catchUp:t,setStatusFilter:h,setSortMode:g,setHistoryCollapsed:I,setDismissedFingerprint:p,toggleMetricFilter:f,handleHideProject:b}}(),T=!a&&!i&&e.length>0;return(0,t.jsx)("div",{className:"bg-gradient-brand flex-1",children:(0,t.jsxs)("div",{className:"mx-auto max-w-[1600px] px-6 py-6",children:[(0,t.jsx)(eA,{}),T&&(0,t.jsx)(H.ErrorBoundary,{section:"Executive Summary",children:(0,t.jsx)(C,{metrics:c,onFilterChange:S,dismissed:h,onDismiss:()=>I(u)})}),T&&(0,t.jsx)(H.ErrorBoundary,{section:"KPI Metrics",children:(0,t.jsx)(z,{metrics:o,statusFilter:f,hasStaleRuns:N,onToggleFilter:E})}),k.active&&(0,t.jsx)(y,{catchUp:k,summary:{failedRuns:c.failedRuns,completedRuns:c.completedRuns,pendingBreakpoints:c.pendingBreakpoints}}),!a&&!i&&d.length>0&&(0,t.jsx)(H.ErrorBoundary,{section:"Breakpoint Banner",children:(0,t.jsx)("div",{className:"sticky top-0 z-40",children:(0,t.jsx)(b,{breakpointRuns:d})})}),(0,t.jsx)(P,{statusFilter:f,onStatusFilterChange:S,filterCounts:m,sortMode:v,onSortModeToggle:()=>R(e=>"status"===e?"activity":"status"),filteredProjectCount:g.length}),(0,t.jsx)(eR,{loading:a,error:i,filteredProjects:g,activeProjects:x,historyProjects:p,statusFilter:f,sortMode:v,cardStatusFilter:j,historyCollapsed:w,onHistoryCollapsedChange:M,onHideProject:A})]})})}],48791)}]);
@@ -0,0 +1,31 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18576,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={WarningIcon:function(){return d},errorStyles:function(){return l},errorThemeCss:function(){return a}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});e.r(55682);let i=e.r(43476);e.r(71645);let l={container:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},card:{marginTop:"-32px",maxWidth:"325px",padding:"32px 28px",textAlign:"left"},icon:{marginBottom:"24px"},title:{fontSize:"24px",fontWeight:500,letterSpacing:"-0.02em",lineHeight:"32px",margin:"0 0 12px 0",color:"var(--next-error-title)"},message:{fontSize:"14px",fontWeight:400,lineHeight:"21px",margin:"0 0 20px 0",color:"var(--next-error-message)"},form:{margin:0},buttonGroup:{display:"flex",gap:"8px",alignItems:"center"},button:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-text)",background:"var(--next-error-btn-bg)",border:"var(--next-error-btn-border)"},buttonSecondary:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-secondary-text)",background:"var(--next-error-btn-secondary-bg)",border:"var(--next-error-btn-secondary-border)"},digestFooter:{position:"fixed",bottom:"32px",left:"0",right:"0",textAlign:"center",fontFamily:'ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace',fontSize:"12px",lineHeight:"18px",fontWeight:400,margin:"0",color:"var(--next-error-digest)"}},a=`
2
+ :root {
3
+ --next-error-bg: #fff;
4
+ --next-error-text: #171717;
5
+ --next-error-title: #171717;
6
+ --next-error-message: #171717;
7
+ --next-error-digest: #666666;
8
+ --next-error-btn-text: #fff;
9
+ --next-error-btn-bg: #171717;
10
+ --next-error-btn-border: none;
11
+ --next-error-btn-secondary-text: #171717;
12
+ --next-error-btn-secondary-bg: transparent;
13
+ --next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);
14
+ }
15
+ @media (prefers-color-scheme: dark) {
16
+ :root {
17
+ --next-error-bg: #0a0a0a;
18
+ --next-error-text: #ededed;
19
+ --next-error-title: #ededed;
20
+ --next-error-message: #ededed;
21
+ --next-error-digest: #a0a0a0;
22
+ --next-error-btn-text: #0a0a0a;
23
+ --next-error-btn-bg: #ededed;
24
+ --next-error-btn-border: none;
25
+ --next-error-btn-secondary-text: #ededed;
26
+ --next-error-btn-secondary-bg: transparent;
27
+ --next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);
28
+ }
29
+ }
30
+ body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }
31
+ `.replace(/\n\s*/g,"");function d(){return(0,i.jsx)("svg",{width:"32",height:"32",viewBox:"-0.2 -1.5 32 32",fill:"none",style:l.icon,children:(0,i.jsx)("path",{d:"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z",fill:"var(--next-error-title)"})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},68027,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}}),e.r(55682);let o=e.r(43476);e.r(71645);let n=e.r(12354),i=e.r(18576),l=function({error:e}){let r=e?.digest,t=!!r;return(0,n.handleISRError)({error:e}),(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{children:(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:i.errorThemeCss}})}),(0,o.jsxs)("body",{children:[(0,o.jsx)("div",{style:i.errorStyles.container,children:(0,o.jsxs)("div",{style:i.errorStyles.card,children:[(0,o.jsx)(i.WarningIcon,{}),(0,o.jsx)("h1",{style:i.errorStyles.title,children:"This page couldn’t load"}),(0,o.jsx)("p",{style:i.errorStyles.message,children:t?"A server error occurred. Reload to try again.":"Reload to try again, or go back."}),(0,o.jsxs)("div",{style:i.errorStyles.buttonGroup,children:[(0,o.jsx)("form",{style:i.errorStyles.form,children:(0,o.jsx)("button",{type:"submit",style:i.errorStyles.button,children:"Reload"})}),!t&&(0,o.jsx)("button",{type:"button",style:i.errorStyles.buttonSecondary,onClick:()=>{window.history.length>1?window.history.back():window.location.href="/"},children:"Back"})]})]})}),r&&(0,o.jsxs)("p",{style:i.errorStyles.digestFooter,children:["ERROR ",r]})]})]})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,86318,e=>{"use strict";var t=e.i(71645);e.i(43476);var r=t.createContext(void 0);e.s(["useDirection",0,function(e){let n=t.useContext(r);return e||n||"ltr"}])},34214,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(48425),l=e.i(96626),o=e.i(30030),s=e.i(20783),a=e.i(30207),i=e.i(86318),c=e.i(34620),d=e.i(81140),u="ScrollArea",[p,f]=(0,o.createContextScope)(u),[h,m]=p(u),x=r.forwardRef((e,l)=>{let{__scopeScrollArea:o,type:a="hover",dir:c,scrollHideDelay:d=600,...u}=e,[p,f]=r.useState(null),[m,x]=r.useState(null),[v,g]=r.useState(null),[b,w]=r.useState(null),[E,y]=r.useState(null),[C,R]=r.useState(0),[S,T]=r.useState(0),[j,N]=r.useState(!1),[D,_]=r.useState(!1),L=(0,s.useComposedRefs)(l,e=>f(e)),P=(0,i.useDirection)(c);return(0,t.jsx)(h,{scope:o,type:a,dir:P,scrollHideDelay:d,scrollArea:p,viewport:m,onViewportChange:x,content:v,onContentChange:g,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:j,onScrollbarXEnabledChange:N,scrollbarY:E,onScrollbarYChange:y,scrollbarYEnabled:D,onScrollbarYEnabledChange:_,onCornerWidthChange:R,onCornerHeightChange:T,children:(0,t.jsx)(n.Primitive.div,{dir:P,...u,ref:L,style:{position:"relative","--radix-scroll-area-corner-width":C+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});x.displayName=u;var v="ScrollAreaViewport",g=r.forwardRef((e,l)=>{let{__scopeScrollArea:o,children:a,nonce:i,...c}=e,d=m(v,o),u=r.useRef(null),p=(0,s.useComposedRefs)(l,u,d.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,t.jsx)(n.Primitive.div,{"data-radix-scroll-area-viewport":"",...c,ref:p,style:{overflowX:d.scrollbarXEnabled?"scroll":"hidden",overflowY:d.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:d.onContentChange,style:{minWidth:"100%",display:"table"},children:a})})]})});g.displayName=v;var b="ScrollAreaScrollbar",w=r.forwardRef((e,n)=>{let{forceMount:l,...o}=e,s=m(b,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:i}=s,c="horizontal"===e.orientation;return r.useEffect(()=>(c?a(!0):i(!0),()=>{c?a(!1):i(!1)}),[c,a,i]),"hover"===s.type?(0,t.jsx)(E,{...o,ref:n,forceMount:l}):"scroll"===s.type?(0,t.jsx)(y,{...o,ref:n,forceMount:l}):"auto"===s.type?(0,t.jsx)(C,{...o,ref:n,forceMount:l}):"always"===s.type?(0,t.jsx)(R,{...o,ref:n}):null});w.displayName=b;var E=r.forwardRef((e,n)=>{let{forceMount:o,...s}=e,a=m(b,e.__scopeScrollArea),[i,c]=r.useState(!1);return r.useEffect(()=>{let e=a.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),c(!0)},n=()=>{t=window.setTimeout(()=>c(!1),a.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[a.scrollArea,a.scrollHideDelay]),(0,t.jsx)(l.Presence,{present:o||i,children:(0,t.jsx)(C,{"data-state":i?"visible":"hidden",...s,ref:n})})}),y=r.forwardRef((e,n)=>{var o;let{forceMount:s,...a}=e,i=m(b,e.__scopeScrollArea),c="horizontal"===e.orientation,u=z(()=>f("SCROLL_END"),100),[p,f]=(o={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>o[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===p){let e=window.setTimeout(()=>f("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[p,i.scrollHideDelay,f]),r.useEffect(()=>{let e=i.viewport,t=c?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(f("SCROLL"),u()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[i.viewport,c,f,u]),(0,t.jsx)(l.Presence,{present:s||"hidden"!==p,children:(0,t.jsx)(R,{"data-state":"hidden"===p?"hidden":"visible",...a,ref:n,onPointerEnter:(0,d.composeEventHandlers)(e.onPointerEnter,()=>f("POINTER_ENTER")),onPointerLeave:(0,d.composeEventHandlers)(e.onPointerLeave,()=>f("POINTER_LEAVE"))})})}),C=r.forwardRef((e,n)=>{let o=m(b,e.__scopeScrollArea),{forceMount:s,...a}=e,[i,c]=r.useState(!1),d="horizontal"===e.orientation,u=z(()=>{if(o.viewport){let e=o.viewport.offsetWidth<o.viewport.scrollWidth,t=o.viewport.offsetHeight<o.viewport.scrollHeight;c(d?e:t)}},10);return W(o.viewport,u),W(o.content,u),(0,t.jsx)(l.Presence,{present:s||i,children:(0,t.jsx)(R,{"data-state":i?"visible":"hidden",...a,ref:n})})}),R=r.forwardRef((e,n)=>{let{orientation:l="vertical",...o}=e,s=m(b,e.__scopeScrollArea),a=r.useRef(null),i=r.useRef(0),[c,d]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=U(c.viewport,c.content),p={...o,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>a.current=e,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:e=>i.current=e};function f(e,t){return function(e,t,r,n="ltr"){let l=I(r),o=t||l/2,s=r.scrollbar.paddingStart+o,a=r.scrollbar.size-r.scrollbar.paddingEnd-(l-o),i=r.content-r.viewport;return H([s,a],"ltr"===n?[0,i]:[-1*i,0])(e)}(e,i.current,c,t)}return"horizontal"===l?(0,t.jsx)(S,{...p,ref:n,onThumbPositionChange:()=>{if(s.viewport&&a.current){let e=O(s.viewport.scrollLeft,c,s.dir);a.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollLeft=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollLeft=f(e,s.dir))}}):"vertical"===l?(0,t.jsx)(T,{...p,ref:n,onThumbPositionChange:()=>{if(s.viewport&&a.current){let e=O(s.viewport.scrollTop,c);a.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollTop=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollTop=f(e))}}):null}),S=r.forwardRef((e,n)=>{let{sizes:l,onSizesChange:o,...a}=e,i=m(b,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),p=(0,s.useComposedRefs)(n,u,i.onScrollbarXChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(D,{"data-orientation":"horizontal",...a,ref:p,sizes:l,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":I(l)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(i.viewport){var n,l;let o=i.viewport.scrollLeft+t.deltaX;e.onWheelScroll(o),n=o,l=r,n>0&&n<l&&t.preventDefault()}},onResize:()=>{u.current&&i.viewport&&c&&o({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:A(c.paddingLeft),paddingEnd:A(c.paddingRight)}})}})}),T=r.forwardRef((e,n)=>{let{sizes:l,onSizesChange:o,...a}=e,i=m(b,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),p=(0,s.useComposedRefs)(n,u,i.onScrollbarYChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(D,{"data-orientation":"vertical",...a,ref:p,sizes:l,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":I(l)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(i.viewport){var n,l;let o=i.viewport.scrollTop+t.deltaY;e.onWheelScroll(o),n=o,l=r,n>0&&n<l&&t.preventDefault()}},onResize:()=>{u.current&&i.viewport&&c&&o({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:A(c.paddingTop),paddingEnd:A(c.paddingBottom)}})}})}),[j,N]=p(b),D=r.forwardRef((e,l)=>{let{__scopeScrollArea:o,sizes:i,hasThumb:c,onThumbChange:u,onThumbPointerUp:p,onThumbPointerDown:f,onThumbPositionChange:h,onDragScroll:x,onWheelScroll:v,onResize:g,...w}=e,E=m(b,o),[y,C]=r.useState(null),R=(0,s.useComposedRefs)(l,e=>C(e)),S=r.useRef(null),T=r.useRef(""),N=E.viewport,D=i.content-i.viewport,_=(0,a.useCallbackRef)(v),L=(0,a.useCallbackRef)(h),P=z(g,10);function k(e){S.current&&x({x:e.clientX-S.current.left,y:e.clientY-S.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;y?.contains(t)&&_(e,D)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[N,y,D,_]),r.useEffect(L,[i,L]),W(y,P),W(E.content,P),(0,t.jsx)(j,{scope:o,scrollbar:y,hasThumb:c,onThumbChange:(0,a.useCallbackRef)(u),onThumbPointerUp:(0,a.useCallbackRef)(p),onThumbPositionChange:L,onThumbPointerDown:(0,a.useCallbackRef)(f),children:(0,t.jsx)(n.Primitive.div,{...w,ref:R,style:{position:"absolute",...w.style},onPointerDown:(0,d.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),S.current=y.getBoundingClientRect(),T.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",E.viewport&&(E.viewport.style.scrollBehavior="auto"),k(e))}),onPointerMove:(0,d.composeEventHandlers)(e.onPointerMove,k),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=T.current,E.viewport&&(E.viewport.style.scrollBehavior=""),S.current=null})})})}),_="ScrollAreaThumb",L=r.forwardRef((e,r)=>{let{forceMount:n,...o}=e,s=N(_,e.__scopeScrollArea);return(0,t.jsx)(l.Presence,{present:n||s.hasThumb,children:(0,t.jsx)(P,{ref:r,...o})})}),P=r.forwardRef((e,l)=>{let{__scopeScrollArea:o,style:a,...i}=e,c=m(_,o),u=N(_,o),{onThumbPositionChange:p}=u,f=(0,s.useComposedRefs)(l,e=>u.onThumbChange(e)),h=r.useRef(void 0),x=z(()=>{h.current&&(h.current(),h.current=void 0)},100);return r.useEffect(()=>{let e=c.viewport;if(e){let t=()=>{x(),h.current||(h.current=M(e,p),p())};return p(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[c.viewport,x,p]),(0,t.jsx)(n.Primitive.div,{"data-state":u.hasThumb?"visible":"hidden",...i,ref:f,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...a},onPointerDownCapture:(0,d.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;u.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,u.onThumbPointerUp)})});L.displayName=_;var k="ScrollAreaCorner";r.forwardRef((e,r)=>{let n=m(k,e.__scopeScrollArea),l=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&l?(0,t.jsx)(F,{...e,ref:r}):null}).displayName=k;var F=r.forwardRef((e,l)=>{let{__scopeScrollArea:o,...s}=e,a=m(k,o),[i,c]=r.useState(0),[d,u]=r.useState(0),p=!!(i&&d);return W(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),u(e)}),W(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),c(e)}),p?(0,t.jsx)(n.Primitive.div,{...s,ref:l,style:{width:i,height:d,position:"absolute",right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:0,...e.style}}):null});function A(e){return e?parseInt(e,10):0}function U(e,t){let r=e/t;return isNaN(r)?0:r}function I(e){let t=U(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function O(e,t,r="ltr"){let n=I(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,o=t.scrollbar.size-l,s=t.content-t.viewport,a=function(e,[t,r]){return Math.min(r,Math.max(t,e))}(e,"ltr"===r?[0,s]:[-1*s,0]);return H([0,s],[0,o-n])(a)}function H(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var M=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function l(){let o={left:e.scrollLeft,top:e.scrollTop},s=r.left!==o.left,a=r.top!==o.top;(s||a)&&t(),r=o,n=window.requestAnimationFrame(l)}(),()=>window.cancelAnimationFrame(n)};function z(e,t){let n=(0,a.useCallbackRef)(e),l=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(l.current),[]),r.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(n,t)},[n,t])}function W(e,t){let r=(0,a.useCallbackRef)(t);(0,c.useLayoutEffect)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}var V=e.i(73172);let X=r.forwardRef(function({className:e,children:r,...n},l){return(0,t.jsxs)(x,{ref:l,className:(0,V.cn)("relative overflow-hidden",e),...n,children:[(0,t.jsx)(g,{className:"h-full w-full rounded-[inherit]",children:r}),(0,t.jsx)(w,{orientation:"vertical",className:"flex touch-none select-none p-0.5 transition-colors data-[orientation=vertical]:w-2",children:(0,t.jsx)(L,{className:"relative flex-1 rounded-full bg-primary/20 hover:bg-primary/35 transition-colors duration-200"})})]})});e.s(["ScrollArea",0,X],34214)},77297,e=>{"use strict";let t=(0,e.i(21255).default)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);e.s(["ChevronUp",0,t],77297)},14158,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(34214),l=e.i(73172),o=e.i(77051),s=e.i(43041),a=e.i(46519);let i={RUN_CREATED:{variant:"info",label:"Created"},EFFECT_REQUESTED:{variant:"default",label:"Requested"},EFFECT_RESOLVED:{variant:"success",label:"Resolved"},RUN_COMPLETED:{variant:"success",label:"Completed"},RUN_FAILED:{variant:"error",label:"Failed"}},c={agent:"bg-primary/15 text-primary",shell:"bg-secondary/15 text-secondary",breakpoint:"bg-warning/15 text-warning",node:"bg-info/15 text-info",skill:"bg-success/15 text-success",sleep:"bg-foreground-muted/15 text-foreground-muted"},d=(0,r.memo)(function({event:e,onClick:r}){let n=i[e.type]||i.EFFECT_REQUESTED,d=e.payload,u=d.label||"",p=d.effectId||"",f=d.kind||"",h=d.status||"",m=d.processId||"",x=d.stepId||"",v=d.taskId||"",g=d.startedAt,b=d.finishedAt,w=g&&b?new Date(b).getTime()-new Date(g).getTime():void 0;return(0,t.jsxs)("button",{"data-testid":`event-item-${e.seq}`,"data-event-type":e.type,onClick:r,className:"w-full text-left px-3 py-2 hover:bg-primary-muted/40 rounded transition-all duration-150",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-xs leading-tight text-secondary shrink-0 tabular-nums w-12 text-right",children:(0,s.formatRelativeTime)(e.ts)}),(0,t.jsx)(o.Badge,{variant:n.variant,className:"text-xs leading-tight shrink-0",children:n.label}),"EFFECT_REQUESTED"===e.type&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-xs text-foreground truncate font-medium",children:u||"Task"}),f&&(0,t.jsx)("span",{className:(0,l.cn)("rounded px-1.5 py-0.5 text-xs leading-tight font-medium shrink-0",c[f]||"bg-muted text-foreground-muted"),children:f})]}),"EFFECT_RESOLVED"===e.type&&(0,t.jsxs)(t.Fragment,{children:[u&&(0,t.jsx)("span",{className:"text-xs text-foreground truncate font-medium",children:u}),!u&&p&&(0,t.jsx)(a.TruncatedId,{id:p,chars:4,className:"text-foreground-secondary"}),(0,t.jsx)("span",{className:(0,l.cn)("inline-block h-2 w-2 rounded-full shrink-0","ok"===h?"bg-success shadow-[0_0_4px_var(--success)]":"error"===h?"bg-error shadow-[0_0_4px_var(--error)]":"bg-foreground-muted")}),null!=w&&w>0&&(0,t.jsx)("span",{className:"text-xs leading-tight font-mono text-foreground-muted shrink-0",children:(0,s.formatDuration)(w)})]}),"RUN_CREATED"===e.type&&m&&(0,t.jsx)("span",{className:"text-xs text-foreground-secondary truncate",children:m}),"RUN_COMPLETED"===e.type&&(0,t.jsx)("span",{className:"text-xs text-success truncate",children:"Run finished successfully"}),"RUN_FAILED"===e.type&&(0,t.jsx)("span",{className:"text-xs text-error truncate",children:"Run failed"}),!["EFFECT_REQUESTED","EFFECT_RESOLVED","RUN_CREATED","RUN_COMPLETED","RUN_FAILED"].includes(e.type)&&(u?(0,t.jsx)("span",{className:"text-xs text-foreground-secondary truncate",children:u}):p?(0,t.jsx)(a.TruncatedId,{id:p,chars:4,className:"text-foreground-secondary"}):null)]}),(x||v)&&(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-0.5 ml-14 text-xs leading-tight text-foreground-muted",children:[x&&(0,t.jsxs)("span",{className:"font-mono truncate",children:["step: ",x]}),v&&(0,t.jsxs)("span",{className:"font-mono truncate",children:["task: ",v]})]})]})});var u=e.i(77297);let p=[{label:"All",value:"all"},{label:"Tasks",value:"EFFECT_REQUESTED"},{label:"Results",value:"EFFECT_RESOLVED"},{label:"Errors",value:"RUN_FAILED"}],f=(0,r.memo)(function({events:e,onEventClick:o}){let[a,i]=(0,r.useState)("all"),[c,f]=(0,r.useState)(20),[h,m]=(0,r.useState)(new Set),x=(0,r.useRef)(null),[v,g]=(0,r.useState)(!0),b=(0,r.useRef)(e.length),w=(0,r.useMemo)(()=>{let t=0,r=0,n=0;for(let l of e)"EFFECT_REQUESTED"===l.type&&t++,"EFFECT_RESOLVED"===l.type&&("error"===l.payload.status?n++:r++),"RUN_FAILED"===l.type&&n++;let l=null;if(e.length>=2){let t=new Date(e[0].ts).getTime();l=Math.abs(new Date(e[e.length-1].ts).getTime()-t)}return{tasks:t,completed:r,errors:n,elapsed:l}},[e]),E=(0,r.useMemo)(()=>"all"===a?e:e.filter(e=>e.type===a),[e,a]),y=(0,r.useMemo)(()=>[...E].reverse(),[E]),C=(0,r.useMemo)(()=>y.slice(0,c),[y,c]),R=(0,r.useMemo)(()=>(function(e){if(0===e.length)return[];let t=[],r=0;for(;r<e.length;){let n=r+1;for(;n<e.length&&e[n].type===e[r].type;)n++;let l=n-r;if(l>=3)t.push({type:"group",eventType:e[r].type,events:e.slice(r,n),count:l});else for(let l=r;l<n;l++)t.push({type:"single",event:e[l]});r=n}return t})(C),[C]),S=y.length-c;(0,r.useEffect)(()=>{e.length>b.current&&v&&x.current&&(x.current.scrollTop=0),b.current=e.length},[e.length,v]);let T=(0,r.useCallback)(e=>{g(e.currentTarget.scrollTop<10)},[]),j=(0,r.useCallback)(e=>{m(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[]);return(0,r.useEffect)(()=>{f(20),m(new Set)},[a]),(0,t.jsxs)("div",{"data-testid":"event-stream",className:"flex flex-col h-full",children:[(0,t.jsxs)("div",{className:"shrink-0 border-b border-border p-3 bg-background-secondary/30",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsx)("h3",{className:"text-xs font-medium text-foreground-muted uppercase tracking-wider",children:"Event Stream"}),(0,t.jsxs)("span",{className:"text-xs leading-tight text-secondary font-mono tabular-nums",children:[E.length," events"]})]}),(0,t.jsx)("div",{className:"flex items-center gap-1",children:p.map(e=>(0,t.jsx)("button",{onClick:()=>i(e.value),className:(0,l.cn)("rounded-md px-2.5 py-1 min-h-[44px] text-xs leading-tight font-medium transition-all duration-200",a===e.value?"bg-primary/15 text-primary border border-primary/25 shadow-event-filter-active":"text-foreground-muted hover:text-foreground-secondary hover:bg-muted/50 border border-transparent"),children:e.label},e.value))}),e.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-2 text-xs leading-tight font-mono text-foreground-muted tabular-nums",children:[(0,t.jsxs)("span",{children:["Tasks: ",(0,t.jsx)("span",{className:"text-foreground-secondary",children:w.tasks})]}),(0,t.jsx)("span",{className:"text-border",children:"|"}),(0,t.jsxs)("span",{children:["Completed: ",(0,t.jsx)("span",{className:"text-success",children:w.completed})]}),(0,t.jsx)("span",{className:"text-border",children:"|"}),(0,t.jsxs)("span",{children:["Errors: ",(0,t.jsx)("span",{className:w.errors>0?"text-error":"text-foreground-secondary",children:w.errors})]}),null!=w.elapsed&&w.elapsed>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-border",children:"|"}),(0,t.jsxs)("span",{children:["Elapsed: ",(0,t.jsx)("span",{className:"text-secondary/80",children:(0,s.formatDuration)(w.elapsed)})]})]})]})]}),(0,t.jsx)(n.ScrollArea,{className:"flex-1",ref:x,onScrollCapture:T,children:(0,t.jsxs)("div",{className:"py-1",children:[R.map((e,r)=>{if("single"===e.type)return(0,t.jsx)(d,{event:e.event,onClick:()=>o?.(e.event)},e.event.id||e.event.seq);let n=h.has(r),s=function(e){switch(e){case"EFFECT_REQUESTED":return{label:"Requested",dotColor:"bg-foreground-muted"};case"EFFECT_RESOLVED":return{label:"Resolved",dotColor:"bg-success"};case"RUN_COMPLETED":return{label:"Completed",dotColor:"bg-success"};case"RUN_FAILED":return{label:"Failed",dotColor:"bg-error"};case"RUN_CREATED":return{label:"Created",dotColor:"bg-primary"};default:return{label:e,dotColor:"bg-foreground-muted"}}}(e.eventType);return(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{onClick:()=>j(r),className:"w-full text-left px-3 py-1.5 hover:bg-background-secondary rounded transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:(0,l.cn)("inline-block h-1.5 w-1.5 rounded-full shrink-0",s.dotColor)}),(0,t.jsxs)("span",{className:"text-xs leading-tight text-foreground-muted font-medium tabular-nums",children:[e.count,"x"]}),(0,t.jsx)("span",{className:"text-xs text-foreground-secondary",children:s.label}),(0,t.jsx)(u.ChevronUp,{className:(0,l.cn)("h-3 w-3 text-foreground-muted ml-auto transition-transform",!n&&"rotate-180")})]}),n&&e.events.map(e=>(0,t.jsx)(d,{event:e,onClick:()=>o?.(e)},e.id||e.seq))]},`group-${r}`)}),S>0&&(0,t.jsxs)("button",{onClick:()=>f(e=>e+20),className:"w-full py-2 text-xs leading-tight text-foreground-muted hover:text-primary hover:bg-background-secondary hover:shadow-neon-glow-primary-xs transition-all",children:["Show ",Math.min(S,20)," more (",S," remaining)"]}),0===y.length&&(0,t.jsx)("div",{className:"text-xs text-foreground-muted text-center py-8",children:"No events yet"})]})})]})});e.s(["EventStream",0,f],14158)},29610,e=>{e.n(e.i(14158))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,64893,(e,n,t)=>{"use strict";var r=e.r(74080),a={stream:!0},u=Object.prototype.hasOwnProperty;function l(n){var t=e.r(n);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}var o=new WeakSet,s=new WeakSet;function i(){}function c(n){for(var t=n[1],r=[],a=0;a<t.length;a++){var u=e.L(t[a]);if(s.has(u)||r.push(u),!o.has(u)){var c=s.add.bind(s,u);u.then(c,i),o.add(u)}}return 4===n.length?0===r.length?l(n[0]):Promise.all(r).then(function(){return l(n[0])}):0<r.length?Promise.all(r):null}function f(n){var t=e.r(n[0]);if(4===n.length&&"function"==typeof t.then)if("fulfilled"===t.status)t=t.value;else throw t.reason;return"*"===n[2]?t:""===n[2]?t.__esModule?t.default:t:u.call(t,n[2])?t[n[2]]:void 0}var d=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,v=Symbol.for("react.transitional.element"),p=Symbol.for("react.lazy"),h=Symbol.iterator,y=Symbol.asyncIterator,b=Array.isArray,g=Object.getPrototypeOf,_=Object.prototype,m=new WeakMap;function w(e,n,t){m.has(e)||m.set(e,{id:n,originalBind:e.bind,bound:t})}function S(e,n,t){this.status=e,this.value=n,this.reason=t}function k(e){switch(e.status){case"resolved_model":I(e);break;case"resolved_module":F(e)}switch(e.status){case"fulfilled":return e.value;case"pending":case"blocked":case"halted":throw e;default:throw e.reason}}function O(){return new S("pending",null,null)}function A(e,n,t,r){for(var a=0;a<n.length;a++){var u=n[a];"function"==typeof u?u(t):L(e,u,t,r)}}function R(e,n,t){for(var r=0;r<n.length;r++){var a=n[r];"function"==typeof a?a(t):B(e,a.handler,t)}}function $(e,n){var t=n.handler.chunk;if(null===t)return null;if(t===e)return n.handler;if(null!==(n=t.value))for(t=0;t<n.length;t++){var r=n[t];if("function"!=typeof r&&null!==(r=$(e,r)))return r}return null}function j(e,n,t,r){switch(n.status){case"fulfilled":A(e,t,n.value,n);break;case"blocked":for(var a=0;a<t.length;a++){var u=t[a];if("function"!=typeof u){var l=$(n,u);if(null!==l)switch(L(e,u,l.value,n),t.splice(a,1),a--,null!==r&&-1!==(u=r.indexOf(u))&&r.splice(u,1),n.status){case"fulfilled":A(e,t,n.value,n);return;case"rejected":null!==r&&R(e,r,n.reason);return}}}case"pending":if(n.value)for(e=0;e<t.length;e++)n.value.push(t[e]);else n.value=t;if(n.reason){if(r)for(t=0;t<r.length;t++)n.reason.push(r[t])}else n.reason=r;break;case"rejected":r&&R(e,r,n.reason)}}function E(e,n,t){if("pending"!==n.status&&"blocked"!==n.status)n.reason.error(t);else{var r=n.reason;n.status="rejected",n.reason=t,null!==r&&R(e,r,t)}}function T(e,n,t){return new S("resolved_model",(t?'{"done":true,"value":':'{"done":false,"value":')+n+"}",e)}function C(e,n,t,r){P(e,n,(r?'{"done":true,"value":':'{"done":false,"value":')+t+"}")}function P(e,n,t){if("pending"!==n.status)n.reason.enqueueModel(t);else{var r=n.value,a=n.reason;n.status="resolved_model",n.value=t,n.reason=e,null!==r&&(I(n),j(e,n,r,a))}}function D(e,n,t){if("pending"===n.status||"blocked"===n.status){var r=n.value,a=n.reason;n.status="resolved_module",n.value=t,n.reason=null,null!==r&&(F(n),j(e,n,r,a))}}S.prototype=Object.create(Promise.prototype),S.prototype.then=function(e,n){switch(this.status){case"resolved_model":I(this);break;case"resolved_module":F(this)}switch(this.status){case"fulfilled":"function"==typeof e&&e(this.value);break;case"pending":case"blocked":"function"==typeof e&&(null===this.value&&(this.value=[]),this.value.push(e)),"function"==typeof n&&(null===this.reason&&(this.reason=[]),this.reason.push(n));break;case"halted":break;default:"function"==typeof n&&n(this.reason)}};var N=null;function I(e){var n=N;N=null;var t=e.value,r=e.reason;e.status="blocked",e.value=null,e.reason=null;try{var a=eo(r,t),u=e.value;if(null!==u)for(e.value=null,e.reason=null,t=0;t<u.length;t++){var l=u[t];"function"==typeof l?l(a):L(r,l,a,e)}if(null!==N){if(N.errored)throw N.reason;if(0<N.deps){N.value=a,N.chunk=e;return}}e.status="fulfilled",e.value=a,e.reason=null}catch(n){e.status="rejected",e.reason=n}finally{N=n}}function F(e){try{var n=f(e.value);e.status="fulfilled",e.value=n,e.reason=null}catch(n){e.status="rejected",e.reason=n}}function M(e,n){e._closed=!0,e._closedReason=n,e._chunks.forEach(function(t){"pending"===t.status?E(e,t,n):"fulfilled"===t.status&&null!==t.reason&&t.reason.error(n)})}function x(e){return{$$typeof:p,_payload:e,_init:k}}function U(e,n){var t=e._chunks,r=t.get(n);return r||(e._closed?e._allowPartialStream?((e=r=O()).status="halted",e.value=null,e.reason=null):r=new S("rejected",null,e._closedReason):r=O(),t.set(n,r)),r}function L(e,n,t){var r=n.handler,a=n.parentObject,l=n.key,o=n.map,s=n.path;try{for(var i=1;i<s.length;i++){for(;"object"==typeof t&&null!==t&&t.$$typeof===p;){var c=t._payload;if(c===r.chunk)t=r.value;else{switch(c.status){case"resolved_model":I(c);break;case"resolved_module":F(c)}switch(c.status){case"fulfilled":t=c.value;continue;case"blocked":var f=$(c,n);if(null!==f){t=f.value;continue}case"pending":s.splice(0,i-1),null===c.value?c.value=[n]:c.value.push(n),null===c.reason?c.reason=[n]:c.reason.push(n);return;case"halted":return;default:B(e,n.handler,c.reason);return}}}var d=s[i];if("object"==typeof t&&null!==t&&u.call(t,d))t=t[d];else throw Error("Invalid reference.")}for(;"object"==typeof t&&null!==t&&t.$$typeof===p;){var h=t._payload;if(h===r.chunk)t=r.value;else{switch(h.status){case"resolved_model":I(h);break;case"resolved_module":F(h)}if("fulfilled"===h.status){t=h.value;continue}break}}var y=o(e,t,a,l);if("__proto__"!==l&&(a[l]=y),""===l&&null===r.value&&(r.value=y),a[0]===v&&"object"==typeof r.value&&null!==r.value&&r.value.$$typeof===v){var b=r.value;"3"===l&&(b.props=y)}}catch(t){B(e,n.handler,t);return}r.deps--,0===r.deps&&null!==(n=r.chunk)&&"blocked"===n.status&&(t=n.value,n.status="fulfilled",n.value=r.value,n.reason=r.reason,null!==t&&A(e,t,r.value,n))}function B(e,n,t){n.errored||(n.errored=!0,n.value=null,n.reason=t,null!==(n=n.chunk)&&"blocked"===n.status&&E(e,n,t))}function q(e,n,t,r,a,u){return N?(r=N,r.deps++):r=N={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},n={handler:r,parentObject:n,key:t,map:a,path:u},null===e.value?e.value=[n]:e.value.push(n),null===e.reason?e.reason=[n]:e.reason.push(n),null}function V(e,n,t,r){if(!e._serverReferenceConfig)return function(e,n){function t(){var e=Array.prototype.slice.call(arguments);return a?"fulfilled"===a.status?n(r,a.value.concat(e)):Promise.resolve(a).then(function(t){return n(r,t.concat(e))}):n(r,e)}var r=e.id,a=e.bound;return w(t,r,a),t}(n,e._callServer);var a=function(e,n){var t="",r=e[n];if(r)t=r.name;else{var a=n.lastIndexOf("#");if(-1!==a&&(t=n.slice(a+1),r=e[n.slice(0,a)]),!r)throw Error('Could not find the module "'+n+'" in the React Server Manifest. This is probably a bug in the React Server Components bundler.')}return r.async?[r.id,r.chunks,t,1]:[r.id,r.chunks,t]}(e._serverReferenceConfig,n.id),u=c(a);if(u)n.bound&&(u=Promise.all([u,n.bound]));else{if(!n.bound)return w(u=f(a),n.id,n.bound),u;u=Promise.resolve(n.bound)}if(N){var l=N;l.deps++}else l=N={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return u.then(function(){var u=f(a);if(n.bound){var o=n.bound.value.slice(0);o.unshift(null),u=u.bind.apply(u,o)}w(u,n.id,n.bound),"__proto__"!==r&&(t[r]=u),""===r&&null===l.value&&(l.value=u),t[0]===v&&"object"==typeof l.value&&null!==l.value&&l.value.$$typeof===v&&(o=l.value,"3"===r)&&(o.props=u),l.deps--,0===l.deps&&null!==(u=l.chunk)&&"blocked"===u.status&&(o=u.value,u.status="fulfilled",u.value=l.value,u.reason=null,null!==o&&A(e,o,l.value,u))},function(n){if(!l.errored){l.errored=!0,l.value=null,l.reason=n;var t=l.chunk;null!==t&&"blocked"===t.status&&E(e,t,n)}}),null}function J(e,n,t,r,a){var u=parseInt((n=n.split(":"))[0],16);switch((u=U(e,u)).status){case"resolved_model":I(u);break;case"resolved_module":F(u)}switch(u.status){case"fulfilled":u=u.value;for(var l=1;l<n.length;l++){for(;"object"==typeof u&&null!==u&&u.$$typeof===p;){switch((u=u._payload).status){case"resolved_model":I(u);break;case"resolved_module":F(u)}switch(u.status){case"fulfilled":u=u.value;break;case"blocked":case"pending":return q(u,t,r,e,a,n.slice(l-1));case"halted":return N?(e=N,e.deps++):N={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return N?(N.errored=!0,N.value=null,N.reason=u.reason):N={parent:null,chunk:null,value:null,reason:u.reason,deps:0,errored:!0},null}}u=u[n[l]]}for(;"object"==typeof u&&null!==u&&u.$$typeof===p;){switch((n=u._payload).status){case"resolved_model":I(n);break;case"resolved_module":F(n)}if("fulfilled"===n.status){u=n.value;continue}break}return a(e,u,t,r);case"pending":case"blocked":return q(u,t,r,e,a,n);case"halted":return N?(e=N,e.deps++):N={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return N?(N.errored=!0,N.value=null,N.reason=u.reason):N={parent:null,chunk:null,value:null,reason:u.reason,deps:0,errored:!0},null}}function W(e,n){return new Map(n)}function X(e,n){return new Set(n)}function H(e,n){return new Blob(n.slice(1),{type:n[0]})}function K(e,n){e=new FormData;for(var t=0;t<n.length;t++)e.append(n[t][0],n[t][1]);return e}function G(e,n){return n[Symbol.iterator]()}function z(e,n){return n}function Q(){throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.')}function Z(e,n,t,r,a,u,l,o){var s=new Map;this._bundlerConfig=e,this._serverReferenceConfig=n,this._moduleLoading=t,this._callServer=void 0!==r?r:Q,this._encodeFormAction=a,this._nonce=u,this._chunks=s,this._stringDecoder=new TextDecoder,this._closed=!1,this._closedReason=null,this._allowPartialStream=o,this._tempRefs=l}function Y(e,n,t){var r=(e=e._chunks).get(n);r&&"pending"!==r.status?r.reason.enqueueValue(t):(t=new S("fulfilled",t,null),e.set(n,t))}function ee(e,n,t,r){var a=e._chunks,u=a.get(n);u?"pending"===u.status&&(n=u.value,u.status="fulfilled",u.value=t,u.reason=r,null!==n&&A(e,n,u.value,u)):(e=new S("fulfilled",t,r),a.set(n,e))}function en(e,n,t){var r=null,a=!1;t=new ReadableStream({type:t,start:function(e){r=e}});var u=null;ee(e,n,t,{enqueueValue:function(e){null===u?r.enqueue(e):u.then(function(){r.enqueue(e)})},enqueueModel:function(n){if(null===u){var t=new S("resolved_model",n,e);I(t),"fulfilled"===t.status?r.enqueue(t.value):(t.then(function(e){return r.enqueue(e)},function(e){return r.error(e)}),u=t)}else{t=u;var a=O();a.then(function(e){return r.enqueue(e)},function(e){return r.error(e)}),u=a,t.then(function(){u===a&&(u=null),P(e,a,n)})}},close:function(){if(!a)if(a=!0,null===u)r.close();else{var e=u;u=null,e.then(function(){return r.close()})}},error:function(e){if(!a)if(a=!0,null===u)r.error(e);else{var n=u;u=null,n.then(function(){return r.error(e)})}}})}function et(){return this}function er(e,n,t){var r=[],a=!1,u=0,l={};l[y]=function(){var e,n=0;return(e={next:e=function(e){if(void 0!==e)throw Error("Values cannot be passed to next() of AsyncIterables passed to Client Components.");if(n===r.length){if(a)return new S("fulfilled",{done:!0,value:void 0},null);r[n]=O()}return r[n++]}})[y]=et,e},ee(e,n,t?l[y]():l,{enqueueValue:function(n){if(u===r.length)r[u]=new S("fulfilled",{done:!1,value:n},null);else{var t=r[u],a=t.value,l=t.reason;t.status="fulfilled",t.value={done:!1,value:n},t.reason=null,null!==a&&j(e,t,a,l)}u++},enqueueModel:function(n){u===r.length?r[u]=T(e,n,!1):C(e,r[u],n,!1),u++},close:function(n){if(!a)for(a=!0,u===r.length?r[u]=T(e,n,!0):C(e,r[u],n,!0),u++;u<r.length;)C(e,r[u++],'"$undefined"',!0)},error:function(n){if(!a)for(a=!0,u===r.length&&(r[u]=O());u<r.length;)E(e,r[u++],n)}})}function ea(){var e=Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.");return e.stack="Error: "+e.message,e}function eu(e,n){for(var t=e.length,r=n.length,a=0;a<t;a++)r+=e[a].byteLength;r=new Uint8Array(r);for(var u=a=0;u<t;u++){var l=e[u];r.set(l,a),a+=l.byteLength}return r.set(n,a),r}function el(e,n,t,r,a,u){Y(e,n,a=new a((t=0===t.length&&0==r.byteOffset%u?r:eu(t,r)).buffer,t.byteOffset,t.byteLength/u))}function eo(e,n){return function e(n,t,r,a){if("string"==typeof t)return"$"===t[0]?function(e,n,t,r){if("$"===r[0]){if("$"===r)return null!==N&&"0"===t&&(N={parent:N,chunk:null,value:null,reason:null,deps:0,errored:!1}),v;switch(r[1]){case"$":return r.slice(1);case"L":return x(e=U(e,n=parseInt(r.slice(2),16)));case"@":return U(e,n=parseInt(r.slice(2),16));case"S":return Symbol.for(r.slice(2));case"h":return J(e,r=r.slice(2),n,t,V);case"T":if(n="$"+r.slice(2),null==(e=e._tempRefs))throw Error("Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.");return e.get(n);case"Q":return J(e,r=r.slice(2),n,t,W);case"W":return J(e,r=r.slice(2),n,t,X);case"B":return J(e,r=r.slice(2),n,t,H);case"K":return J(e,r=r.slice(2),n,t,K);case"Z":return ea();case"i":return J(e,r=r.slice(2),n,t,G);case"I":return 1/0;case"-":return"$-0"===r?-0:-1/0;case"N":return NaN;case"u":return;case"D":return new Date(Date.parse(r.slice(2)));case"n":return BigInt(r.slice(2));default:return J(e,r=r.slice(1),n,t,z)}}return r}(n,r,a,t):t;if("object"!=typeof t||null===t)return t;if(b(t)){for(var u=0;u<t.length;u++)t[u]=e(n,t[u],t,""+u);return t[0]===v?(t[0]===v?(n={$$typeof:v,type:t[1],key:t[2],ref:null,props:t[3]},null!==N&&(N=(t=N).parent,t.errored?n=x(n=new S("rejected",null,t.reason)):0<t.deps&&(u=new S("blocked",null,null),t.value=n,t.chunk=u,n=x(u)))):n=t,n):t}for(u in t)"__proto__"===u?delete t[u]:void 0!==(r=e(n,t[u],t,u))?t[u]=r:delete t[u];return t}(e,n=JSON.parse(n),{"":n},"")}function es(e){e._allowPartialStream?(e._closed=!0,e._chunks.forEach(function(e){"pending"===e.status?(e.status="halted",e.value=null,e.reason=null):"fulfilled"===e.status&&null!==e.reason&&e.reason.close('"$undefined"')})):M(e,Error("Connection closed."))}function ei(e){return new Z(null,null,null,e&&e.callServer?e.callServer:void 0,void 0,void 0,e&&e.temporaryReferences?e.temporaryReferences:void 0,!!e&&!!e.unstable_allowPartialStream&&e.unstable_allowPartialStream)}function ec(e,n,t){function r(n){M(e,n)}var u={_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]},l=n.getReader();l.read().then(function n(o){var s=o.value;if(o.done)return t();var i=0,f=u._rowState;o=u._rowID;for(var v=u._rowTag,p=u._rowLength,h=u._buffer,y=s.length;i<y;){var b=-1;switch(f){case 0:58===(b=s[i++])?f=1:o=o<<4|(96<b?b-87:b-48);continue;case 1:84===(f=s[i])||65===f||79===f||111===f||98===f||85===f||83===f||115===f||76===f||108===f||71===f||103===f||77===f||109===f||86===f?(v=f,f=2,i++):64<f&&91>f||35===f||114===f||120===f?(v=f,f=3,i++):(v=0,f=3);continue;case 2:44===(b=s[i++])?f=4:p=p<<4|(96<b?b-87:b-48);continue;case 3:b=s.indexOf(10,i);break;case 4:(b=i+p)>s.length&&(b=-1)}var g=s.byteOffset+i;if(-1<b)p=new Uint8Array(s.buffer,g,b-i),98===v?Y(e,o,b===y?p:p.slice()):function(e,n,t,r,u,l){switch(r){case 65:Y(e,t,eu(u,l).buffer);return;case 79:el(e,t,u,l,Int8Array,1);return;case 111:Y(e,t,0===u.length?l:eu(u,l));return;case 85:el(e,t,u,l,Uint8ClampedArray,1);return;case 83:el(e,t,u,l,Int16Array,2);return;case 115:el(e,t,u,l,Uint16Array,2);return;case 76:el(e,t,u,l,Int32Array,4);return;case 108:el(e,t,u,l,Uint32Array,4);return;case 71:el(e,t,u,l,Float32Array,4);return;case 103:el(e,t,u,l,Float64Array,8);return;case 77:el(e,t,u,l,BigInt64Array,8);return;case 109:el(e,t,u,l,BigUint64Array,8);return;case 86:el(e,t,u,l,DataView,1);return}n=e._stringDecoder;for(var o="",s=0;s<u.length;s++)o+=n.decode(u[s],a);switch(u=o+=n.decode(l),r){case 73:var i=e,f=t,v=u,p=i._chunks,h=p.get(f);v=eo(i,v);var y=function(e,n){if(e){var t=e[n[0]];if(e=t&&t[n[2]])t=e.name;else{if(!(e=t&&t["*"]))throw Error('Could not find the module "'+n[0]+'" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');t=n[2]}return 4===n.length?[e.id,e.chunks,t,1]:[e.id,e.chunks,t]}return n}(i._bundlerConfig,v);if(v=c(y)){if(h){var b=h;b.status="blocked"}else b=new S("blocked",null,null),p.set(f,b);v.then(function(){return D(i,b,y)},function(e){return E(i,b,e)})}else h?D(i,h,y):(h=new S("resolved_module",y,null),p.set(f,h));break;case 72:switch(t=u[0],e=eo(e,u=u.slice(1)),u=d.d,t){case"D":u.D(e);break;case"C":"string"==typeof e?u.C(e):u.C(e[0],e[1]);break;case"L":t=e[0],r=e[1],3===e.length?u.L(t,r,e[2]):u.L(t,r);break;case"m":"string"==typeof e?u.m(e):u.m(e[0],e[1]);break;case"X":"string"==typeof e?u.X(e):u.X(e[0],e[1]);break;case"S":"string"==typeof e?u.S(e):u.S(e[0],0===e[1]?void 0:e[1],3===e.length?e[2]:void 0);break;case"M":"string"==typeof e?u.M(e):u.M(e[0],e[1])}break;case 69:l=(r=e._chunks).get(t),u=JSON.parse(u),(n=ea()).digest=u.digest,l?E(e,l,n):(e=new S("rejected",null,n),r.set(t,e));break;case 84:(r=(e=e._chunks).get(t))&&"pending"!==r.status?r.reason.enqueueValue(u):(u=new S("fulfilled",u,null),e.set(t,u));break;case 78:case 68:case 74:case 87:throw Error("Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.");case 82:en(e,t,void 0);break;case 114:en(e,t,"bytes");break;case 88:er(e,t,!1);break;case 120:er(e,t,!0);break;case 67:(t=e._chunks.get(t))&&"fulfilled"===t.status&&t.reason.close(""===u?'"$undefined"':u);break;default:(l=(r=e._chunks).get(t))?P(e,l,u):(e=new S("resolved_model",u,e),r.set(t,e))}}(e,u,o,v,h,p),i=b,3===f&&i++,p=o=v=f=0,h.length=0;else{s=new Uint8Array(s.buffer,g,s.byteLength-i),98===v?(p-=s.byteLength,Y(e,o,s)):(h.push(s),p-=s.byteLength);break}}return u._rowState=f,u._rowID=o,u._rowTag=v,u._rowLength=p,l.read().then(n).catch(r)}).catch(r)}t.createFromFetch=function(e,n){var t=ei(n);return e.then(function(e){ec(t,e.body,es.bind(null,t))},function(e){M(t,e)}),U(t,0)},t.createFromReadableStream=function(e,n){return ec(n=ei(n),e,es.bind(null,n)),U(n,0)},t.createServerReference=function(e,n){function t(){var t=Array.prototype.slice.call(arguments);return n(e,t)}return w(t,e,null),t},t.createTemporaryReferenceSet=function(){return new Map},t.encodeReply=function(e,n){return new Promise(function(t,r){var a=function(e,n,t,r){function a(e,n){n=new Blob([new Uint8Array(n.buffer,n.byteOffset,n.byteLength)]);var t=o++;return null===i&&(i=new FormData),i.append(""+t,n),"$"+e+t.toString(16)}function u(e,d){if(null===d)return null;if("object"==typeof d){switch(d.$$typeof){case v:if(void 0!==n&&-1===e.indexOf(":")){var w,S,k,O,A,R=c.get(this);if(void 0!==R)return n.set(R+":"+e,d),"$T"}if(void 0!==n&&f===d)return f=null,"$T";throw Error("React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.");case p:R=d._payload;var $=d._init;null===i&&(i=new FormData),s++;try{var j=$(R),E=o++,T=l(j,E);return i.append(""+E,T),"$"+E.toString(16)}catch(e){if("object"==typeof e&&null!==e&&"function"==typeof e.then){s++;var C=o++;return R=function(){try{var e=l(d,C),n=i;n.append(""+C,e),s--,0===s&&t(n)}catch(e){r(e)}},e.then(R,R),"$"+C.toString(16)}return r(e),null}finally{s--}}if(R=c.get(d),"function"==typeof d.then){if(void 0!==R)if(f!==d)return R;else f=null;null===i&&(i=new FormData),s++;var P=o++;return e="$@"+P.toString(16),c.set(d,e),d.then(function(e){try{var n=c.get(e),a=void 0!==n?JSON.stringify(n):l(e,P);(e=i).append(""+P,a),s--,0===s&&t(e)}catch(e){r(e)}},r),e}if(void 0!==R)if(f!==d)return R;else f=null;else -1===e.indexOf(":")&&void 0!==(R=c.get(this))&&(e=R+":"+e,c.set(d,e),void 0!==n&&n.set(e,d));if(b(d))return d;if(d instanceof FormData){null===i&&(i=new FormData);var D=i,N=""+(e=o++)+"_";return d.forEach(function(e,n){D.append(N+n,e)}),"$K"+e.toString(16)}if(d instanceof Map)return e=o++,R=l(Array.from(d),e),null===i&&(i=new FormData),i.append(""+e,R),"$Q"+e.toString(16);if(d instanceof Set)return e=o++,R=l(Array.from(d),e),null===i&&(i=new FormData),i.append(""+e,R),"$W"+e.toString(16);if(d instanceof ArrayBuffer)return e=new Blob([d]),R=o++,null===i&&(i=new FormData),i.append(""+R,e),"$A"+R.toString(16);if(d instanceof Int8Array)return a("O",d);if(d instanceof Uint8Array)return a("o",d);if(d instanceof Uint8ClampedArray)return a("U",d);if(d instanceof Int16Array)return a("S",d);if(d instanceof Uint16Array)return a("s",d);if(d instanceof Int32Array)return a("L",d);if(d instanceof Uint32Array)return a("l",d);if(d instanceof Float32Array)return a("G",d);if(d instanceof Float64Array)return a("g",d);if(d instanceof BigInt64Array)return a("M",d);if(d instanceof BigUint64Array)return a("m",d);if(d instanceof DataView)return a("V",d);if("function"==typeof Blob&&d instanceof Blob)return null===i&&(i=new FormData),e=o++,i.append(""+e,d),"$B"+e.toString(16);if(e=null===(w=d)||"object"!=typeof w?null:"function"==typeof(w=h&&w[h]||w["@@iterator"])?w:null)return(R=e.call(d))===d?(e=o++,R=l(Array.from(R),e),null===i&&(i=new FormData),i.append(""+e,R),"$i"+e.toString(16)):Array.from(R);if("function"==typeof ReadableStream&&d instanceof ReadableStream)return function(e){try{var n,a,l,c,f,d,v,p=e.getReader({mode:"byob"})}catch(c){return n=e.getReader(),null===i&&(i=new FormData),a=i,s++,l=o++,n.read().then(function e(o){if(o.done)a.append(""+l,"C"),0==--s&&t(a);else try{var i=JSON.stringify(o.value,u);a.append(""+l,i),n.read().then(e,r)}catch(e){r(e)}},r),"$R"+l.toString(16)}return c=p,null===i&&(i=new FormData),f=i,s++,d=o++,v=[],c.read(new Uint8Array(1024)).then(function e(n){n.done?(n=o++,f.append(""+n,new Blob(v)),f.append(""+d,'"$o'+n.toString(16)+'"'),f.append(""+d,"C"),0==--s&&t(f)):(v.push(n.value),c.read(new Uint8Array(1024)).then(e,r))},r),"$r"+d.toString(16)}(d);if("function"==typeof(e=d[y]))return S=d,k=e.call(d),null===i&&(i=new FormData),O=i,s++,A=o++,S=S===k,k.next().then(function e(n){if(n.done){if(void 0===n.value)O.append(""+A,"C");else try{var a=JSON.stringify(n.value,u);O.append(""+A,"C"+a)}catch(e){r(e);return}0==--s&&t(O)}else try{var l=JSON.stringify(n.value,u);O.append(""+A,l),k.next().then(e,r)}catch(e){r(e)}},r),"$"+(S?"x":"X")+A.toString(16);if((e=g(d))!==_&&(null===e||null!==g(e))){if(void 0===n)throw Error("Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.");return"$T"}return d}if("string"==typeof d)return"Z"===d[d.length-1]&&this[e]instanceof Date?"$D"+d:e="$"===d[0]?"$"+d:d;if("boolean"==typeof d)return d;if("number"==typeof d)return Number.isFinite(d)?0===d&&-1/0==1/d?"$-0":d:1/0===d?"$Infinity":-1/0===d?"$-Infinity":"$NaN";if(void 0===d)return"$undefined";if("function"==typeof d){if(void 0!==(R=m.get(d)))return void 0!==(e=c.get(d))||(e=JSON.stringify({id:R.id,bound:R.bound},u),null===i&&(i=new FormData),R=o++,i.set(""+R,e),e="$h"+R.toString(16),c.set(d,e)),e;if(void 0!==n&&-1===e.indexOf(":")&&void 0!==(R=c.get(this)))return n.set(R+":"+e,d),"$T";throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.")}if("symbol"==typeof d){if(void 0!==n&&-1===e.indexOf(":")&&void 0!==(R=c.get(this)))return n.set(R+":"+e,d),"$T";throw Error("Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.")}if("bigint"==typeof d)return"$n"+d.toString(10);throw Error("Type "+typeof d+" is not supported as an argument to a Server Function.")}function l(e,t){return"object"==typeof e&&null!==e&&(t="$"+t.toString(16),c.set(e,t),void 0!==n&&n.set(t,e)),f=e,JSON.stringify(e,u)}var o=1,s=0,i=null,c=new WeakMap,f=e,d=l(e,0);return null===i?t(d):(i.set("0",d),0===s&&t(i)),function(){0<s&&(s=0,null===i?t(d):t(i))}}(e,n&&n.temporaryReferences?n.temporaryReferences:void 0,t,r);if(n&&n.signal){var u=n.signal;if(u.aborted)a(u.reason);else{var l=function(){a(u.reason),u.removeEventListener("abort",l)};u.addEventListener("abort",l)}}})},t.registerServerReference=function(e,n){return w(e,n,null),e}},21413,(e,n,t)=>{"use strict";n.exports=e.r(64893)},35326,(e,n,t)=>{"use strict";n.exports=e.r(21413)},88540,(e,n,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a,u={ACTION_HMR_REFRESH:function(){return f},ACTION_NAVIGATE:function(){return s},ACTION_REFRESH:function(){return o},ACTION_RESTORE:function(){return i},ACTION_SERVER_ACTION:function(){return d},ACTION_SERVER_PATCH:function(){return c},PrefetchKind:function(){return v},ScrollBehavior:function(){return p}};for(var l in u)Object.defineProperty(t,l,{enumerable:!0,get:u[l]});let o="refresh",s="navigate",i="restore",c="server-patch",f="hmr-refresh",d="server-action";var v=((r={}).AUTO="auto",r.FULL="full",r),p=((a={})[a.Default=0]="Default",a[a.NoScroll=1]="NoScroll",a);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)},64245,(e,n,t)=>{"use strict";function r(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isThenable",{enumerable:!0,get:function(){return r}})},41538,(e,n,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={dispatchAppRouterAction:function(){return i},dispatchGestureState:function(){return f},refreshOnInstantNavigationUnlock:function(){return s},useActionQueue:function(){return d}};for(var a in r)Object.defineProperty(t,a,{enumerable:!0,get:r[a]});let u=e.r(90809)._(e.r(71645)),l=e.r(64245);e.r(88540);let o=null;function s(){}function i(e){if(null===o)throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0});o(e)}let c=null;function f(e){if(null===c)throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0});c(e)}function d(e){let[n,t]=u.default.useState(e.state),[r,a]=(0,u.useOptimistic)(n);"u">typeof window&&(c=a),"u">typeof window&&(o=n=>e.dispatch(n,t));let s=(0,u.useMemo)(()=>r,[r]);return(0,l.isThenable)(s)?(0,u.use)(s):s}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)},32120,(e,n,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return l}});let r=e.r(71645),a=e.r(88540),u=e.r(41538);async function l(e,n){return new Promise((t,l)=>{(0,r.startTransition)(()=>{(0,u.dispatchAppRouterAction)({type:a.ACTION_SERVER_ACTION,actionId:e,actionArgs:n,resolve:t,reject:l})})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)},92245,(e,n,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findSourceMapURL",{enumerable:!0,get:function(){return r}});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,8080,e=>{"use strict";let t=(0,e.i(21255).default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",0,t],8080)},34214,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(48425),s=e.i(96626),o=e.i(30030),l=e.i(20783),a=e.i(30207),i=e.i(86318),c=e.i(34620),d=e.i(81140),u="ScrollArea",[p,m]=(0,o.createContextScope)(u),[x,f]=p(u),h=r.forwardRef((e,s)=>{let{__scopeScrollArea:o,type:a="hover",dir:c,scrollHideDelay:d=600,...u}=e,[p,m]=r.useState(null),[f,h]=r.useState(null),[g,y]=r.useState(null),[v,b]=r.useState(null),[w,j]=r.useState(null),[N,S]=r.useState(0),[C,k]=r.useState(0),[R,E]=r.useState(!1),[T,P]=r.useState(!1),A=(0,l.useComposedRefs)(s,e=>m(e)),L=(0,i.useDirection)(c);return(0,t.jsx)(x,{scope:o,type:a,dir:L,scrollHideDelay:d,scrollArea:p,viewport:f,onViewportChange:h,content:g,onContentChange:y,scrollbarX:v,onScrollbarXChange:b,scrollbarXEnabled:R,onScrollbarXEnabledChange:E,scrollbarY:w,onScrollbarYChange:j,scrollbarYEnabled:T,onScrollbarYEnabledChange:P,onCornerWidthChange:S,onCornerHeightChange:k,children:(0,t.jsx)(n.Primitive.div,{dir:L,...u,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":N+"px","--radix-scroll-area-corner-height":C+"px",...e.style}})})});h.displayName=u;var g="ScrollAreaViewport",y=r.forwardRef((e,s)=>{let{__scopeScrollArea:o,children:a,nonce:i,...c}=e,d=f(g,o),u=r.useRef(null),p=(0,l.useComposedRefs)(s,u,d.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,t.jsx)(n.Primitive.div,{"data-radix-scroll-area-viewport":"",...c,ref:p,style:{overflowX:d.scrollbarXEnabled?"scroll":"hidden",overflowY:d.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:d.onContentChange,style:{minWidth:"100%",display:"table"},children:a})})]})});y.displayName=g;var v="ScrollAreaScrollbar",b=r.forwardRef((e,n)=>{let{forceMount:s,...o}=e,l=f(v,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:i}=l,c="horizontal"===e.orientation;return r.useEffect(()=>(c?a(!0):i(!0),()=>{c?a(!1):i(!1)}),[c,a,i]),"hover"===l.type?(0,t.jsx)(w,{...o,ref:n,forceMount:s}):"scroll"===l.type?(0,t.jsx)(j,{...o,ref:n,forceMount:s}):"auto"===l.type?(0,t.jsx)(N,{...o,ref:n,forceMount:s}):"always"===l.type?(0,t.jsx)(S,{...o,ref:n}):null});b.displayName=v;var w=r.forwardRef((e,n)=>{let{forceMount:o,...l}=e,a=f(v,e.__scopeScrollArea),[i,c]=r.useState(!1);return r.useEffect(()=>{let e=a.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),c(!0)},n=()=>{t=window.setTimeout(()=>c(!1),a.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[a.scrollArea,a.scrollHideDelay]),(0,t.jsx)(s.Presence,{present:o||i,children:(0,t.jsx)(N,{"data-state":i?"visible":"hidden",...l,ref:n})})}),j=r.forwardRef((e,n)=>{var o;let{forceMount:l,...a}=e,i=f(v,e.__scopeScrollArea),c="horizontal"===e.orientation,u=M(()=>m("SCROLL_END"),100),[p,m]=(o={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>o[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===p){let e=window.setTimeout(()=>m("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[p,i.scrollHideDelay,m]),r.useEffect(()=>{let e=i.viewport,t=c?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(m("SCROLL"),u()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[i.viewport,c,m,u]),(0,t.jsx)(s.Presence,{present:l||"hidden"!==p,children:(0,t.jsx)(S,{"data-state":"hidden"===p?"hidden":"visible",...a,ref:n,onPointerEnter:(0,d.composeEventHandlers)(e.onPointerEnter,()=>m("POINTER_ENTER")),onPointerLeave:(0,d.composeEventHandlers)(e.onPointerLeave,()=>m("POINTER_LEAVE"))})})}),N=r.forwardRef((e,n)=>{let o=f(v,e.__scopeScrollArea),{forceMount:l,...a}=e,[i,c]=r.useState(!1),d="horizontal"===e.orientation,u=M(()=>{if(o.viewport){let e=o.viewport.offsetWidth<o.viewport.scrollWidth,t=o.viewport.offsetHeight<o.viewport.scrollHeight;c(d?e:t)}},10);return U(o.viewport,u),U(o.content,u),(0,t.jsx)(s.Presence,{present:l||i,children:(0,t.jsx)(S,{"data-state":i?"visible":"hidden",...a,ref:n})})}),S=r.forwardRef((e,n)=>{let{orientation:s="vertical",...o}=e,l=f(v,e.__scopeScrollArea),a=r.useRef(null),i=r.useRef(0),[c,d]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=O(c.viewport,c.content),p={...o,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>a.current=e,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:e=>i.current=e};function m(e,t){return function(e,t,r,n="ltr"){let s=H(r),o=t||s/2,l=r.scrollbar.paddingStart+o,a=r.scrollbar.size-r.scrollbar.paddingEnd-(s-o),i=r.content-r.viewport;return $([l,a],"ltr"===n?[0,i]:[-1*i,0])(e)}(e,i.current,c,t)}return"horizontal"===s?(0,t.jsx)(C,{...p,ref:n,onThumbPositionChange:()=>{if(l.viewport&&a.current){let e=z(l.viewport.scrollLeft,c,l.dir);a.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollLeft=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollLeft=m(e,l.dir))}}):"vertical"===s?(0,t.jsx)(k,{...p,ref:n,onThumbPositionChange:()=>{if(l.viewport&&a.current){let e=z(l.viewport.scrollTop,c);a.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollTop=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollTop=m(e))}}):null}),C=r.forwardRef((e,n)=>{let{sizes:s,onSizesChange:o,...a}=e,i=f(v,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),p=(0,l.useComposedRefs)(n,u,i.onScrollbarXChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(T,{"data-orientation":"horizontal",...a,ref:p,sizes:s,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":H(s)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(i.viewport){var n,s;let o=i.viewport.scrollLeft+t.deltaX;e.onWheelScroll(o),n=o,s=r,n>0&&n<s&&t.preventDefault()}},onResize:()=>{u.current&&i.viewport&&c&&o({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:I(c.paddingLeft),paddingEnd:I(c.paddingRight)}})}})}),k=r.forwardRef((e,n)=>{let{sizes:s,onSizesChange:o,...a}=e,i=f(v,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),p=(0,l.useComposedRefs)(n,u,i.onScrollbarYChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(T,{"data-orientation":"vertical",...a,ref:p,sizes:s,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":H(s)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(i.viewport){var n,s;let o=i.viewport.scrollTop+t.deltaY;e.onWheelScroll(o),n=o,s=r,n>0&&n<s&&t.preventDefault()}},onResize:()=>{u.current&&i.viewport&&c&&o({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:I(c.paddingTop),paddingEnd:I(c.paddingBottom)}})}})}),[R,E]=p(v),T=r.forwardRef((e,s)=>{let{__scopeScrollArea:o,sizes:i,hasThumb:c,onThumbChange:u,onThumbPointerUp:p,onThumbPointerDown:m,onThumbPositionChange:x,onDragScroll:h,onWheelScroll:g,onResize:y,...b}=e,w=f(v,o),[j,N]=r.useState(null),S=(0,l.useComposedRefs)(s,e=>N(e)),C=r.useRef(null),k=r.useRef(""),E=w.viewport,T=i.content-i.viewport,P=(0,a.useCallbackRef)(g),A=(0,a.useCallbackRef)(x),L=M(y,10);function D(e){C.current&&h({x:e.clientX-C.current.left,y:e.clientY-C.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;j?.contains(t)&&P(e,T)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[E,j,T,P]),r.useEffect(A,[i,A]),U(j,L),U(w.content,L),(0,t.jsx)(R,{scope:o,scrollbar:j,hasThumb:c,onThumbChange:(0,a.useCallbackRef)(u),onThumbPointerUp:(0,a.useCallbackRef)(p),onThumbPositionChange:A,onThumbPointerDown:(0,a.useCallbackRef)(m),children:(0,t.jsx)(n.Primitive.div,{...b,ref:S,style:{position:"absolute",...b.style},onPointerDown:(0,d.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),C.current=j.getBoundingClientRect(),k.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",w.viewport&&(w.viewport.style.scrollBehavior="auto"),D(e))}),onPointerMove:(0,d.composeEventHandlers)(e.onPointerMove,D),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=k.current,w.viewport&&(w.viewport.style.scrollBehavior=""),C.current=null})})})}),P="ScrollAreaThumb",A=r.forwardRef((e,r)=>{let{forceMount:n,...o}=e,l=E(P,e.__scopeScrollArea);return(0,t.jsx)(s.Presence,{present:n||l.hasThumb,children:(0,t.jsx)(L,{ref:r,...o})})}),L=r.forwardRef((e,s)=>{let{__scopeScrollArea:o,style:a,...i}=e,c=f(P,o),u=E(P,o),{onThumbPositionChange:p}=u,m=(0,l.useComposedRefs)(s,e=>u.onThumbChange(e)),x=r.useRef(void 0),h=M(()=>{x.current&&(x.current(),x.current=void 0)},100);return r.useEffect(()=>{let e=c.viewport;if(e){let t=()=>{h(),x.current||(x.current=W(e,p),p())};return p(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[c.viewport,h,p]),(0,t.jsx)(n.Primitive.div,{"data-state":u.hasThumb?"visible":"hidden",...i,ref:m,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...a},onPointerDownCapture:(0,d.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;u.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,u.onThumbPointerUp)})});A.displayName=P;var D="ScrollAreaCorner";r.forwardRef((e,r)=>{let n=f(D,e.__scopeScrollArea),s=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&s?(0,t.jsx)(_,{...e,ref:r}):null}).displayName=D;var _=r.forwardRef((e,s)=>{let{__scopeScrollArea:o,...l}=e,a=f(D,o),[i,c]=r.useState(0),[d,u]=r.useState(0),p=!!(i&&d);return U(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),u(e)}),U(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),c(e)}),p?(0,t.jsx)(n.Primitive.div,{...l,ref:s,style:{width:i,height:d,position:"absolute",right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:0,...e.style}}):null});function I(e){return e?parseInt(e,10):0}function O(e,t){let r=e/t;return isNaN(r)?0:r}function H(e){let t=O(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function z(e,t,r="ltr"){let n=H(t),s=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,o=t.scrollbar.size-s,l=t.content-t.viewport,a=function(e,[t,r]){return Math.min(r,Math.max(t,e))}(e,"ltr"===r?[0,l]:[-1*l,0]);return $([0,l],[0,o-n])(a)}function $(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var W=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function s(){let o={left:e.scrollLeft,top:e.scrollTop},l=r.left!==o.left,a=r.top!==o.top;(l||a)&&t(),r=o,n=window.requestAnimationFrame(s)}(),()=>window.cancelAnimationFrame(n)};function M(e,t){let n=(0,a.useCallbackRef)(e),s=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(s.current),[]),r.useCallback(()=>{window.clearTimeout(s.current),s.current=window.setTimeout(n,t)},[n,t])}function U(e,t){let r=(0,a.useCallbackRef)(t);(0,c.useLayoutEffect)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}var X=e.i(73172);let F=r.forwardRef(function({className:e,children:r,...n},s){return(0,t.jsxs)(h,{ref:s,className:(0,X.cn)("relative overflow-hidden",e),...n,children:[(0,t.jsx)(y,{className:"h-full w-full rounded-[inherit]",children:r}),(0,t.jsx)(b,{orientation:"vertical",className:"flex touch-none select-none p-0.5 transition-colors data-[orientation=vertical]:w-2",children:(0,t.jsx)(A,{className:"relative flex-1 rounded-full bg-primary/20 hover:bg-primary/35 transition-colors duration-200"})})]})});e.s(["ScrollArea",0,F],34214)},29235,e=>{"use strict";let t=(0,e.i(21255).default)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",0,t],29235)},65215,e=>{"use strict";let t=(0,e.i(21255).default)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],65215)},36746,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(34214),s=e.i(8080),o=e.i(65215),l=e.i(86752),a=e.i(73172);function i({value:e,size:n="md",className:s}){let[c,d]=(0,r.useState)(!1),u="sm"===n?"h-2.5 w-2.5":"h-3 w-3";return(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e).then(()=>{d(!0),setTimeout(()=>d(!1),1200)}).catch(()=>{})},className:(0,a.cn)("inline-flex items-center justify-center rounded text-foreground-muted hover:text-primary hover:bg-primary-muted transition-all","sm"===n?"h-4 w-4":"min-h-[44px] min-w-[44px]","sm"===n&&"opacity-0 group-hover/json-row:opacity-100 ml-1","md"===n&&"shrink-0",s),title:"Copy",children:c?(0,t.jsx)(l.Check,{className:(0,a.cn)(u,"text-success")}):(0,t.jsx)(o.Copy,{className:u})})}let c=r.default.memo(function({value:e}){return null===e?(0,t.jsx)("span",{className:"text-foreground-muted italic",children:"null"}):void 0===e?(0,t.jsx)("span",{className:"text-foreground-muted italic",children:"undefined"}):"string"==typeof e?(0,t.jsxs)("span",{className:"text-success",children:['"',e,'"']}):"number"==typeof e?(0,t.jsx)("span",{className:"text-warning",children:String(e)}):"boolean"==typeof e?(0,t.jsx)("span",{className:"text-primary",children:String(e)}):(0,t.jsx)("span",{className:"text-foreground-secondary",children:String(e)})});c.displayName="PrimitiveValue";let d=r.default.memo(function e({keyName:n,value:o,defaultExpanded:l,isLast:d=!0}){let u=null!==o&&"object"==typeof o&&!Array.isArray(o),p=Array.isArray(o),[m,x]=(0,r.useState)(()=>void 0!==l?l:u?Object.keys(o).length<=10:!p||o.length<=5),f=()=>x(e=>!e),h=null!==n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-secondary",children:n}),(0,t.jsx)("span",{className:"text-foreground-muted",children:": "})]}):null;if(!(u||p)){let e="string"==typeof o?o:JSON.stringify(o);return(0,t.jsxs)("div",{className:"group/json-row flex items-baseline py-px px-1 rounded hover:bg-background-secondary transition-colors",children:[h,(0,t.jsx)(c,{value:o}),!d&&(0,t.jsx)("span",{className:"text-foreground-muted",children:","}),(0,t.jsx)(i,{value:e,size:"sm"})]})}let g=p?o.map((e,t)=>[String(t),e]):Object.entries(o),y=p?"]":"}",v=g.length,b=p?`${v} item${1!==v?"s":""}`:`${v} key${1!==v?"s":""}`;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-baseline py-0.5 px-1 rounded cursor-pointer hover:bg-background-secondary transition-colors select-none",onClick:f,role:"button",tabIndex:0,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),f())},children:[(0,t.jsx)(s.ChevronRight,{className:(0,a.cn)("h-3 w-3 shrink-0 text-primary transition-transform duration-150 mr-1 relative top-[1px]",m&&"rotate-90")}),h,(0,t.jsx)("span",{className:"text-foreground-muted",children:p?"[":"{"}),!m&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"mx-1 text-xs leading-tight text-foreground-muted bg-background-tertiary px-1.5 py-0.5 rounded",children:b}),(0,t.jsx)("span",{className:"text-foreground-muted",children:y}),!d&&(0,t.jsx)("span",{className:"text-foreground-muted",children:","})]})]}),m&&(0,t.jsxs)("div",{className:"animate-[fadeIn_100ms_ease-out]",children:[(0,t.jsxs)("div",{className:"pl-4 border-l border-primary/20 ml-1.5",children:[g.map(([r,n],s)=>(0,t.jsx)(e,{keyName:p?null:r,value:n,isLast:s===g.length-1},r)),0===v&&(0,t.jsx)("div",{className:"py-px px-1 text-foreground-muted italic",children:"empty"})]}),(0,t.jsxs)("div",{className:"flex items-baseline py-px px-1",children:[(0,t.jsx)("span",{className:"text-foreground-muted",children:y}),!d&&(0,t.jsx)("span",{className:"text-foreground-muted",children:","})]})]})]})});function u({data:e,defaultExpanded:r}){return null==e?(0,t.jsx)("span",{className:"text-foreground-muted",children:String(e??"null")}):(0,t.jsx)("div",{className:"font-mono text-xs",children:(0,t.jsx)(d,{keyName:null,value:e,defaultExpanded:r,isLast:!0})})}function p(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}d.displayName="JsonNode";let m=new Set(["findings","issues","recommendations","errors","warnings","notes","suggestions","problems","improvements","todos","comments","messages"]);function x({showInput:e,onToggle:r}){return(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,t.jsx)("button",{type:"button",onClick:()=>r(!0),className:(0,a.cn)("text-xs px-3 py-1 min-h-[44px] rounded transition-colors",e?"bg-primary-muted text-primary":"text-foreground-muted hover:text-foreground-secondary"),children:"Input"}),(0,t.jsx)("button",{type:"button",onClick:()=>r(!1),className:(0,a.cn)("text-xs px-3 py-1 min-h-[44px] rounded transition-colors",e?"text-foreground-muted hover:text-foreground-secondary":"bg-primary-muted text-primary"),children:"Output"})]})}var f=e.i(29235),h=e.i(68842),g=e.i(49201),y=e.i(8646),v=e.i(99459),b=e.i(27214);let w=(0,e.i(21255).default)("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);function j({children:e,className:r}){return(0,t.jsx)("h4",{className:(0,a.cn)("text-xs font-medium text-foreground-muted tracking-wider uppercase pl-2 border-l-2 border-primary",r),children:e})}function N({status:e}){let r=e.toLowerCase(),n="ok"===r||"success"===r||"resolved"===r||"completed"===r||"pass"===r,s="error"===r||"failed"===r||"fail"===r||"rejected"===r,o="pending"===r||"waiting"===r||"running"===r||"requested"===r;return(0,t.jsxs)("span",{className:(0,a.cn)("inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-[11px] font-medium",n?"bg-success-muted":s?"bg-error-muted":o?"bg-warning-muted":"bg-background-tertiary",n?"text-success":s?"text-error":o?"text-warning":"text-foreground-secondary"),children:[(0,t.jsx)("span",{className:(0,a.cn)("h-1.5 w-1.5 rounded-full animate-pulse-dot",n?"bg-success":s?"bg-error":o?"bg-warning":"bg-foreground-muted")}),e]})}function S({score:e}){let r=Math.max(0,Math.min(100,e));return(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-[120px]",children:[(0,t.jsx)("span",{className:(0,a.cn)("text-[11px] font-mono font-bold",r<50?"text-error":r<80?"text-warning":"text-success"),children:e}),(0,t.jsx)("div",{className:"flex-1 h-1.5 rounded-full bg-background-tertiary overflow-hidden",children:(0,t.jsx)("div",{className:(0,a.cn)("h-full rounded-full transition-all duration-500",r<50?"bg-error":r<80?"bg-warning":"bg-success",r<50?"shadow-progress-glow-error":r<80?"shadow-progress-glow-warning":"shadow-progress-glow-success"),style:{width:`${r}%`}})}),(0,t.jsx)("span",{className:"text-xs text-foreground-muted",children:"/100"})]})}function C({passes:e}){return(0,t.jsxs)("span",{className:(0,a.cn)("inline-flex items-center gap-1 px-2 py-1 rounded-full text-[11px] font-medium",e?"bg-success-muted text-success":"bg-error-muted text-error"),children:[e?(0,t.jsx)(h.CheckCircle2,{className:"h-3 w-3"}):(0,t.jsx)(g.XCircle,{className:"h-3 w-3"}),e?"Pass":"Fail"]})}function k({status:e,score:r,passesQuality:n,taskId:s}){return null===e&&null===r&&null===n&&null===s?null:(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 rounded-lg bg-background-secondary/60 border border-border/50 px-3 py-2",children:[null!==e&&(0,t.jsx)(N,{status:e}),null!==r&&(0,t.jsx)(S,{score:r}),null!==n&&(0,t.jsx)(C,{passes:n}),null!==s&&(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[11px] text-foreground-muted font-mono",children:[(0,t.jsx)(w,{className:"h-3 w-3"}),(0,t.jsx)("span",{title:s,children:s.length>12?s.slice(0,6)+"…"+s.slice(-4):s}),(0,t.jsx)(i,{value:s})]})]})}function R({booleans:e}){return 0===e.length?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(j,{children:"Flags"}),(0,t.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-1.5",children:e.map(({key:e,value:r})=>(0,t.jsxs)("div",{className:(0,a.cn)("flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-[11px] font-medium border transition-colors",r?"bg-success-muted/50 border-success/20 text-success":"bg-background-tertiary/50 border-border/30 text-foreground-muted"),children:[r?(0,t.jsx)(h.CheckCircle2,{className:"h-3 w-3 shrink-0"}):(0,t.jsx)(g.XCircle,{className:"h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:p(e)})]},e))})]})}function E({index:e,text:n,isWarning:s}){let[o,l]=(0,r.useState)(!1),c=n.length>120,d=c&&!o?n.slice(0,120)+"…":n,u=s?y.AlertTriangle:v.Info;return(0,t.jsxs)("div",{className:"group/finding flex items-start gap-2 rounded-md bg-background-secondary/50 border border-border/40 px-3 py-2 transition-colors hover:border-border-hover/60",children:[(0,t.jsx)(u,{className:(0,a.cn)("h-3.5 w-3.5 mt-0.5 shrink-0",s?"text-warning":"text-info")}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("span",{className:"text-[11px] text-foreground-muted font-mono mr-1.5",children:[e,"."]}),(0,t.jsx)("span",{className:"text-xs text-foreground-secondary leading-relaxed",children:d}),c&&(0,t.jsx)("button",{type:"button",onClick:()=>l(e=>!e),className:"ml-1 text-xs text-primary hover:text-primary-hover transition-colors min-h-[44px] inline-flex items-center",children:o?"Show less":"Show more"})]}),(0,t.jsx)("span",{className:"opacity-0 group-hover/finding:opacity-100 transition-opacity",children:(0,t.jsx)(i,{value:n})})]})}function T({findings:e}){if(0===e.length)return null;let r=new Set(["issues","errors","warnings","problems"]);return(0,t.jsx)(t.Fragment,{children:e.map(({key:e,items:n})=>{let s=r.has(e.toLowerCase()),o=s?y.AlertTriangle:v.Info;return(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)(j,{className:"flex items-center gap-1.5",children:[(0,t.jsx)(o,{className:(0,a.cn)("h-3 w-3",s?"text-warning":"text-info")}),p(e),(0,t.jsx)("span",{className:"ml-1 inline-flex items-center justify-center h-4 min-w-[16px] px-1 rounded-full bg-primary-muted text-primary text-xs font-bold",children:n.length})]}),(0,t.jsx)("div",{className:"space-y-1",children:n.map((r,n)=>(0,t.jsx)(E,{index:n+1,text:r,isWarning:s},`${e}-${n}`))})]},e)})})}function P({summary:e}){return(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(j,{children:"Summary"}),(0,t.jsx)("div",{className:"rounded-md bg-background-secondary/50 border border-border/40 border-l-[3px] border-l-secondary px-3 py-2.5",children:(0,t.jsx)("p",{className:"text-xs text-foreground-secondary leading-relaxed",children:e})})]})}function A({label:e,value:r}){let n=null===r?"null":String(r);if("string"==typeof r&&(/^\d{4}-\d{2}-\d{2}T/.test(r)||/^\d{4}-\d{2}-\d{2} /.test(r))){let n=function(e){let t=new Date(e);if(isNaN(t.getTime()))return null;let r=Math.floor((Date.now()-t.getTime())/1e3),n=Math.floor(r/60),s=Math.floor(n/60),o=Math.floor(s/24);return{relative:r<60?`${r}s ago`:n<60?`${n}m ago`:s<24?`${s}h ago`:`${o}d ago`,full:t.toISOString()}}(r);if(n)return(0,t.jsxs)("div",{className:"flex items-baseline gap-2 py-0.5 min-w-0",children:[(0,t.jsx)("span",{className:"text-xs text-foreground-muted uppercase tracking-wider shrink-0",children:p(e)}),(0,t.jsxs)("span",{className:"text-xs text-foreground-secondary font-mono flex items-center gap-1 truncate",title:n.full,children:[(0,t.jsx)(b.Clock,{className:"h-2.5 w-2.5 shrink-0 text-foreground-muted"}),n.relative]})]})}if("string"==typeof r&&(/^[a-f0-9-]{16,}$/i.test(r)||/^[a-zA-Z0-9_-]{20,}$/.test(r))){let n=r.length>16?r.slice(0,8)+"…"+r.slice(-4):r;return(0,t.jsxs)("div",{className:"flex items-baseline gap-2 py-0.5 min-w-0",children:[(0,t.jsx)("span",{className:"text-xs text-foreground-muted uppercase tracking-wider shrink-0",children:p(e)}),(0,t.jsx)("span",{className:"text-xs text-foreground-secondary font-mono truncate",title:r,children:n}),(0,t.jsx)(i,{value:r})]})}return"boolean"==typeof r?(0,t.jsxs)("div",{className:"flex items-baseline gap-2 py-0.5 min-w-0",children:[(0,t.jsx)("span",{className:"text-xs text-foreground-muted uppercase tracking-wider shrink-0",children:p(e)}),(0,t.jsx)("span",{className:(0,a.cn)("text-xs font-mono",r?"text-success":"text-error"),children:String(r)})]}):(0,t.jsxs)("div",{className:"flex items-baseline gap-2 py-0.5 min-w-0",children:[(0,t.jsx)("span",{className:"text-xs text-foreground-muted uppercase tracking-wider shrink-0",children:p(e)}),(0,t.jsx)("span",{className:"text-xs text-foreground-secondary font-mono truncate",title:n,children:n.length>60?n.slice(0,60)+"…":n})]})}function L({metadata:e}){if(0===e.length)return null;let r=e.filter(({value:e})=>"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null===e),n=e.filter(({value:e})=>"object"==typeof e&&null!==e);return(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(j,{children:"Metadata"}),r.length>0&&(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-1 rounded-md bg-background-secondary/50 border border-border/40 px-3 py-2",children:r.map(({key:e,value:r})=>(0,t.jsx)(A,{label:e,value:r},e))}),n.map(({key:e,value:r})=>(0,t.jsxs)("div",{className:"rounded-md bg-background-secondary/50 border border-border/40 px-3 py-2",children:[(0,t.jsx)("div",{className:"text-xs text-foreground-muted uppercase tracking-wider mb-1",children:p(e)}),(0,t.jsx)("div",{className:"font-mono text-xs",children:(0,t.jsx)(d,{keyName:null,value:r,isLast:!0})})]},e))]})}function D({data:e}){let[n,s]=(0,r.useState)(!1),[i,c]=(0,r.useState)(!1);return(0,t.jsxs)("div",{className:"space-y-0",children:[(0,t.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>s(e=>!e),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),s(e=>!e))},className:"flex items-center gap-2 w-full text-left px-2 py-1.5 rounded-md hover:bg-background-secondary/50 transition-colors group cursor-pointer select-none",children:[(0,t.jsx)(f.ChevronDown,{className:(0,a.cn)("h-3 w-3 text-primary transition-transform duration-150",!n&&"-rotate-90")}),(0,t.jsx)("span",{className:"text-xs font-medium text-foreground-muted tracking-wider uppercase",children:"Raw JSON"}),!n&&(0,t.jsx)("span",{className:"text-xs text-foreground-muted",children:"(click to expand)"}),n&&(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation();try{let t=JSON.stringify(e,null,2);navigator.clipboard.writeText(t).then(()=>{c(!0),setTimeout(()=>c(!1),1500)}).catch(()=>{})}catch{}},className:"ml-auto inline-flex items-center gap-1 text-xs text-foreground-muted hover:text-primary transition-colors px-1.5 py-0.5 rounded",title:"Copy all JSON",children:[i?(0,t.jsx)(l.Check,{className:"h-3 w-3 text-success"}):(0,t.jsx)(o.Copy,{className:"h-3 w-3"}),"Copy All"]})]}),n&&(0,t.jsx)("div",{className:"animate-[fadeIn_100ms_ease-out] rounded-md bg-background-secondary p-3 mt-1",children:(0,t.jsx)(u,{data:e})})]})}e.s([],60424),e.i(60424),e.s(["JsonTree",0,function({task:e}){let[s,o]=(0,r.useState)(!0),l=s?e?.input:e?.result,a=(0,r.useMemo)(()=>(function(e){let t={status:null,score:null,passesQuality:null,booleans:[],findings:[],summary:null,taskId:null,metadata:[]};if(!(null!==e&&"object"==typeof e&&!Array.isArray(e)))return t;let r=new Set;for(let[n,s]of("status"in e&&"string"==typeof e.status&&(t.status=e.status,r.add("status")),"score"in e&&"number"==typeof e.score&&(t.score=e.score,r.add("score")),"passesQuality"in e&&"boolean"==typeof e.passesQuality&&(t.passesQuality=e.passesQuality,r.add("passesQuality")),"summary"in e&&"string"==typeof e.summary&&(t.summary=e.summary,r.add("summary")),"taskId"in e&&"string"==typeof e.taskId&&(t.taskId=e.taskId,r.add("taskId")),Object.entries(e)))if(!r.has(n)){if("boolean"==typeof s){t.booleans.push({key:n,value:s}),r.add(n);continue}if(Array.isArray(s)&&s.length>0&&s.every(e=>"string"==typeof e)&&m.has(n.toLowerCase())){t.findings.push({key:n,items:s}),r.add(n);continue}}if(t.booleans.length<2){for(let e of t.booleans)t.metadata.push({key:e.key,value:e.value});t.booleans=[]}for(let[n,s]of Object.entries(e))r.has(n)||t.metadata.push({key:n,value:s});return t})(l),[l]);if(!e)return(0,t.jsx)("div",{className:"p-4 text-sm text-foreground-muted",children:"Select a task to view data"});if(!(e.input||e.result))return(0,t.jsx)("div",{className:"p-4 text-sm text-foreground-muted",children:"No I/O data for this task"});let i=null==l||"object"!=typeof l||Array.isArray(l);return(0,t.jsxs)("div",{className:"p-4",children:[(0,t.jsx)(x,{showInput:s,onToggle:o}),(0,t.jsx)(n.ScrollArea,{children:i?(0,t.jsx)("div",{className:"rounded-md bg-background-secondary p-3",children:(0,t.jsx)(u,{data:l})}):(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(k,{status:a.status,score:a.score,passesQuality:a.passesQuality,taskId:a.taskId}),(0,t.jsx)(R,{booleans:a.booleans}),(0,t.jsx)(T,{findings:a.findings}),a.summary&&(0,t.jsx)(P,{summary:a.summary}),(0,t.jsx)(L,{metadata:a.metadata}),(0,t.jsx)(D,{data:l})]})})]})},"JsonTreeView",0,u],36746)},61914,e=>{e.n(e.i(36746))}]);