vibepulse 0.1.12 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +4 -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 +24 -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/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 +1 -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 +1 -1
- package/.next/server/app/api/sessions/[id]/delete/route.js.nft.json +1 -1
- 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 +4 -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]__0b017945._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0b017945._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__16a9eb0a._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__16a9eb0a._.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]__1e118bd3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1e118bd3._.js.map +1 -0
- package/.next/server/chunks/{[externals]_next_dist_16542d6b._.js → [root-of-the-server]__56690af0._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__172a07b6._.js.map → [root-of-the-server]__56690af0._.js.map} +1 -1
- 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]__6979e732._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__6979e732._.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]__a7b4d79d._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__a7b4d79d._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__b698889b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__b698889b._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__b796d06c._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__2c3e3de2._.js.map → [root-of-the-server]__b796d06c._.js.map} +1 -1
- 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]__ddc251b7._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__ddc251b7._.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_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/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/server/chunks/ssr/[root-of-the-server]__b0788643._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__39eef6a5._.js → [root-of-the-server]__efc52f08._.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 +4 -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 +24 -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/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 +1 -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 +1 -1
- 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]/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 +4 -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]__0b017945._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__16a9eb0a._.js +5 -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]__1e118bd3._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[externals]_next_dist_16542d6b._.js → [root-of-the-server]__56690af0._.js} +2 -2
- 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]__6979e732._.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]__a7b4d79d._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b698889b._.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]__ddc251b7._.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_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/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/standalone/.next/server/chunks/ssr/[root-of-the-server]__b0788643._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__39eef6a5._.js → [root-of-the-server]__efc52f08._.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/9f8c22002e7395e8.js +13 -0
- package/.next/standalone/.next/static/chunks/f1b55db60e7ed6f3.css +3 -0
- package/.next/standalone/package.json +4 -2
- package/.next/standalone/public/readme-cover.png +0 -0
- package/.next/static/chunks/9f8c22002e7395e8.js +13 -0
- package/.next/static/chunks/f1b55db60e7ed6f3.css +3 -0
- package/.next/trace +1 -1
- package/.next/trace-build +1 -1
- package/.next/types/routes.d.ts +5 -1
- package/.next/types/validator.ts +36 -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/[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]__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]__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/server/chunks/ssr/[root-of-the-server]__535a2208._.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/server/chunks/ssr/[root-of-the-server]__535a2208._.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]__535a2208._.js.map → [root-of-the-server]__b0788643._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__39eef6a5._.js.map → [root-of-the-server]__efc52f08._.js.map} +0 -0
- /package/.next/standalone/.next/static/{78EwnRx2m70qyfCL0X4sH → L_tmqf71LaeMzApO4SiU-}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{78EwnRx2m70qyfCL0X4sH → L_tmqf71LaeMzApO4SiU-}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{78EwnRx2m70qyfCL0X4sH → L_tmqf71LaeMzApO4SiU-}/_ssgManifest.js +0 -0
- /package/.next/static/{78EwnRx2m70qyfCL0X4sH → L_tmqf71LaeMzApO4SiU-}/_buildManifest.js +0 -0
- /package/.next/static/{78EwnRx2m70qyfCL0X4sH → L_tmqf71LaeMzApO4SiU-}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{78EwnRx2m70qyfCL0X4sH → L_tmqf71LaeMzApO4SiU-}/_ssgManifest.js +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
module.exports=[40777,a=>{"use strict";let b,c,d;var e,f,g,h,i,j,k,l,m=a.i(87924),n=a.i(72131),o=a.i(99745),p=a.i(18544),q=a.i(76644),r=a.i(33791),s=a.i(79715),t=a.i(42871),u=a.i(8361),v=class extends r.Subscribable{constructor(a,b){super(),this.options=b,this.#a=a,this.#b=null,this.#c=(0,s.pendingThenable)(),this.bindMethods(),this.setOptions(b)}#a;#d=void 0;#e=void 0;#f=void 0;#g;#h;#c;#b;#i;#j;#k;#l;#m;#n;#o=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#d.addObserver(this),w(this.#d,this.options)?this.#p():this.updateResult(),this.#q())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return x(this.#d,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return x(this.#d,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#r(),this.#s(),this.#d.removeObserver(this)}setOptions(a){let b=this.options,c=this.#d;if(this.options=this.#a.defaultQueryOptions(a),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,t.resolveEnabled)(this.options.enabled,this.#d))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#t(),this.#d.setOptions(this.options),b._defaulted&&!(0,t.shallowEqualObjects)(this.options,b)&&this.#a.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#d,observer:this});let d=this.hasListeners();d&&y(this.#d,c,this.options,b)&&this.#p(),this.updateResult(),d&&(this.#d!==c||(0,t.resolveEnabled)(this.options.enabled,this.#d)!==(0,t.resolveEnabled)(b.enabled,this.#d)||(0,t.resolveStaleTime)(this.options.staleTime,this.#d)!==(0,t.resolveStaleTime)(b.staleTime,this.#d))&&this.#u();let e=this.#v();d&&(this.#d!==c||(0,t.resolveEnabled)(this.options.enabled,this.#d)!==(0,t.resolveEnabled)(b.enabled,this.#d)||e!==this.#n)&&this.#w(e)}getOptimisticResult(a){var b,c;let d=this.#a.getQueryCache().build(this.#a,a),e=this.createResult(d,a);return b=this,c=e,(0,t.shallowEqualObjects)(b.getCurrentResult(),c)||(this.#f=e,this.#h=this.options,this.#g=this.#d.state),e}getCurrentResult(){return this.#f}trackResult(a,b){return new Proxy(a,{get:(a,c)=>(this.trackProp(c),b?.(c),"promise"===c&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#c.status||this.#c.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(a,c))})}trackProp(a){this.#o.add(a)}getCurrentQuery(){return this.#d}refetch({...a}={}){return this.fetch({...a})}fetchOptimistic(a){let b=this.#a.defaultQueryOptions(a),c=this.#a.getQueryCache().build(this.#a,b);return c.fetch().then(()=>this.createResult(c,b))}fetch(a){return this.#p({...a,cancelRefetch:a.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#f))}#p(a){this.#t();let b=this.#d.fetch(this.options,a);return a?.throwOnError||(b=b.catch(t.noop)),b}#u(){this.#r();let a=(0,t.resolveStaleTime)(this.options.staleTime,this.#d);if(t.isServer||this.#f.isStale||!(0,t.isValidTimeout)(a))return;let b=(0,t.timeUntilStale)(this.#f.dataUpdatedAt,a);this.#l=u.timeoutManager.setTimeout(()=>{this.#f.isStale||this.updateResult()},b+1)}#v(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#d):this.options.refetchInterval)??!1}#w(a){this.#s(),this.#n=a,!t.isServer&&!1!==(0,t.resolveEnabled)(this.options.enabled,this.#d)&&(0,t.isValidTimeout)(this.#n)&&0!==this.#n&&(this.#m=u.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||o.focusManager.isFocused())&&this.#p()},this.#n))}#q(){this.#u(),this.#w(this.#v())}#r(){this.#l&&(u.timeoutManager.clearTimeout(this.#l),this.#l=void 0)}#s(){this.#m&&(u.timeoutManager.clearInterval(this.#m),this.#m=void 0)}createResult(a,b){let c,d=this.#d,e=this.options,f=this.#f,g=this.#g,h=this.#h,i=a!==d?a.state:this.#e,{state:j}=a,k={...j},l=!1;if(b._optimisticResults){let c=this.hasListeners(),f=!c&&w(a,b),g=c&&y(a,d,b,e);(f||g)&&(k={...k,...(0,q.fetchState)(j.data,a.options)}),"isRestoring"===b._optimisticResults&&(k.fetchStatus="idle")}let{error:m,errorUpdatedAt:n,status:o}=k;c=k.data;let p=!1;if(void 0!==b.placeholderData&&void 0===c&&"pending"===o){let a;f?.isPlaceholderData&&b.placeholderData===h?.placeholderData?(a=f.data,p=!0):a="function"==typeof b.placeholderData?b.placeholderData(this.#k?.state.data,this.#k):b.placeholderData,void 0!==a&&(o="success",c=(0,t.replaceData)(f?.data,a,b),l=!0)}if(b.select&&void 0!==c&&!p)if(f&&c===g?.data&&b.select===this.#i)c=this.#j;else try{this.#i=b.select,c=b.select(c),c=(0,t.replaceData)(f?.data,c,b),this.#j=c,this.#b=null}catch(a){this.#b=a}this.#b&&(m=this.#b,c=this.#j,n=Date.now(),o="error");let r="fetching"===k.fetchStatus,u="pending"===o,v="error"===o,x=u&&r,A=void 0!==c,B={status:o,fetchStatus:k.fetchStatus,isPending:u,isSuccess:"success"===o,isError:v,isInitialLoading:x,isLoading:x,data:c,dataUpdatedAt:k.dataUpdatedAt,error:m,errorUpdatedAt:n,failureCount:k.fetchFailureCount,failureReason:k.fetchFailureReason,errorUpdateCount:k.errorUpdateCount,isFetched:k.dataUpdateCount>0||k.errorUpdateCount>0,isFetchedAfterMount:k.dataUpdateCount>i.dataUpdateCount||k.errorUpdateCount>i.errorUpdateCount,isFetching:r,isRefetching:r&&!u,isLoadingError:v&&!A,isPaused:"paused"===k.fetchStatus,isPlaceholderData:l,isRefetchError:v&&A,isStale:z(a,b),refetch:this.refetch,promise:this.#c,isEnabled:!1!==(0,t.resolveEnabled)(b.enabled,a)};if(this.options.experimental_prefetchInRender){let b=void 0!==B.data,c="error"===B.status&&!b,e=a=>{c?a.reject(B.error):b&&a.resolve(B.data)},f=()=>{e(this.#c=B.promise=(0,s.pendingThenable)())},g=this.#c;switch(g.status){case"pending":a.queryHash===d.queryHash&&e(g);break;case"fulfilled":(c||B.data!==g.value)&&f();break;case"rejected":c&&B.error===g.reason||f()}}return B}updateResult(){let a=this.#f,b=this.createResult(this.#d,this.options);if(this.#g=this.#d.state,this.#h=this.options,void 0!==this.#g.data&&(this.#k=this.#d),(0,t.shallowEqualObjects)(b,a))return;this.#f=b;let c=()=>{if(!a)return!0;let{notifyOnChangeProps:b}=this.options,c="function"==typeof b?b():b;if("all"===c||!c&&!this.#o.size)return!0;let d=new Set(c??this.#o);return this.options.throwOnError&&d.add("error"),Object.keys(this.#f).some(b=>this.#f[b]!==a[b]&&d.has(b))};this.#x({listeners:c()})}#t(){let a=this.#a.getQueryCache().build(this.#a,this.options);if(a===this.#d)return;let b=this.#d;this.#d=a,this.#e=a.state,this.hasListeners()&&(b?.removeObserver(this),a.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#q()}#x(a){p.notifyManager.batch(()=>{a.listeners&&this.listeners.forEach(a=>{a(this.#f)}),this.#a.getQueryCache().notify({query:this.#d,type:"observerResultsUpdated"})})}};function w(a,b){return!1!==(0,t.resolveEnabled)(b.enabled,a)&&void 0===a.state.data&&("error"!==a.state.status||!1!==b.retryOnMount)||void 0!==a.state.data&&x(a,b,b.refetchOnMount)}function x(a,b,c){if(!1!==(0,t.resolveEnabled)(b.enabled,a)&&"static"!==(0,t.resolveStaleTime)(b.staleTime,a)){let d="function"==typeof c?c(a):c;return"always"===d||!1!==d&&z(a,b)}return!1}function y(a,b,c,d){return(a!==b||!1===(0,t.resolveEnabled)(d.enabled,a))&&(!c.suspense||"error"!==a.state.status)&&z(a,c)}function z(a,b){return!1!==(0,t.resolveEnabled)(b.enabled,a)&&a.isStaleByTime((0,t.resolveStaleTime)(b.staleTime,a))}var A=a.i(37927),B=n.createContext((c=!1,{clearReset:()=>{c=!1},reset:()=>{c=!0},isReset:()=>c})),C=n.createContext(!1);C.Provider;var D=(a,b,c)=>b.fetchOptimistic(a).catch(()=>{c.clearReset()});function E(a,b){return function(a,b,c){let d,e=n.useContext(C),f=n.useContext(B),g=(0,A.useQueryClient)(c),h=g.defaultQueryOptions(a);g.getDefaultOptions().queries?._experimental_beforeQuery?.(h);let i=g.getQueryCache().get(h.queryHash);if(h._optimisticResults=e?"isRestoring":"optimistic",h.suspense){let a=a=>"static"===a?a:Math.max(a??1e3,1e3),b=h.staleTime;h.staleTime="function"==typeof b?(...c)=>a(b(...c)):a(b),"number"==typeof h.gcTime&&(h.gcTime=Math.max(h.gcTime,1e3))}d=i?.state.error&&"function"==typeof h.throwOnError?(0,t.shouldThrowError)(h.throwOnError,[i.state.error,i]):h.throwOnError,(h.suspense||h.experimental_prefetchInRender||d)&&!f.isReset()&&(h.retryOnMount=!1),n.useEffect(()=>{f.clearReset()},[f]);let j=!g.getQueryCache().get(h.queryHash),[k]=n.useState(()=>new b(g,h)),l=k.getOptimisticResult(h),m=!e&&!1!==a.subscribed;if(n.useSyncExternalStore(n.useCallback(a=>{let b=m?k.subscribe(p.notifyManager.batchCalls(a)):t.noop;return k.updateResult(),b},[k,m]),()=>k.getCurrentResult(),()=>k.getCurrentResult()),n.useEffect(()=>{k.setOptions(h)},[h,k]),h?.suspense&&l.isPending)throw D(h,k,f);if((({result:a,errorResetBoundary:b,throwOnError:c,query:d,suspense:e})=>a.isError&&!b.isReset()&&!a.isFetching&&d&&(e&&void 0===a.data||(0,t.shouldThrowError)(c,[a.error,d])))({result:l,errorResetBoundary:f,throwOnError:h.throwOnError,query:i,suspense:h.suspense}))throw l.error;if(g.getDefaultOptions().queries?._experimental_afterQuery?.(h,l),h.experimental_prefetchInRender&&!t.isServer&&l.isLoading&&l.isFetching&&!e){let a=j?D(h,k,f):i?.promise;a?.catch(t.noop).finally(()=>{k.updateResult()})}return h.notifyOnChangeProps?l:k.trackResult(l)}(a,v,b)}function F(a){let b=Date.now()-a,c=Math.floor(b/6e4),d=Math.floor(b/36e5),e=Math.floor(b/864e5);return c<1?"<1m":d<1?`${c}m`:e<1?`${d}h`:`${e}d`}function G(a,b){return b?[...a,`Reason: ${b}`].join("\n"):a.join("\n")}function H({status:a,waitingForUser:b}){if(b)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(a){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 I({cards:a,readOnly:b=!1}){let c=(0,A.useQueryClient)(),[d,e]=(0,n.useState)(!1),f=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!d)return;let a=a=>{f.current&&!f.current.contains(a.target)&&e(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[d]);let g=a.some(a=>"done"!==a.status),h=async b=>{b.stopPropagation();let d=a.filter(a=>"done"!==a.status);await Promise.all(d.map(a=>fetch(`/api/sessions/${a.id}/archive`,{method:"POST"}))),e(!1),await c.invalidateQueries({queryKey:["sessions"]})},i=async b=>{b.stopPropagation(),confirm(`Delete ${a.length} session(s)? This cannot be undone.`)&&(await Promise.all(a.map(a=>fetch(`/api/sessions/${a.id}/delete`,{method:"POST"}))),e(!1),await c.invalidateQueries({queryKey:["sessions"]}))};return b?null:(0,m.jsxs)("div",{className:"relative",ref:f,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:a=>{a.stopPropagation(),e(!d)},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"})})}),d&&(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:[g&&(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:h,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:i,children:"Delete all"})]})]})}function J({cardId:a,archived:b}){let c=(0,A.useQueryClient)(),[d,e]=(0,n.useState)(!1),f=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!d)return;let a=a=>{f.current&&!f.current.contains(a.target)&&e(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[d]);let g=async b=>{b.stopPropagation();try{await fetch(`/api/sessions/${a}/archive`,{method:"POST"})}finally{e(!1),await c.invalidateQueries({queryKey:["sessions"]})}},h=async b=>{b.stopPropagation();try{await fetch(`/api/sessions/${a}/delete`,{method:"POST"})}finally{e(!1),await c.invalidateQueries({queryKey:["sessions"]})}};return(0,m.jsxs)("div",{className:"relative flex-shrink-0",ref:f,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:a=>{a.stopPropagation(),e(!d)},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"})})}),d&&(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:[b?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:g,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:h,children:"Delete"})]})]})}function K({card:a,isLast:b,readOnly:c=!1}){let[d,e]=(0,n.useState)(!0),f=(a.children||[]).filter(a=>"idle"!==a.realTimeStatus||a.waitingForUser),g=f.length>0,h=G([a.title||"Untitled Session",`Active ${F(a.updatedAt)} ago`,`Started ${F(a.createdAt)} ago`],a.debugReason);return(0,m.jsxs)("div",{className:b?"":"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:h,children:[g&&(0,m.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),e(!d)},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:d?"Collapse subagents":"Expand subagents",children:(0,m.jsx)("svg",{className:`w-2.5 h-2.5 transition-transform duration-150 ${d?"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)(H,{status:a.opencodeStatus,waitingForUser:a.waitingForUser}),(0,m.jsx)("span",{className:"text-sm text-gray-700 dark:text-gray-300 truncate flex-1 min-w-0",children:a.title||"Untitled Session"}),g&&!d&&(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:[f.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:F(a.updatedAt)}),c?null:(0,m.jsx)("div",{className:"hidden group-hover/row:flex flex-shrink-0",children:(0,m.jsx)(J,{cardId:a.id,archived:"done"===a.status})})]}),g&&d&&(0,m.jsx)("div",{className:"bg-gray-50/50 dark:bg-zinc-800/30",children:f.map((a,b)=>(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:G([a.title||"Subagent"],a.debugReason),children:[(0,m.jsx)("span",{className:"text-gray-300 dark:text-zinc-600 text-xs flex-shrink-0 font-mono leading-none",children:b===f.length-1?"└":"├"}),(0,m.jsx)(H,{status:a.realTimeStatus,waitingForUser:a.waitingForUser}),(0,m.jsx)("span",{className:"text-xs text-gray-500 dark:text-gray-400 truncate flex-1 min-w-0",children:a.title||"Subagent"})]},a.id))})]})}function L({projectName:a,branch:b,cards:c,readOnly:d=!1}){let[e,f]=(0,n.useState)(()=>"vscode"),[g]=(0,n.useState)(()=>"");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:a}),b&&(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:b}),c.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:c.length}),!d&&(0,m.jsx)("div",{className:"hidden group-hover/header:flex flex-shrink-0",children:(0,m.jsx)(I,{cards:c,readOnly:d})})]}),(0,m.jsx)("div",{className:"border-t border-gray-100 dark:border-zinc-700/50",children:c.map((a,b)=>(0,m.jsx)(K,{card:a,isLast:b===c.length-1,readOnly:d},a.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:e,onClick:a=>a.stopPropagation(),onChange:a=>{f(a.target.value),window.localStorage.setItem("vibepulse:open-tool",a.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 a,b=c[0]?.directory;if(!b)return;let d="antigravity"===e?`antigravity://file${b}`:(a=encodeURI(b.replace(/\\/g,"/")),g?`vscode://vscode-remote/ssh-remote+${g}${a.startsWith("/")?"":"/"}${a}`:`vscode://file${a.startsWith("/")?a:`/${a}`}`);window.location.href=d},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 M(a,b){return"number"==typeof a&&a>0&&b-a<=3e5}function N(a,b){if(!a)return;if(a.debugReason)return a.debugReason;let c=a.realTimeStatus||"idle";return a.waitingForUser||"retry"===c?"waiting_for_user":"busy"===c?M(a.time?.updated||a.time?.created,b)?"child_recent_activity":"child_unknown_fallback":void 0}function O(a){let b,c,d=a.children||[],e=Date.now(),f=a.realTimeStatus||"idle",g=d.some(a=>{let b=a.realTimeStatus||"idle";return"busy"===b||"retry"===b}),h="retry"===f?"retry":"busy"===f||g?"busy":"idle",i=d.some(a=>{let b=a.realTimeStatus||"idle";if(!("retry"===b||"idle"!==b&&a.waitingForUser))return!1;let c=a.time?.updated||e;return e-c<6e5}),j=!!a.waitingForUser,k="retry"===h||j||"busy"===h&&i,l=function({session:a,waitingForUser:b,effectiveStatus:c,firstActiveChild:d,firstWaitingChild:e,now:f}){if(a.debugReason)return a.debugReason;if(b)return N(e,f)||N(d,f)||"waiting_for_user";if("busy"===c){let b=a.realTimeStatus||"idle";return"busy"===b||"retry"===b?M(a.time?.updated||a.time?.created,f)?"direct_status_busy":"sticky_busy":d?"child_recent_activity":"unknown_fallback"}}({session:a,waitingForUser:k,effectiveStatus:h,firstActiveChild:d.find(a=>{let b=a.realTimeStatus||"idle";return"busy"===b||"retry"===b}),firstWaitingChild:d.find(a=>{let b=a.realTimeStatus||"idle";return"retry"===b||"idle"!==b&&!!a.waitingForUser}),now:e});return c=a.time?.archived?"done":k?"review":"busy"===h?"busy":"idle",{id:a.id,sessionSlug:a.slug,title:a.title||"Untitled Session",directory:a.directory,projectName:a.projectName||"Unknown Project",branch:a.branch,agents:(b=a.slug.split("_")).length>=3?b[b.length-1].split("-").filter(Boolean):[],messageCount:a.messageCount||0,status:c,opencodeStatus:h,waitingForUser:k,debugReason:l,todosTotal:0,todosCompleted:0,createdAt:a.time.created,updatedAt:a.time.updated,archivedAt:"done"===c?a.time.archived:void 0,sortOrder:0,children:d.map(a=>({id:a.id,title:a.title,realTimeStatus:a.realTimeStatus||"idle",waitingForUser:"retry"===(a.realTimeStatus||"idle")||"busy"===(a.realTimeStatus||"idle")&&!!a.waitingForUser,debugReason:N(a,e),createdAt:a.time?.created||0,updatedAt:a.time?.updated||0}))}}function P(){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(a=>(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(a=>(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"})]})]},a))})]},a))})})}let Q=null,R=new Map;function S(a){let b=Date.now();return!(b-(R.get(a)??0)<1e4)&&(R.set(a,b),!0)}function T(a,b,c){S(`warn:${a}`)&&console.warn(`[VibePulse sound] ${b}`,c)}function U(){return Q||(Q=new AudioContext),Q}function V(a,b,c,d){var e;0;try{let b=U(),e=()=>{try{d(b,b.currentTime)}catch(b){T(a,c,b)}};if("running"===b.state)return void e();b.resume().then(()=>{"running"===b.state?e():T(`${a}-state`,`${c} (AudioContext not running after resume)`,Error(b.state))}).catch(b=>{T(`${a}-resume`,`${c} (AudioContext resume failed)`,b)})}catch(b){T(a,c,b)}}function W(){try{let a=U(),b=()=>{let b=a.createBuffer(1,1,22050),c=a.createBufferSource();c.buffer=b,c.connect(a.destination),c.start(0)};if("running"===a.state)return void b();a.resume().then(()=>{"running"===a.state?b():T("unlock-state","unlockAudio() resume did not reach running state",Error(a.state))}).catch(a=>{T("unlock-resume","Failed to resume AudioContext in unlockAudio()",a)})}catch(a){T("unlock-audio","unlockAudio() failed",a)}}let X=new Map;function Y(a,b){}function Z(a){let b=Date.now();return{...a,slug:a.slug||a.id,title:a.title||"Untitled Session",directory:a.directory||"",projectName:a.projectName||function(a){if(!a)return"Unknown Project";let b=a.replace(/\\/g,"/").split("/").filter(Boolean);return b[b.length-1]||"Unknown Project"}(a.directory),time:a.time||{created:b,updated:b},realTimeStatus:a.realTimeStatus||"busy",waitingForUser:!!a.waitingForUser,children:a.children||[]}}let $=[{id:"idle",title:"Idle"},{id:"busy",title:"Busy"},{id:"review",title:"Needs Attention"},{id:"done",title:"Archived"}];function _({filterDays:a,onProcessHintsChange:b}){let c=(0,n.useRef)({}),d=(0,n.useRef)(!1),[e,f]=(0,n.useState)("idle"),[g,h]=(0,n.useState)(null),{data:i}=E({queryKey:["opencode-config"],queryFn:async()=>{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch config");return a.json()}}),j=i?.vibepulse?.sessionsRefreshIntervalMs,k="number"==typeof j&&Number.isFinite(j)&&j>0?j:5e3,{data:l,isLoading:o,error:p,dataUpdatedAt:q,refetch:r,isFetching:s,failureCount:t}=E({queryKey:["sessions"],queryFn:async({signal:a})=>{try{let b=await fetch("/api/sessions",{signal:a});if(!b.ok){let a=null;try{a=await b.json()}catch{a=null}let c=503===b.status&&a?.error==="OpenCode server not found",d=Error(c?a?.error||"OpenCode server not found":a?.error||`Failed to load sessions (${b.status})`);throw d.kind=c?"opencode_unavailable":"request_failed",d.hint=a?.hint,d.status=b.status,d}return b.json()}catch(b){if(b instanceof Error&&"AbortError"===b.name||b instanceof Error&&b.kind)throw b;let a=Error("Unable to connect to session service");throw a.kind="request_failed",a}},refetchInterval:a=>"fetching"!==a.state.fetchStatus&&k,refetchIntervalInBackground:!0,refetchOnReconnect:!0,retry:!1}),u=void 0!==l;(0,n.useEffect)(()=>{},[]),(0,n.useEffect)(()=>{},[l?.degraded,l?.processHints,l?.sessions,g?.sessions?.length]);let v=async()=>{try{await navigator.clipboard.writeText("opencode --port <PORT>"),f("copied"),setTimeout(()=>f("idle"),1500)}catch{f("failed"),setTimeout(()=>f("idle"),2e3)}},w=(0,n.useMemo)(()=>{if(l?.sessions){if(l.degraded&&g?.sessions?.length&&Date.now()-g.savedAt<=6e5){let a=[...l.sessions],b=new Set(a.map(a=>a.id));for(let c of g.sessions)b.has(c.id)||(a.push(c),b.add(c.id));return a}return l.sessions}return p&&g?.sessions?.length?g.sessions:[]},[p,l?.degraded,l?.sessions,g?.savedAt,g?.sessions]),x=!!p&&!l?.sessions&&!!g?.sessions?.length,y=!!p&&!x&&!u&&t>=3,z=!!p&&!x&&!u&&t>0&&t<3,A=(0,n.useMemo)(()=>l?.processHints?l.processHints:x&&g?.processHints?g.processHints:[],[l?.processHints,x,g?.processHints]);(0,n.useEffect)(()=>{b?.(A)},[b,A]);let B=(0,n.useMemo)(()=>{if(!w.length)return[];let a={},b=function(){let a=Date.now();for(let[b,c]of X)a-c.timestamp>5e3&&X.delete(b);return X}(),c=Date.now(),d=(a,b,d)=>!!d&&("busy"===a||"retry"===a)&&!!b&&c-b<=6e5;return w.map(c=>{let e=!!a[c.id],f=c.time?.updated||c.time?.created||0,g=d(c.realTimeStatus,f,e),h=b.get(c.id),i=h?h.status:c.realTimeStatus,j=(c.children||[]).map(c=>{let e=!!a[c.id],f=c.time?.updated||c.time?.created||0,g=b.get(c.id),h=g?g.status:c.realTimeStatus,i=d(h,f,e);return{...c,realTimeStatus:h,waitingForUser:!!c.waitingForUser||i}});return{...c,realTimeStatus:i,waitingForUser:!!c.waitingForUser||g,children:j}})},[w]);(0,n.useEffect)(()=>{},[B]);let C=(0,n.useMemo)(()=>{let b=B.map(O);if(0===a)return b;let c=q-24*a*36e5;return b.filter(a=>"busy"===a.status||"review"===a.status||Math.max(a.updatedAt||0,a.createdAt||0,a.archivedAt||0)>=c)},[q,B,a]);if((0,n.useEffect)(()=>{let a={};for(let b of C)a[b.id]=b.status;if(!d.current){d.current=!0,c.current=a;return}let b=Object.entries(a).some(([a,b])=>{let d=c.current[a];return!!d&&"idle"!==d&&"idle"===b});c.current=a,b&&!x&&setTimeout(()=>void V("play-complete","Skipped playCompleteSound() because muted","playCompleteSound() failed",(a,b)=>{let c=a.createOscillator(),d=a.createGain();c.type="sine",c.frequency.setValueAtTime(659,b),c.frequency.exponentialRampToValueAtTime(988,b+.18),d.gain.setValueAtTime(.22,b),d.gain.exponentialRampToValueAtTime(.001,b+.22),c.connect(d),d.connect(a.destination),c.start(b),c.stop(b+.22);let e=a.createOscillator(),f=a.createGain();e.type="sine",e.frequency.setValueAtTime(988,b+.12),e.frequency.exponentialRampToValueAtTime(1318,b+.32),f.gain.setValueAtTime(.18,b+.12),f.gain.exponentialRampToValueAtTime(.001,b+.36),e.connect(f),f.connect(a.destination),e.start(b+.12),e.stop(b+.36)}),250)},[C,x]),o)return(0,m.jsx)(P,{});if(y){let a=p?.kind==="opencode_unavailable",b=a?p?.hint||"Run OpenCode with an exposed API port, for example `opencode --port <PORT>`.":p?.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:a?"OpenCode is not running":"Failed to load sessions"}),(0,m.jsx)("p",{className:"text-gray-600 dark:text-gray-400 mb-4",children:b}),(0,m.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,m.jsx)("button",{type:"button",onClick:()=>r(),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:s,children:s?"Retrying...":"Retry"}),a?(0,m.jsx)("button",{type:"button",onClick:v,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"===e?"Copied":"failed"===e?"Copy Failed":"Copy Start Command"}):null]})]})})}return z?(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 (",t,"/",3,"). Retrying automatically."]}),(0,m.jsx)("button",{type:"button",onClick:()=>r(),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:s,children:s?"Retrying...":"Retry now"})]})}):C&&0!==C.length?(0,m.jsxs)("div",{className:"flex-1 overflow-x-auto scrollbar-thin scroll-smooth",children:[x?(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 ",g?new Date(g.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:$.map(a=>{let b=C.filter(b=>b.status===a.id).sort((a,b)=>a.sortOrder-b.sortOrder),c=(a=>{let b=new Map;for(let c of a){let a=c.projectName||"Unknown Project";b.has(a)||b.set(a,[]),b.get(a).push(c)}return b})(b);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:a.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:b.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(c.entries()).map(([a,b])=>(0,m.jsx)(L,{projectName:a,branch:b[0].branch,cards:b,readOnly:x},a))})})]},a.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 aa=n;class ab extends aa.Component{constructor(a){super(a),this.state={hasError:!1}}static getDerivedStateFromError(a){return{hasError:!0,error:a}}componentDidCatch(a,b){console.error("ErrorBoundary caught an error:",a,b)}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 ac=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),ad=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var ae={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 af=(0,n.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:d,className:e="",children:f,iconNode:g,...h},i)=>(0,n.createElement)("svg",{ref:i,...ae,width:b,height:b,stroke:a,strokeWidth:d?24*Number(c)/Number(b):c,className:ac("lucide",e),...!f&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(h)&&{"aria-hidden":"true"},...h},[...g.map(([a,b])=>(0,n.createElement)(a,b)),...Array.isArray(f)?f:[f]])),ag=(a,b)=>{let c=(0,n.forwardRef)(({className:c,...d},e)=>(0,n.createElement)(af,{ref:e,iconNode:b,className:ac(`lucide-${ad(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...d}));return c.displayName=ad(a),c},ah=ag("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),ai=ag("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 aj({onClick:a}){let{data:b}=E({queryKey:["opencode-config","status"],queryFn:async()=>{let a=await fetch("/api/opencode-config/status");if(!a.ok)throw Error("Failed to fetch config status");return a.json()}});return b?.hasPlugin?(0,m.jsx)("button",{type:"button",onClick:a,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)(ai,{className:"w-5 h-5"})}):null}let ak=ag("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),al=ag("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),am=ag("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"}]]),an=ag("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),ao=ag("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 ap=a.i(12794),aq=r,ar=class extends aq.Subscribable{#a;#f=void 0;#y;#z;constructor(a,b){super(),this.#a=a,this.setOptions(b),this.bindMethods(),this.#A()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(a){let b=this.options;this.options=this.#a.defaultMutationOptions(a),(0,t.shallowEqualObjects)(this.options,b)||this.#a.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#y,observer:this}),b?.mutationKey&&this.options.mutationKey&&(0,t.hashKey)(b.mutationKey)!==(0,t.hashKey)(this.options.mutationKey)?this.reset():this.#y?.state.status==="pending"&&this.#y.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#y?.removeObserver(this)}onMutationUpdate(a){this.#A(),this.#x(a)}getCurrentResult(){return this.#f}reset(){this.#y?.removeObserver(this),this.#y=void 0,this.#A(),this.#x()}mutate(a,b){return this.#z=b,this.#y?.removeObserver(this),this.#y=this.#a.getMutationCache().build(this.#a,this.options),this.#y.addObserver(this),this.#y.execute(a)}#A(){let a=this.#y?.state??(0,ap.getDefaultState)();this.#f={...a,isPending:"pending"===a.status,isSuccess:"success"===a.status,isError:"error"===a.status,isIdle:"idle"===a.status,mutate:this.mutate,reset:this.reset}}#x(a){p.notifyManager.batch(()=>{if(this.#z&&this.hasListeners()){let b=this.#f.variables,c=this.#f.context,d={client:this.#a,meta:this.options.meta,mutationKey:this.options.mutationKey};if(a?.type==="success"){try{this.#z.onSuccess?.(a.data,b,c,d)}catch(a){Promise.reject(a)}try{this.#z.onSettled?.(a.data,null,b,c,d)}catch(a){Promise.reject(a)}}else if(a?.type==="error"){try{this.#z.onError?.(a.error,b,c,d)}catch(a){Promise.reject(a)}try{this.#z.onSettled?.(void 0,a.error,b,c,d)}catch(a){Promise.reject(a)}}}this.listeners.forEach(a=>{a(this.#f)})})}};function as(a,b){let c=(0,A.useQueryClient)(b),[d]=n.useState(()=>new ar(c,a));n.useEffect(()=>{d.setOptions(a)},[d,a]);let e=n.useSyncExternalStore(n.useCallback(a=>d.subscribe(p.notifyManager.batchCalls(a)),[d]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),f=n.useCallback((a,b)=>{d.mutate(a,b).catch(t.noop)},[d]);if(e.error&&(0,t.shouldThrowError)(d.options.throwOnError,[e.error]))throw e.error;return{...e,mutate:f,mutateAsync:e.mutate}}let at=ag("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),au=ag("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"}]]),av=ag("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),aw=ag("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"}]]),ax=ag("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"}]]),ay=ag("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"}]]),az=[{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 aA({categoryKey:a,config:b,isBuiltIn:c,availableModels:d,onEdit:e,onDelete:f}){var g;let h,i=(h=az.find(b=>b.key===a))||{key:a,name:a,description:"Custom category"},j=!!(b.model||b.variant),k=b.model&&d&&d.size>0&&!d.has(b.model),l=j?"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 k&&(l="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:`
|
|
1
|
+
module.exports=[40777,a=>{"use strict";let b,c,d;var e,f,g,h,i,j,k,l,m=a.i(87924),n=a.i(72131),o=a.i(99745),p=a.i(18544),q=a.i(76644),r=a.i(33791),s=a.i(79715),t=a.i(42871),u=a.i(8361),v=class extends r.Subscribable{constructor(a,b){super(),this.options=b,this.#a=a,this.#b=null,this.#c=(0,s.pendingThenable)(),this.bindMethods(),this.setOptions(b)}#a;#d=void 0;#e=void 0;#f=void 0;#g;#h;#c;#b;#i;#j;#k;#l;#m;#n;#o=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#d.addObserver(this),w(this.#d,this.options)?this.#p():this.updateResult(),this.#q())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return x(this.#d,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return x(this.#d,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#r(),this.#s(),this.#d.removeObserver(this)}setOptions(a){let b=this.options,c=this.#d;if(this.options=this.#a.defaultQueryOptions(a),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,t.resolveEnabled)(this.options.enabled,this.#d))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#t(),this.#d.setOptions(this.options),b._defaulted&&!(0,t.shallowEqualObjects)(this.options,b)&&this.#a.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#d,observer:this});let d=this.hasListeners();d&&y(this.#d,c,this.options,b)&&this.#p(),this.updateResult(),d&&(this.#d!==c||(0,t.resolveEnabled)(this.options.enabled,this.#d)!==(0,t.resolveEnabled)(b.enabled,this.#d)||(0,t.resolveStaleTime)(this.options.staleTime,this.#d)!==(0,t.resolveStaleTime)(b.staleTime,this.#d))&&this.#u();let e=this.#v();d&&(this.#d!==c||(0,t.resolveEnabled)(this.options.enabled,this.#d)!==(0,t.resolveEnabled)(b.enabled,this.#d)||e!==this.#n)&&this.#w(e)}getOptimisticResult(a){var b,c;let d=this.#a.getQueryCache().build(this.#a,a),e=this.createResult(d,a);return b=this,c=e,(0,t.shallowEqualObjects)(b.getCurrentResult(),c)||(this.#f=e,this.#h=this.options,this.#g=this.#d.state),e}getCurrentResult(){return this.#f}trackResult(a,b){return new Proxy(a,{get:(a,c)=>(this.trackProp(c),b?.(c),"promise"===c&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#c.status||this.#c.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(a,c))})}trackProp(a){this.#o.add(a)}getCurrentQuery(){return this.#d}refetch({...a}={}){return this.fetch({...a})}fetchOptimistic(a){let b=this.#a.defaultQueryOptions(a),c=this.#a.getQueryCache().build(this.#a,b);return c.fetch().then(()=>this.createResult(c,b))}fetch(a){return this.#p({...a,cancelRefetch:a.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#f))}#p(a){this.#t();let b=this.#d.fetch(this.options,a);return a?.throwOnError||(b=b.catch(t.noop)),b}#u(){this.#r();let a=(0,t.resolveStaleTime)(this.options.staleTime,this.#d);if(t.isServer||this.#f.isStale||!(0,t.isValidTimeout)(a))return;let b=(0,t.timeUntilStale)(this.#f.dataUpdatedAt,a);this.#l=u.timeoutManager.setTimeout(()=>{this.#f.isStale||this.updateResult()},b+1)}#v(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#d):this.options.refetchInterval)??!1}#w(a){this.#s(),this.#n=a,!t.isServer&&!1!==(0,t.resolveEnabled)(this.options.enabled,this.#d)&&(0,t.isValidTimeout)(this.#n)&&0!==this.#n&&(this.#m=u.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||o.focusManager.isFocused())&&this.#p()},this.#n))}#q(){this.#u(),this.#w(this.#v())}#r(){this.#l&&(u.timeoutManager.clearTimeout(this.#l),this.#l=void 0)}#s(){this.#m&&(u.timeoutManager.clearInterval(this.#m),this.#m=void 0)}createResult(a,b){let c,d=this.#d,e=this.options,f=this.#f,g=this.#g,h=this.#h,i=a!==d?a.state:this.#e,{state:j}=a,k={...j},l=!1;if(b._optimisticResults){let c=this.hasListeners(),f=!c&&w(a,b),g=c&&y(a,d,b,e);(f||g)&&(k={...k,...(0,q.fetchState)(j.data,a.options)}),"isRestoring"===b._optimisticResults&&(k.fetchStatus="idle")}let{error:m,errorUpdatedAt:n,status:o}=k;c=k.data;let p=!1;if(void 0!==b.placeholderData&&void 0===c&&"pending"===o){let a;f?.isPlaceholderData&&b.placeholderData===h?.placeholderData?(a=f.data,p=!0):a="function"==typeof b.placeholderData?b.placeholderData(this.#k?.state.data,this.#k):b.placeholderData,void 0!==a&&(o="success",c=(0,t.replaceData)(f?.data,a,b),l=!0)}if(b.select&&void 0!==c&&!p)if(f&&c===g?.data&&b.select===this.#i)c=this.#j;else try{this.#i=b.select,c=b.select(c),c=(0,t.replaceData)(f?.data,c,b),this.#j=c,this.#b=null}catch(a){this.#b=a}this.#b&&(m=this.#b,c=this.#j,n=Date.now(),o="error");let r="fetching"===k.fetchStatus,u="pending"===o,v="error"===o,x=u&&r,A=void 0!==c,B={status:o,fetchStatus:k.fetchStatus,isPending:u,isSuccess:"success"===o,isError:v,isInitialLoading:x,isLoading:x,data:c,dataUpdatedAt:k.dataUpdatedAt,error:m,errorUpdatedAt:n,failureCount:k.fetchFailureCount,failureReason:k.fetchFailureReason,errorUpdateCount:k.errorUpdateCount,isFetched:k.dataUpdateCount>0||k.errorUpdateCount>0,isFetchedAfterMount:k.dataUpdateCount>i.dataUpdateCount||k.errorUpdateCount>i.errorUpdateCount,isFetching:r,isRefetching:r&&!u,isLoadingError:v&&!A,isPaused:"paused"===k.fetchStatus,isPlaceholderData:l,isRefetchError:v&&A,isStale:z(a,b),refetch:this.refetch,promise:this.#c,isEnabled:!1!==(0,t.resolveEnabled)(b.enabled,a)};if(this.options.experimental_prefetchInRender){let b=void 0!==B.data,c="error"===B.status&&!b,e=a=>{c?a.reject(B.error):b&&a.resolve(B.data)},f=()=>{e(this.#c=B.promise=(0,s.pendingThenable)())},g=this.#c;switch(g.status){case"pending":a.queryHash===d.queryHash&&e(g);break;case"fulfilled":(c||B.data!==g.value)&&f();break;case"rejected":c&&B.error===g.reason||f()}}return B}updateResult(){let a=this.#f,b=this.createResult(this.#d,this.options);if(this.#g=this.#d.state,this.#h=this.options,void 0!==this.#g.data&&(this.#k=this.#d),(0,t.shallowEqualObjects)(b,a))return;this.#f=b;let c=()=>{if(!a)return!0;let{notifyOnChangeProps:b}=this.options,c="function"==typeof b?b():b;if("all"===c||!c&&!this.#o.size)return!0;let d=new Set(c??this.#o);return this.options.throwOnError&&d.add("error"),Object.keys(this.#f).some(b=>this.#f[b]!==a[b]&&d.has(b))};this.#x({listeners:c()})}#t(){let a=this.#a.getQueryCache().build(this.#a,this.options);if(a===this.#d)return;let b=this.#d;this.#d=a,this.#e=a.state,this.hasListeners()&&(b?.removeObserver(this),a.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#q()}#x(a){p.notifyManager.batch(()=>{a.listeners&&this.listeners.forEach(a=>{a(this.#f)}),this.#a.getQueryCache().notify({query:this.#d,type:"observerResultsUpdated"})})}};function w(a,b){return!1!==(0,t.resolveEnabled)(b.enabled,a)&&void 0===a.state.data&&("error"!==a.state.status||!1!==b.retryOnMount)||void 0!==a.state.data&&x(a,b,b.refetchOnMount)}function x(a,b,c){if(!1!==(0,t.resolveEnabled)(b.enabled,a)&&"static"!==(0,t.resolveStaleTime)(b.staleTime,a)){let d="function"==typeof c?c(a):c;return"always"===d||!1!==d&&z(a,b)}return!1}function y(a,b,c,d){return(a!==b||!1===(0,t.resolveEnabled)(d.enabled,a))&&(!c.suspense||"error"!==a.state.status)&&z(a,c)}function z(a,b){return!1!==(0,t.resolveEnabled)(b.enabled,a)&&a.isStaleByTime((0,t.resolveStaleTime)(b.staleTime,a))}var A=a.i(37927),B=n.createContext((c=!1,{clearReset:()=>{c=!1},reset:()=>{c=!0},isReset:()=>c})),C=n.createContext(!1);C.Provider;var D=(a,b,c)=>b.fetchOptimistic(a).catch(()=>{c.clearReset()});function E(a,b){return function(a,b,c){let d,e=n.useContext(C),f=n.useContext(B),g=(0,A.useQueryClient)(c),h=g.defaultQueryOptions(a);g.getDefaultOptions().queries?._experimental_beforeQuery?.(h);let i=g.getQueryCache().get(h.queryHash);if(h._optimisticResults=e?"isRestoring":"optimistic",h.suspense){let a=a=>"static"===a?a:Math.max(a??1e3,1e3),b=h.staleTime;h.staleTime="function"==typeof b?(...c)=>a(b(...c)):a(b),"number"==typeof h.gcTime&&(h.gcTime=Math.max(h.gcTime,1e3))}d=i?.state.error&&"function"==typeof h.throwOnError?(0,t.shouldThrowError)(h.throwOnError,[i.state.error,i]):h.throwOnError,(h.suspense||h.experimental_prefetchInRender||d)&&!f.isReset()&&(h.retryOnMount=!1),n.useEffect(()=>{f.clearReset()},[f]);let j=!g.getQueryCache().get(h.queryHash),[k]=n.useState(()=>new b(g,h)),l=k.getOptimisticResult(h),m=!e&&!1!==a.subscribed;if(n.useSyncExternalStore(n.useCallback(a=>{let b=m?k.subscribe(p.notifyManager.batchCalls(a)):t.noop;return k.updateResult(),b},[k,m]),()=>k.getCurrentResult(),()=>k.getCurrentResult()),n.useEffect(()=>{k.setOptions(h)},[h,k]),h?.suspense&&l.isPending)throw D(h,k,f);if((({result:a,errorResetBoundary:b,throwOnError:c,query:d,suspense:e})=>a.isError&&!b.isReset()&&!a.isFetching&&d&&(e&&void 0===a.data||(0,t.shouldThrowError)(c,[a.error,d])))({result:l,errorResetBoundary:f,throwOnError:h.throwOnError,query:i,suspense:h.suspense}))throw l.error;if(g.getDefaultOptions().queries?._experimental_afterQuery?.(h,l),h.experimental_prefetchInRender&&!t.isServer&&l.isLoading&&l.isFetching&&!e){let a=j?D(h,k,f):i?.promise;a?.catch(t.noop).finally(()=>{k.updateResult()})}return h.notifyOnChangeProps?l:k.trackResult(l)}(a,v,b)}let F=[{textClass:"text-blue-500 dark:text-blue-400"},{textClass:"text-emerald-500 dark:text-emerald-400"},{textClass:"text-amber-500 dark:text-amber-400"},{textClass:"text-violet-500 dark:text-violet-400"},{textClass:"text-cyan-500 dark:text-cyan-400"}];function G(a,b){return a||b?F[function(a,b){let c=`${a??""}:${b??""}`,d=0;for(let a=0;a<c.length;a+=1)d=31*d+c.charCodeAt(a)>>>0;return d%F.length}(a,b)].textClass:"text-zinc-400 dark:text-zinc-500"}function H(a){let b=Date.now()-a,c=Math.floor(b/6e4),d=Math.floor(b/36e5),e=Math.floor(b/864e5);return c<1?"<1m":d<1?`${c}m`:e<1?`${d}h`:`${e}d`}function I(a,b){return b?[...a,`Reason: ${b}`].join("\n"):a.join("\n")}function J({status:a,waitingForUser:b}){if(b)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(a){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 K({cards:a,readOnly:b=!1}){let c=(0,A.useQueryClient)(),[d,e]=(0,n.useState)(!1),f=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!d)return;let a=a=>{f.current&&!f.current.contains(a.target)&&e(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[d]);let g=a.some(a=>"done"!==a.status),h=async b=>{b.stopPropagation();let d=a.filter(a=>"done"!==a.status);await Promise.all(d.map(a=>fetch(`/api/sessions/${a.id}/archive`,{method:"POST"}))),e(!1),await c.invalidateQueries({queryKey:["sessions"]})},i=async b=>{b.stopPropagation(),confirm(`Delete ${a.length} session(s)? This cannot be undone.`)&&(await Promise.all(a.map(a=>fetch(`/api/sessions/${a.id}/delete`,{method:"POST"}))),e(!1),await c.invalidateQueries({queryKey:["sessions"]}))};return b?null:(0,m.jsxs)("div",{className:"relative",ref:f,children:[(0,m.jsx)("button",{type:"button",className:"w-5 h-5 flex items-center justify-center rounded-full text-gray-400 hover:text-gray-700 hover:bg-gray-200/80 dark:text-gray-400 dark:hover:text-gray-200 dark:hover:bg-zinc-600 transition-colors",onClick:a=>{a.stopPropagation(),e(!d)},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"})})}),d&&(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:[g&&(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:h,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:i,children:"Delete all"})]})]})}function L({cardId:a,archived:b}){let c=(0,A.useQueryClient)(),[d,e]=(0,n.useState)(!1),f=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!d)return;let a=a=>{f.current&&!f.current.contains(a.target)&&e(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[d]);let g=async b=>{b.stopPropagation();try{await fetch(`/api/sessions/${a}/archive`,{method:"POST"})}finally{e(!1),await c.invalidateQueries({queryKey:["sessions"]})}},h=async b=>{b.stopPropagation();try{await fetch(`/api/sessions/${a}/delete`,{method:"POST"})}finally{e(!1),await c.invalidateQueries({queryKey:["sessions"]})}};return(0,m.jsxs)("div",{className:"relative flex-shrink-0",ref:f,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:a=>{a.stopPropagation(),e(!d)},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"})})}),d&&(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:[b?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:g,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:h,children:"Delete"})]})]})}function M({card:a,isLast:b,readOnly:c=!1}){let[d,e]=(0,n.useState)(!0),f=(a.children||[]).filter(a=>"idle"!==a.realTimeStatus||a.waitingForUser),g=f.length>0,h=I([a.title||"Untitled Session",`Active ${H(a.updatedAt)} ago`,`Started ${H(a.createdAt)} ago`],a.debugReason);return(0,m.jsxs)("div",{className:b?"":"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:h,children:[g&&(0,m.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),e(!d)},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:d?"Collapse subagents":"Expand subagents",children:(0,m.jsx)("svg",{className:`w-2.5 h-2.5 transition-transform duration-150 ${d?"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)(J,{status:a.opencodeStatus,waitingForUser:a.waitingForUser}),(0,m.jsx)("span",{className:"text-sm text-gray-700 dark:text-gray-300 truncate flex-1 min-w-0",children:a.title||"Untitled Session"}),g&&!d&&(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:[f.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:H(a.updatedAt)}),c?null:(0,m.jsx)("div",{className:"hidden group-hover/row:flex flex-shrink-0",children:(0,m.jsx)(L,{cardId:a.id,archived:"done"===a.status})})]}),g&&d&&(0,m.jsx)("div",{className:"bg-gray-50/50 dark:bg-zinc-800/30",children:f.map((a,b)=>(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:I([a.title||"Subagent"],a.debugReason),children:[(0,m.jsx)("span",{className:"text-gray-300 dark:text-zinc-600 text-xs flex-shrink-0 font-mono leading-none",children:b===f.length-1?"└":"├"}),(0,m.jsx)(J,{status:a.realTimeStatus,waitingForUser:a.waitingForUser}),(0,m.jsx)("span",{className:"text-xs text-gray-500 dark:text-gray-400 truncate flex-1 min-w-0",children:a.title||"Subagent"})]},a.id))})]})}function N({projectName:a,branch:b,cards:c,readOnly:d,hostLabel:e,multipleHostsEnabled:f}){let g=c[0],h=d??g?.readOnly??!1,i=e??g?.hostLabel,j=g?.hostId,k=i&&(f||"Local"!==i),l=G(j,i),[o,p]=(0,n.useState)(()=>"vscode"),[q]=(0,n.useState)(()=>"");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)("div",{className:`flex items-center justify-center flex-shrink-0 ${k?l:"text-blue-500 dark:text-blue-400"}`,title:k?`Source: ${i}`:void 0,children:(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:"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 min-w-0",children:a}),(c.length>1||!h)&&(0,m.jsxs)("div",{className:"flex items-center flex-shrink-0 bg-gray-100 dark:bg-zinc-700/50 rounded-full h-6 border border-gray-200/50 dark:border-zinc-700",children:[c.length>1&&(0,m.jsx)("span",{className:`text-[11px] font-medium text-gray-500 dark:text-gray-400 ${!h?"pl-2.5 pr-1":"px-2.5"}`,children:c.length}),!h&&(0,m.jsx)("div",{className:`${c.length>1?"pr-0.5":"px-0.5"}`,children:(0,m.jsx)(K,{cards:c,readOnly:h})})]})]}),(0,m.jsx)("div",{className:"border-t border-gray-100 dark:border-zinc-700/50",children:c.map((a,b)=>(0,m.jsx)(M,{card:a,isLast:b===c.length-1,readOnly:h},a.id))}),!h&&(0,m.jsxs)("div",{className:"flex items-center justify-between gap-2 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.jsx)("div",{className:"min-w-0 flex-1 text-[10px] text-gray-400 dark:text-gray-500 truncate",children:b?(0,m.jsx)("span",{className:"truncate",title:b,children:b}):null}),(0,m.jsxs)("div",{className:"flex items-center justify-end gap-1.5 flex-shrink-0",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:o,onClick:a=>a.stopPropagation(),onChange:a=>{p(a.target.value),window.localStorage.setItem("vibepulse:open-tool",a.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 a,b=c[0]?.directory;if(!b)return;let d="antigravity"===o?`antigravity://file${b}`:(a=encodeURI(b.replace(/\\/g,"/")),q?`vscode://vscode-remote/ssh-remote+${q}${a.startsWith("/")?"":"/"}${a}`:`vscode://file${a.startsWith("/")?a:`/${a}`}`);window.location.href=d},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 O(a,b){return"number"==typeof a&&a>0&&b-a<=3e5}function P(a,b){if(!a)return;if(a.debugReason)return a.debugReason;let c=a.realTimeStatus||"idle";return a.waitingForUser||"retry"===c?"waiting_for_user":"busy"===c?O(a.time?.updated||a.time?.created,b)?"child_recent_activity":"child_unknown_fallback":void 0}function Q(a){let b,c=a.children||[],d="string"==typeof a.slug?a.slug:"",e=Date.now(),f=a.realTimeStatus||"idle",g=c.some(a=>{let b=a.realTimeStatus||"idle";return"busy"===b||"retry"===b}),h="retry"===f?"retry":"busy"===f||g?"busy":"idle",i=c.some(a=>{let b=a.realTimeStatus||"idle";if(!("retry"===b||"idle"!==b&&a.waitingForUser))return!1;let c=a.time?.updated||e;return e-c<6e5}),j=!!a.waitingForUser,k="retry"===h||j||"busy"===h&&i,l=function({session:a,waitingForUser:b,effectiveStatus:c,firstActiveChild:d,firstWaitingChild:e,now:f}){if(a.debugReason)return a.debugReason;if(b)return P(e,f)||P(d,f)||"waiting_for_user";if("busy"===c){let b=a.realTimeStatus||"idle";return"busy"===b||"retry"===b?O(a.time?.updated||a.time?.created,f)?"direct_status_busy":"sticky_busy":d?"child_recent_activity":"unknown_fallback"}}({session:a,waitingForUser:k,effectiveStatus:h,firstActiveChild:c.find(a=>{let b=a.realTimeStatus||"idle";return"busy"===b||"retry"===b}),firstWaitingChild:c.find(a=>{let b=a.realTimeStatus||"idle";return"retry"===b||"idle"!==b&&!!a.waitingForUser}),now:e});return b=a.time?.archived?"done":k?"review":"busy"===h?"busy":"idle",{id:a.id,sessionSlug:d,title:a.title||"Untitled Session",directory:a.directory,projectName:a.projectName||"Unknown Project",branch:a.branch,agents:function(a){if(!a)return[];let b=a.split("_");return b.length>=3?b[b.length-1].split("-").filter(Boolean):[]}(d),messageCount:a.messageCount||0,status:b,opencodeStatus:h,waitingForUser:k,debugReason:l,todosTotal:0,todosCompleted:0,createdAt:a.time.created,updatedAt:a.time.updated,archivedAt:"done"===b?a.time.archived:void 0,sortOrder:0,hostId:a.hostId,hostLabel:a.hostLabel,hostKind:a.hostKind,rawSessionId:a.rawSessionId,sourceSessionKey:a.sourceSessionKey,readOnly:a.readOnly,children:c.map(a=>({id:a.id,title:a.title,realTimeStatus:a.realTimeStatus||"idle",waitingForUser:"retry"===(a.realTimeStatus||"idle")||"busy"===(a.realTimeStatus||"idle")&&!!a.waitingForUser,debugReason:P(a,e),createdAt:a.time?.created||0,updatedAt:a.time?.updated||0}))}}function R(){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(a=>(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(a=>(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"})]})]},a))})]},a))})})}let S=null,T=new Map;function U(a){let b=Date.now();return!(b-(T.get(a)??0)<1e4)&&(T.set(a,b),!0)}function V(a,b,c){U(`warn:${a}`)&&console.warn(`[VibePulse sound] ${b}`,c)}function W(){return S||(S=new AudioContext),S}function X(a,b,c,d){if(Y()){var e;return void(e=`${a}-muted`,U(`info:${e}`)&&console.info(`[VibePulse sound] ${b}`))}try{let b=W(),e=()=>{try{d(b,b.currentTime)}catch(b){V(a,c,b)}};if("running"===b.state)return void e();b.resume().then(()=>{"running"===b.state?e():V(`${a}-state`,`${c} (AudioContext not running after resume)`,Error(b.state))}).catch(b=>{V(`${a}-resume`,`${c} (AudioContext resume failed)`,b)})}catch(b){V(a,c,b)}}function Y(){return!1}function Z(a){return()=>{}}function $(){try{let a=W(),b=()=>{let b=a.createBuffer(1,1,22050),c=a.createBufferSource();c.buffer=b,c.connect(a.destination),c.start(0)};if("running"===a.state)return void b();a.resume().then(()=>{"running"===a.state?b():V("unlock-state","unlockAudio() resume did not reach running state",Error(a.state))}).catch(a=>{V("unlock-resume","Failed to resume AudioContext in unlockAudio()",a)})}catch(a){V("unlock-audio","unlockAudio() failed",a)}}function _(a,b){if(!a||""===a.trim())throw Error("Invalid hostId: cannot be empty");if(!b||""===b.trim())throw Error("Invalid sessionId: cannot be empty");if(a.includes(":")||b.includes(":"))throw Error("Invalid hostId or sessionId: colon character not allowed");return`${a}:${b}`}function aa(a){try{let{sessionId:b}=function(a){if("string"!=typeof a)throw Error("Invalid sourceKey: must be a string");let b=a.split(":");if(2!==b.length)throw Error("Invalid sourceKey: must contain exactly one colon separator");let[c,d]=b,e=c.trim(),f=d.trim();if(""===e||""===f)throw Error("Invalid sourceKey: hostId and sessionId cannot be empty");return{hostId:e,sessionId:f}}(a);return b}catch{return null}}let ab="local",ac={hostId:ab,hostLabel:"Local",hostKind:"local"},ad=new Map;function ae(a,b){}function af(a){let b=Date.now();return{...a,slug:a.slug||a.id,title:a.title||"Untitled Session",directory:a.directory||"",projectName:a.projectName||function(a){if(!a)return"Unknown Project";let b=a.replace(/\\/g,"/").split("/").filter(Boolean);return b[b.length-1]||"Unknown Project"}(a.directory),time:a.time||{created:b,updated:b},realTimeStatus:a.realTimeStatus||"busy",waitingForUser:!!a.waitingForUser,children:a.children||[]}}function ag(a){return"object"==typeof a&&null!==a&&"source"in a&&"event"in a}let ah={hostId:"local",hostLabel:"Local",hostKind:"local"},ai=[{id:"idle",title:"Idle"},{id:"busy",title:"Busy"},{id:"review",title:"Needs Attention"},{id:"done",title:"Archived"}];function aj(a){let b=a.sourceSessionKey||a.id;return"local"===a.hostKind||"local"===a.hostId||b.startsWith("local:")?b:null}function ak(a){return a.sourceSessionKey?a.sourceSessionKey:a.hostId&&a.rawSessionId?_(a.hostId,a.rawSessionId):a.hostId&&!a.id.includes(":")?_(a.hostId,a.id):a.id.includes(":")?a.id:_("local",a.id)}function al({filterDays:a,onProcessHintsChange:b,hostSources:c,isNodeMode:d=!1,showHostFilter:e=!0,onHostStatusesChange:f}){let g=(0,n.useRef)({}),h=(0,n.useRef)(!1),[i,j]=(0,n.useState)("idle"),[k,l]=(0,n.useState)(null),{enabledSources:o,activeFilter:p,setActiveFilter:q,filteredHostIds:r}=c,s=(0,n.useMemo)(()=>{if(!d)return o;let a=o.filter(a=>"local"===a.hostKind&&"local"===a.hostId);return a.length>0?a:[ah]},[o,d]),{data:t}=E({queryKey:["opencode-config"],queryFn:async()=>{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch config");return a.json()}}),u=t?.vibepulse?.sessionsRefreshIntervalMs,v="number"==typeof u&&Number.isFinite(u)&&u>0?u:5e3,{data:w,isLoading:x,error:y,dataUpdatedAt:z,refetch:A,isFetching:B,failureCount:C}=E({queryKey:["sessions",s,d],queryFn:async({signal:a})=>{try{let b=await fetch("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sources:s}),signal:a});if(!b.ok){let a=null;try{a=await b.json()}catch{a=null}if(a&&!0===a.degraded&&Array.isArray(a.sessions))return a;let c=503===b.status&&a?.error==="OpenCode server not found",d=Error(c?a?.error||"OpenCode server not found":a?.error||`Failed to load sessions (${b.status})`);throw d.kind=c?"opencode_unavailable":"request_failed",d.hint=a?.hint,d.status=b.status,d}return b.json()}catch(b){if(b instanceof Error&&"AbortError"===b.name||b instanceof Error&&b.kind)throw b;let a=Error("Unable to connect to session service");throw a.kind="request_failed",a}},refetchInterval:a=>"fetching"!==a.state.fetchStatus&&v,refetchIntervalInBackground:!0,refetchOnReconnect:!0,retry:!1}),D=void 0!==w;(0,n.useEffect)(()=>{},[]),(0,n.useEffect)(()=>{},[w?.degraded,w?.processHints,w?.sessions,w?.hostStatuses,k?.sessions?.length]);let F=async()=>{try{await navigator.clipboard.writeText("opencode --port <PORT>"),j("copied"),setTimeout(()=>j("idle"),1500)}catch{j("failed"),setTimeout(()=>j("idle"),2e3)}},H=(0,n.useMemo)(()=>{if(w?.sessions){if(w.degraded&&k?.sessions?.length&&Date.now()-k.savedAt<=6e5){let a=[...w.sessions],b=new Set(a.map(a=>ak(a)));for(let c of k.sessions){let d=ak(c);b.has(d)||(a.push(c),b.add(d))}return a}return w.sessions}return y&&k?.sessions?.length?k.sessions:[]},[y,w?.degraded,w?.sessions,k?.savedAt,k?.sessions]),I=!!y&&!w?.sessions&&!!k?.sessions?.length,J=(0,n.useMemo)(()=>w?.hostStatuses?.length?w.hostStatuses:I&&k?.hostStatuses?.length?k.hostStatuses:w&&!y&&1===s.length&&"local"===s[0].hostId&&"local"===s[0].hostKind?[{hostId:"local",hostLabel:"Local",hostKind:"local",online:!0}]:[],[y,w,w?.hostStatuses,s,I,k?.hostStatuses]),K=(0,n.useRef)(null);(0,n.useEffect)(()=>{f&&!function(a,b){if(!a||a.length!==b.length)return!1;for(let c=0;c<a.length;c+=1){let d=a[c],e=b[c];if(d.hostId!==e.hostId||d.hostLabel!==e.hostLabel||d.hostKind!==e.hostKind||d.online!==e.online||d.degraded!==e.degraded||d.reason!==e.reason)return!1}return!0}(K.current,J)&&(K.current=J.map(a=>({...a})),f(J))},[J,f]);let L=!!y&&!I&&!D&&C>=3,M=!!y&&!I&&!D&&C>0&&C<3,O=(0,n.useMemo)(()=>w?.processHints?w.processHints:I&&k?.processHints?k.processHints:[],[w?.processHints,I,k?.processHints]);(0,n.useEffect)(()=>{b?.(O)},[b,O]);let P=(0,n.useMemo)(()=>{if(!H.length)return[];let a={},b=function(){let a=Date.now();for(let[b,c]of ad)a-c.timestamp>5e3&&ad.delete(b);return ad}(),c=Date.now(),d=(a,b,d)=>!!d&&("busy"===a||"retry"===a)&&!!b&&c-b<=6e5;return H.map(c=>{let e=aj(c),f=!!e&&!!a[e],g=c.time?.updated||c.time?.created||0,h=!!e&&d(c.realTimeStatus,g,f),i=e?b.get(e):void 0,j=i?i.status:c.realTimeStatus,k=(c.children||[]).map(c=>{let e=aj(c),f=!!e&&!!a[e],g=c.time?.updated||c.time?.created||0,h=e?b.get(e):void 0,i=h?h.status:c.realTimeStatus,j=!!e&&d(i,g,f);return{...c,realTimeStatus:i,waitingForUser:!!c.waitingForUser||j}});return{...c,realTimeStatus:j,waitingForUser:!!c.waitingForUser||h,children:k}})},[H]);(0,n.useEffect)(()=>{},[P]);let S=(0,n.useMemo)(()=>{let b=P.map(Q);if(r&&(b=b.filter(a=>{let b=a.hostId||"local";return r.has(b)})),0===a)return b;let c=z-24*a*36e5;return b.filter(a=>"busy"===a.status||"review"===a.status||Math.max(a.updatedAt||0,a.createdAt||0,a.archivedAt||0)>=c)},[z,P,a,r]);(0,n.useEffect)(()=>{let a={};for(let b of S)a[b.id]=b.status;if(!h.current){h.current=!0,g.current=a;return}let b=Object.entries(a).some(([a,b])=>{let c=g.current[a];return!!c&&"idle"!==c&&"idle"===b});g.current=a,b&&!I&&setTimeout(()=>void X("play-complete","Skipped playCompleteSound() because muted","playCompleteSound() failed",(a,b)=>{let c=a.createOscillator(),d=a.createGain();c.type="sine",c.frequency.setValueAtTime(659,b),c.frequency.exponentialRampToValueAtTime(988,b+.18),d.gain.setValueAtTime(.22,b),d.gain.exponentialRampToValueAtTime(.001,b+.22),c.connect(d),d.connect(a.destination),c.start(b),c.stop(b+.22);let e=a.createOscillator(),f=a.createGain();e.type="sine",e.frequency.setValueAtTime(988,b+.12),e.frequency.exponentialRampToValueAtTime(1318,b+.32),f.gain.setValueAtTime(.18,b+.12),f.gain.exponentialRampToValueAtTime(.001,b+.36),e.connect(f),f.connect(a.destination),e.start(b+.12),e.stop(b+.36)}),250)},[S,I]);let T=e?(0,m.jsx)("div",{className:"shrink-0 flex items-center justify-end px-4 py-2 bg-zinc-50 dark:bg-black border-b border-gray-200 dark:border-zinc-800",children:(0,m.jsxs)("div",{className:"flex items-center gap-1 bg-gray-100 dark:bg-zinc-800 rounded-lg p-0.5","data-testid":"host-filter",children:[(0,m.jsx)("button",{type:"button",onClick:()=>q("all"),className:`px-3 py-1 text-xs font-medium rounded-md transition-all duration-150 ${"all"===p?"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"}`,"data-testid":"host-filter-option-all",children:"All Hosts"}),o.map(a=>{let b=J.find(b=>b.hostId===a.hostId),c=b?.online??!1,d=G(a.hostId,a.hostLabel);return(0,m.jsxs)("button",{type:"button",onClick:()=>q(a.hostId),className:`flex items-center gap-1.5 px-3 py-1 text-xs font-medium rounded-md transition-all duration-150 ${p===a.hostId?"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"}`,"data-testid":`host-filter-option-${a.hostId}`,children:[(0,m.jsx)("span",{className:`inline-flex items-center justify-center flex-shrink-0 ${d}`,"data-testid":`host-identity-${a.hostId}`,title:`Host identity: ${a.hostLabel}`,children:(0,m.jsx)("svg",{className:"w-3.5 h-3.5",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:"truncate",children:a.hostLabel}),(0,m.jsx)("span",{className:"ml-auto inline-flex items-center pl-1.5","data-testid":`host-indicators-${a.hostId}`,children:(0,m.jsx)("span",{className:`w-2 h-2 rounded-full ${c?"bg-emerald-500":"bg-gray-400"}`,"data-testid":`host-status-${a.hostId}`,title:c?"Online":"Offline"})})]},a.hostId)})]})}):null;if(x)return(0,m.jsxs)("div",{className:"flex flex-col flex-1 h-full min-h-0",children:[T,(0,m.jsx)(R,{})]});if(L){let a=y?.kind==="opencode_unavailable",b=a?y?.hint||"Run OpenCode with an exposed API port, for example `opencode --port <PORT>`.":y?.message||"An error occurred while loading sessions";return(0,m.jsxs)("div",{className:"flex flex-col flex-1 h-full min-h-0",children:[T,(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:a?"OpenCode is not running":"Failed to load sessions"}),(0,m.jsx)("p",{className:"text-gray-600 dark:text-gray-400 mb-4",children:b}),(0,m.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,m.jsx)("button",{type:"button",onClick:()=>A(),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"}),a?(0,m.jsx)("button",{type:"button",onClick:F,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"===i?"Copied":"failed"===i?"Copy Failed":"Copy Start Command"}):null]})]})})]})}return M?(0,m.jsxs)("div",{className:"flex flex-col flex-1 h-full min-h-0",children:[T,(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 (",C,"/",3,"). Retrying automatically."]}),(0,m.jsx)("button",{type:"button",onClick:()=>A(),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"})]})})]}):S&&0!==S.length?(0,m.jsxs)("div",{className:"flex flex-col flex-1 h-full min-h-0",children:[T,(0,m.jsxs)("div",{className:"flex-1 overflow-x-auto scrollbar-thin scroll-smooth relative",children:[I?(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 ",k?new Date(k.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:ai.map(a=>{let b=S.filter(b=>b.status===a.id).sort((a,b)=>a.sortOrder-b.sortOrder),c=(a=>{let b=new Map;for(let c of a){let a=c.projectName||"Unknown Project",d=c.hostId||"local",e=`${d}::${a}`;b.has(e)||b.set(e,{projectName:a,branch:c.branch,hostLabel:c.hostLabel,readOnly:!!c.readOnly,cards:[]});let f=b.get(e);f.cards.push(c),f.readOnly=f.readOnly||!!c.readOnly,!f.branch&&c.branch&&(f.branch=c.branch),!f.hostLabel&&c.hostLabel&&(f.hostLabel=c.hostLabel)}return b})(b);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:a.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:b.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(c.entries()).map(([a,b])=>(0,m.jsx)(N,{projectName:b.projectName,branch:b.branch,cards:b.cards,readOnly:I||b.readOnly,hostLabel:b.hostLabel,multipleHostsEnabled:s.length>1},a))})})]},a.id)})})]})]}):(0,m.jsxs)("div",{className:"flex flex-col flex-1 h-full min-h-0",children:[T,(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 am=n;class an extends am.Component{constructor(a){super(a),this.state={hasError:!1}}static getDerivedStateFromError(a){return{hasError:!0,error:a}}componentDidCatch(a,b){console.error("ErrorBoundary caught an error:",a,b)}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 ao=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),ap=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var aq={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 ar=(0,n.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:d,className:e="",children:f,iconNode:g,...h},i)=>(0,n.createElement)("svg",{ref:i,...aq,width:b,height:b,stroke:a,strokeWidth:d?24*Number(c)/Number(b):c,className:ao("lucide",e),...!f&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(h)&&{"aria-hidden":"true"},...h},[...g.map(([a,b])=>(0,n.createElement)(a,b)),...Array.isArray(f)?f:[f]])),as=(a,b)=>{let c=(0,n.forwardRef)(({className:c,...d},e)=>(0,n.createElement)(ar,{ref:e,iconNode:b,className:ao(`lucide-${ap(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...d}));return c.displayName=ap(a),c},at=as("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),au=as("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]),av=as("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 aw({onClick:a}){let{data:b}=E({queryKey:["opencode-config","status"],queryFn:async()=>{let a=await fetch("/api/opencode-config/status");if(!a.ok)throw Error("Failed to fetch config status");return a.json()}});return b?.hasPlugin?(0,m.jsx)("button",{type:"button",onClick:a,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)(av,{className:"w-5 h-5"})}):null}let ax=as("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),ay=as("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),az=as("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"}]]),aA=as("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),aB=as("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 aC=a.i(12794),aD=r,aE=class extends aD.Subscribable{#a;#f=void 0;#y;#z;constructor(a,b){super(),this.#a=a,this.setOptions(b),this.bindMethods(),this.#A()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(a){let b=this.options;this.options=this.#a.defaultMutationOptions(a),(0,t.shallowEqualObjects)(this.options,b)||this.#a.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#y,observer:this}),b?.mutationKey&&this.options.mutationKey&&(0,t.hashKey)(b.mutationKey)!==(0,t.hashKey)(this.options.mutationKey)?this.reset():this.#y?.state.status==="pending"&&this.#y.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#y?.removeObserver(this)}onMutationUpdate(a){this.#A(),this.#x(a)}getCurrentResult(){return this.#f}reset(){this.#y?.removeObserver(this),this.#y=void 0,this.#A(),this.#x()}mutate(a,b){return this.#z=b,this.#y?.removeObserver(this),this.#y=this.#a.getMutationCache().build(this.#a,this.options),this.#y.addObserver(this),this.#y.execute(a)}#A(){let a=this.#y?.state??(0,aC.getDefaultState)();this.#f={...a,isPending:"pending"===a.status,isSuccess:"success"===a.status,isError:"error"===a.status,isIdle:"idle"===a.status,mutate:this.mutate,reset:this.reset}}#x(a){p.notifyManager.batch(()=>{if(this.#z&&this.hasListeners()){let b=this.#f.variables,c=this.#f.context,d={client:this.#a,meta:this.options.meta,mutationKey:this.options.mutationKey};if(a?.type==="success"){try{this.#z.onSuccess?.(a.data,b,c,d)}catch(a){Promise.reject(a)}try{this.#z.onSettled?.(a.data,null,b,c,d)}catch(a){Promise.reject(a)}}else if(a?.type==="error"){try{this.#z.onError?.(a.error,b,c,d)}catch(a){Promise.reject(a)}try{this.#z.onSettled?.(void 0,a.error,b,c,d)}catch(a){Promise.reject(a)}}}this.listeners.forEach(a=>{a(this.#f)})})}};function aF(a,b){let c=(0,A.useQueryClient)(b),[d]=n.useState(()=>new aE(c,a));n.useEffect(()=>{d.setOptions(a)},[d,a]);let e=n.useSyncExternalStore(n.useCallback(a=>d.subscribe(p.notifyManager.batchCalls(a)),[d]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),f=n.useCallback((a,b)=>{d.mutate(a,b).catch(t.noop)},[d]);if(e.error&&(0,t.shouldThrowError)(d.options.throwOnError,[e.error]))throw e.error;return{...e,mutate:f,mutateAsync:e.mutate}}let aG=as("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),aH=as("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"}]]),aI=as("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),aJ=as("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"}]]),aK=as("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"}]]),aL=as("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"}]]),aM=[{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 aN({categoryKey:a,config:b,isBuiltIn:c,availableModels:d,onEdit:e,onDelete:f}){var g;let h,i=(h=aM.find(b=>b.key===a))||{key:a,name:a,description:"Custom category"},j=!!(b.model||b.variant),k=b.model&&d&&d.size>0&&!d.has(b.model),l=j?"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 k&&(l="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
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
3
|
transition-all duration-200
|
|
4
4
|
${l}
|
|
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:i.name}),!c&&(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"}),k&&(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)(ao,{className:"h-3 w-3"}),"Model Unavailable"]}),!k&&j&&(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"}),!j&&(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)(au,{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:i.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(a){if(!a)return"Default provider";let b=a.indexOf("/");return -1===b?"Unknown provider":a.substring(0,b)}(b.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(a){if(!a)return"Default model";let b=a.split("/");return b[b.length-1]}(b.model)]}),b.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:"})," ",(g=b.variant)?g:"—"]})]})]}),(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:()=>e(a,b),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 ${i.name} category`,title:`Edit ${i.name}`,children:(0,m.jsx)(aw,{className:"h-4 w-4"})}),!c&&(0,m.jsx)("button",{type:"button",onClick:()=>f(a),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 ${i.name} category`,title:`Delete ${i.name}`,children:(0,m.jsx)(ax,{className:"h-4 w-4"})})]})]})}function aB({categories:a,onEdit:b,onDelete:c}){let{data:d}=E({queryKey:["opencode-models"],queryFn:async()=>{var a;let b=await fetch("/api/opencode-models"),c=null;try{c=await b.json()}catch{c=null}let d=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null;if(!b.ok||d)throw Error(d||`Failed to fetch models (${b.status})`);if(!((a=c)&&"object"==typeof a&&Array.isArray(a.models)))throw Error("Invalid models response");return c},retry:!1}),e=n.useMemo(()=>d?new Set(d.models):null,[d]),{builtIn:f,custom:g}=n.useMemo(()=>{let b=[],c=[];return az.forEach(c=>{b.push({key:c.key,config:a[c.key]||{}})}),Object.entries(a).forEach(([a,b])=>{az.some(b=>b.key===a)||c.push({key:a,config:b})}),{builtIn:b,custom:c}},[a]),h=g.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)(ay,{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:["(",f.length,")"]})]}),(0,m.jsx)("div",{className:"space-y-2",children:f.map(({key:a,config:d})=>(0,m.jsx)(aA,{categoryKey:a,config:d,isBuiltIn:!0,availableModels:e,onEdit:b,onDelete:c},a))})]}),h&&(0,m.jsxs)("section",{children:[(0,m.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,m.jsx)(ay,{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:["(",g.length,")"]})]}),(0,m.jsx)("div",{className:"space-y-2",children:g.map(({key:a,config:d})=>(0,m.jsx)(aA,{categoryKey:a,config:d,isBuiltIn:!1,availableModels:e,onEdit:b,onDelete:c},a))})]}),0===f.length&&!h&&(0,m.jsxs)("div",{className:"text-center py-8",children:[(0,m.jsx)(ay,{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 aC=a=>a instanceof Date,aD=a=>null==a,aE=a=>!aD(a)&&!Array.isArray(a)&&"object"==typeof a&&!aC(a),aF=a=>aE(a)&&a.target?"checkbox"===a.target.type?a.target.checked:a.target.value:a,aG=(a,b)=>a.has(b.substring(0,b.search(/\.\d+(\.|$)/))||b);function aH(a){let b;if(a instanceof Date)return new Date(a);"u">typeof FileList&&FileList;let c=Array.isArray(a);if(!c&&!(aE(a)&&aE(b=a.constructor&&a.constructor.prototype)&&b.hasOwnProperty("isPrototypeOf")))return a;let d=c?[]:Object.create(Object.getPrototypeOf(a));for(let b in a)Object.prototype.hasOwnProperty.call(a,b)&&(d[b]=aH(a[b]));return d}var aI=a=>void 0===a,aJ=a=>Array.isArray(a)?a.filter(Boolean):[],aK=a=>aJ(a.replace(/["|']|\]/g,"").split(/\.|\[/)),aL=(a,b,c)=>{if(!b||!aE(a))return c;let d=(/^\w*$/.test(b)?[b]:aK(b)).reduce((a,b)=>aD(a)?a:a[b],a);return aI(d)||d===a?aI(a[b])?c:a[b]:d},aM=a=>"function"==typeof a,aN=(a,b,c)=>{let d=-1,e=/^\w*$/.test(b)?[b]:aK(b),f=e.length,g=f-1;for(;++d<f;){let b=e[d],f=c;if(d!==g){let c=a[b];f=aE(c)||Array.isArray(c)?c:isNaN(+e[d+1])?{}:[]}if("__proto__"===b||"constructor"===b||"prototype"===b)return;a[b]=f,a=a[b]}};let aO="blur",aP="onChange",aQ="onSubmit",aR="maxLength",aS="minLength",aT="pattern",aU="required",aV=n.default.createContext(null);aV.displayName="HookFormControlContext";var aW=(a,b,c,d=!0)=>{let e={defaultValues:b._defaultValues};for(let f in a)Object.defineProperty(e,f,{get:()=>("all"!==b._proxyFormState[f]&&(b._proxyFormState[f]=!d||"all"),c&&(c[f]=!0),a[f])});return e};let aX=n.default.useEffect;var aY=a=>"string"==typeof a,aZ=(a,b,c,d,e)=>aY(a)?(d&&b.watch.add(a),aL(c,a,e)):Array.isArray(a)?a.map(a=>(d&&b.watch.add(a),aL(c,a))):(d&&(b.watchAll=!0),c),a$=a=>aD(a)||"object"!=typeof a;function a_(a,b,c=new WeakSet){if(a$(a)||a$(b))return Object.is(a,b);if(aC(a)&&aC(b))return Object.is(a.getTime(),b.getTime());let d=Object.keys(a),e=Object.keys(b);if(d.length!==e.length)return!1;if(c.has(a)||c.has(b))return!0;for(let f of(c.add(a),c.add(b),d)){let d=a[f];if(!e.includes(f))return!1;if("ref"!==f){let a=b[f];if(aC(d)&&aC(a)||aE(d)&&aE(a)||Array.isArray(d)&&Array.isArray(a)?!a_(d,a,c):!Object.is(d,a))return!1}}return!0}let a0=a=>a.render(function(a){let b=n.default.useContext(aV),{name:c,disabled:d,control:e=b,shouldUnregister:f,defaultValue:g,exact:h=!0}=a,i=aG(e._names.array,c),j=n.default.useMemo(()=>aL(e._formValues,c,aL(e._defaultValues,c,g)),[e,c,g]),k=function(a){let b=n.default.useContext(aV),{control:c=b,name:d,defaultValue:e,disabled:f,exact:g,compute:h}=a||{},i=n.default.useRef(e),j=n.default.useRef(h),k=n.default.useRef(void 0),l=n.default.useRef(c),m=n.default.useRef(d);j.current=h;let[o,p]=n.default.useState(()=>{let a=c._getWatch(d,i.current);return j.current?j.current(a):a}),q=n.default.useCallback(a=>{let b=aZ(d,c._names,a||c._formValues,!1,i.current);return j.current?j.current(b):b},[c._formValues,c._names,d]),r=n.default.useCallback(a=>{if(!f){let b=aZ(d,c._names,a||c._formValues,!1,i.current);if(j.current){let a=j.current(b);a_(a,k.current)||(p(a),k.current=a)}else p(b)}},[c._formValues,c._names,f,d]);aX(()=>(l.current===c&&a_(m.current,d)||(l.current=c,m.current=d,r()),c._subscribe({name:d,formState:{values:!0},exact:g,callback:a=>{r(a.values)}})),[c,g,d,r]),n.default.useEffect(()=>c._removeUnmounted());let s=l.current!==c,t=m.current,u=n.default.useMemo(()=>{if(f)return null;let a=!s&&!a_(t,d);return s||a?q():null},[f,s,d,t,q]);return null!==u?u:o}({control:e,name:c,defaultValue:j,exact:h}),l=function(a){let b=n.default.useContext(aV),{control:c=b,disabled:d,name:e,exact:f}=a||{},[g,h]=n.default.useState(c._formState),i=n.default.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return aX(()=>c._subscribe({name:e,formState:i.current,exact:f,callback:a=>{d||h({...c._formState,...a})}}),[e,d,f]),n.default.useEffect(()=>{i.current.isValid&&c._setValid(!0)},[c]),n.default.useMemo(()=>aW(g,c,i.current,!1),[g,c])}({control:e,name:c,exact:h}),m=n.default.useRef(a),o=n.default.useRef(void 0),p=n.default.useRef(e.register(c,{...a.rules,value:k,..."boolean"==typeof a.disabled?{disabled:a.disabled}:{}}));m.current=a;let q=n.default.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!aL(l.errors,c)},isDirty:{enumerable:!0,get:()=>!!aL(l.dirtyFields,c)},isTouched:{enumerable:!0,get:()=>!!aL(l.touchedFields,c)},isValidating:{enumerable:!0,get:()=>!!aL(l.validatingFields,c)},error:{enumerable:!0,get:()=>aL(l.errors,c)}}),[l,c]),r=n.default.useCallback(a=>p.current.onChange({target:{value:aF(a),name:c},type:"change"}),[c]),s=n.default.useCallback(()=>p.current.onBlur({target:{value:aL(e._formValues,c),name:c},type:aO}),[c,e._formValues]),t=n.default.useCallback(a=>{let b=aL(e._fields,c);b&&b._f&&a&&(b._f.ref={focus:()=>aM(a.focus)&&a.focus(),select:()=>aM(a.select)&&a.select(),setCustomValidity:b=>aM(a.setCustomValidity)&&a.setCustomValidity(b),reportValidity:()=>aM(a.reportValidity)&&a.reportValidity()})},[e._fields,c]),u=n.default.useMemo(()=>({name:c,value:k,..."boolean"==typeof d||l.disabled?{disabled:l.disabled||d}:{},onChange:r,onBlur:s,ref:t}),[c,d,l.disabled,r,s,t,k]);return n.default.useEffect(()=>{let a=e._options.shouldUnregister||f,b=o.current;b&&b!==c&&!i&&e.unregister(b),e.register(c,{...m.current.rules,..."boolean"==typeof m.current.disabled?{disabled:m.current.disabled}:{}});let d=(a,b)=>{let c=aL(e._fields,a);c&&c._f&&(c._f.mount=b)};if(d(c,!0),a){let a=aH(aL(e._options.defaultValues,c,m.current.defaultValue));aN(e._defaultValues,c,a),aI(aL(e._formValues,c))&&aN(e._formValues,c,a)}return i||e.register(c),o.current=c,()=>{(i?a&&!e._state.action:a)?e.unregister(c):d(c,!1)}},[c,e,i,f]),n.default.useEffect(()=>{e._setDisabledField({disabled:d,name:c})},[d,c,e]),n.default.useMemo(()=>({field:u,formState:l,fieldState:q}),[u,l,q])}(a));n.default.createContext(null).displayName="HookFormContext";var a1=(a,b,c,d,e)=>b?{...c[a],types:{...c[a]&&c[a].types?c[a].types:{},[d]:e||!0}}:{},a2=a=>Array.isArray(a)?a:[a],a3=()=>{let a=[];return{get observers(){return a},next:b=>{for(let c of a)c.next&&c.next(b)},subscribe:b=>(a.push(b),{unsubscribe:()=>{a=a.filter(a=>a!==b)}}),unsubscribe:()=>{a=[]}}},a4=a=>aE(a)&&!Object.keys(a).length,a5=a=>!1;function a6(a,b){let c=Array.isArray(b)?b:/^\w*$/.test(b)?[b]:aK(b),d=1===c.length?a:function(a,b){let c=b.slice(0,-1).length,d=0;for(;d<c;)a=aI(a)?d++:a[b[d++]];return a}(a,c),e=c.length-1,f=c[e];return d&&delete d[f],0!==e&&(aE(d)&&a4(d)||Array.isArray(d)&&function(a){for(let b in a)if(a.hasOwnProperty(b)&&!aI(a[b]))return!1;return!0}(d))&&a6(a,c.slice(0,-1)),a}function a7(a){return Array.isArray(a)||aE(a)&&!(a=>{for(let b in a)if(aM(a[b]))return!0;return!1})(a)}function a8(a,b={}){for(let c in a){let d=a[c];a7(d)?(b[c]=Array.isArray(d)?[]:{},a8(d,b[c])):aI(d)||(b[c]=!0)}return b}function a9(a,b,c){for(let d in c||(c=a8(b)),a){let e=a[d];if(a7(e))aI(b)||a$(c[d])?c[d]=a8(e,Array.isArray(e)?[]:{}):a9(e,aD(b)?{}:b[d],c[d]);else{let a=b[d];c[d]=!a_(e,a)}}return c}let ba={value:!1,isValid:!1},bb={value:!0,isValid:!0};var bc=a=>{if(Array.isArray(a)){if(a.length>1){let b=a.filter(a=>a&&a.checked&&!a.disabled).map(a=>a.value);return{value:b,isValid:!!b.length}}return a[0].checked&&!a[0].disabled?a[0].attributes&&!aI(a[0].attributes.value)?aI(a[0].value)||""===a[0].value?bb:{value:a[0].value,isValid:!0}:bb:ba}return ba},bd=(a,{valueAsNumber:b,valueAsDate:c,setValueAs:d})=>aI(a)?a:b?""===a?NaN:a?+a:a:c&&aY(a)?new Date(a):d?d(a):a;let be={isValid:!1,value:null};var bf=a=>Array.isArray(a)?a.reduce((a,b)=>b&&b.checked&&!b.disabled?{isValid:!0,value:b.value}:a,be):be;function bg(a){let b=a.ref;return"file"===b.type?b.files:"radio"===b.type?bf(a.refs).value:"select-multiple"===b.type?[...b.selectedOptions].map(({value:a})=>a):"checkbox"===b.type?bc(a.refs).value:bd(aI(b.value)?a.ref.value:b.value,a)}var bh=a=>aI(a)?a:a instanceof RegExp?a.source:aE(a)?a.value instanceof RegExp?a.value.source:a.value:a,bi=a=>({isOnSubmit:!a||a===aQ,isOnBlur:"onBlur"===a,isOnChange:a===aP,isOnAll:"all"===a,isOnTouch:"onTouched"===a});let bj="AsyncFunction";var bk=a=>!!a&&!!a.validate&&!!(aM(a.validate)&&a.validate.constructor.name===bj||aE(a.validate)&&Object.values(a.validate).find(a=>a.constructor.name===bj)),bl=(a,b,c)=>!c&&(b.watchAll||b.watch.has(a)||[...b.watch].some(b=>a.startsWith(b)&&/^\.\w+/.test(a.slice(b.length))));let bm=(a,b,c,d)=>{for(let e of c||Object.keys(a)){let c=aL(a,e);if(c){let{_f:a,...f}=c;if(a){if(a.refs&&a.refs[0]&&b(a.refs[0],e)&&!d)return!0;else if(a.ref&&b(a.ref,a.name)&&!d)return!0;else if(bm(f,b))break}else if(aE(f)&&bm(f,b))break}}};function bn(a,b,c){let d=aL(a,c);if(d||/^\w*$/.test(c))return{error:d,name:c};let e=c.split(".");for(;e.length;){let d=e.join("."),f=aL(b,d),g=aL(a,d);if(f&&!Array.isArray(f)&&c!==d)break;if(g&&g.type)return{name:d,error:g};if(g&&g.root&&g.root.type)return{name:`${d}.root`,error:g.root};e.pop()}return{name:c}}var bo=(a,b,c)=>{let d=a2(aL(a,c));return aN(d,"root",b[c]),aN(a,c,d),a};function bp(a,b,c="validate"){if(aY(a)||Array.isArray(a)&&a.every(aY)||"boolean"==typeof a&&!a)return{type:c,message:aY(a)?a:"",ref:b}}var bq=a=>!aE(a)||a instanceof RegExp?{value:a,message:""}:a,br=async(a,b,c,d,e,f)=>{let{ref:g,refs:h,required:i,maxLength:j,minLength:k,min:l,max:m,pattern:n,validate:o,name:p,valueAsNumber:q,mount:r}=a._f,s=aL(c,p);if(!r||b.has(p))return{};let t=h?h[0]:g,u=a=>{e&&t.reportValidity&&(t.setCustomValidity("boolean"==typeof a?"":a||""),t.reportValidity())},v={},w="radio"===g.type,x="checkbox"===g.type,y=(q||"file"===g.type)&&aI(g.value)&&aI(s)||""===s||Array.isArray(s)&&!s.length,z=a1.bind(null,p,d,v),A=(a,b,c,d=aR,e=aS)=>{let f=a?b:c;v[p]={type:a?d:e,message:f,ref:g,...z(a?d:e,f)}};if(f?!Array.isArray(s)||!s.length:i&&(!(w||x)&&(y||aD(s))||"boolean"==typeof s&&!s||x&&!bc(h).isValid||w&&!bf(h).isValid)){let{value:a,message:b}=aY(i)?{value:!!i,message:i}:bq(i);if(a&&(v[p]={type:aU,message:b,ref:t,...z(aU,b)},!d))return u(b),v}if(!y&&(!aD(l)||!aD(m))){let a,b,c=bq(m),e=bq(l);if(aD(s)||isNaN(s)){let d=g.valueAsDate||new Date(s),f=a=>new Date(new Date().toDateString()+" "+a),h="time"==g.type,i="week"==g.type;aY(c.value)&&s&&(a=h?f(s)>f(c.value):i?s>c.value:d>new Date(c.value)),aY(e.value)&&s&&(b=h?f(s)<f(e.value):i?s<e.value:d<new Date(e.value))}else{let d=g.valueAsNumber||(s?+s:s);aD(c.value)||(a=d>c.value),aD(e.value)||(b=d<e.value)}if((a||b)&&(A(!!a,c.message,e.message,"max","min"),!d))return u(v[p].message),v}if((j||k)&&!y&&(aY(s)||f&&Array.isArray(s))){let a=bq(j),b=bq(k),c=!aD(a.value)&&s.length>+a.value,e=!aD(b.value)&&s.length<+b.value;if((c||e)&&(A(c,a.message,b.message),!d))return u(v[p].message),v}if(n&&!y&&aY(s)){let{value:a,message:b}=bq(n);if(a instanceof RegExp&&!s.match(a)&&(v[p]={type:aT,message:b,ref:g,...z(aT,b)},!d))return u(b),v}if(o){if(aM(o)){let a=bp(await o(s,c),t);if(a&&(v[p]={...a,...z("validate",a.message)},!d))return u(a.message),v}else if(aE(o)){let a={};for(let b in o){if(!a4(a)&&!d)break;let e=bp(await o[b](s,c),t,b);e&&(a={...e,...z(b,e.message)},u(e.message),d&&(v[p]=a))}if(!a4(a)&&(v[p]={ref:t,...a},!d))return v}}return u(!0),v};let bs={mode:aQ,reValidateMode:aP,shouldFocusError:!0};function bt(a={}){let b=n.default.useRef(void 0),c=n.default.useRef(void 0),[d,e]=n.default.useState({isDirty:!1,isValidating:!1,isLoading:aM(a.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:a.errors||{},disabled:a.disabled||!1,isReady:!1,defaultValues:aM(a.defaultValues)?void 0:a.defaultValues});if(!b.current)if(a.formControl)b.current={...a.formControl,formState:d},a.defaultValues&&!aM(a.defaultValues)&&a.formControl.reset(a.defaultValues,a.resetOptions);else{let{formControl:c,...e}=function(a={}){let b,c={...bs,...a},d={submitCount:0,isDirty:!1,isReady:!1,isLoading:aM(c.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:c.errors||{},disabled:c.disabled||!1},e={},f=(aE(c.defaultValues)||aE(c.values))&&aH(c.defaultValues||c.values)||{},g=c.shouldUnregister?{}:aH(f),h={action:!1,mount:!1,watch:!1,keepIsValid:!1},i={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},j=0,k={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},l={...k},m={...l},n={array:a3(),state:a3()},o="all"===c.criteriaMode,p=async a=>{if(!h.keepIsValid&&!c.disabled&&(l.isValid||m.isValid||a)){let a;c.resolver?(a=a4((await t()).errors),q()):a=await v(e,!0),a!==d.isValid&&n.state.next({isValid:a})}},q=(a,b)=>{!c.disabled&&(l.isValidating||l.validatingFields||m.isValidating||m.validatingFields)&&((a||Array.from(i.mount)).forEach(a=>{a&&(b?aN(d.validatingFields,a,b):a6(d.validatingFields,a))}),n.state.next({validatingFields:d.validatingFields,isValidating:!a4(d.validatingFields)}))},r=(a,b,c,d)=>{let i=aL(e,a);if(i){let e=aL(g,a,aI(c)?aL(f,a):c);aI(e)||d&&d.defaultChecked||b?aN(g,a,b?e:bg(i._f)):y(a,e),h.mount&&!h.action&&p()}},s=(a,b,e,g,h)=>{let i=!1,j=!1,k={name:a};if(!c.disabled){if(!e||g){(l.isDirty||m.isDirty)&&(j=d.isDirty,d.isDirty=k.isDirty=w(),i=j!==k.isDirty);let c=a_(aL(f,a),b);j=!!aL(d.dirtyFields,a),c?a6(d.dirtyFields,a):aN(d.dirtyFields,a,!0),k.dirtyFields=d.dirtyFields,i=i||(l.dirtyFields||m.dirtyFields)&&!c!==j}if(e){let b=aL(d.touchedFields,a);b||(aN(d.touchedFields,a,e),k.touchedFields=d.touchedFields,i=i||(l.touchedFields||m.touchedFields)&&b!==e)}i&&h&&n.state.next(k)}return i?k:{}},t=async a=>(q(a,!0),await c.resolver(g,c.context,((a,b,c,d)=>{let e={};for(let c of a){let a=aL(b,c);a&&aN(e,c,a._f)}return{criteriaMode:c,names:[...a],fields:e,shouldUseNativeValidation:d}})(a||i.mount,e,c.criteriaMode,c.shouldUseNativeValidation))),u=async a=>{let{errors:b}=await t(a);if(q(a),a)for(let c of a){let a=aL(b,c);a?aN(d.errors,c,a):a6(d.errors,c)}else d.errors=b;return b},v=async(b,e,f={valid:!0})=>{for(let h in b){let j=b[h];if(j){let{_f:b,...h}=j;if(b){let h=i.array.has(b.name),k=j._f&&bk(j._f);k&&l.validatingFields&&q([b.name],!0);let m=await br(j,i.disabled,g,o,c.shouldUseNativeValidation&&!e,h);if(k&&l.validatingFields&&q([b.name]),m[b.name]&&(f.valid=!1,e||a.shouldUseNativeValidation))break;e||(aL(m,b.name)?h?bo(d.errors,m,b.name):aN(d.errors,b.name,m[b.name]):a6(d.errors,b.name))}a4(h)||await v(h,e,f)}}return f.valid},w=(a,b)=>!c.disabled&&(a&&b&&aN(g,a,b),!a_(E(),f)),x=(a,b,c)=>aZ(a,i,{...h.mount?g:aI(b)?f:aY(a)?{[a]:b}:b},c,b),y=(a,b,c={})=>{let d=aL(e,a),f=b;if(d){let c=d._f;c&&(c.disabled||aN(g,a,bd(b,c)),c.ref,f=b,"select-multiple"===c.ref.type?[...c.ref.options].forEach(a=>a.selected=f.includes(a.value)):c.refs?"checkbox"===c.ref.type?c.refs.forEach(a=>{a.defaultChecked&&a.disabled||(Array.isArray(f)?a.checked=!!f.find(b=>b===a.value):a.checked=f===a.value||!!f)}):c.refs.forEach(a=>a.checked=a.value===f):"file"===c.ref.type?c.ref.value="":(c.ref.value=f,c.ref.type||n.state.next({name:a,values:aH(g)})))}(c.shouldDirty||c.shouldTouch)&&s(a,f,c.shouldTouch,c.shouldDirty,!0),c.shouldValidate&&D(a)},z=(a,b,c)=>{for(let d in b){if(!b.hasOwnProperty(d))return;let f=b[d],g=a+"."+d,h=aL(e,g);(i.array.has(a)||aE(f)||h&&!h._f)&&!aC(f)?z(g,f,c):y(g,f,c)}},A=(a,b,c={})=>{let j=aL(e,a),k=i.array.has(a),o=aH(b);aN(g,a,o),k?(n.array.next({name:a,values:aH(g)}),(l.isDirty||l.dirtyFields||m.isDirty||m.dirtyFields)&&c.shouldDirty&&n.state.next({name:a,dirtyFields:a9(f,g),isDirty:w(a,o)})):!j||j._f||aD(o)?y(a,o,c):z(a,o,c),bl(a,i)?n.state.next({...d,name:a,values:aH(g)}):n.state.next({name:h.mount?a:void 0,values:aH(g)})},B=async a=>{h.mount=!0;let f=a.target,k=f.name,r=!0,u=aL(e,k),w=a=>{r=Number.isNaN(a)||aC(a)&&isNaN(a.getTime())||a_(a,aL(g,k,a))},x=bi(c.mode),y=bi(c.reValidateMode);if(u){var z,A,B,C,E;let h,I,J,K=f.type?bg(u._f):aF(a),L=a.type===aO||"focusout"===a.type,M=!((J=u._f).mount&&(J.required||J.min||J.max||J.maxLength||J.minLength||J.pattern||J.validate))&&!c.resolver&&!aL(d.errors,k)&&!u._f.deps||(z=L,A=aL(d.touchedFields,k),B=d.isSubmitted,C=y,!(E=x).isOnAll&&(!B&&E.isOnTouch?!(A||z):(B?C.isOnBlur:E.isOnBlur)?!z:(B?!C.isOnChange:!E.isOnChange)||z)),N=bl(k,i,L);aN(g,k,K),L?f&&f.readOnly||(u._f.onBlur&&u._f.onBlur(a),b&&b(0)):u._f.onChange&&u._f.onChange(a);let O=s(k,K,L),P=!a4(O)||N;if(L||n.state.next({name:k,type:a.type,values:aH(g)}),M)return(l.isValid||m.isValid)&&("onBlur"===c.mode?L&&p():L||p()),P&&n.state.next({name:k,...N?{}:O});if(!L&&N&&n.state.next({...d}),c.resolver){let{errors:a}=await t([k]);if(q([k]),w(K),r){let b=bn(d.errors,e,k),c=bn(a,e,b.name||k);h=c.error,k=c.name,I=a4(a)}}else q([k],!0),h=(await br(u,i.disabled,g,o,c.shouldUseNativeValidation))[k],q([k]),w(K),r&&(h?I=!1:(l.isValid||m.isValid)&&(I=await v(e,!0)));if(r){u._f.deps&&(!Array.isArray(u._f.deps)||u._f.deps.length>0)&&D(u._f.deps);var F=k,G=I,H=h;let a=aL(d.errors,F),e=(l.isValid||m.isValid)&&"boolean"==typeof G&&d.isValid!==G;if(c.delayError&&H){let a;a=()=>{aN(d.errors,F,H),n.state.next({errors:d.errors})},(b=b=>{clearTimeout(j),j=setTimeout(a,b)})(c.delayError)}else clearTimeout(j),b=null,H?aN(d.errors,F,H):a6(d.errors,F);if((H?!a_(a,H):a)||!a4(O)||e){let a={...O,...e&&"boolean"==typeof G?{isValid:G}:{},errors:d.errors,name:F};d={...d,...a},n.state.next(a)}}}},C=(a,b)=>{if(aL(d.errors,b)&&a.focus)return a.focus(),1},D=async(a,b={})=>{let f,g,h=a2(a);if(c.resolver){let b=await u(aI(a)?a:h);f=a4(b),g=a?!h.some(a=>aL(b,a)):f}else a?((g=(await Promise.all(h.map(async a=>{let b=aL(e,a);return await v(b&&b._f?{[a]:b}:b)}))).every(Boolean))||d.isValid)&&p():g=f=await v(e);return n.state.next({...!aY(a)||(l.isValid||m.isValid)&&f!==d.isValid?{}:{name:a},...c.resolver||!a?{isValid:f}:{},errors:d.errors}),b.shouldFocus&&!g&&bm(e,C,a?h:i.mount),g},E=(a,b)=>{let c={...h.mount?g:f};return b&&(c=function a(b,c){let d={};for(let e in b)if(b.hasOwnProperty(e)){let f=b[e],g=c[e];if(f&&aE(f)&&g){let b=a(f,g);aE(b)&&(d[e]=b)}else b[e]&&(d[e]=g)}return d}(b.dirtyFields?d.dirtyFields:d.touchedFields,c)),aI(a)?c:aY(a)?aL(c,a):a.map(a=>aL(c,a))},F=(a,b)=>({invalid:!!aL((b||d).errors,a),isDirty:!!aL((b||d).dirtyFields,a),error:aL((b||d).errors,a),isValidating:!!aL(d.validatingFields,a),isTouched:!!aL((b||d).touchedFields,a)}),G=(a,b,c)=>{let f=(aL(e,a,{_f:{}})._f||{}).ref,{ref:g,message:h,type:i,...j}=aL(d.errors,a)||{};aN(d.errors,a,{...j,...b,ref:f}),n.state.next({name:a,errors:d.errors,isValid:!1}),c&&c.shouldFocus&&f&&f.focus&&f.focus()},H=a=>n.state.subscribe({next:b=>{let c,e,h;c=a.name,e=b.name,h=a.exact,(!c||!e||c===e||a2(c).some(a=>a&&(h?a===e:a.startsWith(e)||e.startsWith(a))))&&((a,b,c,d)=>{c(a);let{name:e,...f}=a;return a4(f)||Object.keys(f).length>=Object.keys(b).length||Object.keys(f).find(a=>b[a]===(!d||"all"))})(b,a.formState||l,P,a.reRenderRoot)&&a.callback({values:{...g},...d,...b,defaultValues:f})}}).unsubscribe,I=(a,b={})=>{for(let h of a?a2(a):i.mount)i.mount.delete(h),i.array.delete(h),b.keepValue||(a6(e,h),a6(g,h)),b.keepError||a6(d.errors,h),b.keepDirty||a6(d.dirtyFields,h),b.keepTouched||a6(d.touchedFields,h),b.keepIsValidating||a6(d.validatingFields,h),c.shouldUnregister||b.keepDefaultValue||a6(f,h);n.state.next({values:aH(g)}),n.state.next({...d,...!b.keepDirty?{}:{isDirty:w()}}),b.keepIsValid||p()},J=({disabled:a,name:b})=>{if("boolean"==typeof a&&h.mount||a||i.disabled.has(b)){let c=i.disabled.has(b);a?i.disabled.add(b):i.disabled.delete(b),!!a!==c&&h.mount&&!h.action&&p()}},K=(a,b={})=>{let d=aL(e,a),g="boolean"==typeof b.disabled||"boolean"==typeof c.disabled;return(aN(e,a,{...d||{},_f:{...d&&d._f?d._f:{ref:{name:a}},name:a,mount:!0,...b}}),i.mount.add(a),d)?J({disabled:"boolean"==typeof b.disabled?b.disabled:c.disabled,name:a}):r(a,!0,b.value),{...g?{disabled:b.disabled||c.disabled}:{},...c.progressive?{required:!!b.required,min:bh(b.min),max:bh(b.max),minLength:bh(b.minLength),maxLength:bh(b.maxLength),pattern:bh(b.pattern)}:{},name:a,onChange:B,onBlur:B,ref:g=>{if(g){let c;K(a,b),d=aL(e,a);let h=aI(g.value)&&g.querySelectorAll&&g.querySelectorAll("input,select,textarea")[0]||g,i="radio"===(c=h).type||"checkbox"===c.type,j=d._f.refs||[];(i?j.find(a=>a===h):h===d._f.ref)||(aN(e,a,{_f:{...d._f,...i?{refs:[...j.filter(a5),h,...Array.isArray(aL(f,a))?[{}]:[]],ref:{type:h.type,name:a}}:{ref:h}}}),r(a,!1,void 0,h))}else(d=aL(e,a,{}))._f&&(d._f.mount=!1),(c.shouldUnregister||b.shouldUnregister)&&!(aG(i.array,a)&&h.action)&&i.unMount.add(a)}}},L=()=>c.shouldFocusError&&bm(e,C,i.mount),M=(a,b)=>async f=>{let h;f&&(f.preventDefault&&f.preventDefault(),f.persist&&f.persist());let j=aH(g);if(n.state.next({isSubmitting:!0}),c.resolver){let{errors:a,values:b}=await t();q(),d.errors=a,j=aH(b)}else await v(e);if(i.disabled.size)for(let a of i.disabled)a6(j,a);if(a6(d.errors,"root"),a4(d.errors)){n.state.next({errors:{}});try{await a(j,f)}catch(a){h=a}}else b&&await b({...d.errors},f),L(),setTimeout(L);if(n.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:a4(d.errors)&&!h,submitCount:d.submitCount+1,errors:d.errors}),h)throw h},N=(a,b={})=>{let j=a?aH(a):f,k=aH(j),m=a4(a),o=m?f:k;if(b.keepDefaultValues||(f=j),!b.keepValues){if(b.keepDirtyValues)for(let a of Array.from(new Set([...i.mount,...Object.keys(a9(f,g))]))){let b=aL(d.dirtyFields,a),c=aL(g,a),e=aL(o,a);b&&!aI(c)?aN(o,a,c):b||aI(e)||A(a,e)}else if(b.keepFieldsRef)for(let a of i.mount)A(a,aL(o,a));else e={};g=c.shouldUnregister?b.keepDefaultValues?aH(f):{}:aH(o),n.array.next({values:{...o}}),n.state.next({values:{...o}})}i={mount:b.keepDirtyValues?i.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},h.mount=!l.isValid||!!b.keepIsValid||!!b.keepDirtyValues||!c.shouldUnregister&&!a4(o),h.watch=!!c.shouldUnregister,h.keepIsValid=!!b.keepIsValid,h.action=!1,b.keepErrors||(d.errors={}),n.state.next({submitCount:b.keepSubmitCount?d.submitCount:0,isDirty:!m&&(b.keepDirty?d.isDirty:!!(b.keepDefaultValues&&!a_(a,f))),isSubmitted:!!b.keepIsSubmitted&&d.isSubmitted,dirtyFields:m?{}:b.keepDirtyValues?b.keepDefaultValues&&g?a9(f,g):d.dirtyFields:b.keepDefaultValues&&a?a9(f,a):b.keepDirty?d.dirtyFields:{},touchedFields:b.keepTouched?d.touchedFields:{},errors:b.keepErrors?d.errors:{},isSubmitSuccessful:!!b.keepIsSubmitSuccessful&&d.isSubmitSuccessful,isSubmitting:!1,defaultValues:f})},O=(a,b)=>N(aM(a)?a(g):a,{...c.resetOptions,...b}),P=a=>{d={...d,...a}},Q={control:{register:K,unregister:I,getFieldState:F,handleSubmit:M,setError:G,_subscribe:H,_runSchema:t,_updateIsValidating:q,_focusError:L,_getWatch:x,_getDirty:w,_setValid:p,_setFieldArray:(a,b=[],i,j,k=!0,o=!0)=>{if(j&&i&&!c.disabled){if(h.action=!0,o&&Array.isArray(aL(e,a))){let b=i(aL(e,a),j.argA,j.argB);k&&aN(e,a,b)}if(o&&Array.isArray(aL(d.errors,a))){let b,c=i(aL(d.errors,a),j.argA,j.argB);k&&aN(d.errors,a,c),aJ(aL(b=d.errors,a)).length||a6(b,a)}if((l.touchedFields||m.touchedFields)&&o&&Array.isArray(aL(d.touchedFields,a))){let b=i(aL(d.touchedFields,a),j.argA,j.argB);k&&aN(d.touchedFields,a,b)}(l.dirtyFields||m.dirtyFields)&&(d.dirtyFields=a9(f,g)),n.state.next({name:a,isDirty:w(a,b),dirtyFields:d.dirtyFields,errors:d.errors,isValid:d.isValid})}else aN(g,a,b)},_setDisabledField:J,_setErrors:a=>{d.errors=a,n.state.next({errors:d.errors,isValid:!1})},_getFieldArray:a=>aJ(aL(h.mount?g:f,a,c.shouldUnregister?aL(f,a,[]):[])),_reset:N,_resetDefaultValues:()=>aM(c.defaultValues)&&c.defaultValues().then(a=>{O(a,c.resetOptions),n.state.next({isLoading:!1})}),_removeUnmounted:()=>{for(let a of i.unMount){let b=aL(e,a);b&&(b._f.refs?b._f.refs.every(a=>!a5(a)):!a5(b._f.ref))&&I(a)}i.unMount=new Set},_disableForm:a=>{"boolean"==typeof a&&(n.state.next({disabled:a}),bm(e,(b,c)=>{let d=aL(e,c);d&&(b.disabled=d._f.disabled||a,Array.isArray(d._f.refs)&&d._f.refs.forEach(b=>{b.disabled=d._f.disabled||a}))},0,!1))},_subjects:n,_proxyFormState:l,get _fields(){return e},get _formValues(){return g},get _state(){return h},set _state(value){h=value},get _defaultValues(){return f},get _names(){return i},set _names(value){i=value},get _formState(){return d},get _options(){return c},set _options(value){c={...c,...value}}},subscribe:a=>(h.mount=!0,m={...m,...a.formState},H({...a,formState:{...k,...a.formState}})),trigger:D,register:K,handleSubmit:M,watch:(a,b)=>aM(a)?n.state.subscribe({next:c=>"values"in c&&a(x(void 0,b),c)}):x(a,b,!0),setValue:A,getValues:E,reset:O,resetField:(a,b={})=>{aL(e,a)&&(aI(b.defaultValue)?A(a,aH(aL(f,a))):(A(a,b.defaultValue),aN(f,a,aH(b.defaultValue))),b.keepTouched||a6(d.touchedFields,a),b.keepDirty||(a6(d.dirtyFields,a),d.isDirty=b.defaultValue?w(a,aH(aL(f,a))):w()),!b.keepError&&(a6(d.errors,a),l.isValid&&p()),n.state.next({...d}))},clearErrors:a=>{let b=a?a2(a):void 0;null==b||b.forEach(a=>a6(d.errors,a)),b?b.forEach(a=>{n.state.next({name:a,errors:d.errors})}):n.state.next({errors:{}})},unregister:I,setError:G,setFocus:(a,b={})=>{let c=aL(e,a),d=c&&c._f;if(d){let a=d.refs?d.refs[0]:d.ref;a.focus&&setTimeout(()=>{a.focus(),b.shouldSelect&&aM(a.select)&&a.select()})}},getFieldState:F};return{...Q,formControl:Q}}(a);b.current={...e,formState:d}}let f=b.current.control;return f._options=a,aX(()=>{let a=f._subscribe({formState:f._proxyFormState,callback:()=>e({...f._formState}),reRenderRoot:!0});return e(a=>({...a,isReady:!0})),f._formState.isReady=!0,a},[f]),n.default.useEffect(()=>f._disableForm(a.disabled),[f,a.disabled]),n.default.useEffect(()=>{a.mode&&(f._options.mode=a.mode),a.reValidateMode&&(f._options.reValidateMode=a.reValidateMode)},[f,a.mode,a.reValidateMode]),n.default.useEffect(()=>{a.errors&&(f._setErrors(a.errors),f._focusError())},[f,a.errors]),n.default.useEffect(()=>{a.shouldUnregister&&f._subjects.state.next({values:f._getWatch()})},[f,a.shouldUnregister]),n.default.useEffect(()=>{if(f._proxyFormState.isDirty){let a=f._getDirty();a!==d.isDirty&&f._subjects.state.next({isDirty:a})}},[f,d.isDirty]),n.default.useEffect(()=>{var b;a.values&&!a_(a.values,c.current)?(f._reset(a.values,{keepFieldsRef:!0,...f._options.resetOptions}),(null==(b=f._options.resetOptions)?void 0:b.keepIsValid)||f._setValid(),c.current=a.values,e(a=>({...a}))):f._resetDefaultValues()},[f,a.values]),n.default.useEffect(()=>{f._state.mount||(f._setValid(),f._state.mount=!0),f._state.watch&&(f._state.watch=!1,f._subjects.state.next({...f._formState})),f._removeUnmounted()}),b.current.formState=n.default.useMemo(()=>aW(d,f),[f,d]),b.current}var bu=a.i(35112);function bv(a,[b,c]){return Math.min(c,Math.max(b,a))}function bw(a,b,{checkForDefaultPrevented:c=!0}={}){return function(d){if(a?.(d),!1===c||!d.defaultPrevented)return b?.(d)}}function bx(a,b=[]){let c=[],d=()=>{let b=c.map(a=>n.createContext(a));return function(c){let d=c?.[a]||b;return n.useMemo(()=>({[`__scope${a}`]:{...c,[a]:d}}),[c,d])}};return d.scopeName=a,[function(b,d){let e=n.createContext(d),f=c.length;c=[...c,d];let g=b=>{let{scope:c,children:d,...g}=b,h=c?.[a]?.[f]||e,i=n.useMemo(()=>g,Object.values(g));return(0,m.jsx)(h.Provider,{value:i,children:d})};return g.displayName=b+"Provider",[g,function(c,g){let h=g?.[a]?.[f]||e,i=n.useContext(h);if(i)return i;if(void 0!==d)return d;throw Error(`\`${c}\` must be used within \`${b}\``)}]},function(...a){let b=a[0];if(1===a.length)return b;let c=()=>{let c=a.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){let d=c.reduce((b,{useScope:c,scopeName:d})=>{let e=c(a)[`__scope${d}`];return{...b,...e}},{});return n.useMemo(()=>({[`__scope${b.scopeName}`]:d}),[d])}};return c.scopeName=b.scopeName,c}(d,...b)]}function by(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function bz(...a){return b=>{let c=!1,d=a.map(a=>{let d=by(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():by(a[b],null)}}}}function bA(...a){return n.useCallback(bz(...a),a)}function bB(a){var b;let c,d=(b=a,(c=n.forwardRef((a,b)=>{let{children:c,...d}=a;if(n.isValidElement(c)){var e;let a,f,g=(e=c,(f=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(f=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),h=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==n.Fragment&&(h.ref=b?bz(b,g):g),n.cloneElement(c,h)}return n.Children.count(c)>1?n.Children.only(null):null})).displayName=`${b}.SlotClone`,c),e=n.forwardRef((a,b)=>{let{children:c,...e}=a,f=n.Children.toArray(c),g=f.find(bD);if(g){let a=g.props.children,c=f.map(b=>b!==g?b:n.Children.count(a)>1?n.Children.only(null):n.isValidElement(a)?a.props.children:null);return(0,m.jsx)(d,{...e,ref:b,children:n.isValidElement(a)?n.cloneElement(a,void 0,c):null})}return(0,m.jsx)(d,{...e,ref:b,children:c})});return e.displayName=`${a}.Slot`,e}var bC=Symbol("radix.slottable");function bD(a){return n.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===bC}var bE=new WeakMap;function bF(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=bG(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function bG(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#B;constructor(a){super(a),this.#B=[...super.keys()],bE.set(this,!0)}set(a,b){return bE.get(this)&&(this.has(a)?this.#B[this.#B.indexOf(a)]=a:this.#B.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#B.length,g=bG(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let j=this.size+ +!e;g<0&&h++;let k=[...this.#B],l=!1;for(let a=h;a<j;a++)if(h===a){let f=k[a];k[a]===b&&(f=k[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{l||k[a-1]!==b||(l=!0);let c=k[l?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#B.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#B.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#B.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#B.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#B=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#B.splice(this.#B.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=bF(this.#B,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=bF(this.#B,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#B.indexOf(a)}keyAt(a){return bF(this.#B,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}});var bH=n.createContext(void 0),bI=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,b)=>{let c=bB(`Primitive.${b}`),d=n.forwardRef((a,d)=>{let{asChild:e,...f}=a;return(0,m.jsx)(e?c:b,{...f,ref:d})});return d.displayName=`Primitive.${b}`,{...a,[b]:d}},{});function bJ(a){let b=n.useRef(a);return n.useEffect(()=>{b.current=a}),n.useMemo(()=>(...a)=>b.current?.(...a),[])}var bK="dismissableLayer.update",bL=n.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),bM=n.forwardRef((a,b)=>{let{disableOutsidePointerEvents:c=!1,onEscapeKeyDown:d,onPointerDownOutside:e,onFocusOutside:f,onInteractOutside:g,onDismiss:h,...i}=a,j=n.useContext(bL),[l,o]=n.useState(null),p=l?.ownerDocument??globalThis?.document,[,q]=n.useState({}),r=bA(b,a=>o(a)),s=Array.from(j.layers),[t]=[...j.layersWithOutsidePointerEventsDisabled].slice(-1),u=s.indexOf(t),v=l?s.indexOf(l):-1,w=j.layersWithOutsidePointerEventsDisabled.size>0,x=v>=u,y=function(a,b=globalThis?.document){let c=bJ(a),d=n.useRef(!1),e=n.useRef(()=>{});return n.useEffect(()=>{let a=a=>{if(a.target&&!d.current){let d=function(){bO("dismissableLayer.pointerDownOutside",c,f,{discrete:!0})},f={originalEvent:a};"touch"===a.pointerType?(b.removeEventListener("click",e.current),e.current=d,b.addEventListener("click",e.current,{once:!0})):d()}else b.removeEventListener("click",e.current);d.current=!1},f=window.setTimeout(()=>{b.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(f),b.removeEventListener("pointerdown",a),b.removeEventListener("click",e.current)}},[b,c]),{onPointerDownCapture:()=>d.current=!0}}(a=>{let b=a.target,c=[...j.branches].some(a=>a.contains(b));x&&!c&&(e?.(a),g?.(a),a.defaultPrevented||h?.())},p),z=function(a,b=globalThis?.document){let c=bJ(a),d=n.useRef(!1);return n.useEffect(()=>{let a=a=>{a.target&&!d.current&&bO("dismissableLayer.focusOutside",c,{originalEvent:a},{discrete:!1})};return b.addEventListener("focusin",a),()=>b.removeEventListener("focusin",a)},[b,c]),{onFocusCapture:()=>d.current=!0,onBlurCapture:()=>d.current=!1}}(a=>{let b=a.target;![...j.branches].some(a=>a.contains(b))&&(f?.(a),g?.(a),a.defaultPrevented||h?.())},p);return!function(a,b=globalThis?.document){let c=bJ(a);n.useEffect(()=>{let a=a=>{"Escape"===a.key&&c(a)};return b.addEventListener("keydown",a,{capture:!0}),()=>b.removeEventListener("keydown",a,{capture:!0})},[c,b])}(a=>{v===j.layers.size-1&&(d?.(a),!a.defaultPrevented&&h&&(a.preventDefault(),h()))},p),n.useEffect(()=>{if(l)return c&&(0===j.layersWithOutsidePointerEventsDisabled.size&&(k=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),j.layersWithOutsidePointerEventsDisabled.add(l)),j.layers.add(l),bN(),()=>{c&&1===j.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=k)}},[l,p,c,j]),n.useEffect(()=>()=>{l&&(j.layers.delete(l),j.layersWithOutsidePointerEventsDisabled.delete(l),bN())},[l,j]),n.useEffect(()=>{let a=()=>q({});return document.addEventListener(bK,a),()=>document.removeEventListener(bK,a)},[]),(0,m.jsx)(bI.div,{...i,ref:r,style:{pointerEvents:w?x?"auto":"none":void 0,...a.style},onFocusCapture:bw(a.onFocusCapture,z.onFocusCapture),onBlurCapture:bw(a.onBlurCapture,z.onBlurCapture),onPointerDownCapture:bw(a.onPointerDownCapture,y.onPointerDownCapture)})});function bN(){let a=new CustomEvent(bK);document.dispatchEvent(a)}function bO(a,b,c,{discrete:d}){let e=c.originalEvent.target,f=new CustomEvent(a,{bubbles:!1,cancelable:!0,detail:c});if(b&&e.addEventListener(a,b,{once:!0}),d)e&&bu.flushSync(()=>e.dispatchEvent(f));else e.dispatchEvent(f)}bM.displayName="DismissableLayer",n.forwardRef((a,b)=>{let c=n.useContext(bL),d=n.useRef(null),e=bA(b,d);return n.useEffect(()=>{let a=d.current;if(a)return c.branches.add(a),()=>{c.branches.delete(a)}},[c.branches]),(0,m.jsx)(bI.div,{...a,ref:e})}).displayName="DismissableLayerBranch";var bP=0;function bQ(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}var bR="focusScope.autoFocusOnMount",bS="focusScope.autoFocusOnUnmount",bT={bubbles:!1,cancelable:!0},bU=n.forwardRef((a,b)=>{let{loop:c=!1,trapped:d=!1,onMountAutoFocus:e,onUnmountAutoFocus:f,...g}=a,[h,i]=n.useState(null),j=bJ(e),k=bJ(f),l=n.useRef(null),o=bA(b,a=>i(a)),p=n.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;n.useEffect(()=>{if(d){let a=function(a){if(p.paused||!h)return;let b=a.target;h.contains(b)?l.current=b:bX(l.current,{select:!0})},b=function(a){if(p.paused||!h)return;let b=a.relatedTarget;null!==b&&(h.contains(b)||bX(l.current,{select:!0}))};document.addEventListener("focusin",a),document.addEventListener("focusout",b);let c=new MutationObserver(function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&bX(h)});return h&&c.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[d,h,p.paused]),n.useEffect(()=>{if(h){bY.add(p);let a=document.activeElement;if(!h.contains(a)){let b=new CustomEvent(bR,bT);h.addEventListener(bR,j),h.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(bX(d,{select:b}),document.activeElement!==c)return}(bV(h).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&bX(h))}return()=>{h.removeEventListener(bR,j),setTimeout(()=>{let b=new CustomEvent(bS,bT);h.addEventListener(bS,k),h.dispatchEvent(b),b.defaultPrevented||bX(a??document.body,{select:!0}),h.removeEventListener(bS,k),bY.remove(p)},0)}}},[h,j,k,p]);let q=n.useCallback(a=>{if(!c&&!d||p.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,e=document.activeElement;if(b&&e){var f;let b,d=a.currentTarget,[g,h]=[bW(b=bV(f=d),f),bW(b.reverse(),f)];g&&h?a.shiftKey||e!==h?a.shiftKey&&e===g&&(a.preventDefault(),c&&bX(h,{select:!0})):(a.preventDefault(),c&&bX(g,{select:!0})):e===d&&a.preventDefault()}},[c,d,p.paused]);return(0,m.jsx)(bI.div,{tabIndex:-1,...g,ref:o,onKeyDown:q})});function bV(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}function bW(a,b){for(let c of a)if(!function(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}(c,{upTo:b}))return c}function bX(a,{select:b=!1}={}){if(a&&a.focus){var c;let d=document.activeElement;a.focus({preventScroll:!0}),a!==d&&(c=a)instanceof HTMLInputElement&&"select"in c&&b&&a.select()}}bU.displayName="FocusScope";var bY=(d=[],{add(a){let b=d[0];a!==b&&b?.pause(),(d=bZ(d,a)).unshift(a)},remove(a){d=bZ(d,a),d[0]?.resume()}});function bZ(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}var b$=globalThis?.document?n.useLayoutEffect:()=>{},b_=n[" useId ".trim().toString()]||(()=>void 0),b0=0;function b1(a){let[b,c]=n.useState(b_());return b$(()=>{a||c(a=>a??String(b0++))},[a]),a||(b?`radix-${b}`:"")}let b2=["top","right","bottom","left"],b3=Math.min,b4=Math.max,b5=Math.round,b6=Math.floor,b7=a=>({x:a,y:a}),b8={left:"right",right:"left",bottom:"top",top:"bottom"};function b9(a,b){return"function"==typeof a?a(b):a}function ca(a){return a.split("-")[0]}function cb(a){return a.split("-")[1]}function cc(a){return"x"===a?"y":"x"}function cd(a){return"y"===a?"height":"width"}function ce(a){let b=a[0];return"t"===b||"b"===b?"y":"x"}function cf(a){return a.includes("start")?a.replace("start","end"):a.replace("end","start")}let cg=["left","right"],ch=["right","left"],ci=["top","bottom"],cj=["bottom","top"];function ck(a){let b=ca(a);return b8[b]+a.slice(b.length)}function cl(a){return"number"!=typeof a?{top:0,right:0,bottom:0,left:0,...a}:{top:a,right:a,bottom:a,left:a}}function cm(a){let{x:b,y:c,width:d,height:e}=a;return{width:d,height:e,top:c,left:b,right:b+d,bottom:c+e,x:b,y:c}}function cn(a,b,c){let d,{reference:e,floating:f}=a,g=ce(b),h=cc(ce(b)),i=cd(h),j=ca(b),k="y"===g,l=e.x+e.width/2-f.width/2,m=e.y+e.height/2-f.height/2,n=e[i]/2-f[i]/2;switch(j){case"top":d={x:l,y:e.y-f.height};break;case"bottom":d={x:l,y:e.y+e.height};break;case"right":d={x:e.x+e.width,y:m};break;case"left":d={x:e.x-f.width,y:m};break;default:d={x:e.x,y:e.y}}switch(cb(b)){case"start":d[h]-=n*(c&&k?-1:1);break;case"end":d[h]+=n*(c&&k?-1:1)}return d}async function co(a,b){var c;void 0===b&&(b={});let{x:d,y:e,platform:f,rects:g,elements:h,strategy:i}=a,{boundary:j="clippingAncestors",rootBoundary:k="viewport",elementContext:l="floating",altBoundary:m=!1,padding:n=0}=b9(b,a),o=cl(n),p=h[m?"floating"===l?"reference":"floating":l],q=cm(await f.getClippingRect({element:null==(c=await (null==f.isElement?void 0:f.isElement(p)))||c?p:p.contextElement||await (null==f.getDocumentElement?void 0:f.getDocumentElement(h.floating)),boundary:j,rootBoundary:k,strategy:i})),r="floating"===l?{x:d,y:e,width:g.floating.width,height:g.floating.height}:g.reference,s=await (null==f.getOffsetParent?void 0:f.getOffsetParent(h.floating)),t=await (null==f.isElement?void 0:f.isElement(s))&&await (null==f.getScale?void 0:f.getScale(s))||{x:1,y:1},u=cm(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:r,offsetParent:s,strategy:i}):r);return{top:(q.top-u.top+o.top)/t.y,bottom:(u.bottom-q.bottom+o.bottom)/t.y,left:(q.left-u.left+o.left)/t.x,right:(u.right-q.right+o.right)/t.x}}let cp=async(a,b,c)=>{let{placement:d="bottom",strategy:e="absolute",middleware:f=[],platform:g}=c,h=g.detectOverflow?g:{...g,detectOverflow:co},i=await (null==g.isRTL?void 0:g.isRTL(b)),j=await g.getElementRects({reference:a,floating:b,strategy:e}),{x:k,y:l}=cn(j,d,i),m=d,n=0,o={};for(let c=0;c<f.length;c++){let p=f[c];if(!p)continue;let{name:q,fn:r}=p,{x:s,y:t,data:u,reset:v}=await r({x:k,y:l,initialPlacement:d,placement:m,strategy:e,middlewareData:o,rects:j,platform:h,elements:{reference:a,floating:b}});k=null!=s?s:k,l=null!=t?t:l,o[q]={...o[q],...u},v&&n<50&&(n++,"object"==typeof v&&(v.placement&&(m=v.placement),v.rects&&(j=!0===v.rects?await g.getElementRects({reference:a,floating:b,strategy:e}):v.rects),{x:k,y:l}=cn(j,m,i)),c=-1)}return{x:k,y:l,placement:m,strategy:e,middlewareData:o}};function cq(a,b){return{top:a.top-b.height,right:a.right-b.width,bottom:a.bottom-b.height,left:a.left-b.width}}function cr(a){return b2.some(b=>a[b]>=0)}let cs=new Set(["left","top"]);async function ct(a,b){let{placement:c,platform:d,elements:e}=a,f=await (null==d.isRTL?void 0:d.isRTL(e.floating)),g=ca(c),h=cb(c),i="y"===ce(c),j=cs.has(g)?-1:1,k=f&&i?-1:1,l=b9(b,a),{mainAxis:m,crossAxis:n,alignmentAxis:o}="number"==typeof l?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:l.mainAxis||0,crossAxis:l.crossAxis||0,alignmentAxis:l.alignmentAxis};return h&&"number"==typeof o&&(n="end"===h?-1*o:o),i?{x:n*k,y:m*j}:{x:m*j,y:n*k}}function cu(a){return function(a){return!1}(a)?(a.nodeName||"").toLowerCase():"#document"}function cv(a){var b;return(null==a||null==(b=a.ownerDocument)?void 0:b.defaultView)||window}function cw(a){var b;return null==(b=(function(a){return!1}(a)?a.ownerDocument:a.document)||window.document)?void 0:b.documentElement}function cx(a){return!1}function cy(a){let{overflow:b,overflowX:c,overflowY:d,display:e}=cG(a);return/auto|scroll|overlay|hidden|clip/.test(b+d+c)&&"inline"!==e&&"contents"!==e}function cz(a){try{if(a.matches(":popover-open"))return!0}catch(a){}try{return a.matches(":modal")}catch(a){return!1}}let cA=/transform|translate|scale|rotate|perspective|filter/,cB=/paint|layout|strict|content/,cC=a=>!!a&&"none"!==a;function cD(a){let b=a;return cC(b.transform)||cC(b.translate)||cC(b.scale)||cC(b.rotate)||cC(b.perspective)||!cE()&&(cC(b.backdropFilter)||cC(b.filter))||cA.test(b.willChange||"")||cB.test(b.contain||"")}function cE(){return null==b&&(b="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),b}function cF(a){return/^(html|body|#document)$/.test(cu(a))}function cG(a){return cv(a).getComputedStyle(a)}function cH(a){return{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function cI(a){if("html"===cu(a))return a;let b=a.assignedSlot||a.parentNode||!1||cw(a);return b}function cJ(a,b,c){var d;void 0===b&&(b=[]),void 0===c&&(c=!0);let e=function a(b){let c=cI(b);return cF(c)?b.ownerDocument?b.ownerDocument.body:b.body:a(c)}(a),f=e===(null==(d=a.ownerDocument)?void 0:d.body),g=cv(e);if(!f)return b.concat(e,cJ(e,[],c));{let a=cK(g);return b.concat(g,g.visualViewport||[],cy(e)?e:[],a&&c?cJ(a):[])}}function cK(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function cL(a){let b=cG(a),c=parseFloat(b.width)||0,d=parseFloat(b.height)||0,e=!1,f=e?a.offsetWidth:c,g=e?a.offsetHeight:d,h=b5(c)!==f||b5(d)!==g;return h&&(c=f,d=g),{width:c,height:d,$:h}}function cM(a){return 0,a.contextElement}function cN(a){let b=cM(a);1;return b7(1)}let cO=b7(0);function cP(a){let b=cv(a);return cE()&&b.visualViewport?{x:b.visualViewport.offsetLeft,y:b.visualViewport.offsetTop}:cO}function cQ(a,b,c,d){var e;void 0===b&&(b=!1),void 0===c&&(c=!1);let f=a.getBoundingClientRect(),g=cM(a),h=b7(1);b&&(d||(h=cN(a)));let i=(void 0===(e=c)&&(e=!1),d&&(!e||d===cv(g))&&e)?cP(g):b7(0),j=(f.left+i.x)/h.x,k=(f.top+i.y)/h.y,l=f.width/h.x,m=f.height/h.y;if(g){let a=cv(g),b=d,c=a,e=cK(c);for(;e&&d&&b!==c;){let a=cN(e),b=e.getBoundingClientRect(),d=cG(e),f=b.left+(e.clientLeft+parseFloat(d.paddingLeft))*a.x,g=b.top+(e.clientTop+parseFloat(d.paddingTop))*a.y;j*=a.x,k*=a.y,l*=a.x,m*=a.y,j+=f,k+=g,e=cK(c=cv(e))}}return cm({width:l,height:m,x:j,y:k})}function cR(a,b){let c=cH(a).scrollLeft;return b?b.left+c:cQ(cw(a)).left+c}function cS(a,b){let c=a.getBoundingClientRect();return{x:c.left+b.scrollLeft-cR(a,c),y:c.top+b.scrollTop}}function cT(a,b,c){var d;let e;if("viewport"===b)e=function(a,b){let c=cv(a),d=cw(a),e=c.visualViewport,f=d.clientWidth,g=d.clientHeight,h=0,i=0;if(e){f=e.width,g=e.height;let a=cE();(!a||a&&"fixed"===b)&&(h=e.offsetLeft,i=e.offsetTop)}let j=cR(d);if(j<=0){let a=d.ownerDocument,b=a.body,c=getComputedStyle(b),e="CSS1Compat"===a.compatMode&&parseFloat(c.marginLeft)+parseFloat(c.marginRight)||0,g=Math.abs(d.clientWidth-b.clientWidth-e);g<=25&&(f-=g)}else j<=25&&(f+=j);return{width:f,height:g,x:h,y:i}}(a,c);else if("document"===b){let b,c,f,g,h,i,j;d=cw(a),b=cw(d),c=cH(d),f=d.ownerDocument.body,g=b4(b.scrollWidth,b.clientWidth,f.scrollWidth,f.clientWidth),h=b4(b.scrollHeight,b.clientHeight,f.scrollHeight,f.clientHeight),i=-c.scrollLeft+cR(d),j=-c.scrollTop,"rtl"===cG(f).direction&&(i+=b4(b.clientWidth,f.clientWidth)-g),e={width:g,height:h,x:i,y:j}}else{1;{let c=cP(a);e={x:b.x-c.x,y:b.y-c.y,width:b.width,height:b.height}}}return cm(e)}function cU(a){return"static"===cG(a).position}function cV(a,b){1;return null}function cW(a,b){var c;let d=cv(a);if(cz(a))return d;1;{let b=cI(a);for(;b&&!cF(b);){0;b=cI(b)}return d}}let cX=async function(a){let b=this.getOffsetParent||cW,c=this.getDimensions,d=await c(a.floating);return{reference:function(a,b,c){var d;let e=(d=0,!1),f=cw(b),g="fixed"===c,h=cQ(a,!0,g,b),i={scrollLeft:0,scrollTop:0},j=b7(0);if(e||!e&&!g)if(("body"!==cu(b)||cy(f))&&(i=cH(b)),e){let a=cQ(b,!0,g,b);j.x=a.x+b.clientLeft,j.y=a.y+b.clientTop}else f&&(j.x=cR(f));g&&!e&&f&&(j.x=cR(f));let k=!f||e||g?b7(0):cS(f,i);return{x:h.left+i.scrollLeft-j.x-k.x,y:h.top+i.scrollTop-j.y-k.y,width:h.width,height:h.height}}(a.reference,await b(a.floating),a.strategy),floating:{x:0,y:0,width:d.width,height:d.height}}},cY={convertOffsetParentRelativeRectToViewportRelativeRect:function(a){var b;let{elements:c,rect:d,offsetParent:e,strategy:f}=a,g="fixed"===f,h=cw(e),i=!!c&&cz(c.floating);if(e===h||i&&g)return d;let j={scrollLeft:0,scrollTop:0},k=b7(1),l=b7(0),m=(b=0,!1);if((m||!m&&!g)&&(("body"!==cu(e)||cy(h))&&(j=cH(e)),m)){let a=cQ(e);k=cN(e),l.x=a.x+e.clientLeft,l.y=a.y+e.clientTop}let n=!h||m||g?b7(0):cS(h,j);return{width:d.width*k.x,height:d.height*k.y,x:d.x*k.x-j.scrollLeft*k.x+l.x+n.x,y:d.y*k.y-j.scrollTop*k.y+l.y+n.y}},getDocumentElement:cw,getClippingRect:function(a){let{element:b,boundary:c,rootBoundary:d,strategy:e}=a,f=[..."clippingAncestors"===c?cz(b)?[]:function(a,b){var c;let d=b.get(a);if(d)return d;let e=cJ(a,[],!1).filter(a=>{var b;return b=0,!1}),f="fixed"===cG(a).position,g=f?cI(a):a;return c=0,b.set(a,e),e}(b,this._c):[].concat(c),d],g=cT(b,f[0],e),h=g.top,i=g.right,j=g.bottom,k=g.left;for(let a=1;a<f.length;a++){let c=cT(b,f[a],e);h=b4(c.top,h),i=b3(c.right,i),j=b3(c.bottom,j),k=b4(c.left,k)}return{width:i-k,height:j-h,x:k,y:h}},getOffsetParent:cW,getElementRects:cX,getClientRects:function(a){return Array.from(a.getClientRects())},getDimensions:function(a){let{width:b,height:c}=cL(a);return{width:b,height:c}},getScale:cN,isElement:cx,isRTL:function(a){return"rtl"===cG(a).direction}};function cZ(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}let c$=a=>({name:"arrow",options:a,async fn(b){let{x:c,y:d,placement:e,rects:f,platform:g,elements:h,middlewareData:i}=b,{element:j,padding:k=0}=b9(a,b)||{};if(null==j)return{};let l=cl(k),m={x:c,y:d},n=cc(ce(e)),o=cd(n),p=await g.getDimensions(j),q="y"===n,r=q?"clientHeight":"clientWidth",s=f.reference[o]+f.reference[n]-m[n]-f.floating[o],t=m[n]-f.reference[n],u=await (null==g.getOffsetParent?void 0:g.getOffsetParent(j)),v=u?u[r]:0;v&&await (null==g.isElement?void 0:g.isElement(u))||(v=h.floating[r]||f.floating[o]);let w=v/2-p[o]/2-1,x=b3(l[q?"top":"left"],w),y=b3(l[q?"bottom":"right"],w),z=v-p[o]-y,A=v/2-p[o]/2+(s/2-t/2),B=b4(x,b3(A,z)),C=!i.arrow&&null!=cb(e)&&A!==B&&f.reference[o]/2-(A<x?x:y)-p[o]/2<0,D=C?A<x?A-x:A-z:0;return{[n]:m[n]+D,data:{[n]:B,centerOffset:A-B-D,...C&&{alignmentOffset:D}},reset:C}}});var c_="u">typeof document?n.useLayoutEffect:function(){};function c0(a,b){let c,d,e;if(a===b)return!0;if(typeof a!=typeof b)return!1;if("function"==typeof a&&a.toString()===b.toString())return!0;if(a&&b&&"object"==typeof a){if(Array.isArray(a)){if((c=a.length)!==b.length)return!1;for(d=c;0!=d--;)if(!c0(a[d],b[d]))return!1;return!0}if((c=(e=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(d=c;0!=d--;)if(!({}).hasOwnProperty.call(b,e[d]))return!1;for(d=c;0!=d--;){let c=e[d];if(("_owner"!==c||!a.$$typeof)&&!c0(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function c1(a,b){let c=1;return Math.round(b*c)/c}function c2(a){let b=n.useRef(a);return c_(()=>{b.current=a}),b}var c3=n.forwardRef((a,b)=>{let{children:c,width:d=10,height:e=5,...f}=a;return(0,m.jsx)(bI.svg,{...f,ref:b,width:d,height:e,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:(0,m.jsx)("polygon",{points:"0,0 30,0 15,10"})})});c3.displayName="Arrow";var c4="Popper",[c5,c6]=bx(c4),[c7,c8]=c5(c4),c9=a=>{let{__scopePopper:b,children:c}=a,[d,e]=n.useState(null);return(0,m.jsx)(c7,{scope:b,anchor:d,onAnchorChange:e,children:c})};c9.displayName=c4;var da="PopperAnchor",db=n.forwardRef((a,b)=>{let{__scopePopper:c,virtualRef:d,...e}=a,f=c8(da,c),g=n.useRef(null),h=bA(b,g),i=n.useRef(null);return n.useEffect(()=>{let a=i.current;i.current=d?.current||g.current,a!==i.current&&f.onAnchorChange(i.current)}),d?null:(0,m.jsx)(bI.div,{...e,ref:h})});db.displayName=da;var dc="PopperContent",[dd,de]=c5(dc),df=n.forwardRef((a,b)=>{var c,d,e,f,g,h,i,j,k,l,o,p,q,r,s,t,u,v,w,x,y;let z,A,B,C,D,E,{__scopePopper:F,side:G="bottom",sideOffset:H=0,align:I="center",alignOffset:J=0,arrowPadding:K=0,avoidCollisions:L=!0,collisionBoundary:M=[],collisionPadding:N=0,sticky:O="partial",hideWhenDetached:P=!1,updatePositionStrategy:Q="optimized",onPlaced:R,...S}=a,T=c8(dc,F),[U,V]=n.useState(null),W=bA(b,a=>V(a)),[X,Y]=n.useState(null),Z=function(a){let[b,c]=n.useState(void 0);return b$(()=>{if(a){c({width:a.offsetWidth,height:a.offsetHeight});let b=new ResizeObserver(b=>{let d,e;if(!Array.isArray(b)||!b.length)return;let f=b[0];if("borderBoxSize"in f){let a=f.borderBoxSize,b=Array.isArray(a)?a[0]:a;d=b.inlineSize,e=b.blockSize}else d=a.offsetWidth,e=a.offsetHeight;c({width:d,height:e})});return b.observe(a,{box:"border-box"}),()=>b.unobserve(a)}c(void 0)},[a]),b}(X),$=Z?.width??0,_=Z?.height??0,aa="number"==typeof N?N:{top:0,right:0,bottom:0,left:0,...N},ab=Array.isArray(M)?M:[M],ac=ab.length>0,ad={padding:aa,boundary:ab.filter(dj),altBoundary:ac},{refs:ae,floatingStyles:af,placement:ag,isPositioned:ah,middlewareData:ai}=function(a){void 0===a&&(a={});let{placement:b="bottom",strategy:c="absolute",middleware:d=[],platform:e,elements:{reference:f,floating:g}={},transform:h=!0,whileElementsMounted:i,open:j}=a,[k,l]=n.useState({x:0,y:0,strategy:c,placement:b,middlewareData:{},isPositioned:!1}),[m,o]=n.useState(d);c0(m,d)||o(d);let[p,q]=n.useState(null),[r,s]=n.useState(null),t=n.useCallback(a=>{a!==x.current&&(x.current=a,q(a))},[]),u=n.useCallback(a=>{a!==y.current&&(y.current=a,s(a))},[]),v=f||p,w=g||r,x=n.useRef(null),y=n.useRef(null),z=n.useRef(k),A=null!=i,B=c2(i),C=c2(e),D=c2(j),E=n.useCallback(()=>{var a,d;let e,f,g;if(!x.current||!y.current)return;let h={placement:b,strategy:c,middleware:m};C.current&&(h.platform=C.current),(a=x.current,d=y.current,e=new Map,g={...(f={platform:cY,...h}).platform,_c:e},cp(a,d,{...f,platform:g})).then(a=>{let b={...a,isPositioned:!1!==D.current};F.current&&!c0(z.current,b)&&(z.current=b,bu.flushSync(()=>{l(b)}))})},[m,b,c,C,D]);c_(()=>{!1===j&&z.current.isPositioned&&(z.current.isPositioned=!1,l(a=>({...a,isPositioned:!1})))},[j]);let F=n.useRef(!1);c_(()=>(F.current=!0,()=>{F.current=!1}),[]),c_(()=>{if(v&&(x.current=v),w&&(y.current=w),v&&w){if(B.current)return B.current(v,w,E);E()}},[v,w,E,B,A]);let G=n.useMemo(()=>({reference:x,floating:y,setReference:t,setFloating:u}),[t,u]),H=n.useMemo(()=>({reference:v,floating:w}),[v,w]),I=n.useMemo(()=>{let a={position:c,left:0,top:0};if(!H.floating)return a;let b=c1(H.floating,k.x),d=c1(H.floating,k.y);if(h)return{...a,transform:"translate("+b+"px, "+d+"px)",...(H.floating,false)};return{position:c,left:b,top:d}},[c,h,H.floating,k.x,k.y]);return n.useMemo(()=>({...k,update:E,refs:G,elements:H,floatingStyles:I}),[k,E,G,H,I])}({strategy:"fixed",placement:G+("center"!==I?"-"+I:""),whileElementsMounted:(...a)=>(function(a,b,c,d){let e;void 0===d&&(d={});let{ancestorScroll:f=!0,ancestorResize:g=!0,elementResize:h="function"==typeof ResizeObserver,layoutShift:i="function"==typeof IntersectionObserver,animationFrame:j=!1}=d,k=cM(a),l=f||g?[...k?cJ(k):[],...b?cJ(b):[]]:[];l.forEach(a=>{f&&a.addEventListener("scroll",c,{passive:!0}),g&&a.addEventListener("resize",c)});let m=k&&i?function(a,b){let c,d=null,e=cw(a);function f(){var a;clearTimeout(c),null==(a=d)||a.disconnect(),d=null}return!function g(h,i){void 0===h&&(h=!1),void 0===i&&(i=1),f();let j=a.getBoundingClientRect(),{left:k,top:l,width:m,height:n}=j;if(h||b(),!m||!n)return;let o={rootMargin:-b6(l)+"px "+-b6(e.clientWidth-(k+m))+"px "+-b6(e.clientHeight-(l+n))+"px "+-b6(k)+"px",threshold:b4(0,b3(1,i))||1},p=!0;function q(b){let d=b[0].intersectionRatio;if(d!==i){if(!p)return g();d?g(!1,d):c=setTimeout(()=>{g(!1,1e-7)},1e3)}1!==d||cZ(j,a.getBoundingClientRect())||g(),p=!1}try{d=new IntersectionObserver(q,{...o,root:e.ownerDocument})}catch(a){d=new IntersectionObserver(q,o)}d.observe(a)}(!0),f}(k,c):null,n=-1,o=null;h&&(o=new ResizeObserver(a=>{let[d]=a;d&&d.target===k&&o&&b&&(o.unobserve(b),cancelAnimationFrame(n),n=requestAnimationFrame(()=>{var a;null==(a=o)||a.observe(b)})),c()}),k&&!j&&o.observe(k),b&&o.observe(b));let p=j?cQ(a):null;return j&&function b(){let d=cQ(a);p&&!cZ(p,d)&&c(),p=d,e=requestAnimationFrame(b)}(),c(),()=>{var a;l.forEach(a=>{f&&a.removeEventListener("scroll",c),g&&a.removeEventListener("resize",c)}),null==m||m(),null==(a=o)||a.disconnect(),o=null,j&&cancelAnimationFrame(e)}})(...a,{animationFrame:"always"===Q}),elements:{reference:T.anchor},middleware:[{name:(z={name:"offset",options:e=c={mainAxis:H+_,alignmentAxis:J},async fn(a){var b,c;let{x:d,y:f,placement:g,middlewareData:h}=a,i=await ct(a,e);return g===(null==(b=h.offset)?void 0:b.placement)&&null!=(c=h.arrow)&&c.alignmentOffset?{}:{x:d+i.x,y:f+i.y,data:{...i,placement:g}}}}).name,fn:z.fn,options:[c,d]},L&&{name:(A={name:"shift",options:k=i={mainAxis:!0,crossAxis:!1,limiter:"partial"===O?{fn:(void 0===(h=f)&&(h={}),{options:h,fn(a){let{x:b,y:c,placement:d,rects:e,middlewareData:f}=a,{offset:g=0,mainAxis:i=!0,crossAxis:j=!0}=b9(h,a),k={x:b,y:c},l=ce(d),m=cc(l),n=k[m],o=k[l],p=b9(g,a),q="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(i){let a="y"===m?"height":"width",b=e.reference[m]-e.floating[a]+q.mainAxis,c=e.reference[m]+e.reference[a]-q.mainAxis;n<b?n=b:n>c&&(n=c)}if(j){var r,s;let a="y"===m?"width":"height",b=cs.has(ca(d)),c=e.reference[l]-e.floating[a]+(b&&(null==(r=f.offset)?void 0:r[l])||0)+(b?0:q.crossAxis),g=e.reference[l]+e.reference[a]+(b?0:(null==(s=f.offset)?void 0:s[l])||0)-(b?q.crossAxis:0);o<c?o=c:o>g&&(o=g)}return{[m]:n,[l]:o}}}).fn,options:[f,g]}:void 0,...ad},async fn(a){let{x:b,y:c,placement:d,platform:e}=a,{mainAxis:f=!0,crossAxis:g=!1,limiter:h={fn:a=>{let{x:b,y:c}=a;return{x:b,y:c}}},...i}=b9(k,a),j={x:b,y:c},l=await e.detectOverflow(a,i),m=ce(ca(d)),n=cc(m),o=j[n],p=j[m];if(f){let a="y"===n?"top":"left",b="y"===n?"bottom":"right",c=o+l[a],d=o-l[b];o=b4(c,b3(o,d))}if(g){let a="y"===m?"top":"left",b="y"===m?"bottom":"right",c=p+l[a],d=p-l[b];p=b4(c,b3(p,d))}let q=h.fn({...a,[n]:o,[m]:p});return{...q,data:{x:q.x-b,y:q.y-c,enabled:{[n]:f,[m]:g}}}}}).name,fn:A.fn,options:[i,j]},L&&{name:(B={name:"flip",options:p=l={...ad},async fn(a){var b,c,d,e,f,g,h,i;let j,k,l,{placement:m,middlewareData:n,rects:o,initialPlacement:q,platform:r,elements:s}=a,{mainAxis:t=!0,crossAxis:u=!0,fallbackPlacements:v,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:y=!0,...z}=b9(p,a);if(null!=(b=n.arrow)&&b.alignmentOffset)return{};let A=ca(m),B=ce(q),C=ca(q)===q,D=await (null==r.isRTL?void 0:r.isRTL(s.floating)),E=v||(C||!y?[ck(q)]:(j=ck(q),[cf(q),j,cf(j)])),F="none"!==x;!v&&F&&E.push(...(k=cb(q),l=function(a,b,c){switch(a){case"top":case"bottom":if(c)return b?ch:cg;return b?cg:ch;case"left":case"right":return b?ci:cj;default:return[]}}(ca(q),"start"===x,D),k&&(l=l.map(a=>a+"-"+k),y&&(l=l.concat(l.map(cf)))),l));let G=[q,...E],H=await r.detectOverflow(a,z),I=[],J=(null==(c=n.flip)?void 0:c.overflows)||[];if(t&&I.push(H[A]),u){let a,b,c,d,e=(g=m,h=o,void 0===(i=D)&&(i=!1),a=cb(g),c=cd(b=cc(ce(g))),d="x"===b?a===(i?"end":"start")?"right":"left":"start"===a?"bottom":"top",h.reference[c]>h.floating[c]&&(d=ck(d)),[d,ck(d)]);I.push(H[e[0]],H[e[1]])}if(J=[...J,{placement:m,overflows:I}],!I.every(a=>a<=0)){let a=((null==(d=n.flip)?void 0:d.index)||0)+1,b=G[a];if(b&&("alignment"!==u||B===ce(b)||J.every(a=>ce(a.placement)!==B||a.overflows[0]>0)))return{data:{index:a,overflows:J},reset:{placement:b}};let c=null==(e=J.filter(a=>a.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0])?void 0:e.placement;if(!c)switch(w){case"bestFit":{let a=null==(f=J.filter(a=>{if(F){let b=ce(a.placement);return b===B||"y"===b}return!0}).map(a=>[a.placement,a.overflows.filter(a=>a>0).reduce((a,b)=>a+b,0)]).sort((a,b)=>a[1]-b[1])[0])?void 0:f[0];a&&(c=a);break}case"initialPlacement":c=q}if(m!==c)return{reset:{placement:c}}}return{}}}).name,fn:B.fn,options:[l,o]},{name:(C={name:"size",options:s=q={...ad,apply:({elements:a,rects:b,availableWidth:c,availableHeight:d})=>{let{width:e,height:f}=b.reference,g=a.floating.style;g.setProperty("--radix-popper-available-width",`${c}px`),g.setProperty("--radix-popper-available-height",`${d}px`),g.setProperty("--radix-popper-anchor-width",`${e}px`),g.setProperty("--radix-popper-anchor-height",`${f}px`)}},async fn(a){var b,c;let d,e,{placement:f,rects:g,platform:h,elements:i}=a,{apply:j=()=>{},...k}=b9(s,a),l=await h.detectOverflow(a,k),m=ca(f),n=cb(f),o="y"===ce(f),{width:p,height:q}=g.floating;"top"===m||"bottom"===m?(d=m,e=n===(await (null==h.isRTL?void 0:h.isRTL(i.floating))?"start":"end")?"left":"right"):(e=m,d="end"===n?"top":"bottom");let r=q-l.top-l.bottom,t=p-l.left-l.right,u=b3(q-l[d],r),v=b3(p-l[e],t),w=!a.middlewareData.shift,x=u,y=v;if(null!=(b=a.middlewareData.shift)&&b.enabled.x&&(y=t),null!=(c=a.middlewareData.shift)&&c.enabled.y&&(x=r),w&&!n){let a=b4(l.left,0),b=b4(l.right,0),c=b4(l.top,0),d=b4(l.bottom,0);o?y=p-2*(0!==a||0!==b?a+b:b4(l.left,l.right)):x=q-2*(0!==c||0!==d?c+d:b4(l.top,l.bottom))}await j({...a,availableWidth:y,availableHeight:x});let z=await h.getDimensions(i.floating);return p!==z.width||q!==z.height?{reset:{rects:!0}}:{}}}).name,fn:C.fn,options:[q,r]},X&&{name:(D={name:"arrow",options:v=t={element:X,padding:K},fn(a){let{element:b,padding:c}="function"==typeof v?v(a):v;return b&&({}).hasOwnProperty.call(b,"current")?null!=b.current?c$({element:b.current,padding:c}).fn(a):{}:b?c$({element:b,padding:c}).fn(a):{}}}).name,fn:D.fn,options:[t,u]},dk({arrowWidth:$,arrowHeight:_}),P&&{name:(E={name:"hide",options:y=w={strategy:"referenceHidden",...ad},async fn(a){let{rects:b,platform:c}=a,{strategy:d="referenceHidden",...e}=b9(y,a);switch(d){case"referenceHidden":{let d=cq(await c.detectOverflow(a,{...e,elementContext:"reference"}),b.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:cr(d)}}}case"escaped":{let d=cq(await c.detectOverflow(a,{...e,altBoundary:!0}),b.floating);return{data:{escapedOffsets:d,escaped:cr(d)}}}default:return{}}}}).name,fn:E.fn,options:[w,x]}]}),[aj,ak]=dl(ag),al=bJ(R);b$(()=>{ah&&al?.()},[ah,al]);let am=ai.arrow?.x,an=ai.arrow?.y,ao=ai.arrow?.centerOffset!==0,[ap,aq]=n.useState();return b$(()=>{U&&aq(window.getComputedStyle(U).zIndex)},[U]),(0,m.jsx)("div",{ref:ae.setFloating,"data-radix-popper-content-wrapper":"",style:{...af,transform:ah?af.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ap,"--radix-popper-transform-origin":[ai.transformOrigin?.x,ai.transformOrigin?.y].join(" "),...ai.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,m.jsx)(dd,{scope:F,placedSide:aj,onArrowChange:Y,arrowX:am,arrowY:an,shouldHideArrow:ao,children:(0,m.jsx)(bI.div,{"data-side":aj,"data-align":ak,...S,ref:W,style:{...S.style,animation:ah?void 0:"none"}})})})});df.displayName=dc;var dg="PopperArrow",dh={top:"bottom",right:"left",bottom:"top",left:"right"},di=n.forwardRef(function(a,b){let{__scopePopper:c,...d}=a,e=de(dg,c),f=dh[e.placedSide];return(0,m.jsx)("span",{ref:e.onArrowChange,style:{position:"absolute",left:e.arrowX,top:e.arrowY,[f]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[e.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[e.placedSide],visibility:e.shouldHideArrow?"hidden":void 0},children:(0,m.jsx)(c3,{...d,ref:b,style:{...d.style,display:"block"}})})});function dj(a){return null!==a}di.displayName=dg;var dk=a=>({name:"transformOrigin",options:a,fn(b){let{placement:c,rects:d,middlewareData:e}=b,f=e.arrow?.centerOffset!==0,g=f?0:a.arrowWidth,h=f?0:a.arrowHeight,[i,j]=dl(c),k={start:"0%",center:"50%",end:"100%"}[j],l=(e.arrow?.x??0)+g/2,m=(e.arrow?.y??0)+h/2,n="",o="";return"bottom"===i?(n=f?k:`${l}px`,o=`${-h}px`):"top"===i?(n=f?k:`${l}px`,o=`${d.floating.height+h}px`):"right"===i?(n=`${-h}px`,o=f?k:`${m}px`):"left"===i&&(n=`${d.floating.width+h}px`,o=f?k:`${m}px`),{data:{x:n,y:o}}}});function dl(a){let[b,c="center"]=a.split("-");return[b,c]}var dm=n.forwardRef((a,b)=>{let{container:c,...d}=a,[e,f]=n.useState(!1);b$(()=>f(!0),[]);let g=c||e&&globalThis?.document?.body;return g?bu.default.createPortal((0,m.jsx)(bI.div,{...d,ref:b}),g):null});dm.displayName="Portal",n[" useEffectEvent ".trim().toString()],n[" useInsertionEffect ".trim().toString()];var dn=n[" useInsertionEffect ".trim().toString()]||b$;function dp({prop:a,defaultProp:b,onChange:c=()=>{},caller:d}){let[e,f,g]=function({defaultProp:a,onChange:b}){let[c,d]=n.useState(a),e=n.useRef(c),f=n.useRef(b);return dn(()=>{f.current=b},[b]),n.useEffect(()=>{e.current!==c&&(f.current?.(c),e.current=c)},[c,e]),[c,d,f]}({defaultProp:b,onChange:c}),h=void 0!==a,i=h?a:e;{let b=n.useRef(void 0!==a);n.useEffect(()=>{let a=b.current;if(a!==h){let b=h?"controlled":"uncontrolled";console.warn(`${d} is changing from ${a?"controlled":"uncontrolled"} to ${b}. 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.`)}b.current=h},[h,d])}return[i,n.useCallback(b=>{if(h){let c="function"==typeof b?b(a):b;c!==a&&g.current?.(c)}else f(b)},[h,a,f,g])]}Symbol("RADIX:SYNC_STATE");var dq=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"});n.forwardRef((a,b)=>(0,m.jsx)(bI.span,{...a,ref:b,style:{...dq,...a.style}})).displayName="VisuallyHidden";var dr=new WeakMap,ds=new WeakMap,dt={},du=0,dv=function(a){return a&&(a.host||dv(a.parentNode))},dw=function(a,b,c,d){var e=(Array.isArray(a)?a:[a]).map(function(a){if(b.contains(a))return a;var c=dv(a);return c&&b.contains(c)?c:(console.error("aria-hidden",a,"in not contained inside",b,". Doing nothing"),null)}).filter(function(a){return!!a});dt[c]||(dt[c]=new WeakMap);var f=dt[c],g=[],h=new Set,i=new Set(e),j=function(a){!a||h.has(a)||(h.add(a),j(a.parentNode))};e.forEach(j);var k=function(a){!a||i.has(a)||Array.prototype.forEach.call(a.children,function(a){if(h.has(a))k(a);else try{var b=a.getAttribute(d),e=null!==b&&"false"!==b,i=(dr.get(a)||0)+1,j=(f.get(a)||0)+1;dr.set(a,i),f.set(a,j),g.push(a),1===i&&e&&ds.set(a,!0),1===j&&a.setAttribute(c,"true"),e||a.setAttribute(d,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return k(b),h.clear(),du++,function(){g.forEach(function(a){var b=dr.get(a)-1,e=f.get(a)-1;dr.set(a,b),f.set(a,e),b||(ds.has(a)||a.removeAttribute(d),ds.delete(a)),e||a.removeAttribute(c)}),--du||(dr=new WeakMap,dr=new WeakMap,ds=new WeakMap,dt={})}},dx=function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("u"<typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live], script"))),dw(d,e,c,"aria-hidden")):function(){return null}},dy=function(){return(dy=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function dz(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}var dA=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),dB="width-before-scroll-bar";function dC(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var dD=n.useEffect,dE=new WeakMap,dF=(void 0===e&&(e={}),(void 0===f&&(f=function(a){return a}),g=[],h=!1,i={read:function(){if(h)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return g.length?g[g.length-1]:null},useMedium:function(a){var b=f(a,h);return g.push(b),function(){g=g.filter(function(a){return a!==b})}},assignSyncMedium:function(a){for(h=!0;g.length;){var b=g;g=[],b.forEach(a)}g={push:function(b){return a(b)},filter:function(){return g}}},assignMedium:function(a){h=!0;var b=[];if(g.length){var c=g;g=[],c.forEach(a),b=g}var d=function(){var c=b;b=[],c.forEach(a)},e=function(){return Promise.resolve().then(d)};e(),g={push:function(a){b.push(a),e()},filter:function(a){return b=b.filter(a),g}}}}).options=dy({async:!0,ssr:!1},e),i),dG=function(){},dH=n.forwardRef(function(a,b){var c,d,e,f,g=n.useRef(null),h=n.useState({onScrollCapture:dG,onWheelCapture:dG,onTouchMoveCapture:dG}),i=h[0],j=h[1],k=a.forwardProps,l=a.children,m=a.className,o=a.removeScrollBar,p=a.enabled,q=a.shards,r=a.sideCar,s=a.noRelative,t=a.noIsolation,u=a.inert,v=a.allowPinchZoom,w=a.as,x=a.gapMode,y=dz(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),z=(c=[g,b],d=function(a){return c.forEach(function(b){return dC(b,a)})},(e=(0,n.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,dD(function(){var a=dE.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||dC(a,null)}),d.forEach(function(a){b.has(a)||dC(a,e)})}dE.set(f,c)},[c]),f),A=dy(dy({},y),i);return n.createElement(n.Fragment,null,p&&n.createElement(r,{sideCar:dF,removeScrollBar:o,shards:q,noRelative:s,noIsolation:t,inert:u,setCallbacks:j,allowPinchZoom:!!v,lockRef:g,gapMode:x}),k?n.cloneElement(n.Children.only(l),dy(dy({},A),{ref:z})):n.createElement(void 0===w?"div":w,dy({},A,{className:m,ref:z}),l))});dH.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},dH.classNames={fullWidth:dB,zeroRight:dA};var dI=function(a){var b=a.sideCar,c=dz(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return n.createElement(d,dy({},c))};dI.isSideCarExport=!0;var dJ=function(){var a=0,b=null;return{add:function(c){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=l||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return b&&a.setAttribute("nonce",b),a}())){var d,e;(d=b).styleSheet?d.styleSheet.cssText=c:d.appendChild(document.createTextNode(c)),e=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},dK=function(){var a=dJ();return function(b,c){n.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},dL=function(){var a=dK();return function(b){return a(b.styles,b.dynamic),null}},dM={left:0,top:0,right:0,gap:0},dN=dL(),dO="data-scroll-locked",dP=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(dO,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat(dA," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(dB," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(dA," .").concat(dA," {\n right: 0 ").concat(d,";\n }\n \n .").concat(dB," .").concat(dB," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(dO,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},dQ=function(){var a=parseInt(document.body.getAttribute(dO)||"0",10);return isFinite(a)?a:0},dR=function(){n.useEffect(function(){return document.body.setAttribute(dO,(dQ()+1).toString()),function(){var a=dQ()-1;a<=0?document.body.removeAttribute(dO):document.body.setAttribute(dO,a.toString())}},[])},dS=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;dR();var f=n.useMemo(function(){return void 0===e,dM},[e]);return n.createElement(dN,{styles:dP(f,!b,e,c?"":"!important")})},dT=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},dU=function(a,b){var c=b.ownerDocument,d=b;do{if("u">typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),dV(a,d)){var e=dW(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body)return!1},dV=function(a,b){return"v"===a?dT(b,"overflowY"):dT(b,"overflowX")},dW=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},dX=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{if(!i)break;var o=dW(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&dV(a,i)&&(m+=q,n+=p);var r=i.parentNode;i=r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE?r.host:r}while(!j&&i!==document.body||j&&(b.contains(i)||b===i))return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},dY=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},dZ=function(a){return[a.deltaX,a.deltaY]},d$=function(a){return a&&"current"in a?a.current:a},d_=0,d0=[];let d1=(j=function(a){var b=n.useRef([]),c=n.useRef([0,0]),d=n.useRef(),e=n.useState(d_++)[0],f=n.useState(dL)[0],g=n.useRef(a);n.useEffect(function(){g.current=a},[a]),n.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(d$),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var h=n.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!g.current.allowPinchZoom;var e,f=dY(a),h=c.current,i="deltaX"in a?a.deltaX:h[0]-f[0],j="deltaY"in a?a.deltaY:h[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=window.getSelection(),n=m&&m.anchorNode;if(n&&(n===k||n.contains(k)))return!1;var o=dU(l,k);if(!o)return!0;if(o?e=l:(e="v"===l?"h":"v",o=dU(l,k)),!o)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var p=d.current||e;return dX(p,b,a,"h"===p?i:j,!0)},[]),i=n.useCallback(function(a){if(d0.length&&d0[d0.length-1]===f){var c="deltaY"in a?dZ(a):dY(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(g.current.shards||[]).map(d$).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?h(a,e[0]):!g.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),j=n.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),k=n.useCallback(function(a){c.current=dY(a),d.current=void 0},[]),l=n.useCallback(function(b){j(b.type,dZ(b),b.target,h(b,a.lockRef.current))},[]),m=n.useCallback(function(b){j(b.type,dY(b),b.target,h(b,a.lockRef.current))},[]);n.useEffect(function(){return d0.push(f),a.setCallbacks({onScrollCapture:l,onWheelCapture:l,onTouchMoveCapture:m}),document.addEventListener("wheel",i,!1),document.addEventListener("touchmove",i,!1),document.addEventListener("touchstart",k,!1),function(){d0=d0.filter(function(a){return a!==f}),document.removeEventListener("wheel",i,!1),document.removeEventListener("touchmove",i,!1),document.removeEventListener("touchstart",k,!1)}},[]);var o=a.removeScrollBar,p=a.inert;return n.createElement(n.Fragment,null,p?n.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,o?n.createElement(dS,{noRelative:a.noRelative,gapMode:a.gapMode}):null)},dF.useMedium(j),dI);var d2=n.forwardRef(function(a,b){return n.createElement(dH,dy({},a,{ref:b,sideCar:d1}))});d2.classNames=dH.classNames;var d3=[" ","Enter","ArrowUp","ArrowDown"],d4=[" ","Enter"],d5="Select",[d6,d7,d8]=function(a){let b=a+"CollectionProvider",[c,d]=bx(b),[e,f]=c(b,{collectionRef:{current:null},itemMap:new Map}),g=a=>{let{scope:b,children:c}=a,d=n.default.useRef(null),f=n.default.useRef(new Map).current;return(0,m.jsx)(e,{scope:b,itemMap:f,collectionRef:d,children:c})};g.displayName=b;let h=a+"CollectionSlot",i=bB(h),j=n.default.forwardRef((a,b)=>{let{scope:c,children:d}=a,e=bA(b,f(h,c).collectionRef);return(0,m.jsx)(i,{ref:e,children:d})});j.displayName=h;let k=a+"CollectionItemSlot",l="data-radix-collection-item",o=bB(k),p=n.default.forwardRef((a,b)=>{let{scope:c,children:d,...e}=a,g=n.default.useRef(null),h=bA(b,g),i=f(k,c);return n.default.useEffect(()=>(i.itemMap.set(g,{ref:g,...e}),()=>void i.itemMap.delete(g))),(0,m.jsx)(o,{...{[l]:""},ref:h,children:d})});return p.displayName=k,[{Provider:g,Slot:j,ItemSlot:p},function(b){let c=f(a+"CollectionConsumer",b);return n.default.useCallback(()=>{let a=c.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${l}]`));return Array.from(c.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[c.collectionRef,c.itemMap])},d]}(d5),[d9,ea]=bx(d5,[d8,c6]),eb=c6(),[ec,ed]=d9(d5),[ee,ef]=d9(d5),eg=a=>{let b,{__scopeSelect:c,children:d,open:e,defaultOpen:f,onOpenChange:g,value:h,defaultValue:i,onValueChange:j,dir:k,name:l,autoComplete:o,disabled:p,required:q,form:r}=a,s=eb(c),[t,u]=n.useState(null),[v,w]=n.useState(null),[x,y]=n.useState(!1),z=(b=n.useContext(bH),k||b||"ltr"),[A,B]=dp({prop:e,defaultProp:f??!1,onChange:g,caller:d5}),[C,D]=dp({prop:h,defaultProp:i,onChange:j,caller:d5}),E=n.useRef(null),F=!t||r||!!t.closest("form"),[G,H]=n.useState(new Set),I=Array.from(G).map(a=>a.props.value).join(";");return(0,m.jsx)(c9,{...s,children:(0,m.jsxs)(ec,{required:q,scope:c,trigger:t,onTriggerChange:u,valueNode:v,onValueNodeChange:w,valueNodeHasChildren:x,onValueNodeHasChildrenChange:y,contentId:b1(),value:C,onValueChange:D,open:A,onOpenChange:B,dir:z,triggerPointerDownPosRef:E,disabled:p,children:[(0,m.jsx)(d6.Provider,{scope:c,children:(0,m.jsx)(ee,{scope:a.__scopeSelect,onNativeOptionAdd:n.useCallback(a=>{H(b=>new Set(b).add(a))},[]),onNativeOptionRemove:n.useCallback(a=>{H(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:d})}),F?(0,m.jsxs)(eP,{"aria-hidden":!0,required:q,tabIndex:-1,name:l,autoComplete:o,value:C,onChange:a=>D(a.target.value),disabled:p,form:r,children:[void 0===C?(0,m.jsx)("option",{value:""}):null,Array.from(G)]},I):null]})})};eg.displayName=d5;var eh="SelectTrigger",ei=n.forwardRef((a,b)=>{let{__scopeSelect:c,disabled:d=!1,...e}=a,f=eb(c),g=ed(eh,c),h=g.disabled||d,i=bA(b,g.onTriggerChange),j=d7(c),k=n.useRef("touch"),[l,o,p]=eR(a=>{let b=j().filter(a=>!a.disabled),c=b.find(a=>a.value===g.value),d=eS(b,a,c);void 0!==d&&g.onValueChange(d.value)}),q=a=>{h||(g.onOpenChange(!0),p()),a&&(g.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,m.jsx)(db,{asChild:!0,...f,children:(0,m.jsx)(bI.button,{type:"button",role:"combobox","aria-controls":g.contentId,"aria-expanded":g.open,"aria-required":g.required,"aria-autocomplete":"none",dir:g.dir,"data-state":g.open?"open":"closed",disabled:h,"data-disabled":h?"":void 0,"data-placeholder":eQ(g.value)?"":void 0,...e,ref:i,onClick:bw(e.onClick,a=>{a.currentTarget.focus(),"mouse"!==k.current&&q(a)}),onPointerDown:bw(e.onPointerDown,a=>{k.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(q(a),a.preventDefault())}),onKeyDown:bw(e.onKeyDown,a=>{let b=""!==l.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||o(a.key),(!b||" "!==a.key)&&d3.includes(a.key)&&(q(),a.preventDefault())})})})});ei.displayName=eh;var ej="SelectValue",ek=n.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,children:f,placeholder:g="",...h}=a,i=ed(ej,c),{onValueNodeHasChildrenChange:j}=i,k=void 0!==f,l=bA(b,i.onValueNodeChange);return b$(()=>{j(k)},[j,k]),(0,m.jsx)(bI.span,{...h,ref:l,style:{pointerEvents:"none"},children:eQ(i.value)?(0,m.jsx)(m.Fragment,{children:g}):f})});ek.displayName=ej;var el=n.forwardRef((a,b)=>{let{__scopeSelect:c,children:d,...e}=a;return(0,m.jsx)(bI.span,{"aria-hidden":!0,...e,ref:b,children:d||"▼"})});el.displayName="SelectIcon";var em=a=>(0,m.jsx)(dm,{asChild:!0,...a});em.displayName="SelectPortal";var en="SelectContent",eo=n.forwardRef((a,b)=>{let c=ed(en,a.__scopeSelect),[d,e]=n.useState();return(b$(()=>{e(new DocumentFragment)},[]),c.open)?(0,m.jsx)(es,{...a,ref:b}):d?bu.createPortal((0,m.jsx)(ep,{scope:a.__scopeSelect,children:(0,m.jsx)(d6.Slot,{scope:a.__scopeSelect,children:(0,m.jsx)("div",{children:a.children})})}),d):null});eo.displayName=en;var[ep,eq]=d9(en),er=bB("SelectContent.RemoveScroll"),es=n.forwardRef((a,b)=>{let{__scopeSelect:c,position:d="item-aligned",onCloseAutoFocus:e,onEscapeKeyDown:f,onPointerDownOutside:g,side:h,sideOffset:i,align:j,alignOffset:k,arrowPadding:l,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s,...t}=a,u=ed(en,c),[v,w]=n.useState(null),[x,y]=n.useState(null),z=bA(b,a=>w(a)),[A,B]=n.useState(null),[C,D]=n.useState(null),E=d7(c),[F,G]=n.useState(!1),H=n.useRef(!1);n.useEffect(()=>{if(v)return dx(v)},[v]),n.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??bQ()),document.body.insertAdjacentElement("beforeend",a[1]??bQ()),bP++,()=>{1===bP&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),bP--}},[]);let I=n.useCallback(a=>{let[b,...c]=E().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&x&&(x.scrollTop=0),c===d&&x&&(x.scrollTop=x.scrollHeight),c?.focus(),document.activeElement!==e))return},[E,x]),J=n.useCallback(()=>I([A,v]),[I,A,v]);n.useEffect(()=>{F&&J()},[F,J]);let{onOpenChange:K,triggerPointerDownPosRef:L}=u;n.useEffect(()=>{if(v){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(L.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(L.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():v.contains(c.target)||K(!1),document.removeEventListener("pointermove",b),L.current=null};return null!==L.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[v,K,L]),n.useEffect(()=>{let a=()=>K(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[K]);let[M,N]=eR(a=>{let b=E().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=eS(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),O=n.useCallback((a,b,c)=>{let d=!H.current&&!c;(void 0!==u.value&&u.value===b||d)&&(B(a),d&&(H.current=!0))},[u.value]),P=n.useCallback(()=>v?.focus(),[v]),Q=n.useCallback((a,b,c)=>{let d=!H.current&&!c;(void 0!==u.value&&u.value===b||d)&&D(a)},[u.value]),R="popper"===d?eu:et,S=R===eu?{side:h,sideOffset:i,align:j,alignOffset:k,arrowPadding:l,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s}:{};return(0,m.jsx)(ep,{scope:c,content:v,viewport:x,onViewportChange:y,itemRefCallback:O,selectedItem:A,onItemLeave:P,itemTextRefCallback:Q,focusSelectedItem:J,selectedItemText:C,position:d,isPositioned:F,searchRef:M,children:(0,m.jsx)(d2,{as:er,allowPinchZoom:!0,children:(0,m.jsx)(bU,{asChild:!0,trapped:u.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:bw(e,a=>{u.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,m.jsx)(bM,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:f,onPointerDownOutside:g,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:(0,m.jsx)(R,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:a=>a.preventDefault(),...t,...S,onPlaced:()=>G(!0),ref:z,style:{display:"flex",flexDirection:"column",outline:"none",...t.style},onKeyDown:bw(t.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||N(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=E().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>I(b)),a.preventDefault()}})})})})})})});es.displayName="SelectContentImpl";var et=n.forwardRef((a,b)=>{let{__scopeSelect:c,onPlaced:d,...e}=a,f=ed(en,c),g=eq(en,c),[h,i]=n.useState(null),[j,k]=n.useState(null),l=bA(b,a=>k(a)),o=d7(c),p=n.useRef(!1),q=n.useRef(!0),{viewport:r,selectedItem:s,selectedItemText:t,focusSelectedItem:u}=g,v=n.useCallback(()=>{if(f.trigger&&f.valueNode&&h&&j&&r&&s&&t){let a=f.trigger.getBoundingClientRect(),b=j.getBoundingClientRect(),c=f.valueNode.getBoundingClientRect(),e=t.getBoundingClientRect();if("rtl"!==f.dir){let d=e.left-b.left,f=c.left-d,g=a.left-f,i=a.width+g,j=Math.max(i,b.width),k=bv(f,[10,Math.max(10,window.innerWidth-10-j)]);h.style.minWidth=i+"px",h.style.left=k+"px"}else{let d=b.right-e.right,f=window.innerWidth-c.right-d,g=window.innerWidth-a.right-f,i=a.width+g,j=Math.max(i,b.width),k=bv(f,[10,Math.max(10,window.innerWidth-10-j)]);h.style.minWidth=i+"px",h.style.right=k+"px"}let g=o(),i=window.innerHeight-20,k=r.scrollHeight,l=window.getComputedStyle(j),m=parseInt(l.borderTopWidth,10),n=parseInt(l.paddingTop,10),q=parseInt(l.borderBottomWidth,10),u=m+n+k+parseInt(l.paddingBottom,10)+q,v=Math.min(5*s.offsetHeight,u),w=window.getComputedStyle(r),x=parseInt(w.paddingTop,10),y=parseInt(w.paddingBottom,10),z=a.top+a.height/2-10,A=s.offsetHeight/2,B=m+n+(s.offsetTop+A);if(B<=z){let a=g.length>0&&s===g[g.length-1].ref.current;h.style.bottom="0px";let b=Math.max(i-z,A+(a?y:0)+(j.clientHeight-r.offsetTop-r.offsetHeight)+q);h.style.height=B+b+"px"}else{let a=g.length>0&&s===g[0].ref.current;h.style.top="0px";let b=Math.max(z,m+r.offsetTop+(a?x:0)+A);h.style.height=b+(u-B)+"px",r.scrollTop=B-z+r.offsetTop}h.style.margin="10px 0",h.style.minHeight=v+"px",h.style.maxHeight=i+"px",d?.(),requestAnimationFrame(()=>p.current=!0)}},[o,f.trigger,f.valueNode,h,j,r,s,t,f.dir,d]);b$(()=>v(),[v]);let[w,x]=n.useState();b$(()=>{j&&x(window.getComputedStyle(j).zIndex)},[j]);let y=n.useCallback(a=>{a&&!0===q.current&&(v(),u?.(),q.current=!1)},[v,u]);return(0,m.jsx)(ev,{scope:c,contentWrapper:h,shouldExpandOnScrollRef:p,onScrollButtonChange:y,children:(0,m.jsx)("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:(0,m.jsx)(bI.div,{...e,ref:l,style:{boxSizing:"border-box",maxHeight:"100%",...e.style}})})})});et.displayName="SelectItemAlignedPosition";var eu=n.forwardRef((a,b)=>{let{__scopeSelect:c,align:d="start",collisionPadding:e=10,...f}=a,g=eb(c);return(0,m.jsx)(df,{...g,...f,ref:b,align:d,collisionPadding:e,style:{boxSizing:"border-box",...f.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)"}})});eu.displayName="SelectPopperPosition";var[ev,ew]=d9(en,{}),ex="SelectViewport",ey=n.forwardRef((a,b)=>{let{__scopeSelect:c,nonce:d,...e}=a,f=eq(ex,c),g=ew(ex,c),h=bA(b,f.onViewportChange),i=n.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:d}),(0,m.jsx)(d6.Slot,{scope:c,children:(0,m.jsx)(bI.div,{"data-radix-select-viewport":"",role:"presentation",...e,ref:h,style:{position:"relative",flex:1,overflow:"hidden auto",...e.style},onScroll:bw(e.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=g;if(d?.current&&c){let a=Math.abs(i.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}i.current=b.scrollTop})})})]})});ey.displayName=ex;var ez="SelectGroup",[eA,eB]=d9(ez);n.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=b1();return(0,m.jsx)(eA,{scope:c,id:e,children:(0,m.jsx)(bI.div,{role:"group","aria-labelledby":e,...d,ref:b})})}).displayName=ez;var eC="SelectLabel";n.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=eB(eC,c);return(0,m.jsx)(bI.div,{id:e.id,...d,ref:b})}).displayName=eC;var eD="SelectItem",[eE,eF]=d9(eD),eG=n.forwardRef((a,b)=>{let{__scopeSelect:c,value:d,disabled:e=!1,textValue:f,...g}=a,h=ed(eD,c),i=eq(eD,c),j=h.value===d,[k,l]=n.useState(f??""),[o,p]=n.useState(!1),q=bA(b,a=>i.itemRefCallback?.(a,d,e)),r=b1(),s=n.useRef("touch"),t=()=>{e||(h.onValueChange(d),h.onOpenChange(!1))};if(""===d)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)(eE,{scope:c,value:d,disabled:e,textId:r,isSelected:j,onItemTextChange:n.useCallback(a=>{l(b=>b||(a?.textContent??"").trim())},[]),children:(0,m.jsx)(d6.ItemSlot,{scope:c,value:d,disabled:e,textValue:k,children:(0,m.jsx)(bI.div,{role:"option","aria-labelledby":r,"data-highlighted":o?"":void 0,"aria-selected":j&&o,"data-state":j?"checked":"unchecked","aria-disabled":e||void 0,"data-disabled":e?"":void 0,tabIndex:e?void 0:-1,...g,ref:q,onFocus:bw(g.onFocus,()=>p(!0)),onBlur:bw(g.onBlur,()=>p(!1)),onClick:bw(g.onClick,()=>{"mouse"!==s.current&&t()}),onPointerUp:bw(g.onPointerUp,()=>{"mouse"===s.current&&t()}),onPointerDown:bw(g.onPointerDown,a=>{s.current=a.pointerType}),onPointerMove:bw(g.onPointerMove,a=>{s.current=a.pointerType,e?i.onItemLeave?.():"mouse"===s.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:bw(g.onPointerLeave,a=>{a.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:bw(g.onKeyDown,a=>{(i.searchRef?.current===""||" "!==a.key)&&(d4.includes(a.key)&&t()," "===a.key&&a.preventDefault())})})})})});eG.displayName=eD;var eH="SelectItemText",eI=n.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,...f}=a,g=ed(eH,c),h=eq(eH,c),i=eF(eH,c),j=ef(eH,c),[k,l]=n.useState(null),o=bA(b,a=>l(a),i.onItemTextChange,a=>h.itemTextRefCallback?.(a,i.value,i.disabled)),p=k?.textContent,q=n.useMemo(()=>(0,m.jsx)("option",{value:i.value,disabled:i.disabled,children:p},i.value),[i.disabled,i.value,p]),{onNativeOptionAdd:r,onNativeOptionRemove:s}=j;return b$(()=>(r(q),()=>s(q)),[r,s,q]),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(bI.span,{id:i.textId,...f,ref:o}),i.isSelected&&g.valueNode&&!g.valueNodeHasChildren?bu.createPortal(f.children,g.valueNode):null]})});eI.displayName=eH;var eJ="SelectItemIndicator",eK=n.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return eF(eJ,c).isSelected?(0,m.jsx)(bI.span,{"aria-hidden":!0,...d,ref:b}):null});eK.displayName=eJ;var eL="SelectScrollUpButton";n.forwardRef((a,b)=>{let c=eq(eL,a.__scopeSelect),d=ew(eL,a.__scopeSelect),[e,f]=n.useState(!1),g=bA(b,d.onScrollButtonChange);return b$(()=>{if(c.viewport&&c.isPositioned){let a=function(){f(b.scrollTop>0)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,m.jsx)(eN,{...a,ref:g,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null}).displayName=eL;var eM="SelectScrollDownButton";n.forwardRef((a,b)=>{let c=eq(eM,a.__scopeSelect),d=ew(eM,a.__scopeSelect),[e,f]=n.useState(!1),g=bA(b,d.onScrollButtonChange);return b$(()=>{if(c.viewport&&c.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;f(Math.ceil(b.scrollTop)<a)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,m.jsx)(eN,{...a,ref:g,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null}).displayName=eM;var eN=n.forwardRef((a,b)=>{let{__scopeSelect:c,onAutoScroll:d,...e}=a,f=eq("SelectScrollButton",c),g=n.useRef(null),h=d7(c),i=n.useCallback(()=>{null!==g.current&&(window.clearInterval(g.current),g.current=null)},[]);return n.useEffect(()=>()=>i(),[i]),b$(()=>{let a=h().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[h]),(0,m.jsx)(bI.div,{"aria-hidden":!0,...e,ref:b,style:{flexShrink:0,...e.style},onPointerDown:bw(e.onPointerDown,()=>{null===g.current&&(g.current=window.setInterval(d,50))}),onPointerMove:bw(e.onPointerMove,()=>{f.onItemLeave?.(),null===g.current&&(g.current=window.setInterval(d,50))}),onPointerLeave:bw(e.onPointerLeave,()=>{i()})})});n.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return(0,m.jsx)(bI.div,{"aria-hidden":!0,...d,ref:b})}).displayName="SelectSeparator";var eO="SelectArrow";n.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=eb(c),f=ed(eO,c),g=eq(eO,c);return f.open&&"popper"===g.position?(0,m.jsx)(di,{...e,...d,ref:b}):null}).displayName=eO;var eP=n.forwardRef(({__scopeSelect:a,value:b,...c},d)=>{let e,f=n.useRef(null),g=bA(d,f),h=(e=n.useRef({value:b,previous:b}),n.useMemo(()=>(e.current.value!==b&&(e.current.previous=e.current.value,e.current.value=b),e.current.previous),[b]));return n.useEffect(()=>{let a=f.current;if(!a)return;let c=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(h!==b&&c){let d=new Event("change",{bubbles:!0});c.call(a,b),a.dispatchEvent(d)}},[h,b]),(0,m.jsx)(bI.select,{...c,style:{...dq,...c.style},ref:g,defaultValue:b})});function eQ(a){return""===a||void 0===a}function eR(a){let b=bJ(a),c=n.useRef(""),d=n.useRef(0),e=n.useCallback(a=>{let e=c.current+a;b(e),function a(b){c.current=b,window.clearTimeout(d.current),""!==b&&(d.current=window.setTimeout(()=>a(""),1e3))}(e)},[b]),f=n.useCallback(()=>{c.current="",window.clearTimeout(d.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(d.current),[]),[c,e,f]}function eS(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}eP.displayName="SelectBubbleInput";let eT=ag("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),eU=ag("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"}]]),eV=(a=new Map,b=null,c)=>({nextPart:a,validators:b,classGroupId:c}),eW=[],eX=(a,b,c)=>{if(0==a.length-b)return c.classGroupId;let d=a[b],e=c.nextPart.get(d);if(e){let c=eX(a,b+1,e);if(c)return c}let f=c.validators;if(null===f)return;let g=0===b?a.join("-"):a.slice(b).join("-"),h=f.length;for(let a=0;a<h;a++){let b=f[a];if(b.validator(g))return b.classGroupId}},eY=(a,b)=>{let c=eV();for(let d in a)eZ(a[d],c,d,b);return c},eZ=(a,b,c,d)=>{let e=a.length;for(let f=0;f<e;f++)e$(a[f],b,c,d)},e$=(a,b,c,d)=>{"string"==typeof a?e_(a,b,c):"function"==typeof a?e0(a,b,c,d):e1(a,b,c,d)},e_=(a,b,c)=>{(""===a?b:e2(b,a)).classGroupId=c},e0=(a,b,c,d)=>{e3(a)?eZ(a(d),b,c,d):(null===b.validators&&(b.validators=[]),b.validators.push({classGroupId:c,validator:a}))},e1=(a,b,c,d)=>{let e=Object.entries(a),f=e.length;for(let a=0;a<f;a++){let[f,g]=e[a];eZ(g,e2(b,f),c,d)}},e2=(a,b)=>{let c=a,d=b.split("-"),e=d.length;for(let a=0;a<e;a++){let b=d[a],e=c.nextPart.get(b);e||(e=eV(),c.nextPart.set(b,e)),c=e}return c},e3=a=>"isThemeGetter"in a&&!0===a.isThemeGetter,e4=[],e5=(a,b,c,d,e)=>({modifiers:a,hasImportantModifier:b,baseClassName:c,maybePostfixModifierPosition:d,isExternal:e}),e6=/\s+/,e7=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=e7(a[d]))&&(c&&(c+=" "),c+=b);return c},e8=[],e9=a=>{let b=b=>b[a]||e8;return b.isThemeGetter=!0,b},fa=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,fb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fc=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,fd=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,fe=/\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$/,ff=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,fg=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,fh=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,fi=a=>fc.test(a),fj=a=>!!a&&!Number.isNaN(Number(a)),fk=a=>!!a&&Number.isInteger(Number(a)),fl=a=>a.endsWith("%")&&fj(a.slice(0,-1)),fm=a=>fd.test(a),fn=()=>!0,fo=a=>fe.test(a)&&!ff.test(a),fp=()=>!1,fq=a=>fg.test(a),fr=a=>fh.test(a),fs=a=>!fu(a)&&!fC(a),ft=a=>fK(a,fO,fp),fu=a=>fa.test(a),fv=a=>fK(a,fP,fo),fw=a=>fK(a,fQ,fj),fx=a=>fK(a,fS,fn),fy=a=>fK(a,fR,fp),fz=a=>fK(a,fM,fp),fA=a=>fK(a,fN,fr),fB=a=>fK(a,fT,fq),fC=a=>fb.test(a),fD=a=>fL(a,fP),fE=a=>fL(a,fR),fF=a=>fL(a,fM),fG=a=>fL(a,fO),fH=a=>fL(a,fN),fI=a=>fL(a,fT,!0),fJ=a=>fL(a,fS,!0),fK=(a,b,c)=>{let d=fa.exec(a);return!!d&&(d[1]?b(d[1]):c(d[2]))},fL=(a,b,c=!1)=>{let d=fb.exec(a);return!!d&&(d[1]?b(d[1]):c)},fM=a=>"position"===a||"percentage"===a,fN=a=>"image"===a||"url"===a,fO=a=>"length"===a||"size"===a||"bg-size"===a,fP=a=>"length"===a,fQ=a=>"number"===a,fR=a=>"family-name"===a,fS=a=>"number"===a||"weight"===a,fT=a=>"shadow"===a,fU=((a,...b)=>{let c,d,e,f,g=a=>{let b=d(a);if(b)return b;let f=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e,sortModifiers:f}=b,g=[],h=a.trim().split(e6),i="";for(let a=h.length-1;a>=0;a-=1){let b=h[a],{isExternal:j,modifiers:k,hasImportantModifier:l,baseClassName:m,maybePostfixModifierPosition:n}=c(b);if(j){i=b+(i.length>0?" "+i:i);continue}let o=!!n,p=d(o?m.substring(0,n):m);if(!p){if(!o||!(p=d(m))){i=b+(i.length>0?" "+i:i);continue}o=!1}let q=0===k.length?"":1===k.length?k[0]:f(k).join(":"),r=l?q+"!":q,s=r+p;if(g.indexOf(s)>-1)continue;g.push(s);let t=e(p,o);for(let a=0;a<t.length;++a){let b=t[a];g.push(r+b)}i=b+(i.length>0?" "+i:i)}return i})(a,c);return e(a,f),f};return f=h=>{var i;let j;return d=(c={cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=Object.create(null),d=Object.create(null),e=(e,f)=>{c[e]=f,++b>a&&(b=0,d=c,c=Object.create(null))};return{get(a){let b=c[a];return void 0!==b?b:void 0!==(b=d[a])?(e(a,b),b):void 0},set(a,b){a in c?c[a]=b:e(a,b)}}})((i=b.reduce((a,b)=>b(a),a())).cacheSize),parseClassName:(a=>{let{prefix:b,experimentalParseClassName:c}=a,d=a=>{let b,c=[],d=0,e=0,f=0,g=a.length;for(let h=0;h<g;h++){let g=a[h];if(0===d&&0===e){if(":"===g){c.push(a.slice(f,h)),f=h+1;continue}if("/"===g){b=h;continue}}"["===g?d++:"]"===g?d--:"("===g?e++:")"===g&&e--}let h=0===c.length?a:a.slice(f),i=h,j=!1;return h.endsWith("!")?(i=h.slice(0,-1),j=!0):h.startsWith("!")&&(i=h.slice(1),j=!0),e5(c,j,i,b&&b>f?b-f:void 0)};if(b){let a=b+":",c=d;d=b=>b.startsWith(a)?c(b.slice(a.length)):e5(e4,!1,b,void 0,!0)}if(c){let a=d;d=b=>c({className:b,parseClassName:a})}return d})(i),sortModifiers:(j=new Map,i.orderSensitiveModifiers.forEach((a,b)=>{j.set(a,1e6+b)}),a=>{let b=[],c=[];for(let d=0;d<a.length;d++){let e=a[d],f="["===e[0],g=j.has(e);f||g?(c.length>0&&(c.sort(),b.push(...c),c=[]),b.push(e)):c.push(e)}return c.length>0&&(c.sort(),b.push(...c)),b}),...(a=>{let b=(a=>{let{theme:b,classGroups:c}=a;return eY(c,b)})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:d}=a;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]")){var c;let b,d,e;return -1===(c=a).slice(1,-1).indexOf(":")?void 0:(d=(b=c.slice(1,-1)).indexOf(":"),(e=b.slice(0,d))?"arbitrary.."+e:void 0)}let d=a.split("-"),e=+(""===d[0]&&d.length>1);return eX(d,e,b)},getConflictingClassGroupIds:(a,b)=>{if(b){let b=d[a],e=c[a];if(b){if(e){let a=Array(e.length+b.length);for(let b=0;b<e.length;b++)a[b]=e[b];for(let c=0;c<b.length;c++)a[e.length+c]=b[c];return a}return b}return e||eW}return c[a]||eW}}})(i)}).cache.get,e=c.cache.set,f=g,g(h)},(...a)=>f(((...a)=>{let b,c,d=0,e="";for(;d<a.length;)(b=a[d++])&&(c=e7(b))&&(e&&(e+=" "),e+=c);return e})(...a))})(()=>{let a=e9("color"),b=e9("font"),c=e9("text"),d=e9("font-weight"),e=e9("tracking"),f=e9("leading"),g=e9("breakpoint"),h=e9("container"),i=e9("spacing"),j=e9("radius"),k=e9("shadow"),l=e9("inset-shadow"),m=e9("text-shadow"),n=e9("drop-shadow"),o=e9("blur"),p=e9("perspective"),q=e9("aspect"),r=e9("ease"),s=e9("animate"),t=()=>["auto","avoid","all","avoid-page","page","left","right","column"],u=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[...u(),fC,fu],w=()=>["auto","hidden","clip","visible","scroll"],x=()=>["auto","contain","none"],y=()=>[fC,fu,i],z=()=>[fi,"full","auto",...y()],A=()=>[fk,"none","subgrid",fC,fu],B=()=>["auto",{span:["full",fk,fC,fu]},fk,fC,fu],C=()=>[fk,"auto",fC,fu],D=()=>["auto","min","max","fr",fC,fu],E=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],F=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...y()],H=()=>[fi,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...y()],I=()=>[fi,"screen","full","dvw","lvw","svw","min","max","fit",...y()],J=()=>[fi,"screen","full","lh","dvh","lvh","svh","min","max","fit",...y()],K=()=>[a,fC,fu],L=()=>[...u(),fF,fz,{position:[fC,fu]}],M=()=>["no-repeat",{repeat:["","x","y","space","round"]}],N=()=>["auto","cover","contain",fG,ft,{size:[fC,fu]}],O=()=>[fl,fD,fv],P=()=>["","none","full",j,fC,fu],Q=()=>["",fj,fD,fv],R=()=>["solid","dashed","dotted","double"],S=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],T=()=>[fj,fl,fF,fz],U=()=>["","none",o,fC,fu],V=()=>["none",fj,fC,fu],W=()=>["none",fj,fC,fu],X=()=>[fj,fC,fu],Y=()=>[fi,"full",...y()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[fm],breakpoint:[fm],color:[fn],container:[fm],"drop-shadow":[fm],ease:["in","out","in-out"],font:[fs],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[fm],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[fm],shadow:[fm],spacing:["px",fj],text:[fm],"text-shadow":[fm],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",fi,fu,fC,q]}],container:["container"],columns:[{columns:[fj,fu,fC,h]}],"break-after":[{"break-after":t()}],"break-before":[{"break-before":t()}],"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:v()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:x()}],"overscroll-x":[{"overscroll-x":x()}],"overscroll-y":[{"overscroll-y":x()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:z()}],"inset-x":[{"inset-x":z()}],"inset-y":[{"inset-y":z()}],start:[{"inset-s":z(),start:z()}],end:[{"inset-e":z(),end:z()}],"inset-bs":[{"inset-bs":z()}],"inset-be":[{"inset-be":z()}],top:[{top:z()}],right:[{right:z()}],bottom:[{bottom:z()}],left:[{left:z()}],visibility:["visible","invisible","collapse"],z:[{z:[fk,"auto",fC,fu]}],basis:[{basis:[fi,"full","auto",h,...y()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[fj,fi,"auto","initial","none",fu]}],grow:[{grow:["",fj,fC,fu]}],shrink:[{shrink:["",fj,fC,fu]}],order:[{order:[fk,"first","last","none",fC,fu]}],"grid-cols":[{"grid-cols":A()}],"col-start-end":[{col:B()}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":A()}],"row-start-end":[{row:B()}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:y()}],"gap-x":[{"gap-x":y()}],"gap-y":[{"gap-y":y()}],"justify-content":[{justify:[...E(),"normal"]}],"justify-items":[{"justify-items":[...F(),"normal"]}],"justify-self":[{"justify-self":["auto",...F()]}],"align-content":[{content:["normal",...E()]}],"align-items":[{items:[...F(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...F(),{baseline:["","last"]}]}],"place-content":[{"place-content":E()}],"place-items":[{"place-items":[...F(),"baseline"]}],"place-self":[{"place-self":["auto",...F()]}],p:[{p:y()}],px:[{px:y()}],py:[{py:y()}],ps:[{ps:y()}],pe:[{pe:y()}],pbs:[{pbs:y()}],pbe:[{pbe:y()}],pt:[{pt:y()}],pr:[{pr:y()}],pb:[{pb:y()}],pl:[{pl:y()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mbs:[{mbs:G()}],mbe:[{mbe:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":y()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":y()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],"inline-size":[{inline:["auto",...I()]}],"min-inline-size":[{"min-inline":["auto",...I()]}],"max-inline-size":[{"max-inline":["none",...I()]}],"block-size":[{block:["auto",...J()]}],"min-block-size":[{"min-block":["auto",...J()]}],"max-block-size":[{"max-block":["none",...J()]}],w:[{w:[h,"screen",...H()]}],"min-w":[{"min-w":[h,"screen","none",...H()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[g]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",c,fD,fv]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[d,fJ,fx]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",fl,fu]}],"font-family":[{font:[fE,fy,b]}],"font-features":[{"font-features":[fu]}],"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:[e,fC,fu]}],"line-clamp":[{"line-clamp":[fj,"none",fC,fw]}],leading:[{leading:[f,...y()]}],"list-image":[{"list-image":["none",fC,fu]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",fC,fu]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:K()}],"text-color":[{text:K()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...R(),"wavy"]}],"text-decoration-thickness":[{decoration:[fj,"from-font","auto",fC,fv]}],"text-decoration-color":[{decoration:K()}],"underline-offset":[{"underline-offset":[fj,"auto",fC,fu]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:y()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",fC,fu]}],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",fC,fu]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:L()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:N()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},fk,fC,fu],radial:["",fC,fu],conic:[fk,fC,fu]},fH,fA]}],"bg-color":[{bg:K()}],"gradient-from-pos":[{from:O()}],"gradient-via-pos":[{via:O()}],"gradient-to-pos":[{to:O()}],"gradient-from":[{from:K()}],"gradient-via":[{via:K()}],"gradient-to":[{to:K()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"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:[...R(),"hidden","none"]}],"divide-style":[{divide:[...R(),"hidden","none"]}],"border-color":[{border:K()}],"border-color-x":[{"border-x":K()}],"border-color-y":[{"border-y":K()}],"border-color-s":[{"border-s":K()}],"border-color-e":[{"border-e":K()}],"border-color-bs":[{"border-bs":K()}],"border-color-be":[{"border-be":K()}],"border-color-t":[{"border-t":K()}],"border-color-r":[{"border-r":K()}],"border-color-b":[{"border-b":K()}],"border-color-l":[{"border-l":K()}],"divide-color":[{divide:K()}],"outline-style":[{outline:[...R(),"none","hidden"]}],"outline-offset":[{"outline-offset":[fj,fC,fu]}],"outline-w":[{outline:["",fj,fD,fv]}],"outline-color":[{outline:K()}],shadow:[{shadow:["","none",k,fI,fB]}],"shadow-color":[{shadow:K()}],"inset-shadow":[{"inset-shadow":["none",l,fI,fB]}],"inset-shadow-color":[{"inset-shadow":K()}],"ring-w":[{ring:Q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:K()}],"ring-offset-w":[{"ring-offset":[fj,fv]}],"ring-offset-color":[{"ring-offset":K()}],"inset-ring-w":[{"inset-ring":Q()}],"inset-ring-color":[{"inset-ring":K()}],"text-shadow":[{"text-shadow":["none",m,fI,fB]}],"text-shadow-color":[{"text-shadow":K()}],opacity:[{opacity:[fj,fC,fu]}],"mix-blend":[{"mix-blend":[...S(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":S()}],"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":[fj]}],"mask-image-linear-from-pos":[{"mask-linear-from":T()}],"mask-image-linear-to-pos":[{"mask-linear-to":T()}],"mask-image-linear-from-color":[{"mask-linear-from":K()}],"mask-image-linear-to-color":[{"mask-linear-to":K()}],"mask-image-t-from-pos":[{"mask-t-from":T()}],"mask-image-t-to-pos":[{"mask-t-to":T()}],"mask-image-t-from-color":[{"mask-t-from":K()}],"mask-image-t-to-color":[{"mask-t-to":K()}],"mask-image-r-from-pos":[{"mask-r-from":T()}],"mask-image-r-to-pos":[{"mask-r-to":T()}],"mask-image-r-from-color":[{"mask-r-from":K()}],"mask-image-r-to-color":[{"mask-r-to":K()}],"mask-image-b-from-pos":[{"mask-b-from":T()}],"mask-image-b-to-pos":[{"mask-b-to":T()}],"mask-image-b-from-color":[{"mask-b-from":K()}],"mask-image-b-to-color":[{"mask-b-to":K()}],"mask-image-l-from-pos":[{"mask-l-from":T()}],"mask-image-l-to-pos":[{"mask-l-to":T()}],"mask-image-l-from-color":[{"mask-l-from":K()}],"mask-image-l-to-color":[{"mask-l-to":K()}],"mask-image-x-from-pos":[{"mask-x-from":T()}],"mask-image-x-to-pos":[{"mask-x-to":T()}],"mask-image-x-from-color":[{"mask-x-from":K()}],"mask-image-x-to-color":[{"mask-x-to":K()}],"mask-image-y-from-pos":[{"mask-y-from":T()}],"mask-image-y-to-pos":[{"mask-y-to":T()}],"mask-image-y-from-color":[{"mask-y-from":K()}],"mask-image-y-to-color":[{"mask-y-to":K()}],"mask-image-radial":[{"mask-radial":[fC,fu]}],"mask-image-radial-from-pos":[{"mask-radial-from":T()}],"mask-image-radial-to-pos":[{"mask-radial-to":T()}],"mask-image-radial-from-color":[{"mask-radial-from":K()}],"mask-image-radial-to-color":[{"mask-radial-to":K()}],"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":u()}],"mask-image-conic-pos":[{"mask-conic":[fj]}],"mask-image-conic-from-pos":[{"mask-conic-from":T()}],"mask-image-conic-to-pos":[{"mask-conic-to":T()}],"mask-image-conic-from-color":[{"mask-conic-from":K()}],"mask-image-conic-to-color":[{"mask-conic-to":K()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:L()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:N()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",fC,fu]}],filter:[{filter:["","none",fC,fu]}],blur:[{blur:U()}],brightness:[{brightness:[fj,fC,fu]}],contrast:[{contrast:[fj,fC,fu]}],"drop-shadow":[{"drop-shadow":["","none",n,fI,fB]}],"drop-shadow-color":[{"drop-shadow":K()}],grayscale:[{grayscale:["",fj,fC,fu]}],"hue-rotate":[{"hue-rotate":[fj,fC,fu]}],invert:[{invert:["",fj,fC,fu]}],saturate:[{saturate:[fj,fC,fu]}],sepia:[{sepia:["",fj,fC,fu]}],"backdrop-filter":[{"backdrop-filter":["","none",fC,fu]}],"backdrop-blur":[{"backdrop-blur":U()}],"backdrop-brightness":[{"backdrop-brightness":[fj,fC,fu]}],"backdrop-contrast":[{"backdrop-contrast":[fj,fC,fu]}],"backdrop-grayscale":[{"backdrop-grayscale":["",fj,fC,fu]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[fj,fC,fu]}],"backdrop-invert":[{"backdrop-invert":["",fj,fC,fu]}],"backdrop-opacity":[{"backdrop-opacity":[fj,fC,fu]}],"backdrop-saturate":[{"backdrop-saturate":[fj,fC,fu]}],"backdrop-sepia":[{"backdrop-sepia":["",fj,fC,fu]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":y()}],"border-spacing-x":[{"border-spacing-x":y()}],"border-spacing-y":[{"border-spacing-y":y()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",fC,fu]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[fj,"initial",fC,fu]}],ease:[{ease:["linear","initial",r,fC,fu]}],delay:[{delay:[fj,fC,fu]}],animate:[{animate:["none",s,fC,fu]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,fC,fu]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:V()}],"rotate-x":[{"rotate-x":V()}],"rotate-y":[{"rotate-y":V()}],"rotate-z":[{"rotate-z":V()}],scale:[{scale:W()}],"scale-x":[{"scale-x":W()}],"scale-y":[{"scale-y":W()}],"scale-z":[{"scale-z":W()}],"scale-3d":["scale-3d"],skew:[{skew:X()}],"skew-x":[{"skew-x":X()}],"skew-y":[{"skew-y":X()}],transform:[{transform:[fC,fu,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Y()}],"translate-x":[{"translate-x":Y()}],"translate-y":[{"translate-y":Y()}],"translate-z":[{"translate-z":Y()}],"translate-none":["translate-none"],accent:[{accent:K()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:K()}],"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",fC,fu]}],"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":y()}],"scroll-mx":[{"scroll-mx":y()}],"scroll-my":[{"scroll-my":y()}],"scroll-ms":[{"scroll-ms":y()}],"scroll-me":[{"scroll-me":y()}],"scroll-mbs":[{"scroll-mbs":y()}],"scroll-mbe":[{"scroll-mbe":y()}],"scroll-mt":[{"scroll-mt":y()}],"scroll-mr":[{"scroll-mr":y()}],"scroll-mb":[{"scroll-mb":y()}],"scroll-ml":[{"scroll-ml":y()}],"scroll-p":[{"scroll-p":y()}],"scroll-px":[{"scroll-px":y()}],"scroll-py":[{"scroll-py":y()}],"scroll-ps":[{"scroll-ps":y()}],"scroll-pe":[{"scroll-pe":y()}],"scroll-pbs":[{"scroll-pbs":y()}],"scroll-pbe":[{"scroll-pbe":y()}],"scroll-pt":[{"scroll-pt":y()}],"scroll-pr":[{"scroll-pr":y()}],"scroll-pb":[{"scroll-pb":y()}],"scroll-pl":[{"scroll-pl":y()}],"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",fC,fu]}],fill:[{fill:["none",...K()]}],"stroke-w":[{stroke:[fj,fD,fv,fw]}],stroke:[{stroke:["none",...K()]}],"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 fV(...a){return fU(function(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}(a))}let fW=n.forwardRef(({className:a,children:b,...c},d)=>(0,m.jsxs)(ei,{ref:d,className:fV("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",a),...c,children:[b,(0,m.jsx)(el,{asChild:!0,children:(0,m.jsx)(eT,{className:"h-4 w-4 opacity-50"})})]}));fW.displayName=ei.displayName;let fX=n.forwardRef(({className:a,children:b,position:c="popper",...d},e)=>(0,m.jsx)(em,{children:(0,m.jsx)(eo,{ref:e,className:fV("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"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...d,children:(0,m.jsx)(ey,{className:fV("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:b})})}));fX.displayName=eo.displayName;let fY=n.forwardRef(({className:a,children:b,...c},d)=>(0,m.jsxs)(eG,{ref:d,className:fV("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",a),...c,children:[(0,m.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,m.jsx)(eK,{children:(0,m.jsx)(av,{className:"h-4 w-4"})})}),(0,m.jsx)(eI,{children:b})]}));function fZ(a){if(!a)return{provider:"unknown",model:""};let b=a.indexOf("/");return -1!==b?{provider:a.substring(0,b),model:a.substring(b+1)}:{provider:"unknown",model:a}}function f$({value:a,onValueChange:b,placeholder:c="Select a model...",disabled:d=!1}){let[e,f]=n.useState(""),{data:g,isLoading:h,isError:i,error:j,refetch:k}=E({queryKey:["opencode-models"],queryFn:async()=>{let a=await fetch("/api/opencode-models"),b=await a.json();if(!a.ok||b.error)throw Error(b.error||"Failed to fetch models");return b},retry:!1}),l=n.useMemo(()=>{let b=new Set(g?.models??[]);return a&&!b.has(a)&&b.add(a),Array.from(b).sort()},[g?.models,a]),o=n.useMemo(()=>{if(!e.trim())return l;let a=e.toLowerCase();return l.filter(b=>b.toLowerCase().includes(a))},[l,e]),p=n.useMemo(()=>{let a={};return o.forEach(b=>{let{provider:c}=fZ(b);a[c]||(a[c]=[]),a[c].push(b)}),a},[o]),q=Object.keys(p).sort(),r=n.useCallback(a=>{a||f("")},[]),s=a?fZ(a):null;return(0,m.jsxs)(eg,{value:a,onValueChange:b,disabled:d||h,onOpenChange:r,children:[(0,m.jsx)(fW,{children:(0,m.jsx)(ek,{placeholder:c,children:s&&(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:s.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:s.model})]})})}),(0,m.jsxs)(fX,{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)(al,{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:e,onChange:a=>f(a.target.value),placeholder:"Search models...",className:fV("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:a=>a.stopPropagation()})]})}),(0,m.jsx)("div",{className:"max-h-64 overflow-auto",children:h?(0,m.jsx)("div",{className:"px-2 py-4 text-center text-sm text-zinc-500",children:"Loading models..."}):i?(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)(au,{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:j instanceof Error?j.message:"Please check your OpenCode installation"})]}),(0,m.jsxs)("button",{type:"button",onClick:a=>{a.stopPropagation(),k()},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)(eU,{className:"h-3.5 w-3.5"}),"Retry"]})]})}):0===o.length?(0,m.jsx)("div",{className:"px-2 py-4 text-center text-sm text-zinc-500",children:"No models found"}):q.map(a=>(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:a}),p[a].map(a=>{let{model:b}=fZ(a);return(0,m.jsx)(fY,{value:a,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:b})})},a)})]},a))})]})]})}fY.displayName=eG.displayName;let f_={"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 f0({categoryName:a,initialConfig:b,onSave:c,onCancel:d}){let[e,f]=n.useState(null),{control:g,handleSubmit:h,watch:i,formState:{isSubmitting:j}}=bt({defaultValues:{model:b?.model||"",variant:b?.variant||"",temperature:b?.temperature??.7,top_p:b?.top_p??1,prompt_append:b?.prompt_append||""}}),{data:k}=E({queryKey:["opencode-models"],queryFn:async()=>{var a;let b=await fetch("/api/opencode-models"),c=null;try{c=await b.json()}catch{c=null}let d=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null;if(!b.ok||d)throw Error(d||`Failed to fetch models (${b.status})`);if(!((a=c)&&"object"==typeof a&&Array.isArray(a.models)))throw Error("Invalid models response");return c},retry:!1}),l=n.useMemo(()=>new Set(k?.models??[]),[k]),o=i("model"),p=o&&l.size>0&&!l.has(o),q=!o,r=f_[a];return n.useEffect(()=>{if(e){let a=setTimeout(()=>f(null),3e3);return()=>clearTimeout(a)}},[e]),(0,m.jsxs)("form",{onSubmit:h(a=>{let b=Math.max(0,Math.min(2,a.temperature)),d=Math.max(0,Math.min(1,a.top_p));c({model:a.model||void 0,variant:a.variant||void 0,temperature:b,top_p:d,prompt_append:a.prompt_append||void 0}),f({type:"success",message:"Configuration saved successfully"})}),className:"space-y-6","aria-label":"Category configuration form",children:[e&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===e.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"===e.type?(0,m.jsx)(av,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(au,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:e.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:a,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."})]}),q&&r&&(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)(au,{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:r.map((a,b)=>(0,m.jsxs)(n.Fragment,{children:[(0,m.jsx)("code",{className:`rounded px-1.5 py-0.5 text-xs ${0===b?"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:a}),b<r.length-1&&(0,m.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:"→"})]},a))}),(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."})]})]}),q&&!r&&(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)(au,{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()"}),"."]})]}),p&&(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)(ao,{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:o})," 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)(a0,{name:"model",control:g,render:({field:a})=>(0,m.jsx)("div",{id:"model-selector",children:(0,m.jsx)(f$,{value:a.value,onValueChange:a.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)(a0,{name:"variant",control:g,render:({field:a})=>(0,m.jsxs)("select",{id:"variant-selector",value:a.value,onChange:b=>a.onChange(b.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)(a0,{name:"temperature",control:g,rules:{min:{value:0,message:"Minimum is 0"},max:{value:2,message:"Maximum is 2"}},render:({field:a})=>(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:a.value.toFixed(1)})})]}),(0,m.jsx)(a0,{name:"temperature",control:g,rules:{min:{value:0,message:"Minimum is 0"},max:{value:2,message:"Maximum is 2"}},render:({field:a,fieldState:b})=>(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:a.value,onChange:b=>a.onChange(parseFloat(b.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:a.value,onChange:b=>a.onChange(parseFloat(b.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"})]}),b.error&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:b.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)(a0,{name:"top_p",control:g,rules:{min:{value:0,message:"Minimum is 0"},max:{value:1,message:"Maximum is 1"}},render:({field:a})=>(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:a.value.toFixed(2)})})]}),(0,m.jsx)(a0,{name:"top_p",control:g,rules:{min:{value:0,message:"Minimum is 0"},max:{value:1,message:"Maximum is 1"}},render:({field:a,fieldState:b})=>(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:a.value,onChange:b=>a.onChange(parseFloat(b.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:a.value,onChange:b=>a.onChange(parseFloat(b.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"})]}),b.error&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:b.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)(a0,{name:"prompt_append",control:g,render:({field:a})=>(0,m.jsx)("textarea",{id:"prompt-append",value:a.value,onChange:b=>a.onChange(b.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:d,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:j,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:[j&&(0,m.jsx)(at,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Save Changes"]})]})]})}function f1({onSaveSuccess:a}){let b=(0,A.useQueryClient)(),[c,d]=n.useState(null),[e,f]=n.useState(void 0),[g,h]=n.useState(null),{data:i,isLoading:j,isError:k,error:l}=E({queryKey:["opencode-config"],queryFn:async()=>{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch configuration");return a.json()}});n.useEffect(()=>{if(g){let a=setTimeout(()=>h(null),3e3);return()=>clearTimeout(a)}},[g]);let o=as({mutationFn:async a=>{let b=await fetch("/api/opencode-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({categories:a})});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to save categories");return b.json()},onSuccess:()=>{b.invalidateQueries({queryKey:["opencode-config"]}),h({type:"success",message:"Categories saved successfully"}),d(null),f(void 0),a?.()},onError:a=>{h({type:"error",message:a.message})}});if(j)return(0,m.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,m.jsx)(at,{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(k)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)(au,{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:l instanceof Error?l.message:"An unknown error occurred"})]})]})});let p=i?.categories||{};return(0,m.jsxs)("div",{className:"space-y-4",children:[g&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===g.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"===g.type?(0,m.jsx)(av,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(au,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:g.message})]}),c?(0,m.jsx)(f0,{categoryName:c,initialConfig:e,onSave:a=>{if(!c)return;let b={...i?.categories||{},[c]:a};o.mutate(b)},onCancel:()=>{d(null),f(void 0)}}):(0,m.jsx)(aB,{categories:p,onEdit:(a,b)=>{d(a),f(b)},onDelete:a=>{let{[a]:b,...c}=i?.categories||{};o.mutate(c)}})]})}let f2=ag("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),f3=ag("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"}]]),f4=ag("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"}]]),f5=ag("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 f6({profiles:a,activeProfileId:b,appliedProfileId:c,onApply:d,onEdit:e,onDelete:f,onExport:g,onImport:h,onCreateNew:i}){let[j,k]=n.useState(""),[l,o]=n.useState(null),p=n.useRef(null),q=(a,b)=>{b?o(a):d(a.id)},r=n.useMemo(()=>{if(!j.trim())return a;let b=j.toLowerCase();return a.filter(a=>a.name.toLowerCase().includes(b)||(a.description?.toLowerCase()||"").includes(b))},[a,j]),{active:s,builtIn:t,custom:u}=n.useMemo(()=>{let a=[],c=[],d=[];return r.forEach(e=>{e.id===b?a.push(e):e.isBuiltIn?c.push(e):d.push(e)}),{active:a,builtIn:c,custom:d}},[r,b]),v=a.length,w=r.length,x=j.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)(al,{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:j,onChange:a=>k(a.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)(f3,{className:"h-3.5 w-3.5"}),(0,m.jsxs)("span",{children:[x?`${w} of ${v}`:`${v}`," profiles"]})]}),(0,m.jsx)("input",{ref:p,type:"file",accept:"application/json,.json",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&h(b),a.target.value=""},"aria-label":"Import profile file"}),(0,m.jsxs)("button",{type:"button",onClick:()=>{p.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)(f5,{className:"h-4 w-4"}),"Import File"]})]}),0===r.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)(f3,{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:x?"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:x?"Try a different search term":"Create your first profile to get started"})]}),r.length>0&&(0,m.jsxs)("div",{className:"space-y-4",children:[s.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:s.length})]}),(0,m.jsx)("div",{className:"space-y-2",children:s.map(a=>(0,m.jsx)(f7,{profile:a,isActive:!0,isApplied:a.id===c,onApply:()=>q(a,a.id===c),onEdit:()=>e(a),onDelete:()=>f(a.id),onExport:()=>g(a)},a.id))})]}),t.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:t.length})]}),(0,m.jsx)("div",{className:"space-y-2",children:t.map(a=>(0,m.jsx)(f7,{profile:a,isActive:!1,isApplied:a.id===c,onApply:()=>q(a,a.id===c),onEdit:()=>e(a),onDelete:()=>f(a.id),onExport:()=>g(a)},a.id))})]}),u.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:u.length})]}),(0,m.jsx)("div",{className:"space-y-2",children:u.map(a=>(0,m.jsx)(f7,{profile:a,isActive:!1,isApplied:a.id===c,onApply:()=>q(a,a.id===c),onEdit:()=>e(a),onDelete:()=>f(a.id),onExport:()=>g(a)},a.id))})]})]}),l&&(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)(ao,{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:l.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:()=>{o(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)(ak,{className:"h-4 w-4"}),"Cancel"]}),(0,m.jsxs)("button",{type:"button",onClick:()=>{l&&(d(l.id),o(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)(av,{className:"h-4 w-4"}),"Reset to ",l.name]})]})]})})}),(0,m.jsxs)("button",{type:"button",onClick:i,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)(f2,{className:"h-4 w-4"}),"Create New Profile"]})]})}function f7({profile:a,isActive:b,isApplied:c,onApply:d,onEdit:e,onDelete:f,onExport:g}){return(0,m.jsxs)("div",{className:`
|
|
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:i.name}),!c&&(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"}),k&&(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)(aB,{className:"h-3 w-3"}),"Model Unavailable"]}),!k&&j&&(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"}),!j&&(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)(aH,{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:i.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(a){if(!a)return"Default provider";let b=a.indexOf("/");return -1===b?"Unknown provider":a.substring(0,b)}(b.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(a){if(!a)return"Default model";let b=a.split("/");return b[b.length-1]}(b.model)]}),b.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:"})," ",(g=b.variant)?g:"—"]})]})]}),(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:()=>e(a,b),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 ${i.name} category`,title:`Edit ${i.name}`,children:(0,m.jsx)(aJ,{className:"h-4 w-4"})}),!c&&(0,m.jsx)("button",{type:"button",onClick:()=>f(a),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 ${i.name} category`,title:`Delete ${i.name}`,children:(0,m.jsx)(aK,{className:"h-4 w-4"})})]})]})}function aO({categories:a,onEdit:b,onDelete:c}){let{data:d}=E({queryKey:["opencode-models"],queryFn:async()=>{var a;let b=await fetch("/api/opencode-models"),c=null;try{c=await b.json()}catch{c=null}let d=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null;if(!b.ok||d)throw Error(d||`Failed to fetch models (${b.status})`);if(!((a=c)&&"object"==typeof a&&Array.isArray(a.models)))throw Error("Invalid models response");return c},retry:!1}),e=n.useMemo(()=>d?new Set(d.models):null,[d]),{builtIn:f,custom:g}=n.useMemo(()=>{let b=[],c=[];return aM.forEach(c=>{b.push({key:c.key,config:a[c.key]||{}})}),Object.entries(a).forEach(([a,b])=>{aM.some(b=>b.key===a)||c.push({key:a,config:b})}),{builtIn:b,custom:c}},[a]),h=g.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)(aL,{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:["(",f.length,")"]})]}),(0,m.jsx)("div",{className:"space-y-2",children:f.map(({key:a,config:d})=>(0,m.jsx)(aN,{categoryKey:a,config:d,isBuiltIn:!0,availableModels:e,onEdit:b,onDelete:c},a))})]}),h&&(0,m.jsxs)("section",{children:[(0,m.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,m.jsx)(aL,{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:["(",g.length,")"]})]}),(0,m.jsx)("div",{className:"space-y-2",children:g.map(({key:a,config:d})=>(0,m.jsx)(aN,{categoryKey:a,config:d,isBuiltIn:!1,availableModels:e,onEdit:b,onDelete:c},a))})]}),0===f.length&&!h&&(0,m.jsxs)("div",{className:"text-center py-8",children:[(0,m.jsx)(aL,{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 aP=a=>a instanceof Date,aQ=a=>null==a,aR=a=>!aQ(a)&&!Array.isArray(a)&&"object"==typeof a&&!aP(a),aS=a=>aR(a)&&a.target?"checkbox"===a.target.type?a.target.checked:a.target.value:a,aT=(a,b)=>a.has(b.substring(0,b.search(/\.\d+(\.|$)/))||b);function aU(a){let b;if(a instanceof Date)return new Date(a);"u">typeof FileList&&FileList;let c=Array.isArray(a);if(!c&&!(aR(a)&&aR(b=a.constructor&&a.constructor.prototype)&&b.hasOwnProperty("isPrototypeOf")))return a;let d=c?[]:Object.create(Object.getPrototypeOf(a));for(let b in a)Object.prototype.hasOwnProperty.call(a,b)&&(d[b]=aU(a[b]));return d}var aV=a=>void 0===a,aW=a=>Array.isArray(a)?a.filter(Boolean):[],aX=a=>aW(a.replace(/["|']|\]/g,"").split(/\.|\[/)),aY=(a,b,c)=>{if(!b||!aR(a))return c;let d=(/^\w*$/.test(b)?[b]:aX(b)).reduce((a,b)=>aQ(a)?a:a[b],a);return aV(d)||d===a?aV(a[b])?c:a[b]:d},aZ=a=>"function"==typeof a,a$=(a,b,c)=>{let d=-1,e=/^\w*$/.test(b)?[b]:aX(b),f=e.length,g=f-1;for(;++d<f;){let b=e[d],f=c;if(d!==g){let c=a[b];f=aR(c)||Array.isArray(c)?c:isNaN(+e[d+1])?{}:[]}if("__proto__"===b||"constructor"===b||"prototype"===b)return;a[b]=f,a=a[b]}};let a_="blur",a0="onChange",a1="onSubmit",a2="maxLength",a3="minLength",a4="pattern",a5="required",a6=n.default.createContext(null);a6.displayName="HookFormControlContext";var a7=(a,b,c,d=!0)=>{let e={defaultValues:b._defaultValues};for(let f in a)Object.defineProperty(e,f,{get:()=>("all"!==b._proxyFormState[f]&&(b._proxyFormState[f]=!d||"all"),c&&(c[f]=!0),a[f])});return e};let a8=n.default.useEffect;var a9=a=>"string"==typeof a,ba=(a,b,c,d,e)=>a9(a)?(d&&b.watch.add(a),aY(c,a,e)):Array.isArray(a)?a.map(a=>(d&&b.watch.add(a),aY(c,a))):(d&&(b.watchAll=!0),c),bb=a=>aQ(a)||"object"!=typeof a;function bc(a,b,c=new WeakSet){if(bb(a)||bb(b))return Object.is(a,b);if(aP(a)&&aP(b))return Object.is(a.getTime(),b.getTime());let d=Object.keys(a),e=Object.keys(b);if(d.length!==e.length)return!1;if(c.has(a)||c.has(b))return!0;for(let f of(c.add(a),c.add(b),d)){let d=a[f];if(!e.includes(f))return!1;if("ref"!==f){let a=b[f];if(aP(d)&&aP(a)||aR(d)&&aR(a)||Array.isArray(d)&&Array.isArray(a)?!bc(d,a,c):!Object.is(d,a))return!1}}return!0}let bd=a=>a.render(function(a){let b=n.default.useContext(a6),{name:c,disabled:d,control:e=b,shouldUnregister:f,defaultValue:g,exact:h=!0}=a,i=aT(e._names.array,c),j=n.default.useMemo(()=>aY(e._formValues,c,aY(e._defaultValues,c,g)),[e,c,g]),k=function(a){let b=n.default.useContext(a6),{control:c=b,name:d,defaultValue:e,disabled:f,exact:g,compute:h}=a||{},i=n.default.useRef(e),j=n.default.useRef(h),k=n.default.useRef(void 0),l=n.default.useRef(c),m=n.default.useRef(d);j.current=h;let[o,p]=n.default.useState(()=>{let a=c._getWatch(d,i.current);return j.current?j.current(a):a}),q=n.default.useCallback(a=>{let b=ba(d,c._names,a||c._formValues,!1,i.current);return j.current?j.current(b):b},[c._formValues,c._names,d]),r=n.default.useCallback(a=>{if(!f){let b=ba(d,c._names,a||c._formValues,!1,i.current);if(j.current){let a=j.current(b);bc(a,k.current)||(p(a),k.current=a)}else p(b)}},[c._formValues,c._names,f,d]);a8(()=>(l.current===c&&bc(m.current,d)||(l.current=c,m.current=d,r()),c._subscribe({name:d,formState:{values:!0},exact:g,callback:a=>{r(a.values)}})),[c,g,d,r]),n.default.useEffect(()=>c._removeUnmounted());let s=l.current!==c,t=m.current,u=n.default.useMemo(()=>{if(f)return null;let a=!s&&!bc(t,d);return s||a?q():null},[f,s,d,t,q]);return null!==u?u:o}({control:e,name:c,defaultValue:j,exact:h}),l=function(a){let b=n.default.useContext(a6),{control:c=b,disabled:d,name:e,exact:f}=a||{},[g,h]=n.default.useState(c._formState),i=n.default.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return a8(()=>c._subscribe({name:e,formState:i.current,exact:f,callback:a=>{d||h({...c._formState,...a})}}),[e,d,f]),n.default.useEffect(()=>{i.current.isValid&&c._setValid(!0)},[c]),n.default.useMemo(()=>a7(g,c,i.current,!1),[g,c])}({control:e,name:c,exact:h}),m=n.default.useRef(a),o=n.default.useRef(void 0),p=n.default.useRef(e.register(c,{...a.rules,value:k,..."boolean"==typeof a.disabled?{disabled:a.disabled}:{}}));m.current=a;let q=n.default.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!aY(l.errors,c)},isDirty:{enumerable:!0,get:()=>!!aY(l.dirtyFields,c)},isTouched:{enumerable:!0,get:()=>!!aY(l.touchedFields,c)},isValidating:{enumerable:!0,get:()=>!!aY(l.validatingFields,c)},error:{enumerable:!0,get:()=>aY(l.errors,c)}}),[l,c]),r=n.default.useCallback(a=>p.current.onChange({target:{value:aS(a),name:c},type:"change"}),[c]),s=n.default.useCallback(()=>p.current.onBlur({target:{value:aY(e._formValues,c),name:c},type:a_}),[c,e._formValues]),t=n.default.useCallback(a=>{let b=aY(e._fields,c);b&&b._f&&a&&(b._f.ref={focus:()=>aZ(a.focus)&&a.focus(),select:()=>aZ(a.select)&&a.select(),setCustomValidity:b=>aZ(a.setCustomValidity)&&a.setCustomValidity(b),reportValidity:()=>aZ(a.reportValidity)&&a.reportValidity()})},[e._fields,c]),u=n.default.useMemo(()=>({name:c,value:k,..."boolean"==typeof d||l.disabled?{disabled:l.disabled||d}:{},onChange:r,onBlur:s,ref:t}),[c,d,l.disabled,r,s,t,k]);return n.default.useEffect(()=>{let a=e._options.shouldUnregister||f,b=o.current;b&&b!==c&&!i&&e.unregister(b),e.register(c,{...m.current.rules,..."boolean"==typeof m.current.disabled?{disabled:m.current.disabled}:{}});let d=(a,b)=>{let c=aY(e._fields,a);c&&c._f&&(c._f.mount=b)};if(d(c,!0),a){let a=aU(aY(e._options.defaultValues,c,m.current.defaultValue));a$(e._defaultValues,c,a),aV(aY(e._formValues,c))&&a$(e._formValues,c,a)}return i||e.register(c),o.current=c,()=>{(i?a&&!e._state.action:a)?e.unregister(c):d(c,!1)}},[c,e,i,f]),n.default.useEffect(()=>{e._setDisabledField({disabled:d,name:c})},[d,c,e]),n.default.useMemo(()=>({field:u,formState:l,fieldState:q}),[u,l,q])}(a));n.default.createContext(null).displayName="HookFormContext";var be=(a,b,c,d,e)=>b?{...c[a],types:{...c[a]&&c[a].types?c[a].types:{},[d]:e||!0}}:{},bf=a=>Array.isArray(a)?a:[a],bg=()=>{let a=[];return{get observers(){return a},next:b=>{for(let c of a)c.next&&c.next(b)},subscribe:b=>(a.push(b),{unsubscribe:()=>{a=a.filter(a=>a!==b)}}),unsubscribe:()=>{a=[]}}},bh=a=>aR(a)&&!Object.keys(a).length,bi=a=>!1;function bj(a,b){let c=Array.isArray(b)?b:/^\w*$/.test(b)?[b]:aX(b),d=1===c.length?a:function(a,b){let c=b.slice(0,-1).length,d=0;for(;d<c;)a=aV(a)?d++:a[b[d++]];return a}(a,c),e=c.length-1,f=c[e];return d&&delete d[f],0!==e&&(aR(d)&&bh(d)||Array.isArray(d)&&function(a){for(let b in a)if(a.hasOwnProperty(b)&&!aV(a[b]))return!1;return!0}(d))&&bj(a,c.slice(0,-1)),a}function bk(a){return Array.isArray(a)||aR(a)&&!(a=>{for(let b in a)if(aZ(a[b]))return!0;return!1})(a)}function bl(a,b={}){for(let c in a){let d=a[c];bk(d)?(b[c]=Array.isArray(d)?[]:{},bl(d,b[c])):aV(d)||(b[c]=!0)}return b}function bm(a,b,c){for(let d in c||(c=bl(b)),a){let e=a[d];if(bk(e))aV(b)||bb(c[d])?c[d]=bl(e,Array.isArray(e)?[]:{}):bm(e,aQ(b)?{}:b[d],c[d]);else{let a=b[d];c[d]=!bc(e,a)}}return c}let bn={value:!1,isValid:!1},bo={value:!0,isValid:!0};var bp=a=>{if(Array.isArray(a)){if(a.length>1){let b=a.filter(a=>a&&a.checked&&!a.disabled).map(a=>a.value);return{value:b,isValid:!!b.length}}return a[0].checked&&!a[0].disabled?a[0].attributes&&!aV(a[0].attributes.value)?aV(a[0].value)||""===a[0].value?bo:{value:a[0].value,isValid:!0}:bo:bn}return bn},bq=(a,{valueAsNumber:b,valueAsDate:c,setValueAs:d})=>aV(a)?a:b?""===a?NaN:a?+a:a:c&&a9(a)?new Date(a):d?d(a):a;let br={isValid:!1,value:null};var bs=a=>Array.isArray(a)?a.reduce((a,b)=>b&&b.checked&&!b.disabled?{isValid:!0,value:b.value}:a,br):br;function bt(a){let b=a.ref;return"file"===b.type?b.files:"radio"===b.type?bs(a.refs).value:"select-multiple"===b.type?[...b.selectedOptions].map(({value:a})=>a):"checkbox"===b.type?bp(a.refs).value:bq(aV(b.value)?a.ref.value:b.value,a)}var bu=a=>aV(a)?a:a instanceof RegExp?a.source:aR(a)?a.value instanceof RegExp?a.value.source:a.value:a,bv=a=>({isOnSubmit:!a||a===a1,isOnBlur:"onBlur"===a,isOnChange:a===a0,isOnAll:"all"===a,isOnTouch:"onTouched"===a});let bw="AsyncFunction";var bx=a=>!!a&&!!a.validate&&!!(aZ(a.validate)&&a.validate.constructor.name===bw||aR(a.validate)&&Object.values(a.validate).find(a=>a.constructor.name===bw)),by=(a,b,c)=>!c&&(b.watchAll||b.watch.has(a)||[...b.watch].some(b=>a.startsWith(b)&&/^\.\w+/.test(a.slice(b.length))));let bz=(a,b,c,d)=>{for(let e of c||Object.keys(a)){let c=aY(a,e);if(c){let{_f:a,...f}=c;if(a){if(a.refs&&a.refs[0]&&b(a.refs[0],e)&&!d)return!0;else if(a.ref&&b(a.ref,a.name)&&!d)return!0;else if(bz(f,b))break}else if(aR(f)&&bz(f,b))break}}};function bA(a,b,c){let d=aY(a,c);if(d||/^\w*$/.test(c))return{error:d,name:c};let e=c.split(".");for(;e.length;){let d=e.join("."),f=aY(b,d),g=aY(a,d);if(f&&!Array.isArray(f)&&c!==d)break;if(g&&g.type)return{name:d,error:g};if(g&&g.root&&g.root.type)return{name:`${d}.root`,error:g.root};e.pop()}return{name:c}}var bB=(a,b,c)=>{let d=bf(aY(a,c));return a$(d,"root",b[c]),a$(a,c,d),a};function bC(a,b,c="validate"){if(a9(a)||Array.isArray(a)&&a.every(a9)||"boolean"==typeof a&&!a)return{type:c,message:a9(a)?a:"",ref:b}}var bD=a=>!aR(a)||a instanceof RegExp?{value:a,message:""}:a,bE=async(a,b,c,d,e,f)=>{let{ref:g,refs:h,required:i,maxLength:j,minLength:k,min:l,max:m,pattern:n,validate:o,name:p,valueAsNumber:q,mount:r}=a._f,s=aY(c,p);if(!r||b.has(p))return{};let t=h?h[0]:g,u=a=>{e&&t.reportValidity&&(t.setCustomValidity("boolean"==typeof a?"":a||""),t.reportValidity())},v={},w="radio"===g.type,x="checkbox"===g.type,y=(q||"file"===g.type)&&aV(g.value)&&aV(s)||""===s||Array.isArray(s)&&!s.length,z=be.bind(null,p,d,v),A=(a,b,c,d=a2,e=a3)=>{let f=a?b:c;v[p]={type:a?d:e,message:f,ref:g,...z(a?d:e,f)}};if(f?!Array.isArray(s)||!s.length:i&&(!(w||x)&&(y||aQ(s))||"boolean"==typeof s&&!s||x&&!bp(h).isValid||w&&!bs(h).isValid)){let{value:a,message:b}=a9(i)?{value:!!i,message:i}:bD(i);if(a&&(v[p]={type:a5,message:b,ref:t,...z(a5,b)},!d))return u(b),v}if(!y&&(!aQ(l)||!aQ(m))){let a,b,c=bD(m),e=bD(l);if(aQ(s)||isNaN(s)){let d=g.valueAsDate||new Date(s),f=a=>new Date(new Date().toDateString()+" "+a),h="time"==g.type,i="week"==g.type;a9(c.value)&&s&&(a=h?f(s)>f(c.value):i?s>c.value:d>new Date(c.value)),a9(e.value)&&s&&(b=h?f(s)<f(e.value):i?s<e.value:d<new Date(e.value))}else{let d=g.valueAsNumber||(s?+s:s);aQ(c.value)||(a=d>c.value),aQ(e.value)||(b=d<e.value)}if((a||b)&&(A(!!a,c.message,e.message,"max","min"),!d))return u(v[p].message),v}if((j||k)&&!y&&(a9(s)||f&&Array.isArray(s))){let a=bD(j),b=bD(k),c=!aQ(a.value)&&s.length>+a.value,e=!aQ(b.value)&&s.length<+b.value;if((c||e)&&(A(c,a.message,b.message),!d))return u(v[p].message),v}if(n&&!y&&a9(s)){let{value:a,message:b}=bD(n);if(a instanceof RegExp&&!s.match(a)&&(v[p]={type:a4,message:b,ref:g,...z(a4,b)},!d))return u(b),v}if(o){if(aZ(o)){let a=bC(await o(s,c),t);if(a&&(v[p]={...a,...z("validate",a.message)},!d))return u(a.message),v}else if(aR(o)){let a={};for(let b in o){if(!bh(a)&&!d)break;let e=bC(await o[b](s,c),t,b);e&&(a={...e,...z(b,e.message)},u(e.message),d&&(v[p]=a))}if(!bh(a)&&(v[p]={ref:t,...a},!d))return v}}return u(!0),v};let bF={mode:a1,reValidateMode:a0,shouldFocusError:!0};function bG(a={}){let b=n.default.useRef(void 0),c=n.default.useRef(void 0),[d,e]=n.default.useState({isDirty:!1,isValidating:!1,isLoading:aZ(a.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:a.errors||{},disabled:a.disabled||!1,isReady:!1,defaultValues:aZ(a.defaultValues)?void 0:a.defaultValues});if(!b.current)if(a.formControl)b.current={...a.formControl,formState:d},a.defaultValues&&!aZ(a.defaultValues)&&a.formControl.reset(a.defaultValues,a.resetOptions);else{let{formControl:c,...e}=function(a={}){let b,c={...bF,...a},d={submitCount:0,isDirty:!1,isReady:!1,isLoading:aZ(c.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:c.errors||{},disabled:c.disabled||!1},e={},f=(aR(c.defaultValues)||aR(c.values))&&aU(c.defaultValues||c.values)||{},g=c.shouldUnregister?{}:aU(f),h={action:!1,mount:!1,watch:!1,keepIsValid:!1},i={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},j=0,k={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},l={...k},m={...l},n={array:bg(),state:bg()},o="all"===c.criteriaMode,p=async a=>{if(!h.keepIsValid&&!c.disabled&&(l.isValid||m.isValid||a)){let a;c.resolver?(a=bh((await t()).errors),q()):a=await v(e,!0),a!==d.isValid&&n.state.next({isValid:a})}},q=(a,b)=>{!c.disabled&&(l.isValidating||l.validatingFields||m.isValidating||m.validatingFields)&&((a||Array.from(i.mount)).forEach(a=>{a&&(b?a$(d.validatingFields,a,b):bj(d.validatingFields,a))}),n.state.next({validatingFields:d.validatingFields,isValidating:!bh(d.validatingFields)}))},r=(a,b,c,d)=>{let i=aY(e,a);if(i){let e=aY(g,a,aV(c)?aY(f,a):c);aV(e)||d&&d.defaultChecked||b?a$(g,a,b?e:bt(i._f)):y(a,e),h.mount&&!h.action&&p()}},s=(a,b,e,g,h)=>{let i=!1,j=!1,k={name:a};if(!c.disabled){if(!e||g){(l.isDirty||m.isDirty)&&(j=d.isDirty,d.isDirty=k.isDirty=w(),i=j!==k.isDirty);let c=bc(aY(f,a),b);j=!!aY(d.dirtyFields,a),c?bj(d.dirtyFields,a):a$(d.dirtyFields,a,!0),k.dirtyFields=d.dirtyFields,i=i||(l.dirtyFields||m.dirtyFields)&&!c!==j}if(e){let b=aY(d.touchedFields,a);b||(a$(d.touchedFields,a,e),k.touchedFields=d.touchedFields,i=i||(l.touchedFields||m.touchedFields)&&b!==e)}i&&h&&n.state.next(k)}return i?k:{}},t=async a=>(q(a,!0),await c.resolver(g,c.context,((a,b,c,d)=>{let e={};for(let c of a){let a=aY(b,c);a&&a$(e,c,a._f)}return{criteriaMode:c,names:[...a],fields:e,shouldUseNativeValidation:d}})(a||i.mount,e,c.criteriaMode,c.shouldUseNativeValidation))),u=async a=>{let{errors:b}=await t(a);if(q(a),a)for(let c of a){let a=aY(b,c);a?a$(d.errors,c,a):bj(d.errors,c)}else d.errors=b;return b},v=async(b,e,f={valid:!0})=>{for(let h in b){let j=b[h];if(j){let{_f:b,...h}=j;if(b){let h=i.array.has(b.name),k=j._f&&bx(j._f);k&&l.validatingFields&&q([b.name],!0);let m=await bE(j,i.disabled,g,o,c.shouldUseNativeValidation&&!e,h);if(k&&l.validatingFields&&q([b.name]),m[b.name]&&(f.valid=!1,e||a.shouldUseNativeValidation))break;e||(aY(m,b.name)?h?bB(d.errors,m,b.name):a$(d.errors,b.name,m[b.name]):bj(d.errors,b.name))}bh(h)||await v(h,e,f)}}return f.valid},w=(a,b)=>!c.disabled&&(a&&b&&a$(g,a,b),!bc(E(),f)),x=(a,b,c)=>ba(a,i,{...h.mount?g:aV(b)?f:a9(a)?{[a]:b}:b},c,b),y=(a,b,c={})=>{let d=aY(e,a),f=b;if(d){let c=d._f;c&&(c.disabled||a$(g,a,bq(b,c)),c.ref,f=b,"select-multiple"===c.ref.type?[...c.ref.options].forEach(a=>a.selected=f.includes(a.value)):c.refs?"checkbox"===c.ref.type?c.refs.forEach(a=>{a.defaultChecked&&a.disabled||(Array.isArray(f)?a.checked=!!f.find(b=>b===a.value):a.checked=f===a.value||!!f)}):c.refs.forEach(a=>a.checked=a.value===f):"file"===c.ref.type?c.ref.value="":(c.ref.value=f,c.ref.type||n.state.next({name:a,values:aU(g)})))}(c.shouldDirty||c.shouldTouch)&&s(a,f,c.shouldTouch,c.shouldDirty,!0),c.shouldValidate&&D(a)},z=(a,b,c)=>{for(let d in b){if(!b.hasOwnProperty(d))return;let f=b[d],g=a+"."+d,h=aY(e,g);(i.array.has(a)||aR(f)||h&&!h._f)&&!aP(f)?z(g,f,c):y(g,f,c)}},A=(a,b,c={})=>{let j=aY(e,a),k=i.array.has(a),o=aU(b);a$(g,a,o),k?(n.array.next({name:a,values:aU(g)}),(l.isDirty||l.dirtyFields||m.isDirty||m.dirtyFields)&&c.shouldDirty&&n.state.next({name:a,dirtyFields:bm(f,g),isDirty:w(a,o)})):!j||j._f||aQ(o)?y(a,o,c):z(a,o,c),by(a,i)?n.state.next({...d,name:a,values:aU(g)}):n.state.next({name:h.mount?a:void 0,values:aU(g)})},B=async a=>{h.mount=!0;let f=a.target,k=f.name,r=!0,u=aY(e,k),w=a=>{r=Number.isNaN(a)||aP(a)&&isNaN(a.getTime())||bc(a,aY(g,k,a))},x=bv(c.mode),y=bv(c.reValidateMode);if(u){var z,A,B,C,E;let h,I,J,K=f.type?bt(u._f):aS(a),L=a.type===a_||"focusout"===a.type,M=!((J=u._f).mount&&(J.required||J.min||J.max||J.maxLength||J.minLength||J.pattern||J.validate))&&!c.resolver&&!aY(d.errors,k)&&!u._f.deps||(z=L,A=aY(d.touchedFields,k),B=d.isSubmitted,C=y,!(E=x).isOnAll&&(!B&&E.isOnTouch?!(A||z):(B?C.isOnBlur:E.isOnBlur)?!z:(B?!C.isOnChange:!E.isOnChange)||z)),N=by(k,i,L);a$(g,k,K),L?f&&f.readOnly||(u._f.onBlur&&u._f.onBlur(a),b&&b(0)):u._f.onChange&&u._f.onChange(a);let O=s(k,K,L),P=!bh(O)||N;if(L||n.state.next({name:k,type:a.type,values:aU(g)}),M)return(l.isValid||m.isValid)&&("onBlur"===c.mode?L&&p():L||p()),P&&n.state.next({name:k,...N?{}:O});if(!L&&N&&n.state.next({...d}),c.resolver){let{errors:a}=await t([k]);if(q([k]),w(K),r){let b=bA(d.errors,e,k),c=bA(a,e,b.name||k);h=c.error,k=c.name,I=bh(a)}}else q([k],!0),h=(await bE(u,i.disabled,g,o,c.shouldUseNativeValidation))[k],q([k]),w(K),r&&(h?I=!1:(l.isValid||m.isValid)&&(I=await v(e,!0)));if(r){u._f.deps&&(!Array.isArray(u._f.deps)||u._f.deps.length>0)&&D(u._f.deps);var F=k,G=I,H=h;let a=aY(d.errors,F),e=(l.isValid||m.isValid)&&"boolean"==typeof G&&d.isValid!==G;if(c.delayError&&H){let a;a=()=>{a$(d.errors,F,H),n.state.next({errors:d.errors})},(b=b=>{clearTimeout(j),j=setTimeout(a,b)})(c.delayError)}else clearTimeout(j),b=null,H?a$(d.errors,F,H):bj(d.errors,F);if((H?!bc(a,H):a)||!bh(O)||e){let a={...O,...e&&"boolean"==typeof G?{isValid:G}:{},errors:d.errors,name:F};d={...d,...a},n.state.next(a)}}}},C=(a,b)=>{if(aY(d.errors,b)&&a.focus)return a.focus(),1},D=async(a,b={})=>{let f,g,h=bf(a);if(c.resolver){let b=await u(aV(a)?a:h);f=bh(b),g=a?!h.some(a=>aY(b,a)):f}else a?((g=(await Promise.all(h.map(async a=>{let b=aY(e,a);return await v(b&&b._f?{[a]:b}:b)}))).every(Boolean))||d.isValid)&&p():g=f=await v(e);return n.state.next({...!a9(a)||(l.isValid||m.isValid)&&f!==d.isValid?{}:{name:a},...c.resolver||!a?{isValid:f}:{},errors:d.errors}),b.shouldFocus&&!g&&bz(e,C,a?h:i.mount),g},E=(a,b)=>{let c={...h.mount?g:f};return b&&(c=function a(b,c){let d={};for(let e in b)if(b.hasOwnProperty(e)){let f=b[e],g=c[e];if(f&&aR(f)&&g){let b=a(f,g);aR(b)&&(d[e]=b)}else b[e]&&(d[e]=g)}return d}(b.dirtyFields?d.dirtyFields:d.touchedFields,c)),aV(a)?c:a9(a)?aY(c,a):a.map(a=>aY(c,a))},F=(a,b)=>({invalid:!!aY((b||d).errors,a),isDirty:!!aY((b||d).dirtyFields,a),error:aY((b||d).errors,a),isValidating:!!aY(d.validatingFields,a),isTouched:!!aY((b||d).touchedFields,a)}),G=(a,b,c)=>{let f=(aY(e,a,{_f:{}})._f||{}).ref,{ref:g,message:h,type:i,...j}=aY(d.errors,a)||{};a$(d.errors,a,{...j,...b,ref:f}),n.state.next({name:a,errors:d.errors,isValid:!1}),c&&c.shouldFocus&&f&&f.focus&&f.focus()},H=a=>n.state.subscribe({next:b=>{let c,e,h;c=a.name,e=b.name,h=a.exact,(!c||!e||c===e||bf(c).some(a=>a&&(h?a===e:a.startsWith(e)||e.startsWith(a))))&&((a,b,c,d)=>{c(a);let{name:e,...f}=a;return bh(f)||Object.keys(f).length>=Object.keys(b).length||Object.keys(f).find(a=>b[a]===(!d||"all"))})(b,a.formState||l,P,a.reRenderRoot)&&a.callback({values:{...g},...d,...b,defaultValues:f})}}).unsubscribe,I=(a,b={})=>{for(let h of a?bf(a):i.mount)i.mount.delete(h),i.array.delete(h),b.keepValue||(bj(e,h),bj(g,h)),b.keepError||bj(d.errors,h),b.keepDirty||bj(d.dirtyFields,h),b.keepTouched||bj(d.touchedFields,h),b.keepIsValidating||bj(d.validatingFields,h),c.shouldUnregister||b.keepDefaultValue||bj(f,h);n.state.next({values:aU(g)}),n.state.next({...d,...!b.keepDirty?{}:{isDirty:w()}}),b.keepIsValid||p()},J=({disabled:a,name:b})=>{if("boolean"==typeof a&&h.mount||a||i.disabled.has(b)){let c=i.disabled.has(b);a?i.disabled.add(b):i.disabled.delete(b),!!a!==c&&h.mount&&!h.action&&p()}},K=(a,b={})=>{let d=aY(e,a),g="boolean"==typeof b.disabled||"boolean"==typeof c.disabled;return(a$(e,a,{...d||{},_f:{...d&&d._f?d._f:{ref:{name:a}},name:a,mount:!0,...b}}),i.mount.add(a),d)?J({disabled:"boolean"==typeof b.disabled?b.disabled:c.disabled,name:a}):r(a,!0,b.value),{...g?{disabled:b.disabled||c.disabled}:{},...c.progressive?{required:!!b.required,min:bu(b.min),max:bu(b.max),minLength:bu(b.minLength),maxLength:bu(b.maxLength),pattern:bu(b.pattern)}:{},name:a,onChange:B,onBlur:B,ref:g=>{if(g){let c;K(a,b),d=aY(e,a);let h=aV(g.value)&&g.querySelectorAll&&g.querySelectorAll("input,select,textarea")[0]||g,i="radio"===(c=h).type||"checkbox"===c.type,j=d._f.refs||[];(i?j.find(a=>a===h):h===d._f.ref)||(a$(e,a,{_f:{...d._f,...i?{refs:[...j.filter(bi),h,...Array.isArray(aY(f,a))?[{}]:[]],ref:{type:h.type,name:a}}:{ref:h}}}),r(a,!1,void 0,h))}else(d=aY(e,a,{}))._f&&(d._f.mount=!1),(c.shouldUnregister||b.shouldUnregister)&&!(aT(i.array,a)&&h.action)&&i.unMount.add(a)}}},L=()=>c.shouldFocusError&&bz(e,C,i.mount),M=(a,b)=>async f=>{let h;f&&(f.preventDefault&&f.preventDefault(),f.persist&&f.persist());let j=aU(g);if(n.state.next({isSubmitting:!0}),c.resolver){let{errors:a,values:b}=await t();q(),d.errors=a,j=aU(b)}else await v(e);if(i.disabled.size)for(let a of i.disabled)bj(j,a);if(bj(d.errors,"root"),bh(d.errors)){n.state.next({errors:{}});try{await a(j,f)}catch(a){h=a}}else b&&await b({...d.errors},f),L(),setTimeout(L);if(n.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:bh(d.errors)&&!h,submitCount:d.submitCount+1,errors:d.errors}),h)throw h},N=(a,b={})=>{let j=a?aU(a):f,k=aU(j),m=bh(a),o=m?f:k;if(b.keepDefaultValues||(f=j),!b.keepValues){if(b.keepDirtyValues)for(let a of Array.from(new Set([...i.mount,...Object.keys(bm(f,g))]))){let b=aY(d.dirtyFields,a),c=aY(g,a),e=aY(o,a);b&&!aV(c)?a$(o,a,c):b||aV(e)||A(a,e)}else if(b.keepFieldsRef)for(let a of i.mount)A(a,aY(o,a));else e={};g=c.shouldUnregister?b.keepDefaultValues?aU(f):{}:aU(o),n.array.next({values:{...o}}),n.state.next({values:{...o}})}i={mount:b.keepDirtyValues?i.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},h.mount=!l.isValid||!!b.keepIsValid||!!b.keepDirtyValues||!c.shouldUnregister&&!bh(o),h.watch=!!c.shouldUnregister,h.keepIsValid=!!b.keepIsValid,h.action=!1,b.keepErrors||(d.errors={}),n.state.next({submitCount:b.keepSubmitCount?d.submitCount:0,isDirty:!m&&(b.keepDirty?d.isDirty:!!(b.keepDefaultValues&&!bc(a,f))),isSubmitted:!!b.keepIsSubmitted&&d.isSubmitted,dirtyFields:m?{}:b.keepDirtyValues?b.keepDefaultValues&&g?bm(f,g):d.dirtyFields:b.keepDefaultValues&&a?bm(f,a):b.keepDirty?d.dirtyFields:{},touchedFields:b.keepTouched?d.touchedFields:{},errors:b.keepErrors?d.errors:{},isSubmitSuccessful:!!b.keepIsSubmitSuccessful&&d.isSubmitSuccessful,isSubmitting:!1,defaultValues:f})},O=(a,b)=>N(aZ(a)?a(g):a,{...c.resetOptions,...b}),P=a=>{d={...d,...a}},Q={control:{register:K,unregister:I,getFieldState:F,handleSubmit:M,setError:G,_subscribe:H,_runSchema:t,_updateIsValidating:q,_focusError:L,_getWatch:x,_getDirty:w,_setValid:p,_setFieldArray:(a,b=[],i,j,k=!0,o=!0)=>{if(j&&i&&!c.disabled){if(h.action=!0,o&&Array.isArray(aY(e,a))){let b=i(aY(e,a),j.argA,j.argB);k&&a$(e,a,b)}if(o&&Array.isArray(aY(d.errors,a))){let b,c=i(aY(d.errors,a),j.argA,j.argB);k&&a$(d.errors,a,c),aW(aY(b=d.errors,a)).length||bj(b,a)}if((l.touchedFields||m.touchedFields)&&o&&Array.isArray(aY(d.touchedFields,a))){let b=i(aY(d.touchedFields,a),j.argA,j.argB);k&&a$(d.touchedFields,a,b)}(l.dirtyFields||m.dirtyFields)&&(d.dirtyFields=bm(f,g)),n.state.next({name:a,isDirty:w(a,b),dirtyFields:d.dirtyFields,errors:d.errors,isValid:d.isValid})}else a$(g,a,b)},_setDisabledField:J,_setErrors:a=>{d.errors=a,n.state.next({errors:d.errors,isValid:!1})},_getFieldArray:a=>aW(aY(h.mount?g:f,a,c.shouldUnregister?aY(f,a,[]):[])),_reset:N,_resetDefaultValues:()=>aZ(c.defaultValues)&&c.defaultValues().then(a=>{O(a,c.resetOptions),n.state.next({isLoading:!1})}),_removeUnmounted:()=>{for(let a of i.unMount){let b=aY(e,a);b&&(b._f.refs?b._f.refs.every(a=>!bi(a)):!bi(b._f.ref))&&I(a)}i.unMount=new Set},_disableForm:a=>{"boolean"==typeof a&&(n.state.next({disabled:a}),bz(e,(b,c)=>{let d=aY(e,c);d&&(b.disabled=d._f.disabled||a,Array.isArray(d._f.refs)&&d._f.refs.forEach(b=>{b.disabled=d._f.disabled||a}))},0,!1))},_subjects:n,_proxyFormState:l,get _fields(){return e},get _formValues(){return g},get _state(){return h},set _state(value){h=value},get _defaultValues(){return f},get _names(){return i},set _names(value){i=value},get _formState(){return d},get _options(){return c},set _options(value){c={...c,...value}}},subscribe:a=>(h.mount=!0,m={...m,...a.formState},H({...a,formState:{...k,...a.formState}})),trigger:D,register:K,handleSubmit:M,watch:(a,b)=>aZ(a)?n.state.subscribe({next:c=>"values"in c&&a(x(void 0,b),c)}):x(a,b,!0),setValue:A,getValues:E,reset:O,resetField:(a,b={})=>{aY(e,a)&&(aV(b.defaultValue)?A(a,aU(aY(f,a))):(A(a,b.defaultValue),a$(f,a,aU(b.defaultValue))),b.keepTouched||bj(d.touchedFields,a),b.keepDirty||(bj(d.dirtyFields,a),d.isDirty=b.defaultValue?w(a,aU(aY(f,a))):w()),!b.keepError&&(bj(d.errors,a),l.isValid&&p()),n.state.next({...d}))},clearErrors:a=>{let b=a?bf(a):void 0;null==b||b.forEach(a=>bj(d.errors,a)),b?b.forEach(a=>{n.state.next({name:a,errors:d.errors})}):n.state.next({errors:{}})},unregister:I,setError:G,setFocus:(a,b={})=>{let c=aY(e,a),d=c&&c._f;if(d){let a=d.refs?d.refs[0]:d.ref;a.focus&&setTimeout(()=>{a.focus(),b.shouldSelect&&aZ(a.select)&&a.select()})}},getFieldState:F};return{...Q,formControl:Q}}(a);b.current={...e,formState:d}}let f=b.current.control;return f._options=a,a8(()=>{let a=f._subscribe({formState:f._proxyFormState,callback:()=>e({...f._formState}),reRenderRoot:!0});return e(a=>({...a,isReady:!0})),f._formState.isReady=!0,a},[f]),n.default.useEffect(()=>f._disableForm(a.disabled),[f,a.disabled]),n.default.useEffect(()=>{a.mode&&(f._options.mode=a.mode),a.reValidateMode&&(f._options.reValidateMode=a.reValidateMode)},[f,a.mode,a.reValidateMode]),n.default.useEffect(()=>{a.errors&&(f._setErrors(a.errors),f._focusError())},[f,a.errors]),n.default.useEffect(()=>{a.shouldUnregister&&f._subjects.state.next({values:f._getWatch()})},[f,a.shouldUnregister]),n.default.useEffect(()=>{if(f._proxyFormState.isDirty){let a=f._getDirty();a!==d.isDirty&&f._subjects.state.next({isDirty:a})}},[f,d.isDirty]),n.default.useEffect(()=>{var b;a.values&&!bc(a.values,c.current)?(f._reset(a.values,{keepFieldsRef:!0,...f._options.resetOptions}),(null==(b=f._options.resetOptions)?void 0:b.keepIsValid)||f._setValid(),c.current=a.values,e(a=>({...a}))):f._resetDefaultValues()},[f,a.values]),n.default.useEffect(()=>{f._state.mount||(f._setValid(),f._state.mount=!0),f._state.watch&&(f._state.watch=!1,f._subjects.state.next({...f._formState})),f._removeUnmounted()}),b.current.formState=n.default.useMemo(()=>a7(d,f),[f,d]),b.current}var bH=a.i(35112);function bI(a,[b,c]){return Math.min(c,Math.max(b,a))}function bJ(a,b,{checkForDefaultPrevented:c=!0}={}){return function(d){if(a?.(d),!1===c||!d.defaultPrevented)return b?.(d)}}function bK(a,b=[]){let c=[],d=()=>{let b=c.map(a=>n.createContext(a));return function(c){let d=c?.[a]||b;return n.useMemo(()=>({[`__scope${a}`]:{...c,[a]:d}}),[c,d])}};return d.scopeName=a,[function(b,d){let e=n.createContext(d),f=c.length;c=[...c,d];let g=b=>{let{scope:c,children:d,...g}=b,h=c?.[a]?.[f]||e,i=n.useMemo(()=>g,Object.values(g));return(0,m.jsx)(h.Provider,{value:i,children:d})};return g.displayName=b+"Provider",[g,function(c,g){let h=g?.[a]?.[f]||e,i=n.useContext(h);if(i)return i;if(void 0!==d)return d;throw Error(`\`${c}\` must be used within \`${b}\``)}]},function(...a){let b=a[0];if(1===a.length)return b;let c=()=>{let c=a.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){let d=c.reduce((b,{useScope:c,scopeName:d})=>{let e=c(a)[`__scope${d}`];return{...b,...e}},{});return n.useMemo(()=>({[`__scope${b.scopeName}`]:d}),[d])}};return c.scopeName=b.scopeName,c}(d,...b)]}function bL(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function bM(...a){return b=>{let c=!1,d=a.map(a=>{let d=bL(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():bL(a[b],null)}}}}function bN(...a){return n.useCallback(bM(...a),a)}function bO(a){var b;let c,d=(b=a,(c=n.forwardRef((a,b)=>{let{children:c,...d}=a;if(n.isValidElement(c)){var e;let a,f,g=(e=c,(f=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(f=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),h=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==n.Fragment&&(h.ref=b?bM(b,g):g),n.cloneElement(c,h)}return n.Children.count(c)>1?n.Children.only(null):null})).displayName=`${b}.SlotClone`,c),e=n.forwardRef((a,b)=>{let{children:c,...e}=a,f=n.Children.toArray(c),g=f.find(bQ);if(g){let a=g.props.children,c=f.map(b=>b!==g?b:n.Children.count(a)>1?n.Children.only(null):n.isValidElement(a)?a.props.children:null);return(0,m.jsx)(d,{...e,ref:b,children:n.isValidElement(a)?n.cloneElement(a,void 0,c):null})}return(0,m.jsx)(d,{...e,ref:b,children:c})});return e.displayName=`${a}.Slot`,e}var bP=Symbol("radix.slottable");function bQ(a){return n.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===bP}var bR=new WeakMap;function bS(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=bT(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function bT(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#B;constructor(a){super(a),this.#B=[...super.keys()],bR.set(this,!0)}set(a,b){return bR.get(this)&&(this.has(a)?this.#B[this.#B.indexOf(a)]=a:this.#B.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#B.length,g=bT(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let j=this.size+ +!e;g<0&&h++;let k=[...this.#B],l=!1;for(let a=h;a<j;a++)if(h===a){let f=k[a];k[a]===b&&(f=k[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{l||k[a-1]!==b||(l=!0);let c=k[l?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#B.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#B.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#B.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#B.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#B=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#B.splice(this.#B.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=bS(this.#B,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=bS(this.#B,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#B.indexOf(a)}keyAt(a){return bS(this.#B,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}});var bU=n.createContext(void 0),bV=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,b)=>{let c=bO(`Primitive.${b}`),d=n.forwardRef((a,d)=>{let{asChild:e,...f}=a;return(0,m.jsx)(e?c:b,{...f,ref:d})});return d.displayName=`Primitive.${b}`,{...a,[b]:d}},{});function bW(a){let b=n.useRef(a);return n.useEffect(()=>{b.current=a}),n.useMemo(()=>(...a)=>b.current?.(...a),[])}var bX="dismissableLayer.update",bY=n.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),bZ=n.forwardRef((a,b)=>{let{disableOutsidePointerEvents:c=!1,onEscapeKeyDown:d,onPointerDownOutside:e,onFocusOutside:f,onInteractOutside:g,onDismiss:h,...i}=a,j=n.useContext(bY),[l,o]=n.useState(null),p=l?.ownerDocument??globalThis?.document,[,q]=n.useState({}),r=bN(b,a=>o(a)),s=Array.from(j.layers),[t]=[...j.layersWithOutsidePointerEventsDisabled].slice(-1),u=s.indexOf(t),v=l?s.indexOf(l):-1,w=j.layersWithOutsidePointerEventsDisabled.size>0,x=v>=u,y=function(a,b=globalThis?.document){let c=bW(a),d=n.useRef(!1),e=n.useRef(()=>{});return n.useEffect(()=>{let a=a=>{if(a.target&&!d.current){let d=function(){b_("dismissableLayer.pointerDownOutside",c,f,{discrete:!0})},f={originalEvent:a};"touch"===a.pointerType?(b.removeEventListener("click",e.current),e.current=d,b.addEventListener("click",e.current,{once:!0})):d()}else b.removeEventListener("click",e.current);d.current=!1},f=window.setTimeout(()=>{b.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(f),b.removeEventListener("pointerdown",a),b.removeEventListener("click",e.current)}},[b,c]),{onPointerDownCapture:()=>d.current=!0}}(a=>{let b=a.target,c=[...j.branches].some(a=>a.contains(b));x&&!c&&(e?.(a),g?.(a),a.defaultPrevented||h?.())},p),z=function(a,b=globalThis?.document){let c=bW(a),d=n.useRef(!1);return n.useEffect(()=>{let a=a=>{a.target&&!d.current&&b_("dismissableLayer.focusOutside",c,{originalEvent:a},{discrete:!1})};return b.addEventListener("focusin",a),()=>b.removeEventListener("focusin",a)},[b,c]),{onFocusCapture:()=>d.current=!0,onBlurCapture:()=>d.current=!1}}(a=>{let b=a.target;![...j.branches].some(a=>a.contains(b))&&(f?.(a),g?.(a),a.defaultPrevented||h?.())},p);return!function(a,b=globalThis?.document){let c=bW(a);n.useEffect(()=>{let a=a=>{"Escape"===a.key&&c(a)};return b.addEventListener("keydown",a,{capture:!0}),()=>b.removeEventListener("keydown",a,{capture:!0})},[c,b])}(a=>{v===j.layers.size-1&&(d?.(a),!a.defaultPrevented&&h&&(a.preventDefault(),h()))},p),n.useEffect(()=>{if(l)return c&&(0===j.layersWithOutsidePointerEventsDisabled.size&&(k=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),j.layersWithOutsidePointerEventsDisabled.add(l)),j.layers.add(l),b$(),()=>{c&&1===j.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=k)}},[l,p,c,j]),n.useEffect(()=>()=>{l&&(j.layers.delete(l),j.layersWithOutsidePointerEventsDisabled.delete(l),b$())},[l,j]),n.useEffect(()=>{let a=()=>q({});return document.addEventListener(bX,a),()=>document.removeEventListener(bX,a)},[]),(0,m.jsx)(bV.div,{...i,ref:r,style:{pointerEvents:w?x?"auto":"none":void 0,...a.style},onFocusCapture:bJ(a.onFocusCapture,z.onFocusCapture),onBlurCapture:bJ(a.onBlurCapture,z.onBlurCapture),onPointerDownCapture:bJ(a.onPointerDownCapture,y.onPointerDownCapture)})});function b$(){let a=new CustomEvent(bX);document.dispatchEvent(a)}function b_(a,b,c,{discrete:d}){let e=c.originalEvent.target,f=new CustomEvent(a,{bubbles:!1,cancelable:!0,detail:c});if(b&&e.addEventListener(a,b,{once:!0}),d)e&&bH.flushSync(()=>e.dispatchEvent(f));else e.dispatchEvent(f)}bZ.displayName="DismissableLayer",n.forwardRef((a,b)=>{let c=n.useContext(bY),d=n.useRef(null),e=bN(b,d);return n.useEffect(()=>{let a=d.current;if(a)return c.branches.add(a),()=>{c.branches.delete(a)}},[c.branches]),(0,m.jsx)(bV.div,{...a,ref:e})}).displayName="DismissableLayerBranch";var b0=0;function b1(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}var b2="focusScope.autoFocusOnMount",b3="focusScope.autoFocusOnUnmount",b4={bubbles:!1,cancelable:!0},b5=n.forwardRef((a,b)=>{let{loop:c=!1,trapped:d=!1,onMountAutoFocus:e,onUnmountAutoFocus:f,...g}=a,[h,i]=n.useState(null),j=bW(e),k=bW(f),l=n.useRef(null),o=bN(b,a=>i(a)),p=n.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;n.useEffect(()=>{if(d){let a=function(a){if(p.paused||!h)return;let b=a.target;h.contains(b)?l.current=b:b8(l.current,{select:!0})},b=function(a){if(p.paused||!h)return;let b=a.relatedTarget;null!==b&&(h.contains(b)||b8(l.current,{select:!0}))};document.addEventListener("focusin",a),document.addEventListener("focusout",b);let c=new MutationObserver(function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&b8(h)});return h&&c.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[d,h,p.paused]),n.useEffect(()=>{if(h){b9.add(p);let a=document.activeElement;if(!h.contains(a)){let b=new CustomEvent(b2,b4);h.addEventListener(b2,j),h.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(b8(d,{select:b}),document.activeElement!==c)return}(b6(h).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&b8(h))}return()=>{h.removeEventListener(b2,j),setTimeout(()=>{let b=new CustomEvent(b3,b4);h.addEventListener(b3,k),h.dispatchEvent(b),b.defaultPrevented||b8(a??document.body,{select:!0}),h.removeEventListener(b3,k),b9.remove(p)},0)}}},[h,j,k,p]);let q=n.useCallback(a=>{if(!c&&!d||p.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,e=document.activeElement;if(b&&e){var f;let b,d=a.currentTarget,[g,h]=[b7(b=b6(f=d),f),b7(b.reverse(),f)];g&&h?a.shiftKey||e!==h?a.shiftKey&&e===g&&(a.preventDefault(),c&&b8(h,{select:!0})):(a.preventDefault(),c&&b8(g,{select:!0})):e===d&&a.preventDefault()}},[c,d,p.paused]);return(0,m.jsx)(bV.div,{tabIndex:-1,...g,ref:o,onKeyDown:q})});function b6(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}function b7(a,b){for(let c of a)if(!function(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}(c,{upTo:b}))return c}function b8(a,{select:b=!1}={}){if(a&&a.focus){var c;let d=document.activeElement;a.focus({preventScroll:!0}),a!==d&&(c=a)instanceof HTMLInputElement&&"select"in c&&b&&a.select()}}b5.displayName="FocusScope";var b9=(d=[],{add(a){let b=d[0];a!==b&&b?.pause(),(d=ca(d,a)).unshift(a)},remove(a){d=ca(d,a),d[0]?.resume()}});function ca(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}var cb=globalThis?.document?n.useLayoutEffect:()=>{},cc=n[" useId ".trim().toString()]||(()=>void 0),cd=0;function ce(a){let[b,c]=n.useState(cc());return cb(()=>{a||c(a=>a??String(cd++))},[a]),a||(b?`radix-${b}`:"")}let cf=["top","right","bottom","left"],cg=Math.min,ch=Math.max,ci=Math.round,cj=Math.floor,ck=a=>({x:a,y:a}),cl={left:"right",right:"left",bottom:"top",top:"bottom"};function cm(a,b){return"function"==typeof a?a(b):a}function cn(a){return a.split("-")[0]}function co(a){return a.split("-")[1]}function cp(a){return"x"===a?"y":"x"}function cq(a){return"y"===a?"height":"width"}function cr(a){let b=a[0];return"t"===b||"b"===b?"y":"x"}function cs(a){return a.includes("start")?a.replace("start","end"):a.replace("end","start")}let ct=["left","right"],cu=["right","left"],cv=["top","bottom"],cw=["bottom","top"];function cx(a){let b=cn(a);return cl[b]+a.slice(b.length)}function cy(a){return"number"!=typeof a?{top:0,right:0,bottom:0,left:0,...a}:{top:a,right:a,bottom:a,left:a}}function cz(a){let{x:b,y:c,width:d,height:e}=a;return{width:d,height:e,top:c,left:b,right:b+d,bottom:c+e,x:b,y:c}}function cA(a,b,c){let d,{reference:e,floating:f}=a,g=cr(b),h=cp(cr(b)),i=cq(h),j=cn(b),k="y"===g,l=e.x+e.width/2-f.width/2,m=e.y+e.height/2-f.height/2,n=e[i]/2-f[i]/2;switch(j){case"top":d={x:l,y:e.y-f.height};break;case"bottom":d={x:l,y:e.y+e.height};break;case"right":d={x:e.x+e.width,y:m};break;case"left":d={x:e.x-f.width,y:m};break;default:d={x:e.x,y:e.y}}switch(co(b)){case"start":d[h]-=n*(c&&k?-1:1);break;case"end":d[h]+=n*(c&&k?-1:1)}return d}async function cB(a,b){var c;void 0===b&&(b={});let{x:d,y:e,platform:f,rects:g,elements:h,strategy:i}=a,{boundary:j="clippingAncestors",rootBoundary:k="viewport",elementContext:l="floating",altBoundary:m=!1,padding:n=0}=cm(b,a),o=cy(n),p=h[m?"floating"===l?"reference":"floating":l],q=cz(await f.getClippingRect({element:null==(c=await (null==f.isElement?void 0:f.isElement(p)))||c?p:p.contextElement||await (null==f.getDocumentElement?void 0:f.getDocumentElement(h.floating)),boundary:j,rootBoundary:k,strategy:i})),r="floating"===l?{x:d,y:e,width:g.floating.width,height:g.floating.height}:g.reference,s=await (null==f.getOffsetParent?void 0:f.getOffsetParent(h.floating)),t=await (null==f.isElement?void 0:f.isElement(s))&&await (null==f.getScale?void 0:f.getScale(s))||{x:1,y:1},u=cz(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:r,offsetParent:s,strategy:i}):r);return{top:(q.top-u.top+o.top)/t.y,bottom:(u.bottom-q.bottom+o.bottom)/t.y,left:(q.left-u.left+o.left)/t.x,right:(u.right-q.right+o.right)/t.x}}let cC=async(a,b,c)=>{let{placement:d="bottom",strategy:e="absolute",middleware:f=[],platform:g}=c,h=g.detectOverflow?g:{...g,detectOverflow:cB},i=await (null==g.isRTL?void 0:g.isRTL(b)),j=await g.getElementRects({reference:a,floating:b,strategy:e}),{x:k,y:l}=cA(j,d,i),m=d,n=0,o={};for(let c=0;c<f.length;c++){let p=f[c];if(!p)continue;let{name:q,fn:r}=p,{x:s,y:t,data:u,reset:v}=await r({x:k,y:l,initialPlacement:d,placement:m,strategy:e,middlewareData:o,rects:j,platform:h,elements:{reference:a,floating:b}});k=null!=s?s:k,l=null!=t?t:l,o[q]={...o[q],...u},v&&n<50&&(n++,"object"==typeof v&&(v.placement&&(m=v.placement),v.rects&&(j=!0===v.rects?await g.getElementRects({reference:a,floating:b,strategy:e}):v.rects),{x:k,y:l}=cA(j,m,i)),c=-1)}return{x:k,y:l,placement:m,strategy:e,middlewareData:o}};function cD(a,b){return{top:a.top-b.height,right:a.right-b.width,bottom:a.bottom-b.height,left:a.left-b.width}}function cE(a){return cf.some(b=>a[b]>=0)}let cF=new Set(["left","top"]);async function cG(a,b){let{placement:c,platform:d,elements:e}=a,f=await (null==d.isRTL?void 0:d.isRTL(e.floating)),g=cn(c),h=co(c),i="y"===cr(c),j=cF.has(g)?-1:1,k=f&&i?-1:1,l=cm(b,a),{mainAxis:m,crossAxis:n,alignmentAxis:o}="number"==typeof l?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:l.mainAxis||0,crossAxis:l.crossAxis||0,alignmentAxis:l.alignmentAxis};return h&&"number"==typeof o&&(n="end"===h?-1*o:o),i?{x:n*k,y:m*j}:{x:m*j,y:n*k}}function cH(a){return function(a){return!1}(a)?(a.nodeName||"").toLowerCase():"#document"}function cI(a){var b;return(null==a||null==(b=a.ownerDocument)?void 0:b.defaultView)||window}function cJ(a){var b;return null==(b=(function(a){return!1}(a)?a.ownerDocument:a.document)||window.document)?void 0:b.documentElement}function cK(a){return!1}function cL(a){let{overflow:b,overflowX:c,overflowY:d,display:e}=cT(a);return/auto|scroll|overlay|hidden|clip/.test(b+d+c)&&"inline"!==e&&"contents"!==e}function cM(a){try{if(a.matches(":popover-open"))return!0}catch(a){}try{return a.matches(":modal")}catch(a){return!1}}let cN=/transform|translate|scale|rotate|perspective|filter/,cO=/paint|layout|strict|content/,cP=a=>!!a&&"none"!==a;function cQ(a){let b=a;return cP(b.transform)||cP(b.translate)||cP(b.scale)||cP(b.rotate)||cP(b.perspective)||!cR()&&(cP(b.backdropFilter)||cP(b.filter))||cN.test(b.willChange||"")||cO.test(b.contain||"")}function cR(){return null==b&&(b="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),b}function cS(a){return/^(html|body|#document)$/.test(cH(a))}function cT(a){return cI(a).getComputedStyle(a)}function cU(a){return{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function cV(a){if("html"===cH(a))return a;let b=a.assignedSlot||a.parentNode||!1||cJ(a);return b}function cW(a,b,c){var d;void 0===b&&(b=[]),void 0===c&&(c=!0);let e=function a(b){let c=cV(b);return cS(c)?b.ownerDocument?b.ownerDocument.body:b.body:a(c)}(a),f=e===(null==(d=a.ownerDocument)?void 0:d.body),g=cI(e);if(!f)return b.concat(e,cW(e,[],c));{let a=cX(g);return b.concat(g,g.visualViewport||[],cL(e)?e:[],a&&c?cW(a):[])}}function cX(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function cY(a){let b=cT(a),c=parseFloat(b.width)||0,d=parseFloat(b.height)||0,e=!1,f=e?a.offsetWidth:c,g=e?a.offsetHeight:d,h=ci(c)!==f||ci(d)!==g;return h&&(c=f,d=g),{width:c,height:d,$:h}}function cZ(a){return 0,a.contextElement}function c$(a){let b=cZ(a);1;return ck(1)}let c_=ck(0);function c0(a){let b=cI(a);return cR()&&b.visualViewport?{x:b.visualViewport.offsetLeft,y:b.visualViewport.offsetTop}:c_}function c1(a,b,c,d){var e;void 0===b&&(b=!1),void 0===c&&(c=!1);let f=a.getBoundingClientRect(),g=cZ(a),h=ck(1);b&&(d||(h=c$(a)));let i=(void 0===(e=c)&&(e=!1),d&&(!e||d===cI(g))&&e)?c0(g):ck(0),j=(f.left+i.x)/h.x,k=(f.top+i.y)/h.y,l=f.width/h.x,m=f.height/h.y;if(g){let a=cI(g),b=d,c=a,e=cX(c);for(;e&&d&&b!==c;){let a=c$(e),b=e.getBoundingClientRect(),d=cT(e),f=b.left+(e.clientLeft+parseFloat(d.paddingLeft))*a.x,g=b.top+(e.clientTop+parseFloat(d.paddingTop))*a.y;j*=a.x,k*=a.y,l*=a.x,m*=a.y,j+=f,k+=g,e=cX(c=cI(e))}}return cz({width:l,height:m,x:j,y:k})}function c2(a,b){let c=cU(a).scrollLeft;return b?b.left+c:c1(cJ(a)).left+c}function c3(a,b){let c=a.getBoundingClientRect();return{x:c.left+b.scrollLeft-c2(a,c),y:c.top+b.scrollTop}}function c4(a,b,c){var d;let e;if("viewport"===b)e=function(a,b){let c=cI(a),d=cJ(a),e=c.visualViewport,f=d.clientWidth,g=d.clientHeight,h=0,i=0;if(e){f=e.width,g=e.height;let a=cR();(!a||a&&"fixed"===b)&&(h=e.offsetLeft,i=e.offsetTop)}let j=c2(d);if(j<=0){let a=d.ownerDocument,b=a.body,c=getComputedStyle(b),e="CSS1Compat"===a.compatMode&&parseFloat(c.marginLeft)+parseFloat(c.marginRight)||0,g=Math.abs(d.clientWidth-b.clientWidth-e);g<=25&&(f-=g)}else j<=25&&(f+=j);return{width:f,height:g,x:h,y:i}}(a,c);else if("document"===b){let b,c,f,g,h,i,j;d=cJ(a),b=cJ(d),c=cU(d),f=d.ownerDocument.body,g=ch(b.scrollWidth,b.clientWidth,f.scrollWidth,f.clientWidth),h=ch(b.scrollHeight,b.clientHeight,f.scrollHeight,f.clientHeight),i=-c.scrollLeft+c2(d),j=-c.scrollTop,"rtl"===cT(f).direction&&(i+=ch(b.clientWidth,f.clientWidth)-g),e={width:g,height:h,x:i,y:j}}else{1;{let c=c0(a);e={x:b.x-c.x,y:b.y-c.y,width:b.width,height:b.height}}}return cz(e)}function c5(a){return"static"===cT(a).position}function c6(a,b){1;return null}function c7(a,b){var c;let d=cI(a);if(cM(a))return d;1;{let b=cV(a);for(;b&&!cS(b);){0;b=cV(b)}return d}}let c8=async function(a){let b=this.getOffsetParent||c7,c=this.getDimensions,d=await c(a.floating);return{reference:function(a,b,c){var d;let e=(d=0,!1),f=cJ(b),g="fixed"===c,h=c1(a,!0,g,b),i={scrollLeft:0,scrollTop:0},j=ck(0);if(e||!e&&!g)if(("body"!==cH(b)||cL(f))&&(i=cU(b)),e){let a=c1(b,!0,g,b);j.x=a.x+b.clientLeft,j.y=a.y+b.clientTop}else f&&(j.x=c2(f));g&&!e&&f&&(j.x=c2(f));let k=!f||e||g?ck(0):c3(f,i);return{x:h.left+i.scrollLeft-j.x-k.x,y:h.top+i.scrollTop-j.y-k.y,width:h.width,height:h.height}}(a.reference,await b(a.floating),a.strategy),floating:{x:0,y:0,width:d.width,height:d.height}}},c9={convertOffsetParentRelativeRectToViewportRelativeRect:function(a){var b;let{elements:c,rect:d,offsetParent:e,strategy:f}=a,g="fixed"===f,h=cJ(e),i=!!c&&cM(c.floating);if(e===h||i&&g)return d;let j={scrollLeft:0,scrollTop:0},k=ck(1),l=ck(0),m=(b=0,!1);if((m||!m&&!g)&&(("body"!==cH(e)||cL(h))&&(j=cU(e)),m)){let a=c1(e);k=c$(e),l.x=a.x+e.clientLeft,l.y=a.y+e.clientTop}let n=!h||m||g?ck(0):c3(h,j);return{width:d.width*k.x,height:d.height*k.y,x:d.x*k.x-j.scrollLeft*k.x+l.x+n.x,y:d.y*k.y-j.scrollTop*k.y+l.y+n.y}},getDocumentElement:cJ,getClippingRect:function(a){let{element:b,boundary:c,rootBoundary:d,strategy:e}=a,f=[..."clippingAncestors"===c?cM(b)?[]:function(a,b){var c;let d=b.get(a);if(d)return d;let e=cW(a,[],!1).filter(a=>{var b;return b=0,!1}),f="fixed"===cT(a).position,g=f?cV(a):a;return c=0,b.set(a,e),e}(b,this._c):[].concat(c),d],g=c4(b,f[0],e),h=g.top,i=g.right,j=g.bottom,k=g.left;for(let a=1;a<f.length;a++){let c=c4(b,f[a],e);h=ch(c.top,h),i=cg(c.right,i),j=cg(c.bottom,j),k=ch(c.left,k)}return{width:i-k,height:j-h,x:k,y:h}},getOffsetParent:c7,getElementRects:c8,getClientRects:function(a){return Array.from(a.getClientRects())},getDimensions:function(a){let{width:b,height:c}=cY(a);return{width:b,height:c}},getScale:c$,isElement:cK,isRTL:function(a){return"rtl"===cT(a).direction}};function da(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}let db=a=>({name:"arrow",options:a,async fn(b){let{x:c,y:d,placement:e,rects:f,platform:g,elements:h,middlewareData:i}=b,{element:j,padding:k=0}=cm(a,b)||{};if(null==j)return{};let l=cy(k),m={x:c,y:d},n=cp(cr(e)),o=cq(n),p=await g.getDimensions(j),q="y"===n,r=q?"clientHeight":"clientWidth",s=f.reference[o]+f.reference[n]-m[n]-f.floating[o],t=m[n]-f.reference[n],u=await (null==g.getOffsetParent?void 0:g.getOffsetParent(j)),v=u?u[r]:0;v&&await (null==g.isElement?void 0:g.isElement(u))||(v=h.floating[r]||f.floating[o]);let w=v/2-p[o]/2-1,x=cg(l[q?"top":"left"],w),y=cg(l[q?"bottom":"right"],w),z=v-p[o]-y,A=v/2-p[o]/2+(s/2-t/2),B=ch(x,cg(A,z)),C=!i.arrow&&null!=co(e)&&A!==B&&f.reference[o]/2-(A<x?x:y)-p[o]/2<0,D=C?A<x?A-x:A-z:0;return{[n]:m[n]+D,data:{[n]:B,centerOffset:A-B-D,...C&&{alignmentOffset:D}},reset:C}}});var dc="u">typeof document?n.useLayoutEffect:function(){};function dd(a,b){let c,d,e;if(a===b)return!0;if(typeof a!=typeof b)return!1;if("function"==typeof a&&a.toString()===b.toString())return!0;if(a&&b&&"object"==typeof a){if(Array.isArray(a)){if((c=a.length)!==b.length)return!1;for(d=c;0!=d--;)if(!dd(a[d],b[d]))return!1;return!0}if((c=(e=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(d=c;0!=d--;)if(!({}).hasOwnProperty.call(b,e[d]))return!1;for(d=c;0!=d--;){let c=e[d];if(("_owner"!==c||!a.$$typeof)&&!dd(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function de(a,b){let c=1;return Math.round(b*c)/c}function df(a){let b=n.useRef(a);return dc(()=>{b.current=a}),b}var dg=n.forwardRef((a,b)=>{let{children:c,width:d=10,height:e=5,...f}=a;return(0,m.jsx)(bV.svg,{...f,ref:b,width:d,height:e,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:(0,m.jsx)("polygon",{points:"0,0 30,0 15,10"})})});dg.displayName="Arrow";var dh="Popper",[di,dj]=bK(dh),[dk,dl]=di(dh),dm=a=>{let{__scopePopper:b,children:c}=a,[d,e]=n.useState(null);return(0,m.jsx)(dk,{scope:b,anchor:d,onAnchorChange:e,children:c})};dm.displayName=dh;var dn="PopperAnchor",dp=n.forwardRef((a,b)=>{let{__scopePopper:c,virtualRef:d,...e}=a,f=dl(dn,c),g=n.useRef(null),h=bN(b,g),i=n.useRef(null);return n.useEffect(()=>{let a=i.current;i.current=d?.current||g.current,a!==i.current&&f.onAnchorChange(i.current)}),d?null:(0,m.jsx)(bV.div,{...e,ref:h})});dp.displayName=dn;var dq="PopperContent",[dr,ds]=di(dq),dt=n.forwardRef((a,b)=>{var c,d,e,f,g,h,i,j,k,l,o,p,q,r,s,t,u,v,w,x,y;let z,A,B,C,D,E,{__scopePopper:F,side:G="bottom",sideOffset:H=0,align:I="center",alignOffset:J=0,arrowPadding:K=0,avoidCollisions:L=!0,collisionBoundary:M=[],collisionPadding:N=0,sticky:O="partial",hideWhenDetached:P=!1,updatePositionStrategy:Q="optimized",onPlaced:R,...S}=a,T=dl(dq,F),[U,V]=n.useState(null),W=bN(b,a=>V(a)),[X,Y]=n.useState(null),Z=function(a){let[b,c]=n.useState(void 0);return cb(()=>{if(a){c({width:a.offsetWidth,height:a.offsetHeight});let b=new ResizeObserver(b=>{let d,e;if(!Array.isArray(b)||!b.length)return;let f=b[0];if("borderBoxSize"in f){let a=f.borderBoxSize,b=Array.isArray(a)?a[0]:a;d=b.inlineSize,e=b.blockSize}else d=a.offsetWidth,e=a.offsetHeight;c({width:d,height:e})});return b.observe(a,{box:"border-box"}),()=>b.unobserve(a)}c(void 0)},[a]),b}(X),$=Z?.width??0,_=Z?.height??0,aa="number"==typeof N?N:{top:0,right:0,bottom:0,left:0,...N},ab=Array.isArray(M)?M:[M],ac=ab.length>0,ad={padding:aa,boundary:ab.filter(dx),altBoundary:ac},{refs:ae,floatingStyles:af,placement:ag,isPositioned:ah,middlewareData:ai}=function(a){void 0===a&&(a={});let{placement:b="bottom",strategy:c="absolute",middleware:d=[],platform:e,elements:{reference:f,floating:g}={},transform:h=!0,whileElementsMounted:i,open:j}=a,[k,l]=n.useState({x:0,y:0,strategy:c,placement:b,middlewareData:{},isPositioned:!1}),[m,o]=n.useState(d);dd(m,d)||o(d);let[p,q]=n.useState(null),[r,s]=n.useState(null),t=n.useCallback(a=>{a!==x.current&&(x.current=a,q(a))},[]),u=n.useCallback(a=>{a!==y.current&&(y.current=a,s(a))},[]),v=f||p,w=g||r,x=n.useRef(null),y=n.useRef(null),z=n.useRef(k),A=null!=i,B=df(i),C=df(e),D=df(j),E=n.useCallback(()=>{var a,d;let e,f,g;if(!x.current||!y.current)return;let h={placement:b,strategy:c,middleware:m};C.current&&(h.platform=C.current),(a=x.current,d=y.current,e=new Map,g={...(f={platform:c9,...h}).platform,_c:e},cC(a,d,{...f,platform:g})).then(a=>{let b={...a,isPositioned:!1!==D.current};F.current&&!dd(z.current,b)&&(z.current=b,bH.flushSync(()=>{l(b)}))})},[m,b,c,C,D]);dc(()=>{!1===j&&z.current.isPositioned&&(z.current.isPositioned=!1,l(a=>({...a,isPositioned:!1})))},[j]);let F=n.useRef(!1);dc(()=>(F.current=!0,()=>{F.current=!1}),[]),dc(()=>{if(v&&(x.current=v),w&&(y.current=w),v&&w){if(B.current)return B.current(v,w,E);E()}},[v,w,E,B,A]);let G=n.useMemo(()=>({reference:x,floating:y,setReference:t,setFloating:u}),[t,u]),H=n.useMemo(()=>({reference:v,floating:w}),[v,w]),I=n.useMemo(()=>{let a={position:c,left:0,top:0};if(!H.floating)return a;let b=de(H.floating,k.x),d=de(H.floating,k.y);if(h)return{...a,transform:"translate("+b+"px, "+d+"px)",...(H.floating,false)};return{position:c,left:b,top:d}},[c,h,H.floating,k.x,k.y]);return n.useMemo(()=>({...k,update:E,refs:G,elements:H,floatingStyles:I}),[k,E,G,H,I])}({strategy:"fixed",placement:G+("center"!==I?"-"+I:""),whileElementsMounted:(...a)=>(function(a,b,c,d){let e;void 0===d&&(d={});let{ancestorScroll:f=!0,ancestorResize:g=!0,elementResize:h="function"==typeof ResizeObserver,layoutShift:i="function"==typeof IntersectionObserver,animationFrame:j=!1}=d,k=cZ(a),l=f||g?[...k?cW(k):[],...b?cW(b):[]]:[];l.forEach(a=>{f&&a.addEventListener("scroll",c,{passive:!0}),g&&a.addEventListener("resize",c)});let m=k&&i?function(a,b){let c,d=null,e=cJ(a);function f(){var a;clearTimeout(c),null==(a=d)||a.disconnect(),d=null}return!function g(h,i){void 0===h&&(h=!1),void 0===i&&(i=1),f();let j=a.getBoundingClientRect(),{left:k,top:l,width:m,height:n}=j;if(h||b(),!m||!n)return;let o={rootMargin:-cj(l)+"px "+-cj(e.clientWidth-(k+m))+"px "+-cj(e.clientHeight-(l+n))+"px "+-cj(k)+"px",threshold:ch(0,cg(1,i))||1},p=!0;function q(b){let d=b[0].intersectionRatio;if(d!==i){if(!p)return g();d?g(!1,d):c=setTimeout(()=>{g(!1,1e-7)},1e3)}1!==d||da(j,a.getBoundingClientRect())||g(),p=!1}try{d=new IntersectionObserver(q,{...o,root:e.ownerDocument})}catch(a){d=new IntersectionObserver(q,o)}d.observe(a)}(!0),f}(k,c):null,n=-1,o=null;h&&(o=new ResizeObserver(a=>{let[d]=a;d&&d.target===k&&o&&b&&(o.unobserve(b),cancelAnimationFrame(n),n=requestAnimationFrame(()=>{var a;null==(a=o)||a.observe(b)})),c()}),k&&!j&&o.observe(k),b&&o.observe(b));let p=j?c1(a):null;return j&&function b(){let d=c1(a);p&&!da(p,d)&&c(),p=d,e=requestAnimationFrame(b)}(),c(),()=>{var a;l.forEach(a=>{f&&a.removeEventListener("scroll",c),g&&a.removeEventListener("resize",c)}),null==m||m(),null==(a=o)||a.disconnect(),o=null,j&&cancelAnimationFrame(e)}})(...a,{animationFrame:"always"===Q}),elements:{reference:T.anchor},middleware:[{name:(z={name:"offset",options:e=c={mainAxis:H+_,alignmentAxis:J},async fn(a){var b,c;let{x:d,y:f,placement:g,middlewareData:h}=a,i=await cG(a,e);return g===(null==(b=h.offset)?void 0:b.placement)&&null!=(c=h.arrow)&&c.alignmentOffset?{}:{x:d+i.x,y:f+i.y,data:{...i,placement:g}}}}).name,fn:z.fn,options:[c,d]},L&&{name:(A={name:"shift",options:k=i={mainAxis:!0,crossAxis:!1,limiter:"partial"===O?{fn:(void 0===(h=f)&&(h={}),{options:h,fn(a){let{x:b,y:c,placement:d,rects:e,middlewareData:f}=a,{offset:g=0,mainAxis:i=!0,crossAxis:j=!0}=cm(h,a),k={x:b,y:c},l=cr(d),m=cp(l),n=k[m],o=k[l],p=cm(g,a),q="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(i){let a="y"===m?"height":"width",b=e.reference[m]-e.floating[a]+q.mainAxis,c=e.reference[m]+e.reference[a]-q.mainAxis;n<b?n=b:n>c&&(n=c)}if(j){var r,s;let a="y"===m?"width":"height",b=cF.has(cn(d)),c=e.reference[l]-e.floating[a]+(b&&(null==(r=f.offset)?void 0:r[l])||0)+(b?0:q.crossAxis),g=e.reference[l]+e.reference[a]+(b?0:(null==(s=f.offset)?void 0:s[l])||0)-(b?q.crossAxis:0);o<c?o=c:o>g&&(o=g)}return{[m]:n,[l]:o}}}).fn,options:[f,g]}:void 0,...ad},async fn(a){let{x:b,y:c,placement:d,platform:e}=a,{mainAxis:f=!0,crossAxis:g=!1,limiter:h={fn:a=>{let{x:b,y:c}=a;return{x:b,y:c}}},...i}=cm(k,a),j={x:b,y:c},l=await e.detectOverflow(a,i),m=cr(cn(d)),n=cp(m),o=j[n],p=j[m];if(f){let a="y"===n?"top":"left",b="y"===n?"bottom":"right",c=o+l[a],d=o-l[b];o=ch(c,cg(o,d))}if(g){let a="y"===m?"top":"left",b="y"===m?"bottom":"right",c=p+l[a],d=p-l[b];p=ch(c,cg(p,d))}let q=h.fn({...a,[n]:o,[m]:p});return{...q,data:{x:q.x-b,y:q.y-c,enabled:{[n]:f,[m]:g}}}}}).name,fn:A.fn,options:[i,j]},L&&{name:(B={name:"flip",options:p=l={...ad},async fn(a){var b,c,d,e,f,g,h,i;let j,k,l,{placement:m,middlewareData:n,rects:o,initialPlacement:q,platform:r,elements:s}=a,{mainAxis:t=!0,crossAxis:u=!0,fallbackPlacements:v,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:y=!0,...z}=cm(p,a);if(null!=(b=n.arrow)&&b.alignmentOffset)return{};let A=cn(m),B=cr(q),C=cn(q)===q,D=await (null==r.isRTL?void 0:r.isRTL(s.floating)),E=v||(C||!y?[cx(q)]:(j=cx(q),[cs(q),j,cs(j)])),F="none"!==x;!v&&F&&E.push(...(k=co(q),l=function(a,b,c){switch(a){case"top":case"bottom":if(c)return b?cu:ct;return b?ct:cu;case"left":case"right":return b?cv:cw;default:return[]}}(cn(q),"start"===x,D),k&&(l=l.map(a=>a+"-"+k),y&&(l=l.concat(l.map(cs)))),l));let G=[q,...E],H=await r.detectOverflow(a,z),I=[],J=(null==(c=n.flip)?void 0:c.overflows)||[];if(t&&I.push(H[A]),u){let a,b,c,d,e=(g=m,h=o,void 0===(i=D)&&(i=!1),a=co(g),c=cq(b=cp(cr(g))),d="x"===b?a===(i?"end":"start")?"right":"left":"start"===a?"bottom":"top",h.reference[c]>h.floating[c]&&(d=cx(d)),[d,cx(d)]);I.push(H[e[0]],H[e[1]])}if(J=[...J,{placement:m,overflows:I}],!I.every(a=>a<=0)){let a=((null==(d=n.flip)?void 0:d.index)||0)+1,b=G[a];if(b&&("alignment"!==u||B===cr(b)||J.every(a=>cr(a.placement)!==B||a.overflows[0]>0)))return{data:{index:a,overflows:J},reset:{placement:b}};let c=null==(e=J.filter(a=>a.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0])?void 0:e.placement;if(!c)switch(w){case"bestFit":{let a=null==(f=J.filter(a=>{if(F){let b=cr(a.placement);return b===B||"y"===b}return!0}).map(a=>[a.placement,a.overflows.filter(a=>a>0).reduce((a,b)=>a+b,0)]).sort((a,b)=>a[1]-b[1])[0])?void 0:f[0];a&&(c=a);break}case"initialPlacement":c=q}if(m!==c)return{reset:{placement:c}}}return{}}}).name,fn:B.fn,options:[l,o]},{name:(C={name:"size",options:s=q={...ad,apply:({elements:a,rects:b,availableWidth:c,availableHeight:d})=>{let{width:e,height:f}=b.reference,g=a.floating.style;g.setProperty("--radix-popper-available-width",`${c}px`),g.setProperty("--radix-popper-available-height",`${d}px`),g.setProperty("--radix-popper-anchor-width",`${e}px`),g.setProperty("--radix-popper-anchor-height",`${f}px`)}},async fn(a){var b,c;let d,e,{placement:f,rects:g,platform:h,elements:i}=a,{apply:j=()=>{},...k}=cm(s,a),l=await h.detectOverflow(a,k),m=cn(f),n=co(f),o="y"===cr(f),{width:p,height:q}=g.floating;"top"===m||"bottom"===m?(d=m,e=n===(await (null==h.isRTL?void 0:h.isRTL(i.floating))?"start":"end")?"left":"right"):(e=m,d="end"===n?"top":"bottom");let r=q-l.top-l.bottom,t=p-l.left-l.right,u=cg(q-l[d],r),v=cg(p-l[e],t),w=!a.middlewareData.shift,x=u,y=v;if(null!=(b=a.middlewareData.shift)&&b.enabled.x&&(y=t),null!=(c=a.middlewareData.shift)&&c.enabled.y&&(x=r),w&&!n){let a=ch(l.left,0),b=ch(l.right,0),c=ch(l.top,0),d=ch(l.bottom,0);o?y=p-2*(0!==a||0!==b?a+b:ch(l.left,l.right)):x=q-2*(0!==c||0!==d?c+d:ch(l.top,l.bottom))}await j({...a,availableWidth:y,availableHeight:x});let z=await h.getDimensions(i.floating);return p!==z.width||q!==z.height?{reset:{rects:!0}}:{}}}).name,fn:C.fn,options:[q,r]},X&&{name:(D={name:"arrow",options:v=t={element:X,padding:K},fn(a){let{element:b,padding:c}="function"==typeof v?v(a):v;return b&&({}).hasOwnProperty.call(b,"current")?null!=b.current?db({element:b.current,padding:c}).fn(a):{}:b?db({element:b,padding:c}).fn(a):{}}}).name,fn:D.fn,options:[t,u]},dy({arrowWidth:$,arrowHeight:_}),P&&{name:(E={name:"hide",options:y=w={strategy:"referenceHidden",...ad},async fn(a){let{rects:b,platform:c}=a,{strategy:d="referenceHidden",...e}=cm(y,a);switch(d){case"referenceHidden":{let d=cD(await c.detectOverflow(a,{...e,elementContext:"reference"}),b.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:cE(d)}}}case"escaped":{let d=cD(await c.detectOverflow(a,{...e,altBoundary:!0}),b.floating);return{data:{escapedOffsets:d,escaped:cE(d)}}}default:return{}}}}).name,fn:E.fn,options:[w,x]}]}),[aj,ak]=dz(ag),al=bW(R);cb(()=>{ah&&al?.()},[ah,al]);let am=ai.arrow?.x,an=ai.arrow?.y,ao=ai.arrow?.centerOffset!==0,[ap,aq]=n.useState();return cb(()=>{U&&aq(window.getComputedStyle(U).zIndex)},[U]),(0,m.jsx)("div",{ref:ae.setFloating,"data-radix-popper-content-wrapper":"",style:{...af,transform:ah?af.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ap,"--radix-popper-transform-origin":[ai.transformOrigin?.x,ai.transformOrigin?.y].join(" "),...ai.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,m.jsx)(dr,{scope:F,placedSide:aj,onArrowChange:Y,arrowX:am,arrowY:an,shouldHideArrow:ao,children:(0,m.jsx)(bV.div,{"data-side":aj,"data-align":ak,...S,ref:W,style:{...S.style,animation:ah?void 0:"none"}})})})});dt.displayName=dq;var du="PopperArrow",dv={top:"bottom",right:"left",bottom:"top",left:"right"},dw=n.forwardRef(function(a,b){let{__scopePopper:c,...d}=a,e=ds(du,c),f=dv[e.placedSide];return(0,m.jsx)("span",{ref:e.onArrowChange,style:{position:"absolute",left:e.arrowX,top:e.arrowY,[f]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[e.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[e.placedSide],visibility:e.shouldHideArrow?"hidden":void 0},children:(0,m.jsx)(dg,{...d,ref:b,style:{...d.style,display:"block"}})})});function dx(a){return null!==a}dw.displayName=du;var dy=a=>({name:"transformOrigin",options:a,fn(b){let{placement:c,rects:d,middlewareData:e}=b,f=e.arrow?.centerOffset!==0,g=f?0:a.arrowWidth,h=f?0:a.arrowHeight,[i,j]=dz(c),k={start:"0%",center:"50%",end:"100%"}[j],l=(e.arrow?.x??0)+g/2,m=(e.arrow?.y??0)+h/2,n="",o="";return"bottom"===i?(n=f?k:`${l}px`,o=`${-h}px`):"top"===i?(n=f?k:`${l}px`,o=`${d.floating.height+h}px`):"right"===i?(n=`${-h}px`,o=f?k:`${m}px`):"left"===i&&(n=`${d.floating.width+h}px`,o=f?k:`${m}px`),{data:{x:n,y:o}}}});function dz(a){let[b,c="center"]=a.split("-");return[b,c]}var dA=n.forwardRef((a,b)=>{let{container:c,...d}=a,[e,f]=n.useState(!1);cb(()=>f(!0),[]);let g=c||e&&globalThis?.document?.body;return g?bH.default.createPortal((0,m.jsx)(bV.div,{...d,ref:b}),g):null});dA.displayName="Portal",n[" useEffectEvent ".trim().toString()],n[" useInsertionEffect ".trim().toString()];var dB=n[" useInsertionEffect ".trim().toString()]||cb;function dC({prop:a,defaultProp:b,onChange:c=()=>{},caller:d}){let[e,f,g]=function({defaultProp:a,onChange:b}){let[c,d]=n.useState(a),e=n.useRef(c),f=n.useRef(b);return dB(()=>{f.current=b},[b]),n.useEffect(()=>{e.current!==c&&(f.current?.(c),e.current=c)},[c,e]),[c,d,f]}({defaultProp:b,onChange:c}),h=void 0!==a,i=h?a:e;{let b=n.useRef(void 0!==a);n.useEffect(()=>{let a=b.current;if(a!==h){let b=h?"controlled":"uncontrolled";console.warn(`${d} is changing from ${a?"controlled":"uncontrolled"} to ${b}. 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.`)}b.current=h},[h,d])}return[i,n.useCallback(b=>{if(h){let c="function"==typeof b?b(a):b;c!==a&&g.current?.(c)}else f(b)},[h,a,f,g])]}Symbol("RADIX:SYNC_STATE");var dD=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"});n.forwardRef((a,b)=>(0,m.jsx)(bV.span,{...a,ref:b,style:{...dD,...a.style}})).displayName="VisuallyHidden";var dE=new WeakMap,dF=new WeakMap,dG={},dH=0,dI=function(a){return a&&(a.host||dI(a.parentNode))},dJ=function(a,b,c,d){var e=(Array.isArray(a)?a:[a]).map(function(a){if(b.contains(a))return a;var c=dI(a);return c&&b.contains(c)?c:(console.error("aria-hidden",a,"in not contained inside",b,". Doing nothing"),null)}).filter(function(a){return!!a});dG[c]||(dG[c]=new WeakMap);var f=dG[c],g=[],h=new Set,i=new Set(e),j=function(a){!a||h.has(a)||(h.add(a),j(a.parentNode))};e.forEach(j);var k=function(a){!a||i.has(a)||Array.prototype.forEach.call(a.children,function(a){if(h.has(a))k(a);else try{var b=a.getAttribute(d),e=null!==b&&"false"!==b,i=(dE.get(a)||0)+1,j=(f.get(a)||0)+1;dE.set(a,i),f.set(a,j),g.push(a),1===i&&e&&dF.set(a,!0),1===j&&a.setAttribute(c,"true"),e||a.setAttribute(d,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return k(b),h.clear(),dH++,function(){g.forEach(function(a){var b=dE.get(a)-1,e=f.get(a)-1;dE.set(a,b),f.set(a,e),b||(dF.has(a)||a.removeAttribute(d),dF.delete(a)),e||a.removeAttribute(c)}),--dH||(dE=new WeakMap,dE=new WeakMap,dF=new WeakMap,dG={})}},dK=function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("u"<typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live], script"))),dJ(d,e,c,"aria-hidden")):function(){return null}},dL=function(){return(dL=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function dM(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}var dN=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),dO="width-before-scroll-bar";function dP(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var dQ=n.useEffect,dR=new WeakMap,dS=(void 0===e&&(e={}),(void 0===f&&(f=function(a){return a}),g=[],h=!1,i={read:function(){if(h)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return g.length?g[g.length-1]:null},useMedium:function(a){var b=f(a,h);return g.push(b),function(){g=g.filter(function(a){return a!==b})}},assignSyncMedium:function(a){for(h=!0;g.length;){var b=g;g=[],b.forEach(a)}g={push:function(b){return a(b)},filter:function(){return g}}},assignMedium:function(a){h=!0;var b=[];if(g.length){var c=g;g=[],c.forEach(a),b=g}var d=function(){var c=b;b=[],c.forEach(a)},e=function(){return Promise.resolve().then(d)};e(),g={push:function(a){b.push(a),e()},filter:function(a){return b=b.filter(a),g}}}}).options=dL({async:!0,ssr:!1},e),i),dT=function(){},dU=n.forwardRef(function(a,b){var c,d,e,f,g=n.useRef(null),h=n.useState({onScrollCapture:dT,onWheelCapture:dT,onTouchMoveCapture:dT}),i=h[0],j=h[1],k=a.forwardProps,l=a.children,m=a.className,o=a.removeScrollBar,p=a.enabled,q=a.shards,r=a.sideCar,s=a.noRelative,t=a.noIsolation,u=a.inert,v=a.allowPinchZoom,w=a.as,x=a.gapMode,y=dM(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),z=(c=[g,b],d=function(a){return c.forEach(function(b){return dP(b,a)})},(e=(0,n.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,dQ(function(){var a=dR.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||dP(a,null)}),d.forEach(function(a){b.has(a)||dP(a,e)})}dR.set(f,c)},[c]),f),A=dL(dL({},y),i);return n.createElement(n.Fragment,null,p&&n.createElement(r,{sideCar:dS,removeScrollBar:o,shards:q,noRelative:s,noIsolation:t,inert:u,setCallbacks:j,allowPinchZoom:!!v,lockRef:g,gapMode:x}),k?n.cloneElement(n.Children.only(l),dL(dL({},A),{ref:z})):n.createElement(void 0===w?"div":w,dL({},A,{className:m,ref:z}),l))});dU.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},dU.classNames={fullWidth:dO,zeroRight:dN};var dV=function(a){var b=a.sideCar,c=dM(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return n.createElement(d,dL({},c))};dV.isSideCarExport=!0;var dW=function(){var a=0,b=null;return{add:function(c){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=l||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return b&&a.setAttribute("nonce",b),a}())){var d,e;(d=b).styleSheet?d.styleSheet.cssText=c:d.appendChild(document.createTextNode(c)),e=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},dX=function(){var a=dW();return function(b,c){n.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},dY=function(){var a=dX();return function(b){return a(b.styles,b.dynamic),null}},dZ={left:0,top:0,right:0,gap:0},d$=dY(),d_="data-scroll-locked",d0=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(d_,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat(dN," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(dO," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(dN," .").concat(dN," {\n right: 0 ").concat(d,";\n }\n \n .").concat(dO," .").concat(dO," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(d_,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},d1=function(){var a=parseInt(document.body.getAttribute(d_)||"0",10);return isFinite(a)?a:0},d2=function(){n.useEffect(function(){return document.body.setAttribute(d_,(d1()+1).toString()),function(){var a=d1()-1;a<=0?document.body.removeAttribute(d_):document.body.setAttribute(d_,a.toString())}},[])},d3=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;d2();var f=n.useMemo(function(){return void 0===e,dZ},[e]);return n.createElement(d$,{styles:d0(f,!b,e,c?"":"!important")})},d4=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},d5=function(a,b){var c=b.ownerDocument,d=b;do{if("u">typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),d6(a,d)){var e=d7(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body)return!1},d6=function(a,b){return"v"===a?d4(b,"overflowY"):d4(b,"overflowX")},d7=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},d8=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{if(!i)break;var o=d7(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&d6(a,i)&&(m+=q,n+=p);var r=i.parentNode;i=r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE?r.host:r}while(!j&&i!==document.body||j&&(b.contains(i)||b===i))return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},d9=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},ea=function(a){return[a.deltaX,a.deltaY]},eb=function(a){return a&&"current"in a?a.current:a},ec=0,ed=[];let ee=(j=function(a){var b=n.useRef([]),c=n.useRef([0,0]),d=n.useRef(),e=n.useState(ec++)[0],f=n.useState(dY)[0],g=n.useRef(a);n.useEffect(function(){g.current=a},[a]),n.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(eb),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var h=n.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!g.current.allowPinchZoom;var e,f=d9(a),h=c.current,i="deltaX"in a?a.deltaX:h[0]-f[0],j="deltaY"in a?a.deltaY:h[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=window.getSelection(),n=m&&m.anchorNode;if(n&&(n===k||n.contains(k)))return!1;var o=d5(l,k);if(!o)return!0;if(o?e=l:(e="v"===l?"h":"v",o=d5(l,k)),!o)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var p=d.current||e;return d8(p,b,a,"h"===p?i:j,!0)},[]),i=n.useCallback(function(a){if(ed.length&&ed[ed.length-1]===f){var c="deltaY"in a?ea(a):d9(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(g.current.shards||[]).map(eb).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?h(a,e[0]):!g.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),j=n.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),k=n.useCallback(function(a){c.current=d9(a),d.current=void 0},[]),l=n.useCallback(function(b){j(b.type,ea(b),b.target,h(b,a.lockRef.current))},[]),m=n.useCallback(function(b){j(b.type,d9(b),b.target,h(b,a.lockRef.current))},[]);n.useEffect(function(){return ed.push(f),a.setCallbacks({onScrollCapture:l,onWheelCapture:l,onTouchMoveCapture:m}),document.addEventListener("wheel",i,!1),document.addEventListener("touchmove",i,!1),document.addEventListener("touchstart",k,!1),function(){ed=ed.filter(function(a){return a!==f}),document.removeEventListener("wheel",i,!1),document.removeEventListener("touchmove",i,!1),document.removeEventListener("touchstart",k,!1)}},[]);var o=a.removeScrollBar,p=a.inert;return n.createElement(n.Fragment,null,p?n.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,o?n.createElement(d3,{noRelative:a.noRelative,gapMode:a.gapMode}):null)},dS.useMedium(j),dV);var ef=n.forwardRef(function(a,b){return n.createElement(dU,dL({},a,{ref:b,sideCar:ee}))});ef.classNames=dU.classNames;var eg=[" ","Enter","ArrowUp","ArrowDown"],eh=[" ","Enter"],ei="Select",[ej,ek,el]=function(a){let b=a+"CollectionProvider",[c,d]=bK(b),[e,f]=c(b,{collectionRef:{current:null},itemMap:new Map}),g=a=>{let{scope:b,children:c}=a,d=n.default.useRef(null),f=n.default.useRef(new Map).current;return(0,m.jsx)(e,{scope:b,itemMap:f,collectionRef:d,children:c})};g.displayName=b;let h=a+"CollectionSlot",i=bO(h),j=n.default.forwardRef((a,b)=>{let{scope:c,children:d}=a,e=bN(b,f(h,c).collectionRef);return(0,m.jsx)(i,{ref:e,children:d})});j.displayName=h;let k=a+"CollectionItemSlot",l="data-radix-collection-item",o=bO(k),p=n.default.forwardRef((a,b)=>{let{scope:c,children:d,...e}=a,g=n.default.useRef(null),h=bN(b,g),i=f(k,c);return n.default.useEffect(()=>(i.itemMap.set(g,{ref:g,...e}),()=>void i.itemMap.delete(g))),(0,m.jsx)(o,{...{[l]:""},ref:h,children:d})});return p.displayName=k,[{Provider:g,Slot:j,ItemSlot:p},function(b){let c=f(a+"CollectionConsumer",b);return n.default.useCallback(()=>{let a=c.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${l}]`));return Array.from(c.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[c.collectionRef,c.itemMap])},d]}(ei),[em,en]=bK(ei,[el,dj]),eo=dj(),[ep,eq]=em(ei),[er,es]=em(ei),et=a=>{let b,{__scopeSelect:c,children:d,open:e,defaultOpen:f,onOpenChange:g,value:h,defaultValue:i,onValueChange:j,dir:k,name:l,autoComplete:o,disabled:p,required:q,form:r}=a,s=eo(c),[t,u]=n.useState(null),[v,w]=n.useState(null),[x,y]=n.useState(!1),z=(b=n.useContext(bU),k||b||"ltr"),[A,B]=dC({prop:e,defaultProp:f??!1,onChange:g,caller:ei}),[C,D]=dC({prop:h,defaultProp:i,onChange:j,caller:ei}),E=n.useRef(null),F=!t||r||!!t.closest("form"),[G,H]=n.useState(new Set),I=Array.from(G).map(a=>a.props.value).join(";");return(0,m.jsx)(dm,{...s,children:(0,m.jsxs)(ep,{required:q,scope:c,trigger:t,onTriggerChange:u,valueNode:v,onValueNodeChange:w,valueNodeHasChildren:x,onValueNodeHasChildrenChange:y,contentId:ce(),value:C,onValueChange:D,open:A,onOpenChange:B,dir:z,triggerPointerDownPosRef:E,disabled:p,children:[(0,m.jsx)(ej.Provider,{scope:c,children:(0,m.jsx)(er,{scope:a.__scopeSelect,onNativeOptionAdd:n.useCallback(a=>{H(b=>new Set(b).add(a))},[]),onNativeOptionRemove:n.useCallback(a=>{H(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:d})}),F?(0,m.jsxs)(e0,{"aria-hidden":!0,required:q,tabIndex:-1,name:l,autoComplete:o,value:C,onChange:a=>D(a.target.value),disabled:p,form:r,children:[void 0===C?(0,m.jsx)("option",{value:""}):null,Array.from(G)]},I):null]})})};et.displayName=ei;var eu="SelectTrigger",ev=n.forwardRef((a,b)=>{let{__scopeSelect:c,disabled:d=!1,...e}=a,f=eo(c),g=eq(eu,c),h=g.disabled||d,i=bN(b,g.onTriggerChange),j=ek(c),k=n.useRef("touch"),[l,o,p]=e2(a=>{let b=j().filter(a=>!a.disabled),c=b.find(a=>a.value===g.value),d=e3(b,a,c);void 0!==d&&g.onValueChange(d.value)}),q=a=>{h||(g.onOpenChange(!0),p()),a&&(g.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,m.jsx)(dp,{asChild:!0,...f,children:(0,m.jsx)(bV.button,{type:"button",role:"combobox","aria-controls":g.contentId,"aria-expanded":g.open,"aria-required":g.required,"aria-autocomplete":"none",dir:g.dir,"data-state":g.open?"open":"closed",disabled:h,"data-disabled":h?"":void 0,"data-placeholder":e1(g.value)?"":void 0,...e,ref:i,onClick:bJ(e.onClick,a=>{a.currentTarget.focus(),"mouse"!==k.current&&q(a)}),onPointerDown:bJ(e.onPointerDown,a=>{k.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(q(a),a.preventDefault())}),onKeyDown:bJ(e.onKeyDown,a=>{let b=""!==l.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||o(a.key),(!b||" "!==a.key)&&eg.includes(a.key)&&(q(),a.preventDefault())})})})});ev.displayName=eu;var ew="SelectValue",ex=n.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,children:f,placeholder:g="",...h}=a,i=eq(ew,c),{onValueNodeHasChildrenChange:j}=i,k=void 0!==f,l=bN(b,i.onValueNodeChange);return cb(()=>{j(k)},[j,k]),(0,m.jsx)(bV.span,{...h,ref:l,style:{pointerEvents:"none"},children:e1(i.value)?(0,m.jsx)(m.Fragment,{children:g}):f})});ex.displayName=ew;var ey=n.forwardRef((a,b)=>{let{__scopeSelect:c,children:d,...e}=a;return(0,m.jsx)(bV.span,{"aria-hidden":!0,...e,ref:b,children:d||"▼"})});ey.displayName="SelectIcon";var ez=a=>(0,m.jsx)(dA,{asChild:!0,...a});ez.displayName="SelectPortal";var eA="SelectContent",eB=n.forwardRef((a,b)=>{let c=eq(eA,a.__scopeSelect),[d,e]=n.useState();return(cb(()=>{e(new DocumentFragment)},[]),c.open)?(0,m.jsx)(eF,{...a,ref:b}):d?bH.createPortal((0,m.jsx)(eC,{scope:a.__scopeSelect,children:(0,m.jsx)(ej.Slot,{scope:a.__scopeSelect,children:(0,m.jsx)("div",{children:a.children})})}),d):null});eB.displayName=eA;var[eC,eD]=em(eA),eE=bO("SelectContent.RemoveScroll"),eF=n.forwardRef((a,b)=>{let{__scopeSelect:c,position:d="item-aligned",onCloseAutoFocus:e,onEscapeKeyDown:f,onPointerDownOutside:g,side:h,sideOffset:i,align:j,alignOffset:k,arrowPadding:l,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s,...t}=a,u=eq(eA,c),[v,w]=n.useState(null),[x,y]=n.useState(null),z=bN(b,a=>w(a)),[A,B]=n.useState(null),[C,D]=n.useState(null),E=ek(c),[F,G]=n.useState(!1),H=n.useRef(!1);n.useEffect(()=>{if(v)return dK(v)},[v]),n.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??b1()),document.body.insertAdjacentElement("beforeend",a[1]??b1()),b0++,()=>{1===b0&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),b0--}},[]);let I=n.useCallback(a=>{let[b,...c]=E().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&x&&(x.scrollTop=0),c===d&&x&&(x.scrollTop=x.scrollHeight),c?.focus(),document.activeElement!==e))return},[E,x]),J=n.useCallback(()=>I([A,v]),[I,A,v]);n.useEffect(()=>{F&&J()},[F,J]);let{onOpenChange:K,triggerPointerDownPosRef:L}=u;n.useEffect(()=>{if(v){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(L.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(L.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():v.contains(c.target)||K(!1),document.removeEventListener("pointermove",b),L.current=null};return null!==L.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[v,K,L]),n.useEffect(()=>{let a=()=>K(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[K]);let[M,N]=e2(a=>{let b=E().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=e3(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),O=n.useCallback((a,b,c)=>{let d=!H.current&&!c;(void 0!==u.value&&u.value===b||d)&&(B(a),d&&(H.current=!0))},[u.value]),P=n.useCallback(()=>v?.focus(),[v]),Q=n.useCallback((a,b,c)=>{let d=!H.current&&!c;(void 0!==u.value&&u.value===b||d)&&D(a)},[u.value]),R="popper"===d?eH:eG,S=R===eH?{side:h,sideOffset:i,align:j,alignOffset:k,arrowPadding:l,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s}:{};return(0,m.jsx)(eC,{scope:c,content:v,viewport:x,onViewportChange:y,itemRefCallback:O,selectedItem:A,onItemLeave:P,itemTextRefCallback:Q,focusSelectedItem:J,selectedItemText:C,position:d,isPositioned:F,searchRef:M,children:(0,m.jsx)(ef,{as:eE,allowPinchZoom:!0,children:(0,m.jsx)(b5,{asChild:!0,trapped:u.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:bJ(e,a=>{u.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,m.jsx)(bZ,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:f,onPointerDownOutside:g,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:(0,m.jsx)(R,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:a=>a.preventDefault(),...t,...S,onPlaced:()=>G(!0),ref:z,style:{display:"flex",flexDirection:"column",outline:"none",...t.style},onKeyDown:bJ(t.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||N(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=E().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>I(b)),a.preventDefault()}})})})})})})});eF.displayName="SelectContentImpl";var eG=n.forwardRef((a,b)=>{let{__scopeSelect:c,onPlaced:d,...e}=a,f=eq(eA,c),g=eD(eA,c),[h,i]=n.useState(null),[j,k]=n.useState(null),l=bN(b,a=>k(a)),o=ek(c),p=n.useRef(!1),q=n.useRef(!0),{viewport:r,selectedItem:s,selectedItemText:t,focusSelectedItem:u}=g,v=n.useCallback(()=>{if(f.trigger&&f.valueNode&&h&&j&&r&&s&&t){let a=f.trigger.getBoundingClientRect(),b=j.getBoundingClientRect(),c=f.valueNode.getBoundingClientRect(),e=t.getBoundingClientRect();if("rtl"!==f.dir){let d=e.left-b.left,f=c.left-d,g=a.left-f,i=a.width+g,j=Math.max(i,b.width),k=bI(f,[10,Math.max(10,window.innerWidth-10-j)]);h.style.minWidth=i+"px",h.style.left=k+"px"}else{let d=b.right-e.right,f=window.innerWidth-c.right-d,g=window.innerWidth-a.right-f,i=a.width+g,j=Math.max(i,b.width),k=bI(f,[10,Math.max(10,window.innerWidth-10-j)]);h.style.minWidth=i+"px",h.style.right=k+"px"}let g=o(),i=window.innerHeight-20,k=r.scrollHeight,l=window.getComputedStyle(j),m=parseInt(l.borderTopWidth,10),n=parseInt(l.paddingTop,10),q=parseInt(l.borderBottomWidth,10),u=m+n+k+parseInt(l.paddingBottom,10)+q,v=Math.min(5*s.offsetHeight,u),w=window.getComputedStyle(r),x=parseInt(w.paddingTop,10),y=parseInt(w.paddingBottom,10),z=a.top+a.height/2-10,A=s.offsetHeight/2,B=m+n+(s.offsetTop+A);if(B<=z){let a=g.length>0&&s===g[g.length-1].ref.current;h.style.bottom="0px";let b=Math.max(i-z,A+(a?y:0)+(j.clientHeight-r.offsetTop-r.offsetHeight)+q);h.style.height=B+b+"px"}else{let a=g.length>0&&s===g[0].ref.current;h.style.top="0px";let b=Math.max(z,m+r.offsetTop+(a?x:0)+A);h.style.height=b+(u-B)+"px",r.scrollTop=B-z+r.offsetTop}h.style.margin="10px 0",h.style.minHeight=v+"px",h.style.maxHeight=i+"px",d?.(),requestAnimationFrame(()=>p.current=!0)}},[o,f.trigger,f.valueNode,h,j,r,s,t,f.dir,d]);cb(()=>v(),[v]);let[w,x]=n.useState();cb(()=>{j&&x(window.getComputedStyle(j).zIndex)},[j]);let y=n.useCallback(a=>{a&&!0===q.current&&(v(),u?.(),q.current=!1)},[v,u]);return(0,m.jsx)(eI,{scope:c,contentWrapper:h,shouldExpandOnScrollRef:p,onScrollButtonChange:y,children:(0,m.jsx)("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:(0,m.jsx)(bV.div,{...e,ref:l,style:{boxSizing:"border-box",maxHeight:"100%",...e.style}})})})});eG.displayName="SelectItemAlignedPosition";var eH=n.forwardRef((a,b)=>{let{__scopeSelect:c,align:d="start",collisionPadding:e=10,...f}=a,g=eo(c);return(0,m.jsx)(dt,{...g,...f,ref:b,align:d,collisionPadding:e,style:{boxSizing:"border-box",...f.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)"}})});eH.displayName="SelectPopperPosition";var[eI,eJ]=em(eA,{}),eK="SelectViewport",eL=n.forwardRef((a,b)=>{let{__scopeSelect:c,nonce:d,...e}=a,f=eD(eK,c),g=eJ(eK,c),h=bN(b,f.onViewportChange),i=n.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:d}),(0,m.jsx)(ej.Slot,{scope:c,children:(0,m.jsx)(bV.div,{"data-radix-select-viewport":"",role:"presentation",...e,ref:h,style:{position:"relative",flex:1,overflow:"hidden auto",...e.style},onScroll:bJ(e.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=g;if(d?.current&&c){let a=Math.abs(i.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}i.current=b.scrollTop})})})]})});eL.displayName=eK;var eM="SelectGroup",[eN,eO]=em(eM);n.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=ce();return(0,m.jsx)(eN,{scope:c,id:e,children:(0,m.jsx)(bV.div,{role:"group","aria-labelledby":e,...d,ref:b})})}).displayName=eM;var eP="SelectLabel";n.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=eO(eP,c);return(0,m.jsx)(bV.div,{id:e.id,...d,ref:b})}).displayName=eP;var eQ="SelectItem",[eR,eS]=em(eQ),eT=n.forwardRef((a,b)=>{let{__scopeSelect:c,value:d,disabled:e=!1,textValue:f,...g}=a,h=eq(eQ,c),i=eD(eQ,c),j=h.value===d,[k,l]=n.useState(f??""),[o,p]=n.useState(!1),q=bN(b,a=>i.itemRefCallback?.(a,d,e)),r=ce(),s=n.useRef("touch"),t=()=>{e||(h.onValueChange(d),h.onOpenChange(!1))};if(""===d)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)(eR,{scope:c,value:d,disabled:e,textId:r,isSelected:j,onItemTextChange:n.useCallback(a=>{l(b=>b||(a?.textContent??"").trim())},[]),children:(0,m.jsx)(ej.ItemSlot,{scope:c,value:d,disabled:e,textValue:k,children:(0,m.jsx)(bV.div,{role:"option","aria-labelledby":r,"data-highlighted":o?"":void 0,"aria-selected":j&&o,"data-state":j?"checked":"unchecked","aria-disabled":e||void 0,"data-disabled":e?"":void 0,tabIndex:e?void 0:-1,...g,ref:q,onFocus:bJ(g.onFocus,()=>p(!0)),onBlur:bJ(g.onBlur,()=>p(!1)),onClick:bJ(g.onClick,()=>{"mouse"!==s.current&&t()}),onPointerUp:bJ(g.onPointerUp,()=>{"mouse"===s.current&&t()}),onPointerDown:bJ(g.onPointerDown,a=>{s.current=a.pointerType}),onPointerMove:bJ(g.onPointerMove,a=>{s.current=a.pointerType,e?i.onItemLeave?.():"mouse"===s.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:bJ(g.onPointerLeave,a=>{a.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:bJ(g.onKeyDown,a=>{(i.searchRef?.current===""||" "!==a.key)&&(eh.includes(a.key)&&t()," "===a.key&&a.preventDefault())})})})})});eT.displayName=eQ;var eU="SelectItemText",eV=n.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,...f}=a,g=eq(eU,c),h=eD(eU,c),i=eS(eU,c),j=es(eU,c),[k,l]=n.useState(null),o=bN(b,a=>l(a),i.onItemTextChange,a=>h.itemTextRefCallback?.(a,i.value,i.disabled)),p=k?.textContent,q=n.useMemo(()=>(0,m.jsx)("option",{value:i.value,disabled:i.disabled,children:p},i.value),[i.disabled,i.value,p]),{onNativeOptionAdd:r,onNativeOptionRemove:s}=j;return cb(()=>(r(q),()=>s(q)),[r,s,q]),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(bV.span,{id:i.textId,...f,ref:o}),i.isSelected&&g.valueNode&&!g.valueNodeHasChildren?bH.createPortal(f.children,g.valueNode):null]})});eV.displayName=eU;var eW="SelectItemIndicator",eX=n.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return eS(eW,c).isSelected?(0,m.jsx)(bV.span,{"aria-hidden":!0,...d,ref:b}):null});eX.displayName=eW;var eY="SelectScrollUpButton";n.forwardRef((a,b)=>{let c=eD(eY,a.__scopeSelect),d=eJ(eY,a.__scopeSelect),[e,f]=n.useState(!1),g=bN(b,d.onScrollButtonChange);return cb(()=>{if(c.viewport&&c.isPositioned){let a=function(){f(b.scrollTop>0)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,m.jsx)(e$,{...a,ref:g,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null}).displayName=eY;var eZ="SelectScrollDownButton";n.forwardRef((a,b)=>{let c=eD(eZ,a.__scopeSelect),d=eJ(eZ,a.__scopeSelect),[e,f]=n.useState(!1),g=bN(b,d.onScrollButtonChange);return cb(()=>{if(c.viewport&&c.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;f(Math.ceil(b.scrollTop)<a)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,m.jsx)(e$,{...a,ref:g,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null}).displayName=eZ;var e$=n.forwardRef((a,b)=>{let{__scopeSelect:c,onAutoScroll:d,...e}=a,f=eD("SelectScrollButton",c),g=n.useRef(null),h=ek(c),i=n.useCallback(()=>{null!==g.current&&(window.clearInterval(g.current),g.current=null)},[]);return n.useEffect(()=>()=>i(),[i]),cb(()=>{let a=h().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[h]),(0,m.jsx)(bV.div,{"aria-hidden":!0,...e,ref:b,style:{flexShrink:0,...e.style},onPointerDown:bJ(e.onPointerDown,()=>{null===g.current&&(g.current=window.setInterval(d,50))}),onPointerMove:bJ(e.onPointerMove,()=>{f.onItemLeave?.(),null===g.current&&(g.current=window.setInterval(d,50))}),onPointerLeave:bJ(e.onPointerLeave,()=>{i()})})});n.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return(0,m.jsx)(bV.div,{"aria-hidden":!0,...d,ref:b})}).displayName="SelectSeparator";var e_="SelectArrow";n.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=eo(c),f=eq(e_,c),g=eD(e_,c);return f.open&&"popper"===g.position?(0,m.jsx)(dw,{...e,...d,ref:b}):null}).displayName=e_;var e0=n.forwardRef(({__scopeSelect:a,value:b,...c},d)=>{let e,f=n.useRef(null),g=bN(d,f),h=(e=n.useRef({value:b,previous:b}),n.useMemo(()=>(e.current.value!==b&&(e.current.previous=e.current.value,e.current.value=b),e.current.previous),[b]));return n.useEffect(()=>{let a=f.current;if(!a)return;let c=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(h!==b&&c){let d=new Event("change",{bubbles:!0});c.call(a,b),a.dispatchEvent(d)}},[h,b]),(0,m.jsx)(bV.select,{...c,style:{...dD,...c.style},ref:g,defaultValue:b})});function e1(a){return""===a||void 0===a}function e2(a){let b=bW(a),c=n.useRef(""),d=n.useRef(0),e=n.useCallback(a=>{let e=c.current+a;b(e),function a(b){c.current=b,window.clearTimeout(d.current),""!==b&&(d.current=window.setTimeout(()=>a(""),1e3))}(e)},[b]),f=n.useCallback(()=>{c.current="",window.clearTimeout(d.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(d.current),[]),[c,e,f]}function e3(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}e0.displayName="SelectBubbleInput";let e4=as("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),e5=as("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"}]]),e6=(a=new Map,b=null,c)=>({nextPart:a,validators:b,classGroupId:c}),e7=[],e8=(a,b,c)=>{if(0==a.length-b)return c.classGroupId;let d=a[b],e=c.nextPart.get(d);if(e){let c=e8(a,b+1,e);if(c)return c}let f=c.validators;if(null===f)return;let g=0===b?a.join("-"):a.slice(b).join("-"),h=f.length;for(let a=0;a<h;a++){let b=f[a];if(b.validator(g))return b.classGroupId}},e9=(a,b)=>{let c=e6();for(let d in a)fa(a[d],c,d,b);return c},fa=(a,b,c,d)=>{let e=a.length;for(let f=0;f<e;f++)fb(a[f],b,c,d)},fb=(a,b,c,d)=>{"string"==typeof a?fc(a,b,c):"function"==typeof a?fd(a,b,c,d):fe(a,b,c,d)},fc=(a,b,c)=>{(""===a?b:ff(b,a)).classGroupId=c},fd=(a,b,c,d)=>{fg(a)?fa(a(d),b,c,d):(null===b.validators&&(b.validators=[]),b.validators.push({classGroupId:c,validator:a}))},fe=(a,b,c,d)=>{let e=Object.entries(a),f=e.length;for(let a=0;a<f;a++){let[f,g]=e[a];fa(g,ff(b,f),c,d)}},ff=(a,b)=>{let c=a,d=b.split("-"),e=d.length;for(let a=0;a<e;a++){let b=d[a],e=c.nextPart.get(b);e||(e=e6(),c.nextPart.set(b,e)),c=e}return c},fg=a=>"isThemeGetter"in a&&!0===a.isThemeGetter,fh=[],fi=(a,b,c,d,e)=>({modifiers:a,hasImportantModifier:b,baseClassName:c,maybePostfixModifierPosition:d,isExternal:e}),fj=/\s+/,fk=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=fk(a[d]))&&(c&&(c+=" "),c+=b);return c},fl=[],fm=a=>{let b=b=>b[a]||fl;return b.isThemeGetter=!0,b},fn=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,fo=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fp=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,fq=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,fr=/\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$/,fs=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,ft=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,fu=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,fv=a=>fp.test(a),fw=a=>!!a&&!Number.isNaN(Number(a)),fx=a=>!!a&&Number.isInteger(Number(a)),fy=a=>a.endsWith("%")&&fw(a.slice(0,-1)),fz=a=>fq.test(a),fA=()=>!0,fB=a=>fr.test(a)&&!fs.test(a),fC=()=>!1,fD=a=>ft.test(a),fE=a=>fu.test(a),fF=a=>!fH(a)&&!fP(a),fG=a=>fX(a,f_,fC),fH=a=>fn.test(a),fI=a=>fX(a,f0,fB),fJ=a=>fX(a,f1,fw),fK=a=>fX(a,f3,fA),fL=a=>fX(a,f2,fC),fM=a=>fX(a,fZ,fC),fN=a=>fX(a,f$,fE),fO=a=>fX(a,f4,fD),fP=a=>fo.test(a),fQ=a=>fY(a,f0),fR=a=>fY(a,f2),fS=a=>fY(a,fZ),fT=a=>fY(a,f_),fU=a=>fY(a,f$),fV=a=>fY(a,f4,!0),fW=a=>fY(a,f3,!0),fX=(a,b,c)=>{let d=fn.exec(a);return!!d&&(d[1]?b(d[1]):c(d[2]))},fY=(a,b,c=!1)=>{let d=fo.exec(a);return!!d&&(d[1]?b(d[1]):c)},fZ=a=>"position"===a||"percentage"===a,f$=a=>"image"===a||"url"===a,f_=a=>"length"===a||"size"===a||"bg-size"===a,f0=a=>"length"===a,f1=a=>"number"===a,f2=a=>"family-name"===a,f3=a=>"number"===a||"weight"===a,f4=a=>"shadow"===a,f5=((a,...b)=>{let c,d,e,f,g=a=>{let b=d(a);if(b)return b;let f=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e,sortModifiers:f}=b,g=[],h=a.trim().split(fj),i="";for(let a=h.length-1;a>=0;a-=1){let b=h[a],{isExternal:j,modifiers:k,hasImportantModifier:l,baseClassName:m,maybePostfixModifierPosition:n}=c(b);if(j){i=b+(i.length>0?" "+i:i);continue}let o=!!n,p=d(o?m.substring(0,n):m);if(!p){if(!o||!(p=d(m))){i=b+(i.length>0?" "+i:i);continue}o=!1}let q=0===k.length?"":1===k.length?k[0]:f(k).join(":"),r=l?q+"!":q,s=r+p;if(g.indexOf(s)>-1)continue;g.push(s);let t=e(p,o);for(let a=0;a<t.length;++a){let b=t[a];g.push(r+b)}i=b+(i.length>0?" "+i:i)}return i})(a,c);return e(a,f),f};return f=h=>{var i;let j;return d=(c={cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=Object.create(null),d=Object.create(null),e=(e,f)=>{c[e]=f,++b>a&&(b=0,d=c,c=Object.create(null))};return{get(a){let b=c[a];return void 0!==b?b:void 0!==(b=d[a])?(e(a,b),b):void 0},set(a,b){a in c?c[a]=b:e(a,b)}}})((i=b.reduce((a,b)=>b(a),a())).cacheSize),parseClassName:(a=>{let{prefix:b,experimentalParseClassName:c}=a,d=a=>{let b,c=[],d=0,e=0,f=0,g=a.length;for(let h=0;h<g;h++){let g=a[h];if(0===d&&0===e){if(":"===g){c.push(a.slice(f,h)),f=h+1;continue}if("/"===g){b=h;continue}}"["===g?d++:"]"===g?d--:"("===g?e++:")"===g&&e--}let h=0===c.length?a:a.slice(f),i=h,j=!1;return h.endsWith("!")?(i=h.slice(0,-1),j=!0):h.startsWith("!")&&(i=h.slice(1),j=!0),fi(c,j,i,b&&b>f?b-f:void 0)};if(b){let a=b+":",c=d;d=b=>b.startsWith(a)?c(b.slice(a.length)):fi(fh,!1,b,void 0,!0)}if(c){let a=d;d=b=>c({className:b,parseClassName:a})}return d})(i),sortModifiers:(j=new Map,i.orderSensitiveModifiers.forEach((a,b)=>{j.set(a,1e6+b)}),a=>{let b=[],c=[];for(let d=0;d<a.length;d++){let e=a[d],f="["===e[0],g=j.has(e);f||g?(c.length>0&&(c.sort(),b.push(...c),c=[]),b.push(e)):c.push(e)}return c.length>0&&(c.sort(),b.push(...c)),b}),...(a=>{let b=(a=>{let{theme:b,classGroups:c}=a;return e9(c,b)})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:d}=a;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]")){var c;let b,d,e;return -1===(c=a).slice(1,-1).indexOf(":")?void 0:(d=(b=c.slice(1,-1)).indexOf(":"),(e=b.slice(0,d))?"arbitrary.."+e:void 0)}let d=a.split("-"),e=+(""===d[0]&&d.length>1);return e8(d,e,b)},getConflictingClassGroupIds:(a,b)=>{if(b){let b=d[a],e=c[a];if(b){if(e){let a=Array(e.length+b.length);for(let b=0;b<e.length;b++)a[b]=e[b];for(let c=0;c<b.length;c++)a[e.length+c]=b[c];return a}return b}return e||e7}return c[a]||e7}}})(i)}).cache.get,e=c.cache.set,f=g,g(h)},(...a)=>f(((...a)=>{let b,c,d=0,e="";for(;d<a.length;)(b=a[d++])&&(c=fk(b))&&(e&&(e+=" "),e+=c);return e})(...a))})(()=>{let a=fm("color"),b=fm("font"),c=fm("text"),d=fm("font-weight"),e=fm("tracking"),f=fm("leading"),g=fm("breakpoint"),h=fm("container"),i=fm("spacing"),j=fm("radius"),k=fm("shadow"),l=fm("inset-shadow"),m=fm("text-shadow"),n=fm("drop-shadow"),o=fm("blur"),p=fm("perspective"),q=fm("aspect"),r=fm("ease"),s=fm("animate"),t=()=>["auto","avoid","all","avoid-page","page","left","right","column"],u=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[...u(),fP,fH],w=()=>["auto","hidden","clip","visible","scroll"],x=()=>["auto","contain","none"],y=()=>[fP,fH,i],z=()=>[fv,"full","auto",...y()],A=()=>[fx,"none","subgrid",fP,fH],B=()=>["auto",{span:["full",fx,fP,fH]},fx,fP,fH],C=()=>[fx,"auto",fP,fH],D=()=>["auto","min","max","fr",fP,fH],E=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],F=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...y()],H=()=>[fv,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...y()],I=()=>[fv,"screen","full","dvw","lvw","svw","min","max","fit",...y()],J=()=>[fv,"screen","full","lh","dvh","lvh","svh","min","max","fit",...y()],K=()=>[a,fP,fH],L=()=>[...u(),fS,fM,{position:[fP,fH]}],M=()=>["no-repeat",{repeat:["","x","y","space","round"]}],N=()=>["auto","cover","contain",fT,fG,{size:[fP,fH]}],O=()=>[fy,fQ,fI],P=()=>["","none","full",j,fP,fH],Q=()=>["",fw,fQ,fI],R=()=>["solid","dashed","dotted","double"],S=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],T=()=>[fw,fy,fS,fM],U=()=>["","none",o,fP,fH],V=()=>["none",fw,fP,fH],W=()=>["none",fw,fP,fH],X=()=>[fw,fP,fH],Y=()=>[fv,"full",...y()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[fz],breakpoint:[fz],color:[fA],container:[fz],"drop-shadow":[fz],ease:["in","out","in-out"],font:[fF],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[fz],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[fz],shadow:[fz],spacing:["px",fw],text:[fz],"text-shadow":[fz],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",fv,fH,fP,q]}],container:["container"],columns:[{columns:[fw,fH,fP,h]}],"break-after":[{"break-after":t()}],"break-before":[{"break-before":t()}],"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:v()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:x()}],"overscroll-x":[{"overscroll-x":x()}],"overscroll-y":[{"overscroll-y":x()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:z()}],"inset-x":[{"inset-x":z()}],"inset-y":[{"inset-y":z()}],start:[{"inset-s":z(),start:z()}],end:[{"inset-e":z(),end:z()}],"inset-bs":[{"inset-bs":z()}],"inset-be":[{"inset-be":z()}],top:[{top:z()}],right:[{right:z()}],bottom:[{bottom:z()}],left:[{left:z()}],visibility:["visible","invisible","collapse"],z:[{z:[fx,"auto",fP,fH]}],basis:[{basis:[fv,"full","auto",h,...y()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[fw,fv,"auto","initial","none",fH]}],grow:[{grow:["",fw,fP,fH]}],shrink:[{shrink:["",fw,fP,fH]}],order:[{order:[fx,"first","last","none",fP,fH]}],"grid-cols":[{"grid-cols":A()}],"col-start-end":[{col:B()}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":A()}],"row-start-end":[{row:B()}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:y()}],"gap-x":[{"gap-x":y()}],"gap-y":[{"gap-y":y()}],"justify-content":[{justify:[...E(),"normal"]}],"justify-items":[{"justify-items":[...F(),"normal"]}],"justify-self":[{"justify-self":["auto",...F()]}],"align-content":[{content:["normal",...E()]}],"align-items":[{items:[...F(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...F(),{baseline:["","last"]}]}],"place-content":[{"place-content":E()}],"place-items":[{"place-items":[...F(),"baseline"]}],"place-self":[{"place-self":["auto",...F()]}],p:[{p:y()}],px:[{px:y()}],py:[{py:y()}],ps:[{ps:y()}],pe:[{pe:y()}],pbs:[{pbs:y()}],pbe:[{pbe:y()}],pt:[{pt:y()}],pr:[{pr:y()}],pb:[{pb:y()}],pl:[{pl:y()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mbs:[{mbs:G()}],mbe:[{mbe:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":y()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":y()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],"inline-size":[{inline:["auto",...I()]}],"min-inline-size":[{"min-inline":["auto",...I()]}],"max-inline-size":[{"max-inline":["none",...I()]}],"block-size":[{block:["auto",...J()]}],"min-block-size":[{"min-block":["auto",...J()]}],"max-block-size":[{"max-block":["none",...J()]}],w:[{w:[h,"screen",...H()]}],"min-w":[{"min-w":[h,"screen","none",...H()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[g]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",c,fQ,fI]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[d,fW,fK]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",fy,fH]}],"font-family":[{font:[fR,fL,b]}],"font-features":[{"font-features":[fH]}],"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:[e,fP,fH]}],"line-clamp":[{"line-clamp":[fw,"none",fP,fJ]}],leading:[{leading:[f,...y()]}],"list-image":[{"list-image":["none",fP,fH]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",fP,fH]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:K()}],"text-color":[{text:K()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...R(),"wavy"]}],"text-decoration-thickness":[{decoration:[fw,"from-font","auto",fP,fI]}],"text-decoration-color":[{decoration:K()}],"underline-offset":[{"underline-offset":[fw,"auto",fP,fH]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:y()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",fP,fH]}],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",fP,fH]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:L()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:N()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},fx,fP,fH],radial:["",fP,fH],conic:[fx,fP,fH]},fU,fN]}],"bg-color":[{bg:K()}],"gradient-from-pos":[{from:O()}],"gradient-via-pos":[{via:O()}],"gradient-to-pos":[{to:O()}],"gradient-from":[{from:K()}],"gradient-via":[{via:K()}],"gradient-to":[{to:K()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"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:[...R(),"hidden","none"]}],"divide-style":[{divide:[...R(),"hidden","none"]}],"border-color":[{border:K()}],"border-color-x":[{"border-x":K()}],"border-color-y":[{"border-y":K()}],"border-color-s":[{"border-s":K()}],"border-color-e":[{"border-e":K()}],"border-color-bs":[{"border-bs":K()}],"border-color-be":[{"border-be":K()}],"border-color-t":[{"border-t":K()}],"border-color-r":[{"border-r":K()}],"border-color-b":[{"border-b":K()}],"border-color-l":[{"border-l":K()}],"divide-color":[{divide:K()}],"outline-style":[{outline:[...R(),"none","hidden"]}],"outline-offset":[{"outline-offset":[fw,fP,fH]}],"outline-w":[{outline:["",fw,fQ,fI]}],"outline-color":[{outline:K()}],shadow:[{shadow:["","none",k,fV,fO]}],"shadow-color":[{shadow:K()}],"inset-shadow":[{"inset-shadow":["none",l,fV,fO]}],"inset-shadow-color":[{"inset-shadow":K()}],"ring-w":[{ring:Q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:K()}],"ring-offset-w":[{"ring-offset":[fw,fI]}],"ring-offset-color":[{"ring-offset":K()}],"inset-ring-w":[{"inset-ring":Q()}],"inset-ring-color":[{"inset-ring":K()}],"text-shadow":[{"text-shadow":["none",m,fV,fO]}],"text-shadow-color":[{"text-shadow":K()}],opacity:[{opacity:[fw,fP,fH]}],"mix-blend":[{"mix-blend":[...S(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":S()}],"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":[fw]}],"mask-image-linear-from-pos":[{"mask-linear-from":T()}],"mask-image-linear-to-pos":[{"mask-linear-to":T()}],"mask-image-linear-from-color":[{"mask-linear-from":K()}],"mask-image-linear-to-color":[{"mask-linear-to":K()}],"mask-image-t-from-pos":[{"mask-t-from":T()}],"mask-image-t-to-pos":[{"mask-t-to":T()}],"mask-image-t-from-color":[{"mask-t-from":K()}],"mask-image-t-to-color":[{"mask-t-to":K()}],"mask-image-r-from-pos":[{"mask-r-from":T()}],"mask-image-r-to-pos":[{"mask-r-to":T()}],"mask-image-r-from-color":[{"mask-r-from":K()}],"mask-image-r-to-color":[{"mask-r-to":K()}],"mask-image-b-from-pos":[{"mask-b-from":T()}],"mask-image-b-to-pos":[{"mask-b-to":T()}],"mask-image-b-from-color":[{"mask-b-from":K()}],"mask-image-b-to-color":[{"mask-b-to":K()}],"mask-image-l-from-pos":[{"mask-l-from":T()}],"mask-image-l-to-pos":[{"mask-l-to":T()}],"mask-image-l-from-color":[{"mask-l-from":K()}],"mask-image-l-to-color":[{"mask-l-to":K()}],"mask-image-x-from-pos":[{"mask-x-from":T()}],"mask-image-x-to-pos":[{"mask-x-to":T()}],"mask-image-x-from-color":[{"mask-x-from":K()}],"mask-image-x-to-color":[{"mask-x-to":K()}],"mask-image-y-from-pos":[{"mask-y-from":T()}],"mask-image-y-to-pos":[{"mask-y-to":T()}],"mask-image-y-from-color":[{"mask-y-from":K()}],"mask-image-y-to-color":[{"mask-y-to":K()}],"mask-image-radial":[{"mask-radial":[fP,fH]}],"mask-image-radial-from-pos":[{"mask-radial-from":T()}],"mask-image-radial-to-pos":[{"mask-radial-to":T()}],"mask-image-radial-from-color":[{"mask-radial-from":K()}],"mask-image-radial-to-color":[{"mask-radial-to":K()}],"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":u()}],"mask-image-conic-pos":[{"mask-conic":[fw]}],"mask-image-conic-from-pos":[{"mask-conic-from":T()}],"mask-image-conic-to-pos":[{"mask-conic-to":T()}],"mask-image-conic-from-color":[{"mask-conic-from":K()}],"mask-image-conic-to-color":[{"mask-conic-to":K()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:L()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:N()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",fP,fH]}],filter:[{filter:["","none",fP,fH]}],blur:[{blur:U()}],brightness:[{brightness:[fw,fP,fH]}],contrast:[{contrast:[fw,fP,fH]}],"drop-shadow":[{"drop-shadow":["","none",n,fV,fO]}],"drop-shadow-color":[{"drop-shadow":K()}],grayscale:[{grayscale:["",fw,fP,fH]}],"hue-rotate":[{"hue-rotate":[fw,fP,fH]}],invert:[{invert:["",fw,fP,fH]}],saturate:[{saturate:[fw,fP,fH]}],sepia:[{sepia:["",fw,fP,fH]}],"backdrop-filter":[{"backdrop-filter":["","none",fP,fH]}],"backdrop-blur":[{"backdrop-blur":U()}],"backdrop-brightness":[{"backdrop-brightness":[fw,fP,fH]}],"backdrop-contrast":[{"backdrop-contrast":[fw,fP,fH]}],"backdrop-grayscale":[{"backdrop-grayscale":["",fw,fP,fH]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[fw,fP,fH]}],"backdrop-invert":[{"backdrop-invert":["",fw,fP,fH]}],"backdrop-opacity":[{"backdrop-opacity":[fw,fP,fH]}],"backdrop-saturate":[{"backdrop-saturate":[fw,fP,fH]}],"backdrop-sepia":[{"backdrop-sepia":["",fw,fP,fH]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":y()}],"border-spacing-x":[{"border-spacing-x":y()}],"border-spacing-y":[{"border-spacing-y":y()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",fP,fH]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[fw,"initial",fP,fH]}],ease:[{ease:["linear","initial",r,fP,fH]}],delay:[{delay:[fw,fP,fH]}],animate:[{animate:["none",s,fP,fH]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,fP,fH]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:V()}],"rotate-x":[{"rotate-x":V()}],"rotate-y":[{"rotate-y":V()}],"rotate-z":[{"rotate-z":V()}],scale:[{scale:W()}],"scale-x":[{"scale-x":W()}],"scale-y":[{"scale-y":W()}],"scale-z":[{"scale-z":W()}],"scale-3d":["scale-3d"],skew:[{skew:X()}],"skew-x":[{"skew-x":X()}],"skew-y":[{"skew-y":X()}],transform:[{transform:[fP,fH,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Y()}],"translate-x":[{"translate-x":Y()}],"translate-y":[{"translate-y":Y()}],"translate-z":[{"translate-z":Y()}],"translate-none":["translate-none"],accent:[{accent:K()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:K()}],"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",fP,fH]}],"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":y()}],"scroll-mx":[{"scroll-mx":y()}],"scroll-my":[{"scroll-my":y()}],"scroll-ms":[{"scroll-ms":y()}],"scroll-me":[{"scroll-me":y()}],"scroll-mbs":[{"scroll-mbs":y()}],"scroll-mbe":[{"scroll-mbe":y()}],"scroll-mt":[{"scroll-mt":y()}],"scroll-mr":[{"scroll-mr":y()}],"scroll-mb":[{"scroll-mb":y()}],"scroll-ml":[{"scroll-ml":y()}],"scroll-p":[{"scroll-p":y()}],"scroll-px":[{"scroll-px":y()}],"scroll-py":[{"scroll-py":y()}],"scroll-ps":[{"scroll-ps":y()}],"scroll-pe":[{"scroll-pe":y()}],"scroll-pbs":[{"scroll-pbs":y()}],"scroll-pbe":[{"scroll-pbe":y()}],"scroll-pt":[{"scroll-pt":y()}],"scroll-pr":[{"scroll-pr":y()}],"scroll-pb":[{"scroll-pb":y()}],"scroll-pl":[{"scroll-pl":y()}],"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",fP,fH]}],fill:[{fill:["none",...K()]}],"stroke-w":[{stroke:[fw,fQ,fI,fJ]}],stroke:[{stroke:["none",...K()]}],"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 f6(...a){return f5(function(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}(a))}let f7=n.forwardRef(({className:a,children:b,...c},d)=>(0,m.jsxs)(ev,{ref:d,className:f6("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",a),...c,children:[b,(0,m.jsx)(ey,{asChild:!0,children:(0,m.jsx)(e4,{className:"h-4 w-4 opacity-50"})})]}));f7.displayName=ev.displayName;let f8=n.forwardRef(({className:a,children:b,position:c="popper",...d},e)=>(0,m.jsx)(ez,{children:(0,m.jsx)(eB,{ref:e,className:f6("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"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...d,children:(0,m.jsx)(eL,{className:f6("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:b})})}));f8.displayName=eB.displayName;let f9=n.forwardRef(({className:a,children:b,...c},d)=>(0,m.jsxs)(eT,{ref:d,className:f6("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",a),...c,children:[(0,m.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,m.jsx)(eX,{children:(0,m.jsx)(aI,{className:"h-4 w-4"})})}),(0,m.jsx)(eV,{children:b})]}));function ga(a){if(!a)return{provider:"unknown",model:""};let b=a.indexOf("/");return -1!==b?{provider:a.substring(0,b),model:a.substring(b+1)}:{provider:"unknown",model:a}}function gb({value:a,onValueChange:b,placeholder:c="Select a model...",disabled:d=!1}){let[e,f]=n.useState(""),{data:g,isLoading:h,isError:i,error:j,refetch:k}=E({queryKey:["opencode-models"],queryFn:async()=>{let a=await fetch("/api/opencode-models"),b=await a.json();if(!a.ok||b.error)throw Error(b.error||"Failed to fetch models");return b},retry:!1}),l=n.useMemo(()=>{let b=new Set(g?.models??[]);return a&&!b.has(a)&&b.add(a),Array.from(b).sort()},[g?.models,a]),o=n.useMemo(()=>{if(!e.trim())return l;let a=e.toLowerCase();return l.filter(b=>b.toLowerCase().includes(a))},[l,e]),p=n.useMemo(()=>{let a={};return o.forEach(b=>{let{provider:c}=ga(b);a[c]||(a[c]=[]),a[c].push(b)}),a},[o]),q=Object.keys(p).sort(),r=n.useCallback(a=>{a||f("")},[]),s=a?ga(a):null;return(0,m.jsxs)(et,{value:a,onValueChange:b,disabled:d||h,onOpenChange:r,children:[(0,m.jsx)(f7,{children:(0,m.jsx)(ex,{placeholder:c,children:s&&(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:s.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:s.model})]})})}),(0,m.jsxs)(f8,{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)(ay,{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:e,onChange:a=>f(a.target.value),placeholder:"Search models...",className:f6("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:a=>a.stopPropagation()})]})}),(0,m.jsx)("div",{className:"max-h-64 overflow-auto",children:h?(0,m.jsx)("div",{className:"px-2 py-4 text-center text-sm text-zinc-500",children:"Loading models..."}):i?(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)(aH,{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:j instanceof Error?j.message:"Please check your OpenCode installation"})]}),(0,m.jsxs)("button",{type:"button",onClick:a=>{a.stopPropagation(),k()},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)(e5,{className:"h-3.5 w-3.5"}),"Retry"]})]})}):0===o.length?(0,m.jsx)("div",{className:"px-2 py-4 text-center text-sm text-zinc-500",children:"No models found"}):q.map(a=>(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:a}),p[a].map(a=>{let{model:b}=ga(a);return(0,m.jsx)(f9,{value:a,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:b})})},a)})]},a))})]})]})}f9.displayName=eT.displayName;let gc={"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 gd({categoryName:a,initialConfig:b,onSave:c,onCancel:d}){let[e,f]=n.useState(null),{control:g,handleSubmit:h,watch:i,formState:{isSubmitting:j}}=bG({defaultValues:{model:b?.model||"",variant:b?.variant||"",temperature:b?.temperature??.7,top_p:b?.top_p??1,prompt_append:b?.prompt_append||""}}),{data:k}=E({queryKey:["opencode-models"],queryFn:async()=>{var a;let b=await fetch("/api/opencode-models"),c=null;try{c=await b.json()}catch{c=null}let d=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null;if(!b.ok||d)throw Error(d||`Failed to fetch models (${b.status})`);if(!((a=c)&&"object"==typeof a&&Array.isArray(a.models)))throw Error("Invalid models response");return c},retry:!1}),l=n.useMemo(()=>new Set(k?.models??[]),[k]),o=i("model"),p=o&&l.size>0&&!l.has(o),q=!o,r=gc[a];return n.useEffect(()=>{if(e){let a=setTimeout(()=>f(null),3e3);return()=>clearTimeout(a)}},[e]),(0,m.jsxs)("form",{onSubmit:h(a=>{let b=Math.max(0,Math.min(2,a.temperature)),d=Math.max(0,Math.min(1,a.top_p));c({model:a.model||void 0,variant:a.variant||void 0,temperature:b,top_p:d,prompt_append:a.prompt_append||void 0}),f({type:"success",message:"Configuration saved successfully"})}),className:"space-y-6","aria-label":"Category configuration form",children:[e&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===e.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"===e.type?(0,m.jsx)(aI,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(aH,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:e.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:a,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."})]}),q&&r&&(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)(aH,{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:r.map((a,b)=>(0,m.jsxs)(n.Fragment,{children:[(0,m.jsx)("code",{className:`rounded px-1.5 py-0.5 text-xs ${0===b?"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:a}),b<r.length-1&&(0,m.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:"→"})]},a))}),(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."})]})]}),q&&!r&&(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)(aH,{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()"}),"."]})]}),p&&(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)(aB,{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:o})," 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)(bd,{name:"model",control:g,render:({field:a})=>(0,m.jsx)("div",{id:"model-selector",children:(0,m.jsx)(gb,{value:a.value,onValueChange:a.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)(bd,{name:"variant",control:g,render:({field:a})=>(0,m.jsxs)("select",{id:"variant-selector",value:a.value,onChange:b=>a.onChange(b.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)(bd,{name:"temperature",control:g,rules:{min:{value:0,message:"Minimum is 0"},max:{value:2,message:"Maximum is 2"}},render:({field:a})=>(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:a.value.toFixed(1)})})]}),(0,m.jsx)(bd,{name:"temperature",control:g,rules:{min:{value:0,message:"Minimum is 0"},max:{value:2,message:"Maximum is 2"}},render:({field:a,fieldState:b})=>(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:a.value,onChange:b=>a.onChange(parseFloat(b.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:a.value,onChange:b=>a.onChange(parseFloat(b.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"})]}),b.error&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:b.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)(bd,{name:"top_p",control:g,rules:{min:{value:0,message:"Minimum is 0"},max:{value:1,message:"Maximum is 1"}},render:({field:a})=>(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:a.value.toFixed(2)})})]}),(0,m.jsx)(bd,{name:"top_p",control:g,rules:{min:{value:0,message:"Minimum is 0"},max:{value:1,message:"Maximum is 1"}},render:({field:a,fieldState:b})=>(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:a.value,onChange:b=>a.onChange(parseFloat(b.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:a.value,onChange:b=>a.onChange(parseFloat(b.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"})]}),b.error&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:b.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)(bd,{name:"prompt_append",control:g,render:({field:a})=>(0,m.jsx)("textarea",{id:"prompt-append",value:a.value,onChange:b=>a.onChange(b.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:d,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:j,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:[j&&(0,m.jsx)(aG,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Save Changes"]})]})]})}function ge({onSaveSuccess:a}){let b=(0,A.useQueryClient)(),[c,d]=n.useState(null),[e,f]=n.useState(void 0),[g,h]=n.useState(null),{data:i,isLoading:j,isError:k,error:l}=E({queryKey:["opencode-config"],queryFn:async()=>{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch configuration");return a.json()}});n.useEffect(()=>{if(g){let a=setTimeout(()=>h(null),3e3);return()=>clearTimeout(a)}},[g]);let o=aF({mutationFn:async a=>{let b=await fetch("/api/opencode-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({categories:a})});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to save categories");return b.json()},onSuccess:()=>{b.invalidateQueries({queryKey:["opencode-config"]}),h({type:"success",message:"Categories saved successfully"}),d(null),f(void 0),a?.()},onError:a=>{h({type:"error",message:a.message})}});if(j)return(0,m.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,m.jsx)(aG,{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(k)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)(aH,{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:l instanceof Error?l.message:"An unknown error occurred"})]})]})});let p=i?.categories||{};return(0,m.jsxs)("div",{className:"space-y-4",children:[g&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===g.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"===g.type?(0,m.jsx)(aI,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(aH,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:g.message})]}),c?(0,m.jsx)(gd,{categoryName:c,initialConfig:e,onSave:a=>{if(!c)return;let b={...i?.categories||{},[c]:a};o.mutate(b)},onCancel:()=>{d(null),f(void 0)}}):(0,m.jsx)(aO,{categories:p,onEdit:(a,b)=>{d(a),f(b)},onDelete:a=>{let{[a]:b,...c}=i?.categories||{};o.mutate(c)}})]})}let gf=as("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),gg=as("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"}]]),gh=as("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"}]]),gi=as("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 gj({profiles:a,activeProfileId:b,appliedProfileId:c,onApply:d,onEdit:e,onDelete:f,onExport:g,onImport:h,onCreateNew:i}){let[j,k]=n.useState(""),[l,o]=n.useState(null),p=n.useRef(null),q=(a,b)=>{b?o(a):d(a.id)},r=n.useMemo(()=>{if(!j.trim())return a;let b=j.toLowerCase();return a.filter(a=>a.name.toLowerCase().includes(b)||(a.description?.toLowerCase()||"").includes(b))},[a,j]),{active:s,builtIn:t,custom:u}=n.useMemo(()=>{let a=[],c=[],d=[];return r.forEach(e=>{e.id===b?a.push(e):e.isBuiltIn?c.push(e):d.push(e)}),{active:a,builtIn:c,custom:d}},[r,b]),v=a.length,w=r.length,x=j.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)(ay,{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:j,onChange:a=>k(a.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)(gg,{className:"h-3.5 w-3.5"}),(0,m.jsxs)("span",{children:[x?`${w} of ${v}`:`${v}`," profiles"]})]}),(0,m.jsx)("input",{ref:p,type:"file",accept:"application/json,.json",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&h(b),a.target.value=""},"aria-label":"Import profile file"}),(0,m.jsxs)("button",{type:"button",onClick:()=>{p.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)(gi,{className:"h-4 w-4"}),"Import File"]})]}),0===r.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)(gg,{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:x?"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:x?"Try a different search term":"Create your first profile to get started"})]}),r.length>0&&(0,m.jsxs)("div",{className:"space-y-4",children:[s.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:s.length})]}),(0,m.jsx)("div",{className:"space-y-2",children:s.map(a=>(0,m.jsx)(gk,{profile:a,isActive:!0,isApplied:a.id===c,onApply:()=>q(a,a.id===c),onEdit:()=>e(a),onDelete:()=>f(a.id),onExport:()=>g(a)},a.id))})]}),t.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:t.length})]}),(0,m.jsx)("div",{className:"space-y-2",children:t.map(a=>(0,m.jsx)(gk,{profile:a,isActive:!1,isApplied:a.id===c,onApply:()=>q(a,a.id===c),onEdit:()=>e(a),onDelete:()=>f(a.id),onExport:()=>g(a)},a.id))})]}),u.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:u.length})]}),(0,m.jsx)("div",{className:"space-y-2",children:u.map(a=>(0,m.jsx)(gk,{profile:a,isActive:!1,isApplied:a.id===c,onApply:()=>q(a,a.id===c),onEdit:()=>e(a),onDelete:()=>f(a.id),onExport:()=>g(a)},a.id))})]})]}),l&&(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)(aB,{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:l.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:()=>{o(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)(ax,{className:"h-4 w-4"}),"Cancel"]}),(0,m.jsxs)("button",{type:"button",onClick:()=>{l&&(d(l.id),o(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)(aI,{className:"h-4 w-4"}),"Reset to ",l.name]})]})]})})}),(0,m.jsxs)("button",{type:"button",onClick:i,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)(gf,{className:"h-4 w-4"}),"Create New Profile"]})]})}function gk({profile:a,isActive:b,isApplied:c,onApply:d,onEdit:e,onDelete:f,onExport:g}){return(0,m.jsxs)("div",{className:`
|
|
6
6
|
group relative flex items-center justify-between p-3 rounded-lg border
|
|
7
7
|
transition-all duration-200
|
|
8
8
|
${b?"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"}
|
|
@@ -10,6 +10,6 @@ module.exports=[40777,a=>{"use strict";let b,c,d;var e,f,g,h,i,j,k,l,m=a.i(87924
|
|
|
10
10
|
px-2.5 py-1 rounded-md text-xs font-medium
|
|
11
11
|
transition-all duration-200
|
|
12
12
|
${c?"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":b?"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:c?"Reset":b?"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:g,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 ${a.name}`,title:`Export ${a.name}`,children:(0,m.jsx)(f4,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),(0,m.jsx)("button",{type:"button",onClick:e,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 ${a.name}`,title:`Edit ${a.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"})]})}),!a.isBuiltIn&&!a.isDefault&&(0,m.jsx)("button",{type:"button",onClick:f,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 ${a.name}`,title:`Delete ${a.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 f8=ag("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"}]]),f9=["⚡","🔥","💎","🚀","🎯","💡","🔧","🎨","📊","🤖","👾","💻","⚙️","🔍","✨","🌟","🎭","🎪","🧩","🎲","📚","🔐","🛠️","⚡️","🌊","🔮","📡","🎸","🏆","🌈"];function ga({profile:a,initialConfig:b,onSave:c,onCancel:d}){let e=!!a,[f,g]=n.useState(null),[h,i]=n.useState(b||{agents:{}}),[j,k]=n.useState(b||{agents:{}});n.useEffect(()=>{b&&(i(b),k(b))},[b]);let[l,o]=n.useState(!1),{control:p,handleSubmit:q,watch:r,formState:{errors:s,isSubmitting:t}}=bt({defaultValues:{id:a?.id||"",name:a?.name||"",emoji:a?.emoji||"⚡",description:a?.description||""}}),u=r("name"),v=r("emoji");n.useEffect(()=>{if(f){let a=setTimeout(()=>g(null),3e3);return()=>clearTimeout(a)}},[f]);let w=async()=>{try{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch configuration");let b=await a.json(),c={agents:b.agents||{},categories:b.categories};i(c),g({type:"success",message:"Configuration imported successfully"})}catch{g({type:"error",message:"Failed to import configuration"})}},x=n.useMemo(()=>JSON.stringify(h)!==JSON.stringify(j),[h,j]),y=Object.keys(h.agents||{}).length,z=Object.keys(h.categories||{}).length;return(0,m.jsxs)("form",{onSubmit:q(b=>{let d=new Date().toISOString();c({profile:{id:e?a.id:b.id,name:b.name,emoji:b.emoji,description:b.description||void 0,createdAt:e?a.createdAt:d,updatedAt:d,isDefault:!!e&&a.isDefault,isBuiltIn:!!e&&a.isBuiltIn},config:h}),g({type:"success",message:`Profile ${e?"updated":"created"} successfully`})}),className:"space-y-6","aria-label":"Profile editor form",children:[f&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===f.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"===f.type?(0,m.jsx)(av,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(au,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:f.message})]}),!e&&(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)(a0,{name:"id",control:p,rules:{required:"Profile ID is required",pattern:{value:/^[a-zA-Z0-9_-]+$/,message:"Only alphanumeric characters, hyphens, and underscores allowed"}},render:({field:a})=>(0,m.jsx)("input",{id:"profile-id",type:"text",value:a.value,onChange:b=>a.onChange(b.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"})}),s.id&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:s.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."})]}),e&&(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:a.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)(a0,{name:"name",control:p,rules:{required:"Name is required",minLength:{value:1,message:"Name cannot be empty"}},render:({field:a})=>(0,m.jsx)("input",{id:"profile-name",type:"text",value:a.value,onChange:b=>a.onChange(b.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"})}),s.name&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:s.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)(a0,{name:"emoji",control:p,render:({field:a})=>(0,m.jsx)("div",{className:"flex flex-wrap gap-2",children:f9.map(b=>(0,m.jsx)("button",{type:"button",onClick:()=>a.onChange(b),className:`h-10 w-10 rounded-lg text-xl transition-all ${a.value===b?"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 ${b} emoji`,"aria-pressed":a.value===b,children:b},b))})}),(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)(a0,{name:"description",control:p,render:({field:a})=>(0,m.jsx)("textarea",{id:"profile-description",value:a.value,onChange:b=>a.onChange(b.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)(f5,{className:"h-4 w-4","aria-hidden":"true"}),"Import from Current Config"]}),e&&x&&(0,m.jsxs)("button",{type:"button",onClick:()=>{i(j),g({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)(f8,{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:v||"⚡"}),(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:u||"Untitled Profile"}),(0,m.jsxs)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:[y," agent",1!==y?"s":"",", ",z," categor",1!==z?"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:()=>o(!l),className:"w-full flex items-center justify-between p-4 hover:bg-zinc-50 dark:hover:bg-zinc-800/50 transition-colors","aria-expanded":l,children:[(0,m.jsx)("span",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Configuration Details"}),(0,m.jsx)(eT,{className:`h-4 w-4 text-zinc-500 transition-transform duration-200 ${l?"rotate-180":""}`,"aria-hidden":"true"})]}),l&&(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 (",y,")"]}),0===y?(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(h.agents||{}).map(([a,b])=>(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:a}),(0,m.jsx)("span",{className:"text-zinc-400",children:"→"}),(0,m.jsxs)("span",{className:"text-zinc-600 dark:text-zinc-400",children:[b.model,void 0!==b.temperature&&` temp: ${b.temperature}`]})]},a))})]}),(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 (",z,")"]}),0===z?(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(h.categories||{}).map(([a,b])=>(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:a}),(0,m.jsx)("span",{className:"text-zinc-400",children:"→"}),(0,m.jsxs)("span",{className:"text-zinc-600 dark:text-zinc-400",children:[b.model,b.variant&&` (${b.variant})`,void 0!==b.temperature&&` temp: ${b.temperature}`]})]},a))})]})]})]}),(0,m.jsxs)("div",{className:"flex items-center justify-end gap-3 pt-2",children:[(0,m.jsx)("button",{type:"button",onClick:d,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:t||!u.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:[t&&(0,m.jsx)(at,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),e?"Save Changes":"Create Profile"]})]})]})}async function gb(){let a=new AbortController,b=setTimeout(()=>a.abort(),8e3);try{let b=await fetch("/api/profiles",{signal:a.signal});if(!b.ok)throw Error("Failed to fetch profiles");return b.json()}catch(a){if(a instanceof Error&&"AbortError"===a.name)throw Error("Loading profiles timed out. Please try again.");throw a}finally{clearTimeout(b)}}async function gc(a){return"function"==typeof a.text?a.text():new Response(a).text()}function gd({onSaveSuccess:a}){let b=(0,A.useQueryClient)(),[c,d]=n.useState(null),[e,f]=n.useState(void 0),[g,h]=n.useState(!1),[i,j]=n.useState(null),[k,l]=n.useState(null),{data:o,isLoading:p,isError:q,error:r}=E({queryKey:["profiles"],queryFn:gb,retry:!1});n.useEffect(()=>{o?.activeProfileId&&j(o.activeProfileId)},[o?.activeProfileId]),n.useEffect(()=>{if(k){let a=setTimeout(()=>l(null),3e3);return()=>clearTimeout(a)}},[k]);let s=as({mutationFn:async a=>{let b=await fetch(`/api/profiles/${a}/apply`,{method:"POST"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to apply profile");return b.json()},onSuccess:(a,c)=>{b.invalidateQueries({queryKey:["profiles"]}),b.invalidateQueries({queryKey:["opencode-config"]}),j(c),l({type:"success",message:"Profile applied successfully"})},onError:a=>{l({type:"error",message:a.message})}}),t=as({mutationFn:async({profile:a,config:b})=>{let c=await fetch("/api/profiles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profile:a,config:b})});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error||"Failed to create profile");return c.json()},onSuccess:()=>{b.invalidateQueries({queryKey:["profiles"]}),l({type:"success",message:"Profile created successfully"}),h(!1),a?.()},onError:a=>{l({type:"error",message:a.message})}}),u=as({mutationFn:async({id:a,profile:b,config:c})=>{let d=await fetch(`/api/profiles/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({profile:b,config:c})});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error||"Failed to update profile");return d.json()},onSuccess:()=>{b.invalidateQueries({queryKey:["profiles"]}),l({type:"success",message:"Profile updated successfully"}),d(null),a?.()},onError:a=>{l({type:"error",message:a.message})}}),v=as({mutationFn:async a=>{let b=await fetch(`/api/profiles/${a}`,{method:"DELETE"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to delete profile");return b.json()},onSuccess:()=>{b.invalidateQueries({queryKey:["profiles"]}),l({type:"success",message:"Profile deleted successfully"})},onError:a=>{l({type:"error",message:a.message})}}),w=as({mutationFn:async a=>{let b=await fetch(`/api/profiles/${a.id}/export`);if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to export profile");return{blob:await b.blob(),profile:a}},onSuccess:({blob:a,profile:b})=>{var c;let d,e;c=`${b.id}.vibepulse-profile.json`,d=URL.createObjectURL(a),(e=document.createElement("a")).href=d,e.download=c,document.body.appendChild(e),e.click(),e.remove(),URL.revokeObjectURL(d),l({type:"success",message:`Exported ${b.name}`})},onError:a=>{l({type:"error",message:a.message})}}),x=as({mutationFn:async a=>{let b;try{b=JSON.parse(await gc(a))}catch{throw Error("Profile file must be valid JSON")}let c=await fetch("/api/profiles/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error||"Failed to import profile");return c.json()},onSuccess:a=>{b.invalidateQueries({queryKey:["profiles"]});let c=a&&"object"==typeof a&&"profile"in a&&a.profile&&"object"==typeof a.profile&&"name"in a.profile&&"string"==typeof a.profile.name?a.profile.name:"profile";l({type:"success",message:`Imported ${c}`})},onError:a=>{l({type:"error",message:a.message})}}),y=async a=>{d(a),h(!1);try{let b=await fetch(`/api/profiles/${a.id}`);if(b.ok){let a=await b.json();f(a.config)}}catch{f(void 0)}};if(p)return(0,m.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,m.jsx)(at,{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(q)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)(au,{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:r instanceof Error?r.message:"An unknown error occurred"})]})]})});let z=o?.profiles??[],B=o?.activeProfileId??null;return(0,m.jsxs)("div",{className:"space-y-4",children:[k&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===k.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"===k.type?(0,m.jsx)(av,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(au,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:k.message})]}),c||g?(0,m.jsx)(ga,{profile:c??void 0,initialConfig:e,onSave:({profile:a,config:b})=>{g?t.mutate({profile:a,config:b}):c&&u.mutate({id:c.id,profile:a,config:b})},onCancel:()=>{d(null),f(void 0),h(!1)}}):(0,m.jsx)(f6,{profiles:z,activeProfileId:B,appliedProfileId:i,onApply:a=>{s.mutate(a)},onEdit:y,onDelete:a=>{v.mutate(a)},onExport:a=>{w.mutate(a)},onImport:a=>{x.mutate(a)},onCreateNew:()=>{h(!0),d(null)}})]})}let ge={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 gf({agentName:a="default",onSaveSuccess:b}){let c=(0,A.useQueryClient)(),[d,e]=n.useState(null),{data:f,isLoading:g}=E({queryKey:["opencode-config"],queryFn:async()=>{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch config");return a.json()}}),{control:h,handleSubmit:i,reset:j,formState:{isSubmitting:k}}=bt({defaultValues:{model:"",temperature:.7,top_p:1,variant:"",prompt_append:""}}),{data:l}=E({queryKey:["opencode-models"],queryFn:async()=>{var a;let b=await fetch("/api/opencode-models"),c=null;try{c=await b.json()}catch{c=null}let d=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null;if(!b.ok||d)throw Error(d||`Failed to fetch models (${b.status})`);if(!((a=c)&&"object"==typeof a&&Array.isArray(a.models)))throw Error("Invalid models response");return c},retry:!1}),o=n.useMemo(()=>new Set(l?.models??[]),[l]);n.useEffect(()=>{if(f){let b=f.agents?.[a]||{};j({model:b.model||"",temperature:b.temperature??.7,top_p:b.top_p??1,variant:b.variant||"",prompt_append:b.prompt_append||""})}},[f,a,j]),n.useEffect(()=>{if(d){let a=setTimeout(()=>e(null),3e3);return()=>clearTimeout(a)}},[d]);let p=as({mutationFn:async b=>{let c=await fetch("/api/opencode-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agents:{[a]:b}})});if(!c.ok)throw Error((await c.json()).error||"Failed to save config");return c.json()},onSuccess:()=>{c.invalidateQueries({queryKey:["opencode-config"]}),e({type:"success",message:"Configuration saved successfully"}),b?.()},onError:a=>{e({type:"error",message:a.message})}}),q=f?.agents?.[a],r=!!q?.model,s=q?.model,t=s&&o.size>0&&!o.has(s),u=!s,v=ge[a]||ge.default;return g?(0,m.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,m.jsx)(at,{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:i(a=>{p.mutate(a)}),className:"space-y-6","aria-label":"Agent configuration form",children:[r&&(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:q.model}),q.variant&&(0,m.jsxs)("span",{children:[" (variant: ",q.variant,")"]})]})}),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)(av,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(au,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:d.message})]}),u&&(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)(au,{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:v.map((a,b)=>(0,m.jsxs)(n.Fragment,{children:[(0,m.jsx)("code",{className:`rounded px-1.5 py-0.5 text-xs ${0===b?"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:a}),b<v.length-1&&(0,m.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:"→"})]},a))}),(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."})]})]}),t&&(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)(ao,{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:s})," 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)(a0,{name:"model",control:h,rules:{required:"Please select a model"},render:({field:a,fieldState:b})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{id:"model-selector",children:(0,m.jsx)(f$,{value:a.value,onValueChange:a.onChange,placeholder:"Select a model..."})}),b.error&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:b.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)(a0,{name:"variant",control:h,render:({field:a})=>(0,m.jsxs)("select",{id:"variant-selector",value:a.value,onChange:b=>a.onChange(b.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)(a0,{name:"temperature",control:h,render:({field:a})=>(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:a.value.toFixed(1)})})]}),(0,m.jsx)(a0,{name:"temperature",control:h,render:({field:a})=>(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:a.value,onChange:b=>a.onChange(parseFloat(b.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:a.value,onChange:b=>a.onChange(parseFloat(b.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)(a0,{name:"top_p",control:h,render:({field:a})=>(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:a.value.toFixed(2)})})]}),(0,m.jsx)(a0,{name:"top_p",control:h,render:({field:a})=>(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:a.value,onChange:b=>a.onChange(parseFloat(b.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:a.value,onChange:b=>a.onChange(parseFloat(b.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)(a0,{name:"prompt_append",control:h,render:({field:a})=>(0,m.jsx)("textarea",{id:"prompt-append",value:a.value,onChange:b=>a.onChange(b.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:k||p.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:[(k||p.isPending)&&(0,m.jsx)(at,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Save Changes"]})})]})}let gg=ag("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 gh(){let a=(0,A.useQueryClient)(),[b,c]=n.useState(null),{data:d,isLoading:e}=E({queryKey:["opencode-config"],queryFn:async()=>{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch config");return a.json()}}),{control:f,handleSubmit:g,reset:h,formState:{isDirty:i,isSubmitting:j}}=bt({defaultValues:{stickyBusyDelaySeconds:1,sessionsRefreshIntervalSeconds:5}});n.useEffect(()=>{d&&h({stickyBusyDelaySeconds:"number"==typeof d.vibepulse?.stickyBusyDelayMs?Math.round(d.vibepulse.stickyBusyDelayMs/1e3):1,sessionsRefreshIntervalSeconds:"number"==typeof d.vibepulse?.sessionsRefreshIntervalMs?Math.round(d.vibepulse.sessionsRefreshIntervalMs/1e3):5})},[d,h]),n.useEffect(()=>{if(b){let a=setTimeout(()=>c(null),3e3);return()=>clearTimeout(a)}},[b]);let k=as({mutationFn:async a=>{let b=await fetch("/api/opencode-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({vibepulse:{stickyBusyDelayMs:1e3*a.stickyBusyDelaySeconds,sessionsRefreshIntervalMs:1e3*a.sessionsRefreshIntervalSeconds}})});if(!b.ok)throw Error((await b.json()).error||"Failed to save settings");return b.json()},onSuccess:()=>{a.invalidateQueries({queryKey:["opencode-config"]}),c({type:"success",message:"Settings saved successfully"})},onError:a=>{c({type:"error",message:a.message})}});return e?(0,m.jsx)("div",{className:"flex h-40 items-center justify-center",children:(0,m.jsx)(at,{className:"h-6 w-6 animate-spin text-zinc-400"})}):(0,m.jsx)("form",{onSubmit:g(a=>{k.mutate(a)}),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)(ai,{className:"h-4 w-4"})}),(0,m.jsx)("h3",{className:"text-lg font-medium text-zinc-900 dark:text-zinc-100",children:"Application Settings"})]}),b&&(0,m.jsxs)("div",{role:"alert",className:`mb-6 flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===b.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"===b.type?(0,m.jsx)(av,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(au,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:b.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)(a0,{name:"stickyBusyDelaySeconds",control:f,render:({field:a})=>(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:[a.value,"s"]})})]}),(0,m.jsx)(a0,{name:"stickyBusyDelaySeconds",control:f,render:({field:a})=>(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:a.value,onChange:b=>a.onChange(parseInt(b.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:a.value,onChange:b=>a.onChange(parseInt(b.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)(a0,{name:"sessionsRefreshIntervalSeconds",control:f,render:({field:a})=>(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:[a.value,"s"]})})]}),(0,m.jsx)(a0,{name:"sessionsRefreshIntervalSeconds",control:f,render:({field:a})=>(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:a.value,onChange:b=>a.onChange(parseInt(b.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:a.value,onChange:b=>a.onChange(parseInt(b.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:!i||j||k.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:[j||k.isPending?(0,m.jsx)(at,{className:"h-4 w-4 animate-spin"}):(0,m.jsx)(gg,{className:"h-4 w-4"}),"Save Settings"]})})]})})}let gi=[{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 gj({open:a,onClose:b}){let[c,d]=n.useState("general"),[e,f]=n.useState("default"),[g,h]=n.useState(""),i=n.useRef(null),{data:j}=E({queryKey:["opencode-config"],queryFn:async()=>{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch config");return a.json()},enabled:a}),{data:k}=E({queryKey:["opencode-models"],queryFn:async()=>{var a;let b=await fetch("/api/opencode-models"),c=null;try{c=await b.json()}catch{c=null}let d=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null;if(!b.ok||d)throw Error(d||`Failed to fetch models (${b.status})`);if(!((a=c)&&"object"==typeof a&&Array.isArray(a.models)))throw Error("Invalid models response");return c},enabled:a,retry:!1}),l=n.useMemo(()=>new Set(k?.models??[]),[k]),o=n.useCallback(a=>{let b=j?.agents?.[a];return b?.model?l.size>0&&!l.has(b.model)?"invalid":"ok":"unconfigured"},[j,l]),p=n.useMemo(()=>gi.filter(a=>"invalid"===o(a.key)).length,[o]);n.useEffect(()=>{if(!a)return;let c=a=>{"Escape"===a.key&&b()};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[a,b]),n.useEffect(()=>{if(a){let a=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}}},[a]),n.useEffect(()=>{a&&setTimeout(()=>i.current?.focus(),100)},[a]);let q=n.useMemo(()=>{if(!g.trim())return gi;let a=g.toLowerCase();return gi.filter(b=>b.name.toLowerCase().includes(a)||b.description.toLowerCase().includes(a)||(j?.agents?.[b.key]?.model||"").toLowerCase().includes(a))},[g,j]),r=gi.find(a=>a.key===e);return a?(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)(ai,{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:()=>d("general"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"general"===c?"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:()=>d("agents"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"agents"===c?"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:()=>d("categories"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"categories"===c?"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:()=>d("profiles"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"profiles"===c?"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:b,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)(ak,{className:"h-5 w-5"})})]}),"general"===c?(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)(gh,{})]})}):"agents"===c?(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)(al,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-zinc-400"}),(0,m.jsx)("input",{ref:i,type:"text",value:g,onChange:a=>h(a.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:q.map(a=>{let b,c=j?.agents?.[a.key]?.model;return(0,m.jsxs)("button",{type:"button",onClick:()=>f(a.key),className:`flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left transition-colors ${e===a.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 ${e===a.key?"bg-white/20":"bg-zinc-200 dark:bg-zinc-800"}`,children:(0,m.jsx)(am,{className:`h-4 w-4 ${e===a.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:[a.name,"unconfigured"===(b=o(a.key))?(0,m.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${e===a.key?"bg-zinc-300":"bg-zinc-400 dark:bg-zinc-500"}`,title:"Inherits category configuration"}):"invalid"===b?(0,m.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${e===a.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 ${e===a.key?"bg-emerald-300":"bg-emerald-500"}`,title:"Configured"})]}),(0,m.jsx)("div",{className:`truncate text-xs ${e===a.key?"text-blue-100":"text-zinc-500 dark:text-zinc-500"}`,children:a.description}),c&&(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 ${e===a.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:c,children:(0,m.jsx)("span",{className:"font-mono break-all [display:-webkit-box] [-webkit-box-orient:vertical] [-webkit-line-clamp:2] overflow-hidden",children:c})})]}),e===a.key&&(0,m.jsx)(an,{className:"h-4 w-4 shrink-0 text-blue-200"})]},a.key)})}),0===q.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:[gi.length," agents",p>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)(ao,{className:"h-2.5 w-2.5"}),p," 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)(am,{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:r?.name}),(0,m.jsx)("p",{className:"text-zinc-500 dark:text-zinc-400",children:r?.description})]})]}),(0,m.jsx)(gf,{agentName:e})]})})]}):"categories"===c?(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)(f1,{})]})}):(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)(gd,{})]})})]}):null}let gk=[{label:"1d",days:1},{label:"3d",days:3},{label:"7d",days:7},{label:"30d",days:30},{label:"All",days:0}],gl="opencode --port <PORT>";function gm(){let a,b,c,d,e,f,g,h,i,j,k,l,o,p;a=(0,A.useQueryClient)(),b=(0,n.useRef)(null),c=(0,n.useRef)(0),d=(0,n.useRef)(null),e=(0,n.useRef)(null),f=(0,n.useRef)(!1),g=(0,n.useRef)(!0),h=(0,n.useRef)(null),i=(0,n.useRef)(new Map),j=(0,n.useCallback)(()=>{d.current||(d.current=setTimeout(()=>{a.invalidateQueries({queryKey:["sessions"]},{cancelRefetch:!1}),d.current=null},500))},[a]),k=(0,n.useCallback)(a=>{let b=i.current.get(a);b&&(clearTimeout(b),i.current.delete(a))},[]),l=(0,n.useCallback)((b,c)=>{a.setQueryData(["sessions"],a=>{if(!a?.sessions)return a;let d=!1,e=a.sessions.map(a=>a.id===b?(d=!0,{...a,waitingForUser:c}):a.children?.some(a=>a.id===b)?(d=!0,{...a,children:a.children.map(a=>a.id===b?{...a,waitingForUser:c}:a)}):a);return d?{...a,sessions:e}:a})},[a]),o=(0,n.useCallback)(a=>{k(a);let b=setTimeout(()=>{i.current.delete(a),Y(a,!0),l(a,!0)},1500);i.current.set(a,b)},[k,l]),p=(0,n.useCallback)(b=>{let c="payload"in b?b.payload:b;if(!c?.type)return void j();let d=c.properties?.sessionID,e="question.asked"===c.type||"permission.asked"===c.type,f="question.replied"===c.type||"question.rejected"===c.type||"permission.replied"===c.type;(d&&e&&Y(d,!0),d&&f&&(k(d),Y(d,!1)),["session.status","session.updated","session.created","session.deleted","question.asked","permission.asked","permission.updated","question.replied","question.rejected","permission.replied","session.archived"].includes(c.type))?a.setQueryData(["sessions"],a=>{if(!a?.sessions)return j(),a;switch(c.type){case"session.updated":case"session.created":{let b=c.properties?.info;if(!b)return j(),a;if(b.parentID){let c=!1,d=a.sessions.map(a=>{let d=a.children?.some(a=>a.id===b.id),e=a.id===b.parentID;if(!d&&!e)return a;c=!0;let f=a.children||[],g=f.find(a=>a.id===b.id),h=Z({...g,...b,realTimeStatus:b.realTimeStatus??g?.realTimeStatus??"busy",waitingForUser:b.waitingForUser??g?.waitingForUser});return g?{...a,children:f.map(a=>a.id===b.id?h:a)}:{...a,children:[...f,h]}});if(!c)return j(),a;return{...a,sessions:d}}let d=a.sessions.find(a=>a.id===b.id);if(!d)return j(),{...a,sessions:[Z(b),...a.sessions]};let e={...b,projectName:d.projectName,branch:d.branch,realTimeStatus:b.realTimeStatus??d.realTimeStatus,waitingForUser:b.waitingForUser??d.waitingForUser,children:d.children};return{...a,sessions:a.sessions.map(a=>a.id===b.id?e:a)}}case"session.deleted":{let b=c.properties?.info,d=b?.id??c.properties?.sessionID;if(!d)return j(),a;return{...a,sessions:a.sessions.filter(a=>a.id!==d)}}default:{if(!d)return j(),a;let b=a=>{switch(c.type){case"session.status":{var b;let d=c.properties?.status?.type;if(!d)return a;b=a.id,X.set(b,{status:d,timestamp:Date.now()});let e=!a.parentID,f="busy"===d||"retry"===d;return"retry"!==d||g.current||V("play-alert","Skipped playAlertSound() because muted","playAlertSound() failed",(a,b)=>{let c=a.createOscillator(),d=a.createGain();c.type="triangle",c.frequency.setValueAtTime(880,b),c.frequency.exponentialRampToValueAtTime(698,b+.25),d.gain.setValueAtTime(.3,b),d.gain.exponentialRampToValueAtTime(.001,b+.35),c.connect(d),d.connect(a.destination),c.start(b),c.stop(b+.35);let e=a.createOscillator(),f=a.createGain();e.type="triangle",e.frequency.setValueAtTime(698,b+.2),e.frequency.exponentialRampToValueAtTime(523,b+.45),f.gain.setValueAtTime(.25,b+.2),f.gain.exponentialRampToValueAtTime(.001,b+.5),e.connect(f),f.connect(a.destination),e.start(b+.2),e.stop(b+.5)}),"idle"===d&&(k(a.id),e||Y(a.id,!1)),"retry"===d&&(k(a.id),Y(a.id,!0)),"busy"===d&&k(a.id),"idle"===d&&e&&(a.children?.length||0)>0&&j(),{...a,time:f?{...a.time||{},archived:void 0}:a.time,realTimeStatus:d,waitingForUser:"retry"===d||("idle"!==d||!!e)&&a.waitingForUser,children:a.children}}case"question.asked":case"permission.asked":return g.current||setTimeout(()=>void V("play-attention","Skipped playAttentionSound() because muted","playAttentionSound() failed",(a,b)=>{let c=a.createOscillator(),d=a.createGain();c.type="sine",c.frequency.value=523,d.gain.setValueAtTime(.3,b),d.gain.exponentialRampToValueAtTime(.001,b+.2),c.connect(d),d.connect(a.destination),c.start(b),c.stop(b+.2);let e=a.createOscillator(),f=a.createGain();e.type="sine",e.frequency.value=659,f.gain.setValueAtTime(.3,b+.15),f.gain.exponentialRampToValueAtTime(.001,b+.4),e.connect(f),f.connect(a.destination),e.start(b+.15),e.stop(b+.4);let g=a.createOscillator(),h=a.createGain();g.type="sine",g.frequency.value=784,h.gain.setValueAtTime(.25,b+.3),h.gain.exponentialRampToValueAtTime(.001,b+.55),g.connect(h),h.connect(a.destination),g.start(b+.3),g.stop(b+.55)}),250),Y(d,!0),o(d),{...a,time:{...a.time||{},archived:void 0},waitingForUser:!0};case"permission.updated":return k(d),j(),a;case"question.replied":case"question.rejected":case"permission.replied":return k(d),Y(d,!1),{...a,waitingForUser:!1};case"session.archived":return{...a,time:{...a.time||{},archived:Date.now()}};default:return a}},e=!1,f=a.sessions.map(a=>a.id===d?(e=!0,b(a)):a.children?.some(a=>a.id===d)?(e=!0,"session.status"===c.type&&c.properties?.status?.type==="idle")?{...a,children:a.children.filter(a=>a.id!==d)}:{...a,children:a.children.map(a=>a.id===d?b(a):a)}:a);if(!e)return j(),a;return{...a,sessions:f}}}}):j()},[a,j,k,o]),(0,n.useEffect)(()=>(h.current=setTimeout(()=>{g.current=!1},3e3),()=>{h.current&&clearTimeout(h.current)}),[]),(0,n.useEffect)(()=>{let a=null,d=i.current,g=()=>{b.current&&(clearTimeout(b.current),b.current=null),e.current&&(clearTimeout(e.current),e.current=null),(a=new EventSource("/api/opencode-events")).onopen=()=>{c.current=0,f.current=!1,e.current=setTimeout(()=>{a&&(f.current=!0,a.close(),j(),g())},15e3)},a.onmessage=a=>{try{let b=JSON.parse(a.data);p(b),c.current=0}catch(a){console.error("Failed to parse SSE event:",a)}},a.onerror=()=>{if(a?.close(),e.current&&(clearTimeout(e.current),e.current=null),f.current){f.current=!1;return}c.current<5&&(b.current=setTimeout(()=>{c.current++,g()},1e3*Math.pow(2,c.current)))}};return g(),()=>{for(let c of(a?.close(),b.current&&(clearTimeout(b.current),b.current=null),e.current&&(clearTimeout(e.current),e.current=null),d.values()))clearTimeout(c);d.clear()}},[p,j]);let[q,r]=(0,n.useState)(7),[s,t]=(0,n.useState)(()=>!1),[u,v]=(0,n.useState)([]),[w,x]=(0,n.useState)(!1),[y,z]=(0,n.useState)("idle"),[B,C]=(0,n.useState)(!1),D=(0,n.useRef)(null),E=(0,n.useRef)(null),F=(0,n.useMemo)(()=>Array.from(new Set(u.map(a=>a.projectName))),[u]),G=u.length>0,H=1===F.length?`${F[0]} has an OpenCode process without an exposed API port.`:`${F.length} projects have OpenCode processes without exposed API ports.`;(0,n.useEffect)(()=>{let a=()=>{W(),document.removeEventListener("click",a),document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",a),document.removeEventListener("touchstart",a)};return document.addEventListener("click",a),document.addEventListener("pointerdown",a,{passive:!0}),document.addEventListener("keydown",a),document.addEventListener("touchstart",a,{passive:!0}),()=>{document.removeEventListener("click",a),document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",a),document.removeEventListener("touchstart",a)}},[]),(0,n.useEffect)(()=>{if(!w||!G)return;let a=a=>{let b=a.target,c=E.current,d=D.current;c?.contains(b)||d?.contains(b)||x(!1)},b=a=>{"Escape"===a.key&&(x(!1),D.current?.focus())};return document.addEventListener("mousedown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",b)}},[G,w]);let I=async()=>{try{await navigator.clipboard.writeText(gl),z("copied"),setTimeout(()=>z("idle"),1500)}catch{z("failed"),setTimeout(()=>z("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:()=>{W();let a=!s;t(a),a||V("play-toggle-feedback","Skipped playToggleFeedbackSound() because muted","playToggleFeedbackSound() failed",(a,b)=>{let c=a.createOscillator(),d=a.createGain();c.type="sine",c.frequency.setValueAtTime(740,b),c.frequency.exponentialRampToValueAtTime(920,b+.1),d.gain.setValueAtTime(.13,b),d.gain.exponentialRampToValueAtTime(.001,b+.13),c.connect(d),d.connect(a.destination),c.start(b),c.stop(b+.13)})},className:`p-1.5 rounded-lg transition-all duration-150 ${s?"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:s?"Unmute notifications":"Mute notifications",children:s?(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"})})}),G?(0,m.jsxs)("div",{className:"relative",children:[(0,m.jsx)("button",{ref:D,type:"button",onClick:()=>x(a=>!a),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":G&&w,"aria-controls":"process-hint-popover",children:(0,m.jsx)(ah,{className:"h-3.5 w-3.5"})}),G&&w?(0,m.jsxs)("div",{id:"process-hint-popover",ref:E,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:H}),(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:gl})}),(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:I,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"===y?"Copied":"failed"===y?"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:gk.map(a=>(0,m.jsx)("button",{type:"button",onClick:()=>r(a.days),className:`px-3 py-1 text-xs font-medium rounded-md transition-all duration-150 ${q===a.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:a.label},a.days))}),(0,m.jsx)(aj,{onClick:()=>C(!0)})]})]}),(0,m.jsx)(ab,{children:(0,m.jsx)(_,{filterDays:q,onProcessHintsChange:v})}),(0,m.jsx)(gj,{open:B,onClose:()=>C(!1)})]})})}a.s(["default",()=>gm],40777)}];
|
|
13
|
+
`,children:c?"Reset":b?"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:g,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 ${a.name}`,title:`Export ${a.name}`,children:(0,m.jsx)(gh,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),(0,m.jsx)("button",{type:"button",onClick:e,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 ${a.name}`,title:`Edit ${a.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"})]})}),!a.isBuiltIn&&!a.isDefault&&(0,m.jsx)("button",{type:"button",onClick:f,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 ${a.name}`,title:`Delete ${a.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 gl=as("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"}]]),gm=["⚡","🔥","💎","🚀","🎯","💡","🔧","🎨","📊","🤖","👾","💻","⚙️","🔍","✨","🌟","🎭","🎪","🧩","🎲","📚","🔐","🛠️","⚡️","🌊","🔮","📡","🎸","🏆","🌈"];function gn({profile:a,initialConfig:b,onSave:c,onCancel:d}){let e=!!a,[f,g]=n.useState(null),[h,i]=n.useState(b||{agents:{}}),[j,k]=n.useState(b||{agents:{}});n.useEffect(()=>{b&&(i(b),k(b))},[b]);let[l,o]=n.useState(!1),{control:p,handleSubmit:q,watch:r,formState:{errors:s,isSubmitting:t}}=bG({defaultValues:{id:a?.id||"",name:a?.name||"",emoji:a?.emoji||"⚡",description:a?.description||""}}),u=r("name"),v=r("emoji");n.useEffect(()=>{if(f){let a=setTimeout(()=>g(null),3e3);return()=>clearTimeout(a)}},[f]);let w=async()=>{try{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch configuration");let b=await a.json(),c={agents:b.agents||{},categories:b.categories};i(c),g({type:"success",message:"Configuration imported successfully"})}catch{g({type:"error",message:"Failed to import configuration"})}},x=n.useMemo(()=>JSON.stringify(h)!==JSON.stringify(j),[h,j]),y=Object.keys(h.agents||{}).length,z=Object.keys(h.categories||{}).length;return(0,m.jsxs)("form",{onSubmit:q(b=>{let d=new Date().toISOString();c({profile:{id:e?a.id:b.id,name:b.name,emoji:b.emoji,description:b.description||void 0,createdAt:e?a.createdAt:d,updatedAt:d,isDefault:!!e&&a.isDefault,isBuiltIn:!!e&&a.isBuiltIn},config:h}),g({type:"success",message:`Profile ${e?"updated":"created"} successfully`})}),className:"space-y-6","aria-label":"Profile editor form",children:[f&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===f.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"===f.type?(0,m.jsx)(aI,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(aH,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:f.message})]}),!e&&(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)(bd,{name:"id",control:p,rules:{required:"Profile ID is required",pattern:{value:/^[a-zA-Z0-9_-]+$/,message:"Only alphanumeric characters, hyphens, and underscores allowed"}},render:({field:a})=>(0,m.jsx)("input",{id:"profile-id",type:"text",value:a.value,onChange:b=>a.onChange(b.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"})}),s.id&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:s.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."})]}),e&&(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:a.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)(bd,{name:"name",control:p,rules:{required:"Name is required",minLength:{value:1,message:"Name cannot be empty"}},render:({field:a})=>(0,m.jsx)("input",{id:"profile-name",type:"text",value:a.value,onChange:b=>a.onChange(b.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"})}),s.name&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:s.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)(bd,{name:"emoji",control:p,render:({field:a})=>(0,m.jsx)("div",{className:"flex flex-wrap gap-2",children:gm.map(b=>(0,m.jsx)("button",{type:"button",onClick:()=>a.onChange(b),className:`h-10 w-10 rounded-lg text-xl transition-all ${a.value===b?"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 ${b} emoji`,"aria-pressed":a.value===b,children:b},b))})}),(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)(bd,{name:"description",control:p,render:({field:a})=>(0,m.jsx)("textarea",{id:"profile-description",value:a.value,onChange:b=>a.onChange(b.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)(gi,{className:"h-4 w-4","aria-hidden":"true"}),"Import from Current Config"]}),e&&x&&(0,m.jsxs)("button",{type:"button",onClick:()=>{i(j),g({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)(gl,{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:v||"⚡"}),(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:u||"Untitled Profile"}),(0,m.jsxs)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:[y," agent",1!==y?"s":"",", ",z," categor",1!==z?"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:()=>o(!l),className:"w-full flex items-center justify-between p-4 hover:bg-zinc-50 dark:hover:bg-zinc-800/50 transition-colors","aria-expanded":l,children:[(0,m.jsx)("span",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Configuration Details"}),(0,m.jsx)(e4,{className:`h-4 w-4 text-zinc-500 transition-transform duration-200 ${l?"rotate-180":""}`,"aria-hidden":"true"})]}),l&&(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 (",y,")"]}),0===y?(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(h.agents||{}).map(([a,b])=>(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:a}),(0,m.jsx)("span",{className:"text-zinc-400",children:"→"}),(0,m.jsxs)("span",{className:"text-zinc-600 dark:text-zinc-400",children:[b.model,void 0!==b.temperature&&` temp: ${b.temperature}`]})]},a))})]}),(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 (",z,")"]}),0===z?(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(h.categories||{}).map(([a,b])=>(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:a}),(0,m.jsx)("span",{className:"text-zinc-400",children:"→"}),(0,m.jsxs)("span",{className:"text-zinc-600 dark:text-zinc-400",children:[b.model,b.variant&&` (${b.variant})`,void 0!==b.temperature&&` temp: ${b.temperature}`]})]},a))})]})]})]}),(0,m.jsxs)("div",{className:"flex items-center justify-end gap-3 pt-2",children:[(0,m.jsx)("button",{type:"button",onClick:d,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:t||!u.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:[t&&(0,m.jsx)(aG,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),e?"Save Changes":"Create Profile"]})]})]})}async function go(){let a=new AbortController,b=setTimeout(()=>a.abort(),8e3);try{let b=await fetch("/api/profiles",{signal:a.signal});if(!b.ok)throw Error("Failed to fetch profiles");return b.json()}catch(a){if(a instanceof Error&&"AbortError"===a.name)throw Error("Loading profiles timed out. Please try again.");throw a}finally{clearTimeout(b)}}async function gp(a){return"function"==typeof a.text?a.text():new Response(a).text()}function gq({onSaveSuccess:a}){let b=(0,A.useQueryClient)(),[c,d]=n.useState(null),[e,f]=n.useState(void 0),[g,h]=n.useState(!1),[i,j]=n.useState(null),[k,l]=n.useState(null),{data:o,isLoading:p,isError:q,error:r}=E({queryKey:["profiles"],queryFn:go,retry:!1});n.useEffect(()=>{o?.activeProfileId&&j(o.activeProfileId)},[o?.activeProfileId]),n.useEffect(()=>{if(k){let a=setTimeout(()=>l(null),3e3);return()=>clearTimeout(a)}},[k]);let s=aF({mutationFn:async a=>{let b=await fetch(`/api/profiles/${a}/apply`,{method:"POST"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to apply profile");return b.json()},onSuccess:(a,c)=>{b.invalidateQueries({queryKey:["profiles"]}),b.invalidateQueries({queryKey:["opencode-config"]}),j(c),l({type:"success",message:"Profile applied successfully"})},onError:a=>{l({type:"error",message:a.message})}}),t=aF({mutationFn:async({profile:a,config:b})=>{let c=await fetch("/api/profiles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profile:a,config:b})});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error||"Failed to create profile");return c.json()},onSuccess:()=>{b.invalidateQueries({queryKey:["profiles"]}),l({type:"success",message:"Profile created successfully"}),h(!1),a?.()},onError:a=>{l({type:"error",message:a.message})}}),u=aF({mutationFn:async({id:a,profile:b,config:c})=>{let d=await fetch(`/api/profiles/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({profile:b,config:c})});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error||"Failed to update profile");return d.json()},onSuccess:()=>{b.invalidateQueries({queryKey:["profiles"]}),l({type:"success",message:"Profile updated successfully"}),d(null),a?.()},onError:a=>{l({type:"error",message:a.message})}}),v=aF({mutationFn:async a=>{let b=await fetch(`/api/profiles/${a}`,{method:"DELETE"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to delete profile");return b.json()},onSuccess:()=>{b.invalidateQueries({queryKey:["profiles"]}),l({type:"success",message:"Profile deleted successfully"})},onError:a=>{l({type:"error",message:a.message})}}),w=aF({mutationFn:async a=>{let b=await fetch(`/api/profiles/${a.id}/export`);if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to export profile");return{blob:await b.blob(),profile:a}},onSuccess:({blob:a,profile:b})=>{var c;let d,e;c=`${b.id}.vibepulse-profile.json`,d=URL.createObjectURL(a),(e=document.createElement("a")).href=d,e.download=c,document.body.appendChild(e),e.click(),e.remove(),URL.revokeObjectURL(d),l({type:"success",message:`Exported ${b.name}`})},onError:a=>{l({type:"error",message:a.message})}}),x=aF({mutationFn:async a=>{let b;try{b=JSON.parse(await gp(a))}catch{throw Error("Profile file must be valid JSON")}let c=await fetch("/api/profiles/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error||"Failed to import profile");return c.json()},onSuccess:a=>{b.invalidateQueries({queryKey:["profiles"]});let c=a&&"object"==typeof a&&"profile"in a&&a.profile&&"object"==typeof a.profile&&"name"in a.profile&&"string"==typeof a.profile.name?a.profile.name:"profile";l({type:"success",message:`Imported ${c}`})},onError:a=>{l({type:"error",message:a.message})}}),y=async a=>{d(a),h(!1);try{let b=await fetch(`/api/profiles/${a.id}`);if(b.ok){let a=await b.json();f(a.config)}}catch{f(void 0)}};if(p)return(0,m.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,m.jsx)(aG,{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(q)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)(aH,{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:r instanceof Error?r.message:"An unknown error occurred"})]})]})});let z=o?.profiles??[],B=o?.activeProfileId??null;return(0,m.jsxs)("div",{className:"space-y-4",children:[k&&(0,m.jsxs)("div",{role:"alert",className:`flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===k.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"===k.type?(0,m.jsx)(aI,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(aH,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:k.message})]}),c||g?(0,m.jsx)(gn,{profile:c??void 0,initialConfig:e,onSave:({profile:a,config:b})=>{g?t.mutate({profile:a,config:b}):c&&u.mutate({id:c.id,profile:a,config:b})},onCancel:()=>{d(null),f(void 0),h(!1)}}):(0,m.jsx)(gj,{profiles:z,activeProfileId:B,appliedProfileId:i,onApply:a=>{s.mutate(a)},onEdit:y,onDelete:a=>{v.mutate(a)},onExport:a=>{w.mutate(a)},onImport:a=>{x.mutate(a)},onCreateNew:()=>{h(!0),d(null)}})]})}let gr={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 gs({agentName:a="default",onSaveSuccess:b}){let c=(0,A.useQueryClient)(),[d,e]=n.useState(null),{data:f,isLoading:g}=E({queryKey:["opencode-config"],queryFn:async()=>{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch config");return a.json()}}),{control:h,handleSubmit:i,reset:j,formState:{isSubmitting:k}}=bG({defaultValues:{model:"",temperature:.7,top_p:1,variant:"",prompt_append:""}}),{data:l}=E({queryKey:["opencode-models"],queryFn:async()=>{var a;let b=await fetch("/api/opencode-models"),c=null;try{c=await b.json()}catch{c=null}let d=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null;if(!b.ok||d)throw Error(d||`Failed to fetch models (${b.status})`);if(!((a=c)&&"object"==typeof a&&Array.isArray(a.models)))throw Error("Invalid models response");return c},retry:!1}),o=n.useMemo(()=>new Set(l?.models??[]),[l]);n.useEffect(()=>{if(f){let b=f.agents?.[a]||{};j({model:b.model||"",temperature:b.temperature??.7,top_p:b.top_p??1,variant:b.variant||"",prompt_append:b.prompt_append||""})}},[f,a,j]),n.useEffect(()=>{if(d){let a=setTimeout(()=>e(null),3e3);return()=>clearTimeout(a)}},[d]);let p=aF({mutationFn:async b=>{let c=await fetch("/api/opencode-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agents:{[a]:b}})});if(!c.ok)throw Error((await c.json()).error||"Failed to save config");return c.json()},onSuccess:()=>{c.invalidateQueries({queryKey:["opencode-config"]}),e({type:"success",message:"Configuration saved successfully"}),b?.()},onError:a=>{e({type:"error",message:a.message})}}),q=f?.agents?.[a],r=!!q?.model,s=q?.model,t=s&&o.size>0&&!o.has(s),u=!s,v=gr[a]||gr.default;return g?(0,m.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,m.jsx)(aG,{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:i(a=>{p.mutate(a)}),className:"space-y-6","aria-label":"Agent configuration form",children:[r&&(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:q.model}),q.variant&&(0,m.jsxs)("span",{children:[" (variant: ",q.variant,")"]})]})}),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)(aI,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(aH,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:d.message})]}),u&&(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)(aH,{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:v.map((a,b)=>(0,m.jsxs)(n.Fragment,{children:[(0,m.jsx)("code",{className:`rounded px-1.5 py-0.5 text-xs ${0===b?"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:a}),b<v.length-1&&(0,m.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:"→"})]},a))}),(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."})]})]}),t&&(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)(aB,{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:s})," 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)(bd,{name:"model",control:h,rules:{required:"Please select a model"},render:({field:a,fieldState:b})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{id:"model-selector",children:(0,m.jsx)(gb,{value:a.value,onValueChange:a.onChange,placeholder:"Select a model..."})}),b.error&&(0,m.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",role:"alert",children:b.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)(bd,{name:"variant",control:h,render:({field:a})=>(0,m.jsxs)("select",{id:"variant-selector",value:a.value,onChange:b=>a.onChange(b.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)(bd,{name:"temperature",control:h,render:({field:a})=>(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:a.value.toFixed(1)})})]}),(0,m.jsx)(bd,{name:"temperature",control:h,render:({field:a})=>(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:a.value,onChange:b=>a.onChange(parseFloat(b.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:a.value,onChange:b=>a.onChange(parseFloat(b.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)(bd,{name:"top_p",control:h,render:({field:a})=>(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:a.value.toFixed(2)})})]}),(0,m.jsx)(bd,{name:"top_p",control:h,render:({field:a})=>(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:a.value,onChange:b=>a.onChange(parseFloat(b.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:a.value,onChange:b=>a.onChange(parseFloat(b.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)(bd,{name:"prompt_append",control:h,render:({field:a})=>(0,m.jsx)("textarea",{id:"prompt-append",value:a.value,onChange:b=>a.onChange(b.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:k||p.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:[(k||p.isPending)&&(0,m.jsx)(aG,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Save Changes"]})})]})}let gt=as("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 gu(){let a=(0,A.useQueryClient)(),[b,c]=n.useState(null),{data:d,isLoading:e}=E({queryKey:["opencode-config"],queryFn:async()=>{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch config");return a.json()}}),{control:f,handleSubmit:g,reset:h,formState:{isDirty:i,isSubmitting:j}}=bG({defaultValues:{stickyBusyDelaySeconds:1,sessionsRefreshIntervalSeconds:5}});n.useEffect(()=>{d&&h({stickyBusyDelaySeconds:"number"==typeof d.vibepulse?.stickyBusyDelayMs?Math.round(d.vibepulse.stickyBusyDelayMs/1e3):1,sessionsRefreshIntervalSeconds:"number"==typeof d.vibepulse?.sessionsRefreshIntervalMs?Math.round(d.vibepulse.sessionsRefreshIntervalMs/1e3):5})},[d,h]),n.useEffect(()=>{if(b){let a=setTimeout(()=>c(null),3e3);return()=>clearTimeout(a)}},[b]);let k=aF({mutationFn:async a=>{let b=await fetch("/api/opencode-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({vibepulse:{stickyBusyDelayMs:1e3*a.stickyBusyDelaySeconds,sessionsRefreshIntervalMs:1e3*a.sessionsRefreshIntervalSeconds}})});if(!b.ok)throw Error((await b.json()).error||"Failed to save settings");return b.json()},onSuccess:()=>{a.invalidateQueries({queryKey:["opencode-config"]}),c({type:"success",message:"Settings saved successfully"})},onError:a=>{c({type:"error",message:a.message})}});return e?(0,m.jsx)("div",{className:"flex h-40 items-center justify-center",children:(0,m.jsx)(aG,{className:"h-6 w-6 animate-spin text-zinc-400"})}):(0,m.jsx)("form",{onSubmit:g(a=>{k.mutate(a)}),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)(av,{className:"h-4 w-4"})}),(0,m.jsx)("h3",{className:"text-lg font-medium text-zinc-900 dark:text-zinc-100",children:"Application Settings"})]}),b&&(0,m.jsxs)("div",{role:"alert",className:`mb-6 flex items-center gap-2 rounded-lg px-4 py-3 text-sm ${"success"===b.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"===b.type?(0,m.jsx)(aI,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,m.jsx)(aH,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,m.jsx)("span",{children:b.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)(bd,{name:"stickyBusyDelaySeconds",control:f,render:({field:a})=>(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:[a.value,"s"]})})]}),(0,m.jsx)(bd,{name:"stickyBusyDelaySeconds",control:f,render:({field:a})=>(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:a.value,onChange:b=>a.onChange(parseInt(b.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:a.value,onChange:b=>a.onChange(parseInt(b.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)(bd,{name:"sessionsRefreshIntervalSeconds",control:f,render:({field:a})=>(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:[a.value,"s"]})})]}),(0,m.jsx)(bd,{name:"sessionsRefreshIntervalSeconds",control:f,render:({field:a})=>(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:a.value,onChange:b=>a.onChange(parseInt(b.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:a.value,onChange:b=>a.onChange(parseInt(b.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:!i||j||k.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:[j||k.isPending?(0,m.jsx)(aG,{className:"h-4 w-4 animate-spin"}):(0,m.jsx)(gt,{className:"h-4 w-4"}),"Save Settings"]})})]})})}let gv=[{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 gw({open:a,onClose:b}){let[c,d]=n.useState("general"),[e,f]=n.useState("default"),[g,h]=n.useState(""),i=n.useRef(null),{data:j}=E({queryKey:["opencode-config"],queryFn:async()=>{let a=await fetch("/api/opencode-config");if(!a.ok)throw Error("Failed to fetch config");return a.json()},enabled:a}),{data:k}=E({queryKey:["opencode-models"],queryFn:async()=>{var a;let b=await fetch("/api/opencode-models"),c=null;try{c=await b.json()}catch{c=null}let d=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null;if(!b.ok||d)throw Error(d||`Failed to fetch models (${b.status})`);if(!((a=c)&&"object"==typeof a&&Array.isArray(a.models)))throw Error("Invalid models response");return c},enabled:a,retry:!1}),l=n.useMemo(()=>new Set(k?.models??[]),[k]),o=n.useCallback(a=>{let b=j?.agents?.[a];return b?.model?l.size>0&&!l.has(b.model)?"invalid":"ok":"unconfigured"},[j,l]),p=n.useMemo(()=>gv.filter(a=>"invalid"===o(a.key)).length,[o]);n.useEffect(()=>{if(!a)return;let c=a=>{"Escape"===a.key&&b()};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[a,b]),n.useEffect(()=>{if(a){let a=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}}},[a]),n.useEffect(()=>{a&&setTimeout(()=>i.current?.focus(),100)},[a]);let q=n.useMemo(()=>{if(!g.trim())return gv;let a=g.toLowerCase();return gv.filter(b=>b.name.toLowerCase().includes(a)||b.description.toLowerCase().includes(a)||(j?.agents?.[b.key]?.model||"").toLowerCase().includes(a))},[g,j]),r=gv.find(a=>a.key===e);return a?(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)(av,{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:()=>d("general"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"general"===c?"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:()=>d("agents"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"agents"===c?"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:()=>d("categories"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"categories"===c?"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:()=>d("profiles"),className:`rounded-md px-4 py-1.5 text-sm font-medium transition-colors ${"profiles"===c?"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:b,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)(ax,{className:"h-5 w-5"})})]}),"general"===c?(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)(gu,{})]})}):"agents"===c?(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)(ay,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-zinc-400"}),(0,m.jsx)("input",{ref:i,type:"text",value:g,onChange:a=>h(a.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:q.map(a=>{let b,c=j?.agents?.[a.key]?.model;return(0,m.jsxs)("button",{type:"button",onClick:()=>f(a.key),className:`flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left transition-colors ${e===a.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 ${e===a.key?"bg-white/20":"bg-zinc-200 dark:bg-zinc-800"}`,children:(0,m.jsx)(az,{className:`h-4 w-4 ${e===a.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:[a.name,"unconfigured"===(b=o(a.key))?(0,m.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${e===a.key?"bg-zinc-300":"bg-zinc-400 dark:bg-zinc-500"}`,title:"Inherits category configuration"}):"invalid"===b?(0,m.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${e===a.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 ${e===a.key?"bg-emerald-300":"bg-emerald-500"}`,title:"Configured"})]}),(0,m.jsx)("div",{className:`truncate text-xs ${e===a.key?"text-blue-100":"text-zinc-500 dark:text-zinc-500"}`,children:a.description}),c&&(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 ${e===a.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:c,children:(0,m.jsx)("span",{className:"font-mono break-all [display:-webkit-box] [-webkit-box-orient:vertical] [-webkit-line-clamp:2] overflow-hidden",children:c})})]}),e===a.key&&(0,m.jsx)(aA,{className:"h-4 w-4 shrink-0 text-blue-200"})]},a.key)})}),0===q.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:[gv.length," agents",p>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)(aB,{className:"h-2.5 w-2.5"}),p," 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)(az,{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:r?.name}),(0,m.jsx)("p",{className:"text-zinc-500 dark:text-zinc-400",children:r?.description})]})]}),(0,m.jsx)(gs,{agentName:e})]})})]}):"categories"===c?(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)(ge,{})]})}):(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)(gq,{})]})})]}):null}let gx=as("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),gy=as("pen",[["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"}]]),gz=as("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);function gA({open:a,onClose:b,hostSources:c,isNodeMode:d=!1}){let{remoteHosts:e,addRemoteHost:f,editRemoteHost:g,deleteRemoteHost:h,toggleRemoteHost:i}=c,[j,k]=(0,n.useState)(null),[l,o]=(0,n.useState)(!1),[p,q]=(0,n.useState)({hostLabel:"",baseUrl:"",token:""}),[r,s]=(0,n.useState)(!1),[t,u]=(0,n.useState)(null),[v,w]=(0,n.useState)(!1),x=async(a,b)=>{u(null);try{await a()}catch(a){u(a instanceof Error?a.message:b)}};(0,n.useEffect)(()=>{if(a){let a=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}}o(!1),k(null),u(null),q({hostLabel:"",baseUrl:"",token:""}),s(!1),w(!1)},[a]),(0,n.useEffect)(()=>{if(!a)return;let c=a=>{"Escape"===a.key&&b()};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[a,b]);let y=async()=>{let a;u(null);let b=p.hostLabel.trim();if(!b)return void u("Label is required");let c=(a=function(a){let b=a.trim();if(!b)return{ok:!1,error:"empty"};try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return{ok:!1,error:"unsupported_protocol"};if(a.username||a.password)return{ok:!1,error:"credentials_not_allowed"};return{ok:!0,normalizedBaseUrl:(a.search="",a.hash="",a.toString().replace(/\/+$/,""))}}catch{return{ok:!1,error:"invalid"}}}(p.baseUrl)).ok?null:"unsupported_protocol"===a.error?"Node URL must use http:// or https://":"credentials_not_allowed"===a.error?"Node URL must not include a username or password":"A valid Node URL is required (e.g., http://localhost:3000)";if(c)return void u(c);w(!0);try{if(l)await f({hostId:"",hostLabel:b,baseUrl:p.baseUrl,enabled:!0,token:p.token.trim()}),o(!1);else if(j){let a=e.find(a=>a.hostId===j);if(a){let c=p.token.trim(),d=r?"":c||void 0;await g(j,{...a,hostLabel:b,baseUrl:p.baseUrl,token:d})}k(null)}q({hostLabel:"",baseUrl:"",token:""}),s(!1)}catch(a){u(a instanceof Error?a.message:"An error occurred")}finally{w(!1)}},z=()=>{o(!1),k(null),q({hostLabel:"",baseUrl:"",token:""}),s(!1),u(null)};return a?(0,m.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4 backdrop-blur-sm","data-testid":"host-manager",children:(0,m.jsxs)("div",{className:"flex max-h-[85vh] w-full max-w-lg flex-col overflow-hidden rounded-xl border border-zinc-200 bg-white shadow-2xl dark:border-zinc-800 dark:bg-zinc-950",children:[(0,m.jsxs)("header",{className:"flex h-14 items-center justify-between border-b border-zinc-200 px-5 dark:border-zinc-800",children:[(0,m.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,m.jsx)(au,{className:"h-5 w-5 text-blue-600 dark:text-blue-500"}),(0,m.jsx)("h2",{className:"text-base font-semibold text-zinc-900 dark:text-zinc-100",children:"Nodes"})]}),(0,m.jsx)("button",{type:"button",onClick:b,className:"flex h-8 w-8 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 node manager",children:(0,m.jsx)(ax,{className:"h-4 w-4"})})]}),(0,m.jsx)("main",{className:"flex-1 overflow-y-auto p-5",children:d?(0,m.jsx)("div",{className:"rounded-lg border border-yellow-200 bg-yellow-50 p-4 dark:border-yellow-900/50 dark:bg-yellow-900/20",children:(0,m.jsxs)("div",{className:"flex items-start gap-3",children:[(0,m.jsx)(aH,{className:"mt-0.5 h-5 w-5 text-yellow-600 dark:text-yellow-500"}),(0,m.jsxs)("div",{children:[(0,m.jsx)("h3",{className:"text-sm font-medium text-yellow-800 dark:text-yellow-400",children:"Node Mode Active"}),(0,m.jsx)("p",{className:"mt-1 text-sm text-yellow-700 dark:text-yellow-500",children:"Remote node configuration is disabled while running in node mode to prevent nested hub configurations."})]})]})}):(0,m.jsxs)("div",{className:"space-y-3",children:[t&&!l&&!j&&(0,m.jsxs)("div",{className:"flex items-center gap-1.5 rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700 dark:border-red-900/50 dark:bg-red-900/20 dark:text-red-400",children:[(0,m.jsx)(aH,{className:"h-3.5 w-3.5"}),(0,m.jsx)("span",{children:t})]}),(0,m.jsxs)("div",{"data-testid":"host-row-local",className:"flex items-center justify-between rounded-lg border border-zinc-200 bg-zinc-50/50 p-3 dark:border-zinc-800 dark:bg-zinc-900/20",children:[(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-md bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",children:(0,m.jsx)(au,{className:"h-4 w-4"})}),(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"Local"}),(0,m.jsx)("div",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"Auto-discovered processes"})]})]}),(0,m.jsx)("div",{className:"flex items-center",children:(0,m.jsx)("span",{className:"inline-flex items-center rounded-full bg-blue-50 px-2 py-0.5 text-xs font-medium text-blue-700 ring-1 ring-inset ring-blue-700/10 dark:bg-blue-400/10 dark:text-blue-400 dark:ring-blue-400/30",children:"Built-in"})})]}),e.map(a=>{let b=j===a.hostId,c=a.hostId.replace(/[^a-zA-Z0-9-]/g,"-").toLowerCase();return(0,m.jsx)("div",{"data-testid":`host-row-remote-${c}`,className:`flex flex-col gap-3 rounded-lg border p-3 transition-colors ${b?"border-blue-500 bg-blue-50/30 dark:border-blue-500/50 dark:bg-blue-900/10":"border-zinc-200 bg-white hover:border-zinc-300 dark:border-zinc-800 dark:bg-zinc-950 dark:hover:border-zinc-700"}`,children:b?(0,m.jsxs)("div",{className:"space-y-3",children:[(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"edit-hostLabel",className:"text-xs font-medium text-zinc-700 dark:text-zinc-300",children:"Node Label"}),(0,m.jsx)("input",{id:"edit-hostLabel","data-testid":"host-form-label",type:"text",value:p.hostLabel,onChange:a=>q({...p,hostLabel:a.target.value}),className:"w-full rounded-md border border-zinc-300 bg-white px-3 py-1.5 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-700 dark:bg-zinc-900 dark:text-zinc-100",placeholder:"e.g., Production Node",disabled:v})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"edit-baseUrl",className:"text-xs font-medium text-zinc-700 dark:text-zinc-300",children:"Node URL"}),(0,m.jsx)("input",{id:"edit-baseUrl","data-testid":"host-form-base-url",type:"url",value:p.baseUrl,onChange:a=>q({...p,baseUrl:a.target.value}),className:"w-full rounded-md border border-zinc-300 bg-white px-3 py-1.5 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-700 dark:bg-zinc-900 dark:text-zinc-100",placeholder:"https://node.example.com",disabled:v})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsxs)("label",{htmlFor:"edit-token",className:"text-xs font-medium text-zinc-700 dark:text-zinc-300 flex items-center gap-1.5",children:[(0,m.jsx)(gz,{className:"h-3.5 w-3.5"}),"Update Token (optional)"]}),(0,m.jsx)("input",{id:"edit-token","data-testid":"host-form-token",type:"password",value:p.token,onChange:a=>{let b=a.target.value;q({...p,token:b}),r&&b.trim().length>0&&s(!1)},className:"w-full rounded-md border border-zinc-300 bg-white px-3 py-1.5 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-700 dark:bg-zinc-900 dark:text-zinc-100",placeholder:"Leave blank to keep existing token",disabled:v||r}),(0,m.jsxs)("label",{htmlFor:"edit-clear-token",className:"flex items-center gap-2 text-xs text-zinc-600 dark:text-zinc-400",children:[(0,m.jsx)("input",{id:"edit-clear-token",type:"checkbox",checked:r,onChange:a=>s(a.target.checked),disabled:v,className:"h-3.5 w-3.5 rounded border-zinc-300 text-blue-600 focus:ring-blue-500"}),"Clear saved token on save"]})]}),t&&(0,m.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-red-600 dark:text-red-400",children:[(0,m.jsx)(aH,{className:"h-3.5 w-3.5"}),(0,m.jsx)("span",{children:t})]}),(0,m.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[(0,m.jsx)("button",{type:"button",onClick:z,disabled:v,className:"rounded-md px-3 py-1.5 text-xs font-medium text-zinc-600 hover:bg-zinc-100 disabled:opacity-50 dark:text-zinc-400 dark:hover:bg-zinc-800",children:"Cancel"}),(0,m.jsxs)("button",{type:"button",onClick:y,disabled:v,className:"inline-flex items-center gap-1.5 rounded-md bg-blue-600 px-3 py-1.5 text-xs font-medium text-white hover:bg-blue-700 disabled:opacity-50",children:[(0,m.jsx)(aI,{className:"h-3.5 w-3.5"}),v?"Saving...":"Save"]})]})]}):(0,m.jsxs)("div",{className:"flex items-center justify-between",children:[(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("div",{className:`flex h-8 w-8 items-center justify-center rounded-md ${a.enabled?"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400":"bg-zinc-50 text-zinc-400 dark:bg-zinc-900 dark:text-zinc-600"}`,children:(0,m.jsx)(gx,{className:"h-4 w-4"})}),(0,m.jsxs)("div",{className:a.enabled?"":"opacity-60",children:[(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("div",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:a.hostLabel}),a.tokenConfigured&&(0,m.jsx)(gz,{className:"h-3 w-3 text-zinc-400","aria-label":"Token configured"})]}),(0,m.jsx)("div",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:a.baseUrl})]})]}),(0,m.jsxs)("div",{className:"flex items-center gap-1",children:[(0,m.jsx)("button",{type:"button",onClick:()=>{x(()=>i(a.hostId,!a.enabled),"Failed to toggle node")},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${a.enabled?"text-zinc-600 hover:bg-zinc-100 dark:text-zinc-400 dark:hover:bg-zinc-800":"text-blue-600 hover:bg-blue-50 dark:text-blue-400 dark:hover:bg-blue-900/20"}`,children:a.enabled?"Disable":"Enable"}),(0,m.jsx)("button",{type:"button",onClick:()=>{k(a.hostId),q({hostLabel:a.hostLabel,baseUrl:a.baseUrl,token:""}),s(!1),o(!1),u(null)},className:"rounded-md p-1.5 text-zinc-400 transition-colors hover:bg-zinc-100 hover:text-zinc-700 dark:hover:bg-zinc-800 dark:hover:text-zinc-200","aria-label":"Edit node",children:(0,m.jsx)(gy,{className:"h-3.5 w-3.5"})}),(0,m.jsx)("button",{type:"button",onClick:()=>{x(()=>h(a.hostId),"Failed to delete node")},className:"rounded-md p-1.5 text-zinc-400 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20 dark:hover:text-red-400","aria-label":"Delete node",children:(0,m.jsx)(aK,{className:"h-3.5 w-3.5"})})]})]})},a.hostId)}),l?(0,m.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border border-blue-500 bg-blue-50/30 p-3 dark:border-blue-500/50 dark:bg-blue-900/10",children:[(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"add-hostLabel",className:"text-xs font-medium text-zinc-700 dark:text-zinc-300",children:"Node Label"}),(0,m.jsx)("input",{id:"add-hostLabel","data-testid":"host-form-label",type:"text",value:p.hostLabel,onChange:a=>q({...p,hostLabel:a.target.value}),className:"w-full rounded-md border border-zinc-300 bg-white px-3 py-1.5 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-700 dark:bg-zinc-900 dark:text-zinc-100",placeholder:"e.g., Remote Node",disabled:v})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsx)("label",{htmlFor:"add-baseUrl",className:"text-xs font-medium text-zinc-700 dark:text-zinc-300",children:"Node URL"}),(0,m.jsx)("input",{id:"add-baseUrl","data-testid":"host-form-base-url",type:"url",value:p.baseUrl,onChange:a=>q({...p,baseUrl:a.target.value}),className:"w-full rounded-md border border-zinc-300 bg-white px-3 py-1.5 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-700 dark:bg-zinc-900 dark:text-zinc-100",placeholder:"https://node.example.com",disabled:v})]}),(0,m.jsxs)("div",{className:"space-y-2",children:[(0,m.jsxs)("label",{htmlFor:"add-token",className:"text-xs font-medium text-zinc-700 dark:text-zinc-300 flex items-center gap-1.5",children:[(0,m.jsx)(gz,{className:"h-3.5 w-3.5"}),"Access Token (optional)"]}),(0,m.jsx)("input",{id:"add-token","data-testid":"host-form-token",type:"password",value:p.token,onChange:a=>q({...p,token:a.target.value}),className:"w-full rounded-md border border-zinc-300 bg-white px-3 py-1.5 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-700 dark:bg-zinc-900 dark:text-zinc-100",placeholder:"Leave blank only on trusted networks",disabled:v}),(0,m.jsx)("p",{className:"text-xs text-amber-700 dark:text-amber-400",children:"Recommended: set a token unless this node is only reachable on a trusted private network."})]}),t&&(0,m.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-red-600 dark:text-red-400",children:[(0,m.jsx)(aH,{className:"h-3.5 w-3.5"}),(0,m.jsx)("span",{children:t})]}),(0,m.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[(0,m.jsx)("button",{type:"button",onClick:z,disabled:v,className:"rounded-md px-3 py-1.5 text-xs font-medium text-zinc-600 hover:bg-zinc-100 disabled:opacity-50 dark:text-zinc-400 dark:hover:bg-zinc-800",children:"Cancel"}),(0,m.jsxs)("button",{type:"button",onClick:y,disabled:v,className:"inline-flex items-center gap-1.5 rounded-md bg-blue-600 px-3 py-1.5 text-xs font-medium text-white hover:bg-blue-700 disabled:opacity-50",children:[(0,m.jsx)(aI,{className:"h-3.5 w-3.5"}),v?"Adding...":"Add Node"]})]})]}):(0,m.jsxs)("button",{type:"button",onClick:()=>{o(!0),k(null),q({hostLabel:"",baseUrl:"",token:""}),s(!1),u(null)},className:"flex w-full items-center justify-center gap-2 rounded-lg border border-dashed border-zinc-300 py-3 text-sm font-medium text-zinc-600 transition-colors hover:border-zinc-400 hover:bg-zinc-50 hover:text-zinc-900 dark:border-zinc-700 dark:text-zinc-400 dark:hover:border-zinc-600 dark:hover:bg-zinc-900/50 dark:hover:text-zinc-100",children:[(0,m.jsx)(gf,{className:"h-4 w-4"}),"Add Remote Node"]})]})})]})}):null}let gB={hostId:"local",hostLabel:"Local",hostKind:"local"},gC="vibepulse:host-sources-changed";function gD(a){return{...a,hostKind:"remote"}}function gE(a,b){if("all"===a||"local"===a)return a;let c=b.find(b=>b.hostId===a);return c&&c.enabled?c.hostId:"all"}function gF(a){}async function gG(){let a=await fetch("/api/nodes");if(!a.ok)throw Error("Failed to fetch nodes");return((await a.json()).nodes||[]).map(a=>({hostId:a.nodeId,hostLabel:a.nodeLabel,baseUrl:a.baseUrl,enabled:a.enabled,tokenConfigured:a.tokenConfigured}))}let gH=[{label:"1d",days:1},{label:"3d",days:3},{label:"7d",days:7},{label:"30d",days:30},{label:"All",days:0}],gI="opencode --port <PORT>";function gJ(){let a,b,c,d,e,f,g,h,i,j,k,l,o,p,q;a=(0,A.useQueryClient)(),b=(0,n.useRef)(null),c=(0,n.useRef)(0),d=(0,n.useRef)(null),e=(0,n.useRef)(null),f=(0,n.useRef)(!1),g=(0,n.useRef)(!0),h=(0,n.useRef)(null),i=(0,n.useRef)(new Map),j=(0,n.useCallback)(()=>{d.current||(d.current=setTimeout(()=>{a.invalidateQueries({queryKey:["sessions"]},{cancelRefetch:!1}),d.current=null},500))},[a]),k=(0,n.useCallback)(a=>{let b=i.current.get(a);b&&(clearTimeout(b),i.current.delete(a))},[]),l=(0,n.useCallback)(b=>{a.setQueriesData({queryKey:["sessions"]},b)},[a]),o=(0,n.useCallback)((a,b)=>{l(c=>{if(!c?.sessions)return c;let d=!1,e=c.sessions.map(c=>c.id===a?(d=!0,{...c,waitingForUser:b}):c.children?.some(b=>b.id===a)?(d=!0,{...c,children:c.children.map(c=>c.id===a?{...c,waitingForUser:b}:c)}):c);return d?{...c,sessions:e}:c})},[l]),p=(0,n.useCallback)((a,b)=>{k(a);let c=setTimeout(()=>{i.current.delete(a),b&&ae(a,!0),o(a,!0)},1500);i.current.set(a,c)},[k,o]),q=(0,n.useCallback)(a=>{var b;let c=ag(a)?a.source:ac,d=ag(a)?a.event:a,e="payload"in d?d.payload:d,f=e.properties?.sessionID?_(c.hostId,aa(b=e.properties.sessionID)??b):null,h=c.hostId===ab;if(!e?.type)return void j();let i="question.asked"===e.type||"permission.asked"===e.type,m="question.replied"===e.type||"question.rejected"===e.type||"permission.replied"===e.type;(f&&i&&h&&ae(f,!0),f&&m&&(k(f),h&&ae(f,!1)),["session.status","session.updated","session.created","session.deleted","question.asked","permission.asked","permission.updated","question.replied","question.rejected","permission.replied","session.archived"].includes(e.type))?l(a=>{if(!a?.sessions)return j(),a;switch(e.type){case"session.updated":case"session.created":{let b=e.properties?.info;if(!b)return j(),a;let d=function a(b,c){let d=aa(b.rawSessionId??b.id)??b.rawSessionId??b.id,e=_(c.hostId,d),f=b.parentID?aa(b.parentID)??b.parentID:b.parentID;return{...b,id:e,parentID:f?_(c.hostId,f):f,hostId:c.hostId,hostLabel:c.hostLabel,hostKind:c.hostKind,rawSessionId:d,sourceSessionKey:e,readOnly:"remote"===c.hostKind,children:b.children?.map(b=>a({...b,parentID:b.parentID??d},c))}}(b,c);if(d.parentID){let b=!1,c=a.sessions.map(a=>{let c=a.children?.some(a=>a.id===d.id),e=a.id===d.parentID;if(!c&&!e)return a;b=!0;let f=a.children||[],g=f.find(a=>a.id===d.id),h=af({...g,...d,realTimeStatus:d.realTimeStatus??g?.realTimeStatus??"busy",waitingForUser:d.waitingForUser??g?.waitingForUser});return g?{...a,children:f.map(a=>a.id===d.id?h:a)}:{...a,children:[...f,h]}});if(!b)return j(),a;return{...a,sessions:c}}let f=a.sessions.find(a=>a.id===d.id);if(!f)return j(),{...a,sessions:[af(d),...a.sessions]};let g={...f,...d,projectName:f.projectName,branch:f.branch,realTimeStatus:d.realTimeStatus??f.realTimeStatus,waitingForUser:d.waitingForUser??f.waitingForUser,children:f.children};return{...a,sessions:a.sessions.map(a=>a.id===d.id?g:a)}}case"session.deleted":{let b=e.properties?.info,d=b?.id??e.properties?.sessionID;if(!d)return j(),a;let f=_(c.hostId,aa(d)??d);return{...a,sessions:a.sessions.filter(a=>a.id!==f)}}default:{if(!f)return j(),a;let b=a=>{switch(e.type){case"session.status":{var b;let c=e.properties?.status?.type;if(!c)return a;b=a.id,ad.set(b,{status:c,timestamp:Date.now()});let d=!a.parentID,f="busy"===c||"retry"===c;return"retry"!==c||g.current||X("play-alert","Skipped playAlertSound() because muted","playAlertSound() failed",(a,b)=>{let c=a.createOscillator(),d=a.createGain();c.type="triangle",c.frequency.setValueAtTime(880,b),c.frequency.exponentialRampToValueAtTime(698,b+.25),d.gain.setValueAtTime(.3,b),d.gain.exponentialRampToValueAtTime(.001,b+.35),c.connect(d),d.connect(a.destination),c.start(b),c.stop(b+.35);let e=a.createOscillator(),f=a.createGain();e.type="triangle",e.frequency.setValueAtTime(698,b+.2),e.frequency.exponentialRampToValueAtTime(523,b+.45),f.gain.setValueAtTime(.25,b+.2),f.gain.exponentialRampToValueAtTime(.001,b+.5),e.connect(f),f.connect(a.destination),e.start(b+.2),e.stop(b+.5)}),"idle"===c&&(k(a.id),!d&&h&&ae(a.id,!1)),"retry"===c&&(k(a.id),h&&ae(a.id,!0)),"busy"===c&&k(a.id),"idle"===c&&d&&(a.children?.length||0)>0&&j(),{...a,time:f?{...a.time||{},archived:void 0}:a.time,realTimeStatus:c,waitingForUser:"retry"===c||("idle"!==c||!!d)&&a.waitingForUser,children:a.children}}case"question.asked":case"permission.asked":return g.current||setTimeout(()=>void X("play-attention","Skipped playAttentionSound() because muted","playAttentionSound() failed",(a,b)=>{let c=a.createOscillator(),d=a.createGain();c.type="sine",c.frequency.value=523,d.gain.setValueAtTime(.3,b),d.gain.exponentialRampToValueAtTime(.001,b+.2),c.connect(d),d.connect(a.destination),c.start(b),c.stop(b+.2);let e=a.createOscillator(),f=a.createGain();e.type="sine",e.frequency.value=659,f.gain.setValueAtTime(.3,b+.15),f.gain.exponentialRampToValueAtTime(.001,b+.4),e.connect(f),f.connect(a.destination),e.start(b+.15),e.stop(b+.4);let g=a.createOscillator(),h=a.createGain();g.type="sine",g.frequency.value=784,h.gain.setValueAtTime(.25,b+.3),h.gain.exponentialRampToValueAtTime(.001,b+.55),g.connect(h),h.connect(a.destination),g.start(b+.3),g.stop(b+.55)}),250),h&&ae(f,!0),p(f,h),{...a,time:{...a.time||{},archived:void 0},waitingForUser:!0};case"permission.updated":return k(f),j(),a;case"question.replied":case"question.rejected":case"permission.replied":return k(f),h&&ae(f,!1),{...a,waitingForUser:!1};case"session.archived":return{...a,time:{...a.time||{},archived:Date.now()}};default:return a}},c=!1,d=a.sessions.map(a=>a.id===f?(c=!0,b(a)):a.children?.some(a=>a.id===f)?(c=!0,"session.status"===e.type&&e.properties?.status?.type==="idle")?{...a,children:a.children.filter(a=>a.id!==f)}:{...a,children:a.children.map(a=>a.id===f?b(a):a)}:a);if(!c)return j(),a;return{...a,sessions:d}}}}):j()},[l,j,k,p]),(0,n.useEffect)(()=>(h.current=setTimeout(()=>{g.current=!1},3e3),()=>{h.current&&clearTimeout(h.current)}),[]),(0,n.useEffect)(()=>{let a=null,d=i.current,g=()=>{b.current&&(clearTimeout(b.current),b.current=null),e.current&&(clearTimeout(e.current),e.current=null),(a=new EventSource("/api/opencode-events")).onopen=()=>{c.current=0,f.current=!1,e.current=setTimeout(()=>{a&&(f.current=!0,a.close(),j(),g())},15e3)},a.onmessage=a=>{try{let b=JSON.parse(a.data);q(b),c.current=0}catch(a){console.error("Failed to parse SSE event:",a)}},a.onerror=()=>{if(a?.close(),e.current&&(clearTimeout(e.current),e.current=null),f.current){f.current=!1;return}c.current<5&&(b.current=setTimeout(()=>{c.current++,g()},1e3*Math.pow(2,c.current)))}};return g(),()=>{for(let c of(a?.close(),b.current&&(clearTimeout(b.current),b.current=null),e.current&&(clearTimeout(e.current),e.current=null),d.values()))clearTimeout(c);d.clear()}},[q,j]);let[r,s]=(0,n.useState)("unknown"),t=function(a={}){let b=a.runtimeRole??"hub",c="hub"!==b,d=(0,A.useQueryClient)(),[e,f]=(0,n.useState)(()=>"all"),{data:g=[],isLoading:h,error:i}=E({queryKey:["nodes"],queryFn:gG,enabled:!c}),j=(0,n.useMemo)(()=>gE(e,g),[e,g]),k="unknown"!==b&&(c||!h&&!i);(0,n.useEffect)(()=>{let a=()=>{f("all")};return window.addEventListener(gC,a),window.addEventListener("storage",a),()=>{window.removeEventListener(gC,a),window.removeEventListener("storage",a)}},[]),(0,n.useEffect)(()=>{j===e||k&&gF(j)},[j,e,k]);let l=(0,n.useCallback)(a=>{let b=gE(a,g);f(b),gF(b)},[g]),m=aF({mutationFn:async a=>{let b=await fetch("/api/nodes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({nodeLabel:a.hostLabel,baseUrl:a.baseUrl,token:a.token||"",enabled:a.enabled})});if(!b.ok)throw Error((await b.json()).error||"Failed to add node");return b.json()},onSuccess:()=>{d.invalidateQueries({queryKey:["nodes"]})}}),o=aF({mutationFn:async({hostId:a,nextHost:b})=>{let c={nodeId:a,nodeLabel:b.hostLabel,baseUrl:b.baseUrl,enabled:b.enabled};void 0!==b.token&&(c.token=b.token);let d=await fetch("/api/nodes",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw Error((await d.json()).error||"Failed to edit node");return d.json()},onSuccess:()=>{d.invalidateQueries({queryKey:["nodes"]})}}),p=aF({mutationFn:async a=>{let b=await fetch("/api/nodes",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({nodeId:a})});if(!b.ok)throw Error("Failed to delete node");return b.json()},onSuccess:()=>{d.invalidateQueries({queryKey:["nodes"]})}}),q=aF({mutationFn:async({hostId:a,enabled:b})=>{let c=await fetch("/api/nodes",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({nodeId:a,enabled:b})});if(!c.ok)throw Error("Failed to toggle node");return c.json()},onSuccess:()=>{d.invalidateQueries({queryKey:["nodes"]})}}),r=(0,n.useCallback)(async a=>{await m.mutateAsync(a)},[m]),s=(0,n.useCallback)(async(a,b)=>{await o.mutateAsync({hostId:a,nextHost:b})},[o]),t=(0,n.useCallback)(async a=>{await p.mutateAsync(a)},[p]),u=(0,n.useCallback)(async(a,b)=>{let c=g.find(b=>b.hostId===a);c&&await q.mutateAsync({hostId:a,enabled:b??!c.enabled})},[q,g]),v=(0,n.useMemo)(()=>c?[gB]:[gB,...g.map(gD)],[c,g]),w=(0,n.useMemo)(()=>c?[gB]:[gB,...g.filter(a=>a.enabled).map(gD)],[c,g]),x=(0,n.useMemo)(()=>"all"===j?null:v.find(a=>a.hostId===j)??null,[j,v]),y=(0,n.useMemo)(()=>"all"===j?null:new Set([j]),[j]);return{sources:v,enabledSources:w,remoteHosts:g,activeFilter:j,activeSource:x,filteredHostIds:y,setActiveFilter:l,addRemoteHost:r,editRemoteHost:s,deleteRemoteHost:t,toggleRemoteHost:u,isLoading:h,error:i}}({runtimeRole:r}),[u,v]=(0,n.useState)(7),w=(0,n.useSyncExternalStore)(Z,Y,()=>!1),[x,y]=(0,n.useState)([]),[z,B]=(0,n.useState)(!1),[C,D]=(0,n.useState)("idle"),[F,H]=(0,n.useState)(!1),[I,J]=(0,n.useState)(!1),[K,L]=(0,n.useState)([]),M="node"===r,N=(0,n.useRef)(null),O=(0,n.useRef)(null);(0,n.useEffect)(()=>{let a=!1;return fetch("/api/nodes").then(async b=>{var c;if(a)return;let d=null;if(404===b.status)try{d=await b.json()}catch{d=null}s(404===b.status&&"object"==typeof(c=d)&&null!==c&&"Route unavailable in node mode"===d.error?"node":"hub")}).catch(()=>{a||s("hub")}),()=>{a=!0}},[]);let P=(0,n.useMemo)(()=>Array.from(new Set(x.map(a=>a.projectName))),[x]),Q=x.length>0,R=1===P.length?`${P[0]} has an OpenCode process without an exposed API port.`:`${P.length} projects have OpenCode processes without exposed API ports.`,S=(0,n.useMemo)(()=>new Map(K.map(a=>[a.hostId,a])),[K]);(0,n.useEffect)(()=>{let a=()=>{$(),document.removeEventListener("click",a),document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",a),document.removeEventListener("touchstart",a)};return document.addEventListener("click",a),document.addEventListener("pointerdown",a,{passive:!0}),document.addEventListener("keydown",a),document.addEventListener("touchstart",a,{passive:!0}),()=>{document.removeEventListener("click",a),document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",a),document.removeEventListener("touchstart",a)}},[]),(0,n.useEffect)(()=>{if(!z||!Q)return;let a=a=>{let b=a.target,c=O.current,d=N.current;c?.contains(b)||d?.contains(b)||B(!1)},b=a=>{"Escape"===a.key&&(B(!1),N.current?.focus())};return document.addEventListener("mousedown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",b)}},[Q,z]);let T=async()=>{try{await navigator.clipboard.writeText(gI),D("copied"),setTimeout(()=>D("idle"),1500)}catch{D("failed"),setTimeout(()=>D("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.jsxs)("h1",{className:"text-2xl font-semibold text-gray-900 dark:text-white",children:["VibePulse ",M?"(Node)":""]}),(0,m.jsxs)("div",{className:"flex items-center gap-3 flex-wrap justify-end",children:[(0,m.jsx)("button",{type:"button",onClick:()=>{$();w&&X("play-toggle-feedback","Skipped playToggleFeedbackSound() because muted","playToggleFeedbackSound() failed",(a,b)=>{let c=a.createOscillator(),d=a.createGain();c.type="sine",c.frequency.setValueAtTime(740,b),c.frequency.exponentialRampToValueAtTime(920,b+.1),d.gain.setValueAtTime(.13,b),d.gain.exponentialRampToValueAtTime(.001,b+.13),c.connect(d),d.connect(a.destination),c.start(b),c.stop(b+.13)})},className:`p-1.5 rounded-lg transition-all duration-150 ${w?"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:w?"Unmute notifications":"Mute notifications",children:w?(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"})})}),Q?(0,m.jsxs)("div",{className:"relative",children:[(0,m.jsx)("button",{ref:N,type:"button",onClick:()=>B(a=>!a),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 ${z?"bg-gray-100 dark:bg-zinc-800":""}`,"aria-label":"OpenCode process hint details","aria-haspopup":"dialog","aria-expanded":Q&&z,"aria-controls":"process-hint-popover",children:(0,m.jsx)(at,{className:"h-3.5 w-3.5"})}),Q&&z?(0,m.jsxs)("div",{id:"process-hint-popover",ref:O,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:R}),(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:gI})}),(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:T,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"===C?"Copied":"failed"===C?"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:gH.map(a=>(0,m.jsx)("button",{type:"button",onClick:()=>v(a.days),className:`px-3 py-1 text-xs font-medium rounded-md transition-all duration-150 ${u===a.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:a.label},a.days))}),(0,m.jsxs)("div",{className:"flex items-center gap-1 bg-gray-100 dark:bg-zinc-800 rounded-lg p-0.5","data-testid":"host-filter",children:[(0,m.jsx)("button",{type:"button",onClick:()=>t.setActiveFilter("all"),className:`px-3 py-1 text-xs font-medium rounded-md transition-all duration-150 ${"all"===t.activeFilter?"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"}`,"data-testid":"host-filter-option-all",children:"All Hosts"}),t.enabledSources.map(a=>{let b=S.get(a.hostId),c=b?.online??("local"===a.hostId&&1===t.enabledSources.length),d=G(a.hostId,a.hostLabel);return(0,m.jsxs)("button",{type:"button",onClick:()=>t.setActiveFilter(a.hostId),className:`flex items-center gap-1.5 px-3 py-1 text-xs font-medium rounded-md transition-all duration-150 ${t.activeFilter===a.hostId?"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"}`,"data-testid":`host-filter-option-${a.hostId}`,children:[(0,m.jsx)("span",{className:`inline-flex items-center justify-center flex-shrink-0 ${d}`,"data-testid":`host-identity-${a.hostId}`,title:`Host identity: ${a.hostLabel}`,children:(0,m.jsx)("svg",{className:"w-3.5 h-3.5",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:"truncate",children:a.hostLabel}),(0,m.jsx)("span",{className:"ml-auto inline-flex items-center pl-1.5","data-testid":`host-indicators-${a.hostId}`,children:(0,m.jsx)("span",{className:`w-2 h-2 rounded-full ${c?"bg-emerald-500":"bg-gray-400"}`,"data-testid":`host-status-${a.hostId}`,title:c?"Online":"Offline"})})]},a.hostId)})]}),!M&&(0,m.jsxs)("button",{type:"button",onClick:()=>J(!0),className:"flex items-center gap-1.5 rounded-lg border border-zinc-200 bg-white px-3 py-1.5 text-xs font-medium text-zinc-700 shadow-sm transition-colors hover:bg-zinc-50 hover:text-zinc-900 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-300 dark:hover:bg-zinc-700 dark:hover:text-white",children:[(0,m.jsx)(au,{className:"h-3.5 w-3.5"}),"Nodes"]}),(0,m.jsx)(aw,{onClick:()=>H(!0)})]})]}),(0,m.jsx)(an,{children:(0,m.jsx)(al,{filterDays:u,onProcessHintsChange:y,hostSources:t,isNodeMode:M,showHostFilter:!1,onHostStatusesChange:L})}),(0,m.jsx)(gw,{open:F,onClose:()=>H(!1)}),(0,m.jsx)(gA,{hostSources:t,open:I,onClose:()=>J(!1),isNodeMode:M})]})})}a.s(["default",()=>gJ],40777)}];
|
|
14
14
|
|
|
15
15
|
//# sourceMappingURL=src_app_page_tsx_a7111f3e._.js.map
|