@a5c-ai/babysitter-observer-dashboard 5.0.1-staging.05ee168a
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.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +16 -0
- package/.next/build-manifest.json +23 -0
- package/.next/export-marker.json +6 -0
- package/.next/fallback-build-manifest.json +13 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +114 -0
- package/.next/required-server-files.json +334 -0
- package/.next/routes-manifest.json +139 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +19 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +9 -0
- package/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +15 -0
- package/.next/server/app/_global-error.rsc +14 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +19 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +13 -0
- package/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +16 -0
- package/.next/server/app/_not-found.rsc +19 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +19 -0
- package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/api/config/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/config/route/build-manifest.json +9 -0
- package/.next/server/app/api/config/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/config/route.js +8 -0
- package/.next/server/app/api/config/route.js.map +5 -0
- package/.next/server/app/api/config/route.js.nft.json +1 -0
- package/.next/server/app/api/config/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/digest/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/digest/route/build-manifest.json +9 -0
- package/.next/server/app/api/digest/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/digest/route.js +9 -0
- package/.next/server/app/api/digest/route.js.map +5 -0
- package/.next/server/app/api/digest/route.js.nft.json +1 -0
- package/.next/server/app/api/digest/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/runs/[runId]/events/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/runs/[runId]/events/route/build-manifest.json +9 -0
- package/.next/server/app/api/runs/[runId]/events/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/runs/[runId]/events/route.js +8 -0
- package/.next/server/app/api/runs/[runId]/events/route.js.map +5 -0
- package/.next/server/app/api/runs/[runId]/events/route.js.nft.json +1 -0
- package/.next/server/app/api/runs/[runId]/events/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/runs/[runId]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/runs/[runId]/route/build-manifest.json +9 -0
- package/.next/server/app/api/runs/[runId]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/runs/[runId]/route.js +9 -0
- package/.next/server/app/api/runs/[runId]/route.js.map +5 -0
- package/.next/server/app/api/runs/[runId]/route.js.nft.json +1 -0
- package/.next/server/app/api/runs/[runId]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route/build-manifest.json +9 -0
- package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route.js +8 -0
- package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route.js.map +5 -0
- package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route.js.nft.json +1 -0
- package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/runs/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/runs/route/build-manifest.json +9 -0
- package/.next/server/app/api/runs/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/runs/route.js +9 -0
- package/.next/server/app/api/runs/route.js.map +5 -0
- package/.next/server/app/api/runs/route.js.nft.json +1 -0
- package/.next/server/app/api/runs/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/stream/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/stream/route/build-manifest.json +9 -0
- package/.next/server/app/api/stream/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/stream/route.js +8 -0
- package/.next/server/app/api/stream/route.js.map +5 -0
- package/.next/server/app/api/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/stream/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/test/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/test/route/build-manifest.json +9 -0
- package/.next/server/app/api/test/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/test/route.js +6 -0
- package/.next/server/app/api/test/route.js.map +5 -0
- package/.next/server/app/api/test/route.js.nft.json +1 -0
- package/.next/server/app/api/test/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/version/route/build-manifest.json +9 -0
- package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/version/route.js +7 -0
- package/.next/server/app/api/version/route.js.map +5 -0
- package/.next/server/app/api/version/route.js.nft.json +1 -0
- package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
- package/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
- package/.next/server/app/icon.svg/route/build-manifest.json +9 -0
- package/.next/server/app/icon.svg/route.js +7 -0
- package/.next/server/app/icon.svg/route.js.map +5 -0
- package/.next/server/app/icon.svg/route.js.nft.json +1 -0
- package/.next/server/app/icon.svg.body +20 -0
- package/.next/server/app/icon.svg.meta +1 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +14 -0
- package/.next/server/app/index.rsc +21 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/index.segments/_full.segment.rsc +21 -0
- package/.next/server/app/index.segments/_head.segment.rsc +6 -0
- package/.next/server/app/index.segments/_index.segment.rsc +8 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/server/app/page/build-manifest.json +19 -0
- package/.next/server/app/page/next-font-manifest.json +6 -0
- package/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/page/server-reference-manifest.json +17 -0
- package/.next/server/app/page.js +15 -0
- package/.next/server/app/page.js.map +5 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/server/app/runs/[runId]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/runs/[runId]/page/build-manifest.json +19 -0
- package/.next/server/app/runs/[runId]/page/next-font-manifest.json +6 -0
- package/.next/server/app/runs/[runId]/page/react-loadable-manifest.json +22 -0
- package/.next/server/app/runs/[runId]/page/server-reference-manifest.json +17 -0
- package/.next/server/app/runs/[runId]/page.js +15 -0
- package/.next/server/app/runs/[runId]/page.js.map +5 -0
- package/.next/server/app/runs/[runId]/page.js.nft.json +1 -0
- package/.next/server/app/runs/[runId]/page_client-reference-manifest.js +3 -0
- package/.next/server/app-paths-manifest.json +16 -0
- package/.next/server/chunks/01oi_server_app_api_runs_[runId]_tasks_[effectId]_route_actions_0r72yai.js +3 -0
- package/.next/server/chunks/01oi_server_app_api_runs_[runId]_tasks_[effectId]_route_actions_0r72yai.js.map +1 -0
- package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_events_route_actions_0~msldk.js +3 -0
- package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_events_route_actions_0~msldk.js.map +1 -0
- package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_route_actions_09iz0n6.js +3 -0
- package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_route_actions_09iz0n6.js.map +1 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_config_route_actions_0~eypoa.js +3 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_config_route_actions_0~eypoa.js.map +1 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_digest_route_actions_04jj5zs.js +3 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_digest_route_actions_04jj5zs.js.map +1 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_runs_route_actions_0~-t-o4.js +3 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_runs_route_actions_0~-t-o4.js.map +1 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_stream_route_actions_0fkmv2_.js +3 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_stream_route_actions_0fkmv2_.js.map +1 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_test_route_actions_00ugava.js +3 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_test_route_actions_00ugava.js.map +1 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_version_route_actions_0~v3ojm.js +3 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_version_route_actions_0~v3ojm.js.map +1 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_icon_svg_route_actions_0yypxkm.js +3 -0
- package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_icon_svg_route_actions_0yypxkm.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0.6bt.6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0.6bt.6._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__08kwev1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__08kwev1._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__096el.d._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__096el.d._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0_bmt4z._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_bmt4z._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0_ln2d2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_ln2d2._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0al3v65._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0al3v65._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0gf516b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0gf516b._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0kdfw4x._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0kdfw4x._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0pxt00h._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0pxt00h._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0rubnza._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rubnza._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0tn9iud._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0tn9iud._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0ws5o6i._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ws5o6i._.js.map +1 -0
- package/.next/server/chunks/[turbopack]_runtime.js +903 -0
- package/.next/server/chunks/[turbopack]_runtime.js.map +11 -0
- package/.next/server/chunks/node_modules_next_04~_e52._.js +13 -0
- package/.next/server/chunks/node_modules_next_04~_e52._.js.map +1 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0nyyph-.js +9 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0nyyph-.js.map +1 -0
- package/.next/server/chunks/packages_observer-dashboard_src_lib_02.vvb.._.js +3 -0
- package/.next/server/chunks/packages_observer-dashboard_src_lib_02.vvb.._.js.map +1 -0
- package/.next/server/chunks/packages_observer-dashboard_src_lib_0rqgpk0._.js +3 -0
- package/.next/server/chunks/packages_observer-dashboard_src_lib_0rqgpk0._.js.map +1 -0
- package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__global-error_page_actions_0ekoxmy.js +3 -0
- package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__global-error_page_actions_0ekoxmy.js.map +1 -0
- package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__not-found_page_actions_09b3ti3.js +3 -0
- package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__not-found_page_actions_09b3ti3.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__006f7~t._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__006f7~t._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__02jgvbi._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__02jgvbi._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__04j8t~1._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__04j8t~1._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__09c~s.0._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__09c~s.0._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0cpy61n._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0cpy61n._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0cwa32j._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0cwa32j._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0fk_g0j._.js +19 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0fk_g0j._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0pddpic._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0pddpic._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0pvtneq._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0pvtneq._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0xc-2vm._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0xc-2vm._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__10xgshr._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__10xgshr._.js.map +1 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +11 -0
- package/.next/server/chunks/ssr/_00yo1im._.js +3 -0
- package/.next/server/chunks/ssr/_00yo1im._.js.map +1 -0
- package/.next/server/chunks/ssr/_03sbc.o._.js +3 -0
- package/.next/server/chunks/ssr/_03sbc.o._.js.map +1 -0
- package/.next/server/chunks/ssr/_04z5ea0._.js +3 -0
- package/.next/server/chunks/ssr/_04z5ea0._.js.map +1 -0
- package/.next/server/chunks/ssr/_0gmb3g_._.js +3 -0
- package/.next/server/chunks/ssr/_0gmb3g_._.js.map +1 -0
- package/.next/server/chunks/ssr/_0okz9j8._.js +6 -0
- package/.next/server/chunks/ssr/_0okz9j8._.js.map +1 -0
- package/.next/server/chunks/ssr/_0wrbwro._.js +6 -0
- package/.next/server/chunks/ssr/_0wrbwro._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_09w7yel._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_09w7yel._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0avqw4q._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0avqw4q._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0i_._k3._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0i_._k3._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0ee1czk._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0ee1czk._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0amzg6z.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0amzg6z.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dw1x0d.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dw1x0d.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rc3ul_.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rc3ul_.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10iomok.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10iomok.js.map +1 -0
- package/.next/server/chunks/ssr/packages_observer-dashboard_0~a2tmu._.js +3 -0
- package/.next/server/chunks/ssr/packages_observer-dashboard_0~a2tmu._.js.map +1 -0
- package/.next/server/chunks/ssr/packages_observer-dashboard_src_0f.ozc-._.js +3 -0
- package/.next/server/chunks/ssr/packages_observer-dashboard_src_0f.ozc-._.js.map +1 -0
- package/.next/server/chunks/ssr/packages_observer-dashboard_src_components_providers_tsx_03_vrrn._.js +7 -0
- package/.next/server/chunks/ssr/packages_observer-dashboard_src_components_providers_tsx_03_vrrn._.js.map +1 -0
- package/.next/server/functions-config-manifest.json +4 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +23 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +6 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +1 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +24 -0
- package/.next/static/EABLIK_sdQGd8BsGP793M/_buildManifest.js +11 -0
- package/.next/static/EABLIK_sdQGd8BsGP793M/_clientMiddlewareManifest.js +1 -0
- package/.next/static/EABLIK_sdQGd8BsGP793M/_ssgManifest.js +1 -0
- package/.next/static/chunks/0.syqclhhnw~3.js +4 -0
- package/.next/static/chunks/01xlw8hd842-c.js +1 -0
- package/.next/static/chunks/034i63v_muq~d.js +1 -0
- package/.next/static/chunks/03mo-6~4pxdio.js +1 -0
- package/.next/static/chunks/03~yq9q893hmn.js +1 -0
- package/.next/static/chunks/04dm5qn77.fc2.js +1 -0
- package/.next/static/chunks/07uz2g0_38qia.js +4 -0
- package/.next/static/chunks/08nqnwvixoxnk.js +2 -0
- package/.next/static/chunks/09fqccrs830-n.js +1 -0
- package/.next/static/chunks/0d3shmwh5_nmn.js +1 -0
- package/.next/static/chunks/0e_wyjw3nx.a..js +1 -0
- package/.next/static/chunks/0jgju7iyqhzfr.js +1 -0
- package/.next/static/chunks/0mstyq17cbf8-.js +1 -0
- package/.next/static/chunks/0ntuxw9.how-q.js +1 -0
- package/.next/static/chunks/0t3uzajv1qzmo.js +1 -0
- package/.next/static/chunks/0tk7tld3z8q_b.js +1 -0
- package/.next/static/chunks/0u~_nwr5-v.xp.js +1 -0
- package/.next/static/chunks/0x6y7yt4kiddp.css +1 -0
- package/.next/static/chunks/0ze4gu236oq96.js +31 -0
- package/.next/static/chunks/0zwozael9msy1.js +1 -0
- package/.next/static/chunks/0~nsmwzvlcp_3.js +1 -0
- package/.next/static/chunks/10qd__0r7a~.l.js +1 -0
- package/.next/static/chunks/11jh_u1ynmatg.js +1 -0
- package/.next/static/chunks/144kcri75qczu.js +1 -0
- package/.next/static/chunks/170fc9ko4~0_4.js +5 -0
- package/.next/static/chunks/turbopack-0-ww6fe7b37qt.js +1 -0
- package/.next/static/media/icon.08ljfy7xai2x_.svg +20 -0
- package/LICENSE +21 -0
- package/README.md +490 -0
- package/next.config.mjs +25 -0
- package/package.json +104 -0
- package/postcss.config.mjs +8 -0
- package/src/app/actions/__tests__/approve-breakpoint.test.ts +246 -0
- package/src/app/actions/approve-breakpoint.ts +145 -0
- package/src/app/api/config/route.ts +137 -0
- package/src/app/api/digest/route.ts +45 -0
- package/src/app/api/runs/[runId]/events/route.ts +56 -0
- package/src/app/api/runs/[runId]/route.ts +84 -0
- package/src/app/api/runs/[runId]/tasks/[effectId]/route.ts +44 -0
- package/src/app/api/runs/route.ts +48 -0
- package/src/app/api/stream/route.ts +136 -0
- package/src/app/api/test/route.ts +1 -0
- package/src/app/api/version/route.ts +57 -0
- package/src/app/globals.css +555 -0
- package/src/app/icon.svg +20 -0
- package/src/app/layout.tsx +39 -0
- package/src/app/not-found.tsx +16 -0
- package/src/app/page.tsx +120 -0
- package/src/app/runs/[runId]/page.tsx +279 -0
- package/src/cli.ts +271 -0
- package/src/components/breakpoint/__tests__/breakpoint-approval.test.tsx +212 -0
- package/src/components/breakpoint/__tests__/breakpoint-panel.test.tsx +130 -0
- package/src/components/breakpoint/__tests__/file-preview.test.tsx +313 -0
- package/src/components/breakpoint/breakpoint-approval.tsx +138 -0
- package/src/components/breakpoint/breakpoint-panel.tsx +95 -0
- package/src/components/breakpoint/file-preview.tsx +215 -0
- package/src/components/dashboard/.gitkeep +0 -0
- package/src/components/dashboard/__tests__/breakpoint-banner.test.tsx +177 -0
- package/src/components/dashboard/__tests__/catch-up-banner.test.tsx +141 -0
- package/src/components/dashboard/__tests__/executive-summary-banner.test.tsx +164 -0
- package/src/components/dashboard/__tests__/kpi-grid.test.tsx +101 -0
- package/src/components/dashboard/__tests__/pagination-controls.test.tsx +125 -0
- package/src/components/dashboard/__tests__/project-accordion.test.tsx +97 -0
- package/src/components/dashboard/__tests__/project-list-view.test.tsx +174 -0
- package/src/components/dashboard/__tests__/project-search-input.test.tsx +110 -0
- package/src/components/dashboard/__tests__/project-section-header.test.tsx +91 -0
- package/src/components/dashboard/__tests__/project-section.test.tsx +151 -0
- package/src/components/dashboard/__tests__/run-card.test.tsx +164 -0
- package/src/components/dashboard/__tests__/run-filter-bar.test.tsx +109 -0
- package/src/components/dashboard/__tests__/run-list.test.tsx +123 -0
- package/src/components/dashboard/__tests__/search-filter.test.tsx +150 -0
- package/src/components/dashboard/__tests__/virtualized-run-list.test.tsx +179 -0
- package/src/components/dashboard/breakpoint-banner.tsx +301 -0
- package/src/components/dashboard/catch-up-banner.tsx +88 -0
- package/src/components/dashboard/executive-summary-banner.tsx +174 -0
- package/src/components/dashboard/global-search.tsx +323 -0
- package/src/components/dashboard/kpi-grid.tsx +140 -0
- package/src/components/dashboard/pagination-controls.tsx +100 -0
- package/src/components/dashboard/project-accordion.tsx +72 -0
- package/src/components/dashboard/project-health-card.tsx +536 -0
- package/src/components/dashboard/project-list-view.tsx +246 -0
- package/src/components/dashboard/project-search-input.tsx +41 -0
- package/src/components/dashboard/project-section-header.tsx +73 -0
- package/src/components/dashboard/project-section.tsx +89 -0
- package/src/components/dashboard/run-card.tsx +218 -0
- package/src/components/dashboard/run-filter-bar.tsx +100 -0
- package/src/components/dashboard/run-list.tsx +77 -0
- package/src/components/dashboard/search-filter.tsx +69 -0
- package/src/components/dashboard/virtualized-run-list.tsx +130 -0
- package/src/components/details/.gitkeep +0 -0
- package/src/components/details/__tests__/agent-panel.test.tsx +236 -0
- package/src/components/details/__tests__/json-tree.test.tsx +347 -0
- package/src/components/details/__tests__/log-viewer.test.tsx +168 -0
- package/src/components/details/__tests__/task-detail.test.tsx +212 -0
- package/src/components/details/__tests__/timing-panel.test.tsx +271 -0
- package/src/components/details/agent-panel.tsx +234 -0
- package/src/components/details/json-tree/categorize.ts +131 -0
- package/src/components/details/json-tree/index.tsx +120 -0
- package/src/components/details/json-tree/json-node.tsx +223 -0
- package/src/components/details/json-tree/smart-summary.tsx +596 -0
- package/src/components/details/json-tree/tree-controls.tsx +47 -0
- package/src/components/details/json-tree.tsx +9 -0
- package/src/components/details/log-viewer.tsx +140 -0
- package/src/components/details/task-detail.tsx +114 -0
- package/src/components/details/timing-panel.tsx +247 -0
- package/src/components/events/.gitkeep +0 -0
- package/src/components/events/__tests__/event-item.test.tsx +211 -0
- package/src/components/events/__tests__/event-stream.test.tsx +225 -0
- package/src/components/events/event-item.tsx +121 -0
- package/src/components/events/event-stream.tsx +260 -0
- package/src/components/notifications/.gitkeep +0 -0
- package/src/components/notifications/__tests__/notification-panel.test.tsx +287 -0
- package/src/components/notifications/__tests__/notification-provider.test.tsx +585 -0
- package/src/components/notifications/__tests__/toast-stack.test.tsx +217 -0
- package/src/components/notifications/notification-panel.tsx +124 -0
- package/src/components/notifications/notification-provider.tsx +175 -0
- package/src/components/notifications/toast-stack.tsx +75 -0
- package/src/components/pipeline/.gitkeep +0 -0
- package/src/components/pipeline/__tests__/parallel-group.test.tsx +88 -0
- package/src/components/pipeline/__tests__/pipeline-view.test.tsx +345 -0
- package/src/components/pipeline/__tests__/step-card.test.tsx +330 -0
- package/src/components/pipeline/parallel-group.tsx +39 -0
- package/src/components/pipeline/pipeline-view.tsx +197 -0
- package/src/components/pipeline/step-card.tsx +166 -0
- package/src/components/providers/event-stream-provider.tsx +29 -0
- package/src/components/providers.tsx +24 -0
- package/src/components/shared/.gitkeep +0 -0
- package/src/components/shared/__tests__/empty-state.test.tsx +49 -0
- package/src/components/shared/__tests__/friendly-id.test.tsx +47 -0
- package/src/components/shared/__tests__/kbd.test.tsx +45 -0
- package/src/components/shared/__tests__/kind-badge.test.tsx +71 -0
- package/src/components/shared/__tests__/metrics-row.test.tsx +74 -0
- package/src/components/shared/__tests__/outcome-banner.test.tsx +71 -0
- package/src/components/shared/__tests__/progress-bar.test.tsx +89 -0
- package/src/components/shared/__tests__/session-pill.test.tsx +62 -0
- package/src/components/shared/__tests__/settings-modal.test.tsx +201 -0
- package/src/components/shared/__tests__/shortcuts-help.test.tsx +103 -0
- package/src/components/shared/__tests__/status-badge.test.tsx +98 -0
- package/src/components/shared/__tests__/theme-provider.test.tsx +100 -0
- package/src/components/shared/__tests__/truncated-id.test.tsx +53 -0
- package/src/components/shared/app-footer.tsx +80 -0
- package/src/components/shared/app-header.tsx +160 -0
- package/src/components/shared/empty-state.tsx +18 -0
- package/src/components/shared/error-boundary.tsx +81 -0
- package/src/components/shared/friendly-id.tsx +48 -0
- package/src/components/shared/kbd.tsx +15 -0
- package/src/components/shared/kind-badge.tsx +51 -0
- package/src/components/shared/metrics-row.tsx +106 -0
- package/src/components/shared/outcome-banner.tsx +56 -0
- package/src/components/shared/progress-bar.tsx +42 -0
- package/src/components/shared/session-pill.tsx +69 -0
- package/src/components/shared/settings-modal.tsx +509 -0
- package/src/components/shared/shortcuts-help.tsx +113 -0
- package/src/components/shared/status-badge.tsx +110 -0
- package/src/components/shared/theme-provider.tsx +46 -0
- package/src/components/shared/truncated-id.tsx +51 -0
- package/src/components/ui/.gitkeep +0 -0
- package/src/components/ui/__tests__/accordion.test.tsx +96 -0
- package/src/components/ui/__tests__/badge.test.tsx +69 -0
- package/src/components/ui/__tests__/button.test.tsx +113 -0
- package/src/components/ui/__tests__/tabs.test.tsx +75 -0
- package/src/components/ui/__tests__/tooltip.test.tsx +90 -0
- package/src/components/ui/accordion.tsx +61 -0
- package/src/components/ui/badge.tsx +25 -0
- package/src/components/ui/button.tsx +40 -0
- package/src/components/ui/card.tsx +21 -0
- package/src/components/ui/scroll-area.tsx +35 -0
- package/src/components/ui/separator.tsx +24 -0
- package/src/components/ui/tabs.tsx +64 -0
- package/src/components/ui/tooltip.tsx +37 -0
- package/src/hooks/.gitkeep +0 -0
- package/src/hooks/__tests__/use-animated-number.test.ts +184 -0
- package/src/hooks/__tests__/use-batched-updates.test.ts +315 -0
- package/src/hooks/__tests__/use-event-stream.test.ts +243 -0
- package/src/hooks/__tests__/use-keyboard.test.ts +217 -0
- package/src/hooks/__tests__/use-notifications.test.ts +230 -0
- package/src/hooks/__tests__/use-polling.test.ts +274 -0
- package/src/hooks/__tests__/use-project-runs.test.ts +163 -0
- package/src/hooks/__tests__/use-projects.test.ts +248 -0
- package/src/hooks/__tests__/use-run-dashboard.test.ts +168 -0
- package/src/hooks/__tests__/use-run-detail.test.ts +273 -0
- package/src/hooks/__tests__/use-smart-polling.test.ts +305 -0
- package/src/hooks/use-animated-number.ts +87 -0
- package/src/hooks/use-batched-updates.ts +150 -0
- package/src/hooks/use-event-stream.ts +150 -0
- package/src/hooks/use-keyboard.ts +45 -0
- package/src/hooks/use-notifications.ts +82 -0
- package/src/hooks/use-persisted-state.ts +60 -0
- package/src/hooks/use-polling.ts +60 -0
- package/src/hooks/use-project-runs.ts +51 -0
- package/src/hooks/use-projects.ts +26 -0
- package/src/hooks/use-run-dashboard.ts +207 -0
- package/src/hooks/use-run-detail.ts +77 -0
- package/src/hooks/use-smart-polling.ts +144 -0
- package/src/lib/.gitkeep +0 -0
- package/src/lib/__tests__/cn.test.ts +69 -0
- package/src/lib/__tests__/config-loader.test.ts +210 -0
- package/src/lib/__tests__/config.test.ts +561 -0
- package/src/lib/__tests__/error-handler.test.ts +143 -0
- package/src/lib/__tests__/fetcher.test.ts +517 -0
- package/src/lib/__tests__/global-registry.test.ts +214 -0
- package/src/lib/__tests__/parser.test.ts +1532 -0
- package/src/lib/__tests__/path-resolver.test.ts +112 -0
- package/src/lib/__tests__/run-cache.test.ts +591 -0
- package/src/lib/__tests__/server-init.test.ts +512 -0
- package/src/lib/__tests__/source-discovery.test.ts +246 -0
- package/src/lib/__tests__/utils.test.ts +160 -0
- package/src/lib/__tests__/watcher.test.ts +227 -0
- package/src/lib/cn.ts +6 -0
- package/src/lib/config-loader.ts +195 -0
- package/src/lib/config.ts +20 -0
- package/src/lib/error-handler.ts +76 -0
- package/src/lib/fetcher.ts +394 -0
- package/src/lib/global-registry.ts +117 -0
- package/src/lib/parser.ts +794 -0
- package/src/lib/path-resolver.ts +16 -0
- package/src/lib/run-cache.ts +404 -0
- package/src/lib/server-init.ts +226 -0
- package/src/lib/services/__tests__/run-query-service.test.ts +819 -0
- package/src/lib/services/run-query-service.ts +286 -0
- package/src/lib/source-discovery.ts +216 -0
- package/src/lib/utils.ts +103 -0
- package/src/lib/watcher.ts +265 -0
- package/src/test/fixtures.ts +269 -0
- package/src/test/mocks/handlers.ts +110 -0
- package/src/test/mocks/server.ts +17 -0
- package/src/test/setup.ts +200 -0
- package/src/test/test-utils.tsx +36 -0
- package/src/types/.gitkeep +0 -0
- package/src/types/breakpoint.ts +17 -0
- package/src/types/index.ts +214 -0
- package/tsconfig.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0x6y7yt4kiddp.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0ze4gu236oq96.js"/><script src="/_next/static/chunks/10qd__0r7a~.l.js" async=""></script><script src="/_next/static/chunks/144kcri75qczu.js" async=""></script><script src="/_next/static/chunks/0mstyq17cbf8-.js" async=""></script><script src="/_next/static/chunks/07uz2g0_38qia.js" async=""></script><script src="/_next/static/chunks/08nqnwvixoxnk.js" async=""></script><script src="/_next/static/chunks/turbopack-0-ww6fe7b37qt.js" async=""></script><script src="/_next/static/chunks/03mo-6~4pxdio.js" async=""></script><script src="/_next/static/chunks/0e_wyjw3nx.a..js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><script src="/_next/static/chunks/170fc9ko4~0_4.js" async=""></script><meta name="robots" content="noindex"/><meta name="theme-color" content="#0a0a0b"/><title>Babysitter Observer | a5c.ai</title><meta name="description" content="Real-time observability for babysitter orchestration runs"/><link rel="icon" href="/icon.svg"/><script>(function(){try{var t=localStorage.getItem("observer-theme");if(t==="light"||t==="dark"){document.documentElement.setAttribute("data-theme",t);document.documentElement.className=t}else{document.documentElement.setAttribute("data-theme","dark");document.documentElement.className="dark"}}catch(e){}})()</script><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="min-h-screen bg-background text-foreground antialiased"><div hidden=""><!--$--><!--/$--></div><div class="relative flex min-h-screen flex-col"><div class="flex flex-col min-h-screen"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-[100] focus:px-4 focus:py-2 focus:bg-primary focus:text-primary-foreground focus:rounded-md">Skip to main content</a><header class="sticky top-0 z-30 border-b border-border bg-background/80 backdrop-blur-md"><div class="mx-auto max-w-[1600px] px-6 py-3 flex items-center gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-5 w-5 text-primary"><path d="M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"></path><circle cx="12" cy="12" r="3"></circle></svg><h1 class="text-base font-semibold"><a class="text-foreground hover:text-primary transition-colors" href="/">Babysitter Observer</a></h1><a href="https://www.a5c.ai/" target="_blank" rel="noopener noreferrer" class="text-xs leading-tight font-medium text-primary/60 hover:text-primary transition-colors hidden sm:block">a5c.ai</a><a href="https://github.com/a5c-ai/babysitter" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-1 text-xs text-foreground-muted hover:text-foreground-secondary transition-colors hidden sm:block" title="Babysitter on GitHub"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github h-3.5 w-3.5"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></a><span class="text-xs text-foreground-muted hidden md:block">Real-time orchestration dashboard</span><div class="ml-auto flex items-center gap-1.5"><span data-testid="sse-status" role="status" aria-live="polite" class="inline-flex items-center gap-1.5 rounded-full px-2.5 py-1 text-xs font-medium mr-1 transition-all bg-error/10 text-error border border-error/20" title="Live updates disconnected"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wifi-off h-3 w-3"><path d="M12 20h.01"></path><path d="M8.5 16.429a5 5 0 0 1 7 0"></path><path d="M5 12.859a10 10 0 0 1 5.17-2.69"></path><path d="M19 12.859a10 10 0 0 0-2.007-1.523"></path><path d="M2 8.82a15 15 0 0 1 4.177-2.643"></path><path d="M22 8.82a15 15 0 0 0-11.288-3.764"></path><path d="m2 2 20 20"></path></svg><span class="hidden sm:inline">Offline</span></span><button data-testid="notification-bell" class="relative rounded-md p-2 min-h-[44px] min-w-[44px] flex items-center justify-center text-foreground-muted hover:text-foreground-secondary hover:bg-background-secondary transition-colors" title="Notifications" aria-label="Notifications"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell h-4 w-4"><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"></path><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"></path></svg></button><button class="rounded-md p-2 min-h-[44px] min-w-[44px] flex items-center justify-center text-foreground-muted hover:text-foreground-secondary hover:bg-background-secondary transition-colors" title="Keyboard shortcuts" aria-label="Keyboard shortcuts"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-help-circle h-4 w-4"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path></svg></button><button class="rounded-md p-2 min-h-[44px] min-w-[44px] flex items-center justify-center text-foreground-muted hover:text-foreground-secondary hover:bg-background-secondary transition-colors" title="Settings" aria-label="Settings"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg></button><button data-testid="theme-toggle" class="rounded-md p-2 min-h-[44px] min-w-[44px] flex items-center justify-center text-foreground-muted hover:text-foreground-secondary hover:bg-background-secondary transition-colors" title="Switch to light theme" aria-label="Switch to light theme"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun h-4 w-4"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg></button></div></div></header><main id="main-content" class="flex-1 flex flex-col"><div class="flex min-h-[60vh] flex-col items-center justify-center gap-4 text-center"><h2 class="text-2xl font-semibold">Page Not Found</h2><p class="text-foreground-muted">The page you are looking for does not exist.</p><a class="rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors" href="/">Back to Dashboard</a></div><!--$--><!--/$--></main><footer class="border-t border-border bg-background/80 backdrop-blur-sm"><div class="mx-auto max-w-[1600px] px-6 py-3 flex flex-wrap items-center justify-between gap-3 text-xs text-foreground-muted"><div class="flex items-center gap-3 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3.5 w-3.5 text-primary/40"><path d="M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="font-medium">Babysitter Observer<!-- --> <span class="rounded-full bg-primary/10 border border-primary/20 px-1.5 py-px text-[10px] font-medium text-primary tabular-nums">v<!-- -->5.0.1-staging.05ee168a</span></span><span class="text-foreground-muted/30 select-none">·</span><span class="text-xs font-normal text-foreground-muted">Babysitter<!-- --> <span class="rounded-full bg-muted/50 border border-border px-1.5 py-px text-[10px] font-normal text-foreground-muted tabular-nums">v<!-- -->…</span></span></div><div class="flex items-center gap-4"><a href="https://github.com/a5c-ai/babysitter/tree/main/packages/observer-dashboard#readme" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-1 hover:text-foreground-secondary transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github h-3 w-3"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg>Docs</a><a href="https://github.com/a5c-ai/babysitter" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-1 hover:text-foreground-secondary transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github h-3 w-3"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg>Babysitter</a><a href="https://www.a5c.ai/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-1 hover:text-primary transition-colors">a5c.ai<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link h-3 w-3"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg></a></div></div></footer></div><div role="log" aria-live="assertive" aria-label="Notifications" data-testid="toast-stack" class="fixed bottom-4 right-4 z-50 flex flex-col gap-2 max-w-sm"></div></div><script src="/_next/static/chunks/0ze4gu236oq96.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[93649,[\"/_next/static/chunks/03mo-6~4pxdio.js\",\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/170fc9ko4~0_4.js\"],\"ErrorBoundary\"]\n3:I[13722,[\"/_next/static/chunks/03mo-6~4pxdio.js\",\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/170fc9ko4~0_4.js\"],\"Providers\"]\n4:I[39756,[\"/_next/static/chunks/03mo-6~4pxdio.js\",\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/170fc9ko4~0_4.js\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/03mo-6~4pxdio.js\",\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/170fc9ko4~0_4.js\"],\"default\"]\n6:I[22016,[\"/_next/static/chunks/03mo-6~4pxdio.js\",\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/170fc9ko4~0_4.js\"],\"\"]\n7:I[97367,[\"/_next/static/chunks/03mo-6~4pxdio.js\",\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/170fc9ko4~0_4.js\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/03mo-6~4pxdio.js\",\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/170fc9ko4~0_4.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/03mo-6~4pxdio.js\",\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/170fc9ko4~0_4.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/03mo-6~4pxdio.js\",\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/170fc9ko4~0_4.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0x6y7yt4kiddp.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0x6y7yt4kiddp.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/03mo-6~4pxdio.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/170fc9ko4~0_4.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"content\":\"#0a0a0b\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"observer-theme\\\");if(t===\\\"light\\\"||t===\\\"dark\\\"){document.documentElement.setAttribute(\\\"data-theme\\\",t);document.documentElement.className=t}else{document.documentElement.setAttribute(\\\"data-theme\\\",\\\"dark\\\");document.documentElement.className=\\\"dark\\\"}}catch(e){}})()\"}}]]}],[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background text-foreground antialiased\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative flex min-h-screen flex-col\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-[60vh] flex-col items-center justify-center gap-4 text-center\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-semibold\",\"children\":\"Page Not Found\"}],[\"$\",\"p\",null,{\"className\":\"text-foreground-muted\",\"children\":\"The page you are looking for does not exist.\"}],[\"$\",\"$L6\",null,{\"href\":\"/\",\"className\":\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors\",\"children\":\"Back to Dashboard\"}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-[60vh] flex-col items-center justify-center gap-4 text-center\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-semibold\",\"children\":\"Page Not Found\"}],[\"$\",\"p\",null,{\"className\":\"text-foreground-muted\",\"children\":\"The page you are looking for does not exist.\"}],[\"$\",\"$L6\",null,{\"href\":\"/\",\"className\":\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors\",\"children\":\"Back to Dashboard\"}]]}],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$@a\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0x6y7yt4kiddp.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"EABLIK_sdQGd8BsGP793M\"}\n"])</script><script>self.__next_f.push([1,"10:[]\na:\"$W10\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[27201,[\"/_next/static/chunks/03mo-6~4pxdio.js\",\"/_next/static/chunks/0e_wyjw3nx.a..js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/170fc9ko4~0_4.js\"],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Babysitter Observer | a5c.ai\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Real-time observability for babysitter orchestration runs\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.svg\"}],[\"$\",\"$L11\",\"3\",{}]]\n"])</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0ze4gu236oq96.js"/><script src="/_next/static/chunks/10qd__0r7a~.l.js" async=""></script><script src="/_next/static/chunks/144kcri75qczu.js" async=""></script><script src="/_next/static/chunks/0mstyq17cbf8-.js" async=""></script><script src="/_next/static/chunks/07uz2g0_38qia.js" async=""></script><script src="/_next/static/chunks/08nqnwvixoxnk.js" async=""></script><script src="/_next/static/chunks/turbopack-0-ww6fe7b37qt.js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><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)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0ze4gu236oq96.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"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)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"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)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"EABLIK_sdQGd8BsGP793M\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {\n \"701608e6b4ba3d1d98216ed1071673a54ce642a4e6\": {\n \"workers\": {\n \"app/page\": {\n \"moduleId\": 18031,\n \"async\": false,\n \"exportedName\": \"approveBreakpoint\",\n \"filename\": \"packages/observer-dashboard/src/app/actions/approve-breakpoint.ts\"\n },\n \"app/runs/[runId]/page\": {\n \"moduleId\": 28978,\n \"async\": false,\n \"exportedName\": \"approveBreakpoint\",\n \"filename\": \"packages/observer-dashboard/src/app/actions/approve-breakpoint.ts\"\n }\n },\n \"filename\": \"packages/observer-dashboard/src/app/actions/approve-breakpoint.ts\",\n \"exportedName\": \"approveBreakpoint\"\n }\n },\n \"edge\": {},\n \"encryptionKey\": \"5B8NT9F+UdIsnztRxztQGQfhamHbaKLyzcra6hszBQ0=\"\n}"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": {
|
|
3
|
+
"701608e6b4ba3d1d98216ed1071673a54ce642a4e6": {
|
|
4
|
+
"workers": {
|
|
5
|
+
"app/page": {
|
|
6
|
+
"moduleId": 18031,
|
|
7
|
+
"async": false,
|
|
8
|
+
"exportedName": "approveBreakpoint",
|
|
9
|
+
"filename": "packages/observer-dashboard/src/app/actions/approve-breakpoint.ts"
|
|
10
|
+
},
|
|
11
|
+
"app/runs/[runId]/page": {
|
|
12
|
+
"moduleId": 28978,
|
|
13
|
+
"async": false,
|
|
14
|
+
"exportedName": "approveBreakpoint",
|
|
15
|
+
"filename": "packages/observer-dashboard/src/app/actions/approve-breakpoint.ts"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"filename": "packages/observer-dashboard/src/app/actions/approve-breakpoint.ts",
|
|
19
|
+
"exportedName": "approveBreakpoint"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"edge": {},
|
|
23
|
+
"encryptionKey": "5B8NT9F+UdIsnztRxztQGQfhamHbaKLyzcra6hszBQ0="
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__MIDDLEWARE_MATCHERS = [];self.__MIDDLEWARE_MATCHERS_CB && self.__MIDDLEWARE_MATCHERS_CB()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()
|
|
@@ -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(31516);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 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},18967,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={DecodeError:function(){return P},MiddlewareNotFoundError:function(){return O},MissingStaticPage:function(){return h},NormalizeError:function(){return E},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return y},WEB_VITALS:function(){return i},execOnce:function(){return u},getDisplayName:function(){return l},getLocationOrigin:function(){return c},getURL:function(){return f},isAbsoluteUrl:function(){return a},isResSent:function(){return d},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return N}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function u(e){let r,t=!1;return(...n)=>(t||(t=!0,r=e(...n)),r)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>s.test(e);function c(){let{protocol:e,hostname:r,port:t}=window.location;return`${e}//${r}${t?":"+t:""}`}function f(){let{href:e}=window.location,r=c();return e.substring(r.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let r=e.split("?");return r[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?`?${r.slice(1).join("?")}`:"")}async function g(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await g(r.Component,r.ctx)}:{};let n=await e.getInitialProps(r);if(t&&d(t))return n;if(!n)throw Object.defineProperty(Error(`"${l(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let m="u">typeof performance,y=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class P extends Error{}class E extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class h extends Error{constructor(e,r){super(),this.message=`Failed to load static file for page: ${e} ${r}`}}class O extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function N(e){return JSON.stringify({message:e.message,stack:e.stack})}},98183,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={assign:function(){return a},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});function i(e){let r={};for(let[t,n]of e.entries()){let e=r[t];void 0===e?r[t]=n:Array.isArray(e)?e.push(n):r[t]=[e,n]}return r}function u(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let r=new URLSearchParams;for(let[t,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)r.append(t,u(e));else r.set(t,u(n));return r}function a(e,...r){for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,77297,e=>{"use strict";let r=(0,e.i(21255).default)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);e.s(["ChevronUp",0,r],77297)},34214,e=>{"use strict";var r=e.i(43476),t=e.i(71645),n=e.i(48425),o=e.i(96626),a=e.i(30030),l=e.i(20783),s=e.i(30207),i=e.i(86318),c=e.i(34620),d=e.i(81140),u="ScrollArea",[p,h]=(0,a.createContextScope)(u),[m,f]=p(u),g=t.forwardRef((e,o)=>{let{__scopeScrollArea:a,type:s="hover",dir:c,scrollHideDelay:d=600,...u}=e,[p,h]=t.useState(null),[f,g]=t.useState(null),[w,x]=t.useState(null),[v,b]=t.useState(null),[y,j]=t.useState(null),[C,k]=t.useState(0),[S,N]=t.useState(0),[E,T]=t.useState(!1),[R,P]=t.useState(!1),L=(0,l.useComposedRefs)(o,e=>h(e)),A=(0,i.useDirection)(c);return(0,r.jsx)(m,{scope:a,type:s,dir:A,scrollHideDelay:d,scrollArea:p,viewport:f,onViewportChange:g,content:w,onContentChange:x,scrollbarX:v,onScrollbarXChange:b,scrollbarXEnabled:E,onScrollbarXEnabledChange:T,scrollbarY:y,onScrollbarYChange:j,scrollbarYEnabled:R,onScrollbarYEnabledChange:P,onCornerWidthChange:k,onCornerHeightChange:N,children:(0,r.jsx)(n.Primitive.div,{dir:A,...u,ref:L,style:{position:"relative","--radix-scroll-area-corner-width":C+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});g.displayName=u;var w="ScrollAreaViewport",x=t.forwardRef((e,o)=>{let{__scopeScrollArea:a,children:s,nonce:i,...c}=e,d=f(w,a),u=t.useRef(null),p=(0,l.useComposedRefs)(o,u,d.onViewportChange);return(0,r.jsxs)(r.Fragment,{children:[(0,r.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,r.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,r.jsx)("div",{ref:d.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})});x.displayName=w;var v="ScrollAreaScrollbar",b=t.forwardRef((e,n)=>{let{forceMount:o,...a}=e,l=f(v,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:i}=l,c="horizontal"===e.orientation;return t.useEffect(()=>(c?s(!0):i(!0),()=>{c?s(!1):i(!1)}),[c,s,i]),"hover"===l.type?(0,r.jsx)(y,{...a,ref:n,forceMount:o}):"scroll"===l.type?(0,r.jsx)(j,{...a,ref:n,forceMount:o}):"auto"===l.type?(0,r.jsx)(C,{...a,ref:n,forceMount:o}):"always"===l.type?(0,r.jsx)(k,{...a,ref:n}):null});b.displayName=v;var y=t.forwardRef((e,n)=>{let{forceMount:a,...l}=e,s=f(v,e.__scopeScrollArea),[i,c]=t.useState(!1);return t.useEffect(()=>{let e=s.scrollArea,r=0;if(e){let t=()=>{window.clearTimeout(r),c(!0)},n=()=>{r=window.setTimeout(()=>c(!1),s.scrollHideDelay)};return e.addEventListener("pointerenter",t),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",t),e.removeEventListener("pointerleave",n)}}},[s.scrollArea,s.scrollHideDelay]),(0,r.jsx)(o.Presence,{present:a||i,children:(0,r.jsx)(C,{"data-state":i?"visible":"hidden",...l,ref:n})})}),j=t.forwardRef((e,n)=>{var a;let{forceMount:l,...s}=e,i=f(v,e.__scopeScrollArea),c="horizontal"===e.orientation,u=U(()=>h("SCROLL_END"),100),[p,h]=(a={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},t.useReducer((e,r)=>a[e][r]??e,"hidden"));return t.useEffect(()=>{if("idle"===p){let e=window.setTimeout(()=>h("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[p,i.scrollHideDelay,h]),t.useEffect(()=>{let e=i.viewport,r=c?"scrollLeft":"scrollTop";if(e){let t=e[r],n=()=>{let n=e[r];t!==n&&(h("SCROLL"),u()),t=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[i.viewport,c,h,u]),(0,r.jsx)(o.Presence,{present:l||"hidden"!==p,children:(0,r.jsx)(k,{"data-state":"hidden"===p?"hidden":"visible",...s,ref:n,onPointerEnter:(0,d.composeEventHandlers)(e.onPointerEnter,()=>h("POINTER_ENTER")),onPointerLeave:(0,d.composeEventHandlers)(e.onPointerLeave,()=>h("POINTER_LEAVE"))})})}),C=t.forwardRef((e,n)=>{let a=f(v,e.__scopeScrollArea),{forceMount:l,...s}=e,[i,c]=t.useState(!1),d="horizontal"===e.orientation,u=U(()=>{if(a.viewport){let e=a.viewport.offsetWidth<a.viewport.scrollWidth,r=a.viewport.offsetHeight<a.viewport.scrollHeight;c(d?e:r)}},10);return B(a.viewport,u),B(a.content,u),(0,r.jsx)(o.Presence,{present:l||i,children:(0,r.jsx)(k,{"data-state":i?"visible":"hidden",...s,ref:n})})}),k=t.forwardRef((e,n)=>{let{orientation:o="vertical",...a}=e,l=f(v,e.__scopeScrollArea),s=t.useRef(null),i=t.useRef(0),[c,d]=t.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=z(c.viewport,c.content),p={...a,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>s.current=e,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:e=>i.current=e};function h(e,r){return function(e,r,t,n="ltr"){let o=M(t),a=r||o/2,l=t.scrollbar.paddingStart+a,s=t.scrollbar.size-t.scrollbar.paddingEnd-(o-a),i=t.content-t.viewport;return W([l,s],"ltr"===n?[0,i]:[-1*i,0])(e)}(e,i.current,c,r)}return"horizontal"===o?(0,r.jsx)(S,{...p,ref:n,onThumbPositionChange:()=>{if(l.viewport&&s.current){let e=O(l.viewport.scrollLeft,c,l.dir);s.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollLeft=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollLeft=h(e,l.dir))}}):"vertical"===o?(0,r.jsx)(N,{...p,ref:n,onThumbPositionChange:()=>{if(l.viewport&&s.current){let e=O(l.viewport.scrollTop,c);s.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollTop=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollTop=h(e))}}):null}),S=t.forwardRef((e,n)=>{let{sizes:o,onSizesChange:a,...s}=e,i=f(v,e.__scopeScrollArea),[c,d]=t.useState(),u=t.useRef(null),p=(0,l.useComposedRefs)(n,u,i.onScrollbarXChange);return t.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,r.jsx)(R,{"data-orientation":"horizontal",...s,ref:p,sizes:o,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":M(o)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(i.viewport){var n,o;let a=i.viewport.scrollLeft+r.deltaX;e.onWheelScroll(a),n=a,o=t,n>0&&n<o&&r.preventDefault()}},onResize:()=>{u.current&&i.viewport&&c&&a({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:H(c.paddingLeft),paddingEnd:H(c.paddingRight)}})}})}),N=t.forwardRef((e,n)=>{let{sizes:o,onSizesChange:a,...s}=e,i=f(v,e.__scopeScrollArea),[c,d]=t.useState(),u=t.useRef(null),p=(0,l.useComposedRefs)(n,u,i.onScrollbarYChange);return t.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,r.jsx)(R,{"data-orientation":"vertical",...s,ref:p,sizes:o,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":M(o)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(i.viewport){var n,o;let a=i.viewport.scrollTop+r.deltaY;e.onWheelScroll(a),n=a,o=t,n>0&&n<o&&r.preventDefault()}},onResize:()=>{u.current&&i.viewport&&c&&a({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:H(c.paddingTop),paddingEnd:H(c.paddingBottom)}})}})}),[E,T]=p(v),R=t.forwardRef((e,o)=>{let{__scopeScrollArea:a,sizes:i,hasThumb:c,onThumbChange:u,onThumbPointerUp:p,onThumbPointerDown:h,onThumbPositionChange:m,onDragScroll:g,onWheelScroll:w,onResize:x,...b}=e,y=f(v,a),[j,C]=t.useState(null),k=(0,l.useComposedRefs)(o,e=>C(e)),S=t.useRef(null),N=t.useRef(""),T=y.viewport,R=i.content-i.viewport,P=(0,s.useCallbackRef)(w),L=(0,s.useCallbackRef)(m),A=U(x,10);function D(e){S.current&&g({x:e.clientX-S.current.left,y:e.clientY-S.current.top})}return t.useEffect(()=>{let e=e=>{let r=e.target;j?.contains(r)&&P(e,R)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[T,j,R,P]),t.useEffect(L,[i,L]),B(j,A),B(y.content,A),(0,r.jsx)(E,{scope:a,scrollbar:j,hasThumb:c,onThumbChange:(0,s.useCallbackRef)(u),onThumbPointerUp:(0,s.useCallbackRef)(p),onThumbPositionChange:L,onThumbPointerDown:(0,s.useCallbackRef)(h),children:(0,r.jsx)(n.Primitive.div,{...b,ref:k,style:{position:"absolute",...b.style},onPointerDown:(0,d.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),S.current=j.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",y.viewport&&(y.viewport.style.scrollBehavior="auto"),D(e))}),onPointerMove:(0,d.composeEventHandlers)(e.onPointerMove,D),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,e=>{let r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=N.current,y.viewport&&(y.viewport.style.scrollBehavior=""),S.current=null})})})}),P="ScrollAreaThumb",L=t.forwardRef((e,t)=>{let{forceMount:n,...a}=e,l=T(P,e.__scopeScrollArea);return(0,r.jsx)(o.Presence,{present:n||l.hasThumb,children:(0,r.jsx)(A,{ref:t,...a})})}),A=t.forwardRef((e,o)=>{let{__scopeScrollArea:a,style:s,...i}=e,c=f(P,a),u=T(P,a),{onThumbPositionChange:p}=u,h=(0,l.useComposedRefs)(o,e=>u.onThumbChange(e)),m=t.useRef(void 0),g=U(()=>{m.current&&(m.current(),m.current=void 0)},100);return t.useEffect(()=>{let e=c.viewport;if(e){let r=()=>{g(),m.current||(m.current=I(e,p),p())};return p(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[c.viewport,g,p]),(0,r.jsx)(n.Primitive.div,{"data-state":u.hasThumb?"visible":"hidden",...i,ref:h,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...s},onPointerDownCapture:(0,d.composeEventHandlers)(e.onPointerDownCapture,e=>{let r=e.target.getBoundingClientRect(),t=e.clientX-r.left,n=e.clientY-r.top;u.onThumbPointerDown({x:t,y:n})}),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,u.onThumbPointerUp)})});L.displayName=P;var D="ScrollAreaCorner";t.forwardRef((e,t)=>{let n=f(D,e.__scopeScrollArea),o=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&o?(0,r.jsx)(_,{...e,ref:t}):null}).displayName=D;var _=t.forwardRef((e,o)=>{let{__scopeScrollArea:a,...l}=e,s=f(D,a),[i,c]=t.useState(0),[d,u]=t.useState(0),p=!!(i&&d);return B(s.scrollbarX,()=>{let e=s.scrollbarX?.offsetHeight||0;s.onCornerHeightChange(e),u(e)}),B(s.scrollbarY,()=>{let e=s.scrollbarY?.offsetWidth||0;s.onCornerWidthChange(e),c(e)}),p?(0,r.jsx)(n.Primitive.div,{...l,ref:o,style:{width:i,height:d,position:"absolute",right:"ltr"===s.dir?0:void 0,left:"rtl"===s.dir?0:void 0,bottom:0,...e.style}}):null});function H(e){return e?parseInt(e,10):0}function z(e,r){let t=e/r;return isNaN(t)?0:t}function M(e){let r=z(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-t)*r,18)}function O(e,r,t="ltr"){let n=M(r),o=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,a=r.scrollbar.size-o,l=r.content-r.viewport,s=function(e,[r,t]){return Math.min(t,Math.max(r,e))}(e,"ltr"===t?[0,l]:[-1*l,0]);return W([0,l],[0,a-n])(s)}function W(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];let n=(r[1]-r[0])/(e[1]-e[0]);return r[0]+n*(t-e[0])}}var I=(e,r=()=>{})=>{let t={left:e.scrollLeft,top:e.scrollTop},n=0;return!function o(){let a={left:e.scrollLeft,top:e.scrollTop},l=t.left!==a.left,s=t.top!==a.top;(l||s)&&r(),t=a,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function U(e,r){let n=(0,s.useCallbackRef)(e),o=t.useRef(0);return t.useEffect(()=>()=>window.clearTimeout(o.current),[]),t.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(n,r)},[n,r])}function B(e,r){let t=(0,s.useCallbackRef)(r);(0,c.useLayoutEffect)(()=>{let r=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return n.observe(e),()=>{window.cancelAnimationFrame(r),n.unobserve(e)}}},[e,t])}var X=e.i(73172);let Y=t.forwardRef(function({className:e,children:t,...n},o){return(0,r.jsxs)(g,{ref:o,className:(0,X.cn)("relative overflow-hidden",e),...n,children:[(0,r.jsx)(x,{className:"h-full w-full rounded-[inherit]",children:t}),(0,r.jsx)(b,{orientation:"vertical",className:"flex touch-none select-none p-0.5 transition-colors data-[orientation=vertical]:w-2",children:(0,r.jsx)(L,{className:"relative flex-1 rounded-full bg-primary/20 hover:bg-primary/35 transition-colors duration-200"})})]})});e.s(["ScrollArea",0,Y],34214)},29235,e=>{"use strict";let r=(0,e.i(21255).default)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",0,r],29235)},65215,e=>{"use strict";let r=(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,r],65215)},38170,e=>{"use strict";var r=e.i(43476),t=e.i(73172),n=e.i(77051),o=e.i(68842),a=e.i(49201),l=e.i(27214),s=e.i(23406);let i=(0,e.i(21255).default)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var c=e.i(6790);let d="h-3.5 w-3.5",u={completed:{variant:"success",icon:(0,r.jsx)(o.CheckCircle2,{className:(0,t.cn)(d,"drop-shadow-[var(--drop-glow-success)]")}),label:"Completed",extraClass:"ring-success/30 shadow-neon-glow-success-sm"},resolved:{variant:"success",icon:(0,r.jsx)(o.CheckCircle2,{className:(0,t.cn)(d,"drop-shadow-[var(--drop-glow-success)]")}),label:"Done",extraClass:"ring-success/30 shadow-neon-glow-success-sm"},ok:{variant:"success",icon:(0,r.jsx)(o.CheckCircle2,{className:(0,t.cn)(d,"drop-shadow-[var(--drop-glow-success)]")}),label:"OK",extraClass:"ring-success/30 shadow-neon-glow-success-sm"},failed:{variant:"error",icon:(0,r.jsx)(a.XCircle,{className:(0,t.cn)(d,"drop-shadow-[var(--drop-glow-error)]")}),label:"Failed",extraClass:"ring-error/30 shadow-neon-glow-error-sm"},error:{variant:"error",icon:(0,r.jsx)(a.XCircle,{className:(0,t.cn)(d,"drop-shadow-[var(--drop-glow-error)]")}),label:"Error",extraClass:"ring-error/30 shadow-neon-glow-error-sm"},waiting:{variant:"warning",icon:(0,r.jsx)(l.Clock,{className:(0,t.cn)(d,"drop-shadow-[var(--drop-glow-warning)]")}),label:"Waiting",extraClass:"ring-warning/30 shadow-neon-glow-warning-sm"},waiting_breakpoint:{variant:"warning",icon:(0,r.jsx)(c.Hand,{className:(0,t.cn)(d,"animate-pulse drop-shadow-[var(--drop-glow-warning)]")}),label:"Approval Needed",extraClass:"ring-warning/40 animate-breakpoint-glow"},waiting_task:{variant:"info",icon:(0,r.jsx)(s.Loader2,{className:(0,t.cn)(d,"animate-spin drop-shadow-[var(--drop-glow-cyan)]")}),label:"Working",extraClass:"ring-info/30 shadow-neon-glow-cyan-sm"},breakpoint_awaiting:{variant:"warning",icon:(0,r.jsx)(c.Hand,{className:(0,t.cn)(d,"animate-pulse drop-shadow-[var(--drop-glow-warning)]")}),label:"Needs Approval",extraClass:"ring-warning/40 animate-breakpoint-glow"},requested:{variant:"info",icon:(0,r.jsx)(s.Loader2,{className:(0,t.cn)(d,"animate-spin drop-shadow-[var(--drop-glow-cyan)]")}),label:"Running",extraClass:"ring-info/30 shadow-neon-glow-cyan-sm"},pending:{variant:"pending",icon:(0,r.jsx)(i,{className:d}),label:"Pending"}};e.s(["StatusBadge",0,function({status:e,className:o,waitingKind:a,isStale:l}){let s=u[e]||u.pending;return"waiting"===e&&a&&(s=u[`waiting_${a}`]||s),(0,r.jsxs)(n.Badge,{"data-testid":`status-badge-${e}`,variant:l?"default":s.variant,className:(0,t.cn)("gap-1",l?"opacity-60 text-zinc-500 ring-zinc-500/20 bg-zinc-500/10 shadow-none":s.extraClass,o),children:[s.icon,l&&("pending"===e||"waiting"===e&&!a)?"Interrupted":s.label]})}],38170)},35557,e=>{"use strict";let r=(0,e.i(21255).default)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);e.s(["Terminal",0,r],35557)},1349,e=>{"use strict";var r=e.i(43476),t=e.i(73172),n=e.i(21255);let o=(0,n.default)("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var a=e.i(35557);let l=(0,n.default)("Puzzle",[["path",{d:"M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 0 1-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 1 0-3.214 3.214c.446.166.855.497.925.968a.979.979 0 0 1-.276.837l-1.61 1.61a2.404 2.404 0 0 1-1.705.707 2.402 2.402 0 0 1-1.704-.706l-1.568-1.568a1.026 1.026 0 0 0-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 1 1-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 0 0-.289-.877l-1.568-1.568A2.402 2.402 0 0 1 1.998 12c0-.617.236-1.234.706-1.704L4.23 8.77c.24-.24.581-.353.917-.303.515.077.877.528 1.073 1.01a2.5 2.5 0 1 0 3.259-3.259c-.482-.196-.933-.558-1.01-1.073-.05-.336.062-.676.303-.917l1.525-1.525A2.402 2.402 0 0 1 12 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 1 1 3.237 3.237c-.464.18-.894.527-.967 1.02Z",key:"i0oyt7"}]]);var s=e.i(6790),i=e.i(27214);let c=(0,n.default)("Cog",[["path",{d:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z",key:"sobvz5"}],["path",{d:"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",key:"11i496"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}]]),d={agent:{icon:(0,r.jsx)(o,{className:"h-3 w-3"}),color:"text-primary",bgTint:"bg-primary-muted"},node:{icon:(0,r.jsx)(c,{className:"h-3 w-3"}),color:"text-warning",bgTint:"bg-warning-muted"},shell:{icon:(0,r.jsx)(a.Terminal,{className:"h-3 w-3"}),color:"text-foreground-secondary",bgTint:"bg-background-secondary"},skill:{icon:(0,r.jsx)(l,{className:"h-3 w-3"}),color:"text-info",bgTint:"bg-info-muted"},breakpoint:{icon:(0,r.jsx)(s.Hand,{className:"h-3 w-3"}),color:"text-warning",bgTint:"bg-warning-muted"},sleep:{icon:(0,r.jsx)(i.Clock,{className:"h-3 w-3"}),color:"text-foreground-muted",bgTint:"bg-background-secondary"}};e.s(["KindBadge",0,function({kind:e,className:n}){let o=d[e]||d.agent;return(0,r.jsxs)("span",{className:(0,t.cn)("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs leading-tight font-medium uppercase tracking-wider",o.bgTint,o.color,n),children:[o.icon,"breakpoint"===e?"approval":e]})}],1349)},46256,e=>{"use strict";var r=e.i(43476),t=e.i(71645),n=e.i(65215),o=e.i(86752),a=e.i(29235),l=e.i(77297),s=e.i(34214),i=e.i(38170),c=e.i(1349),d=e.i(46519);function u({text:e}){let[a,l]=(0,t.useState)(!1),s=(0,t.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{l(!0),setTimeout(()=>l(!1),1500)})},[e]);return(0,r.jsx)("button",{type:"button",onClick:s,className:"inline-flex items-center justify-center h-6 w-6 rounded text-foreground-muted hover:text-primary hover:bg-primary-muted transition-colors",title:"Copy to clipboard",children:a?(0,r.jsx)(o.Check,{className:"h-3 w-3 text-success"}):(0,r.jsx)(n.Copy,{className:"h-3 w-3"})})}function p({children:e}){return(0,r.jsx)("h4",{className:"text-xs font-medium text-foreground-muted tracking-wider mb-1.5 pl-2 border-l-2 border-primary",children:e})}function h({resultError:e,taskError:n}){let[o,a]=(0,t.useState)(!1),l=n?.name??(e?.name!=null?String(e.name):"Error"),s=n?.message??(e?.message!=null?String(e.message):"Unknown error"),i=n?.stack??(e?.stack!=null?String(e.stack):void 0);return(0,r.jsxs)("div",{children:[(0,r.jsx)(p,{children:"Error"}),(0,r.jsxs)("div",{className:"rounded-md bg-error-muted border border-error/30 border-l-[3px] border-l-error p-3 shadow-glow-error",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsxs)("p",{className:"text-sm font-medium text-error",children:[l,": ",s]}),(0,r.jsx)(u,{text:`${l}: ${s}`})]}),i&&(0,r.jsxs)("div",{className:"mt-2",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>a(e=>!e),className:"text-xs text-foreground-muted hover:text-foreground-secondary transition-colors flex items-center gap-1",children:[(0,r.jsx)("span",{className:"inline-block transition-transform",style:{transform:o?"rotate(90deg)":"rotate(0deg)"},children:"▶"}),"Stack Trace"]}),o&&(0,r.jsx)("pre",{className:"mt-2 rounded bg-background-secondary p-2 text-[11px] font-mono text-foreground-secondary overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap break-words",children:i})]})]})]})}function m({value:e}){let[n,o]=(0,t.useState)(!1),s=JSON.stringify(e,null,2),i=s.length>500,c=i&&!n?s.slice(0,500)+"\n...":s;return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,r.jsx)(p,{children:"Output"}),(0,r.jsx)(u,{text:s})]}),(0,r.jsx)("pre",{className:"rounded-md bg-background-secondary border border-border/50 p-3 text-xs font-mono text-secondary overflow-x-auto max-h-[60vh] overflow-y-auto",children:c}),i&&(0,r.jsxs)("button",{type:"button",onClick:()=>o(e=>!e),className:"mt-1.5 flex items-center gap-1 text-xs leading-tight text-foreground-muted hover:text-primary transition-colors",children:[n?(0,r.jsx)(l.ChevronUp,{className:"h-3 w-3"}):(0,r.jsx)(a.ChevronDown,{className:"h-3 w-3"}),n?"Collapse":`Expand (${s.length.toLocaleString()} chars)`]})]})}e.s(["AgentPanel",0,function({task:e}){if(!e)return(0,r.jsx)("div",{className:"p-4 text-sm text-foreground-muted",children:"Select a task to view details"});let t=e.taskDef||{},n=e.input||t.inputs||{},o=t.metadata,a=e.title||e.label||e.effectId,l=n.prd||n.description||n.task||n.prompt||o?.label||null,u=t.agent,f=u?.prompt,g=e.result,w=g?.status,x=g?.result||g?.value,v=g?.error;return(0,r.jsx)(s.ScrollArea,{className:"h-full",children:(0,r.jsxs)("div",{className:"space-y-4 p-4",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:String(a)}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(c.KindBadge,{kind:e.kind}),(0,r.jsx)(i.StatusBadge,{status:e.status})]}),e.invocationKey&&(0,r.jsx)(d.TruncatedId,{id:e.invocationKey,chars:4,className:"text-foreground-muted"})]}),"string"==typeof f?.role&&(0,r.jsxs)("div",{children:[(0,r.jsx)(p,{children:"Role"}),(0,r.jsx)("p",{className:"text-sm text-foreground",children:f.role})]}),"string"==typeof f?.task&&(0,r.jsxs)("div",{children:[(0,r.jsx)(p,{children:"Task"}),(0,r.jsx)("p",{className:"text-sm text-foreground",children:f.task})]}),Array.isArray(f?.instructions)&&(0,r.jsxs)("div",{children:[(0,r.jsx)(p,{children:"Instructions"}),(0,r.jsx)("ol",{className:"space-y-2",children:f.instructions.map((e,t)=>(0,r.jsxs)("li",{className:"flex items-start gap-2.5 text-sm text-foreground-secondary",children:[(0,r.jsx)("span",{className:"flex-shrink-0 flex items-center justify-center h-5 w-5 rounded-full bg-secondary-muted text-secondary text-xs leading-tight font-medium mt-px",children:t+1}),(0,r.jsx)("span",{className:"leading-relaxed",children:e})]},t))})]}),function(e,t){if(e||!t)return null;let n=t.length>500?t.slice(0,500)+"...":t;return(0,r.jsxs)("div",{children:[(0,r.jsx)(p,{children:"Description"}),(0,r.jsx)("p",{className:"text-sm text-foreground-secondary whitespace-pre-wrap break-words leading-relaxed",children:n})]})}(f,l),null!=w&&(0,r.jsxs)("div",{children:[(0,r.jsx)(p,{children:"Result"}),(0,r.jsx)("div",{className:"flex items-center gap-2 mb-2",children:(0,r.jsx)(i.StatusBadge,{status:"ok"===w?"resolved":"error"})})]}),(null!=v||null!=e.error)&&(0,r.jsx)(h,{resultError:v,taskError:e.error}),null!=x&&(0,r.jsx)(m,{value:x})]})})}])},97644,e=>{e.n(e.i(46256))}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,73172,7670,e=>{"use strict";function r(){for(var e,r,o=0,t="",n=arguments.length;o<n;o++)(e=arguments[o])&&(r=function e(r){var o,t,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var l=r.length;for(o=0;o<l;o++)r[o]&&(t=e(r[o]))&&(n&&(n+=" "),n+=t)}else for(t in r)r[t]&&(n&&(n+=" "),n+=t);return n}(e))&&(t&&(t+=" "),t+=r);return t}e.s(["clsx",0,r],7670);let o=(e,r)=>{if(0===e.length)return r.classGroupId;let t=e[0],n=r.nextPart.get(t),l=n?o(e.slice(1),n):void 0;if(l)return l;if(0===r.validators.length)return;let s=e.join("-");return r.validators.find(({validator:e})=>e(s))?.classGroupId},t=/^\[(.+)\]$/,n=(e,r,o,t)=>{e.forEach(e=>{if("string"==typeof e){(""===e?r:l(r,e)).classGroupId=o;return}"function"==typeof e?s(e)?n(e(t),r,o,t):r.validators.push({validator:e,classGroupId:o}):Object.entries(e).forEach(([e,s])=>{n(s,l(r,e),o,t)})})},l=(e,r)=>{let o=e;return r.split("-").forEach(e=>{o.nextPart.has(e)||o.nextPart.set(e,{nextPart:new Map,validators:[]}),o=o.nextPart.get(e)}),o},s=e=>e.isThemeGetter,a=(e,r)=>r?e.map(([e,o])=>[e,o.map(e=>"string"==typeof e?r+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,o])=>[r+e,o])):e)]):e,i=e=>{if(e.length<=1)return e;let r=[],o=[];return e.forEach(e=>{"["===e[0]?(r.push(...o.sort(),e),o=[]):o.push(e)}),r.push(...o.sort()),r},d=/\s+/;function c(){let e,r,o=0,t="";for(;o<arguments.length;)(e=arguments[o++])&&(r=p(e))&&(t&&(t+=" "),t+=r);return t}let p=e=>{let r;if("string"==typeof e)return e;let o="";for(let t=0;t<e.length;t++)e[t]&&(r=p(e[t]))&&(o&&(o+=" "),o+=r);return o},u=e=>{let r=r=>r[e]||[];return r.isThemeGetter=!0,r},b=/^\[(?:([a-z-]+):)?(.+)\]$/i,m=/^\d+\/\d+$/,g=new Set(["px","full","screen"]),f=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,h=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,x=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,y=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,w=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,v=e=>z(e)||g.has(e)||m.test(e),k=e=>I(e,"length",T),z=e=>!!e&&!Number.isNaN(Number(e)),j=e=>I(e,"number",z),C=e=>!!e&&Number.isInteger(Number(e)),P=e=>e.endsWith("%")&&z(e.slice(0,-1)),S=e=>b.test(e),G=e=>f.test(e),N=new Set(["length","size","percentage"]),$=e=>I(e,N,W),E=e=>I(e,"position",W),A=new Set(["image","url"]),M=e=>I(e,A,L),O=e=>I(e,"",B),R=()=>!0,I=(e,r,o)=>{let t=b.exec(e);return!!t&&(t[1]?"string"==typeof r?t[1]===r:r.has(t[1]):o(t[2]))},T=e=>h.test(e)&&!x.test(e),W=()=>!1,B=e=>y.test(e),L=e=>w.test(e),q=function(e,...r){let l,s,p,u=function(i){let d;return s=(l={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,o=new Map,t=new Map,n=(n,l)=>{o.set(n,l),++r>e&&(r=0,t=o,o=new Map)};return{get(e){let r=o.get(e);return void 0!==r?r:void 0!==(r=t.get(e))?(n(e,r),r):void 0},set(e,r){o.has(e)?o.set(e,r):n(e,r)}}})((d=r.reduce((e,r)=>r(e),e())).cacheSize),parseClassName:(e=>{let{separator:r,experimentalParseClassName:o}=e,t=1===r.length,n=r[0],l=r.length,s=e=>{let o,s=[],a=0,i=0;for(let d=0;d<e.length;d++){let c=e[d];if(0===a){if(c===n&&(t||e.slice(d,d+l)===r)){s.push(e.slice(i,d)),i=d+l;continue}if("/"===c){o=d;continue}}"["===c?a++:"]"===c&&a--}let d=0===s.length?e:e.substring(i),c=d.startsWith("!"),p=c?d.substring(1):d;return{modifiers:s,hasImportantModifier:c,baseClassName:p,maybePostfixModifierPosition:o&&o>i?o-i:void 0}};return o?e=>o({className:e,parseClassName:s}):s})(d),...(e=>{let r=(e=>{let{theme:r,prefix:o}=e,t={nextPart:new Map,validators:[]};return a(Object.entries(e.classGroups),o).forEach(([e,o])=>{n(o,t,e,r)}),t})(e),{conflictingClassGroups:l,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:e=>{let n=e.split("-");return""===n[0]&&1!==n.length&&n.shift(),o(n,r)||(e=>{if(t.test(e)){let r=t.exec(e)[1],o=r?.substring(0,r.indexOf(":"));if(o)return"arbitrary.."+o}})(e)},getConflictingClassGroupIds:(e,r)=>{let o=l[e]||[];return r&&s[e]?[...o,...s[e]]:o}}})(d)}).cache.get,p=l.cache.set,u=b,b(i)};function b(e){let r=s(e);if(r)return r;let o=((e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:n}=r,l=[],s=e.trim().split(d),a="";for(let e=s.length-1;e>=0;e-=1){let r=s[e],{modifiers:d,hasImportantModifier:c,baseClassName:p,maybePostfixModifierPosition:u}=o(r),b=!!u,m=t(b?p.substring(0,u):p);if(!m){if(!b||!(m=t(p))){a=r+(a.length>0?" "+a:a);continue}b=!1}let g=i(d).join(":"),f=c?g+"!":g,h=f+m;if(l.includes(h))continue;l.push(h);let x=n(m,b);for(let e=0;e<x.length;++e){let r=x[e];l.push(f+r)}a=r+(a.length>0?" "+a:a)}return a})(e,l);return p(e,o),o}return function(){return u(c.apply(null,arguments))}}(()=>{let e=u("colors"),r=u("spacing"),o=u("blur"),t=u("brightness"),n=u("borderColor"),l=u("borderRadius"),s=u("borderSpacing"),a=u("borderWidth"),i=u("contrast"),d=u("grayscale"),c=u("hueRotate"),p=u("invert"),b=u("gap"),m=u("gradientColorStops"),g=u("gradientColorStopPositions"),f=u("inset"),h=u("margin"),x=u("opacity"),y=u("padding"),w=u("saturate"),N=u("scale"),A=u("sepia"),I=u("skew"),T=u("space"),W=u("translate"),B=()=>["auto","contain","none"],L=()=>["auto","hidden","clip","visible","scroll"],q=()=>["auto",S,r],K=()=>[S,r],U=()=>["",v,k],_=()=>["auto",z,S],Z=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],D=()=>["solid","dashed","dotted","double","none"],F=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],H=()=>["start","end","center","between","around","evenly","stretch"],J=()=>["","0",S],Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],V=()=>[z,S];return{cacheSize:500,separator:":",theme:{colors:[R],spacing:[v,k],blur:["none","",G,S],brightness:V(),borderColor:[e],borderRadius:["none","","full",G,S],borderSpacing:K(),borderWidth:U(),contrast:V(),grayscale:J(),hueRotate:V(),invert:J(),gap:K(),gradientColorStops:[e],gradientColorStopPositions:[P,k],inset:q(),margin:q(),opacity:V(),padding:K(),saturate:V(),scale:V(),sepia:J(),skew:V(),space:K(),translate:K()},classGroups:{aspect:[{aspect:["auto","square","video",S]}],container:["container"],columns:[{columns:[G]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...Z(),S]}],overflow:[{overflow:L()}],"overflow-x":[{"overflow-x":L()}],"overflow-y":[{"overflow-y":L()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[f]}],"inset-x":[{"inset-x":[f]}],"inset-y":[{"inset-y":[f]}],start:[{start:[f]}],end:[{end:[f]}],top:[{top:[f]}],right:[{right:[f]}],bottom:[{bottom:[f]}],left:[{left:[f]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",C,S]}],basis:[{basis:q()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",S]}],grow:[{grow:J()}],shrink:[{shrink:J()}],order:[{order:["first","last","none",C,S]}],"grid-cols":[{"grid-cols":[R]}],"col-start-end":[{col:["auto",{span:["full",C,S]},S]}],"col-start":[{"col-start":_()}],"col-end":[{"col-end":_()}],"grid-rows":[{"grid-rows":[R]}],"row-start-end":[{row:["auto",{span:[C,S]},S]}],"row-start":[{"row-start":_()}],"row-end":[{"row-end":_()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",S]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",S]}],gap:[{gap:[b]}],"gap-x":[{"gap-x":[b]}],"gap-y":[{"gap-y":[b]}],"justify-content":[{justify:["normal",...H()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...H(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...H(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[y]}],px:[{px:[y]}],py:[{py:[y]}],ps:[{ps:[y]}],pe:[{pe:[y]}],pt:[{pt:[y]}],pr:[{pr:[y]}],pb:[{pb:[y]}],pl:[{pl:[y]}],m:[{m:[h]}],mx:[{mx:[h]}],my:[{my:[h]}],ms:[{ms:[h]}],me:[{me:[h]}],mt:[{mt:[h]}],mr:[{mr:[h]}],mb:[{mb:[h]}],ml:[{ml:[h]}],"space-x":[{"space-x":[T]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[T]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",S,r]}],"min-w":[{"min-w":[S,r,"min","max","fit"]}],"max-w":[{"max-w":[S,r,"none","full","min","max","fit","prose",{screen:[G]},G]}],h:[{h:[S,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[S,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[S,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[S,r,"auto","min","max","fit"]}],"font-size":[{text:["base",G,k]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",j]}],"font-family":[{font:[R]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",S]}],"line-clamp":[{"line-clamp":["none",z,j]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",v,S]}],"list-image":[{"list-image":["none",S]}],"list-style-type":[{list:["none","disc","decimal",S]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[x]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[x]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...D(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",v,k]}],"underline-offset":[{"underline-offset":["auto",v,S]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:K()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",S]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",S]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[x]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...Z(),E]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",$]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},M]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[g]}],"gradient-via-pos":[{via:[g]}],"gradient-to-pos":[{to:[g]}],"gradient-from":[{from:[m]}],"gradient-via":[{via:[m]}],"gradient-to":[{to:[m]}],rounded:[{rounded:[l]}],"rounded-s":[{"rounded-s":[l]}],"rounded-e":[{"rounded-e":[l]}],"rounded-t":[{"rounded-t":[l]}],"rounded-r":[{"rounded-r":[l]}],"rounded-b":[{"rounded-b":[l]}],"rounded-l":[{"rounded-l":[l]}],"rounded-ss":[{"rounded-ss":[l]}],"rounded-se":[{"rounded-se":[l]}],"rounded-ee":[{"rounded-ee":[l]}],"rounded-es":[{"rounded-es":[l]}],"rounded-tl":[{"rounded-tl":[l]}],"rounded-tr":[{"rounded-tr":[l]}],"rounded-br":[{"rounded-br":[l]}],"rounded-bl":[{"rounded-bl":[l]}],"border-w":[{border:[a]}],"border-w-x":[{"border-x":[a]}],"border-w-y":[{"border-y":[a]}],"border-w-s":[{"border-s":[a]}],"border-w-e":[{"border-e":[a]}],"border-w-t":[{"border-t":[a]}],"border-w-r":[{"border-r":[a]}],"border-w-b":[{"border-b":[a]}],"border-w-l":[{"border-l":[a]}],"border-opacity":[{"border-opacity":[x]}],"border-style":[{border:[...D(),"hidden"]}],"divide-x":[{"divide-x":[a]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[a]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[x]}],"divide-style":[{divide:D()}],"border-color":[{border:[n]}],"border-color-x":[{"border-x":[n]}],"border-color-y":[{"border-y":[n]}],"border-color-s":[{"border-s":[n]}],"border-color-e":[{"border-e":[n]}],"border-color-t":[{"border-t":[n]}],"border-color-r":[{"border-r":[n]}],"border-color-b":[{"border-b":[n]}],"border-color-l":[{"border-l":[n]}],"divide-color":[{divide:[n]}],"outline-style":[{outline:["",...D()]}],"outline-offset":[{"outline-offset":[v,S]}],"outline-w":[{outline:[v,k]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:U()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[x]}],"ring-offset-w":[{"ring-offset":[v,k]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",G,O]}],"shadow-color":[{shadow:[R]}],opacity:[{opacity:[x]}],"mix-blend":[{"mix-blend":[...F(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":F()}],filter:[{filter:["","none"]}],blur:[{blur:[o]}],brightness:[{brightness:[t]}],contrast:[{contrast:[i]}],"drop-shadow":[{"drop-shadow":["","none",G,S]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[p]}],saturate:[{saturate:[w]}],sepia:[{sepia:[A]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[o]}],"backdrop-brightness":[{"backdrop-brightness":[t]}],"backdrop-contrast":[{"backdrop-contrast":[i]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[x]}],"backdrop-saturate":[{"backdrop-saturate":[w]}],"backdrop-sepia":[{"backdrop-sepia":[A]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[s]}],"border-spacing-x":[{"border-spacing-x":[s]}],"border-spacing-y":[{"border-spacing-y":[s]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",S]}],duration:[{duration:V()}],ease:[{ease:["linear","in","out","in-out",S]}],delay:[{delay:V()}],animate:[{animate:["none","spin","ping","pulse","bounce",S]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[N]}],"scale-x":[{"scale-x":[N]}],"scale-y":[{"scale-y":[N]}],rotate:[{rotate:[C,S]}],"translate-x":[{"translate-x":[W]}],"translate-y":[{"translate-y":[W]}],"skew-x":[{"skew-x":[I]}],"skew-y":[{"skew-y":[I]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",S]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",S]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":K()}],"scroll-mx":[{"scroll-mx":K()}],"scroll-my":[{"scroll-my":K()}],"scroll-ms":[{"scroll-ms":K()}],"scroll-me":[{"scroll-me":K()}],"scroll-mt":[{"scroll-mt":K()}],"scroll-mr":[{"scroll-mr":K()}],"scroll-mb":[{"scroll-mb":K()}],"scroll-ml":[{"scroll-ml":K()}],"scroll-p":[{"scroll-p":K()}],"scroll-px":[{"scroll-px":K()}],"scroll-py":[{"scroll-py":K()}],"scroll-ps":[{"scroll-ps":K()}],"scroll-pe":[{"scroll-pe":K()}],"scroll-pt":[{"scroll-pt":K()}],"scroll-pr":[{"scroll-pr":K()}],"scroll-pb":[{"scroll-pb":K()}],"scroll-pl":[{"scroll-pl":K()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",S]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[v,k,j]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}});e.s(["cn",0,function(...e){return q(r(e))}],73172)},21255,e=>{"use strict";var r=e.i(71645),o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};e.s(["default",0,(e,t)=>{let n=(0,r.forwardRef)(({color:n="currentColor",size:l=24,strokeWidth:s=2,absoluteStrokeWidth:a,className:i="",children:d,...c},p)=>(0,r.createElement)("svg",{ref:p,...o,width:l,height:l,stroke:n,strokeWidth:a?24*Number(s)/Number(l):s,className:["lucide",`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim()}`,i].join(" "),...c},[...t.map(([e,o])=>(0,r.createElement)(e,o)),...Array.isArray(d)?d:[d]]));return n.displayName=`${e}`,n}],21255)}]);
|