@aeolus-fleet/console 0.34.0 → 0.35.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 (420) hide show
  1. package/.next/standalone/packages/console/.next/BUILD_ID +1 -1
  2. package/.next/standalone/packages/console/.next/app-path-routes-manifest.json +2 -0
  3. package/.next/standalone/packages/console/.next/build-manifest.json +3 -3
  4. package/.next/standalone/packages/console/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/packages/console/.next/routes-manifest.json +16 -0
  6. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/[cause]/page/server-reference-manifest.json +16 -16
  7. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/[cause]/page.js.nft.json +1 -1
  8. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/[cause]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/packages/console/.next/server/app/(console)/fleet-health/page/server-reference-manifest.json +16 -16
  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 +16 -16
  13. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page.js.nft.json +1 -1
  14. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page/server-reference-manifest.json +16 -16
  16. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page.js.nft.json +1 -1
  17. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/packages/console/.next/server/app/(console)/messages/[messageId]/page/app-paths-manifest.json +3 -0
  19. package/.next/standalone/packages/console/.next/server/app/(console)/messages/[messageId]/page/build-manifest.json +20 -0
  20. package/.next/standalone/packages/console/.next/server/app/(console)/messages/[messageId]/page/next-font-manifest.json +11 -0
  21. package/.next/standalone/packages/console/.next/server/app/(console)/messages/[messageId]/page/react-loadable-manifest.json +1 -0
  22. package/.next/standalone/packages/console/.next/server/app/(console)/messages/[messageId]/page/server-reference-manifest.json +181 -0
  23. package/.next/standalone/packages/console/.next/server/app/(console)/messages/[messageId]/page.js +21 -0
  24. package/.next/standalone/packages/console/.next/server/app/(console)/messages/[messageId]/page.js.nft.json +1 -0
  25. package/.next/standalone/packages/console/.next/server/app/(console)/messages/[messageId]/page_client-reference-manifest.js +3 -0
  26. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page/server-reference-manifest.json +16 -16
  27. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page.js.nft.json +1 -1
  28. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page/server-reference-manifest.json +16 -16
  30. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page.js.nft.json +1 -1
  31. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/packages/console/.next/server/app/(console)/network/page/server-reference-manifest.json +16 -16
  33. package/.next/standalone/packages/console/.next/server/app/(console)/network/page.js.nft.json +1 -1
  34. package/.next/standalone/packages/console/.next/server/app/(console)/network/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/packages/console/.next/server/app/(console)/page/react-loadable-manifest.json +2 -2
  36. package/.next/standalone/packages/console/.next/server/app/(console)/page/server-reference-manifest.json +16 -16
  37. package/.next/standalone/packages/console/.next/server/app/(console)/page.js.nft.json +1 -1
  38. package/.next/standalone/packages/console/.next/server/app/(console)/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/packages/console/.next/server/app/(console)/scopes/page/server-reference-manifest.json +16 -16
  40. package/.next/standalone/packages/console/.next/server/app/(console)/scopes/page.js.nft.json +1 -1
  41. package/.next/standalone/packages/console/.next/server/app/(console)/scopes/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/packages/console/.next/server/app/(console)/sealing/page/server-reference-manifest.json +16 -16
  43. package/.next/standalone/packages/console/.next/server/app/(console)/sealing/page.js.nft.json +1 -1
  44. package/.next/standalone/packages/console/.next/server/app/(console)/sealing/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page/server-reference-manifest.json +16 -16
  46. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  47. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page/server-reference-manifest.json +16 -16
  49. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page.js.nft.json +1 -1
  50. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page/server-reference-manifest.json +16 -16
  52. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page.js.nft.json +1 -1
  53. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page/react-loadable-manifest.json +2 -2
  55. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page/server-reference-manifest.json +16 -16
  56. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page.js.nft.json +1 -1
  57. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page/react-loadable-manifest.json +2 -2
  59. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page/server-reference-manifest.json +16 -16
  60. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page.js.nft.json +1 -1
  61. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page/server-reference-manifest.json +16 -16
  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 +16 -16
  66. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page.js.nft.json +1 -1
  67. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page/server-reference-manifest.json +16 -16
  69. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page.js.nft.json +1 -1
  70. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/packages/console/.next/server/app/_global-error.html +1 -1
  72. package/.next/standalone/packages/console/.next/server/app/_global-error.rsc +1 -1
  73. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  74. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  75. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  76. package/.next/standalone/packages/console/.next/server/app/_not-found/page.js.nft.json +1 -1
  77. package/.next/standalone/packages/console/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/packages/console/.next/server/app/api/analytics/route.js +2 -2
  79. package/.next/standalone/packages/console/.next/server/app/api/analytics/route.js.nft.json +1 -1
  80. package/.next/standalone/packages/console/.next/server/app/api/reads/[read]/route.js +6 -4
  81. package/.next/standalone/packages/console/.next/server/app/api/reads/[read]/route.js.nft.json +1 -1
  82. package/.next/standalone/packages/console/.next/server/app/api/reports/[procedure]/route/app-paths-manifest.json +3 -0
  83. package/.next/standalone/packages/console/.next/server/app/api/reports/[procedure]/route/build-manifest.json +12 -0
  84. package/.next/standalone/packages/console/.next/server/app/api/reports/[procedure]/route/server-reference-manifest.json +4 -0
  85. package/.next/standalone/packages/console/.next/server/app/api/reports/[procedure]/route.js +9 -0
  86. package/.next/standalone/packages/console/.next/server/app/api/reports/[procedure]/route.js.nft.json +1 -0
  87. package/.next/standalone/packages/console/.next/server/app/api/reports/[procedure]/route_client-reference-manifest.js +3 -0
  88. package/.next/standalone/packages/console/.next/server/app/sign-in/argo/confirm/page.js +2 -2
  89. package/.next/standalone/packages/console/.next/server/app/sign-in/argo/confirm/page.js.nft.json +1 -1
  90. package/.next/standalone/packages/console/.next/server/app/sign-in/argo/confirm/page_client-reference-manifest.js +1 -1
  91. package/.next/standalone/packages/console/.next/server/app/sign-in/argo/out/route.js +2 -2
  92. package/.next/standalone/packages/console/.next/server/app/sign-in/argo/out/route.js.nft.json +1 -1
  93. package/.next/standalone/packages/console/.next/server/app/sign-in/argo/refused/page.js +1 -1
  94. package/.next/standalone/packages/console/.next/server/app/sign-in/argo/refused/page.js.nft.json +1 -1
  95. package/.next/standalone/packages/console/.next/server/app/sign-in/argo/refused/page_client-reference-manifest.js +1 -1
  96. package/.next/standalone/packages/console/.next/server/app/sign-in/argo/route.js +2 -2
  97. package/.next/standalone/packages/console/.next/server/app/sign-in/argo/route.js.nft.json +1 -1
  98. package/.next/standalone/packages/console/.next/server/app/sign-in/done/route.js +2 -2
  99. package/.next/standalone/packages/console/.next/server/app/sign-in/done/route.js.nft.json +1 -1
  100. package/.next/standalone/packages/console/.next/server/app/sign-in/enter/route.js +2 -2
  101. package/.next/standalone/packages/console/.next/server/app/sign-in/enter/route.js.nft.json +1 -1
  102. package/.next/standalone/packages/console/.next/server/app/sign-in/failed/page.js +1 -1
  103. package/.next/standalone/packages/console/.next/server/app/sign-in/failed/page.js.nft.json +1 -1
  104. package/.next/standalone/packages/console/.next/server/app/sign-in/failed/page_client-reference-manifest.js +1 -1
  105. package/.next/standalone/packages/console/.next/server/app/sign-in/no-rights/page.js +1 -1
  106. package/.next/standalone/packages/console/.next/server/app/sign-in/no-rights/page.js.nft.json +1 -1
  107. package/.next/standalone/packages/console/.next/server/app/sign-in/no-rights/page_client-reference-manifest.js +1 -1
  108. package/.next/standalone/packages/console/.next/server/app/sign-in/nothing-to-manage/page.js +1 -1
  109. package/.next/standalone/packages/console/.next/server/app/sign-in/nothing-to-manage/page.js.nft.json +1 -1
  110. package/.next/standalone/packages/console/.next/server/app/sign-in/nothing-to-manage/page_client-reference-manifest.js +1 -1
  111. package/.next/standalone/packages/console/.next/server/app/sign-in/out/route.js +2 -2
  112. package/.next/standalone/packages/console/.next/server/app/sign-in/out/route.js.nft.json +1 -1
  113. package/.next/standalone/packages/console/.next/server/app/sign-in/page.js +2 -2
  114. package/.next/standalone/packages/console/.next/server/app/sign-in/page.js.nft.json +1 -1
  115. package/.next/standalone/packages/console/.next/server/app/sign-in/page_client-reference-manifest.js +1 -1
  116. package/.next/standalone/packages/console/.next/server/app/sign-in/renew/route.js +2 -2
  117. package/.next/standalone/packages/console/.next/server/app/sign-in/renew/route.js.nft.json +1 -1
  118. package/.next/standalone/packages/console/.next/server/app/sign-in/start/route.js +2 -2
  119. package/.next/standalone/packages/console/.next/server/app/sign-in/start/route.js.nft.json +1 -1
  120. package/.next/standalone/packages/console/.next/server/app/sign-in/unreachable/page.js +1 -1
  121. package/.next/standalone/packages/console/.next/server/app/sign-in/unreachable/page.js.nft.json +1 -1
  122. package/.next/standalone/packages/console/.next/server/app/sign-in/unreachable/page_client-reference-manifest.js +1 -1
  123. package/.next/standalone/packages/console/.next/server/app/version/route.js +2 -2
  124. package/.next/standalone/packages/console/.next/server/app/version/route.js.nft.json +1 -1
  125. package/.next/standalone/packages/console/.next/server/app-paths-manifest.json +2 -0
  126. package/.next/standalone/packages/console/.next/server/chunks/0ysl_console__next-internal_server_app_api_reports_[procedure]_route_actions_05t2e7n.js +3 -0
  127. package/.next/standalone/packages/console/.next/server/chunks/{[root-of-the-server]__0-62e1t._.js → [root-of-the-server]__00a6img._.js} +2 -2
  128. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__00cwjlc._.js +3 -0
  129. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__05oe0nd._.js +3 -0
  130. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__0d_eifo._.js +3 -0
  131. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__0iil-mz._.js +3 -0
  132. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__0sloo9r._.js +3 -0
  133. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1f7_zn_._.js +3 -0
  134. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1izl__9._.js +3 -0
  135. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1j4sirx._.js +3 -0
  136. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1omlvpl._.js +3 -0
  137. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1xenjbd._.js +3 -0
  138. package/.next/standalone/packages/console/.next/server/chunks/_040yqm9._.js +3 -0
  139. package/.next/standalone/packages/console/.next/server/chunks/_1uqphll._.js +3 -1
  140. package/.next/standalone/packages/console/.next/server/chunks/packages_common_dist_0ylb6d5._.js +3 -0
  141. package/.next/standalone/packages/console/.next/server/chunks/packages_common_dist_1uxixk0._.js +3 -0
  142. package/.next/standalone/packages/console/.next/server/chunks/{_02-7tdl._.js → packages_console_lib_pagasae_ts_1lymniu._.js} +6 -6
  143. package/.next/standalone/packages/console/.next/server/chunks/ssr/{0ysl_console_features_squadrons_ui_organisms_form-squadron-dialog_tsx_0lwo5yq._.js → 0ysl_console_features_squadrons_ui_organisms_form-squadron-dialog_tsx_21bx36_._.js} +1 -1
  144. package/.next/standalone/packages/console/.next/server/chunks/ssr/[root-of-the-server]__0v6rvvn._.js +3 -0
  145. package/.next/standalone/packages/console/.next/server/chunks/ssr/{[root-of-the-server]__1zbr21v._.js → [root-of-the-server]__1d7yivv._.js} +1 -1
  146. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0-h91oz._.js +1 -1
  147. package/.next/standalone/packages/console/.next/server/chunks/ssr/_028x02l._.js +3 -0
  148. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_0_cizz3._.js → _02g6i1z._.js} +2 -2
  149. package/.next/standalone/packages/console/.next/server/chunks/ssr/_03-t1kl._.js +3 -0
  150. package/.next/standalone/packages/console/.next/server/chunks/ssr/_03zya74._.js +3 -0
  151. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_0fkqg44._.js → _04_mq1p._.js} +2 -2
  152. package/.next/standalone/packages/console/.next/server/chunks/ssr/_04q3386._.js +3 -0
  153. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_0u_xmpx._.js → _06ohyn8._.js} +2 -2
  154. package/.next/standalone/packages/console/.next/server/chunks/ssr/_06qoh8j._.js +3 -0
  155. package/.next/standalone/packages/console/.next/server/chunks/ssr/_093ww39._.js +3 -0
  156. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0_9au8n._.js +3 -0
  157. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0aaptvm._.js +3 -0
  158. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0dzrmp4._.js +3 -0
  159. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0femtjm._.js +3 -0
  160. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0g5bn5i._.js +3 -0
  161. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0gb01eo._.js +3 -0
  162. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1vxzhc8._.js → _0h05ihf._.js} +1 -1
  163. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0knwrje._.js +3 -0
  164. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1bxxb37._.js → _0loy7p7._.js} +2 -2
  165. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_023dmpu._.js → _0lupanq._.js} +1 -1
  166. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1cxhogq._.js → _0m-mbvy._.js} +2 -2
  167. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1cet9p0._.js → _0mwga7s._.js} +2 -2
  168. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0of498-._.js +3 -0
  169. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0p8rjhd._.js +3 -0
  170. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0sugvmr._.js +1 -1
  171. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_20u8c82._.js → _0uyemno._.js} +1 -1
  172. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1o6zuj_._.js → _0w6po9a._.js} +2 -2
  173. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0wv9wb4._.js +3 -0
  174. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1-bllc0._.js +3 -0
  175. package/.next/standalone/packages/console/.next/server/chunks/ssr/_10028fp._.js +3 -0
  176. package/.next/standalone/packages/console/.next/server/chunks/ssr/_11s_rd3._.js +3 -0
  177. package/.next/standalone/packages/console/.next/server/chunks/ssr/_12_rbf_._.js +3 -0
  178. package/.next/standalone/packages/console/.next/server/chunks/ssr/_12dgb07._.js +3 -0
  179. package/.next/standalone/packages/console/.next/server/chunks/ssr/_13ryx3s._.js +3 -0
  180. package/.next/standalone/packages/console/.next/server/chunks/ssr/_17bb6sl._.js +3 -0
  181. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1b7cg69._.js +1 -1
  182. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1b_j5u1._.js +1 -1
  183. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1c17fan._.js +3 -0
  184. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1dk1deo._.js +3 -0
  185. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1r_ndby._.js → _1f0el24._.js} +2 -2
  186. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1gpfbt1._.js +3 -0
  187. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1h1ovnm._.js +3 -0
  188. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1z4soyc._.js → _1hhy2bk._.js} +1 -1
  189. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1j6s2t-._.js +3 -0
  190. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1jvj-fh._.js +3 -0
  191. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1no_h7r._.js +3 -0
  192. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1prq2d6._.js +1 -1
  193. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_12xl7_5._.js → _1qv5zsp._.js} +2 -2
  194. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1s8c70o._.js +3 -0
  195. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1t20h08._.js +3 -0
  196. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1tiva4e._.js +3 -0
  197. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_0y2il38._.js → _1txxs-k._.js} +1 -1
  198. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1u0h4gj._.js +1 -1
  199. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1u8q--q._.js +3 -0
  200. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1vmzi92._.js +3 -0
  201. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_00jt7xx._.js → _1vourv7._.js} +1 -1
  202. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1wsg8mh._.js +1 -1
  203. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1xt1-iw._.js +3 -0
  204. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1ym8zdv._.js +3 -0
  205. package/.next/standalone/packages/console/.next/server/chunks/ssr/node_modules_zod_v4_classic_external_15fmmz3.js +1 -1
  206. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_0k1f2rl._.js +1 -1
  207. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_1-u7hx2._.js +3 -0
  208. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_15ka30f._.js → packages_16kw6t9._.js} +2 -2
  209. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_1v4ntbp._.js +1 -1
  210. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_common_dist_schemas_0e83q-i._.js +3 -0
  211. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_common_dist_schemas_0lo2f_f._.js +3 -0
  212. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_common_dist_schemas_fleet_1a-bnwh.js +1 -1
  213. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_00qg_s6._.js +1 -1
  214. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_02v53na._.js +1 -1
  215. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_02wkudy._.js +1 -1
  216. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_04rox65._.js +1 -1
  217. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_05zitd2._.js +1 -1
  218. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_065nea1._.js +1 -1
  219. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0h_376h._.js +1 -1
  220. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0hs6kp-._.js +1 -1
  221. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0ko_ogs._.js +1 -1
  222. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0sr2-oa._.js +1 -1
  223. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0ysbad7._.js +1 -1
  224. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_108sez2._.js +1 -1
  225. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_12a-76h._.js +1 -1
  226. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_048ovo2._.js → packages_console_1em8nyt._.js} +2 -2
  227. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1fw0efr._.js +3 -0
  228. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1jy5-0g._.js +1 -1
  229. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1n8w8x0._.js +1 -1
  230. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1oz8iu7._.js +1 -1
  231. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1rdu3gt._.js +1 -1
  232. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_0j8ndv8._.js → packages_console_1s_0n2s._.js} +1 -1
  233. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1yfimad._.js +1 -1
  234. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_fleet-health_page_tsx_0vcosw1._.js +1 -1
  235. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_inbox_inbox-page_tsx_1lm_c0k._.js +1 -1
  236. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_network_network-page_tsx_0qc3h-9._.js +2 -2
  237. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_overview-page_tsx_15siba6._.js +1 -1
  238. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_sealing_sealing-page_tsx_0rhc98z._.js +1 -1
  239. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_ships_[shipId]_ship-page_tsx_0oahz0r._.js +1 -1
  240. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_squadrons_[squadronId]_page_tsx_0f8nmsh._.js +1 -1
  241. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_providers_tsx_06ai92n._.js +1 -1
  242. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_components_organisms_crew-line-dialog_tsx_1x_9zi1._.js → packages_console_components_organisms_crew-line-dialog_tsx_03g79i2._.js} +1 -1
  243. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_features_10vhz5u._.js +3 -0
  244. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_features_ship_ui_organisms_message-sheet_tsx_08bg9ly._.js +1 -1
  245. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_features_trierarchs_ui_organisms_13bfwnw._.js → packages_console_features_trierarchs_ui_organisms_1y5ngsc._.js} +1 -1
  246. package/.next/standalone/packages/console/.next/server/middleware-build-manifest.js +3 -3
  247. package/.next/standalone/packages/console/.next/server/next-font-manifest.js +1 -1
  248. package/.next/standalone/packages/console/.next/server/next-font-manifest.json +4 -0
  249. package/.next/standalone/packages/console/.next/server/pages/500.html +1 -1
  250. package/.next/standalone/packages/console/.next/server/server-reference-manifest.js +1 -1
  251. package/.next/standalone/packages/console/.next/server/server-reference-manifest.json +97 -17
  252. package/.next/standalone/packages/console/.next/static/chunks/00or1rnno9kvz.js +1 -0
  253. package/.next/standalone/packages/console/.next/static/chunks/00ssnnsuu6nfq.js +1 -0
  254. package/.next/standalone/packages/console/.next/static/chunks/06_s2toj_8vrc.js +1 -0
  255. package/.next/standalone/packages/console/.next/static/chunks/{07u2lukjdm6hy.js → 0__1t562w-7bd.js} +1 -1
  256. package/.next/standalone/packages/console/.next/static/chunks/0bnnjycjxxf3p.js +1 -0
  257. package/.next/standalone/packages/console/.next/static/chunks/0bro559jr38od.js +1 -0
  258. package/.next/standalone/packages/console/.next/static/chunks/{153phemqeeak4.js → 0fiweiztxhfx4.js} +1 -1
  259. package/.next/standalone/packages/console/.next/static/chunks/0jgsxj2m59nna.js +1 -0
  260. package/.next/standalone/packages/console/.next/static/chunks/0kxruqvdjvu2r.js +1 -0
  261. package/.next/standalone/packages/console/.next/static/chunks/0q-tv8cl4qj7m.js +1 -0
  262. package/.next/standalone/packages/console/.next/static/chunks/0u4n04zxjft4l.js +1 -0
  263. package/.next/standalone/packages/console/.next/static/chunks/0u9l_17sbicln.js +1 -0
  264. package/.next/standalone/packages/console/.next/static/chunks/0vhkganv303ja.js +1 -0
  265. package/.next/standalone/packages/console/.next/static/chunks/0y6tgk4e2qln_.js +1 -0
  266. package/.next/standalone/packages/console/.next/static/chunks/{3mo-asmep5zzd.js → 0yyyqt5ih7yiv.js} +1 -1
  267. package/.next/standalone/packages/console/.next/static/chunks/0zn5gpgm2grzo.js +1 -0
  268. package/.next/standalone/packages/console/.next/static/chunks/11ewkg-bull_b.js +1 -0
  269. package/.next/standalone/packages/console/.next/static/chunks/15zm3w3oloxrm.js +1 -0
  270. package/.next/standalone/packages/console/.next/static/chunks/16d_a5mrx4kr_.js +1 -0
  271. package/.next/standalone/packages/console/.next/static/chunks/{27qi3k10y-0hf.js → 17yltd0_u64h7.js} +2 -2
  272. package/.next/standalone/packages/console/.next/static/chunks/18mk91gj9vatw.js +1 -0
  273. package/.next/standalone/packages/console/.next/static/chunks/1d7vneo_33mh8.js +1 -0
  274. package/.next/standalone/packages/console/.next/static/chunks/1deg_zv7km6ye.js +1 -0
  275. package/.next/standalone/packages/console/.next/static/chunks/1ei-bzq6sq7qb.js +1 -0
  276. package/.next/standalone/packages/console/.next/static/chunks/1fmhopit2c_22.js +1 -0
  277. package/.next/standalone/packages/console/.next/static/chunks/1fvvvxmvm5kem.js +1 -0
  278. package/.next/standalone/packages/console/.next/static/chunks/1h4dlldmc34os.js +1 -0
  279. package/.next/standalone/packages/console/.next/static/chunks/1mlqceia_ckhz.js +1 -0
  280. package/.next/standalone/packages/console/.next/static/chunks/{35ntwzufo_-ij.js → 1qgzmqkam3mcu.js} +1 -1
  281. package/.next/standalone/packages/console/.next/static/chunks/1vpmnwq7h1-n-.js +1 -0
  282. package/.next/standalone/packages/console/.next/static/chunks/1wovyzm-ky4o4.js +1 -0
  283. package/.next/standalone/packages/console/.next/static/chunks/1x_zeay4p3zgh.js +1 -0
  284. package/.next/standalone/packages/console/.next/static/chunks/1yi4w4v56kuu8.js +1 -0
  285. package/.next/standalone/packages/console/.next/static/chunks/1zmmq_r7ebxfc.js +1 -0
  286. package/.next/standalone/packages/console/.next/static/chunks/2-h98p2e7oa0m.js +1 -0
  287. package/.next/standalone/packages/console/.next/static/chunks/{1si5-x-v3hhbj.js → 21y3y04f7v0v7.js} +1 -1
  288. package/.next/standalone/packages/console/.next/static/chunks/2cjo-sd4uvu9f.js +1 -0
  289. package/.next/standalone/packages/console/.next/static/chunks/{1wh8gm_07govh.js → 2d94szwvh0ewo.js} +1 -1
  290. package/.next/standalone/packages/console/.next/static/chunks/2doc8bh2g45nb.js +1 -0
  291. package/.next/standalone/packages/console/.next/static/chunks/2hzog76du9u6v.js +1 -0
  292. package/.next/standalone/packages/console/.next/static/chunks/2ivxs2o9pb-kw.js +1 -0
  293. package/.next/standalone/packages/console/.next/static/chunks/2kyswtcr0ggp0.js +1 -0
  294. package/.next/standalone/packages/console/.next/static/chunks/{3_fe4l9988_i3.js → 2nv0yg_t-0e_v.js} +1 -1
  295. package/.next/standalone/packages/console/.next/static/chunks/{39fsxgrjsn_5h.js → 2p7vafqkawo-3.js} +1 -1
  296. package/.next/standalone/packages/console/.next/static/chunks/2rq3-3nwhsejj.js +1 -0
  297. package/.next/standalone/packages/console/.next/static/chunks/2siilxaudcgji.css +3 -0
  298. package/.next/standalone/packages/console/.next/static/chunks/2sv4rppn3u-m3.js +1 -0
  299. package/.next/standalone/packages/console/.next/static/chunks/2tiqv1af2pm1s.js +1 -0
  300. package/.next/standalone/packages/console/.next/static/chunks/2v42jicty6jdj.js +1 -0
  301. package/.next/standalone/packages/console/.next/static/chunks/2w1iethb5d9g4.js +1 -0
  302. package/.next/standalone/packages/console/.next/static/chunks/2z4_rzzj4hn7o.js +1 -0
  303. package/.next/standalone/packages/console/.next/static/chunks/3-mrs3k436e6k.js +1 -0
  304. package/.next/standalone/packages/console/.next/static/chunks/3002v18i_zga3.js +1 -0
  305. package/.next/standalone/packages/console/.next/static/chunks/31cpcjvjaz3g5.js +1 -0
  306. package/.next/standalone/packages/console/.next/static/chunks/32rpwgopmscan.js +1 -0
  307. package/.next/standalone/packages/console/.next/static/chunks/{0mj-lcjquq5hk.js → 3brr_gw2bjeon.js} +1 -1
  308. package/.next/standalone/packages/console/.next/static/chunks/3d7-5ogsf3dpc.js +1 -0
  309. package/.next/standalone/packages/console/.next/static/chunks/3e_fhm8rx4-ty.js +1 -0
  310. package/.next/standalone/packages/console/.next/static/chunks/3i6ko-lythqj8.js +1 -0
  311. package/.next/standalone/packages/console/.next/static/chunks/3ly-uap2hqb02.js +1 -0
  312. package/.next/standalone/packages/console/.next/static/chunks/{1h7b86lgq9lv7.js → 3mw4nwm-4wmyn.js} +1 -1
  313. package/.next/standalone/packages/console/.next/static/chunks/3q3utwrduexxk.js +1 -0
  314. package/.next/standalone/packages/console/.next/static/chunks/3wwuiilyz-7be.js +1 -0
  315. package/.next/standalone/packages/console/.next/static/chunks/3xd75gi9c1sik.js +1 -0
  316. package/.next/standalone/packages/console/.next/static/chunks/{0_6s2s9yzqc23.js → 3y60h9gvxwvf7.js} +1 -1
  317. package/.next/standalone/packages/console/.next/static/chunks/40p35de66_1j2.js +1 -0
  318. package/.next/standalone/packages/console/.next/static/chunks/40zjvpn9i6pqd.js +1 -0
  319. package/.next/standalone/packages/console/.next/static/chunks/41pfgi-3fufiq.js +1 -0
  320. package/.next/standalone/packages/console/.next/static/chunks/4274hs-la_giy.js +1 -0
  321. package/.next/standalone/packages/console/.next/static/chunks/{2hqndzas4x40m.js → 449ymry_z342v.js} +1 -1
  322. package/.next/standalone/packages/console/package.json +3 -3
  323. package/README.md +4 -4
  324. package/package.json +3 -3
  325. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__0-b_d8j._.js +0 -3
  326. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__0komqne._.js +0 -3
  327. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__0nr0jcj._.js +0 -3
  328. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__0w4s32w._.js +0 -3
  329. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1-09egt._.js +0 -3
  330. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__11n_f2o._.js +0 -3
  331. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__179ym17._.js +0 -3
  332. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1c0qgbj._.js +0 -3
  333. package/.next/standalone/packages/console/.next/server/chunks/_0l8ph40._.js +0 -60
  334. package/.next/standalone/packages/console/.next/server/chunks/_16i3nlz._.js +0 -60
  335. package/.next/standalone/packages/console/.next/server/chunks/ssr/_02ic353._.js +0 -3
  336. package/.next/standalone/packages/console/.next/server/chunks/ssr/_039d-uz._.js +0 -3
  337. package/.next/standalone/packages/console/.next/server/chunks/ssr/_03d8-9j._.js +0 -3
  338. package/.next/standalone/packages/console/.next/server/chunks/ssr/_05ctw8k._.js +0 -3
  339. package/.next/standalone/packages/console/.next/server/chunks/ssr/_07exjo9._.js +0 -3
  340. package/.next/standalone/packages/console/.next/server/chunks/ssr/_08fb_7j._.js +0 -3
  341. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0d36-qr._.js +0 -3
  342. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0f6920m._.js +0 -3
  343. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0fmd-d4._.js +0 -3
  344. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0k0j14y._.js +0 -3
  345. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0o6o931._.js +0 -3
  346. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0os7cu8._.js +0 -3
  347. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0v_1h-g._.js +0 -3
  348. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0wr6v_5._.js +0 -3
  349. package/.next/standalone/packages/console/.next/server/chunks/ssr/_101u-nr._.js +0 -3
  350. package/.next/standalone/packages/console/.next/server/chunks/ssr/_12dzy3z._.js +0 -3
  351. package/.next/standalone/packages/console/.next/server/chunks/ssr/_19_8-fi._.js +0 -3
  352. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1g7ril9._.js +0 -3
  353. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1lrhipz._.js +0 -3
  354. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1lyh2g7._.js +0 -3
  355. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1o0b84j._.js +0 -3
  356. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1o3ylgd._.js +0 -3
  357. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1rm8oyp._.js +0 -3
  358. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1v1ncc-._.js +0 -3
  359. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1vshjes._.js +0 -3
  360. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1y1x0jn._.js +0 -3
  361. package/.next/standalone/packages/console/.next/server/chunks/ssr/_20gzt1b._.js +0 -3
  362. package/.next/standalone/packages/console/.next/server/chunks/ssr/_20m2xqz._.js +0 -3
  363. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_14wp-w2._.js +0 -3
  364. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_common_dist_schemas_account-token_1wsycr8.js +0 -3
  365. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_0wxybih._.js +0 -3
  366. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_1bqlm03._.js +0 -3
  367. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_features_scopes_ui_organisms_0__ijfw._.js +0 -3
  368. package/.next/standalone/packages/console/.next/static/chunks/00k259mg2d6p5.js +0 -1
  369. package/.next/standalone/packages/console/.next/static/chunks/01d9xxtkfuj2v.js +0 -1
  370. package/.next/standalone/packages/console/.next/static/chunks/01xc_lw338pwo.js +0 -1
  371. package/.next/standalone/packages/console/.next/static/chunks/027maws9rvn-z.js +0 -1
  372. package/.next/standalone/packages/console/.next/static/chunks/046u5mqtpgy9h.css +0 -3
  373. package/.next/standalone/packages/console/.next/static/chunks/04e2sssbbicdh.js +0 -1
  374. package/.next/standalone/packages/console/.next/static/chunks/084j8hg97cjfg.js +0 -1
  375. package/.next/standalone/packages/console/.next/static/chunks/08poesxu54pva.js +0 -1
  376. package/.next/standalone/packages/console/.next/static/chunks/0d7b6fm7y7wdd.js +0 -1
  377. package/.next/standalone/packages/console/.next/static/chunks/0khtcuvac-cx7.js +0 -1
  378. package/.next/standalone/packages/console/.next/static/chunks/0wcw63pvp45jx.js +0 -1
  379. package/.next/standalone/packages/console/.next/static/chunks/0wpt1e5f3l7br.js +0 -1
  380. package/.next/standalone/packages/console/.next/static/chunks/0z-ugpa262wvm.js +0 -1
  381. package/.next/standalone/packages/console/.next/static/chunks/11owm5fyoyg2z.js +0 -1
  382. package/.next/standalone/packages/console/.next/static/chunks/13bt4q5jd9yei.js +0 -1
  383. package/.next/standalone/packages/console/.next/static/chunks/18g_vf4h4p4_4.js +0 -1
  384. package/.next/standalone/packages/console/.next/static/chunks/18hwh271ewseq.js +0 -1
  385. package/.next/standalone/packages/console/.next/static/chunks/19n681pnvqm8e.js +0 -1
  386. package/.next/standalone/packages/console/.next/static/chunks/1atfbrmtv2zxx.js +0 -1
  387. package/.next/standalone/packages/console/.next/static/chunks/1dx_djvoll2sp.js +0 -1
  388. package/.next/standalone/packages/console/.next/static/chunks/1uac9padph65_.js +0 -1
  389. package/.next/standalone/packages/console/.next/static/chunks/1upzwmqkooprx.js +0 -1
  390. package/.next/standalone/packages/console/.next/static/chunks/1wqacf-1lr7pe.js +0 -1
  391. package/.next/standalone/packages/console/.next/static/chunks/1yj4gi_z116ik.js +0 -1
  392. package/.next/standalone/packages/console/.next/static/chunks/1yrzfyju1hphf.js +0 -1
  393. package/.next/standalone/packages/console/.next/static/chunks/23cx_qq_van0w.js +0 -1
  394. package/.next/standalone/packages/console/.next/static/chunks/24-xrq_6v-fpp.js +0 -1
  395. package/.next/standalone/packages/console/.next/static/chunks/29xv6oo61myhv.js +0 -1
  396. package/.next/standalone/packages/console/.next/static/chunks/2_eyxw4abj6vk.js +0 -1
  397. package/.next/standalone/packages/console/.next/static/chunks/2b5vae5r0fj6r.js +0 -1
  398. package/.next/standalone/packages/console/.next/static/chunks/2dlds_72yonvx.js +0 -1
  399. package/.next/standalone/packages/console/.next/static/chunks/2kwli36lpyk6h.js +0 -1
  400. package/.next/standalone/packages/console/.next/static/chunks/2o8-bthn_q4fw.js +0 -1
  401. package/.next/standalone/packages/console/.next/static/chunks/2p0tf1giv6spb.js +0 -1
  402. package/.next/standalone/packages/console/.next/static/chunks/2wbt-0qbns7w8.js +0 -1
  403. package/.next/standalone/packages/console/.next/static/chunks/3039_thmee8ov.js +0 -1
  404. package/.next/standalone/packages/console/.next/static/chunks/33pld-8scs565.js +0 -1
  405. package/.next/standalone/packages/console/.next/static/chunks/34yil15t9jrim.js +0 -1
  406. package/.next/standalone/packages/console/.next/static/chunks/3ad2au-3m0zja.js +0 -1
  407. package/.next/standalone/packages/console/.next/static/chunks/3cg7uibpdsed_.js +0 -1
  408. package/.next/standalone/packages/console/.next/static/chunks/3f7_oura7gsgu.js +0 -1
  409. package/.next/standalone/packages/console/.next/static/chunks/3ih58pia2dqz0.js +0 -1
  410. package/.next/standalone/packages/console/.next/static/chunks/3j1qgvqb81c0d.js +0 -1
  411. package/.next/standalone/packages/console/.next/static/chunks/3tfmgvn3khg2w.js +0 -1
  412. package/.next/standalone/packages/console/.next/static/chunks/3tzso1_qqvyjd.js +0 -1
  413. package/.next/standalone/packages/console/.next/static/chunks/3ul5x5y-jtaae.js +0 -1
  414. package/.next/standalone/packages/console/.next/static/chunks/3v-vzgzveh-y8.js +0 -1
  415. package/.next/standalone/packages/console/.next/static/chunks/3yg_ahlybqmh8.js +0 -1
  416. package/.next/standalone/packages/console/.next/static/chunks/3ymevngt24bma.js +0 -1
  417. package/.next/standalone/packages/console/.next/static/chunks/3zdjw8fopo0gd.js +0 -1
  418. /package/.next/standalone/packages/console/.next/static/{ECaopzhgrcEc1ShC149yF → -UkcMmco5sVUDyDk12-HF}/_buildManifest.js +0 -0
  419. /package/.next/standalone/packages/console/.next/static/{ECaopzhgrcEc1ShC149yF → -UkcMmco5sVUDyDk12-HF}/_clientMiddlewareManifest.js +0 -0
  420. /package/.next/standalone/packages/console/.next/static/{ECaopzhgrcEc1ShC149yF → -UkcMmco5sVUDyDk12-HF}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,419413,e=>{"use strict";e.s(["PAGE_SIZE_MAX",0,500])},347664,173332,985939,e=>{"use strict";var t=e.i(681307);let i=t.z.enum(["messages:send","messages:receive","messages:force","messages:resend","fleet:read","fleet:commission","fleet:manage","crew:assign","crew:run","labels:define","labels:assign","fleet:network","fleet:on-behalf","fleet:person","fleet:owner","fleet:explain","fleet:connect","labels:any","fleet:verify","scopes:declare","scopes:grant","scopes:define","meetings:open","fleet:keys","fleet:alert"]),a=["messages","fleet","crew","labels","scopes","meetings"],n="[a-z][a-z0-9-]{0,31}";RegExp(`^${n}$`);let r=RegExp(`^${n}:${n}$`),s=t.z.string().regex(r,"A scope is <namespace>:<action>").refine(e=>{var t;return t=e.slice(0,e.indexOf(":")),!a.some(e=>e===t)||i.safeParse(e).success},"No such core scope");t.z.enum(["messages:resend","fleet:read","fleet:commission","fleet:manage","crew:assign","crew:run","labels:define","labels:assign","fleet:network","fleet:on-behalf","fleet:person","fleet:owner","fleet:explain","fleet:connect","labels:any","fleet:verify","meetings:open","fleet:alert"]);let l=t.z.enum(["operator","agent","viewer","person","app","plugin"]),o=t.z.enum(["agent","person","app","plugin"]),d=t.z.enum(["DEVICE","CLOUD","SERVER","OTHER"]),c=t.z.enum(["awaitingCrew","crewed","retired"]);t.z.enum(["ship","type","meeting","label"]);let u=t.z.enum(["pending","received","handed","acknowledged","handled","notHandled","undeliverable","dismissed","abandoned"]),m=t.z.enum(["FleetInitialised","ShipCommissioned","OwnerSet","OwnerChanged","ShipClaimed","LeaseRevoked","CredentialRevoked","StartingPromptIssued","OperatorPasswordReset","OperatorLoginSet","MessageAccepted","LeasePushed","DeliveryReceived","DeliveryHanded","DeliveryAcknowledged","DeliveryHandled","DeliveryNotHandled","DeliveryOverdue","DeliveryUndeliverable","DeliveryReturned","ShipRetired","DeliveryAbandoned","DeliveryDismissed","ShipRenamed","ShipReported","StatementSet","TurnReported","SignInTicketIssued","FleetLimitsChanged","ViewerSessionStarted","CrewRequested","CrewRequestRemoved","CrewAssigned","CrewStatusChanged","CrewRequestExplained","CrewRequestGivenBack","LabelDefined","LabelValuesChanged","LabelRetired","LabelAssigned","LabelUnassigned","LabelDeleted","WorktreeClearRequested","WorktreeCleared","WorktreeClearRemoved","NetworkRulesSet","NetworkRulesDeclared","NetworkRulesDraftSaved","NetworkRulesDraftDiscarded","NetworkPluginRegistered","NetworkPluginUnregistered","BuiltInRuleChanged","ScopesDeclared","ScopesChanged","ScopeDefined","ScopeDescribed","ScopeRemoved","PluginConnected","PluginDisconnected","VerifiedFactsSet","VerifiedFactsRemoved","MeetingOpened","ParticipantAdded","MicRequested","MicRequestWithdrawn","MicGiven","MicReleased","MicTaken","MicPatternSet","ParticipantLeft","ParticipantRejoined","ParticipantRevoked","OwnershipTransferred","ModeratorNamed","MeetingEnded","ScheduleCreated","ScheduleCancelled","ScheduledSendRefused","ScheduledSendMissed","SchedulePaused","ScheduleResumed","ScheduleEnded","HistoryPruned","FleetSealingTurnedOn","FleetPayloadsSealed","FleetKeyUnavailable","FleetKeyAvailable","FleetDataKeyCreated","FleetCompanyKeyChanged","FleetRecoveryKeyChanged","FleetKeysRecovered","FeatureFlagTurnedOn","FeatureFlagTurnedOff","AlertRaised","AlertCleared","ExpectationsSet"]);e.s(["commissionedShipKindSchema",0,o,"deliveryStateSchema",0,u,"eventTypeSchema",0,m,"locationKindSchema",0,d,"scopeNameSchema",0,s,"shipKindSchema",0,l,"shipStatusSchema",0,c],173332);var h=e.i(383615);let p=t.z.string().min(1).max(128).brand();t.z.object({iss:t.z.string(),aud:(0,h.idSchema)("fleet"),sub:p,org:t.z.string().min(1),scope:t.z.string(),group:t.z.array(t.z.string()),person_ship:(0,h.idSchema)("ship").optional(),argo:t.z.boolean().optional(),iat:t.z.number(),exp:t.z.number()}).transform((e,i)=>{let a=e.scope.split(" ").filter(e=>""!==e),n=t.z.array(s).safeParse(a);return n.success?{issuer:e.iss,fleetId:e.aud,accountId:e.sub,organisationId:e.org,scopes:n.data,groupValues:e.group,personShipId:e.person_ship??null,isArgoAllowed:e.argo??!1,issuedAt:new Date(1e3*e.iat),endsAt:new Date(1e3*e.exp)}:(i.addIssue({code:"custom",message:"scope holds a malformed or unknown scope",path:["scope"]}),t.z.NEVER)}),e.s(["accountIdSchema",0,p],347664),new TextEncoder;let z=t.z.record(t.z.string(),t.z.json()),b=["crewing","running","restarting","crashed","releasing"],g=t.z.enum(b),f=["none","needsCrew","crewedByHand",...b],S=t.z.enum(f),v=`A reason is one line of at most ${String(200)} characters`;t.z.object({shipId:(0,h.idSchema)("ship"),settings:z}),t.z.object({settingsVersion:t.z.int().min(1)}),t.z.object({shipId:(0,h.idSchema)("ship")}),t.z.strictObject({});let y=t.z.object({settingsVersion:t.z.int().min(1),requestedAt:t.z.iso.datetime(),assignedTo:t.z.object({id:(0,h.idSchema)("ship"),name:t.z.string()}).nullable(),status:g.nullable(),reason:t.z.string().nullable(),crewedBy:t.z.object({id:(0,h.idSchema)("ship"),name:t.z.string()}).nullable(),attempt:t.z.int().min(0),startedAt:t.z.iso.datetime().nullable(),givenBack:t.z.array(t.z.object({trierarch:t.z.object({id:(0,h.idSchema)("ship"),name:t.z.string()}),settingsVersion:t.z.int().min(1),reason:t.z.string(),givenBackAt:t.z.iso.datetime()}))}),j=y.extend({settings:z});t.z.object({shipId:(0,h.idSchema)("ship"),trierarchShipId:(0,h.idSchema)("ship")}),t.z.strictObject({}),t.z.object({shipId:(0,h.idSchema)("ship"),status:g,attempt:t.z.int().min(0).optional(),startedAt:t.z.iso.datetime().nullable().optional()}),t.z.strictObject({}),t.z.object({shipId:(0,h.idSchema)("ship")}),t.z.strictObject({}),t.z.array(t.z.object({shipId:(0,h.idSchema)("ship"),settings:z,settingsVersion:t.z.int().min(1),requestedAt:t.z.iso.datetime(),status:g.nullable(),isFinal:t.z.boolean(),ownerShipId:(0,h.idSchema)("ship").nullable(),ownerName:t.z.string().nullable()})),t.z.object({shipId:(0,h.idSchema)("ship"),reason:t.z.string().trim().max(200,v).refine(e=>!/[\r\n]/.test(e),v).nullable()}),t.z.strictObject({}),t.z.object({shipId:(0,h.idSchema)("ship"),settingsVersion:t.z.int().min(1),reason:t.z.string().trim().min(1,v).max(200,v).refine(e=>!/[\r\n]/.test(e),v)}),t.z.strictObject({}),e.s(["crewRequestKeySchema",0,S,"crewRequestSchema",0,j,"crewStatusSchema",0,g,"listedCrewRequestSchema",0,y],985939)},998648,e=>{"use strict";var t=e.i(681307),i=e.i(173332),a=e.i(383615),n=e.i(985939),r=e.i(606811);let s=t.z.string(),l=t.z.object({id:(0,a.idSchema)("labelValue"),value:t.z.string()}),o=t.z.object({labelId:(0,a.idSchema)("label"),key:t.z.string(),valueId:(0,a.idSchema)("labelValue"),value:t.z.string()}),d=t.z.enum(["console","claudeCode","codex","trierarch","plugin","other"]),c=t.z.object({query:t.z.string().optional(),name:t.z.string().optional(),status:t.z.array(i.shipStatusSchema).optional(),type:t.z.array(t.z.string()).optional(),shipKind:t.z.array(i.shipKindSchema).optional(),crewRequest:t.z.array(n.crewRequestKeySchema).optional(),assignedTo:t.z.array((0,a.idSchema)("ship")).optional(),needsCrew:t.z.enum(["withTrierarchs","withoutTrierarchs"]).optional(),valueIds:t.z.array((0,a.idSchema)("labelValue")).optional(),shipIds:t.z.array((0,a.idSchema)("ship")).optional(),kind:t.z.array(d).optional(),pluginShipIds:t.z.array((0,a.idSchema)("ship")).optional()});t.z.object({filter:c.optional()}).optional(),t.z.object({status:t.z.array(i.shipStatusSchema).optional()}).optional(),t.z.array(t.z.string());let u=t.z.object({column:t.z.enum(["ship","status","report","runsOn","seen","requested"]),direction:t.z.enum(["ascending","descending"])}),m=t.z.object({isEmpty:t.z.boolean(),value:t.z.string(),name:t.z.string(),id:(0,a.idSchema)("ship")}),h=t.z.string().max(4096).transform(function(e){try{let t=atob(e.replaceAll("-","+").replaceAll("_","/"));return JSON.parse(new TextDecoder().decode(Uint8Array.from(t,e=>e.charCodeAt(0))))}catch{return}}).pipe(m);(0,r.pageInputOf)(h).extend({...c.shape,sort:u.optional()}).optional(),t.z.object({key:s,values:t.z.array(s)}),t.z.object({labelId:(0,a.idSchema)("label"),values:t.z.array(l)}),t.z.object({labelId:(0,a.idSchema)("label"),values:t.z.array(s)}),t.z.object({values:t.z.array(l)}),t.z.object({labelId:(0,a.idSchema)("label")}),t.z.object({key:s,value:s}),t.z.object({labelId:(0,a.idSchema)("label"),valueId:(0,a.idSchema)("labelValue")}),t.z.object({shipId:(0,a.idSchema)("ship"),valueId:(0,a.idSchema)("labelValue")}),t.z.object({});let p=t.z.discriminatedUnion("kind",[t.z.object({kind:t.z.literal("ship"),id:(0,a.idSchema)("ship"),name:t.z.string()}),t.z.object({kind:t.z.literal("installation")})]),z=t.z.object({id:(0,a.idSchema)("label"),key:t.z.string(),values:t.z.array(l),owner:p});t.z.array(z.extend({shipCount:t.z.int().min(0),values:t.z.array(l.extend({shipCount:t.z.int().min(0)}))})),e.s(["SHIP_LABELS_MAX",0,20,"carriedLabelSchema",0,o])},606811,e=>{"use strict";var t=e.i(681307),i=e.i(419413);e.s(["pageInputOf",0,function(e){return t.z.object({cursor:e.optional(),limit:t.z.int().min(1).max(i.PAGE_SIZE_MAX).optional()})},"pageOutputOf",0,function(e,i){return t.z.object({items:t.z.array(e),nextCursor:i.nullable()})}])},887851,e=>{"use strict";var t=e.i(843476),i=e.i(792150),a=e.i(24071),n=e.i(867927),r=e.i(566595),s=e.i(749287),l=e.i(586875),o=e.i(271645),d=e.i(965324),c=e.i(937338),u=e.i(212470);let m=[{value:"*",testId:"label-picker-any"},{value:"#",testId:"label-picker-same"}],h={"trierarch-plugin":l.ShipWheel,squadrons:i.Boxes,ship:s.Ship};function p(e,t){return`${String(e)} ${1===e?t:`${t}s`}`}e.s(["LabelPicker",0,function({groups:e,pickedValueIds:i,onPick:s,size:l="sm",pickedWord:z="Picked",countWord:b="ship",terms:g}){let[f,S]=(0,o.useState)(""),[v,y]=(0,o.useState)(void 0),j="touch"===l,k=(0,d.classNames)("flex w-full items-center gap-2 rounded-sm px-2 text-left hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50",j?"min-h-(--size-control-touch) text-body-touch":"h-(--size-control-sm) text-body");if(void 0!==v)return(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":"label-picker-values",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 px-1 pb-1",children:[(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 rounded-sm px-1 font-mono text-body hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring [&_svg]:size-(--size-icon-sm)",onClick:()=>{y(void 0)},"aria-label":`Back to the keys, from ${v.key}`,children:[(0,t.jsx)(a.ChevronLeft,{"aria-hidden":!0}),v.key,"="]}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground",children:["ship"===b?"Ships":"Machines"," with each"]})]}),(0,t.jsxs)("ul",{className:"flex flex-col",children:[void 0===g?null:m.map(({value:e,testId:i})=>{let a=g.picked.some(t=>t.labelId===v.labelId&&t.value===e);return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",className:k,disabled:a,"data-testid":i,onClick:()=>{g.onPick({labelId:v.labelId,value:e}),y(void 0),S("")},children:[(0,t.jsx)("span",{className:"w-3 shrink-0 font-mono",children:e}),(0,t.jsx)("span",{className:"min-w-0 grow truncate",children:c.TERM_MEANINGS[e]}),a?(0,t.jsx)("span",{className:"shrink-0 text-meta text-muted-foreground",children:z}):null]})},e)}),v.values.map(e=>{let a=i.includes(e.valueId);return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",className:k,disabled:a,"data-testid":"label-picker-value",onClick:()=>{s(e.valueId),y(void 0),S("")},children:[(0,t.jsx)("span",{className:"min-w-0 grow truncate font-mono",children:e.value}),(0,t.jsx)("span",{className:"shrink-0 text-meta text-muted-foreground tabular-nums",children:a?z:p(e.shipCount,b)})]})},e.valueId)})]})]});let w=f.trim().toLowerCase(),x=e.map(e=>({...e,keys:e.keys.filter(e=>""===w||e.key.includes(w))})).filter(e=>e.keys.length>0);return(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"label-picker",children:[(0,t.jsx)(u.Input,{type:"search","aria-label":"Find a key",placeholder:"Find a key",size:j?"touch":"md",leadingIcon:(0,t.jsx)(r.Search,{}),value:f,onChange:e=>{S(e.target.value)}}),0===x.length?(0,t.jsx)("p",{className:"px-2 py-3 text-meta text-muted-foreground",children:0===e.length?"The fleet has no labels yet.":`No key matches “${f.trim()}”.`}):x.map(e=>(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("span",{className:"px-2 pt-1 pb-0.5 text-caption text-muted-foreground",children:e.title}),(0,t.jsx)("ul",{className:"flex flex-col",children:e.keys.map(e=>{let i="none"===e.mark?null:h[e.mark];return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",className:(0,d.classNames)(k,"[&_svg]:size-(--size-icon-sm) [&_svg]:shrink-0 [&_svg]:text-muted-foreground"),"data-testid":"label-picker-key",onClick:()=>{y(e)},children:[null===i?null:(0,t.jsx)(i,{"aria-hidden":!0}),(0,t.jsx)("span",{className:"font-mono",children:e.key}),(0,t.jsx)("span",{className:"min-w-0 grow truncate text-meta text-muted-foreground",children:p(e.values.length,"value")}),(0,t.jsx)(n.ChevronRight,{"aria-hidden":!0})]})},e.labelId)})})]},e.title))]})}])},259068,function(e){e.n(e.i(887851))},937338,711514,e=>{"use strict";var t=e.i(681307),i=e.i(383615),a=e.i(347664),n=e.i(998648),r=e.i(606811);let s=t.z.union([(0,i.idSchema)("labelValue"),t.z.object({labelId:(0,i.idSchema)("label"),value:t.z.enum(["*","#"])}),t.z.object({owner:t.z.union([(0,i.idSchema)("ship"),t.z.enum(["*","#"])])})]);function l(e){return"string"!=typeof e&&"owner"in e}let o=t.z.array(s),d=["send","read","manage"],c=t.z.object({verb:t.z.enum(d),from:o,to:o}),u=t.z.array(c).nullable();t.z.object({rules:u}),t.z.object({savedAgainstVersion:t.z.int().min(0)}),t.z.object({version:t.z.int().min(0)}),t.z.object({applied:t.z.object({rules:u,version:t.z.int().min(0)}),draft:t.z.object({rules:u,savedAt:t.z.iso.datetime(),savedAgainstVersion:t.z.int().min(0)}).nullable()}),t.z.object({});let m=["argo","owner","answer","pluginRead","meeting","viewerRead","installation","open"];t.z.object({rule:t.z.enum(m),isOn:t.z.boolean()});let h=t.z.object({rule:t.z.enum(m),isOn:t.z.boolean()});t.z.array(h),t.z.object({version:t.z.int().min(0)}),t.z.object({rules:t.z.array(c)}),t.z.object({rules:t.z.int().min(0)});let p=t.z.discriminatedUnion("kind",[t.z.object({kind:t.z.literal("ship"),shipId:(0,i.idSchema)("ship")}),t.z.object({kind:t.z.literal("installation")})]);t.z.array(t.z.object({declarer:p,rules:t.z.array(c)}));let z=t.z.object({id:(0,i.idSchema)("ship"),name:t.z.string(),labels:t.z.array(n.carriedLabelSchema),owner:t.z.object({id:(0,i.idSchema)("ship"),name:t.z.string()}).nullable()}),b=t.z.discriminatedUnion("kind",[z.extend({kind:t.z.literal("ship")}),t.z.object({kind:t.z.literal("account"),accountId:a.accountIdSchema,labels:t.z.array(n.carriedLabelSchema),personShip:t.z.object({id:(0,i.idSchema)("ship"),name:t.z.string()}).nullable()}),t.z.object({kind:t.z.literal("installation")})]),g=t.z.object({id:(0,i.idSchema)("reachRefusal"),at:t.z.iso.datetime(),sender:b,askedBy:z.nullable(),recipient:t.z.discriminatedUnion("kind",[t.z.object({kind:t.z.literal("ship"),ship:z}),t.z.object({kind:t.z.literal("type"),type:t.z.string(),ships:t.z.array(z)})]),verb:t.z.enum(d),settingsVersion:t.z.int().min(1)});(0,r.pageInputOf)((0,i.idSchema)("reachRefusal")),(0,r.pageOutputOf)(g,(0,i.idSchema)("reachRefusal")),t.z.object({fromShipId:(0,i.idSchema)("ship"),toShipId:(0,i.idSchema)("ship").optional(),against:t.z.enum(["applied","draft"]).optional()});let f=t.z.union([t.z.object({builtIn:t.z.enum(m)}),t.z.object({rule:t.z.int().min(0)}),t.z.object({declared:p,index:t.z.int().min(0)})]),S=t.z.array(t.z.object({shipId:(0,i.idSchema)("ship"),rule:f}));t.z.object({send:S,read:S,manage:S});let v=t.z.array(t.z.object({fromShipId:(0,i.idSchema)("ship"),toShipId:(0,i.idSchema)("ship"),rule:f}));t.z.object({send:t.z.object({gained:v,lost:v}),read:t.z.object({gained:v,lost:v}),manage:t.z.object({gained:v,lost:v})}),e.s(["ANY_LABEL_VALUE",0,"*","NETWORK_VERBS",0,d,"SAME_LABEL_VALUE",0,"#","isOwnerTerm",0,l],711514);var y=e.i(280581);function j(e){return"all-to-all"===e.kind?null:e.rules.map(e=>({verb:e.verb,from:[...e.from],to:[...e.to]}))}function k(e,t){return"all-to-all"===e.kind?e:{kind:"rules",rules:e.rules.map(e=>e.key===t.key?t.change(e):e)}}function w(e,t){return x(e)===x(t)}function x(e){return"string"==typeof e?e:l(e)?`owner=${e.owner}`:`${e.labelId}=${e.value}`}function I(e,t){let i=e["from"===t?"to":"from"];return e[t].filter(e=>"string"!=typeof e&&!l(e)&&"#"===e.value&&!i.some(t=>w(t,e)))}function R(e,t){let i=e=>e.some(e=>l(e)&&"#"===e.owner);return i(e[t])&&!i(e["from"===t?"to":"from"])}e.s(["OWNER_TERM_MEANINGS",0,{"*":"Any owner","#":"The same owner as the other side"},"TERM_MEANINGS",0,{"*":"Any value","#":"The same value as the other side"},"VERB_WORDS",0,{send:"May send to",read:"May read",manage:"May manage"},"addRule",0,function(e,t){return"all-to-all"===e.kind||e.rules.length>=t.limits.rulesMax?e:{kind:"rules",rules:[...e.rules,{key:t.newKey(),verb:"send",from:[],to:[]}]}},"addTerm",0,function(e,t){return k(e,{key:t.rule,change:e=>{let i=e[t.side];return i.some(e=>w(e,t.term))||i.length>=t.limits.selectorMax?e:{...e,[t.side]:[...i,t.term]}}})},"draftOf",0,function(e,t){return null===e?{kind:"all-to-all"}:{kind:"rules",rules:e.map(e=>({key:t(),verb:e.verb,from:[...e.from],to:[...e.to]}))}},"hasSameValueOnOneSide",0,function(e){return"rules"===e.kind&&e.rules.some(e=>I(e,"from").length+I(e,"to").length>0||R(e,"from")||R(e,"to"))},"isChanged",0,function(e,t){return JSON.stringify(j(e))!==JSON.stringify(t)},"ownerChoicesOf",0,function(e){return e.ships.filter(e=>("operator"===e.kind||"person"===e.kind)&&"retired"!==e.status).map(e=>({shipId:e.id,name:e.name}))},"removeRule",0,function(e,t){return"all-to-all"===e.kind?e:{kind:"rules",rules:e.rules.filter(e=>e.key!==t)}},"removeTerm",0,function(e,t){return k(e,{key:t.rule,change:e=>({...e,[t.side]:e[t.side].filter(e=>!w(e,t.term))})})},"rulesOf",0,j,"sameValueProblemOf",0,function(e,t){let[i]=I(e,t.side);if(void 0===i)return R(e,t.side)?"owner=# needs owner=# on the other side: # matches the same owner there.":void 0;let a=t.context.labels.find(e=>e.id===i.labelId)?.key??i.labelId;return`${a}=# needs ${a}=# on the other side: # matches the same value there.`},"selectorOf",0,function(e,t){let i=[],a=[],n=[];for(let r of e){if(l(r)){let e=function(e,t){if("*"===e.owner||"#"===e.owner)return{term:e,text:`owner=${e.owner}`};let i=t.ships.find(t=>t.id===e.owner);return void 0===i?void 0:{term:e,text:`owner=${i.name}`}}(r,t);void 0===e?n.push(r):a.push(e);continue}let e=function(e,t){if("string"==typeof e){let[i]=(0,y.pickedChips)([e],t);return void 0===i?void 0:{labelId:i.labelId,key:i.key,value:i.value,mark:i.mark,ownerName:i.ownerName,term:e}}let i=t.labels.find(t=>t.id===e.labelId);if(void 0===i)return;let a=t.ownerOf.get(i.id);return{labelId:i.id,key:i.key,value:e.value,mark:a?.mark??"ship",ownerName:a?.name??(0,y.labelOwnerName)(i.owner),term:e}}(r,t);void 0===e?n.push(r):i.push(e)}return{chips:i,owners:a,unknown:n}},"setRulesOn",0,function(e,t){return t?"rules"===e.kind?e:{kind:"rules",rules:[]}:{kind:"all-to-all"}},"setVerb",0,function(e,t){return k(e,{key:t.rule,change:e=>({...e,verb:t.verb})})},"termKeyOf",0,x],937338)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,395530,e=>{"use strict";var t=e.i(271645),s=e.i(828918),r=e.i(838452),a=e.i(673553);e.s(["useCompositeItem",0,function(e={}){let{highlightItemOnHover:n,highlightedIndex:i,onHighlightedIndexChange:l}=(0,r.useCompositeRootContext)(),{ref:o,index:d}=(0,a.useCompositeListItem)(e),u=i===d,c=t.useRef(null),h=(0,s.useMergedRefs)(o,c);return{compositeProps:{tabIndex:u?0:-1,onFocus(){l(d)},onMouseMove(){let e=c.current;if(!n||!e)return;let t=e.hasAttribute("disabled")||"true"===e.ariaDisabled;u||t||e.focus()}},compositeRef:h,index:d}}])},53687,e=>{"use strict";var t=e.i(271645),s=e.i(388940),r=e.i(667865),a=e.i(146376),n=e.i(545356),i=e.i(843476);function l(){return new Map}function o(){return new Set}function d(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}e.s(["CompositeList",0,function(e){let{children:u,elementsRef:c,labelsRef:h,onMapChange:m}=e,f=(0,r.useStableCallback)(m),[,x]=t.useState(!1),p=(0,s.useRefWithInit)(o).current,g=(0,s.useRefWithInit)(l).current,b=t.useRef(0),y=t.useRef(!0),v=t.useRef(null),w=t.useRef(null),j=(0,r.useStableCallback)(()=>{y.current||(y.current=!0,x(e=>!e))}),N=(0,r.useStableCallback)((e,t)=>{g.set(e,t),j()}),S=(0,r.useStableCallback)(e=>{g.delete(e),j()}),k=(0,r.useStableCallback)(e=>{let t=new Map;return c.current.length=0,h&&(h.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),c.current[e.index]=e.element,h&&(h.current[e.index]=void 0!==e.registration.label?e.registration.label:e.registration.textRef?.current?.textContent??e.element.textContent)}),b.current=c.current.length,t}),C=(0,r.useStableCallback)(()=>{var e;let t,s,r,a,[n,i]=(e=g,t=new Set,s=[],r=[],e.forEach((e,a)=>{if(!a.isConnected)return;let n=e.index,i={index:n??-1,element:a,registration:e};null===n?r.push(i):n>=0&&(t.add(n),s.push(i))}),a=0,r.sort((e,t)=>d(e.element,t.element)),r.forEach(e=>{for(;t.has(a);)a+=1;e.index=a,s.push(e),a+=1}),t.size>0&&s.sort((e,t)=>e.index-t.index),[s,r.map(e=>e.element)]),l=k(n),o=v.current,u=!o||o.length!==n.length||n.some((e,t)=>{let s=o[t];return e.index!==s.index||e.element!==s.element||e.registration.index!==s.registration.index||e.registration.metadata!==s.registration.metadata});!function(e){if(w.current?.disconnect(),w.current=null,"function"!=typeof MutationObserver||e.length<2)return;let t=new MutationObserver(s=>{if(!function(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}(s))return;let r=null;for(let s of e)if(s.isConnected){if(r&&d(r,s)>0){t.disconnect(),j();return}r=s}});w.current=t;let s=new Set;for(let t=1;t<e.length;t+=1){let r=function(e,t){let s=e.parentElement;for(;s&&!s.contains(t);)s=s.parentElement;return s}(e[t-1],e[t]);r&&s.add(r)}s.forEach(e=>t.observe(e,{childList:!0}))}(i),v.current=n,y.current=!1,u&&(p.forEach(e=>e(l)),f(l))});(0,a.useIsoLayoutEffect)(()=>(!y.current&&v.current&&k(v.current),()=>{c.current=[],h&&(h.current=[])}),[c,h,k]),(0,a.useIsoLayoutEffect)(()=>{y.current&&C()}),(0,a.useIsoLayoutEffect)(()=>()=>{w.current?.disconnect(),y.current=!0},[]);let R=(0,r.useStableCallback)(e=>(p.add(e),()=>{p.delete(e)})),I=t.useMemo(()=>({register:N,unregister:S,subscribeMapChange:R,nextIndexRef:b}),[N,S,R,b]);return(0,i.jsx)(n.CompositeListContext.Provider,{value:I,children:u})}])},545356,e=>{"use strict";e.i(247167);var t=e.i(271645);let s=t.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});e.s(["CompositeListContext",0,s,"useCompositeListContext",0,function(){return t.useContext(s)}])},673553,e=>{"use strict";var t=e.i(271645),s=e.i(146376),r=e.i(545356);e.s(["useCompositeListItem",0,function(e={}){let{guess:a,label:n,metadata:i,textRef:l,index:o}=e,{register:d,unregister:u,subscribeMapChange:c,nextIndexRef:h}=(0,r.useCompositeListContext)(),m=t.useRef(-1),[f,x]=t.useState(null==o&&a?()=>{if(-1===m.current){let e=h.current;h.current+=1,m.current=e}return m.current}:-1),p=o??f,g=t.useRef(null),b=t.useCallback(e=>{let t=g.current;t&&u(t),g.current=e,e&&d(e,{metadata:i??null,index:o??null,label:n,textRef:l})},[o,d,u,i,n,l]);return(0,s.useIsoLayoutEffect)(()=>{if(null==o)return c(e=>{let t=g.current?e.get(g.current)?.index:null;null!=t&&x(t)})},[o,c]),{ref:b,index:p}}])},951437,e=>{"use strict";e.i(247167);var t=e.i(271645);e.s(["useControlled",0,function({controlled:e,default:s,name:r,state:a="value"}){let{current:n}=t.useRef(void 0!==e),[i,l]=t.useState(s),o=t.useCallback(e=>{n||l(e)},[]);return[n&&void 0!==e?e:i,o]}])},689664,e=>{"use strict";var t=e.i(456420);let s={name:"check",size:24,node:[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]};s.node;let r=(0,t.default)(s);e.s(["Check",0,r],689664)},24071,e=>{"use strict";var t=e.i(456420);let s={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};s.node;let r=(0,t.default)(s);e.s(["ChevronLeft",0,r],24071)},867927,e=>{"use strict";var t=e.i(456420);let s={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};s.node;let r=(0,t.default)(s);e.s(["ChevronRight",0,r],867927)},275043,446513,e=>{"use strict";var t=e.i(456420);let s={name:"circle-question-mark",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["help-circle","circle-help"]};s.node;let r=(0,t.default)(s);e.s(["default",0,r],275043);let a={name:"monitor",size:24,node:[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]};a.node;let n=(0,t.default)(a);e.s(["Monitor",0,n],446513)},77071,e=>{"use strict";var t=e.i(456420);let s={name:"plus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]};s.node;let r=(0,t.default)(s);e.s(["Plus",0,r],77071)},566595,e=>{"use strict";var t=e.i(456420);let s={name:"search",size:24,node:[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]};s.node;let r=(0,t.default)(s);e.s(["Search",0,r],566595)},819759,e=>{"use strict";var t=e.i(456420);let s={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"]};s.node;let r=(0,t.default)(s);e.s(["SquarePen",0,r],819759)},298260,e=>{"use strict";var t=e.i(843476),s=e.i(965324);e.s(["Kbd",0,function({className:e,...r}){return(0,t.jsx)("kbd",{"data-slot":"kbd",className:(0,s.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),...r})}])},638919,e=>{"use strict";var t=e.i(843476),s=e.i(353753),r=e.i(225913),a=e.i(560964),n=e.i(965324),i=e.i(574296);let l=(0,r.cva)("fixed z-50 flex flex-col bg-popover text-body text-popover-foreground shadow-lg outline-none duration-(--duration-slow) ease-(--ease-standard) data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",{variants:{side:{right:"inset-y-0 right-0 h-full w-full border-l border-border sm:max-w-(--size-sheet) motion-safe:data-open:slide-in-from-right motion-safe:data-closed:slide-out-to-right",bottom:"inset-x-0 bottom-0 max-h-[90dvh] rounded-t-2xl border-t border-border px-4 pt-2 pb-[max(calc(var(--spacing)*4),env(safe-area-inset-bottom))] motion-safe:data-open:slide-in-from-bottom motion-safe:data-closed:slide-out-to-bottom"}},defaultVariants:{side:"right"}});e.s(["Sheet",0,function(e){return(0,t.jsx)(s.Dialog.Root,{"data-slot":"sheet",...e})},"SheetBody",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"sheet-body",className:(0,n.classNames)("min-h-0 flex-1 overflow-y-auto in-data-[side=right]:p-6",e),...s})},"SheetClose",0,function(e){return(0,t.jsx)(s.Dialog.Close,{"data-slot":"sheet-close",...e})},"SheetContent",0,function({className:e,children:r,side:o="right",...d}){return(0,t.jsxs)(s.Dialog.Portal,{children:[(0,t.jsx)(s.Dialog.Backdrop,{"data-slot":"sheet-overlay",className:"fixed inset-0 z-50 bg-overlay duration-(--duration-slow) data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0"}),(0,t.jsxs)(s.Dialog.Popup,{"data-slot":"sheet-content","data-side":o,className:(0,n.classNames)(l({side:o}),e),...d,children:["bottom"===o?(0,t.jsx)("div",{"aria-hidden":!0,className:"mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-border"}):(0,t.jsx)(s.Dialog.Close,{"data-slot":"sheet-close",render:(0,t.jsx)(i.Button,{variant:"ghost",size:"sm",isIconOnly:!0,className:"absolute top-4 right-4","aria-label":"Close"}),children:(0,t.jsx)(a.XIcon,{})}),r]})]})},"SheetDescription",0,function({className:e,...r}){return(0,t.jsx)(s.Dialog.Description,{"data-slot":"sheet-description",className:(0,n.classNames)("text-meta text-muted-foreground",e),...r})},"SheetFooter",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"sheet-footer",className:(0,n.classNames)("flex flex-col-reverse gap-2 pt-3 in-data-[side=right]:flex-row in-data-[side=right]:justify-end in-data-[side=right]:border-t in-data-[side=right]:px-6 in-data-[side=right]:py-4",e),...s})},"SheetHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,n.classNames)("flex flex-col gap-0.5 in-data-[side=right]:border-b in-data-[side=right]:px-6 in-data-[side=right]:py-5 in-data-[side=right]:pr-14",e),...s})},"SheetTitle",0,function({className:e,...r}){return(0,t.jsx)(s.Dialog.Title,{"data-slot":"sheet-title",className:(0,n.classNames)("text-heading font-semibold text-foreground in-data-[side=bottom]:py-2 in-data-[side=bottom]:text-section",e),...r})},"SheetTrigger",0,function(e){return(0,t.jsx)(s.Dialog.Trigger,{"data-slot":"sheet-trigger",...e})}])},791727,e=>{"use strict";var t=e.i(843476),s=e.i(965324);e.s(["Label",0,function({className:e,htmlFor:r,...a}){return(0,t.jsx)("label",{"data-slot":"label",htmlFor:r,className:(0,s.classNames)("text-body font-medium text-foreground select-none",e),...a})}])},219321,e=>{"use strict";var t=e.i(843476),s=e.i(965324);e.s(["Skeleton",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"skeleton","aria-hidden":!0,className:(0,s.classNames)("animate-pulse rounded-sm bg-secondary [animation-duration:var(--duration-pulse)] motion-reduce:animate-none",e),...r})}])},67874,e=>{"use strict";var t=e.i(843476),s=e.i(965324);e.s(["EmptyState",0,function({title:e,description:r,icon:a,action:n,variant:i="page",className:l}){return"section"===i?(0,t.jsxs)("p",{"data-slot":"empty-state","data-variant":i,className:(0,s.classNames)("rounded-lg border border-border px-4 py-3 text-center text-meta text-muted-foreground",l),children:[e,r?(0,t.jsxs)(t.Fragment,{children:[" ",r]}):null]}):"no-results"===i?(0,t.jsxs)("div",{"data-slot":"empty-state","data-variant":i,className:(0,s.classNames)("flex flex-col items-center gap-2.5 rounded-lg border border-border bg-card px-4 py-6 text-center",l),children:[(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:e}),n]}):(0,t.jsxs)("div",{"data-slot":"empty-state","data-variant":i,className:(0,s.classNames)("flex flex-col items-center gap-3 rounded-lg border border-dashed border-border bg-card px-6 py-10 text-center",l),children:[a?(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:a}):null,(0,t.jsx)("h2",{className:"text-heading font-semibold text-foreground max-sm:text-heading-touch",children:e}),r?(0,t.jsx)("p",{className:"max-w-96 text-meta text-muted-foreground max-sm:text-body-touch",children:r}):null,n?(0,t.jsx)("div",{className:"mt-1 max-sm:w-full max-sm:[&>*]:w-full",children:n}):null]})}])},188393,e=>{"use strict";var t=e.i(843476),s=e.i(965324),r=e.i(219321);function a(e){return Array.from({length:e},(e,t)=>`row-${String(t)}`)}e.s(["LoadingSkeleton",0,function({variant:e,rows:n=4,label:i="Loading",className:l}){return(0,t.jsxs)("div",{role:"status","data-slot":"loading-skeleton","data-variant":e,className:(0,s.classNames)("w-full",l),children:[(0,t.jsx)("span",{className:"sr-only",children:i}),"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"}),a(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)(r.Skeleton,{className:"h-2.5 w-24"}),(0,t.jsx)(r.Skeleton,{className:"h-5 w-16"}),(0,t.jsx)(r.Skeleton,{className:"h-5 w-20"}),(0,t.jsx)(r.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:a(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)(r.Skeleton,{className:"h-2.5 w-20"}),(0,t.jsx)(r.Skeleton,{className:"h-6 w-10"}),(0,t.jsx)(r.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)(r.Skeleton,{className:"h-7 w-48"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(r.Skeleton,{className:"h-5 w-20"}),(0,t.jsx)(r.Skeleton,{className:"h-5 w-16"})]}),(0,t.jsx)(r.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:a(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)(r.Skeleton,{className:"h-3 w-28"}),(0,t.jsx)(r.Skeleton,{className:"h-5 w-16"})]}),(0,t.jsx)(r.Skeleton,{className:"h-2.5 w-44"})]},e))}):null]})}])},577880,485538,e=>{"use strict";var t=e.i(843476),s=e.i(566595),r=e.i(374368),a=e.i(574296),n=e.i(298260),i=e.i(704974),l=e.i(965324);function o({switcher:e,account:d,onSearch:u,searchLabel:c="Search or jump to",children:h,actions:m,className:f}){return(0,t.jsxs)("header",{"data-slot":"app-header",className:(0,l.classNames)("sticky top-0 z-30 flex h-(--size-header) shrink-0 items-center justify-between gap-4 border-b border-border bg-background px-6",f),children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[void 0===e?(0,t.jsx)("span",{"data-testid":"app-switcher-loading","aria-hidden":!0,className:"h-4 w-36 shrink-0 animate-pulse rounded bg-muted motion-reduce:animate-none"}):(0,t.jsx)(r.AppSwitcher,{switcher:e,layout:"full",className:"shrink-0"}),h]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-3",children:[m,u?(0,t.jsxs)(a.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 max-lg:w-auto",onClick:u,children:[(0,t.jsx)("span",{className:"grow text-left max-lg:sr-only",children:c}),(0,t.jsx)(n.Kbd,{children:"⌘K"})]}):null,(0,t.jsx)(i.AvatarMenu,{...d})]})]})}var d=e.i(867927),u=e.i(819759),c=e.i(522016);let h={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 m({state:e,className:s}){let{label:r,dot:a}=h[e];return(0,t.jsxs)("span",{"data-slot":"live-status","data-state":e,"aria-live":"polite",className:(0,l.classNames)("inline-flex items-center gap-1.5 text-meta text-muted-foreground",s),children:[(0,t.jsx)("span",{"aria-hidden":!0,className:(0,l.classNames)("size-2 shrink-0 rounded-full",a)}),r]})}e.s(["Header",0,function({breadcrumb:e,parents:s=[],live:r,switcher:n,account:i,onCompose:l,onSearch:h}){return(0,t.jsxs)(o,{switcher:n,account:i,onSearch:h,searchLabel:"Search ships or jump to",className:"hidden sm:flex",actions:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m,{state:r}),l?(0,t.jsx)(a.Button,{size:"sm",icon:(0,t.jsx)(u.SquarePen,{"aria-hidden":!0}),"data-testid":"header-compose",onClick:l,children:"Compose"}):null]}),children:[(0,t.jsx)(d.ChevronRight,{"aria-hidden":!0,className:"size-3.5 shrink-0 text-muted-foreground"}),(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:[s.map(e=>(0,t.jsxs)("li",{className:"flex shrink-0 items-center gap-1.5",children:[(0,t.jsx)(c.default,{href:e.href,className:"text-muted-foreground hover:text-foreground hover:underline",children:e.label}),(0,t.jsx)(d.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})]})})]})}],577880);var f=e.i(24071);e.s(["TopBar",0,function({title:e,live:n,actions:l,back:o,switcher:d,account:u,onSearch:h}){let x=h&&!o?h:void 0;return(0,t.jsxs)("header",{"data-slot":"top-bar","data-mode":o?"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:[o?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(c.default,{href:o.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)(f.ChevronLeft,{"aria-hidden":!0}),o.label]}),(0,t.jsx)("p",{className:"min-w-0 flex-1 truncate text-center text-body-touch font-semibold text-foreground",children:e})]}):d?(0,t.jsx)(r.AppSwitcher,{switcher:d,layout:"compact",className:"min-w-0"}):(0,t.jsx)("p",{className:"truncate px-1.5 text-title-touch font-semibold text-foreground",children:"Console"}),(0,t.jsx)(m,{state:n}),l||x||u&&!o?(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[x?(0,t.jsx)(a.Button,{variant:"ghost",size:"touch",isIconOnly:!0,"aria-label":"Search ships or jump to","data-testid":"top-bar-search",onClick:x,children:(0,t.jsx)(s.Search,{"aria-hidden":!0})}):null,l,u&&!o?(0,t.jsx)(i.AvatarMenuSheet,{...u}):null]}):null]})}],485538)},718423,e=>{"use strict";var t=e.i(912598),s=e.i(905861),r=e.i(271645),a=e.i(586413),n=e.i(123938),i=e.i(427702);let l=new Set(["FleetInitialised","ShipCommissioned","ShipClaimed","LeaseRevoked","CredentialRevoked","StartingPromptIssued","ShipRetired","DeliveryAcknowledged","DeliveryUndeliverable","ShipReported","CrewRequested","CrewRequestRemoved","CrewAssigned","CrewStatusChanged","CrewRequestExplained","CrewRequestGivenBack","LabelAssigned","LabelUnassigned","LabelRetired"]);function o(e,t){return e.pages.some(e=>e.items.some(e=>e.id===t))}let d=new Set(["LabelDefined","LabelValuesChanged","LabelRetired","LabelAssigned","LabelUnassigned","LabelDeleted"]),u=new Set(["FleetSealingTurnedOn","FleetPayloadsSealed","FleetDataKeyCreated","FleetCompanyKeyChanged","FleetRecoveryKeyChanged","FleetKeysRecovered","FleetKeyUnavailable","FleetKeyAvailable"]),c=new Set(["FeatureFlagTurnedOn","FeatureFlagTurnedOff"]),h=new Set(["DeliveryUndeliverable","DeliveryNotHandled","DeliveryDismissed"]),m=new Set(["NetworkRulesSet","NetworkRulesDraftSaved","NetworkRulesDraftDiscarded","NetworkRulesDeclared","BuiltInRuleChanged"]);e.s(["useLiveFleet",0,function(){let e=(0,i.useTRPC)(),f=(0,t.useQueryClient)(),[x,p]=(0,r.useState)(new Set),g=(0,n.useIsReopening)(),[b]=(0,r.useState)(()=>{let t,s,r,n;return function(e){var t;let s,r,n,{trpc:i,queryClient:f,reload:x}=e,p=[...i.fleet.list.infiniteQueryKey()],g=()=>f.getQueriesData({queryKey:p}).flatMap(([,e])=>void 0===e?[]:[e]),b=(t={readRow:e=>f.query({...i.fleet.listedShip.queryOptions({shipId:e}),staleTime:0}),writeRow:t=>{let s=g().some(e=>!o(e,t.id));f.setQueriesData({queryKey:p},e=>e&&function(e,t){if(o(e,t.id))return{...e,pages:e.pages.map(e=>{var s;return{...e,items:(s=e.items,s.map(e=>e.id===t.id?t:e))}})};let[s,...r]=e.pages;return void 0===s?e:{...e,pages:[{...s,items:[t,...s.items]},...r]}}(e,t)),s&&e.onPlacedFirst(t.id)}},s=new Set,r=new Set,n=async e=>{s.add(e);try{do r.delete(e),t.writeRow(await t.readRow(e));while(r.has(e))}catch{}finally{s.delete(e),r.delete(e)}},e=>{s.has(e)?r.add(e):n(e)}),y=()=>{x(i.fleet.stuckCount.queryKey()),x(i.fleet.stuckSummary.queryKey()),x(i.fleet.stuck.pathKey())};return e=>{var t,s,r,n,o,f,p;if("resync"===e.kind){x(i.fleet.pathKey()),x(a.INBOX_KEY);return}let{event:v}=e;for(let e of new Set([v.shipId,v.actorShipId]))null!==e&&(x(i.fleet.ship.queryKey({shipId:e})),x(i.fleet.shipTimeline.infiniteQueryKey({shipId:e})),x(i.fleet.shipWay.queryKey({shipId:e})));if(null!==v.messageId&&(x(i.fleet.shipMessages.pathKey()),x(i.fleet.shipWay.pathKey()),x(i.fleet.message.queryKey({messageId:v.messageId})),x(i.fleet.messageDeliveries.infiniteQueryKey({messageId:v.messageId})),x(i.fleet.inbox.pathKey()),x(i.fleet.inboxCount.queryKey()),x(a.INBOX_KEY),y()),"DeliveryAcknowledged"===v.type&&x(i.fleet.acknowledged.queryKey()),t=v.type,h.has(t)&&x(i.fleet.needsAttention.pathKey()),s=v.type,d.has(s)&&x(i.fleet.labels.queryKey()),r=v.type,u.has(r)&&x(i.fleet.sealing.queryKey()),n=v.type,c.has(n)&&x(i.console.session.queryKey()),"NetworkRulesDeclared"===v.type&&x(i.fleet.declaredNetworkRules.queryKey()),("BuiltInRuleChanged"===(o=v.type)||"NetworkRulesSet"===o)&&x(i.fleet.builtInRules.queryKey()),f=v.type,m.has(f)&&(x(i.fleet.networkRules.queryKey()),x(i.fleet.networkRulesDraftChanges.queryKey()),x(i.fleet.explainReach.pathKey())),p=v.type,l.has(p)){if(g().length>0)for(let e of new Set([v.shipId,v.actorShipId]))null!==e&&b(e);x(i.fleet.shipCounts.pathKey()),y()}}}({trpc:e,queryClient:f,reload:(t=new Set,s=new Set,r=e=>f.invalidateQueries({queryKey:e,exact:!0},{cancelRefetch:!1}),n=async e=>{t.add(e.queryHash);let a=e.isBehind;try{for(await r(e.queryKey);a||s.delete(e.queryHash);)a=!1,await r(e.queryKey)}finally{t.delete(e.queryHash)}},e=>{for(let r of f.getQueryCache().findAll({queryKey:e}))t.has(r.queryHash)?s.add(r.queryHash):n({queryHash:r.queryHash,queryKey:r.queryKey,isBehind:"fetching"===r.state.fetchStatus})}),onPlacedFirst:e=>{p(t=>new Set([...t,e]))}})}),y=(0,s.useSubscription)(e.fleet.events.subscriptionOptions({lastEventId:null},{onData:({data:e})=>{b(e)}}));return{live:"connecting"===y.status&&g?"live":function(e){switch(e){case"pending":return"live";case"connecting":return"reconnecting";case"idle":case"error":return"offline"}}(y.status),placedFirstShipIds:x,error:y.error}}])},928459,415168,e=>{"use strict";var t=e.i(621482),s=e.i(954616),r=e.i(912598),a=e.i(731877),n=e.i(427702);function i(e){return e.map(({valueId:e,key:t,value:s})=>null===t||null===s?e:`${t}=${s}`).join(" and ")}function l(e){switch(e.kind){case"type":return`any ship of type ${e.type}`;case"meeting":return`every other participant of meeting ${e.meetingId}`;case"label":return`every ship carrying ${i(e.values)}`}}function o(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.`}e.s(["labelSelectionWords",0,i,"recipientGroupWords",0,l],415168);let d="Acknowledged, then its turn died; handed once more, and that turn died too: not handled.";function u(){let e=(0,n.useTRPC)(),t=(0,r.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 o(e);case"notHandled":return null===e.reason?d:`${d} 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:l(t)}(e)}. The original is dismissed.`}},"undeliverableReason",0,o,"useDismissDelivery",0,function(){let e=(0,n.useTRPC)(),t=u();return(0,s.useMutation)(e.fleet.dismiss.mutationOptions({onSuccess:t}))},"useNeedsAttention",0,function(e={}){let s=(0,n.useTRPC)();return(0,a.pagedListOf)((0,t.useInfiniteQuery)(s.fleet.needsAttention.infiniteQueryOptions({...e,limit:a.CONSOLE_PAGE_SIZE},{getNextPageParam:a.nextCursorOf})))},"useResendDelivery",0,function(){let e=(0,n.useTRPC)(),t=u();return(0,s.useMutation)(e.fleet.resend.mutationOptions({onSuccess:t}))}],928459)},818310,351588,e=>{"use strict";function t(e){let t=/^github\.com\/([^/]+\/[^/]+)$/.exec(e);return t?.[1]===void 0?{label:e,isGitHub:!1}:{label:t[1],isGitHub:!0}}function s(e,t){let s=new Map;for(let{name:r,version:a}of e.filter(e=>e.repository===t))s.set(r,[...s.get(r)??[],a]);return[...s].map(([e,t])=>({name:e,versions:t.toSorted((e,t)=>e-t)})).toSorted((e,t)=>e.name.localeCompare(t.name))}e.s(["leftOutLabel",0,function(e){let{kind:t,name:s,version:r}=e;return"blueprint"===t?`blueprint ${s} v${String(r)}`:`${t} ${s}@${String(r)}`},"repositoryContents",0,function(e,t){return{templates:s(e.templates,t),blueprints:s(e.blueprints,t),leftOut:e.problems.filter(e=>e.repository===t)}},"repositoryLabel",0,t,"versionFileUrl",0,function(e){let{label:s,isGitHub:r}=t(e.repository);return r?`https://github.com/${s}/blob/${e.commit}/${encodeURI(e.file)}`:void 0}],818310);var r=e.i(843476),a=e.i(456420);let n={name:"folder-git-2",size:24,node:[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]};n.node;let i=(0,a.default)(n);function l(){return(0,r.jsx)("svg",{"aria-hidden":!0,viewBox:"0 0 16 16",fill:"currentColor",className:"size-(--size-icon-sm) shrink-0",children:(0,r.jsx)("path",{d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"})})}e.s(["RepositoryName",0,function({name:e,href:s}){let{label:a,isGitHub:n}=t(e),o=(0,r.jsxs)(r.Fragment,{children:[n?(0,r.jsx)(l,{}):(0,r.jsx)(i,{"aria-hidden":!0,className:"size-(--size-icon-sm) shrink-0 text-muted-foreground"}),(0,r.jsx)("span",{className:"truncate",children:a})]}),d="inline-flex min-w-0 items-center gap-1.5 font-medium";return void 0===s?(0,r.jsx)("span",{title:e,className:d,children:o}):(0,r.jsx)("a",{href:s,target:"_blank",rel:"noreferrer",title:e,className:`${d} hover:underline`,children:o})}],351588)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,288882,t=>{t.v(s=>Promise.all(["static/chunks/2nv0yg_t-0e_v.js","static/chunks/05q5fopmtrwk-.js"].map(s=>t.l(s))).then(()=>s(628136)))}]);
@@ -1,2 +1,2 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,313260,e=>{"use strict";var t=e.i(843476),r=e.i(407921),a=e.i(618566),s=e.i(271645),i=e.i(341880),n=e.i(67874),l=e.i(817981),d=e.i(188393),o=e.i(806537),c=e.i(766390),u=e.i(975867);let h={argo:"You turn it on or off.",rules:"Applying rules turns it off; applying none turns it on again."};function p({rows:e,error:r,onRetry:a,isTurning:s,turnError:i,onViewerReadChange:n}){let m;return m=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read the built-in rules",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"list",rows:3,label:"Loading the built-in rules"}):(0,t.jsx)("ul",{className:"flex flex-col divide-y divide-border",children:e.map(e=>(0,t.jsxs)("li",{"data-testid":"network-built-in-rule",className:"flex items-start justify-between gap-3 py-2 first:pt-0 last:pb-0",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"text-body font-medium","data-testid":"network-built-in-rule-name",children:e.name}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground",children:[e.meaning," ","never"===e.turnedBy?null:h[e.turnedBy]]})]}),"argo"===e.turnedBy?(0,t.jsx)(u.Switch,{checked:e.isOn,disabled:s,"aria-label":`${e.name}: ${e.isOn?"on":"off"}`,"data-testid":"network-built-in-viewer-read",onCheckedChange:e=>{n(e)}}):(0,t.jsx)(c.Badge,{variant:"outline","data-testid":"network-built-in-rule-state",children:"never"===e.turnedBy?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.Lock,{"aria-hidden":!0}),"Never off"]}):e.isOn?"On":"Off"})]},e.key))}),(0,t.jsxs)("section",{"aria-labelledby":"network-built-in","data-testid":"network-built-in",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-built-in",className:"text-body font-semibold",children:"Built-in rules"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"The fleet’s own rules, beside yours and the declared ones. They hold before any rule below."}),m,void 0===i?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t turn the viewer reading",description:i})]})}var m=e.i(768877),x=e.i(422768),f=e.i(937338),g=e.i(695960);let y=[{side:"from",label:"From ships with"},{side:"to",label:"To ships with"}];function b({declared:e,error:r,onRetry:a,context:s}){let i;return i=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read the declared rules",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"list",rows:2,label:"Loading the declared rules"}):0===e.length?(0,t.jsx)(n.EmptyState,{variant:"section",title:"Nothing declares rules."}):(0,t.jsx)("ul",{className:"flex flex-col gap-3",children:e.map(e=>(0,t.jsxs)("li",{"data-testid":"network-declared-plugin",className:"flex flex-col gap-2",children:[(0,t.jsxs)("h3",{className:"text-meta font-medium","data-testid":"network-declared-by",children:["Declared by ",e.declaredBy]}),(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:e.rules.map(e=>(0,t.jsx)("li",{"data-testid":"network-declared-rule",className:"flex flex-col gap-2 rounded-md border border-border p-3 sm:flex-row sm:items-start sm:gap-3",children:y.map(({side:r,label:a})=>(0,t.jsxs)("div",{className:"flex min-w-0 grow basis-0 items-start gap-3",children:["to"===r?(0,t.jsx)("span",{className:"mt-6 shrink-0 text-meta text-muted-foreground","data-testid":"network-declared-rule-verb",children:f.VERB_WORDS[e.verb]}):null,"to"===r?(0,t.jsx)(m.ArrowRight,{"aria-hidden":!0,className:"mt-6 hidden size-(--size-icon) shrink-0 text-muted-foreground sm:block"}):null,(0,t.jsx)(v,{label:a,terms:e[r],context:s,testId:`network-declared-rule-${r}`})]},r))},JSON.stringify(e)))})]},e.declarerId))}),(0,t.jsxs)("section",{"aria-labelledby":"network-declared","data-testid":"network-declared",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-declared",className:"text-body font-semibold",children:"Declared by plugins and the installation"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Rules plugins and the installation need on the labels they own. The networking plugin adds them to your rules; while every ship may message every ship, they change nothing. Only their declarer changes them, and switching a plugin off withdraws its rules."}),i]})}function v({label:e,terms:r,context:a,testId:i}){let{chips:n,unknown:l}=(0,f.selectorOf)(r,a);return(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":i,children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[n.length+l.length===0?(0,t.jsx)("span",{className:"text-body",children:"Every ship"}):null,n.map((e,r)=>(0,t.jsxs)(s.Fragment,{children:[0===r?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(g.LabelChip,{chip:e,testId:`${i}-value`,..."string"==typeof e.term?{}:{meaning:f.TERM_MEANINGS[e.term.value]}})]},(0,f.termKeyOf)(e.term))),l.map(e=>(0,t.jsxs)("span",{"data-testid":`${i}-unknown`,title:`${(0,f.termKeyOf)(e)}: no longer in this fleet`,className:"inline-flex h-5.5 items-center gap-1 rounded-sm border border-tone-attention-border bg-tone-attention-bg px-1.5 text-id text-tone-attention-fg [&_svg]:size-3",children:[(0,t.jsx)(x.CircleAlert,{"aria-hidden":!0}),"A removed label"]},(0,f.termKeyOf)(e)))]})]})}var w=e.i(847211),j=e.i(689664),k=e.i(456420);let N={name:"crosshair",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]};N.node;let C=(0,k.default)(N);var R=e.i(566595),S=e.i(574296),O=e.i(965324);function $(e){return e.send.map(e=>e.shipId)}let I=-Math.PI/2,T=2*Math.PI;function E(e){return e.filter(e=>"retired"!==e.status&&"viewer"!==e.kind).map(e=>({id:e.id,name:e.name,isOperator:"operator"===e.kind})).sort((e,t)=>Number(t.isOperator)-Number(e.isOperator)||e.name.localeCompare(t.name))}function A(e){return Math.round(100*e)/100}var B=e.i(133173),L=e.i(60592),P=e.i(165160);let D=["applied","draft"],M={picked:"picked",reached:"may be messaged",unreached:"out of reach"};function V({ships:e,search:r,sailingShipCount:a,pickedShipId:s,reachableShipIds:i,reachError:n,onPick:d,onRetry:o,against:c="applied",onAgainstChange:u}){var h;let p=(h=void 0===s?void 0:{pickedShipId:s,reachableShipIds:void 0===n?i:void 0},e.map((t,r)=>{var a,s;let i=I+T*r/e.length,n=1===e.length;return{ship:t,x:n?50:A(50+38*Math.cos(i)),y:n?50:A(50+38*Math.sin(i)),mark:(a=t.id,void 0===(s=h)?"none":a===s.pickedShipId?"picked":void 0===s.reachableShipIds?"none":s.reachableShipIds.includes(a)?"reached":"unreached")}})),m=p.find(e=>"picked"===e.mark),x=p.filter(e=>"reached"===e.mark);return(0,t.jsxs)("section",{"aria-labelledby":"network-reach","data-testid":"network-reach",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-reach",className:"text-body font-semibold",children:"Reach"}),(0,t.jsxs)("p",{className:"text-meta text-muted-foreground",children:["draft"===c?"The fleet as the draft would leave it once applied: pick a ship to see which ships the draft lets it message.":"The fleet as it stands now: pick a ship to see which ships the rules let it message."," ","Argo reaches every ship, and every ship reaches argo."]}),void 0===u?null:(0,t.jsx)(L.Tabs,{value:c,onValueChange:e=>{let t=D.find(t=>t===e);void 0!==t&&u(t)},children:(0,t.jsxs)(L.TabsList,{"aria-label":"Explain reach against",children:[(0,t.jsx)(L.TabsTrigger,{value:"applied","data-testid":"network-reach-applied",children:"Applied rules"}),(0,t.jsx)(L.TabsTrigger,{value:"draft","data-testid":"network-reach-draft",children:"Draft"})]})}),void 0===r?null:(0,t.jsx)(B.Combobox,{options:r.ships.map(e=>({value:e.id,label:e.name})),value:null,onValueChange:e=>{let t=r.ships.find(t=>t.id===e);void 0!==t&&d(t.id)},toQuery:P.asHandle,onQueryChange:r.onQueryChange,groupLabel:"Ships",emptyText:e=>`No ship matches "${e}". Retired ships are not listed.`,leadingIcon:(0,t.jsx)(R.Search,{}),placeholder:"Find a ship to pick","aria-label":"Find a ship to pick","data-testid":"network-reach-search"}),(0,t.jsxs)("div",{className:"relative flex flex-wrap gap-2 md:mx-auto md:block md:aspect-square md:w-full md:max-w-xl","data-testid":"network-reach-graph",children:[void 0===m?null:(0,t.jsx)("svg",{"aria-hidden":!0,viewBox:"0 0 100 100",preserveAspectRatio:"none",className:"pointer-events-none absolute inset-0 hidden size-full md:block",children:x.map(e=>(0,t.jsx)("line",{x1:m.x,y1:m.y,x2:e.x,y2:e.y,vectorEffect:"non-scaling-stroke",className:"stroke-muted-foreground",strokeWidth:1.5},e.ship.id))}),p.map(e=>(0,t.jsx)(F,{node:e,onPick:()=>{d("picked"===e.mark?void 0:e.ship.id)}},e.ship.id))]}),void 0===n?(0,t.jsx)("p",{className:"text-body",role:"status","data-testid":"network-reach-summary",children:function(e,t=e.length){let r=e.find(e=>"picked"===e.mark);if(void 0===r)return"Pick a ship to see which ships it may message.";let a=Math.max(t,e.length)-1,s=e.filter(e=>"reached"===e.mark).map(e=>e.ship.name);return e.every(e=>"picked"===e.mark||"none"===e.mark)?0===a?`${r.ship.name} is the only ship of the fleet.`:`Finding the ships ${r.ship.name} may message…`:s.length===a?`${r.ship.name} may message every other ship (${String(a)}).`:0===s.length?`${r.ship.name} may message no other ship.`:`${r.ship.name} may message ${String(s.length)} of ${String(a)} ships: ${s.join(", ")}.`}(p,a)}):(0,t.jsx)(l.InlineError,{title:"Couldn’t explain this ship’s reach",description:n,onRetry:o})]})}function F({node:e,onPick:r}){let{ship:a,mark:s}=e;return(0,t.jsx)(S.Button,{size:"sm",variant:"secondary","aria-pressed":"picked"===s,"aria-label":"none"===s?a.name:`${a.name}, ${M[s]}`,icon:function(e){switch(e){case"picked":return(0,t.jsx)(C,{"aria-hidden":!0});case"reached":return(0,t.jsx)(j.Check,{"aria-hidden":!0});case"unreached":return(0,t.jsx)(w.Ban,{"aria-hidden":!0});case"none":return}}(s),"data-testid":"network-reach-ship","data-mark":s,style:{left:`${String(e.x)}%`,top:`${String(e.y)}%`},className:(0,O.classNames)("md:absolute md:-translate-x-1/2 md:-translate-y-1/2","picked"===s&&"bg-accent ring-2 ring-ring","unreached"===s&&"opacity-45"),onClick:r,children:a.name})}var z=e.i(424010),K=e.i(746675);let Q={apply:{title:"Apply the draft?",description:"Every send, read and manage is checked against the draft from now on, and the rules before it are gone.",action:"Apply draft"},discard:{title:"Discard the draft?",description:"The draft is gone; the applied rules stay as they are.",action:"Discard draft"}};function _({draft:e,appliedVersion:r,isApplying:a,applyError:i,onApply:n,isDiscarding:d,discardError:o,onDiscard:c}){let[u,h]=(0,s.useState)(null),p=a||d;return(0,t.jsxs)("section",{"aria-labelledby":"network-rules-apply","data-testid":"network-rules-apply",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules-apply",className:"text-body font-semibold",children:"Apply"}),null===e?(0,t.jsx)("p",{className:"text-meta text-muted-foreground","data-testid":"network-rules-apply-state",children:"No draft: the applied rules are the ones above. Save a draft to apply it."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"text-body","data-testid":"network-rules-apply-state",children:["A draft is saved. Every send, read and manage is checked against the applied rules, at version ",r,", until it is applied."]}),e.savedAgainstVersion===r?null:(0,t.jsxs)("p",{className:"text-meta text-muted-foreground","data-testid":"network-rules-apply-moved",children:["The settings moved from version ",e.savedAgainstVersion," since the draft was saved."]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(S.Button,{variant:"primary",isLoading:a,disabled:d,"data-testid":"network-rules-apply-open",onClick:()=>{h("apply")},children:"Apply draft"}),(0,t.jsx)(S.Button,{variant:"ghost",isLoading:d,disabled:a,"data-testid":"network-rules-discard-open",onClick:()=>{h("discard")},children:"Discard draft"})]})]}),void 0===i?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t apply the draft",description:i}),void 0===o?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t discard the draft",description:o}),(0,t.jsx)(z.AlertDialog,{open:null!==u,onOpenChange:e=>{e||p||h(null)},children:null===u?null:(0,t.jsxs)(z.AlertDialogContent,{"data-testid":`network-rules-${u}-dialog`,className:K.dialogSurface.phoneSheet,children:[(0,t.jsxs)(z.AlertDialogHeader,{children:[(0,t.jsx)(z.AlertDialogTitle,{children:Q[u].title}),(0,t.jsx)(z.AlertDialogDescription,{children:Q[u].description})]}),(0,t.jsxs)(z.AlertDialogFooter,{children:[(0,t.jsx)(z.AlertDialogClose,{render:(0,t.jsx)(S.Button,{disabled:p}),children:"Cancel"}),(0,t.jsx)(S.Button,{variant:"apply"===u?"primary":"destructive",isLoading:p,"data-testid":`network-rules-${u}-confirm`,onClick:()=>{h(null),"apply"===u?n():c()},children:Q[u].action})]})]})})]})}var q=e.i(711514);let U={argo:"argo",owner:"Owner",answer:"Answer",pluginRead:"Connected plugins read",meeting:"Meeting",viewerRead:"Viewer reads",installation:"Installation manages",open:"Open"};function W(e){switch(e.rule){case"argo":return{key:e.rule,name:U[e.rule],meaning:"argo sends to, reads and manages every ship, and every ship reaches argo.",isOn:e.isOn,turnedBy:"never"};case"owner":return{key:e.rule,name:U[e.rule],meaning:"A ship’s owner sends to, reads and manages the ships it owns.",isOn:e.isOn,turnedBy:"never"};case"answer":return{key:e.rule,name:U[e.rule],meaning:"A ship may always answer the sender of a message it received.",isOn:e.isOn,turnedBy:"never"};case"pluginRead":return{key:e.rule,name:U[e.rule],meaning:"A plugin argo connected reads every ship, whatever the rules.",isOn:e.isOn,turnedBy:"never"};case"meeting":return{key:e.rule,name:U[e.rule],meaning:"The participants of a meeting reach each other in it, whatever the rules: its owner reached each when it joined.",isOn:e.isOn,turnedBy:"never"};case"viewerRead":return{key:e.rule,name:U[e.rule],meaning:"The viewer reads every ship.",isOn:e.isOn,turnedBy:"argo"};case"installation":return{key:e.rule,name:U[e.rule],meaning:"The installation manages person ships and the ships they own, so a leaver is always released.",isOn:e.isOn,turnedBy:"never"};case"open":return{key:e.rule,name:U[e.rule],meaning:"Every ship may send to, read and manage every ship.",isOn:e.isOn,turnedBy:"rules"}}}function G({changes:e,error:r,onRetry:a}){let s;return s=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read what the draft changes",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"detail",rows:3,label:"Loading what the draft changes"}):e.every(({gained:e,lost:t})=>0===e.length&&0===t.length)?(0,t.jsx)("p",{className:"text-meta text-muted-foreground","data-testid":"network-draft-changes-none",children:"The draft changes no reach."}):e.filter(({gained:e,lost:t})=>e.length+t.length>0).map(({verb:e,gained:r,lost:a})=>(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"network-draft-changes-verb",children:[(0,t.jsx)("h3",{className:"text-meta font-semibold",children:f.VERB_WORDS[e]}),(0,t.jsx)(H,{title:"Gains",rows:r,testId:"network-draft-gained"}),(0,t.jsx)(H,{title:"Loses",rows:a,testId:"network-draft-lost"})]},e)),(0,t.jsxs)("section",{"aria-labelledby":"network-draft-changes","data-testid":"network-draft-changes",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-draft-changes",className:"text-body font-semibold",children:"What the draft changes"}),s]})}function H({title:e,rows:r,testId:a}){return 0===r.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsxs)("p",{className:"text-meta text-muted-foreground",children:[e," ",r.length," ",1===r.length?"pair":"pairs"]}),(0,t.jsx)("ul",{className:"flex flex-col gap-1",children:r.map(e=>(0,t.jsxs)("li",{"data-testid":a,className:"flex flex-wrap items-center gap-x-2 text-body",children:[(0,t.jsx)("span",{children:e.from}),(0,t.jsx)(m.ArrowRight,{"aria-label":"to",className:"size-4 text-muted-foreground"}),(0,t.jsx)("span",{children:e.to}),(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e.rule})]},e.key))})]})}var J=e.i(77071),X=e.i(759659),Y=e.i(280581),Z=e.i(946033),ee=e.i(765649),et=e.i(263676),er=e.i(770703),ea=e.i(522016),es=e.i(406734);let ei=(0,er.default)(()=>e.A(867858).then(e=>e.LabelPicker),{loadableGenerated:{modules:[259068]},ssr:!1});function en({label:e,picked:r,owners:a,ownerChoices:i,unknown:n,groups:l,max:d,isDisabled:o,problem:c,onAdd:u,onRemove:h,testId:p,popoverTestId:m}){let[y,b]=(0,s.useState)(!1),[v,w]=(0,s.useState)(!1),j=r.length+a.length+n.length,k=new Set(a.map(e=>(0,f.termKeyOf)(e.term))),N=[...["*","#"].map(e=>({term:{owner:e},text:f.OWNER_TERM_MEANINGS[e]})),...i.map(e=>({term:{owner:e.shipId},text:e.name}))];return(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":p,children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e}),(0,t.jsxs)("div",{className:"flex min-h-(--size-control-sm) flex-wrap items-center gap-1.5",children:[0===j?(0,t.jsx)("span",{className:"text-body",children:"Every ship"}):null,r.map((e,r)=>(0,t.jsxs)(s.Fragment,{children:[0===r?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(g.LabelChip,{chip:e,testId:`${p}-value`,..."string"==typeof e.term?{}:{meaning:f.TERM_MEANINGS[e.term.value]},...o?{}:{onRemove:()=>{h(e.term)}}})]},(0,f.termKeyOf)(e.term))),a.map((e,a)=>(0,t.jsxs)(s.Fragment,{children:[0===a&&0===r.length?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(el,{owner:e,testId:`${p}-owner`,...!0===o?{}:{onRemove:()=>{h(e.term)}}})]},(0,f.termKeyOf)(e.term))),n.map(e=>(0,t.jsxs)("span",{"data-testid":`${p}-unknown`,title:`${(0,f.termKeyOf)(e)}: no longer in this fleet`,className:"inline-flex h-5.5 items-center gap-1 rounded-sm border border-tone-attention-border bg-tone-attention-bg px-1.5 text-id text-tone-attention-fg [&_svg]:size-3",children:[(0,t.jsx)(x.CircleAlert,{"aria-hidden":!0}),"string"!=typeof e&&"owner"in e?"A removed owner":"A removed label",!0===o?null:(0,t.jsx)("button",{type:"button","aria-label":"string"!=typeof e&&"owner"in e?"Remove the removed owner":"Remove the removed label",onClick:()=>{h(e)},className:"-mr-1 ml-0.5 inline-flex size-4 items-center justify-center rounded-xs hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",children:(0,t.jsx)(et.X,{"aria-hidden":!0})})]},(0,f.termKeyOf)(e))),j>=d?null:(0,t.jsxs)(es.Popover,{open:y,onOpenChange:b,children:[(0,t.jsx)(es.PopoverTrigger,{render:(0,t.jsx)(S.Button,{type:"button",variant:"ghost",size:"xs",icon:(0,t.jsx)(J.Plus,{}),disabled:o,"data-testid":`${p}-add`}),children:"Add label"}),(0,t.jsxs)(es.PopoverContent,{align:"start",sideOffset:6,className:"w-80 p-2","data-testid":m,children:[(0,t.jsx)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:e}),(0,t.jsx)(ei,{groups:l,pickedValueIds:r.flatMap(e=>"string"==typeof e.term?[e.term]:[]),onPick:e=>{b(!1),u(e)},terms:{picked:r.flatMap(e=>"string"==typeof e.term?[]:[e.term]),onPick:e=>{b(!1),u(e)}}}),(0,t.jsxs)("p",{className:"mt-2 flex items-center justify-between gap-2 border-t border-border px-2 pt-2 text-meta text-muted-foreground",children:["All must hold. * is any value, # the same as the other side.",(0,t.jsx)(ea.default,{href:"/labels",className:"font-medium text-foreground hover:underline",children:"Manage labels"})]})]})]}),j>=d?null:(0,t.jsxs)(es.Popover,{open:v,onOpenChange:w,children:[(0,t.jsx)(es.PopoverTrigger,{render:(0,t.jsx)(S.Button,{type:"button",variant:"ghost",size:"xs",icon:(0,t.jsx)(J.Plus,{}),disabled:o,"data-testid":`${p}-owner-add`}),children:"Add owner"}),(0,t.jsxs)(es.PopoverContent,{align:"start",sideOffset:6,className:"w-72 p-2","data-testid":`${m}-owner`,children:[(0,t.jsxs)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:[e," the owner"]}),(0,t.jsx)("ul",{className:"flex flex-col",children:N.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",disabled:k.has((0,f.termKeyOf)(e.term)),"data-testid":`${p}-owner-option`,onClick:()=>{w(!1),u(e.term)},className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-body hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring disabled:text-muted-foreground disabled:hover:bg-transparent",children:[(0,t.jsx)(ee.UserRound,{"aria-hidden":!0,className:"size-(--size-icon) shrink-0 text-muted-foreground"}),e.text]})},(0,f.termKeyOf)(e.term)))}),(0,t.jsx)("p",{className:"mt-2 border-t border-border px-2 pt-2 text-meta text-muted-foreground",children:"An owner is argo or a person’s ship. # is the same owner as the other side."})]})]})]}),void 0===c?null:(0,t.jsx)("p",{role:"status",className:"text-meta text-tone-attention-fg","data-testid":`${p}-problem`,children:c}),0===n.length?null:(0,t.jsx)("p",{role:"alert",className:"text-meta text-tone-attention-fg",children:"A label or owner here was removed from the fleet: this side matches no ship until you remove it."})]})}function el({owner:e,onRemove:r,testId:a}){let{owner:s}=e.term,i="*"===s||"#"===s?`${e.text}. ${f.OWNER_TERM_MEANINGS[s]}`:`${e.text}: ships it owns`;return(0,t.jsxs)("span",{role:"group","aria-label":i,title:i,"data-testid":a,className:"inline-flex h-5.5 max-w-full min-w-0 shrink-0 items-center gap-1 rounded-sm border border-border bg-secondary px-1.5 font-mono text-id whitespace-nowrap text-foreground [&_svg]:size-3 [&_svg]:shrink-0 [&_svg]:text-muted-foreground",children:[(0,t.jsx)(ee.UserRound,{"aria-hidden":!0}),(0,t.jsxs)("span",{className:"truncate",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"owner="}),(0,t.jsx)("span",{className:"font-medium",children:e.text.slice(6)})]}),void 0===r?null:(0,t.jsx)("button",{type:"button","aria-label":`Remove ${e.text}`,onClick:r,className:"-mr-1 ml-0.5 inline-flex size-4 items-center justify-center rounded-xs text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring",children:(0,t.jsx)(et.X,{"aria-hidden":!0})})]})}let ed=[{side:"from",label:"From ships with"},{side:"to",label:"To ships with"}],eo=()=>crypto.randomUUID();function ec({rules:e,context:r,limits:a,isSaving:i,saveError:n,savedNote:d,onSave:o}){let[c,u]=(0,s.useState)(()=>(0,f.draftOf)(e,eo)),h=(0,Y.filterGroupsOf)(r),p=(0,f.ownerChoicesOf)(r),x=(0,f.isChanged)(c,e);return(0,t.jsxs)("section",{"aria-labelledby":"network-rules","data-testid":"network-rules",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules",className:"text-body font-semibold",children:"Rules"}),"all-to-all"===c.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-body","data-testid":"network-rules-state",children:"No rules: every ship may send to, read and manage every ship."}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"With rules, a ship may send to, read or manage another only when a rule of that verb or a built-in rule allows it."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(S.Button,{variant:x?"secondary":"primary",icon:(0,t.jsx)(J.Plus,{"aria-hidden":!0}),disabled:i,"data-testid":"network-rules-on",onClick:()=>{u((0,f.setRulesOn)(c,!0))},children:"Set rules"}),x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S.Button,{variant:"primary",isLoading:i,"data-testid":"network-rules-save",onClick:()=>{o(null)},children:"Save draft"}),(0,t.jsx)(S.Button,{disabled:i,"data-testid":"network-rules-discard",onClick:()=>{u((0,f.draftOf)(e,eo))},children:"Discard changes"})]}):null]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-body","data-testid":"network-rules-state",children:0===c.rules.length?"No rule allows anything yet: once saved, only the built-in rules hold.":"A ship may send to, read or manage another only when a rule of that verb or a built-in rule allows it."}),0===c.rules.length?null:(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:c.rules.map((e,s)=>(0,t.jsxs)("li",{"data-testid":"network-rule",className:"flex flex-col gap-2 rounded-md border border-border p-3 sm:flex-row sm:items-start sm:gap-3",children:[ed.map(({side:n,label:l})=>{let d,o=(0,f.selectorOf)(e[n],r);return(0,t.jsxs)("div",{className:"flex min-w-0 grow basis-0 items-start gap-3",children:["to"===n?(0,t.jsxs)("div",{className:"flex shrink-0 flex-col gap-1",children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"Verb"}),(0,t.jsxs)(Z.Select,{items:f.VERB_WORDS,value:e.verb,disabled:i,onValueChange:t=>{q.NETWORK_VERBS.some(e=>e===t)&&u((0,f.setVerb)(c,{rule:e.key,verb:t}))},children:[(0,t.jsx)(Z.SelectTrigger,{"aria-label":`Verb of rule ${String(s+1)}`,"data-testid":"network-rule-verb",size:"sm",children:(0,t.jsx)(Z.SelectValue,{})}),(0,t.jsx)(Z.SelectContent,{children:q.NETWORK_VERBS.map(e=>(0,t.jsx)(Z.SelectItem,{value:e,children:f.VERB_WORDS[e]},e))})]})]}):null,"to"===n?(0,t.jsx)(m.ArrowRight,{"aria-hidden":!0,className:"mt-6 hidden size-(--size-icon) shrink-0 text-muted-foreground sm:block"}):null,(0,t.jsx)(en,{label:l,picked:o.chips,owners:o.owners,ownerChoices:p,unknown:o.unknown,groups:h,max:a.selectorMax,isDisabled:i,...void 0===(d=(0,f.sameValueProblemOf)(e,{side:n,context:r}))?{}:{problem:d},testId:`network-rule-${n}`,popoverTestId:"network-rule-popover",onAdd:t=>{u((0,f.addTerm)(c,{rule:e.key,side:n,term:t,limits:a}))},onRemove:t=>{u((0,f.removeTerm)(c,{rule:e.key,side:n,term:t}))}})]},n)}),(0,t.jsx)(S.Button,{variant:"ghost",size:"xs",icon:(0,t.jsx)(X.Trash2,{"aria-hidden":!0}),disabled:i,"aria-label":`Remove rule ${String(s+1)}`,"data-testid":"network-rule-remove",onClick:()=>{u((0,f.removeRule)(c,e.key))}})]},e.key))}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c.rules.length>=a.rulesMax?null:(0,t.jsx)(S.Button,{size:"sm",icon:(0,t.jsx)(J.Plus,{"aria-hidden":!0}),disabled:i,"data-testid":"network-rules-add",onClick:()=>{u((0,f.addRule)(c,{newKey:eo,limits:a}))},children:"Add rule"}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground tabular-nums","data-testid":"network-rules-count",children:[c.rules.length," of ",a.rulesMax," rules"]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-t border-border pt-3",children:[(0,t.jsx)(S.Button,{variant:"primary",isLoading:i,disabled:!x||(0,f.hasSameValueOnOneSide)(c),"data-testid":"network-rules-save",onClick:()=>{o((0,f.rulesOf)(c))},children:"Save draft"}),x?(0,t.jsx)(S.Button,{disabled:i,"data-testid":"network-rules-discard",onClick:()=>{u((0,f.draftOf)(e,eo))},children:"Discard changes"}):null,(0,t.jsx)(S.Button,{variant:"ghost",className:"ml-auto",disabled:i,"data-testid":"network-rules-off",onClick:()=>{u((0,f.setRulesOn)(c,!1))},children:"Remove all rules"})]})]}),void 0===n?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t save the rules",description:n}),void 0===d||x?null:(0,t.jsx)("p",{role:"status",className:"text-meta text-muted-foreground","data-testid":"network-rules-note",children:d})]})}var eu=e.i(285595);let eh={name:"file-up",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]]};eh.node;let ep=(0,k.default)(eh);var em=e.i(791727),ex=e.i(443988),ef=e.i(330475);function eg(e){return"label"in e?`${e.label}=${e.value}`:`owner=${e.owner}`}function ey(e){return"ship"===e.kind?`ship:${e.name}`:`${e.kind}:${e.key}`}var eb=e.i(152678);function ev(e){switch(e.kind){case"definer":return`${e.key} is defined by ${e.fleetDefiner} here, by ${e.fileDefiner} in the file`;case"values":return`${e.key} has ${e.fleetValues.join(", ")} here; the file gives ${e.fileValues.join(", ")}`;case"ship":return`No active ship is named ${e.name}`}}function ew({difference:e,choice:r,ships:a,onShipQueryChange:s,isDisabled:i,onChange:n}){let l=ey(e),d=`network-import-difference-${l.replace(":","-")}`;return(0,t.jsxs)("fieldset",{className:"flex flex-col gap-2 rounded-lg border border-border bg-card p-3","data-testid":"network-import-difference",children:[(0,t.jsx)("legend",{className:"sr-only",children:ev(e)}),(0,t.jsx)("p",{className:"text-body font-medium","aria-hidden":!0,children:ev(e)}),(0,t.jsx)(eb.RadioGroup,{value:r?.way,disabled:i,onValueChange:t=>{n({difference:e,way:t})},children:e.ways.map(t=>({way:t,text:function(e,t){switch(e.kind){case"definer":return"useExisting"===t?`Use the label ${e.key} as it is, defined by ${e.fleetDefiner}`:`Drop the rules on ${e.key}`;case"values":return"useExisting"===t?`Use the label ${e.key} as it is: it has every value the rules name`:`Drop the rules naming ${e.missingValues.map(t=>`${e.key}=${t}`).join(", ")}`;case"ship":return"pickShip"===t?`Pick an active ship for ${e.name}`:`Drop the rules naming owner=${e.name}`}}(e,t)})).map(({way:e,text:r})=>(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(eb.RadioGroupItem,{id:`${d}-${e}`,value:e,className:"mt-0.5","data-testid":`network-import-way-${e}`}),(0,t.jsx)("label",{htmlFor:`${d}-${e}`,className:"min-w-0 grow cursor-pointer text-body",children:r})]},e))}),r?.way==="pickShip"?(0,t.jsx)(B.Combobox,{options:a.map(e=>({value:e.id,label:e.name})),value:r.shipId??null,onValueChange:t=>{let r=a.find(e=>e.id===t);n({difference:e,way:"pickShip",...void 0===r?{}:{shipId:r.id}})},onQueryChange:s,groupLabel:"Active ships",placeholder:"Type a ship name","aria-label":`The ship for ${"ship"===e.kind?e.name:""}`,"data-testid":"network-import-pick-ship"}):null]})}let ej=["Attach or paste","Check","Overview","Import"];function ek({current:e}){return(0,t.jsx)("ol",{className:"flex flex-wrap gap-x-3 gap-y-1 text-meta","aria-label":"Import steps","data-testid":"network-import-steps",children:ej.map((r,a)=>(0,t.jsxs)("li",{"aria-current":a===e?"step":void 0,className:a===e?"font-semibold text-foreground":"text-muted-foreground",children:[a+1,". ",r]},r))})}function eN(e){let{checked:r,isChecking:a,checkError:i,onCheck:n,onFileChange:d,ships:o,onShipQueryChange:c,isImporting:u,importError:h,onImport:p}=e,[m,x]=(0,s.useState)(""),[f,g]=(0,s.useState)([]),y=o.find(e=>e.isOperator),[b,v]=(0,s.useState)(y?.id),[w,j]=(0,s.useState)(!1),k=a||u,N=e=>{x(e),g([]),j(!1),d()};if(void 0===r)return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ek,{current:+!!a}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(em.Label,{htmlFor:"network-import-attach",children:"Attach the file"}),(0,t.jsx)("input",{id:"network-import-attach",type:"file",accept:"application/json,.json",disabled:k,"data-testid":"network-import-attach",className:"text-body file:mr-3 file:rounded-md file:border file:border-border file:bg-card file:px-3 file:py-1.5",onChange:e=>{let t=e.target.files?.[0];void 0!==t&&t.text().then(N)}})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(em.Label,{htmlFor:"network-import-paste",children:"Or paste it"}),(0,t.jsx)(ex.Textarea,{id:"network-import-paste",isMono:!0,rows:8,value:m,disabled:k,placeholder:'{ "format": "aeolus.network-rules", ... }',"data-testid":"network-import-paste",onChange:e=>{N(e.target.value)}})]}),void 0===i?null:(0,t.jsx)(l.InlineError,{title:"The file doesn’t check",description:`${i}. Nothing changed: fix the file and check it again.`}),(0,t.jsxs)(ef.DialogFooter,{children:[(0,t.jsx)(ef.DialogClose,{render:(0,t.jsx)(S.Button,{type:"button",disabled:k}),children:"Cancel"}),(0,t.jsx)(S.Button,{variant:"primary",isLoading:a,disabled:""===m.trim()||k,"data-testid":"network-import-check",onClick:()=>{n(m)},children:a?"Checking…":"Check file"})]})]});let{file:C,newLabels:R,differences:O}=r,$=C.rules??[],I=O.every(e=>{let t=f.find(t=>ey(t.difference)===ey(e));return void 0!==t&&("pickShip"!==t.way||void 0!==t.shipId)}),T=o.find(e=>e.id===b),E=I&&(0===R.length||void 0!==T)&&!k,A=f.flatMap(e=>(function(e){let{difference:t,way:r}=e;return"ship"===t.kind?"pickShip"===r?void 0===e.shipId?void 0:{kind:"ship",name:t.name,way:r,shipId:e.shipId}:{kind:"ship",name:t.name,way:"dropRules"}:{kind:t.kind,key:t.key,way:"useExisting"===r?"useExisting":"dropRules"}})(e)??[]);return w?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ek,{current:3}),(0,t.jsx)(ef.DialogHeader,{children:(0,t.jsx)(ef.DialogTitle,{children:"Import into the draft?"})}),(0,t.jsxs)("ul",{className:"flex list-disc flex-col gap-1 pl-5 text-body","data-testid":"network-import-consequences",children:[(0,t.jsx)("li",{children:null===C.rules?"The draft becomes all-to-all, every ship reaching every ship.":f.some(e=>"dropRules"===e.way)?`The draft is replaced by the file’s ${String($.length)} rules, less the ones you chose to drop.`:`The draft is replaced by the file’s ${String($.length)} rules.`}),0===R.length?null:(0,t.jsxs)("li",{children:[R.join(", ")," ",1===R.length?"is":"are"," defined for ",T?.name??"argo","."]}),(0,t.jsx)("li",{children:"Nothing is in force until you apply the draft."})]}),void 0===h?null:(0,t.jsx)(l.InlineError,{variant:"section",title:"Couldn’t import the file",description:`${h}. Nothing was written.`,onRetry:()=>{j(!1),n(m)}}),(0,t.jsxs)(ef.DialogFooter,{children:[(0,t.jsx)(S.Button,{type:"button",disabled:k,onClick:()=>{j(!1)},children:"Back"}),(0,t.jsx)(S.Button,{variant:"primary",isLoading:u,disabled:k,"data-testid":"network-import-confirm",onClick:()=>{p({file:m,resolutions:A,...0===R.length||void 0===T||T.isOperator?{}:{definerShipId:T.id}})},children:u?"Importing…":"Import into the draft"})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ek,{current:2}),(0,t.jsxs)("p",{className:"flex items-start gap-2 text-body",role:"status","data-testid":"network-import-checked",children:[(0,t.jsx)(eu.CircleCheck,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0 text-tone-ok-fg"}),(0,t.jsxs)("span",{children:["The file checks: ",null===C.rules?"all-to-all, no rules":`${String($.length)} rules`," and ",C.labels.length," labels, from ",C.fleet.name," at rules version ",C.rulesVersion,", exported"," ",new Date(C.exportedAt).toLocaleString(),"."]})]}),0===O.length?null:(0,t.jsxs)("section",{"aria-labelledby":"network-import-differences",className:"flex flex-col gap-2","data-testid":"network-import-differences",children:[(0,t.jsx)("h3",{id:"network-import-differences",className:"text-body font-semibold",children:1===O.length?"1 difference to resolve":`${String(O.length)} differences to resolve`}),O.map(e=>{let r=ey(e);return(0,t.jsx)(ew,{difference:e,choice:f.find(e=>ey(e.difference)===r),ships:o,onShipQueryChange:c,isDisabled:k,onChange:e=>{g([...f.filter(e=>ey(e.difference)!==r),e])}},r)})]}),0===R.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)(em.Label,{htmlFor:"network-import-definer",children:["Define ",R.join(", ")," for"]}),(0,t.jsx)(B.Combobox,{id:"network-import-definer",options:o.map(e=>({value:e.id,label:e.name})),value:b??null,onValueChange:e=>{v(o.find(t=>t.id===e)?.id)},onQueryChange:c,groupLabel:"Active ships",placeholder:"Type a ship name","data-testid":"network-import-definer"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"argo never retires, so its labels never go. Another ship must be within your manage reach."})]}),(0,t.jsxs)("section",{"aria-labelledby":"network-import-rules",className:"flex flex-col gap-1.5",children:[(0,t.jsx)("h3",{id:"network-import-rules",className:"text-body font-semibold",children:"Rules in the file"}),0===$.length?(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:null===C.rules?"None: all-to-all.":"None: only the built-in and declared rules."}):(0,t.jsx)("ol",{className:"flex max-h-64 flex-col gap-1 overflow-y-auto font-mono text-code","data-testid":"network-import-rules",children:$.map((e,t)=>{let r,{verb:a,from:s,to:i}=(r=e=>0===e.length?["every ship"]:e.map(eg),{verb:e.verb,from:r(e.from),to:r(e.to)});return{place:t+1,line:`${a}: ${s.join(" ")} → ${i.join(" ")}`}}).map(({place:e,line:r})=>(0,t.jsx)("li",{children:r},e))})]}),(0,t.jsxs)(ef.DialogFooter,{className:"items-center",children:[(0,t.jsx)("span",{className:"mr-auto text-meta text-muted-foreground",children:I?null:"Resolve every difference to import."}),(0,t.jsx)(S.Button,{type:"button",disabled:k,onClick:()=>{N(m)},children:"Back"}),(0,t.jsx)(S.Button,{variant:"primary",disabled:!E,"data-testid":"network-import-open-confirm",onClick:()=>{j(!0)},children:"Import…"})]})]})}function eC(e){let{isOpen:r,onOpenChange:a,isChecking:s,isImporting:i}=e;return(0,t.jsx)(ef.Dialog,{open:r,onOpenChange:e=>{s||i||a(e)},children:(0,t.jsxs)(ef.DialogContent,{size:"md","data-testid":"network-import-dialog",className:K.dialogSurface.phoneFullScreen,children:[(0,t.jsxs)(ef.DialogHeader,{children:[(0,t.jsxs)(ef.DialogTitle,{children:[(0,t.jsx)(ep,{"aria-hidden":!0,className:"mr-2 inline size-(--size-icon-sm)"}),"Import network rules"]}),(0,t.jsx)(ef.DialogDescription,{children:"Rules exported from this fleet or another land in the draft; nothing is in force until you apply it."})]}),r?(0,t.jsx)(eN,{...e}):null]})})}let eR={name:"file-down",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]]};eR.node;let eS=(0,k.default)(eR);function eO({isExporting:e,exportError:r,onExport:a,exported:s,canImport:i,onImport:n}){return(0,t.jsxs)("section",{"aria-labelledby":"network-rules-file","data-testid":"network-rules-file",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules-file",className:"text-body font-semibold",children:"Export and import"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Export writes the applied rules and the labels they use as one file, by name. Import brings a file from this fleet or another into the draft."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(S.Button,{icon:(0,t.jsx)(eS,{}),isLoading:e,"data-testid":"network-rules-export",onClick:a,children:e?"Exporting…":"Export"}),i?(0,t.jsx)(S.Button,{icon:(0,t.jsx)(ep,{}),disabled:e,"data-testid":"network-rules-import",onClick:n,children:"Import…"}):null]}),void 0===s||0===s.leftOut.length?null:(0,t.jsxs)("div",{role:"status","data-testid":"network-rules-left-out",className:"flex flex-col gap-1 rounded-lg border border-tone-waiting-border bg-tone-waiting-bg px-3.5 py-2.5 text-meta text-tone-waiting-fg",children:[(0,t.jsxs)("p",{children:[s.name," leaves out ",1===s.leftOut.length?"1 applied rule":`${String(s.leftOut.length)} applied rules`,", as each matches no ship:"]}),(0,t.jsx)("ul",{className:"list-disc pl-5",children:s.leftOut.map(({rule:e,reason:r})=>(0,t.jsxs)("li",{children:["rule ",e," ",r]},e))})]}),void 0===r?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t export the rules",description:`${r}. Nothing was downloaded.`})]})}function e$(e){switch(e.kind){case"ship":return e.name;case"account":return`Account ${e.accountId}`;case"installation":return"The installation"}}var eI=e.i(849635);function eT({refusals:e,error:r,onRetry:a,more:s,context:i,now:o}){let c;return c=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read the refusals",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"list",rows:3,label:"Loading the refusals"}):0!==e.length||s?(0,t.jsx)("ol",{className:"flex flex-col gap-2","data-testid":"network-refusals-list",children:e.map(e=>(0,t.jsx)(eE,{refusal:e,context:i,now:o},e.id))}):(0,t.jsx)(n.EmptyState,{variant:"section",title:"No send has been refused."}),(0,t.jsxs)("section",{"aria-labelledby":"network-refusals","data-testid":"network-refusals",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-refusals",className:"text-body font-semibold",children:"Refusals"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"The sends the rules refused, newest first, with both ships’ labels as they were then. The sender was told only that its send was refused."}),c,s]})}function eE({refusal:e,context:r,now:a}){let s=new Date(e.at),{recipient:i}=e,n="ship"===i.kind?[i.ship]:i.ships;return(0,t.jsxs)("li",{"data-testid":"network-refusal",className:"flex flex-col gap-2 rounded-md border border-border px-3 py-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-0.5",children:[(0,t.jsx)("p",{className:"text-body font-medium",children:function(e){let{sender:t,recipient:r}=e,a=`${e$(t)} tried to ${"ship"===t.kind?"message":"reach"}`;switch(r.kind){case"ship":return`${a} ${r.ship.name}.`;case"type":return`${a} the type ${r.type}: ${(0,Y.listed)(r.ships.map(e=>e.name))}.`}}(e)}),(0,t.jsx)("time",{dateTime:e.at,title:(0,eI.fullDateTime)(s),className:"text-meta text-muted-foreground tabular-nums",children:(0,eI.relativeTime)(s,a)})]}),(0,t.jsxs)("dl",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(eA,{side:"From",ship:{name:e$(e.sender),labels:"installation"===e.sender.kind?[]:e.sender.labels},context:r}),n.map(e=>(0,t.jsx)(eA,{side:"To",ship:e,context:r},e.id))]}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:`Refused by network settings version ${String(e.settingsVersion)}.`})]})}function eA({side:e,ship:r,context:a}){let s=(0,Y.chipsOf)(r,a);return(0,t.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[(0,t.jsxs)("dt",{className:"text-meta text-muted-foreground",children:[e," ",(0,t.jsx)("span",{className:"font-medium text-foreground",children:r.name})]}),(0,t.jsx)("dd",{className:"flex min-w-0 flex-wrap items-center gap-1",children:0===s.length?(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"No labels"}):s.map(e=>(0,t.jsx)(g.LabelChip,{chip:e,testId:"network-refusal-label"},e.valueId))})]})}var eB=e.i(509892),eL=e.i(787964),eP=e.i(490262),eD=e.i(34512),eM=e.i(905387),eV=e.i(970597),eF=e.i(419413),ez=e.i(266027),eK=e.i(427702),eQ=e.i(442111),e_=e.i(487483),eq=e.i(718423),eU=e.i(928459),eW=e.i(954616),eG=e.i(912598);function eH(){let e=(0,eK.useTRPC)(),t=(0,eG.useQueryClient)();return async()=>{await Promise.all([t.invalidateQueries({queryKey:e.fleet.networkRules.queryKey()}),t.invalidateQueries({queryKey:e.fleet.networkRulesDraftChanges.queryKey()}),t.invalidateQueries({queryKey:e.fleet.explainReach.pathKey()})])}}var eJ=e.i(296676),eX=e.i(619273);function eY(e,t="applied"){let r=new URLSearchParams([...void 0===e?[]:[["reach",e]],..."draft"===t?[["against","draft"]]:[]]).toString();return""===r?"/network":`/network?${r}`}var eZ=e.i(621482),e0=e.i(731877),e2=e.i(298421),e1=e.i(678485);e.s(["NetworkPageFor",0,function({pickedShipId:e,against:o}){var c,u,h,m;let x,f,g,y,v,w,j,k,N,C,R,S,O,I,T,A,B,L,P,D,M,F,z,K,Q,H,J=(0,a.useRouter)(),X=(0,eJ.useNow)(),Y=(0,eL.useConsoleFrame)(),Z=(0,eU.useNeedsAttention)(),ee=(0,eq.useLiveFleet)(),et=(0,eP.useAccess)(),er=et.canEditNetwork,ea=(f=(0,eK.useTRPC)(),(0,ez.useQuery)(f.fleet.networkRules.queryOptions(void 0,{enabled:er}))),es=void 0!==ea.data&&null!==ea.data.draft,ei=es?o:"applied",en=(c=er&&es,g=(0,eK.useTRPC)(),(0,ez.useQuery)(g.fleet.networkRulesDraftChanges.queryOptions(void 0,{enabled:c}))),el=(0,eM.useLabelContext)(),ed=(y=(0,eK.useTRPC)(),v=(0,ez.useQuery)(y.fleet.list.queryOptions({shipKind:["operator","person"],limit:eF.PAGE_SIZE_MAX},{enabled:er})),v.data?.items.filter(eV.isInReadReach)),eo=(u=er?e:void 0,w=(0,eK.useTRPC)(),(0,ez.useQuery)({...w.fleet.explainReach.queryOptions(void 0===u?eX.skipToken:{fromShipId:u,against:ei}),select:$})),eu=(j=(0,eK.useTRPC)(),(0,e0.pagedListOf)((0,eZ.useInfiniteQuery)(j.fleet.reachRefusals.infiniteQueryOptions({limit:e0.CONSOLE_PAGE_SIZE},{enabled:er,getNextPageParam:e0.nextCursorOf})))),eh=(k=(0,eK.useTRPC)(),(0,ez.useQuery)(k.fleet.declaredNetworkRules.queryOptions(void 0,{enabled:er}))),ep=(0,eQ.useListedShips)(function(e){let t=e.rules.flatMap(e=>[...e.from,...e.to].flatMap(e=>(0,q.isOwnerTerm)(e)&&e.owner!==q.ANY_LABEL_VALUE&&e.owner!==q.SAME_LABEL_VALUE?[e.owner]:[])),r=e.declarers.flatMap(e=>"ship"===e.kind?[e.shipId]:[]),{draftChanges:a}=e;return[...new Set([...t,...r,...void 0===a?[]:q.NETWORK_VERBS.flatMap(e=>[...a[e].gained,...a[e].lost]).flatMap(e=>[e.fromShipId,e.toShipId]),...void 0===e.pickedShipId?[]:[e.pickedShipId,...e.reachableShipIds??[]]])]}({rules:[...ea.data?.applied.rules??[],...ea.data?.draft?.rules??[]],declarers:eh.data?.map(e=>e.declarer)??[],...void 0===en.data?{}:{draftChanges:en.data},...void 0===e?{}:{pickedShipId:e},...void 0===eo.data?{}:{reachableShipIds:eo.data}})),em=[...ep?.values()??[]],ex=(N=(0,eK.useTRPC)(),C=(0,ez.useQuery)(N.fleet.shipCounts.queryOptions()),C.data?.filter(e=>"viewer"!==e.kind).reduce((e,t)=>e+t.active,0)),[ef,eg]=(0,s.useState)(""),ey=(0,e_.useShipSearch)("",er)??[],eb=(0,e_.useShipSearch)(ef,er)??[],ev=E([...new Map([...ey.slice(0,1),...eb].map(e=>[e.id,e])).values()]),ew=(R=(0,eK.useTRPC)(),(0,ez.useQuery)(R.fleet.builtInRules.queryOptions(void 0,{enabled:er}))),ej=(S=(0,eK.useTRPC)(),O=(0,eG.useQueryClient)(),{setViewerRead:e=>{I.mutate({rule:"viewerRead",isOn:e})},isPending:(I=(0,eW.useMutation)(S.fleet.setBuiltInRule.mutationOptions({onSuccess:()=>O.invalidateQueries({queryKey:S.fleet.builtInRules.queryKey()})}))).isPending,error:I.error?.message}),ek=(T=(0,eK.useTRPC)(),A=eH(),(0,eW.useMutation)(T.fleet.saveNetworkRulesDraft.mutationOptions({onSuccess:A}))),eN=(B=(0,eK.useTRPC)(),L=(0,eG.useQueryClient)(),P=eH(),(0,eW.useMutation)(B.fleet.applyNetworkRules.mutationOptions({onSuccess:async()=>{await Promise.all([P(),L.invalidateQueries({queryKey:B.fleet.builtInRules.queryKey()})])}}))),eR=(D=(0,eK.useTRPC)(),M=eH(),(0,eW.useMutation)(D.fleet.discardNetworkRulesDraft.mutationOptions({onSuccess:M}))),eS=(F=(0,eK.useTRPCClient)(),(0,eW.useMutation)({mutationFn:async()=>{var e;let t,r,a,{file:s,leftOut:i}=await F.fleet.exportNetworkRules.query(),n=(t=s.fleet.name.toLowerCase().replaceAll(/[^a-z0-9]+/g,"-").replaceAll(/^-|-$/g,""),`network-rules-${t}-v${String(s.rulesVersion)}.json`);return e=`${JSON.stringify(s,null,2)}
2
- `,r=URL.createObjectURL(new Blob([e],{type:"application/json"})),(a=document.createElement("a")).href=r,a.download=n,a.click(),URL.revokeObjectURL(r),{name:n,leftOut:i}}})),e$=(z=(0,eK.useTRPC)(),(0,eW.useMutation)(z.fleet.checkNetworkRulesFile.mutationOptions())),eI=(K=(0,eK.useTRPC)(),Q=(0,eG.useQueryClient)(),H=eH(),(0,eW.useMutation)(K.fleet.importNetworkRules.mutationOptions({onSuccess:async()=>{await Promise.all([H(),Q.invalidateQueries({queryKey:K.fleet.labels.queryKey()})])}}))),[eE,eA]=(0,s.useState)(!1),e3=()=>{e$.reset(),eI.reset()},{networkRulesMax:e5,shipLabelsMax:e4}=(0,eD.useConsoleConstants)();if((0,e1.useSignInWhenSessionEnds)([Z.error,ee.error]),er)if(ea.isError)x=(0,t.jsx)(l.InlineError,{title:"Couldn’t read the network",description:ea.error.message,onRetry:()=>{ea.refetch()}});else if(void 0===ea.data||void 0===el||void 0===ed)x=(0,t.jsx)(d.LoadingSkeleton,{variant:"detail",rows:4,label:"Loading the network"});else{let r,a,s,n={...el,ships:[...em,...ed]};x=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p,{rows:void 0===ew.data?void 0:ew.data.map(W),error:ew.error?.message,onRetry:()=>{ew.refetch()},isTurning:ej.isPending,turnError:ej.error,onViewerReadChange:ej.setViewerRead}),(0,t.jsx)(ec,{rules:(ea.data.draft??ea.data.applied).rules,context:n,limits:{rulesMax:e5,selectorMax:e4},isSaving:ek.isPending,saveError:ek.error?.message,savedNote:void 0===ek.data?void 0:"Draft saved. Nothing changes until it is applied.",onSave:e=>{ek.mutate({rules:e})}},JSON.stringify(ea.data.draft??ea.data.applied)),null===ea.data.draft?null:(0,t.jsx)(G,{changes:void 0===en.data?void 0:(h=en.data,r=new Map(em.map(e=>[e.id,e.name])),a=e=>e.map(({fromShipId:e,toShipId:t,rule:a})=>({key:`${e}>${t}`,from:r.get(e)??e,to:r.get(t)??t,rule:function(e,t){if("builtIn"in e)return`Built-in: ${U[e.builtIn]}`;if("rule"in e)return`Rule ${String(e.rule+1)}`;let r="installation"===e.declared.kind?"the installation":t.get(e.declared.shipId)??e.declared.shipId;return`Declared by ${r}, rule ${String(e.index+1)}`}(a,r)})).sort((e,t)=>e.from.localeCompare(t.from)||e.to.localeCompare(t.to)),q.NETWORK_VERBS.map(e=>({verb:e,gained:a(h[e].gained),lost:a(h[e].lost)}))),error:en.error?.message,onRetry:()=>{en.refetch()}}),(0,t.jsx)(_,{draft:ea.data.draft,appliedVersion:ea.data.applied.version,isApplying:eN.isPending,applyError:eN.error?.message,onApply:()=>{eN.mutate({version:ea.data.applied.version})},isDiscarding:eR.isPending,discardError:eR.error?.message,onDiscard:()=>{eR.mutate()}}),(0,t.jsx)(eO,{isExporting:eS.isPending,exportError:eS.error?.message,exported:eS.data,onExport:()=>{eS.mutate(void 0,{onSuccess:({name:e,leftOut:t})=>{(0,i.showToast)({title:"Rules exported",description:0===t.length?`Saved as ${e}.`:`Saved as ${e}, leaving out ${String(t.length)}: see Export and import.`,tone:"success"})}})},canImport:et.canDefineLabels,onImport:()=>{e3(),eA(!0)}}),(0,t.jsx)(eC,{isOpen:eE,onOpenChange:e=>{eA(e),e||e3()},checked:e$.data,isChecking:e$.isPending,checkError:e$.error?.message,onCheck:e=>{eI.reset(),e$.mutate({file:e})},onFileChange:e3,ships:ev,onShipQueryChange:eg,isImporting:eI.isPending,importError:eI.error?.message,onImport:e=>{eI.mutate(e,{onSuccess:({definedLabels:e})=>{eA(!1),e3(),(0,i.showToast)({title:"Imported into the draft",description:`${0===e.length?"":`Defined ${e.join(", ")}. `}Look at what the draft changes, then apply it.`,tone:"success"})}})}}),(0,t.jsx)(b,{declared:void 0===eh.data?void 0:(m=eh.data,s=new Map(em.map(e=>[e.id,e.name])),m.filter(({rules:e})=>e.length>0).map(({declarer:e,rules:t})=>"installation"===e.kind?{declarerId:"installation",declaredBy:"the installation",rules:t}:{declarerId:e.shipId,declaredBy:s.get(e.shipId)??e.shipId,rules:t}).sort((e,t)=>e.declaredBy.localeCompare(t.declaredBy))),error:eh.error?.message,onRetry:()=>{eh.refetch()},context:n}),(0,t.jsx)(V,{ships:E(em),search:{ships:ev,onQueryChange:eg},...void 0===ex?{}:{sailingShipCount:ex},pickedShipId:e,reachableShipIds:eo.data,reachError:eo.error?.message,onPick:e=>{J.replace(eY(e,ei),{scroll:!1})},against:ei,...es?{onAgainstChange:t=>{J.replace(eY(e,t),{scroll:!1})}}:{},onRetry:()=>{eo.refetch()}}),(0,t.jsx)(eT,{refusals:eu.items,error:eu.isFailed?eu.error?.message:void 0,onRetry:eu.retry,more:eu.hasMore?(0,t.jsx)(e2.LoadMore,{what:"older refusals",isLoading:eu.isLoadingMore,isFailed:eu.isLoadMoreFailed,onLoad:eu.loadMore,area:"network-refusals"}):null,context:n,now:X})]})}else x=(0,t.jsx)(n.EmptyState,{icon:(0,t.jsx)(r.Network,{"aria-hidden":!0}),title:"Only a session holding fleet:network sees the network rules"});return(0,t.jsx)(eB.ListPage,{...Y,title:"Network",description:"Who may send to, read or manage whom. The fleet checks the applied rules on every send; a draft changes nothing until it is applied.",live:ee.live,children:x})}],313260)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,313260,e=>{"use strict";var t=e.i(843476),r=e.i(407921),a=e.i(618566),s=e.i(271645),i=e.i(341880),n=e.i(67874),l=e.i(817981),d=e.i(188393),o=e.i(806537),c=e.i(766390),u=e.i(975867);let h={argo:"You turn it on or off.",rules:"Applying rules turns it off; applying none turns it on again."};function p({rows:e,error:r,onRetry:a,isTurning:s,turnError:i,onViewerReadChange:n}){let m;return m=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read the built-in rules",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"list",rows:3,label:"Loading the built-in rules"}):(0,t.jsx)("ul",{className:"flex flex-col divide-y divide-border",children:e.map(e=>(0,t.jsxs)("li",{"data-testid":"network-built-in-rule",className:"flex items-start justify-between gap-3 py-2 first:pt-0 last:pb-0",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"text-body font-medium","data-testid":"network-built-in-rule-name",children:e.name}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground",children:[e.meaning," ","never"===e.turnedBy?null:h[e.turnedBy]]})]}),"argo"===e.turnedBy?(0,t.jsx)(u.Switch,{checked:e.isOn,disabled:s,"aria-label":`${e.name}: ${e.isOn?"on":"off"}`,"data-testid":"network-built-in-viewer-read",onCheckedChange:e=>{n(e)}}):(0,t.jsx)(c.Badge,{variant:"outline","data-testid":"network-built-in-rule-state",children:"never"===e.turnedBy?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.Lock,{"aria-hidden":!0}),"Never off"]}):e.isOn?"On":"Off"})]},e.key))}),(0,t.jsxs)("section",{"aria-labelledby":"network-built-in","data-testid":"network-built-in",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-built-in",className:"text-body font-semibold",children:"Built-in rules"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"The fleet’s own rules, beside yours and the declared ones. They hold before any rule below."}),m,void 0===i?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t turn the viewer reading",description:i})]})}var m=e.i(768877),x=e.i(422768),f=e.i(937338),g=e.i(695960);let y=[{side:"from",label:"From ships with"},{side:"to",label:"To ships with"}];function b({declared:e,error:r,onRetry:a,context:s}){let i;return i=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read the declared rules",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"list",rows:2,label:"Loading the declared rules"}):0===e.length?(0,t.jsx)(n.EmptyState,{variant:"section",title:"Nothing declares rules."}):(0,t.jsx)("ul",{className:"flex flex-col gap-3",children:e.map(e=>(0,t.jsxs)("li",{"data-testid":"network-declared-plugin",className:"flex flex-col gap-2",children:[(0,t.jsxs)("h3",{className:"text-meta font-medium","data-testid":"network-declared-by",children:["Declared by ",e.declaredBy]}),(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:e.rules.map(e=>(0,t.jsx)("li",{"data-testid":"network-declared-rule",className:"flex flex-col gap-2 rounded-md border border-border p-3 sm:flex-row sm:items-start sm:gap-3",children:y.map(({side:r,label:a})=>(0,t.jsxs)("div",{className:"flex min-w-0 grow basis-0 items-start gap-3",children:["to"===r?(0,t.jsx)("span",{className:"mt-6 shrink-0 text-meta text-muted-foreground","data-testid":"network-declared-rule-verb",children:f.VERB_WORDS[e.verb]}):null,"to"===r?(0,t.jsx)(m.ArrowRight,{"aria-hidden":!0,className:"mt-6 hidden size-(--size-icon) shrink-0 text-muted-foreground sm:block"}):null,(0,t.jsx)(v,{label:a,terms:e[r],context:s,testId:`network-declared-rule-${r}`})]},r))},JSON.stringify(e)))})]},e.declarerId))}),(0,t.jsxs)("section",{"aria-labelledby":"network-declared","data-testid":"network-declared",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-declared",className:"text-body font-semibold",children:"Declared by plugins and the installation"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Rules plugins and the installation need on the labels they own. The networking plugin adds them to your rules; while every ship may message every ship, they change nothing. Only their declarer changes them, and switching a plugin off withdraws its rules."}),i]})}function v({label:e,terms:r,context:a,testId:i}){let{chips:n,unknown:l}=(0,f.selectorOf)(r,a);return(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":i,children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[n.length+l.length===0?(0,t.jsx)("span",{className:"text-body",children:"Every ship"}):null,n.map((e,r)=>(0,t.jsxs)(s.Fragment,{children:[0===r?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(g.LabelChip,{chip:e,testId:`${i}-value`,..."string"==typeof e.term?{}:{meaning:f.TERM_MEANINGS[e.term.value]}})]},(0,f.termKeyOf)(e.term))),l.map(e=>(0,t.jsxs)("span",{"data-testid":`${i}-unknown`,title:`${(0,f.termKeyOf)(e)}: no longer in this fleet`,className:"inline-flex h-5.5 items-center gap-1 rounded-sm border border-tone-attention-border bg-tone-attention-bg px-1.5 text-id text-tone-attention-fg [&_svg]:size-3",children:[(0,t.jsx)(x.CircleAlert,{"aria-hidden":!0}),"A removed label"]},(0,f.termKeyOf)(e)))]})]})}var w=e.i(847211),j=e.i(689664),k=e.i(456420);let N={name:"crosshair",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]};N.node;let C=(0,k.default)(N);var R=e.i(566595),S=e.i(574296),$=e.i(965324);function O(e){return e.send.map(e=>e.shipId)}let I=-Math.PI/2,T=2*Math.PI;function E(e){return e.filter(e=>"retired"!==e.status&&"viewer"!==e.kind).map(e=>({id:e.id,name:e.name,isOperator:"operator"===e.kind})).sort((e,t)=>Number(t.isOperator)-Number(e.isOperator)||e.name.localeCompare(t.name))}function A(e){return Math.round(100*e)/100}var B=e.i(133173),L=e.i(60592),P=e.i(165160);let D=["applied","draft"],M={picked:"picked",reached:"may be messaged",unreached:"out of reach"};function V({ships:e,search:r,sailingShipCount:a,pickedShipId:s,reachableShipIds:i,reachError:n,onPick:d,onRetry:o,against:c="applied",onAgainstChange:u}){var h;let p=(h=void 0===s?void 0:{pickedShipId:s,reachableShipIds:void 0===n?i:void 0},e.map((t,r)=>{var a,s;let i=I+T*r/e.length,n=1===e.length;return{ship:t,x:n?50:A(50+38*Math.cos(i)),y:n?50:A(50+38*Math.sin(i)),mark:(a=t.id,void 0===(s=h)?"none":a===s.pickedShipId?"picked":void 0===s.reachableShipIds?"none":s.reachableShipIds.includes(a)?"reached":"unreached")}})),m=p.find(e=>"picked"===e.mark),x=p.filter(e=>"reached"===e.mark);return(0,t.jsxs)("section",{"aria-labelledby":"network-reach","data-testid":"network-reach",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-reach",className:"text-body font-semibold",children:"Reach"}),(0,t.jsxs)("p",{className:"text-meta text-muted-foreground",children:["draft"===c?"The fleet as the draft would leave it once applied: pick a ship to see which ships the draft lets it message.":"The fleet as it stands now: pick a ship to see which ships the rules let it message."," ","Argo reaches every ship, and every ship reaches argo."]}),void 0===u?null:(0,t.jsx)(L.Tabs,{value:c,onValueChange:e=>{let t=D.find(t=>t===e);void 0!==t&&u(t)},children:(0,t.jsxs)(L.TabsList,{"aria-label":"Explain reach against",children:[(0,t.jsx)(L.TabsTrigger,{value:"applied","data-testid":"network-reach-applied",children:"Applied rules"}),(0,t.jsx)(L.TabsTrigger,{value:"draft","data-testid":"network-reach-draft",children:"Draft"})]})}),void 0===r?null:(0,t.jsx)(B.Combobox,{options:r.ships.map(e=>({value:e.id,label:e.name})),value:null,onValueChange:e=>{let t=r.ships.find(t=>t.id===e);void 0!==t&&d(t.id)},toQuery:P.asHandle,onQueryChange:r.onQueryChange,groupLabel:"Ships",emptyText:e=>`No ship matches "${e}". Retired ships are not listed.`,leadingIcon:(0,t.jsx)(R.Search,{}),placeholder:"Find a ship to pick","aria-label":"Find a ship to pick","data-testid":"network-reach-search"}),(0,t.jsxs)("div",{className:"relative flex flex-wrap gap-2 md:mx-auto md:block md:aspect-square md:w-full md:max-w-xl","data-testid":"network-reach-graph",children:[void 0===m?null:(0,t.jsx)("svg",{"aria-hidden":!0,viewBox:"0 0 100 100",preserveAspectRatio:"none",className:"pointer-events-none absolute inset-0 hidden size-full md:block",children:x.map(e=>(0,t.jsx)("line",{x1:m.x,y1:m.y,x2:e.x,y2:e.y,vectorEffect:"non-scaling-stroke",className:"stroke-muted-foreground",strokeWidth:1.5},e.ship.id))}),p.map(e=>(0,t.jsx)(F,{node:e,onPick:()=>{d("picked"===e.mark?void 0:e.ship.id)}},e.ship.id))]}),void 0===n?(0,t.jsx)("p",{className:"text-body",role:"status","data-testid":"network-reach-summary",children:function(e,t=e.length){let r=e.find(e=>"picked"===e.mark);if(void 0===r)return"Pick a ship to see which ships it may message.";let a=Math.max(t,e.length)-1,s=e.filter(e=>"reached"===e.mark).map(e=>e.ship.name);return e.every(e=>"picked"===e.mark||"none"===e.mark)?0===a?`${r.ship.name} is the only ship of the fleet.`:`Finding the ships ${r.ship.name} may message…`:s.length===a?`${r.ship.name} may message every other ship (${String(a)}).`:0===s.length?`${r.ship.name} may message no other ship.`:`${r.ship.name} may message ${String(s.length)} of ${String(a)} ships: ${s.join(", ")}.`}(p,a)}):(0,t.jsx)(l.InlineError,{title:"Couldn’t explain this ship’s reach",description:n,onRetry:o})]})}function F({node:e,onPick:r}){let{ship:a,mark:s}=e;return(0,t.jsx)(S.Button,{size:"sm",variant:"secondary","aria-pressed":"picked"===s,"aria-label":"none"===s?a.name:`${a.name}, ${M[s]}`,icon:function(e){switch(e){case"picked":return(0,t.jsx)(C,{"aria-hidden":!0});case"reached":return(0,t.jsx)(j.Check,{"aria-hidden":!0});case"unreached":return(0,t.jsx)(w.Ban,{"aria-hidden":!0});case"none":return}}(s),"data-testid":"network-reach-ship","data-mark":s,style:{left:`${String(e.x)}%`,top:`${String(e.y)}%`},className:(0,$.classNames)("md:absolute md:-translate-x-1/2 md:-translate-y-1/2","picked"===s&&"bg-accent ring-2 ring-ring","unreached"===s&&"opacity-45"),onClick:r,children:a.name})}var z=e.i(424010),K=e.i(746675);let Q={apply:{title:"Apply the draft?",description:"Every send, read and manage is checked against the draft from now on, and the rules before it are gone.",action:"Apply draft"},discard:{title:"Discard the draft?",description:"The draft is gone; the applied rules stay as they are.",action:"Discard draft"}};function _({draft:e,appliedVersion:r,isApplying:a,applyError:i,onApply:n,isDiscarding:d,discardError:o,onDiscard:c}){let[u,h]=(0,s.useState)(null),p=a||d;return(0,t.jsxs)("section",{"aria-labelledby":"network-rules-apply","data-testid":"network-rules-apply",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules-apply",className:"text-body font-semibold",children:"Apply"}),null===e?(0,t.jsx)("p",{className:"text-meta text-muted-foreground","data-testid":"network-rules-apply-state",children:"No draft: the applied rules are the ones above. Save a draft to apply it."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"text-body","data-testid":"network-rules-apply-state",children:["A draft is saved. Every send, read and manage is checked against the applied rules, at version ",r,", until it is applied."]}),e.savedAgainstVersion===r?null:(0,t.jsxs)("p",{className:"text-meta text-muted-foreground","data-testid":"network-rules-apply-moved",children:["The settings moved from version ",e.savedAgainstVersion," since the draft was saved."]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(S.Button,{variant:"primary",isLoading:a,disabled:d,"data-testid":"network-rules-apply-open",onClick:()=>{h("apply")},children:"Apply draft"}),(0,t.jsx)(S.Button,{variant:"ghost",isLoading:d,disabled:a,"data-testid":"network-rules-discard-open",onClick:()=>{h("discard")},children:"Discard draft"})]})]}),void 0===i?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t apply the draft",description:i}),void 0===o?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t discard the draft",description:o}),(0,t.jsx)(z.AlertDialog,{open:null!==u,onOpenChange:e=>{e||p||h(null)},children:null===u?null:(0,t.jsxs)(z.AlertDialogContent,{"data-testid":`network-rules-${u}-dialog`,className:K.dialogSurface.phoneSheet,children:[(0,t.jsxs)(z.AlertDialogHeader,{children:[(0,t.jsx)(z.AlertDialogTitle,{children:Q[u].title}),(0,t.jsx)(z.AlertDialogDescription,{children:Q[u].description})]}),(0,t.jsxs)(z.AlertDialogFooter,{children:[(0,t.jsx)(z.AlertDialogClose,{render:(0,t.jsx)(S.Button,{disabled:p}),children:"Cancel"}),(0,t.jsx)(S.Button,{variant:"apply"===u?"primary":"destructive",isLoading:p,"data-testid":`network-rules-${u}-confirm`,onClick:()=>{h(null),"apply"===u?n():c()},children:Q[u].action})]})]})})]})}var q=e.i(711514);let U={argo:"argo",owner:"Owner",answer:"Answer",pluginRead:"Connected plugins read",meeting:"Meeting",viewerRead:"Viewer reads",installation:"Installation manages",open:"Open"};function W(e){switch(e.rule){case"argo":return{key:e.rule,name:U[e.rule],meaning:"argo sends to, reads and manages every ship, and every ship reaches argo.",isOn:e.isOn,turnedBy:"never"};case"owner":return{key:e.rule,name:U[e.rule],meaning:"A ship’s owner sends to, reads and manages the ships it owns.",isOn:e.isOn,turnedBy:"never"};case"answer":return{key:e.rule,name:U[e.rule],meaning:"A ship may always answer the sender of a message it received.",isOn:e.isOn,turnedBy:"never"};case"pluginRead":return{key:e.rule,name:U[e.rule],meaning:"A plugin argo connected reads every ship, whatever the rules.",isOn:e.isOn,turnedBy:"never"};case"meeting":return{key:e.rule,name:U[e.rule],meaning:"The participants of a meeting reach each other in it, whatever the rules: its owner reached each when it joined.",isOn:e.isOn,turnedBy:"never"};case"viewerRead":return{key:e.rule,name:U[e.rule],meaning:"The viewer reads every ship.",isOn:e.isOn,turnedBy:"argo"};case"installation":return{key:e.rule,name:U[e.rule],meaning:"The installation manages person ships and the ships they own, so a leaver is always released.",isOn:e.isOn,turnedBy:"never"};case"open":return{key:e.rule,name:U[e.rule],meaning:"Every ship may send to, read and manage every ship.",isOn:e.isOn,turnedBy:"rules"}}}function G({changes:e,error:r,onRetry:a}){let s;return s=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read what the draft changes",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"detail",rows:3,label:"Loading what the draft changes"}):e.every(({gained:e,lost:t})=>0===e.length&&0===t.length)?(0,t.jsx)("p",{className:"text-meta text-muted-foreground","data-testid":"network-draft-changes-none",children:"The draft changes no reach."}):e.filter(({gained:e,lost:t})=>e.length+t.length>0).map(({verb:e,gained:r,lost:a})=>(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"network-draft-changes-verb",children:[(0,t.jsx)("h3",{className:"text-meta font-semibold",children:f.VERB_WORDS[e]}),(0,t.jsx)(H,{title:"Gains",rows:r,testId:"network-draft-gained"}),(0,t.jsx)(H,{title:"Loses",rows:a,testId:"network-draft-lost"})]},e)),(0,t.jsxs)("section",{"aria-labelledby":"network-draft-changes","data-testid":"network-draft-changes",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-draft-changes",className:"text-body font-semibold",children:"What the draft changes"}),s]})}function H({title:e,rows:r,testId:a}){return 0===r.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsxs)("p",{className:"text-meta text-muted-foreground",children:[e," ",r.length," ",1===r.length?"pair":"pairs"]}),(0,t.jsx)("ul",{className:"flex flex-col gap-1",children:r.map(e=>(0,t.jsxs)("li",{"data-testid":a,className:"flex flex-wrap items-center gap-x-2 text-body",children:[(0,t.jsx)("span",{children:e.from}),(0,t.jsx)(m.ArrowRight,{"aria-label":"to",className:"size-4 text-muted-foreground"}),(0,t.jsx)("span",{children:e.to}),(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e.rule})]},e.key))})]})}var J=e.i(77071),X=e.i(759659),Y=e.i(280581),Z=e.i(946033),ee=e.i(765649),et=e.i(263676),er=e.i(770703),ea=e.i(522016),es=e.i(406734);let ei=(0,er.default)(()=>e.A(867858).then(e=>e.LabelPicker),{loadableGenerated:{modules:[259068]},ssr:!1});function en({label:e,picked:r,owners:a,ownerChoices:i,unknown:n,groups:l,max:d,isDisabled:o,problem:c,onAdd:u,onRemove:h,testId:p,popoverTestId:m}){let[y,b]=(0,s.useState)(!1),[v,w]=(0,s.useState)(!1),j=r.length+a.length+n.length,k=new Set(a.map(e=>(0,f.termKeyOf)(e.term))),N=[...["*","#"].map(e=>({term:{owner:e},text:f.OWNER_TERM_MEANINGS[e]})),...i.map(e=>({term:{owner:e.shipId},text:e.name}))];return(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":p,children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:e}),(0,t.jsxs)("div",{className:"flex min-h-(--size-control-sm) flex-wrap items-center gap-1.5",children:[0===j?(0,t.jsx)("span",{className:"text-body",children:"Every ship"}):null,r.map((e,r)=>(0,t.jsxs)(s.Fragment,{children:[0===r?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(g.LabelChip,{chip:e,testId:`${p}-value`,..."string"==typeof e.term?{}:{meaning:f.TERM_MEANINGS[e.term.value]},...o?{}:{onRemove:()=>{h(e.term)}}})]},(0,f.termKeyOf)(e.term))),a.map((e,a)=>(0,t.jsxs)(s.Fragment,{children:[0===a&&0===r.length?null:(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"and"}),(0,t.jsx)(el,{owner:e,testId:`${p}-owner`,...!0===o?{}:{onRemove:()=>{h(e.term)}}})]},(0,f.termKeyOf)(e.term))),n.map(e=>(0,t.jsxs)("span",{"data-testid":`${p}-unknown`,title:`${(0,f.termKeyOf)(e)}: no longer in this fleet`,className:"inline-flex h-5.5 items-center gap-1 rounded-sm border border-tone-attention-border bg-tone-attention-bg px-1.5 text-id text-tone-attention-fg [&_svg]:size-3",children:[(0,t.jsx)(x.CircleAlert,{"aria-hidden":!0}),"string"!=typeof e&&"owner"in e?"A removed owner":"A removed label",!0===o?null:(0,t.jsx)("button",{type:"button","aria-label":"string"!=typeof e&&"owner"in e?"Remove the removed owner":"Remove the removed label",onClick:()=>{h(e)},className:"-mr-1 ml-0.5 inline-flex size-4 items-center justify-center rounded-xs hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",children:(0,t.jsx)(et.X,{"aria-hidden":!0})})]},(0,f.termKeyOf)(e))),j>=d?null:(0,t.jsxs)(es.Popover,{open:y,onOpenChange:b,children:[(0,t.jsx)(es.PopoverTrigger,{render:(0,t.jsx)(S.Button,{type:"button",variant:"ghost",size:"xs",icon:(0,t.jsx)(J.Plus,{}),disabled:o,"data-testid":`${p}-add`}),children:"Add label"}),(0,t.jsxs)(es.PopoverContent,{align:"start",sideOffset:6,className:"w-80 p-2","data-testid":m,children:[(0,t.jsx)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:e}),(0,t.jsx)(ei,{groups:l,pickedValueIds:r.flatMap(e=>"string"==typeof e.term?[e.term]:[]),onPick:e=>{b(!1),u(e)},terms:{picked:r.flatMap(e=>"string"==typeof e.term?[]:[e.term]),onPick:e=>{b(!1),u(e)}}}),(0,t.jsxs)("p",{className:"mt-2 flex items-center justify-between gap-2 border-t border-border px-2 pt-2 text-meta text-muted-foreground",children:["All must hold. * is any value, # the same as the other side.",(0,t.jsx)(ea.default,{href:"/labels",className:"font-medium text-foreground hover:underline",children:"Manage labels"})]})]})]}),j>=d?null:(0,t.jsxs)(es.Popover,{open:v,onOpenChange:w,children:[(0,t.jsx)(es.PopoverTrigger,{render:(0,t.jsx)(S.Button,{type:"button",variant:"ghost",size:"xs",icon:(0,t.jsx)(J.Plus,{}),disabled:o,"data-testid":`${p}-owner-add`}),children:"Add owner"}),(0,t.jsxs)(es.PopoverContent,{align:"start",sideOffset:6,className:"w-72 p-2","data-testid":`${m}-owner`,children:[(0,t.jsxs)("span",{className:"block px-2 pt-1 pb-2 text-body font-medium",children:[e," the owner"]}),(0,t.jsx)("ul",{className:"flex flex-col",children:N.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",disabled:k.has((0,f.termKeyOf)(e.term)),"data-testid":`${p}-owner-option`,onClick:()=>{w(!1),u(e.term)},className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-body hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring disabled:text-muted-foreground disabled:hover:bg-transparent",children:[(0,t.jsx)(ee.UserRound,{"aria-hidden":!0,className:"size-(--size-icon) shrink-0 text-muted-foreground"}),e.text]})},(0,f.termKeyOf)(e.term)))}),(0,t.jsx)("p",{className:"mt-2 border-t border-border px-2 pt-2 text-meta text-muted-foreground",children:"An owner is argo or a person’s ship. # is the same owner as the other side."})]})]})]}),void 0===c?null:(0,t.jsx)("p",{role:"status",className:"text-meta text-tone-attention-fg","data-testid":`${p}-problem`,children:c}),0===n.length?null:(0,t.jsx)("p",{role:"alert",className:"text-meta text-tone-attention-fg",children:"A label or owner here was removed from the fleet: this side matches no ship until you remove it."})]})}function el({owner:e,onRemove:r,testId:a}){let{owner:s}=e.term,i="*"===s||"#"===s?`${e.text}. ${f.OWNER_TERM_MEANINGS[s]}`:`${e.text}: ships it owns`;return(0,t.jsxs)("span",{role:"group","aria-label":i,title:i,"data-testid":a,className:"inline-flex h-5.5 max-w-full min-w-0 shrink-0 items-center gap-1 rounded-sm border border-border bg-secondary px-1.5 font-mono text-id whitespace-nowrap text-foreground [&_svg]:size-3 [&_svg]:shrink-0 [&_svg]:text-muted-foreground",children:[(0,t.jsx)(ee.UserRound,{"aria-hidden":!0}),(0,t.jsxs)("span",{className:"truncate",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"owner="}),(0,t.jsx)("span",{className:"font-medium",children:e.text.slice(6)})]}),void 0===r?null:(0,t.jsx)("button",{type:"button","aria-label":`Remove ${e.text}`,onClick:r,className:"-mr-1 ml-0.5 inline-flex size-4 items-center justify-center rounded-xs text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring",children:(0,t.jsx)(et.X,{"aria-hidden":!0})})]})}let ed=[{side:"from",label:"From ships with"},{side:"to",label:"To ships with"}],eo=()=>crypto.randomUUID();function ec({rules:e,context:r,limits:a,isSaving:i,saveError:n,savedNote:d,onSave:o}){let[c,u]=(0,s.useState)(()=>(0,f.draftOf)(e,eo)),h=(0,Y.filterGroupsOf)(r),p=(0,f.ownerChoicesOf)(r),x=(0,f.isChanged)(c,e);return(0,t.jsxs)("section",{"aria-labelledby":"network-rules","data-testid":"network-rules",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules",className:"text-body font-semibold",children:"Rules"}),"all-to-all"===c.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-body","data-testid":"network-rules-state",children:"No rules: every ship may send to, read and manage every ship."}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"With rules, a ship may send to, read or manage another only when a rule of that verb or a built-in rule allows it."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(S.Button,{variant:x?"secondary":"primary",icon:(0,t.jsx)(J.Plus,{"aria-hidden":!0}),disabled:i,"data-testid":"network-rules-on",onClick:()=>{u((0,f.setRulesOn)(c,!0))},children:"Set rules"}),x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S.Button,{variant:"primary",isLoading:i,"data-testid":"network-rules-save",onClick:()=>{o(null)},children:"Save draft"}),(0,t.jsx)(S.Button,{disabled:i,"data-testid":"network-rules-discard",onClick:()=>{u((0,f.draftOf)(e,eo))},children:"Discard changes"})]}):null]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-body","data-testid":"network-rules-state",children:0===c.rules.length?"No rule allows anything yet: once saved, only the built-in rules hold.":"A ship may send to, read or manage another only when a rule of that verb or a built-in rule allows it."}),0===c.rules.length?null:(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:c.rules.map((e,s)=>(0,t.jsxs)("li",{"data-testid":"network-rule",className:"flex flex-col gap-2 rounded-md border border-border p-3 sm:flex-row sm:items-start sm:gap-3",children:[ed.map(({side:n,label:l})=>{let d,o=(0,f.selectorOf)(e[n],r);return(0,t.jsxs)("div",{className:"flex min-w-0 grow basis-0 items-start gap-3",children:["to"===n?(0,t.jsxs)("div",{className:"flex shrink-0 flex-col gap-1",children:[(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"Verb"}),(0,t.jsxs)(Z.Select,{items:f.VERB_WORDS,value:e.verb,disabled:i,onValueChange:t=>{q.NETWORK_VERBS.some(e=>e===t)&&u((0,f.setVerb)(c,{rule:e.key,verb:t}))},children:[(0,t.jsx)(Z.SelectTrigger,{"aria-label":`Verb of rule ${String(s+1)}`,"data-testid":"network-rule-verb",size:"sm",children:(0,t.jsx)(Z.SelectValue,{})}),(0,t.jsx)(Z.SelectContent,{children:q.NETWORK_VERBS.map(e=>(0,t.jsx)(Z.SelectItem,{value:e,children:f.VERB_WORDS[e]},e))})]})]}):null,"to"===n?(0,t.jsx)(m.ArrowRight,{"aria-hidden":!0,className:"mt-6 hidden size-(--size-icon) shrink-0 text-muted-foreground sm:block"}):null,(0,t.jsx)(en,{label:l,picked:o.chips,owners:o.owners,ownerChoices:p,unknown:o.unknown,groups:h,max:a.selectorMax,isDisabled:i,...void 0===(d=(0,f.sameValueProblemOf)(e,{side:n,context:r}))?{}:{problem:d},testId:`network-rule-${n}`,popoverTestId:"network-rule-popover",onAdd:t=>{u((0,f.addTerm)(c,{rule:e.key,side:n,term:t,limits:a}))},onRemove:t=>{u((0,f.removeTerm)(c,{rule:e.key,side:n,term:t}))}})]},n)}),(0,t.jsx)(S.Button,{variant:"ghost",size:"xs",icon:(0,t.jsx)(X.Trash2,{"aria-hidden":!0}),disabled:i,"aria-label":`Remove rule ${String(s+1)}`,"data-testid":"network-rule-remove",onClick:()=>{u((0,f.removeRule)(c,e.key))}})]},e.key))}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c.rules.length>=a.rulesMax?null:(0,t.jsx)(S.Button,{size:"sm",icon:(0,t.jsx)(J.Plus,{"aria-hidden":!0}),disabled:i,"data-testid":"network-rules-add",onClick:()=>{u((0,f.addRule)(c,{newKey:eo,limits:a}))},children:"Add rule"}),(0,t.jsxs)("span",{className:"text-meta text-muted-foreground tabular-nums","data-testid":"network-rules-count",children:[c.rules.length," of ",a.rulesMax," rules"]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-t border-border pt-3",children:[(0,t.jsx)(S.Button,{variant:"primary",isLoading:i,disabled:!x||(0,f.hasSameValueOnOneSide)(c),"data-testid":"network-rules-save",onClick:()=>{o((0,f.rulesOf)(c))},children:"Save draft"}),x?(0,t.jsx)(S.Button,{disabled:i,"data-testid":"network-rules-discard",onClick:()=>{u((0,f.draftOf)(e,eo))},children:"Discard changes"}):null,(0,t.jsx)(S.Button,{variant:"ghost",className:"ml-auto",disabled:i,"data-testid":"network-rules-off",onClick:()=>{u((0,f.setRulesOn)(c,!1))},children:"Remove all rules"})]})]}),void 0===n?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t save the rules",description:n}),void 0===d||x?null:(0,t.jsx)("p",{role:"status",className:"text-meta text-muted-foreground","data-testid":"network-rules-note",children:d})]})}var eu=e.i(285595);let eh={name:"file-up",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]]};eh.node;let ep=(0,k.default)(eh);var em=e.i(791727),ex=e.i(443988),ef=e.i(330475),eg=e.i(849635),ey=e.i(890135);function eb(e){return"label"in e?`${e.label}=${e.value}`:`owner=${e.owner}`}function ev(e){return"ship"===e.kind?`ship:${e.name}`:`${e.kind}:${e.key}`}var ew=e.i(152678);function ej(e){switch(e.kind){case"definer":return`${e.key} is defined by ${e.fleetDefiner} here, by ${e.fileDefiner} in the file`;case"values":return`${e.key} has ${e.fleetValues.join(", ")} here; the file gives ${e.fileValues.join(", ")}`;case"ship":return`No active ship is named ${e.name}`}}function ek({difference:e,choice:r,ships:a,onShipQueryChange:s,isDisabled:i,onChange:n}){let l=ev(e),d=`network-import-difference-${l.replace(":","-")}`;return(0,t.jsxs)("fieldset",{className:"flex flex-col gap-2 rounded-lg border border-border bg-card p-3","data-testid":"network-import-difference",children:[(0,t.jsx)("legend",{className:"sr-only",children:ej(e)}),(0,t.jsx)("p",{className:"text-body font-medium","aria-hidden":!0,children:ej(e)}),(0,t.jsx)(ew.RadioGroup,{value:r?.way,disabled:i,onValueChange:t=>{n({difference:e,way:t})},children:e.ways.map(t=>({way:t,text:function(e,t){switch(e.kind){case"definer":return"useExisting"===t?`Use the label ${e.key} as it is, defined by ${e.fleetDefiner}`:`Drop the rules on ${e.key}`;case"values":return"useExisting"===t?`Use the label ${e.key} as it is: it has every value the rules name`:`Drop the rules naming ${e.missingValues.map(t=>`${e.key}=${t}`).join(", ")}`;case"ship":return"pickShip"===t?`Pick an active ship for ${e.name}`:`Drop the rules naming owner=${e.name}`}}(e,t)})).map(({way:e,text:r})=>(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(ew.RadioGroupItem,{id:`${d}-${e}`,value:e,className:"mt-0.5","data-testid":`network-import-way-${e}`}),(0,t.jsx)("label",{htmlFor:`${d}-${e}`,className:"min-w-0 grow cursor-pointer text-body",children:r})]},e))}),r?.way==="pickShip"?(0,t.jsx)(B.Combobox,{options:a.map(e=>({value:e.id,label:e.name})),value:r.shipId??null,onValueChange:t=>{let r=a.find(e=>e.id===t);n({difference:e,way:"pickShip",...void 0===r?{}:{shipId:r.id}})},onQueryChange:s,groupLabel:"Active ships",placeholder:"Type a ship name","aria-label":`The ship for ${"ship"===e.kind?e.name:""}`,"data-testid":"network-import-pick-ship"}):null]})}let eN=["Attach or paste","Check","Overview","Import"];function eC({current:e}){return(0,t.jsx)("ol",{className:"flex flex-wrap gap-x-3 gap-y-1 text-meta","aria-label":"Import steps","data-testid":"network-import-steps",children:eN.map((r,a)=>(0,t.jsxs)("li",{"aria-current":a===e?"step":void 0,className:a===e?"font-semibold text-foreground":"text-muted-foreground",children:[a+1,". ",r]},r))})}function eR(e){let r,a,{checked:i,isChecking:n,checkError:d,onCheck:o,onFileChange:c,ships:u,onShipQueryChange:h,isImporting:p,importError:m,onImport:x}=e,[f,g]=(0,s.useState)(""),[y,b]=(0,s.useState)([]),v=u.find(e=>e.isOperator),[w,j]=(0,s.useState)(v?.id),[k,N]=(0,s.useState)(!1),C=n||p,R=e=>{g(e),b([]),N(!1),c()};if(void 0===i)return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eC,{current:+!!n}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(em.Label,{htmlFor:"network-import-attach",children:"Attach the file"}),(0,t.jsx)("input",{id:"network-import-attach",type:"file",accept:"application/json,.json",disabled:C,"data-testid":"network-import-attach",className:"text-body file:mr-3 file:rounded-md file:border file:border-border file:bg-card file:px-3 file:py-1.5",onChange:e=>{let t=e.target.files?.[0];void 0!==t&&t.text().then(R)}})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(em.Label,{htmlFor:"network-import-paste",children:"Or paste it"}),(0,t.jsx)(ex.Textarea,{id:"network-import-paste",isMono:!0,rows:8,value:f,disabled:C,placeholder:'{ "format": "aeolus.network-rules", ... }',"data-testid":"network-import-paste",onChange:e=>{R(e.target.value)}})]}),void 0===d?null:(0,t.jsx)(l.InlineError,{title:"The file doesn’t check",description:`${d}. Nothing changed: fix the file and check it again.`}),(0,t.jsxs)(ef.DialogFooter,{children:[(0,t.jsx)(ef.DialogClose,{render:(0,t.jsx)(S.Button,{type:"button",disabled:C}),children:"Cancel"}),(0,t.jsx)(S.Button,{variant:"primary",isLoading:n,disabled:""===f.trim()||C,"data-testid":"network-import-check",onClick:()=>{o(f)},children:n?"Checking…":"Check file"})]})]});let{file:$,newLabels:O,differences:I}=i,T=$.rules??[],E=I.every(e=>{let t=y.find(t=>ev(t.difference)===ev(e));return void 0!==t&&("pickShip"!==t.way||void 0!==t.shipId)}),A=u.find(e=>e.id===w),L=E&&(0===O.length||void 0!==A)&&!C,P=y.flatMap(e=>(function(e){let{difference:t,way:r}=e;return"ship"===t.kind?"pickShip"===r?void 0===e.shipId?void 0:{kind:"ship",name:t.name,way:r,shipId:e.shipId}:{kind:"ship",name:t.name,way:"dropRules"}:{kind:t.kind,key:t.key,way:"useExisting"===r?"useExisting":"dropRules"}})(e)??[]);return k?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eC,{current:3}),(0,t.jsx)(ef.DialogHeader,{children:(0,t.jsx)(ef.DialogTitle,{children:"Import into the draft?"})}),(0,t.jsxs)("ul",{className:"flex list-disc flex-col gap-1 pl-5 text-body","data-testid":"network-import-consequences",children:[(0,t.jsx)("li",{children:null===$.rules?"The draft becomes all-to-all, every ship reaching every ship.":y.some(e=>"dropRules"===e.way)?`The draft is replaced by the file’s ${String(T.length)} rules, less the ones you chose to drop.`:`The draft is replaced by the file’s ${String(T.length)} rules.`}),0===O.length?null:(0,t.jsxs)("li",{children:[O.join(", ")," ",1===O.length?"is":"are"," defined for ",A?.name??"argo","."]}),(0,t.jsx)("li",{children:"Nothing is in force until you apply the draft."})]}),void 0===m?null:(0,t.jsx)(l.InlineError,{variant:"section",title:"Couldn’t import the file",description:`${m}. Nothing was written.`,onRetry:()=>{N(!1),o(f)}}),(0,t.jsxs)(ef.DialogFooter,{children:[(0,t.jsx)(S.Button,{type:"button",disabled:C,onClick:()=>{N(!1)},children:"Back"}),(0,t.jsx)(S.Button,{variant:"primary",isLoading:p,disabled:C,"data-testid":"network-import-confirm",onClick:()=>{x({file:f,resolutions:P,...0===O.length||void 0===A||A.isOperator?{}:{definerShipId:A.id}})},children:p?"Importing…":"Import into the draft"})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eC,{current:2}),(0,t.jsxs)("p",{className:"flex items-start gap-2 text-body",role:"status","data-testid":"network-import-checked",children:[(0,t.jsx)(eu.CircleCheck,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0 text-tone-ok-fg"}),(0,t.jsx)("span",{children:(r=null===$.rules?"all-to-all, no rules":(0,ey.counted)($.rules.length,{one:"rule",many:"rules"}),a=(0,ey.counted)($.labels.length,{one:"label",many:"labels"}),`The file checks: ${r} and ${a}, from ${$.fleet.name} at rules version ${String($.rulesVersion)}, exported ${(0,eg.shortDateTime)(new Date($.exportedAt))}.`)})]}),0===I.length?null:(0,t.jsxs)("section",{"aria-labelledby":"network-import-differences",className:"flex flex-col gap-2","data-testid":"network-import-differences",children:[(0,t.jsx)("h3",{id:"network-import-differences",className:"text-body font-semibold",children:1===I.length?"1 difference to resolve":`${String(I.length)} differences to resolve`}),I.map(e=>{let r=ev(e);return(0,t.jsx)(ek,{difference:e,choice:y.find(e=>ev(e.difference)===r),ships:u,onShipQueryChange:h,isDisabled:C,onChange:e=>{b([...y.filter(e=>ev(e.difference)!==r),e])}},r)})]}),0===O.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)(em.Label,{htmlFor:"network-import-definer",children:["Define ",O.join(", ")," for"]}),(0,t.jsx)(B.Combobox,{id:"network-import-definer",options:u.map(e=>({value:e.id,label:e.name})),value:w??null,onValueChange:e=>{j(u.find(t=>t.id===e)?.id)},onQueryChange:h,groupLabel:"Active ships",placeholder:"Type a ship name","data-testid":"network-import-definer"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"argo never retires, so its labels never go. Another ship must be within your manage reach."})]}),(0,t.jsxs)("section",{"aria-labelledby":"network-import-rules",className:"flex flex-col gap-1.5",children:[(0,t.jsx)("h3",{id:"network-import-rules",className:"text-body font-semibold",children:"Rules in the file"}),0===T.length?(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:null===$.rules?"None: all-to-all.":"None: only the built-in and declared rules."}):(0,t.jsx)("ol",{className:"flex max-h-64 flex-col gap-1 overflow-y-auto font-mono text-code","data-testid":"network-import-rules",children:T.map((e,t)=>{let r,{verb:a,from:s,to:i}=(r=e=>0===e.length?["every ship"]:e.map(eb),{verb:e.verb,from:r(e.from),to:r(e.to)});return{place:t+1,line:`${a}: ${s.join(" ")} → ${i.join(" ")}`}}).map(({place:e,line:r})=>(0,t.jsx)("li",{children:r},e))})]}),(0,t.jsxs)(ef.DialogFooter,{className:"items-center",children:[(0,t.jsx)("span",{className:"mr-auto text-meta text-muted-foreground",children:E?null:"Resolve every difference to import."}),(0,t.jsx)(S.Button,{type:"button",disabled:C,onClick:()=>{R(f)},children:"Back"}),(0,t.jsx)(S.Button,{variant:"primary",disabled:!L,"data-testid":"network-import-open-confirm",onClick:()=>{N(!0)},children:"Import…"})]})]})}function eS(e){let{isOpen:r,onOpenChange:a,isChecking:s,isImporting:i}=e;return(0,t.jsx)(ef.Dialog,{open:r,onOpenChange:e=>{s||i||a(e)},children:(0,t.jsxs)(ef.DialogContent,{size:"md","data-testid":"network-import-dialog",className:K.dialogSurface.phoneFullScreen,children:[(0,t.jsxs)(ef.DialogHeader,{children:[(0,t.jsxs)(ef.DialogTitle,{children:[(0,t.jsx)(ep,{"aria-hidden":!0,className:"mr-2 inline size-(--size-icon-sm)"}),"Import network rules"]}),(0,t.jsx)(ef.DialogDescription,{children:"Rules exported from this fleet or another land in the draft; nothing is in force until you apply it."})]}),r?(0,t.jsx)(eR,{...e}):null]})})}let e$={name:"file-down",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]]};e$.node;let eO=(0,k.default)(e$);function eI({isExporting:e,exportError:r,onExport:a,exported:s,canImport:i,onImport:n}){return(0,t.jsxs)("section",{"aria-labelledby":"network-rules-file","data-testid":"network-rules-file",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-rules-file",className:"text-body font-semibold",children:"Export and import"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Export writes the applied rules and the labels they use as one file, by name. Import brings a file from this fleet or another into the draft."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(S.Button,{icon:(0,t.jsx)(eO,{}),isLoading:e,"data-testid":"network-rules-export",onClick:a,children:e?"Exporting…":"Export"}),i?(0,t.jsx)(S.Button,{icon:(0,t.jsx)(ep,{}),disabled:e,"data-testid":"network-rules-import",onClick:n,children:"Import…"}):null]}),void 0===s||0===s.leftOut.length?null:(0,t.jsxs)("div",{role:"status","data-testid":"network-rules-left-out",className:"flex flex-col gap-1 rounded-lg border border-tone-waiting-border bg-tone-waiting-bg px-3.5 py-2.5 text-meta text-tone-waiting-fg",children:[(0,t.jsxs)("p",{children:[s.name," leaves out ",1===s.leftOut.length?"1 applied rule":`${String(s.leftOut.length)} applied rules`,", as each matches no ship:"]}),(0,t.jsx)("ul",{className:"list-disc pl-5",children:s.leftOut.map(({rule:e,reason:r})=>(0,t.jsxs)("li",{children:["rule ",e," ",r]},e))})]}),void 0===r?null:(0,t.jsx)(l.InlineError,{variant:"field",title:"Couldn’t export the rules",description:`${r}. Nothing was downloaded.`})]})}function eT(e){switch(e.kind){case"ship":return e.name;case"account":return`Account ${e.accountId}`;case"installation":return"The installation"}}function eE({refusals:e,error:r,onRetry:a,more:s,context:i,now:o}){let c;return c=void 0!==r?(0,t.jsx)(l.InlineError,{title:"Couldn’t read the refusals",description:r,onRetry:a}):void 0===e?(0,t.jsx)(d.LoadingSkeleton,{variant:"list",rows:3,label:"Loading the refusals"}):0!==e.length||s?(0,t.jsx)("ol",{className:"flex flex-col gap-2","data-testid":"network-refusals-list",children:e.map(e=>(0,t.jsx)(eA,{refusal:e,context:i,now:o},e.id))}):(0,t.jsx)(n.EmptyState,{variant:"section",title:"No send has been refused."}),(0,t.jsxs)("section",{"aria-labelledby":"network-refusals","data-testid":"network-refusals",className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{id:"network-refusals",className:"text-body font-semibold",children:"Refusals"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"The sends the rules refused, newest first, with both ships’ labels as they were then. The sender was told only that its send was refused."}),c,s]})}function eA({refusal:e,context:r,now:a}){let s=new Date(e.at),{recipient:i}=e,n="ship"===i.kind?[i.ship]:i.ships;return(0,t.jsxs)("li",{"data-testid":"network-refusal",className:"flex flex-col gap-2 rounded-md border border-border px-3 py-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-0.5",children:[(0,t.jsx)("p",{className:"text-body font-medium",children:function(e){let{sender:t,recipient:r}=e,a=`${eT(t)} tried to ${"ship"===t.kind?"message":"reach"}`;switch(r.kind){case"ship":return`${a} ${r.ship.name}.`;case"type":return`${a} the type ${r.type}: ${(0,Y.listed)(r.ships.map(e=>e.name))}.`}}(e)}),(0,t.jsx)("time",{dateTime:e.at,title:(0,eg.fullDateTime)(s),className:"text-meta text-muted-foreground tabular-nums",children:(0,eg.relativeTime)(s,a)})]}),(0,t.jsxs)("dl",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(eB,{side:"From",ship:{name:eT(e.sender),labels:"installation"===e.sender.kind?[]:e.sender.labels},context:r}),n.map(e=>(0,t.jsx)(eB,{side:"To",ship:e,context:r},e.id))]}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:`Refused by network settings version ${String(e.settingsVersion)}.`})]})}function eB({side:e,ship:r,context:a}){let s=(0,Y.chipsOf)(r,a);return(0,t.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[(0,t.jsxs)("dt",{className:"text-meta text-muted-foreground",children:[e," ",(0,t.jsx)("span",{className:"font-medium text-foreground",children:r.name})]}),(0,t.jsx)("dd",{className:"flex min-w-0 flex-wrap items-center gap-1",children:0===s.length?(0,t.jsx)("span",{className:"text-meta text-muted-foreground",children:"No labels"}):s.map(e=>(0,t.jsx)(g.LabelChip,{chip:e,testId:"network-refusal-label"},e.valueId))})]})}var eL=e.i(509892),eP=e.i(787964),eD=e.i(490262),eM=e.i(34512),eV=e.i(905387),eF=e.i(970597),ez=e.i(419413),eK=e.i(266027),eQ=e.i(427702),e_=e.i(442111),eq=e.i(487483),eU=e.i(718423),eW=e.i(928459),eG=e.i(954616),eH=e.i(912598);function eJ(){let e=(0,eQ.useTRPC)(),t=(0,eH.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 eX=e.i(296676),eY=e.i(619273);function eZ(e,t="applied"){let r=new URLSearchParams([...void 0===e?[]:[["reach",e]],..."draft"===t?[["against","draft"]]:[]]).toString();return""===r?"/network":`/network?${r}`}var e0=e.i(621482),e2=e.i(731877),e1=e.i(298421),e3=e.i(678485);e.s(["NetworkPageFor",0,function({pickedShipId:e,against:o}){var c,u,h,m;let x,f,g,y,v,w,j,k,N,C,R,S,$,I,T,A,B,L,P,D,M,F,z,K,Q,H,J=(0,a.useRouter)(),X=(0,eX.useNow)(),Y=(0,eP.useConsoleFrame)(),Z=(0,eW.useNeedsAttention)(),ee=(0,eU.useLiveFleet)(),et=(0,eD.useAccess)(),er=et.canEditNetwork,ea=(f=(0,eQ.useTRPC)(),(0,eK.useQuery)(f.fleet.networkRules.queryOptions(void 0,{enabled:er}))),es=void 0!==ea.data&&null!==ea.data.draft,ei=es?o:"applied",en=(c=er&&es,g=(0,eQ.useTRPC)(),(0,eK.useQuery)(g.fleet.networkRulesDraftChanges.queryOptions(void 0,{enabled:c}))),el=(0,eV.useLabelContext)(),ed=(y=(0,eQ.useTRPC)(),v=(0,eK.useQuery)(y.fleet.list.queryOptions({shipKind:["operator","person"],limit:ez.PAGE_SIZE_MAX},{enabled:er})),v.data?.items.filter(eF.isInReadReach)),eo=(u=er?e:void 0,w=(0,eQ.useTRPC)(),(0,eK.useQuery)({...w.fleet.explainReach.queryOptions(void 0===u?eY.skipToken:{fromShipId:u,against:ei}),select:O})),eu=(j=(0,eQ.useTRPC)(),(0,e2.pagedListOf)((0,e0.useInfiniteQuery)(j.fleet.reachRefusals.infiniteQueryOptions({limit:e2.CONSOLE_PAGE_SIZE},{enabled:er,getNextPageParam:e2.nextCursorOf})))),eh=(k=(0,eQ.useTRPC)(),(0,eK.useQuery)(k.fleet.declaredNetworkRules.queryOptions(void 0,{enabled:er}))),ep=function(e){let t=e.rules.flatMap(e=>[...e.from,...e.to].flatMap(e=>(0,q.isOwnerTerm)(e)&&e.owner!==q.ANY_LABEL_VALUE&&e.owner!==q.SAME_LABEL_VALUE?[e.owner]:[])),r=e.declarers.flatMap(e=>"ship"===e.kind?[e.shipId]:[]),{draftChanges:a}=e;return[...new Set([...t,...r,...void 0===a?[]:q.NETWORK_VERBS.flatMap(e=>[...a[e].gained,...a[e].lost]).flatMap(e=>[e.fromShipId,e.toShipId]),...void 0===e.pickedShipId?[]:[e.pickedShipId,...e.reachableShipIds??[]]])]}({rules:[...ea.data?.applied.rules??[],...ea.data?.draft?.rules??[]],declarers:eh.data?.map(e=>e.declarer)??[],...void 0===en.data?{}:{draftChanges:en.data},...void 0===e?{}:{pickedShipId:e},...void 0===eo.data?{}:{reachableShipIds:eo.data}}),em=(0,e_.useListedShips)(ep),ex=(0,e_.useListedShipNames)(ep),ef=[...em?.values()??[]],eg=(N=(0,eQ.useTRPC)(),C=(0,eK.useQuery)(N.fleet.shipCounts.queryOptions()),C.data?.filter(e=>"viewer"!==e.kind).reduce((e,t)=>e+t.active,0)),[ey,eb]=(0,s.useState)(""),ev=(0,eq.useShipSearch)("",er)??[],ew=(0,eq.useShipSearch)(ey,er)??[],ej=E([...new Map([...ev.slice(0,1),...ew].map(e=>[e.id,e])).values()]),ek=(R=(0,eQ.useTRPC)(),(0,eK.useQuery)(R.fleet.builtInRules.queryOptions(void 0,{enabled:er}))),eN=(S=(0,eQ.useTRPC)(),$=(0,eH.useQueryClient)(),{setViewerRead:e=>{I.mutate({rule:"viewerRead",isOn:e})},isPending:(I=(0,eG.useMutation)(S.fleet.setBuiltInRule.mutationOptions({onSuccess:()=>$.invalidateQueries({queryKey:S.fleet.builtInRules.queryKey()})}))).isPending,error:I.error?.message}),eC=(T=(0,eQ.useTRPC)(),A=eJ(),(0,eG.useMutation)(T.fleet.saveNetworkRulesDraft.mutationOptions({onSuccess:A}))),eR=(B=(0,eQ.useTRPC)(),L=(0,eH.useQueryClient)(),P=eJ(),(0,eG.useMutation)(B.fleet.applyNetworkRules.mutationOptions({onSuccess:async()=>{await Promise.all([P(),L.invalidateQueries({queryKey:B.fleet.builtInRules.queryKey()})])}}))),e$=(D=(0,eQ.useTRPC)(),M=eJ(),(0,eG.useMutation)(D.fleet.discardNetworkRulesDraft.mutationOptions({onSuccess:M}))),eO=(F=(0,eQ.useTRPCClient)(),(0,eG.useMutation)({mutationFn:async()=>{var e;let t,r,a,{file:s,leftOut:i}=await F.fleet.exportNetworkRules.query(),n=(t=s.fleet.name.toLowerCase().replaceAll(/[^a-z0-9]+/g,"-").replaceAll(/^-|-$/g,""),`network-rules-${t}-v${String(s.rulesVersion)}.json`);return e=`${JSON.stringify(s,null,2)}
2
+ `,r=URL.createObjectURL(new Blob([e],{type:"application/json"})),(a=document.createElement("a")).href=r,a.download=n,a.click(),URL.revokeObjectURL(r),{name:n,leftOut:i}}})),eT=(z=(0,eQ.useTRPC)(),(0,eG.useMutation)(z.fleet.checkNetworkRulesFile.mutationOptions())),eA=(K=(0,eQ.useTRPC)(),Q=(0,eH.useQueryClient)(),H=eJ(),(0,eG.useMutation)(K.fleet.importNetworkRules.mutationOptions({onSuccess:async()=>{await Promise.all([H(),Q.invalidateQueries({queryKey:K.fleet.labels.queryKey()})])}}))),[eB,e5]=(0,s.useState)(!1),e4=()=>{eT.reset(),eA.reset()},{networkRulesMax:e6,shipLabelsMax:e8}=(0,eM.useConsoleConstants)();if((0,e3.useSignInWhenSessionEnds)([Z.error,ee.error]),er)if(ea.isError)x=(0,t.jsx)(l.InlineError,{title:"Couldn’t read the network",description:ea.error.message,onRetry:()=>{ea.refetch()}});else if(void 0===ea.data||void 0===el||void 0===ed)x=(0,t.jsx)(d.LoadingSkeleton,{variant:"detail",rows:4,label:"Loading the network"});else{let r,a,s,n={...el,ships:[...ef,...ed]};x=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p,{rows:void 0===ek.data?void 0:ek.data.map(W),error:ek.error?.message,onRetry:()=>{ek.refetch()},isTurning:eN.isPending,turnError:eN.error,onViewerReadChange:eN.setViewerRead}),(0,t.jsx)(ec,{rules:(ea.data.draft??ea.data.applied).rules,context:n,limits:{rulesMax:e6,selectorMax:e8},isSaving:eC.isPending,saveError:eC.error?.message,savedNote:void 0===eC.data?void 0:"Draft saved. Nothing changes until it is applied.",onSave:e=>{eC.mutate({rules:e})}},JSON.stringify(ea.data.draft??ea.data.applied)),null===ea.data.draft?null:(0,t.jsx)(G,{changes:void 0===en.data?void 0:(h=en.data,r=new Map(ef.map(e=>[e.id,e.name])),a=e=>e.map(({fromShipId:e,toShipId:t,rule:a})=>({key:`${e}>${t}`,from:r.get(e)??e,to:r.get(t)??t,rule:function(e,t){if("builtIn"in e)return`Built-in: ${U[e.builtIn]}`;if("rule"in e)return`Rule ${String(e.rule+1)}`;let r="installation"===e.declared.kind?"the installation":t.get(e.declared.shipId)??e.declared.shipId;return`Declared by ${r}, rule ${String(e.index+1)}`}(a,r)})).sort((e,t)=>e.from.localeCompare(t.from)||e.to.localeCompare(t.to)),q.NETWORK_VERBS.map(e=>({verb:e,gained:a(h[e].gained),lost:a(h[e].lost)}))),error:en.error?.message,onRetry:()=>{en.refetch()}}),(0,t.jsx)(_,{draft:ea.data.draft,appliedVersion:ea.data.applied.version,isApplying:eR.isPending,applyError:eR.error?.message,onApply:()=>{eR.mutate({version:ea.data.applied.version})},isDiscarding:e$.isPending,discardError:e$.error?.message,onDiscard:()=>{e$.mutate()}}),(0,t.jsx)(eI,{isExporting:eO.isPending,exportError:eO.error?.message,exported:eO.data,onExport:()=>{eO.mutate(void 0,{onSuccess:({name:e,leftOut:t})=>{(0,i.showToast)({title:"Rules exported",description:0===t.length?`Saved as ${e}.`:`Saved as ${e}, leaving out ${String(t.length)}: see Export and import.`,tone:"success"})}})},canImport:et.canDefineLabels,onImport:()=>{e4(),e5(!0)}}),(0,t.jsx)(eS,{isOpen:eB,onOpenChange:e=>{e5(e),e||e4()},checked:eT.data,isChecking:eT.isPending,checkError:eT.error?.message,onCheck:e=>{eA.reset(),eT.mutate({file:e})},onFileChange:e4,ships:ej,onShipQueryChange:eb,isImporting:eA.isPending,importError:eA.error?.message,onImport:e=>{eA.mutate(e,{onSuccess:({definedLabels:e})=>{e5(!1),e4(),(0,i.showToast)({title:"Imported into the draft",description:`${0===e.length?"":`Defined ${e.join(", ")}. `}Look at what the draft changes, then apply it.`,tone:"success"})}})}}),(0,t.jsx)(b,{declared:void 0===eh.data?void 0:(m=eh.data,s=new Map([...ex??[]].map(([e,t])=>({id:e,name:t})).map(e=>[e.id,e.name])),m.filter(({rules:e})=>e.length>0).map(({declarer:e,rules:t})=>"installation"===e.kind?{declarerId:"installation",declaredBy:"the installation",rules:t}:{declarerId:e.shipId,declaredBy:s.get(e.shipId)??e.shipId,rules:t}).sort((e,t)=>e.declaredBy.localeCompare(t.declaredBy))),error:eh.error?.message,onRetry:()=>{eh.refetch()},context:n}),(0,t.jsx)(V,{ships:E(ef),search:{ships:ej,onQueryChange:eb},...void 0===eg?{}:{sailingShipCount:eg},pickedShipId:e,reachableShipIds:eo.data,reachError:eo.error?.message,onPick:e=>{J.replace(eZ(e,ei),{scroll:!1})},against:ei,...es?{onAgainstChange:t=>{J.replace(eZ(e,t),{scroll:!1})}}:{},onRetry:()=>{eo.refetch()}}),(0,t.jsx)(eE,{refusals:eu.items,error:eu.isFailed?eu.error?.message:void 0,onRetry:eu.retry,more:eu.hasMore?(0,t.jsx)(e1.LoadMore,{what:"older refusals",isLoading:eu.isLoadingMore,isFailed:eu.isLoadMoreFailed,onLoad:eu.loadMore,area:"network-refusals"}):null,context:n,now:X})]})}else x=(0,t.jsx)(n.EmptyState,{icon:(0,t.jsx)(r.Network,{"aria-hidden":!0}),title:"Only a session holding fleet:network sees the network rules"});return(0,t.jsx)(eL.ListPage,{...Y,title:"Network",description:"Who may send to, read or manage whom. The fleet checks the applied rules on every send; a draft changes nothing until it is applied.",live:ee.live,children:x})}],313260)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,395530,e=>{"use strict";var t=e.i(271645),a=e.i(828918),r=e.i(838452),s=e.i(673553);e.s(["useCompositeItem",0,function(e={}){let{highlightItemOnHover:i,highlightedIndex:n,onHighlightedIndexChange:l}=(0,r.useCompositeRootContext)(),{ref:o,index:d}=(0,s.useCompositeListItem)(e),u=n===d,c=t.useRef(null),m=(0,a.useMergedRefs)(o,c);return{compositeProps:{tabIndex:u?0:-1,onFocus(){l(d)},onMouseMove(){let e=c.current;if(!i||!e)return;let t=e.hasAttribute("disabled")||"true"===e.ariaDisabled;u||t||e.focus()}},compositeRef:m,index:d}}])},53687,e=>{"use strict";var t=e.i(271645),a=e.i(388940),r=e.i(667865),s=e.i(146376),i=e.i(545356),n=e.i(843476);function l(){return new Map}function o(){return new Set}function d(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}e.s(["CompositeList",0,function(e){let{children:u,elementsRef:c,labelsRef:m,onMapChange:h}=e,f=(0,r.useStableCallback)(h),[,x]=t.useState(!1),p=(0,a.useRefWithInit)(o).current,g=(0,a.useRefWithInit)(l).current,b=t.useRef(0),y=t.useRef(!0),v=t.useRef(null),k=t.useRef(null),j=(0,r.useStableCallback)(()=>{y.current||(y.current=!0,x(e=>!e))}),w=(0,r.useStableCallback)((e,t)=>{g.set(e,t),j()}),N=(0,r.useStableCallback)(e=>{g.delete(e),j()}),C=(0,r.useStableCallback)(e=>{let t=new Map;return c.current.length=0,m&&(m.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),c.current[e.index]=e.element,m&&(m.current[e.index]=void 0!==e.registration.label?e.registration.label:e.registration.textRef?.current?.textContent??e.element.textContent)}),b.current=c.current.length,t}),S=(0,r.useStableCallback)(()=>{var e;let t,a,r,s,[i,n]=(e=g,t=new Set,a=[],r=[],e.forEach((e,s)=>{if(!s.isConnected)return;let i=e.index,n={index:i??-1,element:s,registration:e};null===i?r.push(n):i>=0&&(t.add(i),a.push(n))}),s=0,r.sort((e,t)=>d(e.element,t.element)),r.forEach(e=>{for(;t.has(s);)s+=1;e.index=s,a.push(e),s+=1}),t.size>0&&a.sort((e,t)=>e.index-t.index),[a,r.map(e=>e.element)]),l=C(i),o=v.current,u=!o||o.length!==i.length||i.some((e,t)=>{let a=o[t];return e.index!==a.index||e.element!==a.element||e.registration.index!==a.registration.index||e.registration.metadata!==a.registration.metadata});!function(e){if(k.current?.disconnect(),k.current=null,"function"!=typeof MutationObserver||e.length<2)return;let t=new MutationObserver(a=>{if(!function(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}(a))return;let r=null;for(let a of e)if(a.isConnected){if(r&&d(r,a)>0){t.disconnect(),j();return}r=a}});k.current=t;let a=new Set;for(let t=1;t<e.length;t+=1){let r=function(e,t){let a=e.parentElement;for(;a&&!a.contains(t);)a=a.parentElement;return a}(e[t-1],e[t]);r&&a.add(r)}a.forEach(e=>t.observe(e,{childList:!0}))}(n),v.current=i,y.current=!1,u&&(p.forEach(e=>e(l)),f(l))});(0,s.useIsoLayoutEffect)(()=>(!y.current&&v.current&&C(v.current),()=>{c.current=[],m&&(m.current=[])}),[c,m,C]),(0,s.useIsoLayoutEffect)(()=>{y.current&&S()}),(0,s.useIsoLayoutEffect)(()=>()=>{k.current?.disconnect(),y.current=!0},[]);let R=(0,r.useStableCallback)(e=>(p.add(e),()=>{p.delete(e)})),I=t.useMemo(()=>({register:w,unregister:N,subscribeMapChange:R,nextIndexRef:b}),[w,N,R,b]);return(0,n.jsx)(i.CompositeListContext.Provider,{value:I,children:u})}])},545356,e=>{"use strict";e.i(247167);var t=e.i(271645);let a=t.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});e.s(["CompositeListContext",0,a,"useCompositeListContext",0,function(){return t.useContext(a)}])},673553,e=>{"use strict";var t=e.i(271645),a=e.i(146376),r=e.i(545356);e.s(["useCompositeListItem",0,function(e={}){let{guess:s,label:i,metadata:n,textRef:l,index:o}=e,{register:d,unregister:u,subscribeMapChange:c,nextIndexRef:m}=(0,r.useCompositeListContext)(),h=t.useRef(-1),[f,x]=t.useState(null==o&&s?()=>{if(-1===h.current){let e=m.current;m.current+=1,h.current=e}return h.current}:-1),p=o??f,g=t.useRef(null),b=t.useCallback(e=>{let t=g.current;t&&u(t),g.current=e,e&&d(e,{metadata:n??null,index:o??null,label:i,textRef:l})},[o,d,u,n,i,l]);return(0,a.useIsoLayoutEffect)(()=>{if(null==o)return c(e=>{let t=g.current?e.get(g.current)?.index:null;null!=t&&x(t)})},[o,c]),{ref:b,index:p}}])},172410,e=>{"use strict";e.i(247167);var t=e.i(271645);let a=t.createContext(void 0),r={disableStyleElements:!1};e.s(["useCSPContext",0,function(){return t.useContext(a)??r}])},31421,e=>{"use strict";var t=e.i(271645),a=e.i(146376),r=e.i(788015);e.s(["useAriaLabelledBy",0,function(e,s,i,n=!0,l){let[o,d]=t.useState(),u=(0,r.useBaseUiId)(l?`${l}-label`:void 0),c=e??s??o;return(0,a.useIsoLayoutEffect)(()=>{let t=e||s||!n?void 0:function(e,t){let a=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let a=e.id;if(a){let t=e.nextElementSibling;if(t&&t.htmlFor===a)return t}let r=e.labels;return r&&r[0]}(e);if(a)return!a.id&&t&&(a.id=t),a.id||void 0}(i.current,u);o!==t&&d(t)}),c}])},186698,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)}}])},590803,e=>{"use strict";e.s(["isElementDisabled",0,function(e){return null==e||e.hasAttribute("disabled")||"true"===e.getAttribute("aria-disabled")}])},951437,e=>{"use strict";e.i(247167);var t=e.i(271645);e.s(["useControlled",0,function({controlled:e,default:a,name:r,state:s="value"}){let{current:i}=t.useRef(void 0!==e),[n,l]=t.useState(a),o=t.useCallback(e=>{i||l(e)},[]);return[i&&void 0!==e?e:n,o]}])},689664,e=>{"use strict";var t=e.i(456420);let a={name:"check",size:24,node:[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]};a.node;let r=(0,t.default)(a);e.s(["Check",0,r],689664)},24071,e=>{"use strict";var t=e.i(456420);let a={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};a.node;let r=(0,t.default)(a);e.s(["ChevronLeft",0,r],24071)},867927,e=>{"use strict";var t=e.i(456420);let a={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};a.node;let r=(0,t.default)(a);e.s(["ChevronRight",0,r],867927)},152886,e=>{"use strict";var t=e.i(456420);let a={name:"circle-dashed",size:24,node:[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]};a.node;let r=(0,t.default)(a);e.s(["CircleDashed",0,r],152886)},559092,e=>{"use strict";var t=e.i(456420);let a={name:"circle-dot",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]};a.node;let r=(0,t.default)(a);e.s(["CircleDot",0,r],559092)},275043,446513,e=>{"use strict";var t=e.i(456420);let a={name:"circle-question-mark",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["help-circle","circle-help"]};a.node;let r=(0,t.default)(a);e.s(["default",0,r],275043);let s={name:"monitor",size:24,node:[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]};s.node;let i=(0,t.default)(s);e.s(["Monitor",0,i],446513)},821048,e=>{"use strict";var t=e.i(456420);let a={name:"circle-slash",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]};a.node;let r=(0,t.default)(a);e.s(["CircleSlash",0,r],821048)},386247,e=>{"use strict";var t=e.i(456420);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 r=(0,t.default)(a);e.s(["Ellipsis",0,r],386247)},787703,e=>{"use strict";var t=e.i(456420);let a={name:"git-pull-request",size:24,node:[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["line",{x1:"6",x2:"6",y1:"9",y2:"21",key:"rroup"}]]};a.node;let r=(0,t.default)(a);e.s(["GitPullRequest",0,r],787703)},806537,e=>{"use strict";var t=e.i(456420);let a={name:"lock",size:24,node:[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]};a.node;let r=(0,t.default)(a);e.s(["Lock",0,r],806537)},515281,e=>{"use strict";var t=e.i(456420);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 r=(0,t.default)(a);e.s(["Pencil",0,r],515281)},566595,e=>{"use strict";var t=e.i(456420);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 r=(0,t.default)(a);e.s(["Search",0,r],566595)},730274,e=>{"use strict";var t=e.i(456420);let a={name:"send",size:24,node:[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]};a.node;let r=(0,t.default)(a);e.s(["Send",0,r],730274)},819759,e=>{"use strict";var t=e.i(456420);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 r=(0,t.default)(a);e.s(["SquarePen",0,r],819759)},298260,e=>{"use strict";var t=e.i(843476),a=e.i(965324);e.s(["Kbd",0,function({className:e,...r}){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),...r})}])},638919,e=>{"use strict";var t=e.i(843476),a=e.i(353753),r=e.i(225913),s=e.i(560964),i=e.i(965324),n=e.i(574296);let l=(0,r.cva)("fixed z-50 flex flex-col bg-popover text-body text-popover-foreground shadow-lg outline-none duration-(--duration-slow) ease-(--ease-standard) data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",{variants:{side:{right:"inset-y-0 right-0 h-full w-full border-l border-border sm:max-w-(--size-sheet) motion-safe:data-open:slide-in-from-right motion-safe:data-closed:slide-out-to-right",bottom:"inset-x-0 bottom-0 max-h-[90dvh] rounded-t-2xl border-t border-border px-4 pt-2 pb-[max(calc(var(--spacing)*4),env(safe-area-inset-bottom))] motion-safe:data-open:slide-in-from-bottom motion-safe:data-closed:slide-out-to-bottom"}},defaultVariants:{side:"right"}});e.s(["Sheet",0,function(e){return(0,t.jsx)(a.Dialog.Root,{"data-slot":"sheet",...e})},"SheetBody",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-body",className:(0,i.classNames)("min-h-0 flex-1 overflow-y-auto in-data-[side=right]:p-6",e),...a})},"SheetClose",0,function(e){return(0,t.jsx)(a.Dialog.Close,{"data-slot":"sheet-close",...e})},"SheetContent",0,function({className:e,children:r,side:o="right",...d}){return(0,t.jsxs)(a.Dialog.Portal,{children:[(0,t.jsx)(a.Dialog.Backdrop,{"data-slot":"sheet-overlay",className:"fixed inset-0 z-50 bg-overlay duration-(--duration-slow) data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0"}),(0,t.jsxs)(a.Dialog.Popup,{"data-slot":"sheet-content","data-side":o,className:(0,i.classNames)(l({side:o}),e),...d,children:["bottom"===o?(0,t.jsx)("div",{"aria-hidden":!0,className:"mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-border"}):(0,t.jsx)(a.Dialog.Close,{"data-slot":"sheet-close",render:(0,t.jsx)(n.Button,{variant:"ghost",size:"sm",isIconOnly:!0,className:"absolute top-4 right-4","aria-label":"Close"}),children:(0,t.jsx)(s.XIcon,{})}),r]})]})},"SheetDescription",0,function({className:e,...r}){return(0,t.jsx)(a.Dialog.Description,{"data-slot":"sheet-description",className:(0,i.classNames)("text-meta text-muted-foreground",e),...r})},"SheetFooter",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-footer",className:(0,i.classNames)("flex flex-col-reverse gap-2 pt-3 in-data-[side=right]:flex-row in-data-[side=right]:justify-end in-data-[side=right]:border-t in-data-[side=right]:px-6 in-data-[side=right]:py-4",e),...a})},"SheetHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,i.classNames)("flex flex-col gap-0.5 in-data-[side=right]:border-b in-data-[side=right]:px-6 in-data-[side=right]:py-5 in-data-[side=right]:pr-14",e),...a})},"SheetTitle",0,function({className:e,...r}){return(0,t.jsx)(a.Dialog.Title,{"data-slot":"sheet-title",className:(0,i.classNames)("text-heading font-semibold text-foreground in-data-[side=bottom]:py-2 in-data-[side=bottom]:text-section",e),...r})},"SheetTrigger",0,function(e){return(0,t.jsx)(a.Dialog.Trigger,{"data-slot":"sheet-trigger",...e})}])},791727,e=>{"use strict";var t=e.i(843476),a=e.i(965324);e.s(["Label",0,function({className:e,htmlFor:r,...s}){return(0,t.jsx)("label",{"data-slot":"label",htmlFor:r,className:(0,a.classNames)("text-body font-medium text-foreground select-none",e),...s})}])},152678,e=>{"use strict";var t=e.i(843476);e.s([],506329),e.i(506329);var a=e.i(271645),r=e.i(828918),s=e.i(146376),i=e.i(502077),n=e.i(956789),l=e.i(675606),o=e.i(56434),d=e.i(474354),u=e.i(875812);let c={checked:e=>e?{"data-checked":""}:{"data-unchecked":""},...d.transitionStatusMapping,...u.fieldValidityMapping};var m=e.i(64350),h=e.i(788015),f=e.i(552245),x=e.i(540886),p=e.i(370359),g=e.i(348990),b=e.i(469690),y=e.i(157153),v=e.i(247778),k=e.i(31421),j=e.i(538489);let w=a.createContext(void 0);var N=e.i(186698),C=e.i(733332);let S=a.createContext(void 0),R=a.forwardRef(function(e,d){let{render:u,className:C,disabled:R=!1,readOnly:I=!1,required:z=!1,"aria-labelledby":M,value:K,inputRef:E,nativeButton:q=!1,id:L,style:D,...P}=e,O=a.useContext(w),{disabled:T,readOnly:F,required:A,form:B,checkedValue:H,touched:V=!1,validation:U,name:_,setCheckedValue:W=n.NOOP,setTouched:Q=n.NOOP,registerInputRef:$=n.NOOP}=O??{},{setTouched:G,setFilled:Y,state:J,disabled:X}=(0,b.useFieldRootContext)(),Z=(0,y.useFieldItemContext)(),{labelId:ee,getDescriptionProps:et}=(0,v.useLabelableContext)(),ea=X||Z.disabled||T||R,er=F||I,es=A||z,ei=O?H===K:""===K,en=a.useRef(null),el=a.useRef(null),eo=U?.registerInput,ed=a.useCallback(e=>eo?.(e,{controlRef:en,value:void 0}),[eo]),eu=(0,r.useMergedRefs)(E,el,$,ed);(0,s.useIsoLayoutEffect)(()=>{el.current?.checked&&Y(!0)},[Y]),(0,s.useIsoLayoutEffect)(()=>{if(el.current){if(ea&&ei)return void $(null);$(el.current)}},[ei,ea,$]);let ec=(0,h.useBaseUiId)(),em=(0,j.useLabelableId)({id:L}),eh=q?void 0:em,ef={role:"radio","aria-checked":ei,"aria-labelledby":(0,k.useAriaLabelledBy)(M,ee,el,!q,eh),[p.ACTIVE_COMPOSITE_ITEM]:ei?"":void 0,id:q?em:ec,onKeyDown(e){"Enter"===e.key&&e.preventDefault()},onClick(e){if(e.defaultPrevented||ea||er)return;e.preventDefault();let t=el.current;t&&(0,m.dispatchClickWithModifiers)(t,e)},onFocus(e){e.defaultPrevented||ea||er||!V||(el.current?.click(),Q(!1))}},{getButtonProps:ex,buttonRef:ep}=(0,x.useButton)({disabled:ea,native:q,composite:!1}),eg={type:"radio",ref:eu,form:B,id:eh,name:_,tabIndex:-1,style:_?i.visuallyHiddenInput:i.visuallyHidden,"aria-hidden":!0,...void 0!==K?{value:(0,N.serializeValue)(K)}:n.EMPTY_OBJECT,disabled:ea,checked:ei,required:es,readOnly:er,onChange(e){if(e.nativeEvent.defaultPrevented||ea||er||void 0===K)return;let t=(0,l.createChangeEventDetails)(o.REASONS.none,e.nativeEvent);W(K,t),t.isCanceled||G(!0)},onClick(e){e.stopPropagation()},onFocus(){en.current?.focus()}},eb=a.useMemo(()=>({...J,required:es,disabled:ea,readOnly:er,checked:ei}),[J,ea,er,ei,es]),ey=void 0!==O,ev=[d,en,ep],ek=[ef,P,ex,et,U?e=>U.getValidationProps(ea,e):n.EMPTY_OBJECT],ej=(0,f.useRenderElement)("span",e,{enabled:!ey,state:eb,ref:ev,props:ek,stateAttributesMapping:c});return(0,t.jsxs)(S.Provider,{value:eb,children:[ey?(0,t.jsx)(g.CompositeItem,{tag:"span",render:u,className:C,style:D,state:eb,refs:ev,props:ek,stateAttributesMapping:c}):ej,(0,t.jsx)("input",{...eg,suppressHydrationWarning:!0})]})});var I=e.i(137584),z=e.i(223910);let M=a.forwardRef(function(e,t){let{render:r,className:s,style:i,keepMounted:n=!1,...l}=e,o=function(){let e=a.useContext(S);if(void 0===e)throw Error((0,C.default)(52));return e}(),d=o.checked,{mounted:u,transitionStatus:m,setMounted:h}=(0,z.useTransitionStatus)(d),x={...o,transitionStatus:m},p=a.useRef(null),g=(0,f.useRenderElement)("span",e,{ref:[t,p],state:x,props:l,stateAttributesMapping:c});return((0,I.useOpenChangeComplete)({batch:!0,enabled:!d,open:d,ref:p,onComplete(){d||h(!1)}}),n||u)?g:null});e.s(["Indicator",0,M,"Root",0,R],66747);var K=e.i(66747),K=K,E=e.i(951437),q=e.i(667865),L=e.i(584446),D=e.i(673327),P=e.i(405934),O=e.i(381104),T=e.i(155627),F=e.i(387068),A=e.i(884708),B=e.i(606039);let H=[D.SHIFT],V=a.forwardRef(function(e,r){let{render:s,className:i,disabled:n,readOnly:l,required:o,onValueChange:d,value:c,defaultValue:m,form:f,name:x,inputRef:p,id:g,style:y,...k}=e,{setTouched:j,setFocused:N,validationMode:C,name:S,disabled:R,state:I,validation:z,setDirty:M,setFilled:K,validityData:D}=(0,b.useFieldRootContext)(),{labelId:V}=(0,v.useLabelableContext)(),{clearErrors:U,elementRef:_}=(0,A.useFormContext)(),W=(0,F.useFieldsetRootContext)(!0),Q=R||n,$=S??x,G=(0,h.useBaseUiId)(g),[Y,J]=(0,E.useControlled)({controlled:c,default:m,name:"RadioGroup",state:"value"}),[X,Z]=a.useState(!1),ee=(0,q.useStableCallback)((e,t)=>{d?.(e,t),t.isCanceled||J(e)}),et=z.getInputControl,ea=a.useMemo(()=>({get current(){return et()}}),[et]),er=a.useRef(null),es=a.useRef(null);function ei(e){let t;return p&&("function"==typeof p?t=p(e):p.current=e),er.current=e,t}let en=(0,q.useStableCallback)(e=>{if(!e||e.disabled)return;es.current||(es.current=e);let t=er.current,a=e.checked||null==t||t.disabled?ei(e):void 0;return()=>{es.current===e&&(es.current=null),er.current===e?a?(a(),er.current=null):ei(null):a?.()}}),el=(0,q.useStableCallback)(()=>{let e=_.current;if(!e)return Y??null;for(let t of z.registeredInputs.keys())if(t.checked&&(0,T.isEligibleInput)(t,e))return Y??null;return null});(0,O.useRegisterFieldControl)(ea,G,Y??null,el,!Q,x),(0,B.useValueChanged)(Y,()=>{U($),M(Y!==D.initialValue),K(null!=Y),z.change(Y);let e=es.current;null==Y&&e&&!e.disabled&&ei(e)});let eo=V??W?.legendId,ed={...I,disabled:Q??!1,required:o??!1,readOnly:l??!1},eu=a.useMemo(()=>({checkedValue:Y,disabled:Q,form:f,validation:z,name:$,readOnly:l,registerInputRef:en,required:o,setCheckedValue:ee,setTouched:Z,touched:X}),[Y,Q,f,z,$,l,en,o,ee,Z,X]);return(0,t.jsx)(w.Provider,{value:eu,children:(0,t.jsx)(P.CompositeRoot,{render:s,className:i,style:y,state:ed,props:[{id:g,role:"radiogroup","aria-required":o||void 0,"aria-disabled":Q||void 0,"aria-readonly":l||void 0,"aria-labelledby":eo,onFocus(){N(!0)},onBlur(e){(0,L.contains)(e.currentTarget,e.relatedTarget)||(j(!0),N(!1),"onBlur"===C&&z.commit(Y))},onKeyDownCapture(e){e.key.startsWith("Arrow")&&(Z(!0),N(!0))}},k,e=>z.getValidationProps(Q??!1,e)],refs:[r],stateAttributesMapping:u.fieldValidityMapping,enableHomeAndEndKeys:!1,modifierKeys:H})})});var U=e.i(965324);e.s(["RadioGroup",0,function({className:e,...a}){return(0,t.jsx)(V,{"data-slot":"radio-group",className:(0,U.classNames)("flex flex-col gap-2",e),...a})},"RadioGroupItem",0,function({className:e,...a}){return(0,t.jsx)(K.Root,{"data-slot":"radio-group-item",className:(0,U.classNames)("inline-flex size-4 shrink-0 items-center justify-center rounded-full border border-input bg-background transition-colors duration-(--duration-fast) outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring data-checked:border-primary data-disabled:opacity-45",e),...a,children:(0,t.jsx)(K.Indicator,{"data-slot":"radio-group-indicator",className:"size-2 rounded-full bg-primary"})})}],152678)},219321,e=>{"use strict";var t=e.i(843476),a=e.i(965324);e.s(["Skeleton",0,function({className:e,...r}){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),...r})}])},443988,e=>{"use strict";var t=e.i(843476),a=e.i(225913),r=e.i(965324);let s=(0,a.cva)("w-full min-w-0 resize-none rounded-md border border-input bg-card px-3 py-2 text-foreground shadow-sm transition-[border-color,box-shadow] duration-(--duration-fast) outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/22 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/16 disabled:cursor-not-allowed disabled:bg-muted disabled:opacity-50 disabled:shadow-none",{variants:{size:{md:"text-body",touch:"rounded-lg text-input-touch"},isMono:{true:"font-mono",false:""}},compoundVariants:[{size:"md",isMono:!0,className:"text-code"}],defaultVariants:{size:"md",isMono:!1}});e.s(["Textarea",0,function({className:e,size:a,isMono:i,rows:n=4,...l}){return(0,t.jsx)("textarea",{"data-slot":"textarea",rows:n,className:(0,r.classNames)(s({size:a,isMono:i}),e),...l})}])},67874,e=>{"use strict";var t=e.i(843476),a=e.i(965324);e.s(["EmptyState",0,function({title:e,description:r,icon:s,action:i,variant:n="page",className:l}){return"section"===n?(0,t.jsxs)("p",{"data-slot":"empty-state","data-variant":n,className:(0,a.classNames)("rounded-lg border border-border px-4 py-3 text-center text-meta text-muted-foreground",l),children:[e,r?(0,t.jsxs)(t.Fragment,{children:[" ",r]}):null]}):"no-results"===n?(0,t.jsxs)("div",{"data-slot":"empty-state","data-variant":n,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",l),children:[(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:e}),i]}):(0,t.jsxs)("div",{"data-slot":"empty-state","data-variant":n,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",l),children:[s?(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:s}):null,(0,t.jsx)("h2",{className:"text-heading font-semibold text-foreground max-sm:text-heading-touch",children:e}),r?(0,t.jsx)("p",{className:"max-w-96 text-meta text-muted-foreground max-sm:text-body-touch",children:r}):null,i?(0,t.jsx)("div",{className:"mt-1 max-sm:w-full max-sm:[&>*]:w-full",children:i}):null]})}])},298421,e=>{"use strict";var t=e.i(843476),a=e.i(456420);let r={name:"chevrons-down",size:24,node:[["path",{d:"m7 6 5 5 5-5",key:"1lc07p"}],["path",{d:"m7 13 5 5 5-5",key:"1d48rs"}]]};r.node;let s=(0,a.default)(r);var i=e.i(574296),n=e.i(817981);e.s(["LoadMore",0,function({what:e,isLoading:a,isFailed:r,onLoad:l,area:o}){return r?(0,t.jsx)(n.InlineError,{title:`Couldn’t load ${e}`,description:"What is shown stays as it is. Try again in a moment.",onRetry:l,className:"m-3"}):(0,t.jsx)("div",{className:"flex justify-center border-t border-border px-3.5 py-2.5",children:(0,t.jsx)(i.Button,{size:"sm",variant:"ghost",icon:(0,t.jsx)(s,{"aria-hidden":!0}),isLoading:a,onClick:l,"data-testid":`${o}-load-more`,children:a?`Loading ${e}...`:`Load ${e}`})})}],298421)},188393,e=>{"use strict";var t=e.i(843476),a=e.i(965324),r=e.i(219321);function s(e){return Array.from({length:e},(e,t)=>`row-${String(t)}`)}e.s(["LoadingSkeleton",0,function({variant:e,rows:i=4,label:n="Loading",className:l}){return(0,t.jsxs)("div",{role:"status","data-slot":"loading-skeleton","data-variant":e,className:(0,a.classNames)("w-full",l),children:[(0,t.jsx)("span",{className:"sr-only",children:n}),"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"}),s(i).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)(r.Skeleton,{className:"h-2.5 w-24"}),(0,t.jsx)(r.Skeleton,{className:"h-5 w-16"}),(0,t.jsx)(r.Skeleton,{className:"h-5 w-20"}),(0,t.jsx)(r.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:s(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)(r.Skeleton,{className:"h-2.5 w-20"}),(0,t.jsx)(r.Skeleton,{className:"h-6 w-10"}),(0,t.jsx)(r.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)(r.Skeleton,{className:"h-7 w-48"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(r.Skeleton,{className:"h-5 w-20"}),(0,t.jsx)(r.Skeleton,{className:"h-5 w-16"})]}),(0,t.jsx)(r.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:s(i).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)(r.Skeleton,{className:"h-3 w-28"}),(0,t.jsx)(r.Skeleton,{className:"h-5 w-16"})]}),(0,t.jsx)(r.Skeleton,{className:"h-2.5 w-44"})]},e))}):null]})}])},496755,e=>{"use strict";var t=e.i(843476),a=e.i(806537);e.s(["PayloadNotReachable",0,function({testId:e}){return(0,t.jsxs)("div",{role:"note","data-testid":e,className:"flex gap-2 rounded-lg border border-tone-ended-border bg-tone-ended-bg p-3 text-tone-ended-fg",children:[(0,t.jsx)(a.Lock,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon) shrink-0"}),(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("p",{className:"text-body font-medium",children:"Sealed, key not reachable"}),(0,t.jsx)("p",{className:"text-meta text-foreground",children:"The payload is kept. It shows again once your company key is reachable."})]})]})}])},577880,485538,e=>{"use strict";var t=e.i(843476),a=e.i(566595),r=e.i(374368),s=e.i(574296),i=e.i(298260),n=e.i(704974),l=e.i(965324);function o({switcher:e,account:d,onSearch:u,searchLabel:c="Search or jump to",children:m,actions:h,className:f}){return(0,t.jsxs)("header",{"data-slot":"app-header",className:(0,l.classNames)("sticky top-0 z-30 flex h-(--size-header) shrink-0 items-center justify-between gap-4 border-b border-border bg-background px-6",f),children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[void 0===e?(0,t.jsx)("span",{"data-testid":"app-switcher-loading","aria-hidden":!0,className:"h-4 w-36 shrink-0 animate-pulse rounded bg-muted motion-reduce:animate-none"}):(0,t.jsx)(r.AppSwitcher,{switcher:e,layout:"full",className:"shrink-0"}),m]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-3",children:[h,u?(0,t.jsxs)(s.Button,{size:"sm",icon:(0,t.jsx)(a.Search,{"aria-hidden":!0}),"data-testid":"header-search",className:"w-60 justify-start font-normal text-muted-foreground max-lg:w-auto",onClick:u,children:[(0,t.jsx)("span",{className:"grow text-left max-lg:sr-only",children:c}),(0,t.jsx)(i.Kbd,{children:"⌘K"})]}):null,(0,t.jsx)(n.AvatarMenu,{...d})]})]})}var d=e.i(867927),u=e.i(819759),c=e.i(522016);let m={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 h({state:e,className:a}){let{label:r,dot:s}=m[e];return(0,t.jsxs)("span",{"data-slot":"live-status","data-state":e,"aria-live":"polite",className:(0,l.classNames)("inline-flex items-center gap-1.5 text-meta text-muted-foreground",a),children:[(0,t.jsx)("span",{"aria-hidden":!0,className:(0,l.classNames)("size-2 shrink-0 rounded-full",s)}),r]})}e.s(["Header",0,function({breadcrumb:e,parents:a=[],live:r,switcher:i,account:n,onCompose:l,onSearch:m}){return(0,t.jsxs)(o,{switcher:i,account:n,onSearch:m,searchLabel:"Search ships or jump to",className:"hidden sm:flex",actions:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(h,{state:r}),l?(0,t.jsx)(s.Button,{size:"sm",icon:(0,t.jsx)(u.SquarePen,{"aria-hidden":!0}),"data-testid":"header-compose",onClick:l,children:"Compose"}):null]}),children:[(0,t.jsx)(d.ChevronRight,{"aria-hidden":!0,className:"size-3.5 shrink-0 text-muted-foreground"}),(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:[a.map(e=>(0,t.jsxs)("li",{className:"flex shrink-0 items-center gap-1.5",children:[(0,t.jsx)(c.default,{href:e.href,className:"text-muted-foreground hover:text-foreground hover:underline",children:e.label}),(0,t.jsx)(d.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})]})})]})}],577880);var f=e.i(24071);e.s(["TopBar",0,function({title:e,live:i,actions:l,back:o,switcher:d,account:u,onSearch:m}){let x=m&&!o?m:void 0;return(0,t.jsxs)("header",{"data-slot":"top-bar","data-mode":o?"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:[o?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(c.default,{href:o.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)(f.ChevronLeft,{"aria-hidden":!0}),o.label]}),(0,t.jsx)("p",{className:"min-w-0 flex-1 truncate text-center text-body-touch font-semibold text-foreground",children:e})]}):d?(0,t.jsx)(r.AppSwitcher,{switcher:d,layout:"compact",className:"min-w-0"}):(0,t.jsx)("p",{className:"truncate px-1.5 text-title-touch font-semibold text-foreground",children:"Console"}),(0,t.jsx)(h,{state:i}),l||x||u&&!o?(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[x?(0,t.jsx)(s.Button,{variant:"ghost",size:"touch",isIconOnly:!0,"aria-label":"Search ships or jump to","data-testid":"top-bar-search",onClick:x,children:(0,t.jsx)(a.Search,{"aria-hidden":!0})}):null,l,u&&!o?(0,t.jsx)(n.AvatarMenuSheet,{...u}):null]}):null]})}],485538)},509892,e=>{"use strict";var t=e.i(843476),a=e.i(819759),r=e.i(574296),s=e.i(577880),i=e.i(485538);e.s(["ListPage",0,function({title:e,description:n,titleMeta:l,primaryAction:o,toolbar:d,live:u,onCompose:c,onSearch:m,switcher:h,account:f,banner:x,phoneTopBar:p,children:g}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.Header,{breadcrumb:e,live:u,switcher:h,account:f,onCompose:c,onSearch:m}),x,p??(0,t.jsx)(i.TopBar,{title:e,live:u,switcher:h,account:f,onSearch:m,actions:c?(0,t.jsx)(r.Button,{variant:"ghost",size:"touch",isIconOnly:!0,"aria-label":"Compose","data-testid":"top-bar-compose",onClick:c,children:(0,t.jsx)(a.SquarePen,{"aria-hidden":!0})}):void 0}),(0,t.jsxs)("main",{className:"flex grow flex-col gap-5 px-8 py-6 max-sm:gap-3.5 max-sm:px-4 max-sm:pt-3.5 max-sm:pb-[calc(var(--size-tabbar)+var(--spacing)*4)]",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4 max-sm:gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2.5 gap-y-1",children:[(0,t.jsx)("h1",{className:"text-title font-semibold tracking-tight text-foreground max-sm:text-title-touch",children:e}),l]}),n?(0,t.jsx)("p",{className:"text-meta text-muted-foreground max-sm:text-body-touch",children:n}):null]}),o?(0,t.jsx)("div",{className:"shrink-0 max-sm:w-full max-sm:[&>*]:w-full",children:o}):null]}),d,g]})]})}])},718423,e=>{"use strict";var t=e.i(912598),a=e.i(905861),r=e.i(271645),s=e.i(586413),i=e.i(123938),n=e.i(427702);let l=new Set(["FleetInitialised","ShipCommissioned","ShipClaimed","LeaseRevoked","CredentialRevoked","StartingPromptIssued","ShipRetired","DeliveryAcknowledged","DeliveryUndeliverable","ShipReported","CrewRequested","CrewRequestRemoved","CrewAssigned","CrewStatusChanged","CrewRequestExplained","CrewRequestGivenBack","LabelAssigned","LabelUnassigned","LabelRetired"]);function o(e,t){return e.pages.some(e=>e.items.some(e=>e.id===t))}let d=new Set(["LabelDefined","LabelValuesChanged","LabelRetired","LabelAssigned","LabelUnassigned","LabelDeleted"]),u=new Set(["FleetSealingTurnedOn","FleetPayloadsSealed","FleetDataKeyCreated","FleetCompanyKeyChanged","FleetRecoveryKeyChanged","FleetKeysRecovered","FleetKeyUnavailable","FleetKeyAvailable"]),c=new Set(["FeatureFlagTurnedOn","FeatureFlagTurnedOff"]),m=new Set(["DeliveryUndeliverable","DeliveryNotHandled","DeliveryDismissed"]),h=new Set(["NetworkRulesSet","NetworkRulesDraftSaved","NetworkRulesDraftDiscarded","NetworkRulesDeclared","BuiltInRuleChanged"]);e.s(["useLiveFleet",0,function(){let e=(0,n.useTRPC)(),f=(0,t.useQueryClient)(),[x,p]=(0,r.useState)(new Set),g=(0,i.useIsReopening)(),[b]=(0,r.useState)(()=>{let t,a,r,i;return function(e){var t;let a,r,i,{trpc:n,queryClient:f,reload:x}=e,p=[...n.fleet.list.infiniteQueryKey()],g=()=>f.getQueriesData({queryKey:p}).flatMap(([,e])=>void 0===e?[]:[e]),b=(t={readRow:e=>f.query({...n.fleet.listedShip.queryOptions({shipId:e}),staleTime:0}),writeRow:t=>{let a=g().some(e=>!o(e,t.id));f.setQueriesData({queryKey:p},e=>e&&function(e,t){if(o(e,t.id))return{...e,pages:e.pages.map(e=>{var a;return{...e,items:(a=e.items,a.map(e=>e.id===t.id?t:e))}})};let[a,...r]=e.pages;return void 0===a?e:{...e,pages:[{...a,items:[t,...a.items]},...r]}}(e,t)),a&&e.onPlacedFirst(t.id)}},a=new Set,r=new Set,i=async e=>{a.add(e);try{do r.delete(e),t.writeRow(await t.readRow(e));while(r.has(e))}catch{}finally{a.delete(e),r.delete(e)}},e=>{a.has(e)?r.add(e):i(e)}),y=()=>{x(n.fleet.stuckCount.queryKey()),x(n.fleet.stuckSummary.queryKey()),x(n.fleet.stuck.pathKey())};return e=>{var t,a,r,i,o,f,p;if("resync"===e.kind){x(n.fleet.pathKey()),x(s.INBOX_KEY);return}let{event:v}=e;for(let e of new Set([v.shipId,v.actorShipId]))null!==e&&(x(n.fleet.ship.queryKey({shipId:e})),x(n.fleet.shipTimeline.infiniteQueryKey({shipId:e})),x(n.fleet.shipWay.queryKey({shipId:e})));if(null!==v.messageId&&(x(n.fleet.shipMessages.pathKey()),x(n.fleet.shipWay.pathKey()),x(n.fleet.message.queryKey({messageId:v.messageId})),x(n.fleet.messageDeliveries.infiniteQueryKey({messageId:v.messageId})),x(n.fleet.inbox.pathKey()),x(n.fleet.inboxCount.queryKey()),x(s.INBOX_KEY),y()),"DeliveryAcknowledged"===v.type&&x(n.fleet.acknowledged.queryKey()),t=v.type,m.has(t)&&x(n.fleet.needsAttention.pathKey()),a=v.type,d.has(a)&&x(n.fleet.labels.queryKey()),r=v.type,u.has(r)&&x(n.fleet.sealing.queryKey()),i=v.type,c.has(i)&&x(n.console.session.queryKey()),"NetworkRulesDeclared"===v.type&&x(n.fleet.declaredNetworkRules.queryKey()),("BuiltInRuleChanged"===(o=v.type)||"NetworkRulesSet"===o)&&x(n.fleet.builtInRules.queryKey()),f=v.type,h.has(f)&&(x(n.fleet.networkRules.queryKey()),x(n.fleet.networkRulesDraftChanges.queryKey()),x(n.fleet.explainReach.pathKey())),p=v.type,l.has(p)){if(g().length>0)for(let e of new Set([v.shipId,v.actorShipId]))null!==e&&b(e);x(n.fleet.shipCounts.pathKey()),y()}}}({trpc:e,queryClient:f,reload:(t=new Set,a=new Set,r=e=>f.invalidateQueries({queryKey:e,exact:!0},{cancelRefetch:!1}),i=async e=>{t.add(e.queryHash);let s=e.isBehind;try{for(await r(e.queryKey);s||a.delete(e.queryHash);)s=!1,await r(e.queryKey)}finally{t.delete(e.queryHash)}},e=>{for(let r of f.getQueryCache().findAll({queryKey:e}))t.has(r.queryHash)?a.add(r.queryHash):i({queryHash:r.queryHash,queryKey:r.queryKey,isBehind:"fetching"===r.state.fetchStatus})}),onPlacedFirst:e=>{p(t=>new Set([...t,e]))}})}),y=(0,a.useSubscription)(e.fleet.events.subscriptionOptions({lastEventId:null},{onData:({data:e})=>{b(e)}}));return{live:"connecting"===y.status&&g?"live":function(e){switch(e){case"pending":return"live";case"connecting":return"reconnecting";case"idle":case"error":return"offline"}}(y.status),placedFirstShipIds:x,error:y.error}}])},974470,631071,e=>{"use strict";var t=e.i(271645);let a=/Mac|iPhone|iPad|iPod/;function r(e){return"mac"===e?"⌘↵":"Ctrl ↵"}function s(e){return"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&!e.isComposing}function i(){return()=>void 0}function n(){var e;return e=navigator.userAgent,a.test(e)?"mac":"other"}function l(){return null}e.s(["isSendShortcut",0,s,"sendShortcutAria",0,function(e){return"mac"===e?"Meta+Enter":"Control+Enter"},"sendShortcutKeys",0,r,"submitOnSendShortcut",0,function(e){let{key:t,metaKey:a,ctrlKey:r}=e;s({key:t,metaKey:a,ctrlKey:r,isComposing:e.nativeEvent.isComposing})&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},"useShortcutPlatform",0,function(){return(0,t.useSyncExternalStore)(i,n,l)}],974470);var o=e.i(843476),d=e.i(298260);e.s(["SendShortcutHint",0,function({platform:e}){return(0,o.jsx)(d.Kbd,{"aria-hidden":!0,"data-testid":"send-shortcut-hint",className:"border-primary-foreground/25 bg-primary-foreground/10 text-primary-foreground",children:r(e)})}],631071)},890135,e=>{"use strict";e.s(["OPERATOR_NAME",0,"argo","capitalised",0,function(e){return e.charAt(0).toUpperCase()+e.slice(1)},"counted",0,function(e,t){return`${String(e)} ${1===e?t.one:t.many}`},"ship",0,function(e){return{kind:"ship",party:e}},"text",0,function(e){return{kind:"text",text:e}}])}]);