@aeolus-fleet/console 0.0.0 → 0.19.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 -0
- package/.next/app-path-routes-manifest.json +22 -0
- package/.next/build/chunks/[root-of-the-server]__1ck5f0y._.js +500 -0
- package/.next/build/chunks/[root-of-the-server]__1p00kmr._.js +207 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0gicd2e._.js +13 -0
- package/.next/build/chunks/[turbopack]_runtime.js +926 -0
- package/.next/build/chunks/node_modules_20v-8wl._.js +7238 -0
- package/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_114_hkl._.js +6 -0
- package/.next/build/package.json +1 -0
- package/.next/build-manifest.json +24 -0
- package/.next/export-marker.json +6 -0
- package/.next/fallback-build-manifest.json +15 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +72 -0
- package/.next/required-server-files.js +352 -0
- package/.next/required-server-files.json +352 -0
- package/.next/routes-manifest.json +176 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +20 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +9 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +30 -0
- package/.next/server/app/_global-error.rsc +14 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +19 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +20 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +13 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/server/app/api/analytics/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/analytics/route/build-manifest.json +12 -0
- package/.next/server/app/api/analytics/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/analytics/route.js +8 -0
- package/.next/server/app/api/analytics/route.js.nft.json +1 -0
- package/.next/server/app/api/analytics/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/squadrons/[procedure]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/squadrons/[procedure]/route/build-manifest.json +12 -0
- package/.next/server/app/api/squadrons/[procedure]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/squadrons/[procedure]/route.js +6 -0
- package/.next/server/app/api/squadrons/[procedure]/route.js.nft.json +1 -0
- package/.next/server/app/api/squadrons/[procedure]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/health/route/app-paths-manifest.json +3 -0
- package/.next/server/app/health/route/build-manifest.json +12 -0
- package/.next/server/app/health/route/server-reference-manifest.json +4 -0
- package/.next/server/app/health/route.js +7 -0
- package/.next/server/app/health/route.js.nft.json +1 -0
- package/.next/server/app/health/route_client-reference-manifest.js +3 -0
- package/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
- package/.next/server/app/icon.svg/route/build-manifest.json +12 -0
- package/.next/server/app/icon.svg/route.js +7 -0
- package/.next/server/app/icon.svg/route.js.nft.json +1 -0
- package/.next/server/app/icon.svg.body +19 -0
- package/.next/server/app/icon.svg.meta +1 -0
- package/.next/server/app/inbox/page/app-paths-manifest.json +3 -0
- package/.next/server/app/inbox/page/build-manifest.json +20 -0
- package/.next/server/app/inbox/page/next-font-manifest.json +11 -0
- package/.next/server/app/inbox/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/inbox/page/server-reference-manifest.json +4 -0
- package/.next/server/app/inbox/page.js +14 -0
- package/.next/server/app/inbox/page.js.nft.json +1 -0
- package/.next/server/app/inbox/page_client-reference-manifest.js +3 -0
- package/.next/server/app/needs-attention/page/app-paths-manifest.json +3 -0
- package/.next/server/app/needs-attention/page/build-manifest.json +20 -0
- package/.next/server/app/needs-attention/page/next-font-manifest.json +11 -0
- package/.next/server/app/needs-attention/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/needs-attention/page/server-reference-manifest.json +4 -0
- package/.next/server/app/needs-attention/page.js +14 -0
- package/.next/server/app/needs-attention/page.js.nft.json +1 -0
- package/.next/server/app/needs-attention/page_client-reference-manifest.js +3 -0
- package/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/server/app/page/build-manifest.json +20 -0
- package/.next/server/app/page/next-font-manifest.json +11 -0
- package/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/page/server-reference-manifest.json +4 -0
- package/.next/server/app/page.js +14 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/page/build-manifest.json +20 -0
- package/.next/server/app/settings/page/next-font-manifest.json +11 -0
- package/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/settings/page/server-reference-manifest.json +4 -0
- package/.next/server/app/settings/page.js +14 -0
- package/.next/server/app/settings/page.js.nft.json +1 -0
- package/.next/server/app/settings/page_client-reference-manifest.js +3 -0
- package/.next/server/app/ships/[shipId]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/ships/[shipId]/page/build-manifest.json +20 -0
- package/.next/server/app/ships/[shipId]/page/next-font-manifest.json +11 -0
- package/.next/server/app/ships/[shipId]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/ships/[shipId]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/ships/[shipId]/page.js +14 -0
- package/.next/server/app/ships/[shipId]/page.js.nft.json +1 -0
- package/.next/server/app/ships/[shipId]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/sign-in/failed/page/app-paths-manifest.json +3 -0
- package/.next/server/app/sign-in/failed/page/build-manifest.json +20 -0
- package/.next/server/app/sign-in/failed/page/next-font-manifest.json +11 -0
- package/.next/server/app/sign-in/failed/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/sign-in/failed/page/server-reference-manifest.json +4 -0
- package/.next/server/app/sign-in/failed/page.js +15 -0
- package/.next/server/app/sign-in/failed/page.js.nft.json +1 -0
- package/.next/server/app/sign-in/failed/page_client-reference-manifest.js +3 -0
- package/.next/server/app/sign-in/page/app-paths-manifest.json +3 -0
- package/.next/server/app/sign-in/page/build-manifest.json +20 -0
- package/.next/server/app/sign-in/page/next-font-manifest.json +11 -0
- package/.next/server/app/sign-in/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/sign-in/page/server-reference-manifest.json +4 -0
- package/.next/server/app/sign-in/page.js +15 -0
- package/.next/server/app/sign-in/page.js.nft.json +1 -0
- package/.next/server/app/sign-in/page_client-reference-manifest.js +3 -0
- package/.next/server/app/sign-in/ticket/route/app-paths-manifest.json +3 -0
- package/.next/server/app/sign-in/ticket/route/build-manifest.json +12 -0
- package/.next/server/app/sign-in/ticket/route/server-reference-manifest.json +4 -0
- package/.next/server/app/sign-in/ticket/route.js +6 -0
- package/.next/server/app/sign-in/ticket/route.js.nft.json +1 -0
- package/.next/server/app/sign-in/ticket/route_client-reference-manifest.js +3 -0
- package/.next/server/app/squadrons/[squadronId]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/squadrons/[squadronId]/page/build-manifest.json +20 -0
- package/.next/server/app/squadrons/[squadronId]/page/next-font-manifest.json +11 -0
- package/.next/server/app/squadrons/[squadronId]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/squadrons/[squadronId]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/squadrons/[squadronId]/page.js +14 -0
- package/.next/server/app/squadrons/[squadronId]/page.js.nft.json +1 -0
- package/.next/server/app/squadrons/[squadronId]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/squadrons/blueprints/[name]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/squadrons/blueprints/[name]/page/build-manifest.json +20 -0
- package/.next/server/app/squadrons/blueprints/[name]/page/next-font-manifest.json +11 -0
- package/.next/server/app/squadrons/blueprints/[name]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/squadrons/blueprints/[name]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/squadrons/blueprints/[name]/page.js +14 -0
- package/.next/server/app/squadrons/blueprints/[name]/page.js.nft.json +1 -0
- package/.next/server/app/squadrons/blueprints/[name]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/squadrons/connection/route/app-paths-manifest.json +3 -0
- package/.next/server/app/squadrons/connection/route/build-manifest.json +12 -0
- package/.next/server/app/squadrons/connection/route/server-reference-manifest.json +4 -0
- package/.next/server/app/squadrons/connection/route.js +8 -0
- package/.next/server/app/squadrons/connection/route.js.nft.json +1 -0
- package/.next/server/app/squadrons/connection/route_client-reference-manifest.js +3 -0
- package/.next/server/app/squadrons/page/app-paths-manifest.json +3 -0
- package/.next/server/app/squadrons/page/build-manifest.json +20 -0
- package/.next/server/app/squadrons/page/next-font-manifest.json +11 -0
- package/.next/server/app/squadrons/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/squadrons/page/server-reference-manifest.json +4 -0
- package/.next/server/app/squadrons/page.js +14 -0
- package/.next/server/app/squadrons/page.js.nft.json +1 -0
- package/.next/server/app/squadrons/page_client-reference-manifest.js +3 -0
- package/.next/server/app/squadrons/templates/[name]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/squadrons/templates/[name]/page/build-manifest.json +20 -0
- package/.next/server/app/squadrons/templates/[name]/page/next-font-manifest.json +11 -0
- package/.next/server/app/squadrons/templates/[name]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/squadrons/templates/[name]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/squadrons/templates/[name]/page.js +14 -0
- package/.next/server/app/squadrons/templates/[name]/page.js.nft.json +1 -0
- package/.next/server/app/squadrons/templates/[name]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/version/route/app-paths-manifest.json +3 -0
- package/.next/server/app/version/route/build-manifest.json +12 -0
- package/.next/server/app/version/route/server-reference-manifest.json +4 -0
- package/.next/server/app/version/route.js +7 -0
- package/.next/server/app/version/route.js.nft.json +1 -0
- package/.next/server/app/version/route_client-reference-manifest.js +3 -0
- package/.next/server/app-paths-manifest.json +22 -0
- package/.next/server/chunks/0ysl_console__next-internal_server_app_squadrons_connection_route_actions_0zhzsfx.js +3 -0
- package/.next/server/chunks/1eui__next-internal_server_app_api_squadrons_[procedure]_route_actions_1zt6ewa.js +3 -0
- package/.next/server/chunks/[externals]__037yphh._.js +3 -0
- package/.next/server/chunks/[externals]__1p2j9_5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0eg7gro._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0mt19sy._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0w2mqex._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__11ajlfh._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__14r_nz7._.js +165 -0
- package/.next/server/chunks/[root-of-the-server]__15bjnu5._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1fy1i0c._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1w1vtvn._.js +3 -0
- package/.next/server/chunks/[turbopack]_runtime.js +807 -0
- package/.next/server/chunks/_0i1_hxa._.js +158 -0
- package/.next/server/chunks/_1cgolx3._.js +3 -0
- package/.next/server/chunks/_1mul6_v._.js +3 -0
- package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +60 -0
- package/.next/server/chunks/packages_console__next-internal_server_app_api_analytics_route_actions_1_9f2-k.js +3 -0
- package/.next/server/chunks/packages_console__next-internal_server_app_health_route_actions_0k_orjf.js +3 -0
- package/.next/server/chunks/packages_console__next-internal_server_app_icon_svg_route_actions_1n6yt2t.js +3 -0
- package/.next/server/chunks/packages_console__next-internal_server_app_sign-in_ticket_route_actions_1ohm05v.js +3 -0
- package/.next/server/chunks/packages_console__next-internal_server_app_version_route_actions_1i4obuv.js +3 -0
- package/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_squadrons_[squadronId]_page_actions_1v19e9f.js +3 -0
- package/.next/server/chunks/ssr/1eui__next-internal_server_app_squadrons_blueprints_[name]_page_actions_025zpzu.js +3 -0
- package/.next/server/chunks/ssr/1eui__next-internal_server_app_squadrons_templates_[name]_page_actions_138suxs.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0-kksoz._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0173vre._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__032-xi2._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__05qyki8._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0c_a2x4._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0cqjott._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ekquas._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0gwz3s7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0qhp6ga._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0rpyvw5._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0u1t305._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0zrjjv6._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__12a-wda._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__14v2amp._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__15k7946._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1io3bae._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1uan58j._.js +14 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +807 -0
- package/.next/server/chunks/ssr/_0-rsrfr._.js +188 -0
- package/.next/server/chunks/ssr/_00yiulp._.js +3 -0
- package/.next/server/chunks/ssr/_01eh2h5._.js +3 -0
- package/.next/server/chunks/ssr/_03sj9cx._.js +3 -0
- package/.next/server/chunks/ssr/_050suap._.js +3 -0
- package/.next/server/chunks/ssr/_05wjy-d._.js +3 -0
- package/.next/server/chunks/ssr/_09pq8b7._.js +3 -0
- package/.next/server/chunks/ssr/_0_6abve._.js +3 -0
- package/.next/server/chunks/ssr/_0aqa8e3._.js +3 -0
- package/.next/server/chunks/ssr/_0c1ebla._.js +3 -0
- package/.next/server/chunks/ssr/_0g98qoq._.js +3 -0
- package/.next/server/chunks/ssr/_0hwxad0._.js +3 -0
- package/.next/server/chunks/ssr/_0igx2qf._.js +3 -0
- package/.next/server/chunks/ssr/_0k0kffc._.js +3 -0
- package/.next/server/chunks/ssr/_0ksc8ky._.js +3 -0
- package/.next/server/chunks/ssr/_0nxk8e5._.js +3 -0
- package/.next/server/chunks/ssr/_0o7muzd._.js +3 -0
- package/.next/server/chunks/ssr/_0plfddz._.js +3 -0
- package/.next/server/chunks/ssr/_0sh180u._.js +3 -0
- package/.next/server/chunks/ssr/_0t1jjxf._.js +3 -0
- package/.next/server/chunks/ssr/_0vz-_zq._.js +3 -0
- package/.next/server/chunks/ssr/_0y_ez3b._.js +3 -0
- package/.next/server/chunks/ssr/_0zz00ec._.js +3 -0
- package/.next/server/chunks/ssr/_101_mtq._.js +3 -0
- package/.next/server/chunks/ssr/_10vocmg._.js +3 -0
- package/.next/server/chunks/ssr/_15ig5w6._.js +3 -0
- package/.next/server/chunks/ssr/_16klr-g._.js +3 -0
- package/.next/server/chunks/ssr/_19e0e-9._.js +74 -0
- package/.next/server/chunks/ssr/_1_hm4gt._.js +3 -0
- package/.next/server/chunks/ssr/_1c2ijn5._.js +3 -0
- package/.next/server/chunks/ssr/_1g2wuzd._.js +3 -0
- package/.next/server/chunks/ssr/_1izpqgm._.js +3 -0
- package/.next/server/chunks/ssr/_1jgnfkf._.js +3 -0
- package/.next/server/chunks/ssr/_1m_b36m._.js +3 -0
- package/.next/server/chunks/ssr/_1pif908._.js +3 -0
- package/.next/server/chunks/ssr/_1s07u90._.js +3 -0
- package/.next/server/chunks/ssr/_1s8-j5t._.js +23 -0
- package/.next/server/chunks/ssr/_1uj0w_b._.js +3 -0
- package/.next/server/chunks/ssr/_1x3v14n._.js +3 -0
- package/.next/server/chunks/ssr/_20fp5al._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0h91jdk._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0kq7z60._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_18_d8l1._.js +151 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
- package/.next/server/chunks/ssr/packages_console_10fqil_._.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app__global-error_page_actions_1x4w6ky.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app__not-found_page_actions_070gzsk.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_inbox_page_actions_16638gm.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_needs-attention_page_actions_1g5zy14.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_page_actions_1ks5rus.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_settings_page_actions_0y-43tx.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_ships_[shipId]_page_actions_0fzbzfp.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_sign-in_failed_page_actions_014n0ub.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_sign-in_page_actions_0a1y9sm.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_squadrons_page_actions_1wsbttb.js +3 -0
- package/.next/server/chunks/ssr/packages_console_app_inbox_page_tsx_1bpmlpx._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_app_needs-attention_page_tsx_1agfico._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_app_page_tsx_16ln4px._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_app_providers_tsx_06ai92n._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_app_settings_page_tsx_1zqt7sk._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_app_ships_[shipId]_page_tsx_0fudjay._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_app_squadrons_[squadronId]_page_tsx_1umxs1g._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_app_squadrons_page_tsx_1w6ym6z._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_components_1_4zc74._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_components_atoms_select_tsx_1v_3j3i._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_components_organisms_sign-in-form_tsx_01urlma._.js +3 -0
- package/.next/server/functions-config-manifest.json +14 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware/middleware-manifest.json +6 -0
- package/.next/server/middleware-build-manifest.js +24 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware.js +5 -0
- package/.next/server/middleware.js.nft.json +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +55 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +3 -0
- package/.next/server/prefetch-hints.json +11 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +5 -0
- package/.next/static/4BHf_wBvFUce1tC4Uw_GD/_buildManifest.js +11 -0
- package/.next/static/4BHf_wBvFUce1tC4Uw_GD/_clientMiddlewareManifest.js +6 -0
- package/.next/static/4BHf_wBvFUce1tC4Uw_GD/_ssgManifest.js +1 -0
- package/.next/static/chunks/04p19br-6pr3q.js +1 -0
- package/.next/static/chunks/05xsztb02v-3h.js +1 -0
- package/.next/static/chunks/09zxfi4t5ku4j.js +1 -0
- package/.next/static/chunks/0atm4wesk-4u8.js +1 -0
- package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/static/chunks/0es5vdu6lt-lm.css +3 -0
- package/.next/static/chunks/0hl9b82m3b_kf.js +1 -0
- package/.next/static/chunks/0jkliy--t1bbh.js +1 -0
- package/.next/static/chunks/0nchi43nyih52.js +1 -0
- package/.next/static/chunks/0oh4dxohbk7m8.js +1 -0
- package/.next/static/chunks/0w8wux_7extu3.js +1 -0
- package/.next/static/chunks/0xdkx7wg739q7.js +1 -0
- package/.next/static/chunks/0yxe4-al0lhj4.js +1 -0
- package/.next/static/chunks/1cbzjk-qf984o.js +1 -0
- package/.next/static/chunks/1kqyc3egwf-g6.js +1 -0
- package/.next/static/chunks/1q-shkfypoia-.js +1 -0
- package/.next/static/chunks/1t5mkoni0wrc0.js +1 -0
- package/.next/static/chunks/21py3ha_f_e3-.js +1 -0
- package/.next/static/chunks/22wd2oyjf0iq_.js +1 -0
- package/.next/static/chunks/2ff-56ohrio7h.js +1 -0
- package/.next/static/chunks/2i51e627rllld.js +1 -0
- package/.next/static/chunks/2mvb-x6v93lfc.js +1 -0
- package/.next/static/chunks/2pac63cjw_hpu.js +22 -0
- package/.next/static/chunks/2quoh5csh67oz.js +1 -0
- package/.next/static/chunks/2t6jzvnrf9ejw.js +1 -0
- package/.next/static/chunks/2z2hhi291ems4.js +58 -0
- package/.next/static/chunks/32-17dotvltga.js +1 -0
- package/.next/static/chunks/3fntmmi971322.js +1 -0
- package/.next/static/chunks/3m4-wgj579r4x.js +1 -0
- package/.next/static/chunks/3mc6dra1m0098.js +31 -0
- package/.next/static/chunks/3s7zld9klu484.js +1 -0
- package/.next/static/chunks/3tsjbqptivphr.js +1 -0
- package/.next/static/chunks/42-u_9nvmdste.js +1 -0
- package/.next/static/chunks/turbopack-03ngddy_g6-7a.js +1 -0
- package/.next/static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2 +0 -0
- package/.next/static/media/geist_variable-s.p.0mrjj4bg00-he.woff2 +0 -0
- package/.next/static/media/icon.0h5hy2etdmq_n.svg +19 -0
- package/.next/turbopack +0 -0
- package/LICENSE +201 -0
- package/README.md +63 -1
- package/bin/aeolus-console.js +42 -0
- package/next.config.ts +10 -0
- package/package.json +63 -3
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[33634,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(72131),e=a.i(15439),f=a.i(2549),g=a.i(83786),h=a.i(68698),i=a.i(56987),j=a.i(26268),k=a.i(88931),l=a.i(38246),m=a.i(80487);let n={ok:"border-tone-ok-border bg-tone-ok-bg text-tone-ok-fg",waiting:"border-tone-waiting-border bg-tone-waiting-bg text-tone-waiting-fg",attention:"border-tone-attention-border bg-tone-attention-bg text-tone-attention-fg"};function o({label:a,shortLabel:c,value:d,detail:e,href:f,icon:g,tone:h,testId:i}){return(0,b.jsxs)(l.default,{href:f,"data-testid":i,className:"flex min-w-0 flex-col gap-2 rounded-lg border border-border bg-card px-4.5 py-4 shadow-sm transition-colors duration-(--duration-fast) hover:bg-accent max-sm:gap-1.5 max-sm:rounded-xl max-sm:px-3.5 max-sm:py-3",children:[(0,b.jsxs)("span",{className:"flex items-center justify-between gap-2 text-meta font-medium text-muted-foreground",children:[(0,b.jsx)("span",{className:"max-sm:hidden",children:a}),(0,b.jsx)("span",{className:"sm:hidden",children:c??a}),(0,b.jsx)("span",{className:(0,m.classNames)("flex size-6.5 shrink-0 items-center justify-center rounded-md border max-sm:size-5.5",n[h]),children:(0,b.jsx)(g,{"aria-hidden":!0,className:"size-3.5"})})]}),(0,b.jsx)("span",{className:"text-[28px] leading-none font-semibold tracking-tight tabular-nums text-foreground max-sm:text-2xl",children:d}),(0,b.jsx)("span",{className:"truncate text-meta text-muted-foreground",children:e})]})}var p=a.i(90146),q=a.i(10023),r=a.i(68450),s=a.i(72872);function t(a){return a.filter(a=>"agent"===a.kind&&"retired"!==a.status)}function u(){var a;let c,d,e,f,g=(0,p.useFleetSnapshot)(),h=(0,q.useNeedsAttention)(),l=(0,q.useAttentionCount)(),m=(0,r.useNow)();if(!g.data)return null;let n=(e=(d=(c=t((a={ships:g.data,undeliverable:h.data??[],now:m}).ships)).filter(a=>"awaitingCrew"===a.status)).flatMap(a=>null===a.awaitingCrewSince?[]:[{name:a.name,since:new Date(a.awaitingCrewSince)}]).sort((a,b)=>a.since.getTime()-b.since.getTime())[0],f=a.undeliverable.map(a=>new Date(a.since)).sort((a,b)=>a.getTime()-b.getTime())[0],{activeCount:c.length,crewedCount:c.filter(a=>"crewed"===a.status).length,awaitingCount:d.length,longestWait:e&&{name:e.name,wait:(0,s.duration)(e.since,a.now)},oldestUndeliverable:f&&(0,s.duration)(f,a.now)});return 0===n.activeCount?null:(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-4 max-sm:grid-cols-2 max-sm:gap-2.5","data-testid":"overview-metrics",children:[(0,b.jsx)(o,{label:"Ships crewed",shortLabel:"Crewed",value:n.crewedCount,detail:`of ${String(n.activeCount)} active ships`,href:"/?status=crewed",icon:k.UserCheck,tone:"ok",testId:"overview-crewed"}),(0,b.jsx)(o,{label:"Awaiting crew",value:n.awaitingCount,detail:n.longestWait?`Longest wait: ${n.longestWait.name}, ${n.longestWait.wait}`:"Every active ship is crewed",href:"/?status=awaitingCrew",icon:i.CircleDashed,tone:"waiting",testId:"overview-awaiting"}),(0,b.jsx)(o,{label:"Needs attention",value:l??0,detail:n.oldestUndeliverable?`Undeliverable deliveries, oldest ${n.oldestUndeliverable}`:"Nothing needs you",href:"/needs-attention",icon:j.TriangleAlert,tone:"attention",testId:"overview-attention"})]})}var v=a.i(3512),w=a.i(12068),x=a.i(64906),y=a.i(47468),z=a.i(82252);a.i(23600);var A=a.i(97011),B=a.i(69040),C=a.i(97024),D=a.i(73370),E=a.i(31247),F=a.i(18691),G=a.i(78398),H=a.i(18441),I=a.i(2374),J=a.i(75297),K=a.i(45098),L=a.i(45469),M=a.i(72309),N=a.i(40392),O=a.i(21521);let P={"fleet:read":"Read the fleet","fleet:manage":"Manage the fleet","crew:assign":"Assign crews","crew:run":"Run crews"};function Q({activeShips:a,isPending:c,error:e,shipLimit:f,accountUrl:g,onSubmit:h}){let i=(0,d.useId)(),j=(0,d.useId)(),k=(0,d.useId)(),l=(0,d.useId)(),n=(0,d.useId)(),[o,p]=(0,d.useState)(""),[q,r]=(0,d.useState)(""),[s,t]=(0,d.useState)(""),[u,v]=(0,d.useState)([]),x=(0,F.checkShipName)(o,{activeNames:a.map(a=>a.name)}),y="invalid"===x.kind||"reserved"===x.kind||"taken"===x.kind,I=q.trim(),R=B.shipHandleSchema.safeParse(I).success,S=""!==I&&!R,T=[...new Set(a.map(a=>a.type))].sort(),U="available"===x.kind&&R&&void 0===f;return(0,b.jsxs)("form",{noValidate:!0,"data-testid":"commission-form",className:"contents",onSubmit:a=>{a.preventDefault(),U&&h({name:o,type:I,...""===s.trim()?{}:{note:s},...0===u.length?{}:{fleetScopes:[...u]}})},children:[(0,b.jsxs)(H.DialogHeader,{children:[(0,b.jsx)(H.DialogTitle,{children:"Commission a ship"}),(0,b.jsx)(H.DialogDescription,{children:"A ship is a durable agent identity with its own inbox. Next, you get the starting prompt."})]}),void 0===f?null:(0,b.jsx)(O.LimitNotice,{...(0,z.shipLimitNotice)(f),accountUrl:g,testId:"commission-ship-limit"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)(K.Label,{htmlFor:i,children:"Name"}),(0,b.jsxs)("span",{className:"text-caption text-muted-foreground tabular-nums",children:[o.length," / ",B.SHIP_HANDLE_MAX_LENGTH]})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(J.Input,{id:i,isMono:!0,autoComplete:"off",autoCapitalize:"off",spellCheck:!1,placeholder:"e.g. reviewer-02","data-testid":"commission-name","aria-invalid":!!y||void 0,"aria-describedby":j,className:"pr-9 max-sm:h-(--size-control-touch) max-sm:text-input-touch",value:o,onChange:a=>{p((0,F.asHandle)(a.target.value))}}),"available"===x.kind?(0,b.jsx)(C.CircleCheck,{"aria-hidden":!0,className:"absolute top-1/2 right-3 size-(--size-icon) -translate-y-1/2 text-tone-ok-fg"}):y?(0,b.jsx)(D.CircleX,{"aria-hidden":!0,className:"absolute top-1/2 right-3 size-(--size-icon) -translate-y-1/2 text-destructive-text"}):null]}),(0,b.jsx)("p",{id:j,"aria-live":"polite",className:(0,m.classNames)("text-meta",y?"text-destructive-text":"text-muted-foreground"),children:x.message})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(K.Label,{htmlFor:k,children:"Type"}),(0,b.jsx)(G.Combobox,{id:k,options:T.map(a=>({value:a,label:a})),value:""===q?null:q,onValueChange:a=>{r(a??"")},isFreeText:!0,toQuery:F.asHandle,leadingIcon:(0,b.jsx)(E.Tag,{}),placeholder:"e.g. reviewer",isInvalid:S,"aria-describedby":l,"data-testid":"commission-type"}),(0,b.jsx)("p",{id:l,className:(0,m.classNames)("text-meta",S?"text-destructive-text":"text-muted-foreground"),children:S?`Use 1 to ${String(B.SHIP_HANDLE_MAX_LENGTH)} lowercase letters, digits, hyphens or colons.`:(0,F.typeHint)(q,a.filter(a=>a.type===I).length)})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(K.Label,{htmlFor:n,children:"Note (optional)"}),(0,b.jsx)(M.Textarea,{id:n,rows:2,"data-testid":"commission-note",value:s,onChange:a=>{t(a.target.value)}})]}),(0,b.jsxs)("fieldset",{className:"flex flex-col gap-2",children:[(0,b.jsx)("legend",{className:"mb-1.5 text-body font-medium text-foreground",children:"Fleet access"}),A.FLEET_SCOPES.map(a=>(0,b.jsxs)("label",{className:"flex items-center justify-between gap-3 text-body text-foreground",children:[(0,b.jsxs)("span",{children:[P[a]," ",(0,b.jsx)("span",{className:"font-mono text-id text-muted-foreground",children:a})]}),(0,b.jsx)(L.Switch,{checked:u.includes(a),onCheckedChange:b=>{v(c=>b?[...c,a]:c.filter(b=>b!==a))},"data-testid":`commission-${a.replace(":","-")}`})]},a)),(0,b.jsx)("p",{className:"text-meta text-muted-foreground",children:"Every ship sends and receives. Fleet access lets its session act as the console does; crew ships lets a trierarch start their sessions. It cannot be changed later."})]}),void 0===e?null:(0,b.jsx)(N.InlineError,{title:"Not commissioned",description:e}),(0,b.jsxs)(H.DialogFooter,{children:[(0,b.jsx)(H.DialogClose,{render:(0,b.jsx)(w.Button,{type:"button",disabled:c}),children:"Cancel"}),(0,b.jsx)(w.Button,{type:"submit",variant:"primary",isLoading:c,disabled:!U,"data-testid":"commission-submit",children:c?"Commissioning":"Commission ship"})]})]})}function R(a){let{isOpen:c,onOpenChange:d,isPending:e}=a;return(0,b.jsx)(H.Dialog,{open:c,onOpenChange:a=>{e||d(a)},children:(0,b.jsx)(H.DialogContent,{size:"md","data-testid":"commission-dialog",className:I.dialogSurface.phoneFullScreen,children:(0,b.jsx)(Q,{...a})})})}var S=a.i(44344);function T({isOpen:a,onOpenChange:c}){let e=(0,p.useFleetSnapshot)(),f=(0,x.useFleetLimits)(),g=(0,y.useHostedAccountUrl)(),h=(0,p.useCommissionShip)(),[i,j]=(0,d.useState)(!1),k=(e.data??[]).filter(a=>"retired"!==a.status);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(w.Button,{variant:"primary",icon:(0,b.jsx)(v.Plus,{}),"data-testid":"fleet-commission",onClick:()=>{h.reset(),c(!0)},children:"Commission ship"}),(0,b.jsx)(R,{activeShips:k,isOpen:a,onOpenChange:c,isPending:h.isPending,error:h.error?.message,shipLimit:(0,z.shipLimitReached)(f.data),accountUrl:g,onSubmit:a=>{h.mutate({...a,idempotencyKey:crypto.randomUUID()},{onSuccess:()=>{c(!1),j(!0)}})}}),(0,b.jsx)(S.StartingPromptDialog,{shipName:h.variables?.name??"",state:"shown",prompt:h.data?.prompt??void 0,crewLines:h.data?.crewLines??void 0,isOpen:i&&void 0!==h.data,onOpenChange:a=>{a||(j(!1),h.reset())},onConfirm:()=>void 0})]})}var U=a.i(64831);let V={name:"infinity",size:24,node:[["path",{d:"M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8",key:"18ogeb"}]]};V.node;let W=(0,U.default)(V);var X=a.i(74746),Y=a.i(98238),Z=a.i(23063);let $={ships:{label:"Ships",unit:"ships",Icon:Y.Ship},messages:{label:"Messages today",unit:"messages",Icon:X.Send}},_={below:"bg-primary",at:"bg-tone-waiting-fg",over:"bg-tone-attention-fg"},aa={at:"at-limit",over:"over-limit"};function ab({kind:a,count:c,limit:d,resetsAt:e}){let{label:f,unit:g,Icon:h}=$[a],i=(0,z.meterState)({count:c,limit:d}),j=aa[i],k=(0,z.meterCaption)({count:c,limit:d}),l=null===d?0:0===d?1:Math.min(c/d,1);return(0,b.jsxs)("div",{"data-testid":`limit-meter-${a}`,"data-state":i,className:"flex flex-col gap-2 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-meta font-medium text-muted-foreground",children:[(0,b.jsx)(h,{"aria-hidden":!0,className:"size-(--size-icon-sm)"}),f]}),void 0===j?null:(0,b.jsx)(Z.StatusBadge,{status:j})]}),(0,b.jsxs)("p",{className:"flex items-baseline gap-1.5",children:[(0,b.jsx)("span",{className:"text-metric font-semibold tabular-nums",children:(0,z.meterCount)(c)}),(0,b.jsx)("span",{className:"text-body text-muted-foreground",children:null===d?g:`of ${(0,z.meterCount)(d)} ${g}`})]}),null===d?(0,b.jsxs)("p",{className:"inline-flex items-center gap-1.5 text-meta text-muted-foreground",children:[(0,b.jsx)(W,{"aria-hidden":!0,className:"size-(--size-icon-sm)"}),"No limit"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{role:"meter","aria-label":`${f}: ${String(c)} of ${String(d)}`,"aria-valuenow":c,"aria-valuemin":0,"aria-valuemax":d,className:"block h-1.5 overflow-hidden rounded-full bg-secondary",children:(0,b.jsx)("span",{className:(0,m.classNames)("block h-full rounded-full","none"===i?void 0:_[i]),style:{width:`${String(100*l)}%`}})}),(0,b.jsxs)("p",{"data-testid":`limit-meter-${a}-caption`,className:"text-caption text-muted-foreground",children:[k,void 0===e?null:` \xb7 resets at ${(0,z.resetTime)(e)}`]})]})]})}function ac(){let a=(0,x.useFleetLimits)().data,c=(0,y.useHostedAccountUrl)();return(0,z.hasLimits)(a)?(0,b.jsxs)("section",{"aria-labelledby":"overview-limits-title","data-testid":"overview-limits",className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("h2",{id:"overview-limits-title",className:"text-body font-semibold",children:"Limits"}),void 0===c?null:(0,b.jsx)("a",{href:c,"data-testid":"overview-limits-view",className:"text-meta font-medium text-primary underline underline-offset-2",children:"View limits"})]}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsx)(ab,{kind:"ships",count:a.ships.count,limit:a.ships.limit}),(0,b.jsx)(ab,{kind:"messages",count:a.dailyMessages.count,limit:a.dailyMessages.limit,resetsAt:a.dailyMessages.resetsAt})]})]}):null}var ad=a.i(12540),ae=a.i(8219);let af={name:"eye",size:24,node:[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]};af.node;let ag=(0,U.default)(af);var ah=a.i(25039),ai=a.i(26766),aj=a.i(33540);let ak={name:"sliders-horizontal",size:24,node:[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]};ak.node;let al=(0,U.default)(ak);var am=a.i(87005);let an={query:"",filters:{status:"all",type:"all",squadron:"all",isRetiredShown:!1}},ao="status",ap="type",aq="squadron",ar="retired";function as(a,b){return[...new Set(a.filter(a=>b||"retired"!==a.status).map(a=>a.type))].toSorted((a,b)=>a.localeCompare(b))}function at(a){return a.filter(a=>"retired"===a.status).length}function au(a){return[...new Set([...a.values()].map(a=>a.squadronId))].toSorted((a,b)=>a.localeCompare(b))}let av={crewed:"Crewed",awaitingCrew:"Awaiting crew"};function aw(a){return["all"===a.status?void 0:`Status: ${av[a.status]}`,"all"===a.type?void 0:`Type: ${a.type}`,"all"===a.squadron?void 0:`Squadron: ${a.squadron}`,a.isRetiredShown?"Retired shown":void 0].filter(a=>void 0!==a)}var ax=a.i(76166),ay=a.i(48136),az=a.i(4838),aA=a.i(77339),aB=a.i(24173),aC=a.i(50808);let aD={name:"signal",size:24,node:[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}],["path",{d:"M17 20V8",key:"1tkaf5"}],["path",{d:"M22 4v16",key:"sih9yq"}]]};aD.node;let aE=(0,U.default)(aD),aF={name:"signal-low",size:24,node:[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}]]};aF.node;let aG=(0,U.default)(aF),aH={name:"signal-medium",size:24,node:[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}]]};aH.node;let aI=(0,U.default)(aH);a.s([],65156),a.i(65156);var aJ=a.i(22050),aK=a.i(24715),aL=a.i(57738),aM=a.i(54662);let aN=d.createContext(void 0);function aO(a){let b=d.useContext(aN);if(void 0===b&&!a)throw Error((0,aM.default)(72));return b}var aP=a.i(68536),aQ=a.i(54401),aR=a.i(26476),aS=a.i(30116),aT=a.i(14209);function aU(a){return null!=a&&null!=a.clientX}var aV=a.i(38939),aW=a.i(94552),aX=a.i(84204),aY=a.i(32318),aZ=a.i(17498),a$=a.i(7436),a_=a.i(14239),a0=a.i(17017),a1=a.i(51943);let a2={...a0.popupStoreSelectors,disabled:a=>a.disabled,instantType:a=>a.instantType,isInstantPhase:a=>a.isInstantPhase,trackCursorAxis:a=>a.trackCursorAxis,disableHoverablePopup:a=>a.disableHoverablePopup,lastOpenChangeReason:a=>a.openChangeReason,closeOnClick:a=>a.closeOnClick,closeDelay:a=>a.closeDelay,adaptiveOrigin:a=>a.adaptiveOrigin};class a3 extends aZ.ReactStore{constructor(a,b,c){const d=new a1.PopupTriggerMap;super(a4(a,d,b,c),a5(d),a2)}setOpen=(a,b)=>{(0,aX.applyPopupOpenChange)(this,a,b,{extraState:{openChangeReason:b.reason}})};cancelPendingOpen(a){this.state.floatingRootContext.dispatchOpenChange(!1,(0,aW.createChangeEventDetails)(a$.REASONS.triggerPress,a))}}function a4(a,b,c,d=!1){return{...(0,a0.createInitialPopupStoreState)(b,c,d),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...a}}function a5(a){return{popupRef:d.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:a}}let a6=(0,aJ.fastComponent)(function(a){let{disabled:c=!1,defaultOpen:e=!1,open:f,disableHoverablePopup:g=!1,trackCursorAxis:h="none",actionsRef:i,onOpenChange:j,onOpenChangeComplete:k,handle:l,triggerId:m,defaultTriggerId:n=null,children:o}=a,p=(0,aX.usePopupRootStore)((a,b)=>new a3({open:e,openProp:f,activeTriggerId:n,triggerIdProp:m},a,b));p.useControlledProp("openProp",f),p.useControlledProp("triggerIdProp",m),p.useContextCallback("onOpenChange",j),p.useContextCallback("onOpenChangeComplete",k);let q=p.useState("open"),r=!c&&q,s=p.useState("activeTriggerId"),t=p.useState("mounted"),u=p.useState("payload");p.useSyncedValues({trackCursorAxis:h,disableHoverablePopup:g,disabled:c}),(0,aX.useImplicitActiveTrigger)(p,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:v,transitionStatus:w}=(0,aX.useOpenStateTransitions)(r,p),x=p.useState("isInstantPhase"),y=p.useState("instantType"),z=p.useState("lastOpenChangeReason"),A=d.useRef(null);(0,aL.useIsoLayoutEffect)(()=>{q&&c&&p.setOpen(!1,(0,aW.createChangeEventDetails)(a$.REASONS.disabled))},[q,c,p]),(0,aL.useIsoLayoutEffect)(()=>{"ending"===w&&z===a$.REASONS.none||"ending"!==w&&x?("delay"!==y&&(A.current=y),p.set("instantType","delay")):null!==A.current&&(p.set("instantType",A.current),A.current=null)},[w,x,z,y,p]),(0,aL.useIsoLayoutEffect)(()=>{r&&null==s&&p.set("payload",void 0)},[p,s,r]),d.useImperativeHandle(i,()=>({unmount:v,close:()=>p.setOpen(!1,(0,aW.createChangeEventDetails)(a$.REASONS.imperativeAction))}),[v,p]);let B=r||t||!c&&"none"!==h;return(0,b.jsxs)(aN.Provider,{value:p,children:[l&&(0,b.jsx)(aX.PopupHandleAttachment,{handle:l,store:p}),B&&(0,b.jsx)(a7,{store:p,disabled:c,trackCursorAxis:h}),"function"==typeof o?o({payload:u}):o]})});function a7({store:a,disabled:b,trackCursorAxis:c}){let e=a.useState("floatingRootContext"),f=(0,aV.useDismiss)(e,{enabled:!b,referencePress:()=>a.select("closeOnClick")}),g=function(a,b={}){let{enabled:c=!0,axis:e="both"}=b,f="rootStore"in a?a.rootStore:a,g=f.useState("open"),h=f.useState("floatingElement"),i=f.useState("domReferenceElement"),j=f.context.dataRef,k=d.useRef(!1),l=d.useRef(null),[m,n]=d.useState(),[o,p]=d.useState([]),q=(0,aQ.useStableCallback)(a=>{f.set("positionReference",a)}),r=(0,aQ.useStableCallback)((a,b,c)=>{if(!k.current&&(!j.current.openEvent||aU(j.current.openEvent))){var d,g;let h,k,l;f.set("positionReference",(d=c??i,g={x:a,y:b,axis:e,dataRef:j,pointerType:m},h=null,k=null,l=!1,{contextElement:d||void 0,getBoundingClientRect(){let a=d?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},b="x"===g.axis||"both"===g.axis,c="y"===g.axis||"both"===g.axis,e=["mouseenter","mousemove"].includes(g.dataRef.current.openEvent?.type||"")&&"touch"!==g.pointerType,f=a.width,i=a.height,j=a.x,m=a.y;return null==h&&g.x&&b&&(h=a.x-g.x),null==k&&g.y&&c&&(k=a.y-g.y),j-=h||0,m-=k||0,f=0,i=0,!l||e?(f="y"===g.axis?a.width:0,i="x"===g.axis?a.height:0,j=b&&null!=g.x?g.x:j,m=c&&null!=g.y?g.y:m):l&&!e&&(i="x"===g.axis?a.height:i,f="y"===g.axis?a.width:f),l=!0,{width:f,height:i,x:j,y:m,top:m,right:j+f,bottom:m+i,left:j}}}))}}),s=(0,aQ.useStableCallback)(a=>{g?l.current||(r(a.clientX,a.clientY,a.currentTarget),p([])):r(a.clientX,a.clientY,a.currentTarget)}),t=(0,aT.isMouseLikePointerType)(m)?h:g;d.useEffect(()=>{if(!c)return void q(i);if(!t)return;function a(){l.current?.(),l.current=null}let b=(0,aR.getWindow)(h);return!j.current.openEvent||aU(j.current.openEvent)?l.current=(0,aP.addEventListener)(b,"mousemove",function(b){let c=(0,aS.getTarget)(b);(0,aS.contains)(h,c)?a():r(b.clientX,b.clientY)}):q(i),a},[t,c,h,j,i,f,r,q,o]),d.useEffect(()=>()=>{f.set("positionReference",null)},[f]),d.useEffect(()=>{c&&!h&&(k.current=!1)},[c,h]),d.useEffect(()=>{!c&&g&&(k.current=!0)},[c,g]);let u=d.useMemo(()=>{function a(a){n(a.pointerType)}return{onPointerDown:a,onPointerEnter:a,onMouseMove:s,onMouseEnter:s}},[s]);return d.useMemo(()=>c?{reference:u,trigger:u}:{},[c,u])}(e,{enabled:!b&&"none"!==c,axis:"none"===c?void 0:c}),h=d.useMemo(()=>(0,aY.mergeProps)(g.reference,f.reference),[g.reference,f.reference]);return(0,aX.usePopupInteractionProps)(a,{activeTriggerProps:h,inactiveTriggerProps:h,popupProps:f.floating??aK.EMPTY_OBJECT}),null}var a8=a.i(36069),a9=a.i(89862),ba=a.i(4478),bb=a.i(26184),bc=a.i(97151),bd=a.i(557);let be=d.createContext(void 0);var bf=a.i(25003),bg=a.i(85252);let bh=d.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new a8.Timeout,currentIdRef:{current:null},currentContextRef:{current:null}});function bi(a){let{children:c,delay:e,timeoutMs:f=0}=a,g=d.useRef(e),h=d.useRef(e),i=d.useRef(null),j=d.useRef(null),k=(0,a8.useTimeout)();return(0,aL.useIsoLayoutEffect)(()=>{if(h.current=e,!i.current){g.current=e;return}g.current={open:(0,bg.getDelay)(g.current,"open"),close:(0,bg.getDelay)(e,"close")}},[e,i,g,h]),(0,b.jsx)(bh.Provider,{value:d.useMemo(()=>({hasProvider:!0,delayRef:g,initialDelayRef:h,currentIdRef:i,timeoutMs:f,currentContextRef:j,timeout:k}),[f,k]),children:c})}var bj=a.i(84842),bk=a.i(5735),bl=a.i(72077),bm=a.i(63734);let bn="data-base-ui-tooltip-trigger";function bo(a){if("composedPath"in a){let b=a.composedPath();for(let a=0;a<b.length;a+=1){let c=b[a];if((0,aR.isElement)(c))return c}}let b=a.target;return(0,aR.isElement)(b)?b:null}let bp=(0,aJ.fastComponentRef)(function(a,b){let{render:c,className:e,style:f,handle:g,payload:h,disabled:i,delay:j,closeOnClick:k=!0,closeDelay:l,id:m,...n}=a,o=aO(!0),p=(0,bc.usePopupHandleStore)(g)??o;if(!p)throw Error((0,aM.default)(82));let q=(0,bd.useBaseUiId)(m),r=p.useState("isTriggerActive",q),s=p.useState("isOpenedByTrigger",q),t=p.useState("floatingRootContext"),u=d.useRef(null),v=l??0,{registerTrigger:w,isMountedByThisTrigger:x}=(0,aX.useTriggerDataForwarding)(q,u,p,{payload:h,closeOnClick:k,closeDelay:v}),y=d.useContext(be),{activeIdRef:z,delayRef:A,isInstantPhase:B,hasProvider:C}=function(a,b={open:!1}){let{open:c}=b,e="rootStore"in a?a.rootStore:a,f=e.useState("floatingId"),{currentIdRef:g,delayRef:h,timeoutMs:i,initialDelayRef:j,currentContextRef:k,hasProvider:l,timeout:m}=d.useContext(bh),[n,o]=d.useState(!1),p=d.useRef(c);return(0,aL.useIsoLayoutEffect)(()=>{p.current=c},[c]),(0,aL.useIsoLayoutEffect)(()=>{function a(){k.current?.setIsInstantPhase(!1),g.current=null,k.current=null,h.current=j.current,m.clear()}if(g.current&&!c&&g.current===f){if(o(!1),i)return m.start(i,()=>{e.select("open")||g.current&&g.current!==f||a()}),()=>{(p.current||g.current!==f)&&m.clear()};a()}},[c,f,g,h,i,j,k,m,e]),(0,aL.useIsoLayoutEffect)(()=>{if(!c)return;let a=k.current,b=g.current;m.clear(),k.current={onOpenChange:e.setOpen,setIsInstantPhase:o},g.current=f,h.current={open:0,close:(0,bg.getDelay)(j.current,"close")},null!==b&&b!==f?(o(!0),a?.setIsInstantPhase(!0),a?.onOpenChange(!1,(0,aW.createChangeEventDetails)(a$.REASONS.none))):(o(!1),a?.setIsInstantPhase(!1))},[c,f,e,g,h,j,k,m]),(0,aL.useIsoLayoutEffect)(()=>()=>{g.current===f&&(k.current=null,p.current)&&(g.current=null,h.current=j.current,m.clear())},[k,g,h,f,j,m]),d.useMemo(()=>({activeIdRef:g,hasProvider:l,delayRef:h,isInstantPhase:n}),[g,l,h,n])}(t,{open:s}),D=(0,bl.useHoverInteractionSharedState)(t);p.useSyncedValue("isInstantPhase",B);let E=p.useState("disabled"),F=i??E,G=(0,a9.useValueAsRef)(F),H=p.useState("trackCursorAxis"),I=p.useState("disableHoverablePopup"),J=d.useRef(!1),K=(0,a8.useTimeout)(),L=d.useRef(void 0);function M(){return C&&null!=z.current?0:j??y??600}function N(a){let b=u.current;if(!b||!a)return!1;let c=function(a){let b=a;for(;b;){let a=b.closest(`[${bn}]`);if(a)return a;let c=b.getRootNode();b="host"in c&&(0,aR.isElement)(c.host)?c.host:null}return null}(a);return null!==c&&c!==b&&(0,aS.contains)(b,c)}let O=(0,bk.useHoverReferenceInteraction)(t,{enabled:!F,mouseOnly:!0,move:!1,handleClose:I||"both"===H?null:(0,bf.safePolygon)(),restMs:M,delay:()=>null==l&&C?{close:(0,bg.getDelay)(A.current,"close")}:{close:v},triggerElementRef:u,isActiveTrigger:r,isClosing:()=>"ending"===p.select("transitionStatus"),shouldOpen:()=>!J.current}),P=(0,bj.useFocus)(t,{enabled:!F}).reference,Q=p.useState("triggerProps",x),R=x||"none"!==H;return(0,bb.useRenderElement)("button",a,{state:{open:s},ref:[b,w,u],props:[O,P,R?Q:void 0,{onMouseOver(a){(a=>{let b,c=J.current,d=bo(a),e=(J.current=b=N(d),b&&(D.openChangeTimeout.clear(),D.restTimeout.clear(),D.restTimeoutPending=!1,K.clear()),b),f=u.current,g=f&&d&&(0,aS.contains)(f,d);if(e&&p.select("open")&&p.select("lastOpenChangeReason")===a$.REASONS.triggerHover)return p.setOpen(!1,(0,aW.createChangeEventDetails)(a$.REASONS.triggerHover,a));if(c&&!e&&g&&!G.current&&!p.select("open")&&f&&(0,aT.isMouseLikePointerType)(L.current)){let b=()=>{J.current||G.current||p.select("open")||p.setOpen(!0,(0,aW.createChangeEventDetails)(a$.REASONS.triggerHover,a,f))},c=M();0===c?(K.clear(),b()):K.start(c,b)}})(a.nativeEvent)},onFocus(a){N(bo(a.nativeEvent))&&a.preventBaseUIHandler()},onMouseLeave(){J.current=!1,K.clear(),L.current=void 0},onPointerEnter(a){L.current=a.pointerType},onPointerDown(a){L.current=a.pointerType,p.set("closeOnClick",k),k&&!p.select("open")&&p.cancelPendingOpen(a.nativeEvent)},onClick(a){k&&!p.select("open")&&p.cancelPendingOpen(a.nativeEvent)},id:q,[bm.triggerDisabled]:F?"":void 0,[bn]:F?void 0:""},n],stateAttributesMapping:ba.triggerOpenStateMapping})}),bq=d.createContext(void 0);var br=a.i(35112),bs=a.i(54098);let bt=d.forwardRef(function(a,c){let{children:e,container:f,className:g,render:h,style:i,...j}=a,{node:k,subtree:l}=(0,bs.useFloatingPortalNode)({container:f,ref:c,componentProps:a,elementProps:j});return l||k?(0,b.jsxs)(d.Fragment,{children:[l,k&&br.createPortal(e,k)]}):null}),bu=d.forwardRef(function(a,c){let{keepMounted:d=!1,...e}=a;return aO().useState("mounted")||d?(0,b.jsx)(bq.Provider,{value:d,children:(0,b.jsx)(bt,{ref:c,...e})}):null}),bv=d.createContext(void 0);function bw(){let a=d.useContext(bv);if(void 0===a)throw Error((0,aM.default)(71));return a}var bx=a.i(44871),by=a.i(82204),bz=a.i(56011);let bA=d.forwardRef(function(a,c){let{render:e,className:f,anchor:g,positionMethod:h="absolute",side:i="top",align:j="center",sideOffset:k=0,alignOffset:l=0,collisionBoundary:m="clipping-ancestors",collisionPadding:n=5,arrowPadding:o=5,sticky:p=!1,disableAnchorTracking:q=!1,collisionAvoidance:r=by.POPUP_COLLISION_AVOIDANCE,style:s,...t}=a,u=aO(),v=function(){let a=d.useContext(bq);if(void 0===a)throw Error((0,aM.default)(70));return a}(),w=u.useState("open"),x=u.useState("mounted"),y=u.useState("trackCursorAxis"),z=u.useState("disableHoverablePopup"),A=u.useState("floatingRootContext"),B=u.useState("instantType"),C=u.useState("transitionStatus"),D=u.useState("adaptiveOrigin"),E=(0,bx.useAnchorPositioning)({anchor:g,positionMethod:h,floatingRootContext:A,mounted:x,side:i,sideOffset:k,align:j,alignOffset:l,collisionBoundary:m,collisionPadding:n,sticky:p,arrowPadding:o,disableAnchorTracking:q,keepMounted:v,collisionAvoidance:r,adaptiveOrigin:D}),F=d.useMemo(()=>({open:w,side:E.side,align:E.align,anchorHidden:E.anchorHidden,instant:"none"!==y?"tracking-cursor":B}),[w,E.side,E.align,E.anchorHidden,y,B]),G=(0,bz.usePositioner)(a,F,{styles:E.positionerStyles,transitionStatus:C,props:t,refs:[c,u.useStateSetter("positionerElement")],hidden:!x,inert:!w||"both"===y||z});return(0,b.jsx)(bv.Provider,{value:E,children:G})});var bB=a.i(5687),bC=a.i(3861),bD=a.i(81673);let bE=d.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=aO(),{side:h,align:i}=bw(),j=g.useState("open"),k=g.useState("instantType"),l=g.useState("transitionStatus"),m=g.useState("popupProps"),n=g.useState("floatingRootContext"),o=g.useState("disabled"),p=g.useState("closeDelay");(0,bB.useOpenChangeComplete)({open:j,ref:g.context.popupRef,onComplete(){j&&g.context.onOpenChangeComplete?.(!0)}}),(0,bD.useHoverFloatingInteraction)(n,{enabled:!o,closeDelay:p});let q=g.useStateSetter("popupElement");return(0,bb.useRenderElement)("div",a,{state:{open:j,side:h,align:i,instant:k,transitionStatus:l},ref:[b,g.context.popupRef,q],props:[aX.FOCUSABLE_POPUP_PROPS,m,(0,bC.getDisabledMountTransitionStyles)(l),f],stateAttributesMapping:ba.popupTransitionStateMapping})}),bF=d.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=aO(),{arrowRef:h,side:i,align:j,arrowUncentered:k,arrowStyles:l}=bw(),m=g.useState("open"),n=g.useState("instantType");return(0,bb.useRenderElement)("div",a,{state:{open:m,side:i,align:j,uncentered:k,instant:n},ref:[b,h],props:[{style:l,"aria-hidden":!0},f],stateAttributesMapping:ba.popupStateMapping})});var bG=a.i(62092);let bH=d.forwardRef(function(a,b){let{render:c,className:d,style:e,children:f,...g}=a,h=aO(),i=bw(),j=h.useState("instantType"),{children:k,state:l}=(0,bG.usePopupViewport)({store:h,side:i.side,children:f}),m={activationDirection:l.activationDirection,transitioning:l.transitioning,instant:j};return(0,bb.useRenderElement)("div",a,{state:m,ref:b,props:[g,{children:k}],stateAttributesMapping:bG.popupViewportStateMapping})});var bI=a.i(4675);class bJ extends bI.BasePopupHandle{constructor(){super(function(){let a=new a1.PopupTriggerMap;return Object.assign(new a_.NullStore(Object.freeze(a4(void 0,a)),Object.freeze(a5(a)),a2),{setOpen:aK.NOOP,cancelPendingOpen:aK.NOOP})}(),"Tooltip")}open(a){this.openByTrigger(a)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}}a.s(["Arrow",0,bF,"Handle",0,bJ,"Popup",0,bE,"Portal",0,bu,"Positioner",0,bA,"Provider",0,function(a){let{delay:c,closeDelay:e,timeout:f=400}=a,g=d.useMemo(()=>({open:c,close:e}),[c,e]);return(0,b.jsx)(be.Provider,{value:c,children:(0,b.jsx)(bi,{delay:g,timeoutMs:f,children:a.children})})},"Root",0,a6,"Trigger",0,bp,"Viewport",0,bH,"createHandle",0,function(){return new bJ}],3191);var bK=a.i(3191),bK=bK;function bL(a){return(0,b.jsx)(bK.Root,{"data-slot":"tooltip",...a})}function bM(a){return(0,b.jsx)(bK.Trigger,{"data-slot":"tooltip-trigger",...a})}function bN({className:a,side:c="top",sideOffset:d=6,align:e="center",...f}){return(0,b.jsx)(bK.Portal,{children:(0,b.jsx)(bK.Positioner,{align:e,side:c,sideOffset:d,className:"isolate z-50 max-sm:hidden",children:(0,b.jsx)(bK.Popup,{"data-slot":"tooltip-content",className:(0,m.classNames)("w-fit max-w-xs origin-(--transform-origin) rounded-sm bg-foreground px-2 py-1 text-caption font-medium text-background shadow-md duration-(--duration-fast) data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",a),...f})})})}let bO={fresh:{Icon:aE,tone:"text-tone-ok-fg"},while:{Icon:aI,tone:"text-muted-foreground"},long:{Icon:aG,tone:"text-tone-waiting-fg"}};function bP({seenAt:a,now:c,testId:d}){let e;if(null===a)return null;let f=new Date(a),g=(e=c.getTime()-f.getTime())<6e4?"fresh":e<=9e5?"while":"long",{Icon:h,tone:i}=bO[g],j=(0,s.lastSeen)(f,c);return(0,b.jsxs)(bL,{children:[(0,b.jsx)(bM,{render:(0,b.jsx)("span",{role:"img","aria-label":j,"data-testid":d,"data-signal":g,className:(0,m.classNames)("inline-flex [&_svg]:size-(--size-icon) max-sm:[&_svg]:size-4",i)}),children:(0,b.jsx)(h,{"aria-hidden":!0})}),(0,b.jsx)(bN,{children:j})]})}var bQ=a.i(40108);let bR={name:"package",size:24,node:[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]};bR.node;let bS=(0,U.default)(bR),bT={name:"sparkles",size:24,node:[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],aliases:["stars"]};bT.node;let bU=(0,U.default)(bT);function bV(a){return a.startsWith("@")||/@\d+\.\d+\.\d+$/.test(a)}function bW({model:a,isCrewed:c,now:d,testId:e}){if(!c)return null;if(null===a)return(0,b.jsx)("span",{"data-testid":e,className:"text-meta text-muted-foreground",children:"Not stated yet"});let f=bV(a.id),g=function(a,b){let c=new Date(a.statedAt),d=Math.max(0,b.getTime()-c.getTime()),e=bV(a.id)?"Software":"Model";if(d<6e4)return`${e}, stated ${String(Math.floor(d/1e3))} s ago`;let f=(0,s.relativeTime)(c,b);return`${e}, stated ${f.charAt(0).toLowerCase()}${f.slice(1)}`}(a,d);return(0,b.jsxs)(bL,{children:[(0,b.jsxs)(bM,{render:(0,b.jsx)("span",{"data-testid":e,"data-slot":"model-tag","data-software":f?"":void 0,className:(0,m.classNames)("inline-flex max-w-44 min-w-0 items-center gap-1 rounded-sm px-1.5 py-0.5 font-mono text-id [&_svg]:size-(--size-icon-sm) [&_svg]:shrink-0",f?"border border-dashed border-border text-muted-foreground":"bg-secondary text-secondary-foreground")}),children:[(0,b.jsx)(f?bS:bU,{"aria-hidden":!0}),(0,b.jsx)("span",{className:"truncate",children:a.id}),(0,b.jsxs)("span",{className:"sr-only",children:[", ",g]})]}),(0,b.jsx)(bN,{children:(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"font-mono",children:a.id}),(0,b.jsx)("span",{className:"opacity-75",children:g})]})})]})}var bX=a.i(92717),bY=a.i(58523),bZ=a.i(90468);let b$={all:"All",crewed:"Crewed",awaitingCrew:"Awaiting crew"};function b_(a){return Object.hasOwn(b$,a)}function b0({ship:a,squadron:c}){return"operator"===a.kind?(0,b.jsxs)(ax.Badge,{variant:"kind",children:[(0,b.jsx)(am.UserRound,{"aria-hidden":!0}),"operator"]}):"viewer"===a.kind?(0,b.jsxs)(ax.Badge,{variant:"kind","data-testid":"fleet-viewer",children:[(0,b.jsx)(ag,{"aria-hidden":!0}),"viewer"]}):c?.role===null?(0,b.jsxs)(ax.Badge,{variant:"kind","data-testid":"fleet-flagship",children:[(0,b.jsx)(ah.Flag,{"aria-hidden":!0}),"flagship"]}):c?(0,b.jsx)(bY.SquadronTag,{squadronId:c.squadronId,role:c.role,size:"sm"}):null}function b1({ship:a,now:c}){let d=a.startingPrompt,e="inline-flex min-w-0 items-center gap-1.5 text-meta text-muted-foreground [&_svg]:size-(--size-icon-sm) [&_svg]:shrink-0";if(null===d)return(0,b.jsxs)("span",{className:e,children:[(0,b.jsx)(ai.KeyRound,{"aria-hidden":!0}),"No starting prompt issued"]});let f=new Date(d.issuedAt);return(0,b.jsxs)("span",{className:e,children:[(0,b.jsx)(ai.KeyRound,{"aria-hidden":!0}),(0,b.jsxs)("span",{className:"truncate",children:["Prompt issued"," ",(0,b.jsx)("time",{dateTime:d.issuedAt,title:(0,s.fullDateTime)(f),children:(0,s.relativeTime)(f,c)}),d.isClaimed?", claimed":", not claimed yet"]})]})}function b2({ship:a,now:c}){return"retired"===a.status?null===a.retiredAt?null:(0,b.jsxs)("span",{className:"truncate text-meta text-muted-foreground","data-testid":"fleet-retired-on",title:(0,s.fullDateTime)(new Date(a.retiredAt)),children:["Retired ",(0,s.dayMonth)(new Date(a.retiredAt))]}):"viewer"===a.kind?null:"awaitingCrew"===a.status?(0,b.jsx)(b1,{ship:a,now:c}):(0,b.jsx)(bQ.LocationTag,{kind:"operator"===a.kind&&null!==a.location?"DEVICE":a.location?.kind??null,description:a.location?.description,harness:"operator"===a.kind?"console":a.harness,size:"sm"})}function b3({ship:a,now:c,next:d}){let e="agent"===a.kind&&"crewed"===a.status;return(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2 max-sm:flex-col max-sm:items-stretch",children:[e?(0,b.jsx)(bX.ReportLine,{report:a.report,now:c,variant:"row",isTimeInTitle:!0,testId:"fleet-report"}):null,d]})}function b4({ships:a,view:c,onViewChange:d,size:e,squadronsOf:f}){let{filters:g}=c,h={all:"All",...Object.fromEntries(as(a,g.isRetiredShown).map(a=>[a,a]))},i=at(a),j="sm"===e?"fleet-show-retired":"fleet-show-retired-touch",k=a=>{d({...c,filters:{...g,...a}})},l="touch"===e;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(ay.Select,{items:b$,value:g.status,onValueChange:a=>{null!==a&&b_(a)&&k({status:a})},children:[(0,b.jsx)(ay.SelectTrigger,{size:e,"aria-label":"Status","data-testid":l?void 0:"fleet-filter-status",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Status"}),(0,b.jsx)(ay.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(ay.SelectContent,{children:Object.entries(b$).map(([a,c])=>(0,b.jsx)(ay.SelectItem,{value:a,children:c},a))})]}),(0,b.jsxs)(ay.Select,{items:h,value:g.type,onValueChange:a=>{null!==a&&k({type:a})},children:[(0,b.jsx)(ay.SelectTrigger,{size:e,"aria-label":"Type","data-testid":l?void 0:"fleet-filter-type",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Type"}),(0,b.jsx)(ay.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(ay.SelectContent,{children:Object.entries(h).map(([a,c])=>(0,b.jsx)(ay.SelectItem,{value:a,className:"all"===a?void 0:"font-mono",children:c},a))})]}),f&&(0,b.jsxs)(ay.Select,{items:{all:"All",...Object.fromEntries(au(f).map(a=>[a,a]))},value:g.squadron,onValueChange:a=>{null!==a&&k({squadron:a})},children:[(0,b.jsx)(ay.SelectTrigger,{size:e,"aria-label":"Squadron","data-testid":l?void 0:"fleet-filter-squadron",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Squadron"}),(0,b.jsx)(ay.SelectValue,{className:"font-medium"})]})}),(0,b.jsxs)(ay.SelectContent,{children:[(0,b.jsx)(ay.SelectItem,{value:"all",children:"All"}),au(f).map(a=>(0,b.jsx)(ay.SelectItem,{value:a,children:a},a))]})]}),aw(g).length>0&&!l?(0,b.jsx)(w.Button,{variant:"ghost",size:"xs","data-testid":"fleet-filters-clear",onClick:()=>{d({...c,filters:an.filters})},children:"Clear filters"}):null,(0,b.jsxs)("div",{className:(0,m.classNames)("inline-flex items-center gap-2",l?"py-2":"sm:ml-auto"),children:[(0,b.jsx)(L.Switch,{id:j,"data-testid":l?void 0:"fleet-show-retired",checked:g.isRetiredShown,onCheckedChange:a=>{k({isRetiredShown:a})}}),(0,b.jsxs)(K.Label,{htmlFor:j,className:(0,m.classNames)("font-normal text-muted-foreground",l?"text-body-touch":"text-meta"),children:["Show retired (",i,")"]})]})]})}function b5({label:a,isOn:c,kind:d,onPick:e}){return(0,b.jsx)(w.Button,{variant:c?"primary":"secondary",size:"touch",role:"radio"===d?"radio":void 0,"aria-checked":"radio"===d?c:void 0,"aria-pressed":"toggle"===d?c:void 0,onClick:e,children:a})}function b6({ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f}){let{filters:g}=c,h=a=>{d({...c,filters:{...g,...a}})},i=aw(g).length,j=at(a);return(0,b.jsxs)(az.Sheet,{children:[(0,b.jsx)(az.SheetTrigger,{render:(0,b.jsx)(w.Button,{size:"touch",isIconOnly:!0,"aria-label":i>0?`Filter ships, ${String(i)} active`:"Filter ships","data-testid":"fleet-filters-open",icon:(0,b.jsx)(al,{}),className:"relative sm:hidden",children:i>0?(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute top-1.5 right-1.5 size-2 rounded-full bg-primary"}):null})}),(0,b.jsxs)(az.SheetContent,{side:"bottom",children:[(0,b.jsxs)(az.SheetHeader,{className:"flex-row items-center justify-between",children:[(0,b.jsx)(az.SheetTitle,{children:"Filter ships"}),(0,b.jsx)(w.Button,{variant:"ghost",size:"touch","data-testid":"fleet-filters-reset",onClick:()=>{d({...c,filters:an.filters})},children:"Reset"})]}),(0,b.jsxs)(az.SheetBody,{className:"flex flex-col gap-4 pb-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{id:"fleet-filter-status-label",className:"text-meta font-medium text-muted-foreground",children:"Status"}),(0,b.jsx)("div",{role:"radiogroup","aria-labelledby":"fleet-filter-status-label",className:"flex gap-1.5 [&>*]:flex-1",children:Object.entries(b$).map(([a,c])=>(0,b.jsx)(b5,{label:c,kind:"radio",isOn:g.status===a,onPick:()=>{b_(a)&&h({status:a})}},a))})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-meta font-medium text-muted-foreground",children:"Type"}),(0,b.jsx)("div",{role:"group","aria-label":"Type",className:"flex flex-wrap gap-1.5",children:["all",...as(a,g.isRetiredShown)].map(a=>(0,b.jsx)(b5,{label:"all"===a?"All types":a,kind:"toggle",isOn:g.type===a,onPick:()=>{h({type:a})}},a))})]}),f&&(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{id:"fleet-filter-squadron-label",className:"text-meta font-medium text-muted-foreground",children:"Squadron"}),(0,b.jsx)("div",{role:"radiogroup","aria-labelledby":"fleet-filter-squadron-label",className:"flex flex-wrap gap-1.5",children:["all",...au(f)].map(a=>(0,b.jsx)(b5,{label:"all"===a?"All":a,kind:"radio",isOn:g.squadron===a,onPick:()=>{h({squadron:a})}},a))})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 py-1",children:[(0,b.jsxs)(K.Label,{htmlFor:"fleet-show-retired-touch",className:"text-body-touch font-normal",children:["Show retired ships ",(0,b.jsxs)("span",{className:"text-muted-foreground",children:["(",j,")"]})]}),(0,b.jsx)(L.Switch,{id:"fleet-show-retired-touch",checked:g.isRetiredShown,onCheckedChange:a=>{h({isRetiredShown:a})}})]}),(0,b.jsx)(az.SheetClose,{render:(0,b.jsx)(w.Button,{size:"touch","data-testid":"fleet-filters-apply"}),children:1===e?"Show 1 ship":`Show ${String(e)} ships`})]})]})]})}function b7({view:a,onViewChange:c}){let d=aw(a.filters);return 0===d.length?null:(0,b.jsxs)("div",{className:"flex w-full flex-wrap items-center gap-1.5 sm:hidden","data-testid":"fleet-filter-chips",children:[d.map(a=>(0,b.jsx)(ax.Badge,{variant:"outline",className:"max-w-full truncate",children:a},a)),(0,b.jsx)(w.Button,{variant:"ghost",size:"touch",onClick:()=>{c({...a,filters:an.filters})},children:"Clear filters"})]})}function b8({ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f}){return(0,b.jsxs)("div",{"data-slot":"fleet-toolbar",className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("div",{className:"w-60 max-sm:min-w-0 max-sm:flex-1",children:(0,b.jsx)(J.Input,{type:"search","aria-label":"Search ships by name or type",placeholder:"Search ships by name","data-testid":"fleet-search",value:c.query,onChange:a=>{d({...c,query:a.target.value})},leadingIcon:(0,b.jsx)(aj.Search,{}),className:"h-(--size-control-sm) text-meta max-sm:h-(--size-control-touch) max-sm:text-input-touch"})}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 max-sm:hidden sm:flex-1",children:(0,b.jsx)(b4,{ships:a,view:c,onViewChange:d,squadronsOf:f,size:"sm"})}),(0,b.jsx)(b6,{ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f}),(0,b.jsx)(b7,{view:c,onViewChange:d}),(0,b.jsxs)("p",{"aria-live":"polite",className:"text-meta text-muted-foreground tabular-nums max-sm:w-full",children:[e," of ",a.length," ships"]})]})}function b9({ship:a}){return(0,b.jsx)(bZ.ShipName,{name:a.name,shipId:a.id,isSuffixShown:"retired"===a.status,href:`/ships/${a.id}`})}function ca({ships:a,highlightedShipIds:c,now:d,renderRowActions:e,squadronsOf:f}){return(0,b.jsx)("div",{className:"max-sm:hidden",children:(0,b.jsxs)(aA.Table,{"aria-label":"Ships",children:[(0,b.jsx)(aA.TableHeader,{children:(0,b.jsxs)(aA.TableRow,{children:[(0,b.jsx)(aA.TableHead,{children:"Name"}),(0,b.jsx)(aA.TableHead,{children:"Status"}),(0,b.jsx)(aA.TableHead,{children:"Report"}),(0,b.jsx)(aA.TableHead,{children:"Runs on"}),(0,b.jsx)(aA.TableHead,{children:"Model"}),(0,b.jsx)(aA.TableHead,{children:"Seen"}),(0,b.jsx)(aA.TableHead,{children:(0,b.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,b.jsx)(aA.TableBody,{children:a.map(a=>(0,b.jsxs)(aA.TableRow,{"data-testid":`fleet-row-${a.name}`,"data-new":c?.has(a.id)?"":void 0,className:"h-12",children:[(0,b.jsx)(aA.TableCell,{className:"max-w-64",children:(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)(b9,{ship:a}),(0,b.jsx)(b0,{ship:a,squadron:f?.get(a.id)})]})}),(0,b.jsx)(aA.TableCell,{children:(0,b.jsx)(Z.StatusBadge,{status:a.status})}),(0,b.jsx)(aA.TableCell,{className:"max-w-72",children:(0,b.jsx)(b3,{ship:a,now:d,next:e?.(a,"next")})}),(0,b.jsx)(aA.TableCell,{className:"max-w-56",children:(0,b.jsx)(b2,{ship:a,now:d})}),(0,b.jsx)(aA.TableCell,{children:"agent"!==a.kind?null:(0,b.jsx)(bW,{model:a.model,isCrewed:"crewed"===a.status,now:d,testId:"fleet-model"})}),(0,b.jsx)(aA.TableCell,{children:(0,b.jsx)(bP,{seenAt:a.lastSeenAt,now:d,testId:"fleet-last-seen"})}),(0,b.jsx)(aA.TableCell,{className:"w-10 text-right",children:e?.(a,"table")})]},a.id))})]})})}function cb({ships:a,highlightedShipIds:c,now:d,renderRowActions:e,squadronsOf:f}){return(0,b.jsx)("ul",{"aria-label":"Ships",className:"overflow-hidden rounded-lg border border-border bg-card sm:hidden",children:a.map(a=>(0,b.jsxs)("li",{"data-testid":`fleet-card-${a.name}`,"data-new":c?.has(a.id)?"":void 0,className:"flex items-start gap-2 border-b border-border px-3.5 py-3 last:border-0 data-new:animate-highlight",children:[(0,b.jsxs)("div",{className:"flex min-w-0 grow flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 text-body-touch",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)(b9,{ship:a}),(0,b.jsx)(b0,{ship:a,squadron:f?.get(a.id)})]}),(0,b.jsx)(Z.StatusBadge,{status:a.status})]}),(0,b.jsx)(b3,{ship:a,now:d,next:e?.(a,"next")}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1",children:[(0,b.jsx)(b2,{ship:a,now:d}),"agent"!==a.kind?null:(0,b.jsx)(bW,{model:a.model,isCrewed:"crewed"===a.status,now:d}),(0,b.jsx)(bP,{seenAt:a.lastSeenAt,now:d})]})]}),e?.(a,"phone")]},a.id))})}function cc({ships:a,view:c,onViewChange:d,state:e,error:f,highlightedShipIds:g,now:h,renderRowActions:i,emptyAction:j,squadronsOf:k}){var l;let m;if("loading"===e)return(0,b.jsxs)("div",{"data-slot":"fleet-table","data-state":"loading",className:"flex flex-col gap-3",children:[(0,b.jsx)(aC.LoadingSkeleton,{variant:"table",rows:6,label:"Loading the fleet",className:"max-sm:hidden"}),(0,b.jsx)(aC.LoadingSkeleton,{variant:"list",rows:5,label:"Loading the fleet",className:"sm:hidden"})]});if("error"===e)return(0,b.jsx)(N.InlineError,{variant:"page",title:"Couldn’t load the fleet",description:"This page couldn’t reach the fleet server. Check that the server is running and reachable from this browser, then try again.",detail:f?.detail,retryNote:f?.retryNote,onRetry:f?.onRetry});let n={highlightedShipIds:g,now:h,renderRowActions:i,squadronsOf:k};if(a.every(a=>"operator"===a.kind||"retired"===a.status)){let c=a.filter(a=>"operator"===a.kind);return(0,b.jsxs)("div",{"data-slot":"fleet-table","data-state":"empty",className:"flex flex-col gap-3",children:[(0,b.jsx)(ca,{ships:c,...n}),(0,b.jsx)(cb,{ships:c,...n}),(0,b.jsx)(aB.EmptyState,{icon:(0,b.jsx)(Y.Ship,{}),title:"No ships besides argo yet",description:"argo is your own ship: messages to the operator land in its inbox. Commission a ship to add an agent to the fleet.",action:j})]})}let o=(l={...c,squadronsOf:k},a.filter(a=>{let b;return(""===(b=l.query.trim().toLowerCase())||a.name.toLowerCase().includes(b)||a.type.toLowerCase().includes(b))&&function(a,b){let{filters:c,squadronsOf:d}=b;return("retired"!==a.status||!!c.isRetiredShown)&&("all"===c.squadron||d?.get(a.id)?.squadronId===c.squadron)&&("all"===c.status||a.status===c.status)&&("all"===c.type||a.type===c.type)}(a,l)}).toSorted((a,b)=>a.kind!==b.kind?"operator"===a.kind?-1:1:a.name.localeCompare(b.name)||a.id.localeCompare(b.id))),p=c.query.trim();return(0,b.jsxs)("div",{"data-slot":"fleet-table","data-state":"ready",className:"flex flex-col gap-3",children:[(0,b.jsx)(b8,{ships:a,view:c,onViewChange:d,shownCount:o.length,squadronsOf:k}),0===o.length?(0,b.jsx)(aB.EmptyState,{variant:"no-results",title:""===p?"No ships match these filters.":`No ships match “${p}”.`,action:(0,b.jsx)(w.Button,{size:"xs","data-testid":"fleet-clear-filters",onClick:()=>{d(an)},children:(m=aw(c.filters).length>0,""===p?"Clear filters":m?"Clear search and filters":"Clear search")})}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ca,{ships:o,...n}),(0,b.jsx)(cb,{ships:o,...n})]})]})}var cd=a.i(73202);function ce({view:a,onViewChange:c,newShipIds:d}){let e=(0,p.useFleetSnapshot)(),f=(0,r.useNow)(),g=(0,ad.useSquadrons)();return(0,b.jsx)("section",{"aria-label":"Fleet",className:"flex flex-col gap-3",children:(0,b.jsx)(cc,{ships:e.data??[],view:a,onViewChange:c,state:e.isPending?"loading":e.isError?"error":"ready",error:{detail:e.error?.message,onRetry:()=>{e.refetch()}},highlightedShipIds:d,now:f,renderRowActions:(a,c)=>(0,b.jsx)(cd.ShipActions,{ship:a,layout:"table"===c?"menu":"phone"===c?"sheet":"next"}),squadronsOf:g.data?(0,ae.shipsInSquadrons)(g.data):void 0})})}var cf=a.i(2466),cg=a.i(65563),ch=a.i(26949),ci=a.i(67336),cj=a.i(94764),ck=a.i(10572),cl=a.i(54763);a.s(["default",0,function({searchParams:a}){var i;let j,k=(0,c.useRouter)(),l=function(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a)){let a=Array.isArray(d)?d[0]:d;void 0!==a&&b.set(c,a)}return b}((0,d.use)(a)),m={query:l.get("q")??"",filters:{status:(i=l.get(ao),(j=A.shipStatusSchema.safeParse(i)).success&&"retired"!==j.data?j.data:"all"),type:l.get(ap)??"all",squadron:l.get(aq)??"all",isRetiredShown:"1"===l.get(ar)}},n="new"===l.get("commission"),o=(0,p.useFleetSnapshot)(),s=(0,ci.useLiveFleet)(),v=(0,r.useNow)(),w=(0,cj.useAccountMenu)(v),B=(0,cl.useHasSquadrons)(),C=(0,z.messageLimitReached)((0,x.useFleetLimits)().data),D=(0,y.useHostedAccountUrl)(),E=(0,ch.useOpenInboxCount)(),F=(0,cg.useAccess)(),[G,H]=(0,d.useState)(!1),[I,J]=(0,d.useState)(!1),[K,L]=(0,d.useState)(!1),M=(0,q.useAttentionCount)();(0,ck.useSignInWhenSessionEnds)([o.error,s.error]);let N=a=>{let b,c=(b=new URLSearchParams,""!==a.query&&b.set("q",a.query),"all"!==a.filters.status&&b.set(ao,a.filters.status),"all"!==a.filters.type&&b.set(ap,a.filters.type),"all"!==a.filters.squadron&&b.set(aq,a.filters.squadron),a.filters.isRetiredShown&&b.set(ar,"1"),b).toString();k.replace(""===c?"/":`/?${c}`,{scroll:!1})};return(0,b.jsxs)(cf.ListLayout,{title:"Fleet overview",description:o.data?function(a){let b=t(a.ships).length,c=a.ships.filter(a=>"agent"===a.kind&&"retired"===a.status).length;if(0===b&&0===c)return a.canCommission?"Only argo so far. Ships you commission appear here.":"Only argo so far.";let d=0===c?"":`, ${String(c)} retired`;return`${1===b?"1 active ship":`${String(b)} active ships`} and argo${d}. Changes appear as they happen.`}({ships:o.data,canCommission:F.canManage}):"Loading your fleet",primaryAction:F.canManage?(0,b.jsx)(T,{isOpen:K||n,onOpenChange:a=>{L(a),!a&&n&&N(m)}}):void 0,live:s.live,nav:{active:"overview",inboxCount:E,attentionCount:M,hasSquadrons:B,hasSettings:B&&F.canManage},onCompose:F.canSend?()=>{H(!0)}:void 0,onSearch:()=>{J(!0)},account:w,banner:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.ConsoleNotices,{}),(0,b.jsx)(g.ConsoleGuide,{})]}),children:[void 0===C?null:(0,b.jsx)(O.LimitNotice,{...(0,z.messageLimitNotice)(C),accountUrl:D,testId:"overview-message-limit"}),(0,b.jsx)(ac,{}),(0,b.jsx)(u,{}),(0,b.jsx)(ce,{view:m,onViewChange:N,newShipIds:s.newShipIds}),(0,b.jsx)(e.ComposeMessage,{isOpen:G,onOpenChange:H}),(0,b.jsx)(f.ConsoleCommands,{isOpen:I,onOpenChange:J,onCompose:()=>{H(!0)}})]})}],33634)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=packages_console_app_page_tsx_16ln4px._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[74038,a=>{"use strict";var b=a.i(87924),c=a.i(42871),d=a.i(99745),e=a.i(18544),f=a.i(12552),g=a.i(33791),h=a.i(12794),i=class extends g.Subscribable{#a;#b;#c;constructor(a={}){super(),this.config=a,this.#a=new Set,this.#b=new Map,this.#c=0}build(a,b,c){let d=new h.Mutation({client:a,mutationCache:this,mutationId:++this.#c,options:a.defaultMutationOptions(b),state:c});return this.add(d),d}add(a){this.#a.add(a);let b=j(a);if("string"==typeof b){let c=this.#b.get(b);c?c.push(a):this.#b.set(b,[a])}this.notify({type:"added",mutation:a})}remove(a){if(this.#a.delete(a)){let b=j(a);if("string"==typeof b){let c=this.#b.get(b);if(c)if(c.length>1){let b=c.indexOf(a);-1!==b&&c.splice(b,1)}else c[0]===a&&this.#b.delete(b)}}this.notify({type:"removed",mutation:a})}canRun(a){let b=j(a);if("string"!=typeof b)return!0;{let c=this.#b.get(b)?.find(a=>"pending"===a.state.status);return!c||c===a}}runNext(a){let b=j(a);return"string"==typeof b?this.#b.get(b)?.find(b=>b!==a&&b.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){e.notifyManager.batch(()=>{this.#a.forEach(a=>{this.notify({type:"removed",mutation:a})}),this.#a.clear(),this.#b.clear()})}getAll(){return Array.from(this.#a)}find(a){let b={exact:!0,...a};return this.getAll().find(a=>(0,c.matchMutation)(b,a))}findAll(a={}){return this.getAll().filter(b=>(0,c.matchMutation)(a,b))}notify(a){e.notifyManager.batch(()=>{this.listeners.forEach(b=>{b(a)})})}resumePausedMutations(){let a=this.getAll().filter(a=>a.state.isPaused);return e.notifyManager.batch(()=>Promise.all(a.map(a=>a.continue().catch(c.noop))))}};function j(a){return a.options.scope?.id}var k=g,l=a.i(76644),m=class extends k.Subscribable{#d;constructor(a={}){super(),this.config=a,this.#d=new Map}build(a,b,d){let e=b.queryKey,f=b.queryHash??(0,c.hashQueryKeyByOptions)(e,b),g=this.get(f);return g||(g=new l.Query({client:a,queryKey:e,queryHash:f,options:a.defaultQueryOptions(b),state:d,defaultOptions:a.getQueryDefaults(e)}),this.add(g)),g}add(a){this.#d.has(a.queryHash)||(this.#d.set(a.queryHash,a),this.notify({type:"added",query:a}))}remove(a){this.#d.get(a.queryHash)===a&&(a.destroy(),this.#d.delete(a.queryHash),this.notify({type:"removed",query:a}))}clear(){e.notifyManager.batch(()=>{this.getAll().forEach(a=>{this.remove(a)})})}get(a){return this.#d.get(a)}getAll(){return[...this.#d.values()]}find(a){let b={exact:!0,...a};return this.getAll().find(a=>(0,c.matchQuery)(b,a))}findAll(a={}){let b=this.getAll();return Object.keys(a).length>0?b.filter(b=>(0,c.matchQuery)(a,b)):b}notify(a){e.notifyManager.batch(()=>{this.listeners.forEach(b=>{b(a)})})}onFocus(){e.notifyManager.batch(()=>{this.getAll().forEach(a=>{a.onFocus()})})}onOnline(){e.notifyManager.batch(()=>{this.getAll().forEach(a=>{a.onOnline()})})}},n=class{#e;#f;#g;#h;#i;#j;#k;#l;constructor(a={}){this.#e=a.queryCache||new m,this.#f=a.mutationCache||new i,this.#g=a.defaultOptions||{},this.#h=new Map,this.#i=new Map,this.#j=0}mount(){this.#j++,1===this.#j&&(this.#k=d.focusManager.subscribe(async a=>{a&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#l=f.onlineManager.subscribe(async a=>{a&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#j--,0===this.#j&&(this.#k?.(),this.#k=void 0,this.#l?.(),this.#l=void 0)}isFetching(a){return this.#e.findAll({...a,fetchStatus:"fetching"}).length}isMutating(a){return this.#f.findAll({...a,status:"pending"}).length}getQueryData(a){let b=this.defaultQueryOptions({queryKey:a});return this.#e.get(b.queryHash)?.state.data}ensureQueryData(a){let b=this.defaultQueryOptions(a),d=this.#e.build(this,b),e=d.state.data;return void 0===e?this.fetchQuery(a):(a.revalidateIfStale&&d.isStaleByTime((0,c.resolveQueryValue)(b.staleTime,d))&&this.prefetchQuery(b),Promise.resolve(e))}getQueriesData(a){return this.#e.findAll(a).map(({queryKey:a,state:b})=>[a,b.data])}setQueryData(a,b,d){let e=this.defaultQueryOptions({queryKey:a}),f=this.#e.get(e.queryHash)?.state.data,g=(0,c.functionalUpdate)(b,f);if(void 0!==g)return this.#e.build(this,e).setData(g,{...d,manual:!0})}setQueriesData(a,b,c){return e.notifyManager.batch(()=>this.#e.findAll(a).map(({queryKey:a})=>[a,this.setQueryData(a,b,c)]))}getQueryState(a){let b=this.defaultQueryOptions({queryKey:a});return this.#e.get(b.queryHash)?.state}removeQueries(a){let b=this.#e;e.notifyManager.batch(()=>{b.findAll(a).forEach(a=>{b.remove(a)})})}resetQueries(a,b){let c=this.#e;return e.notifyManager.batch(()=>{let d=c.findAll(a),e=new Set(d);return d.forEach(a=>{a.reset()}),this.refetchQueries({type:"active",predicate:a=>e.has(a)},b)})}cancelQueries(a,b={}){let d={revert:!0,...b};return Promise.all(e.notifyManager.batch(()=>this.#e.findAll(a).map(a=>a.cancel(d)))).then(c.noop).catch(c.noop)}invalidateQueries(a,b={}){return e.notifyManager.batch(()=>(this.#e.findAll(a).forEach(a=>{a.invalidate()}),a?.refetchType==="none")?Promise.resolve():this.refetchQueries({...a,type:a?.refetchType??a?.type??"active"},b))}refetchQueries(a,b={}){let d={...b,cancelRefetch:b.cancelRefetch??!0};return Promise.all(e.notifyManager.batch(()=>this.#e.findAll(a).filter(a=>!a.isDisabled()&&!a.isStatic()).map(a=>{let b=a.fetch(void 0,d);return d.throwOnError||(b=b.catch(c.noop)),"paused"===a.state.fetchStatus?Promise.resolve():b}))).then(c.noop)}async query(a){let b=this.defaultQueryOptions(a);void 0===b.retry&&(b.retry=!1);let d=this.#e.build(this,b),e=d.isStaleByTime((0,c.resolveQueryValue)(b.staleTime,d))?await d.fetch(b):d.state.data,f=b.select;return f?f(e):e}fetchQuery(a){let b=this.defaultQueryOptions(a);void 0===b.retry&&(b.retry=!1);let d=this.#e.build(this,b);return d.isStaleByTime((0,c.resolveQueryValue)(b.staleTime,d))?d.fetch(b):Promise.resolve(d.state.data)}prefetchQuery(a){return this.fetchQuery(a).then(c.noop).catch(c.noop)}infiniteQuery(a){return a._type="infinite",this.query(a)}fetchInfiniteQuery(a){return a._type="infinite",this.fetchQuery(a)}prefetchInfiniteQuery(a){return this.fetchInfiniteQuery(a).then(c.noop).catch(c.noop)}ensureInfiniteQueryData(a){return a._type="infinite",this.ensureQueryData(a)}resumePausedMutations(){return f.onlineManager.isOnline()?this.#f.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#f}getDefaultOptions(){return this.#g}setDefaultOptions(a){this.#g=a}setQueryDefaults(a,b){this.#h.set((0,c.hashKey)(a),{queryKey:a,defaultOptions:b})}getQueryDefaults(a){let b=[...this.#h.values()],d={};return b.forEach(b=>{(0,c.partialMatchKey)(a,b.queryKey)&&Object.assign(d,b.defaultOptions)}),d}setMutationDefaults(a,b){this.#i.set((0,c.hashKey)(a),{mutationKey:a,defaultOptions:b})}getMutationDefaults(a){let b=[...this.#i.values()],d={};return b.forEach(b=>{(0,c.partialMatchKey)(a,b.mutationKey)&&Object.assign(d,b.defaultOptions)}),d}defaultQueryOptions(a){if(a._defaulted)return a;let b={...this.#g.queries,...this.getQueryDefaults(a.queryKey),...a,_defaulted:!0};return b.queryHash||(b.queryHash=(0,c.hashQueryKeyByOptions)(b.queryKey,b)),void 0===b.refetchOnReconnect&&(b.refetchOnReconnect="always"!==b.networkMode),void 0===b.throwOnError&&(b.throwOnError=!!b.suspense),!b.networkMode&&b.persister&&(b.networkMode="offlineFirst"),b.queryFn===c.skipToken&&(b.enabled=!1),b}defaultMutationOptions(a){return a?._defaulted?a:{...this.#g.mutations,...a?.mutationKey&&this.getMutationDefaults(a.mutationKey),...a,_defaulted:!0}}clear(){this.#e.clear(),this.#f.clear()}},o=a.i(37927),p=a.i(51809),q=a.i(84178),q=q,r=a.i(20098),r=r,s=a.i(87265),s=s,t=q,u=a.i(72131),v=a.i(88191),w=a.i(46644),x=a.i(91154),y=a.i(47468),z=a.i(54763),A=a.i(14499);function B(a,b){let c=(0,x.trpcErrorCode)(b);return"UNAUTHORIZED"!==c&&"FORBIDDEN"!==c&&a<3}function C(a,b){return fetch(a,{...b,credentials:"include"})}function D(){return(0,w.useAnalyticsPageviews)(),null}a.s(["Providers",0,function({serverUrl:a,isSquadronsConfigured:c,hostedAccountUrl:d,isAnalyticsOn:e,children:f}){let[g]=(0,u.useState)(()=>new n({defaultOptions:{queries:{retry:B}}})),[h]=(0,u.useState)(()=>{let b;return b=(0,q.n)({url:`${a.replace(/^http/,"ws")}/trpc`,lazy:{enabled:!0,closeMs:0}}),(0,p.createTRPCClient)({links:[(0,s.t)({condition:a=>"subscription"===a.type,true:(0,t.t)({client:b}),false:(0,r.t)({url:`${a}/trpc`,fetch:C})})]})});return(0,b.jsx)(o.QueryClientProvider,{client:g,children:(0,b.jsx)(A.TRPCProvider,{trpcClient:h,queryClient:g,children:(0,b.jsx)(z.SquadronsConfiguredContext,{value:c,children:(0,b.jsx)(y.HostedAccountUrlContext,{value:d,children:(0,b.jsxs)(w.AnalyticsContext,{value:e,children:[(0,b.jsx)(D,{}),f,(0,b.jsx)(v.Toaster,{})]})})})})})}],74038)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=packages_console_app_providers_tsx_06ai92n._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[69619,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(15439),e=a.i(2549),f=a.i(83786),g=a.i(68698),h=a.i(64831);let i={name:"link-2",size:24,node:[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]};i.node;let j=(0,h.default)(i);var k=a.i(12068),l=a.i(40392),m=a.i(50808);function n({settings:a,loadError:c,onRetry:d,isConnecting:e,connectError:f,onConnect:g}){return void 0!==c?(0,b.jsx)(l.InlineError,{title:"Couldn’t read squadrons",description:c,onRetry:d}):void 0===a?(0,b.jsx)(m.LoadingSkeleton,{variant:"detail",rows:2,label:"Loading squadrons"}):a.configured&&a.connection.isEnabled?(0,b.jsxs)("section",{"aria-labelledby":"settings-squadrons","data-testid":"settings-squadrons",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsx)("h2",{id:"settings-squadrons",className:"text-body font-semibold",children:"Squadrons"}),"connected"===a.connection.state?(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-squadrons-state",children:["Connected as ",(0,b.jsx)("span",{className:"font-mono",children:a.connection.ship?.name})," ",(0,b.jsxs)("span",{className:"font-mono text-muted-foreground",children:["(",a.connection.ship?.shipId,")"]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-body","data-testid":"settings-squadrons-state",children:"Not connected. Connecting commissions the ship squadrons, with fleet read and manage, or gives it a new starting prompt, and hands its secret to squadrons. No one sees the secret."}),(0,b.jsx)("div",{children:(0,b.jsx)(k.Button,{variant:"primary",icon:(0,b.jsx)(j,{"aria-hidden":!0}),isLoading:e,onClick:g,"data-testid":"settings-squadrons-connect",children:"Connect squadrons"})}),void 0!==f&&(0,b.jsx)(l.InlineError,{variant:"field",title:"Couldn’t connect squadrons",description:f})]})]}):null}var o=a.i(93817),p=a.i(26766),q=a.i(3512),r=a.i(48819),s=a.i(26268),t=a.i(72872),u=a.i(47480),v=a.i(59613),w=a.i(2374),x=a.i(75297),y=a.i(45098),z=a.i(24173),A=a.i(20847);let B=".aeolus/squadrons";function C({isAdding:a,addError:d,onAdd:e}){let f=(0,c.useId)(),g=(0,c.useId)(),h=(0,c.useId)(),[i,j]=(0,c.useState)(""),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)("");return(0,b.jsxs)("form",{noValidate:!0,"data-testid":"repositories-add",className:"flex flex-col gap-3 rounded-md border border-border p-3",onSubmit:a=>{a.preventDefault();let b=m.trim(),c=o.trim();e({url:i.trim(),...""===b?{}:{path:b},...""===c?{}:{token:c}},()=>{j(""),n(""),p("")})},children:[(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(y.Label,{htmlFor:f,children:"Repository URL"}),(0,b.jsx)(x.Input,{id:f,isMono:!0,autoComplete:"off",spellCheck:!1,placeholder:"https://github.com/acme/squadron-templates.git","data-testid":"repositories-url",value:i,onChange:a=>{j(a.target.value)}})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(y.Label,{htmlFor:g,children:"Path (optional)"}),(0,b.jsx)(x.Input,{id:g,isMono:!0,autoComplete:"off",spellCheck:!1,placeholder:B,"data-testid":"repositories-path",value:m,onChange:a=>{n(a.target.value)}})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(y.Label,{htmlFor:h,children:"Read token (optional, for a private repository)"}),(0,b.jsx)(x.Input,{id:h,type:"password",autoComplete:"new-password","data-testid":"repositories-token",value:o,onChange:a=>{p(a.target.value)}}),(0,b.jsx)("p",{className:"text-meta text-muted-foreground",children:"Entered once and never shown again. To change it, remove the repository and add it again."})]}),void 0===d?null:(0,b.jsx)(l.InlineError,{title:"Couldn’t add the repository",description:`${d} The list shows what squadrons holds.`}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(k.Button,{type:"submit",variant:"primary",icon:(0,b.jsx)(q.Plus,{"aria-hidden":!0}),isLoading:a,disabled:""===i.trim(),"data-testid":"repositories-add-submit",children:a?"Adding":"Add repository"})})]})}function D(a,b){return a.map(({name:a,versions:c})=>"template"===b?`${a}@${c.join(", ")}`:`${a} v${c.join(", v")}`).join(" · ")}function E({contents:a,path:c}){let{templates:d,blueprints:e,leftOut:f}=a;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dl",{"data-testid":"repositories-found",className:"grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-0.5 text-meta",children:0===d.length&&0===e.length?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-muted-foreground",children:"Found"}),(0,b.jsxs)("dd",{children:["No templates or blueprints under ",c]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-muted-foreground",children:"Templates"}),(0,b.jsx)("dd",{className:"font-mono",children:0===d.length?"None":D(d,"template")}),(0,b.jsx)("dt",{className:"text-muted-foreground",children:"Blueprints"}),(0,b.jsx)("dd",{className:"font-mono",children:0===e.length?"None":D(e,"blueprint")})]})}),0===f.length?null:(0,b.jsxs)("div",{"data-testid":"repositories-left-out",className:"flex flex-col gap-1.5 rounded-md border border-tone-attention-border bg-tone-attention-bg p-2.5 text-tone-attention-fg",children:[(0,b.jsxs)("p",{className:"flex items-center gap-1.5 text-meta font-medium",children:[(0,b.jsx)(s.TriangleAlert,{"aria-hidden":!0,className:"size-(--size-icon-sm) shrink-0"}),"Left out: ",f.length,". Fix ",1===f.length?"it":"them"," in git, tag again, then refresh."]}),(0,b.jsx)("ul",{className:"flex flex-col gap-1",children:f.map(a=>(0,b.jsxs)("li",{"data-testid":"repositories-left-out-item",className:"text-meta text-foreground",children:[(0,b.jsx)("span",{className:"font-mono",children:(0,u.leftOutLabel)(a)}),": ",a.message]},`${a.kind} ${a.name}@${String(a.version)}`))})]})]})}function F({repository:a,contents:c,now:d,onRemove:e}){let{lastFetch:f}=a;return(0,b.jsxs)("li",{"data-testid":"repositories-row",className:"flex flex-col gap-1.5 px-3 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(A.RepositoryName,{name:a.name}),a.path===B?null:(0,b.jsx)("span",{className:"font-mono text-meta text-muted-foreground",children:a.path}),a.hasToken?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-meta text-muted-foreground",children:[(0,b.jsx)(p.KeyRound,{"aria-hidden":!0,className:"size-(--size-icon-sm)"}),"Token"]}):null,(0,b.jsx)("span",{className:"ml-auto text-meta text-muted-foreground","data-testid":"repositories-fetched",children:null===f?"Not fetched yet":`Fetched ${(0,t.relativeTime)(new Date(f.at),d)}`}),(0,b.jsx)(k.Button,{size:"xs",variant:"ghost","data-testid":"repositories-remove",onClick:e,children:"Remove"})]}),f?.error?(0,b.jsxs)("p",{"data-testid":"repositories-error",className:"flex items-start gap-1.5 text-meta text-destructive-text",children:[(0,b.jsx)(o.CircleAlert,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0"}),(0,b.jsxs)("span",{children:["The last fetch failed: ",(0,b.jsx)("span",{className:"font-mono",children:f.error})]})]}):null,void 0===c||null===f||null!==f.error&&c.templates.length+c.blueprints.length+c.leftOut.length===0?null:(0,b.jsx)(E,{contents:c,path:a.path})]})}function G(a){let{repositories:d,catalogue:e,state:f,error:g,onRetry:h,isRemoving:i,removeError:j,onRemove:n,onRemoveClosed:o,isRefreshing:p,refreshError:q,onRefresh:s,now:t}=a,[x,y]=(0,c.useState)(void 0);return(0,b.jsxs)("section",{"aria-labelledby":"settings-repositories","data-testid":"settings-repositories",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("h2",{id:"settings-repositories",className:"text-body font-semibold",children:"Repositories"}),(0,b.jsx)(k.Button,{size:"xs",icon:(0,b.jsx)(r.RotateCw,{"aria-hidden":!0}),isLoading:p,disabled:0===d.length,onClick:s,"data-testid":"repositories-refresh",children:"Refresh"})]}),(0,b.jsxs)("p",{className:"text-meta text-muted-foreground",children:["squadrons reads templates and blueprints from these repositories, under ",B," unless a repository sets its own path. It fetches one when you add it, when you refresh, and once each time squadrons connects or starts."]}),void 0===q?null:(0,b.jsx)(l.InlineError,{variant:"section",title:"Couldn’t refresh",description:q}),"loading"===f?(0,b.jsx)(m.LoadingSkeleton,{variant:"list",rows:2,label:"Loading the repositories"}):"error"===f?(0,b.jsx)(l.InlineError,{title:"Couldn’t read the repositories",description:g,onRetry:h}):0===d.length?(0,b.jsx)(z.EmptyState,{variant:"section",title:"No repositories yet",description:"Add one to read its templates and blueprints."}):(0,b.jsx)("ul",{className:"divide-y divide-border overflow-hidden rounded-md border border-border",children:d.map(a=>(0,b.jsx)(F,{repository:a,...void 0===e?{}:{contents:(0,u.repositoryContents)(e,a.name)},now:t,onRemove:()=>{y(a.name)}},a.name))}),(0,b.jsx)(C,{isAdding:a.isAdding,addError:a.addError,onAdd:a.onAdd}),(0,b.jsx)(v.AlertDialog,{open:void 0!==x,onOpenChange:a=>{a||i||(y(void 0),o())},children:(0,b.jsxs)(v.AlertDialogContent,{"data-testid":"repositories-remove-dialog",className:w.dialogSurface.phoneSheet,children:[(0,b.jsxs)(v.AlertDialogHeader,{children:[(0,b.jsxs)(v.AlertDialogTitle,{children:["Remove ",x,"?"]}),(0,b.jsx)(v.AlertDialogDescription,{children:"Its templates and blueprints leave the catalogue at once. Squadrons formed from them keep the versions they formed from."})]}),void 0===j?null:(0,b.jsx)(l.InlineError,{title:"Couldn’t remove the repository",description:`${j} The list shows what squadrons holds.`}),(0,b.jsxs)(v.AlertDialogFooter,{children:[(0,b.jsx)(v.AlertDialogClose,{render:(0,b.jsx)(k.Button,{disabled:i}),children:"Cancel"}),(0,b.jsx)(k.Button,{variant:"destructive",isLoading:i,"data-testid":"repositories-remove-confirm",onClick:()=>{void 0!==x&&n(x,()=>{y(void 0),o()})},children:"Remove repository"})]})]})})]})}var H=a.i(2466),I=a.i(65563),J=a.i(94764),K=a.i(26949),L=a.i(10023),M=a.i(68450),N=a.i(10572),O=a.i(67336),P=a.i(54763),Q=a.i(12540);a.s(["default",0,function(){let a=(0,M.useNow)(),h=(0,J.useAccountMenu)(a),i=(0,P.useHasSquadrons)(),j=(0,K.useOpenInboxCount)(),k=(0,L.useNeedsAttention)(),l=(0,L.useAttentionCount)(),m=(0,P.useSquadronsSettings)(),o=(0,P.useConnectSquadrons)(),p=(0,O.useLiveFleet)(),q=(0,P.useSquadronsConnection)(),r=(0,Q.useRepositories)(),s=(0,Q.useCatalogue)(),t=(0,Q.useAddRepository)(),u=(0,Q.useRemoveRepository)(),v=(0,Q.useRefreshCatalogue)(),w=(0,I.useAccess)(),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!1);return(0,N.useSignInWhenSessionEnds)([k.error,p.error]),(0,b.jsxs)(H.ListLayout,{title:"Settings",description:"How this installation runs. Only argo, the operator, sees this page.",live:p.live,nav:{active:"settings",inboxCount:j,attentionCount:l,hasSquadrons:i,hasSettings:i&&w.canManage},onCompose:w.canSend?()=>{y(!0)}:void 0,onSearch:()=>{A(!0)},account:h,banner:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.ConsoleNotices,{}),(0,b.jsx)(f.ConsoleGuide,{})]}),children:[i&&(0,b.jsx)(n,{settings:m.data,loadError:m.isError?m.error.message:void 0,onRetry:()=>{m.refetch()},isConnecting:o.isPending,connectError:o.isError?o.error.message:void 0,onConnect:()=>{o.mutate()}}),"connected"===q&&(0,b.jsx)(G,{repositories:r.data??[],...void 0===s.data?{}:{catalogue:s.data},state:r.isError?"error":r.data?"ready":"loading",error:r.error?.message,onRetry:()=>{r.refetch()},isAdding:t.isPending,addError:t.error?.message,onAdd:(a,b)=>{t.mutate(a,{onSuccess:b})},isRemoving:u.isPending,removeError:u.error?.message,onRemove:(a,b)=>{u.mutate(a,{onSuccess:b})},onRemoveClosed:()=>{u.reset()},isRefreshing:v.isPending,refreshError:v.error?.message,onRefresh:()=>{v.mutate()},now:a}),(0,b.jsx)(d.ComposeMessage,{isOpen:x,onOpenChange:y}),(0,b.jsx)(e.ConsoleCommands,{isOpen:z,onOpenChange:A,onCompose:()=>{y(!0)}})]})}],69619)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=packages_console_app_settings_page_tsx_1zqt7sk._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[830,a=>{"use strict";var b=a.i(87924);a.i(23600);var c=a.i(2811),d=a.i(50944),e=a.i(72131),f=a.i(94777),g=a.i(15439),h=a.i(2549),i=a.i(83786),j=a.i(68698),k=a.i(64831);let l={name:"mail-question-mark",size:24,node:[["path",{d:"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5",key:"e61zoh"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2",key:"7z9rxb"}],["path",{d:"M20 22v.01",key:"12bgn6"}]],aliases:["mail-question"]};l.node;let m=(0,k.default)(l),n={name:"reply",size:24,node:[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]]};n.node;let o=(0,k.default)(n);var p=a.i(9854),q=a.i(72872),r=a.i(31429),s=a.i(84980),t=a.i(12068),u=a.i(82314),v=a.i(4838),w=a.i(33809),x=a.i(24173),y=a.i(90468);function z({parts:a,className:c}){let d;return(0,b.jsx)("span",{className:c,children:(d=new Map,a.map(a=>{let b="text"===a.kind?`text:${a.text}`:`ship:${a.party.id}`,c=d.get(b)??0;return d.set(b,c+1),{key:`${b}#${String(c)}`,part:a}})).map(({key:a,part:c})=>"text"===c.kind?(0,b.jsx)("span",{children:c.text},a):(0,b.jsx)(y.ShipName,{name:c.party.name,shipId:c.party.id,isSuffixShown:c.party.name!==r.OPERATOR_NAME,className:"align-baseline"},a))})}var A=a.i(23063),B=a.i(29703);function C(a){return a.ship?[(0,r.ship)(a.ship)]:[(0,r.text)("a ship")]}var D=a.i(76166);function E({entries:a,recipient:c}){return(0,b.jsx)("ol",{"data-testid":"delivery-history","aria-label":"Delivery history",className:"flex flex-col",children:a.map((d,e)=>{let f=new Date(d.occurredAt);return(0,b.jsxs)("li",{"data-testid":"delivery-history-entry","data-type":d.type,className:"relative flex gap-3 pb-4 last:pb-0",children:[(0,b.jsxs)("span",{"aria-hidden":!0,className:"relative flex w-3 shrink-0 justify-center",children:[(0,b.jsx)("span",{className:"mt-1.5 size-2.5 rounded-full border-2 border-muted-foreground bg-card"}),e<a.length-1?(0,b.jsx)("span",{className:"absolute top-5 bottom-[-0.25rem] w-px bg-border"}):null]}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(A.StatusBadge,{status:function(a){switch(a.type){case"MessageAccepted":case"DeliveryReturned":return"pending";case"DeliveryClaimed":return"delivered";case"DeliveryAcknowledged":return"acknowledged";case"DeliveryUndeliverable":return"undeliverable";case"DeliveryAbandoned":return"abandoned";case"DeliveryDismissed":return"dismissed"}}(d)}),(0,b.jsx)("time",{dateTime:d.occurredAt,title:(0,q.fullDateTime)(f),className:"font-mono text-id text-muted-foreground tabular-nums",children:(0,q.secondsTime)(f)}),0===e?(0,b.jsx)(D.Badge,{variant:"outline",children:"Current"}):null]}),(0,b.jsx)(z,{parts:function(a,b){switch(a.type){case"MessageAccepted":return"ship"===b.kind?[(0,r.text)("Stored in the inbox of "),(0,r.ship)(b.ship),(0,r.text)(".")]:[(0,r.text)(`Queued for any ship of type ${b.type}.`)];case"DeliveryClaimed":{let b=null!==a.attempts&&a.attempts>1?`Attempt ${String(a.attempts)}: claimed`:"Claimed";return[(0,r.text)(`${b} by `),...C(a),...function(a){if(null===a)return[];let b=null!==a.description&&""!==a.description?a.description:(0,B.locationKindWord)(a.kind);return[(0,r.text)(`, session on ${b}`)]}(a.location),(0,r.text)(".")]}case"DeliveryReturned":return"ship"===b.kind?[(0,r.text)("Back in the inbox: the session of "),...C(a),(0,r.text)(" ended before acknowledging it.")]:[(0,r.text)("Returned to the queue: the session of "),...C(a),(0,r.text)(" ended before acknowledging it.")];case"DeliveryAcknowledged":return[(0,r.text)("Acknowledged by "),...C(a),(0,r.text)(".")];case"DeliveryUndeliverable":return[(0,r.text)(null===a.attempts?"Never acknowledged: no ship takes it automatically any more.":`Received ${String(a.attempts)} times, never acknowledged.`)];case"DeliveryAbandoned":return[(0,r.text)("Abandoned: "),...C(a),(0,r.text)(" was retired before taking it.")];case"DeliveryDismissed":return[(0,r.text)("Dismissed by the operator: no ship takes it any more.")]}}(d,c),className:"text-meta text-muted-foreground max-sm:text-body-touch"})]})]},d.seq)})})}let F="text-section font-semibold text-foreground";function G({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-3 py-2 last:border-b-0",children:[(0,b.jsx)("dt",{className:"w-24 shrink-0 text-meta text-muted-foreground",children:a}),(0,b.jsx)("dd",{className:"flex min-w-0 items-center gap-1.5 text-body text-foreground",children:c})]})}function H({message:a}){let c=a.recipient;return(0,b.jsxs)("dl",{"aria-label":"Envelope",className:"overflow-hidden rounded-lg border border-border bg-card",children:[(0,b.jsxs)(G,{label:"Message id",children:[(0,b.jsx)("span",{className:"truncate font-mono text-id",children:a.id}),(0,b.jsx)(u.CopyButton,{value:a.id,label:"Copy message id"})]}),(0,b.jsx)(G,{label:"From",children:(0,b.jsx)(y.ShipName,{name:a.sender.name,shipId:a.sender.id,isSuffixShown:a.sender.name!==r.OPERATOR_NAME})}),(0,b.jsx)(G,{label:"To",children:"ship"===c.kind?(0,b.jsx)(y.ShipName,{name:c.ship.name,shipId:c.ship.id,isSuffixShown:c.ship.name!==r.OPERATOR_NAME}):(0,b.jsxs)("span",{children:["Any ship of type ",(0,b.jsx)("span",{className:"font-mono text-id",children:c.type})]})}),(0,b.jsx)(G,{label:"Sent",children:(0,b.jsx)("time",{dateTime:a.sentAt,className:"tabular-nums",children:(0,q.fullDateTime)(new Date(a.sentAt))})}),null===a.model?null:(0,b.jsx)(G,{label:"Model",children:(0,b.jsx)("span",{className:"truncate font-mono text-id","data-testid":"message-model",children:a.model})}),a.inReplyTo?(0,b.jsx)(G,{label:"In reply to",children:(0,b.jsx)("span",{className:"truncate font-mono text-id",children:a.inReplyTo})}):null]})}function I({message:a}){let c=(0,p.payloadLabel)(a.payload,a.contentType),d=(0,p.formattedPayload)(a.payload,a.contentType),e=(0,b.jsx)(s.CodeBlock,{label:c,code:a.payload,isWrapped:!0,copyLabel:"Copy payload",codeTestId:"message-payload"});return void 0===d?(0,b.jsxs)("section",{"aria-label":"Payload",className:"flex flex-col gap-2",children:[(0,b.jsx)("h3",{className:F,children:"Payload"}),e]}):(0,b.jsx)("section",{"aria-label":"Payload",className:"flex flex-col gap-2",children:(0,b.jsxs)(f.Tabs,{defaultValue:"formatted",className:"gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("h3",{className:F,children:"Payload"}),(0,b.jsxs)(f.TabsList,{className:"max-sm:w-auto",children:[(0,b.jsx)(f.TabsTrigger,{value:"formatted",children:"Formatted"}),(0,b.jsx)(f.TabsTrigger,{value:"raw",children:"Raw"})]})]}),(0,b.jsx)(f.TabsContent,{value:"formatted",children:(0,b.jsx)(s.CodeBlock,{label:c,code:d,copyValue:a.payload,copyLabel:"Copy payload",codeTestId:"message-payload"})}),(0,b.jsx)(f.TabsContent,{value:"raw",children:e})]})})}function J({message:a}){return(0,b.jsxs)("section",{"aria-label":"Delivery",className:"flex flex-col gap-2 max-sm:order-first",children:[(0,b.jsx)("h3",{className:F,children:"Delivery"}),(0,b.jsx)("div",{className:"rounded-lg border border-border bg-card p-3",children:(0,b.jsx)(E,{entries:a.delivery.history,recipient:a.recipient})})]})}function K(){return(0,b.jsxs)("div",{"aria-busy":!0,className:"flex flex-col gap-4",children:[(0,b.jsx)("span",{className:"sr-only",children:"Loading the message"}),(0,b.jsx)(w.Skeleton,{className:"h-32 w-full rounded-lg"}),(0,b.jsx)(w.Skeleton,{className:"h-28 w-full rounded-lg"}),(0,b.jsx)(w.Skeleton,{className:"h-40 w-full rounded-lg"})]})}function L({message:a,messageId:c,state:d,isOpen:e,onOpenChange:f,onReply:g}){let h="ready"===d&&void 0!==a;return(0,b.jsx)(v.Sheet,{open:e,onOpenChange:f,children:(0,b.jsxs)(v.SheetContent,{side:"right","data-testid":"message-sheet",children:[(0,b.jsx)(v.SheetHeader,{children:h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(v.SheetTitle,{className:"flex min-w-0 items-baseline gap-1.5",children:[(0,b.jsx)("span",{children:"Message from"}),(0,b.jsx)(y.ShipName,{name:a.sender.name,shipId:a.sender.id,isSuffixShown:a.sender.name!==r.OPERATOR_NAME,className:"text-heading"})]}),(0,b.jsxs)(v.SheetDescription,{children:[(0,b.jsx)(z,{parts:"ship"===a.recipient.kind?[(0,r.text)("To "),(0,r.ship)(a.recipient.ship)]:[(0,r.text)(`To any ship of type ${a.recipient.type}`)]}),". ",(0,A.statusLabel)(a.delivery.state),"."]}),g&&a.sender.name!==r.OPERATOR_NAME?(0,b.jsx)("div",{children:(0,b.jsxs)(t.Button,{size:"xs",icon:(0,b.jsx)(o,{}),"data-testid":"message-reply",onClick:()=>{g(a)},children:["Reply to ",a.sender.name]})}):null]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(v.SheetTitle,{children:"Message"}),(0,b.jsx)(v.SheetDescription,{children:"not-found"===d?"Couldn’t open this message":"Loading"})]})}),(0,b.jsxs)(v.SheetBody,{className:"flex flex-col gap-5",children:["loading"===d?(0,b.jsx)(K,{}):null,"not-found"===d?(0,b.jsx)(x.EmptyState,{variant:"section",icon:(0,b.jsx)(m,{}),title:"Message not found",description:(0,b.jsxs)(b.Fragment,{children:["No message with this id exists in this fleet, or the link is incomplete.",c?(0,b.jsx)("span",{className:"mt-2 block font-mono text-id",children:c}):null]})}):null,h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(H,{message:a}),(0,b.jsx)(I,{message:a}),(0,b.jsx)(J,{message:a})]}):null]})]})})}let M={name:"arrow-down-left",size:24,node:[["path",{d:"M17 7 7 17",key:"15tmo1"}],["path",{d:"M17 17H7V7",key:"1org7z"}]]};M.node;let N=(0,k.default)(M),O={name:"arrow-up-right",size:24,node:[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]};O.node;let P=(0,k.default)(O),Q={name:"mail",size:24,node:[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]};Q.node;let R=(0,k.default)(Q);var S=a.i(48819),T=a.i(80487);function U(a,b){return RegExp(`"${b}"\\s*:\\s*"((?:[^"\\\\]|\\\\.)*)"`).exec(a)?.[1]}let V={"application/vnd.aeolus.squadron.check-in+json":()=>"Checked in at its flagship","application/vnd.aeolus.squadron.role+json":a=>{let b=U(a,"role");return void 0===b?"Given its role":`Given the role: ${b}`},"application/vnd.aeolus.squadron.on-station+json":a=>{let b=U(a,"role");return void 0===b?"Took up its role":`Took up the role: ${b}`},"application/vnd.aeolus.squadron.stand-down+json":()=>"Asked to stand down","application/vnd.aeolus.squadron.stood-down+json":()=>"Stood down"};function W(a,b){return a.sentAt.localeCompare(b.sentAt)||a.id.localeCompare(b.id)}var X=a.i(40392),Y=a.i(50808);function Z({message:a,shipId:c,now:d,onOpenMessage:e}){var f,g,h;let i,j,k=a.sender.id===c,l=new Date(a.sentAt),m=void 0!==(j=V[g=(f=a).contentType,g.split(";")[0]?.trim().toLowerCase()??""])?{text:j(f.preview),isCode:!1}:(0,p.isJson)(f.contentType)?{text:0===(i=function(a){let b,c=[],d=0,e=0;for(;e<a.length;){let f=a[e]??"";if('"'===f){let{value:f,end:g}=function(a,b){let c=b+1;for(;c<a.length&&'"'!==a[c];)c+="\\"===a[c]?2:1;return{value:a.slice(b+1,c),end:c+1}}(a,e);1===d&&void 0===b&&a.slice(g).trimStart().startsWith(":")?b=f:1===d&&void 0!==b&&g<=a.length&&'"'===a[g-1]&&(c.push([b,f]),b=void 0),e=g;continue}if("{"===f||"["===f)1===d&&void 0!==b&&(c.push([b,"…"]),b=void 0),d+=1;else if("}"===f||"]"===f)d-=1;else if(1===d&&void 0!==b&&/[-\dtfn]/.test(f)){let d=/^(-?\d[\d.eE+-]*|true|false|null)/.exec(a.slice(e))?.[1];if(void 0!==d){c.push([b,d]),b=void 0,e+=d.length;continue}}e+=1}return c}(h=f.preview)).length?h:i.map(([a,b])=>`${a} ${b}`).join(" · "),isCode:!0}:{text:f.preview,isCode:!1};return(0,b.jsx)("li",{className:"border-b border-border last:border-b-0",children:(0,b.jsxs)("button",{type:"button","data-testid":"message-row","data-message-id":a.id,"aria-label":`${k?"Sent":"Received"} message: ${m.text}`,className:"flex w-full items-start gap-3 px-3.5 py-3 text-left transition-colors duration-(--duration-fast) hover:bg-accent",onClick:()=>{e(a.id)},children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"mt-0.5 flex size-7 shrink-0 items-center justify-center rounded-md border border-tone-ended-border bg-tone-ended-bg text-tone-ended-fg [&_svg]:size-(--size-icon-sm)",children:(0,b.jsx)(k?P:N,{})}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,b.jsxs)("span",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsx)(z,{parts:k?"ship"===a.recipient.kind?[(0,r.text)("To "),(0,r.ship)(a.recipient.ship)]:[(0,r.text)(`To any ship of type ${a.recipient.type}`)]:[(0,r.text)("From "),(0,r.ship)(a.sender)],className:"text-body text-foreground max-sm:text-body-touch"}),(0,b.jsx)(A.StatusBadge,{status:a.delivery.state})]}),(0,b.jsx)("span",{"data-testid":"message-line",className:(0,T.classNames)("truncate text-muted-foreground",m.isCode?"font-mono text-id":"text-meta"),children:m.text}),(0,b.jsx)("time",{dateTime:a.sentAt,title:(0,q.fullDateTime)(l),className:"text-meta text-muted-foreground tabular-nums",children:(0,q.relativeTime)(l,d)})]})]})})}function $({shipId:a,messages:c,state:d,onRetry:e,now:f,onOpenMessage:g}){return"loading"===d?(0,b.jsx)(Y.LoadingSkeleton,{variant:"list",rows:3,label:"Loading the messages"}):"error"===d?(0,b.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-3",children:[(0,b.jsx)(X.InlineError,{title:"Couldn’t load the messages",description:"The rest of the page is current. Try again in a moment."}),e?(0,b.jsx)(t.Button,{size:"sm",icon:(0,b.jsx)(S.RotateCw,{"aria-hidden":!0}),onClick:e,className:"self-start",children:"Try again"}):null]}):0===c.length?(0,b.jsx)(x.EmptyState,{variant:"section",icon:(0,b.jsx)(R,{}),title:"No messages yet",description:"Messages this ship sends or receives appear here as they happen."}):(0,b.jsx)("div",{className:"flex flex-col gap-3",children:(function(a){let b=new Map(a.map(a=>[a.id,a])),c=new Map;for(let d of a){let a=function(a,b){let c=new Set([a.id]),d=a,e=null===d.inReplyTo?void 0:b.get(d.inReplyTo);for(;e&&!c.has(e.id);)c.add(e.id),e=null===(d=e).inReplyTo?void 0:b.get(d.inReplyTo);return d}(d,b);c.set(a.id,[...c.get(a.id)??[],d])}return[...c.entries()].map(([a,b])=>{let c=b.toSorted(W);return{id:a,messages:c,lastSentAt:c.at(-1)?.sentAt??""}}).toSorted((a,b)=>b.lastSentAt.localeCompare(a.lastSentAt)||b.id.localeCompare(a.id))})(c).map(c=>(0,b.jsx)("section",{"data-testid":"message-thread","aria-label":`Thread of ${String(c.messages.length)} ${1===c.messages.length?"message":"messages"}`,className:"overflow-hidden rounded-lg border border-border bg-card",children:(0,b.jsx)("ol",{children:c.messages.map(c=>(0,b.jsx)(Z,{message:c,shipId:a,now:f,onOpenMessage:g},c.id))})},c.id))})}var _=a.i(38246),aa=a.i(12540),ab=a.i(8219),ac=a.i(75971);function ad({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-1 bg-card px-3.5 py-3",children:[(0,b.jsx)("dt",{className:"text-meta text-muted-foreground",children:a}),(0,b.jsx)("dd",{className:"flex min-w-0 flex-wrap items-center gap-1.5 text-body text-foreground",children:c})]})}function ae({shipId:a,now:c}){let d=(0,aa.useSquadrons)(),e=(0,aa.useCatalogue)(),f=d.data?.find(b=>b.flagship.shipId===a||b.members.some(b=>b.shipId===a));if(!f)return null;let g=(0,b.jsx)(_.default,{href:`/squadrons/${f.id}`,className:"font-mono hover:underline","data-testid":"ship-squadron-link",children:f.id});if(f.flagship.shipId===a)return(0,b.jsxs)("div",{role:"note","data-testid":"ship-flagship-note",className:"flex flex-wrap items-center gap-3 rounded-lg border border-border bg-muted px-3.5 py-3 text-meta text-foreground",children:[(0,b.jsxs)("span",{className:"grow",children:["Flagship of squadron ",g,": the address for work sent to the team. The squadron manager crews it, so it can’t be released, renamed or retired; it retires when the squadron disbands."]}),(0,b.jsx)(t.Button,{size:"xs",nativeButton:!1,render:(0,b.jsx)(_.default,{href:`/squadrons/${f.id}`}),"data-testid":"ship-open-squadron",children:"Open squadron"})]});let h=f.members.find(b=>b.shipId===a);if(!h)return null;let i=e.data?.blueprints.find(a=>a.repository===f.blueprint.repository&&a.name===f.blueprint.name&&a.version===f.blueprint.version),j=i?.roles.find(a=>a.name===h.role)?.template,k=null===h.crew.lastSeenAt?void 0:(0,q.duration)(new Date(h.crew.lastSeenAt),c);return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:["silent"===h.health&&"disbanded"!==f.state&&(0,b.jsxs)("div",{role:"alert","data-testid":"ship-silent-alert",className:"rounded-lg border border-tone-attention-border bg-tone-attention-bg px-3.5 py-3 text-meta text-foreground",children:[(0,b.jsx)("strong",{className:"font-semibold text-tone-attention-fg",children:void 0===k?"Silent.":`Silent: not seen for ${k}.`})," It checks in"," ",(0,ab.checkInText)(h.checkInMinutes),", so its session has probably stopped. Get a new crew line and start a new session; the old crew line then stops working."]}),(0,b.jsxs)("dl",{"data-testid":"ship-squadron-facts",className:"grid grid-cols-4 gap-px overflow-hidden rounded-lg border border-border bg-border max-sm:grid-cols-2",children:[(0,b.jsxs)(ad,{label:"Squadron",children:[g,(0,b.jsx)(A.StatusBadge,{status:f.state})]}),(0,b.jsxs)(ad,{label:"Role and template",children:[(0,b.jsx)("span",{className:"rounded-sm bg-secondary px-1.5 font-mono text-id",children:h.role}),j&&(0,b.jsxs)(_.default,{href:(0,ab.templatePath)(j),className:"font-mono text-meta hover:underline",children:[j.name,"@",j.version]})]}),(0,b.jsx)(ad,{label:"Health",children:(0,b.jsx)(ac.HealthIndicator,{health:h.health,detail:"silent"===h.health||"late"===h.health?k:void 0})}),(0,b.jsx)(ad,{label:"Hand-offs",children:i?(0,b.jsx)("span",{className:"text-meta",children:(0,ab.handoffsText)((0,ab.handoffsOf)(i,h.role))}):(0,b.jsx)(_.default,{href:(0,ab.blueprintPath)(f.blueprint),className:"text-meta text-muted-foreground hover:underline",children:"See its blueprint"})})]})]})}var af=a.i(73202),ag=a.i(97011),ah=a.i(79762),ai=a.i(93817),aj=a.i(52357),ak=a.i(26766),al=a.i(87005),am=a.i(40108),an=a.i(67042);function ao({harness:a,model:c,testId:d}){return null===a&&null===c?null:(0,b.jsxs)("span",{"data-testid":d,className:"flex min-w-0 flex-wrap items-center gap-x-1 text-meta text-muted-foreground",children:[null===a?null:(0,b.jsx)("span",{children:(0,an.harnessWord)(a)}),null!==a&&null!==c?(0,b.jsx)("span",{"aria-hidden":!0,children:"·"}):null,null===c?null:(0,b.jsx)("span",{className:"truncate font-mono text-id",children:c})]})}var ap=a.i(26955);function aq({ping:a,now:c,testId:d}){return null===a?null:(0,b.jsx)("span",{title:`Pinged ${(0,q.fullDateTime)(new Date(a.sentAt))}`,"data-testid":d,"data-state":a.state,className:"text-meta text-muted-foreground tabular-nums",children:(0,ap.pingLine)(a,c)})}var ar=a.i(41146),as=a.i(45185);function at({details:a,version:c,testId:d}){return(0,b.jsxs)("details",{"data-testid":d,className:"group rounded-lg border border-border bg-card",children:[(0,b.jsxs)("summary",{className:"flex cursor-pointer list-none items-center gap-1.5 px-3.5 py-2.5 text-meta text-muted-foreground [&::-webkit-details-marker]:hidden",children:[(0,b.jsx)(ar.ChevronRight,{"aria-hidden":!0,className:"size-(--size-icon-sm) shrink-0 transition-transform group-open:rotate-90"}),(0,b.jsx)("span",{className:"font-medium text-foreground",children:"Report details"}),(0,b.jsxs)("span",{className:"tabular-nums",children:["· version ",c]})]}),(0,b.jsx)("div",{className:"px-3.5 pb-3.5",children:(0,b.jsx)(s.CodeBlock,{label:(0,as.reportDetailsLabel)(a),code:(0,as.reportDetailsJson)(a),copyLabel:"Copy report details",codeTestId:`${d}-code`})})]})}var au=a.i(92717);function av({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-1 bg-card px-3.5 py-3",children:[(0,b.jsx)("dt",{className:"text-meta text-muted-foreground",children:a}),(0,b.jsx)("dd",{className:"flex min-w-0 items-center gap-1.5 text-body text-foreground",children:c})]})}function aw({ship:a,now:c}){let d,e="operator"===a.kind,f=null===a.crewedSince?null:new Date(a.crewedSince),g=new Date(a.commissionedAt);return(0,b.jsxs)("dl",{className:"grid grid-cols-4 gap-px overflow-hidden rounded-lg border border-border bg-border max-sm:grid-cols-2",children:[(0,b.jsx)(av,{label:"Location",children:(0,b.jsxs)("span",{className:"inline-flex min-w-0 flex-col gap-0.5",children:[(0,b.jsx)(am.LocationTag,{kind:a.location?.kind??null,description:a.location?.description,size:"md"}),(0,b.jsx)(ao,{harness:a.harness,model:a.model?.id??null,testId:"ship-model"}),null===a.lastSeenAt?null:(0,b.jsx)("time",{dateTime:a.lastSeenAt,title:(0,q.fullDateTime)(new Date(a.lastSeenAt)),"data-testid":"ship-last-seen",className:"text-meta text-muted-foreground tabular-nums",children:(0,q.lastSeen)(new Date(a.lastSeenAt),c)}),(0,b.jsx)(aq,{ping:a.ping,now:c,testId:"ship-ping-status"}),"agent"!==a.kind?null:(0,b.jsx)(au.ReportLine,{report:a.report,now:c,variant:"full",testId:"ship-report"})]})}),(0,b.jsx)(av,{label:"Crewed since",children:f?(0,b.jsx)("time",{dateTime:a.crewedSince??void 0,title:(0,q.fullDateTime)(f),className:"tabular-nums",children:(d=c.getTime()-f.getTime()<864e5?(0,q.clockTime)(f):(0,q.shortDateTime)(f),`${d} \xb7 ${(0,q.duration)(f,c)}`)}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"Not crewed"})}),(0,b.jsx)(av,{label:"Commissioned",children:(0,b.jsx)("time",{dateTime:a.commissionedAt,title:(0,q.fullDateTime)(g),children:e?`Fleet created ${(0,q.dayDate)(g)}`:(0,q.dayDate)(g)})}),(0,b.jsxs)(av,{label:"Ship id",children:[(0,b.jsx)("span",{className:"truncate font-mono text-id",children:a.id}),(0,b.jsx)(u.CopyButton,{value:a.id,label:"Copy ship id"})]})]})}function ax({icon:a,children:c}){return(0,b.jsxs)("p",{className:"flex items-center gap-2 rounded-lg border border-border bg-muted px-3.5 py-2.5 text-meta text-muted-foreground [&_svg]:size-(--size-icon-sm) [&_svg]:shrink-0",children:[a,(0,b.jsx)("span",{children:c})]})}function ay({ship:a,shipId:c,state:d,actions:e,now:f,backHref:g="/"}){if("loading"===d||"ready"===d&&void 0===a)return(0,b.jsxs)("div",{"aria-busy":!0,"data-testid":"ship-header",className:"flex flex-col gap-4",children:[(0,b.jsx)("span",{className:"sr-only",children:"Loading the ship"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(w.Skeleton,{className:"h-8 w-40"}),(0,b.jsx)(w.Skeleton,{className:"h-6 w-20"}),(0,b.jsx)(w.Skeleton,{className:"h-6 w-16"})]}),(0,b.jsx)(w.Skeleton,{className:"h-16 w-full rounded-lg"})]});if("not-found"===d||void 0===a)return(0,b.jsx)("div",{"data-testid":"ship-header",children:(0,b.jsx)(x.EmptyState,{variant:"section",icon:(0,b.jsx)(ai.CircleAlert,{}),title:"Ship not found",description:(0,b.jsxs)(b.Fragment,{children:["No ship with the id ",c?(0,b.jsx)("span",{className:"font-mono text-id",children:c}):"given"," exists in this fleet. The link may be incomplete. Retired ships keep their page."]}),action:(0,b.jsx)(t.Button,{size:"sm",nativeButton:!1,render:({children:a,...c})=>(0,b.jsx)(_.default,{href:g,...c,children:a}),children:"Back to fleet overview"})})});let h="operator"===a.kind,i="retired"===a.status;return(0,b.jsxs)("div",{"data-testid":"ship-header",className:"flex flex-col gap-4 max-sm:gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2.5 max-sm:flex-col max-sm:items-start max-sm:gap-1.5",children:[(0,b.jsx)("h1",{className:"min-w-0",children:(0,b.jsx)(y.ShipName,{name:a.name,shipId:a.id,size:"title",isSuffixShown:i})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(A.StatusBadge,{status:a.status}),h?(0,b.jsxs)(D.Badge,{variant:"kind",children:[(0,b.jsx)(al.UserRound,{"aria-hidden":!0}),"operator"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(D.Badge,{variant:"type",children:a.type}),a.scopes.filter(a=>ag.FLEET_SCOPES.some(b=>b===a)).map(a=>(0,b.jsx)(D.Badge,{variant:"kind","data-testid":"ship-fleet-scope",children:a},a))]}),"awaitingCrew"===a.status&&null===a.startingPrompt?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-meta text-muted-foreground [&_svg]:size-(--size-icon-sm)",children:[(0,b.jsx)(ak.KeyRound,{"aria-hidden":!0}),"No starting prompt issued"]}):null]})]}),e&&!i?(0,b.jsx)("div",{className:(0,T.classNames)("flex flex-wrap items-center gap-2","max-sm:w-full max-sm:[&>*]:flex-1"),children:e}):null]}),h?(0,b.jsx)(ax,{icon:(0,b.jsx)(aj.Info,{"aria-hidden":!0}),children:"argo is your ship. This console session crews it. It can’t be released, renamed or retired."}):null,i&&null!==a.retiredAt?(0,b.jsxs)(ax,{icon:(0,b.jsx)(ah.Archive,{"aria-hidden":!0}),children:["Retired on ",(0,q.fullDateTime)(new Date(a.retiredAt)),". Read-only."]}):null,(0,b.jsx)(aw,{ship:a,now:f}),"agent"===a.kind&&a.report?.details?(0,b.jsx)(at,{details:a.report.details,version:a.report.detailsVersion,testId:"ship-report-details"}):null]})}var az=a.i(59027),aA=a.i(25039);let aB={name:"lock-keyhole",size:24,node:[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]};aB.node;let aC=(0,k.default)(aB),aD={name:"log-in",size:24,node:[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]]};aD.node;let aE=(0,k.default)(aD);var aF=a.i(57230);let aG={name:"mail-check",size:24,node:[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"12jkf8"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]};aG.node;let aH=(0,k.default)(aG),aI={name:"mail-minus",size:24,node:[["path",{d:"M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"fuxbkv"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M16 19h6",key:"xwg31i"}]]};aI.node;let aJ=(0,k.default)(aI),aK={name:"mail-x",size:24,node:[["path",{d:"M22 12.532V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8.792",key:"8lpqwp"}],["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["path",{d:"m16.5 16.5 5 5",key:"zc9lw7"}],["path",{d:"m21.5 16.5-5 5",key:"1empo3"}]]};aK.node;let aL=(0,k.default)(aK),aM={name:"message-square-text",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]};aM.node;let aN=(0,k.default)(aM),aO={name:"package-x",size:24,node:[["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m16.5 14.5 5 5",key:"ozpm51"}],["path",{d:"m16.5 19.5 5-5",key:"syf6b9"}],["path",{d:"M21 10.5V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.13-.074",key:"isw6gs"}],["path",{d:"M3.29 7 12 12l8.71-5",key:"19ckod"}],["path",{d:"m7.5 4.27 8.997 5.148",key:"9yrvtv"}]]};aO.node;let aP=(0,k.default)(aO),aQ={name:"pen-line",size:24,node:[["path",{d:"M13 21h8",key:"1jsn5i"}],["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"}]],aliases:["edit-3"]};aQ.node;let aR=(0,k.default)(aQ),aS={name:"shield-alert",size:24,node:[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]};aS.node;let aT=(0,k.default)(aS);var aU=a.i(23422),aV=a.i(98959),aW=a.i(90407);function aX(a,b){let c=a.details[b];return"string"==typeof c?c:void 0}function aY(a){return a?[(0,r.text)(" by "),(0,r.ship)(a)]:[]}let aZ={deregistered:"Its session deregistered.",takenOver:"Taken over by a new console session.",signedOut:"The operator signed out.",passwordReset:"Its session ended with the operator password reset.",retired:"Its session ended: the ship was retired."};function a$(a){return null!==a.message&&(0,aV.isPingContentType)(a.message.contentType)}function a_(a){return a.message?[(0,r.text)(a$(a)?"a ping from ":"a message from "),(0,r.ship)(a.message.sender)]:[(0,r.text)("a message")]}function a0(a){let[b,...c]=a_(a);return b?.kind==="text"?[(0,r.text)((0,r.capitalised)(b.text)),...c]:a_(a)}function a1(a,b){let{shipId:c,verb:d}=b,e=a.actor;return[...null===e||e.id===c?[(0,r.text)((0,r.capitalised)(d))]:[(0,r.ship)(e),(0,r.text)(` ${d}`)],(0,r.text)(" "),...a_(a)]}let a2={received:N,sent:P,claimed:aE,released:aF.LogOut,prompt:ak.KeyRound,commissioned:aA.Flag,acknowledged:aH,returned:aU.Undo2,undeliverable:aL,secret:aC,fleet:az.Anchor,password:aT,retired:ah.Archive,abandoned:aP,dismissed:aJ,renamed:aR,reported:aN},a3={waiting:"border-tone-waiting-border bg-tone-waiting-bg text-tone-waiting-fg",active:"border-tone-active-border bg-tone-active-bg text-tone-active-fg",ok:"border-tone-ok-border bg-tone-ok-bg text-tone-ok-fg",attention:"border-tone-attention-border bg-tone-attention-bg text-tone-attention-fg",ended:"border-tone-ended-border bg-tone-ended-bg text-tone-ended-fg"},a4="flex w-full gap-3 px-3.5 py-3 text-left";function a5({entry:a,shipId:c,now:d,onOpenMessage:e}){let{parts:f,tone:g,icon:h}=function(a,b){switch(a.type){case"FleetInitialised":return{parts:[(0,r.text)("Fleet initialised")],tone:"ended",icon:"fleet"};case"ShipCommissioned":{let b=aX(a,"type");return{parts:[(0,r.text)("Commissioned"),...aY(a.actor),...void 0===b?[]:[(0,r.text)(` as ${b}`)]],tone:"ended",icon:"commissioned"}}case"StartingPromptIssued":return{parts:[(0,r.text)("Starting prompt issued")],tone:"ended",icon:"prompt"};case"ShipClaimed":return{parts:[(0,r.text)(`Claimed by a session on ${function(a){let b=aX(a,"locationDescription");if(void 0!==b&&""!==b)return b;let c=aX(a,"location");return"DEVICE"===c||"CLOUD"===c||"SERVER"===c||"OTHER"===c?(0,B.locationKindWord)(c):"an unknown location"}(a)}`)],tone:"ok",icon:"claimed"};case"LeaseRevoked":let c,d;return{parts:[..."released"===(c=aX(a,"reason")??"")?[(0,r.text)("Released"),...aY(a.actor),(0,r.text)(".")]:[(0,r.text)(aZ[c]??"Its session ended.")],..."number"==typeof(d=a.details.returnedDeliveries)&&d>0?[(0,r.text)(` ${(0,r.counted)(d,{one:"in-flight delivery",many:"in-flight deliveries"})} went back to pending.`)]:[]],tone:"waiting",icon:"released"};case"CredentialRevoked":return{parts:[(0,r.text)("Secret invalidated")],tone:"ended",icon:"secret"};case"OperatorPasswordReset":return{parts:[(0,r.text)("Operator password reset")],tone:"waiting",icon:"password"};case"FleetLimitsChanged":return{parts:[(0,r.text)("Fleet limits changed")],tone:"ended",icon:"fleet"};case"SignInTicketIssued":return{parts:[(0,r.text)("Sign-in ticket issued")],tone:"ended",icon:"password"};case"ViewerSessionStarted":return{parts:[(0,r.text)("Someone started viewing the fleet")],tone:"ended",icon:"password"};case"CrewRequested":return{parts:[(0,r.text)("Crew requested"),...aY(a.actor)],tone:"waiting",icon:"claimed"};case"CrewRequestRemoved":return{parts:[(0,r.text)("Crew request removed"),...aY(a.actor)],tone:"ended",icon:"released"};case"CrewRequestExplained":{let b=aX(a,"reason");return{parts:[(0,r.text)(void 0===b?"Crew request can not be placed yet":`Crew request can not be placed: ${b}`),...aY(a.actor)],tone:"waiting",icon:"reported"}}case"CrewAssigned":return{parts:[(0,r.text)("Crew request assigned"),...aY(a.actor)],tone:"waiting",icon:"claimed"};case"CrewStatusChanged":{let b=aX(a,"status");return{parts:[(0,r.text)(void 0===b?"Crew status changed":`Crew ${b}`),...aY(a.actor)],tone:"crashed"===b?"attention":"active",icon:"reported"}}case"MessageAccepted":let e;return{parts:(e=a.message)?a$(a)&&"ship"===e.recipient.kind?e.sender.id===b?[(0,r.text)("Pinged "),(0,r.ship)(e.recipient.ship)]:[(0,r.text)("Pinged by "),(0,r.ship)(e.sender)]:e.sender.id===b?"ship"===e.recipient.kind?[(0,r.text)("Sent a message to "),(0,r.ship)(e.recipient.ship)]:[(0,r.text)(`Sent a message to any ship of type ${e.recipient.type}`)]:[(0,r.text)("Received a message from "),(0,r.ship)(e.sender)]:[(0,r.text)("A message was sent")],tone:"ended",icon:a.message?.sender.id===b?"sent":"received"};case"DeliveryClaimed":return{parts:a1(a,{shipId:b,verb:"took"}),tone:"active",icon:"received"};case"DeliveryAcknowledged":return{parts:"pong"===aX(a,"answer")?[...a1(a,{shipId:b,verb:"answered"}),(0,r.text)(" with pong")]:a1(a,{shipId:b,verb:"acknowledged"}),tone:"ok",icon:"acknowledged"};case"DeliveryReturned":return{parts:[...a0(a),(0,r.text)(" went back to pending")],tone:"waiting",icon:"returned"};case"DeliveryUndeliverable":return{parts:[...a0(a),(0,r.text)(" became undeliverable")],tone:"attention",icon:"undeliverable"};case"ShipRetired":{let b=a.details.abandonedDeliveries;return{parts:[(0,r.text)("Retired"),...aY(a.actor),(0,r.text)("."),..."number"==typeof b&&b>0?[(0,r.text)(` ${(0,r.counted)(b,{one:"delivery",many:"deliveries"})} abandoned.`)]:[]],tone:"ended",icon:"retired"}}case"DeliveryAbandoned":return{parts:[...a0(a),(0,r.text)(" was abandoned")],tone:"ended",icon:"abandoned"};case"ShipReported":{let b=aX(a,"state")??"in",c=aX(a,"note");return{parts:[(0,r.text)(void 0===c?`Reported ${b}`:`Reported ${b}: ${c}`)],tone:aW.REPORT_STATES.some(a=>a===b)?as.REPORT_TONES[b]:"ended",icon:"reported"}}case"ShipRenamed":{let b=aX(a,"from"),c=aX(a,"to");return{parts:[(0,r.text)(void 0===b||void 0===c?"Renamed":`Renamed from ${b} to ${c}`),...aY(a.actor)],tone:"ended",icon:"renamed"}}case"DeliveryDismissed":return{parts:[...a0(a),(0,r.text)(" was dismissed"),...aY(a.actor)],tone:"ended",icon:"dismissed"}}}(a,c),i=a2[h],j=new Date(a.occurredAt),k=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{"aria-hidden":!0,className:(0,T.classNames)("flex size-7 shrink-0 items-center justify-center rounded-md border [&_svg]:size-(--size-icon-sm)",a3[g]),children:(0,b.jsx)(i,{})}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-col gap-1",children:[(0,b.jsx)(z,{parts:f,className:"text-body text-foreground max-sm:text-body-touch"}),(0,b.jsx)("time",{dateTime:a.occurredAt,title:(0,q.fullDateTime)(j),className:"text-meta text-muted-foreground tabular-nums",children:(0,q.relativeTime)(j,d)})]})]}),{message:l}=a;return(0,b.jsx)("li",{"data-testid":"ship-timeline-entry","data-type":a.type,className:"border-b border-border last:border-b-0",children:l?(0,b.jsx)("button",{type:"button",className:(0,T.classNames)(a4,"transition-colors duration-(--duration-fast) hover:bg-accent"),onClick:()=>{e(l.id)},children:k}):(0,b.jsx)("div",{className:a4,children:k})})}function a6({shipId:a,entries:c,state:d,onRetry:e,now:f,onOpenMessage:g}){return"loading"===d?(0,b.jsx)(Y.LoadingSkeleton,{variant:"list",rows:4,label:"Loading the timeline"}):"error"===d?(0,b.jsxs)("div",{"data-testid":"ship-timeline",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-3",children:[(0,b.jsx)(X.InlineError,{title:"Couldn’t load the timeline",description:"The rest of the page is current. Try again in a moment."}),e?(0,b.jsx)(t.Button,{size:"sm",icon:(0,b.jsx)(S.RotateCw,{"aria-hidden":!0}),onClick:e,className:"self-start",children:"Try again"}):null]}):(0,b.jsxs)("div",{"data-testid":"ship-timeline",className:"overflow-hidden rounded-lg border border-border bg-card",children:[(0,b.jsx)("ol",{"aria-label":"Timeline",children:c.map(c=>(0,b.jsx)(a5,{entry:c,shipId:a,now:f,onOpenMessage:g},c.id))}),c.length<=1?(0,b.jsx)("p",{className:"border-t border-border px-3.5 py-3 text-center text-meta text-muted-foreground first:border-t-0",children:"Nothing else yet. Claims, releases and messages appear here as they happen."}):null]})}var a7=a.i(26110),a8=a.i(65563),a9=a.i(91154),ba=a.i(26949),bb=a.i(67336),bc=a.i(10023),bd=a.i(68450),be=a.i(94764),bf=a.i(10572),bg=a.i(99929),bh=a.i(54763);let bi="timeline",bj="messages";function bk(a){return Array.isArray(a)?a[0]:a}function bl({shipId:a,searchParams:k}){let l=(0,d.useRouter)(),m=(0,bd.useNow)(),n=bk(k.tab)===bj?bj:bi,o=(0,c.idSchema)("message").safeParse(bk(k.message)),p=o.success?o.data:void 0,q=(0,bg.useShip)(a),r=(0,bg.useShipTimeline)(a),s=(0,bg.useShipMessages)(a),t=(0,bg.useMessage)(p),u=(0,bb.useLiveFleet)(),v=(0,be.useAccountMenu)(m),w=(0,bh.useHasSquadrons)(),x=(0,aa.useSquadrons)(),y=(0,ba.useOpenInboxCount)(),z=(0,a8.useAccess)(),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(),G=(0,bc.useAttentionCount)();(0,bf.useSignInWhenSessionEnds)([q.error,r.error,s.error,t.error,u.error]);let H=b=>{let c,d;l.replace((c=new URLSearchParams,b.tab!==bi&&c.set("tab",b.tab),void 0!==b.messageId&&c.set("message",b.messageId),""===(d=c.toString())?`/ships/${a}`:`/ships/${a}?${d}`),{scroll:!1})},I=a=>{H({tab:n,messageId:a})},J="NOT_FOUND"===(0,a9.trpcErrorCode)(q.error),K=(0,ab.shipsInSquadrons)(x.data??[]).get(a);return(0,b.jsx)(a7.DetailLayout,{title:q.data?.name??"Ship",parents:K?[{href:"/squadrons",label:"Squadrons"},{href:`/squadrons/${K.squadronId}`,label:K.squadronId}]:[{href:"/",label:"Fleet overview"}],live:u.live,nav:{active:"overview",inboxCount:y,attentionCount:G,hasSquadrons:w,hasSettings:w&&z.canManage},onCompose:z.canSend?()=>{B(!0)}:void 0,onSearch:()=>{D(!0)},account:v,banner:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(j.ConsoleNotices,{}),(0,b.jsx)(i.ConsoleGuide,{})]}),header:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ay,{ship:q.data,shipId:a,state:J?"not-found":q.data?"ready":"loading",now:m,actions:q.data?(0,b.jsx)(af.ShipActions,{ship:q.data}):void 0}),J?null:(0,b.jsx)(ae,{shipId:a,now:m})]}),sheet:(0,b.jsx)(L,{message:t.data,messageId:p,state:"NOT_FOUND"===(0,a9.trpcErrorCode)(t.error)?"not-found":t.data?"ready":"loading",isOpen:void 0!==p,onOpenChange:a=>{a||H({tab:n})},onReply:z.canSend?a=>{F({messageId:a.id,sender:a.sender})}:void 0}),children:(0,b.jsxs)(b.Fragment,{children:[J?null:(0,b.jsxs)(f.Tabs,{value:n,onValueChange:a=>{H({tab:a===bj?bj:bi,messageId:p})},children:[(0,b.jsxs)(f.TabsList,{variant:"line","aria-label":`${q.data?.name??"Ship"} history`,children:[(0,b.jsx)(f.TabsTrigger,{variant:"line",value:bi,children:"Timeline"}),(0,b.jsx)(f.TabsTrigger,{variant:"line",value:bj,children:"Messages"})]}),(0,b.jsx)(f.TabsContent,{value:bi,className:"pt-4",children:(0,b.jsx)(a6,{shipId:a,entries:r.data??[],state:r.isError?"error":r.data?"ready":"loading",onRetry:()=>{r.refetch()},now:m,onOpenMessage:I})}),(0,b.jsx)(f.TabsContent,{value:bj,className:"pt-4",children:(0,b.jsx)($,{shipId:a,messages:s.data??[],state:s.isError?"error":s.data?"ready":"loading",onRetry:()=>{s.refetch()},now:m,onOpenMessage:I})})]}),(0,b.jsx)(g.ComposeMessage,{isOpen:A,onOpenChange:B}),(0,b.jsx)(g.ComposeMessage,{isOpen:void 0!==E,onOpenChange:a=>{a||F(void 0)},replyTo:E}),(0,b.jsx)(h.ConsoleCommands,{isOpen:C,onOpenChange:D,onCompose:()=>{B(!0)}})]})})}a.s(["default",0,function({params:a,searchParams:d}){let f=(0,c.idSchema)("ship").safeParse((0,e.use)(a).shipId),g=(0,e.use)(d),h=f.success?f.data:(0,c.idSchema)("ship").parse(`shp_${"0".repeat(26)}`);return(0,b.jsx)(bl,{shipId:h,searchParams:g})}],830)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=packages_console_app_ships_%5BshipId%5D_page_tsx_0fudjay._.js.map
|
package/.next/server/chunks/ssr/packages_console_app_squadrons_[squadronId]_page_tsx_1umxs1g._.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[9107,a=>{"use strict";var b=a.i(87924);a.i(23600);var c=a.i(2811),d=a.i(50944),e=a.i(72131),f=a.i(15439),g=a.i(2549),h=a.i(83786),i=a.i(68698),j=a.i(90487),k=a.i(41146),l=a.i(78958),m=a.i(38246),n=a.i(72872),o=a.i(24173),p=a.i(40392),q=a.i(50808);function r({messages:a,state:c,error:d,onRetry:e,flagshipId:f,now:g}){return(0,b.jsxs)("section",{"aria-labelledby":"kept-messages","data-testid":"kept-messages",className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h2",{id:"kept-messages",className:"text-body font-semibold",children:"Messages the flagship kept"}),(0,b.jsx)("p",{className:"text-meta text-muted-foreground",children:"Messages to the flagship it does not handle: kept here, never forwarded."})]}),"loading"===c?(0,b.jsx)(q.LoadingSkeleton,{variant:"list",rows:2,label:"Loading the kept messages"}):"error"===c?(0,b.jsx)(p.InlineError,{title:"Couldn’t load the kept messages",description:"The rest of the page is current. Try again in a moment.",detail:d,onRetry:e}):0===a.length?(0,b.jsx)(o.EmptyState,{variant:"section",icon:(0,b.jsx)(l.Inbox,{"aria-hidden":!0}),title:"No kept messages",description:"Every message to the flagship was the squadron's own."}):(0,b.jsx)("ul",{className:"divide-y divide-border overflow-hidden rounded-lg border border-border",children:a.map(a=>(0,b.jsx)("li",{"data-testid":"kept-message",children:(0,b.jsxs)(m.default,{href:`/ships/${f}?tab=messages&message=${a.messageId}`,className:"flex items-center gap-3 px-3 py-2.5 hover:bg-accent",children:[(0,b.jsxs)("span",{className:"flex min-w-0 grow flex-col gap-0.5",children:[(0,b.jsxs)("span",{className:"flex flex-wrap items-center gap-x-2 text-meta",children:[(0,b.jsx)("span",{className:"font-medium text-foreground",children:a.senderName}),(0,b.jsx)("span",{className:"font-mono text-muted-foreground",children:a.contentType}),(0,b.jsx)("time",{dateTime:a.receivedAt,className:"text-muted-foreground",children:(0,n.relativeTime)(new Date(a.receivedAt),g)})]}),(0,b.jsx)("span",{className:"truncate text-body",children:a.payload.split("\n")[0]??""})]}),(0,b.jsx)(k.ChevronRight,{"aria-hidden":!0,className:"size-(--size-icon) shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"sr-only",children:"Open the message"})]})},a.deliveryId))})]})}var s=a.i(79762),t=a.i(70840),u=a.i(19459),v=a.i(26268),w=a.i(46444),x=a.i(59613),y=a.i(12068),z=a.i(2374),A=a.i(71673),B=a.i(65698);function C(a){return`${String(a)} ${1===a?"delivery":"deliveries"}`}function D(a){let{squadronId:c,memberCount:d,openDeliveries:f,inFlightDeliveries:g,isForced:h=!1,isPending:i,error:j,onConfirm:k}=a,[l,m]=(0,e.useState)(""),n=h&&f>0,o=!n||(0,w.isTypedMatch)(c,l),q=void 0===j?null:(0,b.jsx)(p.InlineError,{title:"Couldn’t stand down the squadron",description:`${j} Nothing changed; the squadron still sails.`});return h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.AlertDialogHeader,{children:[(0,b.jsxs)(x.AlertDialogTitle,{children:["Force stand down ",c,"?"]}),(0,b.jsx)(x.AlertDialogDescription,{children:"The squadron disbands right away. This can't be undone."})]}),f>0?(0,b.jsxs)("div",{role:"alert",className:"flex gap-2 rounded-lg border border-tone-attention-border bg-tone-attention-bg p-3 text-meta text-tone-attention-fg",children:[(0,b.jsx)(v.TriangleAlert,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0"}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsxs)("p",{className:"font-medium",children:[C(f)," will be abandoned"]}),(0,b.jsxs)("p",{className:"text-foreground",children:["Members and the flagship retire now, without finishing. ",f-g," pending, ",g," in flight."]})]})]}):(0,b.jsx)(A.ConsequenceList,{consequences:[{icon:s.Archive,text:"Every member ship and the flagship retire now and the squadron is disbanded. No open work is lost."}]}),n?(0,b.jsx)(B.TypedConfirm,{expected:c,value:l,onValueChange:m}):null,q,(0,b.jsxs)(x.AlertDialogFooter,{children:[(0,b.jsx)(x.AlertDialogClose,{render:(0,b.jsx)(y.Button,{disabled:i}),children:"Cancel"}),(0,b.jsx)(y.Button,{variant:"destructive",isLoading:i,disabled:!o,onClick:k,"data-testid":"force-stand-down-confirm",children:f>0?`Stand down now and abandon ${C(f)}`:"Force stand down"})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.AlertDialogHeader,{children:[(0,b.jsxs)(x.AlertDialogTitle,{children:["Stand down ",c,"?"]}),(0,b.jsxs)(x.AlertDialogDescription,{children:["Its ",d," ",1===d?"member winds":"members wind"," down on their own. This can't be undone."]})]}),(0,b.jsx)(A.ConsequenceList,{consequences:[{icon:t.Ban,text:"No new work reaches its members; hand-offs stop."},{icon:u.Hourglass,text:`Members finish their open work: ${C(f)}.`},{icon:s.Archive,text:"Then each member ship and the flagship retire and the squadron is disbanded. History stays read-only."}]}),q,(0,b.jsxs)(x.AlertDialogFooter,{children:[(0,b.jsx)(x.AlertDialogClose,{render:(0,b.jsx)(y.Button,{disabled:i}),children:"Cancel"}),(0,b.jsx)(y.Button,{variant:"destructive",isLoading:i,onClick:k,"data-testid":"stand-down-confirm",children:i?"Standing down":"Stand down squadron"})]})]})}function E(a){let{isOpen:c,onOpenChange:d,isPending:e,isForced:f=!1}=a;return(0,b.jsx)(x.AlertDialog,{open:c,onOpenChange:a=>{e||d(a)},children:(0,b.jsx)(x.AlertDialogContent,{"data-testid":f?"force-stand-down-dialog":"stand-down-dialog",className:z.dialogSurface.phoneSheet,children:(0,b.jsx)(D,{...a})})})}var F=a.i(73594),G=a.i(8219),H=a.i(18441);function I({squadronId:a,blueprint:c,roles:d,isPending:f,error:g,onSubmit:h}){let[i,j]=(0,e.useState)(d[0]?.role),k=d.find(a=>a.role===i)??d[0];return k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(H.DialogHeader,{children:[(0,b.jsxs)(H.DialogTitle,{children:["Add a member to ",a]}),(0,b.jsx)(H.DialogDescription,{children:"Roles come from its blueprint. Next you get the new member's crew lines."})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-meta font-medium",children:"Role"}),(0,b.jsx)("div",{role:"radiogroup","aria-label":"Role",className:"flex flex-col gap-2",children:d.map(a=>(0,b.jsxs)("button",{type:"button",role:"radio","aria-checked":a.role===k.role,"data-testid":"add-member-role",onClick:()=>{j(a.role)},className:"flex items-center gap-3 rounded-md border border-border px-3 py-2 text-left text-meta aria-checked:border-primary aria-checked:ring-1 aria-checked:ring-primary",children:[(0,b.jsx)("span",{className:"rounded-sm bg-muted px-1.5 font-mono",children:a.role}),(0,b.jsx)("span",{className:"font-mono text-muted-foreground",children:a.template}),(0,b.jsxs)("span",{className:"ml-auto text-muted-foreground",children:[a.now," now"]})]},a.role))})]}),(0,b.jsxs)("p",{className:"flex items-start gap-2 rounded-md bg-muted px-3 py-2 text-meta text-muted-foreground",children:[(0,b.jsx)(F.UserPlus,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0"}),(0,b.jsxs)("span",{children:["A new ship of the role ",k.role,", template ",(0,b.jsx)("span",{className:"font-mono",children:k.template}),void 0===k.checkInMinutes?"":`, checks in ${(0,G.checkInText)(k.checkInMinutes)}`,". Blueprint ",c," has ",k.inBlueprint," ",k.role,"; the squadron then has ",k.now+1,"."]})]}),void 0!==g&&(0,b.jsx)(p.InlineError,{variant:"field",title:"Couldn’t add the member",description:`${g} No ship was commissioned.`}),(0,b.jsxs)(H.DialogFooter,{children:[(0,b.jsx)(H.DialogClose,{render:(0,b.jsx)(y.Button,{type:"button",disabled:f}),children:"Cancel"}),(0,b.jsx)(y.Button,{variant:"primary",isLoading:f,"data-testid":"add-member-submit",onClick:()=>{h(k.role)},children:f?"Adding":"Add member"})]})]}):null}function J(a){let{isOpen:c,onOpenChange:d,isPending:e}=a;return(0,b.jsx)(H.Dialog,{open:c,onOpenChange:a=>{e||d(a)},children:(0,b.jsx)(H.DialogContent,{size:"md","data-testid":"add-member-dialog",className:z.dialogSurface.phoneFullScreen,children:(0,b.jsx)(I,{...a})})})}var K=a.i(52702),L=a.i(85650),M=a.i(42955),N=a.i(26766),O=a.i(17256),P=a.i(64831);let Q={name:"square-arrow-out-up-right",size:24,node:[["path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6",key:"y09zxi"}],["path",{d:"m21 3-9 9",key:"mpx6sq"}],["path",{d:"M15 3h6v6",key:"1q9fwt"}]],aliases:["arrow-up-right-from-square"]};Q.node;let R=(0,P.default)(Q);var S=a.i(28339),T=a.i(55280),U=a.i(4838),V=a.i(88191),W=a.i(42231);function X({squadronId:a,member:d,ship:g,template:h,canManage:i,canSend:j,isRemovable:k,onRemove:l}){let[n,o]=(0,e.useState)(!1),p="retired"===d.crew.status||g?.status==="retired",q=(0,W.useNewCrewLineFlow)(i&&!p?{squadronId:a,member:d,ship:g,template:h}:void 0),r=(0,c.idSchema)("ship").safeParse(d.shipId).data,s=async()=>{try{await navigator.clipboard.writeText(d.shipId),(0,V.showToast)({title:"Ship id copied",description:d.shipId,tone:"success"})}catch{(0,V.showToast)({title:"Couldn’t copy the ship id",description:d.shipId,tone:"error"})}},t=[{key:"open",label:"Open ship page",icon:R,testId:"member-open-ship",href:`/ships/${d.shipId}`},...j&&!p&&r?[{key:"message",label:"Message…",icon:O.SquarePen,testId:"member-message",onSelect:()=>{o(!0)}}]:[],...i&&!p?[{key:"crew-line",label:"Get new crew line…",icon:N.KeyRound,testId:"member-new-crew-line",onSelect:q.start}]:[],{key:"copy",label:"Copy ship id",icon:L.Copy,testId:"member-copy-id",onSelect:()=>void s()}],u=i&&k&&!p?{key:"remove",label:"Remove from squadron…",icon:S.UserMinus,testId:"member-remove",isDestructive:!0,onSelect:l}:void 0,v=a=>(0,b.jsx)(y.Button,{size:a,variant:"ghost",isIconOnly:!0,"aria-label":`Actions for ${d.name}`,icon:(0,b.jsx)(M.Ellipsis,{}),"data-testid":"member-actions"});return(0,b.jsxs)("span",{className:"flex shrink-0 items-center gap-1",children:[i&&!p&&"silent"===d.health&&(0,b.jsx)(y.Button,{size:"xs",disabled:!q.isReady,"data-testid":"member-new-crew-line-primary",onClick:q.start,children:"Get new crew line"}),(0,b.jsx)("span",{className:"max-sm:hidden",children:(0,b.jsxs)(T.DropdownMenu,{children:[(0,b.jsx)(T.DropdownMenuTrigger,{render:v("xs")}),(0,b.jsxs)(T.DropdownMenuContent,{align:"end",children:[t.map(a=>void 0===a.href?(0,b.jsxs)(T.DropdownMenuItem,{onClick:a.onSelect,"data-testid":a.testId,children:[(0,b.jsx)(a.icon,{"aria-hidden":!0}),a.label]},a.key):(0,b.jsxs)(T.DropdownMenuItem,{render:(0,b.jsx)(m.default,{href:a.href}),"data-testid":a.testId,children:[(0,b.jsx)(a.icon,{"aria-hidden":!0}),a.label]},a.key)),u&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(T.DropdownMenuSeparator,{}),(0,b.jsxs)(T.DropdownMenuItem,{variant:"destructive",onClick:u.onSelect,"data-testid":u.testId,children:[(0,b.jsx)(u.icon,{"aria-hidden":!0}),u.label]})]})]})]})}),(0,b.jsx)("span",{className:"sm:hidden",children:(0,b.jsxs)(U.Sheet,{children:[(0,b.jsx)(U.SheetTrigger,{render:v("touch")}),(0,b.jsxs)(U.SheetContent,{side:"bottom",children:[(0,b.jsx)(U.SheetHeader,{children:(0,b.jsx)(U.SheetTitle,{children:d.name})}),(0,b.jsx)("ul",{className:"flex flex-col pb-2",children:[...t,...u?[u]:[]].map(a=>(0,b.jsx)("li",{className:!0===a.isDestructive?"mt-1 border-t border-border pt-1":void 0,children:(0,b.jsxs)(U.SheetClose,{render:void 0===a.href?(0,b.jsx)("button",{type:"button",onClick:a.onSelect}):(0,b.jsx)(m.default,{href:a.href}),className:`flex h-(--size-control-touch) w-full items-center gap-3 px-4 text-left text-body-touch [&_svg]:size-(--size-icon) [&_svg]:shrink-0 ${!0===a.isDestructive?"text-destructive-text":"text-foreground"}`,children:[(0,b.jsx)(a.icon,{"aria-hidden":!0}),a.label.replace(/…$/,"")]})},a.key))}),(0,b.jsx)("div",{className:"px-4 pb-4",children:(0,b.jsx)(U.SheetClose,{render:(0,b.jsx)(y.Button,{size:"touch",className:"w-full"}),children:"Cancel"})})]})]})}),q.dialog,r&&(0,b.jsx)(f.ComposeMessage,{isOpen:n,onOpenChange:o,toShipId:r})]})}let Y={name:"octagon-x",size:24,node:[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],aliases:["x-octagon"]};Y.node;let Z=(0,P.default)(Y);var $=a.i(46916);function _({squadronId:a,offered:c,onAddMember:d,onMessageFlagship:e,onStandDown:f,onForceStandDown:g}){let h=async()=>{try{await navigator.clipboard.writeText(a),(0,V.showToast)({title:"Squadron id copied",description:a,tone:"success"})}catch{(0,V.showToast)({title:"Couldn’t copy the squadron id",description:a,tone:"error"})}},i={key:"copy",label:"Copy squadron id",icon:L.Copy,testId:"squadron-copy-id",onSelect:()=>void h()},j=[...c.canStandDown?[{key:"stand-down",label:"Stand down…",icon:$.Waves,testId:"squadron-stand-down",isDestructive:!0,onSelect:f}]:[],...c.canForceStandDown?[{key:"force",label:"Force stand down…",icon:Z,testId:"squadron-force-stand-down",isDestructive:!0,onSelect:g}]:[]],k=a=>(0,b.jsx)(y.Button,{size:a,variant:"ghost",isIconOnly:!0,"aria-label":"Squadron actions",icon:(0,b.jsx)(M.Ellipsis,{}),"data-testid":"squadron-actions"});return(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[c.canAddMember&&(0,b.jsx)(y.Button,{size:"xs",icon:(0,b.jsx)(F.UserPlus,{}),"data-testid":"squadron-add-member",onClick:d,children:"Add member"}),c.canMessageFlagship&&(0,b.jsx)(y.Button,{size:"xs",icon:(0,b.jsx)(O.SquarePen,{}),"data-testid":"squadron-message-flagship",onClick:e,children:"Message"}),(0,b.jsx)("div",{className:"max-sm:hidden",children:(0,b.jsxs)(T.DropdownMenu,{children:[(0,b.jsx)(T.DropdownMenuTrigger,{render:k("xs")}),(0,b.jsxs)(T.DropdownMenuContent,{align:"end",children:[(0,b.jsxs)(T.DropdownMenuItem,{onClick:i.onSelect,"data-testid":i.testId,children:[(0,b.jsx)(L.Copy,{"aria-hidden":!0}),i.label]}),j.length>0&&(0,b.jsx)(T.DropdownMenuSeparator,{}),j.map(a=>(0,b.jsxs)(T.DropdownMenuItem,{variant:"destructive",onClick:a.onSelect,"data-testid":a.testId,children:[(0,b.jsx)(a.icon,{"aria-hidden":!0}),a.label]},a.key))]})]})}),(0,b.jsx)("div",{className:"sm:hidden",children:(0,b.jsxs)(U.Sheet,{children:[(0,b.jsx)(U.SheetTrigger,{render:k("touch")}),(0,b.jsxs)(U.SheetContent,{side:"bottom","data-testid":"squadron-actions-sheet",children:[(0,b.jsx)(U.SheetHeader,{children:(0,b.jsx)(U.SheetTitle,{children:a})}),(0,b.jsx)("ul",{className:"flex flex-col pb-2",children:[i,...j].map((a,c)=>(0,b.jsx)("li",{className:1===c?"mt-1 border-t border-border pt-1":void 0,children:(0,b.jsxs)(U.SheetClose,{render:(0,b.jsx)("button",{type:"button",onClick:a.onSelect}),className:`flex h-(--size-control-touch) w-full items-center gap-3 px-4 text-left text-body-touch [&_svg]:size-(--size-icon) [&_svg]:shrink-0 ${!0===a.isDestructive?"text-destructive-text":"text-foreground"}`,children:[(0,b.jsx)(a.icon,{"aria-hidden":!0}),a.label.replace(/…$/,"")]})},a.key))}),(0,b.jsx)("div",{className:"px-4 pb-4",children:(0,b.jsx)(U.SheetClose,{render:(0,b.jsx)(y.Button,{size:"touch",className:"w-full"}),children:"Cancel"})})]})]})})]})}var aa=a.i(80459),ab=a.i(52357),ac=a.i(21327),ad=a.i(75971),ae=a.i(3842),af=a.i(40108),ag=a.i(92717),ah=a.i(23063);function ai({ship:a,now:c}){return a?(0,b.jsxs)("div",{className:"flex grow flex-wrap items-center justify-end gap-x-4 gap-y-1 text-meta",children:["crewed"===a.status?(0,b.jsx)(ag.ReportLine,{report:a.report,now:c,variant:"row",testId:"member-report"}):(0,b.jsx)(ah.StatusBadge,{status:a.status}),a.location?(0,b.jsx)(af.LocationTag,{kind:a.location.kind,description:a.location.description,isCompact:!0,size:"sm"}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"No session"}),(0,b.jsxs)("span",{className:"flex items-center gap-1 text-muted-foreground","data-testid":"member-inbox",children:[(0,b.jsx)(l.Inbox,{"aria-hidden":!0,className:"size-(--size-icon-sm)"}),a.openDeliveries,(0,b.jsx)("span",{className:"sr-only",children:" open"})]})]}):null}function aj({role:a,blueprint:c,templates:d,count:e}){let f=c?.roles.find(b=>b.name===a)?.template,g=d.find(a=>a.repository===f?.repository&&a.name===f.name&&a.version===f.version);return(0,b.jsxs)("div",{className:"flex items-center gap-2 bg-muted px-3 py-1.5 text-meta",children:[(0,b.jsx)("span",{className:"rounded-sm bg-card px-1.5 font-mono",children:a}),f&&(0,b.jsx)("span",{className:"font-mono text-muted-foreground",children:`${f.name}@${String(f.version)}`}),g&&(0,b.jsxs)("span",{className:"text-muted-foreground",children:["checks in ",(0,G.checkInText)(g.checkInMinutes)]}),(0,b.jsxs)("span",{className:"ml-auto text-muted-foreground",children:[e," ",1===e?"member":"members"]})]})}function ak({issued:a,template:c}){return(0,b.jsxs)("div",{className:"flex flex-col gap-2 border-b border-border px-3 py-2.5",children:[(0,b.jsx)(ae.LaunchNote,{note:a.launchNote,model:a.model,template:c,testId:"member-launch-note"}),(0,b.jsxs)("p",{className:"flex items-center gap-1.5 text-meta text-muted-foreground",children:[(0,b.jsx)(ab.Info,{"aria-hidden":!0,className:"size-(--size-icon-sm) shrink-0"}),(0,b.jsxs)("span",{children:[(0,b.jsx)("span",{className:"font-medium",children:"Shown once."})," Paste a member’s crew line into Claude Code or Codex started where the launch note says, or into a chat client with the fleet’s connector."]})]})]})}function al({member:a,issued:c,ship:d,now:e,renderActions:f}){return(0,b.jsxs)("li",{"data-testid":"member-row",className:"flex flex-col gap-2 px-3 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(m.default,{href:`/ships/${a.shipId}`,className:"font-medium hover:underline","data-testid":"member-name",children:a.name}),(0,b.jsx)(ad.HealthIndicator,{health:a.health,detail:function(a,{ship:b,now:c}){let{lastSeenAt:d}=a.crew;if("late"!==a.health&&"silent"!==a.health||null===d)return;let e=(0,n.lastSeen)(new Date(d),c).replace(/^Last/,"last"),f=b?.location?.description;return f?`${e} on ${f}`:e}(a,{ship:d,now:e}),className:"shrink-0"}),a.model.isMismatch&&(0,b.jsxs)("span",{className:"text-meta text-tone-attention-fg",children:["Runs ",a.model.stated??"an unstated model",", not ",a.model.pinned]}),(0,b.jsx)(ai,{ship:d,now:e}),f?.(a)]}),c&&(0,b.jsx)(ac.CompactCrewLine,{crewLines:c.crewLines,subject:a.name,testIdPrefix:"member-crew-line"})]})}function am({squadron:a,blueprint:c,templates:d,crewLines:e,ships:f,now:g,renderActions:h}){if(0===a.members.length)return(0,b.jsx)(o.EmptyState,{variant:"section",title:"No members",description:"This squadron has no members."});let i=a=>null===a.onStationAt?e.get(a.shipId):void 0;return(0,b.jsx)("div",{"data-testid":"member-list",className:"flex flex-col overflow-hidden rounded-lg border border-border",children:(0,G.membersByRole)(a.members).map(a=>{let e=c?.roles.find(b=>b.name===a.role)?.template,j=a.members.map(i).find(a=>void 0!==a);return(0,b.jsxs)("section",{"aria-label":`Role ${a.role}`,children:[(0,b.jsx)(aj,{role:a.role,blueprint:c,templates:d,count:a.members.length}),j&&(0,b.jsx)(ak,{issued:j,template:e&&`${e.name}@${String(e.version)}`}),(0,b.jsx)("ul",{className:"divide-y divide-border",children:a.members.map(a=>(0,b.jsx)(al,{member:a,issued:i(a),ship:f.get(a.shipId),now:g,renderActions:h},a.shipId))})]},a.role)})})}var an=a.i(80487);let ao={forming:{done:"on station",next:"Sails when all are on station"},standdown:{done:"finished their work",next:"Disbands when all are done"}};function ap({done:a,total:c,variant:d,className:e}){let f=ao[d],g=1===c?"member":"members";return(0,b.jsxs)("div",{"data-slot":"station-progress",role:"progressbar","aria-valuemin":0,"aria-valuemax":c,"aria-valuenow":a,"aria-label":`${String(a)} of ${String(c)} ${g} ${f.done}`,className:(0,an.classNames)("flex flex-col gap-1.5",e),children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2 text-meta",children:[(0,b.jsxs)("p",{role:"status","aria-live":"polite",className:"text-foreground","data-testid":"station-progress",children:[(0,b.jsxs)("span",{className:"font-medium",children:[a," of ",c," ",g]})," ",f.done]}),(0,b.jsx)("span",{className:"text-muted-foreground",children:f.next})]}),(0,b.jsx)("div",{"aria-hidden":!0,className:"flex gap-1",children:Array.from({length:c},(c,d)=>(0,b.jsx)("span",{className:(0,an.classNames)("h-1.5 grow rounded-full",d<a?"bg-tone-ok-fg":"bg-muted")},`segment-${String(d)}`))})]})}function aq({squadron:a,squadronId:c,state:d,actions:e,onForceStandDown:f}){if("loading"===d)return(0,b.jsx)(q.LoadingSkeleton,{variant:"detail",rows:2,label:"Loading the squadron"});if("not-found"===d||!a)return(0,b.jsx)(o.EmptyState,{title:"No such squadron",description:`The squadron manager knows no squadron ${c}.`});let{onStation:g,total:h}=(0,G.stationCount)(a);return(0,b.jsxs)("header",{"data-testid":"squadron-header",className:"flex flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2.5",children:[(0,b.jsx)("h1",{className:"text-title font-semibold",children:a.id}),(0,b.jsx)(ah.StatusBadge,{status:a.state}),(0,b.jsxs)(m.default,{href:(0,G.blueprintPath)(a.blueprint),className:"text-meta text-muted-foreground hover:underline","data-testid":"squadron-blueprint",children:[(0,b.jsx)("span",{className:"font-mono",children:a.blueprint.name})," v",a.blueprint.version]}),e&&(0,b.jsx)("div",{className:"ml-auto flex gap-2",children:e})]}),(0,b.jsxs)("dl",{className:"flex flex-wrap gap-x-6 gap-y-1 text-meta text-muted-foreground",children:[(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)("dt",{children:"Flagship"}),(0,b.jsx)("dd",{className:"font-mono text-foreground",children:a.flagship.name})]}),(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)("dt",{children:"Members"}),(0,b.jsx)("dd",{className:"text-foreground",children:h})]}),(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)("dt",{children:"Formed"}),(0,b.jsx)("dd",{className:"text-foreground",children:(0,n.shortDateTime)(new Date(a.formedAt))})]})]}),"standing-down"===a.state&&(0,b.jsxs)("div",{role:"status","data-testid":"squadron-state-notice",className:"flex flex-wrap items-center gap-3 rounded-lg border border-tone-waiting-border bg-tone-waiting-bg px-3 py-2.5 text-meta text-foreground",children:[(0,b.jsx)("span",{className:"grow",children:"No new work reaches its members. They finish their open work, then retire and the squadron disbands."}),f&&(0,b.jsx)(y.Button,{size:"xs","data-testid":"squadron-notice-force-stand-down",onClick:f,children:"Force stand down…"})]}),"disbanded"===a.state&&(0,b.jsxs)("div",{role:"status","data-testid":"squadron-state-notice",className:"rounded-lg border border-tone-ended-border bg-tone-ended-bg px-3 py-2.5 text-meta text-foreground",children:["Read-only. Its ",1===h?"1 member ship":`${String(h)} member ships`," and its flagship were retired; their history stays."]}),"forming"===a.state&&(0,b.jsx)(ap,{done:g,total:h,variant:"forming",className:"max-w-md"}),"standing-down"===a.state&&(0,b.jsx)(ap,{done:a.members.filter(a=>"retired"===a.crew.status).length,total:h,variant:"standdown",className:"max-w-md"})]})}var ar=a.i(26110);let as={working:"working",idle:"idle",blocked:"blocked"};function at({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-caption font-medium text-muted-foreground",children:a}),(0,b.jsx)("span",{className:"text-meta text-foreground",children:c})]})}function au({health:a,work:c,openDeliveries:d,keptCount:e}){return(0,b.jsxs)("div",{"aria-label":"Squadron summary","data-testid":"squadron-summary",className:"grid grid-cols-4 gap-4 rounded-lg border border-border bg-card px-4 py-3 shadow-sm max-sm:grid-cols-2 max-sm:gap-3",children:[(0,b.jsx)(at,{label:"Health",children:0===a.length?"None":(0,b.jsx)(ad.HealthSummary,{counts:a})}),(0,b.jsx)(at,{label:"Work",children:0===c.length?"None reported":c.map(({state:a,count:b})=>`${String(b)} ${as[a]}`).join(", ")}),(0,b.jsx)(at,{label:"Open deliveries",children:void 0===d?"…":`${String(d)} in member inboxes`}),(0,b.jsx)(at,{label:"Kept by the flagship",children:void 0===e?"…":0===e?"None":String(e)})]})}var av=a.i(55138),aw=a.i(65563),ax=a.i(94764),ay=a.i(26949),az=a.i(67336),aA=a.i(10023),aB=a.i(68450),aC=a.i(10572),aD=a.i(99929),aE=a.i(54763),aF=a.i(12540);a.s(["default",0,function({params:a,searchParams:k}){let{squadronId:l}=(0,e.use)(a),m=(0,e.use)(k).action,n=(0,d.useRouter)(),o=(0,aB.useNow)(),p=(0,ax.useAccountMenu)(o),s=(0,aE.useHasSquadrons)(),t=(0,ay.useOpenInboxCount)(),u=(0,aA.useNeedsAttention)(),v=(0,aA.useAttentionCount)(),w=(0,az.useLiveFleet)(),x=(0,aF.useSquadrons)(),y=(0,aE.useSquadronsConnection)(),z=(0,aF.useCatalogue)(),A=(0,aF.useIssuedCrewLines)(l),B=(0,aF.useKeptMessages)(l),C=(0,aF.useStandDown)(),[D,F]=(0,e.useState)(!1),H=(0,aF.useForceStandDown)(),[I,L]=(0,e.useState)(!1),M=(0,aF.useAddMember)(),[N,O]=(0,e.useState)(!1),[P,Q]=(0,e.useState)(void 0),R=(0,aF.useRemoveMember)(),[S,T]=(0,e.useState)(void 0),U=(0,aw.useAccess)(),[V,W]=(0,e.useState)(!1),[Y,Z]=(0,e.useState)(!1),[$,ab]=(0,e.useState)(!1);(0,aC.useSignInWhenSessionEnds)([u.error,w.error]);let ac=x.data?.find(a=>a.id===l),ad=(0,aD.useShips)(ac?.members.map(a=>a.shipId)??[]),ae=[...ad.values()].reduce((a,b)=>a+b.openDeliveries,0),af=[...ad.values()].reduce((a,b)=>a+b.inFlightDeliveries,0),ag=z.data?.blueprints.find(a=>a.repository===ac?.blueprint.repository&&a.name===ac.blueprint.name&&a.version===ac.blueprint.version),ah=ac&&ag?(0,G.roleOptions)(ac,{blueprint:ag,templates:z.data?.templates??[]}):[],ai=S?ad.get(S.shipId):void 0,aj=S?ah.find(a=>a.role===S.role):void 0,ak=ac?(0,c.idSchema)("ship").safeParse(ac.flagship.shipId).data:void 0,al=ac?(0,G.squadronActionsOffered)(ac,{canManage:U.canManage,canSend:U.canSend,hasRoles:ah.length>0}):void 0,an="add-member"===m&&al?.canAddMember===!0,ao="stand-down"===m&&al?.canStandDown===!0,ap=()=>{void 0!==m&&n.replace(`/squadrons/${l}`,{scroll:!1})},as=ac?.state==="sailing"||ac?.state==="standing-down";return(0,b.jsxs)(ar.DetailLayout,{title:l,parents:[{href:"/squadrons",label:"Squadrons"}],header:(0,b.jsx)(aq,{squadron:ac,squadronId:l,state:x.data?ac?"ready":"not-found":"loading",actions:ac&&al?(0,b.jsx)(_,{squadronId:ac.id,offered:al,onAddMember:()=>{M.reset(),O(!0)},onMessageFlagship:()=>{Z(!0)},onStandDown:()=>{C.reset(),F(!0)},onForceStandDown:()=>{H.reset(),L(!0)}}):void 0,onForceStandDown:U.canManage?()=>{H.reset(),L(!0)}:void 0}),live:w.live,nav:{active:"squadrons",inboxCount:t,attentionCount:v,hasSquadrons:s,hasSettings:s&&U.canManage},onCompose:U.canSend?()=>{W(!0)}:void 0,onSearch:()=>{ab(!0)},account:p,banner:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.ConsoleNotices,{}),(0,b.jsx)(h.ConsoleGuide,{})]}),children:["not-connected"===y?(0,b.jsx)(av.SquadronsNotConnected,{}):ac?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(au,{health:(0,G.healthCounts)(ac.members),work:(0,G.workCounts)(ac.members.map(a=>ad.get(a.shipId)?.report??null)),openDeliveries:ad.size===ac.members.length?ae:void 0,keptCount:B.data?.length}),(0,b.jsx)(am,{squadron:ac,blueprint:ag,templates:z.data?.templates??[],crewLines:A,ships:ad,now:o,renderActions:a=>(0,b.jsx)(X,{squadronId:ac.id,member:a,ship:ad.get(a.shipId),template:ah.find(b=>b.role===a.role)?.template,canManage:U.canManage,canSend:U.canSend,isRemovable:as,onRemove:()=>{R.reset(),T(a)}})})]}):x.data?null:(0,b.jsx)(q.LoadingSkeleton,{variant:"list",label:"Loading the members"}),ag&&(0,b.jsx)(j.HandoffWiring,{blueprint:ag}),ac&&(0,b.jsx)(r,{messages:B.data??[],state:B.isError?"error":B.data?"ready":"loading",error:B.error?.message,onRetry:()=>{B.refetch()},flagshipId:ac.flagship.shipId,now:o}),ac&&(0,b.jsx)(E,{squadronId:ac.id,memberCount:ac.members.length,openDeliveries:ae,inFlightDeliveries:af,isOpen:D||ao,onOpenChange:a=>{F(a),a||ap()},isPending:C.isPending,error:C.error?.message,onConfirm:()=>{C.mutate(ac.id,{onSuccess:()=>{F(!1),ap()}})}}),ac&&(0,b.jsx)(E,{isForced:!0,squadronId:ac.id,memberCount:ac.members.length,openDeliveries:ae,inFlightDeliveries:af,isOpen:I,onOpenChange:L,isPending:H.isPending,error:H.error?.message,onConfirm:()=>{H.mutate(ac.id,{onSuccess:()=>{L(!1)}})}}),ac&&ah.length>0&&(0,b.jsx)(J,{squadronId:ac.id,blueprint:`${ac.blueprint.name} v${String(ac.blueprint.version)}`,roles:ah,isOpen:N||an,onOpenChange:a=>{O(a),a||ap()},isPending:M.isPending,error:M.error?.message,onSubmit:a=>{M.mutate({squadronId:ac.id,role:a},{onSuccess:a=>{O(!1),ap(),Q(a)}})}}),ac&&S&&(0,b.jsx)(aa.RemoveMemberDialog,{squadronId:ac.id,member:S,othersOfRole:(0,G.otherMembersOfRole)(ac,S.shipId),blueprint:aj?{label:`${ac.blueprint.name} v${String(ac.blueprint.version)}`,count:aj.inBlueprint}:void 0,openDeliveries:ai?.openDeliveries??0,inFlightDeliveries:ai?.inFlightDeliveries??0,isOpen:void 0!==ai,onOpenChange:a=>{a||T(void 0)},isPending:R.isPending,error:R.error?.message,onConfirm:()=>{R.mutate({squadronId:ac.id,shipId:S.shipId},{onSuccess:()=>{T(void 0)}})}}),P&&(0,b.jsx)(K.CrewLineDialog,{memberName:P.name,state:"shown",template:ah.find(a=>a.role===P.role)?.template,launchNote:P.launchNote,model:P.model,crewLines:P.crewLines,isOpen:!0,onOpenChange:a=>{a||Q(void 0)}}),(0,b.jsx)(f.ComposeMessage,{isOpen:V,onOpenChange:W}),ak&&(0,b.jsx)(f.ComposeMessage,{isOpen:Y,onOpenChange:Z,toShipId:ak}),(0,b.jsx)(g.ConsoleCommands,{isOpen:$,onOpenChange:ab,onCompose:()=>{W(!0)}})]})}],9107)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=packages_console_app_squadrons_%5BsquadronId%5D_page_tsx_1umxs1g._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[25389,a=>{"use strict";var b=a.i(87924),c=a.i(3512),d=a.i(50944),e=a.i(72131),f=a.i(12068),g=a.i(94777),h=a.i(41146),i=a.i(64040),j=a.i(38246),k=a.i(72872),l=a.i(47480),m=a.i(8219),n=a.i(77339),o=a.i(24173),p=a.i(40392),q=a.i(50808),r=a.i(20847);function s({blueprints:a,squadrons:c,state:d,error:e,onRetry:f}){if("loading"===d)return(0,b.jsx)(q.LoadingSkeleton,{variant:"table",label:"Loading blueprints"});if("error"===d)return(0,b.jsx)(p.InlineError,{variant:"page",title:"Couldn’t read blueprints from git",description:"The squadron manager couldn’t fetch the squadrons repository. Running squadrons are not affected.",detail:e,onRetry:f});if(0===a.length)return(0,b.jsx)(o.EmptyState,{icon:(0,b.jsx)(i.DraftingCompass,{"aria-hidden":!0}),title:"No blueprints in git",description:"The squadron manager reads blueprints from .aeolus/squadrons/blueprints. Commit one there; it shows up here on its own."});let g=a.flatMap(a=>{let b=a.versions[0];return b?[{blueprint:a,latest:b,formed:(0,m.squadronsText)((0,m.squadronsFromBlueprint)(c,a))}]:[]});return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(n.Table,{"data-testid":"blueprint-table",className:"max-sm:hidden",children:[(0,b.jsx)(n.TableHeader,{children:(0,b.jsxs)(n.TableRow,{children:[(0,b.jsx)(n.TableHead,{children:"Blueprint"}),(0,b.jsx)(n.TableHead,{children:"Source"}),(0,b.jsx)(n.TableHead,{children:"Latest"}),(0,b.jsx)(n.TableHead,{children:"Roles"}),(0,b.jsx)(n.TableHead,{children:"Squadrons"}),(0,b.jsx)(n.TableHead,{children:"Committed"})]})}),(0,b.jsx)(n.TableBody,{children:g.map(({blueprint:a,latest:c,formed:d})=>(0,b.jsxs)(n.TableRow,{"data-testid":"blueprint-row",children:[(0,b.jsx)(n.TableCell,{className:"font-medium",children:(0,b.jsx)(j.default,{href:(0,m.blueprintPath)(a),className:"hover:underline",children:a.name})}),(0,b.jsx)(n.TableCell,{"data-testid":"blueprint-row-source",children:(0,b.jsx)(r.RepositoryName,{name:c.repository,href:(0,l.versionFileUrl)(c)})}),(0,b.jsxs)(n.TableCell,{children:["v",c.version]}),(0,b.jsx)(n.TableCell,{children:(0,m.rolesText)(c)}),(0,b.jsx)(n.TableCell,{className:""===d?"text-muted-foreground":void 0,children:""===d?"None":d}),(0,b.jsxs)(n.TableCell,{className:"text-muted-foreground",children:[(0,k.dayMonth)(new Date(c.committedAt))," · ",(0,b.jsx)("span",{className:"font-mono",children:c.commit.slice(0,7)})]})]},a.key))})]}),(0,b.jsx)("ul",{className:"divide-y divide-border overflow-hidden rounded-lg border border-border sm:hidden",children:g.map(({blueprint:a,latest:c})=>(0,b.jsx)("li",{children:(0,b.jsxs)(j.default,{href:(0,m.blueprintPath)(a),className:"flex items-center gap-2 px-3 py-2.5",children:[(0,b.jsxs)("span",{className:"flex min-w-0 grow flex-col gap-0.5",children:[(0,b.jsxs)("span",{className:"font-medium",children:[a.name," ",(0,b.jsxs)("span",{className:"text-meta font-normal text-muted-foreground",children:["v",c.version]})]}),(0,b.jsx)("span",{className:"truncate text-meta text-muted-foreground",children:(0,m.rolesText)(c)}),(0,b.jsx)("span",{className:"flex min-w-0 text-meta text-muted-foreground",children:(0,b.jsx)(r.RepositoryName,{name:c.repository})})]}),(0,b.jsx)(h.ChevronRight,{"aria-hidden":!0,className:"size-(--size-icon-sm) shrink-0 text-muted-foreground"})]})},a.key))})]})}var t=a.i(64831);let u={name:"layout-template",size:24,node:[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]};u.node;let v=(0,t.default)(u);function w({templates:a,blueprints:c,state:d,error:e,onRetry:f}){if("loading"===d)return(0,b.jsx)(q.LoadingSkeleton,{variant:"table",label:"Loading templates"});if("error"===d)return(0,b.jsx)(p.InlineError,{variant:"page",title:"Couldn’t read templates from git",description:"The squadron manager couldn’t fetch the squadrons repository. Running squadrons are not affected.",detail:e,onRetry:f});if(0===a.length)return(0,b.jsx)(o.EmptyState,{icon:(0,b.jsx)(v,{"aria-hidden":!0}),title:"No templates in git",description:"The squadron manager reads templates from .aeolus/squadrons/templates. Commit one there; it shows up here on its own."});let g=a.flatMap(a=>{let b=a.versions[0];return b?[{template:a,latest:b,users:function(a,b){let c=new Map;for(let a of b){let b=`${a.repository}#${a.name}`,d=c.get(b);(!d||d.version<a.version)&&c.set(b,a)}return(0,m.blueprintsUsing)([...c.values()],a).map(a=>a.name).sort().join(", ")}(a,c)}]:[]});return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(n.Table,{"data-testid":"template-table",className:"max-sm:hidden",children:[(0,b.jsx)(n.TableHeader,{children:(0,b.jsxs)(n.TableRow,{children:[(0,b.jsx)(n.TableHead,{children:"Template"}),(0,b.jsx)(n.TableHead,{children:"Source"}),(0,b.jsx)(n.TableHead,{children:"Latest"}),(0,b.jsx)(n.TableHead,{children:"Check-in"}),(0,b.jsx)(n.TableHead,{children:"Used by blueprints"}),(0,b.jsx)(n.TableHead,{children:"Committed"})]})}),(0,b.jsx)(n.TableBody,{children:g.map(({template:a,latest:c,users:d})=>(0,b.jsxs)(n.TableRow,{"data-testid":"template-row",children:[(0,b.jsx)(n.TableCell,{className:"font-medium",children:(0,b.jsx)(j.default,{href:(0,m.templatePath)(a),className:"hover:underline",children:a.name})}),(0,b.jsx)(n.TableCell,{"data-testid":"template-row-source",children:(0,b.jsx)(r.RepositoryName,{name:c.repository,href:(0,l.versionFileUrl)(c)})}),(0,b.jsxs)(n.TableCell,{children:["v",c.version]}),(0,b.jsx)(n.TableCell,{children:(0,m.checkInText)(c.checkInMinutes)}),(0,b.jsx)(n.TableCell,{className:""===d?"text-muted-foreground":void 0,children:""===d?"None":d}),(0,b.jsx)(n.TableCell,{className:"text-muted-foreground",children:(0,k.dayMonth)(new Date(c.committedAt))})]},a.key))})]}),(0,b.jsx)("ul",{className:"divide-y divide-border overflow-hidden rounded-lg border border-border sm:hidden",children:g.map(({template:a,latest:c})=>(0,b.jsx)("li",{children:(0,b.jsxs)(j.default,{href:(0,m.templatePath)(a),className:"flex items-center gap-2 px-3 py-2.5",children:[(0,b.jsxs)("span",{className:"flex min-w-0 grow flex-col gap-0.5",children:[(0,b.jsxs)("span",{className:"font-medium",children:[a.name," ",(0,b.jsxs)("span",{className:"text-meta font-normal text-muted-foreground",children:["v",c.version]})]}),(0,b.jsx)("span",{className:"text-meta text-muted-foreground",children:(0,m.checkInText)(c.checkInMinutes)}),(0,b.jsx)("span",{className:"flex min-w-0 text-meta text-muted-foreground",children:(0,b.jsx)(r.RepositoryName,{name:c.repository})})]}),(0,b.jsx)(h.ChevronRight,{"aria-hidden":!0,className:"size-(--size-icon-sm) shrink-0 text-muted-foreground"})]})},a.key))})]})}var x=a.i(15439),y=a.i(2549),z=a.i(83786),A=a.i(68698),B=a.i(83628),C=a.i(31668);let D={name:"wifi-off",size:24,node:[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]};D.node;let E=(0,t.default)(D);var F=a.i(12540);let G="state",H="blueprint",I="disbanded";var J=a.i(75297),K=a.i(45098),L=a.i(48136),M=a.i(45469),N=a.i(75971),O=a.i(23063);function P({squadrons:a,state:d,hasBlueprints:e,error:g,onRetry:h,onForm:i,view:j,onViewChange:k}){let l;if("loading"===d)return(0,b.jsx)(q.LoadingSkeleton,{variant:"table",label:"Loading squadrons"});if("error"===d)return(0,b.jsx)(p.InlineError,{title:"Couldn’t load squadrons",description:"The console couldn’t reach the squadron manager. Your ships keep running; nothing is lost.",detail:g,onRetry:h});if(0===a.length)return e?(0,b.jsx)(o.EmptyState,{icon:(0,b.jsx)(C.Shapes,{"aria-hidden":!0}),title:"No squadrons yet",description:"A squadron is a team of ships formed from a blueprint: a planner, implementers, a tester. You start each member's session by hand with its crew line.",action:i&&(0,b.jsx)(f.Button,{variant:"primary",icon:(0,b.jsx)(c.Plus,{"aria-hidden":!0}),onClick:i,"data-testid":"squadrons-form-first",children:"Form your first squadron"})}):(0,b.jsx)(o.EmptyState,{icon:(0,b.jsx)(E,{"aria-hidden":!0}),title:"No blueprints found",description:"The squadron manager reads blueprints and templates from git. Add a blueprint there; it shows up here on its own."});let m=(l=j.query.trim().toLowerCase(),a.filter(a=>(j.isDisbandedShown||"disbanded"!==a.state)&&("all"===j.state||a.state===j.state)&&("all"===j.blueprint||a.blueprint.name===j.blueprint)&&(""===l||a.id.toLowerCase().includes(l)||a.blueprint.name.toLowerCase().includes(l))));return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsx)(R,{squadrons:a,view:j,onViewChange:k,shownCount:m.length}),0===m.length?(0,b.jsx)(o.EmptyState,{variant:"no-results",title:"No squadrons match",action:(0,b.jsx)(f.Button,{onClick:()=>{k({query:"",state:"all",blueprint:"all",isDisbandedShown:j.isDisbandedShown})},children:"Clear filters"})}):(0,b.jsx)(S,{squadrons:m})]})}let Q={all:"All",forming:"Forming",sailing:"Sailing","standing-down":"Standing down"};function R({squadrons:a,view:c,onViewChange:d,shownCount:e}){let f={all:"All",...Object.fromEntries([...new Set(a.map(a=>a.blueprint.name))].toSorted((a,b)=>a.localeCompare(b)).map(a=>[a,a]))};return(0,b.jsxs)("div",{"data-slot":"squadrons-toolbar",className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("div",{className:"w-60 max-sm:min-w-0 max-sm:flex-1",children:(0,b.jsx)(J.Input,{type:"search","aria-label":"Search squadrons",placeholder:"Search squadrons","data-testid":"squadrons-search",value:c.query,onChange:a=>{d({...c,query:a.target.value})}})}),(0,b.jsxs)(L.Select,{items:Q,value:c.state,onValueChange:a=>{null!==a&&Object.hasOwn(Q,a)&&d({...c,state:a})},children:[(0,b.jsx)(L.SelectTrigger,{size:"sm","aria-label":"State","data-testid":"squadrons-filter-state",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"State"}),(0,b.jsx)(L.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(L.SelectContent,{children:Object.entries(Q).map(([a,c])=>(0,b.jsx)(L.SelectItem,{value:a,children:c},a))})]}),(0,b.jsxs)(L.Select,{items:f,value:c.blueprint,onValueChange:a=>{null!==a&&d({...c,blueprint:a})},children:[(0,b.jsx)(L.SelectTrigger,{size:"sm","aria-label":"Blueprint","data-testid":"squadrons-filter-blueprint",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Blueprint"}),(0,b.jsx)(L.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(L.SelectContent,{children:Object.entries(f).map(([a,c])=>(0,b.jsx)(L.SelectItem,{value:a,className:"all"===a?void 0:"font-mono",children:c},a))})]}),(0,b.jsxs)("div",{className:"inline-flex items-center gap-2 sm:ml-auto",children:[(0,b.jsx)(M.Switch,{id:"squadrons-show-disbanded","data-testid":"squadrons-show-disbanded",checked:c.isDisbandedShown,onCheckedChange:a=>{d({...c,isDisbandedShown:a})}}),(0,b.jsxs)(K.Label,{htmlFor:"squadrons-show-disbanded",className:"text-meta font-normal text-muted-foreground",children:["Show disbanded (",a.filter(a=>"disbanded"===a.state).length,")"]}),(0,b.jsxs)("span",{className:"text-meta text-muted-foreground",children:[e," of ",a.length," squadrons"]})]})]})}function S({squadrons:a}){return(0,b.jsxs)(n.Table,{"data-testid":"squadrons-table",children:[(0,b.jsx)(n.TableHeader,{children:(0,b.jsxs)(n.TableRow,{children:[(0,b.jsx)(n.TableHead,{children:"Squadron"}),(0,b.jsx)(n.TableHead,{children:"Blueprint"}),(0,b.jsx)(n.TableHead,{children:"State"}),(0,b.jsx)(n.TableHead,{children:"Members"}),(0,b.jsx)(n.TableHead,{children:"Health"}),(0,b.jsx)(n.TableHead,{children:"Formed"})]})}),(0,b.jsx)(n.TableBody,{children:a.map(a=>(0,b.jsxs)(n.TableRow,{"data-testid":"squadrons-row",children:[(0,b.jsx)(n.TableCell,{children:(0,b.jsx)(j.default,{href:`/squadrons/${a.id}`,className:"font-medium hover:underline",children:a.id})}),(0,b.jsx)(n.TableCell,{children:(0,b.jsxs)(j.default,{href:(0,m.blueprintPath)(a.blueprint),className:"hover:underline",children:[(0,b.jsx)("span",{className:"font-mono",children:a.blueprint.name})," ",(0,b.jsxs)("span",{className:"text-muted-foreground",children:["v",a.blueprint.version]})]})}),(0,b.jsx)(n.TableCell,{children:(0,b.jsx)(O.StatusBadge,{status:a.state})}),(0,b.jsx)(n.TableCell,{children:function(a){if("forming"===a.state){let{onStation:b,total:c}=(0,m.stationCount)(a);return`${String(b)} of ${String(c)} on station`}return`${String(a.members.length)} ${1===a.members.length?"member":"members"}`}(a)}),(0,b.jsx)(n.TableCell,{children:(0,b.jsx)(N.HealthSummary,{counts:(0,m.healthCounts)(a.members)})}),(0,b.jsx)(n.TableCell,{className:"text-muted-foreground",children:(0,k.shortDateTime)(new Date(a.formedAt))})]},a.id))})]})}var T=a.i(2466),U=a.i(55138),V=a.i(65563),W=a.i(94764),X=a.i(26949),Y=a.i(67336),Z=a.i(10023),$=a.i(68450),_=a.i(10572),aa=a.i(54763);let ab=["squadrons","blueprints","templates"];function ac(a){return ab.find(b=>b===a)??"squadrons"}a.s(["default",0,function({searchParams:a}){var h,i;let j,k=(0,d.useRouter)(),l=(0,e.use)(a),n={query:(h=new URLSearchParams(Object.entries(l).flatMap(([a,b])=>"string"==typeof b?[[a,b]]:[]))).get("q")??"",state:(i=h.get(G),void 0===(j=F.SQUADRON_STATES.find(a=>a===i))||"disbanded"===j?"all":j),blueprint:h.get(H)??"all",isDisbandedShown:"1"===h.get(I)},o="new"===l.form,p=ac(l.tab),q=a=>{let b,c=(b=new URLSearchParams,""!==a.query&&b.set("q",a.query),"all"!==a.state&&b.set(G,a.state),"all"!==a.blueprint&&b.set(H,a.blueprint),a.isDisbandedShown&&b.set(I,"1"),b).toString();k.replace(""===c?"/squadrons":`/squadrons?${c}`,{scroll:!1})},r=(0,$.useNow)(),t=(0,W.useAccountMenu)(r),u=(0,aa.useHasSquadrons)(),v=(0,X.useOpenInboxCount)(),C=(0,Z.useNeedsAttention)(),D=(0,Z.useAttentionCount)(),E=(0,Y.useLiveFleet)(),J=(0,F.useSquadrons)(),K=(0,aa.useSquadronsConnection)(),L=(0,F.useCatalogue)(),M=(0,F.useFormSquadron)(),[N,O]=(0,e.useState)(!1),Q=(0,V.useAccess)(),[R,S]=(0,e.useState)(!1),[ab,ad]=(0,e.useState)(!1);(0,_.useSignInWhenSessionEnds)([C.error,E.error]);let ae=(0,m.blueprintChoices)(L.data??{blueprints:[]}),af=()=>{M.reset(),O(!0)};return(0,b.jsxs)(T.ListLayout,{title:"Squadrons",description:"Teams of ships formed from blueprints in git.",live:E.live,nav:{active:"squadrons",inboxCount:v,attentionCount:D,hasSquadrons:u,hasSettings:u&&Q.canManage},primaryAction:Q.canManage&&ae.length>0?(0,b.jsx)(f.Button,{variant:"primary",icon:(0,b.jsx)(c.Plus,{"aria-hidden":!0}),onClick:af,"data-testid":"squadrons-form",children:"Form squadron"}):void 0,onCompose:Q.canSend?()=>{S(!0)}:void 0,onSearch:()=>{ad(!0)},account:t,banner:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(A.ConsoleNotices,{}),(0,b.jsx)(z.ConsoleGuide,{})]}),children:["not-connected"===K?(0,b.jsx)(U.SquadronsNotConnected,{}):(0,b.jsxs)(g.Tabs,{value:p,onValueChange:a=>{let b=ac(a);k.replace("squadrons"===b?"/squadrons":`/squadrons?tab=${b}`,{scroll:!1})},children:[(0,b.jsxs)(g.TabsList,{variant:"line","aria-label":"Squadrons sections",children:[(0,b.jsx)(g.TabsTrigger,{variant:"line",value:"squadrons","data-testid":"squadrons-tab-squadrons",children:"Squadrons"}),(0,b.jsx)(g.TabsTrigger,{variant:"line",value:"blueprints","data-testid":"squadrons-tab-blueprints",children:"Blueprints"}),(0,b.jsx)(g.TabsTrigger,{variant:"line",value:"templates","data-testid":"squadrons-tab-templates",children:"Templates"})]}),(0,b.jsx)(g.TabsContent,{value:"squadrons",className:"pt-4",children:(0,b.jsx)(P,{squadrons:J.data??[],state:J.isError?"error":J.data?"ready":"loading",hasBlueprints:ae.length>0,error:J.error?.message,onRetry:()=>{J.refetch()},onForm:Q.canManage?af:void 0,view:n,onViewChange:q})}),(0,b.jsx)(g.TabsContent,{value:"blueprints",className:"pt-4",children:(0,b.jsx)(s,{blueprints:ae,squadrons:J.data??[],state:L.isError?"error":L.data?"ready":"loading",error:L.error?.message,onRetry:()=>{L.refetch()}})}),(0,b.jsx)(g.TabsContent,{value:"templates",className:"pt-4",children:(0,b.jsx)(w,{templates:(0,m.templateChoices)(L.data??{templates:[]}),blueprints:L.data?.blueprints??[],state:L.isError?"error":L.data?"ready":"loading",error:L.error?.message,onRetry:()=>{L.refetch()}})})]}),ae.length>0&&(0,b.jsx)(B.FormSquadronDialog,{blueprints:ae,templates:L.data?.templates??[],isOpen:N||o,onOpenChange:a=>{O(a),!a&&o&&q(n)},isPending:M.isPending,error:M.error?.message,onSubmit:a=>{M.mutate(a,{onSuccess:a=>{O(!1),k.push(`/squadrons/${a.squadronId}`)}})}}),(0,b.jsx)(x.ComposeMessage,{isOpen:R,onOpenChange:S}),(0,b.jsx)(y.ConsoleCommands,{isOpen:ab,onOpenChange:ad,onCompose:()=>{S(!0)}})]})}],25389)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=packages_console_app_squadrons_page_tsx_1w6ym6z._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[75971,a=>{"use strict";var b=a.i(87924),c=a.i(80487);let d={"on-time":{label:"On time",dot:"bg-tone-ok-fg",text:"text-tone-ok-fg"},late:{label:"Late",dot:"bg-tone-waiting-fg",text:"text-tone-waiting-fg"},silent:{label:"Silent",dot:"bg-tone-attention-fg",text:"text-tone-attention-fg"},"not-on-station":{label:"Not on station",dot:"border border-dashed border-muted-foreground",text:"text-foreground"}};function e({health:a}){return(0,b.jsx)("span",{"aria-hidden":!0,className:(0,c.classNames)("size-2 shrink-0 rounded-full",d[a].dot)})}a.s(["HealthIndicator",0,function({health:a,detail:f,className:g}){return(0,b.jsxs)("span",{"data-slot":"health-indicator","data-health":a,className:(0,c.classNames)("inline-flex items-center gap-1.5 text-meta",g),children:[(0,b.jsx)(e,{health:a}),(0,b.jsx)("span",{className:(0,c.classNames)("font-medium",d[a].text),children:d[a].label}),void 0!==f&&(0,b.jsx)("span",{className:"text-muted-foreground",children:f})]})},"HealthSummary",0,function({counts:a,className:f}){return(0,b.jsx)("span",{"data-slot":"health-summary",className:(0,c.classNames)("inline-flex flex-wrap items-center gap-x-3 gap-y-1 text-meta",f),children:a.map(({health:a,count:c})=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(e,{health:a}),(0,b.jsxs)("span",{children:[c," ",d[a].label.toLowerCase()]})]},a))})}])},55138,a=>{"use strict";var b=a.i(87924),c=a.i(25212),d=a.i(38246),e=a.i(12068),f=a.i(24173);a.s(["SquadronsNotConnected",0,function(){return(0,b.jsx)(f.EmptyState,{icon:(0,b.jsx)(c.Unplug,{"aria-hidden":!0}),title:"Squadrons is not connected",description:"Connect it in Settings; squadrons, blueprints and templates show up here then.",action:(0,b.jsx)(e.Button,{nativeButton:!1,render:(0,b.jsx)(d.default,{href:"/settings"}),"data-testid":"squadrons-open-settings",children:"Open Settings"})})}])},90487,a=>{"use strict";var b=a.i(87924),c=a.i(64831);let d={name:"arrow-right",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]};d.node;let e=(0,c.default)(d);var f=a.i(25039),g=a.i(72131),h=a.i(80487),i=a.i(76166);function j({name:a,count:c,onHover:d}){let e={onPointerEnter:()=>{d(a)},onPointerLeave:()=>{d(void 0)}};return"flagship"===a?(0,b.jsxs)(i.Badge,{variant:"kind",...e,children:[(0,b.jsx)(f.Flag,{"aria-hidden":!0}),"flagship"]}):(0,b.jsxs)(i.Badge,{variant:"type",...e,children:[a,void 0!==c&&c>1&&(0,b.jsxs)("span",{className:"text-muted-foreground",children:["×",c]})]})}a.s(["HandoffWiring",0,function({blueprint:a}){let[c,d]=(0,g.useState)(void 0),f=new Map(a.roles.map(a=>[a.name,a.count]));return(0,b.jsxs)("section",{"aria-labelledby":"handoff-wiring","data-testid":"handoff-wiring",className:"flex flex-col gap-2 rounded-lg border border-border p-3",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,b.jsx)("h2",{id:"handoff-wiring",className:"text-body font-semibold",children:"Hand-offs"}),(0,b.jsxs)("span",{className:"text-meta text-muted-foreground",children:["from blueprint ",a.name," v",a.version]})]}),0===a.handoffs.length?(0,b.jsx)("p",{className:"text-meta text-muted-foreground",children:"No hand-offs. Members only hear from the flagship and from each other by name."}):(0,b.jsx)("ul",{className:"grid grid-cols-[auto_auto_1fr] items-center gap-x-4 text-meta",children:a.handoffs.map(a=>(0,b.jsxs)("li",{"data-testid":"handoff-row",className:(0,h.classNames)("col-span-3 grid grid-cols-subgrid items-center rounded-md px-1.5 py-1",void 0!==c&&(a.role===c||a.to===c)?"bg-muted":void 0),children:[(0,b.jsx)("span",{children:(0,b.jsx)(j,{name:a.role,count:f.get(a.role),onHover:d})}),(0,b.jsxs)("span",{className:"flex items-center gap-1 font-mono text-muted-foreground",children:[a.handoff,(0,b.jsx)(e,{"aria-label":"goes to",className:"size-(--size-icon-sm)"})]}),(0,b.jsx)("span",{children:(0,b.jsx)(j,{name:a.to,count:f.get(a.to),onHover:d})})]},`${a.role}.${a.handoff}`))})]})}],90487)},26110,a=>{"use strict";var b=a.i(87924),c=a.i(82247),d=a.i(63041),e=a.i(43216),f=a.i(63089);a.s(["DetailLayout",0,function({title:a,parents:g,header:h,children:i,sheet:j,live:k,nav:l,onCompose:m,onSearch:n,account:o,banner:p}){return(0,b.jsxs)("div",{className:"flex min-h-dvh bg-background",children:[(0,b.jsx)(d.Sidebar,{active:l.active,inboxCount:l.inboxCount,attentionCount:l.attentionCount,hasSquadrons:l.hasSquadrons,hasSettings:l.hasSettings,...o}),(0,b.jsxs)("div",{className:"flex min-w-0 grow flex-col",children:[(0,b.jsx)(c.Header,{breadcrumb:a,parents:g,live:k,onCompose:m,onSearch:n}),p,(0,b.jsx)(f.TopBar,{title:a,live:k,back:g[g.length-1]??g[0]}),(0,b.jsxs)("main",{className:"flex grow flex-col gap-5 px-8 py-6 max-sm:gap-3.5 max-sm:px-4 max-sm:pt-3.5 max-sm:pb-[calc(var(--size-tabbar)+var(--spacing)*4)]",children:[h,i]})]}),j,(0,b.jsx)(e.TabBar,{active:"overview"===l.active?"fleet":"settings"===l.active?void 0:l.active,hasSquadrons:l.hasSquadrons,inboxCount:l.inboxCount,attentionCount:l.attentionCount})]})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=packages_console_components_1_4zc74._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[48136,a=>{"use strict";var b=a.i(87924);a.s([],58898),a.i(58898);var c=a.i(72131),d=a.i(62824),e=a.i(1811),f=a.i(79549),g=a.i(28693),h=a.i(58432),i=a.i(52466),j=a.i(50381),k=a.i(57738),l=a.i(54401),m=a.i(89862),n=a.i(17498),o=a.i(24715),p=a.i(31973),q=a.i(38939),r=a.i(75550),s=a.i(9301),t=a.i(46355),u=a.i(54662);let v=c.createContext(void 0),w=c.createContext(void 0),x=c.createContext(void 0);function y(){let a=c.useContext(v);if(void 0===a)throw Error((0,u.default)(60));return a}function z(){let a=c.useContext(w);if(void 0===a)throw Error((0,u.default)(101));return a}function A(){let a=c.useContext(x);if(void 0===a)throw Error((0,u.default)(61));return a}var B=a.i(1230),C=a.i(58589),D=a.i(69476),E=a.i(48250),F=a.i(94855),G=a.i(79387);let H={id:a=>a.id,labelId:a=>a.labelId,modal:a=>a.modal,items:a=>a.items,itemToStringLabel:a=>a.itemToStringLabel,isItemEqualToValue:a=>a.isItemEqualToValue,value:a=>a.value,hasSelectedValue:a=>{let{value:b,multiple:c,itemToStringValue:d}=a;return null!=b&&(c&&Array.isArray(b)?b.length>0:""!==(0,G.stringifyAsValue)(b,d))},hasNullItemLabel:(a,b)=>!!b&&(0,G.hasNullItemLabel)(a.items),open:a=>a.open,mounted:a=>a.mounted,forceMount:a=>a.forceMount,transitionStatus:a=>a.transitionStatus,openMethod:a=>a.openMethod,activeIndex:a=>a.activeIndex,selectedIndex:a=>a.selectedIndex,isActive:(a,b)=>a.activeIndex===b,isSelected:(a,b)=>{let c=a.isItemEqualToValue,d=a.value;return a.multiple?Array.isArray(d)&&d.some(a=>(0,F.compareItemEquality)(b,a,c)):(0,F.compareItemEquality)(b,d,c)},isSelectedByFocus:(a,b)=>a.selectedIndex===b,popupProps:a=>a.popupProps,triggerProps:a=>a.triggerProps,triggerElement:a=>a.triggerElement,positionerElement:a=>a.positionerElement,listElement:a=>a.listElement,popupSide:a=>a.popupSide,scrollUpArrowVisible:a=>a.scrollUpArrowVisible,scrollDownArrowVisible:a=>a.scrollDownArrowVisible,hasScrollArrows:a=>a.hasScrollArrows};var I=a.i(94552),J=a.i(7436),K=a.i(5687),L=a.i(41302),M=a.i(64072),N=a.i(29752);function O(a,b=Number.MIN_SAFE_INTEGER,c=Number.MAX_SAFE_INTEGER){return Math.max(b,Math.min(a,c))}function P(a,b){return Math.max(0,a-b)}function Q(a,b){if(b<=0)return 0;let c=O(a,0,b),d=b-c,e=c<=1,f=d<=1;return e&&f?c<=d?0:b:e?0:f?b:c}var R=a.i(84204),S=a.i(32318),T=a.i(26184),U=a.i(27576),V=a.i(89481),W=a.i(30508);let X=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a;delete f.id;let g=(0,B.useFieldRootContext)(),h=y(),i=h.useState("triggerElement"),j=h.useState("id"),k=(0,W.getDefaultLabelId)(j),l=(0,V.useLabel)({id:k,fallbackControlId:i?.id??j,setLabelId(a){let b="function"==typeof a?a(h.state.labelId):a;h.set("labelId",b)}});return(0,T.useRenderElement)("div",a,{ref:b,state:g.state,props:[l,f],stateAttributesMapping:U.fieldValidityMapping})});var Y=a.i(87828),Z=a.i(36069),$=a.i(77260),_=a.i(4478),aa=a.i(61892),ab=a.i(30116),ac=a.i(61813),ad=a.i(21436),ae=a.i(97380);ae.CommonTriggerDataAttributes.popupOpen,ae.CommonTriggerDataAttributes.pressed;let af={..._.pressableTriggerOpenStateMapping,...U.fieldValidityMapping,popupSide:a=>a?{"data-popup-side":a}:null,value:()=>null},ag=c.forwardRef(function(a,b){let{render:d,className:e,id:f,disabled:g=!1,nativeButton:h=!0,style:i,...j}=a,{setTouched:k,setFocused:l,validationMode:n,validation:o,state:p,disabled:q}=(0,B.useFieldRootContext)(),{labelId:r}=(0,$.useLabelableContext)(),s=y(),{readOnly:t,required:u,disabled:v}=z(),w=q||v||g,x=s.useState("open"),A=s.useState("mounted"),C=s.useState("value"),E=s.useState("triggerProps"),F=s.useState("positionerElement"),G=s.useState("listElement"),H=s.useState("popupSide"),K=s.useState("id"),L=s.useState("labelId"),M=s.useState("hasSelectedValue"),N=A&&F?H:null,O=(0,W.resolveAriaLabelledBy)(r,L);(0,D.useLabelableId)({id:f});let P=(0,m.useValueAsRef)(F),Q=c.useRef(null),{getButtonProps:R,buttonRef:U}=(0,ad.useButton)({disabled:w,native:h}),V=s.useStateSetter("triggerElement"),X=(0,Z.useTimeout)(),_=(0,Z.useTimeout)(),ae=(0,Z.useTimeout)();c.useEffect(()=>{if(x)return ae.start(400,()=>{s.context.selectionRef.current.allowUnselectedMouseUp=!0,s.context.selectionRef.current.allowSelectedMouseUp=!0}),()=>{ae.clear()};s.context.selectionRef.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},_.clear()},[x,s,_,ae]);let ag=(0,S.mergeProps)(E,{id:f??K,role:"combobox","aria-expanded":x,"aria-haspopup":"listbox","aria-controls":x?G?.id??(0,ac.getFloatingFocusElement)(F)?.id:void 0,"aria-labelledby":O,"aria-readonly":t||void 0,"aria-required":u||void 0,tabIndex:w?-1:0,onFocus(a){l(!0),x&&s.context.alignItemWithTriggerActiveRef.current&&s.context.setOpen(!1,(0,I.createChangeEventDetails)(J.REASONS.none,a.nativeEvent)),X.start(0,()=>{s.set("forceMount",!0)})},onBlur(a){(0,ab.contains)(F,a.relatedTarget)||(k(!0),l(!1),"onBlur"===n&&o.commit(C))},onMouseDown(a){if(x)return;let b=(0,Y.ownerDocument)(a.currentTarget);function c(a){if(!Q.current)return;let b=a.target;(0,ab.contains)(Q.current,b)||(0,ab.contains)(P.current,b)||(0,aa.isMouseWithinBounds)(a,Q.current)||s.context.setOpen(!1,(0,I.createChangeEventDetails)(J.REASONS.cancelOpen,a))}_.start(0,()=>{b.addEventListener("mouseup",c,{once:!0})})}},j,R),ah=o.getValidationProps(w,ag);ah.role="combobox";let ai={...p,open:x,disabled:w,value:C,readOnly:t,popupSide:N,placeholder:!M};return(0,T.useRenderElement)("button",a,{ref:[b,Q,U,V],state:ai,stateAttributesMapping:af,props:ah})}),ah={value:()=>null},ai=c.forwardRef(function(a,b){let{className:c,render:d,children:e,placeholder:f,style:g,...h}=a,i=y(),j=i.useState("value"),k=i.useState("items"),l=i.useState("itemToStringLabel"),m=i.useState("hasSelectedValue"),n=!m&&null!=f&&null==e,o=i.useState("hasNullItemLabel",n),p=null;return p="function"==typeof e?e(j):null!=e?e:n&&!o?f:Array.isArray(j)?(0,G.resolveMultipleLabels)(j,k,l):(0,G.resolveSelectedLabel)(j,k,l),(0,T.useRenderElement)("span",a,{state:{value:j,placeholder:!m},ref:[b,i.context.valueRef],props:[{children:p},h],stateAttributesMapping:ah})}),aj=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=y().useState("open");return(0,T.useRenderElement)("span",a,{state:{open:g},ref:b,props:[{"aria-hidden":!0,children:"▼"},f],stateAttributesMapping:_.triggerOpenStateMapping})});var ak=a.i(54098);let al=c.forwardRef(function(a,c){let d=y(),e=d.useState("mounted"),f=d.useState("forceMount");return e||f?(0,b.jsx)(ak.FloatingPortal,{ref:c,...a}):null});var am=a.i(7393);let an={..._.popupStateMapping,...am.transitionStatusMapping},ao=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=y(),h=g.useState("open"),i=g.useState("mounted"),j=g.useState("transitionStatus");return(0,T.useRenderElement)("div",a,{state:{open:h,transitionStatus:j},ref:b,props:[{role:"presentation",hidden:!i,style:{userSelect:"none",WebkitUserSelect:"none"}},f],stateAttributesMapping:an})});var ap=a.i(54125),aq=a.i(79923),ar=a.i(44871);let as=c.createContext(void 0);function at(){let a=c.useContext(as);if(!a)throw Error((0,u.default)(59));return a}var au=a.i(30076),av=a.i(82204);function aw(a,b){a&&Object.assign(a.style,b)}let ax={position:"relative",maxHeight:"100%",overflowX:"hidden",overflowY:"auto"};var ay=a.i(56011),az=a.i(2968);let aA={position:"fixed"},aB=c.forwardRef(function(a,d){let{anchor:e,className:f,render:g,positionMethod:h,side:i,align:j,sideOffset:m,alignOffset:n,collisionBoundary:o="clipping-ancestors",collisionPadding:p,arrowPadding:q,sticky:r,disableAnchorTracking:s,alignItemWithTrigger:t=!0,collisionAvoidance:u=av.DROPDOWN_COLLISION_AVOIDANCE,style:v,...w}=a,x=y(),z=A(),B=x.useState("open"),C=x.useState("mounted"),D=x.useState("modal"),E=x.useState("value"),G=x.useState("openMethod"),H=x.useState("positionerElement"),K=x.useState("triggerElement"),L=x.useState("isItemEqualToValue"),M=x.useState("transitionStatus"),N=c.useRef(null),O=c.useRef(null),[P,Q]=c.useState(t),R=C&&P&&"touch"!==G;C||P===t||Q(t),c.useImperativeHandle(x.context.alignItemWithTriggerActiveRef,()=>R),(0,az.useAnchoredPopupScrollLock)((R||D)&&B,"touch"===G,H,K);let S=(0,ar.useAnchorPositioning)({anchor:e,floatingRootContext:z,positionMethod:h,mounted:C,side:i,sideOffset:m,align:j,alignOffset:n,arrowPadding:q,collisionBoundary:o,collisionPadding:p,sticky:r,disableAnchorTracking:s??R,collisionAvoidance:u,keepMounted:!0}),T=R?"none":S.side,U=R?aA:S.positionerStyles,V={open:B,side:T,align:S.align,anchorHidden:S.anchorHidden};(0,k.useIsoLayoutEffect)(()=>{x.set("popupSide",S.side)},[x,S.side]);let W=x.useStateSetter("positionerElement"),X=(0,ay.usePositioner)(a,V,{styles:U,transitionStatus:M,props:w,refs:[d,W],hidden:!C,inert:!B}),Y=c.useRef(0),Z=(0,l.useStableCallback)(a=>{if(0===x.context.valuesRef.current.length)return;let b=Y.current;Y.current=a.size;let c=(0,I.createChangeEventDetails)(J.REASONS.none);if(0!==b&&!x.state.multiple&&null!==E&&-1===(0,F.findItemIndex)(x.context.valuesRef.current,E,L)){let a=x.context.initialValueRef.current,b=null!=a&&-1!==(0,F.findItemIndex)(x.context.valuesRef.current,a,L)?a:null;x.context.setValue(b,c),null===b&&(x.set("selectedIndex",null),x.context.selectedItemTextRef.current=null)}if(0!==b&&x.state.multiple&&Array.isArray(E)){let a=E.filter(a=>-1!==(0,F.findItemIndex)(x.context.valuesRef.current,a,L));a.length!==E.length&&(x.context.setValue(a,c),0===a.length&&(x.set("selectedIndex",null),x.context.selectedItemTextRef.current=null))}if(B&&R){x.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let a={height:""};aw(H,a),aw(x.context.popupRef.current,a)}}),$=c.useMemo(()=>({...S,side:T,alignItemWithTriggerActive:R,setControlledAlignItemWithTrigger:Q,scrollUpArrowRef:N,scrollDownArrowRef:O}),[S,T,R,Q]);return(0,b.jsx)(aq.CompositeList,{elementsRef:x.context.listRef,labelsRef:x.context.labelsRef,onMapChange:Z,children:(0,b.jsxs)(as.Provider,{value:$,children:[C&&D&&(0,b.jsx)(au.InternalBackdrop,{inert:(0,ap.inertValue)(!B),cutout:K}),X]})})});var aC=a.i(20265),aD=a.i(68536),aE=a.i(51086),aF=a.i(44530),aG=a.i(54184),aH=a.i(50687),aI=a.i(94417);let aJ="base-ui-disable-scrollbar";var aK=a.i(19416),aL=a.i(69649),aM=a.i(3861),aN=a.i(75898),aO=a.i(62903);let aP="--transform-origin",aQ={..._.popupStateMapping,...am.transitionStatusMapping},aR=c.forwardRef(function(a,d){let e,{render:f,className:g,style:h,finalFocus:i,...j}=a,m=y(),{multiple:n,readOnly:o,highlightItemOnHover:p}=z(),q=A(),{side:r,align:s,alignItemWithTriggerActive:t,isPositioned:u,setControlledAlignItemWithTrigger:v}=at(),w=null!=(0,aK.useToolbarRootContext)(!0),x=(0,aO.useDirection)(),{nonce:B,disableStyleElements:C}=(0,aN.useCSPContext)(),D=m.useState("id"),E=m.useState("open"),F=m.useState("openMethod"),G=m.useState("mounted"),H=m.useState("popupProps"),L=m.useState("transitionStatus"),M=m.useState("triggerElement"),N=m.useState("positionerElement"),P=m.useState("listElement"),Q=c.useRef(!1),R=c.useRef(!1),S=c.useRef({}),U=(0,aG.useAnimationFrame)(),V=(0,l.useStableCallback)(a=>{var b;if(!N||!m.context.popupRef.current||!R.current)return;let c="0px"===N.style.top,d="0px"===N.style.bottom;if(Q.current||!t||!c&&!d)return void m.context.handleScrollArrowVisibility(a);let e=aU(N),f=(b=N.getBoundingClientRect().height,b/e.y),g=(0,Y.ownerDocument)(N),h=(0,aF.ownerWindow)(N),i=h.getComputedStyle(N),j=parseFloat(i.marginTop),k=parseFloat(i.marginBottom),l=aS(h.getComputedStyle(m.context.popupRef.current)),n=Math.min(g.documentElement.clientHeight-j-k,l),o=a.scrollTop,p=aT(a),q=null,r=a=>{N.style.height=`${a}px`},s=c?p-o:o,u=Math.min(f+s,n);if(s<=1){let b=O(s,0,n-f);b>0&&r(f+b),a.scrollTop=c?p:0,n-(f+b)<=1&&(Q.current=!0),m.context.handleScrollArrowVisibility(a);return}if(n-u>1)q=c?1/0:0;else if(d&&o<p){let a=f+s-n;q=o-(s-a)}let v=Math.ceil(u);if(0!==v&&r(v),null!=q){let b=O(q,0,aT(a));Math.abs(a.scrollTop-b)>1&&(a.scrollTop=b)}v>=n-1&&(Q.current=!0),m.context.handleScrollArrowVisibility(a)});c.useImperativeHandle(m.context.scrollHandlerRef,()=>V,[V]),(0,K.useOpenChangeComplete)({open:E,ref:m.context.popupRef,onComplete(){E&&m.context.onOpenChangeComplete(!0)}}),(0,k.useIsoLayoutEffect)(()=>{N&&m.context.popupRef.current&&!Object.keys(S.current).length&&(S.current={top:N.style.top||"0",left:N.style.left||"0",right:N.style.right,height:N.style.height,bottom:N.style.bottom,minHeight:N.style.minHeight,maxHeight:N.style.maxHeight,marginTop:N.style.marginTop,marginBottom:N.style.marginBottom})},[m,N]),(0,k.useIsoLayoutEffect)(()=>{E||t||(R.current=!1,Q.current=!1,aw(N,S.current))},[E,t,N]),(0,k.useIsoLayoutEffect)(()=>{let a=m.context.popupRef.current;if(!E||!M||!N||!a||t&&!u||"ending"===m.state.transitionStatus)return;if(R.current=!0,a.style.removeProperty(aP),!t)return void U.request(()=>m.context.handleScrollArrowVisibility(P||a));let b=function(a){let{style:b}=a,c={};for(let[a,d]of aW)c[a]=b.getPropertyValue(a),b.setProperty(a,d,"important");return()=>{for(let[a]of aW){let d=c[a];d?b.setProperty(a,d):b.removeProperty(a)}}}(a);try{let b,c=m.context.selectedItemTextRef.current;c?.isConnected||(c=!m.select("hasSelectedValue")&&m.context.firstItemTextRef.current?.isConnected?m.context.firstItemTextRef.current:null);let d=m.context.valueRef.current,e=(0,aF.ownerWindow)(N),f=e.getComputedStyle(N),g=e.getComputedStyle(a),h=(0,Y.ownerDocument)(M),i=aU(M),j=aV(M.getBoundingClientRect(),i),k=aV(N.getBoundingClientRect(),i),l=j.height,n=P||a,o=n.scrollHeight,q=parseFloat(g.borderBottomWidth),r=parseFloat(f.marginTop)||10,s=parseFloat(f.marginBottom)||10,t=parseFloat(f.minHeight)||100,u=aS(g),w=h.documentElement.clientHeight-r-s,y=h.documentElement.clientWidth,z=w-j.bottom+l,A="rtl"===x?j.right-k.width:j.left,B=0;if(c&&d){let a=aV(d.getBoundingClientRect(),i);b=aV(c.getBoundingClientRect(),i),A=k.left+("rtl"===x?a.right-b.right:a.left-b.left);let e=a.top-j.top+a.height/2;B=b.top-k.top+b.height/2-e}let C=z+B+s+q,D=Math.min(w,C),E=w-r-s,F=C-D;N.style.left=`${O(A,5,y-5-k.width)}px`,N.style.height=`${D}px`,N.style.maxHeight="none",N.style.marginTop=`${r}px`,N.style.marginBottom=`${s}px`,a.style.height="100%";let G=aT(n),H=F>=G-1;H&&(D=Math.min(w,k.height)-(F-G));let I=j.top<20||j.bottom>w-20||Math.ceil(D)+1<Math.min(o,t),J=(e.visualViewport?.scale??1)!==1&&aE.platform.engine.webkit;if(I||J){aw(N,S.current),v(!1);return}let K=Math.max(t,D);if(H){let a=Math.max(0,w-C);N.style.top=k.height>=E?"0":`${a}px`,N.style.height=`${D}px`,n.scrollTop=aT(n)}else N.style.bottom="0",n.scrollTop=F;if(b){let c=k.top,d=k.height,e=b.top+b.height/2,f=O(d>0?(e-c)/d*100:50,0,100);a.style.setProperty(aP,`50% ${f}%`)}(K===w||D>=u)&&(Q.current=!0),m.context.handleScrollArrowVisibility(n),p&&null===m.state.selectedIndex&&null===m.state.activeIndex&&null!=m.context.listRef.current[0]&&m.set("activeIndex",0)}finally{b()}},[m,E,N,M,t,v,U,P,p,x,u]),c.useEffect(()=>{if(!t||!N||!E)return;let a=(0,aF.ownerWindow)(N);return(0,aD.addEventListener)(a,"resize",function(a){m.context.setOpen(!1,(0,I.createChangeEventDetails)(J.REASONS.windowResize,a))})},[m,t,N,E]);let W={...P?{role:"presentation"}:{role:"listbox","aria-multiselectable":n||void 0,"aria-readonly":o||void 0,id:`${D}-list`},onKeyDown(a){w&&aL.COMPOSITE_KEYS.has(a.key)&&a.stopPropagation()},onScroll(a){P||V(a.currentTarget)},...t&&{style:P?{height:"100%"}:ax},className:!P&&t?aJ:void 0},X=(0,T.useRenderElement)("div",a,{ref:[d,m.context.popupRef],state:{open:E,transitionStatus:L,side:r,align:s},stateAttributesMapping:aQ,props:[H,W,(0,aM.getDisabledMountTransitionStyles)(L),j]});return(0,b.jsxs)(c.Fragment,{children:[!C&&(e=B,(0,b.jsx)("style",{nonce:e,href:aJ,precedence:"base-ui:low",children:`.${aJ}{scrollbar-width:none}.${aJ}::-webkit-scrollbar{display:none}`})),(0,b.jsx)(aH.FloatingFocusManager,{context:q,modal:!1,disabled:!G,openInteractionType:F,returnFocus:i,restoreFocus:!0,children:X})]})});function aS(a){let b=a.maxHeight;return b.endsWith("px")&&parseFloat(b)||1/0}function aT(a){return P(a.scrollHeight,a.clientHeight)}function aU(a){return aI.platform.getScale(a)}function aV(a,b){return(0,aC.rectToClientRect)({x:a.x/b.x,y:a.y/b.y,width:a.width/b.x,height:a.height/b.y})}let aW=[["transform","none"],["scale","1"],["translate","0 0"]],aX=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=y(),{multiple:h,readOnly:i}=z(),{alignItemWithTriggerActive:j}=at(),k=g.useState("hasScrollArrows"),l=g.useState("openMethod"),m=g.useState("id"),n={id:`${m}-list`,role:"listbox","aria-multiselectable":h||void 0,"aria-readonly":i||void 0,onScroll(a){g.context.scrollHandlerRef.current?.(a.currentTarget)},...j&&{style:ax},className:k&&"touch"!==l?aJ:void 0},o=g.useStateSetter("listElement");return(0,T.useRenderElement)("div",a,{ref:[b,o],props:[n,f]})});var aY=a.i(92403);let aZ=c.createContext(void 0);function a$(){let a=c.useContext(aZ);if(!a)throw Error((0,u.default)(57));return a}var a_=a.i(14209);let a0=c.memo(c.forwardRef(function(a,d){let{render:e,className:f,style:g,value:h=null,label:i,disabled:j=!1,nativeButton:l=!1,...m}=a,n=c.useRef(null),o=(0,aY.useCompositeListItem)({guess:!0,label:i,textRef:n}),p=y(),{itemProps:q,multiple:r,disabled:s,readOnly:t}=z(),u=s||j,v=p.useState("isActive",o.index),w=p.useState("open"),x=p.useState("isSelected",h),A=p.useState("isSelectedByFocus",o.index),B=p.useState("isItemEqualToValue"),C=o.index,D=c.useRef(null);(0,k.useIsoLayoutEffect)(()=>{let a=p.context.valuesRef.current;return a[C]=h,()=>{delete a[C]}},[C,h,p]),(0,k.useIsoLayoutEffect)(()=>{let a,b=p.state.value,c=p.state.selectedIndex,d=c;r&&Array.isArray(b)?(a=(d=(0,F.resolveSelectedIndex)(C,h,p.context.valuesRef.current,b,B,c))===C,C!==c||a||(p.context.selectedItemTextRef.current=null)):(a=void 0!==b&&(0,F.compareItemEquality)(h,b,B))&&(d=C),p.set("selectedIndex",d),a&&n.current&&(p.context.selectedItemTextRef.current=n.current)},[C,r,B,p,h]);let E=c.useRef("mouse"),G=c.useRef(!1),{getButtonProps:H,buttonRef:K}=(0,ad.useButton)({disabled:u,focusableWhenDisabled:!0,native:l,composite:!0});function L(){p.context.selectionRef.current.dragY=0}let M=(0,T.useRenderElement)("div",a,{ref:[K,d,o.ref,D],state:{disabled:u,selected:x,highlighted:v},props:[q,{role:"option","aria-selected":x,tabIndex:w&&v?0:-1,onKeyDown(a){p.set("activeIndex",C)," "===a.key&&p.context.typingRef.current&&a.preventDefault()},onClick(a){let b="touch"!==E.current,c=a.nativeEvent.pointerType,d=b&&(0,a_.isVirtualClick)(a.nativeEvent)&&(void 0!==c||v),e=b&&!d&&!G.current;G.current=!1,u||e||function(a){if(s||t)return;let b=p.state.value;if(r){let c=Array.isArray(b)?b:[],d=x?(0,F.removeItem)(c,h,B):[...c,h];p.context.setValue(d,(0,I.createChangeEventDetails)(J.REASONS.itemPress,a))}else p.context.setValue(h,(0,I.createChangeEventDetails)(J.REASONS.itemPress,a)),p.context.setOpen(!1,(0,I.createChangeEventDetails)(J.REASONS.itemPress,a))}(a.nativeEvent)},onPointerEnter(a){E.current=a.pointerType},onPointerMove(a){if("mouse"===a.pointerType&&1===a.buttons){let b=p.context.selectionRef.current;b.dragY+=a.movementY,b.dragY**2>=64&&(b.allowUnselectedMouseUp=!0)}},onPointerDown(a){E.current=a.pointerType,G.current=!0,L()},onMouseUp(){if(L(),u||"touch"===E.current||G.current)return;let a=!p.context.selectionRef.current.allowSelectedMouseUp&&x,b=!p.context.selectionRef.current.allowUnselectedMouseUp&&!x;a||b||(G.current=!0,D.current?.click(),G.current=!1)}},m,H]}),N=c.useMemo(()=>({selected:x,index:C,textRef:n,selectedByFocus:A}),[x,C,n,A]);return(0,b.jsx)(aZ.Provider,{value:N,children:M})})),a1=c.forwardRef(function(a,c){let{selected:d}=a$();return a.keepMounted||d?(0,b.jsx)(a2,{...a,ref:c}):null}),a2=c.memo(c.forwardRef((a,b)=>{let{render:d,className:e,style:f,keepMounted:g,...h}=a,{selected:i}=a$(),j=c.useRef(null),{transitionStatus:k,setMounted:l}=(0,E.useTransitionStatus)(i),m=(0,T.useRenderElement)("span",a,{ref:[b,j],state:{selected:i,transitionStatus:k},props:[{"aria-hidden":!0,children:"✔️"},h],stateAttributesMapping:am.transitionStatusMapping});return(0,K.useOpenChangeComplete)({batch:!0,enabled:!i,open:i,ref:j,onComplete(){i||l(!1)}}),m})),a3=c.memo(c.forwardRef(function(a,b){let{index:d,textRef:e,selectedByFocus:f}=a$(),g=y(),{render:h,className:i,style:j,...k}=a,l=c.useCallback(a=>{a&&(0===d&&(g.context.firstItemTextRef.current=a),f&&(g.context.selectedItemTextRef.current=a))},[g,d,f]);return(0,T.useRenderElement)("div",a,{ref:[l,b,e],props:k})})),a4=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=y(),{side:h,align:i,arrowRef:j,arrowStyles:k,arrowUncentered:l,alignItemWithTriggerActive:m}=at(),n=g.useState("open"),o=(0,T.useRenderElement)("div",a,{state:{open:n,side:h,align:i,uncentered:l},ref:[j,b],props:[{style:k,"aria-hidden":!0},f],stateAttributesMapping:_.popupTransitionStateMapping});return m?null:o}),a5=c.forwardRef(function(a,b){let{render:c,className:d,style:e,direction:f,keepMounted:g,...h}=a,i="up"===f,j=y(),{side:l,scrollDownArrowRef:m,scrollUpArrowRef:n}=at(),o=j.useState(i?"scrollUpArrowVisible":"scrollDownArrowVisible"),p=j.useState("openMethod"),q=o&&"touch"!==p,r=(0,Z.useTimeout)(),s=i?n:m,{mounted:t,transitionStatus:u,setMounted:v}=(0,E.useTransitionStatus)(q);(0,k.useIsoLayoutEffect)(()=>(j.context.scrollArrowsMountedCountRef.current+=1,j.set("hasScrollArrows",!0),()=>{j.context.scrollArrowsMountedCountRef.current=Math.max(0,j.context.scrollArrowsMountedCountRef.current-1),0===j.context.scrollArrowsMountedCountRef.current&&j.set("hasScrollArrows",!1)}),[j]),(0,K.useOpenChangeComplete)({open:q,ref:s,onComplete(){q||v(!1)}});let w=(0,T.useRenderElement)("div",a,{ref:[b,s],state:{direction:f,visible:q,side:l,transitionStatus:u},props:[{"aria-hidden":!0,children:i?"▲":"▼",style:{position:"absolute"},onMouseMove(a){0===a.movementX&&0===a.movementY||r.isStarted()||(j.set("activeIndex",null),r.start(40,function a(){let b=j.state.listElement??j.context.popupRef.current;if(!b)return;j.set("activeIndex",null),j.context.handleScrollArrowVisibility(b);let c=P(b.scrollHeight,b.clientHeight),d=Q(b.scrollTop,c),e=d===(i?0:c),f=j.context.listRef.current;if(d!==b.scrollTop&&(b.scrollTop=d),e)return void r.clear();if(f.length>0){let a=s.current?.offsetHeight||0;b.scrollTop=function(a,b,c,d,e,f){if(b){let b=0,d=c+e-1;for(let c=0;c<a.length;c+=1){let e=a[c];if(e&&e.offsetTop>=d){b=c;break}}let g=Math.max(0,b-1),h=a[g];return g<b&&h?Q(h.offsetTop-e,f):0}let g=a.length-1,h=c+d-e+1;for(let b=0;b<a.length;b+=1){let c=a[b];if(c&&c.offsetTop+c.offsetHeight>h){g=Math.max(0,b-1);break}}let i=Math.min(a.length-1,g+1),j=a[i];return i>g&&j?Q(j.offsetTop+j.offsetHeight-d+e,f):f}(f,i,d,b.clientHeight,a,c)}r.start(40,a)}))},onMouseLeave(){r.clear()}},h],stateAttributesMapping:am.transitionStatusMapping});return t||g?w:null}),a6=c.forwardRef(function(a,c){return(0,b.jsx)(a5,{...a,ref:c,direction:"down"})}),a7=c.forwardRef(function(a,c){return(0,b.jsx)(a5,{...a,ref:c,direction:"up"})}),a8=c.createContext(void 0),a9=c.forwardRef(function(a,d){let{render:e,className:f,style:g,...h}=a,[i,j]=c.useState(),k=c.useMemo(()=>({labelId:i,setLabelId:j}),[i,j]),l=(0,T.useRenderElement)("div",a,{ref:d,props:[{role:"group","aria-labelledby":i},h]});return(0,b.jsx)(a8.Provider,{value:k,children:l})});var ba=a.i(557);let bb=c.forwardRef(function(a,b){let{render:d,className:e,style:f,id:g,...h}=a,{setLabelId:i}=function(){let a=c.useContext(a8);if(void 0===a)throw Error((0,u.default)(56));return a}(),j=(0,ba.useBaseUiId)(g);return(0,k.useIsoLayoutEffect)(()=>(i(j),()=>{i(a=>a===j?void 0:a)}),[j,i]),(0,T.useRenderElement)("div",a,{ref:b,props:[{id:j,"aria-hidden":!0},h]})}),bc=a.i(32330).ListboxSeparator;a.s(["Arrow",0,a4,"Backdrop",0,ao,"Group",0,a9,"GroupLabel",0,bb,"Icon",0,aj,"Item",0,a0,"ItemIndicator",0,a1,"ItemText",0,a3,"Label",0,X,"List",0,aX,"Popup",0,aR,"Portal",0,al,"Positioner",0,aB,"Root",0,function(a){let{id:u,value:y,defaultValue:z=null,onValueChange:A,open:O,defaultOpen:T=!1,onOpenChange:U,name:V,form:W,autoComplete:X,disabled:Y=!1,readOnly:Z=!1,required:$=!1,modal:_=!0,actionsRef:aa,inputRef:ab,onOpenChangeComplete:ac,items:ad,multiple:ae=!1,itemToStringLabel:af,itemToStringValue:ag,isItemEqualToValue:ah=F.defaultItemEquality,highlightItemOnHover:ai=!0,children:aj}=a,{clearErrors:ak}=(0,L.useFormContext)(),{setDirty:al,setTouched:am,setFocused:an,validityData:ao,setFilled:ap,name:aq,disabled:ar,validation:as,validationMode:at}=(0,B.useFieldRootContext)(),au=(0,D.useLabelableId)({id:u}),av=ar||Y,aw=aq??V,[ax,ay]=(0,j.useControlled)({controlled:y,default:ae?z??o.EMPTY_ARRAY:z,name:"Select",state:"value"}),[az,aA]=(0,j.useControlled)({controlled:O,default:T,name:"Select",state:"open"}),aB=c.useRef([]),aC=c.useRef([]),aD=c.useRef(null),aE=c.useRef(null),aF=c.useRef(0),aG=c.useRef(null),aH=c.useRef([]),aI=c.useRef(!1),aJ=c.useRef(null),aK=c.useRef(null),aL=c.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),aM=c.useRef(!1),aN=c.useRef(ax),{mounted:aO,setMounted:aP,transitionStatus:aQ}=(0,E.useTransitionStatus)(az),{openMethod:aR,triggerProps:aS}=(0,N.useOpenInteractionType)(az),aT=(0,f.useRefWithInit)(()=>new n.ReactStore({id:au,labelId:void 0,modal:_,multiple:ae,itemToStringLabel:af,itemToStringValue:ag,isItemEqualToValue:ah,value:ax,open:az,mounted:aO,transitionStatus:aQ,items:ad,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:o.EMPTY_OBJECT,triggerProps:o.EMPTY_OBJECT,triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1},{setValue:o.NOOP,setOpen:o.NOOP,handleScrollArrowVisibility:o.NOOP,onOpenChangeComplete:o.NOOP,listRef:aB,popupRef:aD,scrollHandlerRef:aE,scrollArrowsMountedCountRef:aF,valueRef:aG,valuesRef:aH,labelsRef:aC,typingRef:aI,selectionRef:aL,firstItemTextRef:aJ,selectedItemTextRef:aK,alignItemWithTriggerActiveRef:aM,initialValueRef:aN},H)).current,aU=aT.useState("activeIndex"),aV=aT.useState("selectedIndex"),aW=aT.useState("triggerElement"),aX=aT.useState("positionerElement"),aY=(0,h.usePreviousValue)(aR),aZ=aR??aY,a$=c.useMemo(()=>ae?"":(0,G.stringifyAsValue)(ax,ag),[ae,ax,ag]),a_=c.useMemo(()=>ae&&Array.isArray(ax)?ax.map(a=>(0,G.stringifyAsValue)(a,ag)):(0,G.stringifyAsValue)(ax,ag),[ae,ax,ag]),a0=(0,m.useValueAsRef)(aW),a1=(0,l.useStableCallback)(()=>a_);(0,C.useRegisterFieldControl)(a0,au,ax,a1,!av,V);let a2=ae?Array.isArray(ax)&&ax.length>0:null!=ax&&""!==a$;(0,k.useIsoLayoutEffect)(()=>{ap(a2)},[a2,ap]),(0,k.useIsoLayoutEffect)(function(){let a=(0,F.findSelectionIndex)(aH.current,ax,ah,ae);null===a&&(aK.current=null),az||aT.set("selectedIndex",a)},[ae,az,ax,ah,aT]),(0,M.useValueChanged)(ax,()=>{ak(aw),al((0,F.isSelectedValueDirty)(ax,ao.initialValue,ah)),as.change(ax)});let a3=(0,l.useStableCallback)((a,b)=>{U?.(a,b),!b.isCanceled&&(aA(a),a||b.reason!==J.REASONS.focusOut&&b.reason!==J.REASONS.outsidePress||(am(!0),an(!1),"onBlur"===at&&as.commit(ax)))}),a4=(0,l.useStableCallback)(()=>{aP(!1),aT.update({activeIndex:null,openMethod:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1}),ac?.(!1)});(0,K.useOpenChangeComplete)({enabled:!aa,open:az,ref:aD,onComplete(){az||a4()}}),c.useImperativeHandle(aa,()=>({unmount:a4}),[a4]);let a5=(0,l.useStableCallback)((a,b)=>{A?.(a,b),b.isCanceled||ay(a)}),a6=(0,l.useStableCallback)(a=>{let b=P(a.scrollHeight,a.clientHeight),c=Q(a.scrollTop,b);aT.set("scrollUpArrowVisible",c>0),aT.set("scrollDownArrowVisible",c<b)}),a7=(0,r.useFloatingRootContext)({open:az,onOpenChange:a3,elements:{reference:aW,floating:aX}}),a8=(0,p.useClick)(a7,{enabled:!av,event:"mousedown"}),a9=(0,q.useDismiss)(a7),ba=(0,s.useListNavigation)(a7,{enabled:!av,listRef:aB,activeIndex:aU,selectedIndex:aV,disabledIndices:o.EMPTY_ARRAY,onNavigate(a){(null!==a||az)&&aT.set("activeIndex",a)},focusItemOnHover:ai}),bb=(0,t.useTypeahead)(a7,{enabled:!av&&(az||!Z&&!ae),listRef:aC,activeIndex:aU,selectedIndex:aV,disabledIndices:a=>(0,i.isElementDisabled)(aB.current[a]),onMatch(a){az?aT.set("activeIndex",a):a5(aH.current[a],(0,I.createChangeEventDetails)(J.REASONS.none))},onTyping(a){aI.current=a}}),bc=c.useMemo(()=>(0,S.mergeProps)(bb.reference,ba.reference,a9.reference,a8.reference,aS),[a8.reference,bb.reference,ba.reference,a9.reference,aS]),bd=c.useMemo(()=>(0,S.mergeProps)(R.FOCUSABLE_POPUP_PROPS,bb.floating,ba.floating,a9.floating),[bb.floating,ba.floating,a9.floating]),be=ba.item??o.EMPTY_OBJECT;aT.useContextCallback("setValue",a5),aT.useContextCallback("setOpen",a3),aT.useContextCallback("handleScrollArrowVisibility",a6),aT.useContextCallback("onOpenChangeComplete",ac),(0,g.useOnFirstRender)(()=>{aT.update({popupProps:bd,triggerProps:bc})}),aT.useSyncedValues({id:au,modal:_,multiple:ae,value:ax,open:az,mounted:aO,transitionStatus:aQ,popupProps:bd,triggerProps:bc,items:ad,itemToStringLabel:af,itemToStringValue:ag,isItemEqualToValue:ah,openMethod:aZ});let bf=c.useMemo(()=>({disabled:av,readOnly:Z,required:$,multiple:ae,highlightItemOnHover:ai,itemProps:be}),[av,Z,$,ae,ai,be]),bg=(0,e.useMergedRefs)(ab,as.inputRef),bh=ae?void 0:aw,bi=c.useMemo(()=>ae&&Array.isArray(ax)&&aw?ax.map(a=>{let c=(0,G.stringifyAsValue)(a,ag);return(0,b.jsx)("input",{type:"hidden",form:W,name:aw,value:c,disabled:av},c)}):null,[ae,ax,W,aw,ag,av]);return(0,b.jsxs)(v.Provider,{value:aT,children:[(0,b.jsx)(w.Provider,{value:bf,children:(0,b.jsx)(x.Provider,{value:a7,children:aj})}),(0,b.jsx)("input",{...as.getValidationProps(av,{onFocus(){aT.state.triggerElement?.focus({focusVisible:!0})},onChange(a){if(a.nativeEvent.defaultPrevented||av||Z)return;let b=a.currentTarget.value,c=(0,I.createChangeEventDetails)(J.REASONS.none,a.nativeEvent);aT.set("forceMount",!0),queueMicrotask(function(){if(ae)return;let a=b.toLowerCase(),d=aH.current.findIndex(b=>(0,G.stringifyAsValue)(b,ag).toLowerCase()===a||(0,G.stringifyAsLabel)(b,af).toLowerCase()===a);-1===d&&(d=aH.current.findIndex((b,c)=>{let d=aC.current[c];return null!=d&&d.toLowerCase()===a}));let e=aH.current[d];null!=e&&a5(e,c)})}}),id:au&&null==bh?`${au}-hidden-input`:void 0,form:W,name:bh,autoComplete:X,value:a$,disabled:av,required:$&&!(ae&&a2),readOnly:Z,ref:bg,style:aw?d.visuallyHiddenInput:d.visuallyHidden,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),bi]})},"ScrollDownArrow",0,a6,"ScrollUpArrow",0,a7,"Separator",0,bc,"Trigger",0,ag,"Value",0,ai],22044);var bd=a.i(22044),bd=bd,be=a.i(187),bf=a.i(52562),bg=a.i(64831);let bh={name:"chevron-down",size:24,node:[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]};bh.node;let bi=(0,bg.default)(bh);var bj=a.i(80487);let bk=bd.Root,bl=(0,be.cva)("inline-flex w-fit shrink-0 items-center justify-between gap-1.5 rounded-md border border-input bg-card whitespace-nowrap text-foreground shadow-sm transition-[border-color,box-shadow] duration-(--duration-fast) outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/22 data-disabled:pointer-events-none data-disabled:opacity-45 data-popup-open:border-ring [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{size:{sm:"h-(--size-control-sm) px-2.5 text-meta [&_svg]:size-(--size-icon-sm)",touch:"h-(--size-control-touch) w-full rounded-lg px-3 text-body-touch [&_svg]:size-(--size-icon)"}},defaultVariants:{size:"sm"}});a.s(["Select",0,bk,"SelectContent",0,function({className:a,children:c,...d}){return(0,b.jsx)(bd.Portal,{children:(0,b.jsx)(bd.Positioner,{className:"isolate z-50 outline-none",sideOffset:4,alignItemWithTrigger:!1,children:(0,b.jsx)(bd.Popup,{"data-slot":"select-content",className:(0,bj.classNames)("max-h-(--available-height) min-w-(--anchor-width) origin-(--transform-origin) overflow-y-auto rounded-lg border border-border bg-popover p-1 text-popover-foreground shadow-lg duration-(--duration-fast) outline-none data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",a),...d,children:(0,b.jsx)(bd.List,{children:c})})})})},"SelectItem",0,function({className:a,children:c,...d}){return(0,b.jsxs)(bd.Item,{"data-slot":"select-item",className:(0,bj.classNames)("relative flex h-8.5 items-center gap-2.5 rounded-sm pr-8 pl-2.5 text-body text-foreground outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-45 data-highlighted:bg-accent",a),...d,children:[(0,b.jsx)(bd.ItemText,{children:c}),(0,b.jsx)(bd.ItemIndicator,{className:"absolute right-2.5 flex items-center",children:(0,b.jsx)(bf.Check,{"aria-hidden":!0,className:"size-(--size-icon)"})})]})},"SelectTrigger",0,function({className:a,size:c,children:d,...e}){return(0,b.jsxs)(bd.Trigger,{"data-slot":"select-trigger",className:(0,bj.classNames)(bl({size:c}),a),...e,children:[d,(0,b.jsx)(bd.Icon,{className:"flex text-muted-foreground",children:(0,b.jsx)(bi,{"aria-hidden":!0})})]})},"SelectValue",0,function(a){return(0,b.jsx)(bd.Value,{"data-slot":"select-value",...a})}],48136)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=packages_console_components_atoms_select_tsx_1v_3j3i._.js.map
|