@aeolus-fleet/console 0.27.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/.next/standalone/packages/console/.next/BUILD_ID +1 -1
  2. package/.next/standalone/packages/console/.next/build-manifest.json +3 -3
  3. package/.next/standalone/packages/console/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/[cause]/page/server-reference-manifest.json +30 -52
  5. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/[cause]/page.js +2 -2
  6. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/[cause]/page.js.nft.json +1 -1
  7. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/[cause]/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/page/server-reference-manifest.json +30 -52
  9. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/page.js +2 -2
  10. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/page.js.nft.json +1 -1
  11. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page/server-reference-manifest.json +30 -52
  13. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page.js +2 -2
  14. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page.js.nft.json +1 -1
  15. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page/server-reference-manifest.json +30 -52
  17. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page.js +2 -2
  18. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page.js.nft.json +1 -1
  19. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page/server-reference-manifest.json +30 -52
  21. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page.js +2 -2
  22. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page.js.nft.json +1 -1
  23. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page/server-reference-manifest.json +30 -52
  25. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page.js +2 -2
  26. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page.js.nft.json +1 -1
  27. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/packages/console/.next/server/app/(console)/network/page/react-loadable-manifest.json +1 -1
  29. package/.next/standalone/packages/console/.next/server/app/(console)/network/page/server-reference-manifest.json +30 -52
  30. package/.next/standalone/packages/console/.next/server/app/(console)/network/page.js +2 -2
  31. package/.next/standalone/packages/console/.next/server/app/(console)/network/page.js.nft.json +1 -1
  32. package/.next/standalone/packages/console/.next/server/app/(console)/network/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/packages/console/.next/server/app/(console)/page/react-loadable-manifest.json +2 -2
  34. package/.next/standalone/packages/console/.next/server/app/(console)/page/server-reference-manifest.json +30 -52
  35. package/.next/standalone/packages/console/.next/server/app/(console)/page.js +2 -2
  36. package/.next/standalone/packages/console/.next/server/app/(console)/page.js.nft.json +1 -1
  37. package/.next/standalone/packages/console/.next/server/app/(console)/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page/server-reference-manifest.json +30 -52
  39. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page.js +2 -2
  40. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  41. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page/react-loadable-manifest.json +1 -1
  43. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page/server-reference-manifest.json +30 -52
  44. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page.js +2 -2
  45. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page.js.nft.json +1 -1
  46. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page/server-reference-manifest.json +30 -52
  48. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page.js +2 -2
  49. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page.js.nft.json +1 -1
  50. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page/react-loadable-manifest.json +2 -2
  52. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page/server-reference-manifest.json +30 -52
  53. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page.js +2 -2
  54. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page.js.nft.json +1 -1
  55. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page/react-loadable-manifest.json +2 -2
  57. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page/server-reference-manifest.json +30 -52
  58. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page.js +2 -2
  59. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page.js.nft.json +1 -1
  60. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page/server-reference-manifest.json +30 -52
  62. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page.js +2 -2
  63. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page.js.nft.json +1 -1
  64. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page/server-reference-manifest.json +30 -52
  66. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page.js +2 -2
  67. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page.js.nft.json +1 -1
  68. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page_client-reference-manifest.js +1 -1
  69. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page/server-reference-manifest.json +30 -52
  70. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page.js +2 -2
  71. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page.js.nft.json +1 -1
  72. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/packages/console/.next/server/app/_global-error.html +1 -1
  74. package/.next/standalone/packages/console/.next/server/app/_global-error.rsc +1 -1
  75. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  76. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  77. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  78. package/.next/standalone/packages/console/.next/server/app/_not-found/page.js +1 -1
  79. package/.next/standalone/packages/console/.next/server/app/_not-found/page.js.nft.json +1 -1
  80. package/.next/standalone/packages/console/.next/server/app/api/reads/[read]/route.js.nft.json +1 -1
  81. package/.next/standalone/packages/console/.next/server/app/sign-in/failed/page.js +1 -1
  82. package/.next/standalone/packages/console/.next/server/app/sign-in/failed/page.js.nft.json +1 -1
  83. package/.next/standalone/packages/console/.next/server/app/sign-in/page.js +1 -1
  84. package/.next/standalone/packages/console/.next/server/app/sign-in/page.js.nft.json +1 -1
  85. package/.next/standalone/packages/console/.next/server/app/version/route.js.nft.json +1 -1
  86. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__06f_104._.js +1 -1
  87. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1cfwaji._.js +1 -1
  88. package/.next/standalone/packages/console/.next/server/chunks/_1uqphll._.js +1 -1
  89. package/.next/standalone/packages/console/.next/server/chunks/ssr/0mxb_server_app_(console)_squadrons_blueprints_[name]_page_actions_1ccrd2_.js +3 -0
  90. package/.next/standalone/packages/console/.next/server/chunks/ssr/0mxb_server_app_(console)_squadrons_templates_[name]_page_actions_0qzhozy.js +3 -0
  91. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_fleet-health_page_actions_0dxyn06.js +3 -0
  92. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_needs-crew_page_actions_0rhp085.js +3 -0
  93. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_network_page_actions_1qbofc5.js +3 -0
  94. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_settings_page_actions_07zyuya.js +3 -0
  95. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_ships_[shipId]_page_actions_09ros_6.js +3 -0
  96. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_squadrons_page_actions_04wqu1c.js +3 -0
  97. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_trierarchs_page_actions_13sd72a.js +3 -0
  98. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console_features_trierarchs_ui_organisms_clear-worktree-dialog_tsx_0bjmfgt._.js +3 -0
  99. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_fleet-health_[cause]_page_actions_196vwwc.js +3 -0
  100. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_needs-attention_page_actions_17c4s8j.js +3 -0
  101. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_squadrons_[squadronId]_page_actions_0183_z3.js +3 -0
  102. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_trierarchs_[shipId]_page_actions_1yx88bk.js +3 -0
  103. package/.next/standalone/packages/console/.next/server/chunks/ssr/[root-of-the-server]__0pvwbtv._.js +1 -1
  104. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_050ulkd._.js → _0_em4v9._.js} +1 -1
  105. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0eeox-9._.js +1 -1
  106. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0h21fie._.js +3 -0
  107. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1j1ejbw._.js → _0l0tk4l._.js} +1 -1
  108. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0mvp-z7._.js +3 -0
  109. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0ni0d5t._.js +3 -0
  110. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0q3cblh._.js +1 -1
  111. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0qft7s4._.js +1 -1
  112. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0qo94ne._.js +1 -1
  113. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0sgf57y._.js +3 -0
  114. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1hb5q4e._.js → _0v442oo._.js} +1 -1
  115. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0v8gdqq._.js +3 -0
  116. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0z9_vmu._.js +1 -1
  117. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_0kwu12q._.js → _131-0_x._.js} +2 -2
  118. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1_9jlty._.js +1 -1
  119. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1bc8get._.js +2 -2
  120. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1dwmj6t._.js +3 -0
  121. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1vc4auf._.js → _1dxl4q7._.js} +2 -2
  122. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1enr0jf._.js → _1icypol._.js} +2 -2
  123. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1k24d9t._.js +3 -0
  124. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1m738ix._.js → _1oygmyf._.js} +2 -2
  125. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_15_xzod._.js → _1qvspj2._.js} +2 -2
  126. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1svohzj._.js +1 -1
  127. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1tngh39._.js +3 -0
  128. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1u0h4gj._.js +1 -1
  129. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1uofvu3._.js +3 -0
  130. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1yr1u1_._.js +3 -0
  131. package/.next/standalone/packages/console/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_icons_0nwj88l._.js → node_modules_lucide-react_dist_esm_icons_0kaxn3-._.js} +1 -1
  132. package/.next/standalone/packages/console/.next/server/chunks/ssr/node_modules_zod_v4_classic_external_15fmmz3.js +1 -1
  133. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_common_dist_1_gq_cl._.js +1 -1
  134. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_common_dist_ids_index_0vpngvd.js +1 -1
  135. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_18f93ie._.js → packages_console_0--rmb8._.js} +1 -1
  136. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_1clix79._.js → packages_console_0c-5j2y._.js} +1 -1
  137. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_00v2ar_._.js → packages_console_0k-cs8i._.js} +2 -2
  138. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_2004f3v._.js → packages_console_1gvn9tp._.js} +1 -1
  139. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_inbox_page_actions_1g5uv6y.js +3 -0
  140. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_labels_page_actions_14z7vqr.js +3 -0
  141. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_page_actions_05lw-oq.js +3 -0
  142. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_fleet-health_page_tsx_0vcosw1._.js +1 -1
  143. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_network_network-page_tsx_0qc3h-9._.js +1 -1
  144. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_settings_page_tsx_1p8ay87._.js +1 -1
  145. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_ships_[shipId]_ship-page_tsx_0oahz0r._.js +1 -1
  146. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_signed-in-layout_tsx_13vv8fo._.js +1 -1
  147. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_trierarchs_[shipId]_page_tsx_1u845f4._.js +1 -1
  148. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_components_organisms_crew-line-dialog_tsx_1qorkk0._.js → packages_console_components_organisms_crew-line-dialog_tsx_1i1mps-._.js} +1 -1
  149. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_features_0dttltf._.js +3 -0
  150. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_features_ship_ui_organisms_message-sheet_tsx_08bg9ly._.js +1 -1
  151. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_features_squadrons_organisms_form-squadron-dialog_tsx_0ditu5u._.js → packages_console_features_squadrons_organisms_form-squadron-dialog_tsx_04r0j4c._.js} +1 -1
  152. package/.next/standalone/packages/console/.next/server/middleware-build-manifest.js +3 -3
  153. package/.next/standalone/packages/console/.next/server/pages/500.html +1 -1
  154. package/.next/standalone/packages/console/.next/server/server-reference-manifest.js +1 -1
  155. package/.next/standalone/packages/console/.next/server/server-reference-manifest.json +241 -413
  156. package/.next/standalone/packages/console/.next/static/chunks/{2n_dccp7oi2ad.js → 0-dlu3v5-3xjy.js} +1 -1
  157. package/.next/standalone/packages/console/.next/static/chunks/0-fzym4ddbgfl.js +1 -0
  158. package/.next/standalone/packages/console/.next/static/chunks/{0fj5fpwgxkqx6.js → 02_0efuv8zr04.js} +1 -1
  159. package/.next/standalone/packages/console/.next/static/chunks/{101ihp2v2np_3.js → 0k37l03brt1lx.js} +1 -1
  160. package/.next/standalone/packages/console/.next/static/chunks/0l1m73b3b3ljl.js +1 -0
  161. package/.next/standalone/packages/console/.next/static/chunks/{1wfdv058l23gm.js → 0q7s6fjx5zvzy.js} +1 -1
  162. package/.next/standalone/packages/console/.next/static/chunks/{3yjner-hzsvhr.js → 0qpp7ptesfktl.js} +1 -1
  163. package/.next/standalone/packages/console/.next/static/chunks/{0of7ho03vihb8.js → 0u8cdjuofezss.js} +1 -1
  164. package/.next/standalone/packages/console/.next/static/chunks/{2qc_m8dbgxc8w.js → 0yca02wd039-o.js} +1 -1
  165. package/.next/standalone/packages/console/.next/static/chunks/12bv9goo6bo3g.js +1 -0
  166. package/.next/standalone/packages/console/.next/static/chunks/{32f8-4_7znbir.js → 1619u51m6z_zy.js} +1 -1
  167. package/.next/standalone/packages/console/.next/static/chunks/1iip53cb0n1ho.js +1 -0
  168. package/.next/standalone/packages/console/.next/static/chunks/1l_1my5pd97do.js +1 -0
  169. package/.next/standalone/packages/console/.next/static/chunks/1omv57sjorlof.js +1 -0
  170. package/.next/standalone/packages/console/.next/static/chunks/{40js517zsadm9.js → 1vdn610i7k8j1.js} +1 -1
  171. package/.next/standalone/packages/console/.next/static/chunks/1yoc4-zamu_sm.js +1 -0
  172. package/.next/standalone/packages/console/.next/static/chunks/21vk0o3lx9oh1.js +1 -0
  173. package/.next/standalone/packages/console/.next/static/chunks/{3cae8s07yzv_o.js → 22sev5tbikm_p.js} +1 -1
  174. package/.next/standalone/packages/console/.next/static/chunks/28xc8g7o4b9a-.js +1 -0
  175. package/.next/standalone/packages/console/.next/static/chunks/{1e123ur-jgg7w.js → 292f5okbjz46-.js} +1 -1
  176. package/.next/standalone/packages/console/.next/static/chunks/2_g87mjk-iym-.js +1 -0
  177. package/.next/standalone/packages/console/.next/static/chunks/{0k-zw0ldc55vf.js → 2cgenpdif8p18.js} +1 -1
  178. package/.next/standalone/packages/console/.next/static/chunks/2cqwvmsk2n95d.js +1 -0
  179. package/.next/standalone/packages/console/.next/static/chunks/{0fa8e9n5fw6ti.js → 2e383naxva7i6.js} +1 -1
  180. package/.next/standalone/packages/console/.next/static/chunks/2fwpxzwprq1qx.js +1 -0
  181. package/.next/standalone/packages/console/.next/static/chunks/{1bra8hyy6r84a.js → 2lposccpgczy6.js} +1 -1
  182. package/.next/standalone/packages/console/.next/static/chunks/2luplqg0e_2uu.js +1 -0
  183. package/.next/standalone/packages/console/.next/static/chunks/2p-_e59ng41pt.js +1 -0
  184. package/.next/standalone/packages/console/.next/static/chunks/{3vr80dn3nyqqi.js → 2p72fzbj398ze.js} +1 -1
  185. package/.next/standalone/packages/console/.next/static/chunks/{323r-smxvi-fc.js → 2prg50nyxhd0_.js} +1 -1
  186. package/.next/standalone/packages/console/.next/static/chunks/2xli-100dinmp.js +1 -0
  187. package/.next/standalone/packages/console/.next/static/chunks/3-dxt127ediq-.js +1 -0
  188. package/.next/standalone/packages/console/.next/static/chunks/318upe1zitwt6.js +1 -0
  189. package/.next/standalone/packages/console/.next/static/chunks/{3y439_vfclcmy.js → 36p__5trrhe2z.js} +1 -1
  190. package/.next/standalone/packages/console/.next/static/chunks/3hi4swa3z-hby.js +1 -0
  191. package/.next/standalone/packages/console/.next/static/chunks/3op57o5tmo836.js +1 -0
  192. package/.next/standalone/packages/console/.next/static/chunks/{09d3pvbsjtshj.js → 41t0n1c_xovg1.js} +1 -1
  193. package/.next/standalone/packages/console/package.json +3 -3
  194. package/README.md +4 -3
  195. package/package.json +3 -3
  196. package/.next/standalone/packages/console/.next/server/chunks/ssr/0mxb_server_app_(console)_squadrons_blueprints_[name]_page_actions_170owr_.js +0 -3
  197. package/.next/standalone/packages/console/.next/server/chunks/ssr/0mxb_server_app_(console)_squadrons_templates_[name]_page_actions_09abrr0.js +0 -3
  198. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_fleet-health_page_actions_1gb6-fk.js +0 -3
  199. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_needs-crew_page_actions_08gu8-f.js +0 -3
  200. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_network_page_actions_1muuv-j.js +0 -3
  201. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_settings_page_actions_0b6qztr.js +0 -3
  202. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_ships_[shipId]_page_actions_0g2nd1p.js +0 -3
  203. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_squadrons_page_actions_1x3afts.js +0 -3
  204. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_trierarchs_page_actions_1ow37mz.js +0 -3
  205. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_fleet-health_[cause]_page_actions_1kltvcl.js +0 -3
  206. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_needs-attention_page_actions_1jfgclw.js +0 -3
  207. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_squadrons_[squadronId]_page_actions_1lzqlye.js +0 -3
  208. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_trierarchs_[shipId]_page_actions_0l7bxva.js +0 -3
  209. package/.next/standalone/packages/console/.next/server/chunks/ssr/_03yonp6._.js +0 -3
  210. package/.next/standalone/packages/console/.next/server/chunks/ssr/_06472wf._.js +0 -3
  211. package/.next/standalone/packages/console/.next/server/chunks/ssr/_065633k._.js +0 -3
  212. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0kyjchk._.js +0 -3
  213. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1bvkf-u._.js +0 -3
  214. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1hwizxg._.js +0 -3
  215. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1khnccn._.js +0 -3
  216. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1rut492._.js +0 -3
  217. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1x4wtlr._.js +0 -3
  218. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0969g9_._.js +0 -3
  219. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_inbox_page_actions_0q9_xye.js +0 -3
  220. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_labels_page_actions_0tk7mqs.js +0 -3
  221. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_page_actions_1ftjjyq.js +0 -3
  222. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_features_squadrons_organisms_form-squadron-dialog_tsx_13oketj._.js +0 -3
  223. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_features_trierarchs_organisms_clear-worktree-dialog_tsx_1vigea_._.js +0 -3
  224. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_lib_1b-azvo._.js +0 -3
  225. package/.next/standalone/packages/console/.next/static/chunks/05j0kzgxaeurj.js +0 -1
  226. package/.next/standalone/packages/console/.next/static/chunks/061rac_vo9o5d.js +0 -1
  227. package/.next/standalone/packages/console/.next/static/chunks/0ht5wi5oe5_za.js +0 -1
  228. package/.next/standalone/packages/console/.next/static/chunks/0o8q0d16-yt3a.js +0 -1
  229. package/.next/standalone/packages/console/.next/static/chunks/0sagpcmh6omoj.js +0 -1
  230. package/.next/standalone/packages/console/.next/static/chunks/169-oge56q06i.js +0 -1
  231. package/.next/standalone/packages/console/.next/static/chunks/18rsibme2venq.js +0 -1
  232. package/.next/standalone/packages/console/.next/static/chunks/1fhpw5henq0az.js +0 -1
  233. package/.next/standalone/packages/console/.next/static/chunks/1g_gieevkz75l.js +0 -1
  234. package/.next/standalone/packages/console/.next/static/chunks/1splzlg79ytml.js +0 -1
  235. package/.next/standalone/packages/console/.next/static/chunks/20l4-ecv_oo2h.js +0 -1
  236. package/.next/standalone/packages/console/.next/static/chunks/25l_2rj6pvegd.js +0 -1
  237. package/.next/standalone/packages/console/.next/static/chunks/2600yzum9pa4e.js +0 -1
  238. package/.next/standalone/packages/console/.next/static/chunks/2emmlk441wbz2.js +0 -1
  239. package/.next/standalone/packages/console/.next/static/chunks/2fkwzi80oyuv-.js +0 -1
  240. package/.next/standalone/packages/console/.next/static/chunks/2lcdtufyk66fk.js +0 -1
  241. package/.next/standalone/packages/console/.next/static/chunks/38klmgk3bgj3s.js +0 -1
  242. package/.next/standalone/packages/console/.next/static/chunks/3kvklsjp8y-7e.js +0 -1
  243. package/.next/standalone/packages/console/.next/static/chunks/41ur4zm093e1l.js +0 -1
  244. /package/.next/standalone/packages/console/.next/static/{ZV7FLBaZ7IVExYMj-OJbA → 8zn2b33vGieFxkimJl4au}/_buildManifest.js +0 -0
  245. /package/.next/standalone/packages/console/.next/static/{ZV7FLBaZ7IVExYMj-OJbA → 8zn2b33vGieFxkimJl4au}/_clientMiddlewareManifest.js +0 -0
  246. /package/.next/standalone/packages/console/.next/static/{ZV7FLBaZ7IVExYMj-OJbA → 8zn2b33vGieFxkimJl4au}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,86698,e=>{"use strict";e.s(["serializeValue",0,function(e){if(null==e)return"";if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}])},13203,65858,84325,42191,50001,18438,e=>{"use strict";var t=e.i(71645);e.s(["useOnFirstRender",0,function(e){let a=t.useRef(!0);a.current&&(a.current=!1,e())}],13203);var a=e.i(29315),s=e.i(83977),l=e.i(46376),n=e.i(88940),r=e.i(90627),i=e.i(46420),o=e.i(56341);e.s(["useFloatingRootContext",0,function(e){let{open:t=!1,onOpenChange:d,elements:u={}}=e,c=(0,s.useId)(),m=null!=(0,i.useFloatingParentNodeId)(),h=(0,n.useRefWithInit)(()=>new o.FloatingRootStore({open:t,transitionStatus:void 0,onOpenChange:d,referenceElement:u.reference??null,floatingElement:u.floating??null,triggerElements:new r.PopupTriggerMap,floatingId:c,syncOnly:!1,nested:m})).current;return(0,l.useIsoLayoutEffect)(()=>{let e={open:t,floatingId:c};void 0!==u.reference&&(e.referenceElement=u.reference,e.domReferenceElement=(0,a.isElement)(u.reference)?u.reference:null),void 0!==u.floating&&(e.floatingElement=u.floating),h.update(e)},[t,c,u.reference,u.floating,h]),h.context.onOpenChange=d,h.context.nested=m,h}],65858);let d=(e,t)=>Object.is(e,t);function u(e,t,a){return null==e||null==t?Object.is(e,t):a(e,t)}function c(e,t,a){return!!e&&e.some(e=>void 0!==e&&u(t,e,a))}function m(e,t,a){return e?e.findIndex(e=>void 0!==e&&u(e,t,a)):-1}function h(e,t,a,s){let l=s&&Array.isArray(t)?e.findIndex(function(e,t){if(t!==d)return a=>c(e,a,t);let a=new Set(e);return a.delete(void 0),t=>a.has(t)&&(0!==t||e.some(e=>Object.is(t,e)))}(t,a)):m(e,t,a);return -1===l?null:l}e.s(["compareItemEquality",0,u,"defaultItemEquality",0,d,"findItemIndex",0,m,"findSelectionIndex",0,h,"isSelectedValueDirty",0,function(e,t,a){return Array.isArray(e)&&Array.isArray(t)?!function(e,t,a=Object.is){let{length:s}=e;if(s!==t.length)return!1;for(let l=0;l<s;l+=1)if(!a(e[l],t[l]))return!1;return!0}(e,t,(e,t)=>u(e,t,a)):e!==t},"removeItem",0,function(e,t,a){return e.filter(e=>!u(t,e,a))},"resolveSelectedIndex",0,function(e,t,a,s,l,n){return c(s,t,l)?null!=n&&e>n&&c(s,a[n],l)?n:e:e===n?h(a,s,l,!0):n},"selectedValueIncludes",0,c],84325);var f=e.i(86698),x=e.i(43476);function p(e){var t;return"object"==typeof(t=e?.[0])&&null!=t&&Array.isArray(t.items)}function b(e){return p(e)?e.flatMap(e=>e.items):e}function g(e,t){if(t&&null!=e)return t(e)??"";if(e&&"object"==typeof e){if("label"in e&&null!=e.label)return String(e.label);if("value"in e)return String(e.value)}return(0,f.serializeValue)(e)}function v(e,t,a){if(a&&null!=e)return a(e);if(e&&"object"==typeof e&&"label"in e&&null!=e.label)return e.label;if(t&&!Array.isArray(t))return(Object.hasOwn(t,e)?t[e]:void 0)??g(e,a);if(Array.isArray(t)){let s=b(t);if(null==e||"object"!=typeof e){let t=s.find(t=>t.value===e);return t&&null!=t.label?t.label:g(e,a)}if("value"in e){let t=s.find(t=>t&&t.value===e.value);if(t&&null!=t.label)return t.label}}return g(e,a)}e.s(["flattenLeafItems",0,b,"hasNullItemLabel",0,function(e){if(!Array.isArray(e))return null!=e&&"null"in e;if(p(e)){for(let t of e)for(let e of t.items)if(e&&null==e.value&&null!=e.label)return!0;return!1}for(let t of e)if(t&&null==t.value&&null!=t.label)return!0;return!1},"isGroupedItems",0,p,"resolveMultipleLabels",0,function(e,a,s){return e.reduce((e,l,n)=>(n>0&&e.push(", "),e.push((0,x.jsx)(t.Fragment,{children:v(l,a,s)},n)),e),[])},"resolveSelectedLabel",0,v,"stringifyAsLabel",0,g,"stringifyAsValue",0,function(e,t){return t&&null!=e?t(e)??"":e&&"object"==typeof e&&"value"in e&&"label"in e?(0,f.serializeValue)(e.value):(0,f.serializeValue)(e)}],42191),e.s(["getDefaultLabelId",0,function(e){return null==e?void 0:`${e}-label`},"resolveAriaLabelledBy",0,function(e,t){return e??t}],50001);var y=e.i(52245);let j=t.forwardRef(function(e,t){let{className:a,render:s,orientation:l="horizontal",style:n,...r}=e;return(0,y.useRenderElement)("div",e,{state:{orientation:l},ref:t,props:[{role:"presentation"},r]})});e.s(["ListboxSeparator",0,j],18438)},92150,e=>{"use strict";var t=e.i(56420);let a={name:"boxes",size:24,node:[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]};a.node;let s=(0,t.default)(a);e.s(["Boxes",0,s],92150)},16327,e=>{"use strict";var t=e.i(56420);let a={name:"chevron-down",size:24,node:[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]};a.node;let s=(0,t.default)(a);e.s(["ChevronDown",0,s],16327)},24071,e=>{"use strict";var t=e.i(56420);let a={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};a.node;let s=(0,t.default)(a);e.s(["ChevronLeft",0,s],24071)},67927,e=>{"use strict";var t=e.i(56420);let a={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};a.node;let s=(0,t.default)(a);e.s(["ChevronRight",0,s],67927)},86247,e=>{"use strict";var t=e.i(56420);let a={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};a.node;let s=(0,t.default)(a);e.s(["Ellipsis",0,s],86247)},15281,e=>{"use strict";var t=e.i(56420);let a={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};a.node;let s=(0,t.default)(a);e.s(["Pencil",0,s],15281)},77071,e=>{"use strict";var t=e.i(56420);let a={name:"plus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]};a.node;let s=(0,t.default)(a);e.s(["Plus",0,s],77071)},66595,e=>{"use strict";var t=e.i(56420);let a={name:"search",size:24,node:[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]};a.node;let s=(0,t.default)(a);e.s(["Search",0,s],66595)},19759,e=>{"use strict";var t=e.i(56420);let a={name:"square-pen",size:24,node:[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],aliases:["pen-box","edit","pen-square"]};a.node;let s=(0,t.default)(a);e.s(["SquarePen",0,s],19759)},68401,e=>{"use strict";var t=e.i(56420);let a={name:"tags",size:24,node:[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]]};a.node;let s=(0,t.default)(a);e.s(["Tags",0,s],68401)},59659,e=>{"use strict";var t=e.i(56420);let a={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};a.node;let s=(0,t.default)(a);e.s(["Trash2",0,s],59659)},81785,e=>{"use strict";var t=e.i(43476),a=e.i(77071),s=e.i(71645),l=e.i(15905),n=e.i(92150),r=e.i(86247),i=e.i(15281),o=e.i(66595),d=e.i(49287),u=e.i(86875),c=e.i(68401),m=e.i(59659),h=e.i(22016),f=e.i(90063),x=e.i(25242),p=e.i(80581),b=e.i(57334),g=e.i(12470),v=e.i(46033),y=e.i(14732),j=e.i(67874),w=e.i(17981),N=e.i(88393);let k={"trierarch-plugin":u.ShipWheel,squadrons:n.Boxes,ship:d.Ship};function S(e,t){return`${String(e)} ${1===e?t:`${t}s`}`}function C({value:e}){return(0,t.jsxs)(h.default,{href:`/?label=${e.valueId}`,"data-testid":"labels-value",title:`${e.value}: on ${0===e.shipCount?"no ship":S(e.shipCount,"ship")}`,className:(0,f.classNames)("inline-flex h-6 items-center gap-1.5 rounded-sm border border-border bg-secondary px-2 font-mono text-id hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",0===e.shipCount?"text-muted-foreground":"text-foreground"),children:[(0,t.jsx)("span",{className:"font-medium",children:e.value}),(0,t.jsx)("span",{className:"font-sans text-caption text-muted-foreground tabular-nums",children:e.shipCount})]})}function I({owner:e}){let a="none"===e.mark?null:k[e.mark];return(0,t.jsxs)("span",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 font-medium [&_svg]:size-(--size-icon-sm) [&_svg]:text-muted-foreground",children:[null===a?null:(0,t.jsx)(a,{"aria-hidden":!0}),e.name,e.isYours?(0,t.jsx)("span",{className:"font-normal text-muted-foreground",children:"(you)"}):null]}),(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e.isYours?"Only you assign it":`Read-only: only ${e.name} assigns it`})]})}function z({row:e,onChangeValues:a,onDelete:s}){if(!e.owner.isYours||void 0===a&&void 0===s)return null;let n=e.shipCount>0;return(0,t.jsxs)(b.DropdownMenu,{children:[(0,t.jsx)(b.DropdownMenuTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"sm",isIconOnly:!0,"aria-label":`Actions for ${e.key}`,icon:(0,t.jsx)(r.Ellipsis,{}),"data-testid":"labels-row-menu"})}),(0,t.jsxs)(b.DropdownMenuContent,{align:"end",children:[void 0===a?null:(0,t.jsxs)(b.DropdownMenuItem,{"data-testid":"labels-change-values",onClick:()=>{a(e)},children:[(0,t.jsx)(i.Pencil,{"aria-hidden":!0}),"Change values…"]}),void 0===s?null:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.DropdownMenuSeparator,{}),(0,t.jsxs)(b.DropdownMenuItem,{variant:"destructive",disabled:n,"data-testid":"labels-delete",className:"h-auto min-h-8.5 py-1.5",onClick:()=>{s(e)},children:[(0,t.jsx)(m.Trash2,{"aria-hidden":!0}),(0,t.jsxs)("span",{className:"flex flex-col",children:["Delete label…",n?(0,t.jsx)("span",{className:"text-caption text-muted-foreground",children:"Only when no ship carries it"}):null]})]})]})]})]})}function D({rows:e,shipTotal:n,error:r,onRetry:i,onDefine:d,onChangeValues:u,onDelete:m}){let h=(0,x.useConsoleConstants)(),[f,b]=(0,s.useState)(""),[k,L]=(0,s.useState)("all");if(void 0!==r)return(0,t.jsx)(w.InlineError,{variant:"page",title:"Couldn’t load labels",description:"This page couldn’t reach the fleet server. Nothing changed; your labels are where you left them.",detail:r,onRetry:i});if(void 0===e)return(0,t.jsx)(N.LoadingSkeleton,{variant:"table",rows:5,label:"Loading labels"});if(0===e.length)return(0,t.jsx)(j.EmptyState,{icon:(0,t.jsx)(c.Tags,{"aria-hidden":!0}),title:"No labels yet",description:"A label is a key with a set of values, like os with macos and linux. Define one, then assign it on ship pages to filter the fleet and to place crew requests on machines.",action:void 0===d?void 0:(0,t.jsx)(l.Button,{variant:"primary",icon:(0,t.jsx)(a.Plus,{}),onClick:d,children:"Define a label"})});let T=[...new Set(e.map(e=>e.owner.name))],A=e.filter(e=>(0,p.matchesLabelQuery)(e,f)&&("all"===k||e.owner.name===k)),R={all:"All",...Object.fromEntries(T.map(e=>[e,e]))};return(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"labels-table",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("div",{className:"w-64 max-sm:min-w-0 max-sm:flex-1",children:(0,t.jsx)(g.Input,{type:"search","aria-label":"Find a key or value",placeholder:"Find a key or value",leadingIcon:(0,t.jsx)(o.Search,{}),value:f,className:"h-(--size-control-sm) text-meta max-sm:h-(--size-control-touch) max-sm:text-input-touch","data-testid":"labels-search",onChange:e=>{b(e.target.value)}})}),(0,t.jsxs)(v.Select,{items:R,value:k,onValueChange:e=>{null!==e&&L(e)},children:[(0,t.jsx)(v.SelectTrigger,{size:"sm","aria-label":"Owner",children:(0,t.jsxs)("span",{className:"flex gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"Owner"}),(0,t.jsx)(v.SelectValue,{className:"font-medium"})]})}),(0,t.jsx)(v.SelectContent,{children:Object.entries(R).map(([e,a])=>(0,t.jsx)(v.SelectItem,{value:e,children:a},e))})]}),(0,t.jsxs)("p",{className:"ml-auto text-meta text-muted-foreground tabular-nums max-sm:w-full",children:[S(e.length,"label")," · ",S(T.length,"owner")]})]}),0===A.length?(0,t.jsx)(j.EmptyState,{variant:"no-results",title:`No label matches “${f.trim()}”.`}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"max-sm:hidden",children:(0,t.jsxs)(y.Table,{"aria-label":"Labels",children:[(0,t.jsx)(y.TableHeader,{children:(0,t.jsxs)(y.TableRow,{children:[(0,t.jsx)(y.TableHead,{children:"Key"}),(0,t.jsx)(y.TableHead,{children:"Values and the ships that carry each"}),(0,t.jsx)(y.TableHead,{children:"Owner"}),(0,t.jsx)(y.TableHead,{children:"Ships"}),(0,t.jsx)(y.TableHead,{children:(0,t.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,t.jsx)(y.TableBody,{children:A.map(e=>(0,t.jsxs)(y.TableRow,{"data-testid":`labels-row-${e.key}`,children:[(0,t.jsx)(y.TableCell,{className:"align-top",children:(0,t.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"font-mono text-body font-medium",children:e.key}),(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:S(e.values.length,"value")})]})}),(0,t.jsx)(y.TableCell,{children:(0,t.jsx)("span",{className:"flex flex-wrap gap-1.5",children:e.values.map(e=>(0,t.jsx)(C,{value:e},e.valueId))})}),(0,t.jsx)(y.TableCell,{className:"max-w-60 align-top",children:(0,t.jsx)(I,{owner:e.owner})}),(0,t.jsx)(y.TableCell,{className:"align-top",children:(0,t.jsxs)("span",{className:"flex flex-col gap-0.5 tabular-nums",children:[(0,t.jsx)("span",{children:e.shipCount}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground",children:["of ",n]})]})}),(0,t.jsx)(y.TableCell,{className:"w-10 text-right align-top",children:(0,t.jsx)(z,{row:e,onChangeValues:u,onDelete:m})})]},e.labelId))})]})}),(0,t.jsx)("ul",{"aria-label":"Labels",className:"overflow-hidden rounded-lg border border-border bg-card sm:hidden",children:A.map(e=>(0,t.jsxs)("li",{className:"flex flex-col gap-2 border-b border-border px-3.5 py-3 last:border-0","data-testid":`labels-card-${e.key}`,children:[(0,t.jsxs)("span",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-body-touch font-medium",children:e.key}),(0,t.jsxs)("span",{className:"flex items-center gap-1 text-meta text-muted-foreground",children:[S(e.shipCount,"ship"),(0,t.jsx)(z,{row:e,onChangeValues:u,onDelete:m})]})]}),(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e.owner.isYours?"By you":`By ${e.owner.name} \xb7 read-only`}),(0,t.jsx)("span",{className:"flex flex-wrap gap-1.5",children:e.values.map(e=>(0,t.jsx)(C,{value:e},e.valueId))})]},e.labelId))})]}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:`A value opens the fleet overview filtered by it. Keys and values use lowercase letters, digits and -, up to ${String(h.labelHandleMaxLength)} characters; a label has at most ${String(h.labelValuesMax)} values and a ship at most ${String(h.shipLabelsMax)} labels (decision 0031).`})]})}var L=e.i(37631),T=e.i(87964),A=e.i(17540),R=e.i(90262),M=e.i(5387),O=e.i(18423),q=e.i(28459),E=e.i(78485);let K=(0,A.lazyDialog)(()=>e.A(2581).then(e=>e.DefineLabelDialog),e=>e.isOpen),P=(0,A.lazyDialog)(()=>e.A(29886).then(e=>e.DeleteLabelDialog),e=>void 0!==e.row),V=(0,A.lazyDialog)(()=>e.A(3877).then(e=>e.LabelValuesDialog),e=>void 0!==e.row);e.s(["default",0,function(){let e=(0,T.useConsoleFrame)(),n=(0,q.useNeedsAttention)(),r=(0,O.useLiveFleet)(),i=(0,R.useAccess)(),o=(0,M.useFleetLabels)(),d=(0,M.useLabelContext)(),u=(0,M.useDefineLabel)(),c=(0,M.useChangeLabelValues)(),m=(0,M.useDeleteLabel)(),[h,f]=(0,s.useState)(!1),[x,b]=(0,s.useState)(void 0),[g,v]=(0,s.useState)(void 0),[y,j]=(0,s.useState)(void 0),[w,N]=(0,s.useState)(void 0);(0,E.useSignInWhenSessionEnds)([n.error,r.error,o.error]);let k=void 0===d?void 0:(0,p.labelRowsOf)(d),S=i.canDefineLabels,C=k?.find(e=>e.labelId===x),I=k?.find(e=>e.labelId===w),z=e=>{void 0!==C&&(v(e.busy),j(void 0),c.mutate({labelId:C.labelId,values:e.values},{onError:t=>{j({...e.refused,message:t.message})},onSettled:()=>{v(void 0)}}))};return(0,t.jsxs)(L.DetailPage,{onCompose:e.onCompose,onSearch:e.onSearch,banner:e.banner,title:"Labels",parents:[{href:"/",label:"Fleet overview"}],live:r.live,header:(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4 max-sm:gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,t.jsx)("h1",{className:"text-title font-semibold tracking-tight max-sm:text-title-touch",children:"Labels"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground max-sm:text-body-touch",children:"An owned vocabulary for selecting ships: filter the fleet with them, and crew requests use them to pick a machine. Only a label’s owner assigns it."})]}),S&&void 0!==k&&k.length>0?(0,t.jsx)(l.Button,{variant:"primary",icon:(0,t.jsx)(a.Plus,{}),className:"max-sm:w-full","data-testid":"labels-define",onClick:()=>{u.reset(),f(!0)},children:"Define a label"}):null]}),children:[(0,t.jsx)(D,{rows:k,shipTotal:void 0===d?0:(0,p.activeShipCount)(d),error:o.isError?o.error.message:void 0,onRetry:()=>{o.refetch()},onDefine:S?()=>{u.reset(),f(!0)}:void 0,onChangeValues:S?e=>{j(void 0),b(e.labelId)}:void 0,onDelete:S?e=>{m.reset(),N(e.labelId)}:void 0}),S?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(K,{isOpen:h,onOpenChange:f,isPending:u.isPending,error:u.error?.message,onSubmit:e=>{u.mutate(e,{onSuccess:()=>{f(!1)}})}}),(0,t.jsx)(V,{row:C,onOpenChange:e=>{e||b(void 0)},busy:g,error:y,onAdd:e=>{z({values:[...C?.values.map(e=>e.value)??[],e],busy:{action:"add",value:e},refused:{value:e}})},onRemove:e=>{let t=C?.values.find(t=>t.valueId===e);z({values:C?.values.filter(t=>t.valueId!==e).map(e=>e.value)??[],busy:{action:"remove",valueId:e},refused:{valueId:e,value:t?.value??""}})}}),(0,t.jsx)(P,{row:I,onOpenChange:e=>{e||N(void 0)},isPending:m.isPending,error:m.error?.message,onDelete:e=>{m.mutate({labelId:e},{onSuccess:()=>{N(void 0)}})}})]}):null]})}],81785)},36651,e=>{"use strict";var t=e.i(43476),a=e.i(90063);e.s(["Kbd",0,function({className:e,...s}){return(0,t.jsx)("kbd",{"data-slot":"kbd",className:(0,a.classNames)("inline-flex h-5 min-w-5 shrink-0 items-center justify-center rounded-xs border border-border bg-muted px-1.25 font-sans text-micro font-medium text-muted-foreground max-sm:hidden",e),...s})}])},19321,e=>{"use strict";var t=e.i(43476),a=e.i(90063);e.s(["Skeleton",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"skeleton","aria-hidden":!0,className:(0,a.classNames)("animate-pulse rounded-sm bg-secondary [animation-duration:var(--duration-pulse)] motion-reduce:animate-none",e),...s})}])},14732,e=>{"use strict";var t=e.i(43476),a=e.i(56420);let s={name:"arrow-down",size:24,node:[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]};s.node;let l=(0,a.default)(s),n={name:"arrow-up",size:24,node:[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]};n.node;let r=(0,a.default)(n);var i=e.i(63707),o=e.i(90063);function d({className:e,...a}){return(0,t.jsx)("th",{"data-slot":"table-head",className:(0,o.classNames)("px-4 text-left align-middle text-caption font-medium whitespace-nowrap text-muted-foreground",e),...a})}e.s(["Table",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto rounded-lg border border-border bg-card shadow-sm",children:(0,t.jsx)("table",{"data-slot":"table",className:(0,o.classNames)("w-full caption-bottom text-body",e),...a})})},"TableBody",0,function({className:e,...a}){return(0,t.jsx)("tbody",{"data-slot":"table-body",className:(0,o.classNames)("[&_tr:last-child]:border-0",e),...a})},"TableCell",0,function({className:e,...a}){return(0,t.jsx)("td",{"data-slot":"table-cell",className:(0,o.classNames)("px-4 align-middle",e),...a})},"TableHead",0,d,"TableHeader",0,function({className:e,...a}){return(0,t.jsx)("thead",{"data-slot":"table-header",className:(0,o.classNames)("bg-muted [&_tr]:border-b",e),...a})},"TableRow",0,function({className:e,...a}){return(0,t.jsx)("tr",{"data-slot":"table-row",className:(0,o.classNames)("h-(--size-row) border-b border-border transition-colors duration-(--duration-fast) hover:bg-muted has-focus-visible:outline-2 has-focus-visible:-outline-offset-2 has-focus-visible:outline-ring data-new:animate-highlight [thead_&]:h-(--size-row-header) [thead_&]:hover:bg-transparent",e),...a})},"TableSortHead",0,function({direction:e,onSort:a,children:s,className:n,...u}){let c="ascending"===e?r:"descending"===e?l:i.ChevronsUpDown;return(0,t.jsx)(d,{"aria-sort":e??"none",className:(0,o.classNames)("px-2",n),...u,children:(0,t.jsxs)("button",{type:"button",onClick:a,className:"inline-flex h-7 items-center gap-1 rounded-sm px-2 font-medium hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring data-sorted:text-foreground","data-sorted":null===e?void 0:"",children:[s,(0,t.jsx)(c,{"aria-hidden":!0,className:(0,o.classNames)("size-3.5 shrink-0",null===e?"opacity-50":void 0)})]})})}],14732)},67874,e=>{"use strict";var t=e.i(43476),a=e.i(90063);e.s(["EmptyState",0,function({title:e,description:s,icon:l,action:n,variant:r="page",className:i}){return"section"===r?(0,t.jsxs)("p",{"data-slot":"empty-state","data-variant":r,className:(0,a.classNames)("rounded-lg border border-border px-4 py-3 text-center text-meta text-muted-foreground",i),children:[e,s?(0,t.jsxs)(t.Fragment,{children:[" ",s]}):null]}):"no-results"===r?(0,t.jsxs)("div",{"data-slot":"empty-state","data-variant":r,className:(0,a.classNames)("flex flex-col items-center gap-2.5 rounded-lg border border-border bg-card px-4 py-6 text-center",i),children:[(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:e}),n]}):(0,t.jsxs)("div",{"data-slot":"empty-state","data-variant":r,className:(0,a.classNames)("flex flex-col items-center gap-3 rounded-lg border border-dashed border-border bg-card px-6 py-10 text-center",i),children:[l?(0,t.jsx)("span",{"aria-hidden":!0,className:"flex size-10 items-center justify-center rounded-lg border border-border bg-muted text-muted-foreground [&_svg]:size-(--size-icon-xl)",children:l}):null,(0,t.jsx)("h2",{className:"text-heading font-semibold text-foreground max-sm:text-heading-touch",children:e}),s?(0,t.jsx)("p",{className:"max-w-96 text-meta text-muted-foreground max-sm:text-body-touch",children:s}):null,n?(0,t.jsx)("div",{className:"mt-1 max-sm:w-full max-sm:[&>*]:w-full",children:n}):null]})}])},88393,e=>{"use strict";var t=e.i(43476),a=e.i(90063),s=e.i(19321);function l(e){return Array.from({length:e},(e,t)=>`row-${String(t)}`)}e.s(["LoadingSkeleton",0,function({variant:e,rows:n=4,label:r="Loading",className:i}){return(0,t.jsxs)("div",{role:"status","data-slot":"loading-skeleton","data-variant":e,className:(0,a.classNames)("w-full",i),children:[(0,t.jsx)("span",{className:"sr-only",children:r}),"table"===e?(0,t.jsxs)("div",{className:"overflow-hidden rounded-lg border border-border bg-card shadow-sm",children:[(0,t.jsx)("div",{className:"h-(--size-row-header) border-b border-border bg-muted"}),l(n).map(e=>(0,t.jsxs)("div",{className:"flex h-(--size-row) items-center gap-8 border-b border-border px-4 last:border-0",children:[(0,t.jsx)(s.Skeleton,{className:"h-2.5 w-24"}),(0,t.jsx)(s.Skeleton,{className:"h-5 w-16"}),(0,t.jsx)(s.Skeleton,{className:"h-5 w-20"}),(0,t.jsx)(s.Skeleton,{className:"h-2.5 w-28"})]},e))]}):null,"cards"===e?(0,t.jsx)("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:l(4).map(e=>(0,t.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)(s.Skeleton,{className:"h-2.5 w-20"}),(0,t.jsx)(s.Skeleton,{className:"h-6 w-10"}),(0,t.jsx)(s.Skeleton,{className:"h-2.5 w-28"})]},e))}):null,"detail"===e?(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)(s.Skeleton,{className:"h-7 w-48"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(s.Skeleton,{className:"h-5 w-20"}),(0,t.jsx)(s.Skeleton,{className:"h-5 w-16"})]}),(0,t.jsx)(s.Skeleton,{className:"h-16 w-full rounded-lg"})]}):null,"list"===e?(0,t.jsx)("div",{className:"overflow-hidden rounded-lg border border-border bg-card",children:l(n).map(e=>(0,t.jsxs)("div",{className:"flex flex-col gap-2.5 border-b border-border px-3.5 py-3 last:border-0",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)(s.Skeleton,{className:"h-3 w-28"}),(0,t.jsx)(s.Skeleton,{className:"h-5 w-16"})]}),(0,t.jsx)(s.Skeleton,{className:"h-2.5 w-44"})]},e))}):null]})}])},37631,e=>{"use strict";var t=e.i(43476),a=e.i(77880),s=e.i(85538);e.s(["DetailPage",0,function({title:e,parents:l,header:n,children:r,sheet:i,live:o,onCompose:d,onSearch:u,banner:c}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.Header,{breadcrumb:e,parents:l,live:o,onCompose:d,onSearch:u}),c,(0,t.jsx)(s.TopBar,{title:e,live:o,back:l[l.length-1]??l[0]}),(0,t.jsxs)("main",{className:"flex grow flex-col gap-5 px-8 py-6 max-sm:gap-3.5 max-sm:px-4 max-sm:pt-3.5 max-sm:pb-[calc(var(--size-tabbar)+var(--spacing)*4)]",children:[n,r]}),i]})}])},77880,85538,e=>{"use strict";var t=e.i(43476),a=e.i(67927),s=e.i(66595),l=e.i(19759),n=e.i(22016),r=e.i(15905),i=e.i(36651),o=e.i(90063);let d={live:{label:"Live",dot:"bg-tone-ok-fg"},reconnecting:{label:"Reconnecting",dot:"bg-tone-waiting-fg"},offline:{label:"Offline",dot:"bg-tone-attention-fg"}};function u({state:e,className:a}){let{label:s,dot:l}=d[e];return(0,t.jsxs)("span",{"data-slot":"live-status","data-state":e,"aria-live":"polite",className:(0,o.classNames)("inline-flex items-center gap-1.5 text-meta text-muted-foreground",a),children:[(0,t.jsx)("span",{"aria-hidden":!0,className:(0,o.classNames)("size-2 shrink-0 rounded-full",l)}),s]})}e.s(["Header",0,function({breadcrumb:e,parents:o=[],live:d,onCompose:c,onSearch:m}){return(0,t.jsxs)("header",{"data-slot":"header",className:"sticky top-0 z-30 hidden h-(--size-header) shrink-0 items-center justify-between gap-4 border-b border-border bg-background px-6 sm:flex",children:[(0,t.jsx)("nav",{"aria-label":"Breadcrumb","data-testid":"header-breadcrumb",className:"min-w-0 text-body",children:(0,t.jsxs)("ol",{className:"flex min-w-0 items-center gap-1.5",children:[o.map(e=>(0,t.jsxs)("li",{className:"flex shrink-0 items-center gap-1.5",children:[(0,t.jsx)(n.default,{href:e.href,className:"text-muted-foreground hover:text-foreground hover:underline",children:e.label}),(0,t.jsx)(a.ChevronRight,{"aria-hidden":!0,className:"size-3.5 text-muted-foreground"})]},e.href)),(0,t.jsx)("li",{"aria-current":"page",className:"truncate font-medium text-foreground",children:e})]})}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(u,{state:d}),m?(0,t.jsxs)(r.Button,{size:"sm",icon:(0,t.jsx)(s.Search,{"aria-hidden":!0}),"data-testid":"header-search",className:"w-60 justify-start font-normal text-muted-foreground",onClick:m,children:[(0,t.jsx)("span",{className:"grow text-left",children:"Search ships or jump to"}),(0,t.jsx)(i.Kbd,{children:"⌘K"})]}):null,c?(0,t.jsx)(r.Button,{size:"sm",icon:(0,t.jsx)(l.SquarePen,{"aria-hidden":!0}),"data-testid":"header-compose",onClick:c,children:"Compose"}):null]})]})}],77880);var c=e.i(24071),m=e.i(57957);e.s(["TopBar",0,function({title:e,live:a,actions:l,back:i,account:o,onSearch:d}){let h=d&&!i?d:void 0;return(0,t.jsxs)("header",{"data-slot":"top-bar","data-mode":i?"detail":"root",className:"sticky top-0 z-30 flex h-(--size-header) items-center gap-2.5 border-b border-border bg-background px-4 sm:hidden",children:[i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.default,{href:i.href,className:"-ml-1.5 inline-flex h-(--size-control-touch) shrink-0 items-center gap-0.5 rounded-md pr-2 text-body-touch text-foreground focus-visible:outline-2 focus-visible:outline-ring [&_svg]:size-(--size-icon)",children:[(0,t.jsx)(c.ChevronLeft,{"aria-hidden":!0}),i.label]}),(0,t.jsx)("p",{className:"min-w-0 flex-1 truncate text-center text-body-touch font-semibold text-foreground",children:e})]}):(0,t.jsx)("h1",{className:"truncate text-title-touch font-semibold tracking-tight text-foreground",children:e}),(0,t.jsx)(u,{state:a}),l||h||o&&!i?(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[h?(0,t.jsx)(r.Button,{variant:"ghost",size:"touch",isIconOnly:!0,"aria-label":"Search ships or jump to","data-testid":"top-bar-search",onClick:h,children:(0,t.jsx)(s.Search,{"aria-hidden":!0})}):null,l,o&&!i?(0,t.jsx)(m.AccountMenuSheet,{...o}):null]}):null]})}],85538)},18423,e=>{"use strict";var t=e.i(12598),a=e.i(5861),s=e.i(71645),l=e.i(86413),n=e.i(27702);let r=new Set(["FleetInitialised","ShipCommissioned","ShipClaimed","LeaseRevoked","CredentialRevoked","StartingPromptIssued","ShipRetired","DeliveryAcknowledged","DeliveryUndeliverable","ShipReported","CrewRequested","CrewRequestRemoved","CrewAssigned","CrewStatusChanged","CrewRequestExplained","CrewRequestGivenBack","LabelAssigned","LabelUnassigned","LabelRetired"]);async function i(e,t){await e.cancelQueries({queryKey:t,predicate:e=>void 0===e.state.data&&"fetching"===e.state.fetchStatus}),await e.invalidateQueries({queryKey:t})}let o=new Set(["LabelDefined","LabelValuesChanged","LabelRetired","LabelAssigned","LabelUnassigned","LabelDeleted"]),d=new Set(["DeliveryUndeliverable","DeliveryNotHandled","DeliveryDismissed"]);e.s(["useLiveFleet",0,function(){let e=(0,n.useTRPC)(),u=(0,t.useQueryClient)(),[c,m]=(0,s.useState)(new Set),h=e=>{i(u,e)},f=(0,a.useSubscription)(e.fleet.events.subscriptionOptions({lastEventId:null},{onData:({data:t})=>{var a,s,n,i;if("resync"===t.kind){h(e.fleet.pathKey()),h(l.INBOX_KEY);return}let{event:u}=t;for(let t of new Set([u.shipId,u.actorShipId]))null!==t&&(h(e.fleet.ship.queryKey({shipId:t})),h(e.fleet.shipTimeline.queryKey({shipId:t})),h(e.fleet.shipWay.queryKey({shipId:t})));if(null!==u.messageId&&(h(e.fleet.shipMessages.pathKey()),h(e.fleet.shipWay.pathKey()),h(e.fleet.message.queryKey({messageId:u.messageId})),h(e.fleet.inbox.pathKey()),h(l.INBOX_KEY),h(e.fleet.health.queryKey())),a=u.type,d.has(a)&&h(e.fleet.needsAttention.queryKey()),s=u.type,o.has(s)&&h(e.fleet.labels.queryKey()),"NetworkRulesDeclared"===u.type&&h(e.fleet.declaredNetworkRules.queryKey()),("BuiltInRuleChanged"===(n=u.type)||"NetworkPluginUnregistered"===n)&&h(e.fleet.builtInRules.queryKey()),i=u.type,!r.has(i))return;h(e.fleet.list.queryKey()),h(e.fleet.health.queryKey());let{shipId:c}=u;"ShipCommissioned"===u.type&&null!==c&&m(e=>new Set([...e,c]))}}));return{live:function(e){switch(e){case"pending":return"live";case"connecting":return"reconnecting";case"idle":case"error":return"offline"}}(f.status),newShipIds:c,error:f.error}}])},28459,e=>{"use strict";var t=e.i(54616),a=e.i(66027),s=e.i(12598),l=e.i(27702);function n(e){let t=String(e.attempts-1);return e.isPushed?`Handed ${t} times, never confirmed; fifth refused: undeliverable.`:`Handed (pulled) ${t} times, never acknowledged; fifth receive refused: undeliverable.`}let r="Acknowledged, then its turn died; handed once more, and that turn died too: not handled.";function i(){let e=(0,l.useTRPC)(),t=(0,s.useQueryClient)();return()=>t.invalidateQueries({queryKey:e.fleet.pathKey()})}e.s(["DISMISSED_TOAST",0,{title:"Delivery dismissed",description:"It stays in the timelines as dismissed."},"attentionReason",0,function(e){switch(e.state){case"undeliverable":return n(e);case"notHandled":return null===e.reason?r:`${r} Its crew said: ${e.reason}.`}},"canResend",0,function(e){return!e.message.isPing},"deliveryWithId",0,function(e,t){return e?.find(e=>e.deliveryId===t)},"resentToast",0,function(e){return{title:"Message resent",description:`A new message went to ${function(e){let{recipient:t}=e.message;return"ship"===t.kind?t.ship.name:`any ship of type ${t.type}`}(e)}. The original is dismissed.`}},"undeliverableReason",0,n,"useDismissDelivery",0,function(){let e=(0,l.useTRPC)(),a=i();return(0,t.useMutation)(e.fleet.dismiss.mutationOptions({onSuccess:a}))},"useNeedsAttention",0,function(){let e=(0,l.useTRPC)();return(0,a.useQuery)(e.fleet.needsAttention.queryOptions())},"useResendDelivery",0,function(){let e=(0,l.useTRPC)(),a=i();return(0,t.useMutation)(e.fleet.resend.mutationOptions({onSuccess:a}))}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,86698,e=>{"use strict";e.s(["serializeValue",0,function(e){if(null==e)return"";if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}])},13203,65858,84325,42191,50001,18438,e=>{"use strict";var t=e.i(71645);e.s(["useOnFirstRender",0,function(e){let a=t.useRef(!0);a.current&&(a.current=!1,e())}],13203);var a=e.i(29315),s=e.i(83977),l=e.i(46376),n=e.i(88940),r=e.i(90627),i=e.i(46420),o=e.i(56341);e.s(["useFloatingRootContext",0,function(e){let{open:t=!1,onOpenChange:d,elements:u={}}=e,c=(0,s.useId)(),m=null!=(0,i.useFloatingParentNodeId)(),h=(0,n.useRefWithInit)(()=>new o.FloatingRootStore({open:t,transitionStatus:void 0,onOpenChange:d,referenceElement:u.reference??null,floatingElement:u.floating??null,triggerElements:new r.PopupTriggerMap,floatingId:c,syncOnly:!1,nested:m})).current;return(0,l.useIsoLayoutEffect)(()=>{let e={open:t,floatingId:c};void 0!==u.reference&&(e.referenceElement=u.reference,e.domReferenceElement=(0,a.isElement)(u.reference)?u.reference:null),void 0!==u.floating&&(e.floatingElement=u.floating),h.update(e)},[t,c,u.reference,u.floating,h]),h.context.onOpenChange=d,h.context.nested=m,h}],65858);let d=(e,t)=>Object.is(e,t);function u(e,t,a){return null==e||null==t?Object.is(e,t):a(e,t)}function c(e,t,a){return!!e&&e.some(e=>void 0!==e&&u(t,e,a))}function m(e,t,a){return e?e.findIndex(e=>void 0!==e&&u(e,t,a)):-1}function h(e,t,a,s){let l=s&&Array.isArray(t)?e.findIndex(function(e,t){if(t!==d)return a=>c(e,a,t);let a=new Set(e);return a.delete(void 0),t=>a.has(t)&&(0!==t||e.some(e=>Object.is(t,e)))}(t,a)):m(e,t,a);return -1===l?null:l}e.s(["compareItemEquality",0,u,"defaultItemEquality",0,d,"findItemIndex",0,m,"findSelectionIndex",0,h,"isSelectedValueDirty",0,function(e,t,a){return Array.isArray(e)&&Array.isArray(t)?!function(e,t,a=Object.is){let{length:s}=e;if(s!==t.length)return!1;for(let l=0;l<s;l+=1)if(!a(e[l],t[l]))return!1;return!0}(e,t,(e,t)=>u(e,t,a)):e!==t},"removeItem",0,function(e,t,a){return e.filter(e=>!u(t,e,a))},"resolveSelectedIndex",0,function(e,t,a,s,l,n){return c(s,t,l)?null!=n&&e>n&&c(s,a[n],l)?n:e:e===n?h(a,s,l,!0):n},"selectedValueIncludes",0,c],84325);var f=e.i(86698),x=e.i(43476);function p(e){var t;return"object"==typeof(t=e?.[0])&&null!=t&&Array.isArray(t.items)}function b(e){return p(e)?e.flatMap(e=>e.items):e}function g(e,t){if(t&&null!=e)return t(e)??"";if(e&&"object"==typeof e){if("label"in e&&null!=e.label)return String(e.label);if("value"in e)return String(e.value)}return(0,f.serializeValue)(e)}function v(e,t,a){if(a&&null!=e)return a(e);if(e&&"object"==typeof e&&"label"in e&&null!=e.label)return e.label;if(t&&!Array.isArray(t))return(Object.hasOwn(t,e)?t[e]:void 0)??g(e,a);if(Array.isArray(t)){let s=b(t);if(null==e||"object"!=typeof e){let t=s.find(t=>t.value===e);return t&&null!=t.label?t.label:g(e,a)}if("value"in e){let t=s.find(t=>t&&t.value===e.value);if(t&&null!=t.label)return t.label}}return g(e,a)}e.s(["flattenLeafItems",0,b,"hasNullItemLabel",0,function(e){if(!Array.isArray(e))return null!=e&&"null"in e;if(p(e)){for(let t of e)for(let e of t.items)if(e&&null==e.value&&null!=e.label)return!0;return!1}for(let t of e)if(t&&null==t.value&&null!=t.label)return!0;return!1},"isGroupedItems",0,p,"resolveMultipleLabels",0,function(e,a,s){return e.reduce((e,l,n)=>(n>0&&e.push(", "),e.push((0,x.jsx)(t.Fragment,{children:v(l,a,s)},n)),e),[])},"resolveSelectedLabel",0,v,"stringifyAsLabel",0,g,"stringifyAsValue",0,function(e,t){return t&&null!=e?t(e)??"":e&&"object"==typeof e&&"value"in e&&"label"in e?(0,f.serializeValue)(e.value):(0,f.serializeValue)(e)}],42191),e.s(["getDefaultLabelId",0,function(e){return null==e?void 0:`${e}-label`},"resolveAriaLabelledBy",0,function(e,t){return e??t}],50001);var y=e.i(52245);let j=t.forwardRef(function(e,t){let{className:a,render:s,orientation:l="horizontal",style:n,...r}=e;return(0,y.useRenderElement)("div",e,{state:{orientation:l},ref:t,props:[{role:"presentation"},r]})});e.s(["ListboxSeparator",0,j],18438)},92150,e=>{"use strict";var t=e.i(56420);let a={name:"boxes",size:24,node:[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]};a.node;let s=(0,t.default)(a);e.s(["Boxes",0,s],92150)},16327,e=>{"use strict";var t=e.i(56420);let a={name:"chevron-down",size:24,node:[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]};a.node;let s=(0,t.default)(a);e.s(["ChevronDown",0,s],16327)},24071,e=>{"use strict";var t=e.i(56420);let a={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};a.node;let s=(0,t.default)(a);e.s(["ChevronLeft",0,s],24071)},67927,e=>{"use strict";var t=e.i(56420);let a={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};a.node;let s=(0,t.default)(a);e.s(["ChevronRight",0,s],67927)},86247,e=>{"use strict";var t=e.i(56420);let a={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};a.node;let s=(0,t.default)(a);e.s(["Ellipsis",0,s],86247)},15281,e=>{"use strict";var t=e.i(56420);let a={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};a.node;let s=(0,t.default)(a);e.s(["Pencil",0,s],15281)},77071,e=>{"use strict";var t=e.i(56420);let a={name:"plus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]};a.node;let s=(0,t.default)(a);e.s(["Plus",0,s],77071)},66595,e=>{"use strict";var t=e.i(56420);let a={name:"search",size:24,node:[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]};a.node;let s=(0,t.default)(a);e.s(["Search",0,s],66595)},19759,e=>{"use strict";var t=e.i(56420);let a={name:"square-pen",size:24,node:[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],aliases:["pen-box","edit","pen-square"]};a.node;let s=(0,t.default)(a);e.s(["SquarePen",0,s],19759)},68401,e=>{"use strict";var t=e.i(56420);let a={name:"tags",size:24,node:[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]]};a.node;let s=(0,t.default)(a);e.s(["Tags",0,s],68401)},59659,e=>{"use strict";var t=e.i(56420);let a={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};a.node;let s=(0,t.default)(a);e.s(["Trash2",0,s],59659)},81785,e=>{"use strict";var t=e.i(43476),a=e.i(77071),s=e.i(71645),l=e.i(15905),n=e.i(92150),r=e.i(86247),i=e.i(15281),o=e.i(66595),d=e.i(49287),u=e.i(86875),c=e.i(68401),m=e.i(59659),h=e.i(22016),f=e.i(90063),x=e.i(25242),p=e.i(80581),b=e.i(57334),g=e.i(12470),v=e.i(46033),y=e.i(14732),j=e.i(67874),w=e.i(17981),N=e.i(88393);let k={"trierarch-plugin":u.ShipWheel,squadrons:n.Boxes,ship:d.Ship};function S(e,t){return`${String(e)} ${1===e?t:`${t}s`}`}function C({value:e}){return(0,t.jsxs)(h.default,{href:`/?label=${e.valueId}`,"data-testid":"labels-value",title:`${e.value}: on ${0===e.shipCount?"no ship":S(e.shipCount,"ship")}`,className:(0,f.classNames)("inline-flex h-6 items-center gap-1.5 rounded-sm border border-border bg-secondary px-2 font-mono text-id hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",0===e.shipCount?"text-muted-foreground":"text-foreground"),children:[(0,t.jsx)("span",{className:"font-medium",children:e.value}),(0,t.jsx)("span",{className:"font-sans text-caption text-muted-foreground tabular-nums",children:e.shipCount})]})}function I({owner:e}){let a="none"===e.mark?null:k[e.mark];return(0,t.jsxs)("span",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 font-medium [&_svg]:size-(--size-icon-sm) [&_svg]:text-muted-foreground",children:[null===a?null:(0,t.jsx)(a,{"aria-hidden":!0}),e.name,e.isYours?(0,t.jsx)("span",{className:"font-normal text-muted-foreground",children:"(you)"}):null]}),(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e.isYours?"Only you assign it":`Read-only: only ${e.name} assigns it`})]})}function z({row:e,onChangeValues:a,onDelete:s}){if(!e.owner.isYours||void 0===a&&void 0===s)return null;let n=e.shipCount>0;return(0,t.jsxs)(b.DropdownMenu,{children:[(0,t.jsx)(b.DropdownMenuTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"sm",isIconOnly:!0,"aria-label":`Actions for ${e.key}`,icon:(0,t.jsx)(r.Ellipsis,{}),"data-testid":"labels-row-menu"})}),(0,t.jsxs)(b.DropdownMenuContent,{align:"end",children:[void 0===a?null:(0,t.jsxs)(b.DropdownMenuItem,{"data-testid":"labels-change-values",onClick:()=>{a(e)},children:[(0,t.jsx)(i.Pencil,{"aria-hidden":!0}),"Change values…"]}),void 0===s?null:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.DropdownMenuSeparator,{}),(0,t.jsxs)(b.DropdownMenuItem,{variant:"destructive",disabled:n,"data-testid":"labels-delete",className:"h-auto min-h-8.5 py-1.5",onClick:()=>{s(e)},children:[(0,t.jsx)(m.Trash2,{"aria-hidden":!0}),(0,t.jsxs)("span",{className:"flex flex-col",children:["Delete label…",n?(0,t.jsx)("span",{className:"text-caption text-muted-foreground",children:"Only when no ship carries it"}):null]})]})]})]})]})}function R({rows:e,shipTotal:n,error:r,onRetry:i,onDefine:d,onChangeValues:u,onDelete:m}){let h=(0,x.useConsoleConstants)(),[f,b]=(0,s.useState)(""),[k,D]=(0,s.useState)("all");if(void 0!==r)return(0,t.jsx)(w.InlineError,{variant:"page",title:"Couldn’t load labels",description:"This page couldn’t reach the fleet server. Nothing changed; your labels are where you left them.",detail:r,onRetry:i});if(void 0===e)return(0,t.jsx)(N.LoadingSkeleton,{variant:"table",rows:5,label:"Loading labels"});if(0===e.length)return(0,t.jsx)(j.EmptyState,{icon:(0,t.jsx)(c.Tags,{"aria-hidden":!0}),title:"No labels yet",description:"A label is a key with a set of values, like os with macos and linux. Define one, then assign it on ship pages to filter the fleet and to place crew requests on machines.",action:void 0===d?void 0:(0,t.jsx)(l.Button,{variant:"primary",icon:(0,t.jsx)(a.Plus,{}),onClick:d,children:"Define a label"})});let L=[...new Set(e.map(e=>e.owner.name))],T=e.filter(e=>(0,p.matchesLabelQuery)(e,f)&&("all"===k||e.owner.name===k)),A={all:"All",...Object.fromEntries(L.map(e=>[e,e]))};return(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"labels-table",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("div",{className:"w-64 max-sm:min-w-0 max-sm:flex-1",children:(0,t.jsx)(g.Input,{type:"search","aria-label":"Find a key or value",placeholder:"Find a key or value",leadingIcon:(0,t.jsx)(o.Search,{}),value:f,className:"h-(--size-control-sm) text-meta max-sm:h-(--size-control-touch) max-sm:text-input-touch","data-testid":"labels-search",onChange:e=>{b(e.target.value)}})}),(0,t.jsxs)(v.Select,{items:A,value:k,onValueChange:e=>{null!==e&&D(e)},children:[(0,t.jsx)(v.SelectTrigger,{size:"sm","aria-label":"Owner",children:(0,t.jsxs)("span",{className:"flex gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"Owner"}),(0,t.jsx)(v.SelectValue,{className:"font-medium"})]})}),(0,t.jsx)(v.SelectContent,{children:Object.entries(A).map(([e,a])=>(0,t.jsx)(v.SelectItem,{value:e,children:a},e))})]}),(0,t.jsxs)("p",{className:"ml-auto text-meta text-muted-foreground tabular-nums max-sm:w-full",children:[S(e.length,"label")," · ",S(L.length,"owner")]})]}),0===T.length?(0,t.jsx)(j.EmptyState,{variant:"no-results",title:`No label matches “${f.trim()}”.`}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"max-sm:hidden",children:(0,t.jsxs)(y.Table,{"aria-label":"Labels",children:[(0,t.jsx)(y.TableHeader,{children:(0,t.jsxs)(y.TableRow,{children:[(0,t.jsx)(y.TableHead,{children:"Key"}),(0,t.jsx)(y.TableHead,{children:"Values and the ships that carry each"}),(0,t.jsx)(y.TableHead,{children:"Owner"}),(0,t.jsx)(y.TableHead,{children:"Ships"}),(0,t.jsx)(y.TableHead,{children:(0,t.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,t.jsx)(y.TableBody,{children:T.map(e=>(0,t.jsxs)(y.TableRow,{"data-testid":`labels-row-${e.key}`,children:[(0,t.jsx)(y.TableCell,{className:"align-top",children:(0,t.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"font-mono text-body font-medium",children:e.key}),(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:S(e.values.length,"value")})]})}),(0,t.jsx)(y.TableCell,{children:(0,t.jsx)("span",{className:"flex flex-wrap gap-1.5",children:e.values.map(e=>(0,t.jsx)(C,{value:e},e.valueId))})}),(0,t.jsx)(y.TableCell,{className:"max-w-60 align-top",children:(0,t.jsx)(I,{owner:e.owner})}),(0,t.jsx)(y.TableCell,{className:"align-top",children:(0,t.jsxs)("span",{className:"flex flex-col gap-0.5 tabular-nums",children:[(0,t.jsx)("span",{children:e.shipCount}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground",children:["of ",n]})]})}),(0,t.jsx)(y.TableCell,{className:"w-10 text-right align-top",children:(0,t.jsx)(z,{row:e,onChangeValues:u,onDelete:m})})]},e.labelId))})]})}),(0,t.jsx)("ul",{"aria-label":"Labels",className:"overflow-hidden rounded-lg border border-border bg-card sm:hidden",children:T.map(e=>(0,t.jsxs)("li",{className:"flex flex-col gap-2 border-b border-border px-3.5 py-3 last:border-0","data-testid":`labels-card-${e.key}`,children:[(0,t.jsxs)("span",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-body-touch font-medium",children:e.key}),(0,t.jsxs)("span",{className:"flex items-center gap-1 text-meta text-muted-foreground",children:[S(e.shipCount,"ship"),(0,t.jsx)(z,{row:e,onChangeValues:u,onDelete:m})]})]}),(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e.owner.isYours?"By you":`By ${e.owner.name} \xb7 read-only`}),(0,t.jsx)("span",{className:"flex flex-wrap gap-1.5",children:e.values.map(e=>(0,t.jsx)(C,{value:e},e.valueId))})]},e.labelId))})]}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:`A value opens the fleet overview filtered by it. Keys and values use lowercase letters, digits and -, up to ${String(h.labelHandleMaxLength)} characters; a label has at most ${String(h.labelValuesMax)} values and a ship at most ${String(h.shipLabelsMax)} labels (decision 0031).`})]})}var D=e.i(37631),L=e.i(87964),T=e.i(17540),A=e.i(90262),M=e.i(5387),O=e.i(18423),q=e.i(28459),K=e.i(78485);let E=(0,T.lazyDialog)(()=>e.A(2581).then(e=>e.DefineLabelDialog),e=>e.isOpen),P=(0,T.lazyDialog)(()=>e.A(29886).then(e=>e.DeleteLabelDialog),e=>void 0!==e.row),V=(0,T.lazyDialog)(()=>e.A(3877).then(e=>e.LabelValuesDialog),e=>void 0!==e.row);e.s(["default",0,function(){let e=(0,L.useConsoleFrame)(),n=(0,q.useNeedsAttention)(),r=(0,O.useLiveFleet)(),i=(0,A.useAccess)(),o=(0,M.useFleetLabels)(),d=(0,M.useLabelContext)(),u=(0,M.useDefineLabel)(),c=(0,M.useChangeLabelValues)(),m=(0,M.useDeleteLabel)(),[h,f]=(0,s.useState)(!1),[x,b]=(0,s.useState)(void 0),[g,v]=(0,s.useState)(void 0),[y,j]=(0,s.useState)(void 0),[w,N]=(0,s.useState)(void 0);(0,K.useSignInWhenSessionEnds)([n.error,r.error,o.error]);let k=void 0===d?void 0:(0,p.labelRowsOf)(d),S=i.canDefineLabels,C=k?.find(e=>e.labelId===x),I=k?.find(e=>e.labelId===w),z=e=>{void 0!==C&&(v(e.busy),j(void 0),c.mutate({labelId:C.labelId,values:e.values},{onError:t=>{j({...e.refused,message:t.message})},onSettled:()=>{v(void 0)}}))};return(0,t.jsxs)(D.DetailPage,{onCompose:e.onCompose,onSearch:e.onSearch,banner:e.banner,title:"Labels",parents:[{href:"/",label:"Fleet overview"}],live:r.live,header:(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4 max-sm:gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,t.jsx)("h1",{className:"text-title font-semibold tracking-tight max-sm:text-title-touch",children:"Labels"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground max-sm:text-body-touch",children:"An owned vocabulary for selecting ships: filter the fleet with them, and crew requests use them to pick a machine. Only a label’s owner assigns it."})]}),S&&void 0!==k&&k.length>0?(0,t.jsx)(l.Button,{variant:"primary",icon:(0,t.jsx)(a.Plus,{}),className:"max-sm:w-full","data-testid":"labels-define",onClick:()=>{u.reset(),f(!0)},children:"Define a label"}):null]}),children:[(0,t.jsx)(R,{rows:k,shipTotal:void 0===d?0:(0,p.activeShipCount)(d),error:o.isError?o.error.message:void 0,onRetry:()=>{o.refetch()},onDefine:S?()=>{u.reset(),f(!0)}:void 0,onChangeValues:S?e=>{j(void 0),b(e.labelId)}:void 0,onDelete:S?e=>{m.reset(),N(e.labelId)}:void 0}),S?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(E,{isOpen:h,onOpenChange:f,isPending:u.isPending,error:u.error?.message,onSubmit:e=>{u.mutate(e,{onSuccess:()=>{f(!1)}})}}),(0,t.jsx)(V,{row:C,onOpenChange:e=>{e||b(void 0)},busy:g,error:y,onAdd:e=>{z({values:[...C?.values.map(e=>e.value)??[],e],busy:{action:"add",value:e},refused:{value:e}})},onRemove:e=>{let t=C?.values.find(t=>t.valueId===e);z({values:C?.values.filter(t=>t.valueId!==e).map(e=>e.value)??[],busy:{action:"remove",valueId:e},refused:{valueId:e,value:t?.value??""}})}}),(0,t.jsx)(P,{row:I,onOpenChange:e=>{e||N(void 0)},isPending:m.isPending,error:m.error?.message,onDelete:e=>{m.mutate({labelId:e},{onSuccess:()=>{N(void 0)}})}})]}):null]})}],81785)},36651,e=>{"use strict";var t=e.i(43476),a=e.i(90063);e.s(["Kbd",0,function({className:e,...s}){return(0,t.jsx)("kbd",{"data-slot":"kbd",className:(0,a.classNames)("inline-flex h-5 min-w-5 shrink-0 items-center justify-center rounded-xs border border-border bg-muted px-1.25 font-sans text-micro font-medium text-muted-foreground max-sm:hidden",e),...s})}])},19321,e=>{"use strict";var t=e.i(43476),a=e.i(90063);e.s(["Skeleton",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"skeleton","aria-hidden":!0,className:(0,a.classNames)("animate-pulse rounded-sm bg-secondary [animation-duration:var(--duration-pulse)] motion-reduce:animate-none",e),...s})}])},14732,e=>{"use strict";var t=e.i(43476),a=e.i(56420);let s={name:"arrow-down",size:24,node:[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]};s.node;let l=(0,a.default)(s),n={name:"arrow-up",size:24,node:[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]};n.node;let r=(0,a.default)(n);var i=e.i(63707),o=e.i(90063);function d({className:e,...a}){return(0,t.jsx)("th",{"data-slot":"table-head",className:(0,o.classNames)("px-4 text-left align-middle text-caption font-medium whitespace-nowrap text-muted-foreground",e),...a})}e.s(["Table",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto rounded-lg border border-border bg-card shadow-sm",children:(0,t.jsx)("table",{"data-slot":"table",className:(0,o.classNames)("w-full caption-bottom text-body",e),...a})})},"TableBody",0,function({className:e,...a}){return(0,t.jsx)("tbody",{"data-slot":"table-body",className:(0,o.classNames)("[&_tr:last-child]:border-0",e),...a})},"TableCell",0,function({className:e,...a}){return(0,t.jsx)("td",{"data-slot":"table-cell",className:(0,o.classNames)("px-4 align-middle",e),...a})},"TableHead",0,d,"TableHeader",0,function({className:e,...a}){return(0,t.jsx)("thead",{"data-slot":"table-header",className:(0,o.classNames)("bg-muted [&_tr]:border-b",e),...a})},"TableRow",0,function({className:e,...a}){return(0,t.jsx)("tr",{"data-slot":"table-row",className:(0,o.classNames)("h-(--size-row) border-b border-border transition-colors duration-(--duration-fast) hover:bg-muted has-focus-visible:outline-2 has-focus-visible:-outline-offset-2 has-focus-visible:outline-ring data-new:animate-highlight [thead_&]:h-(--size-row-header) [thead_&]:hover:bg-transparent",e),...a})},"TableSortHead",0,function({direction:e,onSort:a,children:s,className:n,...u}){let c="ascending"===e?r:"descending"===e?l:i.ChevronsUpDown;return(0,t.jsx)(d,{"aria-sort":e??"none",className:(0,o.classNames)("px-2",n),...u,children:(0,t.jsxs)("button",{type:"button",onClick:a,className:"inline-flex h-7 items-center gap-1 rounded-sm px-2 font-medium hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring data-sorted:text-foreground","data-sorted":null===e?void 0:"",children:[s,(0,t.jsx)(c,{"aria-hidden":!0,className:(0,o.classNames)("size-3.5 shrink-0",null===e?"opacity-50":void 0)})]})})}],14732)},67874,e=>{"use strict";var t=e.i(43476),a=e.i(90063);e.s(["EmptyState",0,function({title:e,description:s,icon:l,action:n,variant:r="page",className:i}){return"section"===r?(0,t.jsxs)("p",{"data-slot":"empty-state","data-variant":r,className:(0,a.classNames)("rounded-lg border border-border px-4 py-3 text-center text-meta text-muted-foreground",i),children:[e,s?(0,t.jsxs)(t.Fragment,{children:[" ",s]}):null]}):"no-results"===r?(0,t.jsxs)("div",{"data-slot":"empty-state","data-variant":r,className:(0,a.classNames)("flex flex-col items-center gap-2.5 rounded-lg border border-border bg-card px-4 py-6 text-center",i),children:[(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:e}),n]}):(0,t.jsxs)("div",{"data-slot":"empty-state","data-variant":r,className:(0,a.classNames)("flex flex-col items-center gap-3 rounded-lg border border-dashed border-border bg-card px-6 py-10 text-center",i),children:[l?(0,t.jsx)("span",{"aria-hidden":!0,className:"flex size-10 items-center justify-center rounded-lg border border-border bg-muted text-muted-foreground [&_svg]:size-(--size-icon-xl)",children:l}):null,(0,t.jsx)("h2",{className:"text-heading font-semibold text-foreground max-sm:text-heading-touch",children:e}),s?(0,t.jsx)("p",{className:"max-w-96 text-meta text-muted-foreground max-sm:text-body-touch",children:s}):null,n?(0,t.jsx)("div",{className:"mt-1 max-sm:w-full max-sm:[&>*]:w-full",children:n}):null]})}])},88393,e=>{"use strict";var t=e.i(43476),a=e.i(90063),s=e.i(19321);function l(e){return Array.from({length:e},(e,t)=>`row-${String(t)}`)}e.s(["LoadingSkeleton",0,function({variant:e,rows:n=4,label:r="Loading",className:i}){return(0,t.jsxs)("div",{role:"status","data-slot":"loading-skeleton","data-variant":e,className:(0,a.classNames)("w-full",i),children:[(0,t.jsx)("span",{className:"sr-only",children:r}),"table"===e?(0,t.jsxs)("div",{className:"overflow-hidden rounded-lg border border-border bg-card shadow-sm",children:[(0,t.jsx)("div",{className:"h-(--size-row-header) border-b border-border bg-muted"}),l(n).map(e=>(0,t.jsxs)("div",{className:"flex h-(--size-row) items-center gap-8 border-b border-border px-4 last:border-0",children:[(0,t.jsx)(s.Skeleton,{className:"h-2.5 w-24"}),(0,t.jsx)(s.Skeleton,{className:"h-5 w-16"}),(0,t.jsx)(s.Skeleton,{className:"h-5 w-20"}),(0,t.jsx)(s.Skeleton,{className:"h-2.5 w-28"})]},e))]}):null,"cards"===e?(0,t.jsx)("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:l(4).map(e=>(0,t.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)(s.Skeleton,{className:"h-2.5 w-20"}),(0,t.jsx)(s.Skeleton,{className:"h-6 w-10"}),(0,t.jsx)(s.Skeleton,{className:"h-2.5 w-28"})]},e))}):null,"detail"===e?(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)(s.Skeleton,{className:"h-7 w-48"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(s.Skeleton,{className:"h-5 w-20"}),(0,t.jsx)(s.Skeleton,{className:"h-5 w-16"})]}),(0,t.jsx)(s.Skeleton,{className:"h-16 w-full rounded-lg"})]}):null,"list"===e?(0,t.jsx)("div",{className:"overflow-hidden rounded-lg border border-border bg-card",children:l(n).map(e=>(0,t.jsxs)("div",{className:"flex flex-col gap-2.5 border-b border-border px-3.5 py-3 last:border-0",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)(s.Skeleton,{className:"h-3 w-28"}),(0,t.jsx)(s.Skeleton,{className:"h-5 w-16"})]}),(0,t.jsx)(s.Skeleton,{className:"h-2.5 w-44"})]},e))}):null]})}])},37631,e=>{"use strict";var t=e.i(43476),a=e.i(77880),s=e.i(85538);e.s(["DetailPage",0,function({title:e,parents:l,header:n,children:r,sheet:i,live:o,onCompose:d,onSearch:u,banner:c}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.Header,{breadcrumb:e,parents:l,live:o,onCompose:d,onSearch:u}),c,(0,t.jsx)(s.TopBar,{title:e,live:o,back:l[l.length-1]??l[0]}),(0,t.jsxs)("main",{className:"flex grow flex-col gap-5 px-8 py-6 max-sm:gap-3.5 max-sm:px-4 max-sm:pt-3.5 max-sm:pb-[calc(var(--size-tabbar)+var(--spacing)*4)]",children:[n,r]}),i]})}])},77880,85538,e=>{"use strict";var t=e.i(43476),a=e.i(67927),s=e.i(66595),l=e.i(19759),n=e.i(22016),r=e.i(15905),i=e.i(36651),o=e.i(90063);let d={live:{label:"Live",dot:"bg-tone-ok-fg"},reconnecting:{label:"Reconnecting",dot:"bg-tone-waiting-fg"},offline:{label:"Offline",dot:"bg-tone-attention-fg"}};function u({state:e,className:a}){let{label:s,dot:l}=d[e];return(0,t.jsxs)("span",{"data-slot":"live-status","data-state":e,"aria-live":"polite",className:(0,o.classNames)("inline-flex items-center gap-1.5 text-meta text-muted-foreground",a),children:[(0,t.jsx)("span",{"aria-hidden":!0,className:(0,o.classNames)("size-2 shrink-0 rounded-full",l)}),s]})}e.s(["Header",0,function({breadcrumb:e,parents:o=[],live:d,onCompose:c,onSearch:m}){return(0,t.jsxs)("header",{"data-slot":"header",className:"sticky top-0 z-30 hidden h-(--size-header) shrink-0 items-center justify-between gap-4 border-b border-border bg-background px-6 sm:flex",children:[(0,t.jsx)("nav",{"aria-label":"Breadcrumb","data-testid":"header-breadcrumb",className:"min-w-0 text-body",children:(0,t.jsxs)("ol",{className:"flex min-w-0 items-center gap-1.5",children:[o.map(e=>(0,t.jsxs)("li",{className:"flex shrink-0 items-center gap-1.5",children:[(0,t.jsx)(n.default,{href:e.href,className:"text-muted-foreground hover:text-foreground hover:underline",children:e.label}),(0,t.jsx)(a.ChevronRight,{"aria-hidden":!0,className:"size-3.5 text-muted-foreground"})]},e.href)),(0,t.jsx)("li",{"aria-current":"page",className:"truncate font-medium text-foreground",children:e})]})}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(u,{state:d}),m?(0,t.jsxs)(r.Button,{size:"sm",icon:(0,t.jsx)(s.Search,{"aria-hidden":!0}),"data-testid":"header-search",className:"w-60 justify-start font-normal text-muted-foreground",onClick:m,children:[(0,t.jsx)("span",{className:"grow text-left",children:"Search ships or jump to"}),(0,t.jsx)(i.Kbd,{children:"⌘K"})]}):null,c?(0,t.jsx)(r.Button,{size:"sm",icon:(0,t.jsx)(l.SquarePen,{"aria-hidden":!0}),"data-testid":"header-compose",onClick:c,children:"Compose"}):null]})]})}],77880);var c=e.i(24071),m=e.i(57957);e.s(["TopBar",0,function({title:e,live:a,actions:l,back:i,account:o,onSearch:d}){let h=d&&!i?d:void 0;return(0,t.jsxs)("header",{"data-slot":"top-bar","data-mode":i?"detail":"root",className:"sticky top-0 z-30 flex h-(--size-header) items-center gap-2.5 border-b border-border bg-background px-4 sm:hidden",children:[i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.default,{href:i.href,className:"-ml-1.5 inline-flex h-(--size-control-touch) shrink-0 items-center gap-0.5 rounded-md pr-2 text-body-touch text-foreground focus-visible:outline-2 focus-visible:outline-ring [&_svg]:size-(--size-icon)",children:[(0,t.jsx)(c.ChevronLeft,{"aria-hidden":!0}),i.label]}),(0,t.jsx)("p",{className:"min-w-0 flex-1 truncate text-center text-body-touch font-semibold text-foreground",children:e})]}):(0,t.jsx)("h1",{className:"truncate text-title-touch font-semibold tracking-tight text-foreground",children:e}),(0,t.jsx)(u,{state:a}),l||h||o&&!i?(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[h?(0,t.jsx)(r.Button,{variant:"ghost",size:"touch",isIconOnly:!0,"aria-label":"Search ships or jump to","data-testid":"top-bar-search",onClick:h,children:(0,t.jsx)(s.Search,{"aria-hidden":!0})}):null,l,o&&!i?(0,t.jsx)(m.AccountMenuSheet,{...o}):null]}):null]})}],85538)},18423,e=>{"use strict";var t=e.i(12598),a=e.i(5861),s=e.i(71645),l=e.i(86413),n=e.i(27702);let r=new Set(["FleetInitialised","ShipCommissioned","ShipClaimed","LeaseRevoked","CredentialRevoked","StartingPromptIssued","ShipRetired","DeliveryAcknowledged","DeliveryUndeliverable","ShipReported","CrewRequested","CrewRequestRemoved","CrewAssigned","CrewStatusChanged","CrewRequestExplained","CrewRequestGivenBack","LabelAssigned","LabelUnassigned","LabelRetired"]);async function i(e,t){await e.cancelQueries({queryKey:t,predicate:e=>void 0===e.state.data&&"fetching"===e.state.fetchStatus}),await e.invalidateQueries({queryKey:t})}let o=new Set(["LabelDefined","LabelValuesChanged","LabelRetired","LabelAssigned","LabelUnassigned","LabelDeleted"]),d=new Set(["DeliveryUndeliverable","DeliveryNotHandled","DeliveryDismissed"]),u=new Set(["NetworkRulesSet","NetworkRulesDraftSaved","NetworkRulesDraftDiscarded","NetworkRulesDeclared","BuiltInRuleChanged"]);e.s(["useLiveFleet",0,function(){let e=(0,n.useTRPC)(),c=(0,t.useQueryClient)(),[m,h]=(0,s.useState)(new Set),f=e=>{i(c,e)},x=(0,a.useSubscription)(e.fleet.events.subscriptionOptions({lastEventId:null},{onData:({data:t})=>{var a,s,n,i,c;if("resync"===t.kind){f(e.fleet.pathKey()),f(l.INBOX_KEY);return}let{event:m}=t;for(let t of new Set([m.shipId,m.actorShipId]))null!==t&&(f(e.fleet.ship.queryKey({shipId:t})),f(e.fleet.shipTimeline.queryKey({shipId:t})),f(e.fleet.shipWay.queryKey({shipId:t})));if(null!==m.messageId&&(f(e.fleet.shipMessages.pathKey()),f(e.fleet.shipWay.pathKey()),f(e.fleet.message.queryKey({messageId:m.messageId})),f(e.fleet.inbox.pathKey()),f(l.INBOX_KEY),f(e.fleet.health.queryKey())),a=m.type,d.has(a)&&f(e.fleet.needsAttention.queryKey()),s=m.type,o.has(s)&&f(e.fleet.labels.queryKey()),"NetworkRulesDeclared"===m.type&&f(e.fleet.declaredNetworkRules.queryKey()),("BuiltInRuleChanged"===(n=m.type)||"NetworkRulesSet"===n)&&f(e.fleet.builtInRules.queryKey()),i=m.type,u.has(i)&&(f(e.fleet.networkRules.queryKey()),f(e.fleet.networkRulesDraftChanges.queryKey()),f(e.fleet.explainReach.pathKey())),c=m.type,!r.has(c))return;f(e.fleet.list.queryKey()),f(e.fleet.health.queryKey());let{shipId:x}=m;"ShipCommissioned"===m.type&&null!==x&&h(e=>new Set([...e,x]))}}));return{live:function(e){switch(e){case"pending":return"live";case"connecting":return"reconnecting";case"idle":case"error":return"offline"}}(x.status),newShipIds:m,error:x.error}}])},28459,e=>{"use strict";var t=e.i(54616),a=e.i(66027),s=e.i(12598),l=e.i(27702);function n(e){let t=String(e.attempts-1);return e.isPushed?`Handed ${t} times, never confirmed; fifth refused: undeliverable.`:`Handed (pulled) ${t} times, never acknowledged; fifth receive refused: undeliverable.`}let r="Acknowledged, then its turn died; handed once more, and that turn died too: not handled.";function i(){let e=(0,l.useTRPC)(),t=(0,s.useQueryClient)();return()=>t.invalidateQueries({queryKey:e.fleet.pathKey()})}e.s(["DISMISSED_TOAST",0,{title:"Delivery dismissed",description:"It stays in the timelines as dismissed."},"attentionReason",0,function(e){switch(e.state){case"undeliverable":return n(e);case"notHandled":return null===e.reason?r:`${r} Its crew said: ${e.reason}.`}},"canResend",0,function(e){return!e.message.isPing},"deliveryWithId",0,function(e,t){return e?.find(e=>e.deliveryId===t)},"resentToast",0,function(e){return{title:"Message resent",description:`A new message went to ${function(e){let{recipient:t}=e.message;return"ship"===t.kind?t.ship.name:`any ship of type ${t.type}`}(e)}. The original is dismissed.`}},"undeliverableReason",0,n,"useDismissDelivery",0,function(){let e=(0,l.useTRPC)(),a=i();return(0,t.useMutation)(e.fleet.dismiss.mutationOptions({onSuccess:a}))},"useNeedsAttention",0,function(){let e=(0,l.useTRPC)();return(0,a.useQuery)(e.fleet.needsAttention.queryOptions())},"useResendDelivery",0,function(){let e=(0,l.useTRPC)(),a=i();return(0,t.useMutation)(e.fleet.resend.mutationOptions({onSuccess:a}))}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67928,t=>{t.v(s=>Promise.all(["static/chunks/2cqwvmsk2n95d.js","static/chunks/3-dxt127ediq-.js"].map(s=>t.l(s))).then(()=>s(92963)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13260,e=>{"use strict";var t=e.i(43476),a=e.i(7921),r=e.i(18566),s=e.i(67874),n=e.i(17981),i=e.i(88393),l=e.i(29870),d=e.i(66390),o=e.i(75867);let c={argo:"You turn it on or off.",rules:"Applying rules turns it off; applying none turns it on again."};function u({rows:e,error:a,onRetry:r,isTurning:s,turnError:h,onViewerReadChange:m}){let p;return p=void 0!==a?(0,t.jsx)(n.InlineError,{title:"Couldn’t read the built-in rules",description:a,onRetry:r}):void 0===e?(0,t.jsx)(i.LoadingSkeleton,{variant:"list",rows:3,label:"Loading the built-in rules"}):(0,t.jsx)("ul",{className:"flex flex-col divide-y divide-border",children:e.map(e=>(0,t.jsxs)("li",{"data-testid":"network-built-in-rule",className:"flex items-start justify-between gap-3 py-2 first:pt-0 last:pb-0",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"text-body font-medium","data-testid":"network-built-in-rule-name",children:e.name}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground",children:[e.meaning," ","never"===e.turnedBy?null:c[e.turnedBy]]})]}),"argo"===e.turnedBy?(0,t.jsx)(o.Switch,{checked:e.isOn,disabled:s,"aria-label":`${e.name}: ${e.isOn?"on":"off"}`,"data-testid":"network-built-in-viewer-read",onCheckedChange:e=>{m(e)}}):(0,t.jsx)(d.Badge,{variant:"outline","data-testid":"network-built-in-rule-state",children:"never"===e.turnedBy?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Lock,{"aria-hidden":!0}),"Never off"]}):e.isOn?"On":"Off"})]},e.key))}),(0,t.jsxs)("section",{"aria-labelledby":"network-built-in","data-testid":"network-built-in",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-built-in",className:"text-body font-semibold",children:"Built-in rules"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"The fleet’s own rules, beside yours and the declared ones. They hold before any rule below."}),p,void 0===h?null:(0,t.jsx)(n.InlineError,{variant:"field",title:"Couldn’t turn the viewer reading",description:h})]})}var h=e.i(68877),m=e.i(22768),p=e.i(71645),x=e.i(37338),f=e.i(95960);let g=[{side:"from",label:"From ships with"},{side:"to",label:"To ships with"}];function y({declared:e,error:a,onRetry:r,context:l}){let d;return d=void 0!==a?(0,t.jsx)(n.InlineError,{title:"Couldn’t read the declared rules",description:a,onRetry:r}):void 0===e?(0,t.jsx)(i.LoadingSkeleton,{variant:"list",rows:2,label:"Loading the declared rules"}):0===e.length?(0,t.jsx)(s.EmptyState,{variant:"section",title:"Nothing declares rules."}):(0,t.jsx)("ul",{className:"flex flex-col gap-3",children:e.map(e=>(0,t.jsxs)("li",{"data-testid":"network-declared-plugin",className:"flex flex-col gap-2",children:[(0,t.jsxs)("h3",{className:"text-meta font-medium","data-testid":"network-declared-by",children:["Declared by ",e.declaredBy]}),(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:e.rules.map(e=>(0,t.jsx)("li",{"data-testid":"network-declared-rule",className:"flex flex-col gap-2 rounded-md border border-border p-3 sm:flex-row sm:items-start sm:gap-3",children:g.map(({side:a,label:r})=>(0,t.jsxs)("div",{className:"flex min-w-0 grow basis-0 items-start gap-3",children:["to"===a?(0,t.jsx)("span",{className:"mt-6 shrink-0 text-meta text-muted-foreground","data-testid":"network-declared-rule-verb",children:x.VERB_WORDS[e.verb]}):null,"to"===a?(0,t.jsx)(h.ArrowRight,{"aria-hidden":!0,className:"mt-6 hidden size-(--size-icon) shrink-0 text-muted-foreground sm:block"}):null,(0,t.jsx)(b,{label:r,terms:e[a],context:l,testId:`network-declared-rule-${a}`})]},a))},JSON.stringify(e)))})]},e.declarerId))}),(0,t.jsxs)("section",{"aria-labelledby":"network-declared","data-testid":"network-declared",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-declared",className:"text-body font-semibold",children:"Declared by plugins and the installation"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Rules plugins and the installation need on the labels they own. The networking plugin adds them to your rules; while every ship may message every ship, they change nothing. Only their declarer changes them, and switching a plugin off withdraws its rules."}),d]})}function b({label:e,terms:a,context:r,testId:s}){let{chips:n,unknown:i}=(0,x.selectorOf)(a,r);return(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":s,children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[n.length+i.length===0?(0,t.jsx)("span",{className:"text-body",children:"Every ship"}):null,n.map((e,a)=>(0,t.jsxs)(p.Fragment,{children:[0===a?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(f.LabelChip,{chip:e,testId:`${s}-value`,..."string"==typeof e.term?{}:{meaning:x.TERM_MEANINGS[e.term.value]}})]},(0,x.termKeyOf)(e.term))),i.map(e=>(0,t.jsxs)("span",{"data-testid":`${s}-unknown`,title:`${(0,x.termKeyOf)(e)}: no longer in this fleet`,className:"inline-flex h-5.5 items-center gap-1 rounded-sm border border-tone-attention-border bg-tone-attention-bg px-1.5 text-id text-tone-attention-fg [&_svg]:size-3",children:[(0,t.jsx)(m.CircleAlert,{"aria-hidden":!0}),"A removed label"]},(0,x.termKeyOf)(e)))]})]})}var v=e.i(47211),w=e.i(89664),j=e.i(56420);let k={name:"crosshair",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]};k.node;let N=(0,j.default)(k);var R=e.i(90063);function O(e){return e.send.map(e=>e.shipId)}let C=-Math.PI/2,S=2*Math.PI;function T(e){return Math.round(100*e)/100}var I=e.i(15905),$=e.i(60592);let A=["applied","draft"],E={picked:"picked",reached:"may be messaged",unreached:"out of reach"};function B({ships:e,pickedShipId:a,reachableShipIds:r,reachError:s,onPick:i,onRetry:l,against:d="applied",onAgainstChange:o}){var c;let u=(c=void 0===a?void 0:{pickedShipId:a,reachableShipIds:void 0===s?r:void 0},e.map((t,a)=>{var r,s;let n=C+S*a/e.length,i=1===e.length;return{ship:t,x:i?50:T(50+38*Math.cos(n)),y:i?50:T(50+38*Math.sin(n)),mark:(r=t.id,void 0===(s=c)?"none":r===s.pickedShipId?"picked":void 0===s.reachableShipIds?"none":s.reachableShipIds.includes(r)?"reached":"unreached")}})),h=u.find(e=>"picked"===e.mark),m=u.filter(e=>"reached"===e.mark);return(0,t.jsxs)("section",{"aria-labelledby":"network-reach","data-testid":"network-reach",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-reach",className:"text-body font-semibold",children:"Reach"}),(0,t.jsxs)("p",{className:"text-meta text-muted-foreground",children:["draft"===d?"The fleet as the draft would leave it once applied: pick a ship to see which ships the draft lets it message.":"The fleet as it stands now: pick a ship to see which ships the rules let it message."," ","Argo reaches every ship, and every ship reaches argo."]}),void 0===o?null:(0,t.jsx)($.Tabs,{value:d,onValueChange:e=>{let t=A.find(t=>t===e);void 0!==t&&o(t)},children:(0,t.jsxs)($.TabsList,{"aria-label":"Explain reach against",children:[(0,t.jsx)($.TabsTrigger,{value:"applied","data-testid":"network-reach-applied",children:"Applied rules"}),(0,t.jsx)($.TabsTrigger,{value:"draft","data-testid":"network-reach-draft",children:"Draft"})]})}),(0,t.jsxs)("div",{className:"relative flex flex-wrap gap-2 md:mx-auto md:block md:aspect-square md:w-full md:max-w-xl","data-testid":"network-reach-graph",children:[void 0===h?null:(0,t.jsx)("svg",{"aria-hidden":!0,viewBox:"0 0 100 100",preserveAspectRatio:"none",className:"pointer-events-none absolute inset-0 hidden size-full md:block",children:m.map(e=>(0,t.jsx)("line",{x1:h.x,y1:h.y,x2:e.x,y2:e.y,vectorEffect:"non-scaling-stroke",className:"stroke-muted-foreground",strokeWidth:1.5},e.ship.id))}),u.map(e=>(0,t.jsx)(P,{node:e,onPick:()=>{i("picked"===e.mark?void 0:e.ship.id)}},e.ship.id))]}),void 0===s?(0,t.jsx)("p",{className:"text-body",role:"status","data-testid":"network-reach-summary",children:function(e){let t=e.find(e=>"picked"===e.mark);if(void 0===t)return"Pick a ship to see which ships it may message.";let a=e.length-1,r=e.filter(e=>"reached"===e.mark).map(e=>e.ship.name);return e.every(e=>"picked"===e.mark||"none"===e.mark)?0===a?`${t.ship.name} is the only ship of the fleet.`:`Finding the ships ${t.ship.name} may message…`:r.length===a?`${t.ship.name} may message every other ship (${String(a)}).`:0===r.length?`${t.ship.name} may message no other ship.`:`${t.ship.name} may message ${String(r.length)} of ${String(a)} ships: ${r.join(", ")}.`}(u)}):(0,t.jsx)(n.InlineError,{title:"Couldn’t explain this ship’s reach",description:s,onRetry:l})]})}function P({node:e,onPick:a}){let{ship:r,mark:s}=e;return(0,t.jsx)(I.Button,{size:"sm",variant:"secondary","aria-pressed":"picked"===s,"aria-label":"none"===s?r.name:`${r.name}, ${E[s]}`,icon:function(e){switch(e){case"picked":return(0,t.jsx)(N,{"aria-hidden":!0});case"reached":return(0,t.jsx)(w.Check,{"aria-hidden":!0});case"unreached":return(0,t.jsx)(v.Ban,{"aria-hidden":!0});case"none":return}}(s),"data-testid":"network-reach-ship","data-mark":s,style:{left:`${String(e.x)}%`,top:`${String(e.y)}%`},className:(0,R.classNames)("md:absolute md:-translate-x-1/2 md:-translate-y-1/2","picked"===s&&"bg-accent ring-2 ring-ring","unreached"===s&&"opacity-45"),onClick:a,children:r.name})}var D=e.i(24010),M=e.i(94945);let L={apply:{title:"Apply the draft?",description:"Every send, read and manage is checked against the draft from now on, and the rules before it are gone.",action:"Apply draft"},discard:{title:"Discard the draft?",description:"The draft is gone; the applied rules stay as they are.",action:"Discard draft"}};function K({draft:e,appliedVersion:a,isApplying:r,applyError:s,onApply:i,isDiscarding:l,discardError:d,onDiscard:o}){let[c,u]=(0,p.useState)(null),h=r||l;return(0,t.jsxs)("section",{"aria-labelledby":"network-rules-apply","data-testid":"network-rules-apply",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules-apply",className:"text-body font-semibold",children:"Apply"}),null===e?(0,t.jsx)("p",{className:"text-meta text-muted-foreground","data-testid":"network-rules-apply-state",children:"No draft: the applied rules are the ones above. Save a draft to apply it."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"text-body","data-testid":"network-rules-apply-state",children:["A draft is saved. Every send, read and manage is checked against the applied rules, at version ",a,", until it is applied."]}),e.savedAgainstVersion===a?null:(0,t.jsxs)("p",{className:"text-meta text-muted-foreground","data-testid":"network-rules-apply-moved",children:["The settings moved from version ",e.savedAgainstVersion," since the draft was saved."]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(I.Button,{variant:"primary",isLoading:r,disabled:l,"data-testid":"network-rules-apply-open",onClick:()=>{u("apply")},children:"Apply draft"}),(0,t.jsx)(I.Button,{variant:"ghost",isLoading:l,disabled:r,"data-testid":"network-rules-discard-open",onClick:()=>{u("discard")},children:"Discard draft"})]})]}),void 0===s?null:(0,t.jsx)(n.InlineError,{variant:"field",title:"Couldn’t apply the draft",description:s}),void 0===d?null:(0,t.jsx)(n.InlineError,{variant:"field",title:"Couldn’t discard the draft",description:d}),(0,t.jsx)(D.AlertDialog,{open:null!==c,onOpenChange:e=>{e||h||u(null)},children:null===c?null:(0,t.jsxs)(D.AlertDialogContent,{"data-testid":`network-rules-${c}-dialog`,className:M.dialogSurface.phoneSheet,children:[(0,t.jsxs)(D.AlertDialogHeader,{children:[(0,t.jsx)(D.AlertDialogTitle,{children:L[c].title}),(0,t.jsx)(D.AlertDialogDescription,{children:L[c].description})]}),(0,t.jsxs)(D.AlertDialogFooter,{children:[(0,t.jsx)(D.AlertDialogClose,{render:(0,t.jsx)(I.Button,{disabled:h}),children:"Cancel"}),(0,t.jsx)(I.Button,{variant:"apply"===c?"primary":"destructive",isLoading:h,"data-testid":`network-rules-${c}-confirm`,onClick:()=>{u(null),"apply"===c?i():o()},children:L[c].action})]})]})})]})}var V=e.i(11514);let z={argo:"argo",owner:"Owner",answer:"Answer",pluginRead:"Connected plugins read",viewerRead:"Viewer reads",installation:"Installation manages",open:"Open"};function F(e){switch(e.rule){case"argo":return{key:e.rule,name:z[e.rule],meaning:"argo sends to, reads and manages every ship, and every ship reaches argo.",isOn:e.isOn,turnedBy:"never"};case"owner":return{key:e.rule,name:z[e.rule],meaning:"A ship’s owner sends to, reads and manages the ships it owns.",isOn:e.isOn,turnedBy:"never"};case"answer":return{key:e.rule,name:z[e.rule],meaning:"A ship may always answer the sender of a message it received.",isOn:e.isOn,turnedBy:"never"};case"pluginRead":return{key:e.rule,name:z[e.rule],meaning:"A plugin argo connected reads every ship, whatever the rules.",isOn:e.isOn,turnedBy:"never"};case"viewerRead":return{key:e.rule,name:z[e.rule],meaning:"The viewer reads every ship.",isOn:e.isOn,turnedBy:"argo"};case"installation":return{key:e.rule,name:z[e.rule],meaning:"The installation manages person ships and the ships they own, so a leaver is always released.",isOn:e.isOn,turnedBy:"never"};case"open":return{key:e.rule,name:z[e.rule],meaning:"Every ship may send to, read and manage every ship.",isOn:e.isOn,turnedBy:"rules"}}}function _({changes:e,error:a,onRetry:r}){let s;return s=void 0!==a?(0,t.jsx)(n.InlineError,{title:"Couldn’t read what the draft changes",description:a,onRetry:r}):void 0===e?(0,t.jsx)(i.LoadingSkeleton,{variant:"detail",rows:3,label:"Loading what the draft changes"}):e.every(({gained:e,lost:t})=>0===e.length&&0===t.length)?(0,t.jsx)("p",{className:"text-meta text-muted-foreground","data-testid":"network-draft-changes-none",children:"The draft changes no reach."}):e.filter(({gained:e,lost:t})=>e.length+t.length>0).map(({verb:e,gained:a,lost:r})=>(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"network-draft-changes-verb",children:[(0,t.jsx)("h3",{className:"text-meta font-semibold",children:x.VERB_WORDS[e]}),(0,t.jsx)(q,{title:"Gains",rows:a,testId:"network-draft-gained"}),(0,t.jsx)(q,{title:"Loses",rows:r,testId:"network-draft-lost"})]},e)),(0,t.jsxs)("section",{"aria-labelledby":"network-draft-changes","data-testid":"network-draft-changes",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-draft-changes",className:"text-body font-semibold",children:"What the draft changes"}),s]})}function q({title:e,rows:a,testId:r}){return 0===a.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsxs)("p",{className:"text-meta text-muted-foreground",children:[e," ",a.length," ",1===a.length?"pair":"pairs"]}),(0,t.jsx)("ul",{className:"flex flex-col gap-1",children:a.map(e=>(0,t.jsxs)("li",{"data-testid":r,className:"flex flex-wrap items-center gap-x-2 text-body",children:[(0,t.jsx)("span",{children:e.from}),(0,t.jsx)(h.ArrowRight,{"aria-label":"to",className:"size-4 text-muted-foreground"}),(0,t.jsx)("span",{children:e.to}),(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e.rule})]},e.key))})]})}var Q=e.i(77071),W=e.i(59659),G=e.i(80581),U=e.i(46033),J=e.i(26478),X=e.i(63676),H=e.i(70703),Y=e.i(22016),Z=e.i(6734);let ee=(0,H.default)(()=>e.A(67858).then(e=>e.LabelPicker),{loadableGenerated:{modules:[59068]},ssr:!1});function et({label:e,picked:a,owners:r,ownerChoices:s,unknown:n,groups:i,max:l,isDisabled:d,problem:o,onAdd:c,onRemove:u,testId:h,popoverTestId:g}){let[y,b]=(0,p.useState)(!1),[v,w]=(0,p.useState)(!1),j=a.length+r.length+n.length,k=new Set(r.map(e=>(0,x.termKeyOf)(e.term))),N=[...["*","#"].map(e=>({term:{owner:e},text:x.OWNER_TERM_MEANINGS[e]})),...s.map(e=>({term:{owner:e.shipId},text:e.name}))];return(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":h,children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e}),(0,t.jsxs)("div",{className:"flex min-h-(--size-control-sm) flex-wrap items-center gap-1.5",children:[0===j?(0,t.jsx)("span",{className:"text-body",children:"Every ship"}):null,a.map((e,a)=>(0,t.jsxs)(p.Fragment,{children:[0===a?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(f.LabelChip,{chip:e,testId:`${h}-value`,..."string"==typeof e.term?{}:{meaning:x.TERM_MEANINGS[e.term.value]},...d?{}:{onRemove:()=>{u(e.term)}}})]},(0,x.termKeyOf)(e.term))),r.map((e,r)=>(0,t.jsxs)(p.Fragment,{children:[0===r&&0===a.length?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(ea,{owner:e,testId:`${h}-owner`,...!0===d?{}:{onRemove:()=>{u(e.term)}}})]},(0,x.termKeyOf)(e.term))),n.map(e=>(0,t.jsxs)("span",{"data-testid":`${h}-unknown`,title:`${(0,x.termKeyOf)(e)}: no longer in this fleet`,className:"inline-flex h-5.5 items-center gap-1 rounded-sm border border-tone-attention-border bg-tone-attention-bg px-1.5 text-id text-tone-attention-fg [&_svg]:size-3",children:[(0,t.jsx)(m.CircleAlert,{"aria-hidden":!0}),"string"!=typeof e&&"owner"in e?"A removed owner":"A removed label",!0===d?null:(0,t.jsx)("button",{type:"button","aria-label":"string"!=typeof e&&"owner"in e?"Remove the removed owner":"Remove the removed label",onClick:()=>{u(e)},className:"-mr-1 ml-0.5 inline-flex size-4 items-center justify-center rounded-xs hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",children:(0,t.jsx)(X.X,{"aria-hidden":!0})})]},(0,x.termKeyOf)(e))),j>=l?null:(0,t.jsxs)(Z.Popover,{open:y,onOpenChange:b,children:[(0,t.jsx)(Z.PopoverTrigger,{render:(0,t.jsx)(I.Button,{type:"button",variant:"ghost",size:"xs",icon:(0,t.jsx)(Q.Plus,{}),disabled:d,"data-testid":`${h}-add`}),children:"Add label"}),(0,t.jsxs)(Z.PopoverContent,{align:"start",sideOffset:6,className:"w-80 p-2","data-testid":g,children:[(0,t.jsx)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:e}),(0,t.jsx)(ee,{groups:i,pickedValueIds:a.flatMap(e=>"string"==typeof e.term?[e.term]:[]),onPick:e=>{b(!1),c(e)},terms:{picked:a.flatMap(e=>"string"==typeof e.term?[]:[e.term]),onPick:e=>{b(!1),c(e)}}}),(0,t.jsxs)("p",{className:"mt-2 flex items-center justify-between gap-2 border-t border-border px-2 pt-2 text-meta text-muted-foreground",children:["All must hold. * is any value, # the same as the other side.",(0,t.jsx)(Y.default,{href:"/labels",className:"font-medium text-foreground hover:underline",children:"Manage labels"})]})]})]}),j>=l?null:(0,t.jsxs)(Z.Popover,{open:v,onOpenChange:w,children:[(0,t.jsx)(Z.PopoverTrigger,{render:(0,t.jsx)(I.Button,{type:"button",variant:"ghost",size:"xs",icon:(0,t.jsx)(Q.Plus,{}),disabled:d,"data-testid":`${h}-owner-add`}),children:"Add owner"}),(0,t.jsxs)(Z.PopoverContent,{align:"start",sideOffset:6,className:"w-72 p-2","data-testid":`${g}-owner`,children:[(0,t.jsxs)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:[e," the owner"]}),(0,t.jsx)("ul",{className:"flex flex-col",children:N.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",disabled:k.has((0,x.termKeyOf)(e.term)),"data-testid":`${h}-owner-option`,onClick:()=>{w(!1),c(e.term)},className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-body hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring disabled:text-muted-foreground disabled:hover:bg-transparent",children:[(0,t.jsx)(J.UserRound,{"aria-hidden":!0,className:"size-(--size-icon) shrink-0 text-muted-foreground"}),e.text]})},(0,x.termKeyOf)(e.term)))}),(0,t.jsx)("p",{className:"mt-2 border-t border-border px-2 pt-2 text-meta text-muted-foreground",children:"An owner is argo or a person’s ship. # is the same owner as the other side."})]})]})]}),void 0===o?null:(0,t.jsx)("p",{role:"status",className:"text-meta text-tone-attention-fg","data-testid":`${h}-problem`,children:o}),0===n.length?null:(0,t.jsx)("p",{role:"alert",className:"text-meta text-tone-attention-fg",children:"A label or owner here was removed from the fleet: this side matches no ship until you remove it."})]})}function ea({owner:e,onRemove:a,testId:r}){let{owner:s}=e.term,n="*"===s||"#"===s?`${e.text}. ${x.OWNER_TERM_MEANINGS[s]}`:`${e.text}: ships it owns`;return(0,t.jsxs)("span",{role:"group","aria-label":n,title:n,"data-testid":r,className:"inline-flex h-5.5 max-w-full min-w-0 shrink-0 items-center gap-1 rounded-sm border border-border bg-secondary px-1.5 font-mono text-id whitespace-nowrap text-foreground [&_svg]:size-3 [&_svg]:shrink-0 [&_svg]:text-muted-foreground",children:[(0,t.jsx)(J.UserRound,{"aria-hidden":!0}),(0,t.jsxs)("span",{className:"truncate",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"owner="}),(0,t.jsx)("span",{className:"font-medium",children:e.text.slice(6)})]}),void 0===a?null:(0,t.jsx)("button",{type:"button","aria-label":`Remove ${e.text}`,onClick:a,className:"-mr-1 ml-0.5 inline-flex size-4 items-center justify-center rounded-xs text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring",children:(0,t.jsx)(X.X,{"aria-hidden":!0})})]})}let er=[{side:"from",label:"From ships with"},{side:"to",label:"To ships with"}],es=()=>crypto.randomUUID();function en({rules:e,context:a,limits:r,isSaving:s,saveError:i,savedNote:l,onSave:d}){let[o,c]=(0,p.useState)(()=>(0,x.draftOf)(e,es)),u=(0,G.filterGroupsOf)(a),m=(0,x.ownerChoicesOf)(a),f=(0,x.isChanged)(o,e);return(0,t.jsxs)("section",{"aria-labelledby":"network-rules","data-testid":"network-rules",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules",className:"text-body font-semibold",children:"Rules"}),"all-to-all"===o.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-body","data-testid":"network-rules-state",children:"No rules: every ship may send to, read and manage every ship."}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"With rules, a ship may send to, read or manage another only when a rule of that verb or a built-in rule allows it."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(I.Button,{variant:f?"secondary":"primary",icon:(0,t.jsx)(Q.Plus,{"aria-hidden":!0}),disabled:s,"data-testid":"network-rules-on",onClick:()=>{c((0,x.setRulesOn)(o,!0))},children:"Set rules"}),f?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(I.Button,{variant:"primary",isLoading:s,"data-testid":"network-rules-save",onClick:()=>{d(null)},children:"Save draft"}),(0,t.jsx)(I.Button,{disabled:s,"data-testid":"network-rules-discard",onClick:()=>{c((0,x.draftOf)(e,es))},children:"Discard changes"})]}):null]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-body","data-testid":"network-rules-state",children:0===o.rules.length?"No rule allows anything yet: once saved, only the built-in rules hold.":"A ship may send to, read or manage another only when a rule of that verb or a built-in rule allows it."}),0===o.rules.length?null:(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:o.rules.map((e,n)=>(0,t.jsxs)("li",{"data-testid":"network-rule",className:"flex flex-col gap-2 rounded-md border border-border p-3 sm:flex-row sm:items-start sm:gap-3",children:[er.map(({side:i,label:l})=>{let d,p=(0,x.selectorOf)(e[i],a);return(0,t.jsxs)("div",{className:"flex min-w-0 grow basis-0 items-start gap-3",children:["to"===i?(0,t.jsxs)("div",{className:"flex shrink-0 flex-col gap-1",children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"Verb"}),(0,t.jsxs)(U.Select,{items:x.VERB_WORDS,value:e.verb,disabled:s,onValueChange:t=>{V.NETWORK_VERBS.some(e=>e===t)&&c((0,x.setVerb)(o,{rule:e.key,verb:t}))},children:[(0,t.jsx)(U.SelectTrigger,{"aria-label":`Verb of rule ${String(n+1)}`,"data-testid":"network-rule-verb",size:"sm",children:(0,t.jsx)(U.SelectValue,{})}),(0,t.jsx)(U.SelectContent,{children:V.NETWORK_VERBS.map(e=>(0,t.jsx)(U.SelectItem,{value:e,children:x.VERB_WORDS[e]},e))})]})]}):null,"to"===i?(0,t.jsx)(h.ArrowRight,{"aria-hidden":!0,className:"mt-6 hidden size-(--size-icon) shrink-0 text-muted-foreground sm:block"}):null,(0,t.jsx)(et,{label:l,picked:p.chips,owners:p.owners,ownerChoices:m,unknown:p.unknown,groups:u,max:r.selectorMax,isDisabled:s,...void 0===(d=(0,x.sameValueProblemOf)(e,{side:i,context:a}))?{}:{problem:d},testId:`network-rule-${i}`,popoverTestId:"network-rule-popover",onAdd:t=>{c((0,x.addTerm)(o,{rule:e.key,side:i,term:t,limits:r}))},onRemove:t=>{c((0,x.removeTerm)(o,{rule:e.key,side:i,term:t}))}})]},i)}),(0,t.jsx)(I.Button,{variant:"ghost",size:"xs",icon:(0,t.jsx)(W.Trash2,{"aria-hidden":!0}),disabled:s,"aria-label":`Remove rule ${String(n+1)}`,"data-testid":"network-rule-remove",onClick:()=>{c((0,x.removeRule)(o,e.key))}})]},e.key))}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[o.rules.length>=r.rulesMax?null:(0,t.jsx)(I.Button,{size:"sm",icon:(0,t.jsx)(Q.Plus,{"aria-hidden":!0}),disabled:s,"data-testid":"network-rules-add",onClick:()=>{c((0,x.addRule)(o,{newKey:es,limits:r}))},children:"Add rule"}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground tabular-nums","data-testid":"network-rules-count",children:[o.rules.length," of ",r.rulesMax," rules"]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-t border-border pt-3",children:[(0,t.jsx)(I.Button,{variant:"primary",isLoading:s,disabled:!f||(0,x.hasSameValueOnOneSide)(o),"data-testid":"network-rules-save",onClick:()=>{d((0,x.rulesOf)(o))},children:"Save draft"}),f?(0,t.jsx)(I.Button,{disabled:s,"data-testid":"network-rules-discard",onClick:()=>{c((0,x.draftOf)(e,es))},children:"Discard changes"}):null,(0,t.jsx)(I.Button,{variant:"ghost",className:"ml-auto",disabled:s,"data-testid":"network-rules-off",onClick:()=>{c((0,x.setRulesOn)(o,!1))},children:"Remove all rules"})]})]}),void 0===i?null:(0,t.jsx)(n.InlineError,{variant:"field",title:"Couldn’t save the rules",description:i}),void 0===l||f?null:(0,t.jsx)("p",{role:"status",className:"text-meta text-muted-foreground","data-testid":"network-rules-note",children:l})]})}function ei(e){switch(e.kind){case"ship":return e.name;case"account":return`Account ${e.accountId}`;case"installation":return"The installation"}}var el=e.i(49635);function ed({refusals:e,error:a,onRetry:r,context:l,now:d}){let o;return o=void 0!==a?(0,t.jsx)(n.InlineError,{title:"Couldn’t read the refusals",description:a,onRetry:r}):void 0===e?(0,t.jsx)(i.LoadingSkeleton,{variant:"list",rows:3,label:"Loading the refusals"}):0===e.length?(0,t.jsx)(s.EmptyState,{variant:"section",title:"No send has been refused."}):(0,t.jsx)("ol",{className:"flex flex-col gap-2","data-testid":"network-refusals-list",children:e.map(e=>(0,t.jsx)(eo,{refusal:e,context:l,now:d},e.id))}),(0,t.jsxs)("section",{"aria-labelledby":"network-refusals","data-testid":"network-refusals",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-refusals",className:"text-body font-semibold",children:"Refusals"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"The sends the rules refused, newest first, with both ships’ labels as they were then. The sender was told only that its send was refused."}),o]})}function eo({refusal:e,context:a,now:r}){let s=new Date(e.at),{recipient:n}=e,i="ship"===n.kind?[n.ship]:n.ships;return(0,t.jsxs)("li",{"data-testid":"network-refusal",className:"flex flex-col gap-2 rounded-md border border-border px-3 py-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-0.5",children:[(0,t.jsx)("p",{className:"text-body font-medium",children:function(e){let{sender:t,recipient:a}=e,r=`${ei(t)} tried to ${"ship"===t.kind?"message":"reach"}`;switch(a.kind){case"ship":return`${r} ${a.ship.name}.`;case"type":return`${r} the type ${a.type}: ${(0,G.listed)(a.ships.map(e=>e.name))}.`}}(e)}),(0,t.jsx)("time",{dateTime:e.at,title:(0,el.fullDateTime)(s),className:"text-meta text-muted-foreground tabular-nums",children:(0,el.relativeTime)(s,r)})]}),(0,t.jsxs)("dl",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(ec,{side:"From",ship:{name:ei(e.sender),labels:"installation"===e.sender.kind?[]:e.sender.labels},context:a}),i.map(e=>(0,t.jsx)(ec,{side:"To",ship:e,context:a},e.id))]}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:`Refused by network settings version ${String(e.settingsVersion)}.`})]})}function ec({side:e,ship:a,context:r}){let s=(0,G.chipsOf)(a,r);return(0,t.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[(0,t.jsxs)("dt",{className:"text-meta text-muted-foreground",children:[e," ",(0,t.jsx)("span",{className:"font-medium text-foreground",children:a.name})]}),(0,t.jsx)("dd",{className:"flex min-w-0 flex-wrap items-center gap-1",children:0===s.length?(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"No labels"}):s.map(e=>(0,t.jsx)(f.LabelChip,{chip:e,testId:"network-refusal-label"},e.valueId))})]})}var eu=e.i(77821),eh=e.i(87964),em=e.i(90262),ep=e.i(25242),ex=e.i(5387),ef=e.i(18423),eg=e.i(28459),ey=e.i(54616),eb=e.i(66027),ev=e.i(12598),ew=e.i(27702);function ej(){let e=(0,ew.useTRPC)(),t=(0,ev.useQueryClient)();return async()=>{await Promise.all([t.invalidateQueries({queryKey:e.fleet.networkRules.queryKey()}),t.invalidateQueries({queryKey:e.fleet.networkRulesDraftChanges.queryKey()}),t.invalidateQueries({queryKey:e.fleet.explainReach.pathKey()})])}}var ek=e.i(96676),eN=e.i(19273);function eR(e,t="applied"){let a=new URLSearchParams([...void 0===e?[]:[["reach",e]],..."draft"===t?[["against","draft"]]:[]]).toString();return""===a?"/network":`/network?${a}`}var eO=e.i(78485);e.s(["NetworkPageFor",0,function({pickedShipId:e,against:l}){var d,o,c,h;let m,p,x,f,g,b,v,w,j,k,N,R,C,S,T,I,$,A=(0,r.useRouter)(),E=(0,ek.useNow)(),P=(0,eh.useConsoleFrame)(),D=(0,eg.useNeedsAttention)(),M=(0,ef.useLiveFleet)(),L=(0,em.useAccess)().canEditNetwork,q=(p=(0,ew.useTRPC)(),(0,eb.useQuery)(p.fleet.networkRules.queryOptions(void 0,{enabled:L}))),Q=void 0!==q.data&&null!==q.data.draft,W=Q?l:"applied",G=(d=L&&Q,x=(0,ew.useTRPC)(),(0,eb.useQuery)(x.fleet.networkRulesDraftChanges.queryOptions(void 0,{enabled:d}))),U=(0,ex.useLabelContext)(),J=(0,ex.useFleetSnapshot)(),X=(o=L?e:void 0,f=(0,ew.useTRPC)(),(0,eb.useQuery)({...f.fleet.explainReach.queryOptions(void 0===o?eN.skipToken:{fromShipId:o,against:W}),select:O})),H=(g=(0,ew.useTRPC)(),(0,eb.useQuery)(g.fleet.reachRefusals.queryOptions(void 0,{enabled:L}))),Y=(b=(0,ew.useTRPC)(),(0,eb.useQuery)(b.fleet.declaredNetworkRules.queryOptions(void 0,{enabled:L}))),Z=(v=(0,ew.useTRPC)(),(0,eb.useQuery)(v.fleet.builtInRules.queryOptions(void 0,{enabled:L}))),ee=(w=(0,ew.useTRPC)(),j=(0,ev.useQueryClient)(),{setViewerRead:e=>{k.mutate({rule:"viewerRead",isOn:e})},isPending:(k=(0,ey.useMutation)(w.fleet.setBuiltInRule.mutationOptions({onSuccess:()=>j.invalidateQueries({queryKey:w.fleet.builtInRules.queryKey()})}))).isPending,error:k.error?.message}),et=(N=(0,ew.useTRPC)(),R=ej(),(0,ey.useMutation)(N.fleet.saveNetworkRulesDraft.mutationOptions({onSuccess:R}))),ea=(C=(0,ew.useTRPC)(),S=(0,ev.useQueryClient)(),T=ej(),(0,ey.useMutation)(C.fleet.applyNetworkRules.mutationOptions({onSuccess:async()=>{await Promise.all([T(),S.invalidateQueries({queryKey:C.fleet.builtInRules.queryKey()})])}}))),er=(I=(0,ew.useTRPC)(),$=ej(),(0,ey.useMutation)(I.fleet.discardNetworkRulesDraft.mutationOptions({onSuccess:$}))),{networkRulesMax:es,shipLabelsMax:ei}=(0,ep.useConsoleConstants)();if((0,eO.useSignInWhenSessionEnds)([D.error,M.error]),L)if(q.isError)m=(0,t.jsx)(n.InlineError,{title:"Couldn’t read the network",description:q.error.message,onRetry:()=>{q.refetch()}});else if(void 0===q.data||void 0===U||void 0===J.data)m=(0,t.jsx)(i.LoadingSkeleton,{variant:"detail",rows:4,label:"Loading the network"});else{let a,r,s;m=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u,{rows:void 0===Z.data?void 0:Z.data.map(F),error:Z.error?.message,onRetry:()=>{Z.refetch()},isTurning:ee.isPending,turnError:ee.error,onViewerReadChange:ee.setViewerRead}),(0,t.jsx)(en,{rules:(q.data.draft??q.data.applied).rules,context:U,limits:{rulesMax:es,selectorMax:ei},isSaving:et.isPending,saveError:et.error?.message,savedNote:void 0===et.data?void 0:"Draft saved. Nothing changes until it is applied.",onSave:e=>{et.mutate({rules:e})}},JSON.stringify(q.data.draft??q.data.applied)),null===q.data.draft?null:(0,t.jsx)(_,{changes:void 0===G.data?void 0:(c=G.data,a=new Map(J.data.map(e=>[e.id,e.name])),r=e=>e.map(({fromShipId:e,toShipId:t,rule:r})=>({key:`${e}>${t}`,from:a.get(e)??e,to:a.get(t)??t,rule:function(e,t){if("builtIn"in e)return`Built-in: ${z[e.builtIn]}`;if("rule"in e)return`Rule ${String(e.rule+1)}`;let a="installation"===e.declared.kind?"the installation":t.get(e.declared.shipId)??e.declared.shipId;return`Declared by ${a}, rule ${String(e.index+1)}`}(r,a)})).sort((e,t)=>e.from.localeCompare(t.from)||e.to.localeCompare(t.to)),V.NETWORK_VERBS.map(e=>({verb:e,gained:r(c[e].gained),lost:r(c[e].lost)}))),error:G.error?.message,onRetry:()=>{G.refetch()}}),(0,t.jsx)(K,{draft:q.data.draft,appliedVersion:q.data.applied.version,isApplying:ea.isPending,applyError:ea.error?.message,onApply:()=>{ea.mutate({version:q.data.applied.version})},isDiscarding:er.isPending,discardError:er.error?.message,onDiscard:()=>{er.mutate()}}),(0,t.jsx)(y,{declared:void 0===Y.data?void 0:(h=Y.data,s=new Map(J.data.map(e=>[e.id,e.name])),h.filter(({rules:e})=>e.length>0).map(({declarer:e,rules:t})=>"installation"===e.kind?{declarerId:"installation",declaredBy:"the installation",rules:t}:{declarerId:e.shipId,declaredBy:s.get(e.shipId)??e.shipId,rules:t}).sort((e,t)=>e.declaredBy.localeCompare(t.declaredBy))),error:Y.error?.message,onRetry:()=>{Y.refetch()},context:U}),(0,t.jsx)(B,{ships:J.data.filter(e=>"retired"!==e.status&&"viewer"!==e.kind).map(e=>({id:e.id,name:e.name,isOperator:"operator"===e.kind})).sort((e,t)=>Number(t.isOperator)-Number(e.isOperator)||e.name.localeCompare(t.name)),pickedShipId:e,reachableShipIds:X.data,reachError:X.error?.message,onPick:e=>{A.replace(eR(e,W),{scroll:!1})},against:W,...Q?{onAgainstChange:t=>{A.replace(eR(e,t),{scroll:!1})}}:{},onRetry:()=>{X.refetch()}}),(0,t.jsx)(ed,{refusals:H.data,error:H.error?.message,onRetry:()=>{H.refetch()},context:U,now:E})]})}else m=(0,t.jsx)(s.EmptyState,{icon:(0,t.jsx)(a.Network,{"aria-hidden":!0}),title:"Only a session holding fleet:network sees the network rules"});return(0,t.jsx)(eu.ListPage,{...P,title:"Network",description:"Who may send to, read or manage whom. The fleet checks the applied rules on every send; a draft changes nothing until it is applied.",live:M.live,children:m})}],13260)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,51212,t=>{t.v(e=>Promise.all(["static/chunks/36p__5trrhe2z.js"].map(e=>t.l(e))).then(()=>e(91014)))}]);