@aeolus-fleet/console 0.30.1 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/packages/console/.next/BUILD_ID +1 -1
- package/.next/standalone/packages/console/.next/build-manifest.json +3 -3
- package/.next/standalone/packages/console/.next/prerender-manifest.json +3 -3
- package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/[cause]/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/[cause]/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/[cause]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/labels/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/labels/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/labels/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/network/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/network/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/network/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/packages/console/.next/server/app/(console)/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/settings/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/settings/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page/server-reference-manifest.json +14 -14
- package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/packages/console/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/packages/console/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/packages/console/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/packages/console/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/packages/console/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/api/reads/[read]/route.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/argo/confirm/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/argo/confirm/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/argo/out/route.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/argo/refused/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/argo/refused/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/argo/route.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/failed/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/failed/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/no-rights/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/no-rights/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/nothing-to-manage/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/nothing-to-manage/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/unreachable/page.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/app/sign-in/unreachable/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/app/version/route.js.nft.json +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__0-b_d8j._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__0w4s32w._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1c0qgbj._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/_1uqphll._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1ia6sfj._.js → _022r12n._.js} +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_02sf-6u._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/{_20ltycf._.js → _05noh6w._.js} +2 -2
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_07_cqry._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_0bdsmu0._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/{_18owi6c._.js → _0is0iyt._.js} +2 -2
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_0j-afyt._.js +3 -0
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_0nbjb5h._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_0qux6-9._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/{_135805g._.js → _0sravq5._.js} +2 -2
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_14ww2ld._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_15whprd._.js +3 -0
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_1bc8get._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_1bmxy9n._.js +3 -0
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_1e2tdd6._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_1fthxzz._.js +3 -0
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_1hsu1v2._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_1u0h4gj._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/{_0h-jnay._.js → _1vleg6y._.js} +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_1ymusis._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_20j7vun._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/node_modules_zod_v4_classic_external_15fmmz3.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_03-f8b4._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_10js6wa._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_00qg_s6._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_02v53na._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_02wkudy._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_04rox65._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_05zitd2._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_065nea1._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_1qi485p._.js → packages_console_0d8_fed._.js} +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0h_376h._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0ko_ogs._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0sr2-oa._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0ysbad7._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_108sez2._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_1k1crw1._.js → packages_console_11f_j7c._.js} +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_1e33jj3._.js → packages_console_16ys_pd._.js} +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1jy5-0g._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1n8w8x0._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1oz8iu7._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1rdu3gt._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1yfimad._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_fleet-health_page_tsx_0vcosw1._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_network_network-page_tsx_0qc3h-9._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_ships_[shipId]_ship-page_tsx_0oahz0r._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_components_organisms_crew-line-dialog_tsx_11y3we6._.js → packages_console_components_organisms_crew-line-dialog_tsx_1l818ht._.js} +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_features_ship_ui_organisms_message-sheet_tsx_08bg9ly._.js +1 -1
- package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_features_squadrons_organisms_form-squadron-dialog_tsx_04jnwy5._.js → packages_console_features_squadrons_organisms_form-squadron-dialog_tsx_06m8azk._.js} +1 -1
- package/.next/standalone/packages/console/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/packages/console/.next/server/pages/500.html +1 -1
- package/.next/standalone/packages/console/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/packages/console/.next/server/server-reference-manifest.json +15 -15
- package/.next/standalone/packages/console/.next/static/chunks/0_3x64wrf-bcc.js +1 -0
- package/.next/standalone/packages/console/.next/static/chunks/{3v8kvo897cw7g.js → 0kcev3l5eyvux.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{09i8egz-ukq1h.js → 19h1iu002omr_.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{23rmynijvqsdw.js → 1b36z114mad41.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/1odi-st5n0w9h.js +1 -0
- package/.next/standalone/packages/console/.next/static/chunks/{1z-37z24uifp1.js → 1sm_yeexx288v.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{26lqmfd6v4qb4.js → 1tjv8rgwrbbg_.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{0tzezbiiera4t.js → 1u5mjrw1qk334.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{1q730nbf90lr2.js → 1z1jqbwrruy4-.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{180jsws8b9eq6.js → 1z9u9wh2b5l6y.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/21xp9ny7yw3ug.js +1 -0
- package/.next/standalone/packages/console/.next/static/chunks/{2pkfao79haew9.js → 24yl55yxkaeaf.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/27qi3k10y-0hf.js +2 -0
- package/.next/standalone/packages/console/.next/static/chunks/2_qyhoh1hlhcy.js +1 -0
- package/.next/standalone/packages/console/.next/static/chunks/{0742dltqxo7l5.js → 2bid6ecbjoe6s.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{0b8-il10o0ca2.js → 2bqxl5_u1hjjb.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/2cfixbtwii9hq.js +1 -0
- package/.next/standalone/packages/console/.next/static/chunks/2dkqrqvxmerj9.css +3 -0
- package/.next/standalone/packages/console/.next/static/chunks/2ggf3qa9xixed.js +1 -0
- package/.next/standalone/packages/console/.next/static/chunks/{3dqw9msbsb0t0.js → 2h98d1zd2s_t5.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{19p4i84gnm2q6.js → 2l01iyjlu686-.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{0rynbs46ao8hb.js → 2qicmwwvgn33n.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{0jy978bstmu2h.js → 2tl2a2wz8thbf.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{06v0wink6h9wc.js → 2xwbclmo1ptlk.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{2u9g6rfau6qkb.js → 3a0odbvtvug2f.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/3q-rob7jfhbps.js +1 -0
- package/.next/standalone/packages/console/.next/static/chunks/{12tpena_m0td3.js → 3rm6d-05q8id3.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{14t6zl5-m6-cv.js → 3v5kypqchkulb.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{0lerfeqv17y3h.js → 3wn51b0ga8x5c.js} +1 -1
- package/.next/standalone/packages/console/.next/static/chunks/{20zd_xtfl07ru.js → 3ydi8zqssypls.js} +1 -1
- package/.next/standalone/packages/console/package.json +3 -3
- package/package.json +3 -3
- package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console_features_trierarchs_ui_organisms_clear-worktree-dialog_tsx_1cj5i3d._.js +0 -3
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_085nqa_._.js +0 -3
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_0rdbxnq._.js +0 -3
- package/.next/standalone/packages/console/.next/server/chunks/ssr/_1lrul1q._.js +0 -3
- package/.next/standalone/packages/console/.next/static/chunks/046j0y9wgycm0.js +0 -1
- package/.next/standalone/packages/console/.next/static/chunks/0bnl87gj176h5.js +0 -1
- package/.next/standalone/packages/console/.next/static/chunks/0mcbp_1hunti9.js +0 -1
- package/.next/standalone/packages/console/.next/static/chunks/0ofpruu2tcm_6.js +0 -1
- package/.next/standalone/packages/console/.next/static/chunks/194ocbg7a-yfj.js +0 -2
- package/.next/standalone/packages/console/.next/static/chunks/2_x-45vq7prtl.js +0 -1
- package/.next/standalone/packages/console/.next/static/chunks/2tj5-rkl0ps53.js +0 -1
- package/.next/standalone/packages/console/.next/static/chunks/3m5g2od7yc5cq.js +0 -1
- package/.next/standalone/packages/console/.next/static/chunks/3pbm8tp2tq5mv.css +0 -3
- /package/.next/standalone/packages/console/.next/static/{FhQ486AZAouB_wqS1YEzn → M3UCCsD3-uSl8HVucbFrh}/_buildManifest.js +0 -0
- /package/.next/standalone/packages/console/.next/static/{FhQ486AZAouB_wqS1YEzn → M3UCCsD3-uSl8HVucbFrh}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/packages/console/.next/static/{FhQ486AZAouB_wqS1YEzn → M3UCCsD3-uSl8HVucbFrh}/_ssgManifest.js +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,313260,e=>{"use strict";var t=e.i(843476),r=e.i(407921),a=e.i(618566),s=e.i(271645),i=e.i(341880),n=e.i(67874),l=e.i(817981),d=e.i(188393),o=e.i(806537),c=e.i(766390),u=e.i(975867);let h={argo:"You turn it on or off.",rules:"Applying rules turns it off; applying none turns it on again."};function p({rows:e,error:r,onRetry:a,isTurning:s,turnError:i,onViewerReadChange:n}){let m;return m=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read the built-in rules",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"list",rows:3,label:"Loading the built-in rules"}):(0,t.jsx)("ul",{className:"flex flex-col divide-y divide-border",children:e.map(e=>(0,t.jsxs)("li",{"data-testid":"network-built-in-rule",className:"flex items-start justify-between gap-3 py-2 first:pt-0 last:pb-0",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"text-body font-medium","data-testid":"network-built-in-rule-name",children:e.name}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground",children:[e.meaning," ","never"===e.turnedBy?null:h[e.turnedBy]]})]}),"argo"===e.turnedBy?(0,t.jsx)(u.Switch,{checked:e.isOn,disabled:s,"aria-label":`${e.name}: ${e.isOn?"on":"off"}`,"data-testid":"network-built-in-viewer-read",onCheckedChange:e=>{n(e)}}):(0,t.jsx)(c.Badge,{variant:"outline","data-testid":"network-built-in-rule-state",children:"never"===e.turnedBy?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.Lock,{"aria-hidden":!0}),"Never off"]}):e.isOn?"On":"Off"})]},e.key))}),(0,t.jsxs)("section",{"aria-labelledby":"network-built-in","data-testid":"network-built-in",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-built-in",className:"text-body font-semibold",children:"Built-in rules"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"The fleet’s own rules, beside yours and the declared ones. They hold before any rule below."}),m,void 0===i?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t turn the viewer reading",description:i})]})}var m=e.i(768877),x=e.i(422768),f=e.i(937338),g=e.i(695960);let y=[{side:"from",label:"From ships with"},{side:"to",label:"To ships with"}];function b({declared:e,error:r,onRetry:a,context:s}){let i;return i=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read the declared rules",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"list",rows:2,label:"Loading the declared rules"}):0===e.length?(0,t.jsx)(n.EmptyState,{variant:"section",title:"Nothing declares rules."}):(0,t.jsx)("ul",{className:"flex flex-col gap-3",children:e.map(e=>(0,t.jsxs)("li",{"data-testid":"network-declared-plugin",className:"flex flex-col gap-2",children:[(0,t.jsxs)("h3",{className:"text-meta font-medium","data-testid":"network-declared-by",children:["Declared by ",e.declaredBy]}),(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:e.rules.map(e=>(0,t.jsx)("li",{"data-testid":"network-declared-rule",className:"flex flex-col gap-2 rounded-md border border-border p-3 sm:flex-row sm:items-start sm:gap-3",children:y.map(({side:r,label:a})=>(0,t.jsxs)("div",{className:"flex min-w-0 grow basis-0 items-start gap-3",children:["to"===r?(0,t.jsx)("span",{className:"mt-6 shrink-0 text-meta text-muted-foreground","data-testid":"network-declared-rule-verb",children:f.VERB_WORDS[e.verb]}):null,"to"===r?(0,t.jsx)(m.ArrowRight,{"aria-hidden":!0,className:"mt-6 hidden size-(--size-icon) shrink-0 text-muted-foreground sm:block"}):null,(0,t.jsx)(v,{label:a,terms:e[r],context:s,testId:`network-declared-rule-${r}`})]},r))},JSON.stringify(e)))})]},e.declarerId))}),(0,t.jsxs)("section",{"aria-labelledby":"network-declared","data-testid":"network-declared",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-declared",className:"text-body font-semibold",children:"Declared by plugins and the installation"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Rules plugins and the installation need on the labels they own. The networking plugin adds them to your rules; while every ship may message every ship, they change nothing. Only their declarer changes them, and switching a plugin off withdraws its rules."}),i]})}function v({label:e,terms:r,context:a,testId:i}){let{chips:n,unknown:l}=(0,f.selectorOf)(r,a);return(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":i,children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[n.length+l.length===0?(0,t.jsx)("span",{className:"text-body",children:"Every ship"}):null,n.map((e,r)=>(0,t.jsxs)(s.Fragment,{children:[0===r?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(g.LabelChip,{chip:e,testId:`${i}-value`,..."string"==typeof e.term?{}:{meaning:f.TERM_MEANINGS[e.term.value]}})]},(0,f.termKeyOf)(e.term))),l.map(e=>(0,t.jsxs)("span",{"data-testid":`${i}-unknown`,title:`${(0,f.termKeyOf)(e)}: no longer in this fleet`,className:"inline-flex h-5.5 items-center gap-1 rounded-sm border border-tone-attention-border bg-tone-attention-bg px-1.5 text-id text-tone-attention-fg [&_svg]:size-3",children:[(0,t.jsx)(x.CircleAlert,{"aria-hidden":!0}),"A removed label"]},(0,f.termKeyOf)(e)))]})]})}var w=e.i(847211),j=e.i(689664),k=e.i(456420);let N={name:"crosshair",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]};N.node;let C=(0,k.default)(N);var R=e.i(566595),S=e.i(574296),$=e.i(965324);function O(e){return e.send.map(e=>e.shipId)}let I=-Math.PI/2,T=2*Math.PI;function E(e){return e.filter(e=>"retired"!==e.status&&"viewer"!==e.kind).map(e=>({id:e.id,name:e.name,isOperator:"operator"===e.kind})).sort((e,t)=>Number(t.isOperator)-Number(e.isOperator)||e.name.localeCompare(t.name))}function A(e){return Math.round(100*e)/100}var B=e.i(133173),L=e.i(60592),P=e.i(165160);let D=["applied","draft"],M={picked:"picked",reached:"may be messaged",unreached:"out of reach"};function V({ships:e,search:r,sailingShipCount:a,pickedShipId:s,reachableShipIds:i,reachError:n,onPick:d,onRetry:o,against:c="applied",onAgainstChange:u}){var h;let p=(h=void 0===s?void 0:{pickedShipId:s,reachableShipIds:void 0===n?i:void 0},e.map((t,r)=>{var a,s;let i=I+T*r/e.length,n=1===e.length;return{ship:t,x:n?50:A(50+38*Math.cos(i)),y:n?50:A(50+38*Math.sin(i)),mark:(a=t.id,void 0===(s=h)?"none":a===s.pickedShipId?"picked":void 0===s.reachableShipIds?"none":s.reachableShipIds.includes(a)?"reached":"unreached")}})),m=p.find(e=>"picked"===e.mark),x=p.filter(e=>"reached"===e.mark);return(0,t.jsxs)("section",{"aria-labelledby":"network-reach","data-testid":"network-reach",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-reach",className:"text-body font-semibold",children:"Reach"}),(0,t.jsxs)("p",{className:"text-meta text-muted-foreground",children:["draft"===c?"The fleet as the draft would leave it once applied: pick a ship to see which ships the draft lets it message.":"The fleet as it stands now: pick a ship to see which ships the rules let it message."," ","Argo reaches every ship, and every ship reaches argo."]}),void 0===u?null:(0,t.jsx)(L.Tabs,{value:c,onValueChange:e=>{let t=D.find(t=>t===e);void 0!==t&&u(t)},children:(0,t.jsxs)(L.TabsList,{"aria-label":"Explain reach against",children:[(0,t.jsx)(L.TabsTrigger,{value:"applied","data-testid":"network-reach-applied",children:"Applied rules"}),(0,t.jsx)(L.TabsTrigger,{value:"draft","data-testid":"network-reach-draft",children:"Draft"})]})}),void 0===r?null:(0,t.jsx)(B.Combobox,{options:r.ships.map(e=>({value:e.id,label:e.name})),value:null,onValueChange:e=>{let t=r.ships.find(t=>t.id===e);void 0!==t&&d(t.id)},toQuery:P.asHandle,onQueryChange:r.onQueryChange,groupLabel:"Ships",emptyText:e=>`No ship matches "${e}". Retired ships are not listed.`,leadingIcon:(0,t.jsx)(R.Search,{}),placeholder:"Find a ship to pick","aria-label":"Find a ship to pick","data-testid":"network-reach-search"}),(0,t.jsxs)("div",{className:"relative flex flex-wrap gap-2 md:mx-auto md:block md:aspect-square md:w-full md:max-w-xl","data-testid":"network-reach-graph",children:[void 0===m?null:(0,t.jsx)("svg",{"aria-hidden":!0,viewBox:"0 0 100 100",preserveAspectRatio:"none",className:"pointer-events-none absolute inset-0 hidden size-full md:block",children:x.map(e=>(0,t.jsx)("line",{x1:m.x,y1:m.y,x2:e.x,y2:e.y,vectorEffect:"non-scaling-stroke",className:"stroke-muted-foreground",strokeWidth:1.5},e.ship.id))}),p.map(e=>(0,t.jsx)(F,{node:e,onPick:()=>{d("picked"===e.mark?void 0:e.ship.id)}},e.ship.id))]}),void 0===n?(0,t.jsx)("p",{className:"text-body",role:"status","data-testid":"network-reach-summary",children:function(e,t=e.length){let r=e.find(e=>"picked"===e.mark);if(void 0===r)return"Pick a ship to see which ships it may message.";let a=Math.max(t,e.length)-1,s=e.filter(e=>"reached"===e.mark).map(e=>e.ship.name);return e.every(e=>"picked"===e.mark||"none"===e.mark)?0===a?`${r.ship.name} is the only ship of the fleet.`:`Finding the ships ${r.ship.name} may message…`:s.length===a?`${r.ship.name} may message every other ship (${String(a)}).`:0===s.length?`${r.ship.name} may message no other ship.`:`${r.ship.name} may message ${String(s.length)} of ${String(a)} ships: ${s.join(", ")}.`}(p,a)}):(0,t.jsx)(l.InlineError,{title:"Couldn’t explain this ship’s reach",description:n,onRetry:o})]})}function F({node:e,onPick:r}){let{ship:a,mark:s}=e;return(0,t.jsx)(S.Button,{size:"sm",variant:"secondary","aria-pressed":"picked"===s,"aria-label":"none"===s?a.name:`${a.name}, ${M[s]}`,icon:function(e){switch(e){case"picked":return(0,t.jsx)(C,{"aria-hidden":!0});case"reached":return(0,t.jsx)(j.Check,{"aria-hidden":!0});case"unreached":return(0,t.jsx)(w.Ban,{"aria-hidden":!0});case"none":return}}(s),"data-testid":"network-reach-ship","data-mark":s,style:{left:`${String(e.x)}%`,top:`${String(e.y)}%`},className:(0,$.classNames)("md:absolute md:-translate-x-1/2 md:-translate-y-1/2","picked"===s&&"bg-accent ring-2 ring-ring","unreached"===s&&"opacity-45"),onClick:r,children:a.name})}var z=e.i(424010),K=e.i(746675);let Q={apply:{title:"Apply the draft?",description:"Every send, read and manage is checked against the draft from now on, and the rules before it are gone.",action:"Apply draft"},discard:{title:"Discard the draft?",description:"The draft is gone; the applied rules stay as they are.",action:"Discard draft"}};function _({draft:e,appliedVersion:r,isApplying:a,applyError:i,onApply:n,isDiscarding:d,discardError:o,onDiscard:c}){let[u,h]=(0,s.useState)(null),p=a||d;return(0,t.jsxs)("section",{"aria-labelledby":"network-rules-apply","data-testid":"network-rules-apply",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules-apply",className:"text-body font-semibold",children:"Apply"}),null===e?(0,t.jsx)("p",{className:"text-meta text-muted-foreground","data-testid":"network-rules-apply-state",children:"No draft: the applied rules are the ones above. Save a draft to apply it."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"text-body","data-testid":"network-rules-apply-state",children:["A draft is saved. Every send, read and manage is checked against the applied rules, at version ",r,", until it is applied."]}),e.savedAgainstVersion===r?null:(0,t.jsxs)("p",{className:"text-meta text-muted-foreground","data-testid":"network-rules-apply-moved",children:["The settings moved from version ",e.savedAgainstVersion," since the draft was saved."]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(S.Button,{variant:"primary",isLoading:a,disabled:d,"data-testid":"network-rules-apply-open",onClick:()=>{h("apply")},children:"Apply draft"}),(0,t.jsx)(S.Button,{variant:"ghost",isLoading:d,disabled:a,"data-testid":"network-rules-discard-open",onClick:()=>{h("discard")},children:"Discard draft"})]})]}),void 0===i?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t apply the draft",description:i}),void 0===o?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t discard the draft",description:o}),(0,t.jsx)(z.AlertDialog,{open:null!==u,onOpenChange:e=>{e||p||h(null)},children:null===u?null:(0,t.jsxs)(z.AlertDialogContent,{"data-testid":`network-rules-${u}-dialog`,className:K.dialogSurface.phoneSheet,children:[(0,t.jsxs)(z.AlertDialogHeader,{children:[(0,t.jsx)(z.AlertDialogTitle,{children:Q[u].title}),(0,t.jsx)(z.AlertDialogDescription,{children:Q[u].description})]}),(0,t.jsxs)(z.AlertDialogFooter,{children:[(0,t.jsx)(z.AlertDialogClose,{render:(0,t.jsx)(S.Button,{disabled:p}),children:"Cancel"}),(0,t.jsx)(S.Button,{variant:"apply"===u?"primary":"destructive",isLoading:p,"data-testid":`network-rules-${u}-confirm`,onClick:()=>{h(null),"apply"===u?n():c()},children:Q[u].action})]})]})})]})}var q=e.i(711514);let U={argo:"argo",owner:"Owner",answer:"Answer",pluginRead:"Connected plugins read",viewerRead:"Viewer reads",installation:"Installation manages",open:"Open"};function W(e){switch(e.rule){case"argo":return{key:e.rule,name:U[e.rule],meaning:"argo sends to, reads and manages every ship, and every ship reaches argo.",isOn:e.isOn,turnedBy:"never"};case"owner":return{key:e.rule,name:U[e.rule],meaning:"A ship’s owner sends to, reads and manages the ships it owns.",isOn:e.isOn,turnedBy:"never"};case"answer":return{key:e.rule,name:U[e.rule],meaning:"A ship may always answer the sender of a message it received.",isOn:e.isOn,turnedBy:"never"};case"pluginRead":return{key:e.rule,name:U[e.rule],meaning:"A plugin argo connected reads every ship, whatever the rules.",isOn:e.isOn,turnedBy:"never"};case"viewerRead":return{key:e.rule,name:U[e.rule],meaning:"The viewer reads every ship.",isOn:e.isOn,turnedBy:"argo"};case"installation":return{key:e.rule,name:U[e.rule],meaning:"The installation manages person ships and the ships they own, so a leaver is always released.",isOn:e.isOn,turnedBy:"never"};case"open":return{key:e.rule,name:U[e.rule],meaning:"Every ship may send to, read and manage every ship.",isOn:e.isOn,turnedBy:"rules"}}}function G({changes:e,error:r,onRetry:a}){let s;return s=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read what the draft changes",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"detail",rows:3,label:"Loading what the draft changes"}):e.every(({gained:e,lost:t})=>0===e.length&&0===t.length)?(0,t.jsx)("p",{className:"text-meta text-muted-foreground","data-testid":"network-draft-changes-none",children:"The draft changes no reach."}):e.filter(({gained:e,lost:t})=>e.length+t.length>0).map(({verb:e,gained:r,lost:a})=>(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"network-draft-changes-verb",children:[(0,t.jsx)("h3",{className:"text-meta font-semibold",children:f.VERB_WORDS[e]}),(0,t.jsx)(H,{title:"Gains",rows:r,testId:"network-draft-gained"}),(0,t.jsx)(H,{title:"Loses",rows:a,testId:"network-draft-lost"})]},e)),(0,t.jsxs)("section",{"aria-labelledby":"network-draft-changes","data-testid":"network-draft-changes",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-draft-changes",className:"text-body font-semibold",children:"What the draft changes"}),s]})}function H({title:e,rows:r,testId:a}){return 0===r.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsxs)("p",{className:"text-meta text-muted-foreground",children:[e," ",r.length," ",1===r.length?"pair":"pairs"]}),(0,t.jsx)("ul",{className:"flex flex-col gap-1",children:r.map(e=>(0,t.jsxs)("li",{"data-testid":a,className:"flex flex-wrap items-center gap-x-2 text-body",children:[(0,t.jsx)("span",{children:e.from}),(0,t.jsx)(m.ArrowRight,{"aria-label":"to",className:"size-4 text-muted-foreground"}),(0,t.jsx)("span",{children:e.to}),(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e.rule})]},e.key))})]})}var J=e.i(77071),X=e.i(759659),Y=e.i(280581),Z=e.i(946033),ee=e.i(765649),et=e.i(263676),er=e.i(770703),ea=e.i(522016),es=e.i(406734);let ei=(0,er.default)(()=>e.A(867858).then(e=>e.LabelPicker),{loadableGenerated:{modules:[259068]},ssr:!1});function en({label:e,picked:r,owners:a,ownerChoices:i,unknown:n,groups:l,max:d,isDisabled:o,problem:c,onAdd:u,onRemove:h,testId:p,popoverTestId:m}){let[y,b]=(0,s.useState)(!1),[v,w]=(0,s.useState)(!1),j=r.length+a.length+n.length,k=new Set(a.map(e=>(0,f.termKeyOf)(e.term))),N=[...["*","#"].map(e=>({term:{owner:e},text:f.OWNER_TERM_MEANINGS[e]})),...i.map(e=>({term:{owner:e.shipId},text:e.name}))];return(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":p,children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e}),(0,t.jsxs)("div",{className:"flex min-h-(--size-control-sm) flex-wrap items-center gap-1.5",children:[0===j?(0,t.jsx)("span",{className:"text-body",children:"Every ship"}):null,r.map((e,r)=>(0,t.jsxs)(s.Fragment,{children:[0===r?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(g.LabelChip,{chip:e,testId:`${p}-value`,..."string"==typeof e.term?{}:{meaning:f.TERM_MEANINGS[e.term.value]},...o?{}:{onRemove:()=>{h(e.term)}}})]},(0,f.termKeyOf)(e.term))),a.map((e,a)=>(0,t.jsxs)(s.Fragment,{children:[0===a&&0===r.length?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(el,{owner:e,testId:`${p}-owner`,...!0===o?{}:{onRemove:()=>{h(e.term)}}})]},(0,f.termKeyOf)(e.term))),n.map(e=>(0,t.jsxs)("span",{"data-testid":`${p}-unknown`,title:`${(0,f.termKeyOf)(e)}: no longer in this fleet`,className:"inline-flex h-5.5 items-center gap-1 rounded-sm border border-tone-attention-border bg-tone-attention-bg px-1.5 text-id text-tone-attention-fg [&_svg]:size-3",children:[(0,t.jsx)(x.CircleAlert,{"aria-hidden":!0}),"string"!=typeof e&&"owner"in e?"A removed owner":"A removed label",!0===o?null:(0,t.jsx)("button",{type:"button","aria-label":"string"!=typeof e&&"owner"in e?"Remove the removed owner":"Remove the removed label",onClick:()=>{h(e)},className:"-mr-1 ml-0.5 inline-flex size-4 items-center justify-center rounded-xs hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",children:(0,t.jsx)(et.X,{"aria-hidden":!0})})]},(0,f.termKeyOf)(e))),j>=d?null:(0,t.jsxs)(es.Popover,{open:y,onOpenChange:b,children:[(0,t.jsx)(es.PopoverTrigger,{render:(0,t.jsx)(S.Button,{type:"button",variant:"ghost",size:"xs",icon:(0,t.jsx)(J.Plus,{}),disabled:o,"data-testid":`${p}-add`}),children:"Add label"}),(0,t.jsxs)(es.PopoverContent,{align:"start",sideOffset:6,className:"w-80 p-2","data-testid":m,children:[(0,t.jsx)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:e}),(0,t.jsx)(ei,{groups:l,pickedValueIds:r.flatMap(e=>"string"==typeof e.term?[e.term]:[]),onPick:e=>{b(!1),u(e)},terms:{picked:r.flatMap(e=>"string"==typeof e.term?[]:[e.term]),onPick:e=>{b(!1),u(e)}}}),(0,t.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:["All must hold. * is any value, # the same as the other side.",(0,t.jsx)(ea.default,{href:"/labels",className:"font-medium text-foreground hover:underline",children:"Manage labels"})]})]})]}),j>=d?null:(0,t.jsxs)(es.Popover,{open:v,onOpenChange:w,children:[(0,t.jsx)(es.PopoverTrigger,{render:(0,t.jsx)(S.Button,{type:"button",variant:"ghost",size:"xs",icon:(0,t.jsx)(J.Plus,{}),disabled:o,"data-testid":`${p}-owner-add`}),children:"Add owner"}),(0,t.jsxs)(es.PopoverContent,{align:"start",sideOffset:6,className:"w-72 p-2","data-testid":`${m}-owner`,children:[(0,t.jsxs)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:[e," the owner"]}),(0,t.jsx)("ul",{className:"flex flex-col",children:N.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",disabled:k.has((0,f.termKeyOf)(e.term)),"data-testid":`${p}-owner-option`,onClick:()=>{w(!1),u(e.term)},className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-body hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring disabled:text-muted-foreground disabled:hover:bg-transparent",children:[(0,t.jsx)(ee.UserRound,{"aria-hidden":!0,className:"size-(--size-icon) shrink-0 text-muted-foreground"}),e.text]})},(0,f.termKeyOf)(e.term)))}),(0,t.jsx)("p",{className:"mt-2 border-t border-border px-2 pt-2 text-meta text-muted-foreground",children:"An owner is argo or a person’s ship. # is the same owner as the other side."})]})]})]}),void 0===c?null:(0,t.jsx)("p",{role:"status",className:"text-meta text-tone-attention-fg","data-testid":`${p}-problem`,children:c}),0===n.length?null:(0,t.jsx)("p",{role:"alert",className:"text-meta text-tone-attention-fg",children:"A label or owner here was removed from the fleet: this side matches no ship until you remove it."})]})}function el({owner:e,onRemove:r,testId:a}){let{owner:s}=e.term,i="*"===s||"#"===s?`${e.text}. ${f.OWNER_TERM_MEANINGS[s]}`:`${e.text}: ships it owns`;return(0,t.jsxs)("span",{role:"group","aria-label":i,title:i,"data-testid":a,className:"inline-flex h-5.5 max-w-full min-w-0 shrink-0 items-center gap-1 rounded-sm border border-border bg-secondary px-1.5 font-mono text-id whitespace-nowrap text-foreground [&_svg]:size-3 [&_svg]:shrink-0 [&_svg]:text-muted-foreground",children:[(0,t.jsx)(ee.UserRound,{"aria-hidden":!0}),(0,t.jsxs)("span",{className:"truncate",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"owner="}),(0,t.jsx)("span",{className:"font-medium",children:e.text.slice(6)})]}),void 0===r?null:(0,t.jsx)("button",{type:"button","aria-label":`Remove ${e.text}`,onClick:r,className:"-mr-1 ml-0.5 inline-flex size-4 items-center justify-center rounded-xs text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring",children:(0,t.jsx)(et.X,{"aria-hidden":!0})})]})}let ed=[{side:"from",label:"From ships with"},{side:"to",label:"To ships with"}],eo=()=>crypto.randomUUID();function ec({rules:e,context:r,limits:a,isSaving:i,saveError:n,savedNote:d,onSave:o}){let[c,u]=(0,s.useState)(()=>(0,f.draftOf)(e,eo)),h=(0,Y.filterGroupsOf)(r),p=(0,f.ownerChoicesOf)(r),x=(0,f.isChanged)(c,e);return(0,t.jsxs)("section",{"aria-labelledby":"network-rules","data-testid":"network-rules",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules",className:"text-body font-semibold",children:"Rules"}),"all-to-all"===c.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-body","data-testid":"network-rules-state",children:"No rules: every ship may send to, read and manage every ship."}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"With rules, a ship may send to, read or manage another only when a rule of that verb or a built-in rule allows it."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(S.Button,{variant:x?"secondary":"primary",icon:(0,t.jsx)(J.Plus,{"aria-hidden":!0}),disabled:i,"data-testid":"network-rules-on",onClick:()=>{u((0,f.setRulesOn)(c,!0))},children:"Set rules"}),x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S.Button,{variant:"primary",isLoading:i,"data-testid":"network-rules-save",onClick:()=>{o(null)},children:"Save draft"}),(0,t.jsx)(S.Button,{disabled:i,"data-testid":"network-rules-discard",onClick:()=>{u((0,f.draftOf)(e,eo))},children:"Discard changes"})]}):null]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-body","data-testid":"network-rules-state",children:0===c.rules.length?"No rule allows anything yet: once saved, only the built-in rules hold.":"A ship may send to, read or manage another only when a rule of that verb or a built-in rule allows it."}),0===c.rules.length?null:(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:c.rules.map((e,s)=>(0,t.jsxs)("li",{"data-testid":"network-rule",className:"flex flex-col gap-2 rounded-md border border-border p-3 sm:flex-row sm:items-start sm:gap-3",children:[ed.map(({side:n,label:l})=>{let d,o=(0,f.selectorOf)(e[n],r);return(0,t.jsxs)("div",{className:"flex min-w-0 grow basis-0 items-start gap-3",children:["to"===n?(0,t.jsxs)("div",{className:"flex shrink-0 flex-col gap-1",children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"Verb"}),(0,t.jsxs)(Z.Select,{items:f.VERB_WORDS,value:e.verb,disabled:i,onValueChange:t=>{q.NETWORK_VERBS.some(e=>e===t)&&u((0,f.setVerb)(c,{rule:e.key,verb:t}))},children:[(0,t.jsx)(Z.SelectTrigger,{"aria-label":`Verb of rule ${String(s+1)}`,"data-testid":"network-rule-verb",size:"sm",children:(0,t.jsx)(Z.SelectValue,{})}),(0,t.jsx)(Z.SelectContent,{children:q.NETWORK_VERBS.map(e=>(0,t.jsx)(Z.SelectItem,{value:e,children:f.VERB_WORDS[e]},e))})]})]}):null,"to"===n?(0,t.jsx)(m.ArrowRight,{"aria-hidden":!0,className:"mt-6 hidden size-(--size-icon) shrink-0 text-muted-foreground sm:block"}):null,(0,t.jsx)(en,{label:l,picked:o.chips,owners:o.owners,ownerChoices:p,unknown:o.unknown,groups:h,max:a.selectorMax,isDisabled:i,...void 0===(d=(0,f.sameValueProblemOf)(e,{side:n,context:r}))?{}:{problem:d},testId:`network-rule-${n}`,popoverTestId:"network-rule-popover",onAdd:t=>{u((0,f.addTerm)(c,{rule:e.key,side:n,term:t,limits:a}))},onRemove:t=>{u((0,f.removeTerm)(c,{rule:e.key,side:n,term:t}))}})]},n)}),(0,t.jsx)(S.Button,{variant:"ghost",size:"xs",icon:(0,t.jsx)(X.Trash2,{"aria-hidden":!0}),disabled:i,"aria-label":`Remove rule ${String(s+1)}`,"data-testid":"network-rule-remove",onClick:()=>{u((0,f.removeRule)(c,e.key))}})]},e.key))}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c.rules.length>=a.rulesMax?null:(0,t.jsx)(S.Button,{size:"sm",icon:(0,t.jsx)(J.Plus,{"aria-hidden":!0}),disabled:i,"data-testid":"network-rules-add",onClick:()=>{u((0,f.addRule)(c,{newKey:eo,limits:a}))},children:"Add rule"}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground tabular-nums","data-testid":"network-rules-count",children:[c.rules.length," of ",a.rulesMax," rules"]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-t border-border pt-3",children:[(0,t.jsx)(S.Button,{variant:"primary",isLoading:i,disabled:!x||(0,f.hasSameValueOnOneSide)(c),"data-testid":"network-rules-save",onClick:()=>{o((0,f.rulesOf)(c))},children:"Save draft"}),x?(0,t.jsx)(S.Button,{disabled:i,"data-testid":"network-rules-discard",onClick:()=>{u((0,f.draftOf)(e,eo))},children:"Discard changes"}):null,(0,t.jsx)(S.Button,{variant:"ghost",className:"ml-auto",disabled:i,"data-testid":"network-rules-off",onClick:()=>{u((0,f.setRulesOn)(c,!1))},children:"Remove all rules"})]})]}),void 0===n?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t save the rules",description:n}),void 0===d||x?null:(0,t.jsx)("p",{role:"status",className:"text-meta text-muted-foreground","data-testid":"network-rules-note",children:d})]})}var eu=e.i(285595);let eh={name:"file-up",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]]};eh.node;let ep=(0,k.default)(eh);var em=e.i(791727),ex=e.i(443988),ef=e.i(330475);function eg(e){return"label"in e?`${e.label}=${e.value}`:`owner=${e.owner}`}function ey(e){return"ship"===e.kind?`ship:${e.name}`:`${e.kind}:${e.key}`}var eb=e.i(152678);function ev(e){switch(e.kind){case"definer":return`${e.key} is defined by ${e.fleetDefiner} here, by ${e.fileDefiner} in the file`;case"values":return`${e.key} has ${e.fleetValues.join(", ")} here; the file gives ${e.fileValues.join(", ")}`;case"ship":return`No active ship is named ${e.name}`}}function ew({difference:e,choice:r,ships:a,onShipQueryChange:s,isDisabled:i,onChange:n}){let l=ey(e),d=`network-import-difference-${l.replace(":","-")}`;return(0,t.jsxs)("fieldset",{className:"flex flex-col gap-2 rounded-lg border border-border bg-card p-3","data-testid":"network-import-difference",children:[(0,t.jsx)("legend",{className:"sr-only",children:ev(e)}),(0,t.jsx)("p",{className:"text-body font-medium","aria-hidden":!0,children:ev(e)}),(0,t.jsx)(eb.RadioGroup,{value:r?.way,disabled:i,onValueChange:t=>{n({difference:e,way:t})},children:e.ways.map(t=>({way:t,text:function(e,t){switch(e.kind){case"definer":return"useExisting"===t?`Use the label ${e.key} as it is, defined by ${e.fleetDefiner}`:`Drop the rules on ${e.key}`;case"values":return"useExisting"===t?`Use the label ${e.key} as it is: it has every value the rules name`:`Drop the rules naming ${e.missingValues.map(t=>`${e.key}=${t}`).join(", ")}`;case"ship":return"pickShip"===t?`Pick an active ship for ${e.name}`:`Drop the rules naming owner=${e.name}`}}(e,t)})).map(({way:e,text:r})=>(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(eb.RadioGroupItem,{id:`${d}-${e}`,value:e,className:"mt-0.5","data-testid":`network-import-way-${e}`}),(0,t.jsx)("label",{htmlFor:`${d}-${e}`,className:"min-w-0 grow cursor-pointer text-body",children:r})]},e))}),r?.way==="pickShip"?(0,t.jsx)(B.Combobox,{options:a.map(e=>({value:e.id,label:e.name})),value:r.shipId??null,onValueChange:t=>{let r=a.find(e=>e.id===t);n({difference:e,way:"pickShip",...void 0===r?{}:{shipId:r.id}})},onQueryChange:s,groupLabel:"Active ships",placeholder:"Type a ship name","aria-label":`The ship for ${"ship"===e.kind?e.name:""}`,"data-testid":"network-import-pick-ship"}):null]})}let ej=["Attach or paste","Check","Overview","Import"];function ek({current:e}){return(0,t.jsx)("ol",{className:"flex flex-wrap gap-x-3 gap-y-1 text-meta","aria-label":"Import steps","data-testid":"network-import-steps",children:ej.map((r,a)=>(0,t.jsxs)("li",{"aria-current":a===e?"step":void 0,className:a===e?"font-semibold text-foreground":"text-muted-foreground",children:[a+1,". ",r]},r))})}function eN(e){let{checked:r,isChecking:a,checkError:i,onCheck:n,onFileChange:d,ships:o,onShipQueryChange:c,isImporting:u,importError:h,onImport:p}=e,[m,x]=(0,s.useState)(""),[f,g]=(0,s.useState)([]),y=o.find(e=>e.isOperator),[b,v]=(0,s.useState)(y?.id),[w,j]=(0,s.useState)(!1),k=a||u,N=e=>{x(e),g([]),j(!1),d()};if(void 0===r)return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ek,{current:+!!a}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(em.Label,{htmlFor:"network-import-attach",children:"Attach the file"}),(0,t.jsx)("input",{id:"network-import-attach",type:"file",accept:"application/json,.json",disabled:k,"data-testid":"network-import-attach",className:"text-body file:mr-3 file:rounded-md file:border file:border-border file:bg-card file:px-3 file:py-1.5",onChange:e=>{let t=e.target.files?.[0];void 0!==t&&t.text().then(N)}})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(em.Label,{htmlFor:"network-import-paste",children:"Or paste it"}),(0,t.jsx)(ex.Textarea,{id:"network-import-paste",isMono:!0,rows:8,value:m,disabled:k,placeholder:'{ "format": "aeolus.network-rules", ... }',"data-testid":"network-import-paste",onChange:e=>{N(e.target.value)}})]}),void 0===i?null:(0,t.jsx)(l.InlineError,{title:"The file doesn’t check",description:`${i}. Nothing changed: fix the file and check it again.`}),(0,t.jsxs)(ef.DialogFooter,{children:[(0,t.jsx)(ef.DialogClose,{render:(0,t.jsx)(S.Button,{type:"button",disabled:k}),children:"Cancel"}),(0,t.jsx)(S.Button,{variant:"primary",isLoading:a,disabled:""===m.trim()||k,"data-testid":"network-import-check",onClick:()=>{n(m)},children:a?"Checking…":"Check file"})]})]});let{file:C,newLabels:R,differences:$}=r,O=C.rules??[],I=$.every(e=>{let t=f.find(t=>ey(t.difference)===ey(e));return void 0!==t&&("pickShip"!==t.way||void 0!==t.shipId)}),T=o.find(e=>e.id===b),E=I&&(0===R.length||void 0!==T)&&!k,A=f.flatMap(e=>(function(e){let{difference:t,way:r}=e;return"ship"===t.kind?"pickShip"===r?void 0===e.shipId?void 0:{kind:"ship",name:t.name,way:r,shipId:e.shipId}:{kind:"ship",name:t.name,way:"dropRules"}:{kind:t.kind,key:t.key,way:"useExisting"===r?"useExisting":"dropRules"}})(e)??[]);return w?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ek,{current:3}),(0,t.jsx)(ef.DialogHeader,{children:(0,t.jsx)(ef.DialogTitle,{children:"Import into the draft?"})}),(0,t.jsxs)("ul",{className:"flex list-disc flex-col gap-1 pl-5 text-body","data-testid":"network-import-consequences",children:[(0,t.jsx)("li",{children:null===C.rules?"The draft becomes all-to-all, every ship reaching every ship.":f.some(e=>"dropRules"===e.way)?`The draft is replaced by the file’s ${String(O.length)} rules, less the ones you chose to drop.`:`The draft is replaced by the file’s ${String(O.length)} rules.`}),0===R.length?null:(0,t.jsxs)("li",{children:[R.join(", ")," ",1===R.length?"is":"are"," defined for ",T?.name??"argo","."]}),(0,t.jsx)("li",{children:"Nothing is in force until you apply the draft."})]}),void 0===h?null:(0,t.jsx)(l.InlineError,{variant:"section",title:"Couldn’t import the file",description:`${h}. Nothing was written.`,onRetry:()=>{j(!1),n(m)}}),(0,t.jsxs)(ef.DialogFooter,{children:[(0,t.jsx)(S.Button,{type:"button",disabled:k,onClick:()=>{j(!1)},children:"Back"}),(0,t.jsx)(S.Button,{variant:"primary",isLoading:u,disabled:k,"data-testid":"network-import-confirm",onClick:()=>{p({file:m,resolutions:A,...0===R.length||void 0===T||T.isOperator?{}:{definerShipId:T.id}})},children:u?"Importing…":"Import into the draft"})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ek,{current:2}),(0,t.jsxs)("p",{className:"flex items-start gap-2 text-body",role:"status","data-testid":"network-import-checked",children:[(0,t.jsx)(eu.CircleCheck,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0 text-tone-ok-fg"}),(0,t.jsxs)("span",{children:["The file checks: ",null===C.rules?"all-to-all, no rules":`${String(O.length)} rules`," and ",C.labels.length," labels, from ",C.fleet.name," at rules version ",C.rulesVersion,", exported"," ",new Date(C.exportedAt).toLocaleString(),"."]})]}),0===$.length?null:(0,t.jsxs)("section",{"aria-labelledby":"network-import-differences",className:"flex flex-col gap-2","data-testid":"network-import-differences",children:[(0,t.jsx)("h3",{id:"network-import-differences",className:"text-body font-semibold",children:1===$.length?"1 difference to resolve":`${String($.length)} differences to resolve`}),$.map(e=>{let r=ey(e);return(0,t.jsx)(ew,{difference:e,choice:f.find(e=>ey(e.difference)===r),ships:o,onShipQueryChange:c,isDisabled:k,onChange:e=>{g([...f.filter(e=>ey(e.difference)!==r),e])}},r)})]}),0===R.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)(em.Label,{htmlFor:"network-import-definer",children:["Define ",R.join(", ")," for"]}),(0,t.jsx)(B.Combobox,{id:"network-import-definer",options:o.map(e=>({value:e.id,label:e.name})),value:b??null,onValueChange:e=>{v(o.find(t=>t.id===e)?.id)},onQueryChange:c,groupLabel:"Active ships",placeholder:"Type a ship name","data-testid":"network-import-definer"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"argo never retires, so its labels never go. Another ship must be within your manage reach."})]}),(0,t.jsxs)("section",{"aria-labelledby":"network-import-rules",className:"flex flex-col gap-1.5",children:[(0,t.jsx)("h3",{id:"network-import-rules",className:"text-body font-semibold",children:"Rules in the file"}),0===O.length?(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:null===C.rules?"None: all-to-all.":"None: only the built-in and declared rules."}):(0,t.jsx)("ol",{className:"flex max-h-64 flex-col gap-1 overflow-y-auto font-mono text-code","data-testid":"network-import-rules",children:O.map((e,t)=>{let r,{verb:a,from:s,to:i}=(r=e=>0===e.length?["every ship"]:e.map(eg),{verb:e.verb,from:r(e.from),to:r(e.to)});return{place:t+1,line:`${a}: ${s.join(" ")} → ${i.join(" ")}`}}).map(({place:e,line:r})=>(0,t.jsx)("li",{children:r},e))})]}),(0,t.jsxs)(ef.DialogFooter,{className:"items-center",children:[(0,t.jsx)("span",{className:"mr-auto text-meta text-muted-foreground",children:I?null:"Resolve every difference to import."}),(0,t.jsx)(S.Button,{type:"button",disabled:k,onClick:()=>{N(m)},children:"Back"}),(0,t.jsx)(S.Button,{variant:"primary",disabled:!E,"data-testid":"network-import-open-confirm",onClick:()=>{j(!0)},children:"Import…"})]})]})}function eC(e){let{isOpen:r,onOpenChange:a,isChecking:s,isImporting:i}=e;return(0,t.jsx)(ef.Dialog,{open:r,onOpenChange:e=>{s||i||a(e)},children:(0,t.jsxs)(ef.DialogContent,{size:"md","data-testid":"network-import-dialog",className:K.dialogSurface.phoneFullScreen,children:[(0,t.jsxs)(ef.DialogHeader,{children:[(0,t.jsxs)(ef.DialogTitle,{children:[(0,t.jsx)(ep,{"aria-hidden":!0,className:"mr-2 inline size-(--size-icon-sm)"}),"Import network rules"]}),(0,t.jsx)(ef.DialogDescription,{children:"Rules exported from this fleet or another land in the draft; nothing is in force until you apply it."})]}),r?(0,t.jsx)(eN,{...e}):null]})})}let eR={name:"file-down",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]]};eR.node;let eS=(0,k.default)(eR);function e$({isExporting:e,exportError:r,onExport:a,exported:s,canImport:i,onImport:n}){return(0,t.jsxs)("section",{"aria-labelledby":"network-rules-file","data-testid":"network-rules-file",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules-file",className:"text-body font-semibold",children:"Export and import"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Export writes the applied rules and the labels they use as one file, by name. Import brings a file from this fleet or another into the draft."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(S.Button,{icon:(0,t.jsx)(eS,{}),isLoading:e,"data-testid":"network-rules-export",onClick:a,children:e?"Exporting…":"Export"}),i?(0,t.jsx)(S.Button,{icon:(0,t.jsx)(ep,{}),disabled:e,"data-testid":"network-rules-import",onClick:n,children:"Import…"}):null]}),void 0===s||0===s.leftOut.length?null:(0,t.jsxs)("div",{role:"status","data-testid":"network-rules-left-out",className:"flex flex-col gap-1 rounded-lg border border-tone-waiting-border bg-tone-waiting-bg px-3.5 py-2.5 text-meta text-tone-waiting-fg",children:[(0,t.jsxs)("p",{children:[s.name," leaves out ",1===s.leftOut.length?"1 applied rule":`${String(s.leftOut.length)} applied rules`,", as each matches no ship:"]}),(0,t.jsx)("ul",{className:"list-disc pl-5",children:s.leftOut.map(({rule:e,reason:r})=>(0,t.jsxs)("li",{children:["rule ",e," ",r]},e))})]}),void 0===r?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t export the rules",description:`${r}. Nothing was downloaded.`})]})}function eO(e){switch(e.kind){case"ship":return e.name;case"account":return`Account ${e.accountId}`;case"installation":return"The installation"}}var eI=e.i(849635);function eT({refusals:e,error:r,onRetry:a,more:s,context:i,now:o}){let c;return c=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read the refusals",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"list",rows:3,label:"Loading the refusals"}):0!==e.length||s?(0,t.jsx)("ol",{className:"flex flex-col gap-2","data-testid":"network-refusals-list",children:e.map(e=>(0,t.jsx)(eE,{refusal:e,context:i,now:o},e.id))}):(0,t.jsx)(n.EmptyState,{variant:"section",title:"No send has been refused."}),(0,t.jsxs)("section",{"aria-labelledby":"network-refusals","data-testid":"network-refusals",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-refusals",className:"text-body font-semibold",children:"Refusals"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"The sends the rules refused, newest first, with both ships’ labels as they were then. The sender was told only that its send was refused."}),c,s]})}function eE({refusal:e,context:r,now:a}){let s=new Date(e.at),{recipient:i}=e,n="ship"===i.kind?[i.ship]:i.ships;return(0,t.jsxs)("li",{"data-testid":"network-refusal",className:"flex flex-col gap-2 rounded-md border border-border px-3 py-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-0.5",children:[(0,t.jsx)("p",{className:"text-body font-medium",children:function(e){let{sender:t,recipient:r}=e,a=`${eO(t)} tried to ${"ship"===t.kind?"message":"reach"}`;switch(r.kind){case"ship":return`${a} ${r.ship.name}.`;case"type":return`${a} the type ${r.type}: ${(0,Y.listed)(r.ships.map(e=>e.name))}.`}}(e)}),(0,t.jsx)("time",{dateTime:e.at,title:(0,eI.fullDateTime)(s),className:"text-meta text-muted-foreground tabular-nums",children:(0,eI.relativeTime)(s,a)})]}),(0,t.jsxs)("dl",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(eA,{side:"From",ship:{name:eO(e.sender),labels:"installation"===e.sender.kind?[]:e.sender.labels},context:r}),n.map(e=>(0,t.jsx)(eA,{side:"To",ship:e,context:r},e.id))]}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:`Refused by network settings version ${String(e.settingsVersion)}.`})]})}function eA({side:e,ship:r,context:a}){let s=(0,Y.chipsOf)(r,a);return(0,t.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[(0,t.jsxs)("dt",{className:"text-meta text-muted-foreground",children:[e," ",(0,t.jsx)("span",{className:"font-medium text-foreground",children:r.name})]}),(0,t.jsx)("dd",{className:"flex min-w-0 flex-wrap items-center gap-1",children:0===s.length?(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"No labels"}):s.map(e=>(0,t.jsx)(g.LabelChip,{chip:e,testId:"network-refusal-label"},e.valueId))})]})}var eB=e.i(509892),eL=e.i(787964),eP=e.i(490262),eD=e.i(34512),eM=e.i(905387),eV=e.i(970597),eF=e.i(419413),ez=e.i(266027),eK=e.i(427702),eQ=e.i(442111),e_=e.i(487483),eq=e.i(718423),eU=e.i(928459),eW=e.i(954616),eG=e.i(912598);function eH(){let e=(0,eK.useTRPC)(),t=(0,eG.useQueryClient)();return async()=>{await Promise.all([t.invalidateQueries({queryKey:e.fleet.networkRules.queryKey()}),t.invalidateQueries({queryKey:e.fleet.networkRulesDraftChanges.queryKey()}),t.invalidateQueries({queryKey:e.fleet.explainReach.pathKey()})])}}var eJ=e.i(296676),eX=e.i(619273);function eY(e,t="applied"){let r=new URLSearchParams([...void 0===e?[]:[["reach",e]],..."draft"===t?[["against","draft"]]:[]]).toString();return""===r?"/network":`/network?${r}`}var eZ=e.i(621482),e0=e.i(731877),e2=e.i(298421),e1=e.i(678485);e.s(["NetworkPageFor",0,function({pickedShipId:e,against:o}){var c,u,h,m;let x,f,g,y,v,w,j,k,N,C,R,S,$,I,T,A,B,L,P,D,M,F,z,K,Q,H,J=(0,a.useRouter)(),X=(0,eJ.useNow)(),Y=(0,eL.useConsoleFrame)(),Z=(0,eU.useNeedsAttention)(),ee=(0,eq.useLiveFleet)(),et=(0,eP.useAccess)(),er=et.canEditNetwork,ea=(f=(0,eK.useTRPC)(),(0,ez.useQuery)(f.fleet.networkRules.queryOptions(void 0,{enabled:er}))),es=void 0!==ea.data&&null!==ea.data.draft,ei=es?o:"applied",en=(c=er&&es,g=(0,eK.useTRPC)(),(0,ez.useQuery)(g.fleet.networkRulesDraftChanges.queryOptions(void 0,{enabled:c}))),el=(0,eM.useLabelContext)(),ed=(y=(0,eK.useTRPC)(),v=(0,ez.useQuery)(y.fleet.list.queryOptions({shipKind:["operator","person"],limit:eF.PAGE_SIZE_MAX},{enabled:er})),v.data?.items.filter(eV.isInReadReach)),eo=(u=er?e:void 0,w=(0,eK.useTRPC)(),(0,ez.useQuery)({...w.fleet.explainReach.queryOptions(void 0===u?eX.skipToken:{fromShipId:u,against:ei}),select:O})),eu=(j=(0,eK.useTRPC)(),(0,e0.pagedListOf)((0,eZ.useInfiniteQuery)(j.fleet.reachRefusals.infiniteQueryOptions({limit:e0.CONSOLE_PAGE_SIZE},{enabled:er,getNextPageParam:e0.nextCursorOf})))),eh=(k=(0,eK.useTRPC)(),(0,ez.useQuery)(k.fleet.declaredNetworkRules.queryOptions(void 0,{enabled:er}))),ep=(0,eQ.useListedShips)(function(e){let t=e.rules.flatMap(e=>[...e.from,...e.to].flatMap(e=>(0,q.isOwnerTerm)(e)&&e.owner!==q.ANY_LABEL_VALUE&&e.owner!==q.SAME_LABEL_VALUE?[e.owner]:[])),r=e.declarers.flatMap(e=>"ship"===e.kind?[e.shipId]:[]),{draftChanges:a}=e;return[...new Set([...t,...r,...void 0===a?[]:q.NETWORK_VERBS.flatMap(e=>[...a[e].gained,...a[e].lost]).flatMap(e=>[e.fromShipId,e.toShipId]),...void 0===e.pickedShipId?[]:[e.pickedShipId,...e.reachableShipIds??[]]])]}({rules:[...ea.data?.applied.rules??[],...ea.data?.draft?.rules??[]],declarers:eh.data?.map(e=>e.declarer)??[],...void 0===en.data?{}:{draftChanges:en.data},...void 0===e?{}:{pickedShipId:e},...void 0===eo.data?{}:{reachableShipIds:eo.data}})),em=[...ep?.values()??[]],ex=(N=(0,eK.useTRPC)(),C=(0,ez.useQuery)(N.fleet.shipCounts.queryOptions()),C.data?.filter(e=>"viewer"!==e.kind).reduce((e,t)=>e+t.active,0)),[ef,eg]=(0,s.useState)(""),ey=(0,e_.useShipSearch)("",er)??[],eb=(0,e_.useShipSearch)(ef,er)??[],ev=E([...new Map([...ey.slice(0,1),...eb].map(e=>[e.id,e])).values()]),ew=(R=(0,eK.useTRPC)(),(0,ez.useQuery)(R.fleet.builtInRules.queryOptions(void 0,{enabled:er}))),ej=(S=(0,eK.useTRPC)(),$=(0,eG.useQueryClient)(),{setViewerRead:e=>{I.mutate({rule:"viewerRead",isOn:e})},isPending:(I=(0,eW.useMutation)(S.fleet.setBuiltInRule.mutationOptions({onSuccess:()=>$.invalidateQueries({queryKey:S.fleet.builtInRules.queryKey()})}))).isPending,error:I.error?.message}),ek=(T=(0,eK.useTRPC)(),A=eH(),(0,eW.useMutation)(T.fleet.saveNetworkRulesDraft.mutationOptions({onSuccess:A}))),eN=(B=(0,eK.useTRPC)(),L=(0,eG.useQueryClient)(),P=eH(),(0,eW.useMutation)(B.fleet.applyNetworkRules.mutationOptions({onSuccess:async()=>{await Promise.all([P(),L.invalidateQueries({queryKey:B.fleet.builtInRules.queryKey()})])}}))),eR=(D=(0,eK.useTRPC)(),M=eH(),(0,eW.useMutation)(D.fleet.discardNetworkRulesDraft.mutationOptions({onSuccess:M}))),eS=(F=(0,eK.useTRPCClient)(),(0,eW.useMutation)({mutationFn:async()=>{var e;let t,r,a,{file:s,leftOut:i}=await F.fleet.exportNetworkRules.query(),n=(t=s.fleet.name.toLowerCase().replaceAll(/[^a-z0-9]+/g,"-").replaceAll(/^-|-$/g,""),`network-rules-${t}-v${String(s.rulesVersion)}.json`);return e=`${JSON.stringify(s,null,2)}
|
|
2
|
-
`,r=URL.createObjectURL(new Blob([e],{type:"application/json"})),(a=document.createElement("a")).href=r,a.download=n,a.click(),URL.revokeObjectURL(r),{name:n,leftOut:i}}})),eO=(z=(0,eK.useTRPC)(),(0,eW.useMutation)(z.fleet.checkNetworkRulesFile.mutationOptions())),eI=(K=(0,eK.useTRPC)(),Q=(0,eG.useQueryClient)(),H=eH(),(0,eW.useMutation)(K.fleet.importNetworkRules.mutationOptions({onSuccess:async()=>{await Promise.all([H(),Q.invalidateQueries({queryKey:K.fleet.labels.queryKey()})])}}))),[eE,eA]=(0,s.useState)(!1),e3=()=>{eO.reset(),eI.reset()},{networkRulesMax:e5,shipLabelsMax:e4}=(0,eD.useConsoleConstants)();if((0,e1.useSignInWhenSessionEnds)([Z.error,ee.error]),er)if(ea.isError)x=(0,t.jsx)(l.InlineError,{title:"Couldn’t read the network",description:ea.error.message,onRetry:()=>{ea.refetch()}});else if(void 0===ea.data||void 0===el||void 0===ed)x=(0,t.jsx)(d.LoadingSkeleton,{variant:"detail",rows:4,label:"Loading the network"});else{let r,a,s,n={...el,ships:[...em,...ed]};x=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p,{rows:void 0===ew.data?void 0:ew.data.map(W),error:ew.error?.message,onRetry:()=>{ew.refetch()},isTurning:ej.isPending,turnError:ej.error,onViewerReadChange:ej.setViewerRead}),(0,t.jsx)(ec,{rules:(ea.data.draft??ea.data.applied).rules,context:n,limits:{rulesMax:e5,selectorMax:e4},isSaving:ek.isPending,saveError:ek.error?.message,savedNote:void 0===ek.data?void 0:"Draft saved. Nothing changes until it is applied.",onSave:e=>{ek.mutate({rules:e})}},JSON.stringify(ea.data.draft??ea.data.applied)),null===ea.data.draft?null:(0,t.jsx)(G,{changes:void 0===en.data?void 0:(h=en.data,r=new Map(em.map(e=>[e.id,e.name])),a=e=>e.map(({fromShipId:e,toShipId:t,rule:a})=>({key:`${e}>${t}`,from:r.get(e)??e,to:r.get(t)??t,rule:function(e,t){if("builtIn"in e)return`Built-in: ${U[e.builtIn]}`;if("rule"in e)return`Rule ${String(e.rule+1)}`;let r="installation"===e.declared.kind?"the installation":t.get(e.declared.shipId)??e.declared.shipId;return`Declared by ${r}, rule ${String(e.index+1)}`}(a,r)})).sort((e,t)=>e.from.localeCompare(t.from)||e.to.localeCompare(t.to)),q.NETWORK_VERBS.map(e=>({verb:e,gained:a(h[e].gained),lost:a(h[e].lost)}))),error:en.error?.message,onRetry:()=>{en.refetch()}}),(0,t.jsx)(_,{draft:ea.data.draft,appliedVersion:ea.data.applied.version,isApplying:eN.isPending,applyError:eN.error?.message,onApply:()=>{eN.mutate({version:ea.data.applied.version})},isDiscarding:eR.isPending,discardError:eR.error?.message,onDiscard:()=>{eR.mutate()}}),(0,t.jsx)(e$,{isExporting:eS.isPending,exportError:eS.error?.message,exported:eS.data,onExport:()=>{eS.mutate(void 0,{onSuccess:({name:e,leftOut:t})=>{(0,i.showToast)({title:"Rules exported",description:0===t.length?`Saved as ${e}.`:`Saved as ${e}, leaving out ${String(t.length)}: see Export and import.`,tone:"success"})}})},canImport:et.canDefineLabels,onImport:()=>{e3(),eA(!0)}}),(0,t.jsx)(eC,{isOpen:eE,onOpenChange:e=>{eA(e),e||e3()},checked:eO.data,isChecking:eO.isPending,checkError:eO.error?.message,onCheck:e=>{eI.reset(),eO.mutate({file:e})},onFileChange:e3,ships:ev,onShipQueryChange:eg,isImporting:eI.isPending,importError:eI.error?.message,onImport:e=>{eI.mutate(e,{onSuccess:({definedLabels:e})=>{eA(!1),e3(),(0,i.showToast)({title:"Imported into the draft",description:`${0===e.length?"":`Defined ${e.join(", ")}. `}Look at what the draft changes, then apply it.`,tone:"success"})}})}}),(0,t.jsx)(b,{declared:void 0===eh.data?void 0:(m=eh.data,s=new Map(em.map(e=>[e.id,e.name])),m.filter(({rules:e})=>e.length>0).map(({declarer:e,rules:t})=>"installation"===e.kind?{declarerId:"installation",declaredBy:"the installation",rules:t}:{declarerId:e.shipId,declaredBy:s.get(e.shipId)??e.shipId,rules:t}).sort((e,t)=>e.declaredBy.localeCompare(t.declaredBy))),error:eh.error?.message,onRetry:()=>{eh.refetch()},context:n}),(0,t.jsx)(V,{ships:E(em),search:{ships:ev,onQueryChange:eg},...void 0===ex?{}:{sailingShipCount:ex},pickedShipId:e,reachableShipIds:eo.data,reachError:eo.error?.message,onPick:e=>{J.replace(eY(e,ei),{scroll:!1})},against:ei,...es?{onAgainstChange:t=>{J.replace(eY(e,t),{scroll:!1})}}:{},onRetry:()=>{eo.refetch()}}),(0,t.jsx)(eT,{refusals:eu.items,error:eu.isFailed?eu.error?.message:void 0,onRetry:eu.retry,more:eu.hasMore?(0,t.jsx)(e2.LoadMore,{what:"older refusals",isLoading:eu.isLoadingMore,isFailed:eu.isLoadMoreFailed,onLoad:eu.loadMore,area:"network-refusals"}):null,context:n,now:X})]})}else x=(0,t.jsx)(n.EmptyState,{icon:(0,t.jsx)(r.Network,{"aria-hidden":!0}),title:"Only a session holding fleet:network sees the network rules"});return(0,t.jsx)(eB.ListPage,{...Y,title:"Network",description:"Who may send to, read or manage whom. The fleet checks the applied rules on every send; a draft changes nothing until it is applied.",live:ee.live,children:x})}],313260)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,967928,o=>{o.v(t=>Promise.all(["static/chunks/3v8kvo897cw7g.js"].map(t=>o.l(t))).then(()=>t(792963)))}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,569644,269846,e=>{"use strict";var t=e.i(456420);let a={name:"folder-open",size:24,node:[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]};a.node;let s=(0,t.default)(a);e.s(["FolderOpen",0,s],569644);let n={name:"git-branch",size:24,node:[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]};n.node;let i=(0,t.default)(n);e.s(["GitBranch",0,i],269846)},911147,e=>{"use strict";var t=e.i(456420);let a={name:"octagon-pause",size:24,node:[["path",{d:"M10 15V9",key:"1lckn7"}],["path",{d:"M14 15V9",key:"1muqhk"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}]],aliases:["pause-octagon"]};a.node;let s=(0,t.default)(a);e.s(["OctagonPause",0,s],911147)},846980,e=>{"use strict";var t=e.i(843476),a=e.i(509892),s=e.i(190437),n=e.i(442111),i=e.i(296676),r=e.i(849635),l=e.i(500265),o=e.i(586448),d=e.i(427702),c=e.i(516634),u=e.i(965324),m=e.i(219321),h=e.i(817981),x=e.i(867927),p=e.i(522016),g=e.i(766390),f=e.i(574296),b=e.i(298421),j=e.i(78865),w=e.i(38614);function v({place:e}){return"ship"===e.kind?(0,t.jsx)("span",{className:"font-medium text-foreground",children:e.ship.name}):(0,t.jsx)(g.Badge,{variant:"type",children:e.type})}function N({total:e,read:a,notes:s,now:n}){let{cause:i,count:r}=e;return(0,t.jsxs)("section",{"aria-label":(0,j.statusLabel)(i),"data-testid":"health-cause","data-cause":i,className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4 shadow-sm max-sm:rounded-xl",children:[(0,t.jsxs)("header",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)(p.default,{href:(0,c.causePathOf)(i),className:"group inline-flex items-center gap-1.5 rounded-md","data-testid":"health-cause-open",children:[(0,t.jsx)(j.StatusBadge,{status:i}),(0,t.jsx)(x.ChevronRight,{"aria-hidden":!0,className:"size-(--size-icon-sm) text-muted-foreground group-hover:text-foreground"}),(0,t.jsxs)("span",{className:"sr-only",children:["Open the deliveries ",(0,j.statusLabel)(i).toLowerCase()]})]}),(0,t.jsx)("span",{className:"text-metric font-semibold tabular-nums text-foreground max-sm:text-title-touch",children:r})]}),(0,t.jsx)("p",{className:"text-body text-muted-foreground max-sm:text-body-touch",children:c.CAUSE_SENTENCES[i]}),a.isFailed?(0,t.jsx)(h.InlineError,{title:"Couldn’t load where they wait",description:"Nothing changed in the fleet. The page tries again by itself.",onRetry:a.onRetry}):void 0===a.places?(0,t.jsxs)("div",{role:"status","data-testid":"health-places-loading",children:[(0,t.jsx)("span",{className:"sr-only",children:"Loading where they wait"}),(0,t.jsx)(m.Skeleton,{className:"h-16 w-full rounded-lg"})]}):(0,t.jsx)(y,{places:a.places,notes:s,now:n}),void 0!==a.places&&a.hasMore&&(0,t.jsx)(b.LoadMore,{what:"more places",isLoading:a.isLoadingMore,isFailed:a.isLoadMoreFailed,onLoad:a.onLoadMore,area:"health-places"})]})}function y({places:e,notes:a,now:s}){return(0,t.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_minmax(0,1.2fr)_auto] gap-x-4 max-sm:grid-cols-1",children:[(0,t.jsxs)("div",{className:"col-span-3 grid grid-cols-subgrid items-center text-caption font-medium text-muted-foreground max-sm:col-span-1",children:[(0,t.jsx)("span",{className:"max-sm:hidden",children:"Where, how long"}),(0,t.jsx)(w.WaitAxis,{}),(0,t.jsx)("span",{className:"text-right max-sm:hidden",children:"Next step"})]}),(0,t.jsx)("ul",{className:"col-span-3 grid grid-cols-subgrid divide-y divide-border max-sm:col-span-1",children:e.map(e=>{let n=(0,c.nextStepOf)(e),i=a.get(e),l=(0,r.duration)(new Date(e.oldestSince),s);return(0,t.jsxs)("li",{"data-testid":"health-place",className:"col-span-3 grid grid-cols-subgrid items-center gap-y-2 py-3 last:pb-0 max-sm:col-span-1",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,t.jsx)(v,{place:e.place}),(0,t.jsxs)("span",{className:"text-meta tabular-nums text-muted-foreground",children:[e.count," · oldest ",l]})]}),(0,t.jsx)(w.WaitStrip,{waits:e.deliveries.map(e=>(0,c.waitMinutes)(e.since,s)),label:`${String(e.count)} waiting, the oldest ${l}`}),(0,t.jsx)(f.Button,{variant:"secondary",size:"sm",nativeButton:!1,render:(0,t.jsx)(p.default,{href:n.href}),className:"max-sm:h-(--size-control-touch) max-sm:w-full max-sm:text-body-touch","data-testid":"health-next-step",children:n.label}),void 0!==i&&(0,t.jsx)("p",{className:"col-span-3 text-meta text-muted-foreground max-sm:col-span-1",children:i})]},`${e.cause}-${"ship"===e.place.kind?e.place.ship.id:e.place.type}`)})})]})}function k({perHour:e}){let a=Math.max(1,...e.map(e=>e.count));return(0,t.jsx)("div",{role:"img","aria-label":`Acknowledged per hour over the last 24 hours, at most ${Math.max(0,...e.map(e=>e.count))} in an hour`,"data-testid":"health-acknowledged-bars",className:"flex h-8 w-full items-end gap-0.5 sm:w-48",children:e.map(e=>(0,t.jsx)("span",{className:"min-h-0.5 flex-1 rounded-xs bg-tone-ok-fg opacity-75",style:{height:`${e.count/a*100}%`}},e.at))})}function S({acknowledged:e}){return(0,t.jsxs)("section",{"aria-label":"Delivering","data-testid":"health-delivering",className:"flex items-center gap-4 rounded-lg border border-border bg-card p-4 shadow-sm max-sm:flex-col max-sm:items-start max-sm:gap-3 max-sm:rounded-xl",children:[(0,t.jsx)(j.StatusBadge,{status:"delivering"}),(0,t.jsx)("p",{className:"flex-1 text-body text-foreground max-sm:text-body-touch",children:null===e.medianMs?"Nothing acknowledged in the last 24 h.":(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"font-semibold tabular-nums",children:e.count})," acknowledged in the last 24 h, median"," ",(0,t.jsx)("span",{className:"font-semibold tabular-nums",children:(0,c.medianText)(e.medianMs,r.duration)})," from send to acknowledgement."]})}),(0,t.jsx)(k,{perHour:e.perHour})]})}function T({perHour:e,marks:a}){let s=Math.max(5,5*Math.ceil(Math.max(0,...e.map(e=>e.count))/5)),n=Math.max(e.length-1,1),i=e=>100-e/s*100,[l]=e,o=e.slice(1).map((e,t)=>`H${(t+1)/n*1e3} V${i(e.count)}`),d=[`M0 ${i(l?.count??0)}`,...o].join(" "),c=`${d} H1000 V100 H0 Z`,u=e.at(-1)?.count??0,m=e.flatMap((e,t)=>t%24==12?[{index:t,label:(0,r.dayMonth)(new Date(e.at))}]:[]);return(0,t.jsxs)("figure",{"data-testid":"health-trend",className:"flex min-w-0 flex-col gap-2",children:[(0,t.jsx)("figcaption",{className:"text-meta font-medium text-foreground",children:"Stuck deliveries, last 7 days, per hour"}),(0,t.jsxs)("div",{className:"grid grid-cols-[auto_1fr] gap-x-2",children:[(0,t.jsx)("div",{"aria-hidden":!0,className:"relative h-36 w-5 text-caption tabular-nums text-muted-foreground",children:[s,s/2,0].map(e=>(0,t.jsx)("span",{className:"absolute right-0 -translate-y-1/2",style:{top:`${100-e/s*100}%`},children:e},e))}),(0,t.jsxs)("div",{className:"relative h-36",children:[(0,t.jsxs)("svg",{role:"img","aria-label":`Stuck deliveries per hour over the last 7 days: ${u} now, at most ${Math.max(0,...e.map(e=>e.count))}`,viewBox:"0 0 1000 100",preserveAspectRatio:"none",className:"size-full overflow-visible",children:[[0,s/2,s].map(e=>(0,t.jsx)("line",{x1:0,x2:1e3,y1:i(e),y2:i(e),className:"stroke-border",vectorEffect:"non-scaling-stroke"},e)),(0,t.jsx)("path",{d:c,className:"fill-tone-waiting-bg"}),(0,t.jsx)("path",{d:d,className:"fill-none stroke-tone-waiting-fg",strokeWidth:2,strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})]}),a.map(a=>(0,t.jsx)("span",{"aria-hidden":!0,"data-testid":"health-trend-mark",className:"absolute flex size-4 -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full border-2 border-foreground bg-card text-micro font-semibold text-foreground max-sm:hidden",style:{left:`${a.hour/n*100}%`,top:`${i(e[a.hour]?.count??0)/100*100}%`},children:a.number},a.number)),(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute size-2 -translate-1/2 rounded-full bg-tone-waiting-fg",style:{left:"100%",top:`${i(u)/100*100}%`}})]}),(0,t.jsx)("div",{"aria-hidden":!0,className:"relative col-start-2 h-4 text-caption text-muted-foreground",children:m.map(e=>(0,t.jsx)("span",{className:"absolute -translate-x-1/2 whitespace-nowrap max-sm:[&:nth-child(even)]:hidden",style:{left:`${e.index/n*100}%`},children:e.label},e.index))})]}),a.length>0&&(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:a.map((e,a)=>(0,t.jsxs)("span",{children:[a>0&&" · ",(0,t.jsx)("span",{className:"font-semibold text-foreground",children:e.number})," ",e.label]},e.number))})]})}function C({summary:e,stuckPerHour:a,places:s}){let n=(0,c.verdictOf)({summary:e,stuckPerHour:a});return(0,t.jsxs)("section",{"aria-label":"Verdict","data-testid":"health-verdict","data-verdict":n.kind,className:"grid gap-6 rounded-lg border border-border bg-card p-4 shadow-sm lg:grid-cols-[minmax(0,2fr)_minmax(0,3fr)] max-sm:gap-4 max-sm:rounded-xl",children:[(0,t.jsxs)("div",{className:"flex flex-col items-start gap-3",children:[(0,t.jsx)(j.StatusBadge,{status:n.kind}),"stuck"===n.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"text-section font-semibold text-foreground",children:[(0,t.jsx)("span",{className:"text-metric tabular-nums max-sm:text-title-touch","data-testid":"health-stuck-count",children:n.count})," ",1===n.count?"delivery":"deliveries"," stuck in ",n.places," ",1===n.places?"place":"places"]}),(0,t.jsxs)("p",{className:"text-body text-muted-foreground max-sm:text-body-touch",children:["Stuck since ",(0,r.shortDateTime)(new Date(n.since)),". ",(0,c.trendSentence)(n)]}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Nothing is lost: each one is stored and moves on as soon as its cause is gone."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-section font-semibold text-foreground",children:"Delivering. Nothing is stuck."}),(0,t.jsx)("p",{className:"text-body text-muted-foreground max-sm:text-body-touch",children:"Every delivery waits only on its ship to take it."})]})]}),(0,t.jsx)(T,{perHour:a,marks:(0,c.marksOf)({places:s,stuckPerHour:a})})]})}var $=e.i(841220);function M({machines:e,stuckByMachine:a,renderLiveness:s}){return(0,t.jsxs)("section",{"aria-labelledby":"health-machines","data-testid":"health-machines",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4 shadow-sm max-sm:rounded-xl",children:[(0,t.jsxs)("header",{className:"flex flex-wrap items-baseline justify-between gap-2",children:[(0,t.jsx)("h2",{id:"health-machines",className:"text-section font-semibold text-foreground",children:"Machines"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Each machine runs a trierarch that crews ships."})]}),(0,t.jsx)("ul",{className:"flex flex-col divide-y divide-border",children:e.map(e=>{let n=a.get(e.id)??0;return(0,t.jsxs)("li",{"data-testid":"health-machine",className:"flex items-center gap-4 py-3 first:pt-0 last:pb-0 max-sm:flex-wrap max-sm:gap-2",children:[(0,t.jsxs)("span",{className:"inline-flex min-w-40 items-center gap-2 font-medium text-foreground",children:[(0,t.jsx)($.Server,{"aria-hidden":!0,className:"size-(--size-icon) text-muted-foreground"}),e.name]}),(0,t.jsx)("span",{className:"min-w-0 flex-1",children:s(e)}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground",children:[e.ships," ",1===e.ships?"ship":"ships",n>0&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,t.jsxs)("span",{className:"font-semibold text-foreground",children:[n," ",1===n?"delivery":"deliveries"," stuck on its ships"]})]})]}),n>0&&(0,t.jsx)(f.Button,{variant:"secondary",size:"sm",nativeButton:!1,render:(0,t.jsx)(p.default,{href:`/trierarchs/${e.id}`}),className:"max-sm:h-(--size-control-touch) max-sm:w-full",children:"Open machine"})]},e.id)})})]})}function A({label:e,className:a}){return(0,t.jsxs)("div",{role:"status","data-testid":"health-part-loading",children:[(0,t.jsx)("span",{className:"sr-only",children:e}),(0,t.jsx)(m.Skeleton,{className:(0,u.classNames)("w-full rounded-lg",a)})]})}function L({summary:e,places:a,stuckPerHour:s,acknowledged:n,notes:i,machines:r,renderLiveness:l,children:o,now:d}){let u=void 0===e.data?void 0:(0,c.causeTotalsOf)(e.data),m=Object.values(a).flatMap(e=>e.places??[]);return(0,t.jsxs)("div",{"data-testid":"health-board",className:"flex flex-col gap-5 max-sm:gap-3.5",children:[e.isError||s.isError?(0,t.jsx)(h.InlineError,{title:"Couldn’t load where deliveries are stuck",description:"Nothing changed in the fleet. The page tries again by itself.",onRetry:()=>{for(let t of[e,s])t.isError&&t.onRetry()}}):void 0===e.data||void 0===s.data?(0,t.jsx)(A,{label:"Loading the verdict",className:"h-44"}):(0,t.jsx)(C,{summary:e.data,stuckPerHour:s.data,places:m}),n.isError?(0,t.jsx)(h.InlineError,{title:"Couldn’t load the deliveries acknowledged",description:"Nothing changed in the fleet. The page tries again by itself.",onRetry:n.onRetry}):void 0===n.data?(0,t.jsx)(A,{label:"Loading the deliveries acknowledged",className:"h-16"}):(0,t.jsx)(S,{acknowledged:n.data}),void 0===u?e.isError?null:(0,t.jsx)(A,{label:"Loading where deliveries are stuck",className:"h-40"}):u.length>0&&(0,t.jsx)("div",{className:"grid gap-5 lg:grid-cols-2 max-sm:gap-3.5",children:u.map(e=>(0,t.jsx)(N,{total:e,read:a[e.cause],notes:i,now:d},e.cause))}),void 0!==e.data&&void 0!==r&&r.length>0&&(0,t.jsx)(M,{machines:r,stuckByMachine:(0,c.stuckByMachine)(e.data),renderLiveness:l}),o]})}function O({renderLiveness:e,children:a}){var u;let m,h,x,p=(0,i.useNow)(),g=(0,s.useStuckSummary)(),f=e=>g.data?.byCause.some(t=>t.cause===e)??!1,b={noShipCanTake:D((0,s.useStuckPlaces)("noShipCanTake",f("noShipCanTake"))),waitingForCrew:D((0,s.useStuckPlaces)("waitingForCrew",f("waitingForCrew"))),stalledInFlight:D((0,s.useStuckPlaces)("stalledInFlight",f("stalledInFlight"))),undeliverable:D((0,s.useStuckPlaces)("undeliverable",f("undeliverable")))},j=(0,s.useStuckHistory)(),w=(0,s.useAcknowledged)(),v=(0,l.useMachines)(),N=Object.values(b).flatMap(e=>e.places??[]),y=(0,n.useListedShips)(N.flatMap(({place:e})=>"ship"===e.kind?[e.ship.id]:[])),k=(u=(v.data??[]).map(e=>e.shipId),m=(0,d.useTRPC)(),h=(0,o.useQueries)({queries:u.map(e=>m.fleet.shipCounts.queryOptions({filter:{assignedTo:[e]}}))}),x=new Map,u.forEach((e,t)=>{let a=h[t]?.data;void 0!==a&&x.set(e,a.reduce((e,t)=>e+t.active,0))}),x),S=new Map;for(let e of N){let t="ship"===e.place.kind?y?.get(e.place.ship.id):void 0,a=(0,c.placeNote)(e,{facts:t&&{lastSeenAt:t.lastSeenAt},since:e=>(0,r.relativeTime)(e,p)});null!==a&&S.set(e,a)}let T=new Map((v.data??[]).map(e=>[e.shipId,e])),C=v.data?.map(e=>({id:e.shipId,name:e.name,ships:k.get(e.shipId)??0}));return(0,t.jsx)(L,{summary:R(g),places:b,stuckPerHour:R(j),acknowledged:R(w),notes:S,machines:C,renderLiveness:t=>{let a=T.get(t.id);return void 0===a?null:e(a)},now:p,children:a})}function R(e){return{data:e.data,isError:e.isError,onRetry:()=>{e.refetch()}}}function D(e){return{places:e.items,isFailed:e.isFailed,onRetry:e.retry,hasMore:e.hasMore,isLoadingMore:e.isLoadingMore,isLoadMoreFailed:e.isLoadMoreFailed,onLoadMore:e.loadMore}}var E=e.i(784294),I=e.i(219249),P=e.i(781830),F=e.i(1935);function _({members:e,ships:a,now:s,renderAction:n}){return(0,t.jsx)("ul",{"data-testid":"silent-members",className:"divide-y divide-border overflow-hidden rounded-lg border border-border",children:e.map(({squadronId:e,member:i})=>{let{lastSeenAt:l}=i.crew;return(0,t.jsxs)("li",{"data-testid":"silent-member",className:"flex flex-wrap items-center gap-x-4 gap-y-1.5 px-3 py-2.5",children:[(0,t.jsxs)("span",{className:"flex min-w-0 flex-col gap-1",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)(I.HealthIndicator,{health:"silent"}),(0,t.jsx)("span",{className:"font-medium",children:i.name})]}),(0,t.jsx)(F.SquadronTag,{squadronId:e,role:i.role,size:"sm"})]}),(0,t.jsxs)("span",{className:"flex flex-col text-meta",children:[(0,t.jsx)("span",{children:null===l?"never seen":`not seen for ${(0,r.duration)(new Date(l),s)}`}),(0,t.jsxs)("span",{className:"text-muted-foreground",children:["checks in ",(0,E.checkInText)(i.checkInMinutes)]})]}),(0,t.jsx)("span",{className:"grow",children:(0,t.jsx)(P.ReportLine,{report:a.get(i.shipId)?.report??null,now:s,variant:"row",testId:"silent-member-report"})}),n?.({squadronId:e,member:i}),(0,t.jsxs)(p.default,{href:`/squadrons/${e}`,className:"inline-flex items-center gap-1 text-meta font-medium hover:underline",children:["Open",(0,t.jsx)(x.ChevronRight,{"aria-hidden":!0,className:"size-(--size-icon-sm)"})]})]},i.shipId)})})}var z=e.i(215327),B=e.i(36556),H=e.i(490262),W=e.i(787964),q=e.i(718423),U=e.i(678485),V=e.i(853573),G=e.i(448695);e.s(["default",0,function(){let e=(0,i.useNow)(),r=(0,W.useConsoleFrame)(),l=(0,q.useLiveFleet)(),o=(0,s.useStuckSummary)(),d=(0,H.useAccess)(),c=(0,G.useSquadrons)(),u=(0,E.silentMembers)(c.data??[]),m=(0,V.useShips)(u.map(({member:e})=>e.shipId)),h=(0,n.useListedShips)(u.map(({member:e})=>e.shipId))??new Map;return(0,U.useSignInWhenSessionEnds)([o.error,l.error]),(0,t.jsx)(a.ListPage,{...r,title:"Health",description:"Where deliveries wait, since when, and what lets them move.",live:l.live,children:(0,t.jsx)(O,{renderLiveness:a=>(0,t.jsx)(B.MachineLiveness,{machine:a,now:e}),children:u.length>0?(0,t.jsxs)("section",{"aria-labelledby":"health-silent",className:"flex flex-col gap-2",children:[(0,t.jsxs)("h2",{id:"health-silent",className:"text-section font-semibold text-foreground",children:["Silent members (",u.length,")"]}),(0,t.jsx)(_,{members:u,ships:h,now:e,renderAction:d.canManage?({squadronId:e,member:a})=>(0,t.jsx)(z.GetNewCrewLine,{squadronId:e,member:a,ship:m.get(a.shipId),isPrimary:!0,testId:"silent-member-new-crew-line"}):void 0}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"A member is silent after 3 missed check-ins; only you can start its new session. Late members and blocked reports stay on their squadron page."})]}):null})})}],846980)},424010,e=>{"use strict";var t=e.i(843476);e.s([],558762),e.i(558762);var a=e.i(366250),s=e.i(402820),n=e.i(156736),i=e.i(209793),r=e.i(784324),l=e.i(264951),o=e.i(77173);let d=e.i(313488).DialogTrigger;var c=e.i(974217),u=e.i(325326);class m extends u.DialogHandle{}e.s(["Backdrop",()=>s.DialogBackdrop,"Close",()=>n.DialogClose,"Description",()=>i.DialogDescription,"Handle",0,m,"Popup",()=>r.DialogPopup,"Portal",()=>l.DialogPortal,"Root",0,function(e){return(0,a.useRenderDialogRoot)("alert-dialog",e)},"Title",()=>o.DialogTitle,"Trigger",0,d,"Viewport",()=>c.DialogViewport,"createHandle",0,function(){return new m}],734604);var h=e.i(734604),h=h,x=e.i(965324),p=e.i(746675);e.s(["AlertDialog",0,function(e){return(0,t.jsx)(h.Root,{"data-slot":"alert-dialog",...e})},"AlertDialogClose",0,function(e){return(0,t.jsx)(h.Close,{"data-slot":"alert-dialog-close",...e})},"AlertDialogContent",0,function({className:e,size:a,children:s,...n}){return(0,t.jsxs)(h.Portal,{children:[(0,t.jsx)(h.Backdrop,{"data-slot":"alert-dialog-overlay",className:p.dialogSurface.overlay}),(0,t.jsx)(h.Popup,{"data-slot":"alert-dialog-content",className:(0,x.classNames)(p.dialogSurface.popup({size:a}),e),...n,children:s})]})},"AlertDialogDescription",0,function({className:e,...a}){return(0,t.jsx)(h.Description,{"data-slot":"alert-dialog-description",className:(0,x.classNames)(p.dialogSurface.description,e),...a})},"AlertDialogFooter",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,x.classNames)(p.dialogSurface.footer,e),...a})},"AlertDialogHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,x.classNames)(p.dialogSurface.header,e),...a})},"AlertDialogTitle",0,function({className:e,...a}){return(0,t.jsx)(h.Title,{"data-slot":"alert-dialog-title",className:(0,x.classNames)(p.dialogSurface.title,e),...a})}],424010)},219249,e=>{"use strict";var t=e.i(843476),a=e.i(965324);let s={"on-time":{label:"On time",dot:"bg-tone-ok-fg",text:"text-tone-ok-fg"},late:{label:"Late",dot:"bg-tone-waiting-fg",text:"text-tone-waiting-fg"},silent:{label:"Silent",dot:"bg-tone-attention-fg",text:"text-tone-attention-fg"},"standing-down":{label:"Standing down",dot:"bg-tone-active-fg",text:"text-tone-active-fg"},"not-on-station":{label:"Not on station",dot:"border border-dashed border-muted-foreground",text:"text-foreground"}};function n({health:e}){return(0,t.jsx)("span",{"aria-hidden":!0,className:(0,a.classNames)("size-2 shrink-0 rounded-full",s[e].dot)})}e.s(["HealthIndicator",0,function({health:e,detail:i,className:r}){return(0,t.jsxs)("span",{"data-slot":"health-indicator","data-health":e,className:(0,a.classNames)("inline-flex items-center gap-1.5 text-meta",r),children:[(0,t.jsx)(n,{health:e}),(0,t.jsx)("span",{className:(0,a.classNames)("font-medium",s[e].text),children:s[e].label}),void 0!==i&&(0,t.jsx)("span",{className:"text-muted-foreground",children:i})]})},"HealthSummary",0,function({counts:e,className:i}){return(0,t.jsx)("span",{"data-slot":"health-summary",className:(0,a.classNames)("inline-flex flex-wrap items-center gap-x-3 gap-y-1 text-meta",i),children:e.map(({health:e,count:a})=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,t.jsx)(n,{health:e}),(0,t.jsxs)("span",{children:[a," ",s[e].label.toLowerCase()]})]},e))})}])},298421,e=>{"use strict";var t=e.i(843476),a=e.i(456420);let s={name:"chevrons-down",size:24,node:[["path",{d:"m7 6 5 5 5-5",key:"1lc07p"}],["path",{d:"m7 13 5 5 5-5",key:"1d48rs"}]]};s.node;let n=(0,a.default)(s);var i=e.i(574296),r=e.i(817981);e.s(["LoadMore",0,function({what:e,isLoading:a,isFailed:s,onLoad:l,area:o}){return s?(0,t.jsx)(r.InlineError,{title:`Couldn’t load ${e}`,description:"What is shown stays as it is. Try again in a moment.",onRetry:l,className:"m-3"}):(0,t.jsx)("div",{className:"flex justify-center border-t border-border px-3.5 py-2.5",children:(0,t.jsx)(i.Button,{size:"sm",variant:"ghost",icon:(0,t.jsx)(n,{"aria-hidden":!0}),isLoading:a,onClick:l,"data-testid":`${o}-load-more`,children:a?`Loading ${e}...`:`Load ${e}`})})}],298421)},781830,e=>{"use strict";var t=e.i(843476),a=e.i(779432),s=e.i(119002),n=e.i(911147),i=e.i(965324),r=e.i(849635),l=e.i(793361);let o={working:a.Activity,blocked:n.OctagonPause,idle:s.CirclePause},d={active:"text-tone-active-fg",waiting:"text-tone-waiting-fg",ended:"text-tone-ended-fg"};e.s(["ReportLine",0,function({report:e,now:a,variant:s,isTimeInTitle:n=!1,testId:c}){let u="full"===s,m=(0,i.classNames)("flex min-w-0 items-center gap-1.5",u?"text-body":"text-meta");if(null===e)return(0,t.jsx)("span",{"data-testid":c,"data-state":"none",className:(0,i.classNames)(m,"text-muted-foreground"),children:"No report yet"});let h=o[e.state],x=d[l.REPORT_TONES[e.state]],p=new Date(e.reportedAt);return(0,t.jsxs)("span",{"data-testid":c,"data-state":e.state,title:n?`${(0,l.reportText)(e)} \xb7 ${(0,l.reportedWhen)(p,a)}`:(0,l.reportText)(e),className:m,children:[(0,t.jsx)(h,{"aria-hidden":!0,className:(0,i.classNames)("size-(--size-icon-sm) shrink-0",x)}),(0,t.jsx)("span",{className:(0,i.classNames)("shrink-0 font-medium",x),children:l.REPORT_STATE_WORDS[e.state]}),null===e.note?null:(0,t.jsx)("span",{className:"min-w-0 truncate text-foreground",children:e.note}),n?null:(0,t.jsx)("time",{dateTime:e.reportedAt,title:(0,r.fullDateTime)(p),className:"shrink-0 text-muted-foreground tabular-nums",children:u?`\xb7 ${(0,l.reportedWhen)(p,a)}`:(0,l.reportAge)(p,a)})]})}])},1935,e=>{"use strict";var t=e.i(843476),a=e.i(660011),s=e.i(522016),n=e.i(965324);e.s(["SquadronTag",0,function({squadronId:e,role:i,size:r="md",className:l}){return(0,t.jsxs)(s.default,{href:`/squadrons/${e}`,"data-slot":"squadron-tag",className:(0,n.classNames)("inline-flex max-w-full items-center gap-1 rounded-sm bg-secondary px-1.5 text-secondary-foreground hover:underline [&_svg]:size-(--size-icon-sm) [&_svg]:shrink-0","sm"===r?"h-5.5 text-meta":"h-6 text-body",l),children:[(0,t.jsx)(a.Shapes,{"aria-hidden":!0}),(0,t.jsx)("span",{className:"truncate font-medium",children:e}),void 0!==i&&(0,t.jsxs)("span",{className:"shrink-0 text-muted-foreground",children:["· ",i]})]})}])},509892,e=>{"use strict";var t=e.i(843476),a=e.i(819759),s=e.i(574296),n=e.i(577880),i=e.i(485538);e.s(["ListPage",0,function({title:e,description:r,titleMeta:l,primaryAction:o,toolbar:d,live:c,onCompose:u,onSearch:m,switcher:h,account:x,banner:p,phoneTopBar:g,children:f}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.Header,{breadcrumb:e,live:c,switcher:h,account:x,onCompose:u,onSearch:m}),p,g??(0,t.jsx)(i.TopBar,{title:e,live:c,switcher:h,account:x,onSearch:m,actions:u?(0,t.jsx)(s.Button,{variant:"ghost",size:"touch",isIconOnly:!0,"aria-label":"Compose","data-testid":"top-bar-compose",onClick:u,children:(0,t.jsx)(a.SquarePen,{"aria-hidden":!0})}):void 0}),(0,t.jsxs)("main",{className:"flex grow flex-col gap-5 px-8 py-6 max-sm:gap-3.5 max-sm:px-4 max-sm:pt-3.5 max-sm:pb-[calc(var(--size-tabbar)+var(--spacing)*4)]",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4 max-sm:gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2.5 gap-y-1",children:[(0,t.jsx)("h1",{className:"text-title font-semibold tracking-tight text-foreground max-sm:text-title-touch",children:e}),l]}),r?(0,t.jsx)("p",{className:"text-meta text-muted-foreground max-sm:text-body-touch",children:r}):null]}),o?(0,t.jsx)("div",{className:"shrink-0 max-sm:w-full max-sm:[&>*]:w-full",children:o}):null]}),d,f]})]})}])},516634,38614,e=>{"use strict";let t=["noShipCanTake","waitingForCrew","stalledInFlight","undeliverable"];function a(e){return`/fleet-health/${e}`}function s(e){return"ship"===e.kind?e.ship.name:e.type}let n={noShipCanTake:"no ship can take",waitingForCrew:"waiting for crew",stalledInFlight:"stalled in flight",undeliverable:"undeliverable"},i=[{minutes:1,label:"1 min"},{minutes:10,label:"10 min"},{minutes:60,label:"1 h"},{minutes:1440,label:"1 d"},{minutes:10080,label:"7 d"}],r=Math.log(1),l=Math.log(10080);function o(e){return Math.min(Math.max((Math.log(Math.max(e,1))-r)/(l-r),0),1)}let d={pending:"pending",received:"received",handed:"handed (pulled)",undeliverable:"undeliverable"};e.s(["CAUSE_SENTENCES",0,{noShipCanTake:"Sent to a type with no active ship. Waits until you commission one.",waitingForCrew:"Sent to a ship no session crews. Waits until it is crewed.",stalledInFlight:"Taken by a session that went quiet. Waits until it acknowledges or the ship is released.",undeliverable:"Taken five times, never acknowledged. Waits for you to resend or dismiss."},"WAIT_TICKS",0,i,"causePathOf",0,a,"causeTotalsOf",0,function(e){return t.flatMap(t=>e.byCause.filter(e=>e.cause===t))},"marksOf",0,function(e){let[t]=e.stuckPerHour;return void 0===t?[]:e.places.filter(e=>e.oldestSince>t.at).toSorted((e,t)=>e.oldestSince.localeCompare(t.oldestSince)).map((t,a)=>({number:a+1,hour:e.stuckPerHour.findIndex(e=>e.at>=t.oldestSince),label:`${s(t.place)}: ${n[t.cause]}`}))},"medianText",0,function(e,t){let a=Math.round(e/1e3);return a<60?`${String(a)} s`:t(new Date(0),new Date(e))},"messagePathOn",0,function(e,t){return`/ships/${e}?tab=messages&message=${t}`},"nextStepOf",0,function(e){let t=e.place;switch(e.cause){case"noShipCanTake":return{label:`Commission a ${s(t)}`,href:"/?commission=new"};case"waitingForCrew":return"ship"===t.kind?{label:"Get starting prompt",href:`/ships/${t.ship.id}`}:{label:"Open ships of type",href:`/?type=${encodeURIComponent(t.type)}`};case"stalledInFlight":if("ship"===t.kind&&null!==t.machine)return{label:"Open machine",href:`/trierarchs/${t.machine.id}`};return"ship"===t.kind?{label:"Open ship",href:`/ships/${t.ship.id}`}:{label:"Open ships of type",href:`/?type=${encodeURIComponent(t.type)}`};case"undeliverable":return{label:"Resend or dismiss",href:a("undeliverable")}}},"placeName",0,s,"placeNote",0,function(e,t){let a=e.place;if("stalledInFlight"!==e.cause||"ship"!==a.kind)return null;let s=[...new Set(e.deliveries.map(e=>d[e.state]))].join(", ");if(null!==a.machine){let e=null===a.machine.lastSeenAt?"never seen":`last seen ${t.since(new Date(a.machine.lastSeenAt))}`;return`${s}, machine ${a.machine.name} ${e}`}let n=t.facts?.lastSeenAt??null;return null===n?s:`${s}, session last seen ${t.since(new Date(n))}`},"previewOf",0,function(e){return e.split("\n",1)[0]?.trim()??""},"stuckByMachine",0,function(e){return new Map(e.byMachine.map(({machine:e,count:t})=>[e.id,t]))},"trendSentence",0,function(e){return e.count>e.dayAgo?`Up from ${String(e.dayAgo)} a day ago.`:e.count<e.dayAgo?`Down from ${String(e.dayAgo)} a day ago.`:"As many as a day ago."},"verdictOf",0,function(e){let{count:t,places:a,oldestSince:s}=e.summary;return null===s?{kind:"delivering"}:{kind:"stuck",count:t,places:a,since:s,dayAgo:e.stuckPerHour.at(-25)?.count??0}},"waitMinutes",0,function(e,t){return Math.max(0,(t.getTime()-Date.parse(e))/6e4)},"waitPosition",0,o],516634);var c=e.i(843476),u=e.i(965324);function m(e){return`${100*o(e)}%`}e.s(["WaitAxis",0,function({className:e}){return(0,c.jsx)("div",{"aria-hidden":!0,className:(0,u.classNames)("relative h-4 w-full text-micro text-muted-foreground",e),children:i.map((e,t)=>(0,c.jsx)("span",{className:(0,u.classNames)("absolute whitespace-nowrap",0===t?"":t===i.length-1?"-translate-x-full":"-translate-x-1/2"),style:{left:m(e.minutes)},children:e.label},e.minutes))})},"WaitStrip",0,function({waits:e,label:t,className:a}){let s=Math.max(0,...e);return(0,c.jsxs)("div",{role:"img","aria-label":t,"data-testid":"health-wait-strip",className:(0,u.classNames)("relative h-4 w-full",a),children:[(0,c.jsx)("span",{"aria-hidden":!0,className:"absolute inset-y-0 rounded-xs bg-muted",style:{left:m(10),right:`calc(100% - ${m(60)})`}}),(0,c.jsx)("span",{"aria-hidden":!0,className:"absolute inset-x-0 top-1/2 h-px bg-border"}),i.map(e=>(0,c.jsx)("span",{"aria-hidden":!0,className:"absolute top-1/4 h-1/2 w-px bg-border",style:{left:m(e.minutes)}},e.minutes)),(0,c.jsx)("span",{"aria-hidden":!0,className:"absolute top-1/2 h-0.5 -translate-y-1/2 rounded-full bg-foreground opacity-35",style:{left:0,width:m(s)}}),e.map((e,t)=>(0,c.jsx)("span",{"aria-hidden":!0,className:"absolute top-1/2 size-2.5 -translate-1/2 rounded-full border-2 border-card bg-foreground",style:{left:m(e)}},`${e}-${String(t)}`))]})}],38614)},215327,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(917540),n=e.i(826808),i=e.i(448695),r=e.i(574296),l=e.i(424010),o=e.i(746675);function d({memberName:e,replacedText:a,isOpen:s,onOpenChange:n,onConfirm:i}){return(0,t.jsx)(l.AlertDialog,{open:s,onOpenChange:n,children:(0,t.jsxs)(l.AlertDialogContent,{"data-testid":"new-crew-line-confirm",className:o.dialogSurface.phoneSheet,children:[(0,t.jsxs)(l.AlertDialogHeader,{children:[(0,t.jsxs)(l.AlertDialogTitle,{children:["Get a new crew line for ",e,"?"]}),(0,t.jsx)(l.AlertDialogDescription,{children:a??"Its new secret is shown once, with its launch note."})]}),(0,t.jsxs)(l.AlertDialogFooter,{children:[(0,t.jsx)(l.AlertDialogClose,{render:(0,t.jsx)(r.Button,{}),children:"Cancel"}),(0,t.jsx)(r.Button,{variant:"primary","data-testid":"new-crew-line-confirm-submit",onClick:i,children:"Get new crew line"})]})]})})}let c=(0,s.lazyDialog)(()=>e.A(733971).then(e=>e.CrewLineDialog),e=>e.isOpen);function u(e){let s=(0,i.useNewCrewLine)(),[r,l]=(0,a.useState)(!1),[o,u]=(0,a.useState)(!1),[m,h]=(0,a.useState)(void 0),x=()=>{e&&s.mutate({squadronId:e.squadronId,shipId:e.member.shipId})},p=s.data?"shown":s.isError?"error":"issuing";return{isReady:e?.ship!==void 0,start:()=>{e?.ship&&(s.reset(),h((0,n.newCrewLineReplaced)(e.ship)),u(!0))},dialog:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d,{memberName:e.member.name,replacedText:m,isOpen:o,onOpenChange:u,onConfirm:()=>{u(!1),l(!0),x()}}),(0,t.jsx)(c,{memberName:e.member.name,state:p,template:e.template,launchNote:s.data?.launchNote,model:s.data?.model,crewLines:s.data?.crewLines,error:s.error?.message,isOpen:r,onOpenChange:e=>{l(e),e||s.reset()},onConfirm:x})]}):null}}e.s(["GetNewCrewLine",0,function({isPrimary:e=!1,testId:a,...s}){let n=u(s);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Button,{size:"xs",variant:e?"primary":"secondary",disabled:!n.isReady,"data-testid":a,onClick:n.start,children:"Get new crew line"}),n.dialog]})},"NewCrewLineFlow",0,function({of:e,children:t}){return t(u(e))},"useNewCrewLineFlow",0,u],215327)},615385,e=>{"use strict";var t=e.i(843476),a=e.i(965324),s=e.i(714695);let n={running:"bg-tone-ok-fg",crewing:"bg-tone-active-fg",releasing:"bg-tone-active-fg",restarting:"bg-tone-waiting-fg",crashed:"bg-tone-attention-fg"};e.s(["CapacityBar",0,function({spots:e,caps:i,unknownText:r="Unknown",testId:l}){let o=(0,s.capacityLine)(e,i);if(void 0===i||void 0===o)return(0,t.jsx)("span",{"data-testid":l,className:"text-meta text-muted-foreground",children:r});let d=Math.max(0,i.ships-e.length);return(0,t.jsxs)("span",{role:"img","aria-label":o,"data-testid":l,className:"inline-flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[(0,t.jsxs)("span",{"aria-hidden":!0,className:"inline-flex shrink-0 gap-0.5",children:[e.map((e,s)=>(0,t.jsx)("span",{title:`Spot ${String(s+1)}: ${e.name}, ${e.status}`,className:(0,a.classNames)("h-2 w-3 rounded-xs",n[e.status])},e.shipId)),Array.from({length:d},(a,s)=>(0,t.jsx)("span",{title:`Spot ${String(e.length+s+1)}: vacant`,className:"h-2 w-3 rounded-xs border border-input"},`free-${String(s)}`))]}),(0,t.jsx)("span",{className:"text-meta tabular-nums",children:o})]})}])},36556,e=>{"use strict";var t=e.i(843476),a=e.i(271567),s=e.i(152886),n=e.i(569644),i=e.i(269846),r=e.i(586875),l=e.i(466787),o=e.i(522016),d=e.i(866616),c=e.i(714695),u=e.i(849635),m=e.i(766390),h=e.i(615385),x=e.i(763481);let p={alive:"border-tone-ok-border bg-tone-ok-bg text-tone-ok-fg",silent:"border-tone-attention-border bg-tone-attention-bg text-tone-attention-fg","not-started":"border-tone-waiting-border bg-tone-waiting-bg text-tone-waiting-fg"},g={alive:"Alive",silent:"Not answering","not-started":"Not started"};function f({machine:e,now:a}){let n=(0,c.machineLiveness)(e),i=null===e.lastSeenAt?null:new Date(e.lastSeenAt);return(0,t.jsxs)("span",{className:"inline-flex flex-wrap items-center gap-x-2 gap-y-1 text-meta","data-testid":"machine-liveness","data-liveness":n,children:[(0,t.jsxs)(m.Badge,{variant:"outline",className:p[n],children:["alive"===n?(0,t.jsx)(r.ShipWheel,{"aria-hidden":!0}):(0,t.jsx)(s.CircleDashed,{"aria-hidden":!0}),g[n]]}),null===i?(0,t.jsx)("span",{className:"text-muted-foreground",children:"· run its setup line on the machine"}):(0,t.jsxs)("time",{dateTime:e.lastSeenAt??void 0,title:(0,u.fullDateTime)(i),className:"text-muted-foreground tabular-nums",children:["· ","silent"===n?`since ${(0,u.clockTime)(i)}`:(0,u.lastSeen)(i,a).replace("Last seen","seen")]})]})}function b(e,t){let a=(0,u.relativeTime)(e,t);return"Just now"===a?"just now":a}function j({title:e,children:a,className:s}){return(0,t.jsxs)("div",{className:`flex min-w-0 flex-col gap-2 px-4.5 py-4 ${s??""}`,children:[(0,t.jsx)("span",{className:"text-caption font-medium text-muted-foreground",children:e}),a]})}function w({harness:e,now:s}){let n=(0,d.harnessDetection)(e,s);return(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 border-t border-border py-2.5 first-of-type:border-t-0 first-of-type:pt-0",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-body font-medium [&_svg]:size-(--size-icon-sm) [&_svg]:text-muted-foreground",children:[(0,t.jsx)(a.Bot,{"aria-hidden":!0}),(0,d.harnessWord)(e.harness),void 0===n?null:(0,t.jsx)("span",{className:"font-normal text-meta text-muted-foreground",children:n})]}),(0,c.harnessOptions)(e.options).map(e=>(0,t.jsxs)("span",{className:"flex flex-wrap items-center gap-x-2.5 gap-y-1 text-meta",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:e.name}),e.values.map(a=>(0,t.jsxs)("span",{className:"font-mono text-id whitespace-nowrap",children:[a,a===e.defaultValue?(0,t.jsx)("span",{className:"font-sans text-muted-foreground",children:" (default)"}):null]},a))]},e.name)),0===e.flags.length?null:(0,t.jsx)("span",{className:"flex flex-wrap items-center gap-1.5",children:e.flags.map(a=>e.riskyFlags?.includes(a)===!0?(0,t.jsxs)("code",{"data-testid":"machine-risky-flag",title:"Risky: every launch runs without its harness's safeguards",className:"inline-flex items-center gap-1 rounded-sm border border-tone-waiting-border bg-tone-waiting-bg px-1.5 font-mono text-id text-tone-waiting-fg [&_svg]:size-(--size-icon-sm)",children:[(0,t.jsx)(l.TriangleAlert,{"aria-hidden":!0}),a,(0,t.jsx)("span",{className:"sr-only",children:" (risky)"})]},a):(0,t.jsx)("code",{className:"rounded-sm bg-muted px-1.5 font-mono text-id",children:a},a))})]})}function v({title:e,icon:a,names:s}){return(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:"text-caption text-muted-foreground",children:e}),0===s.length?(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"None"}):s.map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-meta [&_svg]:size-(--size-icon-sm) [&_svg]:shrink-0 [&_svg]:text-muted-foreground",children:[a,e]},e))]})}function N({workspaces:e}){return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)(v,{title:"Repositories · a new worktree per ship",icon:(0,t.jsx)(i.GitBranch,{"aria-hidden":!0}),names:e.repositories}),(0,t.jsx)(v,{title:"Folders · used as they are",icon:(0,t.jsx)(n.FolderOpen,{"aria-hidden":!0}),names:e.folders})]})}e.s(["HarnessOffer",0,w,"MachineCard",0,function({machine:e,spots:a,location:s,now:n}){let{details:i,report:l}=e,d=null===l?null:new Date(l.reportedAt);return(0,t.jsxs)("section",{"aria-label":e.name,"data-testid":"machine-card",className:"grid grid-cols-[minmax(0,18.75rem)_minmax(0,1.25fr)_minmax(0,1fr)] divide-x divide-border rounded-lg border border-border bg-card shadow-sm max-lg:grid-cols-1 max-lg:divide-x-0 max-lg:divide-y",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-2.5 px-4.5 py-4",children:[(0,t.jsxs)(o.default,{href:`/trierarchs/${e.shipId}`,"data-testid":"machine-card-name",className:"inline-flex items-center gap-2 text-section font-semibold hover:underline [&_svg]:size-(--size-icon) [&_svg]:text-muted-foreground",children:[(0,t.jsx)(r.ShipWheel,{"aria-hidden":!0}),e.name]}),(0,t.jsx)(f,{machine:e,now:n}),(0,t.jsxs)("span",{className:"flex flex-wrap items-center gap-1.5 text-meta text-muted-foreground",children:[(0,t.jsx)(x.LocationTag,{kind:s?.kind??null,description:s?.description}),null===i?null:(0,t.jsxs)("span",{className:"font-mono text-id",children:["· trierarch ",i.version]})]}),(0,t.jsx)("div",{role:"separator",className:"h-px bg-border"}),(0,t.jsx)("span",{className:"text-caption font-medium text-muted-foreground",children:"Capacity"}),(0,t.jsx)(h.CapacityBar,{spots:a,caps:i?.caps,testId:"machine-card-capacity",unknownText:null===d?"Unknown until it answers":`Unknown since ${(0,u.clockTime)(d)}`}),null===d?null:(0,t.jsxs)("time",{dateTime:l?.reportedAt,title:(0,u.fullDateTime)(d),className:"text-meta text-muted-foreground",children:["Last answer ",b(d,n)]})]}),(0,t.jsx)(j,{title:"Harnesses, options and flags",children:null===i?(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"Unknown until it answers"}):i.harnesses.map(e=>(0,t.jsx)(w,{harness:e,now:n},e.harness))}),(0,t.jsx)(j,{title:"Workspaces",children:null===i?(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"Unknown until it answers"}):(0,t.jsx)(N,{workspaces:i.workspaces})})]})},"MachineLiveness",0,f,"WorkspaceOffer",0,N,"lastAnswer",0,b])},793361,e=>{"use strict";var t=e.i(849635);let a={working:"Working",blocked:"Blocked",idle:"Idle"};e.s(["REPORT_STATE_WORDS",0,a,"REPORT_TONES",0,{working:"active",blocked:"waiting",idle:"ended"},"reportAge",0,function(e,a){let s=Math.max(0,a.getTime()-e.getTime());return s<6e4?`${String(Math.floor(s/1e3))} s`:s<36e5?`${String(Math.floor(s/6e4))} min`:s<864e5?`${String(Math.floor(s/36e5))} h`:(0,t.relativeTime)(e,a)},"reportDetailsJson",0,function(e){return JSON.stringify(e,null,2)},"reportDetailsLabel",0,function(e){return`JSON \xb7 ${String(e)} bytes`},"reportText",0,function(e){let t=a[e.state];return null===e.note?t:`${t}: ${e.note}`},"reportedWhen",0,function(e,a){let s=(0,t.relativeTime)(e,a);return`reported ${"Just now"===s?"just now":s}`}])},890135,e=>{"use strict";e.s(["OPERATOR_NAME",0,"argo","capitalised",0,function(e){return e.charAt(0).toUpperCase()+e.slice(1)},"counted",0,function(e,t){return`${String(e)} ${1===e?t.one:t.many}`},"ship",0,function(e){return{kind:"ship",party:e}},"text",0,function(e){return{kind:"text",text:e}}])},826808,e=>{"use strict";var t=e.i(890135);let a={one:"delivery",many:"deliveries"};function s(e){if(0===e)return"Nothing is in flight, so no delivery moves.";let a=1===e?"returns":"return";return`${(0,t.counted)(e,{one:"in-flight delivery",many:"in-flight deliveries"})} ${a} to pending. Nothing is lost.`}e.s(["abandonedLine",0,function(e){return`${(0,t.counted)(e,a)} will be abandoned`},"inFlightLine",0,s,"isTypedMatch",0,function(e,t){return t===e},"newCrewLineReplaced",0,function(e){if("crewed"===e.status){let t=null===e.location?"the session crewing it":`the session on ${e.location.description??e.location.kind.toLowerCase()}`;return`This ends ${t}. ${s(e.inFlightDeliveries)}`}if(null!==e.startingPrompt&&!e.startingPrompt.isClaimed)return"The crew line issued earlier, not claimed yet, stops working."},"retireButtonLabel",0,function(e){return 0===e?"Retire ship":`Retire and abandon ${(0,t.counted)(e,a)}`}])},853573,e=>{"use strict";var t=e.i(970597),a=e.i(619273),s=e.i(621482),n=e.i(586448),i=e.i(266027),r=e.i(905387),l=e.i(731877),o=e.i(427702);e.s(["useMessage",0,function(e){let t=(0,o.useTRPC)();return(0,i.useQuery)(t.fleet.message.queryOptions(void 0===e?a.skipToken:{messageId:e}))},"useShip",0,function(e){let s=(0,o.useTRPC)();return(0,i.useQuery)(s.fleet.ship.queryOptions(void 0===e?a.skipToken:{shipId:e},{refetchInterval:r.LAST_SEEN_REFRESH_MS,select:e=>(0,t.isInReadReach)(e)?e:null}))},"useShipMessages",0,function(e){let t=(0,o.useTRPC)();return(0,l.pagedListOf)((0,s.useInfiniteQuery)(t.fleet.shipMessages.infiniteQueryOptions({shipId:e,limit:l.CONSOLE_PAGE_SIZE},{getNextPageParam:l.nextCursorOf})))},"useShipTimeline",0,function(e){let t=(0,o.useTRPC)();return(0,l.pagedListOf)((0,s.useInfiniteQuery)(t.fleet.shipTimeline.infiniteQueryOptions({shipId:e,limit:l.CONSOLE_PAGE_SIZE},{getNextPageParam:l.nextCursorOf})))},"useShipWay",0,function(e){let t=(0,o.useTRPC)();return(0,i.useQuery)(t.fleet.shipWay.queryOptions({shipId:e},{refetchInterval:r.LAST_SEEN_REFRESH_MS}))},"useShips",0,function(e){let a=(0,o.useTRPC)(),s=(0,n.useQueries)({queries:e.map(e=>a.fleet.ship.queryOptions({shipId:e},{refetchInterval:r.LAST_SEEN_REFRESH_MS}))}),i=new Map;for(let e of s)e.data&&(0,t.isInReadReach)(e.data)&&i.set(e.data.id,e.data);return i}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,833474,e=>{"use strict";var t=e.i(843476),s=e.i(456420);let a={name:"corner-down-right",size:24,node:[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]};a.node;let n=(0,s.default)(a),r={name:"mail-question-mark",size:24,node:[["path",{d:"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5",key:"e61zoh"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2",key:"7z9rxb"}],["path",{d:"M20 22v.01",key:"12bgn6"}]],aliases:["mail-question"]};r.node;let i=(0,s.default)(r),l={name:"reply",size:24,node:[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]]};l.node;let d=(0,s.default)(l);var o=e.i(369693),c=e.i(849635),u=e.i(890135),x=e.i(591703),h=e.i(574296),m=e.i(638919),p=e.i(861966),f=e.i(219321),g=e.i(60592),y=e.i(67874),b=e.i(639124),j=e.i(539448),v=e.i(78865),N=e.i(379369),w=e.i(446157),k=e.i(127361),T=e.i(928459);function D(e){return null!==e.handOverNumber||e.isOnceMore}function S(e){switch(e.type){case"MessageAccepted":case"DeliveryReturned":return"pending";case"DeliveryReceived":return"received";case"DeliveryHanded":return D(e)?"handedPushed":"handed";case"DeliveryAcknowledged":return"acknowledged";case"DeliveryHandled":return"handled";case"DeliveryNotHandled":return"notHandled";case"DeliveryOverdue":return"overdue";case"DeliveryUndeliverable":return"undeliverable";case"DeliveryAbandoned":return"abandoned";case"DeliveryDismissed":return"dismissed"}}function A(e){return e.ship?[(0,u.ship)(e.ship)]:[(0,u.text)("a ship")]}function R(e){return e.by?[(0,u.text)(` by ${function(e){switch(e.kind){case"trierarch":return`the trierarch on ${e.trierarch.name}`;case"pluginWatcher":return"the plugin watcher";case"personApp":return"the person's app";case"gateway":return"the gateway";case"adapter":return"the adapter"}}(e.by)}`)]:[]}var O=e.i(766390);function M({entries:e,recipient:s}){let a=e.at(-1),n=a?new Date(a.occurredAt):void 0;return(0,t.jsx)("ol",{"data-testid":"delivery-history","aria-label":"Delivery history",className:"flex flex-col",children:e.map((a,r)=>{let i,l=new Date(a.occurredAt);return(0,t.jsxs)("li",{"data-testid":"delivery-history-entry","data-type":a.type,className:"relative flex gap-3 pb-4 last:pb-0",children:[(0,t.jsxs)("span",{"aria-hidden":!0,className:"relative flex w-3 shrink-0 justify-center",children:[(0,t.jsx)("span",{className:"mt-1.5 size-2.5 rounded-full border-2 border-muted-foreground bg-card"}),r<e.length-1?(0,t.jsx)("span",{className:"absolute top-5 bottom-[-0.25rem] w-px bg-border"}):null]}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(v.StatusBadge,{status:S(a)}),(0,t.jsx)("time",{dateTime:a.occurredAt,title:(0,c.fullDateTime)(l),className:"font-mono text-id text-muted-foreground tabular-nums",children:(0,c.secondsTime)(l)}),n&&r<e.length-1?(0,t.jsx)("span",{"data-testid":"delivery-history-offset",className:"font-mono text-id text-muted-foreground tabular-nums",children:(i=Math.max(0,l.getTime()-n.getTime()))<6e4?`+${String(Math.floor(i/1e3))} s`:`+${(0,c.duration)(n,l)}`}):null,0===r?(0,t.jsx)(O.Badge,{variant:"outline",children:"Current"}):null]}),(0,t.jsx)(b.Sentence,{parts:function(e,t){let{recipient:s,older:a}=t;switch(e.type){case"MessageAccepted":return"ship"===s.kind?[(0,u.text)("Stored in the inbox of "),(0,u.ship)(s.ship),(0,u.text)(".")]:[(0,u.text)(`Queued for any ship of type ${s.type}.`)];case"DeliveryReceived":return[(0,u.text)(e.isAgain?"Received again":"Received"),...R(e),(0,u.text)(" for "),...A(e),(0,u.text)(".")];case"DeliveryHanded":if(!D(e)){let t=null!==e.attempts&&e.attempts>1?`Attempt ${String(e.attempts)}: handed (pulled)`:"Handed (pulled)";return[(0,u.text)(`${t} to `),...A(e),...function(e){if(null===e)return[];let t=null!==e.description&&""!==e.description?e.description:(0,k.locationKindWord)(e.kind);return[(0,u.text)(`, session on ${t}`)]}(e.location),(0,u.text)(".")]}let n=null===e.handOverNumber?"":` (no. ${String(e.handOverNumber)})`;return e.isOnceMore?[(0,u.text)("Handed once more to "),...A(e),(0,u.text)(`${n}: its turn died.`)]:[(0,u.text)("Handed to "),...A(e),(0,u.text)(n),...R(e),...null===e.channel?[]:[(0,u.text)(` via ${e.channel}`)],(0,u.text)(".")];case"DeliveryReturned":var r=s,i=a;let l="ship"===r.kind?"Back in the inbox: ":"Returned to the queue: ";if(null===e.leaseEnd)return[(0,u.text)(l),(0,u.text)("the session of "),...A(e),(0,u.text)(" ended before acknowledging it.")];let d=i?` (was ${(0,v.statusLabel)(S(i)).toLowerCase()})`:"";return[(0,u.text)(l),...function(e,t){switch(e){case"released":return[...A(t),(0,u.text)(" was released")];case"retired":return[...A(t),(0,u.text)(" was retired")];case"deregistered":return[(0,u.text)("the session of "),...A(t),(0,u.text)(" deregistered")];case"takenOver":return[(0,u.text)("a new console session took over")];case"signedOut":return[(0,u.text)("the operator signed out")];case"passwordReset":return[(0,u.text)("the operator password was reset")];case"accountCutOff":return[(0,u.text)("the account signed in as argo was cut off")]}}(e.leaseEnd,e),(0,u.text)(`${d}.`)];case"DeliveryAcknowledged":return[(0,u.text)("Acknowledged by "),...A(e),(0,u.text)(".")];case"DeliveryHandled":return[(0,u.text)("Handled by "),...A(e),(0,u.text)(": its turn ended.")];case"DeliveryNotHandled":return[(0,u.text)("Not handled: the turn of "),...A(e),(0,u.text)(" died twice.")];case"DeliveryOverdue":return[(0,u.text)(e.overdue?`argo told: ${function(e){let t=`${String(e.minutes)} min`;switch(e.clock){case"notConfirmed":return`handed ${t}, not confirmed`;case"idle":return`waiting ${t}, session idle`;case"busy":return`waiting ${t}, session busy`}}(e.overdue)}.`:"argo told: overdue.")];case"DeliveryUndeliverable":return[(0,u.text)(null===e.attempts?"Never acknowledged: no ship takes it automatically any more.":(0,T.undeliverableReason)({attempts:e.attempts,isPushed:null!==e.handOverNumber}))];case"DeliveryAbandoned":return[(0,u.text)("Abandoned: "),...A(e),(0,u.text)(" was retired before taking it.")];case"DeliveryDismissed":return[(0,u.text)("Dismissed by the operator: no ship takes it any more.")]}}(a,{recipient:s,older:e[r+1]}),className:"text-meta text-muted-foreground max-sm:text-body-touch"})]})]},a.seq)})})}let C="text-section font-semibold text-foreground";function $({label:e,children:s}){return(0,t.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-3 py-2 last:border-b-0",children:[(0,t.jsx)("dt",{className:"w-24 shrink-0 text-meta text-muted-foreground",children:e}),(0,t.jsx)("dd",{className:"flex min-w-0 items-center gap-1.5 text-body text-foreground",children:s})]})}function E({message:e}){let s=e.recipient;return(0,t.jsxs)("dl",{"aria-label":"Envelope",className:"overflow-hidden rounded-lg border border-border bg-card",children:[(0,t.jsxs)($,{label:"Message id",children:[(0,t.jsx)("span",{className:"truncate font-mono text-id",children:e.id}),(0,t.jsx)(p.CopyButton,{value:e.id,label:"Copy message id"})]}),(0,t.jsx)($,{label:"From",children:(0,t.jsx)(j.ShipName,{name:e.sender.name,shipId:e.sender.id,isSuffixShown:e.sender.name!==u.OPERATOR_NAME})}),(0,t.jsx)($,{label:"To",children:"ship"===s.kind?(0,t.jsx)(j.ShipName,{name:s.ship.name,shipId:s.ship.id,isSuffixShown:s.ship.name!==u.OPERATOR_NAME}):(0,t.jsxs)("span",{children:["Any ship of type ",(0,t.jsx)("span",{className:"font-mono text-id",children:s.type})]})}),(0,t.jsx)($,{label:"Sent",children:(0,t.jsx)("time",{dateTime:e.sentAt,className:"tabular-nums",children:(0,c.fullDateTime)(new Date(e.sentAt))})}),null===e.model?null:(0,t.jsx)($,{label:"Model",children:(0,t.jsx)("span",{className:"truncate font-mono text-id","data-testid":"message-model",children:e.model})}),e.inReplyTo?(0,t.jsx)($,{label:"In reply to",children:(0,t.jsx)("span",{className:"truncate font-mono text-id",children:e.inReplyTo})}):null]})}function H({message:e}){let s=(0,o.payloadLabel)(e.payload,e.contentType),a=(0,o.formattedPayload)(e.payload,e.contentType),n=(0,t.jsx)(x.CodeBlock,{label:s,code:e.payload,isWrapped:!0,copyLabel:"Copy payload",codeTestId:"message-payload"});return void 0===a?(0,t.jsxs)("section",{"aria-label":"Payload",className:"flex flex-col gap-2",children:[(0,t.jsx)("h3",{className:C,children:"Payload"}),n]}):(0,t.jsx)("section",{"aria-label":"Payload",className:"flex flex-col gap-2",children:(0,t.jsxs)(g.Tabs,{defaultValue:"formatted",className:"gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("h3",{className:C,children:"Payload"}),(0,t.jsxs)(g.TabsList,{className:"max-sm:w-auto",children:[(0,t.jsx)(g.TabsTrigger,{value:"formatted",children:"Formatted"}),(0,t.jsx)(g.TabsTrigger,{value:"raw",children:"Raw"})]})]}),(0,t.jsx)(g.TabsContent,{value:"formatted",children:(0,t.jsx)(x.CodeBlock,{label:s,code:a,copyValue:e.payload,copyLabel:"Copy payload",codeTestId:"message-payload"})}),(0,t.jsx)(g.TabsContent,{value:"raw",children:n})]})})}function P({message:e,now:s,onOpenMessage:a}){return 0===e.replies.length?null:(0,t.jsx)("ul",{"aria-label":"Replies","data-testid":"message-replies",className:"flex flex-col gap-1 border-t border-border pt-3",children:e.replies.map(e=>(0,t.jsxs)("li",{className:"flex min-w-0 items-center gap-1.5 text-meta text-muted-foreground max-sm:text-body-touch",children:[(0,t.jsx)(n,{"aria-hidden":!0,className:"size-3.5 shrink-0"}),(0,t.jsx)("span",{children:"Reply from"}),(0,t.jsx)(j.ShipName,{name:e.sender.name,shipId:e.sender.id,isSuffixShown:e.sender.name!==u.OPERATOR_NAME}),(0,t.jsx)("time",{dateTime:e.sentAt,title:(0,c.fullDateTime)(new Date(e.sentAt)),children:(0,c.relativeTime)(new Date(e.sentAt),s)}),a?(0,t.jsx)(h.Button,{size:"xs",variant:"ghost","data-testid":"message-reply-open",onClick:()=>{a(e.id)},children:"Open"}):null]},e.id))})}function z({message:e,now:s,machines:a,onOpenMessage:n}){let r=(0,N.messageWay)(e,{now:s,machines:a});return(0,t.jsxs)("section",{"aria-label":"Delivery",className:"flex flex-col gap-2 max-sm:order-first",children:[(0,t.jsx)("h3",{className:C,children:"Delivery"}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-3",children:[(0,t.jsx)(w.WayLines,{status:r.status,lines:r.lines}),(0,t.jsx)("div",{className:"border-t border-border pt-3",children:(0,t.jsx)(M,{entries:e.delivery.history,recipient:e.recipient})}),(0,t.jsx)(P,{message:e,now:s,...n?{onOpenMessage:n}:{}})]})]})}function B(){return(0,t.jsxs)("div",{"aria-busy":!0,className:"flex flex-col gap-4",children:[(0,t.jsx)("span",{className:"sr-only",children:"Loading the message"}),(0,t.jsx)(f.Skeleton,{className:"h-32 w-full rounded-lg"}),(0,t.jsx)(f.Skeleton,{className:"h-28 w-full rounded-lg"}),(0,t.jsx)(f.Skeleton,{className:"h-40 w-full rounded-lg"})]})}e.s(["MessageSheet",0,function({message:e,messageId:s,state:a,isOpen:n,onOpenChange:r,onReply:l,onOpenMessage:o,now:c,machines:x=[]}){let p="ready"===a&&void 0!==e;return(0,t.jsx)(m.Sheet,{open:n,onOpenChange:r,children:(0,t.jsxs)(m.SheetContent,{side:"right","data-testid":"message-sheet",children:[(0,t.jsx)(m.SheetHeader,{children:p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(m.SheetTitle,{className:"flex min-w-0 items-baseline gap-1.5",children:[(0,t.jsx)("span",{children:"Message from"}),(0,t.jsx)(j.ShipName,{name:e.sender.name,shipId:e.sender.id,isSuffixShown:e.sender.name!==u.OPERATOR_NAME,className:"text-heading"})]}),(0,t.jsxs)(m.SheetDescription,{children:[(0,t.jsx)(b.Sentence,{parts:"ship"===e.recipient.kind?[(0,u.text)("To "),(0,u.ship)(e.recipient.ship)]:[(0,u.text)(`To any ship of type ${e.recipient.type}`)]}),". ",(0,v.statusLabel)((0,N.messageWay)(e,{now:c,machines:x}).status),"."]}),l&&e.sender.name!==u.OPERATOR_NAME?(0,t.jsx)("div",{children:(0,t.jsxs)(h.Button,{size:"xs",icon:(0,t.jsx)(d,{}),"data-testid":"message-reply",onClick:()=>{l(e)},children:["Reply to ",e.sender.name]})}):null]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m.SheetTitle,{children:"Message"}),(0,t.jsx)(m.SheetDescription,{children:"not-found"===a?"Couldn’t open this message":"Loading"})]})}),(0,t.jsxs)(m.SheetBody,{className:"flex flex-col gap-5",children:["loading"===a?(0,t.jsx)(B,{}):null,"not-found"===a?(0,t.jsx)(y.EmptyState,{variant:"section",icon:(0,t.jsx)(i,{}),title:"Message not found",description:(0,t.jsxs)(t.Fragment,{children:["No message with this id exists in this fleet, or the link is incomplete.",s?(0,t.jsx)("span",{className:"mt-2 block font-mono text-id",children:s}):null]})}):null,p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(E,{message:e}),(0,t.jsx)(H,{message:e}),(0,t.jsx)(z,{message:e,now:c,machines:x,...o?{onOpenMessage:o}:{}})]}):null]})]})})}],833474)}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:geistSans;src:url(../media/geist_variable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_54fa7e7-module__3cgH8q__className{font-family:geistSans,geistSans Fallback}.geistsans_54fa7e7-module__3cgH8q__variable{--font-geist-sans:"geistSans", "geistSans Fallback"}
|
|
2
|
-
@font-face{font-family:geistMono;src:url(../media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geistMono Fallback;src:local(Arial);ascent-override:76.43%;descent-override:22.43%;line-gap-override:0.0%;size-adjust:131.49%}.geistmono_85c0638a-module__9otePa__className{font-family:geistMono,geistMono Fallback}.geistmono_85c0638a-module__9otePa__variable{--font-geist-mono:"geistMono", "geistMono Fallback"}
|
|
3
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--radius-xs:var(--radius-xs);--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:var(--radius-xl);--radius-2xl:var(--radius-2xl);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--ease-standard:var(--ease-standard);--ease-exit:var(--ease-exit);--text-micro:var(--text-micro);--text-micro--line-height:var(--text-micro--line-height);--text-caption:var(--text-caption);--text-caption--line-height:var(--text-caption--line-height);--text-meta:var(--text-meta);--text-meta--line-height:var(--text-meta--line-height);--text-body:var(--text-body);--text-body--line-height:var(--text-body--line-height);--text-section:var(--text-section);--text-section--line-height:var(--text-section--line-height);--text-body-touch:var(--text-body-touch);--text-body-touch--line-height:var(--text-body-touch--line-height);--text-input-touch:var(--text-input-touch);--text-input-touch--line-height:var(--text-input-touch--line-height);--text-heading:var(--text-heading);--text-heading--line-height:var(--text-heading--line-height);--text-heading-touch:var(--text-heading-touch);--text-heading-touch--line-height:var(--text-heading-touch--line-height);--text-title:var(--text-title);--text-title--line-height:var(--text-title--line-height);--text-title-touch:var(--text-title-touch);--text-title-touch--line-height:var(--text-title-touch--line-height);--text-metric:var(--text-metric);--text-metric--line-height:var(--text-metric--line-height);--text-id:var(--text-id);--text-id--line-height:var(--text-id--line-height);--text-code:var(--text-code);--text-code--line-height:var(--text-code--line-height);--animate-highlight:highlight-fade var(--duration-highlight) var(--ease-standard)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}body{background-color:var(--background);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--ring)}button,[role=button],[data-slot=button],[role=menuitem],[role=menuitemcheckbox],[role=menuitemradio],[role=option],[role=tab],[role=checkbox],[role=switch]{cursor:pointer}:is(button,[role=button],[data-slot=button],[role=menuitem],[role=menuitemcheckbox],[role=menuitemradio],[role=option],[role=tab],[role=checkbox],[role=switch]):is(:disabled,[aria-disabled=true],[data-disabled]){cursor:default}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-\[1\.15rem\]{top:1.15rem}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:0}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2\.5{right:calc(var(--spacing) * 2.5)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.bottom-\[-0\.25rem\]{bottom:-.25rem}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-5{left:calc(var(--spacing) * 5)}.isolate{isolation:isolate}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-6{margin:calc(var(--spacing) * -6)}.m-3{margin:calc(var(--spacing) * 3)}.m-8{margin:calc(var(--spacing) * 8)}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-10{margin-right:calc(var(--spacing) * 10)}.mr-auto{margin-right:auto}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-\[-1px\]{margin-bottom:-1px}.-ml-1\.5{margin-left:calc(var(--spacing) * -1.5)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-10{margin-left:calc(var(--spacing) * 10)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.size-\(--size-control\){width:var(--size-control);height:var(--size-control)}.size-\(--size-control-touch\){width:var(--size-control-touch);height:var(--size-control-touch)}.size-\(--size-icon\){width:var(--size-icon);height:var(--size-icon)}.size-\(--size-icon-sm\){width:var(--size-icon-sm);height:var(--size-icon-sm)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6\.5{width:calc(var(--spacing) * 6.5);height:calc(var(--spacing) * 6.5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-\(--size-control\){height:var(--size-control)}.h-\(--size-control-sm\){height:var(--size-control-sm)}.h-\(--size-control-touch\){height:var(--size-control-touch)}.h-\(--size-control-xs\){height:var(--size-control-xs)}.h-\(--size-header\){height:var(--size-header)}.h-\(--size-row\){height:var(--size-row)}.h-\(--size-row-header\){height:var(--size-row-header)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-1\/2{height:50%}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-5\.5{height:calc(var(--spacing) * 5.5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-8\.5{height:calc(var(--spacing) * 8.5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-13{height:calc(var(--spacing) * 13)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-36{height:calc(var(--spacing) * 36)}.h-40{height:calc(var(--spacing) * 40)}.h-44{height:calc(var(--spacing) * 44)}.h-160{height:calc(var(--spacing) * 160)}.h-\[calc\(100dvh-12rem\)\]{height:calc(100dvh - 12rem)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-\(--available-height\){max-height:var(--available-height)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[55vh\]{max-height:55vh}.max-h-\[90dvh\]{max-height:90dvh}.max-h-\[calc\(100dvh-var\(--spacing\)\*8\)\]{max-height:calc(100dvh - var(--spacing) * 8)}.max-h-\[min\(60dvh\,var\(--spacing\)\*100\)\]{max-height:min(60dvh, var(--spacing) * 100)}.min-h-\(--size-control\){min-height:var(--size-control)}.min-h-\(--size-control-sm\){min-height:var(--size-control-sm)}.min-h-\(--size-control-touch\){min-height:var(--size-control-touch)}.min-h-\(--size-tabbar\){min-height:var(--size-tabbar)}.min-h-0{min-height:0}.min-h-0\.5{min-height:calc(var(--spacing) * .5)}.min-h-8\.5{min-height:calc(var(--spacing) * 8.5)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-80{min-height:calc(var(--spacing) * 80)}.min-h-96{min-height:calc(var(--spacing) * 96)}.min-h-128{min-height:calc(var(--spacing) * 128)}.min-h-160{min-height:calc(var(--spacing) * 160)}.min-h-176{min-height:calc(var(--spacing) * 176)}.min-h-180{min-height:calc(var(--spacing) * 180)}.min-h-200{min-height:calc(var(--spacing) * 200)}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--size-control\){width:var(--size-control)}.w-\(--size-control-sm\){width:var(--size-control-sm)}.w-\(--size-control-touch\){width:var(--size-control-touch)}.w-\(--size-control-xs\){width:var(--size-control-xs)}.w-\(--size-rail\){width:var(--size-rail)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8\.5{width:calc(var(--spacing) * 8.5)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-120{width:calc(var(--spacing) * 120)}.w-140{width:calc(var(--spacing) * 140)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\(--size-toast\){max-width:var(--size-toast)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-44{max-width:calc(var(--spacing) * 44)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-60{max-width:calc(var(--spacing) * 60)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-80{max-width:calc(var(--spacing) * 80)}.max-w-90{max-width:calc(var(--spacing) * 90)}.max-w-96{max-width:calc(var(--spacing) * 96)}.max-w-100{max-width:calc(var(--spacing) * 100)}.max-w-120{max-width:calc(var(--spacing) * 120)}.max-w-140{max-width:calc(var(--spacing) * 140)}.max-w-160{max-width:calc(var(--spacing) * 160)}.max-w-180{max-width:calc(var(--spacing) * 180)}.max-w-\[calc\(100\%-var\(--spacing\)\*8\)\]{max-width:calc(100% - var(--spacing) * 8)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-\(--anchor-width\){min-width:var(--anchor-width)}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-320{min-width:calc(var(--spacing) * 320)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-0{flex-basis:0}.table-fixed{table-layout:fixed}.caption-bottom{caption-side:bottom}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_auto_1fr\]{grid-template-columns:auto auto 1fr}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto}.grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto}.grid-cols-\[minmax\(0\,18\.75rem\)_minmax\(0\,1\.25fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,18.75rem) minmax(0,1.25fr) minmax(0,1fr)}.grid-cols-\[minmax\(20rem\,24rem\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(20rem,24rem) minmax(0,1fr)}.grid-cols-\[repeat\(auto-fill\,minmax\(8\.5rem\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}.grid-cols-subgrid{grid-template-columns:subgrid}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-px{gap:1px}.gap-x-1{column-gap:var(--spacing)}.gap-x-1\.5{column-gap:calc(var(--spacing) * 1.5)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:var(--border)}.border-card{border-color:var(--card)}.border-destructive{border-color:var(--destructive)}.border-foreground{border-color:var(--foreground)}.border-input{border-color:var(--input)}.border-muted-foreground{border-color:var(--muted-foreground)}.border-primary{border-color:var(--primary)}.border-primary-foreground\/25{border-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.border-primary-foreground\/25{border-color:color-mix(in oklab, var(--primary-foreground) 25%, transparent)}}.border-tone-active-border{border-color:var(--tone-active-border)}.border-tone-attention-border{border-color:var(--tone-attention-border)}.border-tone-ended-border{border-color:var(--tone-ended-border)}.border-tone-ok-border{border-color:var(--tone-ok-border)}.border-tone-waiting-border{border-color:var(--tone-waiting-border)}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-highlight{background-color:var(--highlight)}.bg-input{background-color:var(--input)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground{background-color:var(--muted-foreground)}.bg-overlay{background-color:var(--overlay)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground\/10{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-primary-foreground\/10{background-color:color-mix(in oklab, var(--primary-foreground) 10%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-tone-active-bg{background-color:var(--tone-active-bg)}.bg-tone-active-fg{background-color:var(--tone-active-fg)}.bg-tone-attention-bg{background-color:var(--tone-attention-bg)}.bg-tone-attention-fg{background-color:var(--tone-attention-fg)}.bg-tone-ended-bg{background-color:var(--tone-ended-bg)}.bg-tone-ok-bg{background-color:var(--tone-ok-bg)}.bg-tone-ok-fg{background-color:var(--tone-ok-fg)}.bg-tone-waiting-bg{background-color:var(--tone-waiting-bg)}.bg-tone-waiting-fg{background-color:var(--tone-waiting-fg)}.bg-transparent{background-color:#0000}.\[mask-image\:linear-gradient\(to_bottom\,black_70\%\,transparent\)\]{-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.fill-none{fill:none}.fill-tone-waiting-bg{fill:var(--tone-waiting-bg)}.stroke-border{stroke:var(--border)}.stroke-muted-foreground{stroke:var(--muted-foreground)}.stroke-tone-waiting-fg{stroke:var(--tone-waiting-fg)}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-0\.75{padding:calc(var(--spacing) * .75)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-10{padding:calc(var(--spacing) * 10)}.px-0{padding-inline:0}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-1\.25{padding-inline:calc(var(--spacing) * 1.25)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-60{padding-top:calc(var(--spacing) * 60)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-3\.5{padding-right:calc(var(--spacing) * 3.5)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-44{padding-right:calc(var(--spacing) * 44)}.pr-320{padding-right:calc(var(--spacing) * 320)}.pr-848{padding-right:calc(var(--spacing) * 848)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-3\.5{padding-bottom:calc(var(--spacing) * 3.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pb-\[max\(calc\(var\(--spacing\)\*4\)\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(calc(var(--spacing) * 4), env(safe-area-inset-bottom))}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-24{padding-left:calc(var(--spacing) * 24)}.pl-48{padding-left:calc(var(--spacing) * 48)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-body-touch{font-size:var(--text-body-touch);line-height:var(--tw-leading,var(--text-body-touch--line-height))}.text-caption{font-size:var(--text-caption);line-height:var(--tw-leading,var(--text-caption--line-height))}.text-code{font-size:var(--text-code);line-height:var(--tw-leading,var(--text-code--line-height))}.text-heading{font-size:var(--text-heading);line-height:var(--tw-leading,var(--text-heading--line-height))}.text-id{font-size:var(--text-id);line-height:var(--tw-leading,var(--text-id--line-height))}.text-input-touch{font-size:var(--text-input-touch);line-height:var(--tw-leading,var(--text-input-touch--line-height))}.text-meta{font-size:var(--text-meta);line-height:var(--tw-leading,var(--text-meta--line-height))}.text-metric{font-size:var(--text-metric);line-height:var(--tw-leading,var(--text-metric--line-height))}.text-micro{font-size:var(--text-micro);line-height:var(--tw-leading,var(--text-micro--line-height))}.text-section{font-size:var(--text-section);line-height:var(--tw-leading,var(--text-section--line-height))}.text-title{font-size:var(--text-title);line-height:var(--tw-leading,var(--text-title--line-height))}.text-title-touch{font-size:var(--text-title-touch);line-height:var(--tw-leading,var(--text-title-touch--line-height))}.text-\[28px\]{font-size:28px}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-destructive-text{color:var(--destructive-text)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground{color:var(--sidebar-foreground)}.text-tone-active-fg{color:var(--tone-active-fg)}.text-tone-attention-fg{color:var(--tone-attention-fg)}.text-tone-ended-fg{color:var(--tone-ended-fg)}.text-tone-ok-fg{color:var(--tone-ok-fg)}.text-tone-waiting-fg{color:var(--tone-waiting-fg)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-input{-webkit-text-decoration-color:var(--input);-webkit-text-decoration-color:var(--input);-webkit-text-decoration-color:var(--input);text-decoration-color:var(--input)}.underline-offset-2{text-underline-offset:2px}.underline-offset-3{text-underline-offset:3px}.opacity-35{opacity:.35}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-ring{--tw-ring-color:var(--ring)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,opacity\]{transition-property:background-color,border-color,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\(--duration-base\){--tw-duration:var(--duration-base);transition-duration:var(--duration-base)}.duration-\(--duration-fast\){--tw-duration:var(--duration-fast);transition-duration:var(--duration-fast)}.duration-\(--duration-slow\){--tw-duration:var(--duration-slow);transition-duration:var(--duration-slow)}.ease-\(--ease-standard\){--tw-ease:var(--ease-standard);transition-timing-function:var(--ease-standard)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[animation-duration\:var\(--duration-pulse\)\]{animation-duration:var(--duration-pulse)}.running{animation-play-state:running}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}}.group-data-active\/tab\:text-foreground:is(:where(.group\/tab)[data-active] *){color:var(--foreground)}.file\:mr-3::file-selector-button{margin-right:calc(var(--spacing) * 3)}.file\:rounded-md::file-selector-button{border-radius:var(--radius-md)}.file\:border::file-selector-button{border-style:var(--tw-border-style);border-width:1px}.file\:border-border::file-selector-button{border-color:var(--border)}.file\:bg-card::file-selector-button{background-color:var(--card)}.file\:px-3::file-selector-button{padding-inline:calc(var(--spacing) * 3)}.file\:py-1\.5::file-selector-button{padding-block:calc(var(--spacing) * 1.5)}.placeholder\:font-sans::placeholder{font-family:var(--font-sans)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:0}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.first-of-type\:border-t-0:first-of-type{border-top-style:var(--tw-border-style);border-top-width:0}.first-of-type\:pt-0:first-of-type{padding-top:0}.empty\:hidden:empty{display:none}.focus-within\:border-ring:focus-within{border-color:var(--ring)}.focus-within\:ring-3:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-ring\/20:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ring\/20:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 20%, transparent)}}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary-hover:hover{background-color:var(--primary-hover)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring\/22:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/22:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 22%, transparent)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px * -1)}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-muted:disabled{background-color:var(--muted)}.disabled\:text-muted-foreground:disabled{color:var(--muted-foreground)}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}:where([data-side=bottom]) .in-data-\[side\=bottom\]\:py-2{padding-block:calc(var(--spacing) * 2)}:where([data-side=bottom]) .in-data-\[side\=bottom\]\:text-section{font-size:var(--text-section);line-height:var(--tw-leading,var(--text-section--line-height))}:where([data-side=left]) .in-data-\[side\=left\]\:rotate-135{rotate:135deg}:where([data-side=right]) .in-data-\[side\=right\]\:-rotate-45{rotate:-45deg}:where([data-side=right]) .in-data-\[side\=right\]\:flex-row{flex-direction:row}:where([data-side=right]) .in-data-\[side\=right\]\:justify-end{justify-content:flex-end}:where([data-side=right]) .in-data-\[side\=right\]\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}:where([data-side=right]) .in-data-\[side\=right\]\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}:where([data-side=right]) .in-data-\[side\=right\]\:p-6{padding:calc(var(--spacing) * 6)}:where([data-side=right]) .in-data-\[side\=right\]\:px-6{padding-inline:calc(var(--spacing) * 6)}:where([data-side=right]) .in-data-\[side\=right\]\:py-4{padding-block:calc(var(--spacing) * 4)}:where([data-side=right]) .in-data-\[side\=right\]\:py-5{padding-block:calc(var(--spacing) * 5)}:where([data-side=right]) .in-data-\[side\=right\]\:pr-14{padding-right:calc(var(--spacing) * 14)}:where([data-side=top]) .in-data-\[side\=top\]\:-rotate-135{rotate:-135deg}:where([data-variant=line]) .in-data-\[variant\=line\]\:inline-flex{display:inline-flex}:where([data-variant=line]) .in-data-\[variant\=line\]\:size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}:where([data-variant=line]) .in-data-\[variant\=line\]\:items-center{align-items:center}:where([data-variant=line]) .in-data-\[variant\=line\]\:justify-center{justify-content:center}:where([data-variant=line]) .in-data-\[variant\=line\]\:rounded-full{border-radius:3.40282e38px}:where([data-variant=line]) .in-data-\[variant\=line\]\:bg-secondary{background-color:var(--secondary)}:where([data-variant=line]) .in-data-\[variant\=line\]\:text-micro{font-size:var(--text-micro);line-height:var(--tw-leading,var(--text-micro--line-height))}.has-focus-visible\:outline-2:has(:focus-visible){outline-style:var(--tw-outline-style);outline-width:2px}.has-focus-visible\:-outline-offset-2:has(:focus-visible){outline-offset:calc(2px * -1)}.has-focus-visible\:outline-ring:has(:focus-visible){outline-color:var(--ring)}.aria-checked\:border-primary[aria-checked=true]{border-color:var(--primary)}.aria-checked\:ring-1[aria-checked=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-checked\:ring-primary[aria-checked=true]{--tw-ring-color:var(--primary)}.aria-disabled\:opacity-60[aria-disabled=true]{opacity:.6}.aria-expanded\:bg-accent[aria-expanded=true]{background-color:var(--accent)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/16[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/16[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 16%, transparent)}}.aria-\[current\=page\]\:bg-accent[aria-current=page]{background-color:var(--accent)}.aria-\[current\=page\]\:font-medium[aria-current=page]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.aria-\[current\=page\]\:text-foreground[aria-current=page]{color:var(--foreground)}.aria-\[current\=page\]\:text-primary[aria-current=page]{color:var(--primary)}.aria-\[current\=true\]\:bg-accent[aria-current=true]{background-color:var(--accent)}.data-active\:border-foreground[data-active]{border-color:var(--foreground)}.data-active\:bg-card[data-active]{background-color:var(--card)}.data-active\:text-foreground[data-active]{color:var(--foreground)}.data-active\:shadow-sm[data-active]{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-checked\:translate-x-3\.5[data-checked]{--tw-translate-x:calc(var(--spacing) * 3.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-checked\:border-primary[data-checked]{border-color:var(--primary)}.data-checked\:bg-primary[data-checked]{background-color:var(--primary)}.data-closed\:animate-out[data-closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-45[data-disabled],.data-disabled\:not-data-loading\:opacity-45[data-disabled]:not([data-loading]){opacity:.45}.data-highlighted\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-loading\:cursor-progress[data-loading]{cursor:progress}.data-new\:animate-highlight[data-new]{animation:var(--animate-highlight)}.data-open\:animate-in[data-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.data-popup-open\:border-ring[data-popup-open]{border-color:var(--ring)}.data-sorted\:text-foreground[data-sorted]{color:var(--foreground)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:self-stretch[data-orientation=vertical]{align-self:stretch}.data-\[side\=bottom\]\:-top-1\.5[data-side=bottom]{top:calc(var(--spacing) * -1.5)}.data-\[side\=left\]\:-right-1\.5[data-side=left]{right:calc(var(--spacing) * -1.5)}.data-\[side\=right\]\:-left-1\.5[data-side=right]{left:calc(var(--spacing) * -1.5)}.data-\[side\=top\]\:-bottom-1\.5[data-side=top]{bottom:calc(var(--spacing) * -1.5)}.data-\[variant\=destructive\]\:text-destructive-text[data-variant=destructive]{color:var(--destructive-text)}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-spin{animation:var(--animate-spin)}.motion-safe\:data-closed\:slide-out-to-bottom[data-closed]{--tw-exit-translate-y:100%}.motion-safe\:data-closed\:slide-out-to-right[data-closed]{--tw-exit-translate-x:100%}.motion-safe\:data-open\:slide-in-from-bottom[data-open]{--tw-enter-translate-y:100%}.motion-safe\:data-open\:slide-in-from-right[data-open]{--tw-enter-translate-x:100%}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:data-closed\:zoom-out-100[data-closed]{--tw-exit-scale:1}.motion-reduce\:data-open\:zoom-in-100[data-open]{--tw-enter-scale:1}}@media not all and (min-width:64rem){.max-lg\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.max-lg\:w-auto{width:auto}.max-lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.max-lg\:justify-center{justify-content:center}:where(.max-lg\:divide-x-0>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(0px * var(--tw-divide-x-reverse));border-inline-end-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}:where(.max-lg\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.max-lg\:px-0{padding-inline:0}}@media not all and (min-width:40rem){.max-sm\:sticky{position:sticky}.max-sm\:top-0{top:0}.max-sm\:top-auto{top:auto}.max-sm\:bottom-0{bottom:0}.max-sm\:left-0{left:0}.max-sm\:order-first{order:-9999}.max-sm\:col-span-1{grid-column:span 1/span 1}.max-sm\:col-span-2{grid-column:span 2/span 2}.max-sm\:-mx-4{margin-inline:calc(var(--spacing) * -4)}.max-sm\:mr-0{margin-right:0}.max-sm\:ml-8{margin-left:calc(var(--spacing) * 8)}.max-sm\:flex{display:flex}.max-sm\:hidden{display:none}.max-sm\:size-5\.5{width:calc(var(--spacing) * 5.5);height:calc(var(--spacing) * 5.5)}.max-sm\:h-\(--size-control-touch\){height:var(--size-control-touch)}.max-sm\:h-\(--size-header\){height:var(--size-header)}.max-sm\:h-6{height:calc(var(--spacing) * 6)}.max-sm\:h-dvh{height:100dvh}.max-sm\:max-h-none{max-height:none}.max-sm\:w-auto{width:auto}.max-sm\:w-full{width:100%}.max-sm\:max-w-full{max-width:100%}.max-sm\:min-w-0{min-width:0}.max-sm\:flex-1{flex:1}.max-sm\:grow{flex-grow:1}.max-sm\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.max-sm\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.max-sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.max-sm\:flex-col{flex-direction:column}.max-sm\:flex-wrap{flex-wrap:wrap}.max-sm\:content-start{align-content:flex-start}.max-sm\:items-start{align-items:flex-start}.max-sm\:items-stretch{align-items:stretch}.max-sm\:justify-start{justify-content:flex-start}.max-sm\:gap-0\.5{gap:calc(var(--spacing) * .5)}.max-sm\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.max-sm\:gap-2{gap:calc(var(--spacing) * 2)}.max-sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.max-sm\:gap-3{gap:calc(var(--spacing) * 3)}.max-sm\:gap-3\.5{gap:calc(var(--spacing) * 3.5)}.max-sm\:gap-4{gap:calc(var(--spacing) * 4)}.max-sm\:gap-y-1{row-gap:var(--spacing)}.max-sm\:overflow-hidden{overflow:hidden}.max-sm\:overflow-y-auto{overflow-y:auto}.max-sm\:rounded-lg{border-radius:var(--radius-lg)}.max-sm\:rounded-md{border-radius:var(--radius-md)}.max-sm\:rounded-none{border-radius:0}.max-sm\:rounded-xl{border-radius:var(--radius-xl)}.max-sm\:rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.max-sm\:border{border-style:var(--tw-border-style);border-width:1px}.max-sm\:border-0{border-style:var(--tw-border-style);border-width:0}.max-sm\:border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.max-sm\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.max-sm\:border-border{border-color:var(--border)}.max-sm\:bg-card{background-color:var(--card)}.max-sm\:bg-muted{background-color:var(--muted)}.max-sm\:p-0{padding:0}.max-sm\:p-1{padding:var(--spacing)}.max-sm\:px-0{padding-inline:0}.max-sm\:px-1{padding-inline:var(--spacing)}.max-sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.max-sm\:px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.max-sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.max-sm\:py-3{padding-block:calc(var(--spacing) * 3)}.max-sm\:py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.max-sm\:pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.max-sm\:pr-28{padding-right:calc(var(--spacing) * 28)}.max-sm\:pb-1{padding-bottom:var(--spacing)}.max-sm\:pb-\[calc\(env\(safe-area-inset-bottom\)\+var\(--spacing\)\*3\)\]{padding-bottom:calc(env(safe-area-inset-bottom) + var(--spacing) * 3)}.max-sm\:pb-\[calc\(var\(--size-tabbar\)\+var\(--spacing\)\*4\)\]{padding-bottom:calc(var(--size-tabbar) + var(--spacing) * 4)}.max-sm\:pb-\[max\(calc\(var\(--spacing\)\*4\)\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(calc(var(--spacing) * 4), env(safe-area-inset-bottom))}.max-sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.max-sm\:text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.max-sm\:text-body-touch{font-size:var(--text-body-touch);line-height:var(--tw-leading,var(--text-body-touch--line-height))}.max-sm\:text-heading-touch{font-size:var(--text-heading-touch);line-height:var(--tw-leading,var(--text-heading-touch--line-height))}.max-sm\:text-input-touch{font-size:var(--text-input-touch);line-height:var(--tw-leading,var(--text-input-touch--line-height))}.max-sm\:text-title-touch{font-size:var(--text-title-touch);line-height:var(--tw-leading,var(--text-title-touch--line-height))}.max-sm\:data-active\:bg-card[data-active]{background-color:var(--card)}.max-sm\:data-active\:shadow-sm[data-active]{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}@media (min-width:40rem){.sm\:top-\[12dvh\]{top:12dvh}.sm\:mt-0{margin-top:0}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:contents{display:contents}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-\(--size-control-sm\){height:var(--size-control-sm)}.sm\:w-\(--size-toast\){width:var(--size-toast)}.sm\:w-48{width:calc(var(--spacing) * 48)}.sm\:max-w-\(--size-dialog-md\){max-width:var(--size-dialog-md)}.sm\:max-w-\(--size-dialog-sm\){max-width:var(--size-dialog-sm)}.sm\:max-w-\(--size-sheet\){max-width:var(--size-sheet)}.sm\:max-w-100{max-width:calc(var(--spacing) * 100)}.sm\:grow-0{flex-grow:0}.sm\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.6fr\)_minmax\(0\,1fr\)_minmax\(0\,11rem\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr) minmax(0,11rem)}.sm\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.sm\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,3fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:items-stretch{align-items:stretch}.sm\:justify-center{justify-content:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:rounded-xl{border-radius:var(--radius-xl)}.sm\:border{border-style:var(--tw-border-style);border-width:1px}.sm\:border-border{border-color:var(--border)}.sm\:bg-card{background-color:var(--card)}.sm\:bg-dots{background-image:radial-gradient(var(--foreground) 1px, transparent 1.2px)}@supports (color:color-mix(in lab, red, red)){.sm\:bg-dots{background-image:radial-gradient(color-mix(in oklch, var(--foreground) 10%, transparent) 1px, transparent 1.2px)}}.sm\:bg-dots{background-size:calc(var(--spacing) * 5.5) calc(var(--spacing) * 5.5)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:px-0{padding-inline:0}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:pt-0{padding-top:0}.sm\:pb-0{padding-bottom:0}.sm\:shadow-sm{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}@media (min-width:48rem){.md\:absolute{position:absolute}.md\:mx-auto{margin-inline:auto}.md\:block{display:block}.md\:aspect-square{aspect-ratio:1}.md\:w-full{width:100%}.md\:max-w-xl{max-width:var(--container-xl)}.md\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@media (min-width:64rem){.lg\:hidden{display:none}.lg\:w-\(--size-sidebar\){width:var(--size-sidebar)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,3fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}@media not all and (min-width:40rem){.max-sm\:\[\&_\[data-slot\=button\]\]\:h-\(--size-control-touch\) [data-slot=button]{height:var(--size-control-touch)}.max-sm\:\[\&_\[data-slot\=button\]\]\:w-full [data-slot=button]{width:100%}.\[\&_a\]\:max-sm\:text-body-touch a{font-size:var(--text-body-touch);line-height:var(--tw-leading,var(--text-body-touch--line-height))}.\[\&_a\]\:max-sm\:break-all a{word-break:break-all}.\[\&_a\]\:max-sm\:whitespace-normal a{white-space:normal}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:mt-0 svg{margin-top:0}.\[\&_svg\]\:mt-0\.5 svg{margin-top:calc(var(--spacing) * .5)}.\[\&_svg\]\:size-\(--size-icon\) svg{width:var(--size-icon);height:var(--size-icon)}.\[\&_svg\]\:size-\(--size-icon-lg\) svg{width:var(--size-icon-lg);height:var(--size-icon-lg)}.\[\&_svg\]\:size-\(--size-icon-sm\) svg{width:var(--size-icon-sm);height:var(--size-icon-sm)}.\[\&_svg\]\:size-\(--size-icon-tab\) svg{width:var(--size-icon-tab);height:var(--size-icon-tab)}.\[\&_svg\]\:size-\(--size-icon-xl\) svg{width:var(--size-icon-xl);height:var(--size-icon-xl)}.\[\&_svg\]\:size-3 svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\]\:text-destructive-text svg{color:var(--destructive-text)}.\[\&_svg\]\:text-muted-foreground svg{color:var(--muted-foreground)}.\[\&_svg\]\:text-tone-waiting-fg svg{color:var(--tone-waiting-fg)}.data-\[variant\=destructive\]\:\[\&_svg\]\:text-destructive-text[data-variant=destructive] svg{color:var(--destructive-text)}@media not all and (min-width:40rem){.max-sm\:\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-\(--size-icon\) svg:not([class*=size-]){width:var(--size-icon);height:var(--size-icon)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\:has\(button\)\>\[data-testid\=fleet-report\]\]\:hidden:has(button)>[data-testid=fleet-report]{display:none}@media not all and (min-width:40rem){.max-sm\:\[\&\:nth-child\(even\)\]\:hidden:nth-child(2n){display:none}}.\[\&\>\*\]\:flex-1>*{flex:1}@media not all and (min-width:40rem){.max-sm\:\[\&\>\*\]\:w-full>*{width:100%}.max-sm\:\[\&\>\*\]\:flex-1>*{flex:1}}.\[\&\>p\]\:inline>p{display:inline}.\[\&\>span\:first-child\]\:text-foreground>span:first-child{color:var(--foreground)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:mt-0\.5>svg{margin-top:calc(var(--spacing) * .5)}.\[\&\>svg\]\:size-\(--size-icon\)>svg{width:var(--size-icon);height:var(--size-icon)}.\[\&\>svg\]\:size-\(--size-icon-sm\)>svg{width:var(--size-icon-sm);height:var(--size-icon-sm)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}body:has([data-hides-tab-bar]) .\[body\:has\(\[data-hides-tab-bar\]\)_\&\]\:hidden{display:none}thead .\[thead_\&\]\:h-\(--size-row-header\){height:var(--size-row-header)}@media (hover:hover){thead .\[thead_\&\]\:hover\:bg-transparent:hover{background-color:#0000}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:#fbfcfd;--card:#fff;--popover:#fff;--muted:#f1f4f7;--secondary:#ecf1f5;--accent:#eaeff4;--sidebar:#f5f7fa;--highlight:#e2f0ff;--overlay:#10161f6b;--foreground:#151b24;--muted-foreground:#5c646f;--destructive-text:#c51e21;--border:#dee2e7;--input:#d4dadf;--ring:#4475ba;--primary:#1a3860;--primary-hover:#102b50;--primary-foreground:#f8fafc;--destructive:#c51e21;--destructive-foreground:#fcfcfc;--tone-waiting-bg:#fff2d6;--tone-waiting-fg:#824c11;--tone-waiting-border:#f0cf98;--tone-active-bg:#e5f2ff;--tone-active-fg:#1653a1;--tone-active-border:#b5d4f8;--tone-ok-bg:#defae6;--tone-ok-fg:#136239;--tone-ok-border:#addfbd;--tone-attention-bg:#ffebe9;--tone-attention-fg:#b7191c;--tone-attention-border:#fcc0ba;--tone-ended-bg:#eef1f4;--tone-ended-fg:#565b63;--tone-ended-border:#cfd5db;--card-foreground:var(--foreground);--popover-foreground:var(--foreground);--secondary-foreground:var(--foreground);--accent-foreground:var(--foreground);--sidebar-foreground:var(--foreground);--font-sans:var(--font-geist-sans,"Geist"), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-geist-mono,"Geist Mono"), ui-monospace, "SF Mono", Menlo, Consolas, monospace;--shadow-sm:0 1px 2px #10161f0f;--shadow-md:0 2px 6px #10161f14;--shadow-lg:0 16px 40px #10161f29, 0 2px 8px #10161f14;--radius:8px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:18px;--radius-full:9999px;--spacing:4px;--text-micro:11px;--text-micro--line-height:14px;--text-caption:12px;--text-caption--line-height:16px;--text-meta:13px;--text-meta--line-height:18px;--text-body:14px;--text-body--line-height:20px;--text-section:15px;--text-section--line-height:20px;--text-body-touch:15px;--text-body-touch--line-height:22px;--text-input-touch:16px;--text-input-touch--line-height:24px;--text-heading:18px;--text-heading--line-height:24px;--text-heading-touch:20px;--text-heading-touch--line-height:26px;--text-title:22px;--text-title--line-height:28px;--text-title-touch:24px;--text-title-touch--line-height:30px;--text-metric:28px;--text-metric--line-height:32px;--text-id:12px;--text-id--line-height:16px;--text-code:13px;--text-code--line-height:20px;--size-control-xs:28px;--size-control-sm:32px;--size-control:36px;--size-control-touch:44px;--size-row-header:40px;--size-row:48px;--size-sidebar:256px;--size-rail:64px;--size-header:56px;--size-tabbar:68px;--size-dialog-sm:512px;--size-dialog-md:560px;--size-palette:600px;--size-sheet:560px;--size-toast:380px;--size-icon-sm:14px;--size-icon:16px;--size-icon-lg:20px;--size-icon-tab:22px;--size-icon-xl:24px;--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--duration-highlight:.6s;--duration-pulse:1.8s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1)}@supports (color:lab(0% 0 0)){:root{--background:lab(98.84% -.25633 -.7025);--card:lab(100% 0 0);--popover:lab(100% 0 0);--muted:lab(96.1718% -.636458 -1.7537);--secondary:lab(94.7795% -.886709 -2.45281);--accent:lab(94.1991% -1.13466 -3.15061);--sidebar:lab(97.2159% -.510335 -1.40365);--highlight:lab(94.1565% -3.55023 -12.359);--overlay:lab(7.15126% -.757448 -7.10759/.42);--foreground:lab(9.44257% -.882573 -7.1811);--muted-foreground:lab(41.9401% -1.20607 -7.30436);--destructive-text:lab(43.4764% 63.0288 44.9792);--border:lab(89.7912% -1.01018 -2.80142);--input:lab(86.6587% -1.25566 -3.49786);--ring:lab(48.2171% -.19902 -41.9777);--primary:lab(22.9108% .477299 -27.9047);--primary-hover:lab(17.1077% 1.09069 -26.0882);--primary-foreground:lab(98.26% -.383556 -1.05326);--destructive:lab(43.4764% 63.0288 44.9792);--destructive-foreground:lab(98.84% .0000298023 -.0000119209);--tone-waiting-bg:lab(96.0934% 1.75816 17.5194);--tone-waiting-fg:lab(38.1407% 20.1792 41.8366);--tone-waiting-border:lab(85.0466% 6.46147 31.8738);--tone-active-bg:lab(94.7452% -3.09145 -10.616);--tone-active-fg:lab(35.0481% 4.78971 -48.4651);--tone-active-border:lab(83.6242% -4.79585 -21.1849);--tone-ok-bg:lab(95.8995% -12.4059 6.35721);--tone-ok-fg:lab(36.333% -32.0338 16.5382);--tone-ok-border:lab(84.6954% -21.8384 11.2033);--tone-attention-bg:lab(94.7535% 8.58074 4.62652);--tone-attention-fg:lab(40.095% 59.891 42.9038);--tone-attention-border:lab(83.1031% 21.6022 11.7713);--tone-ended-bg:lab(95.0118% -.636339 -1.75368);--tone-ended-fg:lab(38.4771% -.941873 -5.49564);--tone-ended-border:lab(84.9187% -1.25512 -3.49756);--shadow-sm:0 1px 2px lab(7.15126% -.757448 -7.10759/.06);--shadow-md:0 2px 6px lab(7.15126% -.757448 -7.10759/.08);--shadow-lg:0 16px 40px lab(7.15126% -.757448 -7.10759/.16), 0 2px 8px lab(7.15126% -.757448 -7.10759/.08)}}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0d1015;--card:#12161c;--popover:#161a20;--muted:#191d22;--secondary:#1f2329;--accent:#20242b;--sidebar:#101419;--highlight:#17273c;--overlay:#0102039e;--foreground:#edf0f3;--muted-foreground:#9ea5af;--destructive-text:#f2716a;--border:#272c32;--input:#333840;--ring:#6fa2db;--primary:#b6d5f4;--primary-hover:#d4e7fc;--primary-foreground:#0e1928;--destructive:#cc3336;--destructive-foreground:#fcfcfc;--tone-waiting-bg:#3c2607;--tone-waiting-fg:#f8cd7d;--tone-waiting-border:#634315;--tone-active-bg:#172c49;--tone-active-fg:#a9d2ff;--tone-active-border:#2b4d7d;--tone-ok-bg:#143320;--tone-ok-fg:#9be5b4;--tone-ok-border:#275639;--tone-attention-bg:#4b1d1b;--tone-attention-fg:#ffb4ad;--tone-attention-border:#883835;--tone-ended-bg:#202328;--tone-ended-fg:#b1b8c1;--tone-ended-border:#393d44;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 6px #00000059;--shadow-lg:0 16px 40px #0000008c, 0 2px 8px #0000004d}@supports (color:lab(0% 0 0)){.dark{--background:lab(4.56739% -.417769 -3.37754);--card:lab(7.18491% -.630595 -4.65493);--popover:lab(8.89656% -.700764 -4.71278);--muted:lab(10.4095% -.676453 -4.36219);--secondary:lab(13.5387% -.73956 -4.72851);--accent:lab(14.1148% -.783846 -5.08703);--sidebar:lab(6.16149% -.531338 -4.06672);--highlight:lab(15.107% -1.361 -15.7353);--overlay:lab(.455816% -.0482127 -.653371/.62);--foreground:lab(94.7798% -.636339 -1.75365);--muted-foreground:lab(67.4768% -1.0519 -5.88543);--destructive-text:lab(63.6309% 50.1648 28.8057);--border:lab(17.5961% -.808239 -5.09725);--input:lab(23.394% -.885412 -5.46975);--ring:lab(64.8496% -5.60537 -34.6175);--primary:lab(83.6683% -5.12746 -19.2326);--primary-hover:lab(90.6759% -3.5378 -12.3533);--primary-foreground:lab(8.17586% -.649236 -12.3421);--destructive:lab(47.0381% 60.1094 37.2059);--destructive-foreground:lab(98.84% .0000298023 -.0000119209);--tone-waiting-bg:lab(17.5567% 8.17178 22.7599);--tone-waiting-fg:lab(85.0863% 8.58706 45.6068);--tone-waiting-border:lab(31.4529% 11.0342 32.3777);--tone-active-bg:lab(17.2774% -.258967 -21.012);--tone-active-fg:lab(82.3866% -5.7745 -28.0371);--tone-active-border:lab(32.1629% -.149235 -31.4833);--tone-ok-bg:lab(18.2944% -15.8427 8.15558);--tone-ok-fg:lab(85.0855% -31.3725 16.1132);--tone-ok-border:lab(32.4765% -22.1729 11.4133);--tone-attention-bg:lab(18.1126% 21.9566 12.6385);--tone-attention-fg:lab(80.5887% 27.8621 15.2822);--tone-attention-border:lab(35.1164% 34.5375 19.9972);--tone-ended-bg:lab(13.5502% -.605464 -3.65328);--tone-ended-fg:lab(74.4403% -.999719 -5.52465);--tone-ended-border:lab(25.7254% -.748262 -4.39403);--shadow-sm:0 1px 2px lab(0% 0 0/.3);--shadow-md:0 2px 6px lab(0% 0 0/.35);--shadow-lg:0 16px 40px lab(0% 0 0/.55), 0 2px 8px lab(0% 0 0/.3)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes highlight-fade{0%{background-color:var(--highlight)}}
|
|
File without changes
|
|
File without changes
|