@aeolus-fleet/console 0.25.1 → 0.25.3

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.
Files changed (157) hide show
  1. package/.next/standalone/THIRD_PARTY_NOTICES +3718 -0
  2. package/.next/standalone/packages/console/.next/BUILD_ID +1 -1
  3. package/.next/standalone/packages/console/.next/build-manifest.json +3 -3
  4. package/.next/standalone/packages/console/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/packages/console/.next/required-server-files.json +2 -1
  6. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page/server-reference-manifest.json +16 -16
  7. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page.js.nft.json +1 -1
  8. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page/server-reference-manifest.json +16 -16
  10. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page.js.nft.json +1 -1
  11. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page/server-reference-manifest.json +16 -16
  13. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page.js.nft.json +1 -1
  14. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page/server-reference-manifest.json +16 -16
  16. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page.js.nft.json +1 -1
  17. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/packages/console/.next/server/app/(console)/network/page/server-reference-manifest.json +16 -16
  19. package/.next/standalone/packages/console/.next/server/app/(console)/network/page.js.nft.json +1 -1
  20. package/.next/standalone/packages/console/.next/server/app/(console)/network/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/packages/console/.next/server/app/(console)/page/server-reference-manifest.json +16 -16
  22. package/.next/standalone/packages/console/.next/server/app/(console)/page.js.nft.json +1 -1
  23. package/.next/standalone/packages/console/.next/server/app/(console)/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/packages/console/.next/server/app/(console)/questions/page/server-reference-manifest.json +16 -16
  25. package/.next/standalone/packages/console/.next/server/app/(console)/questions/page.js.nft.json +1 -1
  26. package/.next/standalone/packages/console/.next/server/app/(console)/questions/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page/server-reference-manifest.json +16 -16
  28. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  29. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page/server-reference-manifest.json +16 -16
  31. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page.js.nft.json +1 -1
  32. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page/server-reference-manifest.json +16 -16
  34. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page.js.nft.json +1 -1
  35. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page/server-reference-manifest.json +16 -16
  37. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page.js.nft.json +1 -1
  38. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page/server-reference-manifest.json +16 -16
  40. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page.js.nft.json +1 -1
  41. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page/server-reference-manifest.json +16 -16
  43. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page.js.nft.json +1 -1
  44. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page/server-reference-manifest.json +16 -16
  46. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page.js.nft.json +1 -1
  47. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page/server-reference-manifest.json +16 -16
  49. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page.js.nft.json +1 -1
  50. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/packages/console/.next/server/app/_global-error.html +1 -1
  52. package/.next/standalone/packages/console/.next/server/app/_global-error.rsc +1 -1
  53. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  54. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  55. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  56. package/.next/standalone/packages/console/.next/server/app/_not-found/page.js.nft.json +1 -1
  57. package/.next/standalone/packages/console/.next/server/app/api/reads/[read]/route.js.nft.json +1 -1
  58. package/.next/standalone/packages/console/.next/server/app/sign-in/failed/page.js.nft.json +1 -1
  59. package/.next/standalone/packages/console/.next/server/app/sign-in/page.js.nft.json +1 -1
  60. package/.next/standalone/packages/console/.next/server/app/sign-in/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/packages/console/.next/server/app/version/route.js.nft.json +1 -1
  62. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__06f_104._.js +1 -1
  63. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1cfwaji._.js +1 -1
  64. package/.next/standalone/packages/console/.next/server/chunks/packages_console_instrumentation_ts_0x-7ff6._.js +3 -0
  65. package/.next/standalone/packages/console/.next/server/chunks/ssr/0mxb_server_app_(console)_squadrons_blueprints_[name]_page_actions_170owr_.js +1 -1
  66. package/.next/standalone/packages/console/.next/server/chunks/ssr/0mxb_server_app_(console)_squadrons_templates_[name]_page_actions_09abrr0.js +1 -1
  67. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_needs-crew_page_actions_08gu8-f.js +1 -1
  68. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_network_page_actions_1muuv-j.js +1 -1
  69. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_questions_page_actions_12d6yd2.js +1 -1
  70. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_settings_page_actions_0b6qztr.js +1 -1
  71. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_ships_[shipId]_page_actions_0g2nd1p.js +1 -1
  72. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_squadrons_page_actions_1x3afts.js +1 -1
  73. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_trierarchs_page_actions_1ow37mz.js +1 -1
  74. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_needs-attention_page_actions_1jfgclw.js +1 -1
  75. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_squadrons_[squadronId]_page_actions_1lzqlye.js +1 -1
  76. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_trierarchs_[shipId]_page_actions_0l7bxva.js +1 -1
  77. package/.next/standalone/packages/console/.next/server/chunks/ssr/[root-of-the-server]__197gd9r._.js +1 -1
  78. package/.next/standalone/packages/console/.next/server/chunks/ssr/_01eyvjo._.js +1 -1
  79. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0cak8i7._.js +1 -1
  80. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0i1lwyh._.js +1 -1
  81. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0ll55v1._.js +1 -1
  82. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_127j_99._.js → _0magod9._.js} +1 -1
  83. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_207-ta6._.js → _0r5n0m3._.js} +1 -1
  84. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0rm5fsf._.js +1 -1
  85. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_07bnv77._.js → _0uyde85._.js} +1 -1
  86. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_09we890._.js → _11is74m._.js} +1 -1
  87. package/.next/standalone/packages/console/.next/server/chunks/ssr/_11s1izd._.js +1 -1
  88. package/.next/standalone/packages/console/.next/server/chunks/ssr/_195z53h._.js +1 -1
  89. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1bc8get._.js +1 -1
  90. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1buuyye._.js +1 -1
  91. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1geqwzr._.js +1 -1
  92. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1lbotqi._.js +1 -1
  93. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1lr2spu._.js +1 -1
  94. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1or2awi._.js +1 -1
  95. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1u0h4gj._.js +1 -1
  96. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_0u0wzbz._.js → _1uli30o._.js} +1 -1
  97. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1p-k4-7._.js → _1v43-d_._.js} +1 -1
  98. package/.next/standalone/packages/console/.next/server/chunks/ssr/_20_rkn3._.js +1 -1
  99. package/.next/standalone/packages/console/.next/server/chunks/ssr/{node_modules_@base-ui_react_0xxx54b._.js → node_modules_@base-ui_react_1of81la._.js} +2 -2
  100. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_0ogk6t7._.js → packages_console_15x3hh_._.js} +2 -2
  101. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_1ey0_d3._.js → packages_console_1hemb_x._.js} +1 -1
  102. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_0sqk26-._.js → packages_console_1jdaua7._.js} +2 -2
  103. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_inbox_page_actions_0q9_xye.js +1 -1
  104. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_labels_page_actions_0tk7mqs.js +1 -1
  105. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_page_actions_1ftjjyq.js +1 -1
  106. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_labels_page_tsx_1qggshd._.js +1 -1
  107. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_needs-attention_page_tsx_03s6y-o._.js +1 -1
  108. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_network_network-page_tsx_0qc3h-9._.js +1 -1
  109. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_overview-page_tsx_15siba6._.js +1 -1
  110. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_questions_questions-page_tsx_0hb7u3u._.js +1 -1
  111. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_settings_page_tsx_1p8ay87._.js +1 -1
  112. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_ships_[shipId]_ship-page_tsx_0oahz0r._.js +1 -1
  113. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_signed-in-layout_tsx_13vv8fo._.js +1 -1
  114. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_squadrons_[squadronId]_page_tsx_0f8nmsh._.js +1 -1
  115. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_squadrons_page_tsx_1xpvx8n._.js +1 -1
  116. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_trierarchs_[shipId]_page_tsx_1u845f4._.js +1 -1
  117. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_providers_tsx_06ai92n._.js +1 -1
  118. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_features_0tur713._.js → packages_console_features_0b8_-rg._.js} +1 -1
  119. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_features_sign-in_organisms_sign-in-form_tsx_16_oswu._.js +1 -1
  120. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_features_squadrons_organisms_form-squadron-dialog_tsx_0la8z4f._.js → packages_console_features_squadrons_organisms_form-squadron-dialog_tsx_05o22-1._.js} +1 -1
  121. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_features_trierarchs_organisms_clear-worktree-dialog_tsx_01eb-00._.js → packages_console_features_trierarchs_organisms_clear-worktree-dialog_tsx_1sub7sd._.js} +1 -1
  122. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_lib_11xnux-._.js +1 -1
  123. package/.next/standalone/packages/console/.next/server/instrumentation.js +4 -0
  124. package/.next/standalone/packages/console/.next/server/middleware-build-manifest.js +3 -3
  125. package/.next/standalone/packages/console/.next/server/pages/500.html +1 -1
  126. package/.next/standalone/packages/console/.next/server/server-reference-manifest.js +1 -1
  127. package/.next/standalone/packages/console/.next/server/server-reference-manifest.json +17 -17
  128. package/.next/standalone/packages/console/.next/static/chunks/{2vnmap15_4ik5.js → 08fntqgo3353u.js} +1 -1
  129. package/.next/standalone/packages/console/.next/static/chunks/{3faqga4wbve_5.js → 0gbe9745rqcvv.js} +1 -1
  130. package/.next/standalone/packages/console/.next/static/chunks/{0rr9rjc_bc3gf.js → 0nztfy7ba1ez4.js} +1 -1
  131. package/.next/standalone/packages/console/.next/static/chunks/{1s_391feiypzt.js → 0xklzua--y-te.js} +1 -1
  132. package/.next/standalone/packages/console/.next/static/chunks/{1jz4bf7w_acy8.js → 1ixzo923d17k5.js} +1 -1
  133. package/.next/standalone/packages/console/.next/static/chunks/{2zu0p9hjzqg_-.js → 1ut35-agyc9m4.js} +1 -1
  134. package/.next/standalone/packages/console/.next/static/chunks/{0jvnv44qtww0y.js → 1vusd9lpo6rtl.js} +1 -1
  135. package/.next/standalone/packages/console/.next/static/chunks/{1ek70m0owmcgq.js → 274y91hwkjxt3.js} +1 -1
  136. package/.next/standalone/packages/console/.next/static/chunks/{14gq9h4bre4zl.js → 2fcx48n2u74f8.js} +1 -1
  137. package/.next/standalone/packages/console/.next/static/chunks/{2mlx4u2m3gj4n.js → 2fqbkmkhj5cfr.js} +1 -1
  138. package/.next/standalone/packages/console/.next/static/chunks/{2vjnc-m734xfm.js → 2fsy26x-aeybj.js} +1 -1
  139. package/.next/standalone/packages/console/.next/static/chunks/{1kzen4nzgfhzx.js → 2nxpt1ggh42xf.js} +1 -1
  140. package/.next/standalone/packages/console/.next/static/chunks/2sdb6_s313-_0.js +1 -0
  141. package/.next/standalone/packages/console/.next/static/chunks/2x_shz1upn2oi.js +1 -0
  142. package/.next/standalone/packages/console/.next/static/chunks/{2iwxdddbd25in.js → 3hfbb6--wbkq6.js} +1 -1
  143. package/.next/standalone/packages/console/.next/static/chunks/{11tuykopff7e_.js → 3lwa1pmekf5yn.js} +1 -1
  144. package/.next/standalone/packages/console/.next/static/chunks/3otcabh_gijq-.js +1 -0
  145. package/.next/standalone/packages/console/.next/static/chunks/{3sgvr4qucbnoq.js → 3pq58846qyog_.js} +1 -1
  146. package/.next/standalone/packages/console/.next/static/chunks/{3fz2o2p_07f9u.js → 3t0b867w1fd16.js} +1 -1
  147. package/.next/standalone/packages/console/.next/static/chunks/{2w9atwkwe6d4r.js → 3yteehwrrznjm.js} +1 -1
  148. package/.next/standalone/packages/console/.next/static/chunks/{1cg31hv7ug_rw.js → 43wruh-j46sq_.js} +1 -1
  149. package/.next/standalone/packages/console/package.json +3 -3
  150. package/README.md +6 -2
  151. package/package.json +3 -3
  152. package/.next/standalone/packages/console/.next/static/chunks/0bb19hfyc42kn.js +0 -1
  153. package/.next/standalone/packages/console/.next/static/chunks/29glfb1y7qwtg.js +0 -1
  154. package/.next/standalone/packages/console/.next/static/chunks/3dmesrmg4eee9.js +0 -1
  155. /package/.next/standalone/packages/console/.next/static/{bXH06v_D0kt92IaQZhnO3 → JdtYaNS7yPdcTRntms065}/_buildManifest.js +0 -0
  156. /package/.next/standalone/packages/console/.next/static/{bXH06v_D0kt92IaQZhnO3 → JdtYaNS7yPdcTRntms065}/_clientMiddlewareManifest.js +0 -0
  157. /package/.next/standalone/packages/console/.next/static/{bXH06v_D0kt92IaQZhnO3 → JdtYaNS7yPdcTRntms065}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[59446,a=>{"use strict";var b=a.i(87924),c=a.i(31247),d=a.i(38246),e=a.i(50944),f=a.i(72131),g=a.i(12068),h=a.i(86002),i=a.i(56987),j=a.i(26268),k=a.i(88931),l=a.i(80487);let m={ok:"border-tone-ok-border bg-tone-ok-bg text-tone-ok-fg",waiting:"border-tone-waiting-border bg-tone-waiting-bg text-tone-waiting-fg",attention:"border-tone-attention-border bg-tone-attention-bg text-tone-attention-fg"};function n({label:a,shortLabel:c,value:e,detail:f,href:g,icon:h,tone:i,testId:j}){return(0,b.jsxs)(d.default,{href:g,"data-testid":j,className:"flex min-w-0 flex-col gap-2 rounded-lg border border-border bg-card px-4.5 py-4 shadow-sm transition-colors duration-(--duration-fast) hover:bg-accent max-sm:gap-1.5 max-sm:rounded-xl max-sm:px-3.5 max-sm:py-3",children:[(0,b.jsxs)("span",{className:"flex items-center justify-between gap-2 text-meta font-medium text-muted-foreground",children:[(0,b.jsx)("span",{className:"max-sm:hidden",children:a}),(0,b.jsx)("span",{className:"sm:hidden",children:c??a}),(0,b.jsx)("span",{className:(0,l.classNames)("flex size-6.5 shrink-0 items-center justify-center rounded-md border max-sm:size-5.5",m[i]),children:(0,b.jsx)(h,{"aria-hidden":!0,className:"size-3.5"})})]}),(0,b.jsx)("span",{className:"text-[28px] leading-none font-semibold tracking-tight tabular-nums text-foreground max-sm:text-2xl",children:e}),(0,b.jsx)("span",{className:"truncate text-meta text-muted-foreground",children:f})]})}var o=a.i(90146),p=a.i(10023),q=a.i(68450),r=a.i(72872);function s(a){return a.filter(a=>"agent"===a.kind&&"retired"!==a.status)}function t(){var a;let c,d,e,f,g=(0,o.useFleetSnapshot)(),h=(0,p.useNeedsAttention)(),l=(0,p.useAttentionCount)(),m=(0,q.useNow)();if(!g.data)return null;let t=(e=(d=(c=s((a={ships:g.data,undeliverable:h.data??[],now:m}).ships)).filter(a=>"awaitingCrew"===a.status)).flatMap(a=>null===a.awaitingCrewSince?[]:[{name:a.name,since:new Date(a.awaitingCrewSince)}]).sort((a,b)=>a.since.getTime()-b.since.getTime())[0],f=a.undeliverable.map(a=>new Date(a.since)).sort((a,b)=>a.getTime()-b.getTime())[0],{activeCount:c.length,crewedCount:c.filter(a=>"crewed"===a.status).length,awaitingCount:d.length,longestWait:e&&{name:e.name,wait:(0,r.duration)(e.since,a.now)},oldestUndeliverable:f&&(0,r.duration)(f,a.now)});return 0===t.activeCount?null:(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-4 max-sm:grid-cols-2 max-sm:gap-2.5","data-testid":"overview-metrics",children:[(0,b.jsx)(n,{label:"Ships crewed",shortLabel:"Crewed",value:t.crewedCount,detail:`of ${String(t.activeCount)} active ships`,href:"/?status=crewed",icon:k.UserCheck,tone:"ok",testId:"overview-crewed"}),(0,b.jsx)(n,{label:"Awaiting crew",value:t.awaitingCount,detail:t.longestWait?`Longest wait: ${t.longestWait.name}, ${t.longestWait.wait}`:"Every active ship is crewed",href:"/?status=awaitingCrew",icon:i.CircleDashed,tone:"waiting",testId:"overview-awaiting"}),(0,b.jsx)(n,{label:"Needs attention",value:l??0,detail:t.oldestUndeliverable?`Undeliverable deliveries, oldest ${t.oldestUndeliverable}`:"Nothing needs you",href:"/needs-attention",icon:j.TriangleAlert,tone:"attention",testId:"overview-attention"})]})}var u=a.i(3512),v=a.i(34301),w=a.i(1851),x=a.i(2955),y=a.i(82611),z=a.i(88191),A=a.i(64906),B=a.i(47468),C=a.i(82252),D=a.i(54763),E=a.i(12540),F=a.i(93454);let G=(0,v.lazyDialog)(()=>a.A(6827).then(a=>a.CommissionDialog),a=>a.isOpen),H=(0,v.lazyDialog)(()=>a.A(68359).then(a=>a.StartingPromptDialog),a=>a.isOpen);function I({isOpen:a,onOpenChange:c}){let d=(0,o.useFleetSnapshot)(),e=(0,A.useFleetLimits)(),h=(0,B.useHostedAccountUrl)(),i=(0,o.useCommissionShip)(),j=(0,o.useRequestCrew)(),k="connected"===(0,F.useTrierarchPluginConnection)(),l=(0,F.useMachines)(),m=(0,D.useSquadronsConnection)(),n=(0,E.useSquadrons)(),[p,q]=(0,f.useState)(!1),[r,s]=(0,f.useState)(null),t=(0,x.offersOf)(l.data??[]),v=(0,o.useLabelContext)(),{shipLabelsMax:J}=(0,w.useConsoleConstants)(),K=void 0===v||void 0===l.data?void 0:(0,y.machineLabelsInputOf)(v,{machines:l.data,shipLabelsMax:J}),L=(0,F.useCrewSettingsCheck)(a&&k?null===r?(0,x.settingsOf)((0,x.defaultValues)(t)):r:void 0),M=(d.data??[]).filter(a=>"retired"!==a.status),N=(a,b)=>{i.mutate(a,{onSuccess:({shipId:d})=>{c(!1);let e=k&&void 0!==b;e||q(!0),void 0!==b&&j.mutate({shipId:d,settings:b.settings},{onSuccess:()=>{e&&(0,z.showToast)({title:`${a.name} commissioned, crew requested`,description:"The trierarch plugin assigns a trierarch that fits.",tone:"success"})},onError:b=>{(0,z.showToast)({title:`Couldn’t request a crew for ${a.name}`,description:`${b.message} The ship is commissioned; request a crew on its page.`,tone:"error"})}})}})};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Button,{variant:"primary",icon:(0,b.jsx)(u.Plus,{}),"data-testid":"fleet-commission",onClick:()=>{i.reset(),s(null),c(!0)},children:"Commission ship"}),(0,b.jsx)(G,{activeShips:M,isOpen:a,onOpenChange:c,isPending:i.isPending,error:i.error?.message,shipLimit:(0,C.shipLimitReached)(e.data),accountUrl:h,...k?{crewRequest:{offers:t,squadrons:"connected"===m?(n.data??[]).filter(a=>"disbanded"!==a.state).map(a=>a.id):void 0,...void 0===K?{}:{machineLabels:K},check:L.data,onSettingsChange:s}}:{},onSubmit:(a,b)=>{let c={...a,idempotencyKey:crypto.randomUUID()};k&&void 0!==b?L.checkNow().catch(()=>void 0).then(a=>{a?.kind!=="refused"&&N(c,b)}).catch(()=>void 0):N(c,b)}}),(0,b.jsx)(H,{shipName:i.variables?.name??"",state:"shown",prompt:i.data?.prompt??void 0,crewLines:i.data?.crewLines??void 0,isOpen:p&&void 0!==i.data,onOpenChange:a=>{a||(q(!1),i.reset())},onConfirm:()=>void 0})]})}var J=a.i(64831);let K={name:"infinity",size:24,node:[["path",{d:"M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8",key:"18ogeb"}]]};K.node;let L=(0,J.default)(K);var M=a.i(74746),N=a.i(98238),O=a.i(23063);let P={ships:{label:"Ships",unit:"ships",Icon:N.Ship},messages:{label:"Messages today",unit:"messages",Icon:M.Send}},Q={below:"bg-primary",at:"bg-tone-waiting-fg",over:"bg-tone-attention-fg"},R={at:"at-limit",over:"over-limit"};function S({kind:a,count:c,limit:d,resetsAt:e}){let{label:f,unit:g,Icon:h}=P[a],i=(0,C.meterState)({count:c,limit:d}),j=R[i],k=(0,C.meterCaption)({count:c,limit:d}),m=null===d?0:0===d?1:Math.min(c/d,1);return(0,b.jsxs)("div",{"data-testid":`limit-meter-${a}`,"data-state":i,className:"flex flex-col gap-2 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-meta font-medium text-muted-foreground",children:[(0,b.jsx)(h,{"aria-hidden":!0,className:"size-(--size-icon-sm)"}),f]}),void 0===j?null:(0,b.jsx)(O.StatusBadge,{status:j})]}),(0,b.jsxs)("p",{className:"flex items-baseline gap-1.5",children:[(0,b.jsx)("span",{className:"text-metric font-semibold tabular-nums",children:(0,C.meterCount)(c)}),(0,b.jsx)("span",{className:"text-body text-muted-foreground",children:null===d?g:`of ${(0,C.meterCount)(d)} ${g}`})]}),null===d?(0,b.jsxs)("p",{className:"inline-flex items-center gap-1.5 text-meta text-muted-foreground",children:[(0,b.jsx)(L,{"aria-hidden":!0,className:"size-(--size-icon-sm)"}),"No limit"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{role:"meter","aria-label":`${f}: ${String(c)} of ${String(d)}`,"aria-valuenow":c,"aria-valuemin":0,"aria-valuemax":d,className:"block h-1.5 overflow-hidden rounded-full bg-secondary",children:(0,b.jsx)("span",{className:(0,l.classNames)("block h-full rounded-full","none"===i?void 0:Q[i]),style:{width:`${String(100*m)}%`}})}),(0,b.jsxs)("p",{"data-testid":`limit-meter-${a}-caption`,className:"text-caption text-muted-foreground",children:[k,void 0===e?null:` \xb7 resets at ${(0,C.resetTime)(e)}`]})]})]})}function T(){let a=(0,A.useFleetLimits)().data,c=(0,B.useHostedAccountUrl)();return(0,C.hasLimits)(a)?(0,b.jsxs)("section",{"aria-labelledby":"overview-limits-title","data-testid":"overview-limits",className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("h2",{id:"overview-limits-title",className:"text-body font-semibold",children:"Limits"}),void 0===c?null:(0,b.jsx)("a",{href:c,"data-testid":"overview-limits-view",className:"text-meta font-medium text-primary underline underline-offset-2",children:"View limits"})]}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsx)(S,{kind:"ships",count:a.ships.count,limit:a.ships.limit}),(0,b.jsx)(S,{kind:"messages",count:a.dailyMessages.count,limit:a.dailyMessages.limit,resetsAt:a.dailyMessages.resetsAt})]})]}):null}var U=a.i(45065),V=a.i(8219),W=a.i(55681),X=a.i(25039),Y=a.i(71094),Z=a.i(33540);let $={name:"sliders-horizontal",size:24,node:[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]};$.node;let _=(0,J.default)($);var aa=a.i(87005);let ab=["console","claudeCode","codex","trierarch","plugin","other"],ac={console:"Console",claudeCode:"Claude Code",codex:"Codex",trierarch:"Trierarch",plugin:"Plugin",other:"Other"},ad={"claude-code":"claudeCode",codex:"codex"},ae={awaitingCrew:"Awaiting crew",crewed:"Crewed",retired:"Retired"};function af(a,{column:b,squadronsOf:c}){switch(b){case"ship":return a.name;case"status":return ae[a.status];case"report":return"agent"===a.kind&&"crewed"===a.status?a.report?.note??void 0:void 0;case"squadronAndLabels":{let b=c?.get(a.id);if(void 0!==b&&null!==b.role)return b.squadronId;let[d]=a.labels;return void 0===d?void 0:`${d.key}=${d.value}`}case"runsOn":if("crewed"!==a.status||"viewer"===a.kind)return;return"operator"===a.kind?"console":a.harness??void 0;case"seen":return a.lastSeenAt??void 0}}var ag=a.i(6071),ah=a.i(65230),ai=a.i(60271);let aj={query:"",filters:{status:"all",crewRequest:"all",kind:"all",type:"all",squadron:"all",isRetiredShown:!1,labelValueIds:[]},sort:null},ak=new Set;function al(a,b){return a.kind!==b.kind?"operator"===a.kind?-1:+("operator"===b.kind):0}function am(a,b){return[...new Set(a.filter(a=>b||"retired"!==a.status).map(a=>a.type))].toSorted((a,b)=>a.localeCompare(b))}function an(a){return a.filter(a=>"retired"===a.status).length}function ao(a){return[...new Set([...a.values()].map(a=>a.squadronId))].toSorted((a,b)=>a.localeCompare(b))}let ap={crewed:"Crewed",awaitingCrew:"Awaiting crew"};function aq(a){return ar(a).length+a.labelValueIds.length}function ar(a){return["all"===a.status?void 0:`Status: ${ap[a.status]}`,"all"===a.crewRequest?void 0:`Crew request: ${(0,ai.crewRequestKeyWord)(a.crewRequest)}`,"all"===a.kind?void 0:`Kind: ${ac[a.kind]}`,"all"===a.type?void 0:`Type: ${a.type}`,"all"===a.squadron?void 0:`Squadron: ${a.squadron}`,a.isRetiredShown?"Retired shown":void 0].filter(a=>void 0!==a)}var as=a.i(76166),at=a.i(75297),au=a.i(45098),av=a.i(48136),aw=a.i(4838),ax=a.i(45469),ay=a.i(77339),az=a.i(24173),aA=a.i(40392),aB=a.i(36501);function aC({chips:a,width:c,testId:e,href:f}){if(0===a.length)return null;let{shown:g,folded:h}=0===c?{shown:[],folded:a}:(0,ah.rowChips)(a,c);return(0,b.jsxs)("span",{"data-testid":e,className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[g.map((a,c)=>(0,b.jsx)(aB.LabelChip,{chip:a,className:0===c?"min-w-0 shrink":void 0},a.valueId)),0===h.length?null:void 0===f?(0,b.jsxs)("span",{title:h.map(ah.chipTitleOf).join("; "),className:"inline-flex h-5.5 shrink-0 items-center rounded-sm bg-secondary px-1.5 text-caption font-medium text-foreground tabular-nums",children:["+",h.length,(0,b.jsx)("span",{className:"sr-only",children:" more labels"})]}):(0,b.jsxs)(d.default,{href:f,title:h.map(ah.chipTitleOf).join("; "),"aria-label":`View ${h.length} more labels`,className:"inline-flex h-5.5 shrink-0 items-center rounded-sm bg-secondary px-1.5 text-caption font-medium text-foreground tabular-nums hover:underline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",children:["+",h.length]})]})}var aD=a.i(50808);let aE={name:"signal",size:24,node:[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}],["path",{d:"M17 20V8",key:"1tkaf5"}],["path",{d:"M22 4v16",key:"sih9yq"}]]};aE.node;let aF=(0,J.default)(aE),aG={name:"signal-low",size:24,node:[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}]]};aG.node;let aH=(0,J.default)(aG),aI={name:"signal-medium",size:24,node:[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}]]};aI.node;let aJ=(0,J.default)(aI);a.s([],65156),a.i(65156);var aK=a.i(22050),aL=a.i(24715),aM=a.i(57738),aN=a.i(54662);let aO=f.createContext(void 0);function aP(a){let b=f.useContext(aO);if(void 0===b&&!a)throw Error((0,aN.default)(72));return b}var aQ=a.i(68536),aR=a.i(54401),aS=a.i(26476),aT=a.i(30116),aU=a.i(14209);function aV(a){return null!=a&&null!=a.clientX}var aW=a.i(38939),aX=a.i(94552),aY=a.i(84204),aZ=a.i(32318),a$=a.i(17498),a_=a.i(7436),a0=a.i(14239),a1=a.i(17017),a2=a.i(51943);let a3={...a1.popupStoreSelectors,disabled:a=>a.disabled,instantType:a=>a.instantType,isInstantPhase:a=>a.isInstantPhase,trackCursorAxis:a=>a.trackCursorAxis,disableHoverablePopup:a=>a.disableHoverablePopup,lastOpenChangeReason:a=>a.openChangeReason,closeOnClick:a=>a.closeOnClick,closeDelay:a=>a.closeDelay,adaptiveOrigin:a=>a.adaptiveOrigin};class a4 extends a$.ReactStore{constructor(a,b,c){const d=new a2.PopupTriggerMap;super(a5(a,d,b,c),a6(d),a3)}setOpen=(a,b)=>{(0,aY.applyPopupOpenChange)(this,a,b,{extraState:{openChangeReason:b.reason}})};cancelPendingOpen(a){this.state.floatingRootContext.dispatchOpenChange(!1,(0,aX.createChangeEventDetails)(a_.REASONS.triggerPress,a))}}function a5(a,b,c,d=!1){return{...(0,a1.createInitialPopupStoreState)(b,c,d),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...a}}function a6(a){return{popupRef:f.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:a}}let a7=(0,aK.fastComponent)(function(a){let{disabled:c=!1,defaultOpen:d=!1,open:e,disableHoverablePopup:g=!1,trackCursorAxis:h="none",actionsRef:i,onOpenChange:j,onOpenChangeComplete:k,handle:l,triggerId:m,defaultTriggerId:n=null,children:o}=a,p=(0,aY.usePopupRootStore)((a,b)=>new a4({open:d,openProp:e,activeTriggerId:n,triggerIdProp:m},a,b));p.useControlledProp("openProp",e),p.useControlledProp("triggerIdProp",m),p.useContextCallback("onOpenChange",j),p.useContextCallback("onOpenChangeComplete",k);let q=p.useState("open"),r=!c&&q,s=p.useState("activeTriggerId"),t=p.useState("mounted"),u=p.useState("payload");p.useSyncedValues({trackCursorAxis:h,disableHoverablePopup:g,disabled:c}),(0,aY.useImplicitActiveTrigger)(p,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:v,transitionStatus:w}=(0,aY.useOpenStateTransitions)(r,p),x=p.useState("isInstantPhase"),y=p.useState("instantType"),z=p.useState("lastOpenChangeReason"),A=f.useRef(null);(0,aM.useIsoLayoutEffect)(()=>{q&&c&&p.setOpen(!1,(0,aX.createChangeEventDetails)(a_.REASONS.disabled))},[q,c,p]),(0,aM.useIsoLayoutEffect)(()=>{"ending"===w&&z===a_.REASONS.none||"ending"!==w&&x?("delay"!==y&&(A.current=y),p.set("instantType","delay")):null!==A.current&&(p.set("instantType",A.current),A.current=null)},[w,x,z,y,p]),(0,aM.useIsoLayoutEffect)(()=>{r&&null==s&&p.set("payload",void 0)},[p,s,r]),f.useImperativeHandle(i,()=>({unmount:v,close:()=>p.setOpen(!1,(0,aX.createChangeEventDetails)(a_.REASONS.imperativeAction))}),[v,p]);let B=r||t||!c&&"none"!==h;return(0,b.jsxs)(aO.Provider,{value:p,children:[l&&(0,b.jsx)(aY.PopupHandleAttachment,{handle:l,store:p}),B&&(0,b.jsx)(a8,{store:p,disabled:c,trackCursorAxis:h}),"function"==typeof o?o({payload:u}):o]})});function a8({store:a,disabled:b,trackCursorAxis:c}){let d=a.useState("floatingRootContext"),e=(0,aW.useDismiss)(d,{enabled:!b,referencePress:()=>a.select("closeOnClick")}),g=function(a,b={}){let{enabled:c=!0,axis:d="both"}=b,e="rootStore"in a?a.rootStore:a,g=e.useState("open"),h=e.useState("floatingElement"),i=e.useState("domReferenceElement"),j=e.context.dataRef,k=f.useRef(!1),l=f.useRef(null),[m,n]=f.useState(),[o,p]=f.useState([]),q=(0,aR.useStableCallback)(a=>{e.set("positionReference",a)}),r=(0,aR.useStableCallback)((a,b,c)=>{if(!k.current&&(!j.current.openEvent||aV(j.current.openEvent))){var f,g;let h,k,l;e.set("positionReference",(f=c??i,g={x:a,y:b,axis:d,dataRef:j,pointerType:m},h=null,k=null,l=!1,{contextElement:f||void 0,getBoundingClientRect(){let a=f?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},b="x"===g.axis||"both"===g.axis,c="y"===g.axis||"both"===g.axis,d=["mouseenter","mousemove"].includes(g.dataRef.current.openEvent?.type||"")&&"touch"!==g.pointerType,e=a.width,i=a.height,j=a.x,m=a.y;return null==h&&g.x&&b&&(h=a.x-g.x),null==k&&g.y&&c&&(k=a.y-g.y),j-=h||0,m-=k||0,e=0,i=0,!l||d?(e="y"===g.axis?a.width:0,i="x"===g.axis?a.height:0,j=b&&null!=g.x?g.x:j,m=c&&null!=g.y?g.y:m):l&&!d&&(i="x"===g.axis?a.height:i,e="y"===g.axis?a.width:e),l=!0,{width:e,height:i,x:j,y:m,top:m,right:j+e,bottom:m+i,left:j}}}))}}),s=(0,aR.useStableCallback)(a=>{g?l.current||(r(a.clientX,a.clientY,a.currentTarget),p([])):r(a.clientX,a.clientY,a.currentTarget)}),t=(0,aU.isMouseLikePointerType)(m)?h:g;f.useEffect(()=>{if(!c)return void q(i);if(!t)return;function a(){l.current?.(),l.current=null}let b=(0,aS.getWindow)(h);return!j.current.openEvent||aV(j.current.openEvent)?l.current=(0,aQ.addEventListener)(b,"mousemove",function(b){let c=(0,aT.getTarget)(b);(0,aT.contains)(h,c)?a():r(b.clientX,b.clientY)}):q(i),a},[t,c,h,j,i,e,r,q,o]),f.useEffect(()=>()=>{e.set("positionReference",null)},[e]),f.useEffect(()=>{c&&!h&&(k.current=!1)},[c,h]),f.useEffect(()=>{!c&&g&&(k.current=!0)},[c,g]);let u=f.useMemo(()=>{function a(a){n(a.pointerType)}return{onPointerDown:a,onPointerEnter:a,onMouseMove:s,onMouseEnter:s}},[s]);return f.useMemo(()=>c?{reference:u,trigger:u}:{},[c,u])}(d,{enabled:!b&&"none"!==c,axis:"none"===c?void 0:c}),h=f.useMemo(()=>(0,aZ.mergeProps)(g.reference,e.reference),[g.reference,e.reference]);return(0,aY.usePopupInteractionProps)(a,{activeTriggerProps:h,inactiveTriggerProps:h,popupProps:e.floating??aL.EMPTY_OBJECT}),null}var a9=a.i(36069),ba=a.i(89862),bb=a.i(4478),bc=a.i(26184),bd=a.i(97151),be=a.i(557);let bf=f.createContext(void 0);var bg=a.i(25003),bh=a.i(85252);let bi=f.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new a9.Timeout,currentIdRef:{current:null},currentContextRef:{current:null}});function bj(a){let{children:c,delay:d,timeoutMs:e=0}=a,g=f.useRef(d),h=f.useRef(d),i=f.useRef(null),j=f.useRef(null),k=(0,a9.useTimeout)();return(0,aM.useIsoLayoutEffect)(()=>{if(h.current=d,!i.current){g.current=d;return}g.current={open:(0,bh.getDelay)(g.current,"open"),close:(0,bh.getDelay)(d,"close")}},[d,i,g,h]),(0,b.jsx)(bi.Provider,{value:f.useMemo(()=>({hasProvider:!0,delayRef:g,initialDelayRef:h,currentIdRef:i,timeoutMs:e,currentContextRef:j,timeout:k}),[e,k]),children:c})}var bk=a.i(84842),bl=a.i(5735),bm=a.i(72077),bn=a.i(63734);let bo="data-base-ui-tooltip-trigger";function bp(a){if("composedPath"in a){let b=a.composedPath();for(let a=0;a<b.length;a+=1){let c=b[a];if((0,aS.isElement)(c))return c}}let b=a.target;return(0,aS.isElement)(b)?b:null}let bq=(0,aK.fastComponentRef)(function(a,b){let{render:c,className:d,style:e,handle:g,payload:h,disabled:i,delay:j,closeOnClick:k=!0,closeDelay:l,id:m,...n}=a,o=aP(!0),p=(0,bd.usePopupHandleStore)(g)??o;if(!p)throw Error((0,aN.default)(82));let q=(0,be.useBaseUiId)(m),r=p.useState("isTriggerActive",q),s=p.useState("isOpenedByTrigger",q),t=p.useState("floatingRootContext"),u=f.useRef(null),v=l??0,{registerTrigger:w,isMountedByThisTrigger:x}=(0,aY.useTriggerDataForwarding)(q,u,p,{payload:h,closeOnClick:k,closeDelay:v}),y=f.useContext(bf),{activeIdRef:z,delayRef:A,isInstantPhase:B,hasProvider:C}=function(a,b={open:!1}){let{open:c}=b,d="rootStore"in a?a.rootStore:a,e=d.useState("floatingId"),{currentIdRef:g,delayRef:h,timeoutMs:i,initialDelayRef:j,currentContextRef:k,hasProvider:l,timeout:m}=f.useContext(bi),[n,o]=f.useState(!1),p=f.useRef(c);return(0,aM.useIsoLayoutEffect)(()=>{p.current=c},[c]),(0,aM.useIsoLayoutEffect)(()=>{function a(){k.current?.setIsInstantPhase(!1),g.current=null,k.current=null,h.current=j.current,m.clear()}if(g.current&&!c&&g.current===e){if(o(!1),i)return m.start(i,()=>{d.select("open")||g.current&&g.current!==e||a()}),()=>{(p.current||g.current!==e)&&m.clear()};a()}},[c,e,g,h,i,j,k,m,d]),(0,aM.useIsoLayoutEffect)(()=>{if(!c)return;let a=k.current,b=g.current;m.clear(),k.current={onOpenChange:d.setOpen,setIsInstantPhase:o},g.current=e,h.current={open:0,close:(0,bh.getDelay)(j.current,"close")},null!==b&&b!==e?(o(!0),a?.setIsInstantPhase(!0),a?.onOpenChange(!1,(0,aX.createChangeEventDetails)(a_.REASONS.none))):(o(!1),a?.setIsInstantPhase(!1))},[c,e,d,g,h,j,k,m]),(0,aM.useIsoLayoutEffect)(()=>()=>{g.current===e&&(k.current=null,p.current)&&(g.current=null,h.current=j.current,m.clear())},[k,g,h,e,j,m]),f.useMemo(()=>({activeIdRef:g,hasProvider:l,delayRef:h,isInstantPhase:n}),[g,l,h,n])}(t,{open:s}),D=(0,bm.useHoverInteractionSharedState)(t);p.useSyncedValue("isInstantPhase",B);let E=p.useState("disabled"),F=i??E,G=(0,ba.useValueAsRef)(F),H=p.useState("trackCursorAxis"),I=p.useState("disableHoverablePopup"),J=f.useRef(!1),K=(0,a9.useTimeout)(),L=f.useRef(void 0);function M(){return C&&null!=z.current?0:j??y??600}function N(a){let b=u.current;if(!b||!a)return!1;let c=function(a){let b=a;for(;b;){let a=b.closest(`[${bo}]`);if(a)return a;let c=b.getRootNode();b="host"in c&&(0,aS.isElement)(c.host)?c.host:null}return null}(a);return null!==c&&c!==b&&(0,aT.contains)(b,c)}let O=(0,bl.useHoverReferenceInteraction)(t,{enabled:!F,mouseOnly:!0,move:!1,handleClose:I||"both"===H?null:(0,bg.safePolygon)(),restMs:M,delay:()=>null==l&&C?{close:(0,bh.getDelay)(A.current,"close")}:{close:v},triggerElementRef:u,isActiveTrigger:r,isClosing:()=>"ending"===p.select("transitionStatus"),shouldOpen:()=>!J.current}),P=(0,bk.useFocus)(t,{enabled:!F}).reference,Q=p.useState("triggerProps",x),R=x||"none"!==H;return(0,bc.useRenderElement)("button",a,{state:{open:s},ref:[b,w,u],props:[O,P,R?Q:void 0,{onMouseOver(a){(a=>{let b,c=J.current,d=bp(a),e=(J.current=b=N(d),b&&(D.openChangeTimeout.clear(),D.restTimeout.clear(),D.restTimeoutPending=!1,K.clear()),b),f=u.current,g=f&&d&&(0,aT.contains)(f,d);if(e&&p.select("open")&&p.select("lastOpenChangeReason")===a_.REASONS.triggerHover)return p.setOpen(!1,(0,aX.createChangeEventDetails)(a_.REASONS.triggerHover,a));if(c&&!e&&g&&!G.current&&!p.select("open")&&f&&(0,aU.isMouseLikePointerType)(L.current)){let b=()=>{J.current||G.current||p.select("open")||p.setOpen(!0,(0,aX.createChangeEventDetails)(a_.REASONS.triggerHover,a,f))},c=M();0===c?(K.clear(),b()):K.start(c,b)}})(a.nativeEvent)},onFocus(a){N(bp(a.nativeEvent))&&a.preventBaseUIHandler()},onMouseLeave(){J.current=!1,K.clear(),L.current=void 0},onPointerEnter(a){L.current=a.pointerType},onPointerDown(a){L.current=a.pointerType,p.set("closeOnClick",k),k&&!p.select("open")&&p.cancelPendingOpen(a.nativeEvent)},onClick(a){k&&!p.select("open")&&p.cancelPendingOpen(a.nativeEvent)},id:q,[bn.triggerDisabled]:F?"":void 0,[bo]:F?void 0:""},n],stateAttributesMapping:bb.triggerOpenStateMapping})}),br=f.createContext(void 0);var bs=a.i(35112),bt=a.i(54098);let bu=f.forwardRef(function(a,c){let{children:d,container:e,className:g,render:h,style:i,...j}=a,{node:k,subtree:l}=(0,bt.useFloatingPortalNode)({container:e,ref:c,componentProps:a,elementProps:j});return l||k?(0,b.jsxs)(f.Fragment,{children:[l,k&&bs.createPortal(d,k)]}):null}),bv=f.forwardRef(function(a,c){let{keepMounted:d=!1,...e}=a;return aP().useState("mounted")||d?(0,b.jsx)(br.Provider,{value:d,children:(0,b.jsx)(bu,{ref:c,...e})}):null}),bw=f.createContext(void 0);function bx(){let a=f.useContext(bw);if(void 0===a)throw Error((0,aN.default)(71));return a}var by=a.i(44871),bz=a.i(82204),bA=a.i(56011);let bB=f.forwardRef(function(a,c){let{render:d,className:e,anchor:g,positionMethod:h="absolute",side:i="top",align:j="center",sideOffset:k=0,alignOffset:l=0,collisionBoundary:m="clipping-ancestors",collisionPadding:n=5,arrowPadding:o=5,sticky:p=!1,disableAnchorTracking:q=!1,collisionAvoidance:r=bz.POPUP_COLLISION_AVOIDANCE,style:s,...t}=a,u=aP(),v=function(){let a=f.useContext(br);if(void 0===a)throw Error((0,aN.default)(70));return a}(),w=u.useState("open"),x=u.useState("mounted"),y=u.useState("trackCursorAxis"),z=u.useState("disableHoverablePopup"),A=u.useState("floatingRootContext"),B=u.useState("instantType"),C=u.useState("transitionStatus"),D=u.useState("adaptiveOrigin"),E=(0,by.useAnchorPositioning)({anchor:g,positionMethod:h,floatingRootContext:A,mounted:x,side:i,sideOffset:k,align:j,alignOffset:l,collisionBoundary:m,collisionPadding:n,sticky:p,arrowPadding:o,disableAnchorTracking:q,keepMounted:v,collisionAvoidance:r,adaptiveOrigin:D}),F=f.useMemo(()=>({open:w,side:E.side,align:E.align,anchorHidden:E.anchorHidden,instant:"none"!==y?"tracking-cursor":B}),[w,E.side,E.align,E.anchorHidden,y,B]),G=(0,bA.usePositioner)(a,F,{styles:E.positionerStyles,transitionStatus:C,props:t,refs:[c,u.useStateSetter("positionerElement")],hidden:!x,inert:!w||"both"===y||z});return(0,b.jsx)(bw.Provider,{value:E,children:G})});var bC=a.i(5687),bD=a.i(3861),bE=a.i(81673);let bF=f.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=aP(),{side:h,align:i}=bx(),j=g.useState("open"),k=g.useState("instantType"),l=g.useState("transitionStatus"),m=g.useState("popupProps"),n=g.useState("floatingRootContext"),o=g.useState("disabled"),p=g.useState("closeDelay");(0,bC.useOpenChangeComplete)({open:j,ref:g.context.popupRef,onComplete(){j&&g.context.onOpenChangeComplete?.(!0)}}),(0,bE.useHoverFloatingInteraction)(n,{enabled:!o,closeDelay:p});let q=g.useStateSetter("popupElement");return(0,bc.useRenderElement)("div",a,{state:{open:j,side:h,align:i,instant:k,transitionStatus:l},ref:[b,g.context.popupRef,q],props:[aY.FOCUSABLE_POPUP_PROPS,m,(0,bD.getDisabledMountTransitionStyles)(l),f],stateAttributesMapping:bb.popupTransitionStateMapping})}),bG=f.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=aP(),{arrowRef:h,side:i,align:j,arrowUncentered:k,arrowStyles:l}=bx(),m=g.useState("open"),n=g.useState("instantType");return(0,bc.useRenderElement)("div",a,{state:{open:m,side:i,align:j,uncentered:k,instant:n},ref:[b,h],props:[{style:l,"aria-hidden":!0},f],stateAttributesMapping:bb.popupStateMapping})});var bH=a.i(62092);let bI=f.forwardRef(function(a,b){let{render:c,className:d,style:e,children:f,...g}=a,h=aP(),i=bx(),j=h.useState("instantType"),{children:k,state:l}=(0,bH.usePopupViewport)({store:h,side:i.side,children:f}),m={activationDirection:l.activationDirection,transitioning:l.transitioning,instant:j};return(0,bc.useRenderElement)("div",a,{state:m,ref:b,props:[g,{children:k}],stateAttributesMapping:bH.popupViewportStateMapping})});var bJ=a.i(4675);class bK extends bJ.BasePopupHandle{constructor(){super(function(){let a=new a2.PopupTriggerMap;return Object.assign(new a0.NullStore(Object.freeze(a5(void 0,a)),Object.freeze(a6(a)),a3),{setOpen:aL.NOOP,cancelPendingOpen:aL.NOOP})}(),"Tooltip")}open(a){this.openByTrigger(a)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}}a.s(["Arrow",0,bG,"Handle",0,bK,"Popup",0,bF,"Portal",0,bv,"Positioner",0,bB,"Provider",0,function(a){let{delay:c,closeDelay:d,timeout:e=400}=a,g=f.useMemo(()=>({open:c,close:d}),[c,d]);return(0,b.jsx)(bf.Provider,{value:c,children:(0,b.jsx)(bj,{delay:g,timeoutMs:e,children:a.children})})},"Root",0,a7,"Trigger",0,bq,"Viewport",0,bI,"createHandle",0,function(){return new bK}],3191);var bL=a.i(3191),bL=bL;function bM(a){return(0,b.jsx)(bL.Root,{"data-slot":"tooltip",...a})}function bN(a){return(0,b.jsx)(bL.Trigger,{"data-slot":"tooltip-trigger",...a})}function bO({className:a,side:c="top",sideOffset:d=6,align:e="center",...f}){return(0,b.jsx)(bL.Portal,{children:(0,b.jsx)(bL.Positioner,{align:e,side:c,sideOffset:d,className:"isolate z-50 max-sm:hidden",children:(0,b.jsx)(bL.Popup,{"data-slot":"tooltip-content",className:(0,l.classNames)("w-fit max-w-xs origin-(--transform-origin) rounded-sm bg-foreground px-2 py-1 text-caption font-medium text-background shadow-md duration-(--duration-fast) data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",a),...f})})})}let bP={fresh:{Icon:aF,tone:"text-tone-ok-fg"},while:{Icon:aJ,tone:"text-muted-foreground"},long:{Icon:aH,tone:"text-tone-waiting-fg"}};function bQ({seenAt:a,now:c,testId:d}){let e;if(null===a)return null;let f=new Date(a),g=(e=c.getTime()-f.getTime())<6e4?"fresh":e<=9e5?"while":"long",{Icon:h,tone:i}=bP[g],j=(0,r.lastSeen)(f,c);return(0,b.jsxs)(bM,{children:[(0,b.jsx)(bN,{render:(0,b.jsx)("span",{role:"img","aria-label":j,"data-testid":d,"data-signal":g,className:(0,l.classNames)("inline-flex [&_svg]:size-(--size-icon) max-sm:[&_svg]:size-4",i)}),children:(0,b.jsx)(h,{"aria-hidden":!0})}),(0,b.jsx)(bO,{children:j})]})}var bR=a.i(40108);function bS({model:a,now:c}){let d=function(a,b){var c;let d=new Date(a.statedAt),e=Math.max(0,b.getTime()-d.getTime()),f=(c=a.id).startsWith("@")||/@\d+\.\d+\.\d+$/.test(c)?"Software":"Model";if(e<6e4)return`${f}, stated ${String(Math.floor(e/1e3))} s ago`;let g=(0,r.relativeTime)(d,b);return`${f}, stated ${g.charAt(0).toLowerCase()}${g.slice(1)}`}(a,c);return(0,b.jsxs)(bM,{children:[(0,b.jsxs)(bN,{render:(0,b.jsx)("span",{"data-testid":"fleet-model-hint",className:"min-w-0 truncate font-mono text-id text-muted-foreground"}),children:[a.id,(0,b.jsxs)("span",{className:"sr-only",children:[", ",d]})]}),(0,b.jsx)(bO,{children:(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"font-mono",children:a.id}),(0,b.jsx)("span",{children:d})]})})]})}var bT=a.i(92717),bU=a.i(58523),bV=a.i(90468),bW=a.i(89027),bX=a.i(3894),bY=a.i(19721),bZ=a.i(60275);let b$=(0,bY.default)(async()=>{},{loadableGenerated:{modules:[59068]},ssr:!1});function b_({groups:a,picked:c,onPick:e,trigger:g}){let[h,i]=(0,f.useState)(!1);return(0,b.jsxs)(bZ.Popover,{open:h,onOpenChange:i,children:[(0,b.jsx)(bZ.PopoverTrigger,{render:g}),(0,b.jsxs)(bZ.PopoverContent,{align:"start",sideOffset:6,className:"w-80 p-2","data-testid":"label-filter-popover",children:[(0,b.jsx)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:"Filter by label"}),(0,b.jsx)(b$,{groups:a,pickedValueIds:c.map(a=>a.valueId),onPick:a=>{e(a),i(!1)}}),(0,b.jsxs)("p",{className:"mt-2 flex items-center justify-between gap-2 border-t border-border px-2 pt-2 text-meta text-muted-foreground",children:["Exact matches, all must hold.",(0,b.jsx)(d.default,{href:"/labels",className:"font-medium text-foreground hover:underline","data-testid":"label-filter-manage",children:"Manage labels"})]})]})]})}function b0({groups:a,picked:d,onPick:e}){return(0,b.jsx)(b_,{groups:a,picked:d,onPick:e,trigger:(0,b.jsxs)(g.Button,{variant:"secondary",size:"sm",icon:(0,b.jsx)(c.Tag,{}),"data-testid":"fleet-filter-labels",children:["Labels",0===d.length?null:(0,b.jsxs)("span",{className:"inline-flex size-5 items-center justify-center rounded-full bg-primary text-caption font-semibold text-primary-foreground tabular-nums",children:[d.length,(0,b.jsx)("span",{className:"sr-only",children:" picked"})]}),(0,b.jsx)(bW.ChevronDown,{"aria-hidden":!0,className:"text-muted-foreground"})]})})}function b1({groups:a,picked:c,onPick:d,onRemove:e,onClear:f}){return 0===c.length?null:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1.5 text-meta max-sm:hidden","data-testid":"fleet-picked-labels",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Ships with"}),c.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[0===c?null:(0,b.jsx)("span",{className:"text-muted-foreground",children:"and"}),(0,b.jsx)(aB.LabelChip,{chip:a,testId:"fleet-picked-label",onRemove:()=>{e(a.valueId)}})]},a.valueId)),(0,b.jsx)(b_,{groups:a,picked:c,onPick:d,trigger:(0,b.jsx)(g.Button,{variant:"ghost",size:"xs",icon:(0,b.jsx)(u.Plus,{}),children:"Add"})}),(0,b.jsx)("span",{"aria-hidden":!0,className:"h-4 w-px bg-border"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"xs",onClick:f,"data-testid":"fleet-labels-clear",children:"Clear labels"})]})}function b2({groups:a,picked:c,onPick:e,onRemove:h}){let[i,j]=(0,f.useState)(!1);return(0,b.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"fleet-filter-labels-touch",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2 text-meta font-medium text-muted-foreground",children:["Labels ",(0,b.jsx)("span",{className:"font-normal",children:"all must hold"})]}),0===c.length?null:(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 text-meta",children:c.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[0===c?null:(0,b.jsx)("span",{className:"text-muted-foreground",children:"and"}),(0,b.jsx)(aB.LabelChip,{chip:a,onRemove:()=>{h(a.valueId)}})]},a.valueId))}),i?(0,b.jsx)("div",{className:"rounded-lg border border-border p-2",children:(0,b.jsx)(b$,{groups:a,pickedValueIds:c.map(a=>a.valueId),size:"touch",onPick:a=>{e(a),j(!1)}})}):(0,b.jsx)(g.Button,{variant:"secondary",size:"touch",icon:(0,b.jsx)(u.Plus,{}),className:"self-start",onClick:()=>{j(!0)},children:"Add label"}),(0,b.jsxs)(d.default,{href:"/labels",className:"inline-flex items-center gap-1.5 self-start text-meta text-muted-foreground hover:underline [&_svg]:size-(--size-icon-sm)",children:[(0,b.jsx)(bX.Tags,{"aria-hidden":!0}),"All labels and their owners"]})]})}function b3(a,b){return{...a,filters:{...a.filters,labelValueIds:b}}}let b4={all:"All",crewed:"Crewed",awaitingCrew:"Awaiting crew"};function b5(a){return Object.hasOwn(b4,a)}let b6={all:"All",...ac};function b7(a){return"all"===a||ab.some(b=>b===a)}function b8(a){return{all:"All",...Object.fromEntries((0,ai.crewRequestKeysOf)(a).map(a=>[a,(0,ai.crewRequestKeyWord)(a)]))}}function b9(a,b){return Object.hasOwn(b,a)}function ca({ship:a,squadron:c,isPluginShip:d}){return"operator"===a.kind?(0,b.jsxs)(as.Badge,{variant:"kind",children:[(0,b.jsx)(aa.UserRound,{"aria-hidden":!0}),"operator"]}):"viewer"===a.kind?(0,b.jsxs)(as.Badge,{variant:"kind","data-testid":"fleet-viewer",children:[(0,b.jsx)(W.Eye,{"aria-hidden":!0}),"viewer"]}):d?(0,b.jsxs)(as.Badge,{variant:"kind","data-testid":"fleet-plugin",children:[(0,b.jsx)(Y.Plug,{"aria-hidden":!0}),"plugin"]}):c?.role===null?(0,b.jsxs)(as.Badge,{variant:"kind","data-testid":"fleet-flagship",children:[(0,b.jsx)(X.Flag,{"aria-hidden":!0}),"flagship"]}):null}function cb({ship:a,now:c}){return"crewed"!==a.status||"viewer"===a.kind?null:(0,b.jsxs)("span",{"data-testid":"fleet-runs-on",className:"flex min-w-0 items-center gap-3 max-sm:flex-wrap max-sm:gap-y-1",children:[(0,b.jsx)(bR.LocationTag,{kind:"operator"===a.kind&&null!==a.location?"DEVICE":a.location?.kind??null,description:a.location?.description,harness:"operator"===a.kind?"console":a.harness,size:"sm",className:"shrink-0"}),"agent"===a.kind&&null!==a.model?(0,b.jsx)(bS,{model:a.model,now:c}):null]})}function cc({ship:a,squadron:c,labels:d}){let e=c?.role===null?void 0:c,f=void 0===d?[]:(0,ah.chipsOf)(a,d).filter(a=>void 0===e||("squadron"!==a.key||a.value!==e.squadronId)&&("squadron-role"!==a.key||a.value!==e.role));return void 0===e&&0===f.length?null:(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2 overflow-hidden",children:[void 0===e?null:(0,b.jsx)("span",{className:"min-w-0 shrink",title:null===e.role?e.squadronId:`${e.squadronId} \xb7 ${e.role}`,children:(0,b.jsx)(bU.SquadronTag,{squadronId:e.squadronId,size:"sm"})}),(0,b.jsx)(aC,{chips:f,width:22*(void 0===e),testId:"fleet-labels",href:`/ships/${a.id}`})]})}function cd({ship:a,now:c,next:d}){let e="agent"===a.kind&&"crewed"===a.status;return(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2 max-sm:flex-col max-sm:items-stretch [&:has(button)>[data-testid=fleet-report]]:hidden",children:[e?(0,b.jsx)(bT.ReportLine,{report:a.report,now:c,variant:"row",isTimeInTitle:!0,testId:"fleet-report"}):null,d]})}function ce({ships:a,view:c,onViewChange:d,size:e,squadronsOf:f,labels:h}){let i=b8((0,w.useConsoleConstants)().crewStatuses),{filters:j}=c,k={all:"All",...Object.fromEntries(am(a,j.isRetiredShown).map(a=>[a,a]))},m=an(a),n="sm"===e?"fleet-show-retired":"fleet-show-retired-touch",o=a=>{d({...c,filters:{...j,...a}})},p="touch"===e;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(av.Select,{items:b4,value:j.status,onValueChange:a=>{null!==a&&b5(a)&&o({status:a})},children:[(0,b.jsx)(av.SelectTrigger,{size:e,"aria-label":"Status","data-testid":p?void 0:"fleet-filter-status",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Status"}),(0,b.jsx)(av.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(av.SelectContent,{children:Object.entries(b4).map(([a,c])=>(0,b.jsx)(av.SelectItem,{value:a,children:c},a))})]}),(0,b.jsxs)(av.Select,{items:i,value:j.crewRequest,onValueChange:a=>{null!==a&&b9(a,i)&&o({crewRequest:a})},children:[(0,b.jsx)(av.SelectTrigger,{size:e,"aria-label":"Crew request","data-testid":p?void 0:"fleet-filter-crew-request",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Crew request"}),(0,b.jsx)(av.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(av.SelectContent,{children:Object.entries(i).map(([a,c])=>(0,b.jsx)(av.SelectItem,{value:a,children:c},a))})]}),(0,b.jsxs)(av.Select,{items:b6,value:j.kind,onValueChange:a=>{null!==a&&b7(a)&&o({kind:a})},children:[(0,b.jsx)(av.SelectTrigger,{size:e,"aria-label":"Kind","data-testid":p?void 0:"fleet-filter-kind",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Kind"}),(0,b.jsx)(av.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(av.SelectContent,{children:Object.entries(b6).map(([a,c])=>(0,b.jsx)(av.SelectItem,{value:a,children:c},a))})]}),(0,b.jsxs)(av.Select,{items:k,value:j.type,onValueChange:a=>{null!==a&&o({type:a})},children:[(0,b.jsx)(av.SelectTrigger,{size:e,"aria-label":"Type","data-testid":p?void 0:"fleet-filter-type",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Type"}),(0,b.jsx)(av.SelectValue,{className:"font-medium"})]})}),(0,b.jsx)(av.SelectContent,{children:Object.entries(k).map(([a,c])=>(0,b.jsx)(av.SelectItem,{value:a,className:"all"===a?void 0:"font-mono",children:c},a))})]}),f&&(0,b.jsxs)(av.Select,{items:{all:"All",...Object.fromEntries(ao(f).map(a=>[a,a]))},value:j.squadron,onValueChange:a=>{null!==a&&o({squadron:a})},children:[(0,b.jsx)(av.SelectTrigger,{size:e,"aria-label":"Squadron","data-testid":p?void 0:"fleet-filter-squadron",children:(0,b.jsxs)("span",{className:"flex gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Squadron"}),(0,b.jsx)(av.SelectValue,{className:"font-medium"})]})}),(0,b.jsxs)(av.SelectContent,{children:[(0,b.jsx)(av.SelectItem,{value:"all",children:"All"}),ao(f).map(a=>(0,b.jsx)(av.SelectItem,{value:a,children:a},a))]})]}),void 0===h||p?null:(0,b.jsx)(b0,{groups:(0,ah.filterGroupsOf)(h),picked:(0,ah.pickedChips)(j.labelValueIds,h),onPick:a=>{d(b3(c,[...j.labelValueIds,a]))}}),ar(j).length>0&&!p?(0,b.jsx)(g.Button,{variant:"ghost",size:"xs","data-testid":"fleet-filters-clear",onClick:()=>{d({...c,filters:aj.filters})},children:"Clear filters"}):null,(0,b.jsxs)("div",{className:(0,l.classNames)("inline-flex items-center gap-2",p?"py-2":"sm:ml-auto"),children:[(0,b.jsx)(ax.Switch,{id:n,"data-testid":p?void 0:"fleet-show-retired",checked:j.isRetiredShown,onCheckedChange:a=>{o({isRetiredShown:a})}}),(0,b.jsxs)(au.Label,{htmlFor:n,className:(0,l.classNames)("font-normal text-muted-foreground",p?"text-body-touch":"text-meta"),children:["Show retired (",m,")"]})]})]})}function cf({label:a,isOn:c,kind:d,onPick:e}){return(0,b.jsx)(g.Button,{variant:c?"primary":"secondary",size:"touch",role:"radio"===d?"radio":void 0,"aria-checked":"radio"===d?c:void 0,"aria-pressed":"toggle"===d?c:void 0,onClick:e,children:a})}function cg({ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f,labels:h}){let i=b8((0,w.useConsoleConstants)().crewStatuses),{filters:j}=c,k=a=>{d({...c,filters:{...j,...a}})},l=aq(j),m=an(a);return(0,b.jsxs)(aw.Sheet,{children:[(0,b.jsx)(aw.SheetTrigger,{render:(0,b.jsx)(g.Button,{size:"touch",isIconOnly:!0,"aria-label":l>0?`Filter ships, ${String(l)} active`:"Filter ships","data-testid":"fleet-filters-open",icon:(0,b.jsx)(_,{}),className:"relative sm:hidden",children:l>0?(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute top-1.5 right-1.5 size-2 rounded-full bg-primary"}):null})}),(0,b.jsxs)(aw.SheetContent,{side:"bottom",children:[(0,b.jsxs)(aw.SheetHeader,{className:"flex-row items-center justify-between",children:[(0,b.jsx)(aw.SheetTitle,{children:"Filter ships"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"touch","data-testid":"fleet-filters-reset",onClick:()=>{d({...c,filters:aj.filters})},children:"Reset"})]}),(0,b.jsxs)(aw.SheetBody,{className:"flex flex-col gap-4 pb-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{id:"fleet-filter-status-label",className:"text-meta font-medium text-muted-foreground",children:"Status"}),(0,b.jsx)("div",{role:"radiogroup","aria-labelledby":"fleet-filter-status-label",className:"flex gap-1.5 [&>*]:flex-1",children:Object.entries(b4).map(([a,c])=>(0,b.jsx)(cf,{label:c,kind:"radio",isOn:j.status===a,onPick:()=>{b5(a)&&k({status:a})}},a))})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{id:"fleet-filter-crew-request-label",className:"text-meta font-medium text-muted-foreground",children:"Crew request"}),(0,b.jsx)("div",{role:"radiogroup","aria-labelledby":"fleet-filter-crew-request-label",className:"flex flex-wrap gap-1.5",children:Object.entries(i).map(([a,c])=>(0,b.jsx)(cf,{label:c,kind:"radio",isOn:j.crewRequest===a,onPick:()=>{b9(a,i)&&k({crewRequest:a})}},a))})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{id:"fleet-filter-kind-label",className:"text-meta font-medium text-muted-foreground",children:"Kind"}),(0,b.jsx)("div",{role:"radiogroup","aria-labelledby":"fleet-filter-kind-label","data-testid":"fleet-filter-kind-touch",className:"flex flex-wrap gap-1.5",children:Object.entries(b6).map(([a,c])=>(0,b.jsx)(cf,{label:c,kind:"radio",isOn:j.kind===a,onPick:()=>{b7(a)&&k({kind:a})}},a))})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-meta font-medium text-muted-foreground",children:"Type"}),(0,b.jsx)("div",{role:"group","aria-label":"Type",className:"flex flex-wrap gap-1.5",children:["all",...am(a,j.isRetiredShown)].map(a=>(0,b.jsx)(cf,{label:"all"===a?"All types":a,kind:"toggle",isOn:j.type===a,onPick:()=>{k({type:a})}},a))})]}),f&&(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{id:"fleet-filter-squadron-label",className:"text-meta font-medium text-muted-foreground",children:"Squadron"}),(0,b.jsx)("div",{role:"radiogroup","aria-labelledby":"fleet-filter-squadron-label",className:"flex flex-wrap gap-1.5",children:["all",...ao(f)].map(a=>(0,b.jsx)(cf,{label:"all"===a?"All":a,kind:"radio",isOn:j.squadron===a,onPick:()=>{k({squadron:a})}},a))})]}),void 0===h?null:(0,b.jsx)(b2,{groups:(0,ah.filterGroupsOf)(h),picked:(0,ah.pickedChips)(j.labelValueIds,h),onPick:a=>{d(b3(c,[...j.labelValueIds,a]))},onRemove:a=>{d(b3(c,j.labelValueIds.filter(b=>b!==a)))}}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 py-1",children:[(0,b.jsxs)(au.Label,{htmlFor:"fleet-show-retired-touch",className:"text-body-touch font-normal",children:["Show retired ships ",(0,b.jsxs)("span",{className:"text-muted-foreground",children:["(",m,")"]})]}),(0,b.jsx)(ax.Switch,{id:"fleet-show-retired-touch",checked:j.isRetiredShown,onCheckedChange:a=>{k({isRetiredShown:a})}})]}),(0,b.jsx)(aw.SheetClose,{render:(0,b.jsx)(g.Button,{size:"touch","data-testid":"fleet-filters-apply"}),children:1===e?"Show 1 ship":`Show ${String(e)} ships`})]})]})]})}function ch({view:a,onViewChange:c,labels:d}){let e=ar(a.filters),f=void 0===d?[]:(0,ah.pickedChips)(a.filters.labelValueIds,d);return 0===e.length&&0===f.length?null:(0,b.jsxs)("div",{className:"flex w-full flex-wrap items-center gap-1.5 sm:hidden","data-testid":"fleet-filter-chips",children:[e.map(a=>(0,b.jsx)(as.Badge,{variant:"outline",className:"max-w-full truncate",children:a},a)),f.map(d=>(0,b.jsx)(aB.LabelChip,{chip:d,onRemove:()=>{c(b3(a,a.filters.labelValueIds.filter(a=>a!==d.valueId)))}},d.valueId)),(0,b.jsx)(g.Button,{variant:"ghost",size:"touch",onClick:()=>{c({...a,filters:aj.filters})},children:"Clear filters"})]})}function ci({ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f,labels:g}){return(0,b.jsxs)("div",{"data-slot":"fleet-toolbar",className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("div",{className:"w-60 max-sm:min-w-0 max-sm:flex-1",children:(0,b.jsx)(at.Input,{type:"search","aria-label":"Search ships by name or type",placeholder:"Search ships by name","data-testid":"fleet-search",value:c.query,onChange:a=>{d({...c,query:a.target.value})},leadingIcon:(0,b.jsx)(Z.Search,{}),className:"h-(--size-control-sm) text-meta max-sm:h-(--size-control-touch) max-sm:text-input-touch"})}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 max-sm:hidden sm:flex-1",children:(0,b.jsx)(ce,{ships:a,view:c,onViewChange:d,squadronsOf:f,labels:g,size:"sm"})}),(0,b.jsx)(cg,{ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f,labels:g}),(0,b.jsx)(ch,{view:c,onViewChange:d,labels:g}),(0,b.jsxs)("p",{"aria-live":"polite",className:"text-meta text-muted-foreground tabular-nums max-sm:w-full",children:[e," of ",a.length," ships"]})]})}function cj({ship:a}){return(0,b.jsx)(bV.ShipName,{name:a.name,shipId:a.id,isSuffixShown:"retired"===a.status,href:"operator"===a.kind?"/inbox":`/ships/${a.id}`,className:"[&_a]:max-sm:whitespace-normal [&_a]:max-sm:break-all [&_a]:max-sm:text-body-touch"})}let ck=[{column:"ship",head:"Ship"},{column:"status",head:"Status"},{column:"report",head:"Report"},{column:"squadronAndLabels",head:"Squadron and labels"},{column:"runsOn",head:"Runs on"},{column:"seen",head:"Seen"}];function cl({ships:a,highlightedShipIds:c,now:d,renderRowActions:e,squadronsOf:f,labels:g,pluginShipIds:h,sort:i,onSort:j}){return(0,b.jsx)("div",{className:"max-sm:hidden",children:(0,b.jsxs)(ay.Table,{"aria-label":"Ships",className:"min-w-320 table-fixed",children:[(0,b.jsxs)("colgroup",{children:[(0,b.jsx)("col",{className:"w-56"}),(0,b.jsx)("col",{className:"w-40"}),(0,b.jsx)("col",{className:"w-64"}),(0,b.jsx)("col",{className:"w-56"}),(0,b.jsx)("col",{className:"w-80"}),(0,b.jsx)("col",{className:"w-12"}),(0,b.jsx)("col",{className:"w-12"})]}),(0,b.jsx)(ay.TableHeader,{children:(0,b.jsxs)(ay.TableRow,{children:[ck.map(({column:a,head:c})=>void 0===j?(0,b.jsx)(ay.TableHead,{children:c},a):(0,b.jsx)(ay.TableSortHead,{"data-testid":`fleet-sort-${a}`,direction:i?.column===a?i.direction:null,onSort:()=>{j(a)},children:c},a)),(0,b.jsx)(ay.TableHead,{children:(0,b.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,b.jsx)(ay.TableBody,{children:a.map(a=>(0,b.jsxs)(ay.TableRow,{"data-testid":`fleet-row-${a.name}`,"data-new":c?.has(a.id)?"":void 0,className:"h-12",children:[(0,b.jsx)(ay.TableCell,{children:(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2 whitespace-nowrap",children:[(0,b.jsx)(cj,{ship:a}),(0,b.jsx)(ca,{ship:a,squadron:f?.get(a.id),isPluginShip:h?.has(a.id)??!1})]})}),(0,b.jsx)(ay.TableCell,{children:(0,b.jsx)(O.StatusBadge,{status:a.status})}),(0,b.jsx)(ay.TableCell,{children:(0,b.jsx)(cd,{ship:a,now:d,next:e?.(a,"next")})}),(0,b.jsx)(ay.TableCell,{children:(0,b.jsx)(cc,{ship:a,squadron:f?.get(a.id),labels:g})}),(0,b.jsx)(ay.TableCell,{children:(0,b.jsx)(cb,{ship:a,now:d})}),(0,b.jsx)(ay.TableCell,{children:(0,b.jsx)(bQ,{seenAt:a.lastSeenAt,now:d,testId:"fleet-last-seen"})}),(0,b.jsx)(ay.TableCell,{className:"w-10 text-right",children:e?.(a,"table")})]},a.id))})]})})}function cm({ships:a,highlightedShipIds:c,now:d,renderRowActions:e,squadronsOf:f,pluginShipIds:g}){return(0,b.jsx)("ul",{"aria-label":"Ships",className:"overflow-hidden rounded-lg border border-border bg-card sm:hidden",children:a.map(a=>(0,b.jsxs)("li",{"data-testid":`fleet-card-${a.name}`,"data-new":c?.has(a.id)?"":void 0,className:"flex items-start gap-2 border-b border-border px-3.5 py-3 last:border-0 data-new:animate-highlight",children:[(0,b.jsxs)("div",{className:"flex min-w-0 grow flex-col gap-1.5",children:[(0,b.jsx)("div",{className:"text-body-touch",children:(0,b.jsx)(cj,{ship:a})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(O.StatusBadge,{status:a.status}),(0,b.jsx)(ca,{ship:a,squadron:f?.get(a.id),isPluginShip:g?.has(a.id)??!1})]}),(0,b.jsx)(cc,{ship:a,squadron:f?.get(a.id)}),(0,b.jsx)(cd,{ship:a,now:d,next:e?.(a,"next")}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1",children:[(0,b.jsx)(cb,{ship:a,now:d}),(0,b.jsx)(bQ,{seenAt:a.lastSeenAt,now:d})]})]}),e?.(a,"phone")]},a.id))})}function cn({ships:a,view:c,onViewChange:d,state:e,error:f,highlightedShipIds:h,now:i,renderRowActions:j,emptyAction:k,squadronsOf:l,labels:m,pluginShipIds:n}){var o,p,q;let r,s,t;if("loading"===e)return(0,b.jsxs)("div",{"data-slot":"fleet-table","data-state":"loading",className:"flex flex-col gap-3",children:[(0,b.jsx)(aD.LoadingSkeleton,{variant:"table",rows:6,label:"Loading the fleet",className:"max-sm:hidden"}),(0,b.jsx)(aD.LoadingSkeleton,{variant:"list",rows:5,label:"Loading the fleet",className:"sm:hidden"})]});if("error"===e)return(0,b.jsx)(aA.InlineError,{variant:"page",title:"Couldn’t load the fleet",description:"This page couldn’t reach the fleet server. Check that the server is running and reachable from this browser, then try again.",detail:f?.detail,retryNote:f?.retryNote,onRetry:f?.onRetry});let u={highlightedShipIds:h,now:i,renderRowActions:j,squadronsOf:l,pluginShipIds:n};if(a.every(a=>"operator"===a.kind||"retired"===a.status)){let c=a.filter(a=>"operator"===a.kind);return(0,b.jsxs)("div",{"data-slot":"fleet-table","data-state":"empty",className:"flex flex-col gap-3",children:[(0,b.jsx)(cl,{ships:c,labels:m,...u}),(0,b.jsx)(cm,{ships:c,...u}),(0,b.jsx)(az.EmptyState,{icon:(0,b.jsx)(N.Ship,{}),title:"No ships besides argo yet",description:"argo is your own ship: messages to the operator land in its inbox. Commission a ship to add an agent to the fleet.",action:k})]})}let v=(s=null===(o={...c,squadronsOf:l,pluginShipIds:n}).sort?al:(p=o.sort,q=o.squadronsOf,r=("ascending"===p.direction?1:-1)*("seen"===p.column?-1:1),(a,b)=>{let c=af(a,{column:p.column,squadronsOf:q}),d=af(b,{column:p.column,squadronsOf:q});return void 0===c||void 0===d?Number(void 0===c)-Number(void 0===d):r*c.localeCompare(d,void 0,{sensitivity:"base"})}),a.filter(a=>{let b;return(""===(b=o.query.trim().toLowerCase())||a.name.toLowerCase().includes(b)||a.type.toLowerCase().includes(b))&&function(a,b){let{filters:c,squadronsOf:d,pluginShipIds:e=ak}=b;return("retired"!==a.status||!!c.isRetiredShown)&&("all"===c.squadron||d?.get(a.id)?.squadronId===c.squadron)&&("all"===c.status||a.status===c.status)&&("all"===c.crewRequest||(0,ai.crewRequestKey)((0,ag.crewRequestStage)(a))===c.crewRequest)&&("all"===c.kind||("operator"===a.kind||"viewer"===a.kind?"console":e.has(a.id)?"plugin":"trierarch"===a.type?"trierarch":(null===a.harness?void 0:ad[a.harness])??"other")===c.kind)&&!!(0,ah.carriesEvery)(a,c.labelValueIds)&&("all"===c.type||a.type===c.type)}(a,o)}).toSorted((a,b)=>s(a,b)||a.name.localeCompare(b.name)||a.id.localeCompare(b.id))),w=c.query.trim();return(0,b.jsxs)("div",{"data-slot":"fleet-table","data-state":"ready",className:"flex flex-col gap-3",children:[(0,b.jsx)(ci,{ships:a,view:c,onViewChange:d,shownCount:v.length,squadronsOf:l,labels:m}),void 0===m?null:(0,b.jsx)(b1,{groups:(0,ah.filterGroupsOf)(m),picked:(0,ah.pickedChips)(c.filters.labelValueIds,m),onPick:a=>{d(b3(c,[...c.filters.labelValueIds,a]))},onRemove:a=>{d(b3(c,c.filters.labelValueIds.filter(b=>b!==a)))},onClear:()=>{d(b3(c,[]))}}),0===v.length?(0,b.jsx)(az.EmptyState,{variant:"no-results",title:""===w?"No ships match these filters.":`No ships match “${w}”.`,action:(0,b.jsx)(g.Button,{size:"xs","data-testid":"fleet-clear-filters",onClick:()=>{d({...aj,sort:c.sort})},children:(t=aq(c.filters)>0,""===w?"Clear filters":t?"Clear search and filters":"Clear search")})}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(cl,{ships:v,labels:m,sort:c.sort,onSort:a=>{var b;d({...c,sort:(b=c.sort,b?.column!==a?{column:a,direction:"ascending"}:"ascending"===b.direction?{column:a,direction:"descending"}:null)})},...u}),(0,b.jsx)(cm,{ships:v,...u})]})]})}function co({view:a,onViewChange:c,newShipIds:d,renderRowActions:e}){let f=(0,o.useFleetSnapshot)(),g=(0,q.useNow)(),h=(0,E.useSquadrons)(),i=(0,o.useLabelContext)(),j=(0,U.usePluginShipIds)();return(0,b.jsx)("section",{"aria-label":"Fleet",className:"flex flex-col gap-3",children:(0,b.jsx)(cn,{ships:f.data??[],view:a,onViewChange:c,state:f.isPending?"loading":f.isError?"error":"ready",error:{detail:f.error?.message,onRetry:()=>{f.refetch()}},highlightedShipIds:d,now:g,renderRowActions:e,squadronsOf:h.data?(0,V.shipsInSquadrons)(h.data):void 0,labels:i,pluginShipIds:j})})}var cp=a.i(53805),cq=a.i(71027),cr=a.i(21521),cs=a.i(91003),ct=a.i(38023),cu=a.i(73224),cv=a.i(65563),cw=a.i(67336),cx=a.i(10572),cy=a.i(34159);a.s(["OverviewPage",0,function({view:a,isCommissionAsked:i}){let j=(0,e.useRouter)(),k=(0,o.useFleetSnapshot)(),l=(0,cw.useLiveFleet)(),m=(0,ct.useConsoleFrame)(),n=(0,C.messageLimitReached)((0,A.useFleetLimits)().data),p=(0,B.useHostedAccountUrl)(),q=(0,cv.useAccess)(),r=(0,cy.usePluginNav)(),[u,v]=(0,f.useState)(!1);(0,cx.useSignInWhenSessionEnds)([k.error,l.error]);let w=a=>{let b=(function(a){let b=new URLSearchParams;for(let c of(""!==a.query&&b.set("q",a.query),"all"!==a.filters.status&&b.set("status",a.filters.status),"all"!==a.filters.crewRequest&&b.set("crew",a.filters.crewRequest),"all"!==a.filters.kind&&b.set("kind",a.filters.kind),"all"!==a.filters.type&&b.set("type",a.filters.type),"all"!==a.filters.squadron&&b.set("squadron",a.filters.squadron),a.filters.isRetiredShown&&b.set("retired","1"),a.filters.labelValueIds))b.append("label",c);return null!==a.sort&&(b.set("sort",a.sort.column),"descending"===a.sort.direction&&b.set("order","desc")),b})(a).toString();j.replace(""===b?"/":`/?${b}`,{scroll:!1})};return(0,b.jsxs)(cs.ListPage,{...m,title:"Fleet overview",description:k.data?function(a){let b=s(a.ships).length,c=a.ships.filter(a=>"agent"===a.kind&&"retired"===a.status).length;if(0===b&&0===c)return a.canCommission?"Only argo so far. Ships you commission appear here.":"Only argo so far.";let d=0===c?"":`, ${String(c)} retired`;return`${1===b?"1 active ship":`${String(b)} active ships`} and argo${d}. Changes appear as they happen.`}({ships:k.data,canCommission:q.canManage}):"Loading your fleet",primaryAction:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 max-sm:flex-col max-sm:items-stretch",children:[(0,b.jsx)(g.Button,{render:(0,b.jsx)(d.default,{href:"/labels"}),nativeButton:!1,icon:(0,b.jsx)(c.Tag,{}),"data-testid":"overview-labels",children:q.canDefineLabels?"Manage labels":"View labels"}),q.canManage?(0,b.jsx)(I,{isOpen:u||i,onOpenChange:b=>{v(b),!b&&i&&w(a)}}):null]}),live:l.live,children:[(0,b.jsx)(cu.FleetSegments,{active:"ships",needsCrewCount:r.needsCrewCount}),void 0===n?null:(0,b.jsx)(cr.LimitNotice,{...(0,C.messageLimitNotice)(n),accountUrl:p,testId:"overview-message-limit"}),(0,b.jsx)(T,{}),(0,b.jsx)(t,{}),(0,b.jsx)(co,{view:a,onViewChange:w,newShipIds:l.newShipIds,renderRowActions:(a,c)=>(0,b.jsx)(cp.ShipActions,{ship:a,layout:"table"===c?"menu":"phone"===c?"sheet":"next",compose:h.ComposeMessage,crewLineFlow:cq.NewCrewLineFlow})})]})}],59446)}];
1
+ module.exports=[59446,a=>{"use strict";var b=a.i(87924),c=a.i(31247),d=a.i(38246),e=a.i(50944),f=a.i(72131),g=a.i(12068),h=a.i(86002),i=a.i(56987),j=a.i(26268),k=a.i(88931),l=a.i(80487);let m={ok:"border-tone-ok-border bg-tone-ok-bg text-tone-ok-fg",waiting:"border-tone-waiting-border bg-tone-waiting-bg text-tone-waiting-fg",attention:"border-tone-attention-border bg-tone-attention-bg text-tone-attention-fg"};function n({label:a,shortLabel:c,value:e,detail:f,href:g,icon:h,tone:i,testId:j}){return(0,b.jsxs)(d.default,{href:g,"data-testid":j,className:"flex min-w-0 flex-col gap-2 rounded-lg border border-border bg-card px-4.5 py-4 shadow-sm transition-colors duration-(--duration-fast) hover:bg-accent max-sm:gap-1.5 max-sm:rounded-xl max-sm:px-3.5 max-sm:py-3",children:[(0,b.jsxs)("span",{className:"flex items-center justify-between gap-2 text-meta font-medium text-muted-foreground",children:[(0,b.jsx)("span",{className:"max-sm:hidden",children:a}),(0,b.jsx)("span",{className:"sm:hidden",children:c??a}),(0,b.jsx)("span",{className:(0,l.classNames)("flex size-6.5 shrink-0 items-center justify-center rounded-md border max-sm:size-5.5",m[i]),children:(0,b.jsx)(h,{"aria-hidden":!0,className:"size-3.5"})})]}),(0,b.jsx)("span",{className:"text-[28px] leading-none font-semibold tracking-tight tabular-nums text-foreground max-sm:text-2xl",children:e}),(0,b.jsx)("span",{className:"truncate text-meta text-muted-foreground",children:f})]})}var o=a.i(90146),p=a.i(10023),q=a.i(68450),r=a.i(72872);function s(a){return a.filter(a=>"agent"===a.kind&&"retired"!==a.status)}function t(){var a;let c,d,e,f,g=(0,o.useFleetSnapshot)(),h=(0,p.useNeedsAttention)(),l=(0,p.useAttentionCount)(),m=(0,q.useNow)();if(!g.data)return null;let t=(e=(d=(c=s((a={ships:g.data,undeliverable:h.data??[],now:m}).ships)).filter(a=>"awaitingCrew"===a.status)).flatMap(a=>null===a.awaitingCrewSince?[]:[{name:a.name,since:new Date(a.awaitingCrewSince)}]).sort((a,b)=>a.since.getTime()-b.since.getTime())[0],f=a.undeliverable.map(a=>new Date(a.since)).sort((a,b)=>a.getTime()-b.getTime())[0],{activeCount:c.length,crewedCount:c.filter(a=>"crewed"===a.status).length,awaitingCount:d.length,longestWait:e&&{name:e.name,wait:(0,r.duration)(e.since,a.now)},oldestUndeliverable:f&&(0,r.duration)(f,a.now)});return 0===t.activeCount?null:(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-4 max-sm:grid-cols-2 max-sm:gap-2.5","data-testid":"overview-metrics",children:[(0,b.jsx)(n,{label:"Ships crewed",shortLabel:"Crewed",value:t.crewedCount,detail:`of ${String(t.activeCount)} active ships`,href:"/?status=crewed",icon:k.UserCheck,tone:"ok",testId:"overview-crewed"}),(0,b.jsx)(n,{label:"Awaiting crew",value:t.awaitingCount,detail:t.longestWait?`Longest wait: ${t.longestWait.name}, ${t.longestWait.wait}`:"Every active ship is crewed",href:"/?status=awaitingCrew",icon:i.CircleDashed,tone:"waiting",testId:"overview-awaiting"}),(0,b.jsx)(n,{label:"Needs attention",value:l??0,detail:t.oldestUndeliverable?`Undeliverable deliveries, oldest ${t.oldestUndeliverable}`:"Nothing needs you",href:"/needs-attention",icon:j.TriangleAlert,tone:"attention",testId:"overview-attention"})]})}var u=a.i(3512),v=a.i(34301),w=a.i(1851),x=a.i(2955),y=a.i(82611),z=a.i(88191),A=a.i(64906),B=a.i(47468),C=a.i(82252),D=a.i(54763),E=a.i(12540),F=a.i(93454);let G=(0,v.lazyDialog)(()=>a.A(6827).then(a=>a.CommissionDialog),a=>a.isOpen),H=(0,v.lazyDialog)(()=>a.A(68359).then(a=>a.StartingPromptDialog),a=>a.isOpen);function I({isOpen:a,onOpenChange:c}){let d=(0,o.useFleetSnapshot)(),e=(0,A.useFleetLimits)(),h=(0,B.useHostedAccountUrl)(),i=(0,o.useCommissionShip)(),j=(0,o.useRequestCrew)(),k="connected"===(0,F.useTrierarchPluginConnection)(),l=(0,F.useMachines)(),m=(0,D.useSquadronsConnection)(),n=(0,E.useSquadrons)(),[p,q]=(0,f.useState)(!1),[r,s]=(0,f.useState)(null),t=(0,x.offersOf)(l.data??[]),v=(0,o.useLabelContext)(),{shipLabelsMax:J}=(0,w.useConsoleConstants)(),K=void 0===v||void 0===l.data?void 0:(0,y.machineLabelsInputOf)(v,{machines:l.data,shipLabelsMax:J}),L=(0,F.useCrewSettingsCheck)(a&&k?null===r?(0,x.settingsOf)((0,x.defaultValues)(t)):r:void 0),M=(d.data??[]).filter(a=>"retired"!==a.status),N=(a,b)=>{i.mutate(a,{onSuccess:({shipId:d})=>{c(!1);let e=k&&void 0!==b;e||q(!0),void 0!==b&&j.mutate({shipId:d,settings:b.settings},{onSuccess:()=>{e&&(0,z.showToast)({title:`${a.name} commissioned, crew requested`,description:"The trierarch plugin assigns a trierarch that fits.",tone:"success"})},onError:b=>{(0,z.showToast)({title:`Couldn’t request a crew for ${a.name}`,description:`${b.message} The ship is commissioned; request a crew on its page.`,tone:"error"})}})}})};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Button,{variant:"primary",icon:(0,b.jsx)(u.Plus,{}),"data-testid":"fleet-commission",onClick:()=>{i.reset(),s(null),c(!0)},children:"Commission ship"}),(0,b.jsx)(G,{activeShips:M,isOpen:a,onOpenChange:c,isPending:i.isPending,error:i.error?.message,shipLimit:(0,C.shipLimitReached)(e.data),accountUrl:h,...k?{crewRequest:{offers:t,squadrons:"connected"===m?(n.data??[]).filter(a=>"disbanded"!==a.state).map(a=>a.id):void 0,...void 0===K?{}:{machineLabels:K},check:L.data,onSettingsChange:s}}:{},onSubmit:(a,b)=>{let c={...a,idempotencyKey:crypto.randomUUID()};k&&void 0!==b?L.checkNow().catch(()=>void 0).then(a=>{a?.kind!=="refused"&&N(c,b)}).catch(()=>void 0):N(c,b)}}),(0,b.jsx)(H,{shipName:i.variables?.name??"",state:"shown",prompt:i.data?.prompt??void 0,crewLines:i.data?.crewLines??void 0,isOpen:p&&void 0!==i.data,onOpenChange:a=>{a||(q(!1),i.reset())},onConfirm:()=>void 0})]})}var J=a.i(64831);let K={name:"infinity",size:24,node:[["path",{d:"M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8",key:"18ogeb"}]]};K.node;let L=(0,J.default)(K);var M=a.i(74746),N=a.i(98238),O=a.i(23063);let P={ships:{label:"Ships",unit:"ships",Icon:N.Ship},messages:{label:"Messages today",unit:"messages",Icon:M.Send}},Q={below:"bg-primary",at:"bg-tone-waiting-fg",over:"bg-tone-attention-fg"},R={at:"at-limit",over:"over-limit"};function S({kind:a,count:c,limit:d,resetsAt:e}){let{label:f,unit:g,Icon:h}=P[a],i=(0,C.meterState)({count:c,limit:d}),j=R[i],k=(0,C.meterCaption)({count:c,limit:d}),m=null===d?0:0===d?1:Math.min(c/d,1);return(0,b.jsxs)("div",{"data-testid":`limit-meter-${a}`,"data-state":i,className:"flex flex-col gap-2 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-meta font-medium text-muted-foreground",children:[(0,b.jsx)(h,{"aria-hidden":!0,className:"size-(--size-icon-sm)"}),f]}),void 0===j?null:(0,b.jsx)(O.StatusBadge,{status:j})]}),(0,b.jsxs)("p",{className:"flex items-baseline gap-1.5",children:[(0,b.jsx)("span",{className:"text-metric font-semibold tabular-nums",children:(0,C.meterCount)(c)}),(0,b.jsx)("span",{className:"text-body text-muted-foreground",children:null===d?g:`of ${(0,C.meterCount)(d)} ${g}`})]}),null===d?(0,b.jsxs)("p",{className:"inline-flex items-center gap-1.5 text-meta text-muted-foreground",children:[(0,b.jsx)(L,{"aria-hidden":!0,className:"size-(--size-icon-sm)"}),"No limit"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{role:"meter","aria-label":`${f}: ${String(c)} of ${String(d)}`,"aria-valuenow":c,"aria-valuemin":0,"aria-valuemax":d,className:"block h-1.5 overflow-hidden rounded-full bg-secondary",children:(0,b.jsx)("span",{className:(0,l.classNames)("block h-full rounded-full","none"===i?void 0:Q[i]),style:{width:`${String(100*m)}%`}})}),(0,b.jsxs)("p",{"data-testid":`limit-meter-${a}-caption`,className:"text-caption text-muted-foreground",children:[k,void 0===e?null:` \xb7 resets at ${(0,C.resetTime)(e)}`]})]})]})}function T(){let a=(0,A.useFleetLimits)().data,c=(0,B.useHostedAccountUrl)();return(0,C.hasLimits)(a)?(0,b.jsxs)("section",{"aria-labelledby":"overview-limits-title","data-testid":"overview-limits",className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("h2",{id:"overview-limits-title",className:"text-body font-semibold",children:"Limits"}),void 0===c?null:(0,b.jsx)("a",{href:c,"data-testid":"overview-limits-view",className:"text-meta font-medium text-primary underline underline-offset-2",children:"View limits"})]}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsx)(S,{kind:"ships",count:a.ships.count,limit:a.ships.limit}),(0,b.jsx)(S,{kind:"messages",count:a.dailyMessages.count,limit:a.dailyMessages.limit,resetsAt:a.dailyMessages.resetsAt})]})]}):null}var U=a.i(45065),V=a.i(8219),W=a.i(55681),X=a.i(25039),Y=a.i(71094),Z=a.i(33540);let $={name:"sliders-horizontal",size:24,node:[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]};$.node;let _=(0,J.default)($);var aa=a.i(87005);let ab=["console","claudeCode","codex","trierarch","plugin","other"],ac={console:"Console",claudeCode:"Claude Code",codex:"Codex",trierarch:"Trierarch",plugin:"Plugin",other:"Other"},ad={"claude-code":"claudeCode",codex:"codex"};function ae(a){return ab.some(b=>b===a)}let af={awaitingCrew:"Awaiting crew",crewed:"Crewed",retired:"Retired"};function ag(a,{column:b,squadronsOf:c}){switch(b){case"ship":return a.name;case"status":return af[a.status];case"report":return"agent"===a.kind&&"crewed"===a.status?a.report?.note??void 0:void 0;case"squadronAndLabels":{let b=c?.get(a.id);if(void 0!==b&&null!==b.role)return b.squadronId;let[d]=a.labels;return void 0===d?void 0:`${d.key}=${d.value}`}case"runsOn":if("crewed"!==a.status||"viewer"===a.kind)return;return"operator"===a.kind?"console":a.harness??void 0;case"seen":return a.lastSeenAt??void 0}}var ah=a.i(6071),ai=a.i(65230),aj=a.i(60271);let ak={query:"",filters:{status:[],crewRequest:[],kind:[],type:[],squadron:[],isRetiredShown:!1,labelValueIds:[]},sort:null},al=new Set;function am(a,b){return 0===a.length||void 0!==b&&a.includes(b)}function an(a,b){return a.kind!==b.kind?"operator"===a.kind?-1:+("operator"===b.kind):0}function ao(a,b){return[...new Set(a.filter(a=>b||"retired"!==a.status).map(a=>a.type))].toSorted((a,b)=>a.localeCompare(b))}function ap(a){return a.filter(a=>"retired"===a.status).length}function aq(a){return[...new Set([...a.values()].map(a=>a.squadronId))].toSorted((a,b)=>a.localeCompare(b))}let ar={crewed:"Crewed",awaitingCrew:"Awaiting crew"};function as(a){return au(a).length+a.labelValueIds.length}function at(a,b){return 0===b.length?void 0:`${a}: ${b.join(", ")}`}function au(a){return[at("Status",a.status.map(a=>ar[a])),at("Crew request",a.crewRequest.map(aj.crewRequestKeyWord)),at("Kind",a.kind.map(a=>ac[a])),at("Type",a.type),at("Squadron",a.squadron),a.isRetiredShown?"Retired shown":void 0].filter(a=>void 0!==a)}var av=a.i(76166),aw=a.i(75297),ax=a.i(45098),ay=a.i(4838),az=a.i(45469),aA=a.i(77339),aB=a.i(24173),aC=a.i(40392),aD=a.i(36501);function aE({chips:a,width:c,testId:e,href:f}){if(0===a.length)return null;let{shown:g,folded:h}=0===c?{shown:[],folded:a}:(0,ai.rowChips)(a,c);return(0,b.jsxs)("span",{"data-testid":e,className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[g.map((a,c)=>(0,b.jsx)(aD.LabelChip,{chip:a,className:0===c?"min-w-0 shrink":void 0},a.valueId)),0===h.length?null:void 0===f?(0,b.jsxs)("span",{title:h.map(ai.chipTitleOf).join("; "),className:"inline-flex h-5.5 shrink-0 items-center rounded-sm bg-secondary px-1.5 text-caption font-medium text-foreground tabular-nums",children:["+",h.length,(0,b.jsx)("span",{className:"sr-only",children:" more labels"})]}):(0,b.jsxs)(d.default,{href:f,title:h.map(ai.chipTitleOf).join("; "),"aria-label":`View ${h.length} more labels`,className:"inline-flex h-5.5 shrink-0 items-center rounded-sm bg-secondary px-1.5 text-caption font-medium text-foreground tabular-nums hover:underline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",children:["+",h.length]})]})}var aF=a.i(50808);let aG={name:"signal",size:24,node:[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}],["path",{d:"M17 20V8",key:"1tkaf5"}],["path",{d:"M22 4v16",key:"sih9yq"}]]};aG.node;let aH=(0,J.default)(aG),aI={name:"signal-low",size:24,node:[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}]]};aI.node;let aJ=(0,J.default)(aI),aK={name:"signal-medium",size:24,node:[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}]]};aK.node;let aL=(0,J.default)(aK);a.s([],65156),a.i(65156);var aM=a.i(22050),aN=a.i(24715),aO=a.i(57738),aP=a.i(54662);let aQ=f.createContext(void 0);function aR(a){let b=f.useContext(aQ);if(void 0===b&&!a)throw Error((0,aP.default)(72));return b}var aS=a.i(68536),aT=a.i(54401),aU=a.i(26476),aV=a.i(30116),aW=a.i(14209);function aX(a){return null!=a&&null!=a.clientX}var aY=a.i(38939),aZ=a.i(94552),a$=a.i(84204),a_=a.i(32318),a0=a.i(17498),a1=a.i(7436),a2=a.i(14239),a3=a.i(17017),a4=a.i(51943);let a5={...a3.popupStoreSelectors,disabled:a=>a.disabled,instantType:a=>a.instantType,isInstantPhase:a=>a.isInstantPhase,trackCursorAxis:a=>a.trackCursorAxis,disableHoverablePopup:a=>a.disableHoverablePopup,lastOpenChangeReason:a=>a.openChangeReason,closeOnClick:a=>a.closeOnClick,closeDelay:a=>a.closeDelay,adaptiveOrigin:a=>a.adaptiveOrigin};class a6 extends a0.ReactStore{constructor(a,b,c){const d=new a4.PopupTriggerMap;super(a7(a,d,b,c),a8(d),a5)}setOpen=(a,b)=>{(0,a$.applyPopupOpenChange)(this,a,b,{extraState:{openChangeReason:b.reason}})};cancelPendingOpen(a){this.state.floatingRootContext.dispatchOpenChange(!1,(0,aZ.createChangeEventDetails)(a1.REASONS.triggerPress,a))}}function a7(a,b,c,d=!1){return{...(0,a3.createInitialPopupStoreState)(b,c,d),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...a}}function a8(a){return{popupRef:f.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:a}}let a9=(0,aM.fastComponent)(function(a){let{disabled:c=!1,defaultOpen:d=!1,open:e,disableHoverablePopup:g=!1,trackCursorAxis:h="none",actionsRef:i,onOpenChange:j,onOpenChangeComplete:k,handle:l,triggerId:m,defaultTriggerId:n=null,children:o}=a,p=(0,a$.usePopupRootStore)((a,b)=>new a6({open:d,openProp:e,activeTriggerId:n,triggerIdProp:m},a,b));p.useControlledProp("openProp",e),p.useControlledProp("triggerIdProp",m),p.useContextCallback("onOpenChange",j),p.useContextCallback("onOpenChangeComplete",k);let q=p.useState("open"),r=!c&&q,s=p.useState("activeTriggerId"),t=p.useState("mounted"),u=p.useState("payload");p.useSyncedValues({trackCursorAxis:h,disableHoverablePopup:g,disabled:c}),(0,a$.useImplicitActiveTrigger)(p,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:v,transitionStatus:w}=(0,a$.useOpenStateTransitions)(r,p),x=p.useState("isInstantPhase"),y=p.useState("instantType"),z=p.useState("lastOpenChangeReason"),A=f.useRef(null);(0,aO.useIsoLayoutEffect)(()=>{q&&c&&p.setOpen(!1,(0,aZ.createChangeEventDetails)(a1.REASONS.disabled))},[q,c,p]),(0,aO.useIsoLayoutEffect)(()=>{"ending"===w&&z===a1.REASONS.none||"ending"!==w&&x?("delay"!==y&&(A.current=y),p.set("instantType","delay")):null!==A.current&&(p.set("instantType",A.current),A.current=null)},[w,x,z,y,p]),(0,aO.useIsoLayoutEffect)(()=>{r&&null==s&&p.set("payload",void 0)},[p,s,r]),f.useImperativeHandle(i,()=>({unmount:v,close:()=>p.setOpen(!1,(0,aZ.createChangeEventDetails)(a1.REASONS.imperativeAction))}),[v,p]);let B=r||t||!c&&"none"!==h;return(0,b.jsxs)(aQ.Provider,{value:p,children:[l&&(0,b.jsx)(a$.PopupHandleAttachment,{handle:l,store:p}),B&&(0,b.jsx)(ba,{store:p,disabled:c,trackCursorAxis:h}),"function"==typeof o?o({payload:u}):o]})});function ba({store:a,disabled:b,trackCursorAxis:c}){let d=a.useState("floatingRootContext"),e=(0,aY.useDismiss)(d,{enabled:!b,referencePress:()=>a.select("closeOnClick")}),g=function(a,b={}){let{enabled:c=!0,axis:d="both"}=b,e="rootStore"in a?a.rootStore:a,g=e.useState("open"),h=e.useState("floatingElement"),i=e.useState("domReferenceElement"),j=e.context.dataRef,k=f.useRef(!1),l=f.useRef(null),[m,n]=f.useState(),[o,p]=f.useState([]),q=(0,aT.useStableCallback)(a=>{e.set("positionReference",a)}),r=(0,aT.useStableCallback)((a,b,c)=>{if(!k.current&&(!j.current.openEvent||aX(j.current.openEvent))){var f,g;let h,k,l;e.set("positionReference",(f=c??i,g={x:a,y:b,axis:d,dataRef:j,pointerType:m},h=null,k=null,l=!1,{contextElement:f||void 0,getBoundingClientRect(){let a=f?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},b="x"===g.axis||"both"===g.axis,c="y"===g.axis||"both"===g.axis,d=["mouseenter","mousemove"].includes(g.dataRef.current.openEvent?.type||"")&&"touch"!==g.pointerType,e=a.width,i=a.height,j=a.x,m=a.y;return null==h&&g.x&&b&&(h=a.x-g.x),null==k&&g.y&&c&&(k=a.y-g.y),j-=h||0,m-=k||0,e=0,i=0,!l||d?(e="y"===g.axis?a.width:0,i="x"===g.axis?a.height:0,j=b&&null!=g.x?g.x:j,m=c&&null!=g.y?g.y:m):l&&!d&&(i="x"===g.axis?a.height:i,e="y"===g.axis?a.width:e),l=!0,{width:e,height:i,x:j,y:m,top:m,right:j+e,bottom:m+i,left:j}}}))}}),s=(0,aT.useStableCallback)(a=>{g?l.current||(r(a.clientX,a.clientY,a.currentTarget),p([])):r(a.clientX,a.clientY,a.currentTarget)}),t=(0,aW.isMouseLikePointerType)(m)?h:g;f.useEffect(()=>{if(!c)return void q(i);if(!t)return;function a(){l.current?.(),l.current=null}let b=(0,aU.getWindow)(h);return!j.current.openEvent||aX(j.current.openEvent)?l.current=(0,aS.addEventListener)(b,"mousemove",function(b){let c=(0,aV.getTarget)(b);(0,aV.contains)(h,c)?a():r(b.clientX,b.clientY)}):q(i),a},[t,c,h,j,i,e,r,q,o]),f.useEffect(()=>()=>{e.set("positionReference",null)},[e]),f.useEffect(()=>{c&&!h&&(k.current=!1)},[c,h]),f.useEffect(()=>{!c&&g&&(k.current=!0)},[c,g]);let u=f.useMemo(()=>{function a(a){n(a.pointerType)}return{onPointerDown:a,onPointerEnter:a,onMouseMove:s,onMouseEnter:s}},[s]);return f.useMemo(()=>c?{reference:u,trigger:u}:{},[c,u])}(d,{enabled:!b&&"none"!==c,axis:"none"===c?void 0:c}),h=f.useMemo(()=>(0,a_.mergeProps)(g.reference,e.reference),[g.reference,e.reference]);return(0,a$.usePopupInteractionProps)(a,{activeTriggerProps:h,inactiveTriggerProps:h,popupProps:e.floating??aN.EMPTY_OBJECT}),null}var bb=a.i(36069),bc=a.i(89862),bd=a.i(4478),be=a.i(26184),bf=a.i(97151),bg=a.i(557);let bh=f.createContext(void 0);var bi=a.i(25003),bj=a.i(85252);let bk=f.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new bb.Timeout,currentIdRef:{current:null},currentContextRef:{current:null}});function bl(a){let{children:c,delay:d,timeoutMs:e=0}=a,g=f.useRef(d),h=f.useRef(d),i=f.useRef(null),j=f.useRef(null),k=(0,bb.useTimeout)();return(0,aO.useIsoLayoutEffect)(()=>{if(h.current=d,!i.current){g.current=d;return}g.current={open:(0,bj.getDelay)(g.current,"open"),close:(0,bj.getDelay)(d,"close")}},[d,i,g,h]),(0,b.jsx)(bk.Provider,{value:f.useMemo(()=>({hasProvider:!0,delayRef:g,initialDelayRef:h,currentIdRef:i,timeoutMs:e,currentContextRef:j,timeout:k}),[e,k]),children:c})}var bm=a.i(84842),bn=a.i(5735),bo=a.i(72077),bp=a.i(63734);let bq="data-base-ui-tooltip-trigger";function br(a){if("composedPath"in a){let b=a.composedPath();for(let a=0;a<b.length;a+=1){let c=b[a];if((0,aU.isElement)(c))return c}}let b=a.target;return(0,aU.isElement)(b)?b:null}let bs=(0,aM.fastComponentRef)(function(a,b){let{render:c,className:d,style:e,handle:g,payload:h,disabled:i,delay:j,closeOnClick:k=!0,closeDelay:l,id:m,...n}=a,o=aR(!0),p=(0,bf.usePopupHandleStore)(g)??o;if(!p)throw Error((0,aP.default)(82));let q=(0,bg.useBaseUiId)(m),r=p.useState("isTriggerActive",q),s=p.useState("isOpenedByTrigger",q),t=p.useState("floatingRootContext"),u=f.useRef(null),v=l??0,{registerTrigger:w,isMountedByThisTrigger:x}=(0,a$.useTriggerDataForwarding)(q,u,p,{payload:h,closeOnClick:k,closeDelay:v}),y=f.useContext(bh),{activeIdRef:z,delayRef:A,isInstantPhase:B,hasProvider:C}=function(a,b={open:!1}){let{open:c}=b,d="rootStore"in a?a.rootStore:a,e=d.useState("floatingId"),{currentIdRef:g,delayRef:h,timeoutMs:i,initialDelayRef:j,currentContextRef:k,hasProvider:l,timeout:m}=f.useContext(bk),[n,o]=f.useState(!1),p=f.useRef(c);return(0,aO.useIsoLayoutEffect)(()=>{p.current=c},[c]),(0,aO.useIsoLayoutEffect)(()=>{function a(){k.current?.setIsInstantPhase(!1),g.current=null,k.current=null,h.current=j.current,m.clear()}if(g.current&&!c&&g.current===e){if(o(!1),i)return m.start(i,()=>{d.select("open")||g.current&&g.current!==e||a()}),()=>{(p.current||g.current!==e)&&m.clear()};a()}},[c,e,g,h,i,j,k,m,d]),(0,aO.useIsoLayoutEffect)(()=>{if(!c)return;let a=k.current,b=g.current;m.clear(),k.current={onOpenChange:d.setOpen,setIsInstantPhase:o},g.current=e,h.current={open:0,close:(0,bj.getDelay)(j.current,"close")},null!==b&&b!==e?(o(!0),a?.setIsInstantPhase(!0),a?.onOpenChange(!1,(0,aZ.createChangeEventDetails)(a1.REASONS.none))):(o(!1),a?.setIsInstantPhase(!1))},[c,e,d,g,h,j,k,m]),(0,aO.useIsoLayoutEffect)(()=>()=>{g.current===e&&(k.current=null,p.current)&&(g.current=null,h.current=j.current,m.clear())},[k,g,h,e,j,m]),f.useMemo(()=>({activeIdRef:g,hasProvider:l,delayRef:h,isInstantPhase:n}),[g,l,h,n])}(t,{open:s}),D=(0,bo.useHoverInteractionSharedState)(t);p.useSyncedValue("isInstantPhase",B);let E=p.useState("disabled"),F=i??E,G=(0,bc.useValueAsRef)(F),H=p.useState("trackCursorAxis"),I=p.useState("disableHoverablePopup"),J=f.useRef(!1),K=(0,bb.useTimeout)(),L=f.useRef(void 0);function M(){return C&&null!=z.current?0:j??y??600}function N(a){let b=u.current;if(!b||!a)return!1;let c=function(a){let b=a;for(;b;){let a=b.closest(`[${bq}]`);if(a)return a;let c=b.getRootNode();b="host"in c&&(0,aU.isElement)(c.host)?c.host:null}return null}(a);return null!==c&&c!==b&&(0,aV.contains)(b,c)}let O=(0,bn.useHoverReferenceInteraction)(t,{enabled:!F,mouseOnly:!0,move:!1,handleClose:I||"both"===H?null:(0,bi.safePolygon)(),restMs:M,delay:()=>null==l&&C?{close:(0,bj.getDelay)(A.current,"close")}:{close:v},triggerElementRef:u,isActiveTrigger:r,isClosing:()=>"ending"===p.select("transitionStatus"),shouldOpen:()=>!J.current}),P=(0,bm.useFocus)(t,{enabled:!F}).reference,Q=p.useState("triggerProps",x),R=x||"none"!==H;return(0,be.useRenderElement)("button",a,{state:{open:s},ref:[b,w,u],props:[O,P,R?Q:void 0,{onMouseOver(a){(a=>{let b,c=J.current,d=br(a),e=(J.current=b=N(d),b&&(D.openChangeTimeout.clear(),D.restTimeout.clear(),D.restTimeoutPending=!1,K.clear()),b),f=u.current,g=f&&d&&(0,aV.contains)(f,d);if(e&&p.select("open")&&p.select("lastOpenChangeReason")===a1.REASONS.triggerHover)return p.setOpen(!1,(0,aZ.createChangeEventDetails)(a1.REASONS.triggerHover,a));if(c&&!e&&g&&!G.current&&!p.select("open")&&f&&(0,aW.isMouseLikePointerType)(L.current)){let b=()=>{J.current||G.current||p.select("open")||p.setOpen(!0,(0,aZ.createChangeEventDetails)(a1.REASONS.triggerHover,a,f))},c=M();0===c?(K.clear(),b()):K.start(c,b)}})(a.nativeEvent)},onFocus(a){N(br(a.nativeEvent))&&a.preventBaseUIHandler()},onMouseLeave(){J.current=!1,K.clear(),L.current=void 0},onPointerEnter(a){L.current=a.pointerType},onPointerDown(a){L.current=a.pointerType,p.set("closeOnClick",k),k&&!p.select("open")&&p.cancelPendingOpen(a.nativeEvent)},onClick(a){k&&!p.select("open")&&p.cancelPendingOpen(a.nativeEvent)},id:q,[bp.triggerDisabled]:F?"":void 0,[bq]:F?void 0:""},n],stateAttributesMapping:bd.triggerOpenStateMapping})}),bt=f.createContext(void 0);var bu=a.i(35112),bv=a.i(54098);let bw=f.forwardRef(function(a,c){let{children:d,container:e,className:g,render:h,style:i,...j}=a,{node:k,subtree:l}=(0,bv.useFloatingPortalNode)({container:e,ref:c,componentProps:a,elementProps:j});return l||k?(0,b.jsxs)(f.Fragment,{children:[l,k&&bu.createPortal(d,k)]}):null}),bx=f.forwardRef(function(a,c){let{keepMounted:d=!1,...e}=a;return aR().useState("mounted")||d?(0,b.jsx)(bt.Provider,{value:d,children:(0,b.jsx)(bw,{ref:c,...e})}):null}),by=f.createContext(void 0);function bz(){let a=f.useContext(by);if(void 0===a)throw Error((0,aP.default)(71));return a}var bA=a.i(44871),bB=a.i(82204),bC=a.i(56011);let bD=f.forwardRef(function(a,c){let{render:d,className:e,anchor:g,positionMethod:h="absolute",side:i="top",align:j="center",sideOffset:k=0,alignOffset:l=0,collisionBoundary:m="clipping-ancestors",collisionPadding:n=5,arrowPadding:o=5,sticky:p=!1,disableAnchorTracking:q=!1,collisionAvoidance:r=bB.POPUP_COLLISION_AVOIDANCE,style:s,...t}=a,u=aR(),v=function(){let a=f.useContext(bt);if(void 0===a)throw Error((0,aP.default)(70));return a}(),w=u.useState("open"),x=u.useState("mounted"),y=u.useState("trackCursorAxis"),z=u.useState("disableHoverablePopup"),A=u.useState("floatingRootContext"),B=u.useState("instantType"),C=u.useState("transitionStatus"),D=u.useState("adaptiveOrigin"),E=(0,bA.useAnchorPositioning)({anchor:g,positionMethod:h,floatingRootContext:A,mounted:x,side:i,sideOffset:k,align:j,alignOffset:l,collisionBoundary:m,collisionPadding:n,sticky:p,arrowPadding:o,disableAnchorTracking:q,keepMounted:v,collisionAvoidance:r,adaptiveOrigin:D}),F=f.useMemo(()=>({open:w,side:E.side,align:E.align,anchorHidden:E.anchorHidden,instant:"none"!==y?"tracking-cursor":B}),[w,E.side,E.align,E.anchorHidden,y,B]),G=(0,bC.usePositioner)(a,F,{styles:E.positionerStyles,transitionStatus:C,props:t,refs:[c,u.useStateSetter("positionerElement")],hidden:!x,inert:!w||"both"===y||z});return(0,b.jsx)(by.Provider,{value:E,children:G})});var bE=a.i(5687),bF=a.i(3861),bG=a.i(81673);let bH=f.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=aR(),{side:h,align:i}=bz(),j=g.useState("open"),k=g.useState("instantType"),l=g.useState("transitionStatus"),m=g.useState("popupProps"),n=g.useState("floatingRootContext"),o=g.useState("disabled"),p=g.useState("closeDelay");(0,bE.useOpenChangeComplete)({open:j,ref:g.context.popupRef,onComplete(){j&&g.context.onOpenChangeComplete?.(!0)}}),(0,bG.useHoverFloatingInteraction)(n,{enabled:!o,closeDelay:p});let q=g.useStateSetter("popupElement");return(0,be.useRenderElement)("div",a,{state:{open:j,side:h,align:i,instant:k,transitionStatus:l},ref:[b,g.context.popupRef,q],props:[a$.FOCUSABLE_POPUP_PROPS,m,(0,bF.getDisabledMountTransitionStyles)(l),f],stateAttributesMapping:bd.popupTransitionStateMapping})}),bI=f.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=aR(),{arrowRef:h,side:i,align:j,arrowUncentered:k,arrowStyles:l}=bz(),m=g.useState("open"),n=g.useState("instantType");return(0,be.useRenderElement)("div",a,{state:{open:m,side:i,align:j,uncentered:k,instant:n},ref:[b,h],props:[{style:l,"aria-hidden":!0},f],stateAttributesMapping:bd.popupStateMapping})});var bJ=a.i(62092);let bK=f.forwardRef(function(a,b){let{render:c,className:d,style:e,children:f,...g}=a,h=aR(),i=bz(),j=h.useState("instantType"),{children:k,state:l}=(0,bJ.usePopupViewport)({store:h,side:i.side,children:f}),m={activationDirection:l.activationDirection,transitioning:l.transitioning,instant:j};return(0,be.useRenderElement)("div",a,{state:m,ref:b,props:[g,{children:k}],stateAttributesMapping:bJ.popupViewportStateMapping})});var bL=a.i(4675);class bM extends bL.BasePopupHandle{constructor(){super(function(){let a=new a4.PopupTriggerMap;return Object.assign(new a2.NullStore(Object.freeze(a7(void 0,a)),Object.freeze(a8(a)),a5),{setOpen:aN.NOOP,cancelPendingOpen:aN.NOOP})}(),"Tooltip")}open(a){this.openByTrigger(a)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}}a.s(["Arrow",0,bI,"Handle",0,bM,"Popup",0,bH,"Portal",0,bx,"Positioner",0,bD,"Provider",0,function(a){let{delay:c,closeDelay:d,timeout:e=400}=a,g=f.useMemo(()=>({open:c,close:d}),[c,d]);return(0,b.jsx)(bh.Provider,{value:c,children:(0,b.jsx)(bl,{delay:g,timeoutMs:e,children:a.children})})},"Root",0,a9,"Trigger",0,bs,"Viewport",0,bK,"createHandle",0,function(){return new bM}],3191);var bN=a.i(3191),bN=bN;function bO(a){return(0,b.jsx)(bN.Root,{"data-slot":"tooltip",...a})}function bP(a){return(0,b.jsx)(bN.Trigger,{"data-slot":"tooltip-trigger",...a})}function bQ({className:a,side:c="top",sideOffset:d=6,align:e="center",...f}){return(0,b.jsx)(bN.Portal,{children:(0,b.jsx)(bN.Positioner,{align:e,side:c,sideOffset:d,className:"isolate z-50 max-sm:hidden",children:(0,b.jsx)(bN.Popup,{"data-slot":"tooltip-content",className:(0,l.classNames)("w-fit max-w-xs origin-(--transform-origin) rounded-sm bg-foreground px-2 py-1 text-caption font-medium text-background shadow-md duration-(--duration-fast) data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",a),...f})})})}let bR={fresh:{Icon:aH,tone:"text-tone-ok-fg"},while:{Icon:aL,tone:"text-muted-foreground"},long:{Icon:aJ,tone:"text-tone-waiting-fg"}};function bS({seenAt:a,now:c,testId:d}){let e;if(null===a)return null;let f=new Date(a),g=(e=c.getTime()-f.getTime())<6e4?"fresh":e<=9e5?"while":"long",{Icon:h,tone:i}=bR[g],j=(0,r.lastSeen)(f,c);return(0,b.jsxs)(bO,{children:[(0,b.jsx)(bP,{render:(0,b.jsx)("span",{role:"img","aria-label":j,"data-testid":d,"data-signal":g,className:(0,l.classNames)("inline-flex [&_svg]:size-(--size-icon) max-sm:[&_svg]:size-4",i)}),children:(0,b.jsx)(h,{"aria-hidden":!0})}),(0,b.jsx)(bQ,{children:j})]})}var bT=a.i(40108);function bU({model:a,now:c}){let d=function(a,b){var c;let d=new Date(a.statedAt),e=Math.max(0,b.getTime()-d.getTime()),f=(c=a.id).startsWith("@")||/@\d+\.\d+\.\d+$/.test(c)?"Software":"Model";if(e<6e4)return`${f}, stated ${String(Math.floor(e/1e3))} s ago`;let g=(0,r.relativeTime)(d,b);return`${f}, stated ${g.charAt(0).toLowerCase()}${g.slice(1)}`}(a,c);return(0,b.jsxs)(bO,{children:[(0,b.jsxs)(bP,{render:(0,b.jsx)("span",{"data-testid":"fleet-model-hint",className:"min-w-0 truncate font-mono text-id text-muted-foreground"}),children:[a.id,(0,b.jsxs)("span",{className:"sr-only",children:[", ",d]})]}),(0,b.jsx)(bQ,{children:(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"font-mono",children:a.id}),(0,b.jsx)("span",{children:d})]})})]})}var bV=a.i(92717),bW=a.i(58523),bX=a.i(90468),bY=a.i(48136);function bZ({label:a,items:c,picked:d,onPickedChange:e,size:f="sm",valueClassName:g,testId:h}){let i=function(a,b){let[c]=a;return void 0===c?{kind:"all"}:1===a.length?{kind:"one",word:b[c]??c}:{kind:"several",count:a.length}}(d,c);return(0,b.jsxs)(bY.Select,{multiple:!0,value:0===d.length?["all"]:[...d],onValueChange:a=>{e(d.length>0&&a.includes("all")?[]:a.filter(a=>"all"!==a))},children:[(0,b.jsx)(bY.SelectTrigger,{size:f,"aria-label":a,"data-testid":h,children:(0,b.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:a}),"several"===i.kind?(0,b.jsxs)("span",{className:"inline-flex size-5 items-center justify-center rounded-full bg-primary text-caption font-semibold text-primary-foreground tabular-nums",children:[i.count,(0,b.jsx)("span",{className:"sr-only",children:" picked"})]}):(0,b.jsx)("span",{className:(0,l.classNames)("font-medium","one"===i.kind?g:void 0),children:"one"===i.kind?i.word:"All"})]})}),(0,b.jsxs)(bY.SelectContent,{children:[(0,b.jsx)(bY.SelectItem,{value:"all",children:"All"}),Object.entries(c).map(([a,c])=>(0,b.jsx)(bY.SelectItem,{value:a,className:g,children:c},a))]})]})}function b$({label:a,allLabel:c="All",items:d,picked:e,onPickedChange:f,layout:h="chips",testId:i}){return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"text-meta font-medium text-muted-foreground",children:a}),(0,b.jsxs)("div",{role:"group","aria-label":a,"data-testid":i,className:"segments"===h?"flex gap-1.5 [&>*]:flex-1":"flex flex-wrap gap-1.5",children:[(0,b.jsx)(g.Button,{variant:0===e.length?"primary":"secondary",size:"touch","aria-pressed":0===e.length,onClick:()=>{f([])},children:c}),Object.entries(d).map(([a,c])=>{let d=e.includes(a);return(0,b.jsx)(g.Button,{variant:d?"primary":"secondary",size:"touch","aria-pressed":d,onClick:()=>{f(d?e.filter(b=>b!==a):[...e,a])},children:c},a)})]})]})}var b_=a.i(89027),b0=a.i(3894),b1=a.i(19721),b2=a.i(60275);let b3=(0,b1.default)(async()=>{},{loadableGenerated:{modules:[59068]},ssr:!1});function b4({groups:a,picked:c,onPick:e,trigger:g}){let[h,i]=(0,f.useState)(!1);return(0,b.jsxs)(b2.Popover,{open:h,onOpenChange:i,children:[(0,b.jsx)(b2.PopoverTrigger,{render:g}),(0,b.jsxs)(b2.PopoverContent,{align:"start",sideOffset:6,className:"w-80 p-2","data-testid":"label-filter-popover",children:[(0,b.jsx)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:"Filter by label"}),(0,b.jsx)(b3,{groups:a,pickedValueIds:c.map(a=>a.valueId),onPick:a=>{e(a),i(!1)}}),(0,b.jsxs)("p",{className:"mt-2 flex items-center justify-between gap-2 border-t border-border px-2 pt-2 text-meta text-muted-foreground",children:["Exact matches, all must hold.",(0,b.jsx)(d.default,{href:"/labels",className:"font-medium text-foreground hover:underline","data-testid":"label-filter-manage",children:"Manage labels"})]})]})]})}function b5({groups:a,picked:d,onPick:e}){return(0,b.jsx)(b4,{groups:a,picked:d,onPick:e,trigger:(0,b.jsxs)(g.Button,{variant:"secondary",size:"sm",icon:(0,b.jsx)(c.Tag,{}),"data-testid":"fleet-filter-labels",children:["Labels",0===d.length?null:(0,b.jsxs)("span",{className:"inline-flex size-5 items-center justify-center rounded-full bg-primary text-caption font-semibold text-primary-foreground tabular-nums",children:[d.length,(0,b.jsx)("span",{className:"sr-only",children:" picked"})]}),(0,b.jsx)(b_.ChevronDown,{"aria-hidden":!0,className:"text-muted-foreground"})]})})}function b6({groups:a,picked:c,onPick:d,onRemove:e,onClear:f}){return 0===c.length?null:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1.5 text-meta max-sm:hidden","data-testid":"fleet-picked-labels",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"Ships with"}),c.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[0===c?null:(0,b.jsx)("span",{className:"text-muted-foreground",children:"and"}),(0,b.jsx)(aD.LabelChip,{chip:a,testId:"fleet-picked-label",onRemove:()=>{e(a.valueId)}})]},a.valueId)),(0,b.jsx)(b4,{groups:a,picked:c,onPick:d,trigger:(0,b.jsx)(g.Button,{variant:"ghost",size:"xs",icon:(0,b.jsx)(u.Plus,{}),children:"Add"})}),(0,b.jsx)("span",{"aria-hidden":!0,className:"h-4 w-px bg-border"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"xs",onClick:f,"data-testid":"fleet-labels-clear",children:"Clear labels"})]})}function b7({groups:a,picked:c,onPick:e,onRemove:h}){let[i,j]=(0,f.useState)(!1);return(0,b.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"fleet-filter-labels-touch",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2 text-meta font-medium text-muted-foreground",children:["Labels ",(0,b.jsx)("span",{className:"font-normal",children:"all must hold"})]}),0===c.length?null:(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 text-meta",children:c.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[0===c?null:(0,b.jsx)("span",{className:"text-muted-foreground",children:"and"}),(0,b.jsx)(aD.LabelChip,{chip:a,onRemove:()=>{h(a.valueId)}})]},a.valueId))}),i?(0,b.jsx)("div",{className:"rounded-lg border border-border p-2",children:(0,b.jsx)(b3,{groups:a,pickedValueIds:c.map(a=>a.valueId),size:"touch",onPick:a=>{e(a),j(!1)}})}):(0,b.jsx)(g.Button,{variant:"secondary",size:"touch",icon:(0,b.jsx)(u.Plus,{}),className:"self-start",onClick:()=>{j(!0)},children:"Add label"}),(0,b.jsxs)(d.default,{href:"/labels",className:"inline-flex items-center gap-1.5 self-start text-meta text-muted-foreground hover:underline [&_svg]:size-(--size-icon-sm)",children:[(0,b.jsx)(b0.Tags,{"aria-hidden":!0}),"All labels and their owners"]})]})}function b8(a,b){return{...a,filters:{...a.filters,labelValueIds:b}}}function b9(a){return Object.hasOwn(ar,a)}function ca(a){return Object.fromEntries((0,aj.crewRequestKeysOf)(a).map(a=>[a,(0,aj.crewRequestKeyWord)(a)]))}function cb(a,b){return Object.hasOwn(b,a)}function cc(a){return Object.fromEntries(a.map(a=>[a,a]))}function cd({ship:a,squadron:c,isPluginShip:d}){return"operator"===a.kind?(0,b.jsxs)(av.Badge,{variant:"kind",children:[(0,b.jsx)(aa.UserRound,{"aria-hidden":!0}),"operator"]}):"viewer"===a.kind?(0,b.jsxs)(av.Badge,{variant:"kind","data-testid":"fleet-viewer",children:[(0,b.jsx)(W.Eye,{"aria-hidden":!0}),"viewer"]}):d?(0,b.jsxs)(av.Badge,{variant:"kind","data-testid":"fleet-plugin",children:[(0,b.jsx)(Y.Plug,{"aria-hidden":!0}),"plugin"]}):c?.role===null?(0,b.jsxs)(av.Badge,{variant:"kind","data-testid":"fleet-flagship",children:[(0,b.jsx)(X.Flag,{"aria-hidden":!0}),"flagship"]}):null}function ce({ship:a,now:c}){return"crewed"!==a.status||"viewer"===a.kind?null:(0,b.jsxs)("span",{"data-testid":"fleet-runs-on",className:"flex min-w-0 items-center gap-3 max-sm:flex-wrap max-sm:gap-y-1",children:[(0,b.jsx)(bT.LocationTag,{kind:"operator"===a.kind&&null!==a.location?"DEVICE":a.location?.kind??null,description:a.location?.description,harness:"operator"===a.kind?"console":a.harness,size:"sm",className:"shrink-0"}),"agent"===a.kind&&null!==a.model?(0,b.jsx)(bU,{model:a.model,now:c}):null]})}function cf({ship:a,squadron:c,labels:d}){let e=c?.role===null?void 0:c,f=void 0===d?[]:(0,ai.chipsOf)(a,d).filter(a=>void 0===e||("squadron"!==a.key||a.value!==e.squadronId)&&("squadron-role"!==a.key||a.value!==e.role));return void 0===e&&0===f.length?null:(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2 overflow-hidden",children:[void 0===e?null:(0,b.jsx)("span",{className:"min-w-0 shrink",title:null===e.role?e.squadronId:`${e.squadronId} \xb7 ${e.role}`,children:(0,b.jsx)(bW.SquadronTag,{squadronId:e.squadronId,size:"sm"})}),(0,b.jsx)(aE,{chips:f,width:22*(void 0===e),testId:"fleet-labels",href:`/ships/${a.id}`})]})}function cg({ship:a,now:c,next:d}){let e="agent"===a.kind&&"crewed"===a.status;return(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2 max-sm:flex-col max-sm:items-stretch [&:has(button)>[data-testid=fleet-report]]:hidden",children:[e?(0,b.jsx)(bV.ReportLine,{report:a.report,now:c,variant:"row",isTimeInTitle:!0,testId:"fleet-report"}):null,d]})}function ch({ships:a,view:c,onViewChange:d,size:e,squadronsOf:f,labels:h}){let i=ca((0,w.useConsoleConstants)().crewStatuses),{filters:j}=c,k=ap(a),m="sm"===e?"fleet-show-retired":"fleet-show-retired-touch",n=a=>{d({...c,filters:{...j,...a}})},o="touch"===e;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(bZ,{label:"Status",items:ar,picked:j.status,onPickedChange:a=>{n({status:a.filter(b9)})},size:e,testId:o?void 0:"fleet-filter-status"}),(0,b.jsx)(bZ,{label:"Crew request",items:i,picked:j.crewRequest,onPickedChange:a=>{n({crewRequest:a.filter(a=>cb(a,i))})},size:e,testId:o?void 0:"fleet-filter-crew-request"}),(0,b.jsx)(bZ,{label:"Kind",items:ac,picked:j.kind,onPickedChange:a=>{n({kind:a.filter(ae)})},size:e,testId:o?void 0:"fleet-filter-kind"}),(0,b.jsx)(bZ,{label:"Type",items:cc(ao(a,j.isRetiredShown)),picked:j.type,onPickedChange:a=>{n({type:a})},size:e,valueClassName:"font-mono",testId:o?void 0:"fleet-filter-type"}),f&&(0,b.jsx)(bZ,{label:"Squadron",items:cc(aq(f)),picked:j.squadron,onPickedChange:a=>{n({squadron:a})},size:e,testId:o?void 0:"fleet-filter-squadron"}),void 0===h||o?null:(0,b.jsx)(b5,{groups:(0,ai.filterGroupsOf)(h),picked:(0,ai.pickedChips)(j.labelValueIds,h),onPick:a=>{d(b8(c,[...j.labelValueIds,a]))}}),au(j).length>0&&!o?(0,b.jsx)(g.Button,{variant:"ghost",size:"xs","data-testid":"fleet-filters-clear",onClick:()=>{d({...c,filters:ak.filters})},children:"Clear filters"}):null,(0,b.jsxs)("div",{className:(0,l.classNames)("inline-flex items-center gap-2",o?"py-2":"sm:ml-auto"),children:[(0,b.jsx)(az.Switch,{id:m,"data-testid":o?void 0:"fleet-show-retired",checked:j.isRetiredShown,onCheckedChange:a=>{n({isRetiredShown:a})}}),(0,b.jsxs)(ax.Label,{htmlFor:m,className:(0,l.classNames)("font-normal text-muted-foreground",o?"text-body-touch":"text-meta"),children:["Show retired (",k,")"]})]})]})}function ci({ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f,labels:h}){let i=ca((0,w.useConsoleConstants)().crewStatuses),{filters:j}=c,k=a=>{d({...c,filters:{...j,...a}})},l=as(j),m=ap(a);return(0,b.jsxs)(ay.Sheet,{children:[(0,b.jsx)(ay.SheetTrigger,{render:(0,b.jsx)(g.Button,{size:"touch",isIconOnly:!0,"aria-label":l>0?`Filter ships, ${String(l)} active`:"Filter ships","data-testid":"fleet-filters-open",icon:(0,b.jsx)(_,{}),className:"relative sm:hidden",children:l>0?(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute top-1.5 right-1.5 size-2 rounded-full bg-primary"}):null})}),(0,b.jsxs)(ay.SheetContent,{side:"bottom",children:[(0,b.jsxs)(ay.SheetHeader,{className:"flex-row items-center justify-between",children:[(0,b.jsx)(ay.SheetTitle,{children:"Filter ships"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"touch","data-testid":"fleet-filters-reset",onClick:()=>{d({...c,filters:ak.filters})},children:"Reset"})]}),(0,b.jsxs)(ay.SheetBody,{className:"flex flex-col gap-4 pb-4",children:[(0,b.jsx)(b$,{label:"Status",layout:"segments",items:ar,picked:j.status,onPickedChange:a=>{k({status:a.filter(b9)})}}),(0,b.jsx)(b$,{label:"Crew request",items:i,picked:j.crewRequest,onPickedChange:a=>{k({crewRequest:a.filter(a=>cb(a,i))})}}),(0,b.jsx)(b$,{label:"Kind",items:ac,picked:j.kind,onPickedChange:a=>{k({kind:a.filter(ae)})},testId:"fleet-filter-kind-touch"}),(0,b.jsx)(b$,{label:"Type",allLabel:"All types",items:cc(ao(a,j.isRetiredShown)),picked:j.type,onPickedChange:a=>{k({type:a})}}),f&&(0,b.jsx)(b$,{label:"Squadron",items:cc(aq(f)),picked:j.squadron,onPickedChange:a=>{k({squadron:a})}}),void 0===h?null:(0,b.jsx)(b7,{groups:(0,ai.filterGroupsOf)(h),picked:(0,ai.pickedChips)(j.labelValueIds,h),onPick:a=>{d(b8(c,[...j.labelValueIds,a]))},onRemove:a=>{d(b8(c,j.labelValueIds.filter(b=>b!==a)))}}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 py-1",children:[(0,b.jsxs)(ax.Label,{htmlFor:"fleet-show-retired-touch",className:"text-body-touch font-normal",children:["Show retired ships ",(0,b.jsxs)("span",{className:"text-muted-foreground",children:["(",m,")"]})]}),(0,b.jsx)(az.Switch,{id:"fleet-show-retired-touch",checked:j.isRetiredShown,onCheckedChange:a=>{k({isRetiredShown:a})}})]}),(0,b.jsx)(ay.SheetClose,{render:(0,b.jsx)(g.Button,{size:"touch","data-testid":"fleet-filters-apply"}),children:1===e?"Show 1 ship":`Show ${String(e)} ships`})]})]})]})}function cj({view:a,onViewChange:c,labels:d}){let e=au(a.filters),f=void 0===d?[]:(0,ai.pickedChips)(a.filters.labelValueIds,d);return 0===e.length&&0===f.length?null:(0,b.jsxs)("div",{className:"flex w-full flex-wrap items-center gap-1.5 sm:hidden","data-testid":"fleet-filter-chips",children:[e.map(a=>(0,b.jsx)(av.Badge,{variant:"outline",className:"max-w-full truncate",children:a},a)),f.map(d=>(0,b.jsx)(aD.LabelChip,{chip:d,onRemove:()=>{c(b8(a,a.filters.labelValueIds.filter(a=>a!==d.valueId)))}},d.valueId)),(0,b.jsx)(g.Button,{variant:"ghost",size:"touch",onClick:()=>{c({...a,filters:ak.filters})},children:"Clear filters"})]})}function ck({ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f,labels:g}){return(0,b.jsxs)("div",{"data-slot":"fleet-toolbar",className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("div",{className:"w-60 max-sm:min-w-0 max-sm:flex-1",children:(0,b.jsx)(aw.Input,{type:"search","aria-label":"Search ships by name or type",placeholder:"Search ships by name","data-testid":"fleet-search",value:c.query,onChange:a=>{d({...c,query:a.target.value})},leadingIcon:(0,b.jsx)(Z.Search,{}),className:"h-(--size-control-sm) text-meta max-sm:h-(--size-control-touch) max-sm:text-input-touch"})}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 max-sm:hidden sm:flex-1",children:(0,b.jsx)(ch,{ships:a,view:c,onViewChange:d,squadronsOf:f,labels:g,size:"sm"})}),(0,b.jsx)(ci,{ships:a,view:c,onViewChange:d,shownCount:e,squadronsOf:f,labels:g}),(0,b.jsx)(cj,{view:c,onViewChange:d,labels:g}),(0,b.jsxs)("p",{"aria-live":"polite",className:"text-meta text-muted-foreground tabular-nums max-sm:w-full",children:[e," of ",a.length," ships"]})]})}function cl({ship:a}){return(0,b.jsx)(bX.ShipName,{name:a.name,shipId:a.id,isSuffixShown:"retired"===a.status,href:"operator"===a.kind?"/inbox":`/ships/${a.id}`,className:"[&_a]:max-sm:whitespace-normal [&_a]:max-sm:break-all [&_a]:max-sm:text-body-touch"})}let cm=[{column:"ship",head:"Ship"},{column:"status",head:"Status"},{column:"report",head:"Report"},{column:"squadronAndLabels",head:"Squadron and labels"},{column:"runsOn",head:"Runs on"},{column:"seen",head:"Seen"}];function cn({ships:a,highlightedShipIds:c,now:d,renderRowActions:e,squadronsOf:f,labels:g,pluginShipIds:h,sort:i,onSort:j}){return(0,b.jsx)("div",{className:"max-sm:hidden",children:(0,b.jsxs)(aA.Table,{"aria-label":"Ships",className:"min-w-320 table-fixed",children:[(0,b.jsxs)("colgroup",{children:[(0,b.jsx)("col",{className:"w-56"}),(0,b.jsx)("col",{className:"w-40"}),(0,b.jsx)("col",{className:"w-64"}),(0,b.jsx)("col",{className:"w-56"}),(0,b.jsx)("col",{className:"w-80"}),(0,b.jsx)("col",{className:"w-12"}),(0,b.jsx)("col",{className:"w-12"})]}),(0,b.jsx)(aA.TableHeader,{children:(0,b.jsxs)(aA.TableRow,{children:[cm.map(({column:a,head:c})=>void 0===j?(0,b.jsx)(aA.TableHead,{children:c},a):(0,b.jsx)(aA.TableSortHead,{"data-testid":`fleet-sort-${a}`,direction:i?.column===a?i.direction:null,onSort:()=>{j(a)},children:c},a)),(0,b.jsx)(aA.TableHead,{children:(0,b.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,b.jsx)(aA.TableBody,{children:a.map(a=>(0,b.jsxs)(aA.TableRow,{"data-testid":`fleet-row-${a.name}`,"data-new":c?.has(a.id)?"":void 0,className:"h-12",children:[(0,b.jsx)(aA.TableCell,{children:(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2 whitespace-nowrap",children:[(0,b.jsx)(cl,{ship:a}),(0,b.jsx)(cd,{ship:a,squadron:f?.get(a.id),isPluginShip:h?.has(a.id)??!1})]})}),(0,b.jsx)(aA.TableCell,{children:(0,b.jsx)(O.StatusBadge,{status:a.status})}),(0,b.jsx)(aA.TableCell,{children:(0,b.jsx)(cg,{ship:a,now:d,next:e?.(a,"next")})}),(0,b.jsx)(aA.TableCell,{children:(0,b.jsx)(cf,{ship:a,squadron:f?.get(a.id),labels:g})}),(0,b.jsx)(aA.TableCell,{children:(0,b.jsx)(ce,{ship:a,now:d})}),(0,b.jsx)(aA.TableCell,{children:(0,b.jsx)(bS,{seenAt:a.lastSeenAt,now:d,testId:"fleet-last-seen"})}),(0,b.jsx)(aA.TableCell,{className:"w-10 text-right",children:e?.(a,"table")})]},a.id))})]})})}function co({ships:a,highlightedShipIds:c,now:d,renderRowActions:e,squadronsOf:f,pluginShipIds:g}){return(0,b.jsx)("ul",{"aria-label":"Ships",className:"overflow-hidden rounded-lg border border-border bg-card sm:hidden",children:a.map(a=>(0,b.jsxs)("li",{"data-testid":`fleet-card-${a.name}`,"data-new":c?.has(a.id)?"":void 0,className:"flex items-start gap-2 border-b border-border px-3.5 py-3 last:border-0 data-new:animate-highlight",children:[(0,b.jsxs)("div",{className:"flex min-w-0 grow flex-col gap-1.5",children:[(0,b.jsx)("div",{className:"text-body-touch",children:(0,b.jsx)(cl,{ship:a})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(O.StatusBadge,{status:a.status}),(0,b.jsx)(cd,{ship:a,squadron:f?.get(a.id),isPluginShip:g?.has(a.id)??!1})]}),(0,b.jsx)(cf,{ship:a,squadron:f?.get(a.id)}),(0,b.jsx)(cg,{ship:a,now:d,next:e?.(a,"next")}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1",children:[(0,b.jsx)(ce,{ship:a,now:d}),(0,b.jsx)(bS,{seenAt:a.lastSeenAt,now:d})]})]}),e?.(a,"phone")]},a.id))})}function cp({ships:a,view:c,onViewChange:d,state:e,error:f,highlightedShipIds:h,now:i,renderRowActions:j,emptyAction:k,squadronsOf:l,labels:m,pluginShipIds:n}){var o,p,q;let r,s,t;if("loading"===e)return(0,b.jsxs)("div",{"data-slot":"fleet-table","data-state":"loading",className:"flex flex-col gap-3",children:[(0,b.jsx)(aF.LoadingSkeleton,{variant:"table",rows:6,label:"Loading the fleet",className:"max-sm:hidden"}),(0,b.jsx)(aF.LoadingSkeleton,{variant:"list",rows:5,label:"Loading the fleet",className:"sm:hidden"})]});if("error"===e)return(0,b.jsx)(aC.InlineError,{variant:"page",title:"Couldn’t load the fleet",description:"This page couldn’t reach the fleet server. Check that the server is running and reachable from this browser, then try again.",detail:f?.detail,retryNote:f?.retryNote,onRetry:f?.onRetry});let u={highlightedShipIds:h,now:i,renderRowActions:j,squadronsOf:l,pluginShipIds:n};if(a.every(a=>"operator"===a.kind||"retired"===a.status)){let c=a.filter(a=>"operator"===a.kind);return(0,b.jsxs)("div",{"data-slot":"fleet-table","data-state":"empty",className:"flex flex-col gap-3",children:[(0,b.jsx)(cn,{ships:c,labels:m,...u}),(0,b.jsx)(co,{ships:c,...u}),(0,b.jsx)(aB.EmptyState,{icon:(0,b.jsx)(N.Ship,{}),title:"No ships besides argo yet",description:"argo is your own ship: messages to the operator land in its inbox. Commission a ship to add an agent to the fleet.",action:k})]})}let v=(s=null===(o={...c,squadronsOf:l,pluginShipIds:n}).sort?an:(p=o.sort,q=o.squadronsOf,r=("ascending"===p.direction?1:-1)*("seen"===p.column?-1:1),(a,b)=>{let c=ag(a,{column:p.column,squadronsOf:q}),d=ag(b,{column:p.column,squadronsOf:q});return void 0===c||void 0===d?Number(void 0===c)-Number(void 0===d):r*c.localeCompare(d,void 0,{sensitivity:"base"})}),a.filter(a=>{let b;return(""===(b=o.query.trim().toLowerCase())||a.name.toLowerCase().includes(b)||a.type.toLowerCase().includes(b))&&function(a,b){let{filters:c,squadronsOf:d,pluginShipIds:e=al}=b;if("retired"===a.status&&!c.isRetiredShown)return!1;let f="retired"===a.status?void 0:a.status;return am(c.squadron,d?.get(a.id)?.squadronId)&&am(c.status,f)&&am(c.crewRequest,(0,aj.crewRequestKey)((0,ah.crewRequestStage)(a)))&&am(c.kind,"operator"===a.kind||"viewer"===a.kind?"console":e.has(a.id)?"plugin":"trierarch"===a.type?"trierarch":(null===a.harness?void 0:ad[a.harness])??"other")&&am(c.type,a.type)&&(0,ai.carriesEvery)(a,c.labelValueIds)}(a,o)}).toSorted((a,b)=>s(a,b)||a.name.localeCompare(b.name)||a.id.localeCompare(b.id))),w=c.query.trim();return(0,b.jsxs)("div",{"data-slot":"fleet-table","data-state":"ready",className:"flex flex-col gap-3",children:[(0,b.jsx)(ck,{ships:a,view:c,onViewChange:d,shownCount:v.length,squadronsOf:l,labels:m}),void 0===m?null:(0,b.jsx)(b6,{groups:(0,ai.filterGroupsOf)(m),picked:(0,ai.pickedChips)(c.filters.labelValueIds,m),onPick:a=>{d(b8(c,[...c.filters.labelValueIds,a]))},onRemove:a=>{d(b8(c,c.filters.labelValueIds.filter(b=>b!==a)))},onClear:()=>{d(b8(c,[]))}}),0===v.length?(0,b.jsx)(aB.EmptyState,{variant:"no-results",title:""===w?"No ships match these filters.":`No ships match “${w}”.`,action:(0,b.jsx)(g.Button,{size:"xs","data-testid":"fleet-clear-filters",onClick:()=>{d({...ak,sort:c.sort})},children:(t=as(c.filters)>0,""===w?"Clear filters":t?"Clear search and filters":"Clear search")})}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(cn,{ships:v,labels:m,sort:c.sort,onSort:a=>{var b;d({...c,sort:(b=c.sort,b?.column!==a?{column:a,direction:"ascending"}:"ascending"===b.direction?{column:a,direction:"descending"}:null)})},...u}),(0,b.jsx)(co,{ships:v,...u})]})]})}function cq({view:a,onViewChange:c,newShipIds:d,renderRowActions:e}){let f=(0,o.useFleetSnapshot)(),g=(0,q.useNow)(),h=(0,E.useSquadrons)(),i=(0,o.useLabelContext)(),j=(0,U.usePluginShipIds)();return(0,b.jsx)("section",{"aria-label":"Fleet",className:"flex flex-col gap-3",children:(0,b.jsx)(cp,{ships:f.data??[],view:a,onViewChange:c,state:f.isPending?"loading":f.isError?"error":"ready",error:{detail:f.error?.message,onRetry:()=>{f.refetch()}},highlightedShipIds:d,now:g,renderRowActions:e,squadronsOf:h.data?(0,V.shipsInSquadrons)(h.data):void 0,labels:i,pluginShipIds:j})})}var cr=a.i(53805),cs=a.i(71027),ct=a.i(21521),cu=a.i(91003),cv=a.i(38023),cw=a.i(73224),cx=a.i(65563),cy=a.i(67336),cz=a.i(37462),cA=a.i(34159);a.s(["OverviewPage",0,function({view:a,isCommissionAsked:i}){let j=(0,e.useRouter)(),k=(0,o.useFleetSnapshot)(),l=(0,cy.useLiveFleet)(),m=(0,cv.useConsoleFrame)(),n=(0,C.messageLimitReached)((0,A.useFleetLimits)().data),p=(0,B.useHostedAccountUrl)(),q=(0,cx.useAccess)(),r=(0,cA.usePluginNav)(),[u,v]=(0,f.useState)(!1),[w,x]=(0,f.useOptimistic)(a);(0,cz.useSignInWhenSessionEnds)([k.error,l.error]);let y=a=>{let b=(function(a){let b=new URLSearchParams;for(let[c,d]of(""!==a.query&&b.set("q",a.query),[["status",a.filters.status],["crew",a.filters.crewRequest],["kind",a.filters.kind],["type",a.filters.type],["squadron",a.filters.squadron]]))for(let a of d)b.append(c,a);for(let c of(a.filters.isRetiredShown&&b.set("retired","1"),a.filters.labelValueIds))b.append("label",c);return null!==a.sort&&(b.set("sort",a.sort.column),"descending"===a.sort.direction&&b.set("order","desc")),b})(a).toString();(0,f.startTransition)(()=>{x(a),j.replace(""===b?"/":`/?${b}`,{scroll:!1})})};return(0,b.jsxs)(cu.ListPage,{...m,title:"Fleet overview",description:k.data?function(a){let b=s(a.ships).length,c=a.ships.filter(a=>"agent"===a.kind&&"retired"===a.status).length;if(0===b&&0===c)return a.canCommission?"Only argo so far. Ships you commission appear here.":"Only argo so far.";let d=0===c?"":`, ${String(c)} retired`;return`${1===b?"1 active ship":`${String(b)} active ships`} and argo${d}. Changes appear as they happen.`}({ships:k.data,canCommission:q.canManage}):"Loading your fleet",primaryAction:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 max-sm:flex-col max-sm:items-stretch",children:[(0,b.jsx)(g.Button,{render:(0,b.jsx)(d.default,{href:"/labels"}),nativeButton:!1,icon:(0,b.jsx)(c.Tag,{}),"data-testid":"overview-labels",children:q.canDefineLabels?"Manage labels":"View labels"}),q.canManage?(0,b.jsx)(I,{isOpen:u||i,onOpenChange:b=>{v(b),!b&&i&&y(a)}}):null]}),live:l.live,children:[(0,b.jsx)(cw.FleetSegments,{active:"ships",needsCrewCount:r.needsCrewCount}),void 0===n?null:(0,b.jsx)(ct.LimitNotice,{...(0,C.messageLimitNotice)(n),accountUrl:p,testId:"overview-message-limit"}),(0,b.jsx)(T,{}),(0,b.jsx)(t,{}),(0,b.jsx)(cq,{view:w,onViewChange:y,newShipIds:l.newShipIds,renderRowActions:(a,c)=>(0,b.jsx)(cr.ShipActions,{ship:a,layout:"table"===c?"menu":"phone"===c?"sheet":"next",compose:h.ComposeMessage,crewLineFlow:cs.NewCrewLineFlow})})]})}],59446)}];
2
2
 
3
3
  //# sourceMappingURL=packages_console_app_%28console%29_overview-page_tsx_15siba6._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[14991,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(72131),e=a.i(88191),f=a.i(91003),g=a.i(7963),h=a.i(97024),i=a.i(68271),j=a.i(64831);let k={name:"circle-slash",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]};k.node;let l=(0,j.default)(k),m={name:"replace",size:24,node:[["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]};m.node;let n=(0,j.default)(m);var o=a.i(74746),p=a.i(80487),q=a.i(72872),r=a.i(58856),s=a.i(76166),t=a.i(12068),u=a.i(45098);a.s([],4434),a.i(4434);var v=a.i(1811),w=a.i(57738),x=a.i(62824),y=a.i(24715),z=a.i(94552),A=a.i(7436),B=a.i(7393),C=a.i(27576);let D={checked:a=>a?{"data-checked":""}:{"data-unchecked":""},...B.transitionStatusMapping,...C.fieldValidityMapping};var E=a.i(85933),F=a.i(557),G=a.i(26184),H=a.i(21436),I=a.i(79587),J=a.i(96511),K=a.i(1230),L=a.i(32362),M=a.i(77260),N=a.i(46919),O=a.i(69476);let P=d.createContext(void 0);var Q=a.i(76224),R=a.i(54662);let S=d.createContext(void 0),T=d.forwardRef(function(a,c){let{render:e,className:f,disabled:g=!1,readOnly:h=!1,required:i=!1,"aria-labelledby":j,value:k,inputRef:l,nativeButton:m=!1,id:n,style:o,...p}=a,q=d.useContext(P),{disabled:r,readOnly:s,required:t,form:u,checkedValue:B,touched:C=!1,validation:R,name:T,setCheckedValue:U=y.NOOP,setTouched:V=y.NOOP,registerInputRef:W=y.NOOP}=q??{},{setTouched:X,setFilled:Y,state:Z,disabled:$}=(0,K.useFieldRootContext)(),_=(0,L.useFieldItemContext)(),{labelId:aa,getDescriptionProps:ab}=(0,M.useLabelableContext)(),ac=$||_.disabled||r||g,ad=s||h,ae=t||i,af=q?B===k:""===k,ag=d.useRef(null),ah=d.useRef(null),ai=R?.registerInput,aj=d.useCallback(a=>ai?.(a,{controlRef:ag,value:void 0}),[ai]),ak=(0,v.useMergedRefs)(l,ah,W,aj);(0,w.useIsoLayoutEffect)(()=>{ah.current?.checked&&Y(!0)},[Y]),(0,w.useIsoLayoutEffect)(()=>{if(ah.current){if(ac&&af)return void W(null);W(ah.current)}},[af,ac,W]);let al=(0,F.useBaseUiId)(),am=(0,O.useLabelableId)({id:n}),an=m?void 0:am,ao={role:"radio","aria-checked":af,"aria-labelledby":(0,N.useAriaLabelledBy)(j,aa,ah,!m,an),[I.ACTIVE_COMPOSITE_ITEM]:af?"":void 0,id:m?am:al,onKeyDown(a){"Enter"===a.key&&a.preventDefault()},onClick(a){if(a.defaultPrevented||ac||ad)return;a.preventDefault();let b=ah.current;b&&(0,E.dispatchClickWithModifiers)(b,a)},onFocus(a){a.defaultPrevented||ac||ad||!C||(ah.current?.click(),V(!1))}},{getButtonProps:ap,buttonRef:aq}=(0,H.useButton)({disabled:ac,native:m,composite:!1}),ar={type:"radio",ref:ak,form:u,id:an,name:T,tabIndex:-1,style:T?x.visuallyHiddenInput:x.visuallyHidden,"aria-hidden":!0,...void 0!==k?{value:(0,Q.serializeValue)(k)}:y.EMPTY_OBJECT,disabled:ac,checked:af,required:ae,readOnly:ad,onChange(a){if(a.nativeEvent.defaultPrevented||ac||ad||void 0===k)return;let b=(0,z.createChangeEventDetails)(A.REASONS.none,a.nativeEvent);U(k,b),b.isCanceled||X(!0)},onClick(a){a.stopPropagation()},onFocus(){ag.current?.focus()}},as=d.useMemo(()=>({...Z,required:ae,disabled:ac,readOnly:ad,checked:af}),[Z,ac,ad,af,ae]),at=void 0!==q,au=[c,ag,aq],av=[ao,p,ap,ab,R?a=>R.getValidationProps(ac,a):y.EMPTY_OBJECT],aw=(0,G.useRenderElement)("span",a,{enabled:!at,state:as,ref:au,props:av,stateAttributesMapping:D});return(0,b.jsxs)(S.Provider,{value:as,children:[at?(0,b.jsx)(J.CompositeItem,{tag:"span",render:e,className:f,style:o,state:as,refs:au,props:av,stateAttributesMapping:D}):aw,(0,b.jsx)("input",{...ar,suppressHydrationWarning:!0})]})});var U=a.i(5687),V=a.i(48250);let W=d.forwardRef(function(a,b){let{render:c,className:e,style:f,keepMounted:g=!1,...h}=a,i=function(){let a=d.useContext(S);if(void 0===a)throw Error((0,R.default)(52));return a}(),j=i.checked,{mounted:k,transitionStatus:l,setMounted:m}=(0,V.useTransitionStatus)(j),n={...i,transitionStatus:l},o=d.useRef(null),p=(0,G.useRenderElement)("span",a,{ref:[b,o],state:n,props:h,stateAttributesMapping:D});return((0,U.useOpenChangeComplete)({batch:!0,enabled:!j,open:j,ref:o,onComplete(){j||m(!1)}}),g||k)?p:null});a.s(["Indicator",0,W,"Root",0,T],42851);var X=a.i(42851),X=X,Y=a.i(50381),Z=a.i(54401),$=a.i(30116),_=a.i(69649),aa=a.i(1548),ab=a.i(58589),ac=a.i(17326),ad=a.i(71154),ae=a.i(41302),af=a.i(64072);let ag=[_.SHIFT],ah=d.forwardRef(function(a,c){let{render:e,className:f,disabled:g,readOnly:h,required:i,onValueChange:j,value:k,defaultValue:l,form:m,name:n,inputRef:o,id:p,style:q,...r}=a,{setTouched:s,setFocused:t,validationMode:u,name:v,disabled:w,state:x,validation:y,setDirty:z,setFilled:A,validityData:B}=(0,K.useFieldRootContext)(),{labelId:D}=(0,M.useLabelableContext)(),{clearErrors:E,elementRef:G}=(0,ae.useFormContext)(),H=(0,ad.useFieldsetRootContext)(!0),I=w||g,J=v??n,L=(0,F.useBaseUiId)(p),[N,O]=(0,Y.useControlled)({controlled:k,default:l,name:"RadioGroup",state:"value"}),[Q,R]=d.useState(!1),S=(0,Z.useStableCallback)((a,b)=>{j?.(a,b),b.isCanceled||O(a)}),T=y.getInputControl,U=d.useMemo(()=>({get current(){return T()}}),[T]),V=d.useRef(null),W=d.useRef(null);function X(a){let b;return o&&("function"==typeof o?b=o(a):o.current=a),V.current=a,b}let _=(0,Z.useStableCallback)(a=>{if(!a||a.disabled)return;W.current||(W.current=a);let b=V.current,c=a.checked||null==b||b.disabled?X(a):void 0;return()=>{W.current===a&&(W.current=null),V.current===a?c?(c(),V.current=null):X(null):c?.()}}),ah=(0,Z.useStableCallback)(()=>{let a=G.current;if(!a)return N??null;for(let b of y.registeredInputs.keys())if(b.checked&&(0,ac.isEligibleInput)(b,a))return N??null;return null});(0,ab.useRegisterFieldControl)(U,L,N??null,ah,!I,n),(0,af.useValueChanged)(N,()=>{E(J),z(N!==B.initialValue),A(null!=N),y.change(N);let a=W.current;null==N&&a&&!a.disabled&&X(a)});let ai=D??H?.legendId,aj={...x,disabled:I??!1,required:i??!1,readOnly:h??!1},ak=d.useMemo(()=>({checkedValue:N,disabled:I,form:m,validation:y,name:J,readOnly:h,registerInputRef:_,required:i,setCheckedValue:S,setTouched:R,touched:Q}),[N,I,m,y,J,h,_,i,S,R,Q]);return(0,b.jsx)(P.Provider,{value:ak,children:(0,b.jsx)(aa.CompositeRoot,{render:e,className:f,style:q,state:aj,props:[{id:p,role:"radiogroup","aria-required":i||void 0,"aria-disabled":I||void 0,"aria-readonly":h||void 0,"aria-labelledby":ai,onFocus(){t(!0)},onBlur(a){(0,$.contains)(a.currentTarget,a.relatedTarget)||(s(!0),t(!1),"onBlur"===u&&y.commit(N))},onKeyDownCapture(a){a.key.startsWith("Arrow")&&(R(!0),t(!0))}},r,a=>y.getValidationProps(I??!1,a)],refs:[c],stateAttributesMapping:C.fieldValidityMapping,enableHomeAndEndKeys:!1,modifierKeys:ag})})});function ai({className:a,...c}){return(0,b.jsx)(ah,{"data-slot":"radio-group",className:(0,p.classNames)("flex flex-col gap-2",a),...c})}function aj({className:a,...c}){return(0,b.jsx)(X.Root,{"data-slot":"radio-group-item",className:(0,p.classNames)("inline-flex size-4 shrink-0 items-center justify-center rounded-full border border-input bg-background transition-colors duration-(--duration-fast) outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring data-checked:border-primary data-disabled:opacity-45",a),...c,children:(0,b.jsx)(X.Indicator,{"data-slot":"radio-group-indicator",className:"size-2 rounded-full bg-primary"})})}var ak=a.i(94777),al=a.i(72309),am=a.i(24173),an=a.i(40392),ao=a.i(50808),ap=a.i(27530),aq=a.i(90468);let ar=[{value:"open",label:"Open"},{value:"answered",label:"Answered"},{value:"stale",label:"Stale"},{value:"all",label:"All"}],as={title:"No questions for you",description:"When a ship asks argo a question, it shows up here with its options. You answer it from the question."},at={open:as,answered:{title:"Nothing answered yet",description:"Questions you answer show up here."},stale:{title:"Nothing stale",description:"Questions their ship withdrew or replaced before you answered show up here."},all:as};function au({state:a}){let c="size-(--size-icon-sm) shrink-0 text-muted-foreground";switch(a){case"Answered":return(0,b.jsx)(h.CircleCheck,{"aria-hidden":!0,className:c});case"Withdrawn":return(0,b.jsx)(l,{"aria-hidden":!0,className:c});case"Replaced":return(0,b.jsx)(n,{"aria-hidden":!0,className:c});case"Open":return null}}function av({filter:a,onFilterChange:c,counts:d}){return(0,b.jsx)(ak.Tabs,{value:a,onValueChange:a=>{let b=ar.find(b=>b.value===a);b&&c(b.value)},children:(0,b.jsx)(ak.TabsList,{"aria-label":"Show",className:"max-sm:w-full",children:ar.map(({value:a,label:c})=>(0,b.jsxs)(ak.TabsTrigger,{value:a,"data-testid":`questions-filter-${a}`,className:"max-sm:grow",children:[c,void 0===d[a]?null:(0,b.jsx)(ak.TabsCount,{children:d[a]})]},a))})})}function aw({questions:a,selectedId:c,onSelect:d,now:e}){return(0,b.jsx)("ul",{"aria-label":"Questions to argo",className:"flex flex-col max-sm:gap-2",children:a.map(a=>{let f=new Date(a.message.sentAt),g=function(a){if(null!==a.question.answer)return"Answered";switch(a.stale?.kind){case"withdrawn":return"Withdrawn";case"replaced":return"Replaced";case void 0:return"Open"}}(a),h="Open"===g,i=a.deliveryId===c;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button","data-testid":"questions-row","data-delivery-id":a.deliveryId,"aria-current":i?"true":void 0,onClick:()=>{d(a.deliveryId)},className:"relative flex w-full min-w-0 flex-col gap-1 border-b border-border py-2.5 pr-3 pl-5 text-left transition-colors duration-(--duration-fast) outline-none hover:bg-accent focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring aria-[current=true]:bg-accent max-sm:rounded-lg max-sm:border max-sm:bg-card max-sm:py-3",children:[h?(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute top-4 left-2 size-1.5 rounded-full bg-primary max-sm:top-4.5"}):null,(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)(au,{state:g}),(0,b.jsx)(aq.ShipName,{name:a.message.sender.name,shipId:a.message.sender.id,isSuffixShown:!0,className:(0,p.classNames)("min-w-0",h?"font-semibold":"text-muted-foreground")}),(0,b.jsx)("time",{dateTime:a.message.sentAt,title:(0,q.fullDateTime)(f),className:"ml-auto shrink-0 text-meta text-muted-foreground tabular-nums",children:e.getTime()-f.getTime()<864e5?(0,q.clockTime)(f):(0,q.shortDateTime)(f)})]}),(0,b.jsx)("span",{className:(0,p.classNames)("block min-w-0 truncate text-meta max-sm:text-body",null===a.stale?"text-foreground":"text-muted-foreground line-through"),children:a.question.title}),(0,b.jsx)("span",{className:"sr-only",children:g})]})},a.deliveryId)})})}function ax({question:a}){let{answer:c,options:d}=a.question;if(null===c)return null;let e=new Date(c.sentAt),f=d.find(({key:a})=>a===c.option);return(0,b.jsxs)("div",{"data-testid":"questions-answered",className:"flex flex-col gap-1 rounded-md border border-tone-ok-border bg-tone-ok-bg px-3 py-2 text-meta text-tone-ok-fg",children:[(0,b.jsxs)("p",{className:"flex items-center gap-2 [&_svg]:size-(--size-icon-sm) [&_svg]:shrink-0",children:[(0,b.jsx)(h.CircleCheck,{"aria-hidden":!0}),(0,b.jsxs)("span",{children:["Answered at"," ",(0,b.jsx)("time",{dateTime:c.sentAt,title:(0,q.fullDateTime)(e),children:(0,q.clockTime)(e)}),void 0===f?" with a note.":`: ${f.key}. ${f.label}`]})]}),null===c.note?null:(0,b.jsx)("p",{className:"whitespace-pre-wrap [overflow-wrap:anywhere]",children:c.note})]})}function ay({deliveryId:a,title:c,onSelect:d,testId:e}){return(0,b.jsx)("button",{type:"button","data-testid":e,onClick:()=>{d(a)},className:"min-w-0 text-left font-medium text-foreground underline underline-offset-2 [overflow-wrap:anywhere] hover:text-primary focus-visible:outline-2 focus-visible:outline-ring",children:c})}function az({question:a,onSelect:c}){let{stale:d}=a;if(null===d)return null;let e=new Date(d.sentAt),f=(0,b.jsx)("time",{dateTime:d.sentAt,title:(0,q.fullDateTime)(e),children:(0,q.clockTime)(e)});return(0,b.jsxs)("div",{role:"status","data-testid":"questions-stale",className:"flex flex-col gap-1 rounded-md border border-tone-ended-border bg-tone-ended-bg px-3 py-2 text-meta text-tone-ended-fg",children:[(0,b.jsxs)("p",{className:"flex items-center gap-2 [&_svg]:size-(--size-icon-sm) [&_svg]:shrink-0",children:["withdrawn"===d.kind?(0,b.jsx)(l,{"aria-hidden":!0}):(0,b.jsx)(n,{"aria-hidden":!0}),(0,b.jsxs)("span",{children:["withdrawn"===d.kind?"Withdrawn":"Replaced"," by ",a.message.sender.name," at ",f,". It can’t be answered."]})]}),"replaced"===d.kind?(0,b.jsxs)("p",{className:"flex flex-wrap items-baseline gap-1",children:["Answer the new question:"," ",(0,b.jsx)(ay,{deliveryId:d.deliveryId,title:d.by.title,onSelect:c,testId:"questions-replacement"})]}):null]})}function aA({option:a,pick:c,asker:d}){let e=a.key===c.option;return(0,b.jsxs)("span",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,b.jsxs)("span",{className:"flex flex-wrap items-center gap-2 font-medium text-foreground",children:[a.key,". ",a.label,e?(0,b.jsxs)(s.Badge,{variant:"outline",children:[d,"’s pick"]}):null]}),""===a.detail?null:(0,b.jsx)("span",{className:"text-meta text-muted-foreground",children:a.detail}),e?(0,b.jsxs)("span",{className:"text-meta text-muted-foreground",children:["Why: ",c.why]}):null]})}function aB({question:a}){let{options:c,pick:d,answer:e}=a.question;return(0,b.jsx)("ol",{"aria-label":"Options",className:"flex flex-col gap-2",children:c.map(c=>(0,b.jsx)("li",{"data-testid":`questions-option-${c.key}`,className:(0,p.classNames)("rounded-md border px-3 py-2.5",e?.option===c.key?"border-primary bg-accent":"border-border bg-card"),children:(0,b.jsx)(aA,{option:c,pick:d,asker:a.message.sender.name})},c.key))})}function aC({question:a,onAnswer:c,isPending:e,isPhone:f}){let g=(0,d.useId)(),h=(0,d.useId)(),[i,j]=(0,d.useState)(void 0),[k,l]=(0,d.useState)(""),m=(0,r.useShortcutPlatform)(),{options:n,pick:p}=a.question,q=a.message.sender.name,s=void 0===i&&""===k.trim();return(0,b.jsxs)("form",{className:"flex flex-col gap-3",onSubmit:b=>{if(b.preventDefault(),s||e)return;let d=k.trim();c({deliveryId:a.deliveryId,answer:void 0===i?{note:d}:{option:i,...""===d?{}:{note:d}}})},children:[(0,b.jsx)(ai,{"aria-label":"Options",onValueChange:a=>{j(a)},children:n.map(a=>{let c=`${g}-option-${a.key}`;return(0,b.jsxs)("div",{"data-testid":`questions-option-${a.key}`,className:"flex items-start gap-2.5 rounded-md border border-border bg-card px-3 py-2.5 has-data-checked:border-primary",children:[(0,b.jsx)(aj,{id:c,value:a.key,className:"mt-0.5"}),(0,b.jsx)("label",{htmlFor:c,className:"min-w-0 grow cursor-pointer",children:(0,b.jsx)(aA,{option:a,pick:p,asker:q})})]},a.key)})}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 border-t border-border pt-3",children:[(0,b.jsxs)(u.Label,{htmlFor:g,children:["Note to ",q]}),(0,b.jsx)(al.Textarea,{id:g,rows:3,size:f?"touch":"md",placeholder:"Optional with an option; on its own, ask for more context or say none fits",value:k,onChange:a=>{l(a.target.value)},onKeyDown:r.submitOnSendShortcut,"aria-describedby":h,"data-testid":"questions-note"}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("p",{id:h,className:"text-meta text-muted-foreground",children:["Sent as a reply to ",q,"; also marks the message done."]}),(0,b.jsxs)(t.Button,{type:"submit",variant:"primary",size:f?"touch":"sm",icon:(0,b.jsx)(o.Send,{"aria-hidden":!0}),isLoading:e,disabled:s&&!e,"aria-keyshortcuts":null===m?void 0:(0,r.sendShortcutAria)(m),"data-testid":"questions-send",children:["Send answer",null===m?null:(0,b.jsx)(ap.SendShortcutHint,{platform:m})]})]})]})]})}function aD({question:a,onAnswer:c,onSelect:d,pendingIds:e,isPhone:f,isReadOnly:g=!1}){let h=new Date(a.message.sentAt),i=a.message.sender,j=null===a.question.answer&&null===a.stale;return(0,b.jsxs)("article",{"aria-label":a.question.title,"data-testid":"questions-question",className:(0,p.classNames)("flex min-h-0 flex-col gap-3",f?"grow":"h-full"),children:[(0,b.jsxs)("header",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,b.jsx)("h2",{className:"min-w-0 text-heading font-semibold [overflow-wrap:anywhere]",children:a.question.title}),(0,b.jsxs)("p",{className:"flex flex-wrap items-center gap-1 text-meta text-muted-foreground",children:["From ",(0,b.jsx)(aq.ShipName,{name:i.name,shipId:i.id,isSuffixShown:!0})," ·"," ",(0,b.jsx)("time",{dateTime:a.message.sentAt,title:(0,q.fullDateTime)(h),children:(0,q.shortDateTime)(h)})]}),null===a.replaces?null:(0,b.jsxs)("p",{className:"flex flex-wrap items-baseline gap-1 text-meta text-muted-foreground",children:["Replaces"," ",(0,b.jsx)(ay,{deliveryId:a.replaces.deliveryId,title:a.replaces.title,onSelect:d,testId:"questions-replaces"})]})]}),(0,b.jsx)(ax,{question:a}),(0,b.jsx)(az,{question:a,onSelect:d}),(0,b.jsxs)("div",{className:"flex min-h-0 grow flex-col gap-3 overflow-y-auto",children:[""===a.question.context?null:(0,b.jsx)("p",{className:"text-body whitespace-pre-wrap text-foreground [overflow-wrap:anywhere] max-sm:text-body-touch",children:a.question.context}),!j||g?(0,b.jsx)(aB,{question:a}):(0,b.jsx)(aC,{question:a,onAnswer:c,isPending:e.has(a.deliveryId),isPhone:f})]}),g&&j?(0,b.jsx)("p",{"data-testid":"questions-read-only",className:"border-t border-border pt-3 text-meta text-muted-foreground",children:"Read-only: you see argo’s questions, and can’t answer them."}):null]})}function aE({questions:a,filter:c,onFilterChange:d,counts:e,selectedId:f,onSelect:h,state:j,onRetry:k,now:l,...m}){if("loading"===j)return(0,b.jsxs)("div",{"data-slot":"operator-questions","data-state":"loading",className:"grid gap-4 sm:grid-cols-[minmax(0,2fr)_minmax(0,3fr)]",children:[(0,b.jsx)(ao.LoadingSkeleton,{variant:"list",rows:5,label:"Loading the questions"}),(0,b.jsx)(ao.LoadingSkeleton,{variant:"detail",label:"Loading the question",className:"max-sm:hidden"})]});if("error"===j)return(0,b.jsx)("div",{"data-slot":"operator-questions","data-state":"error","data-testid":"questions-error",children:(0,b.jsx)(an.InlineError,{variant:"page",title:"Couldn’t load the questions",description:"This page couldn’t reach the fleet server. Questions to argo are stored on the server, so nothing is lost.",onRetry:k})});let n=a.find(a=>a.deliveryId===f),o=(0,b.jsx)(av,{filter:c,onFilterChange:d,counts:e}),p=(0,b.jsx)("div",{"data-testid":"questions-empty",children:(0,b.jsx)(am.EmptyState,{icon:(0,b.jsx)(i.CircleHelp,{}),title:at[c].title,description:at[c].description})});return(0,b.jsxs)("div",{"data-slot":"operator-questions","data-state":"ready",children:[(0,b.jsxs)("div",{className:"grid min-h-128 grid-cols-[minmax(0,2fr)_minmax(0,3fr)] overflow-hidden rounded-lg border border-border bg-card max-sm:hidden",children:[(0,b.jsxs)("div",{className:"flex min-h-0 flex-col border-r border-border",children:[(0,b.jsx)("div",{className:"border-b border-border p-2.5",children:o}),0===a.length?(0,b.jsx)("div",{className:"p-4",children:p}):(0,b.jsx)(aw,{questions:a,selectedId:f,onSelect:h,now:l})]}),(0,b.jsx)("div",{className:"flex min-h-0 flex-col bg-background p-5",children:n?(0,b.jsx)(aD,{question:n,isPhone:!1,onSelect:h,...m}):(0,b.jsx)("p",{className:"m-auto text-meta text-muted-foreground",children:0===a.length?null:!0===m.isReadOnly?"Choose a question to read it.":"Choose a question to answer it."})})]}),(0,b.jsx)("div",{className:"flex flex-col gap-3 sm:hidden",children:n?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.Button,{variant:"ghost",size:"touch",icon:(0,b.jsx)(g.ChevronLeft,{"aria-hidden":!0}),className:"-ml-2 self-start","data-testid":"questions-back",onClick:()=>{h(void 0)},children:"Questions"}),(0,b.jsx)(aD,{question:n,isPhone:!0,onSelect:h,...m})]}):(0,b.jsxs)(b.Fragment,{children:[o,0===a.length?p:(0,b.jsx)(aw,{questions:a,selectedId:f,onSelect:h,now:l})]})})]})}var aF=a.i(65563),aG=a.i(38023),aH=a.i(67336),aI=a.i(68450),aJ=a.i(28648),aK=a.i(10572);a.s(["QuestionsPageFor",0,function({filterParameter:a,selectedId:g}){let h=(0,c.useRouter)(),i=(0,aI.useNow)(),j=(0,aJ.readQuestionFilter)(a),k=(0,aJ.useQuestions)(),l=(0,aJ.useAnswer)(),m=(0,aH.useLiveFleet)(),n=(0,aG.useConsoleFrame)();(0,aK.useSignInWhenSessionEnds)([m.error]);let o=(0,aF.useAccess)(),[p,q]=(0,d.useState)(new Set),r=k.data??[],s=a=>{h.replace((0,aJ.questionsPathOf)(a),{scroll:!1})};return(0,b.jsx)(f.ListPage,{...n,title:"Questions",description:"Questions ships asked argo, with their options and the asker’s pick. Answering sends your answer back as a reply.",live:m.live,children:(0,b.jsx)(aE,{isReadOnly:!o.canReceive,questions:(0,aJ.questionsFor)(r,j),filter:j,onFilterChange:a=>{s({filter:a})},counts:k.data?(0,aJ.questionFilterCounts)(r):{},selectedId:g,onSelect:a=>{void 0===a?s({filter:j}):s({filter:(0,aJ.questionsFor)(r,j).some(b=>b.deliveryId===a)?j:"all",deliveryId:a})},state:k.isError?"error":k.data?"ready":"loading",onRetry:()=>{k.refetch()},onAnswer:({deliveryId:a,answer:b})=>{q(b=>new Set([...b,a])),l.mutateAsync({deliveryId:a,answer:b,idempotencyKey:`answer-${a}-${crypto.randomUUID()}`}).catch(a=>{(0,e.showToast)({title:"Couldn’t send the answer",description:a instanceof Error?a.message:"Try again in a moment.",tone:"error"})}).finally(()=>{q(b=>new Set([...b].filter(b=>b!==a)))})},pendingIds:p,now:i})})}],14991)}];
1
+ module.exports=[14991,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(72131),e=a.i(88191),f=a.i(91003),g=a.i(7963),h=a.i(97024),i=a.i(68271),j=a.i(64831);let k={name:"circle-slash",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]};k.node;let l=(0,j.default)(k),m={name:"replace",size:24,node:[["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]};m.node;let n=(0,j.default)(m);var o=a.i(74746),p=a.i(80487),q=a.i(72872),r=a.i(58856),s=a.i(76166),t=a.i(12068),u=a.i(45098);a.s([],4434),a.i(4434);var v=a.i(1811),w=a.i(57738),x=a.i(62824),y=a.i(24715),z=a.i(94552),A=a.i(7436),B=a.i(7393),C=a.i(27576);let D={checked:a=>a?{"data-checked":""}:{"data-unchecked":""},...B.transitionStatusMapping,...C.fieldValidityMapping};var E=a.i(85933),F=a.i(557),G=a.i(26184),H=a.i(21436),I=a.i(79587),J=a.i(96511),K=a.i(1230),L=a.i(32362),M=a.i(77260),N=a.i(46919),O=a.i(69476);let P=d.createContext(void 0);var Q=a.i(76224),R=a.i(54662);let S=d.createContext(void 0),T=d.forwardRef(function(a,c){let{render:e,className:f,disabled:g=!1,readOnly:h=!1,required:i=!1,"aria-labelledby":j,value:k,inputRef:l,nativeButton:m=!1,id:n,style:o,...p}=a,q=d.useContext(P),{disabled:r,readOnly:s,required:t,form:u,checkedValue:B,touched:C=!1,validation:R,name:T,setCheckedValue:U=y.NOOP,setTouched:V=y.NOOP,registerInputRef:W=y.NOOP}=q??{},{setTouched:X,setFilled:Y,state:Z,disabled:$}=(0,K.useFieldRootContext)(),_=(0,L.useFieldItemContext)(),{labelId:aa,getDescriptionProps:ab}=(0,M.useLabelableContext)(),ac=$||_.disabled||r||g,ad=s||h,ae=t||i,af=q?B===k:""===k,ag=d.useRef(null),ah=d.useRef(null),ai=R?.registerInput,aj=d.useCallback(a=>ai?.(a,{controlRef:ag,value:void 0}),[ai]),ak=(0,v.useMergedRefs)(l,ah,W,aj);(0,w.useIsoLayoutEffect)(()=>{ah.current?.checked&&Y(!0)},[Y]),(0,w.useIsoLayoutEffect)(()=>{if(ah.current){if(ac&&af)return void W(null);W(ah.current)}},[af,ac,W]);let al=(0,F.useBaseUiId)(),am=(0,O.useLabelableId)({id:n}),an=m?void 0:am,ao={role:"radio","aria-checked":af,"aria-labelledby":(0,N.useAriaLabelledBy)(j,aa,ah,!m,an),[I.ACTIVE_COMPOSITE_ITEM]:af?"":void 0,id:m?am:al,onKeyDown(a){"Enter"===a.key&&a.preventDefault()},onClick(a){if(a.defaultPrevented||ac||ad)return;a.preventDefault();let b=ah.current;b&&(0,E.dispatchClickWithModifiers)(b,a)},onFocus(a){a.defaultPrevented||ac||ad||!C||(ah.current?.click(),V(!1))}},{getButtonProps:ap,buttonRef:aq}=(0,H.useButton)({disabled:ac,native:m,composite:!1}),ar={type:"radio",ref:ak,form:u,id:an,name:T,tabIndex:-1,style:T?x.visuallyHiddenInput:x.visuallyHidden,"aria-hidden":!0,...void 0!==k?{value:(0,Q.serializeValue)(k)}:y.EMPTY_OBJECT,disabled:ac,checked:af,required:ae,readOnly:ad,onChange(a){if(a.nativeEvent.defaultPrevented||ac||ad||void 0===k)return;let b=(0,z.createChangeEventDetails)(A.REASONS.none,a.nativeEvent);U(k,b),b.isCanceled||X(!0)},onClick(a){a.stopPropagation()},onFocus(){ag.current?.focus()}},as=d.useMemo(()=>({...Z,required:ae,disabled:ac,readOnly:ad,checked:af}),[Z,ac,ad,af,ae]),at=void 0!==q,au=[c,ag,aq],av=[ao,p,ap,ab,R?a=>R.getValidationProps(ac,a):y.EMPTY_OBJECT],aw=(0,G.useRenderElement)("span",a,{enabled:!at,state:as,ref:au,props:av,stateAttributesMapping:D});return(0,b.jsxs)(S.Provider,{value:as,children:[at?(0,b.jsx)(J.CompositeItem,{tag:"span",render:e,className:f,style:o,state:as,refs:au,props:av,stateAttributesMapping:D}):aw,(0,b.jsx)("input",{...ar,suppressHydrationWarning:!0})]})});var U=a.i(5687),V=a.i(48250);let W=d.forwardRef(function(a,b){let{render:c,className:e,style:f,keepMounted:g=!1,...h}=a,i=function(){let a=d.useContext(S);if(void 0===a)throw Error((0,R.default)(52));return a}(),j=i.checked,{mounted:k,transitionStatus:l,setMounted:m}=(0,V.useTransitionStatus)(j),n={...i,transitionStatus:l},o=d.useRef(null),p=(0,G.useRenderElement)("span",a,{ref:[b,o],state:n,props:h,stateAttributesMapping:D});return((0,U.useOpenChangeComplete)({batch:!0,enabled:!j,open:j,ref:o,onComplete(){j||m(!1)}}),g||k)?p:null});a.s(["Indicator",0,W,"Root",0,T],42851);var X=a.i(42851),X=X,Y=a.i(50381),Z=a.i(54401),$=a.i(30116),_=a.i(69649),aa=a.i(1548),ab=a.i(58589),ac=a.i(17326),ad=a.i(71154),ae=a.i(41302),af=a.i(64072);let ag=[_.SHIFT],ah=d.forwardRef(function(a,c){let{render:e,className:f,disabled:g,readOnly:h,required:i,onValueChange:j,value:k,defaultValue:l,form:m,name:n,inputRef:o,id:p,style:q,...r}=a,{setTouched:s,setFocused:t,validationMode:u,name:v,disabled:w,state:x,validation:y,setDirty:z,setFilled:A,validityData:B}=(0,K.useFieldRootContext)(),{labelId:D}=(0,M.useLabelableContext)(),{clearErrors:E,elementRef:G}=(0,ae.useFormContext)(),H=(0,ad.useFieldsetRootContext)(!0),I=w||g,J=v??n,L=(0,F.useBaseUiId)(p),[N,O]=(0,Y.useControlled)({controlled:k,default:l,name:"RadioGroup",state:"value"}),[Q,R]=d.useState(!1),S=(0,Z.useStableCallback)((a,b)=>{j?.(a,b),b.isCanceled||O(a)}),T=y.getInputControl,U=d.useMemo(()=>({get current(){return T()}}),[T]),V=d.useRef(null),W=d.useRef(null);function X(a){let b;return o&&("function"==typeof o?b=o(a):o.current=a),V.current=a,b}let _=(0,Z.useStableCallback)(a=>{if(!a||a.disabled)return;W.current||(W.current=a);let b=V.current,c=a.checked||null==b||b.disabled?X(a):void 0;return()=>{W.current===a&&(W.current=null),V.current===a?c?(c(),V.current=null):X(null):c?.()}}),ah=(0,Z.useStableCallback)(()=>{let a=G.current;if(!a)return N??null;for(let b of y.registeredInputs.keys())if(b.checked&&(0,ac.isEligibleInput)(b,a))return N??null;return null});(0,ab.useRegisterFieldControl)(U,L,N??null,ah,!I,n),(0,af.useValueChanged)(N,()=>{E(J),z(N!==B.initialValue),A(null!=N),y.change(N);let a=W.current;null==N&&a&&!a.disabled&&X(a)});let ai=D??H?.legendId,aj={...x,disabled:I??!1,required:i??!1,readOnly:h??!1},ak=d.useMemo(()=>({checkedValue:N,disabled:I,form:m,validation:y,name:J,readOnly:h,registerInputRef:_,required:i,setCheckedValue:S,setTouched:R,touched:Q}),[N,I,m,y,J,h,_,i,S,R,Q]);return(0,b.jsx)(P.Provider,{value:ak,children:(0,b.jsx)(aa.CompositeRoot,{render:e,className:f,style:q,state:aj,props:[{id:p,role:"radiogroup","aria-required":i||void 0,"aria-disabled":I||void 0,"aria-readonly":h||void 0,"aria-labelledby":ai,onFocus(){t(!0)},onBlur(a){(0,$.contains)(a.currentTarget,a.relatedTarget)||(s(!0),t(!1),"onBlur"===u&&y.commit(N))},onKeyDownCapture(a){a.key.startsWith("Arrow")&&(R(!0),t(!0))}},r,a=>y.getValidationProps(I??!1,a)],refs:[c],stateAttributesMapping:C.fieldValidityMapping,enableHomeAndEndKeys:!1,modifierKeys:ag})})});function ai({className:a,...c}){return(0,b.jsx)(ah,{"data-slot":"radio-group",className:(0,p.classNames)("flex flex-col gap-2",a),...c})}function aj({className:a,...c}){return(0,b.jsx)(X.Root,{"data-slot":"radio-group-item",className:(0,p.classNames)("inline-flex size-4 shrink-0 items-center justify-center rounded-full border border-input bg-background transition-colors duration-(--duration-fast) outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring data-checked:border-primary data-disabled:opacity-45",a),...c,children:(0,b.jsx)(X.Indicator,{"data-slot":"radio-group-indicator",className:"size-2 rounded-full bg-primary"})})}var ak=a.i(94777),al=a.i(72309),am=a.i(24173),an=a.i(40392),ao=a.i(50808),ap=a.i(27530),aq=a.i(90468);let ar=[{value:"open",label:"Open"},{value:"answered",label:"Answered"},{value:"stale",label:"Stale"},{value:"all",label:"All"}],as={title:"No questions for you",description:"When a ship asks argo a question, it shows up here with its options. You answer it from the question."},at={open:as,answered:{title:"Nothing answered yet",description:"Questions you answer show up here."},stale:{title:"Nothing stale",description:"Questions their ship withdrew or replaced before you answered show up here."},all:as};function au({state:a}){let c="size-(--size-icon-sm) shrink-0 text-muted-foreground";switch(a){case"Answered":return(0,b.jsx)(h.CircleCheck,{"aria-hidden":!0,className:c});case"Withdrawn":return(0,b.jsx)(l,{"aria-hidden":!0,className:c});case"Replaced":return(0,b.jsx)(n,{"aria-hidden":!0,className:c});case"Open":return null}}function av({filter:a,onFilterChange:c,counts:d}){return(0,b.jsx)(ak.Tabs,{value:a,onValueChange:a=>{let b=ar.find(b=>b.value===a);b&&c(b.value)},children:(0,b.jsx)(ak.TabsList,{"aria-label":"Show",className:"max-sm:w-full",children:ar.map(({value:a,label:c})=>(0,b.jsxs)(ak.TabsTrigger,{value:a,"data-testid":`questions-filter-${a}`,className:"max-sm:grow",children:[c,void 0===d[a]?null:(0,b.jsx)(ak.TabsCount,{children:d[a]})]},a))})})}function aw({questions:a,selectedId:c,onSelect:d,now:e}){return(0,b.jsx)("ul",{"aria-label":"Questions to argo",className:"flex flex-col max-sm:gap-2",children:a.map(a=>{let f=new Date(a.message.sentAt),g=function(a){if(null!==a.question.answer)return"Answered";switch(a.stale?.kind){case"withdrawn":return"Withdrawn";case"replaced":return"Replaced";case void 0:return"Open"}}(a),h="Open"===g,i=a.deliveryId===c;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button","data-testid":"questions-row","data-delivery-id":a.deliveryId,"aria-current":i?"true":void 0,onClick:()=>{d(a.deliveryId)},className:"relative flex w-full min-w-0 flex-col gap-1 border-b border-border py-2.5 pr-3 pl-5 text-left transition-colors duration-(--duration-fast) outline-none hover:bg-accent focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring aria-[current=true]:bg-accent max-sm:rounded-lg max-sm:border max-sm:bg-card max-sm:py-3",children:[h?(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute top-4 left-2 size-1.5 rounded-full bg-primary max-sm:top-4.5"}):null,(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)(au,{state:g}),(0,b.jsx)(aq.ShipName,{name:a.message.sender.name,shipId:a.message.sender.id,isSuffixShown:!0,className:(0,p.classNames)("min-w-0",h?"font-semibold":"text-muted-foreground")}),(0,b.jsx)("time",{dateTime:a.message.sentAt,title:(0,q.fullDateTime)(f),className:"ml-auto shrink-0 text-meta text-muted-foreground tabular-nums",children:e.getTime()-f.getTime()<864e5?(0,q.clockTime)(f):(0,q.shortDateTime)(f)})]}),(0,b.jsx)("span",{className:(0,p.classNames)("block min-w-0 truncate text-meta max-sm:text-body",null===a.stale?"text-foreground":"text-muted-foreground line-through"),children:a.question.title}),(0,b.jsx)("span",{className:"sr-only",children:g})]})},a.deliveryId)})})}function ax({question:a}){let{answer:c,options:d}=a.question;if(null===c)return null;let e=new Date(c.sentAt),f=d.find(({key:a})=>a===c.option);return(0,b.jsxs)("div",{"data-testid":"questions-answered",className:"flex flex-col gap-1 rounded-md border border-tone-ok-border bg-tone-ok-bg px-3 py-2 text-meta text-tone-ok-fg",children:[(0,b.jsxs)("p",{className:"flex items-center gap-2 [&_svg]:size-(--size-icon-sm) [&_svg]:shrink-0",children:[(0,b.jsx)(h.CircleCheck,{"aria-hidden":!0}),(0,b.jsxs)("span",{children:["Answered at"," ",(0,b.jsx)("time",{dateTime:c.sentAt,title:(0,q.fullDateTime)(e),children:(0,q.clockTime)(e)}),void 0===f?" with a note.":`: ${f.key}. ${f.label}`]})]}),null===c.note?null:(0,b.jsx)("p",{className:"whitespace-pre-wrap [overflow-wrap:anywhere]",children:c.note})]})}function ay({deliveryId:a,title:c,onSelect:d,testId:e}){return(0,b.jsx)("button",{type:"button","data-testid":e,onClick:()=>{d(a)},className:"min-w-0 text-left font-medium text-foreground underline underline-offset-2 [overflow-wrap:anywhere] hover:text-primary focus-visible:outline-2 focus-visible:outline-ring",children:c})}function az({question:a,onSelect:c}){let{stale:d}=a;if(null===d)return null;let e=new Date(d.sentAt),f=(0,b.jsx)("time",{dateTime:d.sentAt,title:(0,q.fullDateTime)(e),children:(0,q.clockTime)(e)});return(0,b.jsxs)("div",{role:"status","data-testid":"questions-stale",className:"flex flex-col gap-1 rounded-md border border-tone-ended-border bg-tone-ended-bg px-3 py-2 text-meta text-tone-ended-fg",children:[(0,b.jsxs)("p",{className:"flex items-center gap-2 [&_svg]:size-(--size-icon-sm) [&_svg]:shrink-0",children:["withdrawn"===d.kind?(0,b.jsx)(l,{"aria-hidden":!0}):(0,b.jsx)(n,{"aria-hidden":!0}),(0,b.jsxs)("span",{children:["withdrawn"===d.kind?"Withdrawn":"Replaced"," by ",a.message.sender.name," at ",f,". It can’t be answered."]})]}),"replaced"===d.kind?(0,b.jsxs)("p",{className:"flex flex-wrap items-baseline gap-1",children:["Answer the new question:"," ",(0,b.jsx)(ay,{deliveryId:d.deliveryId,title:d.by.title,onSelect:c,testId:"questions-replacement"})]}):null]})}function aA({option:a,pick:c,asker:d}){let e=a.key===c.option;return(0,b.jsxs)("span",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,b.jsxs)("span",{className:"flex flex-wrap items-center gap-2 font-medium text-foreground",children:[a.key,". ",a.label,e?(0,b.jsxs)(s.Badge,{variant:"outline",children:[d,"’s pick"]}):null]}),""===a.detail?null:(0,b.jsx)("span",{className:"text-meta text-muted-foreground",children:a.detail}),e?(0,b.jsxs)("span",{className:"text-meta text-muted-foreground",children:["Why: ",c.why]}):null]})}function aB({question:a}){let{options:c,pick:d,answer:e}=a.question;return(0,b.jsx)("ol",{"aria-label":"Options",className:"flex flex-col gap-2",children:c.map(c=>(0,b.jsx)("li",{"data-testid":`questions-option-${c.key}`,className:(0,p.classNames)("rounded-md border px-3 py-2.5",e?.option===c.key?"border-primary bg-accent":"border-border bg-card"),children:(0,b.jsx)(aA,{option:c,pick:d,asker:a.message.sender.name})},c.key))})}function aC({question:a,onAnswer:c,isPending:e,isPhone:f}){let g=(0,d.useId)(),h=(0,d.useId)(),[i,j]=(0,d.useState)(void 0),[k,l]=(0,d.useState)(""),m=(0,r.useShortcutPlatform)(),{options:n,pick:p}=a.question,q=a.message.sender.name,s=void 0===i&&""===k.trim();return(0,b.jsxs)("form",{className:"flex flex-col gap-3",onSubmit:b=>{if(b.preventDefault(),s||e)return;let d=k.trim();c({deliveryId:a.deliveryId,answer:void 0===i?{note:d}:{option:i,...""===d?{}:{note:d}}})},children:[(0,b.jsx)(ai,{"aria-label":"Options",onValueChange:a=>{j(a)},children:n.map(a=>{let c=`${g}-option-${a.key}`;return(0,b.jsxs)("div",{"data-testid":`questions-option-${a.key}`,className:"flex items-start gap-2.5 rounded-md border border-border bg-card px-3 py-2.5 has-data-checked:border-primary",children:[(0,b.jsx)(aj,{id:c,value:a.key,className:"mt-0.5"}),(0,b.jsx)("label",{htmlFor:c,className:"min-w-0 grow cursor-pointer",children:(0,b.jsx)(aA,{option:a,pick:p,asker:q})})]},a.key)})}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 border-t border-border pt-3",children:[(0,b.jsxs)(u.Label,{htmlFor:g,children:["Note to ",q]}),(0,b.jsx)(al.Textarea,{id:g,rows:3,size:f?"touch":"md",placeholder:"Optional with an option; on its own, ask for more context or say none fits",value:k,onChange:a=>{l(a.target.value)},onKeyDown:r.submitOnSendShortcut,"aria-describedby":h,"data-testid":"questions-note"}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("p",{id:h,className:"text-meta text-muted-foreground",children:["Sent as a reply to ",q,"; also marks the message done."]}),(0,b.jsxs)(t.Button,{type:"submit",variant:"primary",size:f?"touch":"sm",icon:(0,b.jsx)(o.Send,{"aria-hidden":!0}),isLoading:e,disabled:s&&!e,"aria-keyshortcuts":null===m?void 0:(0,r.sendShortcutAria)(m),"data-testid":"questions-send",children:["Send answer",null===m?null:(0,b.jsx)(ap.SendShortcutHint,{platform:m})]})]})]})]})}function aD({question:a,onAnswer:c,onSelect:d,pendingIds:e,isPhone:f,isReadOnly:g=!1}){let h=new Date(a.message.sentAt),i=a.message.sender,j=null===a.question.answer&&null===a.stale;return(0,b.jsxs)("article",{"aria-label":a.question.title,"data-testid":"questions-question",className:(0,p.classNames)("flex min-h-0 flex-col gap-3",f?"grow":"h-full"),children:[(0,b.jsxs)("header",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,b.jsx)("h2",{className:"min-w-0 text-heading font-semibold [overflow-wrap:anywhere]",children:a.question.title}),(0,b.jsxs)("p",{className:"flex flex-wrap items-center gap-1 text-meta text-muted-foreground",children:["From ",(0,b.jsx)(aq.ShipName,{name:i.name,shipId:i.id,isSuffixShown:!0})," ·"," ",(0,b.jsx)("time",{dateTime:a.message.sentAt,title:(0,q.fullDateTime)(h),children:(0,q.shortDateTime)(h)})]}),null===a.replaces?null:(0,b.jsxs)("p",{className:"flex flex-wrap items-baseline gap-1 text-meta text-muted-foreground",children:["Replaces"," ",(0,b.jsx)(ay,{deliveryId:a.replaces.deliveryId,title:a.replaces.title,onSelect:d,testId:"questions-replaces"})]})]}),(0,b.jsx)(ax,{question:a}),(0,b.jsx)(az,{question:a,onSelect:d}),(0,b.jsxs)("div",{className:"flex min-h-0 grow flex-col gap-3 overflow-y-auto",children:[""===a.question.context?null:(0,b.jsx)("p",{className:"text-body whitespace-pre-wrap text-foreground [overflow-wrap:anywhere] max-sm:text-body-touch",children:a.question.context}),!j||g?(0,b.jsx)(aB,{question:a}):(0,b.jsx)(aC,{question:a,onAnswer:c,isPending:e.has(a.deliveryId),isPhone:f})]}),g&&j?(0,b.jsx)("p",{"data-testid":"questions-read-only",className:"border-t border-border pt-3 text-meta text-muted-foreground",children:"Read-only: you see argo’s questions, and can’t answer them."}):null]})}function aE({questions:a,filter:c,onFilterChange:d,counts:e,selectedId:f,onSelect:h,state:j,onRetry:k,now:l,...m}){if("loading"===j)return(0,b.jsxs)("div",{"data-slot":"operator-questions","data-state":"loading",className:"grid gap-4 sm:grid-cols-[minmax(0,2fr)_minmax(0,3fr)]",children:[(0,b.jsx)(ao.LoadingSkeleton,{variant:"list",rows:5,label:"Loading the questions"}),(0,b.jsx)(ao.LoadingSkeleton,{variant:"detail",label:"Loading the question",className:"max-sm:hidden"})]});if("error"===j)return(0,b.jsx)("div",{"data-slot":"operator-questions","data-state":"error","data-testid":"questions-error",children:(0,b.jsx)(an.InlineError,{variant:"page",title:"Couldn’t load the questions",description:"This page couldn’t reach the fleet server. Questions to argo are stored on the server, so nothing is lost.",onRetry:k})});let n=a.find(a=>a.deliveryId===f),o=(0,b.jsx)(av,{filter:c,onFilterChange:d,counts:e}),p=(0,b.jsx)("div",{"data-testid":"questions-empty",children:(0,b.jsx)(am.EmptyState,{icon:(0,b.jsx)(i.CircleHelp,{}),title:at[c].title,description:at[c].description})});return(0,b.jsxs)("div",{"data-slot":"operator-questions","data-state":"ready",children:[(0,b.jsxs)("div",{className:"grid min-h-128 grid-cols-[minmax(0,2fr)_minmax(0,3fr)] overflow-hidden rounded-lg border border-border bg-card max-sm:hidden",children:[(0,b.jsxs)("div",{className:"flex min-h-0 flex-col border-r border-border",children:[(0,b.jsx)("div",{className:"border-b border-border p-2.5",children:o}),0===a.length?(0,b.jsx)("div",{className:"p-4",children:p}):(0,b.jsx)(aw,{questions:a,selectedId:f,onSelect:h,now:l})]}),(0,b.jsx)("div",{className:"flex min-h-0 flex-col bg-background p-5",children:n?(0,b.jsx)(aD,{question:n,isPhone:!1,onSelect:h,...m}):(0,b.jsx)("p",{className:"m-auto text-meta text-muted-foreground",children:0===a.length?null:!0===m.isReadOnly?"Choose a question to read it.":"Choose a question to answer it."})})]}),(0,b.jsx)("div",{className:"flex flex-col gap-3 sm:hidden",children:n?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.Button,{variant:"ghost",size:"touch",icon:(0,b.jsx)(g.ChevronLeft,{"aria-hidden":!0}),className:"-ml-2 self-start","data-testid":"questions-back",onClick:()=>{h(void 0)},children:"Questions"}),(0,b.jsx)(aD,{question:n,isPhone:!0,onSelect:h,...m})]}):(0,b.jsxs)(b.Fragment,{children:[o,0===a.length?p:(0,b.jsx)(aw,{questions:a,selectedId:f,onSelect:h,now:l})]})})]})}var aF=a.i(65563),aG=a.i(38023),aH=a.i(67336),aI=a.i(68450),aJ=a.i(28648),aK=a.i(37462);a.s(["QuestionsPageFor",0,function({filterParameter:a,selectedId:g}){let h=(0,c.useRouter)(),i=(0,aI.useNow)(),j=(0,aJ.readQuestionFilter)(a),k=(0,aJ.useQuestions)(),l=(0,aJ.useAnswer)(),m=(0,aH.useLiveFleet)(),n=(0,aG.useConsoleFrame)();(0,aK.useSignInWhenSessionEnds)([m.error]);let o=(0,aF.useAccess)(),[p,q]=(0,d.useState)(new Set),r=k.data??[],s=a=>{h.replace((0,aJ.questionsPathOf)(a),{scroll:!1})};return(0,b.jsx)(f.ListPage,{...n,title:"Questions",description:"Questions ships asked argo, with their options and the asker’s pick. Answering sends your answer back as a reply.",live:m.live,children:(0,b.jsx)(aE,{isReadOnly:!o.canReceive,questions:(0,aJ.questionsFor)(r,j),filter:j,onFilterChange:a=>{s({filter:a})},counts:k.data?(0,aJ.questionFilterCounts)(r):{},selectedId:g,onSelect:a=>{void 0===a?s({filter:j}):s({filter:(0,aJ.questionsFor)(r,j).some(b=>b.deliveryId===a)?j:"all",deliveryId:a})},state:k.isError?"error":k.data?"ready":"loading",onRetry:()=>{k.refetch()},onAnswer:({deliveryId:a,answer:b})=>{q(b=>new Set([...b,a])),l.mutateAsync({deliveryId:a,answer:b,idempotencyKey:`answer-${a}-${crypto.randomUUID()}`}).catch(a=>{(0,e.showToast)({title:"Couldn’t send the answer",description:a instanceof Error?a.message:"Try again in a moment.",tone:"error"})}).finally(()=>{q(b=>new Set([...b].filter(b=>b!==a)))})},pendingIds:p,now:i})})}],14991)}];
2
2
 
3
3
  //# sourceMappingURL=packages_console_app_%28console%29_questions_questions-page_tsx_0hb7u3u._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[48855,a=>{"use strict";var b=a.i(87924),c=a.i(64831);let d={name:"link-2",size:24,node:[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]};d.node;let e=(0,c.default)(d);var f=a.i(65913),g=a.i(38246),h=a.i(12068),i=a.i(40392),j=a.i(50808);function k({settings:a,loadError:c,onRetry:d,isConnecting:l,connectError:m,onConnect:n}){return void 0!==c?(0,b.jsx)(i.InlineError,{title:"Couldn’t read the networking plugin",description:c,onRetry:d}):void 0===a?(0,b.jsx)(j.LoadingSkeleton,{variant:"detail",rows:2,label:"Loading the networking plugin"}):"none"===a.state?null:(0,b.jsxs)("section",{"aria-labelledby":"settings-network","data-testid":"settings-network",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("h2",{id:"settings-network",className:"flex items-center gap-2 text-body font-semibold [&_svg]:size-(--size-icon) [&_svg]:text-muted-foreground",children:[(0,b.jsx)(f.Network,{"aria-hidden":!0}),"Network"]}),"connected"===a.state?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-network-state",children:["Connected as ",(0,b.jsx)("span",{className:"font-mono",children:a.ship?.name})," ",(0,b.jsxs)("span",{className:"font-mono text-muted-foreground",children:["(",a.ship?.shipId,")"]}),". It supplies the rules you set on Network to the fleet."]}),(0,b.jsx)("div",{children:(0,b.jsx)(h.Button,{size:"sm",nativeButton:!1,render:(0,b.jsx)(g.default,{href:"/network"}),"data-testid":"settings-network-open",children:"Open Network"})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-body","data-testid":"settings-network-state",children:"Not connected. Connecting commissions the ship networking-plugin, which reads the fleet and alone sets who may message whom, or gives it a new starting prompt, and hands its secret to the networking plugin. No one sees the secret. Until you set rules, every ship may message every ship."}),(0,b.jsx)("div",{children:(0,b.jsx)(h.Button,{variant:"primary",icon:(0,b.jsx)(e,{"aria-hidden":!0}),isLoading:l,onClick:n,"data-testid":"settings-network-connect",children:"Connect networking plugin"})}),void 0!==m&&(0,b.jsx)(i.InlineError,{variant:"field",title:"Couldn’t connect the networking plugin",description:m})]})]})}function l({settings:a,loadError:c,onRetry:d,isConnecting:f,connectError:g,onConnect:k}){return void 0!==c?(0,b.jsx)(i.InlineError,{title:"Couldn’t read squadrons",description:c,onRetry:d}):void 0===a?(0,b.jsx)(j.LoadingSkeleton,{variant:"detail",rows:2,label:"Loading squadrons"}):"none"===a.state?null:(0,b.jsxs)("section",{"aria-labelledby":"settings-squadrons","data-testid":"settings-squadrons",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsx)("h2",{id:"settings-squadrons",className:"text-body font-semibold",children:"Squadrons"}),"connected"===a.state?(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-squadrons-state",children:["Connected as ",(0,b.jsx)("span",{className:"font-mono",children:a.ship?.name})," ",(0,b.jsxs)("span",{className:"font-mono text-muted-foreground",children:["(",a.ship?.shipId,")"]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-body","data-testid":"settings-squadrons-state",children:"Not connected. Connecting commissions the ship squadrons, with fleet read and manage, or gives it a new starting prompt, and hands its secret to squadrons. No one sees the secret."}),(0,b.jsx)("div",{children:(0,b.jsx)(h.Button,{variant:"primary",icon:(0,b.jsx)(e,{"aria-hidden":!0}),isLoading:f,onClick:k,"data-testid":"settings-squadrons-connect",children:"Connect squadrons"})}),void 0!==g&&(0,b.jsx)(i.InlineError,{variant:"field",title:"Couldn’t connect squadrons",description:g})]})]})}var m=a.i(93817),n=a.i(26766),o=a.i(3512),p=a.i(48819),q=a.i(26268),r=a.i(72131),s=a.i(72872),t=a.i(47480),u=a.i(59613),v=a.i(2374),w=a.i(75297),x=a.i(45098),y=a.i(24173),z=a.i(20847);let A=".aeolus/squadrons";function B({isAdding:a,addError:c,onAdd:d}){let e=(0,r.useId)(),f=(0,r.useId)(),g=(0,r.useId)(),[j,k]=(0,r.useState)(""),[l,m]=(0,r.useState)(""),[n,p]=(0,r.useState)("");return(0,b.jsxs)("form",{noValidate:!0,"data-testid":"repositories-add",className:"flex flex-col gap-3 rounded-md border border-border p-3",onSubmit:a=>{a.preventDefault();let b=l.trim(),c=n.trim();d({url:j.trim(),...""===b?{}:{path:b},...""===c?{}:{token:c}},()=>{k(""),m(""),p("")})},children:[(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(x.Label,{htmlFor:e,children:"Repository URL"}),(0,b.jsx)(w.Input,{id:e,isMono:!0,autoComplete:"off",spellCheck:!1,placeholder:"https://github.com/acme/squadron-templates.git","data-testid":"repositories-url",value:j,onChange:a=>{k(a.target.value)}})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(x.Label,{htmlFor:f,children:"Path (optional)"}),(0,b.jsx)(w.Input,{id:f,isMono:!0,autoComplete:"off",spellCheck:!1,placeholder:A,"data-testid":"repositories-path",value:l,onChange:a=>{m(a.target.value)}})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(x.Label,{htmlFor:g,children:"Read token (optional, for a private repository)"}),(0,b.jsx)(w.Input,{id:g,type:"password",autoComplete:"new-password","data-testid":"repositories-token",value:n,onChange:a=>{p(a.target.value)}}),(0,b.jsx)("p",{className:"text-meta text-muted-foreground",children:"Entered once and never shown again. To change it, remove the repository and add it again."})]}),void 0===c?null:(0,b.jsx)(i.InlineError,{title:"Couldn’t add the repository",description:`${c} The list shows what squadrons holds.`}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(h.Button,{type:"submit",variant:"primary",icon:(0,b.jsx)(o.Plus,{"aria-hidden":!0}),isLoading:a,disabled:""===j.trim(),"data-testid":"repositories-add-submit",children:a?"Adding":"Add repository"})})]})}function C(a,b){return a.map(({name:a,versions:c})=>"template"===b?`${a}@${c.join(", ")}`:`${a} v${c.join(", v")}`).join(" · ")}function D({contents:a,path:c}){let{templates:d,blueprints:e,leftOut:f}=a;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dl",{"data-testid":"repositories-found",className:"grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-0.5 text-meta",children:0===d.length&&0===e.length?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-muted-foreground",children:"Found"}),(0,b.jsxs)("dd",{children:["No templates or blueprints under ",c]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-muted-foreground",children:"Templates"}),(0,b.jsx)("dd",{className:"font-mono",children:0===d.length?"None":C(d,"template")}),(0,b.jsx)("dt",{className:"text-muted-foreground",children:"Blueprints"}),(0,b.jsx)("dd",{className:"font-mono",children:0===e.length?"None":C(e,"blueprint")})]})}),0===f.length?null:(0,b.jsxs)("div",{"data-testid":"repositories-left-out",className:"flex flex-col gap-1.5 rounded-md border border-tone-attention-border bg-tone-attention-bg p-2.5 text-tone-attention-fg",children:[(0,b.jsxs)("p",{className:"flex items-center gap-1.5 text-meta font-medium",children:[(0,b.jsx)(q.TriangleAlert,{"aria-hidden":!0,className:"size-(--size-icon-sm) shrink-0"}),"Left out: ",f.length,". Fix ",1===f.length?"it":"them"," in git, tag again, then refresh."]}),(0,b.jsx)("ul",{className:"flex flex-col gap-1",children:f.map(a=>(0,b.jsxs)("li",{"data-testid":"repositories-left-out-item",className:"text-meta text-foreground",children:[(0,b.jsx)("span",{className:"font-mono",children:(0,t.leftOutLabel)(a)}),": ",a.message]},`${a.kind} ${a.name}@${String(a.version)}`))})]})]})}function E({repository:a,contents:c,now:d,onRemove:e}){let{lastFetch:f}=a;return(0,b.jsxs)("li",{"data-testid":"repositories-row",className:"flex flex-col gap-1.5 px-3 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(z.RepositoryName,{name:a.name}),a.path===A?null:(0,b.jsx)("span",{className:"font-mono text-meta text-muted-foreground",children:a.path}),a.hasToken?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-meta text-muted-foreground",children:[(0,b.jsx)(n.KeyRound,{"aria-hidden":!0,className:"size-(--size-icon-sm)"}),"Token"]}):null,(0,b.jsx)("span",{className:"ml-auto text-meta text-muted-foreground","data-testid":"repositories-fetched",children:null===f?"Not fetched yet":`Fetched ${(0,s.relativeTime)(new Date(f.at),d)}`}),(0,b.jsx)(h.Button,{size:"xs",variant:"ghost","data-testid":"repositories-remove",onClick:e,children:"Remove"})]}),f?.error?(0,b.jsxs)("p",{"data-testid":"repositories-error",className:"flex items-start gap-1.5 text-meta text-destructive-text",children:[(0,b.jsx)(m.CircleAlert,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0"}),(0,b.jsxs)("span",{children:["The last fetch failed: ",(0,b.jsx)("span",{className:"font-mono",children:f.error})]})]}):null,void 0===c||null===f||null!==f.error&&c.templates.length+c.blueprints.length+c.leftOut.length===0?null:(0,b.jsx)(D,{contents:c,path:a.path})]})}function F(a){let{repositories:c,catalogue:d,state:e,error:f,onRetry:g,isRemoving:k,removeError:l,onRemove:m,onRemoveClosed:n,isRefreshing:o,refreshError:q,onRefresh:s,now:w}=a,[x,z]=(0,r.useState)(void 0);return(0,b.jsxs)("section",{"aria-labelledby":"settings-repositories","data-testid":"settings-repositories",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("h2",{id:"settings-repositories",className:"text-body font-semibold",children:"Repositories"}),(0,b.jsx)(h.Button,{size:"xs",icon:(0,b.jsx)(p.RotateCw,{"aria-hidden":!0}),isLoading:o,disabled:0===c.length,onClick:s,"data-testid":"repositories-refresh",children:"Refresh"})]}),(0,b.jsxs)("p",{className:"text-meta text-muted-foreground",children:["squadrons reads templates and blueprints from these repositories, under ",A," unless a repository sets its own path. It fetches one when you add it, when you refresh, and once each time squadrons connects or starts."]}),void 0===q?null:(0,b.jsx)(i.InlineError,{variant:"section",title:"Couldn’t refresh",description:q}),"loading"===e?(0,b.jsx)(j.LoadingSkeleton,{variant:"list",rows:2,label:"Loading the repositories"}):"error"===e?(0,b.jsx)(i.InlineError,{title:"Couldn’t read the repositories",description:f,onRetry:g}):0===c.length?(0,b.jsx)(y.EmptyState,{variant:"section",title:"No repositories yet",description:"Add one to read its templates and blueprints."}):(0,b.jsx)("ul",{className:"divide-y divide-border overflow-hidden rounded-md border border-border",children:c.map(a=>(0,b.jsx)(E,{repository:a,...void 0===d?{}:{contents:(0,t.repositoryContents)(d,a.name)},now:w,onRemove:()=>{z(a.name)}},a.name))}),(0,b.jsx)(B,{isAdding:a.isAdding,addError:a.addError,onAdd:a.onAdd}),(0,b.jsx)(u.AlertDialog,{open:void 0!==x,onOpenChange:a=>{a||k||(z(void 0),n())},children:(0,b.jsxs)(u.AlertDialogContent,{"data-testid":"repositories-remove-dialog",className:v.dialogSurface.phoneSheet,children:[(0,b.jsxs)(u.AlertDialogHeader,{children:[(0,b.jsxs)(u.AlertDialogTitle,{children:["Remove ",x,"?"]}),(0,b.jsx)(u.AlertDialogDescription,{children:"Its templates and blueprints leave the catalogue at once. Squadrons formed from them keep the versions they formed from."})]}),void 0===l?null:(0,b.jsx)(i.InlineError,{title:"Couldn’t remove the repository",description:`${l} The list shows what squadrons holds.`}),(0,b.jsxs)(u.AlertDialogFooter,{children:[(0,b.jsx)(u.AlertDialogClose,{render:(0,b.jsx)(h.Button,{disabled:k}),children:"Cancel"}),(0,b.jsx)(h.Button,{variant:"destructive",isLoading:k,"data-testid":"repositories-remove-confirm",onClick:()=>{void 0!==x&&m(x,()=>{z(void 0),n()})},children:"Remove repository"})]})]})})]})}var G=a.i(23636);function H({settings:a,loadError:c,onRetry:d,isConnecting:f,connectError:k,onConnect:l}){return void 0!==c?(0,b.jsx)(i.InlineError,{title:"Couldn’t read the trierarch plugin",description:c,onRetry:d}):void 0===a?(0,b.jsx)(j.LoadingSkeleton,{variant:"detail",rows:2,label:"Loading the trierarch plugin"}):(0,b.jsxs)("section",{"aria-labelledby":"settings-trierarchs","data-testid":"settings-trierarchs",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("h2",{id:"settings-trierarchs",className:"flex items-center gap-2 text-body font-semibold [&_svg]:size-(--size-icon) [&_svg]:text-muted-foreground",children:[(0,b.jsx)(G.ShipWheel,{"aria-hidden":!0}),"Trierarchs"]}),"none"===a.state?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-trierarchs-state",children:["Not set up. ","Starts, restarts and stops sessions for crew requests on your machines. Without it, crew requests wait on Needs crew for you to crew by hand."]}),(0,b.jsx)("div",{children:(0,b.jsx)(h.Button,{size:"sm",nativeButton:!1,render:(0,b.jsx)(g.default,{href:"/trierarchs"}),"data-testid":"settings-trierarchs-how",children:"How to set it up"})})]}):"connected"===a.state?(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-trierarchs-state",children:["Connected as ",(0,b.jsx)("span",{className:"font-mono",children:a.ship?.name})," ",(0,b.jsxs)("span",{className:"font-mono text-muted-foreground",children:["(",a.ship?.shipId,")"]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-body","data-testid":"settings-trierarchs-state",children:"Not connected. Connecting commissions the ship trierarch-plugin, which reads and manages the fleet and assigns crew requests, or gives it a new starting prompt, and hands its secret to the trierarch plugin. No one sees the secret."}),(0,b.jsx)("div",{children:(0,b.jsx)(h.Button,{variant:"primary",icon:(0,b.jsx)(e,{"aria-hidden":!0}),isLoading:f,onClick:l,"data-testid":"settings-trierarchs-connect",children:"Connect trierarch plugin"})}),void 0!==k&&(0,b.jsx)(i.InlineError,{variant:"field",title:"Couldn’t connect the trierarch plugin",description:k})]})]})}var I=a.i(91003),J=a.i(38023),K=a.i(10023),L=a.i(68450),M=a.i(10572),N=a.i(67336),O=a.i(54763),P=a.i(12540),Q=a.i(28562),R=a.i(34159),S=a.i(93454);a.s(["default",0,function(){let a=(0,L.useNow)(),c=(0,J.useConsoleFrame)(),d=(0,O.useHasSquadrons)(),e=(0,K.useNeedsAttention)(),f=(0,O.useSquadronsSettings)(),g=(0,O.useConnectSquadrons)(),h=(0,S.useTrierarchPluginSettings)(),i=(0,S.useConnectTrierarchPlugin)(),j=(0,Q.useNetworkingPluginSettings)(),m=(0,Q.useConnectNetworkingPlugin)(),n=(0,N.useLiveFleet)(),o=(0,O.useSquadronsConnection)(),p=(0,P.useRepositories)(),q=(0,P.useCatalogue)(),r=(0,P.useAddRepository)(),s=(0,P.useRemoveRepository)(),t=(0,P.useRefreshCatalogue)(),u=(0,R.usePluginNav)();return(0,M.useSignInWhenSessionEnds)([e.error,n.error]),(0,b.jsxs)(I.ListPage,{...c,title:"Settings",description:"How this installation runs. Only argo, the operator, sees this page.",live:n.live,children:[d&&(0,b.jsx)(l,{settings:f.data,loadError:f.isError?f.error.message:void 0,onRetry:()=>{f.refetch()},isConnecting:g.isPending,connectError:g.isError?g.error.message:void 0,onConnect:()=>{g.mutate()}}),u.hasSettings&&(0,b.jsx)(H,{settings:h.data,loadError:h.isError?h.error.message:void 0,onRetry:()=>{h.refetch()},isConnecting:i.isPending,connectError:i.isError?i.error.message:void 0,onConnect:()=>{i.mutate()}}),u.hasSettings&&(0,b.jsx)(k,{settings:j.data,loadError:j.isError?j.error.message:void 0,onRetry:()=>{j.refetch()},isConnecting:m.isPending,connectError:m.isError?m.error.message:void 0,onConnect:()=>{m.mutate()}}),"connected"===o&&(0,b.jsx)(F,{repositories:p.data??[],...void 0===q.data?{}:{catalogue:q.data},state:p.isError?"error":p.data?"ready":"loading",error:p.error?.message,onRetry:()=>{p.refetch()},isAdding:r.isPending,addError:r.error?.message,onAdd:(a,b)=>{r.mutate(a,{onSuccess:b})},isRemoving:s.isPending,removeError:s.error?.message,onRemove:(a,b)=>{s.mutate(a,{onSuccess:b})},onRemoveClosed:()=>{s.reset()},isRefreshing:t.isPending,refreshError:t.error?.message,onRefresh:()=>{t.mutate()},now:a})]})}],48855)}];
1
+ module.exports=[48855,a=>{"use strict";var b=a.i(87924),c=a.i(64831);let d={name:"link-2",size:24,node:[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]};d.node;let e=(0,c.default)(d);var f=a.i(65913),g=a.i(38246),h=a.i(12068),i=a.i(40392),j=a.i(50808);function k({settings:a,loadError:c,onRetry:d,isConnecting:l,connectError:m,onConnect:n}){return void 0!==c?(0,b.jsx)(i.InlineError,{title:"Couldn’t read the networking plugin",description:c,onRetry:d}):void 0===a?(0,b.jsx)(j.LoadingSkeleton,{variant:"detail",rows:2,label:"Loading the networking plugin"}):"none"===a.state?null:(0,b.jsxs)("section",{"aria-labelledby":"settings-network","data-testid":"settings-network",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("h2",{id:"settings-network",className:"flex items-center gap-2 text-body font-semibold [&_svg]:size-(--size-icon) [&_svg]:text-muted-foreground",children:[(0,b.jsx)(f.Network,{"aria-hidden":!0}),"Network"]}),"connected"===a.state?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-network-state",children:["Connected as ",(0,b.jsx)("span",{className:"font-mono",children:a.ship?.name})," ",(0,b.jsxs)("span",{className:"font-mono text-muted-foreground",children:["(",a.ship?.shipId,")"]}),". It supplies the rules you set on Network to the fleet."]}),(0,b.jsx)("div",{children:(0,b.jsx)(h.Button,{size:"sm",nativeButton:!1,render:(0,b.jsx)(g.default,{href:"/network"}),"data-testid":"settings-network-open",children:"Open Network"})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-body","data-testid":"settings-network-state",children:"Not connected. Connecting commissions the ship networking-plugin, which reads the fleet and alone sets who may message whom, or gives it a new starting prompt, and hands its secret to the networking plugin. No one sees the secret. Until you set rules, every ship may message every ship."}),(0,b.jsx)("div",{children:(0,b.jsx)(h.Button,{variant:"primary",icon:(0,b.jsx)(e,{"aria-hidden":!0}),isLoading:l,onClick:n,"data-testid":"settings-network-connect",children:"Connect networking plugin"})}),void 0!==m&&(0,b.jsx)(i.InlineError,{variant:"field",title:"Couldn’t connect the networking plugin",description:m})]})]})}function l({settings:a,loadError:c,onRetry:d,isConnecting:f,connectError:g,onConnect:k}){return void 0!==c?(0,b.jsx)(i.InlineError,{title:"Couldn’t read squadrons",description:c,onRetry:d}):void 0===a?(0,b.jsx)(j.LoadingSkeleton,{variant:"detail",rows:2,label:"Loading squadrons"}):"none"===a.state?null:(0,b.jsxs)("section",{"aria-labelledby":"settings-squadrons","data-testid":"settings-squadrons",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsx)("h2",{id:"settings-squadrons",className:"text-body font-semibold",children:"Squadrons"}),"connected"===a.state?(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-squadrons-state",children:["Connected as ",(0,b.jsx)("span",{className:"font-mono",children:a.ship?.name})," ",(0,b.jsxs)("span",{className:"font-mono text-muted-foreground",children:["(",a.ship?.shipId,")"]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-body","data-testid":"settings-squadrons-state",children:"Not connected. Connecting commissions the ship squadrons, with fleet read and manage, or gives it a new starting prompt, and hands its secret to squadrons. No one sees the secret."}),(0,b.jsx)("div",{children:(0,b.jsx)(h.Button,{variant:"primary",icon:(0,b.jsx)(e,{"aria-hidden":!0}),isLoading:f,onClick:k,"data-testid":"settings-squadrons-connect",children:"Connect squadrons"})}),void 0!==g&&(0,b.jsx)(i.InlineError,{variant:"field",title:"Couldn’t connect squadrons",description:g})]})]})}var m=a.i(93817),n=a.i(26766),o=a.i(3512),p=a.i(48819),q=a.i(26268),r=a.i(72131),s=a.i(72872),t=a.i(47480),u=a.i(59613),v=a.i(2374),w=a.i(75297),x=a.i(45098),y=a.i(24173),z=a.i(20847);let A=".aeolus/squadrons";function B({isAdding:a,addError:c,onAdd:d}){let e=(0,r.useId)(),f=(0,r.useId)(),g=(0,r.useId)(),[j,k]=(0,r.useState)(""),[l,m]=(0,r.useState)(""),[n,p]=(0,r.useState)("");return(0,b.jsxs)("form",{noValidate:!0,"data-testid":"repositories-add",className:"flex flex-col gap-3 rounded-md border border-border p-3",onSubmit:a=>{a.preventDefault();let b=l.trim(),c=n.trim();d({url:j.trim(),...""===b?{}:{path:b},...""===c?{}:{token:c}},()=>{k(""),m(""),p("")})},children:[(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(x.Label,{htmlFor:e,children:"Repository URL"}),(0,b.jsx)(w.Input,{id:e,isMono:!0,autoComplete:"off",spellCheck:!1,placeholder:"https://github.com/acme/squadron-templates.git","data-testid":"repositories-url",value:j,onChange:a=>{k(a.target.value)}})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(x.Label,{htmlFor:f,children:"Path (optional)"}),(0,b.jsx)(w.Input,{id:f,isMono:!0,autoComplete:"off",spellCheck:!1,placeholder:A,"data-testid":"repositories-path",value:l,onChange:a=>{m(a.target.value)}})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(x.Label,{htmlFor:g,children:"Read token (optional, for a private repository)"}),(0,b.jsx)(w.Input,{id:g,type:"password",autoComplete:"new-password","data-testid":"repositories-token",value:n,onChange:a=>{p(a.target.value)}}),(0,b.jsx)("p",{className:"text-meta text-muted-foreground",children:"Entered once and never shown again. To change it, remove the repository and add it again."})]}),void 0===c?null:(0,b.jsx)(i.InlineError,{title:"Couldn’t add the repository",description:`${c} The list shows what squadrons holds.`}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(h.Button,{type:"submit",variant:"primary",icon:(0,b.jsx)(o.Plus,{"aria-hidden":!0}),isLoading:a,disabled:""===j.trim(),"data-testid":"repositories-add-submit",children:a?"Adding":"Add repository"})})]})}function C(a,b){return a.map(({name:a,versions:c})=>"template"===b?`${a}@${c.join(", ")}`:`${a} v${c.join(", v")}`).join(" · ")}function D({contents:a,path:c}){let{templates:d,blueprints:e,leftOut:f}=a;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dl",{"data-testid":"repositories-found",className:"grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-0.5 text-meta",children:0===d.length&&0===e.length?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-muted-foreground",children:"Found"}),(0,b.jsxs)("dd",{children:["No templates or blueprints under ",c]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-muted-foreground",children:"Templates"}),(0,b.jsx)("dd",{className:"font-mono",children:0===d.length?"None":C(d,"template")}),(0,b.jsx)("dt",{className:"text-muted-foreground",children:"Blueprints"}),(0,b.jsx)("dd",{className:"font-mono",children:0===e.length?"None":C(e,"blueprint")})]})}),0===f.length?null:(0,b.jsxs)("div",{"data-testid":"repositories-left-out",className:"flex flex-col gap-1.5 rounded-md border border-tone-attention-border bg-tone-attention-bg p-2.5 text-tone-attention-fg",children:[(0,b.jsxs)("p",{className:"flex items-center gap-1.5 text-meta font-medium",children:[(0,b.jsx)(q.TriangleAlert,{"aria-hidden":!0,className:"size-(--size-icon-sm) shrink-0"}),"Left out: ",f.length,". Fix ",1===f.length?"it":"them"," in git, tag again, then refresh."]}),(0,b.jsx)("ul",{className:"flex flex-col gap-1",children:f.map(a=>(0,b.jsxs)("li",{"data-testid":"repositories-left-out-item",className:"text-meta text-foreground",children:[(0,b.jsx)("span",{className:"font-mono",children:(0,t.leftOutLabel)(a)}),": ",a.message]},`${a.kind} ${a.name}@${String(a.version)}`))})]})]})}function E({repository:a,contents:c,now:d,onRemove:e}){let{lastFetch:f}=a;return(0,b.jsxs)("li",{"data-testid":"repositories-row",className:"flex flex-col gap-1.5 px-3 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(z.RepositoryName,{name:a.name}),a.path===A?null:(0,b.jsx)("span",{className:"font-mono text-meta text-muted-foreground",children:a.path}),a.hasToken?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-meta text-muted-foreground",children:[(0,b.jsx)(n.KeyRound,{"aria-hidden":!0,className:"size-(--size-icon-sm)"}),"Token"]}):null,(0,b.jsx)("span",{className:"ml-auto text-meta text-muted-foreground","data-testid":"repositories-fetched",children:null===f?"Not fetched yet":`Fetched ${(0,s.relativeTime)(new Date(f.at),d)}`}),(0,b.jsx)(h.Button,{size:"xs",variant:"ghost","data-testid":"repositories-remove",onClick:e,children:"Remove"})]}),f?.error?(0,b.jsxs)("p",{"data-testid":"repositories-error",className:"flex items-start gap-1.5 text-meta text-destructive-text",children:[(0,b.jsx)(m.CircleAlert,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0"}),(0,b.jsxs)("span",{children:["The last fetch failed: ",(0,b.jsx)("span",{className:"font-mono",children:f.error})]})]}):null,void 0===c||null===f||null!==f.error&&c.templates.length+c.blueprints.length+c.leftOut.length===0?null:(0,b.jsx)(D,{contents:c,path:a.path})]})}function F(a){let{repositories:c,catalogue:d,state:e,error:f,onRetry:g,isRemoving:k,removeError:l,onRemove:m,onRemoveClosed:n,isRefreshing:o,refreshError:q,onRefresh:s,now:w}=a,[x,z]=(0,r.useState)(void 0);return(0,b.jsxs)("section",{"aria-labelledby":"settings-repositories","data-testid":"settings-repositories",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("h2",{id:"settings-repositories",className:"text-body font-semibold",children:"Repositories"}),(0,b.jsx)(h.Button,{size:"xs",icon:(0,b.jsx)(p.RotateCw,{"aria-hidden":!0}),isLoading:o,disabled:0===c.length,onClick:s,"data-testid":"repositories-refresh",children:"Refresh"})]}),(0,b.jsxs)("p",{className:"text-meta text-muted-foreground",children:["squadrons reads templates and blueprints from these repositories, under ",A," unless a repository sets its own path. It fetches one when you add it, when you refresh, and once each time squadrons connects or starts."]}),void 0===q?null:(0,b.jsx)(i.InlineError,{variant:"section",title:"Couldn’t refresh",description:q}),"loading"===e?(0,b.jsx)(j.LoadingSkeleton,{variant:"list",rows:2,label:"Loading the repositories"}):"error"===e?(0,b.jsx)(i.InlineError,{title:"Couldn’t read the repositories",description:f,onRetry:g}):0===c.length?(0,b.jsx)(y.EmptyState,{variant:"section",title:"No repositories yet",description:"Add one to read its templates and blueprints."}):(0,b.jsx)("ul",{className:"divide-y divide-border overflow-hidden rounded-md border border-border",children:c.map(a=>(0,b.jsx)(E,{repository:a,...void 0===d?{}:{contents:(0,t.repositoryContents)(d,a.name)},now:w,onRemove:()=>{z(a.name)}},a.name))}),(0,b.jsx)(B,{isAdding:a.isAdding,addError:a.addError,onAdd:a.onAdd}),(0,b.jsx)(u.AlertDialog,{open:void 0!==x,onOpenChange:a=>{a||k||(z(void 0),n())},children:(0,b.jsxs)(u.AlertDialogContent,{"data-testid":"repositories-remove-dialog",className:v.dialogSurface.phoneSheet,children:[(0,b.jsxs)(u.AlertDialogHeader,{children:[(0,b.jsxs)(u.AlertDialogTitle,{children:["Remove ",x,"?"]}),(0,b.jsx)(u.AlertDialogDescription,{children:"Its templates and blueprints leave the catalogue at once. Squadrons formed from them keep the versions they formed from."})]}),void 0===l?null:(0,b.jsx)(i.InlineError,{title:"Couldn’t remove the repository",description:`${l} The list shows what squadrons holds.`}),(0,b.jsxs)(u.AlertDialogFooter,{children:[(0,b.jsx)(u.AlertDialogClose,{render:(0,b.jsx)(h.Button,{disabled:k}),children:"Cancel"}),(0,b.jsx)(h.Button,{variant:"destructive",isLoading:k,"data-testid":"repositories-remove-confirm",onClick:()=>{void 0!==x&&m(x,()=>{z(void 0),n()})},children:"Remove repository"})]})]})})]})}var G=a.i(23636);function H({settings:a,loadError:c,onRetry:d,isConnecting:f,connectError:k,onConnect:l}){return void 0!==c?(0,b.jsx)(i.InlineError,{title:"Couldn’t read the trierarch plugin",description:c,onRetry:d}):void 0===a?(0,b.jsx)(j.LoadingSkeleton,{variant:"detail",rows:2,label:"Loading the trierarch plugin"}):(0,b.jsxs)("section",{"aria-labelledby":"settings-trierarchs","data-testid":"settings-trierarchs",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("h2",{id:"settings-trierarchs",className:"flex items-center gap-2 text-body font-semibold [&_svg]:size-(--size-icon) [&_svg]:text-muted-foreground",children:[(0,b.jsx)(G.ShipWheel,{"aria-hidden":!0}),"Trierarchs"]}),"none"===a.state?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-trierarchs-state",children:["Not set up. ","Starts, restarts and stops sessions for crew requests on your machines. Without it, crew requests wait on Needs crew for you to crew by hand."]}),(0,b.jsx)("div",{children:(0,b.jsx)(h.Button,{size:"sm",nativeButton:!1,render:(0,b.jsx)(g.default,{href:"/trierarchs"}),"data-testid":"settings-trierarchs-how",children:"How to set it up"})})]}):"connected"===a.state?(0,b.jsxs)("p",{className:"text-body","data-testid":"settings-trierarchs-state",children:["Connected as ",(0,b.jsx)("span",{className:"font-mono",children:a.ship?.name})," ",(0,b.jsxs)("span",{className:"font-mono text-muted-foreground",children:["(",a.ship?.shipId,")"]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-body","data-testid":"settings-trierarchs-state",children:"Not connected. Connecting commissions the ship trierarch-plugin, which reads and manages the fleet and assigns crew requests, or gives it a new starting prompt, and hands its secret to the trierarch plugin. No one sees the secret."}),(0,b.jsx)("div",{children:(0,b.jsx)(h.Button,{variant:"primary",icon:(0,b.jsx)(e,{"aria-hidden":!0}),isLoading:f,onClick:l,"data-testid":"settings-trierarchs-connect",children:"Connect trierarch plugin"})}),void 0!==k&&(0,b.jsx)(i.InlineError,{variant:"field",title:"Couldn’t connect the trierarch plugin",description:k})]})]})}var I=a.i(91003),J=a.i(38023),K=a.i(10023),L=a.i(68450),M=a.i(37462),N=a.i(67336),O=a.i(54763),P=a.i(12540),Q=a.i(28562),R=a.i(34159),S=a.i(93454);a.s(["default",0,function(){let a=(0,L.useNow)(),c=(0,J.useConsoleFrame)(),d=(0,O.useHasSquadrons)(),e=(0,K.useNeedsAttention)(),f=(0,O.useSquadronsSettings)(),g=(0,O.useConnectSquadrons)(),h=(0,S.useTrierarchPluginSettings)(),i=(0,S.useConnectTrierarchPlugin)(),j=(0,Q.useNetworkingPluginSettings)(),m=(0,Q.useConnectNetworkingPlugin)(),n=(0,N.useLiveFleet)(),o=(0,O.useSquadronsConnection)(),p=(0,P.useRepositories)(),q=(0,P.useCatalogue)(),r=(0,P.useAddRepository)(),s=(0,P.useRemoveRepository)(),t=(0,P.useRefreshCatalogue)(),u=(0,R.usePluginNav)();return(0,M.useSignInWhenSessionEnds)([e.error,n.error]),(0,b.jsxs)(I.ListPage,{...c,title:"Settings",description:"How this installation runs. Only argo, the operator, sees this page.",live:n.live,children:[d&&(0,b.jsx)(l,{settings:f.data,loadError:f.isError?f.error.message:void 0,onRetry:()=>{f.refetch()},isConnecting:g.isPending,connectError:g.isError?g.error.message:void 0,onConnect:()=>{g.mutate()}}),u.hasSettings&&(0,b.jsx)(H,{settings:h.data,loadError:h.isError?h.error.message:void 0,onRetry:()=>{h.refetch()},isConnecting:i.isPending,connectError:i.isError?i.error.message:void 0,onConnect:()=>{i.mutate()}}),u.hasSettings&&(0,b.jsx)(k,{settings:j.data,loadError:j.isError?j.error.message:void 0,onRetry:()=>{j.refetch()},isConnecting:m.isPending,connectError:m.isError?m.error.message:void 0,onConnect:()=>{m.mutate()}}),"connected"===o&&(0,b.jsx)(F,{repositories:p.data??[],...void 0===q.data?{}:{catalogue:q.data},state:p.isError?"error":p.data?"ready":"loading",error:p.error?.message,onRetry:()=>{p.refetch()},isAdding:r.isPending,addError:r.error?.message,onAdd:(a,b)=>{r.mutate(a,{onSuccess:b})},isRemoving:s.isPending,removeError:s.error?.message,onRemove:(a,b)=>{s.mutate(a,{onSuccess:b})},onRemoveClosed:()=>{s.reset()},isRefreshing:t.isPending,refreshError:t.error?.message,onRefresh:()=>{t.mutate()},now:a})]})}],48855)}];
2
2
 
3
3
  //# sourceMappingURL=packages_console_app_%28console%29_settings_page_tsx_1p8ay87._.js.map