vibepulse 0.1.12 → 0.2.1
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 -1
- package/.next/app-path-routes-manifest.json +8 -0
- package/.next/build-manifest.json +2 -2
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/fallback-build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +56 -0
- package/.next/server/app/_global-error/page.js +1 -1
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/node/events/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/node/events/route/build-manifest.json +11 -0
- package/.next/server/app/api/node/events/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/node/events/route.js +7 -0
- package/.next/server/app/api/node/events/route.js.map +5 -0
- package/.next/server/app/api/node/events/route.js.nft.json +1 -0
- package/.next/server/app/api/node/events/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/node/health/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/node/health/route/build-manifest.json +11 -0
- package/.next/server/app/api/node/health/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/node/health/route.js +6 -0
- package/.next/server/app/api/node/health/route.js.map +5 -0
- package/.next/server/app/api/node/health/route.js.nft.json +1 -0
- package/.next/server/app/api/node/health/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/node/sessions/[id]/archive/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/node/sessions/[id]/archive/route/build-manifest.json +11 -0
- package/.next/server/app/api/node/sessions/[id]/archive/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/node/sessions/[id]/archive/route.js +6 -0
- package/.next/server/app/api/node/sessions/[id]/archive/route.js.map +5 -0
- package/.next/server/app/api/node/sessions/[id]/archive/route.js.nft.json +1 -0
- package/.next/server/app/api/node/sessions/[id]/archive/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/node/sessions/[id]/delete/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/node/sessions/[id]/delete/route/build-manifest.json +11 -0
- package/.next/server/app/api/node/sessions/[id]/delete/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/node/sessions/[id]/delete/route.js +7 -0
- package/.next/server/app/api/node/sessions/[id]/delete/route.js.map +5 -0
- package/.next/server/app/api/node/sessions/[id]/delete/route.js.nft.json +1 -0
- package/.next/server/app/api/node/sessions/[id]/delete/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/node/sessions/[id]/open-editor/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/node/sessions/[id]/open-editor/route/build-manifest.json +11 -0
- package/.next/server/app/api/node/sessions/[id]/open-editor/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/node/sessions/[id]/open-editor/route.js +7 -0
- package/.next/server/app/api/node/sessions/[id]/open-editor/route.js.map +5 -0
- package/.next/server/app/api/node/sessions/[id]/open-editor/route.js.nft.json +1 -0
- package/.next/server/app/api/node/sessions/[id]/open-editor/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/node/sessions/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/node/sessions/route/build-manifest.json +11 -0
- package/.next/server/app/api/node/sessions/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/node/sessions/route.js +9 -0
- package/.next/server/app/api/node/sessions/route.js.map +5 -0
- package/.next/server/app/api/node/sessions/route.js.nft.json +1 -0
- package/.next/server/app/api/node/sessions/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/nodes/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/nodes/route/build-manifest.json +11 -0
- package/.next/server/app/api/nodes/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/nodes/route.js +8 -0
- package/.next/server/app/api/nodes/route.js.map +5 -0
- package/.next/server/app/api/nodes/route.js.nft.json +1 -0
- package/.next/server/app/api/nodes/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/opencode-config/route.js +1 -1
- package/.next/server/app/api/opencode-config/route.js.nft.json +1 -1
- package/.next/server/app/api/opencode-config/status/route.js +1 -1
- package/.next/server/app/api/opencode-config/status/route.js.nft.json +1 -1
- package/.next/server/app/api/opencode-events/route.js +4 -2
- package/.next/server/app/api/opencode-events/route.js.nft.json +1 -1
- package/.next/server/app/api/profiles/[id]/apply/route.js +1 -1
- package/.next/server/app/api/profiles/[id]/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/profiles/[id]/export/route.js +2 -2
- package/.next/server/app/api/profiles/[id]/export/route.js.nft.json +1 -1
- package/.next/server/app/api/profiles/[id]/route.js +2 -2
- package/.next/server/app/api/profiles/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/profiles/import/route.js +2 -2
- package/.next/server/app/api/profiles/import/route.js.nft.json +1 -1
- package/.next/server/app/api/profiles/route.js +2 -2
- package/.next/server/app/api/profiles/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/archive/route.js +2 -1
- package/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/delete/route.js +3 -2
- package/.next/server/app/api/sessions/[id]/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/open-editor/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/sessions/[id]/open-editor/route/build-manifest.json +11 -0
- package/.next/server/app/api/sessions/[id]/open-editor/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/sessions/[id]/open-editor/route.js +7 -0
- package/.next/server/app/api/sessions/[id]/open-editor/route.js.map +5 -0
- package/.next/server/app/api/sessions/[id]/open-editor/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/open-editor/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +3 -3
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +8 -0
- package/.next/server/chunks/{[root-of-the-server]__172a07b6._.js → [externals]_next_dist_84e7390b._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1211da38._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1211da38._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__192ed2f4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__192ed2f4._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1b87ec42._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1b87ec42._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__2b526e7a._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__2b526e7a._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__2f981540._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__2f981540._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__3745b314._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__3745b314._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__56690af0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__56690af0._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__56f5f249._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__56f5f249._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__59175de4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__59175de4._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__64fffc02._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__64fffc02._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__6c428a24._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__6c428a24._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__73a00b88._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__73a00b88._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__7e757f50._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__7e757f50._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__89c5eeab._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__89c5eeab._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__8da6c5a8._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__8da6c5a8._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__b796d06c._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__b796d06c._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__c2ce5c0f._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__c2ce5c0f._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__d8e61048._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__d8e61048._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__db285678._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__db285678._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__e00a9200._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__e00a9200._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__e5df5e5f._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__e5df5e5f._.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_node_events_route_actions_f1abd32d.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_node_events_route_actions_f1abd32d.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_node_health_route_actions_c4c4c077.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_node_health_route_actions_c4c4c077.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_node_sessions_[id]_archive_route_actions_237255a5.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_node_sessions_[id]_archive_route_actions_237255a5.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_node_sessions_[id]_delete_route_actions_e5d426f6.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_node_sessions_[id]_delete_route_actions_e5d426f6.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_node_sessions_route_actions_6b564c5a.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_node_sessions_route_actions_6b564c5a.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_route_actions_3e496ee8.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_route_actions_3e496ee8.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_sessions_[id]_open-editor_route_actions_eaebf476.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_sessions_[id]_open-editor_route_actions_eaebf476.js.map +1 -0
- package/.next/server/chunks/ce889_server_app_api_node_sessions_[id]_open-editor_route_actions_791cdf5b.js +3 -0
- package/.next/server/chunks/ce889_server_app_api_node_sessions_[id]_open-editor_route_actions_791cdf5b.js.map +1 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7e181e75.js +1 -1
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7e181e75.js.map +1 -1
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_aca45402.js +3 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_aca45402.js.map +1 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_b054aff3.js +1 -1
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_b054aff3.js.map +1 -1
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_fa835ac3.js +5 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_fa835ac3.js.map +1 -0
- package/.next/{standalone/.next/server/chunks/ssr/[root-of-the-server]__39eef6a5._.js → server/chunks/ssr/[root-of-the-server]__631e12d0._.js} +2 -2
- package/.next/{standalone/.next/server/chunks/ssr/[root-of-the-server]__535a2208._.js → server/chunks/ssr/[root-of-the-server]__a8cd3911._.js} +2 -2
- package/.next/server/chunks/ssr/src_app_page_tsx_a7111f3e._.js +3 -3
- package/.next/server/chunks/ssr/src_app_page_tsx_a7111f3e._.js.map +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +8 -0
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +56 -0
- package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/node/events/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/node/events/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/node/events/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/node/events/route.js +7 -0
- package/.next/standalone/.next/server/app/api/node/events/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/node/events/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/node/events/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/node/health/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/node/health/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/node/health/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/node/health/route.js +6 -0
- package/.next/standalone/.next/server/app/api/node/health/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/node/health/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/node/health/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/archive/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/archive/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/archive/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/archive/route.js +6 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/archive/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/archive/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/archive/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/delete/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/delete/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/delete/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/delete/route.js +7 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/delete/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/delete/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/delete/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/open-editor/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/open-editor/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/open-editor/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/open-editor/route.js +7 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/open-editor/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/open-editor/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/node/sessions/[id]/open-editor/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/node/sessions/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/node/sessions/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/node/sessions/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/node/sessions/route.js +9 -0
- package/.next/standalone/.next/server/app/api/node/sessions/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/node/sessions/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/node/sessions/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/nodes/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/nodes/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/nodes/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/nodes/route.js +8 -0
- package/.next/standalone/.next/server/app/api/nodes/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/nodes/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/nodes/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/opencode-config/route.js +1 -1
- package/.next/standalone/.next/server/app/api/opencode-config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/opencode-config/status/route.js +1 -1
- package/.next/standalone/.next/server/app/api/opencode-config/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/opencode-events/route.js +4 -2
- package/.next/standalone/.next/server/app/api/opencode-events/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/profiles/[id]/apply/route.js +1 -1
- package/.next/standalone/.next/server/app/api/profiles/[id]/apply/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/profiles/[id]/export/route.js +2 -2
- package/.next/standalone/.next/server/app/api/profiles/[id]/export/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/profiles/[id]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/profiles/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/profiles/import/route.js +2 -2
- package/.next/standalone/.next/server/app/api/profiles/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/profiles/route.js +2 -2
- package/.next/standalone/.next/server/app/api/profiles/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/archive/route.js +2 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/delete/route.js +3 -2
- package/.next/standalone/.next/server/app/api/sessions/[id]/delete/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/open-editor/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/sessions/[id]/open-editor/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/sessions/[id]/open-editor/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/sessions/[id]/open-editor/route.js +7 -0
- package/.next/standalone/.next/server/app/api/sessions/[id]/open-editor/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/sessions/[id]/open-editor/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/sessions/[id]/open-editor/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/route.js +3 -3
- package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +8 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__172a07b6._.js → [externals]_next_dist_84e7390b._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1211da38._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__192ed2f4._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1b87ec42._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2b526e7a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2f981540._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3745b314._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__56690af0._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__56f5f249._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__59175de4._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__64fffc02._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c428a24._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__73a00b88._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7e757f50._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__89c5eeab._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8da6c5a8._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b796d06c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c2ce5c0f._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8e61048._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__db285678._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e00a9200._.js +5 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e5df5e5f._.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_node_events_route_actions_f1abd32d.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_node_health_route_actions_c4c4c077.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_node_sessions_[id]_archive_route_actions_237255a5.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_node_sessions_[id]_delete_route_actions_e5d426f6.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_node_sessions_route_actions_6b564c5a.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_nodes_route_actions_3e496ee8.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_sessions_[id]_open-editor_route_actions_eaebf476.js +3 -0
- package/.next/standalone/.next/server/chunks/ce889_server_app_api_node_sessions_[id]_open-editor_route_actions_791cdf5b.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7e181e75.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_aca45402.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_b054aff3.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_fa835ac3.js +5 -0
- package/.next/{server/chunks/ssr/[root-of-the-server]__39eef6a5._.js → standalone/.next/server/chunks/ssr/[root-of-the-server]__631e12d0._.js} +2 -2
- package/.next/{server/chunks/ssr/[root-of-the-server]__535a2208._.js → standalone/.next/server/chunks/ssr/[root-of-the-server]__a8cd3911._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/src_app_page_tsx_a7111f3e._.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/7ac19aaef01f4a03.js +13 -0
- package/.next/standalone/.next/static/chunks/f42202943f6742e5.css +3 -0
- package/.next/standalone/AGENTS.md +85 -0
- package/.next/standalone/README.md +76 -0
- package/.next/standalone/__mocks__/child_process.ts +4 -0
- package/.next/standalone/bin/dev-runtime.js +58 -0
- package/.next/standalone/bin/vibepulse.js +87 -0
- package/.next/standalone/check-hsql.mjs +71 -0
- package/.next/standalone/docs/session-status-detection.md +258 -0
- package/.next/standalone/eslint.config.mjs +31 -0
- package/.next/standalone/next.config.ts +8 -0
- package/.next/standalone/package-lock.json +10312 -0
- package/.next/standalone/package.json +4 -2
- package/.next/standalone/postcss.config.mjs +7 -0
- package/.next/standalone/public/readme-cover.png +0 -0
- package/.next/standalone/src/AGENTS.md +41 -0
- package/.next/standalone/src/app/api/AGENTS.md +40 -0
- package/.next/standalone/src/app/api/node/events/route.test.ts +196 -0
- package/.next/standalone/src/app/api/node/events/route.ts +259 -0
- package/.next/standalone/src/app/api/node/health/route.test.ts +190 -0
- package/.next/standalone/src/app/api/node/health/route.ts +48 -0
- package/.next/standalone/src/app/api/node/sessions/[id]/archive/route.test.ts +128 -0
- package/.next/standalone/src/app/api/node/sessions/[id]/archive/route.ts +97 -0
- package/.next/standalone/src/app/api/node/sessions/[id]/delete/route.test.ts +113 -0
- package/.next/standalone/src/app/api/node/sessions/[id]/delete/route.ts +81 -0
- package/.next/standalone/src/app/api/node/sessions/[id]/open-editor/route.test.ts +206 -0
- package/.next/standalone/src/app/api/node/sessions/[id]/open-editor/route.ts +123 -0
- package/.next/standalone/src/app/api/node/sessions/route.test.ts +408 -0
- package/.next/standalone/src/app/api/node/sessions/route.ts +1094 -0
- package/.next/standalone/src/app/api/nodes/route.test.ts +237 -0
- package/.next/standalone/src/app/api/nodes/route.ts +176 -0
- package/.next/standalone/src/app/api/opencode-config/route.test.ts +86 -0
- package/.next/standalone/src/app/api/opencode-config/route.ts +376 -0
- package/.next/standalone/src/app/api/opencode-config/status/route.ts +31 -0
- package/.next/standalone/src/app/api/opencode-events/route.test.ts +624 -0
- package/.next/standalone/src/app/api/opencode-events/route.ts +508 -0
- package/.next/standalone/src/app/api/opencode-models/route.test.ts +167 -0
- package/.next/standalone/src/app/api/opencode-models/route.ts +76 -0
- package/.next/standalone/src/app/api/profiles/[id]/apply/route.ts +49 -0
- package/.next/standalone/src/app/api/profiles/[id]/export/route.ts +31 -0
- package/.next/standalone/src/app/api/profiles/[id]/route.ts +160 -0
- package/.next/standalone/src/app/api/profiles/import/route.test.js +107 -0
- package/.next/standalone/src/app/api/profiles/import/route.ts +65 -0
- package/.next/standalone/src/app/api/profiles/route.ts +107 -0
- package/.next/standalone/src/app/api/sessions/[id]/archive/route.test.ts +136 -0
- package/.next/standalone/src/app/api/sessions/[id]/archive/route.ts +170 -0
- package/.next/standalone/src/app/api/sessions/[id]/delete/route.test.ts +113 -0
- package/.next/standalone/src/app/api/sessions/[id]/delete/route.ts +137 -0
- package/.next/standalone/src/app/api/sessions/[id]/open-editor/route.test.ts +218 -0
- package/.next/standalone/src/app/api/sessions/[id]/open-editor/route.ts +85 -0
- package/.next/standalone/src/app/api/sessions/[id]/route.test.ts +531 -0
- package/.next/standalone/src/app/api/sessions/[id]/route.ts +75 -0
- package/.next/standalone/src/app/api/sessions/route.test.ts +1298 -0
- package/.next/standalone/src/app/api/sessions/route.ts +1695 -0
- package/.next/standalone/src/app/favicon.ico +0 -0
- package/.next/standalone/src/app/globals.css +66 -0
- package/.next/standalone/src/app/layout.tsx +37 -0
- package/.next/standalone/src/app/page.test.tsx +134 -0
- package/.next/standalone/src/app/page.tsx +358 -0
- package/.next/standalone/src/components/AGENTS.md +42 -0
- package/.next/standalone/src/components/ErrorBoundary.tsx +72 -0
- package/.next/standalone/src/components/KanbanBoard.test.tsx +704 -0
- package/.next/standalone/src/components/KanbanBoard.tsx +852 -0
- package/.next/standalone/src/components/LoadingState.tsx +37 -0
- package/.next/standalone/src/components/ProjectCard.test.tsx +773 -0
- package/.next/standalone/src/components/ProjectCard.tsx +595 -0
- package/.next/standalone/src/components/QueryProvider.tsx +25 -0
- package/.next/standalone/src/components/SessionCard.test.tsx +566 -0
- package/.next/standalone/src/components/SessionCard.tsx +434 -0
- package/.next/standalone/src/components/SessionList.tsx +60 -0
- package/.next/standalone/src/components/host-config/HostManagerDialog.test.tsx +252 -0
- package/.next/standalone/src/components/host-config/HostManagerDialog.tsx +476 -0
- package/.next/standalone/src/components/opencode-config/AgentConfigForm.test.tsx +72 -0
- package/.next/standalone/src/components/opencode-config/AgentConfigForm.tsx +483 -0
- package/.next/standalone/src/components/opencode-config/AgentModelSelector.tsx +284 -0
- package/.next/standalone/src/components/opencode-config/AgentsConfigPanel.tsx +162 -0
- package/.next/standalone/src/components/opencode-config/ConfigButton.tsx +43 -0
- package/.next/standalone/src/components/opencode-config/ConfigPanel.tsx +91 -0
- package/.next/standalone/src/components/opencode-config/FullscreenConfigPanel.tsx +435 -0
- package/.next/standalone/src/components/opencode-config/GeneralSettingsForm.test.tsx +91 -0
- package/.next/standalone/src/components/opencode-config/GeneralSettingsForm.tsx +288 -0
- package/.next/standalone/src/components/opencode-config/categories/CategoriesList.tsx +382 -0
- package/.next/standalone/src/components/opencode-config/categories/CategoriesManager.test.tsx +111 -0
- package/.next/standalone/src/components/opencode-config/categories/CategoriesManager.tsx +174 -0
- package/.next/standalone/src/components/opencode-config/categories/CategoryConfigForm.tsx +453 -0
- package/.next/standalone/src/components/opencode-config/profiles/ProfileCard.tsx +140 -0
- package/.next/standalone/src/components/opencode-config/profiles/ProfileEditor.tsx +446 -0
- package/.next/standalone/src/components/opencode-config/profiles/ProfileList.tsx +446 -0
- package/.next/standalone/src/components/opencode-config/profiles/ProfileManager.test.tsx +225 -0
- package/.next/standalone/src/components/opencode-config/profiles/ProfileManager.tsx +405 -0
- package/.next/standalone/src/components/ui/Tabs.tsx +59 -0
- package/.next/standalone/src/hooks/useHostSources.test.ts +509 -0
- package/.next/standalone/src/hooks/useHostSources.ts +299 -0
- package/.next/standalone/src/hooks/useOpencodeSync.test.ts +387 -0
- package/.next/standalone/src/hooks/useOpencodeSync.ts +571 -0
- package/.next/standalone/src/index.ts +2 -0
- package/.next/standalone/src/lib/editorLauncher.server.ts +36 -0
- package/.next/standalone/src/lib/editorLauncher.test.ts +35 -0
- package/.next/standalone/src/lib/editorLauncher.ts +25 -0
- package/.next/standalone/src/lib/hostAccent.test.ts +58 -0
- package/.next/standalone/src/lib/hostAccent.ts +46 -0
- package/.next/standalone/src/lib/hostIdentity.test.ts +187 -0
- package/.next/standalone/src/lib/hostIdentity.ts +122 -0
- package/.next/standalone/src/lib/hostSourcesStorage.test.ts +141 -0
- package/.next/standalone/src/lib/hostSourcesStorage.ts +72 -0
- package/.next/standalone/src/lib/nodeProtocol.test.ts +159 -0
- package/.next/standalone/src/lib/nodeProtocol.ts +142 -0
- package/.next/standalone/src/lib/nodeRegistry.test.ts +173 -0
- package/.next/standalone/src/lib/nodeRegistry.ts +398 -0
- package/.next/standalone/src/lib/notificationSound.ts +292 -0
- package/.next/standalone/src/lib/opencodeConfig.test.ts +100 -0
- package/.next/standalone/src/lib/opencodeConfig.ts +76 -0
- package/.next/standalone/src/lib/opencodeDiscovery.ts +275 -0
- package/.next/standalone/src/lib/profiles/share.test.ts +91 -0
- package/.next/standalone/src/lib/profiles/share.ts +93 -0
- package/.next/standalone/src/lib/profiles/storage.test.ts +108 -0
- package/.next/standalone/src/lib/profiles/storage.ts +370 -0
- package/.next/standalone/src/lib/runtimeMode.test.ts +29 -0
- package/.next/standalone/src/lib/runtimeMode.ts +29 -0
- package/.next/standalone/src/lib/sessionActionErrors.ts +37 -0
- package/.next/standalone/src/lib/sessionArchiveOverrides.test.ts +43 -0
- package/.next/standalone/src/lib/sessionArchiveOverrides.ts +116 -0
- package/.next/standalone/src/lib/transform.test.ts +121 -0
- package/.next/standalone/src/lib/transform.ts +193 -0
- package/.next/standalone/src/test/setup.ts +8 -0
- package/.next/standalone/src/types/index.ts +152 -0
- package/.next/standalone/src/types/opencodeConfig.ts +149 -0
- package/.next/standalone/tsconfig.json +34 -0
- package/.next/standalone/tsconfig.lib.json +17 -0
- package/.next/standalone/vitest.config.ts +16 -0
- package/.next/static/chunks/7ac19aaef01f4a03.js +13 -0
- package/.next/static/chunks/f42202943f6742e5.css +3 -0
- package/.next/trace +1 -1
- package/.next/trace-build +1 -1
- package/.next/types/routes.d.ts +9 -1
- package/.next/types/validator.ts +72 -0
- package/README.md +28 -11
- package/bin/dev-runtime.js +58 -0
- package/bin/vibepulse.js +72 -39
- package/package.json +4 -2
- package/public/readme-cover.png +0 -0
- package/.next/server/chunks/[externals]_next_dist_16542d6b._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__07488412._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__07488412._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__07649a30._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__07649a30._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__172a07b6._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1bf88ae0._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1bf88ae0._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__2c3e3de2._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__2c3e3de2._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__560e7c61._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__560e7c61._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__9f034d03._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__9f034d03._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__a84faf4b._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__a84faf4b._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__b92251ea._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__b92251ea._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__e7a766a0._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__e7a766a0._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__f234882e._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__f234882e._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__f85221b8._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__f85221b8._.js.map +0 -1
- package/.next/standalone/.next/server/chunks/[externals]_next_dist_16542d6b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07488412._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07649a30._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bf88ae0._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2c3e3de2._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__560e7c61._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9f034d03._.js +0 -5
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a84faf4b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b92251ea._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e7a766a0._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f234882e._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f85221b8._.js +0 -3
- package/.next/standalone/.next/static/chunks/ca49cb2092c277d2.js +0 -13
- package/.next/standalone/.next/static/chunks/dc07499869593595.css +0 -3
- package/.next/static/chunks/ca49cb2092c277d2.js +0 -13
- package/.next/static/chunks/dc07499869593595.css +0 -3
- /package/.next/server/chunks/{[externals]_next_dist_16542d6b._.js.map → [externals]_next_dist_84e7390b._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__39eef6a5._.js.map → [root-of-the-server]__631e12d0._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__535a2208._.js.map → [root-of-the-server]__a8cd3911._.js.map} +0 -0
- /package/.next/standalone/.next/static/{78EwnRx2m70qyfCL0X4sH → Fw2R3y-fHX4B2SWxNy_4X}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{78EwnRx2m70qyfCL0X4sH → Fw2R3y-fHX4B2SWxNy_4X}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{78EwnRx2m70qyfCL0X4sH → Fw2R3y-fHX4B2SWxNy_4X}/_ssgManifest.js +0 -0
- /package/.next/static/{78EwnRx2m70qyfCL0X4sH → Fw2R3y-fHX4B2SWxNy_4X}/_buildManifest.js +0 -0
- /package/.next/static/{78EwnRx2m70qyfCL0X4sH → Fw2R3y-fHX4B2SWxNy_4X}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{78EwnRx2m70qyfCL0X4sH → Fw2R3y-fHX4B2SWxNy_4X}/_ssgManifest.js +0 -0
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,52683,e=>{"use strict";let t,r,n;var a,s,i,o,l,c,d,u,m=e.i(43476),p=e.i(71645),f=e.i(75555),h=e.i(40143),x=e.i(86491),g=e.i(15823),b=e.i(93803),y=e.i(19273),v=e.i(80166),k=class extends g.Subscribable{constructor(e,t){super(),this.options=t,this.#e=e,this.#t=null,this.#r=(0,b.pendingThenable)(),this.bindMethods(),this.setOptions(t)}#e;#n=void 0;#a=void 0;#s=void 0;#i;#o;#r;#t;#l;#c;#d;#u;#m;#p;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#n.addObserver(this),w(this.#n,this.options)?this.#h():this.updateResult(),this.#x())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return j(this.#n,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return j(this.#n,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#g(),this.#b(),this.#n.removeObserver(this)}setOptions(e){let t=this.options,r=this.#n;if(this.options=this.#e.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,y.resolveEnabled)(this.options.enabled,this.#n))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#y(),this.#n.setOptions(this.options),t._defaulted&&!(0,y.shallowEqualObjects)(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#n,observer:this});let n=this.hasListeners();n&&z(this.#n,r,this.options,t)&&this.#h(),this.updateResult(),n&&(this.#n!==r||(0,y.resolveEnabled)(this.options.enabled,this.#n)!==(0,y.resolveEnabled)(t.enabled,this.#n)||(0,y.resolveStaleTime)(this.options.staleTime,this.#n)!==(0,y.resolveStaleTime)(t.staleTime,this.#n))&&this.#v();let a=this.#k();n&&(this.#n!==r||(0,y.resolveEnabled)(this.options.enabled,this.#n)!==(0,y.resolveEnabled)(t.enabled,this.#n)||a!==this.#p)&&this.#w(a)}getOptimisticResult(e){var t,r;let n=this.#e.getQueryCache().build(this.#e,e),a=this.createResult(n,e);return t=this,r=a,(0,y.shallowEqualObjects)(t.getCurrentResult(),r)||(this.#s=a,this.#o=this.options,this.#i=this.#n.state),a}getCurrentResult(){return this.#s}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),t?.(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#r.status||this.#r.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){this.#f.add(e)}getCurrentQuery(){return this.#n}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),r=this.#e.getQueryCache().build(this.#e,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#s))}#h(e){this.#y();let t=this.#n.fetch(this.options,e);return e?.throwOnError||(t=t.catch(y.noop)),t}#v(){this.#g();let e=(0,y.resolveStaleTime)(this.options.staleTime,this.#n);if(y.isServer||this.#s.isStale||!(0,y.isValidTimeout)(e))return;let t=(0,y.timeUntilStale)(this.#s.dataUpdatedAt,e);this.#u=v.timeoutManager.setTimeout(()=>{this.#s.isStale||this.updateResult()},t+1)}#k(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#n):this.options.refetchInterval)??!1}#w(e){this.#b(),this.#p=e,!y.isServer&&!1!==(0,y.resolveEnabled)(this.options.enabled,this.#n)&&(0,y.isValidTimeout)(this.#p)&&0!==this.#p&&(this.#m=v.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||f.focusManager.isFocused())&&this.#h()},this.#p))}#x(){this.#v(),this.#w(this.#k())}#g(){this.#u&&(v.timeoutManager.clearTimeout(this.#u),this.#u=void 0)}#b(){this.#m&&(v.timeoutManager.clearInterval(this.#m),this.#m=void 0)}createResult(e,t){let r,n=this.#n,a=this.options,s=this.#s,i=this.#i,o=this.#o,l=e!==n?e.state:this.#a,{state:c}=e,d={...c},u=!1;if(t._optimisticResults){let r=this.hasListeners(),s=!r&&w(e,t),i=r&&z(e,n,t,a);(s||i)&&(d={...d,...(0,x.fetchState)(c.data,e.options)}),"isRestoring"===t._optimisticResults&&(d.fetchStatus="idle")}let{error:m,errorUpdatedAt:p,status:f}=d;r=d.data;let h=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===f){let e;s?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=s.data,h=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#d?.state.data,this.#d):t.placeholderData,void 0!==e&&(f="success",r=(0,y.replaceData)(s?.data,e,t),u=!0)}if(t.select&&void 0!==r&&!h)if(s&&r===i?.data&&t.select===this.#l)r=this.#c;else try{this.#l=t.select,r=t.select(r),r=(0,y.replaceData)(s?.data,r,t),this.#c=r,this.#t=null}catch(e){this.#t=e}this.#t&&(m=this.#t,r=this.#c,p=Date.now(),f="error");let g="fetching"===d.fetchStatus,v="pending"===f,k="error"===f,j=v&&g,S=void 0!==r,C={status:f,fetchStatus:d.fetchStatus,isPending:v,isSuccess:"success"===f,isError:k,isInitialLoading:j,isLoading:j,data:r,dataUpdatedAt:d.dataUpdatedAt,error:m,errorUpdatedAt:p,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>l.dataUpdateCount||d.errorUpdateCount>l.errorUpdateCount,isFetching:g,isRefetching:g&&!v,isLoadingError:k&&!S,isPaused:"paused"===d.fetchStatus,isPlaceholderData:u,isRefetchError:k&&S,isStale:N(e,t),refetch:this.refetch,promise:this.#r,isEnabled:!1!==(0,y.resolveEnabled)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==C.data,r="error"===C.status&&!t,a=e=>{r?e.reject(C.error):t&&e.resolve(C.data)},s=()=>{a(this.#r=C.promise=(0,b.pendingThenable)())},i=this.#r;switch(i.status){case"pending":e.queryHash===n.queryHash&&a(i);break;case"fulfilled":(r||C.data!==i.value)&&s();break;case"rejected":r&&C.error===i.reason||s()}}return C}updateResult(){let e=this.#s,t=this.createResult(this.#n,this.options);if(this.#i=this.#n.state,this.#o=this.options,void 0!==this.#i.data&&(this.#d=this.#n),(0,y.shallowEqualObjects)(t,e))return;this.#s=t;let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!this.#f.size)return!0;let n=new Set(r??this.#f);return this.options.throwOnError&&n.add("error"),Object.keys(this.#s).some(t=>this.#s[t]!==e[t]&&n.has(t))};this.#j({listeners:r()})}#y(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#n)return;let t=this.#n;this.#n=e,this.#a=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#x()}#j(e){h.notifyManager.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#s)}),this.#e.getQueryCache().notify({query:this.#n,type:"observerResultsUpdated"})})}};function w(e,t){return!1!==(0,y.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&j(e,t,t.refetchOnMount)}function j(e,t,r){if(!1!==(0,y.resolveEnabled)(t.enabled,e)&&"static"!==(0,y.resolveStaleTime)(t.staleTime,e)){let n="function"==typeof r?r(e):r;return"always"===n||!1!==n&&N(e,t)}return!1}function z(e,t,r,n){return(e!==t||!1===(0,y.resolveEnabled)(n.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&N(e,r)}function N(e,t){return!1!==(0,y.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,y.resolveStaleTime)(t.staleTime,e))}e.i(47167);var S=e.i(12598),C=p.createContext((r=!1,{clearReset:()=>{r=!1},reset:()=>{r=!0},isReset:()=>r})),E=p.createContext(!1);E.Provider;var R=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function T(e,t){return function(e,t,r){let n,a=p.useContext(E),s=p.useContext(C),i=(0,S.useQueryClient)(r),o=i.defaultQueryOptions(e);i.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let l=i.getQueryCache().get(o.queryHash);if(o._optimisticResults=a?"isRestoring":"optimistic",o.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=o.staleTime;o.staleTime="function"==typeof t?(...r)=>e(t(...r)):e(t),"number"==typeof o.gcTime&&(o.gcTime=Math.max(o.gcTime,1e3))}n=l?.state.error&&"function"==typeof o.throwOnError?(0,y.shouldThrowError)(o.throwOnError,[l.state.error,l]):o.throwOnError,(o.suspense||o.experimental_prefetchInRender||n)&&!s.isReset()&&(o.retryOnMount=!1),p.useEffect(()=>{s.clearReset()},[s]);let c=!i.getQueryCache().get(o.queryHash),[d]=p.useState(()=>new t(i,o)),u=d.getOptimisticResult(o),m=!a&&!1!==e.subscribed;if(p.useSyncExternalStore(p.useCallback(e=>{let t=m?d.subscribe(h.notifyManager.batchCalls(e)):y.noop;return d.updateResult(),t},[d,m]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),p.useEffect(()=>{d.setOptions(o)},[o,d]),o?.suspense&&u.isPending)throw R(o,d,s);if((({result:e,errorResetBoundary:t,throwOnError:r,query:n,suspense:a})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(a&&void 0===e.data||(0,y.shouldThrowError)(r,[e.error,n])))({result:u,errorResetBoundary:s,throwOnError:o.throwOnError,query:l,suspense:o.suspense}))throw u.error;if(i.getDefaultOptions().queries?._experimental_afterQuery?.(o,u),o.experimental_prefetchInRender&&!y.isServer&&u.isLoading&&u.isFetching&&!a){let e=c?R(o,d,s):l?.promise;e?.catch(y.noop).finally(()=>{d.updateResult()})}return o.notifyOnChangeProps?u:d.trackResult(u)}(e,k,t)}function A(e){let t=Date.now()-e,r=Math.floor(t/6e4),n=Math.floor(t/36e5),a=Math.floor(t/864e5);return r<1?"<1m":n<1?`${r}m`:a<1?`${n}h`:`${a}d`}function O(e,t){return t?[...e,`Reason: ${t}`].join("\n"):e.join("\n")}function M({status:e,waitingForUser:t}){if(t)return(0,m.jsxs)("span",{className:"relative flex h-2 w-2 flex-shrink-0",title:"Waiting",children:[(0,m.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),(0,m.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-amber-500"})]});switch(e){case"busy":return(0,m.jsxs)("span",{className:"relative flex h-2 w-2 flex-shrink-0",title:"Running",children:[(0,m.jsx)("span",{className:"animate-pulse absolute inline-flex h-full w-full rounded-full bg-emerald-400 opacity-75"}),(0,m.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-emerald-500"})]});case"retry":return(0,m.jsxs)("span",{className:"relative flex h-2 w-2 flex-shrink-0",title:"Retrying",children:[(0,m.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-red-400 opacity-75"}),(0,m.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-red-500"})]});default:return(0,m.jsx)("span",{className:"inline-flex rounded-full h-2 w-2 bg-gray-400 flex-shrink-0",title:"Idle"})}}function F({cards:e,readOnly:t=!1}){let r=(0,S.useQueryClient)(),[n,a]=(0,p.useState)(!1),s=(0,p.useRef)(null);(0,p.useEffect)(()=>{if(!n)return;let e=e=>{s.current&&!s.current.contains(e.target)&&a(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[n]);let i=e.some(e=>"done"!==e.status),o=async t=>{t.stopPropagation();let n=e.filter(e=>"done"!==e.status);await Promise.all(n.map(e=>fetch(`/api/sessions/${e.id}/archive`,{method:"POST"}))),a(!1),await r.invalidateQueries({queryKey:["sessions"]})},l=async t=>{t.stopPropagation(),confirm(`Delete ${e.length} session(s)? This cannot be undone.`)&&(await Promise.all(e.map(e=>fetch(`/api/sessions/${e.id}/delete`,{method:"POST"}))),a(!1),await r.invalidateQueries({queryKey:["sessions"]}))};return t?null:(0,m.jsxs)("div",{className:"relative",ref:s,children:[(0,m.jsx)("button",{type:"button",className:"w-5 h-5 flex items-center justify-center rounded text-gray-400 hover:text-gray-600 hover:bg-gray-200 dark:text-gray-500 dark:hover:text-gray-300 dark:hover:bg-zinc-600 transition-colors",onClick:e=>{e.stopPropagation(),a(!n)},title:"Batch actions",children:(0,m.jsx)("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:(0,m.jsx)("path",{d:"M5 10a2 2 0 110 4 2 2 0 010-4zm7 0a2 2 0 110 4 2 2 0 010-4zm7 0a2 2 0 110 4 2 2 0 010-4z"})})}),n&&(0,m.jsxs)("div",{className:"absolute right-0 top-6 w-32 rounded-md border border-gray-200 bg-white shadow-lg dark:border-zinc-700 dark:bg-zinc-900 z-20",children:[i&&(0,m.jsx)("button",{type:"button",className:"w-full text-left px-3 py-1.5 text-xs text-gray-700 hover:bg-gray-50 dark:text-gray-200 dark:hover:bg-zinc-800",onClick:o,children:"Archive all"}),(0,m.jsx)("button",{type:"button",className:"w-full text-left px-3 py-1.5 text-xs text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-900/20",onClick:l,children:"Delete all"})]})]})}function D({cardId:e,archived:t}){let r=(0,S.useQueryClient)(),[n,a]=(0,p.useState)(!1),s=(0,p.useRef)(null);(0,p.useEffect)(()=>{if(!n)return;let e=e=>{s.current&&!s.current.contains(e.target)&&a(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[n]);let i=async t=>{t.stopPropagation();try{await fetch(`/api/sessions/${e}/archive`,{method:"POST"})}finally{a(!1),await r.invalidateQueries({queryKey:["sessions"]})}},o=async t=>{t.stopPropagation();try{await fetch(`/api/sessions/${e}/delete`,{method:"POST"})}finally{a(!1),await r.invalidateQueries({queryKey:["sessions"]})}};return(0,m.jsxs)("div",{className:"relative flex-shrink-0",ref:s,children:[(0,m.jsx)("button",{type:"button",className:"w-5 h-5 flex items-center justify-center rounded text-gray-400 hover:text-gray-600 hover:bg-gray-200 dark:text-gray-500 dark:hover:text-gray-300 dark:hover:bg-zinc-600 transition-colors",onClick:e=>{e.stopPropagation(),a(!n)},title:"Actions",children:(0,m.jsx)("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:(0,m.jsx)("path",{d:"M5 10a2 2 0 110 4 2 2 0 010-4zm7 0a2 2 0 110 4 2 2 0 010-4zm7 0a2 2 0 110 4 2 2 0 010-4z"})})}),n&&(0,m.jsxs)("div",{className:"absolute right-0 top-6 w-28 rounded-md border border-gray-200 bg-white shadow-lg dark:border-zinc-700 dark:bg-zinc-900 z-20",children:[t?null:(0,m.jsx)("button",{type:"button",className:"w-full text-left px-3 py-1.5 text-xs text-gray-700 hover:bg-gray-50 dark:text-gray-200 dark:hover:bg-zinc-800",onClick:i,children:"Archive"}),(0,m.jsx)("button",{type:"button",className:"w-full text-left px-3 py-1.5 text-xs text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-900/20",onClick:o,children:"Delete"})]})]})}function P({card:e,isLast:t,readOnly:r=!1}){let[n,a]=(0,p.useState)(!0),s=(e.children||[]).filter(e=>"idle"!==e.realTimeStatus||e.waitingForUser),i=s.length>0,o=O([e.title||"Untitled Session",`Active ${A(e.updatedAt)} ago`,`Started ${A(e.createdAt)} ago`],e.debugReason);return(0,m.jsxs)("div",{className:t?"":"border-b border-gray-50 dark:border-zinc-700/30",children:[(0,m.jsxs)("div",{className:"group/row flex items-center gap-2.5 px-3 py-2 hover:bg-gray-50 dark:hover:bg-zinc-700/30 transition-colors",title:o,children:[i&&(0,m.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),a(!n)},className:"w-3 h-3 flex items-center justify-center text-gray-400 hover:text-gray-600 dark:text-gray-500 dark:hover:text-gray-300 flex-shrink-0 transition-transform",title:n?"Collapse subagents":"Expand subagents",children:(0,m.jsx)("svg",{className:`w-2.5 h-2.5 transition-transform duration-150 ${n?"rotate-90":""}`,viewBox:"0 0 6 10",fill:"currentColor","aria-hidden":"true",children:(0,m.jsx)("path",{d:"M1 1l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,m.jsx)(M,{status:e.opencodeStatus,waitingForUser:e.waitingForUser}),(0,m.jsx)("span",{className:"text-sm text-gray-700 dark:text-gray-300 truncate flex-1 min-w-0",children:e.title||"Untitled Session"}),i&&!n&&(0,m.jsxs)("span",{className:"text-[9px] font-medium text-gray-400 dark:text-gray-500 bg-gray-100 dark:bg-zinc-700 px-1 py-0.5 rounded flex-shrink-0",children:[s.length," sub"]}),(0,m.jsx)("span",{className:"text-[10px] text-gray-400 dark:text-gray-500 flex-shrink-0 tabular-nums group-hover/row:hidden",children:A(e.updatedAt)}),r?null:(0,m.jsx)("div",{className:"hidden group-hover/row:flex flex-shrink-0",children:(0,m.jsx)(D,{cardId:e.id,archived:"done"===e.status})})]}),i&&n&&(0,m.jsx)("div",{className:"bg-gray-50/50 dark:bg-zinc-800/30",children:s.map((e,t)=>(0,m.jsxs)("div",{className:"flex items-center gap-2 pl-8 pr-3 py-1.5 hover:bg-gray-100/50 dark:hover:bg-zinc-700/20 transition-colors",title:O([e.title||"Subagent"],e.debugReason),children:[(0,m.jsx)("span",{className:"text-gray-300 dark:text-zinc-600 text-xs flex-shrink-0 font-mono leading-none",children:t===s.length-1?"└":"├"}),(0,m.jsx)(M,{status:e.realTimeStatus,waitingForUser:e.waitingForUser}),(0,m.jsx)("span",{className:"text-xs text-gray-500 dark:text-gray-400 truncate flex-1 min-w-0",children:e.title||"Subagent"})]},e.id))})]})}function _({projectName:e,branch:t,cards:r,readOnly:n=!1}){let[a,s]=(0,p.useState)(()=>window.localStorage.getItem("vibepulse:open-tool")||"vscode"),[i]=(0,p.useState)(()=>{let e=window.localStorage.getItem("vibepulse:ssh-host");if(e)return e;let t=window.location.hostname;return t&&"localhost"!==t&&"127.0.0.1"!==t?t:""});return(0,m.jsxs)("article",{className:"w-full bg-white dark:bg-zinc-800 rounded-xl shadow-sm border border-gray-200 dark:border-zinc-700 hover:shadow-lg hover:border-gray-300 dark:hover:border-zinc-600 transition-all duration-200 overflow-visible",children:[(0,m.jsxs)("div",{className:"group/header flex items-center gap-2 px-3 py-2.5 hover:bg-gray-50 dark:hover:bg-zinc-700/30 transition-colors",children:[(0,m.jsx)("svg",{className:"w-4 h-4 text-blue-500 dark:text-blue-400 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})}),(0,m.jsx)("span",{className:"text-sm font-semibold text-gray-800 dark:text-gray-200 truncate flex-1",children:e}),t&&(0,m.jsx)("span",{className:"text-[10px] bg-gray-100 dark:bg-zinc-700 text-gray-500 dark:text-gray-400 px-1.5 py-0.5 rounded flex-shrink-0",children:t}),r.length>1&&(0,m.jsx)("span",{className:"text-[10px] text-gray-400 dark:text-gray-500 font-medium bg-gray-100 dark:bg-zinc-700 px-1.5 py-0.5 rounded-full flex-shrink-0",children:r.length}),!n&&(0,m.jsx)("div",{className:"hidden group-hover/header:flex flex-shrink-0",children:(0,m.jsx)(F,{cards:r,readOnly:n})})]}),(0,m.jsx)("div",{className:"border-t border-gray-100 dark:border-zinc-700/50",children:r.map((e,t)=>(0,m.jsx)(P,{card:e,isLast:t===r.length-1,readOnly:n},e.id))}),(0,m.jsxs)("div",{className:"flex items-center justify-end gap-1.5 px-3 py-1.5 border-t border-gray-100 dark:border-zinc-700/50 bg-gray-50/50 dark:bg-zinc-800/50",children:[(0,m.jsxs)("select",{className:"text-[10px] rounded border border-gray-200 bg-white px-1 py-0.5 text-gray-500 dark:border-zinc-700 dark:bg-zinc-900 dark:text-gray-400 focus:outline-none",value:a,onClick:e=>e.stopPropagation(),onChange:e=>{s(e.target.value),window.localStorage.setItem("vibepulse:open-tool",e.target.value)},title:"Select open tool",children:[(0,m.jsx)("option",{value:"vscode",children:"VSCode"}),(0,m.jsx)("option",{value:"antigravity",children:"Antigravity"})]}),(0,m.jsxs)("button",{type:"button",onClick:()=>{let e,t=r[0]?.directory;if(!t)return;let n="antigravity"===a?`antigravity://file${t}`:(e=encodeURI(t.replace(/\\/g,"/")),i?`vscode://vscode-remote/ssh-remote+${i}${e.startsWith("/")?"":"/"}${e}`:`vscode://file${e.startsWith("/")?e:`/${e}`}`);window.location.href=n},className:"flex items-center gap-1 px-2 py-0.5 rounded-md text-[10px] font-medium text-gray-500 hover:text-blue-600 hover:bg-blue-50 dark:text-gray-400 dark:hover:text-blue-400 dark:hover:bg-blue-900/20 transition-colors",title:"Open project",children:[(0,m.jsx)("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})}),"Open"]})]})]})}function L(e,t){return"number"==typeof e&&e>0&&t-e<=3e5}function V(e,t){if(!e)return;if(e.debugReason)return e.debugReason;let r=e.realTimeStatus||"idle";return e.waitingForUser||"retry"===r?"waiting_for_user":"busy"===r?L(e.time?.updated||e.time?.created,t)?"child_recent_activity":"child_unknown_fallback":void 0}function I(e){let t,r,n=e.children||[],a=Date.now(),s=e.realTimeStatus||"idle",i=n.some(e=>{let t=e.realTimeStatus||"idle";return"busy"===t||"retry"===t}),o="retry"===s?"retry":"busy"===s||i?"busy":"idle",l=n.some(e=>{let t=e.realTimeStatus||"idle";if(!("retry"===t||"idle"!==t&&e.waitingForUser))return!1;let r=e.time?.updated||a;return a-r<6e5}),c=!!e.waitingForUser,d="retry"===o||c||"busy"===o&&l,u=function({session:e,waitingForUser:t,effectiveStatus:r,firstActiveChild:n,firstWaitingChild:a,now:s}){if(e.debugReason)return e.debugReason;if(t)return V(a,s)||V(n,s)||"waiting_for_user";if("busy"===r){let t=e.realTimeStatus||"idle";return"busy"===t||"retry"===t?L(e.time?.updated||e.time?.created,s)?"direct_status_busy":"sticky_busy":n?"child_recent_activity":"unknown_fallback"}}({session:e,waitingForUser:d,effectiveStatus:o,firstActiveChild:n.find(e=>{let t=e.realTimeStatus||"idle";return"busy"===t||"retry"===t}),firstWaitingChild:n.find(e=>{let t=e.realTimeStatus||"idle";return"retry"===t||"idle"!==t&&!!e.waitingForUser}),now:a});return r=e.time?.archived?"done":d?"review":"busy"===o?"busy":"idle",{id:e.id,sessionSlug:e.slug,title:e.title||"Untitled Session",directory:e.directory,projectName:e.projectName||"Unknown Project",branch:e.branch,agents:(t=e.slug.split("_")).length>=3?t[t.length-1].split("-").filter(Boolean):[],messageCount:e.messageCount||0,status:r,opencodeStatus:o,waitingForUser:d,debugReason:u,todosTotal:0,todosCompleted:0,createdAt:e.time.created,updatedAt:e.time.updated,archivedAt:"done"===r?e.time.archived:void 0,sortOrder:0,children:n.map(e=>({id:e.id,title:e.title,realTimeStatus:e.realTimeStatus||"idle",waitingForUser:"retry"===(e.realTimeStatus||"idle")||"busy"===(e.realTimeStatus||"idle")&&!!e.waitingForUser,debugReason:V(e,a),createdAt:e.time?.created||0,updatedAt:e.time?.updated||0}))}}function $(){return(0,m.jsx)("div",{className:"h-[calc(100vh-8rem)] overflow-x-auto",children:(0,m.jsx)("div",{className:"flex gap-4 h-full min-w-max p-4",children:[1,2,3,4].map(e=>(0,m.jsxs)("div",{className:"flex-shrink-0 w-80 bg-gray-100 dark:bg-zinc-800 rounded-lg p-4 animate-pulse",children:[(0,m.jsx)("div",{className:"h-6 bg-gray-200 dark:bg-zinc-700 rounded w-24 mb-4"}),(0,m.jsx)("div",{className:"space-y-3",children:[1,2,3].map(e=>(0,m.jsxs)("div",{className:"p-4 bg-white dark:bg-zinc-900 rounded-lg shadow border border-gray-200 dark:border-zinc-700",children:[(0,m.jsx)("div",{className:"h-5 bg-gray-200 dark:bg-zinc-700 rounded w-3/4 mb-3"}),(0,m.jsxs)("div",{className:"flex gap-2",children:[(0,m.jsx)("div",{className:"h-4 bg-gray-200 dark:bg-zinc-700 rounded w-20"}),(0,m.jsx)("div",{className:"h-4 bg-gray-200 dark:bg-zinc-700 rounded w-16"})]})]},e))})]},e))})})}let q=null,U="vibepulse:sound-muted",B=new Map;function W(e){let t=Date.now();return!(t-(B.get(e)??0)<1e4)&&(B.set(e,t),!0)}function H(e,t,r){W(`warn:${e}`)&&console.warn(`[VibePulse sound] ${t}`,r)}function Q(){return q||(q=new AudioContext),q}function K(e,t,r,n){if(G()){var a;return void(a=`${e}-muted`,W(`info:${a}`)&&console.info(`[VibePulse sound] ${t}`))}try{let t=Q(),a=()=>{try{n(t,t.currentTime)}catch(t){H(e,r,t)}};if("running"===t.state)return void a();t.resume().then(()=>{"running"===t.state?a():H(`${e}-state`,`${r} (AudioContext not running after resume)`,Error(t.state))}).catch(t=>{H(`${e}-resume`,`${r} (AudioContext resume failed)`,t)})}catch(t){H(e,r,t)}}function G(){return"true"===window.localStorage.getItem(U)}function J(){try{let e=Q(),t=()=>{let t=e.createBuffer(1,1,22050),r=e.createBufferSource();r.buffer=t,r.connect(e.destination),r.start(0)};if("running"===e.state)return void t();e.resume().then(()=>{"running"===e.state?t():H("unlock-state","unlockAudio() resume did not reach running state",Error(e.state))}).catch(e=>{H("unlock-resume","Failed to resume AudioContext in unlockAudio()",e)})}catch(e){H("unlock-audio","unlockAudio() failed",e)}}let Y="vibepulse:waiting-sessions",X=new Map;function Z(e,t){let r=function(){try{return JSON.parse(localStorage.getItem(Y)||"{}")}catch{return{}}}();t?r[e]=!0:delete r[e],localStorage.setItem(Y,JSON.stringify(r))}function ee(e){let t=Date.now();return{...e,slug:e.slug||e.id,title:e.title||"Untitled Session",directory:e.directory||"",projectName:e.projectName||function(e){if(!e)return"Unknown Project";let t=e.replace(/\\/g,"/").split("/").filter(Boolean);return t[t.length-1]||"Unknown Project"}(e.directory),time:e.time||{created:t,updated:t},realTimeStatus:e.realTimeStatus||"busy",waitingForUser:!!e.waitingForUser,children:e.children||[]}}let et="vibepulse:waiting-sessions",er="vibepulse:last-sessions-snapshot",en=[{id:"idle",title:"Idle"},{id:"busy",title:"Busy"},{id:"review",title:"Needs Attention"},{id:"done",title:"Archived"}];function ea({filterDays:e,onProcessHintsChange:t}){let r=(0,p.useRef)({}),n=(0,p.useRef)(!1),[a,s]=(0,p.useState)("idle"),[i,o]=(0,p.useState)(null),{data:l}=T({queryKey:["opencode-config"],queryFn:async()=>{let e=await fetch("/api/opencode-config");if(!e.ok)throw Error("Failed to fetch config");return e.json()}}),c=l?.vibepulse?.sessionsRefreshIntervalMs,d="number"==typeof c&&Number.isFinite(c)&&c>0?c:5e3,{data:u,isLoading:f,error:h,dataUpdatedAt:x,refetch:g,isFetching:b,failureCount:y}=T({queryKey:["sessions"],queryFn:async({signal:e})=>{try{let t=await fetch("/api/sessions",{signal:e});if(!t.ok){let e=null;try{e=await t.json()}catch{e=null}let r=503===t.status&&e?.error==="OpenCode server not found",n=Error(r?e?.error||"OpenCode server not found":e?.error||`Failed to load sessions (${t.status})`);throw n.kind=r?"opencode_unavailable":"request_failed",n.hint=e?.hint,n.status=t.status,n}return t.json()}catch(t){if(t instanceof Error&&"AbortError"===t.name||t instanceof Error&&t.kind)throw t;let e=Error("Unable to connect to session service");throw e.kind="request_failed",e}},refetchInterval:e=>"fetching"!==e.state.fetchStatus&&d,refetchIntervalInBackground:!0,refetchOnReconnect:!0,retry:!1}),v=void 0!==u;(0,p.useEffect)(()=>{try{let e=localStorage.getItem(er);if(!e)return;let t=JSON.parse(e);if(!t||!Array.isArray(t.sessions)||"number"!=typeof t.savedAt||(Array.isArray(t.processHints)||(t.processHints=[]),0===t.sessions.length))return;o(t)}catch{o(null)}},[]),(0,p.useEffect)(()=>{if(!u?.sessions||0===u.sessions.length||u.degraded&&i?.sessions?.length)return;let e={savedAt:Date.now(),sessions:u.sessions,processHints:u.processHints??[]};try{localStorage.setItem(er,JSON.stringify(e)),o(e)}catch{o(e)}},[u?.degraded,u?.processHints,u?.sessions,i?.sessions?.length]);let k=async()=>{try{await navigator.clipboard.writeText("opencode --port <PORT>"),s("copied"),setTimeout(()=>s("idle"),1500)}catch{s("failed"),setTimeout(()=>s("idle"),2e3)}},w=(0,p.useMemo)(()=>{if(u?.sessions){if(u.degraded&&i?.sessions?.length&&Date.now()-i.savedAt<=6e5){let e=[...u.sessions],t=new Set(e.map(e=>e.id));for(let r of i.sessions)t.has(r.id)||(e.push(r),t.add(r.id));return e}return u.sessions}return h&&i?.sessions?.length?i.sessions:[]},[h,u?.degraded,u?.sessions,i?.savedAt,i?.sessions]),j=!!h&&!u?.sessions&&!!i?.sessions?.length,z=!!h&&!j&&!v&&y>=3,N=!!h&&!j&&!v&&y>0&&y<3,S=(0,p.useMemo)(()=>u?.processHints?u.processHints:j&&i?.processHints?i.processHints:[],[u?.processHints,j,i?.processHints]);(0,p.useEffect)(()=>{t?.(S)},[t,S]);let C=(0,p.useMemo)(()=>{if(!w.length)return[];let e={};try{e=JSON.parse(localStorage.getItem(et)||"{}")}catch{e={}}let t=function(){let e=Date.now();for(let[t,r]of X)e-r.timestamp>5e3&&X.delete(t);return X}(),r=Date.now(),n=(e,t,n)=>!!n&&("busy"===e||"retry"===e)&&!!t&&r-t<=6e5;return w.map(r=>{let a=!!e[r.id],s=r.time?.updated||r.time?.created||0,i=n(r.realTimeStatus,s,a),o=t.get(r.id),l=o?o.status:r.realTimeStatus,c=(r.children||[]).map(r=>{let a=!!e[r.id],s=r.time?.updated||r.time?.created||0,i=t.get(r.id),o=i?i.status:r.realTimeStatus,l=n(o,s,a);return{...r,realTimeStatus:o,waitingForUser:!!r.waitingForUser||l}});return{...r,realTimeStatus:l,waitingForUser:!!r.waitingForUser||i,children:c}})},[w]);(0,p.useEffect)(()=>{let e={};for(let t of C)for(let r of(t.waitingForUser&&(e[t.id]=!0),t.children||[]))r.waitingForUser&&(e[r.id]=!0);localStorage.setItem(et,JSON.stringify(e))},[C]);let E=(0,p.useMemo)(()=>{let t=C.map(I);if(0===e)return t;let r=x-24*e*36e5;return t.filter(e=>"busy"===e.status||"review"===e.status||Math.max(e.updatedAt||0,e.createdAt||0,e.archivedAt||0)>=r)},[x,C,e]);if((0,p.useEffect)(()=>{let e={};for(let t of E)e[t.id]=t.status;if(!n.current){n.current=!0,r.current=e;return}let t=Object.entries(e).some(([e,t])=>{let n=r.current[e];return!!n&&"idle"!==n&&"idle"===t});r.current=e,t&&!j&&setTimeout(()=>void K("play-complete","Skipped playCompleteSound() because muted","playCompleteSound() failed",(e,t)=>{let r=e.createOscillator(),n=e.createGain();r.type="sine",r.frequency.setValueAtTime(659,t),r.frequency.exponentialRampToValueAtTime(988,t+.18),n.gain.setValueAtTime(.22,t),n.gain.exponentialRampToValueAtTime(.001,t+.22),r.connect(n),n.connect(e.destination),r.start(t),r.stop(t+.22);let a=e.createOscillator(),s=e.createGain();a.type="sine",a.frequency.setValueAtTime(988,t+.12),a.frequency.exponentialRampToValueAtTime(1318,t+.32),s.gain.setValueAtTime(.18,t+.12),s.gain.exponentialRampToValueAtTime(.001,t+.36),a.connect(s),s.connect(e.destination),a.start(t+.12),a.stop(t+.36)}),250)},[E,j]),f)return(0,m.jsx)($,{});if(z){let e=h?.kind==="opencode_unavailable",t=e?h?.hint||"Run OpenCode with an exposed API port, for example `opencode --port <PORT>`.":h?.message||"An error occurred while loading sessions";return(0,m.jsx)("div",{className:"flex-1 flex items-center justify-center p-8",children:(0,m.jsxs)("div",{className:"max-w-md w-full text-center",children:[(0,m.jsx)("div",{className:"flex items-center justify-center w-12 h-12 mx-auto mb-4 bg-red-100 dark:bg-red-900/30 rounded-full",children:(0,m.jsx)("svg",{className:"w-6 h-6 text-red-600 dark:text-red-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}),(0,m.jsx)("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-2",children:e?"OpenCode is not running":"Failed to load sessions"}),(0,m.jsx)("p",{className:"text-gray-600 dark:text-gray-400 mb-4",children:t}),(0,m.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,m.jsx)("button",{type:"button",onClick:()=>g(),className:"px-3 py-1.5 bg-blue-600 hover:bg-blue-700 text-white text-sm font-medium rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",disabled:b,children:b?"Retrying...":"Retry"}),e?(0,m.jsx)("button",{type:"button",onClick:k,className:"px-3 py-1.5 bg-gray-100 hover:bg-gray-200 dark:bg-zinc-800 dark:hover:bg-zinc-700 text-gray-700 dark:text-gray-300 text-sm font-medium rounded-md transition-colors",children:"copied"===a?"Copied":"failed"===a?"Copy Failed":"Copy Start Command"}):null]})]})})}return N?(0,m.jsx)("div",{className:"flex-1 flex items-center justify-center p-8",children:(0,m.jsxs)("div",{className:"max-w-md w-full text-center",children:[(0,m.jsx)("div",{className:"flex items-center justify-center w-12 h-12 mx-auto mb-4 bg-amber-100 dark:bg-amber-900/30 rounded-full",children:(0,m.jsx)("svg",{className:"w-6 h-6 text-amber-600 dark:text-amber-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}),(0,m.jsx)("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-2",children:"Reconnecting to session service..."}),(0,m.jsxs)("p",{className:"text-gray-600 dark:text-gray-400 mb-4",children:["Temporary fetch failure (",y,"/",3,"). Retrying automatically."]}),(0,m.jsx)("button",{type:"button",onClick:()=>g(),className:"px-3 py-1.5 bg-blue-600 hover:bg-blue-700 text-white text-sm font-medium rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",disabled:b,children:b?"Retrying...":"Retry now"})]})}):E&&0!==E.length?(0,m.jsxs)("div",{className:"flex-1 overflow-x-auto scrollbar-thin scroll-smooth",children:[j?(0,m.jsx)("div",{className:"px-4 pt-4 pb-0",children:(0,m.jsx)("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-amber-800 dark:border-amber-900/40 dark:bg-amber-900/20 dark:text-amber-200",children:(0,m.jsxs)("div",{className:"flex items-center gap-2 text-xs font-medium",children:[(0,m.jsx)("span",{className:"inline-flex items-center rounded-full bg-amber-100 px-2 py-0.5 text-[10px] uppercase tracking-wide dark:bg-amber-900/40",children:"Stale Data"}),(0,m.jsxs)("span",{children:["Last seen at ",i?new Date(i.savedAt).toLocaleString():"--"]}),(0,m.jsx)("span",{className:"text-amber-700/80 dark:text-amber-300/80",children:"Read-only snapshot while OpenCode is unreachable."})]})})}):null,(0,m.jsx)("div",{className:"flex gap-6 h-full min-w-max p-4",children:en.map(e=>{let t=E.filter(t=>t.status===e.id).sort((e,t)=>e.sortOrder-t.sortOrder),r=(e=>{let t=new Map;for(let r of e){let e=r.projectName||"Unknown Project";t.has(e)||t.set(e,[]),t.get(e).push(r)}return t})(t);return(0,m.jsxs)("div",{className:"flex-shrink-0 w-80 bg-gray-100 dark:bg-zinc-800/80 rounded-xl p-4 flex flex-col shadow-sm",children:[(0,m.jsxs)("div",{className:"flex items-center justify-between mb-4 pb-3 border-b border-gray-200 dark:border-zinc-700",children:[(0,m.jsx)("h2",{className:"font-semibold text-gray-700 dark:text-gray-300",children:e.title}),(0,m.jsx)("span",{className:"px-2.5 py-0.5 bg-gray-200 dark:bg-zinc-700 text-gray-600 dark:text-gray-400 text-xs font-medium rounded-full",children:t.length})]}),(0,m.jsx)("div",{className:"flex-1 overflow-y-auto scrollbar-thin pr-1",children:(0,m.jsx)("div",{className:"space-y-3",children:Array.from(r.entries()).map(([e,t])=>(0,m.jsx)(_,{projectName:e,branch:t[0].branch,cards:t,readOnly:j},e))})})]},e.id)})})]}):(0,m.jsx)("div",{className:"flex-1 flex items-center justify-center p-8",children:(0,m.jsxs)("div",{className:"max-w-md w-full text-center",children:[(0,m.jsx)("div",{className:"flex items-center justify-center w-12 h-12 mx-auto mb-4 bg-gray-100 dark:bg-zinc-800 rounded-full",children:(0,m.jsx)("svg",{className:"w-6 h-6 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"})})}),(0,m.jsx)("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-2",children:"No sessions yet"}),(0,m.jsx)("p",{className:"text-gray-600 dark:text-gray-400 mb-4",children:"OpenCode is running, but no sessions are available."}),(0,m.jsx)("p",{className:"text-sm text-gray-500 dark:text-gray-500",children:"Start a conversation in OpenCode and this board will update automatically."})]})})}var es=p;class ei extends es.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error("ErrorBoundary caught an error:",e,t)}render(){return this.state.hasError?(0,m.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-zinc-50 dark:bg-black",children:(0,m.jsxs)("div",{className:"max-w-md w-full mx-4 p-8 bg-white dark:bg-zinc-900 rounded-lg shadow-lg border border-gray-200 dark:border-zinc-800",children:[(0,m.jsx)("div",{className:"flex items-center justify-center w-12 h-12 mx-auto mb-4 bg-red-100 dark:bg-red-900/30 rounded-full",children:(0,m.jsx)("svg",{className:"w-6 h-6 text-red-600 dark:text-red-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),(0,m.jsx)("h2",{className:"text-xl font-semibold text-center text-gray-900 dark:text-white mb-2",children:"Something went wrong"}),(0,m.jsx)("p",{className:"text-center text-gray-600 dark:text-gray-400 mb-6",children:"An unexpected error occurred. Please try refreshing the page."}),this.state.error&&(0,m.jsx)("div",{className:"p-3 bg-gray-100 dark:bg-zinc-800 rounded text-sm text-gray-700 dark:text-gray-300 font-mono overflow-auto",children:this.state.error.message}),(0,m.jsx)("button",{onClick:()=>window.location.reload(),className:"mt-6 w-full py-2 px-4 bg-blue-600 hover:bg-blue-700 text-white font-medium rounded-lg transition-colors",children:"Refresh Page"})]})}):this.props.children}}let eo=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),el=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var ec={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let ed=(0,p.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:n,className:a="",children:s,iconNode:i,...o},l)=>(0,p.createElement)("svg",{ref:l,...ec,width:t,height:t,stroke:e,strokeWidth:n?24*Number(r)/Number(t):r,className:eo("lucide",a),...!s&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(o)&&{"aria-hidden":"true"},...o},[...i.map(([e,t])=>(0,p.createElement)(e,t)),...Array.isArray(s)?s:[s]])),eu=(e,t)=>{let r=(0,p.forwardRef)(({className:r,...n},a)=>(0,p.createElement)(ed,{ref:a,iconNode:t,className:eo(`lucide-${el(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...n}));return r.displayName=el(e),r},em=eu("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),ep=eu("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);function ef({onClick:e}){let{data:t}=T({queryKey:["opencode-config","status"],queryFn:async()=>{let e=await fetch("/api/opencode-config/status");if(!e.ok)throw Error("Failed to fetch config status");return e.json()}});return t?.hasPlugin?(0,m.jsx)("button",{type:"button",onClick:e,className:"inline-flex items-center justify-center w-9 h-9 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 dark:text-gray-400 dark:hover:text-gray-200 dark:hover:bg-zinc-800 transition-colors duration-200","aria-label":"OpenCode Settings",title:"OpenCode Settings",children:(0,m.jsx)(ep,{className:"w-5 h-5"})}):null}let eh=eu("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),ex=eu("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),eg=eu("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"}]]),eb=eu("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),ey=eu("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var ev=e.i(14272),ek=g,ew=class extends ek.Subscribable{#e;#s=void 0;#z;#N;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#S()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,y.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#z,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,y.hashKey)(t.mutationKey)!==(0,y.hashKey)(this.options.mutationKey)?this.reset():this.#z?.state.status==="pending"&&this.#z.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#z?.removeObserver(this)}onMutationUpdate(e){this.#S(),this.#j(e)}getCurrentResult(){return this.#s}reset(){this.#z?.removeObserver(this),this.#z=void 0,this.#S(),this.#j()}mutate(e,t){return this.#N=t,this.#z?.removeObserver(this),this.#z=this.#e.getMutationCache().build(this.#e,this.options),this.#z.addObserver(this),this.#z.execute(e)}#S(){let e=this.#z?.state??(0,ev.getDefaultState)();this.#s={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#j(e){h.notifyManager.batch(()=>{if(this.#N&&this.hasListeners()){let t=this.#s.variables,r=this.#s.context,n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#N.onSuccess?.(e.data,t,r,n)}catch(e){Promise.reject(e)}try{this.#N.onSettled?.(e.data,null,t,r,n)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#N.onError?.(e.error,t,r,n)}catch(e){Promise.reject(e)}try{this.#N.onSettled?.(void 0,e.error,t,r,n)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#s)})})}};function ej(e,t){let r=(0,S.useQueryClient)(t),[n]=p.useState(()=>new ew(r,e));p.useEffect(()=>{n.setOptions(e)},[n,e]);let a=p.useSyncExternalStore(p.useCallback(e=>n.subscribe(h.notifyManager.batchCalls(e)),[n]),()=>n.getCurrentResult(),()=>n.getCurrentResult()),s=p.useCallback((e,t)=>{n.mutate(e,t).catch(y.noop)},[n]);if(a.error&&(0,y.shouldThrowError)(n.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:s,mutateAsync:a.mutate}}let ez=eu("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),eN=eu("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),eS=eu("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),eC=eu("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),eE=eu("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]),eR=eu("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]),eT=[{key:"visual-engineering",name:"Visual Engineering",description:"Visual and UI component engineering tasks"},{key:"ultrabrain",name:"Ultrabrain",description:"Complex reasoning and deep analysis tasks"},{key:"deep",name:"Deep",description:"Deep research and comprehensive tasks"},{key:"artistry",name:"Artistry",description:"Creative and design-focused tasks"},{key:"quick",name:"Quick",description:"Fast, simple tasks requiring minimal processing"},{key:"unspecified-low",name:"Unspecified Low",description:"Default low-complexity tasks"},{key:"unspecified-high",name:"Unspecified High",description:"Default high-complexity tasks"},{key:"writing",name:"Writing",description:"Content creation and writing tasks"}];function eA({categoryKey:e,config:t,isBuiltIn:r,availableModels:n,onEdit:a,onDelete:s}){var i;let o,l=(o=eT.find(t=>t.key===e))||{key:e,name:e,description:"Custom category"},c=!!(t.model||t.variant),d=t.model&&n&&n.size>0&&!n.has(t.model),u=c?"bg-white border-zinc-200 dark:bg-zinc-900 dark:border-zinc-700 hover:border-zinc-300 dark:hover:border-zinc-600":"bg-zinc-50/50 border-zinc-200/50 dark:bg-zinc-900/50 dark:border-zinc-800/50 hover:border-zinc-300 dark:hover:border-zinc-600";return d&&(u="bg-amber-50/50 border-amber-200 dark:bg-amber-900/10 dark:border-amber-800/50 hover:border-amber-300 dark:hover:border-amber-700"),(0,m.jsxs)("div",{className:`
|
|
2
|
-
group relative flex items-center justify-between p-4 rounded-lg border flex-col sm:flex-row items-start sm:items-center gap-4
|
|
3
|
-
transition-all duration-200
|
|
4
|
-
${u}
|
|
5
|
-
`,children:[(0,m.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("h4",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100 truncate",children:l.name}),!r&&(0,m.jsx)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",children:"Custom"}),d&&(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-medium bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",children:[(0,m.jsx)(ey,{className:"h-3 w-3"}),"Model Unavailable"]}),!d&&c&&(0,m.jsx)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-300",children:"Configured"}),!c&&(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-medium bg-zinc-100 text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400",children:[(0,m.jsx)(eN,{className:"h-3 w-3"}),"Built-in fallback"]})]}),(0,m.jsx)("p",{className:"mt-0.5 text-xs text-zinc-500 dark:text-zinc-400 truncate",children:l.description}),(0,m.jsxs)("div",{className:"mt-2 flex items-center gap-3 text-xs",children:[(0,m.jsxs)("span",{className:"text-zinc-600 dark:text-zinc-400",children:[(0,m.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:"Provider:"})," ",function(e){if(!e)return"Default provider";let t=e.indexOf("/");return -1===t?"Unknown provider":e.substring(0,t)}(t.model)]}),(0,m.jsxs)("span",{className:"text-zinc-600 dark:text-zinc-400",children:[(0,m.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:"Model:"})," ",function(e){if(!e)return"Default model";let t=e.split("/");return t[t.length-1]}(t.model)]}),t.variant&&(0,m.jsxs)("span",{className:"text-zinc-600 dark:text-zinc-400",children:[(0,m.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:"Variant:"})," ",(i=t.variant)?i:"—"]})]})]}),(0,m.jsxs)("div",{className:"flex items-center gap-1 ml-4 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,m.jsx)("button",{type:"button",onClick:()=>a(e,t),className:"p-1.5 rounded-md text-zinc-500 hover:text-zinc-900 hover:bg-zinc-100 dark:text-zinc-400 dark:hover:text-zinc-100 dark:hover:bg-zinc-800 transition-colors","aria-label":`Edit ${l.name} category`,title:`Edit ${l.name}`,children:(0,m.jsx)(eC,{className:"h-4 w-4"})}),!r&&(0,m.jsx)("button",{type:"button",onClick:()=>s(e),className:"p-1.5 rounded-md text-zinc-500 hover:text-red-600 hover:bg-red-50 dark:text-zinc-400 dark:hover:text-red-400 dark:hover:bg-red-900/20 transition-colors","aria-label":`Delete ${l.name} category`,title:`Delete ${l.name}`,children:(0,m.jsx)(eE,{className:"h-4 w-4"})})]})]})}function eO({categories:e,onEdit:t,onDelete:r}){let{data:n}=T({queryKey:["opencode-models"],queryFn:async()=>{var e;let t=await fetch("/api/opencode-models"),r=null;try{r=await t.json()}catch{r=null}let n=r&&"object"==typeof r&&"error"in r&&"string"==typeof r.error?r.error:null;if(!t.ok||n)throw Error(n||`Failed to fetch models (${t.status})`);if(!((e=r)&&"object"==typeof e&&Array.isArray(e.models)))throw Error("Invalid models response");return r},retry:!1}),a=p.useMemo(()=>n?new Set(n.models):null,[n]),{builtIn:s,custom:i}=p.useMemo(()=>{let t=[],r=[];return eT.forEach(r=>{t.push({key:r.key,config:e[r.key]||{}})}),Object.entries(e).forEach(([e,t])=>{eT.some(t=>t.key===e)||r.push({key:e,config:t})}),{builtIn:t,custom:r}},[e]),o=i.length>0;return(0,m.jsxs)("div",{className:"space-y-6",children:[(0,m.jsxs)("section",{children:[(0,m.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,m.jsx)(eR,{className:"h-4 w-4 text-zinc-500 dark:text-zinc-400"}),(0,m.jsx)("h3",{className:"text-sm font-semibold text-zinc-900 dark:text-zinc-100",children:"Built-in Categories"}),(0,m.jsxs)("span",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:["(",s.length,")"]})]}),(0,m.jsx)("div",{className:"space-y-2",children:s.map(({key:e,config:n})=>(0,m.jsx)(eA,{categoryKey:e,config:n,isBuiltIn:!0,availableModels:a,onEdit:t,onDelete:r},e))})]}),o&&(0,m.jsxs)("section",{children:[(0,m.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,m.jsx)(eR,{className:"h-4 w-4 text-blue-500"}),(0,m.jsx)("h3",{className:"text-sm font-semibold text-zinc-900 dark:text-zinc-100",children:"Custom Categories"}),(0,m.jsxs)("span",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:["(",i.length,")"]})]}),(0,m.jsx)("div",{className:"space-y-2",children:i.map(({key:e,config:n})=>(0,m.jsx)(eA,{categoryKey:e,config:n,isBuiltIn:!1,availableModels:a,onEdit:t,onDelete:r},e))})]}),0===s.length&&!o&&(0,m.jsxs)("div",{className:"text-center py-8",children:[(0,m.jsx)(eR,{className:"h-8 w-8 mx-auto text-zinc-300 dark:text-zinc-600 mb-2"}),(0,m.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"No categories configured"})]})]})}var eM=e=>e instanceof Date,eF=e=>null==e,eD=e=>!eF(e)&&!Array.isArray(e)&&"object"==typeof e&&!eM(e),eP=e=>eD(e)&&e.target?"checkbox"===e.target.type?e.target.checked:e.target.value:e,e_=(e,t)=>e.has(t.substring(0,t.search(/\.\d+(\.|$)/))||t),eL="u">typeof window&&void 0!==window.HTMLElement&&"u">typeof document;function eV(e){let t;if(e instanceof Date)return new Date(e);let r="u">typeof FileList&&e instanceof FileList;if(eL&&(e instanceof Blob||r))return e;let n=Array.isArray(e);if(!n&&!(eD(e)&&eD(t=e.constructor&&e.constructor.prototype)&&t.hasOwnProperty("isPrototypeOf")))return e;let a=n?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(a[t]=eV(e[t]));return a}var eI=e=>void 0===e,e$=e=>Array.isArray(e)?e.filter(Boolean):[],eq=e=>e$(e.replace(/["|']|\]/g,"").split(/\.|\[/)),eU=(e,t,r)=>{if(!t||!eD(e))return r;let n=(/^\w*$/.test(t)?[t]:eq(t)).reduce((e,t)=>eF(e)?e:e[t],e);return eI(n)||n===e?eI(e[t])?r:e[t]:n},eB=e=>"function"==typeof e,eW=(e,t,r)=>{let n=-1,a=/^\w*$/.test(t)?[t]:eq(t),s=a.length,i=s-1;for(;++n<s;){let t=a[n],s=r;if(n!==i){let r=e[t];s=eD(r)||Array.isArray(r)?r:isNaN(+a[n+1])?{}:[]}if("__proto__"===t||"constructor"===t||"prototype"===t)return;e[t]=s,e=e[t]}};let eH="blur",eQ="onChange",eK="onSubmit",eG="maxLength",eJ="minLength",eY="pattern",eX="required",eZ=p.default.createContext(null);eZ.displayName="HookFormControlContext";var e0=(e,t,r,n=!0)=>{let a={defaultValues:t._defaultValues};for(let s in e)Object.defineProperty(a,s,{get:()=>("all"!==t._proxyFormState[s]&&(t._proxyFormState[s]=!n||"all"),r&&(r[s]=!0),e[s])});return a};let e1="u">typeof window?p.default.useLayoutEffect:p.default.useEffect;var e2=e=>"string"==typeof e,e5=(e,t,r,n,a)=>e2(e)?(n&&t.watch.add(e),eU(r,e,a)):Array.isArray(e)?e.map(e=>(n&&t.watch.add(e),eU(r,e))):(n&&(t.watchAll=!0),r),e4=e=>eF(e)||"object"!=typeof e;function e3(e,t,r=new WeakSet){if(e4(e)||e4(t))return Object.is(e,t);if(eM(e)&&eM(t))return Object.is(e.getTime(),t.getTime());let n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;if(r.has(e)||r.has(t))return!0;for(let s of(r.add(e),r.add(t),n)){let n=e[s];if(!a.includes(s))return!1;if("ref"!==s){let e=t[s];if(eM(n)&&eM(e)||eD(n)&&eD(e)||Array.isArray(n)&&Array.isArray(e)?!e3(n,e,r):!Object.is(n,e))return!1}}return!0}let e6=e=>e.render(function(e){let t=p.default.useContext(eZ),{name:r,disabled:n,control:a=t,shouldUnregister:s,defaultValue:i,exact:o=!0}=e,l=e_(a._names.array,r),c=p.default.useMemo(()=>eU(a._formValues,r,eU(a._defaultValues,r,i)),[a,r,i]),d=function(e){let t=p.default.useContext(eZ),{control:r=t,name:n,defaultValue:a,disabled:s,exact:i,compute:o}=e||{},l=p.default.useRef(a),c=p.default.useRef(o),d=p.default.useRef(void 0),u=p.default.useRef(r),m=p.default.useRef(n);c.current=o;let[f,h]=p.default.useState(()=>{let e=r._getWatch(n,l.current);return c.current?c.current(e):e}),x=p.default.useCallback(e=>{let t=e5(n,r._names,e||r._formValues,!1,l.current);return c.current?c.current(t):t},[r._formValues,r._names,n]),g=p.default.useCallback(e=>{if(!s){let t=e5(n,r._names,e||r._formValues,!1,l.current);if(c.current){let e=c.current(t);e3(e,d.current)||(h(e),d.current=e)}else h(t)}},[r._formValues,r._names,s,n]);e1(()=>(u.current===r&&e3(m.current,n)||(u.current=r,m.current=n,g()),r._subscribe({name:n,formState:{values:!0},exact:i,callback:e=>{g(e.values)}})),[r,i,n,g]),p.default.useEffect(()=>r._removeUnmounted());let b=u.current!==r,y=m.current,v=p.default.useMemo(()=>{if(s)return null;let e=!b&&!e3(y,n);return b||e?x():null},[s,b,n,y,x]);return null!==v?v:f}({control:a,name:r,defaultValue:c,exact:o}),u=function(e){let t=p.default.useContext(eZ),{control:r=t,disabled:n,name:a,exact:s}=e||{},[i,o]=p.default.useState(r._formState),l=p.default.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return e1(()=>r._subscribe({name:a,formState:l.current,exact:s,callback:e=>{n||o({...r._formState,...e})}}),[a,n,s]),p.default.useEffect(()=>{l.current.isValid&&r._setValid(!0)},[r]),p.default.useMemo(()=>e0(i,r,l.current,!1),[i,r])}({control:a,name:r,exact:o}),m=p.default.useRef(e),f=p.default.useRef(void 0),h=p.default.useRef(a.register(r,{...e.rules,value:d,..."boolean"==typeof e.disabled?{disabled:e.disabled}:{}}));m.current=e;let x=p.default.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!eU(u.errors,r)},isDirty:{enumerable:!0,get:()=>!!eU(u.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!eU(u.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!eU(u.validatingFields,r)},error:{enumerable:!0,get:()=>eU(u.errors,r)}}),[u,r]),g=p.default.useCallback(e=>h.current.onChange({target:{value:eP(e),name:r},type:"change"}),[r]),b=p.default.useCallback(()=>h.current.onBlur({target:{value:eU(a._formValues,r),name:r},type:eH}),[r,a._formValues]),y=p.default.useCallback(e=>{let t=eU(a._fields,r);t&&t._f&&e&&(t._f.ref={focus:()=>eB(e.focus)&&e.focus(),select:()=>eB(e.select)&&e.select(),setCustomValidity:t=>eB(e.setCustomValidity)&&e.setCustomValidity(t),reportValidity:()=>eB(e.reportValidity)&&e.reportValidity()})},[a._fields,r]),v=p.default.useMemo(()=>({name:r,value:d,..."boolean"==typeof n||u.disabled?{disabled:u.disabled||n}:{},onChange:g,onBlur:b,ref:y}),[r,n,u.disabled,g,b,y,d]);return p.default.useEffect(()=>{let e=a._options.shouldUnregister||s,t=f.current;t&&t!==r&&!l&&a.unregister(t),a.register(r,{...m.current.rules,..."boolean"==typeof m.current.disabled?{disabled:m.current.disabled}:{}});let n=(e,t)=>{let r=eU(a._fields,e);r&&r._f&&(r._f.mount=t)};if(n(r,!0),e){let e=eV(eU(a._options.defaultValues,r,m.current.defaultValue));eW(a._defaultValues,r,e),eI(eU(a._formValues,r))&&eW(a._formValues,r,e)}return l||a.register(r),f.current=r,()=>{(l?e&&!a._state.action:e)?a.unregister(r):n(r,!1)}},[r,a,l,s]),p.default.useEffect(()=>{a._setDisabledField({disabled:n,name:r})},[n,r,a]),p.default.useMemo(()=>({field:v,formState:u,fieldState:x}),[v,u,x])}(e));p.default.createContext(null).displayName="HookFormContext";var e9=(e,t,r,n,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:a||!0}}:{},e8=e=>Array.isArray(e)?e:[e],e7=()=>{let e=[];return{get observers(){return e},next:t=>{for(let r of e)r.next&&r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}},te=e=>eD(e)&&!Object.keys(e).length,tt=e=>{if(!eL)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},tr=e=>tt(e)&&e.isConnected;function tn(e,t){let r=Array.isArray(t)?t:/^\w*$/.test(t)?[t]:eq(t),n=1===r.length?e:function(e,t){let r=t.slice(0,-1).length,n=0;for(;n<r;)e=eI(e)?n++:e[t[n++]];return e}(e,r),a=r.length-1,s=r[a];return n&&delete n[s],0!==a&&(eD(n)&&te(n)||Array.isArray(n)&&function(e){for(let t in e)if(e.hasOwnProperty(t)&&!eI(e[t]))return!1;return!0}(n))&&tn(e,r.slice(0,-1)),e}function ta(e){return Array.isArray(e)||eD(e)&&!(e=>{for(let t in e)if(eB(e[t]))return!0;return!1})(e)}function ts(e,t={}){for(let r in e){let n=e[r];ta(n)?(t[r]=Array.isArray(n)?[]:{},ts(n,t[r])):eI(n)||(t[r]=!0)}return t}function ti(e,t,r){for(let n in r||(r=ts(t)),e){let a=e[n];if(ta(a))eI(t)||e4(r[n])?r[n]=ts(a,Array.isArray(a)?[]:{}):ti(a,eF(t)?{}:t[n],r[n]);else{let e=t[n];r[n]=!e3(a,e)}}return r}let to={value:!1,isValid:!1},tl={value:!0,isValid:!0};var tc=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!eI(e[0].attributes.value)?eI(e[0].value)||""===e[0].value?tl:{value:e[0].value,isValid:!0}:tl:to}return to},td=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>eI(e)?e:t?""===e?NaN:e?+e:e:r&&e2(e)?new Date(e):n?n(e):e;let tu={isValid:!1,value:null};var tm=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,tu):tu;function tp(e){let t=e.ref;return"file"===t.type?t.files:"radio"===t.type?tm(e.refs).value:"select-multiple"===t.type?[...t.selectedOptions].map(({value:e})=>e):"checkbox"===t.type?tc(e.refs).value:td(eI(t.value)?e.ref.value:t.value,e)}var tf=e=>eI(e)?e:e instanceof RegExp?e.source:eD(e)?e.value instanceof RegExp?e.value.source:e.value:e,th=e=>({isOnSubmit:!e||e===eK,isOnBlur:"onBlur"===e,isOnChange:e===eQ,isOnAll:"all"===e,isOnTouch:"onTouched"===e});let tx="AsyncFunction";var tg=e=>!!e&&!!e.validate&&!!(eB(e.validate)&&e.validate.constructor.name===tx||eD(e.validate)&&Object.values(e.validate).find(e=>e.constructor.name===tx)),tb=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length))));let ty=(e,t,r,n)=>{for(let a of r||Object.keys(e)){let r=eU(e,a);if(r){let{_f:e,...s}=r;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],a)&&!n)return!0;else if(e.ref&&t(e.ref,e.name)&&!n)return!0;else if(ty(s,t))break}else if(eD(s)&&ty(s,t))break}}};function tv(e,t,r){let n=eU(e,r);if(n||/^\w*$/.test(r))return{error:n,name:r};let a=r.split(".");for(;a.length;){let n=a.join("."),s=eU(t,n),i=eU(e,n);if(s&&!Array.isArray(s)&&r!==n)break;if(i&&i.type)return{name:n,error:i};if(i&&i.root&&i.root.type)return{name:`${n}.root`,error:i.root};a.pop()}return{name:r}}var tk=(e,t,r)=>{let n=e8(eU(e,r));return eW(n,"root",t[r]),eW(e,r,n),e};function tw(e,t,r="validate"){if(e2(e)||Array.isArray(e)&&e.every(e2)||"boolean"==typeof e&&!e)return{type:r,message:e2(e)?e:"",ref:t}}var tj=e=>!eD(e)||e instanceof RegExp?{value:e,message:""}:e,tz=async(e,t,r,n,a,s)=>{let{ref:i,refs:o,required:l,maxLength:c,minLength:d,min:u,max:m,pattern:p,validate:f,name:h,valueAsNumber:x,mount:g}=e._f,b=eU(r,h);if(!g||t.has(h))return{};let y=o?o[0]:i,v=e=>{a&&y.reportValidity&&(y.setCustomValidity("boolean"==typeof e?"":e||""),y.reportValidity())},k={},w="radio"===i.type,j="checkbox"===i.type,z=(x||"file"===i.type)&&eI(i.value)&&eI(b)||tt(i)&&""===i.value||""===b||Array.isArray(b)&&!b.length,N=e9.bind(null,h,n,k),S=(e,t,r,n=eG,a=eJ)=>{let s=e?t:r;k[h]={type:e?n:a,message:s,ref:i,...N(e?n:a,s)}};if(s?!Array.isArray(b)||!b.length:l&&(!(w||j)&&(z||eF(b))||"boolean"==typeof b&&!b||j&&!tc(o).isValid||w&&!tm(o).isValid)){let{value:e,message:t}=e2(l)?{value:!!l,message:l}:tj(l);if(e&&(k[h]={type:eX,message:t,ref:y,...N(eX,t)},!n))return v(t),k}if(!z&&(!eF(u)||!eF(m))){let e,t,r=tj(m),a=tj(u);if(eF(b)||isNaN(b)){let n=i.valueAsDate||new Date(b),s=e=>new Date(new Date().toDateString()+" "+e),o="time"==i.type,l="week"==i.type;e2(r.value)&&b&&(e=o?s(b)>s(r.value):l?b>r.value:n>new Date(r.value)),e2(a.value)&&b&&(t=o?s(b)<s(a.value):l?b<a.value:n<new Date(a.value))}else{let n=i.valueAsNumber||(b?+b:b);eF(r.value)||(e=n>r.value),eF(a.value)||(t=n<a.value)}if((e||t)&&(S(!!e,r.message,a.message,"max","min"),!n))return v(k[h].message),k}if((c||d)&&!z&&(e2(b)||s&&Array.isArray(b))){let e=tj(c),t=tj(d),r=!eF(e.value)&&b.length>+e.value,a=!eF(t.value)&&b.length<+t.value;if((r||a)&&(S(r,e.message,t.message),!n))return v(k[h].message),k}if(p&&!z&&e2(b)){let{value:e,message:t}=tj(p);if(e instanceof RegExp&&!b.match(e)&&(k[h]={type:eY,message:t,ref:i,...N(eY,t)},!n))return v(t),k}if(f){if(eB(f)){let e=tw(await f(b,r),y);if(e&&(k[h]={...e,...N("validate",e.message)},!n))return v(e.message),k}else if(eD(f)){let e={};for(let t in f){if(!te(e)&&!n)break;let a=tw(await f[t](b,r),y,t);a&&(e={...a,...N(t,a.message)},v(a.message),n&&(k[h]=e))}if(!te(e)&&(k[h]={ref:y,...e},!n))return k}}return v(!0),k};let tN={mode:eK,reValidateMode:eQ,shouldFocusError:!0};function tS(e={}){let t=p.default.useRef(void 0),r=p.default.useRef(void 0),[n,a]=p.default.useState({isDirty:!1,isValidating:!1,isLoading:eB(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:eB(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:n},e.defaultValues&&!eB(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:r,...a}=function(e={}){let t,r={...tN,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:eB(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},a={},s=(eD(r.defaultValues)||eD(r.values))&&eV(r.defaultValues||r.values)||{},i=r.shouldUnregister?{}:eV(s),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},l={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},c=0,d={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},u={...d},m={...u},p={array:e7(),state:e7()},f="all"===r.criteriaMode,h=async e=>{if(!o.keepIsValid&&!r.disabled&&(u.isValid||m.isValid||e)){let e;r.resolver?(e=te((await y()).errors),x()):e=await k(a,!0),e!==n.isValid&&p.state.next({isValid:e})}},x=(e,t)=>{!r.disabled&&(u.isValidating||u.validatingFields||m.isValidating||m.validatingFields)&&((e||Array.from(l.mount)).forEach(e=>{e&&(t?eW(n.validatingFields,e,t):tn(n.validatingFields,e))}),p.state.next({validatingFields:n.validatingFields,isValidating:!te(n.validatingFields)}))},g=(e,t,r,n)=>{let l=eU(a,e);if(l){let a=eU(i,e,eI(r)?eU(s,e):r);eI(a)||n&&n.defaultChecked||t?eW(i,e,t?a:tp(l._f)):z(e,a),o.mount&&!o.action&&h()}},b=(e,t,a,i,o)=>{let l=!1,c=!1,d={name:e};if(!r.disabled){if(!a||i){(u.isDirty||m.isDirty)&&(c=n.isDirty,n.isDirty=d.isDirty=w(),l=c!==d.isDirty);let r=e3(eU(s,e),t);c=!!eU(n.dirtyFields,e),r?tn(n.dirtyFields,e):eW(n.dirtyFields,e,!0),d.dirtyFields=n.dirtyFields,l=l||(u.dirtyFields||m.dirtyFields)&&!r!==c}if(a){let t=eU(n.touchedFields,e);t||(eW(n.touchedFields,e,a),d.touchedFields=n.touchedFields,l=l||(u.touchedFields||m.touchedFields)&&t!==a)}l&&o&&p.state.next(d)}return l?d:{}},y=async e=>(x(e,!0),await r.resolver(i,r.context,((e,t,r,n)=>{let a={};for(let r of e){let e=eU(t,r);e&&eW(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:n}})(e||l.mount,a,r.criteriaMode,r.shouldUseNativeValidation))),v=async e=>{let{errors:t}=await y(e);if(x(e),e)for(let r of e){let e=eU(t,r);e?eW(n.errors,r,e):tn(n.errors,r)}else n.errors=t;return t},k=async(t,a,s={valid:!0})=>{for(let o in t){let c=t[o];if(c){let{_f:t,...o}=c;if(t){let o=l.array.has(t.name),d=c._f&&tg(c._f);d&&u.validatingFields&&x([t.name],!0);let m=await tz(c,l.disabled,i,f,r.shouldUseNativeValidation&&!a,o);if(d&&u.validatingFields&&x([t.name]),m[t.name]&&(s.valid=!1,a||e.shouldUseNativeValidation))break;a||(eU(m,t.name)?o?tk(n.errors,m,t.name):eW(n.errors,t.name,m[t.name]):tn(n.errors,t.name))}te(o)||await k(o,a,s)}}return s.valid},w=(e,t)=>!r.disabled&&(e&&t&&eW(i,e,t),!e3(T(),s)),j=(e,t,r)=>e5(e,l,{...o.mount?i:eI(t)?s:e2(e)?{[e]:t}:t},r,t),z=(e,t,r={})=>{let n=eU(a,e),s=t;if(n){let r=n._f;r&&(r.disabled||eW(i,e,td(t,r)),s=tt(r.ref)&&eF(t)?"":t,"select-multiple"===r.ref.type?[...r.ref.options].forEach(e=>e.selected=s.includes(e.value)):r.refs?"checkbox"===r.ref.type?r.refs.forEach(e=>{e.defaultChecked&&e.disabled||(Array.isArray(s)?e.checked=!!s.find(t=>t===e.value):e.checked=s===e.value||!!s)}):r.refs.forEach(e=>e.checked=e.value===s):"file"===r.ref.type?r.ref.value="":(r.ref.value=s,r.ref.type||p.state.next({name:e,values:eV(i)})))}(r.shouldDirty||r.shouldTouch)&&b(e,s,r.shouldTouch,r.shouldDirty,!0),r.shouldValidate&&R(e)},N=(e,t,r)=>{for(let n in t){if(!t.hasOwnProperty(n))return;let s=t[n],i=e+"."+n,o=eU(a,i);(l.array.has(e)||eD(s)||o&&!o._f)&&!eM(s)?N(i,s,r):z(i,s,r)}},S=(e,t,r={})=>{let c=eU(a,e),d=l.array.has(e),f=eV(t);eW(i,e,f),d?(p.array.next({name:e,values:eV(i)}),(u.isDirty||u.dirtyFields||m.isDirty||m.dirtyFields)&&r.shouldDirty&&p.state.next({name:e,dirtyFields:ti(s,i),isDirty:w(e,f)})):!c||c._f||eF(f)?z(e,f,r):N(e,f,r),tb(e,l)?p.state.next({...n,name:e,values:eV(i)}):p.state.next({name:o.mount?e:void 0,values:eV(i)})},C=async e=>{o.mount=!0;let s=e.target,d=s.name,g=!0,v=eU(a,d),w=e=>{g=Number.isNaN(e)||eM(e)&&isNaN(e.getTime())||e3(e,eU(i,d,e))},j=th(r.mode),z=th(r.reValidateMode);if(v){var N,S,C,E,T;let o,F,D,P=s.type?tp(v._f):eP(e),_=e.type===eH||"focusout"===e.type,L=!((D=v._f).mount&&(D.required||D.min||D.max||D.maxLength||D.minLength||D.pattern||D.validate))&&!r.resolver&&!eU(n.errors,d)&&!v._f.deps||(N=_,S=eU(n.touchedFields,d),C=n.isSubmitted,E=z,!(T=j).isOnAll&&(!C&&T.isOnTouch?!(S||N):(C?E.isOnBlur:T.isOnBlur)?!N:(C?!E.isOnChange:!T.isOnChange)||N)),V=tb(d,l,_);eW(i,d,P),_?s&&s.readOnly||(v._f.onBlur&&v._f.onBlur(e),t&&t(0)):v._f.onChange&&v._f.onChange(e);let I=b(d,P,_),$=!te(I)||V;if(_||p.state.next({name:d,type:e.type,values:eV(i)}),L)return(u.isValid||m.isValid)&&("onBlur"===r.mode?_&&h():_||h()),$&&p.state.next({name:d,...V?{}:I});if(!_&&V&&p.state.next({...n}),r.resolver){let{errors:e}=await y([d]);if(x([d]),w(P),g){let t=tv(n.errors,a,d),r=tv(e,a,t.name||d);o=r.error,d=r.name,F=te(e)}}else x([d],!0),o=(await tz(v,l.disabled,i,f,r.shouldUseNativeValidation))[d],x([d]),w(P),g&&(o?F=!1:(u.isValid||m.isValid)&&(F=await k(a,!0)));if(g){v._f.deps&&(!Array.isArray(v._f.deps)||v._f.deps.length>0)&&R(v._f.deps);var A=d,O=F,M=o;let e=eU(n.errors,A),a=(u.isValid||m.isValid)&&"boolean"==typeof O&&n.isValid!==O;if(r.delayError&&M){let e;e=()=>{eW(n.errors,A,M),p.state.next({errors:n.errors})},(t=t=>{clearTimeout(c),c=setTimeout(e,t)})(r.delayError)}else clearTimeout(c),t=null,M?eW(n.errors,A,M):tn(n.errors,A);if((M?!e3(e,M):e)||!te(I)||a){let e={...I,...a&&"boolean"==typeof O?{isValid:O}:{},errors:n.errors,name:A};n={...n,...e},p.state.next(e)}}}},E=(e,t)=>{if(eU(n.errors,t)&&e.focus)return e.focus(),1},R=async(e,t={})=>{let s,i,o=e8(e);if(r.resolver){let t=await v(eI(e)?e:o);s=te(t),i=e?!o.some(e=>eU(t,e)):s}else e?((i=(await Promise.all(o.map(async e=>{let t=eU(a,e);return await k(t&&t._f?{[e]:t}:t)}))).every(Boolean))||n.isValid)&&h():i=s=await k(a);return p.state.next({...!e2(e)||(u.isValid||m.isValid)&&s!==n.isValid?{}:{name:e},...r.resolver||!e?{isValid:s}:{},errors:n.errors}),t.shouldFocus&&!i&&ty(a,E,e?o:l.mount),i},T=(e,t)=>{let r={...o.mount?i:s};return t&&(r=function e(t,r){let n={};for(let a in t)if(t.hasOwnProperty(a)){let s=t[a],i=r[a];if(s&&eD(s)&&i){let t=e(s,i);eD(t)&&(n[a]=t)}else t[a]&&(n[a]=i)}return n}(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),eI(e)?r:e2(e)?eU(r,e):e.map(e=>eU(r,e))},A=(e,t)=>({invalid:!!eU((t||n).errors,e),isDirty:!!eU((t||n).dirtyFields,e),error:eU((t||n).errors,e),isValidating:!!eU(n.validatingFields,e),isTouched:!!eU((t||n).touchedFields,e)}),O=(e,t,r)=>{let s=(eU(a,e,{_f:{}})._f||{}).ref,{ref:i,message:o,type:l,...c}=eU(n.errors,e)||{};eW(n.errors,e,{...c,...t,ref:s}),p.state.next({name:e,errors:n.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},M=e=>p.state.subscribe({next:t=>{let r,a,o;r=e.name,a=t.name,o=e.exact,(!r||!a||r===a||e8(r).some(e=>e&&(o?e===a:e.startsWith(a)||a.startsWith(e))))&&((e,t,r,n)=>{r(e);let{name:a,...s}=e;return te(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(e=>t[e]===(!n||"all"))})(t,e.formState||u,$,e.reRenderRoot)&&e.callback({values:{...i},...n,...t,defaultValues:s})}}).unsubscribe,F=(e,t={})=>{for(let o of e?e8(e):l.mount)l.mount.delete(o),l.array.delete(o),t.keepValue||(tn(a,o),tn(i,o)),t.keepError||tn(n.errors,o),t.keepDirty||tn(n.dirtyFields,o),t.keepTouched||tn(n.touchedFields,o),t.keepIsValidating||tn(n.validatingFields,o),r.shouldUnregister||t.keepDefaultValue||tn(s,o);p.state.next({values:eV(i)}),p.state.next({...n,...!t.keepDirty?{}:{isDirty:w()}}),t.keepIsValid||h()},D=({disabled:e,name:t})=>{if("boolean"==typeof e&&o.mount||e||l.disabled.has(t)){let r=l.disabled.has(t);e?l.disabled.add(t):l.disabled.delete(t),!!e!==r&&o.mount&&!o.action&&h()}},P=(e,t={})=>{let n=eU(a,e),i="boolean"==typeof t.disabled||"boolean"==typeof r.disabled;return(eW(a,e,{...n||{},_f:{...n&&n._f?n._f:{ref:{name:e}},name:e,mount:!0,...t}}),l.mount.add(e),n)?D({disabled:"boolean"==typeof t.disabled?t.disabled:r.disabled,name:e}):g(e,!0,t.value),{...i?{disabled:t.disabled||r.disabled}:{},...r.progressive?{required:!!t.required,min:tf(t.min),max:tf(t.max),minLength:tf(t.minLength),maxLength:tf(t.maxLength),pattern:tf(t.pattern)}:{},name:e,onChange:C,onBlur:C,ref:i=>{if(i){let r;P(e,t),n=eU(a,e);let o=eI(i.value)&&i.querySelectorAll&&i.querySelectorAll("input,select,textarea")[0]||i,l="radio"===(r=o).type||"checkbox"===r.type,c=n._f.refs||[];(l?c.find(e=>e===o):o===n._f.ref)||(eW(a,e,{_f:{...n._f,...l?{refs:[...c.filter(tr),o,...Array.isArray(eU(s,e))?[{}]:[]],ref:{type:o.type,name:e}}:{ref:o}}}),g(e,!1,void 0,o))}else(n=eU(a,e,{}))._f&&(n._f.mount=!1),(r.shouldUnregister||t.shouldUnregister)&&!(e_(l.array,e)&&o.action)&&l.unMount.add(e)}}},_=()=>r.shouldFocusError&&ty(a,E,l.mount),L=(e,t)=>async s=>{let o;s&&(s.preventDefault&&s.preventDefault(),s.persist&&s.persist());let c=eV(i);if(p.state.next({isSubmitting:!0}),r.resolver){let{errors:e,values:t}=await y();x(),n.errors=e,c=eV(t)}else await k(a);if(l.disabled.size)for(let e of l.disabled)tn(c,e);if(tn(n.errors,"root"),te(n.errors)){p.state.next({errors:{}});try{await e(c,s)}catch(e){o=e}}else t&&await t({...n.errors},s),_(),setTimeout(_);if(p.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:te(n.errors)&&!o,submitCount:n.submitCount+1,errors:n.errors}),o)throw o},V=(e,t={})=>{let c=e?eV(e):s,d=eV(c),m=te(e),f=m?s:d;if(t.keepDefaultValues||(s=c),!t.keepValues){if(t.keepDirtyValues)for(let e of Array.from(new Set([...l.mount,...Object.keys(ti(s,i))]))){let t=eU(n.dirtyFields,e),r=eU(i,e),a=eU(f,e);t&&!eI(r)?eW(f,e,r):t||eI(a)||S(e,a)}else{if(eL&&eI(e))for(let e of l.mount){let t=eU(a,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(tt(e)){let t=e.closest("form");if(t){t.reset();break}}}}if(t.keepFieldsRef)for(let e of l.mount)S(e,eU(f,e));else a={}}i=r.shouldUnregister?t.keepDefaultValues?eV(s):{}:eV(f),p.array.next({values:{...f}}),p.state.next({values:{...f}})}l={mount:t.keepDirtyValues?l.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!u.isValid||!!t.keepIsValid||!!t.keepDirtyValues||!r.shouldUnregister&&!te(f),o.watch=!!r.shouldUnregister,o.keepIsValid=!!t.keepIsValid,o.action=!1,t.keepErrors||(n.errors={}),p.state.next({submitCount:t.keepSubmitCount?n.submitCount:0,isDirty:!m&&(t.keepDirty?n.isDirty:!!(t.keepDefaultValues&&!e3(e,s))),isSubmitted:!!t.keepIsSubmitted&&n.isSubmitted,dirtyFields:m?{}:t.keepDirtyValues?t.keepDefaultValues&&i?ti(s,i):n.dirtyFields:t.keepDefaultValues&&e?ti(s,e):t.keepDirty?n.dirtyFields:{},touchedFields:t.keepTouched?n.touchedFields:{},errors:t.keepErrors?n.errors:{},isSubmitSuccessful:!!t.keepIsSubmitSuccessful&&n.isSubmitSuccessful,isSubmitting:!1,defaultValues:s})},I=(e,t)=>V(eB(e)?e(i):e,{...r.resetOptions,...t}),$=e=>{n={...n,...e}},q={control:{register:P,unregister:F,getFieldState:A,handleSubmit:L,setError:O,_subscribe:M,_runSchema:y,_updateIsValidating:x,_focusError:_,_getWatch:j,_getDirty:w,_setValid:h,_setFieldArray:(e,t=[],l,c,d=!0,f=!0)=>{if(c&&l&&!r.disabled){if(o.action=!0,f&&Array.isArray(eU(a,e))){let t=l(eU(a,e),c.argA,c.argB);d&&eW(a,e,t)}if(f&&Array.isArray(eU(n.errors,e))){let t,r=l(eU(n.errors,e),c.argA,c.argB);d&&eW(n.errors,e,r),e$(eU(t=n.errors,e)).length||tn(t,e)}if((u.touchedFields||m.touchedFields)&&f&&Array.isArray(eU(n.touchedFields,e))){let t=l(eU(n.touchedFields,e),c.argA,c.argB);d&&eW(n.touchedFields,e,t)}(u.dirtyFields||m.dirtyFields)&&(n.dirtyFields=ti(s,i)),p.state.next({name:e,isDirty:w(e,t),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else eW(i,e,t)},_setDisabledField:D,_setErrors:e=>{n.errors=e,p.state.next({errors:n.errors,isValid:!1})},_getFieldArray:e=>e$(eU(o.mount?i:s,e,r.shouldUnregister?eU(s,e,[]):[])),_reset:V,_resetDefaultValues:()=>eB(r.defaultValues)&&r.defaultValues().then(e=>{I(e,r.resetOptions),p.state.next({isLoading:!1})}),_removeUnmounted:()=>{for(let e of l.unMount){let t=eU(a,e);t&&(t._f.refs?t._f.refs.every(e=>!tr(e)):!tr(t._f.ref))&&F(e)}l.unMount=new Set},_disableForm:e=>{"boolean"==typeof e&&(p.state.next({disabled:e}),ty(a,(t,r)=>{let n=eU(a,r);n&&(t.disabled=n._f.disabled||e,Array.isArray(n._f.refs)&&n._f.refs.forEach(t=>{t.disabled=n._f.disabled||e}))},0,!1))},_subjects:p,_proxyFormState:u,get _fields(){return a},get _formValues(){return i},get _state(){return o},set _state(value){o=value},get _defaultValues(){return s},get _names(){return l},set _names(value){l=value},get _formState(){return n},get _options(){return r},set _options(value){r={...r,...value}}},subscribe:e=>(o.mount=!0,m={...m,...e.formState},M({...e,formState:{...d,...e.formState}})),trigger:R,register:P,handleSubmit:L,watch:(e,t)=>eB(e)?p.state.subscribe({next:r=>"values"in r&&e(j(void 0,t),r)}):j(e,t,!0),setValue:S,getValues:T,reset:I,resetField:(e,t={})=>{eU(a,e)&&(eI(t.defaultValue)?S(e,eV(eU(s,e))):(S(e,t.defaultValue),eW(s,e,eV(t.defaultValue))),t.keepTouched||tn(n.touchedFields,e),t.keepDirty||(tn(n.dirtyFields,e),n.isDirty=t.defaultValue?w(e,eV(eU(s,e))):w()),!t.keepError&&(tn(n.errors,e),u.isValid&&h()),p.state.next({...n}))},clearErrors:e=>{let t=e?e8(e):void 0;null==t||t.forEach(e=>tn(n.errors,e)),t?t.forEach(e=>{p.state.next({name:e,errors:n.errors})}):p.state.next({errors:{}})},unregister:F,setError:O,setFocus:(e,t={})=>{let r=eU(a,e),n=r&&r._f;if(n){let e=n.refs?n.refs[0]:n.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&eB(e.select)&&e.select()})}},getFieldState:A};return{...q,formControl:q}}(e);t.current={...a,formState:n}}let s=t.current.control;return s._options=e,e1(()=>{let e=s._subscribe({formState:s._proxyFormState,callback:()=>a({...s._formState}),reRenderRoot:!0});return a(e=>({...e,isReady:!0})),s._formState.isReady=!0,e},[s]),p.default.useEffect(()=>s._disableForm(e.disabled),[s,e.disabled]),p.default.useEffect(()=>{e.mode&&(s._options.mode=e.mode),e.reValidateMode&&(s._options.reValidateMode=e.reValidateMode)},[s,e.mode,e.reValidateMode]),p.default.useEffect(()=>{e.errors&&(s._setErrors(e.errors),s._focusError())},[s,e.errors]),p.default.useEffect(()=>{e.shouldUnregister&&s._subjects.state.next({values:s._getWatch()})},[s,e.shouldUnregister]),p.default.useEffect(()=>{if(s._proxyFormState.isDirty){let e=s._getDirty();e!==n.isDirty&&s._subjects.state.next({isDirty:e})}},[s,n.isDirty]),p.default.useEffect(()=>{var t;e.values&&!e3(e.values,r.current)?(s._reset(e.values,{keepFieldsRef:!0,...s._options.resetOptions}),(null==(t=s._options.resetOptions)?void 0:t.keepIsValid)||s._setValid(),r.current=e.values,a(e=>({...e}))):s._resetDefaultValues()},[s,e.values]),p.default.useEffect(()=>{s._state.mount||(s._setValid(),s._state.mount=!0),s._state.watch&&(s._state.watch=!1,s._subjects.state.next({...s._formState})),s._removeUnmounted()}),t.current.formState=p.default.useMemo(()=>e0(n,s),[s,n]),t.current}var tC=e.i(74080);function tE(e,[t,r]){return Math.min(r,Math.max(t,e))}function tR(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}function tT(e,t=[]){let r=[],n=()=>{let t=r.map(e=>p.createContext(e));return function(r){let n=r?.[e]||t;return p.useMemo(()=>({[`__scope${e}`]:{...r,[e]:n}}),[r,n])}};return n.scopeName=e,[function(t,n){let a=p.createContext(n),s=r.length;r=[...r,n];let i=t=>{let{scope:r,children:n,...i}=t,o=r?.[e]?.[s]||a,l=p.useMemo(()=>i,Object.values(i));return(0,m.jsx)(o.Provider,{value:l,children:n})};return i.displayName=t+"Provider",[i,function(r,i){let o=i?.[e]?.[s]||a,l=p.useContext(o);if(l)return l;if(void 0!==n)return n;throw Error(`\`${r}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let r=()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=r.reduce((t,{useScope:r,scopeName:n})=>{let a=r(e)[`__scope${n}`];return{...t,...a}},{});return p.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return r.scopeName=t.scopeName,r}(n,...t)]}function tA(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function tO(...e){return t=>{let r=!1,n=e.map(e=>{let n=tA(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():tA(e[t],null)}}}}function tM(...e){return p.useCallback(tO(...e),e)}function tF(e){var t;let r,n=(t=e,(r=p.forwardRef((e,t)=>{let{children:r,...n}=e;if(p.isValidElement(r)){var a;let e,s,i=(a=r,(s=(e=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.ref:(s=(e=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.props.ref:a.props.ref||a.ref),o=function(e,t){let r={...t};for(let n in t){let a=e[n],s=t[n];/^on[A-Z]/.test(n)?a&&s?r[n]=(...e)=>{let t=s(...e);return a(...e),t}:a&&(r[n]=a):"style"===n?r[n]={...a,...s}:"className"===n&&(r[n]=[a,s].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==p.Fragment&&(o.ref=t?tO(t,i):i),p.cloneElement(r,o)}return p.Children.count(r)>1?p.Children.only(null):null})).displayName=`${t}.SlotClone`,r),a=p.forwardRef((e,t)=>{let{children:r,...a}=e,s=p.Children.toArray(r),i=s.find(tP);if(i){let e=i.props.children,r=s.map(t=>t!==i?t:p.Children.count(e)>1?p.Children.only(null):p.isValidElement(e)?e.props.children:null);return(0,m.jsx)(n,{...a,ref:t,children:p.isValidElement(e)?p.cloneElement(e,void 0,r):null})}return(0,m.jsx)(n,{...a,ref:t,children:r})});return a.displayName=`${e}.Slot`,a}"u">typeof window&&window.document&&window.document.createElement;var tD=Symbol("radix.slottable");function tP(e){return p.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===tD}var t_=new WeakMap;function tL(e,t){var r,n;let a,s,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let o=(r=e,n=t,a=r.length,(i=(s=tV(n))>=0?s:a+s)<0||i>=a?-1:i);return -1===o?void 0:e[o]}function tV(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#C;constructor(e){super(e),this.#C=[...super.keys()],t_.set(this,!0)}set(e,t){return t_.get(this)&&(this.has(e)?this.#C[this.#C.indexOf(e)]=e:this.#C.push(e)),super.set(e,t),this}insert(e,t,r){let n,a=this.has(t),s=this.#C.length,i=tV(e),o=i>=0?i:s+i,l=o<0||o>=s?-1:o;if(l===this.size||a&&l===this.size-1||-1===l)return this.set(t,r),this;let c=this.size+ +!a;i<0&&o++;let d=[...this.#C],u=!1;for(let e=o;e<c;e++)if(o===e){let s=d[e];d[e]===t&&(s=d[e+1]),a&&this.delete(t),n=this.get(s),this.set(t,r)}else{u||d[e-1]!==t||(u=!0);let r=d[u?e:e-1],a=n;n=this.get(r),this.delete(r),this.set(r,a)}return this}with(t,r,n){let a=new e(this);return a.insert(t,r,n),a}before(e){let t=this.#C.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#C.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#C.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#C.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#C=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#C.splice(this.#C.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=tL(this.#C,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=tL(this.#C,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#C.indexOf(e)}keyAt(e){return tL(this.#C,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],a=0;for(let e of this)Reflect.apply(t,r,[e,a,this])&&n.push(e),a++;return new e(n)}map(t,r){let n=[],a=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,a,this])]),a++;return new e(n)}reduce(...e){let[t,r]=e,n=0,a=r??this.at(0);for(let r of this)a=0===n&&1===e.length?r:Reflect.apply(t,this,[a,r,n,this]),n++;return a}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let a=this.at(r);n=r===this.size-1&&1===e.length?a:Reflect.apply(t,this,[n,a,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,a=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(a=r-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}});var tI=p.createContext(void 0),t$=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=tF(`Primitive.${t}`),n=p.forwardRef((e,n)=>{let{asChild:a,...s}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,m.jsx)(a?r:t,{...s,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function tq(e){let t=p.useRef(e);return p.useEffect(()=>{t.current=e}),p.useMemo(()=>(...e)=>t.current?.(...e),[])}var tU="dismissableLayer.update",tB=p.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),tW=p.forwardRef((e,t)=>{let{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:a,onFocusOutside:s,onInteractOutside:i,onDismiss:o,...l}=e,c=p.useContext(tB),[u,f]=p.useState(null),h=u?.ownerDocument??globalThis?.document,[,x]=p.useState({}),g=tM(t,e=>f(e)),b=Array.from(c.layers),[y]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),v=b.indexOf(y),k=u?b.indexOf(u):-1,w=c.layersWithOutsidePointerEventsDisabled.size>0,j=k>=v,z=function(e,t=globalThis?.document){let r=tq(e),n=p.useRef(!1),a=p.useRef(()=>{});return p.useEffect(()=>{let e=e=>{if(e.target&&!n.current){let n=function(){tQ("dismissableLayer.pointerDownOutside",r,s,{discrete:!0})},s={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",a.current),a.current=n,t.addEventListener("click",a.current,{once:!0})):n()}else t.removeEventListener("click",a.current);n.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",e),t.removeEventListener("click",a.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}(e=>{let t=e.target,r=[...c.branches].some(e=>e.contains(t));j&&!r&&(a?.(e),i?.(e),e.defaultPrevented||o?.())},h),N=function(e,t=globalThis?.document){let r=tq(e),n=p.useRef(!1);return p.useEffect(()=>{let e=e=>{e.target&&!n.current&&tQ("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}(e=>{let t=e.target;![...c.branches].some(e=>e.contains(t))&&(s?.(e),i?.(e),e.defaultPrevented||o?.())},h);return!function(e,t=globalThis?.document){let r=tq(e);p.useEffect(()=>{let e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}(e=>{k===c.layers.size-1&&(n?.(e),!e.defaultPrevented&&o&&(e.preventDefault(),o()))},h),p.useEffect(()=>{if(u)return r&&(0===c.layersWithOutsidePointerEventsDisabled.size&&(d=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),tH(),()=>{r&&1===c.layersWithOutsidePointerEventsDisabled.size&&(h.body.style.pointerEvents=d)}},[u,h,r,c]),p.useEffect(()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),tH())},[u,c]),p.useEffect(()=>{let e=()=>x({});return document.addEventListener(tU,e),()=>document.removeEventListener(tU,e)},[]),(0,m.jsx)(t$.div,{...l,ref:g,style:{pointerEvents:w?j?"auto":"none":void 0,...e.style},onFocusCapture:tR(e.onFocusCapture,N.onFocusCapture),onBlurCapture:tR(e.onBlurCapture,N.onBlurCapture),onPointerDownCapture:tR(e.onPointerDownCapture,z.onPointerDownCapture)})});function tH(){let e=new CustomEvent(tU);document.dispatchEvent(e)}function tQ(e,t,r,{discrete:n}){let a=r.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});if(t&&a.addEventListener(e,t,{once:!0}),n)a&&tC.flushSync(()=>a.dispatchEvent(s));else a.dispatchEvent(s)}tW.displayName="DismissableLayer",p.forwardRef((e,t)=>{let r=p.useContext(tB),n=p.useRef(null),a=tM(t,n);return p.useEffect(()=>{let e=n.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,m.jsx)(t$.div,{...e,ref:a})}).displayName="DismissableLayerBranch";var tK=0;function tG(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var tJ="focusScope.autoFocusOnMount",tY="focusScope.autoFocusOnUnmount",tX={bubbles:!1,cancelable:!0},tZ=p.forwardRef((e,t)=>{let{loop:r=!1,trapped:n=!1,onMountAutoFocus:a,onUnmountAutoFocus:s,...i}=e,[o,l]=p.useState(null),c=tq(a),d=tq(s),u=p.useRef(null),f=tM(t,e=>l(e)),h=p.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;p.useEffect(()=>{if(n){let e=function(e){if(h.paused||!o)return;let t=e.target;o.contains(t)?u.current=t:t2(u.current,{select:!0})},t=function(e){if(h.paused||!o)return;let t=e.relatedTarget;null!==t&&(o.contains(t)||t2(u.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&t2(o)});return o&&r.observe(o,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[n,o,h.paused]),p.useEffect(()=>{if(o){t5.add(h);let e=document.activeElement;if(!o.contains(e)){let t=new CustomEvent(tJ,tX);o.addEventListener(tJ,c),o.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let r=document.activeElement;for(let n of e)if(t2(n,{select:t}),document.activeElement!==r)return}(t0(o).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&t2(o))}return()=>{o.removeEventListener(tJ,c),setTimeout(()=>{let t=new CustomEvent(tY,tX);o.addEventListener(tY,d),o.dispatchEvent(t),t.defaultPrevented||t2(e??document.body,{select:!0}),o.removeEventListener(tY,d),t5.remove(h)},0)}}},[o,c,d,h]);let x=p.useCallback(e=>{if(!r&&!n||h.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,a=document.activeElement;if(t&&a){var s;let t,n=e.currentTarget,[i,o]=[t1(t=t0(s=n),s),t1(t.reverse(),s)];i&&o?e.shiftKey||a!==o?e.shiftKey&&a===i&&(e.preventDefault(),r&&t2(o,{select:!0})):(e.preventDefault(),r&&t2(i,{select:!0})):a===n&&e.preventDefault()}},[r,n,h.paused]);return(0,m.jsx)(t$.div,{tabIndex:-1,...i,ref:f,onKeyDown:x})});function t0(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function t1(e,t){for(let r of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function t2(e,{select:t=!1}={}){if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}tZ.displayName="FocusScope";var t5=(n=[],{add(e){let t=n[0];e!==t&&t?.pause(),(n=t4(n,e)).unshift(e)},remove(e){n=t4(n,e),n[0]?.resume()}});function t4(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}var t3=globalThis?.document?p.useLayoutEffect:()=>{},t6=p[" useId ".trim().toString()]||(()=>void 0),t9=0;function t8(e){let[t,r]=p.useState(t6());return t3(()=>{e||r(e=>e??String(t9++))},[e]),e||(t?`radix-${t}`:"")}let t7=["top","right","bottom","left"],re=Math.min,rt=Math.max,rr=Math.round,rn=Math.floor,ra=e=>({x:e,y:e}),rs={left:"right",right:"left",bottom:"top",top:"bottom"};function ri(e,t){return"function"==typeof e?e(t):e}function ro(e){return e.split("-")[0]}function rl(e){return e.split("-")[1]}function rc(e){return"x"===e?"y":"x"}function rd(e){return"y"===e?"height":"width"}function ru(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function rm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let rp=["left","right"],rf=["right","left"],rh=["top","bottom"],rx=["bottom","top"];function rg(e){let t=ro(e);return rs[t]+e.slice(t.length)}function rb(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function ry(e){let{x:t,y:r,width:n,height:a}=e;return{width:n,height:a,top:r,left:t,right:t+n,bottom:r+a,x:t,y:r}}function rv(e,t,r){let n,{reference:a,floating:s}=e,i=ru(t),o=rc(ru(t)),l=rd(o),c=ro(t),d="y"===i,u=a.x+a.width/2-s.width/2,m=a.y+a.height/2-s.height/2,p=a[l]/2-s[l]/2;switch(c){case"top":n={x:u,y:a.y-s.height};break;case"bottom":n={x:u,y:a.y+a.height};break;case"right":n={x:a.x+a.width,y:m};break;case"left":n={x:a.x-s.width,y:m};break;default:n={x:a.x,y:a.y}}switch(rl(t)){case"start":n[o]-=p*(r&&d?-1:1);break;case"end":n[o]+=p*(r&&d?-1:1)}return n}async function rk(e,t){var r;void 0===t&&(t={});let{x:n,y:a,platform:s,rects:i,elements:o,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:m=!1,padding:p=0}=ri(t,e),f=rb(p),h=o[m?"floating"===u?"reference":"floating":u],x=ry(await s.getClippingRect({element:null==(r=await (null==s.isElement?void 0:s.isElement(h)))||r?h:h.contextElement||await (null==s.getDocumentElement?void 0:s.getDocumentElement(o.floating)),boundary:c,rootBoundary:d,strategy:l})),g="floating"===u?{x:n,y:a,width:i.floating.width,height:i.floating.height}:i.reference,b=await (null==s.getOffsetParent?void 0:s.getOffsetParent(o.floating)),y=await (null==s.isElement?void 0:s.isElement(b))&&await (null==s.getScale?void 0:s.getScale(b))||{x:1,y:1},v=ry(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:b,strategy:l}):g);return{top:(x.top-v.top+f.top)/y.y,bottom:(v.bottom-x.bottom+f.bottom)/y.y,left:(x.left-v.left+f.left)/y.x,right:(v.right-x.right+f.right)/y.x}}let rw=async(e,t,r)=>{let{placement:n="bottom",strategy:a="absolute",middleware:s=[],platform:i}=r,o=i.detectOverflow?i:{...i,detectOverflow:rk},l=await (null==i.isRTL?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:u}=rv(c,n,l),m=n,p=0,f={};for(let r=0;r<s.length;r++){let h=s[r];if(!h)continue;let{name:x,fn:g}=h,{x:b,y:y,data:v,reset:k}=await g({x:d,y:u,initialPlacement:n,placement:m,strategy:a,middlewareData:f,rects:c,platform:o,elements:{reference:e,floating:t}});d=null!=b?b:d,u=null!=y?y:u,f[x]={...f[x],...v},k&&p<50&&(p++,"object"==typeof k&&(k.placement&&(m=k.placement),k.rects&&(c=!0===k.rects?await i.getElementRects({reference:e,floating:t,strategy:a}):k.rects),{x:d,y:u}=rv(c,m,l)),r=-1)}return{x:d,y:u,placement:m,strategy:a,middlewareData:f}};function rj(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function rz(e){return t7.some(t=>e[t]>=0)}let rN=new Set(["left","top"]);async function rS(e,t){let{placement:r,platform:n,elements:a}=e,s=await (null==n.isRTL?void 0:n.isRTL(a.floating)),i=ro(r),o=rl(r),l="y"===ru(r),c=rN.has(i)?-1:1,d=s&&l?-1:1,u=ri(t,e),{mainAxis:m,crossAxis:p,alignmentAxis:f}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return o&&"number"==typeof f&&(p="end"===o?-1*f:f),l?{x:p*d,y:m*c}:{x:m*c,y:p*d}}function rC(){return"u">typeof window}function rE(e){return rA(e)?(e.nodeName||"").toLowerCase():"#document"}function rR(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function rT(e){var t;return null==(t=(rA(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function rA(e){return!!rC()&&(e instanceof Node||e instanceof rR(e).Node)}function rO(e){return!!rC()&&(e instanceof Element||e instanceof rR(e).Element)}function rM(e){return!!rC()&&(e instanceof HTMLElement||e instanceof rR(e).HTMLElement)}function rF(e){return!(!rC()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof rR(e).ShadowRoot)}function rD(e){let{overflow:t,overflowX:r,overflowY:n,display:a}=rU(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&"inline"!==a&&"contents"!==a}function rP(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let r_=/transform|translate|scale|rotate|perspective|filter/,rL=/paint|layout|strict|content/,rV=e=>!!e&&"none"!==e;function rI(e){let t=rO(e)?rU(e):e;return rV(t.transform)||rV(t.translate)||rV(t.scale)||rV(t.rotate)||rV(t.perspective)||!r$()&&(rV(t.backdropFilter)||rV(t.filter))||r_.test(t.willChange||"")||rL.test(t.contain||"")}function r$(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function rq(e){return/^(html|body|#document)$/.test(rE(e))}function rU(e){return rR(e).getComputedStyle(e)}function rB(e){return rO(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function rW(e){if("html"===rE(e))return e;let t=e.assignedSlot||e.parentNode||rF(e)&&e.host||rT(e);return rF(t)?t.host:t}function rH(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);let a=function e(t){let r=rW(t);return rq(r)?t.ownerDocument?t.ownerDocument.body:t.body:rM(r)&&rD(r)?r:e(r)}(e),s=a===(null==(n=e.ownerDocument)?void 0:n.body),i=rR(a);if(!s)return t.concat(a,rH(a,[],r));{let e=rQ(i);return t.concat(i,i.visualViewport||[],rD(a)?a:[],e&&r?rH(e):[])}}function rQ(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function rK(e){let t=rU(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,a=rM(e),s=a?e.offsetWidth:r,i=a?e.offsetHeight:n,o=rr(r)!==s||rr(n)!==i;return o&&(r=s,n=i),{width:r,height:n,$:o}}function rG(e){return rO(e)?e:e.contextElement}function rJ(e){let t=rG(e);if(!rM(t))return ra(1);let r=t.getBoundingClientRect(),{width:n,height:a,$:s}=rK(t),i=(s?rr(r.width):r.width)/n,o=(s?rr(r.height):r.height)/a;return i&&Number.isFinite(i)||(i=1),o&&Number.isFinite(o)||(o=1),{x:i,y:o}}let rY=ra(0);function rX(e){let t=rR(e);return r$()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:rY}function rZ(e,t,r,n){var a;void 0===t&&(t=!1),void 0===r&&(r=!1);let s=e.getBoundingClientRect(),i=rG(e),o=ra(1);t&&(n?rO(n)&&(o=rJ(n)):o=rJ(e));let l=(void 0===(a=r)&&(a=!1),n&&(!a||n===rR(i))&&a)?rX(i):ra(0),c=(s.left+l.x)/o.x,d=(s.top+l.y)/o.y,u=s.width/o.x,m=s.height/o.y;if(i){let e=rR(i),t=n&&rO(n)?rR(n):n,r=e,a=rQ(r);for(;a&&n&&t!==r;){let e=rJ(a),t=a.getBoundingClientRect(),n=rU(a),s=t.left+(a.clientLeft+parseFloat(n.paddingLeft))*e.x,i=t.top+(a.clientTop+parseFloat(n.paddingTop))*e.y;c*=e.x,d*=e.y,u*=e.x,m*=e.y,c+=s,d+=i,a=rQ(r=rR(a))}}return ry({width:u,height:m,x:c,y:d})}function r0(e,t){let r=rB(e).scrollLeft;return t?t.left+r:rZ(rT(e)).left+r}function r1(e,t){let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-r0(e,r),y:r.top+t.scrollTop}}function r2(e,t,r){var n;let a;if("viewport"===t)a=function(e,t){let r=rR(e),n=rT(e),a=r.visualViewport,s=n.clientWidth,i=n.clientHeight,o=0,l=0;if(a){s=a.width,i=a.height;let e=r$();(!e||e&&"fixed"===t)&&(o=a.offsetLeft,l=a.offsetTop)}let c=r0(n);if(c<=0){let e=n.ownerDocument,t=e.body,r=getComputedStyle(t),a="CSS1Compat"===e.compatMode&&parseFloat(r.marginLeft)+parseFloat(r.marginRight)||0,i=Math.abs(n.clientWidth-t.clientWidth-a);i<=25&&(s-=i)}else c<=25&&(s+=c);return{width:s,height:i,x:o,y:l}}(e,r);else if("document"===t){let t,r,s,i,o,l,c;n=rT(e),t=rT(n),r=rB(n),s=n.ownerDocument.body,i=rt(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),o=rt(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight),l=-r.scrollLeft+r0(n),c=-r.scrollTop,"rtl"===rU(s).direction&&(l+=rt(t.clientWidth,s.clientWidth)-i),a={width:i,height:o,x:l,y:c}}else if(rO(t)){let e,n,s,i,o,l;n=(e=rZ(t,!0,"fixed"===r)).top+t.clientTop,s=e.left+t.clientLeft,i=rM(t)?rJ(t):ra(1),o=t.clientWidth*i.x,l=t.clientHeight*i.y,a={width:o,height:l,x:s*i.x,y:n*i.y}}else{let r=rX(e);a={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return ry(a)}function r5(e){return"static"===rU(e).position}function r4(e,t){if(!rM(e)||"fixed"===rU(e).position)return null;if(t)return t(e);let r=e.offsetParent;return rT(e)===r&&(r=r.ownerDocument.body),r}function r3(e,t){var r;let n=rR(e);if(rP(e))return n;if(!rM(e)){let t=rW(e);for(;t&&!rq(t);){if(rO(t)&&!r5(t))return t;t=rW(t)}return n}let a=r4(e,t);for(;a&&(r=a,/^(table|td|th)$/.test(rE(r)))&&r5(a);)a=r4(a,t);return a&&rq(a)&&r5(a)&&!rI(a)?n:a||function(e){let t=rW(e);for(;rM(t)&&!rq(t);){if(rI(t))return t;if(rP(t))break;t=rW(t)}return null}(e)||n}let r6=async function(e){let t=this.getOffsetParent||r3,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=rM(t),a=rT(t),s="fixed"===r,i=rZ(e,!0,s,t),o={scrollLeft:0,scrollTop:0},l=ra(0);if(n||!n&&!s)if(("body"!==rE(t)||rD(a))&&(o=rB(t)),n){let e=rZ(t,!0,s,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else a&&(l.x=r0(a));s&&!n&&a&&(l.x=r0(a));let c=!a||n||s?ra(0):r1(a,o);return{x:i.left+o.scrollLeft-l.x-c.x,y:i.top+o.scrollTop-l.y-c.y,width:i.width,height:i.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},r9={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:a}=e,s="fixed"===a,i=rT(n),o=!!t&&rP(t.floating);if(n===i||o&&s)return r;let l={scrollLeft:0,scrollTop:0},c=ra(1),d=ra(0),u=rM(n);if((u||!u&&!s)&&(("body"!==rE(n)||rD(i))&&(l=rB(n)),u)){let e=rZ(n);c=rJ(n),d.x=e.x+n.clientLeft,d.y=e.y+n.clientTop}let m=!i||u||s?ra(0):r1(i,l);return{width:r.width*c.x,height:r.height*c.y,x:r.x*c.x-l.scrollLeft*c.x+d.x+m.x,y:r.y*c.y-l.scrollTop*c.y+d.y+m.y}},getDocumentElement:rT,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:n,strategy:a}=e,s=[..."clippingAncestors"===r?rP(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=rH(e,[],!1).filter(e=>rO(e)&&"body"!==rE(e)),a=null,s="fixed"===rU(e).position,i=s?rW(e):e;for(;rO(i)&&!rq(i);){let t=rU(i),r=rI(i);r||"fixed"!==t.position||(a=null),(s?r||a:!(!r&&"static"===t.position&&a&&("absolute"===a.position||"fixed"===a.position)||rD(i)&&!r&&function e(t,r){let n=rW(t);return!(n===r||!rO(n)||rq(n))&&("fixed"===rU(n).position||e(n,r))}(e,i)))?a=t:n=n.filter(e=>e!==i),i=rW(i)}return t.set(e,n),n}(t,this._c):[].concat(r),n],i=r2(t,s[0],a),o=i.top,l=i.right,c=i.bottom,d=i.left;for(let e=1;e<s.length;e++){let r=r2(t,s[e],a);o=rt(r.top,o),l=re(r.right,l),c=re(r.bottom,c),d=rt(r.left,d)}return{width:l-d,height:c-o,x:d,y:o}},getOffsetParent:r3,getElementRects:r6,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=rK(e);return{width:t,height:r}},getScale:rJ,isElement:rO,isRTL:function(e){return"rtl"===rU(e).direction}};function r8(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let r7=e=>({name:"arrow",options:e,async fn(t){let{x:r,y:n,placement:a,rects:s,platform:i,elements:o,middlewareData:l}=t,{element:c,padding:d=0}=ri(e,t)||{};if(null==c)return{};let u=rb(d),m={x:r,y:n},p=rc(ru(a)),f=rd(p),h=await i.getDimensions(c),x="y"===p,g=x?"clientHeight":"clientWidth",b=s.reference[f]+s.reference[p]-m[p]-s.floating[f],y=m[p]-s.reference[p],v=await (null==i.getOffsetParent?void 0:i.getOffsetParent(c)),k=v?v[g]:0;k&&await (null==i.isElement?void 0:i.isElement(v))||(k=o.floating[g]||s.floating[f]);let w=k/2-h[f]/2-1,j=re(u[x?"top":"left"],w),z=re(u[x?"bottom":"right"],w),N=k-h[f]-z,S=k/2-h[f]/2+(b/2-y/2),C=rt(j,re(S,N)),E=!l.arrow&&null!=rl(a)&&S!==C&&s.reference[f]/2-(S<j?j:z)-h[f]/2<0,R=E?S<j?S-j:S-N:0;return{[p]:m[p]+R,data:{[p]:C,centerOffset:S-C-R,...E&&{alignmentOffset:R}},reset:E}}});var ne="u">typeof document?p.useLayoutEffect:function(){};function nt(e,t){let r,n,a;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((r=e.length)!==t.length)return!1;for(n=r;0!=n--;)if(!nt(e[n],t[n]))return!1;return!0}if((r=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!({}).hasOwnProperty.call(t,a[n]))return!1;for(n=r;0!=n--;){let r=a[n];if(("_owner"!==r||!e.$$typeof)&&!nt(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function nr(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function nn(e,t){let r=nr(e);return Math.round(t*r)/r}function na(e){let t=p.useRef(e);return ne(()=>{t.current=e}),t}var ns=p.forwardRef((e,t)=>{let{children:r,width:n=10,height:a=5,...s}=e;return(0,m.jsx)(t$.svg,{...s,ref:t,width:n,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,m.jsx)("polygon",{points:"0,0 30,0 15,10"})})});ns.displayName="Arrow";var ni="Popper",[no,nl]=tT(ni),[nc,nd]=no(ni),nu=e=>{let{__scopePopper:t,children:r}=e,[n,a]=p.useState(null);return(0,m.jsx)(nc,{scope:t,anchor:n,onAnchorChange:a,children:r})};nu.displayName=ni;var nm="PopperAnchor",np=p.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:n,...a}=e,s=nd(nm,r),i=p.useRef(null),o=tM(t,i),l=p.useRef(null);return p.useEffect(()=>{let e=l.current;l.current=n?.current||i.current,e!==l.current&&s.onAnchorChange(l.current)}),n?null:(0,m.jsx)(t$.div,{...a,ref:o})});np.displayName=nm;var nf="PopperContent",[nh,nx]=no(nf),ng=p.forwardRef((e,t)=>{var r,n,a,s,i,o,l,c,d,u,f,h,x,g,b,y,v,k,w,j,z;let N,S,C,E,R,T,{__scopePopper:A,side:O="bottom",sideOffset:M=0,align:F="center",alignOffset:D=0,arrowPadding:P=0,avoidCollisions:_=!0,collisionBoundary:L=[],collisionPadding:V=0,sticky:I="partial",hideWhenDetached:$=!1,updatePositionStrategy:q="optimized",onPlaced:U,...B}=e,W=nd(nf,A),[H,Q]=p.useState(null),K=tM(t,e=>Q(e)),[G,J]=p.useState(null),Y=function(e){let[t,r]=p.useState(void 0);return t3(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,a;if(!Array.isArray(t)||!t.length)return;let s=t[0];if("borderBoxSize"in s){let e=s.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,a=t.blockSize}else n=e.offsetWidth,a=e.offsetHeight;r({width:n,height:a})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}(G),X=Y?.width??0,Z=Y?.height??0,ee="number"==typeof V?V:{top:0,right:0,bottom:0,left:0,...V},et=Array.isArray(L)?L:[L],er=et.length>0,en={padding:ee,boundary:et.filter(nk),altBoundary:er},{refs:ea,floatingStyles:es,placement:ei,isPositioned:eo,middlewareData:el}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:a,elements:{reference:s,floating:i}={},transform:o=!0,whileElementsMounted:l,open:c}=e,[d,u]=p.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[m,f]=p.useState(n);nt(m,n)||f(n);let[h,x]=p.useState(null),[g,b]=p.useState(null),y=p.useCallback(e=>{e!==j.current&&(j.current=e,x(e))},[]),v=p.useCallback(e=>{e!==z.current&&(z.current=e,b(e))},[]),k=s||h,w=i||g,j=p.useRef(null),z=p.useRef(null),N=p.useRef(d),S=null!=l,C=na(l),E=na(a),R=na(c),T=p.useCallback(()=>{var e,n;let a,s,i;if(!j.current||!z.current)return;let o={placement:t,strategy:r,middleware:m};E.current&&(o.platform=E.current),(e=j.current,n=z.current,a=new Map,i={...(s={platform:r9,...o}).platform,_c:a},rw(e,n,{...s,platform:i})).then(e=>{let t={...e,isPositioned:!1!==R.current};A.current&&!nt(N.current,t)&&(N.current=t,tC.flushSync(()=>{u(t)}))})},[m,t,r,E,R]);ne(()=>{!1===c&&N.current.isPositioned&&(N.current.isPositioned=!1,u(e=>({...e,isPositioned:!1})))},[c]);let A=p.useRef(!1);ne(()=>(A.current=!0,()=>{A.current=!1}),[]),ne(()=>{if(k&&(j.current=k),w&&(z.current=w),k&&w){if(C.current)return C.current(k,w,T);T()}},[k,w,T,C,S]);let O=p.useMemo(()=>({reference:j,floating:z,setReference:y,setFloating:v}),[y,v]),M=p.useMemo(()=>({reference:k,floating:w}),[k,w]),F=p.useMemo(()=>{let e={position:r,left:0,top:0};if(!M.floating)return e;let t=nn(M.floating,d.x),n=nn(M.floating,d.y);return o?{...e,transform:"translate("+t+"px, "+n+"px)",...nr(M.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}},[r,o,M.floating,d.x,d.y]);return p.useMemo(()=>({...d,update:T,refs:O,elements:M,floatingStyles:F}),[d,T,O,M,F])}({strategy:"fixed",placement:O+("center"!==F?"-"+F:""),whileElementsMounted:(...e)=>(function(e,t,r,n){let a;void 0===n&&(n={});let{ancestorScroll:s=!0,ancestorResize:i=!0,elementResize:o="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:c=!1}=n,d=rG(e),u=s||i?[...d?rH(d):[],...t?rH(t):[]]:[];u.forEach(e=>{s&&e.addEventListener("scroll",r,{passive:!0}),i&&e.addEventListener("resize",r)});let m=d&&l?function(e,t){let r,n=null,a=rT(e);function s(){var e;clearTimeout(r),null==(e=n)||e.disconnect(),n=null}return!function i(o,l){void 0===o&&(o=!1),void 0===l&&(l=1),s();let c=e.getBoundingClientRect(),{left:d,top:u,width:m,height:p}=c;if(o||t(),!m||!p)return;let f={rootMargin:-rn(u)+"px "+-rn(a.clientWidth-(d+m))+"px "+-rn(a.clientHeight-(u+p))+"px "+-rn(d)+"px",threshold:rt(0,re(1,l))||1},h=!0;function x(t){let n=t[0].intersectionRatio;if(n!==l){if(!h)return i();n?i(!1,n):r=setTimeout(()=>{i(!1,1e-7)},1e3)}1!==n||r8(c,e.getBoundingClientRect())||i(),h=!1}try{n=new IntersectionObserver(x,{...f,root:a.ownerDocument})}catch(e){n=new IntersectionObserver(x,f)}n.observe(e)}(!0),s}(d,r):null,p=-1,f=null;o&&(f=new ResizeObserver(e=>{let[n]=e;n&&n.target===d&&f&&t&&(f.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=f)||e.observe(t)})),r()}),d&&!c&&f.observe(d),t&&f.observe(t));let h=c?rZ(e):null;return c&&function t(){let n=rZ(e);h&&!r8(h,n)&&r(),h=n,a=requestAnimationFrame(t)}(),r(),()=>{var e;u.forEach(e=>{s&&e.removeEventListener("scroll",r),i&&e.removeEventListener("resize",r)}),null==m||m(),null==(e=f)||e.disconnect(),f=null,c&&cancelAnimationFrame(a)}})(...e,{animationFrame:"always"===q}),elements:{reference:W.anchor},middleware:[{name:(N={name:"offset",options:a=r={mainAxis:M+Z,alignmentAxis:D},async fn(e){var t,r;let{x:n,y:s,placement:i,middlewareData:o}=e,l=await rS(e,a);return i===(null==(t=o.offset)?void 0:t.placement)&&null!=(r=o.arrow)&&r.alignmentOffset?{}:{x:n+l.x,y:s+l.y,data:{...l,placement:i}}}}).name,fn:N.fn,options:[r,n]},_&&{name:(S={name:"shift",options:d=l={mainAxis:!0,crossAxis:!1,limiter:"partial"===I?{fn:(void 0===(o=s)&&(o={}),{options:o,fn(e){let{x:t,y:r,placement:n,rects:a,middlewareData:s}=e,{offset:i=0,mainAxis:l=!0,crossAxis:c=!0}=ri(o,e),d={x:t,y:r},u=ru(n),m=rc(u),p=d[m],f=d[u],h=ri(i,e),x="number"==typeof h?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(l){let e="y"===m?"height":"width",t=a.reference[m]-a.floating[e]+x.mainAxis,r=a.reference[m]+a.reference[e]-x.mainAxis;p<t?p=t:p>r&&(p=r)}if(c){var g,b;let e="y"===m?"width":"height",t=rN.has(ro(n)),r=a.reference[u]-a.floating[e]+(t&&(null==(g=s.offset)?void 0:g[u])||0)+(t?0:x.crossAxis),i=a.reference[u]+a.reference[e]+(t?0:(null==(b=s.offset)?void 0:b[u])||0)-(t?x.crossAxis:0);f<r?f=r:f>i&&(f=i)}return{[m]:p,[u]:f}}}).fn,options:[s,i]}:void 0,...en},async fn(e){let{x:t,y:r,placement:n,platform:a}=e,{mainAxis:s=!0,crossAxis:i=!1,limiter:o={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...l}=ri(d,e),c={x:t,y:r},u=await a.detectOverflow(e,l),m=ru(ro(n)),p=rc(m),f=c[p],h=c[m];if(s){let e="y"===p?"top":"left",t="y"===p?"bottom":"right",r=f+u[e],n=f-u[t];f=rt(r,re(f,n))}if(i){let e="y"===m?"top":"left",t="y"===m?"bottom":"right",r=h+u[e],n=h-u[t];h=rt(r,re(h,n))}let x=o.fn({...e,[p]:f,[m]:h});return{...x,data:{x:x.x-t,y:x.y-r,enabled:{[p]:s,[m]:i}}}}}).name,fn:S.fn,options:[l,c]},_&&{name:(C={name:"flip",options:h=u={...en},async fn(e){var t,r,n,a,s,i,o,l;let c,d,u,{placement:m,middlewareData:p,rects:f,initialPlacement:x,platform:g,elements:b}=e,{mainAxis:y=!0,crossAxis:v=!0,fallbackPlacements:k,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:j="none",flipAlignment:z=!0,...N}=ri(h,e);if(null!=(t=p.arrow)&&t.alignmentOffset)return{};let S=ro(m),C=ru(x),E=ro(x)===x,R=await (null==g.isRTL?void 0:g.isRTL(b.floating)),T=k||(E||!z?[rg(x)]:(c=rg(x),[rm(x),c,rm(c)])),A="none"!==j;!k&&A&&T.push(...(d=rl(x),u=function(e,t,r){switch(e){case"top":case"bottom":if(r)return t?rf:rp;return t?rp:rf;case"left":case"right":return t?rh:rx;default:return[]}}(ro(x),"start"===j,R),d&&(u=u.map(e=>e+"-"+d),z&&(u=u.concat(u.map(rm)))),u));let O=[x,...T],M=await g.detectOverflow(e,N),F=[],D=(null==(r=p.flip)?void 0:r.overflows)||[];if(y&&F.push(M[S]),v){let e,t,r,n,a=(i=m,o=f,void 0===(l=R)&&(l=!1),e=rl(i),r=rd(t=rc(ru(i))),n="x"===t?e===(l?"end":"start")?"right":"left":"start"===e?"bottom":"top",o.reference[r]>o.floating[r]&&(n=rg(n)),[n,rg(n)]);F.push(M[a[0]],M[a[1]])}if(D=[...D,{placement:m,overflows:F}],!F.every(e=>e<=0)){let e=((null==(n=p.flip)?void 0:n.index)||0)+1,t=O[e];if(t&&("alignment"!==v||C===ru(t)||D.every(e=>ru(e.placement)!==C||e.overflows[0]>0)))return{data:{index:e,overflows:D},reset:{placement:t}};let r=null==(a=D.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:a.placement;if(!r)switch(w){case"bestFit":{let e=null==(s=D.filter(e=>{if(A){let t=ru(e.placement);return t===C||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:s[0];e&&(r=e);break}case"initialPlacement":r=x}if(m!==r)return{reset:{placement:r}}}return{}}}).name,fn:C.fn,options:[u,f]},{name:(E={name:"size",options:b=x={...en,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{let{width:a,height:s}=t.reference,i=e.floating.style;i.setProperty("--radix-popper-available-width",`${r}px`),i.setProperty("--radix-popper-available-height",`${n}px`),i.setProperty("--radix-popper-anchor-width",`${a}px`),i.setProperty("--radix-popper-anchor-height",`${s}px`)}},async fn(e){var t,r;let n,a,{placement:s,rects:i,platform:o,elements:l}=e,{apply:c=()=>{},...d}=ri(b,e),u=await o.detectOverflow(e,d),m=ro(s),p=rl(s),f="y"===ru(s),{width:h,height:x}=i.floating;"top"===m||"bottom"===m?(n=m,a=p===(await (null==o.isRTL?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(a=m,n="end"===p?"top":"bottom");let g=x-u.top-u.bottom,y=h-u.left-u.right,v=re(x-u[n],g),k=re(h-u[a],y),w=!e.middlewareData.shift,j=v,z=k;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(z=y),null!=(r=e.middlewareData.shift)&&r.enabled.y&&(j=g),w&&!p){let e=rt(u.left,0),t=rt(u.right,0),r=rt(u.top,0),n=rt(u.bottom,0);f?z=h-2*(0!==e||0!==t?e+t:rt(u.left,u.right)):j=x-2*(0!==r||0!==n?r+n:rt(u.top,u.bottom))}await c({...e,availableWidth:z,availableHeight:j});let N=await o.getDimensions(l.floating);return h!==N.width||x!==N.height?{reset:{rects:!0}}:{}}}).name,fn:E.fn,options:[x,g]},G&&{name:(R={name:"arrow",options:k=y={element:G,padding:P},fn(e){let{element:t,padding:r}="function"==typeof k?k(e):k;return t&&({}).hasOwnProperty.call(t,"current")?null!=t.current?r7({element:t.current,padding:r}).fn(e):{}:t?r7({element:t,padding:r}).fn(e):{}}}).name,fn:R.fn,options:[y,v]},nw({arrowWidth:X,arrowHeight:Z}),$&&{name:(T={name:"hide",options:z=w={strategy:"referenceHidden",...en},async fn(e){let{rects:t,platform:r}=e,{strategy:n="referenceHidden",...a}=ri(z,e);switch(n){case"referenceHidden":{let n=rj(await r.detectOverflow(e,{...a,elementContext:"reference"}),t.reference);return{data:{referenceHiddenOffsets:n,referenceHidden:rz(n)}}}case"escaped":{let n=rj(await r.detectOverflow(e,{...a,altBoundary:!0}),t.floating);return{data:{escapedOffsets:n,escaped:rz(n)}}}default:return{}}}}).name,fn:T.fn,options:[w,j]}]}),[ec,ed]=nj(ei),eu=tq(U);t3(()=>{eo&&eu?.()},[eo,eu]);let em=el.arrow?.x,ep=el.arrow?.y,ef=el.arrow?.centerOffset!==0,[eh,ex]=p.useState();return t3(()=>{H&&ex(window.getComputedStyle(H).zIndex)},[H]),(0,m.jsx)("div",{ref:ea.setFloating,"data-radix-popper-content-wrapper":"",style:{...es,transform:eo?es.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:eh,"--radix-popper-transform-origin":[el.transformOrigin?.x,el.transformOrigin?.y].join(" "),...el.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,m.jsx)(nh,{scope:A,placedSide:ec,onArrowChange:J,arrowX:em,arrowY:ep,shouldHideArrow:ef,children:(0,m.jsx)(t$.div,{"data-side":ec,"data-align":ed,...B,ref:K,style:{...B.style,animation:eo?void 0:"none"}})})})});ng.displayName=nf;var nb="PopperArrow",ny={top:"bottom",right:"left",bottom:"top",left:"right"},nv=p.forwardRef(function(e,t){let{__scopePopper:r,...n}=e,a=nx(nb,r),s=ny[a.placedSide];return(0,m.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[s]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,m.jsx)(ns,{...n,ref:t,style:{...n.style,display:"block"}})})});function nk(e){return null!==e}nv.displayName=nb;var nw=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:n,middlewareData:a}=t,s=a.arrow?.centerOffset!==0,i=s?0:e.arrowWidth,o=s?0:e.arrowHeight,[l,c]=nj(r),d={start:"0%",center:"50%",end:"100%"}[c],u=(a.arrow?.x??0)+i/2,m=(a.arrow?.y??0)+o/2,p="",f="";return"bottom"===l?(p=s?d:`${u}px`,f=`${-o}px`):"top"===l?(p=s?d:`${u}px`,f=`${n.floating.height+o}px`):"right"===l?(p=`${-o}px`,f=s?d:`${m}px`):"left"===l&&(p=`${n.floating.width+o}px`,f=s?d:`${m}px`),{data:{x:p,y:f}}}});function nj(e){let[t,r="center"]=e.split("-");return[t,r]}var nz=p.forwardRef((e,t)=>{let{container:r,...n}=e,[a,s]=p.useState(!1);t3(()=>s(!0),[]);let i=r||a&&globalThis?.document?.body;return i?tC.default.createPortal((0,m.jsx)(t$.div,{...n,ref:t}),i):null});nz.displayName="Portal",p[" useEffectEvent ".trim().toString()],p[" useInsertionEffect ".trim().toString()];var nN=p[" useInsertionEffect ".trim().toString()]||t3;function nS({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[a,s,i]=function({defaultProp:e,onChange:t}){let[r,n]=p.useState(e),a=p.useRef(r),s=p.useRef(t);return nN(()=>{s.current=t},[t]),p.useEffect(()=>{a.current!==r&&(s.current?.(r),a.current=r)},[r,a]),[r,n,s]}({defaultProp:t,onChange:r}),o=void 0!==e,l=o?e:a;{let t=p.useRef(void 0!==e);p.useEffect(()=>{let e=t.current;if(e!==o){let t=o?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=o},[o,n])}return[l,p.useCallback(t=>{if(o){let r="function"==typeof t?t(e):t;r!==e&&i.current?.(r)}else s(t)},[o,e,s,i])]}Symbol("RADIX:SYNC_STATE");var nC=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"});p.forwardRef((e,t)=>(0,m.jsx)(t$.span,{...e,ref:t,style:{...nC,...e.style}})).displayName="VisuallyHidden";var nE=new WeakMap,nR=new WeakMap,nT={},nA=0,nO=function(e){return e&&(e.host||nO(e.parentNode))},nM=function(e,t,r,n){var a=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var r=nO(e);return r&&t.contains(r)?r:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});nT[r]||(nT[r]=new WeakMap);var s=nT[r],i=[],o=new Set,l=new Set(a),c=function(e){!e||o.has(e)||(o.add(e),c(e.parentNode))};a.forEach(c);var d=function(e){!e||l.has(e)||Array.prototype.forEach.call(e.children,function(e){if(o.has(e))d(e);else try{var t=e.getAttribute(n),a=null!==t&&"false"!==t,l=(nE.get(e)||0)+1,c=(s.get(e)||0)+1;nE.set(e,l),s.set(e,c),i.push(e),1===l&&a&&nR.set(e,!0),1===c&&e.setAttribute(r,"true"),a||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return d(t),o.clear(),nA++,function(){i.forEach(function(e){var t=nE.get(e)-1,a=s.get(e)-1;nE.set(e,t),s.set(e,a),t||(nR.has(e)||e.removeAttribute(n),nR.delete(e)),a||e.removeAttribute(r)}),--nA||(nE=new WeakMap,nE=new WeakMap,nR=new WeakMap,nT={})}},nF=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),a=t||("u"<typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return a?(n.push.apply(n,Array.from(a.querySelectorAll("[aria-live], script"))),nM(n,a,r,"aria-hidden")):function(){return null}},nD=function(){return(nD=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function nP(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)0>t.indexOf(n[a])&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r}var n_=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),nL="width-before-scroll-bar";function nV(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var nI="u">typeof window?p.useLayoutEffect:p.useEffect,n$=new WeakMap,nq=(void 0===a&&(a={}),(void 0===s&&(s=function(e){return e}),i=[],o=!1,l={read:function(){if(o)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return i.length?i[i.length-1]:null},useMedium:function(e){var t=s(e,o);return i.push(t),function(){i=i.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(o=!0;i.length;){var t=i;i=[],t.forEach(e)}i={push:function(t){return e(t)},filter:function(){return i}}},assignMedium:function(e){o=!0;var t=[];if(i.length){var r=i;i=[],r.forEach(e),t=i}var n=function(){var r=t;t=[],r.forEach(e)},a=function(){return Promise.resolve().then(n)};a(),i={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),i}}}}).options=nD({async:!0,ssr:!1},a),l),nU=function(){},nB=p.forwardRef(function(e,t){var r,n,a,s,i=p.useRef(null),o=p.useState({onScrollCapture:nU,onWheelCapture:nU,onTouchMoveCapture:nU}),l=o[0],c=o[1],d=e.forwardProps,u=e.children,m=e.className,f=e.removeScrollBar,h=e.enabled,x=e.shards,g=e.sideCar,b=e.noRelative,y=e.noIsolation,v=e.inert,k=e.allowPinchZoom,w=e.as,j=e.gapMode,z=nP(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),N=(r=[i,t],n=function(e){return r.forEach(function(t){return nV(t,e)})},(a=(0,p.useState)(function(){return{value:null,callback:n,facade:{get current(){return a.value},set current(value){var e=a.value;e!==value&&(a.value=value,a.callback(value,e))}}}})[0]).callback=n,s=a.facade,nI(function(){var e=n$.get(s);if(e){var t=new Set(e),n=new Set(r),a=s.current;t.forEach(function(e){n.has(e)||nV(e,null)}),n.forEach(function(e){t.has(e)||nV(e,a)})}n$.set(s,r)},[r]),s),S=nD(nD({},z),l);return p.createElement(p.Fragment,null,h&&p.createElement(g,{sideCar:nq,removeScrollBar:f,shards:x,noRelative:b,noIsolation:y,inert:v,setCallbacks:c,allowPinchZoom:!!k,lockRef:i,gapMode:j}),d?p.cloneElement(p.Children.only(u),nD(nD({},S),{ref:N})):p.createElement(void 0===w?"div":w,nD({},S,{className:m,ref:N}),u))});nB.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},nB.classNames={fullWidth:nL,zeroRight:n_};var nW=function(e){var t=e.sideCar,r=nP(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw Error("Sidecar medium not found");return p.createElement(n,nD({},r))};nW.isSideCarExport=!0;var nH=function(){var e=0,t=null;return{add:function(r){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=u||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return t&&e.setAttribute("nonce",t),e}())){var n,a;(n=t).styleSheet?n.styleSheet.cssText=r:n.appendChild(document.createTextNode(r)),a=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(a)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},nQ=function(){var e=nH();return function(t,r){p.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},nK=function(){var e=nQ();return function(t){return e(t.styles,t.dynamic),null}},nG={left:0,top:0,right:0,gap:0},nJ=function(e){return parseInt(e||"",10)||0},nY=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],a=t["padding"===e?"paddingRight":"marginRight"];return[nJ(r),nJ(n),nJ(a)]},nX=function(e){if(void 0===e&&(e="margin"),"u"<typeof window)return nG;var t=nY(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},nZ=nK(),n0="data-scroll-locked",n1=function(e,t,r,n){var a=e.left,s=e.top,i=e.right,o=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(o,"px ").concat(n,";\n }\n body[").concat(n0,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(a,"px;\n padding-top: ").concat(s,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(o,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(o,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(n_," {\n right: ").concat(o,"px ").concat(n,";\n }\n \n .").concat(nL," {\n margin-right: ").concat(o,"px ").concat(n,";\n }\n \n .").concat(n_," .").concat(n_," {\n right: 0 ").concat(n,";\n }\n \n .").concat(nL," .").concat(nL," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(n0,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(o,"px;\n }\n")},n2=function(){var e=parseInt(document.body.getAttribute(n0)||"0",10);return isFinite(e)?e:0},n5=function(){p.useEffect(function(){return document.body.setAttribute(n0,(n2()+1).toString()),function(){var e=n2()-1;e<=0?document.body.removeAttribute(n0):document.body.setAttribute(n0,e.toString())}},[])},n4=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,a=void 0===n?"margin":n;n5();var s=p.useMemo(function(){return nX(a)},[a]);return p.createElement(nZ,{styles:n1(s,!t,a,r?"":"!important")})},n3=!1;if("u">typeof window)try{var n6=Object.defineProperty({},"passive",{get:function(){return n3=!0,!0}});window.addEventListener("test",n6,n6),window.removeEventListener("test",n6,n6)}catch(e){n3=!1}var n9=!!n3&&{passive:!1},n8=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&(r.overflowY!==r.overflowX||"TEXTAREA"===e.tagName||"visible"!==r[t])},n7=function(e,t){var r=t.ownerDocument,n=t;do{if("u">typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),ae(e,n)){var a=at(e,n);if(a[1]>a[2])return!0}n=n.parentNode}while(n&&n!==r.body)return!1},ae=function(e,t){return"v"===e?n8(t,"overflowY"):n8(t,"overflowX")},at=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},ar=function(e,t,r,n,a){var s,i=(s=window.getComputedStyle(t).direction,"h"===e&&"rtl"===s?-1:1),o=i*n,l=r.target,c=t.contains(l),d=!1,u=o>0,m=0,p=0;do{if(!l)break;var f=at(e,l),h=f[0],x=f[1]-f[2]-i*h;(h||x)&&ae(e,l)&&(m+=x,p+=h);var g=l.parentNode;l=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&l!==document.body||c&&(t.contains(l)||t===l))return u&&(a&&1>Math.abs(m)||!a&&o>m)?d=!0:!u&&(a&&1>Math.abs(p)||!a&&-o>p)&&(d=!0),d},an=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},aa=function(e){return[e.deltaX,e.deltaY]},as=function(e){return e&&"current"in e?e.current:e},ai=0,ao=[];let al=(c=function(e){var t=p.useRef([]),r=p.useRef([0,0]),n=p.useRef(),a=p.useState(ai++)[0],s=p.useState(nK)[0],i=p.useRef(e);p.useEffect(function(){i.current=e},[e]),p.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var t=(function(e,t,r){if(r||2==arguments.length)for(var n,a=0,s=t.length;a<s;a++)!n&&a in t||(n||(n=Array.prototype.slice.call(t,0,a)),n[a]=t[a]);return e.concat(n||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(as),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var o=p.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!i.current.allowPinchZoom;var a,s=an(e),o=r.current,l="deltaX"in e?e.deltaX:o[0]-s[0],c="deltaY"in e?e.deltaY:o[1]-s[1],d=e.target,u=Math.abs(l)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===u&&"range"===d.type)return!1;var m=window.getSelection(),p=m&&m.anchorNode;if(p&&(p===d||p.contains(d)))return!1;var f=n7(u,d);if(!f)return!0;if(f?a=u:(a="v"===u?"h":"v",f=n7(u,d)),!f)return!1;if(!n.current&&"changedTouches"in e&&(l||c)&&(n.current=a),!a)return!0;var h=n.current||a;return ar(h,t,e,"h"===h?l:c,!0)},[]),l=p.useCallback(function(e){if(ao.length&&ao[ao.length-1]===s){var r="deltaY"in e?aa(e):an(e),n=t.current.filter(function(t){var n;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(n=t.delta,n[0]===r[0]&&n[1]===r[1])})[0];if(n&&n.should){e.cancelable&&e.preventDefault();return}if(!n){var a=(i.current.shards||[]).map(as).filter(Boolean).filter(function(t){return t.contains(e.target)});(a.length>0?o(e,a[0]):!i.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),c=p.useCallback(function(e,r,n,a){var s={name:e,delta:r,target:n,should:a,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(n)};t.current.push(s),setTimeout(function(){t.current=t.current.filter(function(e){return e!==s})},1)},[]),d=p.useCallback(function(e){r.current=an(e),n.current=void 0},[]),u=p.useCallback(function(t){c(t.type,aa(t),t.target,o(t,e.lockRef.current))},[]),m=p.useCallback(function(t){c(t.type,an(t),t.target,o(t,e.lockRef.current))},[]);p.useEffect(function(){return ao.push(s),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:m}),document.addEventListener("wheel",l,n9),document.addEventListener("touchmove",l,n9),document.addEventListener("touchstart",d,n9),function(){ao=ao.filter(function(e){return e!==s}),document.removeEventListener("wheel",l,n9),document.removeEventListener("touchmove",l,n9),document.removeEventListener("touchstart",d,n9)}},[]);var f=e.removeScrollBar,h=e.inert;return p.createElement(p.Fragment,null,h?p.createElement(s,{styles:"\n .block-interactivity-".concat(a," {pointer-events: none;}\n .allow-interactivity-").concat(a," {pointer-events: all;}\n")}):null,f?p.createElement(n4,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},nq.useMedium(c),nW);var ac=p.forwardRef(function(e,t){return p.createElement(nB,nD({},e,{ref:t,sideCar:al}))});ac.classNames=nB.classNames;var ad=[" ","Enter","ArrowUp","ArrowDown"],au=[" ","Enter"],am="Select",[ap,af,ah]=function(e){let t=e+"CollectionProvider",[r,n]=tT(t),[a,s]=r(t,{collectionRef:{current:null},itemMap:new Map}),i=e=>{let{scope:t,children:r}=e,n=p.default.useRef(null),s=p.default.useRef(new Map).current;return(0,m.jsx)(a,{scope:t,itemMap:s,collectionRef:n,children:r})};i.displayName=t;let o=e+"CollectionSlot",l=tF(o),c=p.default.forwardRef((e,t)=>{let{scope:r,children:n}=e,a=tM(t,s(o,r).collectionRef);return(0,m.jsx)(l,{ref:a,children:n})});c.displayName=o;let d=e+"CollectionItemSlot",u="data-radix-collection-item",f=tF(d),h=p.default.forwardRef((e,t)=>{let{scope:r,children:n,...a}=e,i=p.default.useRef(null),o=tM(t,i),l=s(d,r);return p.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...a}),()=>void l.itemMap.delete(i))),(0,m.jsx)(f,{...{[u]:""},ref:o,children:n})});return h.displayName=d,[{Provider:i,Slot:c,ItemSlot:h},function(t){let r=s(e+"CollectionConsumer",t);return p.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${u}]`));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},n]}(am),[ax,ag]=tT(am,[ah,nl]),ab=nl(),[ay,av]=ax(am),[ak,aw]=ax(am),aj=e=>{let t,{__scopeSelect:r,children:n,open:a,defaultOpen:s,onOpenChange:i,value:o,defaultValue:l,onValueChange:c,dir:d,name:u,autoComplete:f,disabled:h,required:x,form:g}=e,b=ab(r),[y,v]=p.useState(null),[k,w]=p.useState(null),[j,z]=p.useState(!1),N=(t=p.useContext(tI),d||t||"ltr"),[S,C]=nS({prop:a,defaultProp:s??!1,onChange:i,caller:am}),[E,R]=nS({prop:o,defaultProp:l,onChange:c,caller:am}),T=p.useRef(null),A=!y||g||!!y.closest("form"),[O,M]=p.useState(new Set),F=Array.from(O).map(e=>e.props.value).join(";");return(0,m.jsx)(nu,{...b,children:(0,m.jsxs)(ay,{required:x,scope:r,trigger:y,onTriggerChange:v,valueNode:k,onValueNodeChange:w,valueNodeHasChildren:j,onValueNodeHasChildrenChange:z,contentId:t8(),value:E,onValueChange:R,open:S,onOpenChange:C,dir:N,triggerPointerDownPosRef:T,disabled:h,children:[(0,m.jsx)(ap.Provider,{scope:r,children:(0,m.jsx)(ak,{scope:e.__scopeSelect,onNativeOptionAdd:p.useCallback(e=>{M(t=>new Set(t).add(e))},[]),onNativeOptionRemove:p.useCallback(e=>{M(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:n})}),A?(0,m.jsxs)(a4,{"aria-hidden":!0,required:x,tabIndex:-1,name:u,autoComplete:f,value:E,onChange:e=>R(e.target.value),disabled:h,form:g,children:[void 0===E?(0,m.jsx)("option",{value:""}):null,Array.from(O)]},F):null]})})};aj.displayName=am;var az="SelectTrigger",aN=p.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:n=!1,...a}=e,s=ab(r),i=av(az,r),o=i.disabled||n,l=tM(t,i.onTriggerChange),c=af(r),d=p.useRef("touch"),[u,f,h]=a6(e=>{let t=c().filter(e=>!e.disabled),r=t.find(e=>e.value===i.value),n=a9(t,e,r);void 0!==n&&i.onValueChange(n.value)}),x=e=>{o||(i.onOpenChange(!0),h()),e&&(i.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,m.jsx)(np,{asChild:!0,...s,children:(0,m.jsx)(t$.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:o,"data-disabled":o?"":void 0,"data-placeholder":a3(i.value)?"":void 0,...a,ref:l,onClick:tR(a.onClick,e=>{e.currentTarget.focus(),"mouse"!==d.current&&x(e)}),onPointerDown:tR(a.onPointerDown,e=>{d.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(x(e),e.preventDefault())}),onKeyDown:tR(a.onKeyDown,e=>{let t=""!==u.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||f(e.key),(!t||" "!==e.key)&&ad.includes(e.key)&&(x(),e.preventDefault())})})})});aN.displayName=az;var aS="SelectValue",aC=p.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,children:s,placeholder:i="",...o}=e,l=av(aS,r),{onValueNodeHasChildrenChange:c}=l,d=void 0!==s,u=tM(t,l.onValueNodeChange);return t3(()=>{c(d)},[c,d]),(0,m.jsx)(t$.span,{...o,ref:u,style:{pointerEvents:"none"},children:a3(l.value)?(0,m.jsx)(m.Fragment,{children:i}):s})});aC.displayName=aS;var aE=p.forwardRef((e,t)=>{let{__scopeSelect:r,children:n,...a}=e;return(0,m.jsx)(t$.span,{"aria-hidden":!0,...a,ref:t,children:n||"▼"})});aE.displayName="SelectIcon";var aR=e=>(0,m.jsx)(nz,{asChild:!0,...e});aR.displayName="SelectPortal";var aT="SelectContent",aA=p.forwardRef((e,t)=>{let r=av(aT,e.__scopeSelect),[n,a]=p.useState();return(t3(()=>{a(new DocumentFragment)},[]),r.open)?(0,m.jsx)(aD,{...e,ref:t}):n?tC.createPortal((0,m.jsx)(aO,{scope:e.__scopeSelect,children:(0,m.jsx)(ap.Slot,{scope:e.__scopeSelect,children:(0,m.jsx)("div",{children:e.children})})}),n):null});aA.displayName=aT;var[aO,aM]=ax(aT),aF=tF("SelectContent.RemoveScroll"),aD=p.forwardRef((e,t)=>{let{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:s,onPointerDownOutside:i,side:o,sideOffset:l,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:h,sticky:x,hideWhenDetached:g,avoidCollisions:b,...y}=e,v=av(aT,r),[k,w]=p.useState(null),[j,z]=p.useState(null),N=tM(t,e=>w(e)),[S,C]=p.useState(null),[E,R]=p.useState(null),T=af(r),[A,O]=p.useState(!1),M=p.useRef(!1);p.useEffect(()=>{if(k)return nF(k)},[k]),p.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??tG()),document.body.insertAdjacentElement("beforeend",e[1]??tG()),tK++,()=>{1===tK&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),tK--}},[]);let F=p.useCallback(e=>{let[t,...r]=T().map(e=>e.ref.current),[n]=r.slice(-1),a=document.activeElement;for(let r of e)if(r===a||(r?.scrollIntoView({block:"nearest"}),r===t&&j&&(j.scrollTop=0),r===n&&j&&(j.scrollTop=j.scrollHeight),r?.focus(),document.activeElement!==a))return},[T,j]),D=p.useCallback(()=>F([S,k]),[F,S,k]);p.useEffect(()=>{A&&D()},[A,D]);let{onOpenChange:P,triggerPointerDownPosRef:_}=v;p.useEffect(()=>{if(k){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(_.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(_.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():k.contains(r.target)||P(!1),document.removeEventListener("pointermove",t),_.current=null};return null!==_.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[k,P,_]),p.useEffect(()=>{let e=()=>P(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[P]);let[L,V]=a6(e=>{let t=T().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=a9(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),I=p.useCallback((e,t,r)=>{let n=!M.current&&!r;(void 0!==v.value&&v.value===t||n)&&(C(e),n&&(M.current=!0))},[v.value]),$=p.useCallback(()=>k?.focus(),[k]),q=p.useCallback((e,t,r)=>{let n=!M.current&&!r;(void 0!==v.value&&v.value===t||n)&&R(e)},[v.value]),U="popper"===n?a_:aP,B=U===a_?{side:o,sideOffset:l,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:h,sticky:x,hideWhenDetached:g,avoidCollisions:b}:{};return(0,m.jsx)(aO,{scope:r,content:k,viewport:j,onViewportChange:z,itemRefCallback:I,selectedItem:S,onItemLeave:$,itemTextRefCallback:q,focusSelectedItem:D,selectedItemText:E,position:n,isPositioned:A,searchRef:L,children:(0,m.jsx)(ac,{as:aF,allowPinchZoom:!0,children:(0,m.jsx)(tZ,{asChild:!0,trapped:v.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:tR(a,e=>{v.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,m.jsx)(tW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:(0,m.jsx)(U,{role:"listbox",id:v.contentId,"data-state":v.open?"open":"closed",dir:v.dir,onContextMenu:e=>e.preventDefault(),...y,...B,onPlaced:()=>O(!0),ref:N,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:tR(y.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||V(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=T().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>F(t)),e.preventDefault()}})})})})})})});aD.displayName="SelectContentImpl";var aP=p.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:n,...a}=e,s=av(aT,r),i=aM(aT,r),[o,l]=p.useState(null),[c,d]=p.useState(null),u=tM(t,e=>d(e)),f=af(r),h=p.useRef(!1),x=p.useRef(!0),{viewport:g,selectedItem:b,selectedItemText:y,focusSelectedItem:v}=i,k=p.useCallback(()=>{if(s.trigger&&s.valueNode&&o&&c&&g&&b&&y){let e=s.trigger.getBoundingClientRect(),t=c.getBoundingClientRect(),r=s.valueNode.getBoundingClientRect(),a=y.getBoundingClientRect();if("rtl"!==s.dir){let n=a.left-t.left,s=r.left-n,i=e.left-s,l=e.width+i,c=Math.max(l,t.width),d=tE(s,[10,Math.max(10,window.innerWidth-10-c)]);o.style.minWidth=l+"px",o.style.left=d+"px"}else{let n=t.right-a.right,s=window.innerWidth-r.right-n,i=window.innerWidth-e.right-s,l=e.width+i,c=Math.max(l,t.width),d=tE(s,[10,Math.max(10,window.innerWidth-10-c)]);o.style.minWidth=l+"px",o.style.right=d+"px"}let i=f(),l=window.innerHeight-20,d=g.scrollHeight,u=window.getComputedStyle(c),m=parseInt(u.borderTopWidth,10),p=parseInt(u.paddingTop,10),x=parseInt(u.borderBottomWidth,10),v=m+p+d+parseInt(u.paddingBottom,10)+x,k=Math.min(5*b.offsetHeight,v),w=window.getComputedStyle(g),j=parseInt(w.paddingTop,10),z=parseInt(w.paddingBottom,10),N=e.top+e.height/2-10,S=b.offsetHeight/2,C=m+p+(b.offsetTop+S);if(C<=N){let e=i.length>0&&b===i[i.length-1].ref.current;o.style.bottom="0px";let t=Math.max(l-N,S+(e?z:0)+(c.clientHeight-g.offsetTop-g.offsetHeight)+x);o.style.height=C+t+"px"}else{let e=i.length>0&&b===i[0].ref.current;o.style.top="0px";let t=Math.max(N,m+g.offsetTop+(e?j:0)+S);o.style.height=t+(v-C)+"px",g.scrollTop=C-N+g.offsetTop}o.style.margin="10px 0",o.style.minHeight=k+"px",o.style.maxHeight=l+"px",n?.(),requestAnimationFrame(()=>h.current=!0)}},[f,s.trigger,s.valueNode,o,c,g,b,y,s.dir,n]);t3(()=>k(),[k]);let[w,j]=p.useState();t3(()=>{c&&j(window.getComputedStyle(c).zIndex)},[c]);let z=p.useCallback(e=>{e&&!0===x.current&&(k(),v?.(),x.current=!1)},[k,v]);return(0,m.jsx)(aL,{scope:r,contentWrapper:o,shouldExpandOnScrollRef:h,onScrollButtonChange:z,children:(0,m.jsx)("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:(0,m.jsx)(t$.div,{...a,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});aP.displayName="SelectItemAlignedPosition";var a_=p.forwardRef((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:a=10,...s}=e,i=ab(r);return(0,m.jsx)(ng,{...i,...s,ref:t,align:n,collisionPadding:a,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});a_.displayName="SelectPopperPosition";var[aL,aV]=ax(aT,{}),aI="SelectViewport",a$=p.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:n,...a}=e,s=aM(aI,r),i=aV(aI,r),o=tM(t,s.onViewportChange),l=p.useRef(0);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,m.jsx)(ap.Slot,{scope:r,children:(0,m.jsx)(t$.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:o,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:tR(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=i;if(n?.current&&r){let e=Math.abs(l.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,a=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(a<n){let s=a+e,i=Math.min(n,s),o=s-i;r.style.height=i+"px","0px"===r.style.bottom&&(t.scrollTop=o>0?o:0,r.style.justifyContent="flex-end")}}}l.current=t.scrollTop})})})]})});a$.displayName=aI;var aq="SelectGroup",[aU,aB]=ax(aq);p.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=t8();return(0,m.jsx)(aU,{scope:r,id:a,children:(0,m.jsx)(t$.div,{role:"group","aria-labelledby":a,...n,ref:t})})}).displayName=aq;var aW="SelectLabel";p.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=aB(aW,r);return(0,m.jsx)(t$.div,{id:a.id,...n,ref:t})}).displayName=aW;var aH="SelectItem",[aQ,aK]=ax(aH),aG=p.forwardRef((e,t)=>{let{__scopeSelect:r,value:n,disabled:a=!1,textValue:s,...i}=e,o=av(aH,r),l=aM(aH,r),c=o.value===n,[d,u]=p.useState(s??""),[f,h]=p.useState(!1),x=tM(t,e=>l.itemRefCallback?.(e,n,a)),g=t8(),b=p.useRef("touch"),y=()=>{a||(o.onValueChange(n),o.onOpenChange(!1))};if(""===n)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,m.jsx)(aQ,{scope:r,value:n,disabled:a,textId:g,isSelected:c,onItemTextChange:p.useCallback(e=>{u(t=>t||(e?.textContent??"").trim())},[]),children:(0,m.jsx)(ap.ItemSlot,{scope:r,value:n,disabled:a,textValue:d,children:(0,m.jsx)(t$.div,{role:"option","aria-labelledby":g,"data-highlighted":f?"":void 0,"aria-selected":c&&f,"data-state":c?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...i,ref:x,onFocus:tR(i.onFocus,()=>h(!0)),onBlur:tR(i.onBlur,()=>h(!1)),onClick:tR(i.onClick,()=>{"mouse"!==b.current&&y()}),onPointerUp:tR(i.onPointerUp,()=>{"mouse"===b.current&&y()}),onPointerDown:tR(i.onPointerDown,e=>{b.current=e.pointerType}),onPointerMove:tR(i.onPointerMove,e=>{b.current=e.pointerType,a?l.onItemLeave?.():"mouse"===b.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:tR(i.onPointerLeave,e=>{e.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:tR(i.onKeyDown,e=>{(l.searchRef?.current===""||" "!==e.key)&&(au.includes(e.key)&&y()," "===e.key&&e.preventDefault())})})})})});aG.displayName=aH;var aJ="SelectItemText",aY=p.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,...s}=e,i=av(aJ,r),o=aM(aJ,r),l=aK(aJ,r),c=aw(aJ,r),[d,u]=p.useState(null),f=tM(t,e=>u(e),l.onItemTextChange,e=>o.itemTextRefCallback?.(e,l.value,l.disabled)),h=d?.textContent,x=p.useMemo(()=>(0,m.jsx)("option",{value:l.value,disabled:l.disabled,children:h},l.value),[l.disabled,l.value,h]),{onNativeOptionAdd:g,onNativeOptionRemove:b}=c;return t3(()=>(g(x),()=>b(x)),[g,b,x]),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(t$.span,{id:l.textId,...s,ref:f}),l.isSelected&&i.valueNode&&!i.valueNodeHasChildren?tC.createPortal(s.children,i.valueNode):null]})});aY.displayName=aJ;var aX="SelectItemIndicator",aZ=p.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return aK(aX,r).isSelected?(0,m.jsx)(t$.span,{"aria-hidden":!0,...n,ref:t}):null});aZ.displayName=aX;var a0="SelectScrollUpButton";p.forwardRef((e,t)=>{let r=aM(a0,e.__scopeSelect),n=aV(a0,e.__scopeSelect),[a,s]=p.useState(!1),i=tM(t,n.onScrollButtonChange);return t3(()=>{if(r.viewport&&r.isPositioned){let e=function(){s(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,m.jsx)(a2,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null}).displayName=a0;var a1="SelectScrollDownButton";p.forwardRef((e,t)=>{let r=aM(a1,e.__scopeSelect),n=aV(a1,e.__scopeSelect),[a,s]=p.useState(!1),i=tM(t,n.onScrollButtonChange);return t3(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;s(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,m.jsx)(a2,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null}).displayName=a1;var a2=p.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:n,...a}=e,s=aM("SelectScrollButton",r),i=p.useRef(null),o=af(r),l=p.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return p.useEffect(()=>()=>l(),[l]),t3(()=>{let e=o().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[o]),(0,m.jsx)(t$.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:tR(a.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(n,50))}),onPointerMove:tR(a.onPointerMove,()=>{s.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(n,50))}),onPointerLeave:tR(a.onPointerLeave,()=>{l()})})});p.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,m.jsx)(t$.div,{"aria-hidden":!0,...n,ref:t})}).displayName="SelectSeparator";var a5="SelectArrow";p.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=ab(r),s=av(a5,r),i=aM(a5,r);return s.open&&"popper"===i.position?(0,m.jsx)(nv,{...a,...n,ref:t}):null}).displayName=a5;var a4=p.forwardRef(({__scopeSelect:e,value:t,...r},n)=>{let a,s=p.useRef(null),i=tM(n,s),o=(a=p.useRef({value:t,previous:t}),p.useMemo(()=>(a.current.value!==t&&(a.current.previous=a.current.value,a.current.value=t),a.current.previous),[t]));return p.useEffect(()=>{let e=s.current;if(!e)return;let r=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(o!==t&&r){let n=new Event("change",{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[o,t]),(0,m.jsx)(t$.select,{...r,style:{...nC,...r.style},ref:i,defaultValue:t})});function a3(e){return""===e||void 0===e}function a6(e){let t=tq(e),r=p.useRef(""),n=p.useRef(0),a=p.useCallback(e=>{let a=r.current+e;t(a),function e(t){r.current=t,window.clearTimeout(n.current),""!==t&&(n.current=window.setTimeout(()=>e(""),1e3))}(a)},[t]),s=p.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return p.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,a,s]}function a9(e,t,r){var n,a;let s=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=r?e.indexOf(r):-1,o=(n=e,a=Math.max(i,0),n.map((e,t)=>n[(a+t)%n.length]));1===s.length&&(o=o.filter(e=>e!==r));let l=o.find(e=>e.textValue.toLowerCase().startsWith(s.toLowerCase()));return l!==r?l:void 0}a4.displayName="SelectBubbleInput";let a8=eu("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),a7=eu("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),se=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),st=[],sr=(e,t,r)=>{if(0==e.length-t)return r.classGroupId;let n=e[t],a=r.nextPart.get(n);if(a){let r=sr(e,t+1,a);if(r)return r}let s=r.validators;if(null===s)return;let i=0===t?e.join("-"):e.slice(t).join("-"),o=s.length;for(let e=0;e<o;e++){let t=s[e];if(t.validator(i))return t.classGroupId}},sn=(e,t)=>{let r=se();for(let n in e)sa(e[n],r,n,t);return r},sa=(e,t,r,n)=>{let a=e.length;for(let s=0;s<a;s++)ss(e[s],t,r,n)},ss=(e,t,r,n)=>{"string"==typeof e?si(e,t,r):"function"==typeof e?so(e,t,r,n):sl(e,t,r,n)},si=(e,t,r)=>{(""===e?t:sc(t,e)).classGroupId=r},so=(e,t,r,n)=>{sd(e)?sa(e(n),t,r,n):(null===t.validators&&(t.validators=[]),t.validators.push({classGroupId:r,validator:e}))},sl=(e,t,r,n)=>{let a=Object.entries(e),s=a.length;for(let e=0;e<s;e++){let[s,i]=a[e];sa(i,sc(t,s),r,n)}},sc=(e,t)=>{let r=e,n=t.split("-"),a=n.length;for(let e=0;e<a;e++){let t=n[e],a=r.nextPart.get(t);a||(a=se(),r.nextPart.set(t,a)),r=a}return r},sd=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,su=[],sm=(e,t,r,n,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:n,isExternal:a}),sp=/\s+/,sf=e=>{let t;if("string"==typeof e)return e;let r="";for(let n=0;n<e.length;n++)e[n]&&(t=sf(e[n]))&&(r&&(r+=" "),r+=t);return r},sh=[],sx=e=>{let t=t=>t[e]||sh;return t.isThemeGetter=!0,t},sg=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,sb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,sy=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,sv=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,sk=/\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$/,sw=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,sj=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,sz=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,sN=e=>sy.test(e),sS=e=>!!e&&!Number.isNaN(Number(e)),sC=e=>!!e&&Number.isInteger(Number(e)),sE=e=>e.endsWith("%")&&sS(e.slice(0,-1)),sR=e=>sv.test(e),sT=()=>!0,sA=e=>sk.test(e)&&!sw.test(e),sO=()=>!1,sM=e=>sj.test(e),sF=e=>sz.test(e),sD=e=>!s_(e)&&!sW(e),sP=e=>sZ(e,s5,sO),s_=e=>sg.test(e),sL=e=>sZ(e,s4,sA),sV=e=>sZ(e,s3,sS),sI=e=>sZ(e,s9,sT),s$=e=>sZ(e,s6,sO),sq=e=>sZ(e,s1,sO),sU=e=>sZ(e,s2,sF),sB=e=>sZ(e,s8,sM),sW=e=>sb.test(e),sH=e=>s0(e,s4),sQ=e=>s0(e,s6),sK=e=>s0(e,s1),sG=e=>s0(e,s5),sJ=e=>s0(e,s2),sY=e=>s0(e,s8,!0),sX=e=>s0(e,s9,!0),sZ=(e,t,r)=>{let n=sg.exec(e);return!!n&&(n[1]?t(n[1]):r(n[2]))},s0=(e,t,r=!1)=>{let n=sb.exec(e);return!!n&&(n[1]?t(n[1]):r)},s1=e=>"position"===e||"percentage"===e,s2=e=>"image"===e||"url"===e,s5=e=>"length"===e||"size"===e||"bg-size"===e,s4=e=>"length"===e,s3=e=>"number"===e,s6=e=>"family-name"===e,s9=e=>"number"===e||"weight"===e,s8=e=>"shadow"===e,s7=((e,...t)=>{let r,n,a,s,i=e=>{let t=n(e);if(t)return t;let s=((e,t)=>{let{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:a,sortModifiers:s}=t,i=[],o=e.trim().split(sp),l="";for(let e=o.length-1;e>=0;e-=1){let t=o[e],{isExternal:c,modifiers:d,hasImportantModifier:u,baseClassName:m,maybePostfixModifierPosition:p}=r(t);if(c){l=t+(l.length>0?" "+l:l);continue}let f=!!p,h=n(f?m.substring(0,p):m);if(!h){if(!f||!(h=n(m))){l=t+(l.length>0?" "+l:l);continue}f=!1}let x=0===d.length?"":1===d.length?d[0]:s(d).join(":"),g=u?x+"!":x,b=g+h;if(i.indexOf(b)>-1)continue;i.push(b);let y=a(h,f);for(let e=0;e<y.length;++e){let t=y[e];i.push(g+t)}l=t+(l.length>0?" "+l:l)}return l})(e,r);return a(e,s),s};return s=o=>{var l;let c;return n=(r={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=Object.create(null),n=Object.create(null),a=(a,s)=>{r[a]=s,++t>e&&(t=0,n=r,r=Object.create(null))};return{get(e){let t=r[e];return void 0!==t?t:void 0!==(t=n[e])?(a(e,t),t):void 0},set(e,t){e in r?r[e]=t:a(e,t)}}})((l=t.reduce((e,t)=>t(e),e())).cacheSize),parseClassName:(e=>{let{prefix:t,experimentalParseClassName:r}=e,n=e=>{let t,r=[],n=0,a=0,s=0,i=e.length;for(let o=0;o<i;o++){let i=e[o];if(0===n&&0===a){if(":"===i){r.push(e.slice(s,o)),s=o+1;continue}if("/"===i){t=o;continue}}"["===i?n++:"]"===i?n--:"("===i?a++:")"===i&&a--}let o=0===r.length?e:e.slice(s),l=o,c=!1;return o.endsWith("!")?(l=o.slice(0,-1),c=!0):o.startsWith("!")&&(l=o.slice(1),c=!0),sm(r,c,l,t&&t>s?t-s:void 0)};if(t){let e=t+":",r=n;n=t=>t.startsWith(e)?r(t.slice(e.length)):sm(su,!1,t,void 0,!0)}if(r){let e=n;n=t=>r({className:t,parseClassName:e})}return n})(l),sortModifiers:(c=new Map,l.orderSensitiveModifiers.forEach((e,t)=>{c.set(e,1e6+t)}),e=>{let t=[],r=[];for(let n=0;n<e.length;n++){let a=e[n],s="["===a[0],i=c.has(a);s||i?(r.length>0&&(r.sort(),t.push(...r),r=[]),t.push(a)):r.push(a)}return r.length>0&&(r.sort(),t.push(...r)),t}),...(e=>{let t=(e=>{let{theme:t,classGroups:r}=e;return sn(r,t)})(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var r;let t,n,a;return -1===(r=e).slice(1,-1).indexOf(":")?void 0:(n=(t=r.slice(1,-1)).indexOf(":"),(a=t.slice(0,n))?"arbitrary.."+a:void 0)}let n=e.split("-"),a=+(""===n[0]&&n.length>1);return sr(n,a,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=n[e],a=r[e];if(t){if(a){let e=Array(a.length+t.length);for(let t=0;t<a.length;t++)e[t]=a[t];for(let r=0;r<t.length;r++)e[a.length+r]=t[r];return e}return t}return a||st}return r[e]||st}}})(l)}).cache.get,a=r.cache.set,s=i,i(o)},(...e)=>s(((...e)=>{let t,r,n=0,a="";for(;n<e.length;)(t=e[n++])&&(r=sf(t))&&(a&&(a+=" "),a+=r);return a})(...e))})(()=>{let e=sx("color"),t=sx("font"),r=sx("text"),n=sx("font-weight"),a=sx("tracking"),s=sx("leading"),i=sx("breakpoint"),o=sx("container"),l=sx("spacing"),c=sx("radius"),d=sx("shadow"),u=sx("inset-shadow"),m=sx("text-shadow"),p=sx("drop-shadow"),f=sx("blur"),h=sx("perspective"),x=sx("aspect"),g=sx("ease"),b=sx("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...v(),sW,s_],w=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto","contain","none"],z=()=>[sW,s_,l],N=()=>[sN,"full","auto",...z()],S=()=>[sC,"none","subgrid",sW,s_],C=()=>["auto",{span:["full",sC,sW,s_]},sC,sW,s_],E=()=>[sC,"auto",sW,s_],R=()=>["auto","min","max","fr",sW,s_],T=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],A=()=>["start","end","center","stretch","center-safe","end-safe"],O=()=>["auto",...z()],M=()=>[sN,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],F=()=>[sN,"screen","full","dvw","lvw","svw","min","max","fit",...z()],D=()=>[sN,"screen","full","lh","dvh","lvh","svh","min","max","fit",...z()],P=()=>[e,sW,s_],_=()=>[...v(),sK,sq,{position:[sW,s_]}],L=()=>["no-repeat",{repeat:["","x","y","space","round"]}],V=()=>["auto","cover","contain",sG,sP,{size:[sW,s_]}],I=()=>[sE,sH,sL],$=()=>["","none","full",c,sW,s_],q=()=>["",sS,sH,sL],U=()=>["solid","dashed","dotted","double"],B=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>[sS,sE,sK,sq],H=()=>["","none",f,sW,s_],Q=()=>["none",sS,sW,s_],K=()=>["none",sS,sW,s_],G=()=>[sS,sW,s_],J=()=>[sN,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[sR],breakpoint:[sR],color:[sT],container:[sR],"drop-shadow":[sR],ease:["in","out","in-out"],font:[sD],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[sR],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[sR],shadow:[sR],spacing:["px",sS],text:[sR],"text-shadow":[sR],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",sN,s_,sW,x]}],container:["container"],columns:[{columns:[sS,s_,sW,o]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"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"],sr:["sr-only","not-sr-only"],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:k()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:j()}],"overscroll-x":[{"overscroll-x":j()}],"overscroll-y":[{"overscroll-y":j()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:N()}],"inset-x":[{"inset-x":N()}],"inset-y":[{"inset-y":N()}],start:[{"inset-s":N(),start:N()}],end:[{"inset-e":N(),end:N()}],"inset-bs":[{"inset-bs":N()}],"inset-be":[{"inset-be":N()}],top:[{top:N()}],right:[{right:N()}],bottom:[{bottom:N()}],left:[{left:N()}],visibility:["visible","invisible","collapse"],z:[{z:[sC,"auto",sW,s_]}],basis:[{basis:[sN,"full","auto",o,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[sS,sN,"auto","initial","none",s_]}],grow:[{grow:["",sS,sW,s_]}],shrink:[{shrink:["",sS,sW,s_]}],order:[{order:[sC,"first","last","none",sW,s_]}],"grid-cols":[{"grid-cols":S()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":E()}],"col-end":[{"col-end":E()}],"grid-rows":[{"grid-rows":S()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":E()}],"row-end":[{"row-end":E()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":R()}],"auto-rows":[{"auto-rows":R()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...T(),"normal"]}],"justify-items":[{"justify-items":[...A(),"normal"]}],"justify-self":[{"justify-self":["auto",...A()]}],"align-content":[{content:["normal",...T()]}],"align-items":[{items:[...A(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...A(),{baseline:["","last"]}]}],"place-content":[{"place-content":T()}],"place-items":[{"place-items":[...A(),"baseline"]}],"place-self":[{"place-self":["auto",...A()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pbs:[{pbs:z()}],pbe:[{pbe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:O()}],mx:[{mx:O()}],my:[{my:O()}],ms:[{ms:O()}],me:[{me:O()}],mbs:[{mbs:O()}],mbe:[{mbe:O()}],mt:[{mt:O()}],mr:[{mr:O()}],mb:[{mb:O()}],ml:[{ml:O()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:M()}],"inline-size":[{inline:["auto",...F()]}],"min-inline-size":[{"min-inline":["auto",...F()]}],"max-inline-size":[{"max-inline":["none",...F()]}],"block-size":[{block:["auto",...D()]}],"min-block-size":[{"min-block":["auto",...D()]}],"max-block-size":[{"max-block":["none",...D()]}],w:[{w:[o,"screen",...M()]}],"min-w":[{"min-w":[o,"screen","none",...M()]}],"max-w":[{"max-w":[o,"screen","none","prose",{screen:[i]},...M()]}],h:[{h:["screen","lh",...M()]}],"min-h":[{"min-h":["screen","lh","none",...M()]}],"max-h":[{"max-h":["screen","lh",...M()]}],"font-size":[{text:["base",r,sH,sL]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,sX,sI]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",sE,s_]}],"font-family":[{font:[sQ,s$,t]}],"font-features":[{"font-features":[s_]}],"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:[a,sW,s_]}],"line-clamp":[{"line-clamp":[sS,"none",sW,sV]}],leading:[{leading:[s,...z()]}],"list-image":[{"list-image":["none",sW,s_]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",sW,s_]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:[sS,"from-font","auto",sW,sL]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[sS,"auto",sW,s_]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",sW,s_]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",sW,s_]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:_()}],"bg-repeat":[{bg:L()}],"bg-size":[{bg:V()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},sC,sW,s_],radial:["",sW,s_],conic:[sC,sW,s_]},sJ,sU]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:I()}],"gradient-via-pos":[{via:I()}],"gradient-to-pos":[{to:I()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:$()}],"rounded-s":[{"rounded-s":$()}],"rounded-e":[{"rounded-e":$()}],"rounded-t":[{"rounded-t":$()}],"rounded-r":[{"rounded-r":$()}],"rounded-b":[{"rounded-b":$()}],"rounded-l":[{"rounded-l":$()}],"rounded-ss":[{"rounded-ss":$()}],"rounded-se":[{"rounded-se":$()}],"rounded-ee":[{"rounded-ee":$()}],"rounded-es":[{"rounded-es":$()}],"rounded-tl":[{"rounded-tl":$()}],"rounded-tr":[{"rounded-tr":$()}],"rounded-br":[{"rounded-br":$()}],"rounded-bl":[{"rounded-bl":$()}],"border-w":[{border:q()}],"border-w-x":[{"border-x":q()}],"border-w-y":[{"border-y":q()}],"border-w-s":[{"border-s":q()}],"border-w-e":[{"border-e":q()}],"border-w-bs":[{"border-bs":q()}],"border-w-be":[{"border-be":q()}],"border-w-t":[{"border-t":q()}],"border-w-r":[{"border-r":q()}],"border-w-b":[{"border-b":q()}],"border-w-l":[{"border-l":q()}],"divide-x":[{"divide-x":q()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":q()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...U(),"hidden","none"]}],"divide-style":[{divide:[...U(),"hidden","none"]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...U(),"none","hidden"]}],"outline-offset":[{"outline-offset":[sS,sW,s_]}],"outline-w":[{outline:["",sS,sH,sL]}],"outline-color":[{outline:P()}],shadow:[{shadow:["","none",d,sY,sB]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":["none",u,sY,sB]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[sS,sL]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":q()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":["none",m,sY,sB]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[sS,sW,s_]}],"mix-blend":[{"mix-blend":[...B(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":B()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[sS]}],"mask-image-linear-from-pos":[{"mask-linear-from":W()}],"mask-image-linear-to-pos":[{"mask-linear-to":W()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":W()}],"mask-image-t-to-pos":[{"mask-t-to":W()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":W()}],"mask-image-r-to-pos":[{"mask-r-to":W()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":W()}],"mask-image-b-to-pos":[{"mask-b-to":W()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":W()}],"mask-image-l-to-pos":[{"mask-l-to":W()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":W()}],"mask-image-x-to-pos":[{"mask-x-to":W()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":W()}],"mask-image-y-to-pos":[{"mask-y-to":W()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[sW,s_]}],"mask-image-radial-from-pos":[{"mask-radial-from":W()}],"mask-image-radial-to-pos":[{"mask-radial-to":W()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[sS]}],"mask-image-conic-from-pos":[{"mask-conic-from":W()}],"mask-image-conic-to-pos":[{"mask-conic-to":W()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:_()}],"mask-repeat":[{mask:L()}],"mask-size":[{mask:V()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",sW,s_]}],filter:[{filter:["","none",sW,s_]}],blur:[{blur:H()}],brightness:[{brightness:[sS,sW,s_]}],contrast:[{contrast:[sS,sW,s_]}],"drop-shadow":[{"drop-shadow":["","none",p,sY,sB]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:["",sS,sW,s_]}],"hue-rotate":[{"hue-rotate":[sS,sW,s_]}],invert:[{invert:["",sS,sW,s_]}],saturate:[{saturate:[sS,sW,s_]}],sepia:[{sepia:["",sS,sW,s_]}],"backdrop-filter":[{"backdrop-filter":["","none",sW,s_]}],"backdrop-blur":[{"backdrop-blur":H()}],"backdrop-brightness":[{"backdrop-brightness":[sS,sW,s_]}],"backdrop-contrast":[{"backdrop-contrast":[sS,sW,s_]}],"backdrop-grayscale":[{"backdrop-grayscale":["",sS,sW,s_]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[sS,sW,s_]}],"backdrop-invert":[{"backdrop-invert":["",sS,sW,s_]}],"backdrop-opacity":[{"backdrop-opacity":[sS,sW,s_]}],"backdrop-saturate":[{"backdrop-saturate":[sS,sW,s_]}],"backdrop-sepia":[{"backdrop-sepia":["",sS,sW,s_]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",sW,s_]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[sS,"initial",sW,s_]}],ease:[{ease:["linear","initial",g,sW,s_]}],delay:[{delay:[sS,sW,s_]}],animate:[{animate:["none",b,sW,s_]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[h,sW,s_]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:Q()}],"rotate-x":[{"rotate-x":Q()}],"rotate-y":[{"rotate-y":Q()}],"rotate-z":[{"rotate-z":Q()}],scale:[{scale:K()}],"scale-x":[{"scale-x":K()}],"scale-y":[{"scale-y":K()}],"scale-z":[{"scale-z":K()}],"scale-3d":["scale-3d"],skew:[{skew:G()}],"skew-x":[{"skew-x":G()}],"skew-y":[{"skew-y":G()}],transform:[{transform:[sW,s_,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:J()}],"translate-x":[{"translate-x":J()}],"translate-y":[{"translate-y":J()}],"translate-z":[{"translate-z":J()}],"translate-none":["translate-none"],accent:[{accent:P()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],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",sW,s_]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mbs":[{"scroll-mbs":z()}],"scroll-mbe":[{"scroll-mbe":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pbs":[{"scroll-pbs":z()}],"scroll-pbe":[{"scroll-pbe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"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",sW,s_]}],fill:[{fill:["none",...P()]}],"stroke-w":[{stroke:[sS,sH,sL,sV]}],stroke:[{stroke:["none",...P()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","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","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","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-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","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-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","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"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","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-pbs","scroll-pbe","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"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ie(...e){return s7(function(){for(var e,t,r=0,n="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=function e(t){var r,n,a="";if("string"==typeof t||"number"==typeof t)a+=t;else if("object"==typeof t)if(Array.isArray(t)){var s=t.length;for(r=0;r<s;r++)t[r]&&(n=e(t[r]))&&(a&&(a+=" "),a+=n)}else for(n in t)t[n]&&(a&&(a+=" "),a+=n);return a}(e))&&(n&&(n+=" "),n+=t);return n}(e))}let it=p.forwardRef(({className:e,children:t,...r},n)=>(0,m.jsxs)(aN,{ref:n,className:ie("flex h-10 w-full items-center justify-between rounded-lg border border-zinc-200 bg-white px-3 py-2 text-sm","ring-offset-white placeholder:text-zinc-500 focus:outline-none focus:ring-2 focus:ring-zinc-950 focus:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-800 dark:bg-zinc-950 dark:ring-offset-zinc-950","dark:placeholder:text-zinc-400 dark:focus:ring-zinc-300",e),...r,children:[t,(0,m.jsx)(aE,{asChild:!0,children:(0,m.jsx)(a8,{className:"h-4 w-4 opacity-50"})})]}));it.displayName=aN.displayName;let ir=p.forwardRef(({className:e,children:t,position:r="popper",...n},a)=>(0,m.jsx)(aR,{children:(0,m.jsx)(aA,{ref:a,className:ie("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-lg border border-zinc-200 bg-white text-zinc-950 shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","dark:border-zinc-800 dark:bg-zinc-950 dark:text-zinc-50","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:(0,m.jsx)(a$,{className:ie("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t})})}));ir.displayName=aA.displayName;let ia=p.forwardRef(({className:e,children:t,...r},n)=>(0,m.jsxs)(aG,{ref:n,className:ie("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none","focus:bg-zinc-100 focus:text-zinc-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50","dark:focus:bg-zinc-800 dark:focus:text-zinc-50",e),...r,children:[(0,m.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,m.jsx)(aZ,{children:(0,m.jsx)(eS,{className:"h-4 w-4"})})}),(0,m.jsx)(aY,{children:t})]}));function is(e){if(!e)return{provider:"unknown",model:""};let t=e.indexOf("/");return -1!==t?{provider:e.substring(0,t),model:e.substring(t+1)}:{provider:"unknown",model:e}}function ii({value:e,onValueChange:t,placeholder:r="Select a model...",disabled:n=!1}){let[a,s]=p.useState(""),{data:i,isLoading:o,isError:l,error:c,refetch:d}=T({queryKey:["opencode-models"],queryFn:async()=>{let e=await fetch("/api/opencode-models"),t=await e.json();if(!e.ok||t.error)throw Error(t.error||"Failed to fetch models");return t},retry:!1}),u=p.useMemo(()=>{let t=new Set(i?.models??[]);return e&&!t.has(e)&&t.add(e),Array.from(t).sort()},[i?.models,e]),f=p.useMemo(()=>{if(!a.trim())return u;let e=a.toLowerCase();return u.filter(t=>t.toLowerCase().includes(e))},[u,a]),h=p.useMemo(()=>{let e={};return f.forEach(t=>{let{provider:r}=is(t);e[r]||(e[r]=[]),e[r].push(t)}),e},[f]),x=Object.keys(h).sort(),g=p.useCallback(e=>{e||s("")},[]),b=e?is(e):null;return(0,m.jsxs)(aj,{value:e,onValueChange:t,disabled:n||o,onOpenChange:g,children:[(0,m.jsx)(it,{children:(0,m.jsx)(aC,{placeholder:r,children:b&&(0,m.jsxs)("span",{className:"flex items-center gap-2",children:[(0,m.jsx)("span",{className:"text-xs font-medium text-zinc-500 dark:text-zinc-400",children:b.provider}),(0,m.jsx)("span",{className:"text-zinc-500 dark:text-zinc-400",children:"/"}),(0,m.jsx)("span",{className:"text-zinc-900 dark:text-zinc-100",children:b.model})]})})}),(0,m.jsxs)(ir,{children:[(0,m.jsx)("div",{className:"sticky top-0 z-10 border-b border-zinc-200 bg-white px-2 pb-2 pt-1 dark:border-zinc-800 dark:bg-zinc-950",children:(0,m.jsxs)("div",{className:"relative",children:[(0,m.jsx)(ex,{className:"absolute left-2 top-1/2 h-4 w-4 -translate-y-1/2 text-zinc-400"}),(0,m.jsx)("input",{type:"text",value:a,onChange:e=>s(e.target.value),placeholder:"Search models...",className:ie("h-9 w-full rounded-md border border-zinc-200 bg-transparent pl-8 pr-3 text-sm","outline-none placeholder:text-zinc-500 focus:border-zinc-400 focus:ring-0","dark:border-zinc-800 dark:placeholder:text-zinc-400"),onKeyDown:e=>e.stopPropagation()})]})}),(0,m.jsx)("div",{className:"max-h-64 overflow-auto",children:o?(0,m.jsx)("div",{className:"px-2 py-4 text-center text-sm text-zinc-500",children:"Loading models..."}):l?(0,m.jsx)("div",{className:"px-4 py-6 text-center",children:(0,m.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,m.jsx)("div",{className:"w-10 h-10 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,m.jsx)(eN,{className:"h-5 w-5 text-red-600 dark:text-red-400"})}),(0,m.jsxs)("div",{className:"space-y-1",children:[(0,m.jsx)("p",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Failed to load models"}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400 max-w-[200px]",children:c instanceof Error?c.message:"Please check your OpenCode installation"})]}),(0,m.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),d()},className:"inline-flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium bg-zinc-100 text-zinc-700 hover:bg-zinc-200 dark:bg-zinc-800 dark:text-zinc-300 dark:hover:bg-zinc-700 transition-colors",children:[(0,m.jsx)(a7,{className:"h-3.5 w-3.5"}),"Retry"]})]})}):0===f.length?(0,m.jsx)("div",{className:"px-2 py-4 text-center text-sm text-zinc-500",children:"No models found"}):x.map(e=>(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{className:"px-2 py-1.5 text-xs font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-400",children:e}),h[e].map(e=>{let{model:t}=is(e);return(0,m.jsx)(ia,{value:e,children:(0,m.jsx)("span",{className:"flex items-center gap-2",children:(0,m.jsx)("span",{className:"text-zinc-900 dark:text-zinc-100",children:t})})},e)})]},e))})]})]})}ia.displayName=aG.displayName;let io={"visual-engineering":["google/gemini-3.1-pro","glm-5","anthropic/claude-opus-4-6"],ultrabrain:["openai/gpt-5.3-codex","google/gemini-3.1-pro","anthropic/claude-opus-4-6"],deep:["openai/gpt-5.3-codex","anthropic/claude-opus-4-6","google/gemini-3.1-pro"],artistry:["google/gemini-3.1-pro","anthropic/claude-opus-4-6","openai/gpt-5.4"],quick:["anthropic/claude-haiku-4-5","google/gemini-3-flash","opencode/gpt-5-nano"],"unspecified-low":["anthropic/claude-sonnet-4-6","openai/gpt-5.3-codex","google/gemini-3-flash"],"unspecified-high":["openai/gpt-5.4","anthropic/claude-opus-4-6","glm-5","kimi-for-coding/k2p5"],writing:["google/gemini-3-flash","anthropic/claude-sonnet-4-6"]};function il({categoryName:e,initialConfig:t,onSave:r,onCancel:n}){let[a,s]=p.useState(null),{control:i,handleSubmit:o,watch:l,formState:{isSubmitting:c}}=tS({defaultValues:{model:t?.model||"",variant:t?.variant||"",temperature:t?.temperature??.7,top_p:t?.top_p??1,prompt_append:t?.prompt_append||""}}),{data:d}=T({queryKey:["opencode-models"],queryFn:async()=>{var e;let t=await fetch("/api/opencode-models"),r=null;try{r=await t.json()}catch{r=null}let n=r&&"object"==typeof r&&"error"in r&&"string"==typeof r.error?r.error:null;if(!t.ok||n)throw Error(n||`Failed to fetch models (${t.status})`);if(!((e=r)&&"object"==typeof e&&Array.isArray(e.models)))throw Error("Invalid models response");return r},retry:!1}),u=p.useMemo(()=>new Set(d?.models??[]),[d]),f=l("model"),h=f&&u.size>0&&!u.has(f),x=!f,g=io[e];return p.useEffect(()=>{if(a){let e=setTimeout(()=>s(null),3e3);return()=>clearTimeout(e)}},[a]),(0,m.jsxs)("form",{onSubmit:o(e=>{let t=Math.max(0,Math.min(2,e.temperature)),n=Math.max(0,Math.min(1,e.top_p));r({model:e.model||void 0,variant:e.variant||void 0,temperature:t,top_p:n,prompt_append:e.prompt_append||void 0}),s({type:"success",message:"Configuration saved successfully"})}),className:"space-y-6","aria-label":"Category configuration form",children:[a&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===a.type?"bg-emerald-50 text-emerald-800 dark:bg-emerald-900/20 dark:text-emerald-300":"bg-red-50 text-red-800 dark:bg-red-900/20 dark:text-red-300"}`,children:["success"===a.type?(0,m.jsx)(eS,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(eN,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:a.message})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"category-name",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Category"}),(0,m.jsx)("input",{id:"category-name",type:"text",value:e,disabled:!0,className:"w-full rounded-lg border border-zinc-200 bg-zinc-100 px-3 py-2 text-sm text-zinc-600 dark:border-zinc-800 dark:bg-zinc-900 dark:text-zinc-400"}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"The category identifier for this configuration."})]}),x&&g&&(0,m.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-zinc-200 bg-zinc-50 px-4 py-3 dark:border-zinc-800 dark:bg-zinc-900/20",children:[(0,m.jsx)(eN,{className:"mt-0.5 h-4 w-4 shrink-0 text-zinc-500 dark:text-zinc-400"}),(0,m.jsxs)("div",{className:"text-sm text-zinc-700 dark:text-zinc-300",children:[(0,m.jsx)("span",{className:"font-medium",children:"Using built-in fallback chain"})," — this category will try models in priority order when ",(0,m.jsx)("code",{className:"rounded bg-zinc-200 px-1 py-0.5 text-xs dark:bg-zinc-800",children:"task()"})," is called:",(0,m.jsx)("div",{className:"mt-2 flex flex-wrap items-center gap-1",children:g.map((e,t)=>(0,m.jsxs)(p.Fragment,{children:[(0,m.jsx)("code",{className:`rounded px-1.5 py-0.5 text-xs ${0===t?"bg-blue-100 text-blue-800 dark:bg-blue-900/50 dark:text-blue-200 font-medium":"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400"}`,children:e}),t<g.length-1&&(0,m.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:"→"})]},e))}),(0,m.jsx)("p",{className:"mt-2 text-xs text-zinc-500 dark:text-zinc-400",children:"Select a model to override the built-in behavior."})]})]}),x&&!g&&(0,m.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-zinc-200 bg-zinc-50 px-4 py-3 dark:border-zinc-800 dark:bg-zinc-900/20",children:[(0,m.jsx)(eN,{className:"mt-0.5 h-4 w-4 shrink-0 text-zinc-500 dark:text-zinc-400"}),(0,m.jsxs)("p",{className:"text-sm text-zinc-700 dark:text-zinc-300",children:[(0,m.jsx)("span",{className:"font-medium",children:"No model configured"})," — this custom category needs a model to be used with ",(0,m.jsx)("code",{className:"rounded bg-zinc-200 px-1 py-0.5 text-xs dark:bg-zinc-800",children:"task()"}),"."]})]}),h&&(0,m.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 dark:border-amber-800 dark:bg-amber-900/20",children:[(0,m.jsx)(ey,{className:"mt-0.5 h-4 w-4 shrink-0 text-amber-500 dark:text-amber-400"}),(0,m.jsxs)("p",{className:"text-sm text-amber-700 dark:text-amber-300",children:[(0,m.jsx)("span",{className:"font-medium",children:"Model unavailable"})," — ",(0,m.jsx)("code",{className:"rounded bg-amber-100 px-1 py-0.5 text-xs dark:bg-amber-800",children:f})," is missing from current providers. Please check your provider settings."]})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"model-selector",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Model"}),(0,m.jsx)(e6,{name:"model",control:i,render:({field:e})=>(0,m.jsx)("div",{id:"model-selector",children:(0,m.jsx)(ii,{value:e.value,onValueChange:e.onChange,placeholder:"Select a model..."})})}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"The AI model identifier for this category."})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"variant-selector",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Variant"}),(0,m.jsx)(e6,{name:"variant",control:i,render:({field:e})=>(0,m.jsxs)("select",{id:"variant-selector",value:e.value,onChange:t=>e.onChange(t.target.value),className:"w-full rounded-lg border border-zinc-200 bg-white px-3 py-2 text-sm dark:border-zinc-800 dark:bg-zinc-950",children:[(0,m.jsx)("option",{value:"",children:"Not set"}),(0,m.jsx)("option",{value:"max",children:"max"}),(0,m.jsx)("option",{value:"high",children:"high"}),(0,m.jsx)("option",{value:"medium",children:"medium"}),(0,m.jsx)("option",{value:"low",children:"low"}),(0,m.jsx)("option",{value:"xhigh",children:"xhigh"})]})}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Model reasoning variant. Higher values mean more thinking."})]}),(0,m.jsxs)("div",{className:"space-y-3",children:[(0,m.jsxs)("div",{className:"flex items-center justify-between",children:[(0,m.jsx)("label",{htmlFor:"temperature-slider",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Temperature"}),(0,m.jsx)(e6,{name:"temperature",control:i,rules:{min:{value:0,message:"Minimum is 0"},max:{value:2,message:"Maximum is 2"}},render:({field:e})=>(0,m.jsx)("span",{className:"rounded-md bg-zinc-100 px-2 py-0.5 text-xs font-medium text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300",children:e.value.toFixed(1)})})]}),(0,m.jsx)(e6,{name:"temperature",control:i,rules:{min:{value:0,message:"Minimum is 0"},max:{value:2,message:"Maximum is 2"}},render:({field:e,fieldState:t})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("input",{id:"temperature-slider",type:"range",min:0,max:2,step:.1,value:e.value,onChange:t=>e.onChange(parseFloat(t.target.value)),className:"flex-1 h-2 cursor-pointer appearance-none rounded-lg bg-zinc-200 accent-blue-600 dark:bg-zinc-700","aria-label":"Temperature slider"}),(0,m.jsx)("input",{type:"number",min:0,max:2,step:.1,value:e.value,onChange:t=>e.onChange(parseFloat(t.target.value)||0),className:"w-16 rounded-lg border border-zinc-200 bg-white px-2 py-1 text-center text-sm dark:border-zinc-800 dark:bg-zinc-950","aria-label":"Temperature value"})]}),t.error&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:t.error.message})]})}),(0,m.jsxs)("div",{className:"flex justify-between text-xs text-zinc-500 dark:text-zinc-400",children:[(0,m.jsx)("span",{children:"Precise (0)"}),(0,m.jsx)("span",{children:"Balanced (1)"}),(0,m.jsx)("span",{children:"Creative (2)"})]}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Controls randomness: lower values make responses more deterministic."})]}),(0,m.jsxs)("div",{className:"space-y-3",children:[(0,m.jsxs)("div",{className:"flex items-center justify-between",children:[(0,m.jsx)("label",{htmlFor:"top-p-slider",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Top P"}),(0,m.jsx)(e6,{name:"top_p",control:i,rules:{min:{value:0,message:"Minimum is 0"},max:{value:1,message:"Maximum is 1"}},render:({field:e})=>(0,m.jsx)("span",{className:"rounded-md bg-zinc-100 px-2 py-0.5 text-xs font-medium text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300",children:e.value.toFixed(2)})})]}),(0,m.jsx)(e6,{name:"top_p",control:i,rules:{min:{value:0,message:"Minimum is 0"},max:{value:1,message:"Maximum is 1"}},render:({field:e,fieldState:t})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("input",{id:"top-p-slider",type:"range",min:0,max:1,step:.05,value:e.value,onChange:t=>e.onChange(parseFloat(t.target.value)),className:"flex-1 h-2 cursor-pointer appearance-none rounded-lg bg-zinc-200 accent-blue-600 dark:bg-zinc-700","aria-label":"Top P slider"}),(0,m.jsx)("input",{type:"number",min:0,max:1,step:.05,value:e.value,onChange:t=>e.onChange(parseFloat(t.target.value)||0),className:"w-16 rounded-lg border border-zinc-200 bg-white px-2 py-1 text-center text-sm dark:border-zinc-800 dark:bg-zinc-950","aria-label":"Top P value"})]}),t.error&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:t.error.message})]})}),(0,m.jsxs)("div",{className:"flex justify-between text-xs text-zinc-500 dark:text-zinc-400",children:[(0,m.jsx)("span",{children:"Diverse (0)"}),(0,m.jsx)("span",{children:"Default (1)"})]}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Controls nucleus sampling: lower values sample from more likely tokens."})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"prompt-append",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Prompt Append"}),(0,m.jsx)(e6,{name:"prompt_append",control:i,render:({field:e})=>(0,m.jsx)("textarea",{id:"prompt-append",value:e.value,onChange:t=>e.onChange(t.target.value),rows:4,className:"w-full rounded-lg border border-zinc-200 bg-white px-3 py-2 text-sm resize-none dark:border-zinc-800 dark:bg-zinc-950",placeholder:"Additional system instructions to append..."})}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Additional instructions appended to the system prompt."})]}),(0,m.jsxs)("div",{className:"flex items-center justify-end gap-3 pt-2",children:[(0,m.jsx)("button",{type:"button",onClick:n,className:"inline-flex items-center gap-2 rounded-lg border border-zinc-200 bg-white px-4 py-2 text-sm font-medium text-zinc-700 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-300 dark:hover:bg-zinc-800",children:"Cancel"}),(0,m.jsxs)("button",{type:"submit",disabled:c,className:"inline-flex items-center gap-2 rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50 dark:bg-blue-600 dark:hover:bg-blue-500",children:[c&&(0,m.jsx)(ez,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Save Changes"]})]})]})}function ic({onSaveSuccess:e}){let t=(0,S.useQueryClient)(),[r,n]=p.useState(null),[a,s]=p.useState(void 0),[i,o]=p.useState(null),{data:l,isLoading:c,isError:d,error:u}=T({queryKey:["opencode-config"],queryFn:async()=>{let e=await fetch("/api/opencode-config");if(!e.ok)throw Error("Failed to fetch configuration");return e.json()}});p.useEffect(()=>{if(i){let e=setTimeout(()=>o(null),3e3);return()=>clearTimeout(e)}},[i]);let f=ej({mutationFn:async e=>{let t=await fetch("/api/opencode-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({categories:e})});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to save categories");return t.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["opencode-config"]}),o({type:"success",message:"Categories saved successfully"}),n(null),s(void 0),e?.()},onError:e=>{o({type:"error",message:e.message})}});if(c)return(0,m.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,m.jsx)(ez,{className:"h-6 w-6 animate-spin text-zinc-400"}),(0,m.jsx)("span",{className:"ml-2 text-sm text-zinc-500 dark:text-zinc-400",children:"Loading categories..."})]});if(d)return(0,m.jsx)("div",{className:"rounded-lg border border-red-200 bg-red-50 p-4 dark:border-red-800 dark:bg-red-900/20",children:(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)(eN,{className:"h-5 w-5 text-red-600 dark:text-red-400"}),(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-sm font-medium text-red-800 dark:text-red-300",children:"Failed to load categories"}),(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",children:u instanceof Error?u.message:"An unknown error occurred"})]})]})});let h=l?.categories||{};return(0,m.jsxs)("div",{className:"space-y-4",children:[i&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===i.type?"bg-emerald-50 text-emerald-800 dark:bg-emerald-900/20 dark:text-emerald-300":"bg-red-50 text-red-800 dark:bg-red-900/20 dark:text-red-300"}`,children:["success"===i.type?(0,m.jsx)(eS,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(eN,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:i.message})]}),r?(0,m.jsx)(il,{categoryName:r,initialConfig:a,onSave:e=>{if(!r)return;let t={...l?.categories||{},[r]:e};f.mutate(t)},onCancel:()=>{n(null),s(void 0)}}):(0,m.jsx)(eO,{categories:h,onEdit:(e,t)=>{n(e),s(t)},onDelete:e=>{let{[e]:t,...r}=l?.categories||{};f.mutate(r)}})]})}let id=eu("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),iu=eu("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]),im=eu("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]),ip=eu("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);function ih({profiles:e,activeProfileId:t,appliedProfileId:r,onApply:n,onEdit:a,onDelete:s,onExport:i,onImport:o,onCreateNew:l}){let[c,d]=p.useState(""),[u,f]=p.useState(null),h=p.useRef(null),x=(e,t)=>{t?f(e):n(e.id)},g=p.useMemo(()=>{if(!c.trim())return e;let t=c.toLowerCase();return e.filter(e=>e.name.toLowerCase().includes(t)||(e.description?.toLowerCase()||"").includes(t))},[e,c]),{active:b,builtIn:y,custom:v}=p.useMemo(()=>{let e=[],r=[],n=[];return g.forEach(a=>{a.id===t?e.push(a):a.isBuiltIn?r.push(a):n.push(a)}),{active:e,builtIn:r,custom:n}},[g,t]),k=e.length,w=g.length,j=c.trim().length>0;return(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsxs)("div",{className:"relative flex-1",children:[(0,m.jsx)(ex,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-zinc-400"}),(0,m.jsx)("input",{type:"text",placeholder:"Search profiles...",value:c,onChange:e=>d(e.target.value),className:"w-full pl-9 pr-3 py-2 text-sm bg-white dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-700 rounded-lg placeholder:text-zinc-400 focus:outline-none focus:ring-2 focus:ring-teal-500/20 focus:border-teal-500 transition-all duration-200"})]}),(0,m.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-zinc-500 dark:text-zinc-400 tabular-nums",children:[(0,m.jsx)(iu,{className:"h-3.5 w-3.5"}),(0,m.jsxs)("span",{children:[j?`${w} of ${k}`:`${k}`," profiles"]})]}),(0,m.jsx)("input",{ref:h,type:"file",accept:"application/json,.json",className:"sr-only",onChange:e=>{let t=e.target.files?.[0];t&&o(t),e.target.value=""},"aria-label":"Import profile file"}),(0,m.jsxs)("button",{type:"button",onClick:()=>{h.current?.click()},className:"inline-flex items-center gap-2 rounded-lg border border-zinc-200 bg-white px-3 py-2 text-sm font-medium text-zinc-700 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-300 dark:hover:bg-zinc-800 transition-colors",children:[(0,m.jsx)(ip,{className:"h-4 w-4"}),"Import File"]})]}),0===g.length&&(0,m.jsxs)("div",{className:"text-center py-12 px-4",children:[(0,m.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-full bg-zinc-100 dark:bg-zinc-800 mb-3",children:(0,m.jsx)(iu,{className:"h-5 w-5 text-zinc-400 dark:text-zinc-500"})}),(0,m.jsx)("p",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:j?"No profiles match your search":"No profiles yet"}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400 mt-1",children:j?"Try a different search term":"Create your first profile to get started"})]}),g.length>0&&(0,m.jsxs)("div",{className:"space-y-4",children:[b.length>0&&(0,m.jsxs)("section",{children:[(0,m.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,m.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-[10px] font-semibold bg-teal-100 text-teal-700 dark:bg-teal-900/40 dark:text-teal-300 uppercase tracking-wider",children:[(0,m.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-teal-500 animate-pulse"}),"Active"]}),(0,m.jsx)("span",{className:"text-[10px] text-zinc-400 dark:text-zinc-500 tabular-nums",children:b.length})]}),(0,m.jsx)("div",{className:"space-y-2",children:b.map(e=>(0,m.jsx)(ix,{profile:e,isActive:!0,isApplied:e.id===r,onApply:()=>x(e,e.id===r),onEdit:()=>a(e),onDelete:()=>s(e.id),onExport:()=>i(e)},e.id))})]}),y.length>0&&(0,m.jsxs)("section",{children:[(0,m.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,m.jsx)("span",{className:"text-[10px] font-semibold text-zinc-500 dark:text-zinc-400 uppercase tracking-wider",children:"Built-in"}),(0,m.jsx)("span",{className:"text-[10px] text-zinc-400 dark:text-zinc-500 tabular-nums",children:y.length})]}),(0,m.jsx)("div",{className:"space-y-2",children:y.map(e=>(0,m.jsx)(ix,{profile:e,isActive:!1,isApplied:e.id===r,onApply:()=>x(e,e.id===r),onEdit:()=>a(e),onDelete:()=>s(e.id),onExport:()=>i(e)},e.id))})]}),v.length>0&&(0,m.jsxs)("section",{children:[(0,m.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,m.jsx)("span",{className:"text-[10px] font-semibold text-zinc-500 dark:text-zinc-400 uppercase tracking-wider",children:"Custom"}),(0,m.jsx)("span",{className:"text-[10px] text-zinc-400 dark:text-zinc-500 tabular-nums",children:v.length})]}),(0,m.jsx)("div",{className:"space-y-2",children:v.map(e=>(0,m.jsx)(ix,{profile:e,isActive:!1,isApplied:e.id===r,onApply:()=>x(e,e.id===r),onEdit:()=>a(e),onDelete:()=>s(e.id),onExport:()=>i(e)},e.id))})]})]}),u&&(0,m.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",children:(0,m.jsx)("div",{className:"w-full max-w-md mx-4 bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-700 shadow-2xl",children:(0,m.jsxs)("div",{className:"p-6",children:[(0,m.jsxs)("div",{className:"flex items-start gap-4",children:[(0,m.jsx)("div",{className:"flex-shrink-0 w-12 h-12 rounded-full bg-amber-100 dark:bg-amber-900/30 flex items-center justify-center",children:(0,m.jsx)(ey,{className:"h-6 w-6 text-amber-600 dark:text-amber-400"})}),(0,m.jsxs)("div",{className:"flex-1",children:[(0,m.jsx)("h3",{className:"text-lg font-semibold text-zinc-900 dark:text-zinc-100",children:"Reset Profile Configuration"}),(0,m.jsxs)("p",{className:"mt-2 text-sm text-zinc-600 dark:text-zinc-400",children:["This will reset all agent and category configurations back to the ",(0,m.jsx)("strong",{children:u.name})," profile values. Any changes made after applying this profile will be lost."]})]})]}),(0,m.jsxs)("div",{className:"mt-6 flex items-center justify-end gap-3",children:[(0,m.jsxs)("button",{type:"button",onClick:()=>{f(null)},className:"inline-flex items-center gap-2 px-4 py-2 rounded-lg border border-zinc-200 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-sm font-medium text-zinc-700 dark:text-zinc-300 hover:bg-zinc-50 dark:hover:bg-zinc-700 transition-colors",children:[(0,m.jsx)(eh,{className:"h-4 w-4"}),"Cancel"]}),(0,m.jsxs)("button",{type:"button",onClick:()=>{u&&(n(u.id),f(null))},className:"inline-flex items-center gap-2 px-4 py-2 rounded-lg bg-amber-600 text-sm font-medium text-white hover:bg-amber-700 transition-colors",children:[(0,m.jsx)(eS,{className:"h-4 w-4"}),"Reset to ",u.name]})]})]})})}),(0,m.jsxs)("button",{type:"button",onClick:l,className:"w-full flex items-center justify-center gap-2 py-3 px-4 rounded-lg border border-dashed border-zinc-300 dark:border-zinc-700 text-sm font-medium text-zinc-600 dark:text-zinc-400 hover:border-teal-400 hover:text-teal-600 dark:hover:border-teal-500 dark:hover:text-teal-400 hover:bg-teal-50/50 dark:hover:bg-teal-900/10 transition-all duration-200",children:[(0,m.jsx)(id,{className:"h-4 w-4"}),"Create New Profile"]})]})}function ix({profile:e,isActive:t,isApplied:r,onApply:n,onEdit:a,onDelete:s,onExport:i}){return(0,m.jsxs)("div",{className:`
|
|
6
|
-
group relative flex items-center justify-between p-3 rounded-lg border
|
|
7
|
-
transition-all duration-200
|
|
8
|
-
${t?"bg-teal-50/50 border-teal-200 dark:bg-teal-900/20 dark:border-teal-700/50":"bg-white border-zinc-200 dark:bg-zinc-900 dark:border-zinc-700 hover:border-zinc-300 dark:hover:border-zinc-600"}
|
|
9
|
-
`,children:[(0,m.jsxs)("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[(0,m.jsx)("span",{className:"text-xl",role:"img","aria-label":`${e.name} icon`,children:e.emoji}),(0,m.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("h4",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100 truncate",children:e.name}),e.isDefault&&(0,m.jsx)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-300",children:"Default"}),e.isBuiltIn&&(0,m.jsx)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",children:"Built-in"})]}),e.description&&(0,m.jsx)("p",{className:"mt-0.5 text-xs text-zinc-500 dark:text-zinc-400 truncate",children:e.description})]})]}),(0,m.jsxs)("div",{className:"flex items-center gap-1 ml-3",children:[(0,m.jsx)("button",{type:"button",onClick:n,disabled:t&&!r,title:r?"Reset config to this profile":t?"Currently active":"Apply this profile",className:`
|
|
10
|
-
px-2.5 py-1 rounded-md text-xs font-medium
|
|
11
|
-
transition-all duration-200
|
|
12
|
-
${r?"bg-amber-100 text-amber-700 hover:bg-amber-200 dark:bg-amber-900/40 dark:text-amber-300 dark:hover:bg-amber-900/60":t?"bg-teal-100 text-teal-700 dark:bg-teal-900/40 dark:text-teal-300 cursor-default":"bg-zinc-100 text-zinc-700 hover:bg-teal-100 hover:text-teal-700 dark:bg-zinc-800 dark:text-zinc-300 dark:hover:bg-teal-900/30 dark:hover:text-teal-300"}
|
|
13
|
-
`,children:r?"Reset":t?"Active":"Apply"}),(0,m.jsxs)("div",{className:"flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,m.jsx)("button",{type:"button",onClick:i,className:"p-1.5 rounded-md text-zinc-400 hover:text-teal-600 hover:bg-teal-50 dark:text-zinc-500 dark:hover:text-teal-300 dark:hover:bg-teal-900/20 transition-colors","aria-label":`Export ${e.name}`,title:`Export ${e.name}`,children:(0,m.jsx)(im,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),(0,m.jsx)("button",{type:"button",onClick:a,className:"p-1.5 rounded-md text-zinc-400 hover:text-zinc-700 hover:bg-zinc-100 dark:text-zinc-500 dark:hover:text-zinc-200 dark:hover:bg-zinc-800 transition-colors","aria-label":`Edit ${e.name}`,title:`Edit ${e.name}`,children:(0,m.jsxs)("svg",{className:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,role:"img",children:[(0,m.jsx)("title",{children:"Edit"}),(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})]})}),!e.isBuiltIn&&!e.isDefault&&(0,m.jsx)("button",{type:"button",onClick:s,className:"p-1.5 rounded-md text-zinc-400 hover:text-red-600 hover:bg-red-50 dark:text-zinc-500 dark:hover:text-red-400 dark:hover:bg-red-900/20 transition-colors","aria-label":`Delete ${e.name}`,title:`Delete ${e.name}`,children:(0,m.jsxs)("svg",{className:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,role:"img",children:[(0,m.jsx)("title",{children:"Delete"}),(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})]})})]})]})]})}let ig=eu("rotate-ccw",[["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"}]]),ib=["⚡","🔥","💎","🚀","🎯","💡","🔧","🎨","📊","🤖","👾","💻","⚙️","🔍","✨","🌟","🎭","🎪","🧩","🎲","📚","🔐","🛠️","⚡️","🌊","🔮","📡","🎸","🏆","🌈"];function iy({profile:e,initialConfig:t,onSave:r,onCancel:n}){let a=!!e,[s,i]=p.useState(null),[o,l]=p.useState(t||{agents:{}}),[c,d]=p.useState(t||{agents:{}});p.useEffect(()=>{t&&(l(t),d(t))},[t]);let[u,f]=p.useState(!1),{control:h,handleSubmit:x,watch:g,formState:{errors:b,isSubmitting:y}}=tS({defaultValues:{id:e?.id||"",name:e?.name||"",emoji:e?.emoji||"⚡",description:e?.description||""}}),v=g("name"),k=g("emoji");p.useEffect(()=>{if(s){let e=setTimeout(()=>i(null),3e3);return()=>clearTimeout(e)}},[s]);let w=async()=>{try{let e=await fetch("/api/opencode-config");if(!e.ok)throw Error("Failed to fetch configuration");let t=await e.json(),r={agents:t.agents||{},categories:t.categories};l(r),i({type:"success",message:"Configuration imported successfully"})}catch{i({type:"error",message:"Failed to import configuration"})}},j=p.useMemo(()=>JSON.stringify(o)!==JSON.stringify(c),[o,c]),z=Object.keys(o.agents||{}).length,N=Object.keys(o.categories||{}).length;return(0,m.jsxs)("form",{onSubmit:x(t=>{let n=new Date().toISOString();r({profile:{id:a?e.id:t.id,name:t.name,emoji:t.emoji,description:t.description||void 0,createdAt:a?e.createdAt:n,updatedAt:n,isDefault:!!a&&e.isDefault,isBuiltIn:!!a&&e.isBuiltIn},config:o}),i({type:"success",message:`Profile ${a?"updated":"created"} successfully`})}),className:"space-y-6","aria-label":"Profile editor form",children:[s&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===s.type?"bg-emerald-50 text-emerald-800 dark:bg-emerald-900/20 dark:text-emerald-300":"bg-red-50 text-red-800 dark:bg-red-900/20 dark:text-red-300"}`,children:["success"===s.type?(0,m.jsx)(eS,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(eN,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:s.message})]}),!a&&(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsxs)("label",{htmlFor:"profile-id",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:["Profile ID",(0,m.jsx)("span",{className:"ml-1 text-red-500",children:"*"})]}),(0,m.jsx)(e6,{name:"id",control:h,rules:{required:"Profile ID is required",pattern:{value:/^[a-zA-Z0-9_-]+$/,message:"Only alphanumeric characters, hyphens, and underscores allowed"}},render:({field:e})=>(0,m.jsx)("input",{id:"profile-id",type:"text",value:e.value,onChange:t=>e.onChange(t.target.value),placeholder:"e.g., my-custom-profile",className:"w-full rounded-lg border border-zinc-200 bg-white px-3 py-2 text-sm dark:border-zinc-800 dark:bg-zinc-950"})}),b.id&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:b.id.message}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Unique identifier for this profile. Use only letters, numbers, hyphens, and underscores."})]}),a&&(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"profile-id-readonly",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Profile ID"}),(0,m.jsx)("input",{id:"profile-id-readonly",type:"text",value:e.id,disabled:!0,className:"w-full rounded-lg border border-zinc-200 bg-zinc-100 px-3 py-2 text-sm text-zinc-600 dark:border-zinc-800 dark:bg-zinc-900 dark:text-zinc-400"}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Profile ID cannot be changed after creation."})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsxs)("label",{htmlFor:"profile-name",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:["Name",(0,m.jsx)("span",{className:"ml-1 text-red-500",children:"*"})]}),(0,m.jsx)(e6,{name:"name",control:h,rules:{required:"Name is required",minLength:{value:1,message:"Name cannot be empty"}},render:({field:e})=>(0,m.jsx)("input",{id:"profile-name",type:"text",value:e.value,onChange:t=>e.onChange(t.target.value),placeholder:"e.g., My Custom Profile",className:"w-full rounded-lg border border-zinc-200 bg-white px-3 py-2 text-sm dark:border-zinc-800 dark:bg-zinc-950"})}),b.name&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:b.name.message}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Display name for this profile."})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("p",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Emoji Icon"}),(0,m.jsx)(e6,{name:"emoji",control:h,render:({field:e})=>(0,m.jsx)("div",{className:"flex flex-wrap gap-2",children:ib.map(t=>(0,m.jsx)("button",{type:"button",onClick:()=>e.onChange(t),className:`h-10 w-10 rounded-lg text-xl transition-all ${e.value===t?"bg-blue-100 ring-2 ring-blue-500 dark:bg-blue-900/30 dark:ring-blue-400":"bg-zinc-100 hover:bg-zinc-200 dark:bg-zinc-800 dark:hover:bg-zinc-700"}`,"aria-label":`Select ${t} emoji`,"aria-pressed":e.value===t,children:t},t))})}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Choose an emoji to represent this profile."})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"profile-description",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Description"}),(0,m.jsx)(e6,{name:"description",control:h,render:({field:e})=>(0,m.jsx)("textarea",{id:"profile-description",value:e.value,onChange:t=>e.onChange(t.target.value),rows:3,className:"w-full rounded-lg border border-zinc-200 bg-white px-3 py-2 text-sm resize-none dark:border-zinc-800 dark:bg-zinc-950",placeholder:"Optional description of this profile..."})}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Optional description to help identify this profile."})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("p",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Configuration"}),(0,m.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,m.jsxs)("button",{type:"button",onClick:w,className:"inline-flex items-center gap-2 rounded-lg border border-zinc-200 bg-white px-4 py-2 text-sm font-medium text-zinc-700 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-300 dark:hover:bg-zinc-800",children:[(0,m.jsx)(ip,{className:"h-4 w-4","aria-hidden":"true"}),"Import from Current Config"]}),a&&j&&(0,m.jsxs)("button",{type:"button",onClick:()=>{l(c),i({type:"success",message:"Configuration reset to original values"})},className:"inline-flex items-center gap-2 rounded-lg border border-zinc-200 bg-white px-4 py-2 text-sm font-medium text-zinc-700 hover:bg-zinc-50 hover:text-amber-600 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-300 dark:hover:bg-zinc-800 dark:hover:text-amber-400",children:[(0,m.jsx)(ig,{className:"h-4 w-4","aria-hidden":"true"}),"Reset to Original"]})]}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Import agent and category configurations from your current settings, or reset to the profile's original values."})]}),(0,m.jsxs)("div",{className:"rounded-lg border border-zinc-200 bg-zinc-50 p-4 dark:border-zinc-700 dark:bg-zinc-900",children:[(0,m.jsx)("h4",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100 mb-2",children:"Profile Preview"}),(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("span",{className:"text-3xl","aria-hidden":"true",children:k||"⚡"}),(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:v||"Untitled Profile"}),(0,m.jsxs)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:[z," agent",1!==z?"s":"",", ",N," categor",1!==N?"ies":"y"," configured"]})]})]})]}),(0,m.jsxs)("div",{className:"rounded-lg border border-zinc-200 dark:border-zinc-700 overflow-hidden",children:[(0,m.jsxs)("button",{type:"button",onClick:()=>f(!u),className:"w-full flex items-center justify-between p-4 hover:bg-zinc-50 dark:hover:bg-zinc-800/50 transition-colors","aria-expanded":u,children:[(0,m.jsx)("span",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Configuration Details"}),(0,m.jsx)(a8,{className:`h-4 w-4 text-zinc-500 transition-transform duration-200 ${u?"rotate-180":""}`,"aria-hidden":"true"})]}),u&&(0,m.jsxs)("div",{className:"border-t border-zinc-200 dark:border-zinc-700 p-4 space-y-4",children:[(0,m.jsxs)("div",{children:[(0,m.jsxs)("h5",{className:"text-xs font-semibold text-zinc-500 dark:text-zinc-400 uppercase tracking-wide mb-2",children:["Agents (",z,")"]}),0===z?(0,m.jsx)("p",{className:"text-sm text-zinc-400 dark:text-zinc-500 italic",children:"No agents configured"}):(0,m.jsx)("ul",{className:"space-y-1.5",children:Object.entries(o.agents||{}).map(([e,t])=>(0,m.jsxs)("li",{className:"text-sm text-zinc-700 dark:text-zinc-300 flex items-center gap-2",children:[(0,m.jsx)("span",{className:"font-medium text-zinc-900 dark:text-zinc-100 min-w-[80px]",children:e}),(0,m.jsx)("span",{className:"text-zinc-400",children:"→"}),(0,m.jsxs)("span",{className:"text-zinc-600 dark:text-zinc-400",children:[t.model,void 0!==t.temperature&&` temp: ${t.temperature}`]})]},e))})]}),(0,m.jsxs)("div",{children:[(0,m.jsxs)("h5",{className:"text-xs font-semibold text-zinc-500 dark:text-zinc-400 uppercase tracking-wide mb-2",children:["Categories (",N,")"]}),0===N?(0,m.jsx)("p",{className:"text-sm text-zinc-400 dark:text-zinc-500 italic",children:"No categories configured"}):(0,m.jsx)("ul",{className:"space-y-1.5",children:Object.entries(o.categories||{}).map(([e,t])=>(0,m.jsxs)("li",{className:"text-sm text-zinc-700 dark:text-zinc-300 flex items-center gap-2",children:[(0,m.jsx)("span",{className:"font-medium text-zinc-900 dark:text-zinc-100 min-w-[80px]",children:e}),(0,m.jsx)("span",{className:"text-zinc-400",children:"→"}),(0,m.jsxs)("span",{className:"text-zinc-600 dark:text-zinc-400",children:[t.model,t.variant&&` (${t.variant})`,void 0!==t.temperature&&` temp: ${t.temperature}`]})]},e))})]})]})]}),(0,m.jsxs)("div",{className:"flex items-center justify-end gap-3 pt-2",children:[(0,m.jsx)("button",{type:"button",onClick:n,className:"inline-flex items-center gap-2 rounded-lg border border-zinc-200 bg-white px-4 py-2 text-sm font-medium text-zinc-700 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-300 dark:hover:bg-zinc-800",children:"Cancel"}),(0,m.jsxs)("button",{type:"submit",disabled:y||!v.trim(),className:"inline-flex items-center gap-2 rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50 dark:bg-blue-600 dark:hover:bg-blue-500",children:[y&&(0,m.jsx)(ez,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),a?"Save Changes":"Create Profile"]})]})]})}async function iv(){let e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{let t=await fetch("/api/profiles",{signal:e.signal});if(!t.ok)throw Error("Failed to fetch profiles");return t.json()}catch(e){if(e instanceof Error&&"AbortError"===e.name)throw Error("Loading profiles timed out. Please try again.");throw e}finally{clearTimeout(t)}}async function ik(e){return"function"==typeof e.text?e.text():new Response(e).text()}function iw({onSaveSuccess:e}){let t=(0,S.useQueryClient)(),[r,n]=p.useState(null),[a,s]=p.useState(void 0),[i,o]=p.useState(!1),[l,c]=p.useState(null),[d,u]=p.useState(null),{data:f,isLoading:h,isError:x,error:g}=T({queryKey:["profiles"],queryFn:iv,retry:!1});p.useEffect(()=>{f?.activeProfileId&&c(f.activeProfileId)},[f?.activeProfileId]),p.useEffect(()=>{if(d){let e=setTimeout(()=>u(null),3e3);return()=>clearTimeout(e)}},[d]);let b=ej({mutationFn:async e=>{let t=await fetch(`/api/profiles/${e}/apply`,{method:"POST"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to apply profile");return t.json()},onSuccess:(e,r)=>{t.invalidateQueries({queryKey:["profiles"]}),t.invalidateQueries({queryKey:["opencode-config"]}),c(r),u({type:"success",message:"Profile applied successfully"})},onError:e=>{u({type:"error",message:e.message})}}),y=ej({mutationFn:async({profile:e,config:t})=>{let r=await fetch("/api/profiles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profile:e,config:t})});if(!r.ok)throw Error((await r.json().catch(()=>({}))).error||"Failed to create profile");return r.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["profiles"]}),u({type:"success",message:"Profile created successfully"}),o(!1),e?.()},onError:e=>{u({type:"error",message:e.message})}}),v=ej({mutationFn:async({id:e,profile:t,config:r})=>{let n=await fetch(`/api/profiles/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({profile:t,config:r})});if(!n.ok)throw Error((await n.json().catch(()=>({}))).error||"Failed to update profile");return n.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["profiles"]}),u({type:"success",message:"Profile updated successfully"}),n(null),e?.()},onError:e=>{u({type:"error",message:e.message})}}),k=ej({mutationFn:async e=>{let t=await fetch(`/api/profiles/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete profile");return t.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["profiles"]}),u({type:"success",message:"Profile deleted successfully"})},onError:e=>{u({type:"error",message:e.message})}}),w=ej({mutationFn:async e=>{let t=await fetch(`/api/profiles/${e.id}/export`);if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to export profile");return{blob:await t.blob(),profile:e}},onSuccess:({blob:e,profile:t})=>{var r;let n,a;r=`${t.id}.vibepulse-profile.json`,n=URL.createObjectURL(e),(a=document.createElement("a")).href=n,a.download=r,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(n),u({type:"success",message:`Exported ${t.name}`})},onError:e=>{u({type:"error",message:e.message})}}),j=ej({mutationFn:async e=>{let t;try{t=JSON.parse(await ik(e))}catch{throw Error("Profile file must be valid JSON")}let r=await fetch("/api/profiles/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok)throw Error((await r.json().catch(()=>({}))).error||"Failed to import profile");return r.json()},onSuccess:e=>{t.invalidateQueries({queryKey:["profiles"]});let r=e&&"object"==typeof e&&"profile"in e&&e.profile&&"object"==typeof e.profile&&"name"in e.profile&&"string"==typeof e.profile.name?e.profile.name:"profile";u({type:"success",message:`Imported ${r}`})},onError:e=>{u({type:"error",message:e.message})}}),z=async e=>{n(e),o(!1);try{let t=await fetch(`/api/profiles/${e.id}`);if(t.ok){let e=await t.json();s(e.config)}}catch{s(void 0)}};if(h)return(0,m.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,m.jsx)(ez,{className:"h-6 w-6 animate-spin text-zinc-400"}),(0,m.jsx)("span",{className:"ml-2 text-sm text-zinc-500 dark:text-zinc-400",children:"Loading profiles..."})]});if(x)return(0,m.jsx)("div",{className:"rounded-lg border border-red-200 bg-red-50 p-4 dark:border-red-800 dark:bg-red-900/20",children:(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)(eN,{className:"h-5 w-5 text-red-600 dark:text-red-400"}),(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-sm font-medium text-red-800 dark:text-red-300",children:"Failed to load profiles"}),(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",children:g instanceof Error?g.message:"An unknown error occurred"})]})]})});let N=f?.profiles??[],C=f?.activeProfileId??null;return(0,m.jsxs)("div",{className:"space-y-4",children:[d&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===d.type?"bg-emerald-50 text-emerald-800 dark:bg-emerald-900/20 dark:text-emerald-300":"bg-red-50 text-red-800 dark:bg-red-900/20 dark:text-red-300"}`,children:["success"===d.type?(0,m.jsx)(eS,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(eN,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:d.message})]}),r||i?(0,m.jsx)(iy,{profile:r??void 0,initialConfig:a,onSave:({profile:e,config:t})=>{i?y.mutate({profile:e,config:t}):r&&v.mutate({id:r.id,profile:e,config:t})},onCancel:()=>{n(null),s(void 0),o(!1)}}):(0,m.jsx)(ih,{profiles:N,activeProfileId:C,appliedProfileId:l,onApply:e=>{b.mutate(e)},onEdit:z,onDelete:e=>{k.mutate(e)},onExport:e=>{w.mutate(e)},onImport:e=>{j.mutate(e)},onCreateNew:()=>{o(!0),n(null)}})]})}let ij={sisyphus:["anthropic/claude-opus-4-6","glm-5","big-pickle"],prometheus:["anthropic/claude-opus-4-6","openai/gpt-5.4","google/gemini-3.1-pro"],metis:["anthropic/claude-opus-4-6","openai/gpt-5.4","google/gemini-3.1-pro"],atlas:["anthropic/claude-sonnet-4-6","openai/gpt-5.4"],hephaestus:["openai/gpt-5.3-codex"],oracle:["openai/gpt-5.4","google/gemini-3.1-pro","anthropic/claude-opus-4-6"],momus:["openai/gpt-5.4","anthropic/claude-opus-4-6","google/gemini-3.1-pro"],explore:["github-copilot/grok-code-fast-1","minimax-m2.5-free","anthropic/claude-haiku-4-5","opencode/gpt-5-nano"],librarian:["google/gemini-3-flash","minimax-m2.5-free","big-pickle"],default:["anthropic/claude-opus-4-6","openai/gpt-5.4"]};function iz({agentName:e="default",onSaveSuccess:t}){let r=(0,S.useQueryClient)(),[n,a]=p.useState(null),{data:s,isLoading:i}=T({queryKey:["opencode-config"],queryFn:async()=>{let e=await fetch("/api/opencode-config");if(!e.ok)throw Error("Failed to fetch config");return e.json()}}),{control:o,handleSubmit:l,reset:c,formState:{isSubmitting:d}}=tS({defaultValues:{model:"",temperature:.7,top_p:1,variant:"",prompt_append:""}}),{data:u}=T({queryKey:["opencode-models"],queryFn:async()=>{var e;let t=await fetch("/api/opencode-models"),r=null;try{r=await t.json()}catch{r=null}let n=r&&"object"==typeof r&&"error"in r&&"string"==typeof r.error?r.error:null;if(!t.ok||n)throw Error(n||`Failed to fetch models (${t.status})`);if(!((e=r)&&"object"==typeof e&&Array.isArray(e.models)))throw Error("Invalid models response");return r},retry:!1}),f=p.useMemo(()=>new Set(u?.models??[]),[u]);p.useEffect(()=>{if(s){let t=s.agents?.[e]||{};c({model:t.model||"",temperature:t.temperature??.7,top_p:t.top_p??1,variant:t.variant||"",prompt_append:t.prompt_append||""})}},[s,e,c]),p.useEffect(()=>{if(n){let e=setTimeout(()=>a(null),3e3);return()=>clearTimeout(e)}},[n]);let h=ej({mutationFn:async t=>{let r=await fetch("/api/opencode-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agents:{[e]:t}})});if(!r.ok)throw Error((await r.json()).error||"Failed to save config");return r.json()},onSuccess:()=>{r.invalidateQueries({queryKey:["opencode-config"]}),a({type:"success",message:"Configuration saved successfully"}),t?.()},onError:e=>{a({type:"error",message:e.message})}}),x=s?.agents?.[e],g=!!x?.model,b=x?.model,y=b&&f.size>0&&!f.has(b),v=!b,k=ij[e]||ij.default;return i?(0,m.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,m.jsx)(ez,{className:"h-6 w-6 animate-spin text-zinc-400"}),(0,m.jsx)("span",{className:"ml-2 text-sm text-zinc-500",children:"Loading configuration..."})]}):(0,m.jsxs)("form",{onSubmit:l(e=>{h.mutate(e)}),className:"space-y-6","aria-label":"Agent configuration form",children:[g&&(0,m.jsx)("div",{className:"rounded-lg bg-blue-50 border border-blue-200 px-4 py-3 dark:bg-blue-900/20 dark:border-blue-800",children:(0,m.jsxs)("p",{className:"text-sm text-blue-800 dark:text-blue-300",children:[(0,m.jsx)("span",{className:"font-medium",children:"Preset applied:"})," This agent is configured with model ",(0,m.jsx)("span",{className:"font-mono bg-blue-100 dark:bg-blue-800 px-1.5 py-0.5 rounded",children:x.model}),x.variant&&(0,m.jsxs)("span",{children:[" (variant: ",x.variant,")"]})]})}),n&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===n.type?"bg-emerald-50 text-emerald-800 dark:bg-emerald-900/20 dark:text-emerald-300":"bg-red-50 text-red-800 dark:bg-red-900/20 dark:text-red-300"}`,children:["success"===n.type?(0,m.jsx)(eS,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(eN,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:n.message})]}),v&&(0,m.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-zinc-200 bg-zinc-50 px-4 py-3 dark:border-zinc-800 dark:bg-zinc-900/20",children:[(0,m.jsx)(eN,{className:"mt-0.5 h-4 w-4 shrink-0 text-zinc-500 dark:text-zinc-400"}),(0,m.jsxs)("div",{className:"text-sm text-zinc-700 dark:text-zinc-300",children:[(0,m.jsx)("span",{className:"font-medium",children:"Using default fallback chain"})," — this agent will try models in priority order:",(0,m.jsx)("div",{className:"mt-2 flex flex-wrap items-center gap-1",children:k.map((e,t)=>(0,m.jsxs)(p.Fragment,{children:[(0,m.jsx)("code",{className:`rounded px-1.5 py-0.5 text-xs ${0===t?"bg-blue-100 text-blue-800 dark:bg-blue-900/50 dark:text-blue-200 font-medium":"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400"}`,children:e}),t<k.length-1&&(0,m.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:"→"})]},e))}),(0,m.jsx)("p",{className:"mt-2 text-xs text-zinc-500 dark:text-zinc-400",children:"Select a model below to override the default behavior."})]})]}),y&&(0,m.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 dark:border-amber-800 dark:bg-amber-900/20",children:[(0,m.jsx)(ey,{className:"mt-0.5 h-4 w-4 shrink-0 text-amber-500 dark:text-amber-400"}),(0,m.jsxs)("p",{className:"text-sm text-amber-700 dark:text-amber-300",children:[(0,m.jsx)("span",{className:"font-medium",children:"Model unavailable"})," — ",(0,m.jsx)("code",{className:"rounded bg-amber-100 px-1 py-0.5 text-xs dark:bg-amber-800",children:b})," is missing from current providers. Please check your provider settings or select a different model."]})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"model-selector",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Model"}),(0,m.jsx)(e6,{name:"model",control:o,rules:{required:"Please select a model"},render:({field:e,fieldState:t})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{id:"model-selector",children:(0,m.jsx)(ii,{value:e.value,onValueChange:e.onChange,placeholder:"Select a model..."})}),t.error&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:t.error.message})]})}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"The AI model used for this agent."})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"variant-selector",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Variant"}),(0,m.jsx)(e6,{name:"variant",control:o,render:({field:e})=>(0,m.jsxs)("select",{id:"variant-selector",value:e.value,onChange:t=>e.onChange(t.target.value),className:"w-full rounded-lg border border-zinc-200 bg-white px-3 py-2 text-sm dark:border-zinc-800 dark:bg-zinc-950",children:[(0,m.jsx)("option",{value:"",children:"Not set"}),(0,m.jsx)("option",{value:"max",children:"max"}),(0,m.jsx)("option",{value:"high",children:"high"}),(0,m.jsx)("option",{value:"medium",children:"medium"}),(0,m.jsx)("option",{value:"low",children:"low"}),(0,m.jsx)("option",{value:"xhigh",children:"xhigh"})]})}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Model reasoning variant. Higher values mean more thinking."})]}),(0,m.jsxs)("div",{className:"space-y-3",children:[(0,m.jsxs)("div",{className:"flex items-center justify-between",children:[(0,m.jsx)("label",{htmlFor:"temperature-slider",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Temperature"}),(0,m.jsx)(e6,{name:"temperature",control:o,render:({field:e})=>(0,m.jsx)("span",{className:"rounded-md bg-zinc-100 px-2 py-0.5 text-xs font-medium text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300",children:e.value.toFixed(1)})})]}),(0,m.jsx)(e6,{name:"temperature",control:o,render:({field:e})=>(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("input",{id:"temperature-slider",type:"range",min:0,max:2,step:.1,value:e.value,onChange:t=>e.onChange(parseFloat(t.target.value)),className:"flex-1 h-2 cursor-pointer appearance-none rounded-lg bg-zinc-200 accent-blue-600 dark:bg-zinc-700","aria-label":"Temperature slider"}),(0,m.jsx)("input",{type:"number",min:0,max:2,step:.1,value:e.value,onChange:t=>e.onChange(parseFloat(t.target.value)||0),className:"w-16 rounded-lg border border-zinc-200 bg-white px-2 py-1 text-center text-sm dark:border-zinc-800 dark:bg-zinc-950","aria-label":"Temperature value"})]})}),(0,m.jsxs)("div",{className:"flex justify-between text-xs text-zinc-500 dark:text-zinc-400",children:[(0,m.jsx)("span",{children:"Precise (0)"}),(0,m.jsx)("span",{children:"Balanced (1)"}),(0,m.jsx)("span",{children:"Creative (2)"})]}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Controls randomness: lower values make responses more deterministic."})]}),(0,m.jsxs)("div",{className:"space-y-3",children:[(0,m.jsxs)("div",{className:"flex items-center justify-between",children:[(0,m.jsx)("label",{htmlFor:"top-p-slider",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Top P"}),(0,m.jsx)(e6,{name:"top_p",control:o,render:({field:e})=>(0,m.jsx)("span",{className:"rounded-md bg-zinc-100 px-2 py-0.5 text-xs font-medium text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300",children:e.value.toFixed(2)})})]}),(0,m.jsx)(e6,{name:"top_p",control:o,render:({field:e})=>(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("input",{id:"top-p-slider",type:"range",min:0,max:1,step:.05,value:e.value,onChange:t=>e.onChange(parseFloat(t.target.value)),className:"flex-1 h-2 cursor-pointer appearance-none rounded-lg bg-zinc-200 accent-blue-600 dark:bg-zinc-700","aria-label":"Top P slider"}),(0,m.jsx)("input",{type:"number",min:0,max:1,step:.05,value:e.value,onChange:t=>e.onChange(parseFloat(t.target.value)||0),className:"w-16 rounded-lg border border-zinc-200 bg-white px-2 py-1 text-center text-sm dark:border-zinc-800 dark:bg-zinc-950","aria-label":"Top P value"})]})}),(0,m.jsxs)("div",{className:"flex justify-between text-xs text-zinc-500 dark:text-zinc-400",children:[(0,m.jsx)("span",{children:"Diverse (0)"}),(0,m.jsx)("span",{children:"Default (1)"})]}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Controls nucleus sampling: lower values sample from more likely tokens."})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"prompt-append",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Prompt Append"}),(0,m.jsx)(e6,{name:"prompt_append",control:o,render:({field:e})=>(0,m.jsx)("textarea",{id:"prompt-append",value:e.value,onChange:t=>e.onChange(t.target.value),rows:4,className:"w-full rounded-lg border border-zinc-200 bg-white px-3 py-2 text-sm resize-none dark:border-zinc-800 dark:bg-zinc-950",placeholder:"Additional system instructions to append..."})}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Additional instructions appended to the system prompt."})]}),(0,m.jsx)("div",{className:"flex items-center justify-end gap-3 pt-2",children:(0,m.jsxs)("button",{type:"submit",disabled:d||h.isPending,className:"inline-flex items-center gap-2 rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50 dark:bg-blue-600 dark:hover:bg-blue-500",children:[(d||h.isPending)&&(0,m.jsx)(ez,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Save Changes"]})})]})}let iN=eu("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);function iS(){let e=(0,S.useQueryClient)(),[t,r]=p.useState(null),{data:n,isLoading:a}=T({queryKey:["opencode-config"],queryFn:async()=>{let e=await fetch("/api/opencode-config");if(!e.ok)throw Error("Failed to fetch config");return e.json()}}),{control:s,handleSubmit:i,reset:o,formState:{isDirty:l,isSubmitting:c}}=tS({defaultValues:{stickyBusyDelaySeconds:1,sessionsRefreshIntervalSeconds:5}});p.useEffect(()=>{n&&o({stickyBusyDelaySeconds:"number"==typeof n.vibepulse?.stickyBusyDelayMs?Math.round(n.vibepulse.stickyBusyDelayMs/1e3):1,sessionsRefreshIntervalSeconds:"number"==typeof n.vibepulse?.sessionsRefreshIntervalMs?Math.round(n.vibepulse.sessionsRefreshIntervalMs/1e3):5})},[n,o]),p.useEffect(()=>{if(t){let e=setTimeout(()=>r(null),3e3);return()=>clearTimeout(e)}},[t]);let d=ej({mutationFn:async e=>{let t=await fetch("/api/opencode-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({vibepulse:{stickyBusyDelayMs:1e3*e.stickyBusyDelaySeconds,sessionsRefreshIntervalMs:1e3*e.sessionsRefreshIntervalSeconds}})});if(!t.ok)throw Error((await t.json()).error||"Failed to save settings");return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["opencode-config"]}),r({type:"success",message:"Settings saved successfully"})},onError:e=>{r({type:"error",message:e.message})}});return a?(0,m.jsx)("div",{className:"flex h-40 items-center justify-center",children:(0,m.jsx)(ez,{className:"h-6 w-6 animate-spin text-zinc-400"})}):(0,m.jsx)("form",{onSubmit:i(e=>{d.mutate(e)}),className:"space-y-6",children:(0,m.jsxs)("div",{className:"rounded-xl border border-zinc-200 bg-white p-6 shadow-sm dark:border-zinc-800 dark:bg-zinc-900",children:[(0,m.jsxs)("div",{className:"mb-6 flex items-center gap-3 border-b border-zinc-100 pb-4 dark:border-zinc-800",children:[(0,m.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-zinc-100 text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400",children:(0,m.jsx)(ep,{className:"h-4 w-4"})}),(0,m.jsx)("h3",{className:"text-lg font-medium text-zinc-900 dark:text-zinc-100",children:"Application Settings"})]}),t&&(0,m.jsxs)("div",{role:"alert",className:`mb-6 flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===t.type?"bg-emerald-50 text-emerald-800 dark:bg-emerald-900/20 dark:text-emerald-300":"bg-red-50 text-red-800 dark:bg-red-900/20 dark:text-red-300"}`,children:["success"===t.type?(0,m.jsx)(eS,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(eN,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:t.message})]}),(0,m.jsxs)("div",{className:"space-y-8",children:[(0,m.jsxs)("div",{className:"space-y-3",children:[(0,m.jsxs)("div",{className:"flex items-center justify-between",children:[(0,m.jsx)("label",{htmlFor:"sticky-busy-slider",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Sticky Busy Delay"}),(0,m.jsx)(e6,{name:"stickyBusyDelaySeconds",control:s,render:({field:e})=>(0,m.jsxs)("span",{className:"rounded-md bg-zinc-100 px-2 py-0.5 text-xs font-medium text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300",children:[e.value,"s"]})})]}),(0,m.jsx)(e6,{name:"stickyBusyDelaySeconds",control:s,render:({field:e})=>(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("input",{id:"sticky-busy-slider",type:"range",min:0,max:60,step:1,value:e.value,onChange:t=>e.onChange(parseInt(t.target.value,10)),className:"flex-1 h-2 cursor-pointer appearance-none rounded-lg bg-zinc-200 accent-blue-600 dark:bg-zinc-700","aria-label":"Sticky busy delay slider"}),(0,m.jsx)("input",{type:"number",min:0,max:300,step:1,value:e.value,onChange:t=>e.onChange(parseInt(t.target.value,10)||0),className:"w-20 rounded-lg border border-zinc-200 bg-white px-2 py-1 text-center text-sm dark:border-zinc-800 dark:bg-zinc-950","aria-label":"Sticky busy delay value"})]})}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:'The duration to keep a session marked as "busy" after activity stops. This prevents the UI from flickering when agents pause briefly. Default is 1 second.'})]}),(0,m.jsxs)("div",{className:"space-y-3",children:[(0,m.jsxs)("div",{className:"flex items-center justify-between",children:[(0,m.jsx)("label",{htmlFor:"refresh-interval-slider",className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Sessions Refresh Interval"}),(0,m.jsx)(e6,{name:"sessionsRefreshIntervalSeconds",control:s,render:({field:e})=>(0,m.jsxs)("span",{className:"rounded-md bg-zinc-100 px-2 py-0.5 text-xs font-medium text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300",children:[e.value,"s"]})})]}),(0,m.jsx)(e6,{name:"sessionsRefreshIntervalSeconds",control:s,render:({field:e})=>(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("input",{id:"refresh-interval-slider",type:"range",min:1,max:30,step:1,value:e.value,onChange:t=>e.onChange(parseInt(t.target.value,10)),className:"flex-1 h-2 cursor-pointer appearance-none rounded-lg bg-zinc-200 accent-blue-600 dark:bg-zinc-700","aria-label":"Sessions refresh interval slider"}),(0,m.jsx)("input",{type:"number",min:1,max:300,step:1,value:e.value,onChange:t=>e.onChange(parseInt(t.target.value,10)||1),className:"w-20 rounded-lg border border-zinc-200 bg-white px-2 py-1 text-center text-sm dark:border-zinc-800 dark:bg-zinc-950","aria-label":"Sessions refresh interval value"})]})}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"How often the board polls the server for session updates. Lower values provide more real-time feedback but increase server load. Default is 5 seconds."})]})]}),(0,m.jsx)("div",{className:"mt-8 flex justify-end border-t border-zinc-100 pt-6 dark:border-zinc-800",children:(0,m.jsxs)("button",{type:"submit",disabled:!l||c||d.isPending,className:"flex items-center gap-2 rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white shadow-sm transition-colors hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:hover:bg-blue-500 dark:focus:ring-offset-zinc-900",children:[c||d.isPending?(0,m.jsx)(ez,{className:"h-4 w-4 animate-spin"}):(0,m.jsx)(iN,{className:"h-4 w-4"}),"Save Settings"]})})]})})}let iC=[{key:"default",name:"Default",description:"Fallback configuration"},{key:"sisyphus",name:"Sisyphus",description:"Task execution agent"},{key:"hephaestus",name:"Hephaestus",description:"Build & automation"},{key:"prometheus",name:"Prometheus",description:"Planning agent"},{key:"oracle",name:"Oracle",description:"Knowledge & research"},{key:"metis",name:"Metis",description:"Strategy & consultation"},{key:"momus",name:"Momus",description:"Review & critique"},{key:"atlas",name:"Atlas",description:"Execution-focused"},{key:"librarian",name:"Librarian",description:"Documentation & exploration"},{key:"explore",name:"Explore",description:"Code navigation"}];function iE({open:e,onClose:t}){let[r,n]=p.useState("general"),[a,s]=p.useState("default"),[i,o]=p.useState(""),l=p.useRef(null),{data:c}=T({queryKey:["opencode-config"],queryFn:async()=>{let e=await fetch("/api/opencode-config");if(!e.ok)throw Error("Failed to fetch config");return e.json()},enabled:e}),{data:d}=T({queryKey:["opencode-models"],queryFn:async()=>{var e;let t=await fetch("/api/opencode-models"),r=null;try{r=await t.json()}catch{r=null}let n=r&&"object"==typeof r&&"error"in r&&"string"==typeof r.error?r.error:null;if(!t.ok||n)throw Error(n||`Failed to fetch models (${t.status})`);if(!((e=r)&&"object"==typeof e&&Array.isArray(e.models)))throw Error("Invalid models response");return r},enabled:e,retry:!1}),u=p.useMemo(()=>new Set(d?.models??[]),[d]),f=p.useCallback(e=>{let t=c?.agents?.[e];return t?.model?u.size>0&&!u.has(t.model)?"invalid":"ok":"unconfigured"},[c,u]),h=p.useMemo(()=>iC.filter(e=>"invalid"===f(e.key)).length,[f]);p.useEffect(()=>{if(!e)return;let r=e=>{"Escape"===e.key&&t()};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e,t]),p.useEffect(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e]),p.useEffect(()=>{e&&setTimeout(()=>l.current?.focus(),100)},[e]);let x=p.useMemo(()=>{if(!i.trim())return iC;let e=i.toLowerCase();return iC.filter(t=>t.name.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||(c?.agents?.[t.key]?.model||"").toLowerCase().includes(e))},[i,c]),g=iC.find(e=>e.key===a);return e?(0,m.jsxs)("div",{className:"fixed inset-0 z-50 flex flex-col bg-white dark:bg-zinc-950",children:[(0,m.jsxs)("header",{className:"flex h-16 items-center justify-between border-b border-zinc-200 px-6 dark:border-zinc-800",children:[(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-lg bg-blue-600 text-white",children:(0,m.jsx)(ep,{className:"h-5 w-5"})}),(0,m.jsxs)("div",{children:[(0,m.jsx)("h1",{className:"text-lg font-semibold text-zinc-900 dark:text-zinc-100",children:"Settings"}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Manage application and agent configuration"})]})]}),(0,m.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-zinc-100 p-1 dark:bg-zinc-800",children:[(0,m.jsx)("button",{type:"button",onClick:()=>n("general"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"general"===r?"bg-blue-600 text-white shadow-sm":"text-zinc-600 hover:bg-zinc-200 dark:text-zinc-400 dark:hover:bg-zinc-700"}`,children:"General"}),(0,m.jsx)("button",{type:"button",onClick:()=>n("agents"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"agents"===r?"bg-blue-600 text-white shadow-sm":"text-zinc-600 hover:bg-zinc-200 dark:text-zinc-400 dark:hover:bg-zinc-700"}`,children:"Agents"}),(0,m.jsx)("button",{type:"button",onClick:()=>n("categories"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"categories"===r?"bg-blue-600 text-white shadow-sm":"text-zinc-600 hover:bg-zinc-200 dark:text-zinc-400 dark:hover:bg-zinc-700"}`,children:"Categories"}),(0,m.jsx)("button",{type:"button",onClick:()=>n("profiles"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"profiles"===r?"bg-blue-600 text-white shadow-sm":"text-zinc-600 hover:bg-zinc-200 dark:text-zinc-400 dark:hover:bg-zinc-700"}`,children:"Profiles"})]}),(0,m.jsx)("button",{type:"button",onClick:t,className:"flex h-9 w-9 items-center justify-center rounded-lg text-zinc-500 transition-colors hover:bg-zinc-100 hover:text-zinc-700 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-200","aria-label":"Close panel",children:(0,m.jsx)(eh,{className:"h-5 w-5"})})]}),"general"===r?(0,m.jsx)("main",{className:"flex-1 overflow-y-auto bg-white dark:bg-zinc-950",children:(0,m.jsxs)("div",{className:"mx-auto max-w-4xl p-8",children:[(0,m.jsxs)("div",{className:"mb-8",children:[(0,m.jsx)("h2",{className:"text-2xl font-bold text-zinc-900 dark:text-zinc-100",children:"General Settings"}),(0,m.jsx)("p",{className:"text-zinc-500 dark:text-zinc-400",children:"Manage application-wide behavior and preferences"})]}),(0,m.jsx)(iS,{})]})}):"agents"===r?(0,m.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,m.jsxs)("aside",{className:"flex w-[280px] flex-col border-r border-zinc-200 bg-zinc-50/50 dark:border-zinc-800 dark:bg-zinc-900/20",children:[(0,m.jsx)("div",{className:"border-b border-zinc-200 p-4 dark:border-zinc-800",children:(0,m.jsxs)("div",{className:"relative",children:[(0,m.jsx)(ex,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-zinc-400"}),(0,m.jsx)("input",{ref:l,type:"text",value:i,onChange:e=>o(e.target.value),placeholder:"Search agents...",className:"h-10 w-full rounded-lg border border-zinc-200 bg-white pl-9 pr-4 text-sm text-zinc-900 placeholder:text-zinc-400 focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500 dark:border-zinc-800 dark:bg-zinc-950 dark:text-zinc-100 dark:placeholder:text-zinc-600"})]})}),(0,m.jsxs)("nav",{className:"flex-1 overflow-y-auto p-2",children:[(0,m.jsx)("div",{className:"space-y-1",children:x.map(e=>{let t,r=c?.agents?.[e.key]?.model;return(0,m.jsxs)("button",{type:"button",onClick:()=>s(e.key),className:`flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left transition-colors ${a===e.key?"bg-blue-600 text-white":"text-zinc-700 hover:bg-zinc-100 dark:text-zinc-300 dark:hover:bg-zinc-800"}`,children:[(0,m.jsx)("div",{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md ${a===e.key?"bg-white/20":"bg-zinc-200 dark:bg-zinc-800"}`,children:(0,m.jsx)(eg,{className:`h-4 w-4 ${a===e.key?"text-white":"text-zinc-600 dark:text-zinc-400"}`})}),(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsxs)("div",{className:"flex items-center gap-2 truncate text-sm font-medium",children:[e.name,"unconfigured"===(t=f(e.key))?(0,m.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${a===e.key?"bg-zinc-300":"bg-zinc-400 dark:bg-zinc-500"}`,title:"Inherits category configuration"}):"invalid"===t?(0,m.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${a===e.key?"bg-amber-300":"bg-amber-500"}`,title:"Model not available"}):(0,m.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${a===e.key?"bg-emerald-300":"bg-emerald-500"}`,title:"Configured"})]}),(0,m.jsx)("div",{className:`truncate text-xs ${a===e.key?"text-blue-100":"text-zinc-500 dark:text-zinc-500"}`,children:e.description}),r&&(0,m.jsx)("div",{className:`mt-1 inline-flex max-w-full items-start rounded-md px-1.5 py-0.5 text-[11px] leading-4 ${a===e.key?"bg-white/15 text-blue-50/95":"bg-zinc-200/70 text-zinc-700 dark:bg-zinc-800/80 dark:text-zinc-300"}`,title:r,children:(0,m.jsx)("span",{className:"font-mono break-all [display:-webkit-box] [-webkit-box-orient:vertical] [-webkit-line-clamp:2] overflow-hidden",children:r})})]}),a===e.key&&(0,m.jsx)(eb,{className:"h-4 w-4 shrink-0 text-blue-200"})]},e.key)})}),0===x.length&&(0,m.jsx)("div",{className:"py-8 text-center",children:(0,m.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"No agents found"})})]}),(0,m.jsx)("div",{className:"border-t border-zinc-200 p-4 dark:border-zinc-800",children:(0,m.jsxs)("div",{className:"flex items-center justify-between text-xs text-zinc-500 dark:text-zinc-400",children:[(0,m.jsxs)("span",{className:"flex items-center gap-1.5",children:[iC.length," agents",h>0&&(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-100 px-1.5 py-0.5 text-[10px] font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",children:[(0,m.jsx)(ey,{className:"h-2.5 w-2.5"}),h," need attention"]})]}),(0,m.jsx)("kbd",{className:"rounded bg-zinc-200 px-1.5 py-0.5 font-mono dark:bg-zinc-800",children:"ESC"})]})})]}),(0,m.jsx)("main",{className:"flex-1 overflow-y-auto bg-white dark:bg-zinc-950",children:(0,m.jsxs)("div",{className:"mx-auto max-w-3xl p-8",children:[(0,m.jsxs)("div",{className:"mb-8 flex items-center gap-4",children:[(0,m.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl bg-gradient-to-br from-blue-500 to-indigo-600 text-white shadow-lg",children:(0,m.jsx)(eg,{className:"h-8 w-8"})}),(0,m.jsxs)("div",{children:[(0,m.jsx)("h2",{className:"text-2xl font-bold text-zinc-900 dark:text-zinc-100",children:g?.name}),(0,m.jsx)("p",{className:"text-zinc-500 dark:text-zinc-400",children:g?.description})]})]}),(0,m.jsx)(iz,{agentName:a})]})})]}):"categories"===r?(0,m.jsx)("main",{className:"flex-1 overflow-y-auto bg-white dark:bg-zinc-950",children:(0,m.jsxs)("div",{className:"mx-auto max-w-4xl p-8",children:[(0,m.jsxs)("div",{className:"mb-8",children:[(0,m.jsx)("h2",{className:"text-2xl font-bold text-zinc-900 dark:text-zinc-100",children:"Categories"}),(0,m.jsx)("p",{className:"text-zinc-500 dark:text-zinc-400",children:"Manage agent categories and their configurations"})]}),(0,m.jsx)(ic,{})]})}):(0,m.jsx)("main",{className:"flex-1 overflow-y-auto bg-white dark:bg-zinc-950",children:(0,m.jsxs)("div",{className:"mx-auto max-w-4xl p-8",children:[(0,m.jsxs)("div",{className:"mb-8",children:[(0,m.jsx)("h2",{className:"text-2xl font-bold text-zinc-900 dark:text-zinc-100",children:"Profiles"}),(0,m.jsx)("p",{className:"text-zinc-500 dark:text-zinc-400",children:"Manage configuration profiles for different agent setups"})]}),(0,m.jsx)(iw,{})]})})]}):null}let iR=[{label:"1d",days:1},{label:"3d",days:3},{label:"7d",days:7},{label:"30d",days:30},{label:"All",days:0}],iT="opencode --port <PORT>";function iA(){let e,t,r,n,a,s,i,o,l,c,d,u,f,h;e=(0,S.useQueryClient)(),t=(0,p.useRef)(null),r=(0,p.useRef)(0),n=(0,p.useRef)(null),a=(0,p.useRef)(null),s=(0,p.useRef)(!1),i=(0,p.useRef)(!0),o=(0,p.useRef)(null),l=(0,p.useRef)(new Map),c=(0,p.useCallback)(()=>{n.current||(n.current=setTimeout(()=>{e.invalidateQueries({queryKey:["sessions"]},{cancelRefetch:!1}),n.current=null},500))},[e]),d=(0,p.useCallback)(e=>{let t=l.current.get(e);t&&(clearTimeout(t),l.current.delete(e))},[]),u=(0,p.useCallback)((t,r)=>{e.setQueryData(["sessions"],e=>{if(!e?.sessions)return e;let n=!1,a=e.sessions.map(e=>e.id===t?(n=!0,{...e,waitingForUser:r}):e.children?.some(e=>e.id===t)?(n=!0,{...e,children:e.children.map(e=>e.id===t?{...e,waitingForUser:r}:e)}):e);return n?{...e,sessions:a}:e})},[e]),f=(0,p.useCallback)(e=>{d(e);let t=setTimeout(()=>{l.current.delete(e),Z(e,!0),u(e,!0)},1500);l.current.set(e,t)},[d,u]),h=(0,p.useCallback)(t=>{let r="payload"in t?t.payload:t;if(!r?.type)return void c();let n=r.properties?.sessionID,a="question.asked"===r.type||"permission.asked"===r.type,s="question.replied"===r.type||"question.rejected"===r.type||"permission.replied"===r.type;(n&&a&&Z(n,!0),n&&s&&(d(n),Z(n,!1)),["session.status","session.updated","session.created","session.deleted","question.asked","permission.asked","permission.updated","question.replied","question.rejected","permission.replied","session.archived"].includes(r.type))?e.setQueryData(["sessions"],e=>{if(!e?.sessions)return c(),e;switch(r.type){case"session.updated":case"session.created":{let t=r.properties?.info;if(!t)return c(),e;if(t.parentID){let r=!1,n=e.sessions.map(e=>{let n=e.children?.some(e=>e.id===t.id),a=e.id===t.parentID;if(!n&&!a)return e;r=!0;let s=e.children||[],i=s.find(e=>e.id===t.id),o=ee({...i,...t,realTimeStatus:t.realTimeStatus??i?.realTimeStatus??"busy",waitingForUser:t.waitingForUser??i?.waitingForUser});return i?{...e,children:s.map(e=>e.id===t.id?o:e)}:{...e,children:[...s,o]}});if(!r)return c(),e;return{...e,sessions:n}}let n=e.sessions.find(e=>e.id===t.id);if(!n)return c(),{...e,sessions:[ee(t),...e.sessions]};let a={...t,projectName:n.projectName,branch:n.branch,realTimeStatus:t.realTimeStatus??n.realTimeStatus,waitingForUser:t.waitingForUser??n.waitingForUser,children:n.children};return{...e,sessions:e.sessions.map(e=>e.id===t.id?a:e)}}case"session.deleted":{let t=r.properties?.info,n=t?.id??r.properties?.sessionID;if(!n)return c(),e;return{...e,sessions:e.sessions.filter(e=>e.id!==n)}}default:{if(!n)return c(),e;let t=e=>{switch(r.type){case"session.status":{var t;let n=r.properties?.status?.type;if(!n)return e;t=e.id,X.set(t,{status:n,timestamp:Date.now()});let a=!e.parentID,s="busy"===n||"retry"===n;return"retry"!==n||i.current||K("play-alert","Skipped playAlertSound() because muted","playAlertSound() failed",(e,t)=>{let r=e.createOscillator(),n=e.createGain();r.type="triangle",r.frequency.setValueAtTime(880,t),r.frequency.exponentialRampToValueAtTime(698,t+.25),n.gain.setValueAtTime(.3,t),n.gain.exponentialRampToValueAtTime(.001,t+.35),r.connect(n),n.connect(e.destination),r.start(t),r.stop(t+.35);let a=e.createOscillator(),s=e.createGain();a.type="triangle",a.frequency.setValueAtTime(698,t+.2),a.frequency.exponentialRampToValueAtTime(523,t+.45),s.gain.setValueAtTime(.25,t+.2),s.gain.exponentialRampToValueAtTime(.001,t+.5),a.connect(s),s.connect(e.destination),a.start(t+.2),a.stop(t+.5)}),"idle"===n&&(d(e.id),a||Z(e.id,!1)),"retry"===n&&(d(e.id),Z(e.id,!0)),"busy"===n&&d(e.id),"idle"===n&&a&&(e.children?.length||0)>0&&c(),{...e,time:s?{...e.time||{},archived:void 0}:e.time,realTimeStatus:n,waitingForUser:"retry"===n||("idle"!==n||!!a)&&e.waitingForUser,children:e.children}}case"question.asked":case"permission.asked":return i.current||setTimeout(()=>void K("play-attention","Skipped playAttentionSound() because muted","playAttentionSound() failed",(e,t)=>{let r=e.createOscillator(),n=e.createGain();r.type="sine",r.frequency.value=523,n.gain.setValueAtTime(.3,t),n.gain.exponentialRampToValueAtTime(.001,t+.2),r.connect(n),n.connect(e.destination),r.start(t),r.stop(t+.2);let a=e.createOscillator(),s=e.createGain();a.type="sine",a.frequency.value=659,s.gain.setValueAtTime(.3,t+.15),s.gain.exponentialRampToValueAtTime(.001,t+.4),a.connect(s),s.connect(e.destination),a.start(t+.15),a.stop(t+.4);let i=e.createOscillator(),o=e.createGain();i.type="sine",i.frequency.value=784,o.gain.setValueAtTime(.25,t+.3),o.gain.exponentialRampToValueAtTime(.001,t+.55),i.connect(o),o.connect(e.destination),i.start(t+.3),i.stop(t+.55)}),250),Z(n,!0),f(n),{...e,time:{...e.time||{},archived:void 0},waitingForUser:!0};case"permission.updated":return d(n),c(),e;case"question.replied":case"question.rejected":case"permission.replied":return d(n),Z(n,!1),{...e,waitingForUser:!1};case"session.archived":return{...e,time:{...e.time||{},archived:Date.now()}};default:return e}},a=!1,s=e.sessions.map(e=>e.id===n?(a=!0,t(e)):e.children?.some(e=>e.id===n)?(a=!0,"session.status"===r.type&&r.properties?.status?.type==="idle")?{...e,children:e.children.filter(e=>e.id!==n)}:{...e,children:e.children.map(e=>e.id===n?t(e):e)}:e);if(!a)return c(),e;return{...e,sessions:s}}}}):c()},[e,c,d,f]),(0,p.useEffect)(()=>(o.current=setTimeout(()=>{i.current=!1},3e3),()=>{o.current&&clearTimeout(o.current)}),[]),(0,p.useEffect)(()=>{let e=null,n=l.current,i=()=>{t.current&&(clearTimeout(t.current),t.current=null),a.current&&(clearTimeout(a.current),a.current=null),(e=new EventSource("/api/opencode-events")).onopen=()=>{r.current=0,s.current=!1,a.current=setTimeout(()=>{e&&(s.current=!0,e.close(),c(),i())},15e3)},e.onmessage=e=>{try{let t=JSON.parse(e.data);h(t),r.current=0}catch(e){console.error("Failed to parse SSE event:",e)}},e.onerror=()=>{if(e?.close(),a.current&&(clearTimeout(a.current),a.current=null),s.current){s.current=!1;return}r.current<5&&(t.current=setTimeout(()=>{r.current++,i()},1e3*Math.pow(2,r.current)))}};return i(),()=>{for(let r of(e?.close(),t.current&&(clearTimeout(t.current),t.current=null),a.current&&(clearTimeout(a.current),a.current=null),n.values()))clearTimeout(r);n.clear()}},[h,c]);let[x,g]=(0,p.useState)(7),[b,y]=(0,p.useState)(()=>G()),[v,k]=(0,p.useState)([]),[w,j]=(0,p.useState)(!1),[z,N]=(0,p.useState)("idle"),[C,E]=(0,p.useState)(!1),R=(0,p.useRef)(null),T=(0,p.useRef)(null),A=(0,p.useMemo)(()=>Array.from(new Set(v.map(e=>e.projectName))),[v]),O=v.length>0,M=1===A.length?`${A[0]} has an OpenCode process without an exposed API port.`:`${A.length} projects have OpenCode processes without exposed API ports.`;(0,p.useEffect)(()=>{let e=()=>{J(),document.removeEventListener("click",e),document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",e),document.removeEventListener("touchstart",e)};return document.addEventListener("click",e),document.addEventListener("pointerdown",e,{passive:!0}),document.addEventListener("keydown",e),document.addEventListener("touchstart",e,{passive:!0}),()=>{document.removeEventListener("click",e),document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",e),document.removeEventListener("touchstart",e)}},[]),(0,p.useEffect)(()=>{if(!w||!O)return;let e=e=>{let t=e.target,r=T.current,n=R.current;r?.contains(t)||n?.contains(t)||j(!1)},t=e=>{"Escape"===e.key&&(j(!1),R.current?.focus())};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[O,w]);let F=async()=>{try{await navigator.clipboard.writeText(iT),N("copied"),setTimeout(()=>N("idle"),1500)}catch{N("failed"),setTimeout(()=>N("idle"),2e3)}};return(0,m.jsx)("div",{className:"min-h-screen bg-zinc-50 dark:bg-black",children:(0,m.jsxs)("main",{className:"h-screen flex flex-col",children:[(0,m.jsxs)("header",{className:"flex items-center justify-between px-4 py-4 border-b border-gray-200 dark:border-zinc-800",children:[(0,m.jsx)("h1",{className:"text-2xl font-semibold text-gray-900 dark:text-white",children:"VibePulse"}),(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("button",{type:"button",onClick:()=>{J();let e=!b;y(e),window.localStorage.setItem(U,String(e)),e||K("play-toggle-feedback","Skipped playToggleFeedbackSound() because muted","playToggleFeedbackSound() failed",(e,t)=>{let r=e.createOscillator(),n=e.createGain();r.type="sine",r.frequency.setValueAtTime(740,t),r.frequency.exponentialRampToValueAtTime(920,t+.1),n.gain.setValueAtTime(.13,t),n.gain.exponentialRampToValueAtTime(.001,t+.13),r.connect(n),n.connect(e.destination),r.start(t),r.stop(t+.13)})},className:`p-1.5 rounded-lg transition-all duration-150 ${b?"text-gray-400 dark:text-gray-500 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-zinc-800":"text-blue-500 dark:text-blue-400 hover:text-blue-600 dark:hover:text-blue-300 hover:bg-blue-50 dark:hover:bg-blue-900/20"}`,title:b?"Unmute notifications":"Mute notifications",children:b?(0,m.jsxs)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z"}),(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2"})]}):(0,m.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.536 8.464a5 5 0 010 7.072M18.364 5.636a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z"})})}),O?(0,m.jsxs)("div",{className:"relative",children:[(0,m.jsx)("button",{ref:R,type:"button",onClick:()=>j(e=>!e),className:`p-1.5 rounded-lg transition-all duration-150 text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-zinc-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 ${w?"bg-gray-100 dark:bg-zinc-800":""}`,"aria-label":"OpenCode process hint details","aria-haspopup":"dialog","aria-expanded":O&&w,"aria-controls":"process-hint-popover",children:(0,m.jsx)(em,{className:"h-3.5 w-3.5"})}),O&&w?(0,m.jsxs)("div",{id:"process-hint-popover",ref:T,role:"dialog","aria-label":"OpenCode process hints",className:"absolute right-0 top-9 z-30 w-80 rounded-lg border border-blue-200 bg-white p-3 shadow-xl dark:border-blue-900/40 dark:bg-zinc-900",children:[(0,m.jsx)("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-200",children:M}),(0,m.jsx)("p",{className:"mt-1 text-[11px] leading-relaxed text-blue-800 dark:text-blue-300",children:"Sessions from these instances become visible once OpenCode starts with an exposed API port."}),(0,m.jsx)("div",{className:"mt-2 rounded-md bg-blue-50 px-2 py-1.5 dark:bg-blue-900/20",children:(0,m.jsx)("code",{className:"text-[11px] text-blue-900 dark:text-blue-200",children:iT})}),(0,m.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,m.jsx)("span",{className:"text-[10px] text-blue-700 dark:text-blue-300",children:"VibePulse auto-detects active ports."}),(0,m.jsx)("button",{type:"button",onClick:F,className:"rounded-md border border-blue-200 px-2 py-1 text-[10px] font-medium text-blue-800 transition-colors hover:bg-blue-50 dark:border-blue-900/40 dark:text-blue-200 dark:hover:bg-blue-900/30",children:"copied"===z?"Copied":"failed"===z?"Copy Failed":"Copy"})]})]}):null]}):null,(0,m.jsx)("svg",{className:"w-4 h-4 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,m.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})}),(0,m.jsx)("div",{className:"flex items-center gap-1 bg-gray-100 dark:bg-zinc-800 rounded-lg p-0.5",children:iR.map(e=>(0,m.jsx)("button",{type:"button",onClick:()=>g(e.days),className:`px-3 py-1 text-xs font-medium rounded-md transition-all duration-150 ${x===e.days?"bg-white dark:bg-zinc-600 text-gray-900 dark:text-white shadow-sm":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200"}`,children:e.label},e.days))}),(0,m.jsx)(ef,{onClick:()=>E(!0)})]})]}),(0,m.jsx)(ei,{children:(0,m.jsx)(ea,{filterDays:x,onProcessHintsChange:k})}),(0,m.jsx)(iE,{open:C,onClose:()=>E(!1)})]})})}e.s(["default",()=>iA],52683)}]);
|