@aeolus-fleet/console 0.19.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +6 -0
- package/.next/build-manifest.json +3 -3
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +40 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/squadrons/[procedure]/route.js +1 -1
- package/.next/server/app/api/squadrons/[procedure]/route.js.nft.json +1 -1
- package/.next/server/app/api/trierarch-plugin/[procedure]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/trierarch-plugin/[procedure]/route/build-manifest.json +12 -0
- package/.next/server/app/api/trierarch-plugin/[procedure]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/trierarch-plugin/[procedure]/route.js +6 -0
- package/.next/server/app/api/trierarch-plugin/[procedure]/route.js.nft.json +1 -0
- package/.next/server/app/api/trierarch-plugin/[procedure]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/health/route.js +1 -1
- package/.next/server/app/health/route.js.nft.json +1 -1
- package/.next/server/app/inbox/page.js.nft.json +1 -1
- package/.next/server/app/inbox/page_client-reference-manifest.js +1 -1
- package/.next/server/app/labels/page/app-paths-manifest.json +3 -0
- package/.next/server/app/labels/page/build-manifest.json +20 -0
- package/.next/server/app/labels/page/next-font-manifest.json +11 -0
- package/.next/server/app/labels/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/labels/page/server-reference-manifest.json +4 -0
- package/.next/server/app/labels/page.js +14 -0
- package/.next/server/app/labels/page.js.nft.json +1 -0
- package/.next/server/app/labels/page_client-reference-manifest.js +3 -0
- package/.next/server/app/needs-attention/page.js.nft.json +1 -1
- package/.next/server/app/needs-attention/page_client-reference-manifest.js +1 -1
- package/.next/server/app/needs-crew/page/app-paths-manifest.json +3 -0
- package/.next/server/app/needs-crew/page/build-manifest.json +20 -0
- package/.next/server/app/needs-crew/page/next-font-manifest.json +11 -0
- package/.next/server/app/needs-crew/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/needs-crew/page/server-reference-manifest.json +4 -0
- package/.next/server/app/needs-crew/page.js +14 -0
- package/.next/server/app/needs-crew/page.js.nft.json +1 -0
- package/.next/server/app/needs-crew/page_client-reference-manifest.js +3 -0
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/ships/[shipId]/page.js.nft.json +1 -1
- package/.next/server/app/ships/[shipId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sign-in/failed/page.js.nft.json +1 -1
- package/.next/server/app/sign-in/failed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sign-in/page.js.nft.json +1 -1
- package/.next/server/app/sign-in/page_client-reference-manifest.js +1 -1
- package/.next/server/app/squadrons/[squadronId]/page.js.nft.json +1 -1
- package/.next/server/app/squadrons/[squadronId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/squadrons/blueprints/[name]/page.js.nft.json +1 -1
- package/.next/server/app/squadrons/blueprints/[name]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/squadrons/connection/route.js +3 -3
- package/.next/server/app/squadrons/connection/route.js.nft.json +1 -1
- package/.next/server/app/squadrons/page.js.nft.json +1 -1
- package/.next/server/app/squadrons/page_client-reference-manifest.js +1 -1
- package/.next/server/app/squadrons/templates/[name]/page.js.nft.json +1 -1
- package/.next/server/app/squadrons/templates/[name]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/trierarch-plugin/connection/route/app-paths-manifest.json +3 -0
- package/.next/server/app/trierarch-plugin/connection/route/build-manifest.json +12 -0
- package/.next/server/app/trierarch-plugin/connection/route/server-reference-manifest.json +4 -0
- package/.next/server/app/trierarch-plugin/connection/route.js +8 -0
- package/.next/server/app/trierarch-plugin/connection/route.js.nft.json +1 -0
- package/.next/server/app/trierarch-plugin/connection/route_client-reference-manifest.js +3 -0
- package/.next/server/app/trierarchs/[shipId]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/trierarchs/[shipId]/page/build-manifest.json +20 -0
- package/.next/server/app/trierarchs/[shipId]/page/next-font-manifest.json +11 -0
- package/.next/server/app/trierarchs/[shipId]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/trierarchs/[shipId]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/trierarchs/[shipId]/page.js +14 -0
- package/.next/server/app/trierarchs/[shipId]/page.js.nft.json +1 -0
- package/.next/server/app/trierarchs/[shipId]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/trierarchs/page/app-paths-manifest.json +3 -0
- package/.next/server/app/trierarchs/page/build-manifest.json +20 -0
- package/.next/server/app/trierarchs/page/next-font-manifest.json +11 -0
- package/.next/server/app/trierarchs/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/trierarchs/page/server-reference-manifest.json +4 -0
- package/.next/server/app/trierarchs/page.js +14 -0
- package/.next/server/app/trierarchs/page.js.nft.json +1 -0
- package/.next/server/app/trierarchs/page_client-reference-manifest.js +3 -0
- package/.next/server/app/version/route.js +3 -2
- package/.next/server/app/version/route.js.nft.json +1 -1
- package/.next/server/app-paths-manifest.json +6 -0
- package/.next/server/chunks/04lx_next-internal_server_app_api_trierarch-plugin_[procedure]_route_actions_0pov8t_.js +3 -0
- package/.next/server/chunks/1eui__next-internal_server_app_trierarch-plugin_connection_route_actions_1jgdi18.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0w2mqex._.js → [root-of-the-server]__14rtv1n._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1c6takz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1f7engf._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1f_8ohl._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1h3r48l._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1kc3njk._.js +3 -0
- package/.next/server/chunks/_0h366h9._.js +3 -0
- package/.next/server/chunks/packages_console_lib_connect-plugin_ts_197hf-1._.js +3 -0
- package/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_trierarchs_[shipId]_page_actions_0e_rw4u.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0qbhnxj._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18derwo._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18g_7b-._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1m1u7bl._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1uan58j._.js +3 -3
- package/.next/server/chunks/ssr/_06c6zlg._.js +3 -0
- package/.next/server/chunks/ssr/{_0plfddz._.js → _0dogq79._.js} +2 -2
- package/.next/server/chunks/ssr/_0exrpxl._.js +3 -0
- package/.next/server/chunks/ssr/_0gt230s._.js +3 -0
- package/.next/server/chunks/ssr/_0rvujxo._.js +3 -0
- package/.next/server/chunks/ssr/{_00yiulp._.js → _0s2b6hb._.js} +2 -2
- package/.next/server/chunks/ssr/{_050suap._.js → _0sko-kt._.js} +2 -2
- package/.next/server/chunks/ssr/_0snpwr0._.js +3 -0
- package/.next/server/chunks/ssr/{_0igx2qf._.js → _0sv2xqb._.js} +2 -2
- package/.next/server/chunks/ssr/_0udw2gs._.js +3 -0
- package/.next/server/chunks/ssr/_0wr_wnm._.js +3 -0
- package/.next/server/chunks/ssr/{_0-rsrfr._.js → _0wtj0e-._.js} +2 -2
- package/.next/server/chunks/ssr/_0xc3etp._.js +3 -0
- package/.next/server/chunks/ssr/_0xi2v5k._.js +3 -0
- package/.next/server/chunks/ssr/_0xvm1ng._.js +3 -0
- package/.next/server/chunks/ssr/_0ziovn_._.js +3 -0
- package/.next/server/chunks/ssr/_11cgy8n._.js +3 -0
- package/.next/server/chunks/ssr/_1442xyx._.js +3 -0
- package/.next/server/chunks/ssr/_14rijy-._.js +3 -0
- package/.next/server/chunks/ssr/_16jiag3._.js +3 -0
- package/.next/server/chunks/ssr/_17u4fan._.js +3 -0
- package/.next/server/chunks/ssr/_181kpys._.js +3 -0
- package/.next/server/chunks/ssr/_19e0e-9._.js +3 -3
- package/.next/server/chunks/ssr/_1_h504-._.js +3 -0
- package/.next/server/chunks/ssr/_1al_cqt._.js +3 -0
- package/.next/server/chunks/ssr/_1bmk6y_._.js +3 -0
- package/.next/server/chunks/ssr/_1cn9_0f._.js +3 -0
- package/.next/server/chunks/ssr/_1d6cgif._.js +3 -0
- package/.next/server/chunks/ssr/_1ejhqt9._.js +3 -0
- package/.next/server/chunks/ssr/_1ezhc7m._.js +3 -0
- package/.next/server/chunks/ssr/_1g2wuzd._.js +1 -1
- package/.next/server/chunks/ssr/_1hcta3c._.js +3 -0
- package/.next/server/chunks/ssr/_1kv8ma5._.js +3 -0
- package/.next/server/chunks/ssr/{_1s07u90._.js → _1lu1eda._.js} +2 -2
- package/.next/server/chunks/ssr/_1ntb2un._.js +3 -0
- package/.next/server/chunks/ssr/_1ommvbv._.js +3 -0
- package/.next/server/chunks/ssr/_1on9mjs._.js +3 -0
- package/.next/server/chunks/ssr/_1oofkty._.js +3 -0
- package/.next/server/chunks/ssr/_1r6ce_7._.js +3 -0
- package/.next/server/chunks/ssr/{_1s8-j5t._.js → _1ub6rp3._.js} +2 -2
- package/.next/server/chunks/ssr/_208q2q8._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0kq7z60._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_03isfmy._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_0edevze._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_0oso305._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_0y7h5dm._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_10fqil_._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_1stwpsk._.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_labels_page_actions_0-7_20w.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_needs-crew_page_actions_0rw7fgn.js +3 -0
- package/.next/server/chunks/ssr/packages_console__next-internal_server_app_trierarchs_page_actions_1zds6hw.js +3 -0
- package/.next/server/chunks/ssr/packages_console_app_inbox_page_tsx_1bpmlpx._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_app_labels_page_tsx_0xxovjk._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_app_needs-attention_page_tsx_1agfico._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_app_page_tsx_16ln4px._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_app_providers_tsx_06ai92n._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_app_settings_page_tsx_1zqt7sk._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_app_ships_[shipId]_page_tsx_0fudjay._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_app_squadrons_[squadronId]_page_tsx_1umxs1g._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_app_squadrons_page_tsx_1w6ym6z._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_app_trierarchs_[shipId]_page_tsx_1rqyoj3._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_components_1-5gwzg._.js +3 -0
- package/.next/server/chunks/ssr/packages_console_components_atoms_select_tsx_1v_3j3i._.js +1 -1
- package/.next/server/chunks/ssr/packages_console_components_organisms_form-squadron_tsx_1-qlsje._.js +3 -0
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +16 -0
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/038sk3qwghvto.js +1 -0
- package/.next/static/chunks/0f5-vxw1bk8ym.js +1 -0
- package/.next/static/chunks/0y1nvhxr03jkb.js +1 -0
- package/.next/static/chunks/{2ff-56ohrio7h.js → 0z1nza3zgavbi.js} +1 -1
- package/.next/static/chunks/177iv_tzmr_0a.js +1 -0
- package/.next/static/chunks/1auwxv_urmljv.js +1 -0
- package/.next/static/chunks/1bvfk_-_enrxp.js +1 -0
- package/.next/static/chunks/1ct431l_sosvm.js +1 -0
- package/.next/static/chunks/1h0f7mfr5wxsj.js +1 -0
- package/.next/static/chunks/1zuzmwfsw_7q0.js +1 -0
- package/.next/static/chunks/21y50ct8e_pis.js +1 -0
- package/.next/static/chunks/25amuen1qm2o7.js +1 -0
- package/.next/static/chunks/26dg2z_6kosr0.js +1 -0
- package/.next/static/chunks/28j4p-34f5axr.js +1 -0
- package/.next/static/chunks/28vyyv4krlzx3.js +1 -0
- package/.next/static/chunks/2b-ho-tbr3sac.js +1 -0
- package/.next/static/chunks/2r01e5tqyyrsv.js +1 -0
- package/.next/static/chunks/2r2aklt62ojhs.js +1 -0
- package/.next/static/chunks/2spn0c35v7c1b.js +1 -0
- package/.next/static/chunks/2wnrtdpkhbd_j.js +1 -0
- package/.next/static/chunks/{0hl9b82m3b_kf.js → 2zu1o4z0tmf0-.js} +1 -1
- package/.next/static/chunks/3061rp6nl670n.js +1 -0
- package/.next/static/chunks/32oc7qg77tpjj.js +1 -0
- package/.next/static/chunks/36_a72wj7_f-y.js +1 -0
- package/.next/static/chunks/3ba10-qig9f07.js +1 -0
- package/.next/static/chunks/3drxrwegn5v1p.css +3 -0
- package/.next/static/chunks/3jhje-hiar2ex.js +1 -0
- package/.next/static/chunks/3jsj5ozfio3me.js +1 -0
- package/.next/static/chunks/3pkfx52bufv4g.js +1 -0
- package/.next/static/chunks/3pu5ywtisj_fp.js +1 -0
- package/.next/static/chunks/{2z2hhi291ems4.js → 3splvoavlf-cc.js} +12 -12
- package/.next/static/chunks/{2quoh5csh67oz.js → 3t2amxc2hojri.js} +1 -1
- package/.next/static/chunks/3vl7dc6v-u8w0.js +1 -0
- package/.next/static/chunks/3x_52f9if0z-8.js +1 -0
- package/.next/static/chunks/3z61krti-vbu2.js +1 -0
- package/.next/static/chunks/{1cbzjk-qf984o.js → 414186x82sxkk.js} +1 -1
- package/.next/static/chunks/42y_hgylfwlq5.js +1 -0
- package/README.md +1 -0
- package/package.json +3 -3
- package/.next/server/chunks/[root-of-the-server]__0eg7gro._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11ajlfh._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1w1vtvn._.js +0 -3
- package/.next/server/chunks/_1mul6_v._.js +0 -3
- package/.next/server/chunks/ssr/_01eh2h5._.js +0 -3
- package/.next/server/chunks/ssr/_05wjy-d._.js +0 -3
- package/.next/server/chunks/ssr/_09pq8b7._.js +0 -3
- package/.next/server/chunks/ssr/_0_6abve._.js +0 -3
- package/.next/server/chunks/ssr/_0aqa8e3._.js +0 -3
- package/.next/server/chunks/ssr/_0c1ebla._.js +0 -3
- package/.next/server/chunks/ssr/_0g98qoq._.js +0 -3
- package/.next/server/chunks/ssr/_0k0kffc._.js +0 -3
- package/.next/server/chunks/ssr/_0ksc8ky._.js +0 -3
- package/.next/server/chunks/ssr/_0nxk8e5._.js +0 -3
- package/.next/server/chunks/ssr/_0sh180u._.js +0 -3
- package/.next/server/chunks/ssr/_0t1jjxf._.js +0 -3
- package/.next/server/chunks/ssr/_0vz-_zq._.js +0 -3
- package/.next/server/chunks/ssr/_0y_ez3b._.js +0 -3
- package/.next/server/chunks/ssr/_0zz00ec._.js +0 -3
- package/.next/server/chunks/ssr/_101_mtq._.js +0 -3
- package/.next/server/chunks/ssr/_10vocmg._.js +0 -3
- package/.next/server/chunks/ssr/_16klr-g._.js +0 -3
- package/.next/server/chunks/ssr/_1_hm4gt._.js +0 -3
- package/.next/server/chunks/ssr/_1c2ijn5._.js +0 -3
- package/.next/server/chunks/ssr/_1jgnfkf._.js +0 -3
- package/.next/server/chunks/ssr/_1m_b36m._.js +0 -3
- package/.next/server/chunks/ssr/_1pif908._.js +0 -3
- package/.next/server/chunks/ssr/_20fp5al._.js +0 -3
- package/.next/server/chunks/ssr/packages_console_components_1_4zc74._.js +0 -3
- package/.next/static/chunks/04p19br-6pr3q.js +0 -1
- package/.next/static/chunks/05xsztb02v-3h.js +0 -1
- package/.next/static/chunks/0atm4wesk-4u8.js +0 -1
- package/.next/static/chunks/0es5vdu6lt-lm.css +0 -3
- package/.next/static/chunks/0jkliy--t1bbh.js +0 -1
- package/.next/static/chunks/0nchi43nyih52.js +0 -1
- package/.next/static/chunks/0oh4dxohbk7m8.js +0 -1
- package/.next/static/chunks/0w8wux_7extu3.js +0 -1
- package/.next/static/chunks/0xdkx7wg739q7.js +0 -1
- package/.next/static/chunks/1q-shkfypoia-.js +0 -1
- package/.next/static/chunks/1t5mkoni0wrc0.js +0 -1
- package/.next/static/chunks/21py3ha_f_e3-.js +0 -1
- package/.next/static/chunks/22wd2oyjf0iq_.js +0 -1
- package/.next/static/chunks/2mvb-x6v93lfc.js +0 -1
- package/.next/static/chunks/2t6jzvnrf9ejw.js +0 -1
- package/.next/static/chunks/32-17dotvltga.js +0 -1
- package/.next/static/chunks/3m4-wgj579r4x.js +0 -1
- package/.next/static/chunks/3tsjbqptivphr.js +0 -1
- package/.next/static/chunks/42-u_9nvmdste.js +0 -1
- /package/.next/static/{4BHf_wBvFUce1tC4Uw_GD → tBoOmC5nKBL5eqDmRV5Vd}/_buildManifest.js +0 -0
- /package/.next/static/{4BHf_wBvFUce1tC4Uw_GD → tBoOmC5nKBL5eqDmRV5Vd}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{4BHf_wBvFUce1tC4Uw_GD → tBoOmC5nKBL5eqDmRV5Vd}/_ssgManifest.js +0 -0
|
@@ -1,3 +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)}];
|
|
1
|
+
module.exports=[33634,a=>{"use strict";var b=a.i(87924),c=a.i(31247),d=a.i(38246),e=a.i(50944),f=a.i(72131),g=a.i(12068),h=a.i(15439),i=a.i(2549),j=a.i(83786),k=a.i(68698),l=a.i(56987),m=a.i(26268),n=a.i(88931),o=a.i(80487);let p={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 q({label:a,shortLabel:c,value:e,detail:f,href:g,icon:h,tone:i,testId:j}){return(0,b.jsxs)(d.default,{href:g,"data-testid":j,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,o.classNames)("flex size-6.5 shrink-0 items-center justify-center rounded-md border max-sm:size-5.5",p[i]),children:(0,b.jsx)(h,{"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:e}),(0,b.jsx)("span",{className:"truncate text-meta text-muted-foreground",children:f})]})}var r=a.i(90146),s=a.i(10023),t=a.i(68450),u=a.i(72872);function v(a){return a.filter(a=>"agent"===a.kind&&"retired"!==a.status)}function w(){var a;let c,d,e,f,g=(0,r.useFleetSnapshot)(),h=(0,s.useNeedsAttention)(),i=(0,s.useAttentionCount)(),j=(0,t.useNow)();if(!g.data)return null;let k=(e=(d=(c=v((a={ships:g.data,undeliverable:h.data??[],now:j}).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,u.duration)(e.since,a.now)},oldestUndeliverable:f&&(0,u.duration)(f,a.now)});return 0===k.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)(q,{label:"Ships crewed",shortLabel:"Crewed",value:k.crewedCount,detail:`of ${String(k.activeCount)} active ships`,href:"/?status=crewed",icon:n.UserCheck,tone:"ok",testId:"overview-crewed"}),(0,b.jsx)(q,{label:"Awaiting crew",value:k.awaitingCount,detail:k.longestWait?`Longest wait: ${k.longestWait.name}, ${k.longestWait.wait}`:"Every active ship is crewed",href:"/?status=awaitingCrew",icon:l.CircleDashed,tone:"waiting",testId:"overview-awaiting"}),(0,b.jsx)(q,{label:"Needs attention",value:i??0,detail:k.oldestUndeliverable?`Undeliverable deliveries, oldest ${k.oldestUndeliverable}`:"Nothing needs you",href:"/needs-attention",icon:m.TriangleAlert,tone:"attention",testId:"overview-attention"})]})}var x=a.i(3512),y=a.i(96082),z=a.i(82611),A=a.i(88191),B=a.i(64906),C=a.i(47468),D=a.i(82252),E=a.i(54763),F=a.i(12540),G=a.i(93454);a.i(23600);var H=a.i(97011),I=a.i(69040),J=a.i(97024),K=a.i(73370),L=a.i(11708),M=a.i(18691),N=a.i(78398),O=a.i(18441),P=a.i(2374),Q=a.i(75297),R=a.i(45098),S=a.i(45469),T=a.i(72309),U=a.i(71251),V=a.i(40392),W=a.i(21521);let X={"fleet:read":"Read the fleet","fleet:manage":"Manage the fleet","crew:assign":"Assign crews","crew:run":"Run crews","labels:define":"Define labels","labels:assign":"Assign labels"};function Y({activeShips:a,isPending:d,error:e,shipLimit:h,accountUrl:i,crewRequest:j,onSubmit:k}){let l=(0,f.useId)(),m=(0,f.useId)(),n=(0,f.useId)(),p=(0,f.useId)(),q=(0,f.useId)(),r=(0,f.useId)(),[s,t]=(0,f.useState)(""),[u,v]=(0,f.useState)(""),[w,x]=(0,f.useState)(""),[z,A]=(0,f.useState)([]),[B,C]=(0,f.useState)(void 0!==j),[E,F]=(0,f.useState)(()=>(0,y.defaultValues)(j?.offers??[])),G=E.machineLabels.length>0&&j?.machineLabels?.matchOf(E.machineLabels).matching.length===0,P=(0,y.settingsOf)(E),Z=j?.check?.kind==="refused"?j.check:void 0,$=!B||void 0===j||void 0!==P&&void 0===Z&&(0,y.promptBytes)(E.firstPrompt)<=L.FIRST_PROMPT_MAX_BYTES,_=(0,M.checkShipName)(s,{activeNames:a.map(a=>a.name)}),aa="invalid"===_.kind||"reserved"===_.kind||"taken"===_.kind,ab=u.trim(),ac=I.shipHandleSchema.safeParse(ab).success,ad=""!==ab&&!ac,ae=[...new Set(a.map(a=>a.type))].sort(),af="available"===_.kind&&ac&&void 0===h&&$,ag=void 0!==j&&B;return(0,b.jsxs)("form",{noValidate:!0,"data-testid":"commission-form",className:"contents",onSubmit:a=>{a.preventDefault(),af&&k({name:s,type:ab,...""===w.trim()?{}:{note:w},...0===z.length?{}:{fleetScopes:[...z]}},B?void 0===j?{settings:{}}:void 0===P?void 0:{settings:P}:void 0)},children:[(0,b.jsxs)(O.DialogHeader,{children:[(0,b.jsx)(O.DialogTitle,{children:"Commission a ship"}),(0,b.jsx)(O.DialogDescription,{children:ag?"A durable identity with its own inbox, and a crew request so it gets a session right away.":"A ship is a durable agent identity with its own inbox. Next, you get the starting prompt."})]}),void 0===h?null:(0,b.jsx)(W.LimitNotice,{...(0,D.shipLimitNotice)(h),accountUrl:i,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)(R.Label,{htmlFor:l,children:"Name"}),(0,b.jsxs)("span",{className:"text-caption text-muted-foreground tabular-nums",children:[s.length," / ",I.SHIP_HANDLE_MAX_LENGTH]})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(Q.Input,{id:l,isMono:!0,autoComplete:"off",autoCapitalize:"off",spellCheck:!1,placeholder:"e.g. reviewer-02","data-testid":"commission-name","aria-invalid":!!aa||void 0,"aria-describedby":m,className:"pr-9 max-sm:h-(--size-control-touch) max-sm:text-input-touch",value:s,onChange:a=>{t((0,M.asHandle)(a.target.value))}}),"available"===_.kind?(0,b.jsx)(J.CircleCheck,{"aria-hidden":!0,className:"absolute top-1/2 right-3 size-(--size-icon) -translate-y-1/2 text-tone-ok-fg"}):aa?(0,b.jsx)(K.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:m,"aria-live":"polite",className:(0,o.classNames)("text-meta",aa?"text-destructive-text":"text-muted-foreground"),children:_.message})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(R.Label,{htmlFor:n,children:"Type"}),(0,b.jsx)(N.Combobox,{id:n,options:ae.map(a=>({value:a,label:a})),value:""===u?null:u,onValueChange:a=>{v(a??"")},isFreeText:!0,toQuery:M.asHandle,leadingIcon:(0,b.jsx)(c.Tag,{}),placeholder:"e.g. reviewer",isInvalid:ad,"aria-describedby":p,"data-testid":"commission-type"}),(0,b.jsx)("p",{id:p,className:(0,o.classNames)("text-meta",ad?"text-destructive-text":"text-muted-foreground"),children:ad?`Use 1 to ${String(I.SHIP_HANDLE_MAX_LENGTH)} lowercase letters, digits, hyphens or colons.`:(0,M.typeHint)(u,a.filter(a=>a.type===ab).length)})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(R.Label,{htmlFor:q,children:"Note (optional)"}),(0,b.jsx)(T.Textarea,{id:q,rows:2,"data-testid":"commission-note",value:w,onChange:a=>{x(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"}),H.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:[X[a]," ",(0,b.jsx)("span",{className:"font-mono text-id text-muted-foreground",children:a})]}),(0,b.jsx)(S.Switch,{checked:z.includes(a),onCheckedChange:b=>{A(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."})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border pt-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)(R.Label,{htmlFor:r,children:"Request a crew"}),(0,b.jsx)(S.Switch,{id:r,checked:B,onCheckedChange:C,"data-testid":"commission-request-crew"})]}),(0,b.jsx)("p",{className:"-mt-2 text-meta text-muted-foreground",children:void 0===j?`Puts ${""===s?"the ship":s} on your Needs crew list until you crew it by hand. You get its starting prompt next either way.`:"The trierarch plugin picks a trierarch that starts the session and keeps it crewed."}),ag?(0,b.jsx)(U.CrewSettingsFields,{offers:j.offers,values:E,onChange:a=>{F(a),j.onSettingsChange((0,y.settingsOf)(a))},squadrons:j.squadrons,refusal:Z,isDisabled:d,...void 0===j.machineLabels?{}:{machineLabels:{...j.machineLabels,shipName:""===s.trim()?"this ship":s.trim()}}}):null]}),void 0===e?null:(0,b.jsx)(V.InlineError,{title:"Not commissioned",description:e}),(0,b.jsxs)(O.DialogFooter,{className:"items-center",children:[void 0===j?null:(0,b.jsx)("span",{className:"mr-auto text-meta text-muted-foreground","data-testid":"commission-crew-note",children:B?G?"The request will wait for a machine with these labels.":j.check?.kind==="noRoom"?"The request will wait for room.":"Uncheck Request a crew to get the starting prompt instead.":null}),(0,b.jsx)(O.DialogClose,{render:(0,b.jsx)(g.Button,{type:"button",disabled:d}),children:"Cancel"}),(0,b.jsx)(g.Button,{type:"submit",variant:"primary",isLoading:d,disabled:!af,"data-testid":"commission-submit",children:d?"Commissioning":ag?"Commission and request crew":"Commission ship"})]})]})}function Z(a){let{isOpen:c,onOpenChange:d,isPending:e}=a;return(0,b.jsx)(O.Dialog,{open:c,onOpenChange:a=>{e||d(a)},children:(0,b.jsx)(O.DialogContent,{size:"md","data-testid":"commission-dialog",className:P.dialogSurface.phoneFullScreen,children:(0,b.jsx)(Y,{...a})})})}var $=a.i(44344);function _({isOpen:a,onOpenChange:c}){let d=(0,r.useFleetSnapshot)(),e=(0,B.useFleetLimits)(),h=(0,C.useHostedAccountUrl)(),i=(0,r.useCommissionShip)(),j=(0,r.useRequestCrew)(),k="connected"===(0,G.useTrierarchPluginConnection)(),l=(0,G.useMachines)(),m=(0,E.useSquadronsConnection)(),n=(0,F.useSquadrons)(),[o,p]=(0,f.useState)(!1),[q,s]=(0,f.useState)(null),t=(0,y.offersOf)(l.data??[]),u=(0,r.useLabelContext)(),v=void 0===u||void 0===l.data?void 0:(0,z.machineLabelsInputOf)(u,l.data),w=(0,G.useCrewSettingsCheck)(a&&k?null===q?(0,y.settingsOf)((0,y.defaultValues)(t)):q:void 0),H=(d.data??[]).filter(a=>"retired"!==a.status),I=(a,b)=>{i.mutate(a,{onSuccess:({shipId:d})=>{c(!1);let e=k&&void 0!==b;e||p(!0),void 0!==b&&j.mutate({shipId:d,settings:b.settings},{onSuccess:()=>{e&&(0,A.showToast)({title:`${a.name} commissioned, crew requested`,description:"The trierarch plugin assigns a trierarch that fits.",tone:"success"})},onError:b=>{(0,A.showToast)({title:`Couldn’t request a crew for ${a.name}`,description:`${b.message} The ship is commissioned; request a crew on its page.`,tone:"error"})}})}})};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Button,{variant:"primary",icon:(0,b.jsx)(x.Plus,{}),"data-testid":"fleet-commission",onClick:()=>{i.reset(),s(null),c(!0)},children:"Commission ship"}),(0,b.jsx)(Z,{activeShips:H,isOpen:a,onOpenChange:c,isPending:i.isPending,error:i.error?.message,shipLimit:(0,D.shipLimitReached)(e.data),accountUrl:h,...k?{crewRequest:{offers:t,squadrons:"connected"===m?(n.data??[]).filter(a=>"disbanded"!==a.state).map(a=>a.id):void 0,...void 0===v?{}:{machineLabels:v},check:w.data,onSettingsChange:s}}:{},onSubmit:(a,b)=>{let c={...a,idempotencyKey:crypto.randomUUID()};k&&void 0!==b?w.checkNow().catch(()=>void 0).then(a=>{a?.kind!=="refused"&&I(c,b)}).catch(()=>void 0):I(c,b)}}),(0,b.jsx)($.StartingPromptDialog,{shipName:i.variables?.name??"",state:"shown",prompt:i.data?.prompt??void 0,crewLines:i.data?.crewLines??void 0,isOpen:o&&void 0!==i.data,onOpenChange:a=>{a||(p(!1),i.reset())},onConfirm:()=>void 0})]})}var aa=a.i(64831);let ab={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"}]]};ab.node;let ac=(0,aa.default)(ab);var ad=a.i(74746),ae=a.i(98238),af=a.i(23063);let ag={ships:{label:"Ships",unit:"ships",Icon:ae.Ship},messages:{label:"Messages today",unit:"messages",Icon:ad.Send}},ah={below:"bg-primary",at:"bg-tone-waiting-fg",over:"bg-tone-attention-fg"},ai={at:"at-limit",over:"over-limit"};function aj({kind:a,count:c,limit:d,resetsAt:e}){let{label:f,unit:g,Icon:h}=ag[a],i=(0,D.meterState)({count:c,limit:d}),j=ai[i],k=(0,D.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)(af.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,D.meterCount)(c)}),(0,b.jsx)("span",{className:"text-body text-muted-foreground",children:null===d?g:`of ${(0,D.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)(ac,{"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,o.classNames)("block h-full rounded-full","none"===i?void 0:ah[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,D.resetTime)(e)}`]})]})]})}function ak(){let a=(0,B.useFleetLimits)().data,c=(0,C.useHostedAccountUrl)();return(0,D.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)(aj,{kind:"ships",count:a.ships.count,limit:a.ships.limit}),(0,b.jsx)(aj,{kind:"messages",count:a.dailyMessages.count,limit:a.dailyMessages.limit,resetsAt:a.dailyMessages.resetsAt})]})]}):null}var al=a.i(45065),am=a.i(8219);let an={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"}]]};an.node;let ao=(0,aa.default)(an);var ap=a.i(25039),aq=a.i(26766),ar=a.i(71094),as=a.i(33540);let at={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"}]]};at.node;let au=(0,aa.default)(at);var av=a.i(87005),aw=a.i(2811),ax=a.i(6071),ay=a.i(65230),az=a.i(60271);let aA={query:"",filters:{status:"all",crewRequest:"all",type:"all",squadron:"all",isRetiredShown:!1,labelValueIds:[]}},aB="status",aC="crew",aD="type",aE="squadron",aF="retired",aG="label";function aH(a,b){return[...new Set(a.filter(a=>b||"retired"!==a.status).map(a=>a.type))].toSorted((a,b)=>a.localeCompare(b))}function aI(a){return a.filter(a=>"retired"===a.status).length}function aJ(a){return[...new Set([...a.values()].map(a=>a.squadronId))].toSorted((a,b)=>a.localeCompare(b))}let aK={crewed:"Crewed",awaitingCrew:"Awaiting crew"};function aL(a){return aM(a).length+a.labelValueIds.length}function aM(a){return["all"===a.status?void 0:`Status: ${aK[a.status]}`,"all"===a.crewRequest?void 0:`Crew request: ${(0,az.crewRequestKeyWord)(a.crewRequest)}`,"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 aN=a.i(76166),aO=a.i(48136),aP=a.i(4838),aQ=a.i(77339),aR=a.i(24173),aS=a.i(36501);function aT({chips:a,width:c,testId:d}){if(0===a.length)return null;let{shown:e,folded:f}=(0,ay.rowChips)(a,c);return(0,b.jsxs)("span",{"data-testid":d,className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[e.map((a,c)=>(0,b.jsx)(aS.LabelChip,{chip:a,className:0===c?"min-w-0 shrink":void 0},a.valueId)),0===f.length?null:(0,b.jsxs)("span",{title:f.map(a=>`${a.key}=${a.value}`).join(", "),className:"inline-flex h-5.5 shrink-0 items-center rounded-sm bg-secondary px-1.5 text-caption font-medium text-foreground tabular-nums",children:["+",f.length,(0,b.jsx)("span",{className:"sr-only",children:" more labels"})]})]})}var aU=a.i(50808);let aV={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"}]]};aV.node;let aW=(0,aa.default)(aV),aX={name:"signal-low",size:24,node:[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}]]};aX.node;let aY=(0,aa.default)(aX),aZ={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"}]]};aZ.node;let a$=(0,aa.default)(aZ);a.s([],65156),a.i(65156);var a_=a.i(22050),a0=a.i(24715),a1=a.i(57738),a2=a.i(54662);let a3=f.createContext(void 0);function a4(a){let b=f.useContext(a3);if(void 0===b&&!a)throw Error((0,a2.default)(72));return b}var a5=a.i(68536),a6=a.i(54401),a7=a.i(26476),a8=a.i(30116),a9=a.i(14209);function ba(a){return null!=a&&null!=a.clientX}var bb=a.i(38939),bc=a.i(94552),bd=a.i(84204),be=a.i(32318),bf=a.i(17498),bg=a.i(7436),bh=a.i(14239),bi=a.i(17017),bj=a.i(51943);let bk={...bi.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 bl extends bf.ReactStore{constructor(a,b,c){const d=new bj.PopupTriggerMap;super(bm(a,d,b,c),bn(d),bk)}setOpen=(a,b)=>{(0,bd.applyPopupOpenChange)(this,a,b,{extraState:{openChangeReason:b.reason}})};cancelPendingOpen(a){this.state.floatingRootContext.dispatchOpenChange(!1,(0,bc.createChangeEventDetails)(bg.REASONS.triggerPress,a))}}function bm(a,b,c,d=!1){return{...(0,bi.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 bn(a){return{popupRef:f.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:a}}let bo=(0,a_.fastComponent)(function(a){let{disabled:c=!1,defaultOpen:d=!1,open:e,disableHoverablePopup:g=!1,trackCursorAxis:h="none",actionsRef:i,onOpenChange:j,onOpenChangeComplete:k,handle:l,triggerId:m,defaultTriggerId:n=null,children:o}=a,p=(0,bd.usePopupRootStore)((a,b)=>new bl({open:d,openProp:e,activeTriggerId:n,triggerIdProp:m},a,b));p.useControlledProp("openProp",e),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,bd.useImplicitActiveTrigger)(p,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:v,transitionStatus:w}=(0,bd.useOpenStateTransitions)(r,p),x=p.useState("isInstantPhase"),y=p.useState("instantType"),z=p.useState("lastOpenChangeReason"),A=f.useRef(null);(0,a1.useIsoLayoutEffect)(()=>{q&&c&&p.setOpen(!1,(0,bc.createChangeEventDetails)(bg.REASONS.disabled))},[q,c,p]),(0,a1.useIsoLayoutEffect)(()=>{"ending"===w&&z===bg.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,a1.useIsoLayoutEffect)(()=>{r&&null==s&&p.set("payload",void 0)},[p,s,r]),f.useImperativeHandle(i,()=>({unmount:v,close:()=>p.setOpen(!1,(0,bc.createChangeEventDetails)(bg.REASONS.imperativeAction))}),[v,p]);let B=r||t||!c&&"none"!==h;return(0,b.jsxs)(a3.Provider,{value:p,children:[l&&(0,b.jsx)(bd.PopupHandleAttachment,{handle:l,store:p}),B&&(0,b.jsx)(bp,{store:p,disabled:c,trackCursorAxis:h}),"function"==typeof o?o({payload:u}):o]})});function bp({store:a,disabled:b,trackCursorAxis:c}){let d=a.useState("floatingRootContext"),e=(0,bb.useDismiss)(d,{enabled:!b,referencePress:()=>a.select("closeOnClick")}),g=function(a,b={}){let{enabled:c=!0,axis:d="both"}=b,e="rootStore"in a?a.rootStore:a,g=e.useState("open"),h=e.useState("floatingElement"),i=e.useState("domReferenceElement"),j=e.context.dataRef,k=f.useRef(!1),l=f.useRef(null),[m,n]=f.useState(),[o,p]=f.useState([]),q=(0,a6.useStableCallback)(a=>{e.set("positionReference",a)}),r=(0,a6.useStableCallback)((a,b,c)=>{if(!k.current&&(!j.current.openEvent||ba(j.current.openEvent))){var f,g;let h,k,l;e.set("positionReference",(f=c??i,g={x:a,y:b,axis:d,dataRef:j,pointerType:m},h=null,k=null,l=!1,{contextElement:f||void 0,getBoundingClientRect(){let a=f?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},b="x"===g.axis||"both"===g.axis,c="y"===g.axis||"both"===g.axis,d=["mouseenter","mousemove"].includes(g.dataRef.current.openEvent?.type||"")&&"touch"!==g.pointerType,e=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,e=0,i=0,!l||d?(e="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&&!d&&(i="x"===g.axis?a.height:i,e="y"===g.axis?a.width:e),l=!0,{width:e,height:i,x:j,y:m,top:m,right:j+e,bottom:m+i,left:j}}}))}}),s=(0,a6.useStableCallback)(a=>{g?l.current||(r(a.clientX,a.clientY,a.currentTarget),p([])):r(a.clientX,a.clientY,a.currentTarget)}),t=(0,a9.isMouseLikePointerType)(m)?h:g;f.useEffect(()=>{if(!c)return void q(i);if(!t)return;function a(){l.current?.(),l.current=null}let b=(0,a7.getWindow)(h);return!j.current.openEvent||ba(j.current.openEvent)?l.current=(0,a5.addEventListener)(b,"mousemove",function(b){let c=(0,a8.getTarget)(b);(0,a8.contains)(h,c)?a():r(b.clientX,b.clientY)}):q(i),a},[t,c,h,j,i,e,r,q,o]),f.useEffect(()=>()=>{e.set("positionReference",null)},[e]),f.useEffect(()=>{c&&!h&&(k.current=!1)},[c,h]),f.useEffect(()=>{!c&&g&&(k.current=!0)},[c,g]);let u=f.useMemo(()=>{function a(a){n(a.pointerType)}return{onPointerDown:a,onPointerEnter:a,onMouseMove:s,onMouseEnter:s}},[s]);return f.useMemo(()=>c?{reference:u,trigger:u}:{},[c,u])}(d,{enabled:!b&&"none"!==c,axis:"none"===c?void 0:c}),h=f.useMemo(()=>(0,be.mergeProps)(g.reference,e.reference),[g.reference,e.reference]);return(0,bd.usePopupInteractionProps)(a,{activeTriggerProps:h,inactiveTriggerProps:h,popupProps:e.floating??a0.EMPTY_OBJECT}),null}var bq=a.i(36069),br=a.i(89862),bs=a.i(4478),bt=a.i(26184),bu=a.i(97151),bv=a.i(557);let bw=f.createContext(void 0);var bx=a.i(25003),by=a.i(85252);let bz=f.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new bq.Timeout,currentIdRef:{current:null},currentContextRef:{current:null}});function bA(a){let{children:c,delay:d,timeoutMs:e=0}=a,g=f.useRef(d),h=f.useRef(d),i=f.useRef(null),j=f.useRef(null),k=(0,bq.useTimeout)();return(0,a1.useIsoLayoutEffect)(()=>{if(h.current=d,!i.current){g.current=d;return}g.current={open:(0,by.getDelay)(g.current,"open"),close:(0,by.getDelay)(d,"close")}},[d,i,g,h]),(0,b.jsx)(bz.Provider,{value:f.useMemo(()=>({hasProvider:!0,delayRef:g,initialDelayRef:h,currentIdRef:i,timeoutMs:e,currentContextRef:j,timeout:k}),[e,k]),children:c})}var bB=a.i(84842),bC=a.i(5735),bD=a.i(72077),bE=a.i(63734);let bF="data-base-ui-tooltip-trigger";function bG(a){if("composedPath"in a){let b=a.composedPath();for(let a=0;a<b.length;a+=1){let c=b[a];if((0,a7.isElement)(c))return c}}let b=a.target;return(0,a7.isElement)(b)?b:null}let bH=(0,a_.fastComponentRef)(function(a,b){let{render:c,className:d,style:e,handle:g,payload:h,disabled:i,delay:j,closeOnClick:k=!0,closeDelay:l,id:m,...n}=a,o=a4(!0),p=(0,bu.usePopupHandleStore)(g)??o;if(!p)throw Error((0,a2.default)(82));let q=(0,bv.useBaseUiId)(m),r=p.useState("isTriggerActive",q),s=p.useState("isOpenedByTrigger",q),t=p.useState("floatingRootContext"),u=f.useRef(null),v=l??0,{registerTrigger:w,isMountedByThisTrigger:x}=(0,bd.useTriggerDataForwarding)(q,u,p,{payload:h,closeOnClick:k,closeDelay:v}),y=f.useContext(bw),{activeIdRef:z,delayRef:A,isInstantPhase:B,hasProvider:C}=function(a,b={open:!1}){let{open:c}=b,d="rootStore"in a?a.rootStore:a,e=d.useState("floatingId"),{currentIdRef:g,delayRef:h,timeoutMs:i,initialDelayRef:j,currentContextRef:k,hasProvider:l,timeout:m}=f.useContext(bz),[n,o]=f.useState(!1),p=f.useRef(c);return(0,a1.useIsoLayoutEffect)(()=>{p.current=c},[c]),(0,a1.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===e){if(o(!1),i)return m.start(i,()=>{d.select("open")||g.current&&g.current!==e||a()}),()=>{(p.current||g.current!==e)&&m.clear()};a()}},[c,e,g,h,i,j,k,m,d]),(0,a1.useIsoLayoutEffect)(()=>{if(!c)return;let a=k.current,b=g.current;m.clear(),k.current={onOpenChange:d.setOpen,setIsInstantPhase:o},g.current=e,h.current={open:0,close:(0,by.getDelay)(j.current,"close")},null!==b&&b!==e?(o(!0),a?.setIsInstantPhase(!0),a?.onOpenChange(!1,(0,bc.createChangeEventDetails)(bg.REASONS.none))):(o(!1),a?.setIsInstantPhase(!1))},[c,e,d,g,h,j,k,m]),(0,a1.useIsoLayoutEffect)(()=>()=>{g.current===e&&(k.current=null,p.current)&&(g.current=null,h.current=j.current,m.clear())},[k,g,h,e,j,m]),f.useMemo(()=>({activeIdRef:g,hasProvider:l,delayRef:h,isInstantPhase:n}),[g,l,h,n])}(t,{open:s}),D=(0,bD.useHoverInteractionSharedState)(t);p.useSyncedValue("isInstantPhase",B);let E=p.useState("disabled"),F=i??E,G=(0,br.useValueAsRef)(F),H=p.useState("trackCursorAxis"),I=p.useState("disableHoverablePopup"),J=f.useRef(!1),K=(0,bq.useTimeout)(),L=f.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(`[${bF}]`);if(a)return a;let c=b.getRootNode();b="host"in c&&(0,a7.isElement)(c.host)?c.host:null}return null}(a);return null!==c&&c!==b&&(0,a8.contains)(b,c)}let O=(0,bC.useHoverReferenceInteraction)(t,{enabled:!F,mouseOnly:!0,move:!1,handleClose:I||"both"===H?null:(0,bx.safePolygon)(),restMs:M,delay:()=>null==l&&C?{close:(0,by.getDelay)(A.current,"close")}:{close:v},triggerElementRef:u,isActiveTrigger:r,isClosing:()=>"ending"===p.select("transitionStatus"),shouldOpen:()=>!J.current}),P=(0,bB.useFocus)(t,{enabled:!F}).reference,Q=p.useState("triggerProps",x),R=x||"none"!==H;return(0,bt.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=bG(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,a8.contains)(f,d);if(e&&p.select("open")&&p.select("lastOpenChangeReason")===bg.REASONS.triggerHover)return p.setOpen(!1,(0,bc.createChangeEventDetails)(bg.REASONS.triggerHover,a));if(c&&!e&&g&&!G.current&&!p.select("open")&&f&&(0,a9.isMouseLikePointerType)(L.current)){let b=()=>{J.current||G.current||p.select("open")||p.setOpen(!0,(0,bc.createChangeEventDetails)(bg.REASONS.triggerHover,a,f))},c=M();0===c?(K.clear(),b()):K.start(c,b)}})(a.nativeEvent)},onFocus(a){N(bG(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,[bE.triggerDisabled]:F?"":void 0,[bF]:F?void 0:""},n],stateAttributesMapping:bs.triggerOpenStateMapping})}),bI=f.createContext(void 0);var bJ=a.i(35112),bK=a.i(54098);let bL=f.forwardRef(function(a,c){let{children:d,container:e,className:g,render:h,style:i,...j}=a,{node:k,subtree:l}=(0,bK.useFloatingPortalNode)({container:e,ref:c,componentProps:a,elementProps:j});return l||k?(0,b.jsxs)(f.Fragment,{children:[l,k&&bJ.createPortal(d,k)]}):null}),bM=f.forwardRef(function(a,c){let{keepMounted:d=!1,...e}=a;return a4().useState("mounted")||d?(0,b.jsx)(bI.Provider,{value:d,children:(0,b.jsx)(bL,{ref:c,...e})}):null}),bN=f.createContext(void 0);function bO(){let a=f.useContext(bN);if(void 0===a)throw Error((0,a2.default)(71));return a}var bP=a.i(44871),bQ=a.i(82204),bR=a.i(56011);let bS=f.forwardRef(function(a,c){let{render:d,className:e,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=bQ.POPUP_COLLISION_AVOIDANCE,style:s,...t}=a,u=a4(),v=function(){let a=f.useContext(bI);if(void 0===a)throw Error((0,a2.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,bP.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=f.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,bR.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)(bN.Provider,{value:E,children:G})});var bT=a.i(5687),bU=a.i(3861),bV=a.i(81673);let bW=f.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=a4(),{side:h,align:i}=bO(),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,bT.useOpenChangeComplete)({open:j,ref:g.context.popupRef,onComplete(){j&&g.context.onOpenChangeComplete?.(!0)}}),(0,bV.useHoverFloatingInteraction)(n,{enabled:!o,closeDelay:p});let q=g.useStateSetter("popupElement");return(0,bt.useRenderElement)("div",a,{state:{open:j,side:h,align:i,instant:k,transitionStatus:l},ref:[b,g.context.popupRef,q],props:[bd.FOCUSABLE_POPUP_PROPS,m,(0,bU.getDisabledMountTransitionStyles)(l),f],stateAttributesMapping:bs.popupTransitionStateMapping})}),bX=f.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=a4(),{arrowRef:h,side:i,align:j,arrowUncentered:k,arrowStyles:l}=bO(),m=g.useState("open"),n=g.useState("instantType");return(0,bt.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:bs.popupStateMapping})});var bY=a.i(62092);let bZ=f.forwardRef(function(a,b){let{render:c,className:d,style:e,children:f,...g}=a,h=a4(),i=bO(),j=h.useState("instantType"),{children:k,state:l}=(0,bY.usePopupViewport)({store:h,side:i.side,children:f}),m={activationDirection:l.activationDirection,transitioning:l.transitioning,instant:j};return(0,bt.useRenderElement)("div",a,{state:m,ref:b,props:[g,{children:k}],stateAttributesMapping:bY.popupViewportStateMapping})});var b$=a.i(4675);class b_ extends b$.BasePopupHandle{constructor(){super(function(){let a=new bj.PopupTriggerMap;return Object.assign(new bh.NullStore(Object.freeze(bm(void 0,a)),Object.freeze(bn(a)),bk),{setOpen:a0.NOOP,cancelPendingOpen:a0.NOOP})}(),"Tooltip")}open(a){this.openByTrigger(a)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}}a.s(["Arrow",0,bX,"Handle",0,b_,"Popup",0,bW,"Portal",0,bM,"Positioner",0,bS,"Provider",0,function(a){let{delay:c,closeDelay:d,timeout:e=400}=a,g=f.useMemo(()=>({open:c,close:d}),[c,d]);return(0,b.jsx)(bw.Provider,{value:c,children:(0,b.jsx)(bA,{delay:g,timeoutMs:e,children:a.children})})},"Root",0,bo,"Trigger",0,bH,"Viewport",0,bZ,"createHandle",0,function(){return new b_}],3191);var b0=a.i(3191),b0=b0;function b1(a){return(0,b.jsx)(b0.Root,{"data-slot":"tooltip",...a})}function b2(a){return(0,b.jsx)(b0.Trigger,{"data-slot":"tooltip-trigger",...a})}function b3({className:a,side:c="top",sideOffset:d=6,align:e="center",...f}){return(0,b.jsx)(b0.Portal,{children:(0,b.jsx)(b0.Positioner,{align:e,side:c,sideOffset:d,className:"isolate z-50 max-sm:hidden",children:(0,b.jsx)(b0.Popup,{"data-slot":"tooltip-content",className:(0,o.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 b4={fresh:{Icon:aW,tone:"text-tone-ok-fg"},while:{Icon:a$,tone:"text-muted-foreground"},long:{Icon:aY,tone:"text-tone-waiting-fg"}};function b5({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}=b4[g],j=(0,u.lastSeen)(f,c);return(0,b.jsxs)(b1,{children:[(0,b.jsx)(b2,{render:(0,b.jsx)("span",{role:"img","aria-label":j,"data-testid":d,"data-signal":g,className:(0,o.classNames)("inline-flex [&_svg]:size-(--size-icon) max-sm:[&_svg]:size-4",i)}),children:(0,b.jsx)(h,{"aria-hidden":!0})}),(0,b.jsx)(b3,{children:j})]})}var b6=a.i(40108);let b7={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"}]]};b7.node;let b8=(0,aa.default)(b7),b9={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"]};b9.node;let ca=(0,aa.default)(b9);function cb(a){return a.startsWith("@")||/@\d+\.\d+\.\d+$/.test(a)}function cc({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=cb(a.id),g=function(a,b){let c=new Date(a.statedAt),d=Math.max(0,b.getTime()-c.getTime()),e=cb(a.id)?"Software":"Model";if(d<6e4)return`${e}, stated ${String(Math.floor(d/1e3))} s ago`;let f=(0,u.relativeTime)(c,b);return`${e}, stated ${f.charAt(0).toLowerCase()}${f.slice(1)}`}(a,d);return(0,b.jsxs)(b1,{children:[(0,b.jsxs)(b2,{render:(0,b.jsx)("span",{"data-testid":e,"data-slot":"model-tag","data-software":f?"":void 0,className:(0,o.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?b8:ca,{"aria-hidden":!0}),(0,b.jsx)("span",{className:"truncate",children:a.id}),(0,b.jsxs)("span",{className:"sr-only",children:[", ",g]})]}),(0,b.jsx)(b3,{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})]})})]})}let cd={waiting:"bg-tone-waiting-fg",active:"bg-tone-active-fg",ok:"bg-tone-ok-fg",attention:"bg-tone-attention-fg"};function ce({cell:a,testId:c}){return void 0===a?(0,b.jsxs)("span",{className:"text-meta text-muted-foreground","data-testid":c,children:[(0,b.jsx)("span",{"aria-hidden":!0,children:"–"}),(0,b.jsx)("span",{className:"sr-only",children:"No crew request"})]}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-meta whitespace-nowrap","data-testid":c,children:[(0,b.jsx)("span",{"aria-hidden":!0,className:(0,o.classNames)("size-1.5 shrink-0 rounded-full",cd[a.tone])}),a.word]})}var cf=a.i(92717),cg=a.i(58523),ch=a.i(90468),ci=a.i(89027),cj=a.i(3894),ck=a.i(60275),cl=a.i(681);function cm({groups:a,picked:c,onPick:e,trigger:g}){let[h,i]=(0,f.useState)(!1);return(0,b.jsxs)(ck.Popover,{open:h,onOpenChange:i,children:[(0,b.jsx)(ck.PopoverTrigger,{render:g}),(0,b.jsxs)(ck.PopoverContent,{align:"start",sideOffset:6,className:"w-80 p-2","data-testid":"label-filter-popover",children:[(0,b.jsx)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:"Filter by label"}),(0,b.jsx)(cl.LabelPicker,{groups:a,pickedValueIds:c.map(a=>a.valueId),onPick:a=>{e(a),i(!1)}}),(0,b.jsxs)("p",{className:"mt-2 flex items-center justify-between gap-2 border-t border-border px-2 pt-2 text-meta text-muted-foreground",children:["Exact matches, all must hold.",(0,b.jsx)(d.default,{href:"/labels",className:"font-medium text-foreground hover:underline","data-testid":"label-filter-manage",children:"Manage labels"})]})]})]})}function cn({groups:a,picked:d,onPick:e}){return(0,b.jsx)(cm,{groups:a,picked:d,onPick:e,trigger:(0,b.jsxs)(g.Button,{variant:"secondary",size:"sm",icon:(0,b.jsx)(c.Tag,{}),"data-testid":"fleet-filter-labels",children:["Labels",0===d.length?null:(0,b.jsxs)("span",{className:"inline-flex size-5 items-center justify-center rounded-full bg-primary text-caption font-semibold text-primary-foreground tabular-nums",children:[d.length,(0,b.jsx)("span",{className:"sr-only",children:" picked"})]}),(0,b.jsx)(ci.ChevronDown,{"aria-hidden":!0,className:"text-muted-foreground"})]})})}function co({groups:a,picked:c,onPick:d,onRemove:e,onClear:f}){return 0===c.length?null:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1.5 text-meta max-sm:hidden","data-testid":"fleet-picked-labels",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Ships with"}),c.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[0===c?null:(0,b.jsx)("span",{className:"text-muted-foreground",children:"and"}),(0,b.jsx)(aS.LabelChip,{chip:a,testId:"fleet-picked-label",onRemove:()=>{e(a.valueId)}})]},a.valueId)),(0,b.jsx)(cm,{groups:a,picked:c,onPick:d,trigger:(0,b.jsx)(g.Button,{variant:"ghost",size:"xs",icon:(0,b.jsx)(x.Plus,{}),children:"Add"})}),(0,b.jsx)("span",{"aria-hidden":!0,className:"h-4 w-px bg-border"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"xs",onClick:f,"data-testid":"fleet-labels-clear",children:"Clear labels"})]})}function cp({groups:a,picked:c,onPick:e,onRemove:h}){let[i,j]=(0,f.useState)(!1);return(0,b.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"fleet-filter-labels-touch",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2 text-meta font-medium text-muted-foreground",children:["Labels ",(0,b.jsx)("span",{className:"font-normal",children:"all must hold"})]}),0===c.length?null:(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 text-meta",children:c.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[0===c?null:(0,b.jsx)("span",{className:"text-muted-foreground",children:"and"}),(0,b.jsx)(aS.LabelChip,{chip:a,onRemove:()=>{h(a.valueId)}})]},a.valueId))}),i?(0,b.jsx)("div",{className:"rounded-lg border border-border p-2",children:(0,b.jsx)(cl.LabelPicker,{groups:a,pickedValueIds:c.map(a=>a.valueId),size:"touch",onPick:a=>{e(a),j(!1)}})}):(0,b.jsx)(g.Button,{variant:"secondary",size:"touch",icon:(0,b.jsx)(x.Plus,{}),className:"self-start",onClick:()=>{j(!0)},children:"Add label"}),(0,b.jsxs)(d.default,{href:"/labels",className:"inline-flex items-center gap-1.5 self-start text-meta text-muted-foreground hover:underline [&_svg]:size-(--size-icon-sm)",children:[(0,b.jsx)(cj.Tags,{"aria-hidden":!0}),"All labels and their owners"]})]})}function cq(a,b){return{...a,filters:{...a.filters,labelValueIds:b}}}let cr={all:"All",crewed:"Crewed",awaitingCrew:"Awaiting crew"};function cs(a){return Object.hasOwn(cr,a)}let ct={all:"All",...Object.fromEntries(az.CREW_REQUEST_KEYS.map(a=>[a,(0,az.crewRequestKeyWord)(a)]))};function cu(a){return Object.hasOwn(ct,a)}function cv({ship:a,squadron:c,isPluginShip:d}){return"operator"===a.kind?(0,b.jsxs)(aN.Badge,{variant:"kind",children:[(0,b.jsx)(av.UserRound,{"aria-hidden":!0}),"operator"]}):"viewer"===a.kind?(0,b.jsxs)(aN.Badge,{variant:"kind","data-testid":"fleet-viewer",children:[(0,b.jsx)(ao,{"aria-hidden":!0}),"viewer"]}):d?(0,b.jsxs)(aN.Badge,{variant:"kind","data-testid":"fleet-plugin",children:[(0,b.jsx)(ar.Plug,{"aria-hidden":!0}),"plugin"]}):c?.role===null?(0,b.jsxs)(aN.Badge,{variant:"kind","data-testid":"fleet-flagship",children:[(0,b.jsx)(ap.Flag,{"aria-hidden":!0}),"flagship"]}):c?(0,b.jsx)(cg.SquadronTag,{squadronId:c.squadronId,role:c.role,size:"sm"}):null}function cw({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)(aq.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)(aq.KeyRound,{"aria-hidden":!0}),(0,b.jsxs)("span",{className:"truncate",children:["Prompt issued"," ",(0,b.jsx)("time",{dateTime:d.issuedAt,title:(0,u.fullDateTime)(f),children:(0,u.relativeTime)(f,c)}),d.isClaimed?", claimed":", not claimed yet"]})]})}function cx({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,u.fullDateTime)(new Date(a.retiredAt)),children:["Retired ",(0,u.dayMonth)(new Date(a.retiredAt))]}):"viewer"===a.kind?null:"awaitingCrew"===a.status?(0,b.jsx)(cw,{ship:a,now:c}):(0,b.jsx)(b6.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 cy({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)(cf.ReportLine,{report:a.report,now:c,variant:"row",isTimeInTitle:!0,testId:"fleet-report"}):null,d]})}function cz({ships:a,view:c,onViewChange:d,size:e,squadronsOf:f,labels:h}){let{filters:i}=c,j={all:"All",...Object.fromEntries(aH(a,i.isRetiredShown).map(a=>[a,a]))},k=aI(a),l="sm"===e?"fleet-show-retired":"fleet-show-retired-touch",m=a=>{d({...c,filters:{...i,...a}})},n="touch"===e;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(aO.Select,{items:cr,value:i.status,onValueChange:a=>{null!==a&&cs(a)&&m({status:a})},children:[(0,b.jsx)(aO.SelectTrigger,{size:e,"aria-label":"Status","data-testid":n?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)(aO.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(aO.SelectContent,{children:Object.entries(cr).map(([a,c])=>(0,b.jsx)(aO.SelectItem,{value:a,children:c},a))})]}),(0,b.jsxs)(aO.Select,{items:ct,value:i.crewRequest,onValueChange:a=>{null!==a&&cu(a)&&m({crewRequest:a})},children:[(0,b.jsx)(aO.SelectTrigger,{size:e,"aria-label":"Crew request","data-testid":n?void 0:"fleet-filter-crew-request",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Crew request"}),(0,b.jsx)(aO.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(aO.SelectContent,{children:Object.entries(ct).map(([a,c])=>(0,b.jsx)(aO.SelectItem,{value:a,children:c},a))})]}),(0,b.jsxs)(aO.Select,{items:j,value:i.type,onValueChange:a=>{null!==a&&m({type:a})},children:[(0,b.jsx)(aO.SelectTrigger,{size:e,"aria-label":"Type","data-testid":n?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)(aO.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(aO.SelectContent,{children:Object.entries(j).map(([a,c])=>(0,b.jsx)(aO.SelectItem,{value:a,className:"all"===a?void 0:"font-mono",children:c},a))})]}),f&&(0,b.jsxs)(aO.Select,{items:{all:"All",...Object.fromEntries(aJ(f).map(a=>[a,a]))},value:i.squadron,onValueChange:a=>{null!==a&&m({squadron:a})},children:[(0,b.jsx)(aO.SelectTrigger,{size:e,"aria-label":"Squadron","data-testid":n?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)(aO.SelectValue,{className:"font-medium"})]})}),(0,b.jsxs)(aO.SelectContent,{children:[(0,b.jsx)(aO.SelectItem,{value:"all",children:"All"}),aJ(f).map(a=>(0,b.jsx)(aO.SelectItem,{value:a,children:a},a))]})]}),void 0===h||n?null:(0,b.jsx)(cn,{groups:(0,ay.filterGroupsOf)(h),picked:(0,ay.pickedChips)(i.labelValueIds,h),onPick:a=>{d(cq(c,[...i.labelValueIds,a]))}}),aM(i).length>0&&!n?(0,b.jsx)(g.Button,{variant:"ghost",size:"xs","data-testid":"fleet-filters-clear",onClick:()=>{d({...c,filters:aA.filters})},children:"Clear filters"}):null,(0,b.jsxs)("div",{className:(0,o.classNames)("inline-flex items-center gap-2",n?"py-2":"sm:ml-auto"),children:[(0,b.jsx)(S.Switch,{id:l,"data-testid":n?void 0:"fleet-show-retired",checked:i.isRetiredShown,onCheckedChange:a=>{m({isRetiredShown:a})}}),(0,b.jsxs)(R.Label,{htmlFor:l,className:(0,o.classNames)("font-normal text-muted-foreground",n?"text-body-touch":"text-meta"),children:["Show retired (",k,")"]})]})]})}function cA({label:a,isOn:c,kind:d,onPick:e}){return(0,b.jsx)(g.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 cB({ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f,labels:h}){let{filters:i}=c,j=a=>{d({...c,filters:{...i,...a}})},k=aL(i),l=aI(a);return(0,b.jsxs)(aP.Sheet,{children:[(0,b.jsx)(aP.SheetTrigger,{render:(0,b.jsx)(g.Button,{size:"touch",isIconOnly:!0,"aria-label":k>0?`Filter ships, ${String(k)} active`:"Filter ships","data-testid":"fleet-filters-open",icon:(0,b.jsx)(au,{}),className:"relative sm:hidden",children:k>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)(aP.SheetContent,{side:"bottom",children:[(0,b.jsxs)(aP.SheetHeader,{className:"flex-row items-center justify-between",children:[(0,b.jsx)(aP.SheetTitle,{children:"Filter ships"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"touch","data-testid":"fleet-filters-reset",onClick:()=>{d({...c,filters:aA.filters})},children:"Reset"})]}),(0,b.jsxs)(aP.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(cr).map(([a,c])=>(0,b.jsx)(cA,{label:c,kind:"radio",isOn:i.status===a,onPick:()=>{cs(a)&&j({status:a})}},a))})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{id:"fleet-filter-crew-request-label",className:"text-meta font-medium text-muted-foreground",children:"Crew request"}),(0,b.jsx)("div",{role:"radiogroup","aria-labelledby":"fleet-filter-crew-request-label",className:"flex flex-wrap gap-1.5",children:Object.entries(ct).map(([a,c])=>(0,b.jsx)(cA,{label:c,kind:"radio",isOn:i.crewRequest===a,onPick:()=>{cu(a)&&j({crewRequest: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",...aH(a,i.isRetiredShown)].map(a=>(0,b.jsx)(cA,{label:"all"===a?"All types":a,kind:"toggle",isOn:i.type===a,onPick:()=>{j({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",...aJ(f)].map(a=>(0,b.jsx)(cA,{label:"all"===a?"All":a,kind:"radio",isOn:i.squadron===a,onPick:()=>{j({squadron:a})}},a))})]}),void 0===h?null:(0,b.jsx)(cp,{groups:(0,ay.filterGroupsOf)(h),picked:(0,ay.pickedChips)(i.labelValueIds,h),onPick:a=>{d(cq(c,[...i.labelValueIds,a]))},onRemove:a=>{d(cq(c,i.labelValueIds.filter(b=>b!==a)))}}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 py-1",children:[(0,b.jsxs)(R.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:["(",l,")"]})]}),(0,b.jsx)(S.Switch,{id:"fleet-show-retired-touch",checked:i.isRetiredShown,onCheckedChange:a=>{j({isRetiredShown:a})}})]}),(0,b.jsx)(aP.SheetClose,{render:(0,b.jsx)(g.Button,{size:"touch","data-testid":"fleet-filters-apply"}),children:1===e?"Show 1 ship":`Show ${String(e)} ships`})]})]})]})}function cC({view:a,onViewChange:c,labels:d}){let e=aM(a.filters),f=void 0===d?[]:(0,ay.pickedChips)(a.filters.labelValueIds,d);return 0===e.length&&0===f.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:[e.map(a=>(0,b.jsx)(aN.Badge,{variant:"outline",className:"max-w-full truncate",children:a},a)),f.map(d=>(0,b.jsx)(aS.LabelChip,{chip:d,onRemove:()=>{c(cq(a,a.filters.labelValueIds.filter(a=>a!==d.valueId)))}},d.valueId)),(0,b.jsx)(g.Button,{variant:"ghost",size:"touch",onClick:()=>{c({...a,filters:aA.filters})},children:"Clear filters"})]})}function cD({ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f,labels:g}){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)(Q.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)(as.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)(cz,{ships:a,view:c,onViewChange:d,squadronsOf:f,labels:g,size:"sm"})}),(0,b.jsx)(cB,{ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f,labels:g}),(0,b.jsx)(cC,{view:c,onViewChange:d,labels:g}),(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 cE({ship:a}){return(0,b.jsx)(ch.ShipName,{name:a.name,shipId:a.id,isSuffixShown:"retired"===a.status,href:`/ships/${a.id}`})}function cF({ships:a,highlightedShipIds:c,now:d,renderRowActions:e,squadronsOf:f,labels:g,pluginShipIds:h}){return(0,b.jsx)("div",{className:"max-sm:hidden",children:(0,b.jsxs)(aQ.Table,{"aria-label":"Ships",children:[(0,b.jsx)(aQ.TableHeader,{children:(0,b.jsxs)(aQ.TableRow,{children:[(0,b.jsx)(aQ.TableHead,{children:void 0===g||0===g.labels.length?"Name":"Name and labels"}),(0,b.jsx)(aQ.TableHead,{children:"Status"}),(0,b.jsx)(aQ.TableHead,{children:"Crew request"}),(0,b.jsx)(aQ.TableHead,{children:"Report"}),(0,b.jsx)(aQ.TableHead,{children:"Runs on"}),(0,b.jsx)(aQ.TableHead,{children:"Model"}),(0,b.jsx)(aQ.TableHead,{children:"Seen"}),(0,b.jsx)(aQ.TableHead,{children:(0,b.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,b.jsx)(aQ.TableBody,{children:a.map(a=>(0,b.jsxs)(aQ.TableRow,{"data-testid":`fleet-row-${a.name}`,"data-new":c?.has(a.id)?"":void 0,className:"h-12",children:[(0,b.jsx)(aQ.TableCell,{className:"max-w-64",children:(0,b.jsxs)("span",{className:"flex min-w-0 flex-col gap-1",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)(cE,{ship:a}),(0,b.jsx)(cv,{ship:a,squadron:f?.get(a.id),isPluginShip:h?.has(a.id)??!1})]}),void 0===g?null:(0,b.jsx)(aT,{chips:(0,ay.chipsOf)(a,g),width:22,testId:"fleet-labels"})]})}),(0,b.jsx)(aQ.TableCell,{children:(0,b.jsx)(af.StatusBadge,{status:a.status})}),(0,b.jsx)(aQ.TableCell,{children:(0,b.jsx)(ce,{cell:(0,az.crewRequestCell)((0,ax.crewRequestStage)(a)),testId:"fleet-crew-request"})}),(0,b.jsx)(aQ.TableCell,{className:"max-w-72",children:(0,b.jsx)(cy,{ship:a,now:d,next:e?.(a,"next")})}),(0,b.jsx)(aQ.TableCell,{className:"max-w-56",children:(0,b.jsx)(cx,{ship:a,now:d})}),(0,b.jsx)(aQ.TableCell,{children:"agent"!==a.kind?null:(0,b.jsx)(cc,{model:a.model,isCrewed:"crewed"===a.status,now:d,testId:"fleet-model"})}),(0,b.jsx)(aQ.TableCell,{children:(0,b.jsx)(b5,{seenAt:a.lastSeenAt,now:d,testId:"fleet-last-seen"})}),(0,b.jsx)(aQ.TableCell,{className:"w-10 text-right",children:e?.(a,"table")})]},a.id))})]})})}function cG({ships:a,highlightedShipIds:c,now:d,renderRowActions:e,squadronsOf:f,pluginShipIds:g}){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)(cE,{ship:a}),(0,b.jsx)(cv,{ship:a,squadron:f?.get(a.id),isPluginShip:g?.has(a.id)??!1})]}),(0,b.jsx)(af.StatusBadge,{status:a.status})]}),null===a.crewRequest?null:(0,b.jsx)(ce,{cell:(0,az.crewRequestCell)((0,ax.crewRequestStage)(a))}),(0,b.jsx)(cy,{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)(cx,{ship:a,now:d}),"agent"!==a.kind?null:(0,b.jsx)(cc,{model:a.model,isCrewed:"crewed"===a.status,now:d}),(0,b.jsx)(b5,{seenAt:a.lastSeenAt,now:d})]})]}),e?.(a,"phone")]},a.id))})}function cH({ships:a,view:c,onViewChange:d,state:e,error:f,highlightedShipIds:h,now:i,renderRowActions:j,emptyAction:k,squadronsOf:l,labels:m,pluginShipIds:n}){var o;let p;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)(aU.LoadingSkeleton,{variant:"table",rows:6,label:"Loading the fleet",className:"max-sm:hidden"}),(0,b.jsx)(aU.LoadingSkeleton,{variant:"list",rows:5,label:"Loading the fleet",className:"sm:hidden"})]});if("error"===e)return(0,b.jsx)(V.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 q={highlightedShipIds:h,now:i,renderRowActions:j,squadronsOf:l,pluginShipIds:n};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)(cF,{ships:c,labels:m,...q}),(0,b.jsx)(cG,{ships:c,...q}),(0,b.jsx)(aR.EmptyState,{icon:(0,b.jsx)(ae.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:k})]})}let r=(o={...c,squadronsOf:l},a.filter(a=>{let b;return(""===(b=o.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.crewRequest||(0,az.crewRequestKey)((0,ax.crewRequestStage)(a))===c.crewRequest)&&!!(0,ay.carriesEvery)(a,c.labelValueIds)&&("all"===c.type||a.type===c.type)}(a,o)}).toSorted((a,b)=>a.kind!==b.kind?"operator"===a.kind?-1:1:a.name.localeCompare(b.name)||a.id.localeCompare(b.id))),s=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)(cD,{ships:a,view:c,onViewChange:d,shownCount:r.length,squadronsOf:l,labels:m}),void 0===m?null:(0,b.jsx)(co,{groups:(0,ay.filterGroupsOf)(m),picked:(0,ay.pickedChips)(c.filters.labelValueIds,m),onPick:a=>{d(cq(c,[...c.filters.labelValueIds,a]))},onRemove:a=>{d(cq(c,c.filters.labelValueIds.filter(b=>b!==a)))},onClear:()=>{d(cq(c,[]))}}),0===r.length?(0,b.jsx)(aR.EmptyState,{variant:"no-results",title:""===s?"No ships match these filters.":`No ships match “${s}”.`,action:(0,b.jsx)(g.Button,{size:"xs","data-testid":"fleet-clear-filters",onClick:()=>{d(aA)},children:(p=aL(c.filters)>0,""===s?"Clear filters":p?"Clear search and filters":"Clear search")})}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(cF,{ships:r,labels:m,...q}),(0,b.jsx)(cG,{ships:r,...q})]})]})}var cI=a.i(73202);function cJ({view:a,onViewChange:c,newShipIds:d}){let e=(0,r.useFleetSnapshot)(),f=(0,t.useNow)(),g=(0,F.useSquadrons)(),h=(0,r.useLabelContext)(),i=(0,al.usePluginShipIds)();return(0,b.jsx)("section",{"aria-label":"Fleet",className:"flex flex-col gap-3",children:(0,b.jsx)(cH,{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)(cI.ShipActions,{ship:a,layout:"table"===c?"menu":"phone"===c?"sheet":"next"}),squadronsOf:g.data?(0,am.shipsInSquadrons)(g.data):void 0,labels:h,pluginShipIds:i})})}var cK=a.i(2466),cL=a.i(73224),cM=a.i(65563),cN=a.i(26949),cO=a.i(67336),cP=a.i(94764),cQ=a.i(10572),cR=a.i(34159);a.s(["default",0,function({searchParams:a}){var l,m;let n,o=(0,e.useRouter)(),p=function(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:void 0===d?[]:[d])b.append(c,a);return b}((0,f.use)(a)),q={query:p.get("q")??"",filters:{status:(l=p.get(aB),(n=H.shipStatusSchema.safeParse(l)).success&&"retired"!==n.data?n.data:"all"),crewRequest:(m=p.get(aC),az.CREW_REQUEST_KEYS.find(a=>a===m)??"all"),type:p.get(aD)??"all",squadron:p.get(aE)??"all",isRetiredShown:"1"===p.get(aF),labelValueIds:p.getAll(aG).filter(a=>(0,aw.idSchema)("labelValue").safeParse(a).success)}},u="new"===p.get("commission"),x=(0,r.useFleetSnapshot)(),y=(0,cO.useLiveFleet)(),z=(0,t.useNow)(),A=(0,cP.useAccountMenu)(z),E=(0,D.messageLimitReached)((0,B.useFleetLimits)().data),F=(0,C.useHostedAccountUrl)(),G=(0,cN.useOpenInboxCount)(),I=(0,cM.useAccess)(),J=(0,cR.usePluginNav)(),[K,L]=(0,f.useState)(!1),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(!1),Q=(0,s.useAttentionCount)();(0,cQ.useSignInWhenSessionEnds)([x.error,y.error]);let R=a=>{let b=(function(a){let b=new URLSearchParams;for(let c of(""!==a.query&&b.set("q",a.query),"all"!==a.filters.status&&b.set(aB,a.filters.status),"all"!==a.filters.crewRequest&&b.set(aC,a.filters.crewRequest),"all"!==a.filters.type&&b.set(aD,a.filters.type),"all"!==a.filters.squadron&&b.set(aE,a.filters.squadron),a.filters.isRetiredShown&&b.set(aF,"1"),a.filters.labelValueIds))b.append(aG,c);return b})(a).toString();o.replace(""===b?"/":`/?${b}`,{scroll:!1})};return(0,b.jsxs)(cK.ListLayout,{title:"Fleet overview",description:x.data?function(a){let b=v(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:x.data,canCommission:I.canManage}):"Loading your fleet",primaryAction:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 max-sm:flex-col max-sm:items-stretch",children:[(0,b.jsx)(g.Button,{render:(0,b.jsx)(d.default,{href:"/labels"}),nativeButton:!1,icon:(0,b.jsx)(c.Tag,{}),"data-testid":"overview-labels",children:I.canDefineLabels?"Manage labels":"View labels"}),I.canManage?(0,b.jsx)(_,{isOpen:O||u,onOpenChange:a=>{P(a),!a&&u&&R(q)}}):null]}),live:y.live,nav:{active:"overview",inboxCount:G,attentionCount:Q,...J},onCompose:I.canSend?()=>{L(!0)}:void 0,onSearch:()=>{N(!0)},account:A,banner:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(k.ConsoleNotices,{}),(0,b.jsx)(j.ConsoleGuide,{})]}),children:[(0,b.jsx)(cL.FleetSegments,{active:"ships",needsCrewCount:J.needsCrewCount}),void 0===E?null:(0,b.jsx)(W.LimitNotice,{...(0,D.messageLimitNotice)(E),accountUrl:F,testId:"overview-message-limit"}),(0,b.jsx)(ak,{}),(0,b.jsx)(w,{}),(0,b.jsx)(cJ,{view:q,onViewChange:R,newShipIds:y.newShipIds}),(0,b.jsx)(h.ComposeMessage,{isOpen:K,onOpenChange:L}),(0,b.jsx)(i.ConsoleCommands,{isOpen:M,onOpenChange:N,onCompose:()=>{L(!0)}})]})}],33634)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_console_app_page_tsx_16ln4px._.js.map
|
|
@@ -1,3 +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
|
|
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(93454),B=a.i(14499);function C(a,b){let c=(0,x.trpcErrorCode)(b);return"UNAUTHORIZED"!==c&&"FORBIDDEN"!==c&&a<3}function D(a,b){return fetch(a,{...b,credentials:"include"})}function E(){return(0,w.useAnalyticsPageviews)(),null}a.s(["Providers",0,function({serverUrl:a,isSquadronsConfigured:c,isTrierarchPluginConfigured:d,hostedAccountUrl:e,isAnalyticsOn:f,children:g}){let[h]=(0,u.useState)(()=>new n({defaultOptions:{queries:{retry:C}}})),[i]=(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:D})})]})});return(0,b.jsx)(o.QueryClientProvider,{client:h,children:(0,b.jsx)(B.TRPCProvider,{trpcClient:i,queryClient:h,children:(0,b.jsx)(z.SquadronsConfiguredContext,{value:c,children:(0,b.jsx)(A.TrierarchPluginConfiguredContext,{value:d,children:(0,b.jsx)(y.HostedAccountUrlContext,{value:e,children:(0,b.jsxs)(w.AnalyticsContext,{value:f,children:[(0,b.jsx)(E,{}),g,(0,b.jsx)(v.Toaster,{})]})})})})})})}],74038)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_console_app_providers_tsx_06ai92n._.js.map
|
|
@@ -1,3 +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)}];
|
|
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(23636),I=a.i(38246);function J({settings:a,loadError:c,onRetry:d,isConnecting:e,connectError:f,onConnect:g}){if(void 0!==c)return(0,b.jsx)(l.InlineError,{title:"Couldn’t read the trierarch plugin",description:c,onRetry:d});if(void 0===a)return(0,b.jsx)(m.LoadingSkeleton,{variant:"detail",rows:2,label:"Loading the trierarch plugin"});let h=a.configured&&a.connection.isEnabled;return(0,b.jsxs)("section",{"aria-labelledby":"settings-trierarchs","data-testid":"settings-trierarchs",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("h2",{id:"settings-trierarchs",className:"flex items-center gap-2 text-body font-semibold [&_svg]:size-(--size-icon) [&_svg]:text-muted-foreground",children:[(0,b.jsx)(H.ShipWheel,{"aria-hidden":!0}),"Trierarchs"]}),h?"connected"===a.connection.state?(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-trierarchs-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-trierarchs-state",children:"Not connected. Connecting commissions the ship trierarch-plugin, which reads and manages the fleet and assigns crew requests, or gives it a new starting prompt, and hands its secret to the trierarch plugin. 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-trierarchs-connect",children:"Connect trierarch plugin"})}),void 0!==f&&(0,b.jsx)(l.InlineError,{variant:"field",title:"Couldn’t connect the trierarch plugin",description:f})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-trierarchs-state",children:["Not set up. ","Starts, restarts and stops sessions for crew requests on your machines. Without it, crew requests wait on Needs crew for you to crew by hand."]}),(0,b.jsx)("div",{children:(0,b.jsx)(k.Button,{size:"sm",nativeButton:!1,render:(0,b.jsx)(I.default,{href:"/trierarchs"}),"data-testid":"settings-trierarchs-how",children:"How to set it up"})})]})]})}var K=a.i(2466),L=a.i(65563),M=a.i(94764),N=a.i(26949),O=a.i(10023),P=a.i(68450),Q=a.i(10572),R=a.i(67336),S=a.i(54763),T=a.i(12540),U=a.i(34159),V=a.i(93454);a.s(["default",0,function(){let a=(0,P.useNow)(),h=(0,M.useAccountMenu)(a),i=(0,S.useHasSquadrons)(),j=(0,N.useOpenInboxCount)(),k=(0,O.useNeedsAttention)(),l=(0,O.useAttentionCount)(),m=(0,S.useSquadronsSettings)(),o=(0,S.useConnectSquadrons)(),p=(0,V.useTrierarchPluginSettings)(),q=(0,V.useConnectTrierarchPlugin)(),r=(0,R.useLiveFleet)(),s=(0,S.useSquadronsConnection)(),t=(0,T.useRepositories)(),u=(0,T.useCatalogue)(),v=(0,T.useAddRepository)(),w=(0,T.useRemoveRepository)(),x=(0,T.useRefreshCatalogue)(),y=(0,L.useAccess)(),z=(0,U.usePluginNav)(),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(!1);return(0,Q.useSignInWhenSessionEnds)([k.error,r.error]),(0,b.jsxs)(K.ListLayout,{title:"Settings",description:"How this installation runs. Only argo, the operator, sees this page.",live:r.live,nav:{active:"settings",inboxCount:j,attentionCount:l,...z},onCompose:y.canSend?()=>{B(!0)}:void 0,onSearch:()=>{D(!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()}}),z.hasSettings&&(0,b.jsx)(J,{settings:p.data,loadError:p.isError?p.error.message:void 0,onRetry:()=>{p.refetch()},isConnecting:q.isPending,connectError:q.isError?q.error.message:void 0,onConnect:()=>{q.mutate()}}),"connected"===s&&(0,b.jsx)(G,{repositories:t.data??[],...void 0===u.data?{}:{catalogue:u.data},state:t.isError?"error":t.data?"ready":"loading",error:t.error?.message,onRetry:()=>{t.refetch()},isAdding:v.isPending,addError:v.error?.message,onAdd:(a,b)=>{v.mutate(a,{onSuccess:b})},isRemoving:w.isPending,removeError:w.error?.message,onRemove:(a,b)=>{w.mutate(a,{onSuccess:b})},onRemoveClosed:()=>{w.reset()},isRefreshing:x.isPending,refreshError:x.error?.message,onRefresh:()=>{x.mutate()},now:a}),(0,b.jsx)(d.ComposeMessage,{isOpen:A,onOpenChange:B}),(0,b.jsx)(e.ConsoleCommands,{isOpen:C,onOpenChange:D,onCompose:()=>{B(!0)}})]})}],69619)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_console_app_settings_page_tsx_1zqt7sk._.js.map
|