@aeolus-fleet/gateway 0.37.2 → 0.37.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/adapters/fleet/active-ships.js +24 -1
  2. package/dist/adapters/fleet/active-ships.js.map +1 -1
  3. package/package.json +1 -1
  4. package/web/.next/BUILD_ID +1 -1
  5. package/web/.next/build-manifest.json +3 -3
  6. package/web/.next/diagnostics/route-bundle-stats.json +72 -72
  7. package/web/.next/fallback-build-manifest.json +3 -3
  8. package/web/.next/prerender-manifest.json +3 -3
  9. package/web/.next/server/app/(bridge)/bridge/basket/page/server-reference-manifest.json +10 -10
  10. package/web/.next/server/app/(bridge)/bridge/basket/page.js.nft.json +1 -1
  11. package/web/.next/server/app/(bridge)/bridge/basket/page_client-reference-manifest.js +1 -1
  12. package/web/.next/server/app/(bridge)/bridge/done/page/server-reference-manifest.json +4 -4
  13. package/web/.next/server/app/(bridge)/bridge/done/page.js.nft.json +1 -1
  14. package/web/.next/server/app/(bridge)/bridge/done/page_client-reference-manifest.js +1 -1
  15. package/web/.next/server/app/(bridge)/bridge/fleet/page/server-reference-manifest.json +3 -3
  16. package/web/.next/server/app/(bridge)/bridge/fleet/page.js.nft.json +1 -1
  17. package/web/.next/server/app/(bridge)/bridge/fleet/page_client-reference-manifest.js +1 -1
  18. package/web/.next/server/app/(bridge)/bridge/page/server-reference-manifest.json +9 -9
  19. package/web/.next/server/app/(bridge)/bridge/page.js.nft.json +1 -1
  20. package/web/.next/server/app/(bridge)/bridge/page_client-reference-manifest.js +1 -1
  21. package/web/.next/server/app/(bridge)/bridge/settings/page/server-reference-manifest.json +3 -3
  22. package/web/.next/server/app/(bridge)/bridge/settings/page.js.nft.json +1 -1
  23. package/web/.next/server/app/(bridge)/bridge/settings/page_client-reference-manifest.js +1 -1
  24. package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page/server-reference-manifest.json +4 -4
  25. package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page.js.nft.json +1 -1
  26. package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page_client-reference-manifest.js +1 -1
  27. package/web/.next/server/app/(bridge)/bridge/settings/routing/page/server-reference-manifest.json +7 -7
  28. package/web/.next/server/app/(bridge)/bridge/settings/routing/page.js.nft.json +1 -1
  29. package/web/.next/server/app/(bridge)/bridge/settings/routing/page_client-reference-manifest.js +1 -1
  30. package/web/.next/server/app/(bridge)/bridge/stay-aware/page/server-reference-manifest.json +9 -9
  31. package/web/.next/server/app/(bridge)/bridge/stay-aware/page.js.nft.json +1 -1
  32. package/web/.next/server/app/(bridge)/bridge/stay-aware/page_client-reference-manifest.js +1 -1
  33. package/web/.next/server/app/(bridge)/outside-parties/[name]/change/page/server-reference-manifest.json +17 -17
  34. package/web/.next/server/app/(bridge)/outside-parties/[name]/change/page.js.nft.json +1 -1
  35. package/web/.next/server/app/(bridge)/outside-parties/[name]/change/page_client-reference-manifest.js +1 -1
  36. package/web/.next/server/app/(bridge)/outside-parties/[name]/page/server-reference-manifest.json +10 -10
  37. package/web/.next/server/app/(bridge)/outside-parties/[name]/page.js.nft.json +1 -1
  38. package/web/.next/server/app/(bridge)/outside-parties/[name]/page_client-reference-manifest.js +1 -1
  39. package/web/.next/server/app/(bridge)/outside-parties/[name]/retire/page/server-reference-manifest.json +17 -17
  40. package/web/.next/server/app/(bridge)/outside-parties/[name]/retire/page.js.nft.json +1 -1
  41. package/web/.next/server/app/(bridge)/outside-parties/[name]/retire/page_client-reference-manifest.js +1 -1
  42. package/web/.next/server/app/(bridge)/outside-parties/add/page/server-reference-manifest.json +12 -12
  43. package/web/.next/server/app/(bridge)/outside-parties/add/page.js.nft.json +1 -1
  44. package/web/.next/server/app/(bridge)/outside-parties/add/page_client-reference-manifest.js +1 -1
  45. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +4 -4
  46. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-agent/page.js.nft.json +1 -1
  47. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +1 -1
  48. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-client/page/server-reference-manifest.json +4 -4
  49. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-client/page.js.nft.json +1 -1
  50. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-client/page_client-reference-manifest.js +1 -1
  51. package/web/.next/server/app/(bridge)/outside-parties/page/server-reference-manifest.json +4 -4
  52. package/web/.next/server/app/(bridge)/outside-parties/page.js.nft.json +1 -1
  53. package/web/.next/server/app/(bridge)/outside-parties/page_client-reference-manifest.js +1 -1
  54. package/web/.next/server/app/(console)/gateway-off/page/server-reference-manifest.json +1 -1
  55. package/web/.next/server/app/(console)/gateway-off/page.js.nft.json +1 -1
  56. package/web/.next/server/app/(console)/gateway-off/page_client-reference-manifest.js +1 -1
  57. package/web/.next/server/app/(console)/meetings/[meetingId]/page/server-reference-manifest.json +3 -3
  58. package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(console)/meetings/[meetingId]/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(console)/parties/page/server-reference-manifest.json +9 -9
  61. package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -1
  62. package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +1 -1
  63. package/web/.next/server/app/(console)/sign-in/failed/page/server-reference-manifest.json +1 -1
  64. package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -1
  65. package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +1 -1
  66. package/web/.next/server/app/(console)/slack/disconnect/page/server-reference-manifest.json +11 -11
  67. package/web/.next/server/app/(console)/slack/disconnect/page.js.nft.json +1 -1
  68. package/web/.next/server/app/(console)/slack/disconnect/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/(console)/slack/expose/page/server-reference-manifest.json +11 -11
  70. package/web/.next/server/app/(console)/slack/expose/page.js.nft.json +1 -1
  71. package/web/.next/server/app/(console)/slack/expose/page_client-reference-manifest.js +1 -1
  72. package/web/.next/server/app/(console)/slack/page/server-reference-manifest.json +11 -11
  73. package/web/.next/server/app/(console)/slack/page.js.nft.json +1 -1
  74. package/web/.next/server/app/(console)/slack/page_client-reference-manifest.js +1 -1
  75. package/web/.next/server/app/(console)/slack/remove/page/server-reference-manifest.json +11 -11
  76. package/web/.next/server/app/(console)/slack/remove/page.js.nft.json +1 -1
  77. package/web/.next/server/app/(console)/slack/remove/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/_global-error.html +1 -1
  79. package/web/.next/server/app/_global-error.rsc +1 -1
  80. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  81. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  82. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  83. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  84. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  85. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
  87. package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
  88. package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
  90. package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
  91. package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
  92. package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
  93. package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
  94. package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
  95. package/web/.next/server/chunks/ssr/01fr_app_(bridge)_bridge_settings_requests_[requestId]_page_actions_0o8g7_xshtmem.js +1 -1
  96. package/web/.next/server/chunks/ssr/01fr_app_(bridge)_bridge_settings_requests_[requestId]_page_actions_0o8g7_xshtmem.js.map +1 -1
  97. package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_settings_page_actions_0_te6h-2xxp7l.js +1 -1
  98. package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_settings_page_actions_0_te6h-2xxp7l.js.map +1 -1
  99. package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js +1 -1
  100. package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js.map +1 -1
  101. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_bridge_settings_routing_page_actions_06_j7s24dy5ee.js +1 -1
  102. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_bridge_settings_routing_page_actions_06_j7s24dy5ee.js.map +1 -1
  103. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_change_page_actions_1is-kjq5bubl4.js +1 -1
  104. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_change_page_actions_1is-kjq5bubl4.js.map +1 -1
  105. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_page_actions_1mctxtlzsa7xi.js +1 -1
  106. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_page_actions_1mctxtlzsa7xi.js.map +1 -1
  107. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_retire_page_actions_0xh6ok1un7s9k.js +1 -1
  108. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_retire_page_actions_0xh6ok1un7s9k.js.map +1 -1
  109. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_add-a2a-agent_page_actions_1w1q5eavo_loo.js +1 -1
  110. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_add-a2a-agent_page_actions_1w1q5eavo_loo.js.map +1 -1
  111. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_add_page_actions_0urcbg_r0lo7j.js +1 -1
  112. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_add_page_actions_0urcbg_r0lo7j.js.map +1 -1
  113. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ipo8r1s1ntds._.js +1 -1
  114. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ovcg5tg3nh49._.js +1 -1
  115. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ovcg5tg3nh49._.js.map +1 -1
  116. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ro-majrw7piv._.js +1 -1
  117. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ro-majrw7piv._.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/[root-of-the-server]__0xurmpdv5uqfl._.js +1 -1
  119. package/web/.next/server/chunks/ssr/[root-of-the-server]__0zz6fx0keti4r._.js +1 -1
  120. package/web/.next/server/chunks/ssr/[root-of-the-server]__0zz6fx0keti4r._.js.map +1 -1
  121. package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js +1 -1
  122. package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js.map +1 -1
  123. package/web/.next/server/chunks/ssr/[root-of-the-server]__19p4g16n2nh0b._.js +1 -1
  124. package/web/.next/server/chunks/ssr/[root-of-the-server]__19p4g16n2nh0b._.js.map +1 -1
  125. package/web/.next/server/chunks/ssr/[root-of-the-server]__1ncn4wx-1i09m._.js +1 -1
  126. package/web/.next/server/chunks/ssr/[root-of-the-server]__1ncn4wx-1i09m._.js.map +1 -1
  127. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
  128. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
  129. package/web/.next/server/chunks/ssr/_0_nfv33ug5g31._.js +1 -1
  130. package/web/.next/server/chunks/ssr/_0_nfv33ug5g31._.js.map +1 -1
  131. package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js +1 -1
  132. package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js.map +1 -1
  133. package/web/.next/server/chunks/ssr/{_0-9rlwz3ujd0r._.js → _0phqji_8-1g8r._.js} +2 -2
  134. package/web/.next/server/chunks/ssr/{_1ag569itedbet._.js.map → _0phqji_8-1g8r._.js.map} +1 -1
  135. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js +1 -1
  136. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -1
  137. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
  138. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
  139. package/web/.next/server/chunks/ssr/{_1ag569itedbet._.js → _0yt_0nnqp7qsf._.js} +2 -2
  140. package/web/.next/server/chunks/ssr/{_0-9rlwz3ujd0r._.js.map → _0yt_0nnqp7qsf._.js.map} +1 -1
  141. package/web/.next/server/chunks/ssr/{_15yv_08kq3cgn._.js → _12yl1q5vpvmnf._.js} +2 -2
  142. package/web/.next/server/chunks/ssr/{_1m4bmxzmjr-8s._.js.map → _12yl1q5vpvmnf._.js.map} +1 -1
  143. package/web/.next/server/chunks/ssr/{_1m4bmxzmjr-8s._.js → _15oq7v7za6xc0._.js} +2 -2
  144. package/web/.next/server/chunks/ssr/{_15yv_08kq3cgn._.js.map → _15oq7v7za6xc0._.js.map} +1 -1
  145. package/web/.next/server/chunks/ssr/_19gyfcgdw7y22._.js +57 -0
  146. package/web/.next/server/chunks/ssr/_19gyfcgdw7y22._.js.map +1 -0
  147. package/web/.next/server/chunks/ssr/_1cs_0d0h7mhw0._.js +1 -1
  148. package/web/.next/server/chunks/ssr/_1cs_0d0h7mhw0._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
  150. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
  152. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/_1whn-m68y_cvc._.js +57 -0
  154. package/web/.next/server/chunks/ssr/_1whn-m68y_cvc._.js.map +1 -0
  155. package/web/.next/server/chunks/ssr/web_0a9n7acgjrk5c._.js +1 -1
  156. package/web/.next/server/chunks/ssr/web_0a9n7acgjrk5c._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/web_1vvrekkq5mirt._.js +1 -1
  158. package/web/.next/server/chunks/ssr/web_1vvrekkq5mirt._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_basket_page_actions_0g7q_rc5nma1e.js +1 -1
  160. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_basket_page_actions_0g7q_rc5nma1e.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_done_page_actions_0kjm34arntdzv.js +1 -1
  162. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_done_page_actions_0kjm34arntdzv.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_fleet_page_actions_19wmo6phgvqfk.js +1 -1
  164. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_fleet_page_actions_19wmo6phgvqfk.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_page_actions_1ok64rg3edm_u.js +1 -1
  166. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_page_actions_1ok64rg3edm_u.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/{web_features_16z82ve7t15n5._.js → web_features_05tyk8t8uz71m._.js} +2 -2
  168. package/web/.next/server/chunks/ssr/{web_features_16z82ve7t15n5._.js.map → web_features_05tyk8t8uz71m._.js.map} +1 -1
  169. package/web/.next/server/chunks/ssr/{web_features_1e7_lwq7351pm._.js → web_features_0hnjtl8jg_qhq._.js} +2 -2
  170. package/web/.next/server/chunks/ssr/{web_features_1e7_lwq7351pm._.js.map → web_features_0hnjtl8jg_qhq._.js.map} +1 -1
  171. package/web/.next/server/chunks/ssr/{web_features_1wo7gr7bxvsi-._.js → web_features_1_648zpxn76jp._.js} +2 -2
  172. package/web/.next/server/chunks/ssr/{web_features_1wo7gr7bxvsi-._.js.map → web_features_1_648zpxn76jp._.js.map} +1 -1
  173. package/web/.next/server/chunks/ssr/{web_features_1fzx-ctm4ru39._.js → web_features_1uzz6jypukhkx._.js} +2 -2
  174. package/web/.next/server/chunks/ssr/{web_features_1fzx-ctm4ru39._.js.map → web_features_1uzz6jypukhkx._.js.map} +1 -1
  175. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +1 -1
  176. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -1
  177. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +1 -1
  178. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js.map +1 -1
  179. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +1 -1
  180. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/{web_features_bridge_0qdb9pmm6338t._.js → web_features_bridge_0ldot9q_-xh4o._.js} +2 -2
  182. package/web/.next/server/chunks/ssr/{web_features_bridge_0qdb9pmm6338t._.js.map → web_features_bridge_0ldot9q_-xh4o._.js.map} +1 -1
  183. package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js +1 -1
  184. package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js +1 -1
  185. package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js +1 -1
  187. package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js +1 -1
  189. package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js +1 -1
  191. package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js.map +1 -1
  192. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
  193. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
  194. package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
  195. package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
  196. package/web/.next/server/chunks/ssr/web_features_slack_actions_ts_1l3yg9vl20_vu._.js +1 -1
  197. package/web/.next/server/middleware-build-manifest.js +3 -3
  198. package/web/.next/server/pages/500.html +1 -1
  199. package/web/.next/server/preview-props.json +3 -3
  200. package/web/.next/server/server-reference-manifest.js +1 -1
  201. package/web/.next/server/server-reference-manifest.json +51 -51
  202. package/web/.next/static/chunks/{3ik7w8wf5u23q.js → 037n80h9g7uj9.js} +1 -1
  203. package/web/.next/static/chunks/{1lq70vpqz6u1c.js → 07m-_glbqp-37.js} +1 -1
  204. package/web/.next/static/chunks/{2v-0k1odkn9cu.js → 0aa4uzjjhyqka.js} +1 -1
  205. package/web/.next/static/chunks/{1edk_zyv9lbyy.js → 10irrhgnj6fen.js} +1 -1
  206. package/web/.next/static/chunks/{3ban8s8z3ah0y.js → 13wwvyhf3sngt.js} +1 -1
  207. package/web/.next/static/chunks/{17akrnci0j_nn.js → 15n0w5axo2pz9.js} +1 -1
  208. package/web/.next/static/chunks/{1zqkns-nn-wz0.js → 1zz_y28tujbue.js} +4 -4
  209. package/web/.next/static/chunks/{1_f6w3i1t1svg.js → 2bdw63_s9xtu_.js} +1 -1
  210. package/web/.next/static/chunks/{2_ayfyj3csc8m.js → 2v9rmbrsi3gic.js} +1 -1
  211. package/web/.next/static/chunks/{07km754q38z4c.js → 3-1jjh1cn7c8-.js} +1 -1
  212. package/web/.next/static/chunks/{0ev65_p1z_ll0.js → 37he-4csbzq66.js} +1 -1
  213. package/web/.next/static/chunks/{2490rbe6dmnwe.js → 3ce0mcxr613x9.js} +1 -1
  214. package/web/.next/static/chunks/{1e5_kej4hnnf_.js → 3q96u74uhyutq.js} +1 -1
  215. package/web/.next/static/chunks/{2v4z6cjtqu95k.js → 3qdxrlqdxsqgz.js} +1 -1
  216. package/web/.next/static/chunks/{27tnlhw9cxgul.js → 3tjpz6bq80t74.js} +1 -1
  217. package/web/.next/trace +1 -1
  218. package/web/.next/trace-build +1 -1
  219. package/web/.next/server/chunks/ssr/_1x3tv4gu7i2sy._.js +0 -57
  220. package/web/.next/server/chunks/ssr/_1x3tv4gu7i2sy._.js.map +0 -1
  221. package/web/.next/server/chunks/ssr/_1zcbk6s3j_jfy._.js +0 -57
  222. package/web/.next/server/chunks/ssr/_1zcbk6s3j_jfy._.js.map +0 -1
  223. /package/web/.next/static/{yJHYTb3NO7GRc3o3RS0f0 → LxcgnSJuKSN0rA6kJgwr6}/_buildManifest.js +0 -0
  224. /package/web/.next/static/{yJHYTb3NO7GRc3o3RS0f0 → LxcgnSJuKSN0rA6kJgwr6}/_clientMiddlewareManifest.js +0 -0
  225. /package/web/.next/static/{yJHYTb3NO7GRc3o3RS0f0 → LxcgnSJuKSN0rA6kJgwr6}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[33368,a=>{var b=a.i(5050);let c=(0,b.createServerReference)("600d7b220edec9ab18a80038d5b459fae730df7a95",b.callServer,void 0,b.findSourceMapURL,"removeFromBasket");a.s(["f",0,c])},91777,a=>{var b=a.i(87924),c=a.i(99271),d=a.i(76983),e=a.i(72131),f=a.i(52779),g=a.i(25959),h=a.i(26147),i=a.i(4901),j=a.i(72233),k=a.i(67975),l=a.i(75285),m=a.i(33368),n=a.i(16550),o=a.i(17758),p=a.i(805),q=a.i(60232),r=a.i(62043),s=a.i(11591),t=a.i(58710),u=a.i(93294),v=a.i(55596);function w(){let{toasts:a}=d.f.useToastManager();return(0,b.jsx)(p.f.Portal,{children:(0,b.jsx)(q.f.Viewport,{className:"fixed bottom-4 left-4 z-50 hidden w-[min(24rem,calc(100vw-2rem))] gap-2 sm:grid",children:a.map(a=>(0,b.jsxs)(r.f.Root,{toast:a,"data-testid":"bridge-basket-toast",className:"flex items-start gap-3 rounded-lg border border-border bg-popover p-4 text-popover-foreground shadow-lg",children:[(0,b.jsx)(v.f,{"aria-hidden":!0,className:"mt-0.5 size-4 shrink-0"}),(0,b.jsxs)(s.f.Content,{className:"grid flex-1 gap-1",children:[(0,b.jsx)(t.f.Title,{className:"font-medium"}),(0,b.jsx)(u.f.Description,{className:"text-caption text-muted-foreground"})]})]},a.id))})})}var x=a.i(11725),y=a.i(74352),z=a.i(10039),A=a.i(34129),B=a.i(18145);function C({fleetId:a,decidePlaces:c,consoleUrl:p,children:q}){let r=d.f.useToastManager(),s=(0,A.P)(),[t,u]=(0,e.useState)(),[v,w]=(0,e.useState)(""),[D,E]=(0,e.useState)(),[F,G]=(0,e.useState)(),[H,I]=(0,e.useState)(),[J,K]=(0,e.useState)(),[L,M]=(0,e.useState)(),[N,O]=(0,e.useState)(),[,P]=(0,e.useTransition)(),[Q,R]=(0,e.useState)(0);(0,B.R)(void 0===t?void 0:(0,o.u)(t.opened.job),()=>{u(void 0)});let S=b=>{E(b.deliveryId),K(void 0),O(void 0),P(async()=>{let c=await (0,j.f)(a,b.deliveryId);if(E(void 0),c.isOk){let a=b.inBasket??null;u({delivery:c.value,opened:{job:b.job,isAlert:b.isAlert??!1,wasNew:"seen"!==b.state},inBasket:a,finished:null}),w(a?.note??""),M(void 0)}else K({deliveryId:b.deliveryId,message:c.message})})},T=({control:a,action:b,onSettled:c})=>{I(a),M(void 0),P(async()=>{let a=await b();I(void 0),a.isOk?c(a.value):M(a.message)})},U=a=>()=>{u(void 0),O(a)},V=void 0===t?void 0:{deliveryId:t.delivery.deliveryId,job:t.opened.job};return(0,b.jsx)(y.f,{list:(0,b.jsxs)("div",{className:"grid gap-4",children:[void 0===N?null:(0,b.jsx)(z.f,{message:N,isFailure:!1}),q({open:S,openingId:D,putPick:(b,c)=>{G(b.deliveryId),K(void 0),O(void 0),P(async()=>{let d=await (0,l.f)({fleet:a,deliveryId:b.deliveryId,option:c});G(void 0),d.isOk?(O(`Option ${String(c)} is in the basket, not sent: ${b.from} receives it when you send the basket.`),R(a=>a+1)):K({deliveryId:b.deliveryId,message:d.message})})},puttingId:F,failure:J,opened:V})]},Q),item:void 0===t?void 0:(({delivery:d,inBasket:e,opened:j,finished:l})=>{let o=d.question?.id;return(0,b.jsx)(x.u,{delivery:d,opened:j,meetingHref:void 0===d.meetingId?void 0:(0,f.f)({fleetId:a,meetingId:d.meetingId}),consoleUrl:p,basketHref:(0,g.f)(n.H,a),inBasket:e,finished:l,places:c,note:v,working:H,failure:L,onNoteChange:w,onAnswer:b=>{T({control:void 0===b?{kind:"note"}:{kind:"option",option:b},action:()=>(0,h.f)({fleet:a,deliveryId:d.deliveryId,input:{questionId:d.question?.id,option:b,note:v}}),onSettled:U(`Your answer went to ${d.from}.`)})},onPut:b=>{T({control:null===b?{kind:"note"}:{kind:"option",option:b},action:()=>(0,k.f)({fleet:a,deliveryId:d.deliveryId,option:b,optionLabel:d.question?.options.find(({key:a})=>a===b)?.label??null,note:v}),onSettled:a=>{var b;u({delivery:d,opened:j,finished:l,inBasket:a}),r.add({title:null===(b=a.option)?"Your note alone in the basket":`Option ${String(b)} in the basket`,description:"Not sent. Still waiting on you until you send it."})}})},onSend:b=>{T({control:{kind:"send"},action:()=>(0,h.f)({fleet:a,deliveryId:d.deliveryId,input:{questionId:o,option:b??void 0,note:v}}),onSettled:U(`Your answer went to ${d.from}.`)})},onRemove:()=>{void 0!==o&&T({control:{kind:"remove"},action:()=>(0,m.f)(a,o),onSettled:U(`Your answer to “${d.title}” is out of the basket; the question still waits on you.`)})},onDone:()=>{T({control:{kind:"done"},action:()=>(0,i.f)({fleet:a,deliveryId:d.deliveryId}),onSettled:U(`Done with “${d.title}”.`)})},onFinishStep:b=>{T({control:{kind:b},action:()=>(0,i.f)({fleet:a,deliveryId:d.deliveryId,step:{outcome:b,note:v}}),onSettled:()=>{u({delivery:d,inBasket:e,opened:j,finished:{outcome:b,note:v.trim(),at:new Date().toISOString()}})}})},onOpen:a=>{S({deliveryId:a,job:j.job})},onSendMessage:void 0===d.alertShip||void 0===s?void 0:a=>{s({alertShip:a})},onBack:()=>{u(void 0)}},d.deliveryId)})(t)})}a.s(["f",0,function({fleetId:a,decidePlaces:d,consoleUrl:e,children:f}){return(0,b.jsxs)(c.f.Provider,{children:[(0,b.jsx)(C,{fleetId:a,decidePlaces:d,consoleUrl:e,children:f}),(0,b.jsx)(w,{})]})}],91777)},52779,26147,4901,72233,67975,75285,a=>{a.s(["f",0,function(a){let b=new URLSearchParams({fleet:a.fleetId,...void 0===a.cursor?{}:{cursor:a.cursor}});return`/meetings/${encodeURIComponent(a.meetingId)}?${b.toString()}`}],52779);var b=a.i(5050);let c=(0,b.createServerReference)("409cd60338f4d2ebe089c816413026d35d3df175a5",b.callServer,void 0,b.findSourceMapURL,"answerDelivery");a.s(["f",0,c],26147);let d=(0,b.createServerReference)("408692edd7e68a3b2abfaf17b76ec93d0a21b9b8dd",b.callServer,void 0,b.findSourceMapURL,"doneDelivery");a.s(["f",0,d],4901);let e=(0,b.createServerReference)("6097df6443a06e5261e3227b1398330a1729afe230",b.callServer,void 0,b.findSourceMapURL,"openDelivery");a.s(["f",0,e],72233);let f=(0,b.createServerReference)("4014750f115befb3caee699cea842d94c42ccdf35a",b.callServer,void 0,b.findSourceMapURL,"putInBasket");a.s(["f",0,f],67975);let g=(0,b.createServerReference)("405ccc10e32995d237032f7358fbf9bc977ccbaa8d",b.callServer,void 0,b.findSourceMapURL,"putPickInBasket");a.s(["f",0,g],75285)}]})();
1
+ (()=>{"use strict";module.exports=[81483,a=>{var b=a.i(5050);let c=(0,b.createServerReference)("601f20d58885510639cdb9c1e160334e405f3688cf",b.callServer,void 0,b.findSourceMapURL,"removeFromBasket");a.s(["f",0,c])},91777,a=>{var b=a.i(87924),c=a.i(99271),d=a.i(76983),e=a.i(72131),f=a.i(52779),g=a.i(25959),h=a.i(51184),i=a.i(47792),j=a.i(85990),k=a.i(19260),l=a.i(2308),m=a.i(81483),n=a.i(16550),o=a.i(17758),p=a.i(805),q=a.i(60232),r=a.i(62043),s=a.i(11591),t=a.i(58710),u=a.i(93294),v=a.i(55596);function w(){let{toasts:a}=d.f.useToastManager();return(0,b.jsx)(p.f.Portal,{children:(0,b.jsx)(q.f.Viewport,{className:"fixed bottom-4 left-4 z-50 hidden w-[min(24rem,calc(100vw-2rem))] gap-2 sm:grid",children:a.map(a=>(0,b.jsxs)(r.f.Root,{toast:a,"data-testid":"bridge-basket-toast",className:"flex items-start gap-3 rounded-lg border border-border bg-popover p-4 text-popover-foreground shadow-lg",children:[(0,b.jsx)(v.f,{"aria-hidden":!0,className:"mt-0.5 size-4 shrink-0"}),(0,b.jsxs)(s.f.Content,{className:"grid flex-1 gap-1",children:[(0,b.jsx)(t.f.Title,{className:"font-medium"}),(0,b.jsx)(u.f.Description,{className:"text-caption text-muted-foreground"})]})]},a.id))})})}var x=a.i(11725),y=a.i(74352),z=a.i(10039),A=a.i(34129),B=a.i(18145);function C({fleetId:a,decidePlaces:c,consoleUrl:p,children:q}){let r=d.f.useToastManager(),s=(0,A.P)(),[t,u]=(0,e.useState)(),[v,w]=(0,e.useState)(""),[D,E]=(0,e.useState)(),[F,G]=(0,e.useState)(),[H,I]=(0,e.useState)(),[J,K]=(0,e.useState)(),[L,M]=(0,e.useState)(),[N,O]=(0,e.useState)(),[,P]=(0,e.useTransition)(),[Q,R]=(0,e.useState)(0);(0,B.R)(void 0===t?void 0:(0,o.u)(t.opened.job),()=>{u(void 0)});let S=b=>{E(b.deliveryId),K(void 0),O(void 0),P(async()=>{let c=await (0,j.f)(a,b.deliveryId);if(E(void 0),c.isOk){let a=b.inBasket??null;u({delivery:c.value,opened:{job:b.job,isAlert:b.isAlert??!1,wasNew:"seen"!==b.state},inBasket:a,finished:null}),w(a?.note??""),M(void 0)}else K({deliveryId:b.deliveryId,message:c.message})})},T=({control:a,action:b,onSettled:c})=>{I(a),M(void 0),P(async()=>{let a=await b();I(void 0),a.isOk?c(a.value):M(a.message)})},U=a=>()=>{u(void 0),O(a)},V=void 0===t?void 0:{deliveryId:t.delivery.deliveryId,job:t.opened.job};return(0,b.jsx)(y.f,{list:(0,b.jsxs)("div",{className:"grid gap-4",children:[void 0===N?null:(0,b.jsx)(z.f,{message:N,isFailure:!1}),q({open:S,openingId:D,putPick:(b,c)=>{G(b.deliveryId),K(void 0),O(void 0),P(async()=>{let d=await (0,l.f)({fleet:a,deliveryId:b.deliveryId,option:c});G(void 0),d.isOk?(O(`Option ${String(c)} is in the basket, not sent: ${b.from} receives it when you send the basket.`),R(a=>a+1)):K({deliveryId:b.deliveryId,message:d.message})})},puttingId:F,failure:J,opened:V})]},Q),item:void 0===t?void 0:(({delivery:d,inBasket:e,opened:j,finished:l})=>{let o=d.question?.id;return(0,b.jsx)(x.u,{delivery:d,opened:j,meetingHref:void 0===d.meetingId?void 0:(0,f.f)({fleetId:a,meetingId:d.meetingId}),consoleUrl:p,basketHref:(0,g.f)(n.H,a),inBasket:e,finished:l,places:c,note:v,working:H,failure:L,onNoteChange:w,onAnswer:b=>{T({control:void 0===b?{kind:"note"}:{kind:"option",option:b},action:()=>(0,h.f)({fleet:a,deliveryId:d.deliveryId,input:{questionId:d.question?.id,option:b,note:v}}),onSettled:U(`Your answer went to ${d.from}.`)})},onPut:b=>{T({control:null===b?{kind:"note"}:{kind:"option",option:b},action:()=>(0,k.f)({fleet:a,deliveryId:d.deliveryId,option:b,optionLabel:d.question?.options.find(({key:a})=>a===b)?.label??null,note:v}),onSettled:a=>{var b;u({delivery:d,opened:j,finished:l,inBasket:a}),r.add({title:null===(b=a.option)?"Your note alone in the basket":`Option ${String(b)} in the basket`,description:"Not sent. Still waiting on you until you send it."})}})},onSend:b=>{T({control:{kind:"send"},action:()=>(0,h.f)({fleet:a,deliveryId:d.deliveryId,input:{questionId:o,option:b??void 0,note:v}}),onSettled:U(`Your answer went to ${d.from}.`)})},onRemove:()=>{void 0!==o&&T({control:{kind:"remove"},action:()=>(0,m.f)(a,o),onSettled:U(`Your answer to “${d.title}” is out of the basket; the question still waits on you.`)})},onDone:()=>{T({control:{kind:"done"},action:()=>(0,i.f)({fleet:a,deliveryId:d.deliveryId}),onSettled:U(`Done with “${d.title}”.`)})},onFinishStep:b=>{T({control:{kind:b},action:()=>(0,i.f)({fleet:a,deliveryId:d.deliveryId,step:{outcome:b,note:v}}),onSettled:()=>{u({delivery:d,inBasket:e,opened:j,finished:{outcome:b,note:v.trim(),at:new Date().toISOString()}})}})},onOpen:a=>{S({deliveryId:a,job:j.job})},onSendMessage:void 0===d.alertShip||void 0===s?void 0:a=>{s({alertShip:a})},onBack:()=>{u(void 0)}},d.deliveryId)})(t)})}a.s(["f",0,function({fleetId:a,decidePlaces:d,consoleUrl:e,children:f}){return(0,b.jsxs)(c.f.Provider,{children:[(0,b.jsx)(C,{fleetId:a,decidePlaces:d,consoleUrl:e,children:f}),(0,b.jsx)(w,{})]})}],91777)},52779,51184,47792,85990,19260,2308,a=>{a.s(["f",0,function(a){let b=new URLSearchParams({fleet:a.fleetId,...void 0===a.cursor?{}:{cursor:a.cursor}});return`/meetings/${encodeURIComponent(a.meetingId)}?${b.toString()}`}],52779);var b=a.i(5050);let c=(0,b.createServerReference)("406b7f07eedaeed4fd555b667f17f87127627eaee6",b.callServer,void 0,b.findSourceMapURL,"answerDelivery");a.s(["f",0,c],51184);let d=(0,b.createServerReference)("400b37ebb0a90a0f73cb1978ec8c9e4c4a171c9ecc",b.callServer,void 0,b.findSourceMapURL,"doneDelivery");a.s(["f",0,d],47792);let e=(0,b.createServerReference)("60298acc1cc947c4fd5df829eef7f60ac01f66426f",b.callServer,void 0,b.findSourceMapURL,"openDelivery");a.s(["f",0,e],85990);let f=(0,b.createServerReference)("40f5769695179d460f57ef659223c7bbc4c7cf4e5d",b.callServer,void 0,b.findSourceMapURL,"putInBasket");a.s(["f",0,f],19260);let g=(0,b.createServerReference)("40e0e357a857fdaa7a9ce19fdf8f13562b3a39d45c",b.callServer,void 0,b.findSourceMapURL,"putPickInBasket");a.s(["f",0,g],2308)}]})();
2
2
 
3
- //# sourceMappingURL=web_features_1e7_lwq7351pm._.js.map
3
+ //# sourceMappingURL=web_features_0hnjtl8jg_qhq._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/features/bridge/hooks/data%3Af43018%20%3Ctext/javascript%3E","../../../../../web/features/bridge/state/item-focus.tsx","../../../../../web/features/bridge/ui/basket-toast.tsx","../../../../../web/features/meeting/paths.ts","../../../../../web/features/bridge/hooks/data%3A37ab9c%20%3Ctext/javascript%3E","../../../../../web/features/bridge/hooks/data%3A8c3a2d%20%3Ctext/javascript%3E","../../../../../web/features/bridge/hooks/data%3Ac96ad2%20%3Ctext/javascript%3E","../../../../../web/features/bridge/hooks/data%3A36b2cf%20%3Ctext/javascript%3E","../../../../../web/features/bridge/hooks/data%3A40ca9a%20%3Ctext/javascript%3E"],"sourcesContent":["/* __next_internal_action_entry_do_not_use__ [{\"600d7b220edec9ab18a80038d5b459fae730df7a95\":{\"name\":\"removeFromBasket\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_5=/*#__PURE__*/createServerReference(\"600d7b220edec9ab18a80038d5b459fae730df7a95\",callServer,void 0,findSourceMapURL,\"removeFromBasket\");export{$$RSC_SERVER_ACTION_5 as removeFromBasket};","'use client';\n\nimport { Toast } from '@base-ui/react/toast';\nimport { useState, useTransition, type ReactNode } from 'react';\n\nimport { meetingPathOf } from '../../meeting/paths';\nimport { inFleet } from '../../../lib/gateway-api/page-account';\nimport { answerDelivery, doneDelivery, openDelivery, putInBasket, putPickInBasket, removeFromBasket, type ActionOutcome } from '../hooks/bridge-actions';\nimport { BRIDGE_BASKET_PATH } from '../paths';\nimport type { FocusedDelivery } from '../services/deliveries';\nimport { openedScreenOf } from '../services/shell';\nimport type { HomeItem } from '../services/items';\nimport type { RoutedPlace } from '../services/routing';\nimport { BasketToasts, putToastOf } from '../ui/basket-toast';\nimport { DeliveryCard, type DeliveryControl, type InBasket, type Opened, type StepFinished } from '../ui/delivery-card';\nimport { ItemSplit } from '../ui/item-split';\nimport { Notice } from '../ui/notice';\nimport { useSendMessage } from './send-message';\nimport { useOpenedItem } from './opened-item';\n\n/** An item to open: by its delivery, with its job, whether an alert, whether it was new, and the answer to it in the basket, if any. A replacement opened from its stale item is new. */\nexport interface ToOpen {\n readonly deliveryId: string;\n readonly job: HomeItem['job'];\n readonly isAlert?: boolean;\n readonly state?: HomeItem['state'];\n readonly inBasket?: InBasket | null;\n}\n\n/** A question to put its asker's pick in the basket from its row: by its delivery, from its asker. */\nexport interface ToPut {\n readonly deliveryId: string;\n readonly from: string;\n}\n\n/** What a list of items gets to open one or put a pick in the basket from its row: the presses, the one opening or putting, and why one could not be. */\nexport interface ItemOpening {\n readonly open: (item: ToOpen) => void;\n readonly openingId: string | undefined;\n readonly putPick: (item: ToPut, option: number) => void;\n readonly puttingId: string | undefined;\n readonly failure: { deliveryId: string; message: string } | undefined;\n /** The item open beside the list, by its delivery and job; none while the list is shown alone. */\n readonly opened: { readonly deliveryId: string; readonly job: HomeItem['job'] } | undefined;\n}\n\n/**\n * A list of Bridge's items with one in focus at a time. Opening is the\n * person's own act, so it is a press, never a link: the gateway acknowledges\n * the item for them, and it is shown whole. An alert or a notice seen is\n * done at once (CC16), so it shows with no answer to give, as does a\n * question its asker withdrew or replaced; a replaced one opens its\n * replacement. A step ends done or cannot with the note, sent at once,\n * never through the basket (CC23), and stays open showing its outcome. A question's answer goes in the basket (CC24): the\n * question stays open saying so, with a toast (basket.html), and comes out\n * of it there; from its row, a new question's pick goes in it at once, opened by the same press. Answering or being done says so in place, and the page reads\n * itself again. A question names where it shows when the page read its places.\n * An opened alert offers to send its ship a message, as home offers to send\n * any ship one (aeolus-fleet #1547). The open item shows beside its list on\n * a desktop, and on its own screen on a phone (aeolus-fleet#1538).\n */\nexport function ItemFocus({ fleetId, decidePlaces, consoleUrl, children }: { fleetId: string; decidePlaces?: readonly RoutedPlace[]; /** The fleet's console, where an opened alert's ship shows its Health. */ consoleUrl?: string; children: (opening: ItemOpening) => ReactNode }) {\n return (\n <Toast.Provider>\n <FocusedItems fleetId={fleetId} decidePlaces={decidePlaces} consoleUrl={consoleUrl}>{children}</FocusedItems>\n <BasketToasts />\n </Toast.Provider>\n );\n}\n\nfunction FocusedItems({ fleetId, decidePlaces, consoleUrl, children }: { fleetId: string; decidePlaces?: readonly RoutedPlace[]; consoleUrl?: string; children: (opening: ItemOpening) => ReactNode }) {\n const toasts = Toast.useToastManager();\n const sendMessage = useSendMessage();\n const [focus, setFocus] = useState<{ delivery: FocusedDelivery; opened: Opened; inBasket: InBasket | null; finished: StepFinished | null } | undefined>();\n const [note, setNote] = useState('');\n const [openingId, setOpeningId] = useState<string | undefined>();\n const [puttingId, setPuttingId] = useState<string | undefined>();\n const [working, setWorking] = useState<DeliveryControl | undefined>();\n const [openFailure, setOpenFailure] = useState<{ deliveryId: string; message: string } | undefined>();\n const [failure, setFailure] = useState<string | undefined>();\n const [done, setDone] = useState<string | undefined>();\n const [, startTransition] = useTransition();\n // Each pick put from a row shows the list anew, as it is after a card: it reads the page as the action left it.\n const [shownTimes, setShownTimes] = useState(0);\n useOpenedItem(focus === undefined ? undefined : openedScreenOf(focus.opened.job), () => {\n setFocus(undefined);\n });\n\n const open = (item: ToOpen) => {\n setOpeningId(item.deliveryId);\n setOpenFailure(undefined);\n setDone(undefined);\n startTransition(async () => {\n const outcome = await openDelivery(fleetId, item.deliveryId);\n setOpeningId(undefined);\n if (outcome.isOk) {\n const inBasket = item.inBasket ?? null;\n setFocus({ delivery: outcome.value, opened: { job: item.job, isAlert: item.isAlert ?? false, wasNew: item.state !== 'seen' }, inBasket, finished: null });\n setNote(inBasket?.note ?? '');\n setFailure(undefined);\n } else {\n setOpenFailure({ deliveryId: item.deliveryId, message: outcome.message });\n }\n });\n };\n\n /** Opens a question and puts its asker's pick in the basket, with no note, from its row: nothing is sent (CC24). */\n const putPick = (item: ToPut, option: number) => {\n setPuttingId(item.deliveryId);\n setOpenFailure(undefined);\n setDone(undefined);\n startTransition(async () => {\n const outcome = await putPickInBasket({ fleet: fleetId, deliveryId: item.deliveryId, option });\n setPuttingId(undefined);\n if (outcome.isOk) {\n setDone(`Option ${String(option)} is in the basket, not sent: ${item.from} receives it when you send the basket.`);\n setShownTimes((times) => times + 1);\n } else {\n setOpenFailure({ deliveryId: item.deliveryId, message: outcome.message });\n }\n });\n };\n\n const settle = <T,>({ control, action, onSettled }: { control: DeliveryControl; action: () => Promise<ActionOutcome<T>>; onSettled: (value: T) => void }) => {\n setWorking(control);\n setFailure(undefined);\n startTransition(async () => {\n const outcome = await action();\n setWorking(undefined);\n if (outcome.isOk) {\n onSettled(outcome.value);\n } else {\n setFailure(outcome.message);\n }\n });\n };\n\n /** Back to the list, saying what was done. */\n const leave = (said: string) => () => {\n setFocus(undefined);\n setDone(said);\n };\n\n const cardOf = ({ delivery, inBasket, opened, finished }: NonNullable<typeof focus>) => {\n const questionId = delivery.question?.id;\n return (\n <DeliveryCard\n key={delivery.deliveryId}\n delivery={delivery}\n opened={opened}\n meetingHref={delivery.meetingId === undefined ? undefined : meetingPathOf({ fleetId, meetingId: delivery.meetingId })}\n consoleUrl={consoleUrl}\n basketHref={inFleet(BRIDGE_BASKET_PATH, fleetId)}\n inBasket={inBasket}\n finished={finished}\n places={decidePlaces}\n note={note}\n working={working}\n failure={failure}\n onNoteChange={setNote}\n onAnswer={(option) => { settle({ control: option === undefined ? { kind: 'note' } : { kind: 'option', option }, action: () => answerDelivery({ fleet: fleetId, deliveryId: delivery.deliveryId, input: { questionId: delivery.question?.id, option, note } }), onSettled: leave(`Your answer went to ${delivery.from}.`) }); }\n }\n onPut={(option) => { settle({ control: option === null ? { kind: 'note' } : { kind: 'option', option }, action: () => putInBasket({ fleet: fleetId, deliveryId: delivery.deliveryId, option, optionLabel: delivery.question?.options.find(({ key }) => key === option)?.label ?? null, note }), onSettled: (put) => {\n setFocus({ delivery, opened, finished, inBasket: put });\n toasts.add(putToastOf(put.option));\n } }); }}\n onSend={(option) => { settle({ control: { kind: 'send' }, action: () => answerDelivery({ fleet: fleetId, deliveryId: delivery.deliveryId, input: { questionId, option: option ?? undefined, note } }), onSettled: leave(`Your answer went to ${delivery.from}.`) }); }}\n onRemove={() => {\n if (questionId !== undefined) {\n settle({ control: { kind: 'remove' }, action: () => removeFromBasket(fleetId, questionId), onSettled: leave(`Your answer to “${delivery.title}” is out of the basket; the question still waits on you.`) });\n }\n }}\n onDone={() => { settle({ control: { kind: 'done' }, action: () => doneDelivery({ fleet: fleetId, deliveryId: delivery.deliveryId }), onSettled: leave(`Done with “${delivery.title}”.`) }); }}\n onFinishStep={(outcome) => {\n settle({\n control: { kind: outcome },\n action: () => doneDelivery({ fleet: fleetId, deliveryId: delivery.deliveryId, step: { outcome, note } }),\n onSettled: () => { setFocus({ delivery, inBasket, opened, finished: { outcome, note: note.trim(), at: new Date().toISOString() } }); },\n });\n }}\n onOpen={(deliveryId) => { open({ deliveryId, job: opened.job }); }}\n onSendMessage={delivery.alertShip === undefined || sendMessage === undefined ? undefined : (alertShip) => { sendMessage({ alertShip }); }}\n onBack={() => { setFocus(undefined); }}\n />\n );\n };\n\n const opened = focus === undefined ? undefined : { deliveryId: focus.delivery.deliveryId, job: focus.opened.job };\n return (\n <ItemSplit\n list={\n <div key={shownTimes} className=\"grid gap-4\">\n {done === undefined ? null : <Notice message={done} isFailure={false} />}\n {children({ open, openingId, putPick, puttingId, failure: openFailure, opened })}\n </div>\n }\n item={focus === undefined ? undefined : cardOf(focus)}\n />\n );\n}\n","'use client';\n\nimport { Toast } from '@base-ui/react/toast';\nimport { ShoppingBasket } from 'lucide-react';\n\n/** What a toast says: what happened, then what it means. */\nexport interface ToastWords {\n readonly title: string;\n readonly description: string;\n}\n\n/** What the toast says once an answer is in the basket (basket.html): what went in, not sent, still waiting. */\nexport function putToastOf(option: number | null): ToastWords {\n return { title: option === null ? 'Your note alone in the basket' : `Option ${String(option)} in the basket`, description: 'Not sent. Still waiting on you until you send it.' };\n}\n\n/** The toasts Bridge raised for the basket, each behind the basket icon, on the popover, gone by themselves: at the left on a desktop and none on a phone, as basket.html draws them. */\nexport function BasketToasts() {\n const { toasts } = Toast.useToastManager();\n return (\n <Toast.Portal>\n <Toast.Viewport className=\"fixed bottom-4 left-4 z-50 hidden w-[min(24rem,calc(100vw-2rem))] gap-2 sm:grid\">\n {toasts.map((toast) => (\n <Toast.Root key={toast.id} toast={toast} data-testid=\"bridge-basket-toast\" className=\"flex items-start gap-3 rounded-lg border border-border bg-popover p-4 text-popover-foreground shadow-lg\">\n <ShoppingBasket aria-hidden className=\"mt-0.5 size-4 shrink-0\" />\n <Toast.Content className=\"grid flex-1 gap-1\">\n <Toast.Title className=\"font-medium\" />\n <Toast.Description className=\"text-caption text-muted-foreground\" />\n </Toast.Content>\n </Toast.Root>\n ))}\n </Toast.Viewport>\n </Toast.Portal>\n );\n}\n","/** Where a meeting's page is, for server and client code alike. */\n\n/** The meeting page's address, before the meeting's id. */\nexport const MEETINGS_PATH = '/meetings';\n\n/** The address of a meeting's page in a fleet, at the page of contributions after the cursor, if one is given. */\nexport function meetingPathOf(meeting: { fleetId: string; meetingId: string; cursor?: string }): string {\n const query = new URLSearchParams({ fleet: meeting.fleetId, ...(meeting.cursor === undefined ? {} : { cursor: meeting.cursor }) });\n return `${MEETINGS_PATH}/${encodeURIComponent(meeting.meetingId)}?${query.toString()}`;\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"409cd60338f4d2ebe089c816413026d35d3df175a5\":{\"name\":\"answerDelivery\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_2=/*#__PURE__*/createServerReference(\"409cd60338f4d2ebe089c816413026d35d3df175a5\",callServer,void 0,findSourceMapURL,\"answerDelivery\");export{$$RSC_SERVER_ACTION_2 as answerDelivery};","/* __next_internal_action_entry_do_not_use__ [{\"408692edd7e68a3b2abfaf17b76ec93d0a21b9b8dd\":{\"name\":\"doneDelivery\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_7=/*#__PURE__*/createServerReference(\"408692edd7e68a3b2abfaf17b76ec93d0a21b9b8dd\",callServer,void 0,findSourceMapURL,\"doneDelivery\");export{$$RSC_SERVER_ACTION_7 as doneDelivery};","/* __next_internal_action_entry_do_not_use__ [{\"6097df6443a06e5261e3227b1398330a1729afe230\":{\"name\":\"openDelivery\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_1=/*#__PURE__*/createServerReference(\"6097df6443a06e5261e3227b1398330a1729afe230\",callServer,void 0,findSourceMapURL,\"openDelivery\");export{$$RSC_SERVER_ACTION_1 as openDelivery};","/* __next_internal_action_entry_do_not_use__ [{\"4014750f115befb3caee699cea842d94c42ccdf35a\":{\"name\":\"putInBasket\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_3=/*#__PURE__*/createServerReference(\"4014750f115befb3caee699cea842d94c42ccdf35a\",callServer,void 0,findSourceMapURL,\"putInBasket\");export{$$RSC_SERVER_ACTION_3 as putInBasket};","/* __next_internal_action_entry_do_not_use__ [{\"405ccc10e32995d237032f7358fbf9bc977ccbaa8d\":{\"name\":\"putPickInBasket\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_4=/*#__PURE__*/createServerReference(\"405ccc10e32995d237032f7358fbf9bc977ccbaa8d\",callServer,void 0,findSourceMapURL,\"putPickInBasket\");export{$$RSC_SERVER_ACTION_4 as putPickInBasket};"],"names":["$$RSC_SERVER_ACTION_5","putToastOf","option","title","String","description","BasketToasts","toasts","useToastManager","Portal","Viewport","className","map","toast","Root","Content","Title","Description","id","MEETINGS_PATH","meetingPathOf","meeting","query","URLSearchParams","fleet","fleetId","cursor","undefined","encodeURIComponent","meetingId","toString"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../web/features/bridge/hooks/data%3A00e88a%20%3Ctext/javascript%3E","../../../../../web/features/bridge/state/item-focus.tsx","../../../../../web/features/bridge/ui/basket-toast.tsx","../../../../../web/features/meeting/paths.ts","../../../../../web/features/bridge/hooks/data%3A1755c5%20%3Ctext/javascript%3E","../../../../../web/features/bridge/hooks/data%3A5e1887%20%3Ctext/javascript%3E","../../../../../web/features/bridge/hooks/data%3Ab38216%20%3Ctext/javascript%3E","../../../../../web/features/bridge/hooks/data%3A2b4177%20%3Ctext/javascript%3E","../../../../../web/features/bridge/hooks/data%3A405902%20%3Ctext/javascript%3E"],"sourcesContent":["/* __next_internal_action_entry_do_not_use__ [{\"601f20d58885510639cdb9c1e160334e405f3688cf\":{\"name\":\"removeFromBasket\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_5=/*#__PURE__*/createServerReference(\"601f20d58885510639cdb9c1e160334e405f3688cf\",callServer,void 0,findSourceMapURL,\"removeFromBasket\");export{$$RSC_SERVER_ACTION_5 as removeFromBasket};","'use client';\n\nimport { Toast } from '@base-ui/react/toast';\nimport { useState, useTransition, type ReactNode } from 'react';\n\nimport { meetingPathOf } from '../../meeting/paths';\nimport { inFleet } from '../../../lib/gateway-api/page-account';\nimport { answerDelivery, doneDelivery, openDelivery, putInBasket, putPickInBasket, removeFromBasket, type ActionOutcome } from '../hooks/bridge-actions';\nimport { BRIDGE_BASKET_PATH } from '../paths';\nimport type { FocusedDelivery } from '../services/deliveries';\nimport { openedScreenOf } from '../services/shell';\nimport type { HomeItem } from '../services/items';\nimport type { RoutedPlace } from '../services/routing';\nimport { BasketToasts, putToastOf } from '../ui/basket-toast';\nimport { DeliveryCard, type DeliveryControl, type InBasket, type Opened, type StepFinished } from '../ui/delivery-card';\nimport { ItemSplit } from '../ui/item-split';\nimport { Notice } from '../ui/notice';\nimport { useSendMessage } from './send-message';\nimport { useOpenedItem } from './opened-item';\n\n/** An item to open: by its delivery, with its job, whether an alert, whether it was new, and the answer to it in the basket, if any. A replacement opened from its stale item is new. */\nexport interface ToOpen {\n readonly deliveryId: string;\n readonly job: HomeItem['job'];\n readonly isAlert?: boolean;\n readonly state?: HomeItem['state'];\n readonly inBasket?: InBasket | null;\n}\n\n/** A question to put its asker's pick in the basket from its row: by its delivery, from its asker. */\nexport interface ToPut {\n readonly deliveryId: string;\n readonly from: string;\n}\n\n/** What a list of items gets to open one or put a pick in the basket from its row: the presses, the one opening or putting, and why one could not be. */\nexport interface ItemOpening {\n readonly open: (item: ToOpen) => void;\n readonly openingId: string | undefined;\n readonly putPick: (item: ToPut, option: number) => void;\n readonly puttingId: string | undefined;\n readonly failure: { deliveryId: string; message: string } | undefined;\n /** The item open beside the list, by its delivery and job; none while the list is shown alone. */\n readonly opened: { readonly deliveryId: string; readonly job: HomeItem['job'] } | undefined;\n}\n\n/**\n * A list of Bridge's items with one in focus at a time. Opening is the\n * person's own act, so it is a press, never a link: the gateway acknowledges\n * the item for them, and it is shown whole. An alert or a notice seen is\n * done at once (CC16), so it shows with no answer to give, as does a\n * question its asker withdrew or replaced; a replaced one opens its\n * replacement. A step ends done or cannot with the note, sent at once,\n * never through the basket (CC23), and stays open showing its outcome. A question's answer goes in the basket (CC24): the\n * question stays open saying so, with a toast (basket.html), and comes out\n * of it there; from its row, a new question's pick goes in it at once, opened by the same press. Answering or being done says so in place, and the page reads\n * itself again. A question names where it shows when the page read its places.\n * An opened alert offers to send its ship a message, as home offers to send\n * any ship one (aeolus-fleet #1547). The open item shows beside its list on\n * a desktop, and on its own screen on a phone (aeolus-fleet#1538).\n */\nexport function ItemFocus({ fleetId, decidePlaces, consoleUrl, children }: { fleetId: string; decidePlaces?: readonly RoutedPlace[]; /** The fleet's console, where an opened alert's ship shows its Health. */ consoleUrl?: string; children: (opening: ItemOpening) => ReactNode }) {\n return (\n <Toast.Provider>\n <FocusedItems fleetId={fleetId} decidePlaces={decidePlaces} consoleUrl={consoleUrl}>{children}</FocusedItems>\n <BasketToasts />\n </Toast.Provider>\n );\n}\n\nfunction FocusedItems({ fleetId, decidePlaces, consoleUrl, children }: { fleetId: string; decidePlaces?: readonly RoutedPlace[]; consoleUrl?: string; children: (opening: ItemOpening) => ReactNode }) {\n const toasts = Toast.useToastManager();\n const sendMessage = useSendMessage();\n const [focus, setFocus] = useState<{ delivery: FocusedDelivery; opened: Opened; inBasket: InBasket | null; finished: StepFinished | null } | undefined>();\n const [note, setNote] = useState('');\n const [openingId, setOpeningId] = useState<string | undefined>();\n const [puttingId, setPuttingId] = useState<string | undefined>();\n const [working, setWorking] = useState<DeliveryControl | undefined>();\n const [openFailure, setOpenFailure] = useState<{ deliveryId: string; message: string } | undefined>();\n const [failure, setFailure] = useState<string | undefined>();\n const [done, setDone] = useState<string | undefined>();\n const [, startTransition] = useTransition();\n // Each pick put from a row shows the list anew, as it is after a card: it reads the page as the action left it.\n const [shownTimes, setShownTimes] = useState(0);\n useOpenedItem(focus === undefined ? undefined : openedScreenOf(focus.opened.job), () => {\n setFocus(undefined);\n });\n\n const open = (item: ToOpen) => {\n setOpeningId(item.deliveryId);\n setOpenFailure(undefined);\n setDone(undefined);\n startTransition(async () => {\n const outcome = await openDelivery(fleetId, item.deliveryId);\n setOpeningId(undefined);\n if (outcome.isOk) {\n const inBasket = item.inBasket ?? null;\n setFocus({ delivery: outcome.value, opened: { job: item.job, isAlert: item.isAlert ?? false, wasNew: item.state !== 'seen' }, inBasket, finished: null });\n setNote(inBasket?.note ?? '');\n setFailure(undefined);\n } else {\n setOpenFailure({ deliveryId: item.deliveryId, message: outcome.message });\n }\n });\n };\n\n /** Opens a question and puts its asker's pick in the basket, with no note, from its row: nothing is sent (CC24). */\n const putPick = (item: ToPut, option: number) => {\n setPuttingId(item.deliveryId);\n setOpenFailure(undefined);\n setDone(undefined);\n startTransition(async () => {\n const outcome = await putPickInBasket({ fleet: fleetId, deliveryId: item.deliveryId, option });\n setPuttingId(undefined);\n if (outcome.isOk) {\n setDone(`Option ${String(option)} is in the basket, not sent: ${item.from} receives it when you send the basket.`);\n setShownTimes((times) => times + 1);\n } else {\n setOpenFailure({ deliveryId: item.deliveryId, message: outcome.message });\n }\n });\n };\n\n const settle = <T,>({ control, action, onSettled }: { control: DeliveryControl; action: () => Promise<ActionOutcome<T>>; onSettled: (value: T) => void }) => {\n setWorking(control);\n setFailure(undefined);\n startTransition(async () => {\n const outcome = await action();\n setWorking(undefined);\n if (outcome.isOk) {\n onSettled(outcome.value);\n } else {\n setFailure(outcome.message);\n }\n });\n };\n\n /** Back to the list, saying what was done. */\n const leave = (said: string) => () => {\n setFocus(undefined);\n setDone(said);\n };\n\n const cardOf = ({ delivery, inBasket, opened, finished }: NonNullable<typeof focus>) => {\n const questionId = delivery.question?.id;\n return (\n <DeliveryCard\n key={delivery.deliveryId}\n delivery={delivery}\n opened={opened}\n meetingHref={delivery.meetingId === undefined ? undefined : meetingPathOf({ fleetId, meetingId: delivery.meetingId })}\n consoleUrl={consoleUrl}\n basketHref={inFleet(BRIDGE_BASKET_PATH, fleetId)}\n inBasket={inBasket}\n finished={finished}\n places={decidePlaces}\n note={note}\n working={working}\n failure={failure}\n onNoteChange={setNote}\n onAnswer={(option) => { settle({ control: option === undefined ? { kind: 'note' } : { kind: 'option', option }, action: () => answerDelivery({ fleet: fleetId, deliveryId: delivery.deliveryId, input: { questionId: delivery.question?.id, option, note } }), onSettled: leave(`Your answer went to ${delivery.from}.`) }); }\n }\n onPut={(option) => { settle({ control: option === null ? { kind: 'note' } : { kind: 'option', option }, action: () => putInBasket({ fleet: fleetId, deliveryId: delivery.deliveryId, option, optionLabel: delivery.question?.options.find(({ key }) => key === option)?.label ?? null, note }), onSettled: (put) => {\n setFocus({ delivery, opened, finished, inBasket: put });\n toasts.add(putToastOf(put.option));\n } }); }}\n onSend={(option) => { settle({ control: { kind: 'send' }, action: () => answerDelivery({ fleet: fleetId, deliveryId: delivery.deliveryId, input: { questionId, option: option ?? undefined, note } }), onSettled: leave(`Your answer went to ${delivery.from}.`) }); }}\n onRemove={() => {\n if (questionId !== undefined) {\n settle({ control: { kind: 'remove' }, action: () => removeFromBasket(fleetId, questionId), onSettled: leave(`Your answer to “${delivery.title}” is out of the basket; the question still waits on you.`) });\n }\n }}\n onDone={() => { settle({ control: { kind: 'done' }, action: () => doneDelivery({ fleet: fleetId, deliveryId: delivery.deliveryId }), onSettled: leave(`Done with “${delivery.title}”.`) }); }}\n onFinishStep={(outcome) => {\n settle({\n control: { kind: outcome },\n action: () => doneDelivery({ fleet: fleetId, deliveryId: delivery.deliveryId, step: { outcome, note } }),\n onSettled: () => { setFocus({ delivery, inBasket, opened, finished: { outcome, note: note.trim(), at: new Date().toISOString() } }); },\n });\n }}\n onOpen={(deliveryId) => { open({ deliveryId, job: opened.job }); }}\n onSendMessage={delivery.alertShip === undefined || sendMessage === undefined ? undefined : (alertShip) => { sendMessage({ alertShip }); }}\n onBack={() => { setFocus(undefined); }}\n />\n );\n };\n\n const opened = focus === undefined ? undefined : { deliveryId: focus.delivery.deliveryId, job: focus.opened.job };\n return (\n <ItemSplit\n list={\n <div key={shownTimes} className=\"grid gap-4\">\n {done === undefined ? null : <Notice message={done} isFailure={false} />}\n {children({ open, openingId, putPick, puttingId, failure: openFailure, opened })}\n </div>\n }\n item={focus === undefined ? undefined : cardOf(focus)}\n />\n );\n}\n","'use client';\n\nimport { Toast } from '@base-ui/react/toast';\nimport { ShoppingBasket } from 'lucide-react';\n\n/** What a toast says: what happened, then what it means. */\nexport interface ToastWords {\n readonly title: string;\n readonly description: string;\n}\n\n/** What the toast says once an answer is in the basket (basket.html): what went in, not sent, still waiting. */\nexport function putToastOf(option: number | null): ToastWords {\n return { title: option === null ? 'Your note alone in the basket' : `Option ${String(option)} in the basket`, description: 'Not sent. Still waiting on you until you send it.' };\n}\n\n/** The toasts Bridge raised for the basket, each behind the basket icon, on the popover, gone by themselves: at the left on a desktop and none on a phone, as basket.html draws them. */\nexport function BasketToasts() {\n const { toasts } = Toast.useToastManager();\n return (\n <Toast.Portal>\n <Toast.Viewport className=\"fixed bottom-4 left-4 z-50 hidden w-[min(24rem,calc(100vw-2rem))] gap-2 sm:grid\">\n {toasts.map((toast) => (\n <Toast.Root key={toast.id} toast={toast} data-testid=\"bridge-basket-toast\" className=\"flex items-start gap-3 rounded-lg border border-border bg-popover p-4 text-popover-foreground shadow-lg\">\n <ShoppingBasket aria-hidden className=\"mt-0.5 size-4 shrink-0\" />\n <Toast.Content className=\"grid flex-1 gap-1\">\n <Toast.Title className=\"font-medium\" />\n <Toast.Description className=\"text-caption text-muted-foreground\" />\n </Toast.Content>\n </Toast.Root>\n ))}\n </Toast.Viewport>\n </Toast.Portal>\n );\n}\n","/** Where a meeting's page is, for server and client code alike. */\n\n/** The meeting page's address, before the meeting's id. */\nexport const MEETINGS_PATH = '/meetings';\n\n/** The address of a meeting's page in a fleet, at the page of contributions after the cursor, if one is given. */\nexport function meetingPathOf(meeting: { fleetId: string; meetingId: string; cursor?: string }): string {\n const query = new URLSearchParams({ fleet: meeting.fleetId, ...(meeting.cursor === undefined ? {} : { cursor: meeting.cursor }) });\n return `${MEETINGS_PATH}/${encodeURIComponent(meeting.meetingId)}?${query.toString()}`;\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"406b7f07eedaeed4fd555b667f17f87127627eaee6\":{\"name\":\"answerDelivery\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_2=/*#__PURE__*/createServerReference(\"406b7f07eedaeed4fd555b667f17f87127627eaee6\",callServer,void 0,findSourceMapURL,\"answerDelivery\");export{$$RSC_SERVER_ACTION_2 as answerDelivery};","/* __next_internal_action_entry_do_not_use__ [{\"400b37ebb0a90a0f73cb1978ec8c9e4c4a171c9ecc\":{\"name\":\"doneDelivery\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_7=/*#__PURE__*/createServerReference(\"400b37ebb0a90a0f73cb1978ec8c9e4c4a171c9ecc\",callServer,void 0,findSourceMapURL,\"doneDelivery\");export{$$RSC_SERVER_ACTION_7 as doneDelivery};","/* __next_internal_action_entry_do_not_use__ [{\"60298acc1cc947c4fd5df829eef7f60ac01f66426f\":{\"name\":\"openDelivery\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_1=/*#__PURE__*/createServerReference(\"60298acc1cc947c4fd5df829eef7f60ac01f66426f\",callServer,void 0,findSourceMapURL,\"openDelivery\");export{$$RSC_SERVER_ACTION_1 as openDelivery};","/* __next_internal_action_entry_do_not_use__ [{\"40f5769695179d460f57ef659223c7bbc4c7cf4e5d\":{\"name\":\"putInBasket\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_3=/*#__PURE__*/createServerReference(\"40f5769695179d460f57ef659223c7bbc4c7cf4e5d\",callServer,void 0,findSourceMapURL,\"putInBasket\");export{$$RSC_SERVER_ACTION_3 as putInBasket};","/* __next_internal_action_entry_do_not_use__ [{\"40e0e357a857fdaa7a9ce19fdf8f13562b3a39d45c\":{\"name\":\"putPickInBasket\"}},\"web/features/bridge/hooks/bridge-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_4=/*#__PURE__*/createServerReference(\"40e0e357a857fdaa7a9ce19fdf8f13562b3a39d45c\",callServer,void 0,findSourceMapURL,\"putPickInBasket\");export{$$RSC_SERVER_ACTION_4 as putPickInBasket};"],"names":["$$RSC_SERVER_ACTION_5","putToastOf","option","title","String","description","BasketToasts","toasts","useToastManager","Portal","Viewport","className","map","toast","Root","Content","Title","Description","id","MEETINGS_PATH","meetingPathOf","meeting","query","URLSearchParams","fleet","fleetId","cursor","undefined","encodeURIComponent","meetingId","toString"],"mappings":"6CAA8M,IAAA,EAAA,EAAA,CAAA,CAAA,MAAsG,IAAMA,EAAmC,CAAA,EAAA,EAAA,iBAAb,IAAa,AAAqB,EAAC,KAAxB,wCAAqE,EAAA,UAAU,CAAC,KAAK,EAAE,EAAA,gBAAgB,CAAC,+DCEnc,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,MAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,OCRA,EAAA,EAAA,CAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAcO,SAASM,IACd,GAAM,QAAEC,CAAM,CAAE,CAAG,EAAA,CAAK,CAACC,eAAe,GACxC,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAK,CAACC,MAAM,CAAA,UACX,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAK,CAACC,QAAQ,CAAA,CAACC,UAAU,2FACvBJ,EAAOK,GAAG,CAAEC,AAAD,GACV,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,CAAK,CAACC,IAAI,CAAA,CAAgBD,MAAOA,EAAO,cAAY,sBAAsBF,UAAU,oHACnF,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,CAAA,CAAC,aAAW,CAAA,CAAA,EAACA,UAAU,2BACtC,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,CAAK,CAACI,OAAO,CAAA,CAACJ,UAAU,8BACvB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAK,CAACK,KAAK,CAAA,CAACL,UAAU,gBACvB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAK,CAACM,WAAW,CAAA,CAACN,UAAU,4CAJhBE,EAAMK,EAAE,MAWnC,CDpBA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAoDA,SAAS,EAAa,SAAE,CAAO,cAAE,CAAY,YAAE,CAAU,UAAE,CAAQ,CAAkI,EACnM,IAAM,EAAS,EAAA,CAAK,CAAC,eAAe,GAC9B,EAAc,CAAA,EAAA,EAAA,CAAA,AAAc,IAC5B,CAAC,EAAO,EAAS,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,IAC5B,CAAC,EAAM,EAAQ,CAAG,CAAA,EAAA,EAAA,QAAQ,AAAR,EAAS,IAC3B,CAAC,EAAW,EAAa,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,IACpC,CAAC,EAAW,EAAa,CAAG,CAAA,EAAA,EAAA,QAAQ,AAAR,IAC5B,CAAC,EAAS,EAAW,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,IAChC,CAAC,EAAa,EAAe,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,IACxC,CAAC,EAAS,EAAW,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,IAChC,CAAC,EAAM,EAAQ,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,IAC1B,EAAG,EAAgB,CAAG,CAAA,EAAA,EAAA,aAAa,AAAb,IAEtB,CAAC,EAAY,EAAc,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,GAC7C,CAAA,EAAA,EAAA,CAAA,AAAa,OAAW,IAAV,OAAsB,EAAY,CAAA,EAAA,EAAA,CAAA,AAAc,EAAC,EAAM,MAAM,CAAC,GAAG,EAAG,KAChF,OAAS,EACX,GAEA,IAAM,EAAO,AAAC,IACZ,EAAa,EAAK,UAAU,EAC5B,OAAe,GACf,OAAQ,GACR,EAAgB,UACd,IAAM,EAAU,MAAM,CAAA,EAAA,EAAA,CAAA,AAAY,EAAC,EAAS,EAAK,UAAU,EAE3D,GADA,OAAa,GACT,EAAQ,IAAI,CAAE,CAChB,IAAM,EAAW,EAAK,QAAQ,EAAI,KAClC,EAAS,CAAE,SAAU,EAAQ,KAAK,CAAE,OAAQ,CAAE,IAAK,EAAK,GAAG,CAAE,QAAS,EAAK,OAAO,GAAI,EAAO,OAAuB,SAAf,EAAK,KAAiB,AAAZ,WAAe,EAAU,SAAU,IAAK,GACvJ,EAAQ,GAAU,MAAQ,IAC1B,OAAW,EACb,MACE,CADK,CACU,CAAE,WAAY,EAAK,UAAU,CAAE,QAAS,EAAQ,OAAO,AAAC,EAE3E,EACF,EAmBM,EAAS,CAAK,SAAE,CAAO,QAAE,CAAM,WAAE,CAAS,CAAwG,IACtJ,EAAW,GACX,OAAW,GACX,EAAgB,UACd,IAAM,EAAU,MAAM,IACtB,EAAW,QACP,EAAQ,IAAI,CACd,CADgB,CACN,EAAQ,KAAK,EAEvB,EAAW,EAAQ,OAAO,CAE9B,EACF,EAGM,EAAQ,AAAC,GAAiB,KAC9B,OAAS,GACT,EAAQ,EACV,EA8CM,OAAmB,IAAV,OAAsB,EAAY,CAAE,WAAY,EAAM,QAAQ,CAAC,UAAU,CAAE,IAAK,EAAM,MAAM,CAAC,GAAG,AAAC,EAChH,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,CAAA,CACR,KACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAqB,UAAU,uBAC7B,KAAS,MAAY,KAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAM,CAAA,CAAC,QAAS,EAAM,WAAW,IAC9D,EAAS,MAAE,YAAM,EAAW,QAtFrB,CAAC,EAAa,KAC5B,EAAa,EAAK,UAAU,EAC5B,OAAe,GACf,OAAQ,GACR,EAAgB,UACd,IAAM,EAAU,MAAM,CAAA,EAAA,EAAA,CAAA,AAAe,EAAC,CAAE,MAAO,EAAS,WAAY,EAAK,UAAU,QAAE,CAAO,GAC5F,OAAa,GACT,EAAQ,IAAI,EAAE,AAChB,EAAQ,CAAC,OAAO,EAAE,OAAO,GAAQ,6BAA6B,EAAE,EAAK,IAAI,CAAC,sCAAsC,CAAC,EACjH,EAAc,AAAC,GAAU,EAAQ,IAEjC,EAAe,CAAE,WAAY,EAAK,UAAU,CAAE,QAAS,EAAQ,OAAO,AAAC,EAE3E,EACF,YAwE8C,EAAW,QAAS,SAAa,CAAO,KAFtE,GAKZ,UAAgB,IAAV,OAAsB,EAAY,CArD7B,CAAC,UAAE,CAAQ,UAAE,CAAQ,QAAE,CAAM,UAAE,CAAQ,CAA6B,IACjF,IAAM,EAAa,EAAS,QAAQ,EAAE,GACtC,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAY,CAAA,CAEX,SAAU,EACV,OAAQ,EACR,iBAAoC,IAAvB,EAAS,SAAS,MAAiB,EAAY,CAAA,EAAA,EAAA,CAAA,AAAa,EAAC,SAAE,EAAS,UAAW,EAAS,SAAS,AAAC,GACnH,WAAY,EACZ,WAAY,CAAA,EAAA,EAAA,CAAO,AAAP,EAAQ,EAAA,CAAkB,CAAE,GACxC,SAAU,EACV,SAAU,EACV,OAAQ,EACR,KAAM,EACN,QAAS,EACT,QAAS,EACT,aAAc,EACd,SAAU,AAAC,IAAa,EAAO,CAAE,aAAoB,IAAX,EAAuB,CAAE,KAAM,MAAO,EAAI,CAAE,KAAM,gBAAU,CAAO,EAAG,OAAQ,IAAM,CAAA,EAAA,EAAA,CAAA,AAAc,EAAC,CAAE,MAAO,EAAS,WAAY,EAAS,UAAU,CAAE,MAAO,CAAE,WAAY,EAAS,QAAQ,EAAE,GAAI,SAAQ,MAAK,CAAE,GAAI,UAAW,EAAM,CAAC,oBAAoB,EAAE,EAAS,IAAI,CAAC,CAAC,CAAC,CAAE,EAAI,EAE7T,MAAO,AAAC,IAAa,EAAO,CAAE,QAAoB,OAAX,EAAkB,CAAE,KAAM,MAAO,EAAI,CAAE,KAAM,gBAAU,CAAO,EAAG,OAAQ,IAAM,CAAA,EAAA,EAAA,CAAA,AAAW,EAAC,CAAE,MAAO,EAAS,WAAY,EAAS,UAAU,CAAE,SAAQ,YAAa,EAAS,QAAQ,EAAE,QAAQ,KAAK,CAAC,KAAE,CAAG,CAAE,GAAK,IAAQ,IAAS,OAAS,UAAM,CAAK,GAAI,UAAW,AAAC,UACtS,EAAS,CAAE,kBAAU,WAAQ,EAAU,SAAU,CAAI,GACrD,EAAO,GAAG,CAAC,ACvJhB,CAAEf,MAAOD,AAAW,QADFA,EDwJS,EAAI,ECxJQ,IDwJF,ECvJV,gCAAkC,CAAC,OAAO,EAAEE,OAAOF,GAAQ,cAAc,CAAC,CAAEG,YAAa,mDAAoD,EDwJrK,CAAE,EAAI,EACV,OAAQ,AAAC,IAAa,EAAO,CAAE,QAAS,CAAE,KAAM,MAAO,EAAG,OAAQ,IAAM,CAAA,EAAA,EAAA,CAAA,AAAc,EAAC,CAAE,MAAO,EAAS,WAAY,EAAS,UAAU,CAAE,MAAO,YAAE,EAAY,OAAQ,QAAU,OAAW,CAAK,CAAE,GAAI,UAAW,EAAM,CAAC,oBAAoB,EAAE,EAAS,IAAI,CAAC,CAAC,CAAC,CAAE,EAAI,EACrQ,SAAU,UACW,IAAf,GACF,EAAO,CAAE,CADmB,OACV,CAAE,KAAM,QAAS,EAAG,OAAQ,IAAM,CAAA,EAAA,EAAA,CAAA,AAAgB,EAAC,EAAS,GAAa,UAAW,EAAM,CAAC,gBAAgB,EAAE,EAAS,KAAK,CAAC,wDAAwD,CAAC,CAAE,EAE7M,EACA,OAAQ,KAAQ,EAAO,CAAE,QAAS,CAAE,KAAM,MAAO,EAAG,OAAQ,IAAM,CAAA,EAAA,EAAA,CAAA,AAAY,EAAC,CAAE,MAAO,EAAS,WAAY,EAAS,UAAU,AAAC,GAAI,UAAW,EAAM,CAAC,WAAW,EAAE,EAAS,KAAK,CAAC,EAAE,CAAC,CAAE,EAAI,EAC5L,aAAc,AAAC,IACb,EAAO,CACL,QAAS,CAAE,KAAM,CAAQ,EACzB,OAAQ,IAAM,CAAA,EAAA,EAAA,CAAA,AAAY,EAAC,CAAE,MAAO,EAAS,WAAY,EAAS,UAAU,CAAE,KAAM,SAAE,OAAS,CAAK,CAAE,GACtG,UAAW,KAAQ,EAAS,UAAE,WAAU,SAAU,EAAQ,SAAU,SAAE,EAAS,KAAM,EAAK,IAAI,GAAI,GAAI,IAAI,OAAO,WAAW,EAAG,CAAE,EAAI,CACvI,EACF,EACA,OAAQ,AAAC,IAAiB,EAAK,YAAE,EAAY,IAAK,EAAO,GAAG,AAAC,EAAI,EACjE,mBAAsC,IAAvB,EAAS,SAAS,OAAkC,IAAhB,OAA4B,EAAY,AAAC,IAAgB,EAAY,WAAE,CAAU,EAAI,EACxI,OAAQ,KAAQ,OAAS,EAAY,GAnChC,EAAS,UAAU,EAsC9B,EAWmD,IAGrD,YA1IO,SAAS,AAAU,SAAE,CAAO,CAAE,cAAY,YAAE,CAAU,UAAE,CAAQ,CAA6M,EAClR,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,CAAK,CAAC,QAAQ,CAAA,WACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAa,QAAS,EAAS,aAAc,EAAc,WAAY,WAAa,IACrF,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAA,KAGP,6DE9DO,SAASe,AAAcC,CAAgE,EAC5F,IAAMC,EAAQ,IAAIC,gBAAgB,CAAEC,MAAOH,EAAQI,OAAO,CAAE,GAAuBE,SAAnBN,EAAQK,MAAM,CAAiB,CAAC,EAAI,CAAEA,OAAQL,EAAQK,MAAM,AAAC,CAAC,AAAE,GAChI,MAAO,GAAGP,UAAiBS,IAAH,CAAC,cAAqBP,EAAQQ,SAAS,EAAE,CAAC,EAAEP,EAAMQ,QAAQ,IAAI,AACxF,UCT4M,IAAA,EAAA,EAAA,CAAA,CAAA,MAAsG,IAAM,EAAmC,CAAA,EAAA,EAAA,iBAAb,IAAa,AAAqB,EAAC,KAAxB,wCAAqE,EAAA,UAAU,CAAC,KAAK,EAAE,EAAA,gBAAgB,CAAC,uCCAjJ,IAAM,EAAmC,CAAA,EAAA,EAAA,iBAAb,IAAa,AAAqB,EAAC,KAAxB,wCAAqE,EAAA,UAAU,CAAC,KAAK,EAAE,EAAA,gBAAgBL,CAAC,qCCA/I,IAAM,EAAmC,CAAA,EAAA,EAAA,iBAAb,IAAa,AAAqB,EAAC,KAAxB,wCAAqE,EAAA,UAAU,CAAC,KAAK,EAAE,EAAA,gBAAgBA,CAAC,qCCAhJL,IAAM,EAAmC,CAAA,EAAA,EAAA,iBAAb,IAAa,AAAqB,EAAC,KAAxB,wCAAqE,EAAA,UAAU,CAAC,KAAK,EAAE,EAAA,gBAAgB,CAACK,oCCA3I,IAAM,EAAmC,CAAA,EAAA,EAAA,iBAAb,IAAa,AAAqB,EAAC,KAAxB,wCAAqE,EAAA,UAAU,CAAC,KAAKD,EAAE,EAAA,gBAAgB,CAAC"}
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[10020,a=>{var b=a.i(87924);a.s(["f",0,function({isOn:a,label:c,isPending:d=!1,type:e="button",onClick:f,testId:g}){return(0,b.jsx)("button",{type:e,role:"switch","aria-checked":a,"aria-label":c,"aria-busy":d,disabled:d,onClick:f,"data-testid":g,className:`inline-flex h-5 w-9 shrink-0 items-center rounded-full border p-0.5 transition-colors disabled:opacity-60 ${a?"border-primary bg-primary":"border-input bg-muted"}`,children:(0,b.jsx)("span",{className:`size-3.5 rounded-full bg-background shadow-sm transition-transform ${a?"translate-x-4":"translate-x-0"} ${d?"animate-pulse":""}`})})}])},48926,a=>{var b=a.i(5050);let c=(0,b.createServerReference)("60dfc77df91824127c01fb5c44efb2841ead72242f",b.callServer,void 0,b.findSourceMapURL,"signInToParty");a.s(["f",0,c])},45659,55322,66296,45937,881,92389,a=>{var b=a.i(5050);let c=(0,b.createServerReference)("408e46bf6617cbbe648bcdb436ffd839c7f2bf376d",b.callServer,void 0,b.findSourceMapURL,"setPartyScopes");function d(a){return a.length<=1?a.join(""):`${a.slice(0,-1).join(", ")} and ${a.at(-1)??""}`}function e(a){return`${String(a)} ${1===a?"tool":"tools"}`}function f(a,b){return null===b?a:`${a}; the fleet sees it at the proxy ship's next statement: ${b}`}a.s(["f",0,c],45659),a.s(["B",0,function({party:a,scopes:b}){return 0===b.length?`Every message to ${a} needs nothing beyond reaching it`:`Every message to ${a} needs ${d(b)}`},"G",0,function({party:a,scopes:b}){return 0===b.length?`Every tool of ${a} needs nothing beyond reaching it`:`Every tool of ${a} needs ${d(b)}`},"y",0,function({scopes:a,how:b,count:c}){return"remove"===b?`${d(a)} removed from ${e(c)}`:0===a.length?`${e(c)} need${1===c?"s":""} nothing of ${1===c?"its":"their"} own`:`${d(a)} set on ${e(c)}`},"I",0,f,"q",0,function(a){return a.map(({scopes:a,count:b})=>`${d(a)} set on ${e(b)}`).join("; ")},"g",0,function({count:a,isOn:b,statementRefusal:c}){return f(`${e(a)} switched ${b?"on":"off"}`,c)}],55322);var g=a.i(87924);a.s(["f",0,function({party:a=[],own:b,listed:c}){if(0===a.length&&0===b.length)return(0,g.jsx)("span",{className:"text-muted-foreground",children:"Nothing"});let d=(a,b)=>{let d=null!==c&&!c.has(a);return(0,g.jsxs)("span",{className:`inline-flex items-center rounded-md border px-2 font-mono text-caption ${d?"border-tone-attention-border bg-tone-attention-bg text-tone-attention-fg":b?"border-transparent bg-muted text-muted-foreground":"border-border"}`,"data-testid":b?"tools-table-party-scope":"tools-table-scope",title:d?"No longer defined in the fleet":b?"Every tool needs it":void 0,children:[a,d?(0,g.jsx)("span",{className:"ml-1 font-sans",children:"(no longer defined)"}):null]},`${b?"party":"own"}-${a}`)};return(0,g.jsxs)("span",{className:"flex flex-wrap gap-1",children:[a.map(a=>d(a,!0)),b.filter(b=>!a.includes(b)).map(a=>d(a,!1))]})}],66296);var h=a.i(82360),h=h,i=a.i(21338),j=a.i(22432),k=h,l=h,m=h,n=h,o=a.i(37987),p=a.i(21817),q=a.i(43256),r=a.i(27350),s=a.i(69035),t=a.i(21777),u=a.i(85804),v=h;let w=({scope:a,description:b})=>({value:a,label:a,description:b});a.s(["f",0,function({label:a,listed:b,picked:c,onPick:d,isDisabled:e=!1,testId:f}){let{contains:x}=h.useFilter(),y=[...b.map(w),...c.filter(a=>!b.some(b=>b.scope===a)).map(a=>({value:a,label:a,description:"No longer defined in the fleet"}))],z=y.filter(a=>c.includes(a.value));return(0,g.jsxs)(i.f.Root,{multiple:!0,items:y,value:z,disabled:e,isItemEqualToValue:(a,b)=>a.value===b.value,onValueChange:(a,b)=>{"escape-key"===b.reason?b.cancel():d(a.map(a=>a.value))},filter:(a,b)=>x(a.label,b)||x(a.description,b),children:[(0,g.jsxs)("div",{className:"grid gap-1","data-testid":f,children:[(0,g.jsx)(j.f.Label,{className:"font-medium",children:a}),(0,g.jsx)(k.InputGroup,{className:"flex min-h-9 flex-wrap items-center gap-1 rounded-md border border-input bg-background px-2 py-1",children:(0,g.jsxs)(l.Chips,{className:"contents",children:[z.map(a=>(0,g.jsxs)(m.Chip,{className:"inline-flex items-center gap-1 rounded-md border border-border bg-muted px-2 font-mono text-caption","aria-label":a.value,children:[a.value,(0,g.jsx)(n.ChipRemove,{className:"text-muted-foreground hover:text-foreground","aria-label":`Remove ${a.value}`,children:"×"})]},a.value)),(0,g.jsx)(o.f.Input,{placeholder:0===z.length?"Search the fleet's scopes":"",className:"h-7 min-w-32 flex-1 bg-transparent outline-none"})]})})]}),(0,g.jsx)(p.f.Portal,{children:(0,g.jsx)(q.f.Positioner,{sideOffset:4,className:"z-50",children:(0,g.jsxs)(r.f.Popup,{className:"max-h-72 w-(--anchor-width) overflow-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md",children:[(0,g.jsx)(s.f.Empty,{className:"px-2 py-1 text-muted-foreground",children:"No scope listed matches."}),(0,g.jsx)(t.f.List,{children:a=>(0,g.jsxs)(u.f.Item,{value:a,className:"grid cursor-default grid-cols-[1rem_1fr] gap-x-2 rounded px-2 py-1 data-highlighted:bg-accent",children:[(0,g.jsx)(v.ItemIndicator,{className:"row-span-2",children:"✓"}),(0,g.jsx)("span",{className:"col-start-2 font-mono text-code",children:a.value}),(0,g.jsx)("span",{className:"col-start-2 text-caption text-muted-foreground",children:a.description})]},a.value)})]})})})]})}],45937);var x=a.i(40197),y=a.i(21341),z=a.i(68758),A=a.i(5358),B=a.i(49867),C=a.i(8842),D=a.i(88412),E=a.i(32043);a.s(["G",0,function({isOpen:a,onClose:b,title:c,description:d,children:e,appliesTo:f,action:h,isSaving:i,refusal:j,onReload:k,isReloading:l,testId:m}){return(0,g.jsx)(x.f.Root,{open:a,onOpenChange:a=>{a||i||b()},children:(0,g.jsxs)(y.f.Portal,{children:[(0,g.jsx)(z.f.Backdrop,{className:"fixed inset-0 z-40 bg-(--overlay)"}),(0,g.jsxs)(A.f.Popup,{className:"fixed top-1/2 left-1/2 z-50 grid max-h-[90vh] w-[min(36rem,calc(100vw-2rem))] -translate-1/2 gap-4 overflow-auto rounded-lg border border-border bg-popover p-6 text-popover-foreground shadow-lg","data-testid":m,children:[(0,g.jsxs)("div",{className:"grid gap-1",children:[(0,g.jsx)(B.f.Title,{className:"text-heading font-semibold",children:c}),(0,g.jsx)(C.f.Description,{className:"text-muted-foreground",children:d})]}),(0,g.jsx)("fieldset",{disabled:i,className:"grid gap-4",children:e}),null===j?null:(0,g.jsxs)("div",{role:"alert",className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-tone-attention-border bg-tone-attention-bg px-3 py-2 text-tone-attention-fg","data-testid":"tools-table-dialog-refusal",children:[(0,g.jsx)("span",{children:j.message}),j.isConflict?(0,g.jsx)(E.i,{isPending:l,pendingLabel:"Reloading…",onClick:k,"data-testid":"tools-table-reload",children:"Reload"}):null]}),(0,g.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,g.jsx)("span",{className:"text-muted-foreground","data-testid":"tools-table-applies-to",children:f}),(0,g.jsxs)("div",{className:"flex gap-2",children:[(0,g.jsx)("button",{type:"button",className:D.x.secondary,disabled:i,onClick:b,children:"Cancel"}),(0,g.jsx)(E.i,{variant:"primary",isPending:i,pendingLabel:h.pending,disabled:h.isDisabled||l,onClick:h.onPress,"data-testid":"tools-table-dialog-action",children:h.label})]})]})]})]})})},"V",0,function(a,b){return a?.isConflict===!0&&b>a.version?null:a}],881);var F=a.i(76983),G=a.i(805),H=a.i(60232),I=a.i(62043),J=a.i(11591),K=a.i(58710),L=a.i(94894);a.s(["f",0,function(){let{toasts:a}=F.f.useToastManager();return(0,g.jsx)(G.f.Portal,{children:(0,g.jsx)(H.f.Viewport,{className:"fixed right-4 bottom-4 z-50 grid w-[min(24rem,calc(100vw-2rem))] gap-2",children:a.map(a=>(0,g.jsx)(I.f.Root,{toast:a,className:"rounded-md border border-tone-ok-border bg-tone-ok-bg px-4 py-3 text-tone-ok-fg shadow-md","data-testid":"tools-table-toast",children:(0,g.jsxs)(J.f.Content,{className:"flex items-start justify-between gap-3",children:[(0,g.jsx)(K.f.Title,{}),(0,g.jsx)(L.f.Close,{"aria-label":"Dismiss",children:"×"})]})},a.id))})})}],92389)},65705,a=>{var b=a.i(87924),c=a.i(99271),d=a.i(76983),e=a.i(50944),f=a.i(72131),g=a.i(45659),h=a.i(55322),i=a.i(66296),j=a.i(45937),k=a.i(881),l=a.i(92389);function m({fleetId:a,party:c,version:l,scopes:n,listed:o,canChange:p}){let q=(0,e.useRouter)(),r=d.f.useToastManager(),[,s]=(0,f.useTransition)(),[t,u]=(0,f.useTransition)(),[v,w]=(0,f.useState)(!1),[x,y]=(0,f.useState)([]),[z,A]=(0,f.useState)(!1),[B,C]=(0,f.useState)(null),[D,E]=(0,f.useState)(null),[F,G]=(0,f.useState)(0),[H,I]=(0,f.useState)(null),J=H?.basis===n?H.scopes:n;return(0,b.jsxs)("div",{className:`flex flex-wrap items-center gap-2 rounded-md ${F>0?"animate-highlight":""}`,"data-testid":"agent-needs",children:[(0,b.jsx)(i.f,{own:J,listed:null===o?null:new Set(o.map(({scope:a})=>a))}),p&&null!==o?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",className:"text-primary hover:underline",onClick:()=>{y([...J]),C(null),w(!0)},"data-testid":"agent-needs-change",children:"Change…"}),(0,b.jsx)(k.G,{isOpen:v,onClose:()=>{w(!1)},title:"Every message needs",description:`The scopes a calling ship must hold to message ${c}.`,appliesTo:`Applies to every message to ${c}`,action:{label:"Save",pending:"Saving…",isDisabled:!1,onPress:()=>{A(!0),C(null);let b=Math.max(l,D??0);s(async()=>{let d=await (0,g.f)({fleetId:a,name:c,version:b,party:x,tools:[]});(A(!1),d.isOk)?(E(d.version),I({basis:n,scopes:x}),w(!1),G(a=>a+1),r.add({title:(0,h.I)((0,h.B)({party:c,scopes:x}),d.statementRefusal)}),q.refresh()):C({message:d.message,isConflict:d.isConflict,version:b})})}},isSaving:z,refusal:(0,k.V)(B,Math.max(l,D??0)),isReloading:t,onReload:()=>{u(()=>{q.refresh()})},testId:"agent-needs-dialog",children:(0,b.jsx)(j.f,{label:"Scopes",listed:o,picked:x,onPick:y,isDisabled:z,testId:"agent-needs-picker"})})]}):null]},F)}a.s(["AgentNeeds",0,function(a){return(0,b.jsxs)(c.f.Provider,{children:[(0,b.jsx)(m,{...a}),(0,b.jsx)(l.f,{})]})}])},44512,a=>{var b,c,d=a.i(87924),e=a.i(72131),f=a.i(23689),g=a.i(26184),h=a.i(4478);let i="--drawer-height",j="--drawer-swipe-movement-x",k="--drawer-swipe-movement-y",l="--drawer-snap-point-offset",m="--drawer-swipe-strength",n="--drawer-swipe-progress",o=e.forwardRef(function(a,b){let{render:c,className:d,style:e,forceRender:i=!1,...j}=a,k=(0,f.x)(),l=k.useState("open"),o=k.useState("nested"),p=k.useState("mounted"),q=k.useState("transitionStatus");return(0,g.a)("div",a,{state:{open:l,transitionStatus:q},ref:[k.context.backdropRef,b],stateAttributesMapping:h.M,props:[{role:"presentation",hidden:!p,style:{pointerEvents:l?void 0:"none",userSelect:"none",WebkitUserSelect:"none",[n]:"0",[m]:"1"}},j],enabled:i||!o})}),p=a.i(29302).f,q="data-drawer-content",r=e.forwardRef(function(a,b){let{render:c,className:d,style:e,...h}=a;return(0,f.x)(),(0,g.a)("div",a,{ref:b,props:[{[q]:""},h]})});var s=a.i(57738),t=a.i(54401),u=a.i(24715),v=a.i(50687),w=a.i(77327),x=a.i(3981),y=a.i(65206),z=a.i(11490);w.f.open,x.f.closed,y.f.startingStyle,z.f.endingStyle;let A="data-swipe-dismiss",B="data-swiping";var C=a.i(86070),D=a.i(5687),E=a.i(69649),F=a.i(54662);let G=e.createContext(void 0);function H(a){let b=e.useContext(G);if(!0!==a&&void 0===b)throw Error((0,F.f)(90));return b}var I=a.i(87828),J=a.i(26599);function K(a,b){let c=a+b;return c>=0?b:-Math.sqrt(-c)-a}function L(a,b,c){if(!Number.isFinite(b)||b<=0)return null;if("number"==typeof a)return Number.isFinite(a)?a<=1?(0,J.f)(a,0,1)*b:a:null;let d=a.trim();if(d.endsWith("px")){let a=Number.parseFloat(d);return Number.isFinite(a)?a:null}if(d.endsWith("rem")){let a=Number.parseFloat(d);return Number.isFinite(a)?a*c:null}return null}function M(a,b){let c=-1,d=1/0;for(let e=0;e<a.length;e+=1){let f=Math.abs(a[e]-b);f<d&&(d=f,c=e)}return c}function N(){let a=(0,f.x)(),{snapPoints:b,activeSnapPoint:c,setActiveSnapPoint:d,popupHeight:g}=H(),h=a.useState("viewportElement"),[i,j]=e.useState(0),[k,l]=e.useState(16),m=(0,t.f)(()=>{let a=(0,I.f)(h).documentElement;j(h?h.offsetHeight:a.clientHeight);let b=parseFloat(getComputedStyle(a).fontSize);Number.isFinite(b)&&l(b)});(0,s.f)(()=>{if(m(),!h||"function"!=typeof ResizeObserver)return;let a=new ResizeObserver(m);return a.observe(h),()=>{a.disconnect()}},[m,h]);let n=e.useMemo(()=>{if(!b||0===b.length||i<=0||g<=0)return[];let a=Math.min(g,i),c=b.map(b=>{let c=L(b,i,k);if(null===c)return null;let d=(0,J.f)(c,0,a);return{value:b,height:d,offset:Math.max(0,g-d)}}).filter(a=>!!a);if(c.length<=1)return c;let d=[],e=[];for(let a=c.length-1;a>=0;a-=1){let b=c[a];e.some(a=>1>=Math.abs(a-b.height))||(e.push(b.height),d.push(b))}return d.reverse(),d},[g,k,b,i]),o=e.useMemo(()=>{if(null===c)return;let a=n.find(a=>Object.is(a.value,c));if(a)return a;let b=Math.min(g,i),d=L(c,i,k);if(null===d)return;let e=(0,J.f)(d,0,b);return n[M(n.map(a=>a.height),e)]},[c,g,n,k,i]);return{snapPoints:b,activeSnapPoint:c,setActiveSnapPoint:d,popupHeight:g,viewportHeight:i,resolvedSnapPoints:n,activeSnapPointOffset:o?.offset??null}}let O=e.createContext(null);var P=a.i(84204);let Q=!1,R={...h.M,expanded:a=>a?{"data-expanded":""}:null,nestedDrawerOpen:a=>a?{"data-nested-drawer-open":""}:null,nestedDrawerSwiping:a=>a?{"data-nested-drawer-swiping":""}:null,swipeDirection:a=>({"data-swipe-direction":a}),swiping:a=>a?{[B]:""}:null},S=e.forwardRef(function(a,b){let c,{render:h,className:o,style:p,finalFocus:q,initialFocus:r,...w}=a,x=(0,f.x)(),y=x.context.popupRef,{swipeDirection:z,frontmostHeight:A,hasNestedDrawer:B,nestedSwiping:F,nestedSwipeProgressStore:G,onPopupHeightChange:I,notifyParentFrontmostHeight:J,notifyParentHasNestedDrawer:L}=H(),M=x.useState("descriptionElementId"),S=x.useState("disablePointerDismissal"),T=x.useState("floatingRootContext"),U=x.useState("popupProps"),V=x.useState("modal"),W=x.useState("mounted"),X=x.useState("nested"),Y=x.useState("nestedOpenDrawerCount"),Z=x.useState("transitionStatus"),$=x.useState("open"),_=x.useState("openMethod"),aa=x.useState("titleElementId"),ab=x.useState("role"),ac=T.useState("floatingId"),ad=w.id??ac,ae=e.useContext(O);(0,C.Z)();let{snapPoints:af,activeSnapPoint:ag,activeSnapPointOffset:ah}=N(),ai=Y>0,aj=ae?.swiping??!1,ak=ae?.swipeStrength??null,[al,am]=e.useState(0),an=e.useRef(0),ao=(0,t.f)(()=>{let a=y.current;if(!a)return;let b=a.offsetHeight;if(!(an.current>0)||!(A>an.current)||!(b>an.current)){if(an.current>0&&B){let a=an.current;am(a),I(a);return}b!==an.current&&(an.current=b,am(b),I(b))}});(0,s.f)(()=>{if(!W){an.current=0,am(0),I(0);return}let a=y.current;if(!a||(Q||("u">typeof CSS&&"registerProperty"in CSS&&([j,k,l].forEach(a=>{try{CSS.registerProperty({name:a,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),[{name:n,initialValue:"0"},{name:m,initialValue:"1"}].forEach(({name:a,initialValue:b})=>{try{CSS.registerProperty({name:a,syntax:"<number>",inherits:!1,initialValue:b})}catch{}})),Q=!0),ao(),"function"!=typeof ResizeObserver))return;let b=new ResizeObserver(ao);return b.observe(a),()=>{b.disconnect()}},[ao,W,ai,I,y]),(0,s.f)(()=>{let a=()=>{let a=y.current;if(!a)return;let b=G.getSnapshot();b>0?a.style.setProperty(n,`${b}`):a.style.setProperty(n,"0")};a();let b=G.subscribe(a),c=y.current;return()=>{b(),c&&c.style.setProperty(n,"0")}},[G,y]),(0,s.f)(()=>{if($)return J?.(A),()=>{J?.(0)}},[A,$,J]),(0,s.f)(()=>{if(L)return L($||"ending"===Z),()=>{L(!1)}},[L,$,Z]),(0,D.f)({open:$,ref:y,onComplete(){$&&x.context.onOpenChangeComplete?.(!0)}});let ap=void 0===r?y:r,aq=x.useStateSetter("popupElement"),ar=!B&&"ending"!==Z;al&&!ar&&(c=`${al}px`);let as=af&&af.length>0&&("down"===z||"up"===z),at=null;as&&null!==ah&&(at="up"===z?-ah:ah);let au=ae?ae.getDragStyles():u.w;if(as&&"down"===z){let a=Number.parseFloat(String(au[k]));au=aj&&Number.isFinite(a)?{...au,transform:void 0,[k]:`${K(ah??0,a)}px`}:{...au,transform:void 0}}let av=(0,g.a)("div",a,{state:{open:$,nested:X,transitionStatus:Z,expanded:1===ag,nestedDrawerOpen:ai,nestedDrawerSwiping:F,swipeDirection:z,swiping:aj},props:[U,{id:ad,"aria-labelledby":aa,"aria-describedby":M,role:ab,...P.X,hidden:!W,onKeyDown(a){E.f.has(a.key)&&a.stopPropagation()},style:{...au,[n]:"0","--nested-drawers":Y,[i]:c,[l]:"number"==typeof at?`${at}px`:"0px","--drawer-frontmost-height":A?`${A}px`:void 0,[m]:"number"==typeof ak&&Number.isFinite(ak)&&ak>0?`${ak}`:"1"}},w],ref:[b,y,aq],stateAttributesMapping:R});return(0,d.jsx)(v.f,{context:T,openInteractionType:_,disabled:!W,closeOnFocusOut:!S,initialFocus:ap,returnFocus:q,modal:!1!==V,restoreFocus:"popup",children:av})}),T=a.i(91034).f;var U=a.i(68536),V=a.i(50381),W=a.i(44530),X=a.i(61475),Y=a.i(94552),Z=a.i(29433),$=a.i(62600),$=$,_=a.i(36361);let aa=e.createContext(void 0);function ab(){return e.useContext(aa)}function ac(){let a=0,b=new Set;return{getSnapshot:()=>a,set(c){let d=Number.isFinite(c)?c:0;d!==a&&(a=d,b.forEach(a=>{a()}))},subscribe:a=>(b.add(a),()=>{b.delete(a)})}}function ad(){let a=ab(),b=(0,f.x)(!1),c=a?.setDrawerOpen,d=a?.removeDrawer,g=b.useState("open"),h=b.useState("nestedOpenDialogCount"),i=b.useState("popupElement"),j=0===h;return(0,s.f)(()=>{if(d)return()=>{d(b)}},[d,b]),(0,s.f)(()=>{c?.(b,g)},[g,c,b]),e.useEffect(()=>{if(!g||!j||!X.f.os.android)return;let a=(0,W.f)(i).CloseWatcher;if(!a)return;let c=new a,d=(0,U.f)(c,"cancel",function(a){if(!b.select("open"))return;let c=(0,Y.j)($.closeWatcher,a);a.cancelable||(c.cancel=u.x),b.setOpen(!1,c),c.isCanceled&&a.preventDefault()});return()=>{d(),c.destroy()}},[b,j,g,i]),null}let ae=a.i(73343).f,af=a.i(83224).f;var ag=a.i(35112),ah=a.i(26476),ai=a.i(54184),aj=a.i(28077);let ak=e.forwardRef(function(a,b){let{render:c,className:d,style:e,children:h,...i}=a,j=(0,C.Z)(),k=(0,f.x)(),l=k.useState("open"),m=k.useState("nested"),n=k.useState("transitionStatus"),o=k.useState("nestedOpenDialogCount"),p=k.useState("mounted"),q=k.useStateSetter("viewportElement");return(0,g.a)("div",a,{enabled:j||p,state:{open:l,nested:m,transitionStatus:n,nestedDialogOpen:o>0},ref:[b,q],stateAttributesMapping:aj.f,props:[{role:"presentation",hidden:!p,style:{pointerEvents:l?void 0:"none"},children:h},i]})});w.f.open,x.f.closed,y.f.startingStyle,z.f.endingStyle;var al=a.i(32318),am=a.i(56957),an=$,ao=a.i(30116),ap=a.i(89065),aq=a.i(59742),ar=a.i(82204),as=a.i(45410);let at=e.createContext(void 0),au=`[${q}]`,av={horizontal:`[${ar.a}="x"]`,vertical:`[${ar.a}="y"]`},aw=e.forwardRef(function(a,b){let{render:c,className:g,style:h,children:l,...m}=a,o=(0,f.x)(),p=o.context.popupRef,q=o.context.backdropRef,{swipeDirection:r,notifyParentSwipingChange:u,notifyParentSwipeProgressChange:v,frontmostHeight:w,snapToSequentialPoints:x,swipeAreaActiveRef:y}=H(),z=ab(),{snapPoints:B,resolvedSnapPoints:C,activeSnapPoint:D,activeSnapPointOffset:E,setActiveSnapPoint:F,popupHeight:G}=N(),L=o.useState("open"),P=o.useState("mounted"),Q=o.useState("nested"),R=o.useState("nestedOpenDrawerCount"),S=o.useState("viewportElement"),T=o.useState("popupElement"),V=z?.visualStateStore,X=R>0,Z="left"===r||"right"===r?"horizontal":"vertical",$="vertical"===Z,_=$?"horizontal":"vertical",[aa,ac]=e.useState(null),ad=e.useRef(void 0),ae=e.useRef(null),af=(0,ai.z)(),aj=e.useRef(!1),aw=e.useRef(!1),aE=e.useRef(""),aF=e.useRef(!1),aG=e.useRef(!1),aH=e.useRef(null),aI=e.useContext(at),aJ=e.useMemo(()=>{if(!B||B.length<2||C.length<2||"down"!==r&&"up"!==r)return null;let a=C.map(a=>a.offset).sort((a,b)=>a-b),b=a[0];return{minOffset:b,range:a[1]-b}},[C,B,r]),aK=e.useMemo(()=>aJ&&null!==E?(0,J.f)((E-aJ.minOffset)/aJ.range,0,1):null,[E,aJ]),aL=e.useMemo(()=>B&&B.length>0&&("down"===r||"up"===r)?"down"===r?["down","up"]:["up","down"]:[r],[B,r]),aM=(0,t.f)(a=>{p.current?.toggleAttribute(A,a),q.current?.toggleAttribute(A,a)}),aN=(0,t.f)(()=>{aM(!1),p.current?.removeAttribute(ap.f.endingStyle),ac(null)}),aO=(0,t.f)(()=>{aw.current&&(aw.current=!1,u?.(!1))}),aP=(0,t.f)((a,b,c)=>{let d=L&&!Q&&b,e=d?a:0,f=L&&b?a:0;c&&v&&(v(f),f<=0&&aO()),V?.set({swipeProgress:e,frontmostHeight:e>0?w:0});let g=q.current;if(!g)return;let h=d&&e>0;g.style.setProperty(n,h?`${e}`:"0"),h&&w>0?g.style.setProperty(i,`${w}px`):g.style.removeProperty(i)}),aQ=(0,am.w)({enabled:P&&!X,directions:aL,elementRef:o.context.popupRef,ignoreSelectorWhenTouch:!1,ignoreScrollableAncestors:!0,movementCssVars:{x:j,y:k},onSwipeStart(a){if("touches"in a||"touch"===a.pointerType)return;let b=p.current,c=(0,I.f)(b),d=c.getSelection?.();if(!d||d.isCollapsed)return;let e=(0,ah.m)(d.anchorNode)?d.anchorNode:d.anchorNode?.parentElement,f=(0,ah.m)(d.focusNode)?d.focusNode:d.focusNode?.parentElement;((0,ao.I)(b,e)||(0,ao.I)(b,f))&&d.removeAllRanges()},onSwipingChange(a){aj.current=a,ax(o.context.backdropRef.current,a),a||v||aO()},swipeThreshold:({element:a,direction:b})=>az(a,b),canStart(a,b){let c=o.context.popupRef.current;if(!c)return!1;let d=b.nativeEvent,e="touches"in d||"touch"===d.pointerType,f=e?aH.current:null,g=c.ownerDocument,h=(0,as.f)(c.getRootNode(),a.x,a.y);return!(!f?.startedInPopup&&!(0,ao.I)(c,h)||e&&aA(g,c)||f?.hasCrossAxisGestureTarget&&!f.drawerAxisAttributed&&!0!==f.allowSwipe)},onProgress(a,b){let c=aj.current;c&&function(a){if(aw.current||!a)return;let b=a.direction??r;10>Math.abs((0,am.R)(b,a.deltaX,a.deltaY))||(aw.current=!0,u?.(!0))}(b);let d=!!(B&&B.length>0);if(c&&"down"===r&&d&&b){let a=o.context.popupRef.current;a&&(a.style.removeProperty("transform"),a.style.setProperty(k,`${K(E??0,b.deltaY)}px`))}let e=a;if(aJ&&G>0){let a=E??aJ.minOffset;if(c&&b&&Number.isFinite(b.deltaY)){let c;c=(0,J.f)(a+b.deltaY,0,G),e=(0,J.f)((c-aJ.minOffset)/aJ.range,0,1)}else null!==aK&&(e=aK)}c||(v?.(0),aO()),aP(e,!0,c)},onRelease({event:a,deltaX:b,deltaY:c,direction:d,velocityX:e,velocityY:f,releaseVelocityX:g,releaseVelocityY:h}){let i=o.context.popupRef.current;if(!i)return void aN();function j(a){aO(),aM(!0),i.style.removeProperty("transition"),i.setAttribute(ap.f.endingStyle,""),ag.flushSync(()=>{ac(function(a,b,c,d,e,f,g,h){let i=ay(a,b);if(i<=0)return null;let j=Math.max(0,i-((("down"===b||"up"===b)&&B&&B.length>0?E??0:0)+(0,am.R)(b,c,d)));if(j<=0)return null;let k=(0,am.R)(b,g,h),l=Math.abs(k)>0?k:(0,am.R)(b,e,f);if(l<=.2)return null;let m=(0,J.f)(l,.2,4);return .1+((0,J.f)(j/m,80,360)-80)/280*.9}(i,a,b,c,e,f,g,h))})}if(!B||0===B.length){if(!d)return void aN();let a=(0,am.R)(d,b,c);if(a<=0)return aN(),!1;if((0,am.R)(d,e,f)>=.5)return j(d),!0;let g=a>az(i,d);return g?j(d):aN(),g}if("down"!==r&&"up"!==r)return void aN();if(!G)return aN(),!1;if(0===C.length)return void aN();let k="down"===r?c:-c,l=Math.sign(k),m="down"===r?h:-h,n="down"===r?f:-f,p=m;if(0!==l&&Math.abs(k)>=10){let a=Math.sign(p);0!==a&&a!==l&&(p=n)}let q=E??0,s=(0,J.f)(q+k,0,G),t=Math.abs(p)>=.5?300*(0,J.f)(p,-4,4):0,u=x?s:(0,J.f)(s+t,0,G),v=(0,Y.j)(an.swipe,a),w=()=>(aP(0,!0,!0),aN(),!1),y=a=>(F(a.value,v),w()),z=a=>d?(F(null,v),v.isCanceled)?w():(ad.current=D,j(r),!0):y(a);if(x){let a=[...C].sort((a,b)=>a.offset-b.offset),b=a.map(a=>a.offset),c=M(b,q),d=a[M(b,u)],e=Math.sign(p),f=u;if(0!==l&&0!==e&&e===l&&Math.abs(p)>=.5){let b=(0,J.f)(c+l,0,a.length-1);if(b!==c){let c=a[b];(l>0?u<c.offset:u>c.offset)&&(d=c,f=c.offset)}else if(l>0)return z(d)}return Math.abs(f-G)<Math.abs(f-d.offset)?z(d):y(d)}let A=C[M(C.map(a=>a.offset),u)];return p>=.5&&k>0||Math.abs(u-G)<Math.abs(u-A.offset)?z(A):y(A)},onDismiss(a){V?.set({swipeProgress:0,frontmostHeight:0});let b=o.context.backdropRef.current;b&&(b.style.setProperty(n,"0"),b.style.removeProperty(i));let c=(0,Y.j)(an.swipe,a);if(o.setOpen(!1,c),c.isCanceled){let b=ad.current;void 0!==b&&F(b,(0,Y.j)(an.swipe,a)),ad.current=void 0,ae.current?.(),aN();return}o.select("open")?af.request(()=>{if(o.select("open")){let b=ad.current;void 0!==b&&F(b,(0,Y.j)(an.swipe,a)),ad.current=void 0,aN(),ae.current?.()}else ad.current=void 0}):(ad.current=void 0,aM(!0))}}),aR=aQ.getPointerProps(),aS=aQ.getTouchProps(),{moveNative:aT,reset:aU}=aQ;ae.current=aU,e.useEffect(()=>{let a=S??T;if(!a||!L||!P)return;let b=(0,I.f)(a);return(0,U.f)(b,"touchmove",function(c){var d,e;if(aI?.onTouchMove(c),aG.current)return;let f=aH.current,g=c.touches[0];g&&f&&(!function(c,d,e){let f=$?e.clientY-d.lastY:e.clientX-d.lastX;if(2===c.touches.length||aA(b,a)||X||function(a,b,c,d){if(a.preserveNativeCrossAxisScroll)return!0;if(a.drawerAxisAttributed||!0===a.allowSwipe||!a.hasCrossAxisGestureTarget)return!1;if(!b.cancelable)return a.preserveNativeCrossAxisScroll=!0,!0;let e=d?c.clientY-a.startY:c.clientX-a.startX,f=d?c.clientX-a.startX:c.clientY-a.startY,g=Math.abs(e),h=Math.abs(f);return h>=6&&h>g+2?(a.preserveNativeCrossAxisScroll=!0,!0):!(g>=6)||(a.drawerAxisAttributed=!0,!1)}(d,c,e,$))return;let g=d.scrollTarget;if(!g||g===b.documentElement||g===b.body){c.cancelable&&c.preventDefault(),c.stopPropagation(),aT(c,a);return}if(!(aB(g,Z).max>0)){c.cancelable&&c.preventDefault(),c.stopPropagation();return}if(0!==f){var h,i,j,k;let a=(h=g,i=Z,j=r,k=f,!!(aD(j,i)?k>0:k<0)&&aC(h,i,j));d.allowSwipe?c.cancelable&&c.preventDefault():c.cancelable&&a?(d.allowSwipe=!0,c.preventDefault()):d.allowSwipe=!1}!0===d.allowSwipe&&(c.stopPropagation(),aT(c,a))}(c,f,g),(d=f).lastX=(e=g).clientX,d.lastY=e.clientY)},{passive:!1,capture:!0})},[P,X,L,T,$,Z,r,aT,S,aI]),(0,s.f)(()=>{aJ&&!aQ.swiping&&aP(!L||Q?0:aK??0,!0,!1)},[aP,w,Q,v,L,aK,aJ,aQ.swiping,o,V]),(0,s.f)(()=>{if(v)return L||v(0),()=>{v(0)}},[v,L]),(0,s.f)(()=>{L&&(y.current||aU(),aN())},[aN,L,aU,y]),(0,s.f)(()=>{let a=q.current;return()=>{V?.set({swipeProgress:0,frontmostHeight:0}),ax(a,!1);let b=q.current;b!==a&&ax(b,!1),aO()}},[q,aO,V]);let aV=e.useMemo(()=>({swiping:aQ.swiping,getDragStyles:aQ.getDragStyles,swipeStrength:aa??null,setSwipeDismissed:aM}),[aM,aQ.getDragStyles,aQ.swiping,aa]);function aW(a){aG.current=a,aH.current=null}function aX(){aW(!1),aE.current="",aF.current=!1}function aY(a){return aE.current="","touch"!==a.pointerType}return(0,d.jsx)(ak,{ref:b,className:g,style:h,render:c,...(0,al.w)(m,{onPointerDown(a){var b,c;if(aE.current=a.pointerType,aF.current="pen"===a.pointerType,!L||!P||X)return;let d=(0,as.f)(a.currentTarget.getRootNode(),a.clientX,a.clientY);b=d,(0,ao.h)(b,ar.u)||(c=d,(0,ao.h)(c,au))||"touch"!==a.pointerType&&aR.onPointerDown?.(a)},onPointerMove(a){"touch"!==a.pointerType&&aR.onPointerMove?.(a)},onPointerUp(a){aY(a)&&aR.onPointerUp?.(a)},onPointerCancel(a){aY(a)&&aR.onPointerCancel?.(a)},onTouchStart(a){var b,c,d;if("pen"===aE.current&&aF.current){aF.current=!1,aW(!1);return}if(!L||!P||X)return void aW(!1);let e=a.touches[0];if(!e)return;if(c=(b=a).nativeEvent,d=(0,W.f)(b.currentTarget),c.composedPath().some(a=>a instanceof d.HTMLInputElement&&"range"===a.type))return void aW(!1);let f=a.currentTarget,g=(0,as.f)(f.getRootNode(),e.clientX,e.clientY),h=(0,ao.Z)(a.nativeEvent),i=(0,ah.m)(h)?h:f;if(!(0,ao.I)(f,i)||(aI?.onTouchStart(a),(0,ao.h)(g,`${ar.u}:not(${av[_]})`)))return void aW(!0);aG.current=!1;let j=(0,aq.U)(i,f,Z),k=null!=(0,aq.U)(i,f,_)||null!=(0,ao.h)(g,av[_]),l=null;j&&(l=!!aC(j,Z,r)&&null),aH.current={startX:e.clientX,startY:e.clientY,lastX:e.clientX,lastY:e.clientY,startedInPopup:(0,ao.I)(p.current,g),scrollTarget:j,hasCrossAxisGestureTarget:k,allowSwipe:l,preserveNativeCrossAxisScroll:!1,drawerAxisAttributed:!1},aS.onTouchStart?.(a)},onTouchEnd(a){aI?.onTouchEnd(a),aX(),aS.onTouchEnd?.(a)},onTouchCancel(a){aI?.onTouchCancel(),aX(),aS.onTouchCancel?.(a)},"data-nested-dialog-open":void 0}),children:(0,d.jsx)(O.Provider,{value:aV,children:l})})});function ax(a,b){a?.toggleAttribute(B,b)}function ay(a,b){return"left"===b||"right"===b?a.offsetWidth:a.offsetHeight}function az(a,b){return Math.max(.5*ay(a,b),10)}function aA(a,b){let c,d,e=(0,ao.T)(a);if(e&&(0,ao.I)(b,e)&&("INPUT"===e.tagName||"TEXTAREA"===e.tagName)){let{selectionStart:a,selectionEnd:b}=e;if(null!=a&&null!=b&&a<b)return!0}let f=a.getSelection?.();return!!f&&!f.isCollapsed&&(c=(0,ah.m)(f.anchorNode)?f.anchorNode:f.anchorNode?.parentElement,d=(0,ah.m)(f.focusNode)?f.focusNode:f.focusNode?.parentElement,f.containsNode(b,!0)||(0,ao.I)(b,c)||(0,ao.I)(b,d))}function aB(a,b){if("vertical"===b){let b=Math.max(0,a.scrollHeight-a.clientHeight);return{offset:a.scrollTop,max:b}}let c=Math.max(0,a.scrollWidth-a.clientWidth);return{offset:a.scrollLeft,max:c}}function aC(a,b,c){let d=aD(c,b),{offset:e,max:f}=aB(a,b);return d?e<=0:e>=f}function aD(a,b){return"vertical"===b?"down"===a:"right"===a}a.s(["Backdrop",0,o,"Close",0,p,"Content",0,r,"Popup",0,S,"Portal",0,T,"Root",0,function(a){let{children:f,open:g,defaultOpen:h=!1,onOpenChange:i,onOpenChangeComplete:j,disablePointerDismissal:k=!1,modal:l=!0,actionsRef:m,handle:n,triggerId:o,defaultTriggerId:p=null,swipeDirection:q="down",snapToSequentialPoints:r=!1,snapPoints:s,snapPoint:u,defaultSnapPoint:v,onSnapPointChange:w}=a,x=H(!0),y=x?.onNestedSwipeProgressChange,z=x?.onNestedFrontmostHeightChange,A=x?.onNestedSwipingChange,B=x?.onNestedDrawerPresenceChange,[C,D]=e.useState(0),[E,F]=e.useState(0),[I,J]=e.useState(!1),[K,L]=e.useState(!1),[M]=e.useState(ac),N=void 0!==v?v:s?.[0]??null,O=void 0!==u,[P,Q]=(0,V.f)({controlled:u,default:N,name:"Drawer",state:"snapPoint"}),R=e.useRef(!1),S=e.useRef(!1),T=(0,t.f)((a,b)=>{let c=b??(0,Y.j)(Z.f.none);w?.(a,c),c.isCanceled||Q(a)}),U=e.useMemo(()=>O||!s||0===s.length||null!==P&&s.some(a=>Object.is(a,P))?P:N,[P,O,N,s]),W=(0,t.f)(a=>{D(a),!R.current&&a>0&&F(a)}),X=(0,t.f)(a=>{if(a>0){R.current=!0,F(a);return}R.current=!1,C>0&&F(C)}),$=(0,t.f)(a=>{J(a)}),aa=(0,t.f)(a=>{M.set(a),y?.(a)}),ab=(0,t.f)(a=>{L(a),A?.(a)}),ae=(0,t.f)((a,b)=>{i?.(a,b),!b.isCanceled&&!a&&s&&s.length>0&&T(N,(0,Y.j)(b.reason,b.event,b.trigger))}),af=e.useMemo(()=>({swipeDirection:q,swipeAreaActiveRef:S,snapToSequentialPoints:r,snapPoints:s,activeSnapPoint:U,setActiveSnapPoint:T,frontmostHeight:E,popupHeight:C,hasNestedDrawer:I,nestedSwiping:K,nestedSwipeProgressStore:M,onNestedDrawerPresenceChange:$,onPopupHeightChange:W,onNestedFrontmostHeightChange:X,onNestedSwipingChange:ab,onNestedSwipeProgressChange:aa,notifyParentFrontmostHeight:z,notifyParentSwipingChange:A,notifyParentSwipeProgressChange:y,notifyParentHasNestedDrawer:B}),[U,E,I,K,M,B,y,A,z,$,X,aa,ab,W,C,T,s,r,S,q]),ag="function"==typeof f?a=>(0,d.jsxs)(e.Fragment,{children:[b||(b=(0,d.jsx)(ad,{})),f(a)]}):(0,d.jsxs)(e.Fragment,{children:[c||(c=(0,d.jsx)(ad,{})),f]}),ah=(0,_.f)("drawer",{open:g,defaultOpen:h,onOpenChange:ae,onOpenChangeComplete:j,disablePointerDismissal:k,modal:l,actionsRef:m,handle:n,triggerId:o,defaultTriggerId:p,children:ag});return(0,d.jsx)(G.Provider,{value:af,children:ah})},"Title",0,ae,"Trigger",0,af,"Viewport",0,aw],35564);var aE=a.i(35564),aE=aE,aF=aE,aG=aE,aH=aE,aI=aE,aJ=aE,aK=aE,aL=aE,aM=aE,aN=a.i(99271),aO=a.i(76983),aP=a.i(50944),aQ=a.i(88412),aR=a.i(10020),aS=a.i(32043),aT=a.i(47763),aU=a.i(45659),aV=a.i(5050);let aW=(0,aV.createServerReference)("40d13b79368f90a7fd44c08192397c549c663063a0",aV.callServer,void 0,aV.findSourceMapURL,"switchPartyTools"),aX=[{how:"add",label:"Add to each"},{how:"remove",label:"Remove from each"},{how:"replace",label:"Replace with these"}];var aY=a.i(55322);let aZ=[{state:"all",label:"All"},{state:"on",label:"On"},{state:"off",label:"Off"},{state:"new",label:"New"},{state:"needsNothing",label:"Needs nothing"}];var a$=a.i(66296),a_=a.i(45937),a0=a.i(881),a1=a.i(92389);function a2(a){return a?.split("\n").find(a=>""!==a.trim())?.trim()??""}function a3({fleetId:a,party:b,tools:c,version:f,partyScopes:g,listed:h,canChange:i,serverRefusal:j}){var k;let l,m,n=(0,aP.useRouter)(),o=aO.f.useToastManager(),[,p]=(0,e.useTransition)(),[q,r]=(0,e.useTransition)(),[s,t]=(0,e.useState)(""),[u,v]=(0,e.useState)("all"),[w,x]=(0,e.useState)(new Set),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)([]),[C,D]=(0,e.useState)("add"),[E,F]=(0,e.useState)({readOnly:[],other:[]}),[G,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)(null),[K,L]=(0,e.useState)(null),[M,N]=(0,e.useState)(null),[O,P]=(0,e.useState)({names:new Set,round:0}),[Q,R]=(0,e.useState)(null),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(null),W=U?.basis===c?U:null,X=null===W?c:c.map(a=>({...a,scopes:W.scopes.get(a.name)??a.scopes,isOn:null===a.isOn?null:W.switches.get(a.name)??a.isOn})),Y=W?.party??g,Z=Math.max(f,Q??0),$=null===h?null:new Set(h.map(({scope:a})=>a)),_=(l=(k={name:s,state:u,partyScopes:Y}).name.trim().toLowerCase(),X.filter(a=>a.name.toLowerCase().includes(l)&&function(a,{state:b,partyScopes:c}){switch(b){case"all":return!0;case"on":return!0===a.isOn;case"off":return!1===a.isOn;case"new":return a.isNew;case"needsNothing":return 0===c.length&&0===a.scopes.length}}(a,k))),aa=X.filter(({name:a})=>w.has(a)),ab=null===j,ac=_.length>0&&_.every(({name:a})=>w.has(a)),ad=function(a){let b={readOnly:[],other:[],withoutHints:[]};for(let c of a.filter(({scopes:a})=>0===a.length))!0===c.isDestructive||!1===c.isReadOnly?b.other.push(c.name):!0===c.isReadOnly?b.readOnly.push(c.name):b.withoutHints.push(c.name);return b}(X),ae=[...(m=(a,b)=>0===b.length?[]:a.map(a=>({tool:a,scopes:[...b]})))(ad.readOnly,E.readOnly),...m(ad.other,E.other)],af=({outcome:a,changed:b,message:d,change:e})=>{V({basis:c,party:e.party??W?.party??null,scopes:new Map([...W?.scopes??[],...(e.scopes??[]).map(({tool:a,scopes:b})=>[a,b])]),switches:new Map([...W?.switches??[],...e.switches??[]])}),null!==a.version&&R(a.version),P(a=>({names:new Set(b),round:a.round+1})),o.add({title:(0,aY.I)(d,a.statementRefusal)}),n.refresh()},ag=a=>{J(null),T(!1),B("party"===a?[...Y]:[]),D("add"),F({readOnly:[],other:[]}),z(a)},ah=()=>{z(null),J(null)},ai=({change:c,changed:d,message:e})=>{H(!0),J(null),p(async()=>{let f=await (0,aU.f)({fleetId:a,name:b,version:Z,...c});(H(!1),f.isOk)?(z(null),x(new Set),af({outcome:f,changed:d,message:e,change:{...void 0===c.party?{}:{party:c.party},scopes:c.tools}})):J({message:f.message,isConflict:f.isConflict,version:Z})})},aj=({names:c,isOn:d,working:e})=>{L(e),N(null),T(!1),p(async()=>{let e=await aW({fleetId:a,name:b,tools:[...c],isOn:d});if(L(null),!e.isOk)return void N(e.message);let[f]=c;af({outcome:e,changed:c,change:{switches:new Map(c.map(a=>[a,d]))},message:1===c.length&&void 0!==f?function({tool:a,isOn:b,statementRefusal:c}){let d=`${a} is ${b?"on":"off"}`;return null!==c?`${d}; the fleet sees it at the proxy ship's next statement: ${c}`:b?`${d}: the fleet may call it.`:`${d}: the fleet sees it no more, and a call to it is refused.`}({tool:f,isOn:d,statementRefusal:null}):(0,aY.g)({count:c.length,isOn:d,statementRefusal:null})})})},ak=()=>{r(()=>{n.refresh()})},al=null!==K||G,am=(0,d.jsxs)("div",{className:"grid gap-3 sm:flex sm:flex-wrap sm:items-center","data-testid":"tools-table-toolbar",children:[(0,d.jsxs)("label",{className:"grid gap-1 sm:w-56",children:[(0,d.jsx)("span",{className:"sr-only",children:"Filter by name"}),(0,d.jsx)("input",{className:aQ.w,type:"search",placeholder:"Filter by name",value:s,onChange:a=>{t(a.target.value)},"data-testid":"tools-table-name-filter"})]}),(0,d.jsx)("div",{role:"group","aria-label":"Filter by state",className:"flex flex-wrap gap-1",children:aZ.map(({state:a,label:b})=>(0,d.jsx)("button",{type:"button","aria-pressed":u===a,onClick:()=>{v(a)},className:`h-8 rounded-md border px-3 ${u===a?"border-primary bg-primary text-primary-foreground":"border-border bg-card hover:bg-accent"}`,"data-testid":`tools-table-state-${a}`,children:b},a))}),i?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("label",{className:"flex items-center gap-2",children:[(0,d.jsx)("input",{type:"checkbox",checked:ac,onChange:()=>{x(a=>{let b=new Set(a);for(let{name:a}of _)ac?b.delete(a):b.add(a);return b})},disabled:0===_.length,"data-testid":"tools-table-select-shown"}),"Select all shown"]}),(0,d.jsxs)("span",{className:"text-muted-foreground","data-testid":"tools-table-selected",children:[w.size," selected"]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2 sm:ml-auto",children:[(0,d.jsx)("button",{type:"button",className:aQ.x.secondary,disabled:0===w.size||al||null===h,onClick:()=>{ag("scopes")},"data-testid":"tools-table-set-scopes",children:"Set scopes…"}),(0,d.jsx)(aS.i,{isPending:"on"===K,pendingLabel:"Switching on…",disabled:0===w.size||al||!ab,onClick:()=>{aj({names:[...w],isOn:!0,working:"on"})},"data-testid":"tools-table-switch-on",children:"Switch on"}),(0,d.jsx)(aS.i,{isPending:"off"===K,pendingLabel:"Switching off…",disabled:0===w.size||al||!ab,onClick:()=>{aj({names:[...w],isOn:!1,working:"off"})},"data-testid":"tools-table-switch-off",children:"Switch off"}),(0,d.jsx)("button",{type:"button",className:aQ.x.secondary,disabled:al||!ab||null===h,onClick:()=>{ag("suggest")},"data-testid":"tools-table-suggest",children:"Suggest from hints…"})]})]}):null]});return(0,d.jsxs)("div",{className:"grid gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"tools-table-party-needs",children:[(0,d.jsx)("span",{className:"font-medium",children:"Every tool needs"}),(0,d.jsx)(a$.f,{party:Y,own:[],listed:$}),i?(0,d.jsx)("button",{type:"button",className:"text-primary hover:underline disabled:opacity-60",disabled:al||null===h,onClick:()=>{ag("party")},"data-testid":"tools-table-party-change",children:"Change…"}):null]}),null===j?null:(0,d.jsxs)("p",{role:"status",className:"rounded-md border border-tone-waiting-border bg-tone-waiting-bg px-3 py-2 text-tone-waiting-fg","data-testid":"tools-table-server-down",children:["The server did not answer, so this shows the scopes kept per tool name; they can still be changed. ",j]}),(0,d.jsx)("div",{className:"hidden sm:block",children:am}),(0,d.jsx)("div",{className:"sm:hidden",children:(0,d.jsxs)(aE.Root,{open:S,onOpenChange:T,children:[(0,d.jsxs)(aF.Trigger,{className:aQ.x.secondary,"data-testid":"tools-table-sheet-open",children:["Filters and actions",i?` (${String(w.size)} selected)`:""]}),(0,d.jsxs)(aG.Portal,{children:[(0,d.jsx)(aH.Backdrop,{className:"fixed inset-0 z-40 bg-(--overlay)"}),(0,d.jsx)(aI.Viewport,{className:"fixed inset-0 z-50 flex items-end",children:(0,d.jsx)(aJ.Popup,{className:"w-full rounded-t-lg border border-border bg-popover p-4 text-popover-foreground shadow-lg",children:(0,d.jsxs)(aK.Content,{className:"grid gap-3",children:[(0,d.jsx)(aL.Title,{className:"text-heading font-semibold",children:"Filters and actions"}),am,(0,d.jsx)(aM.Close,{className:aQ.x.secondary,children:"Done"})]})})})]})]})}),null===M?null:(0,d.jsx)("p",{role:"alert",className:"rounded-md border border-tone-attention-border bg-tone-attention-bg px-3 py-2 text-tone-attention-fg","data-testid":"tools-table-switch-refusal",children:M}),(0,d.jsxs)("table",{className:"w-full border-collapse max-sm:block","data-testid":"tools-table",children:[(0,d.jsx)("thead",{className:"max-sm:hidden",children:(0,d.jsxs)("tr",{className:"border-b border-border text-left text-muted-foreground",children:[i?(0,d.jsx)("th",{className:"w-8 py-2",children:(0,d.jsx)("span",{className:"sr-only",children:"Selected"})}):null,(0,d.jsx)("th",{className:"py-2 font-medium",children:"Tool"}),(0,d.jsx)("th",{className:"py-2 font-medium",children:"Hints"}),(0,d.jsx)("th",{className:"py-2 font-medium",children:"On"}),(0,d.jsx)("th",{className:"py-2 font-medium",children:"Needs"})]})}),(0,d.jsx)("tbody",{className:"max-sm:grid max-sm:gap-2",children:_.map(a=>{let b=O.names.has(a.name);return(0,d.jsxs)("tr",{className:`border-b border-border align-top last:border-b-0 max-sm:grid max-sm:grid-cols-[auto_1fr] max-sm:gap-x-2 max-sm:rounded-md max-sm:border max-sm:p-2 ${b?"animate-highlight":""}`,"data-testid":"tools-table-row","data-tool":a.name,children:[i?(0,d.jsx)("td",{className:"py-2 pr-2 max-sm:row-span-4",children:(0,d.jsx)("input",{type:"checkbox","aria-label":`Select ${a.name}`,checked:w.has(a.name),onChange:()=>{var b;b=a.name,x(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},"data-testid":"tools-table-select"})}):null,(0,d.jsxs)("td",{className:"py-2 pr-3 max-sm:col-start-2",children:[(0,d.jsxs)("span",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono",children:a.name}),a.isNew?(0,d.jsx)(aT.T,{tone:"attention",label:"New"}):null]}),""===a2(a.description)?null:(0,d.jsx)("span",{className:"block text-muted-foreground",children:a2(a.description)})]}),(0,d.jsx)("td",{className:"py-2 pr-3 max-sm:col-start-2",children:(0,d.jsxs)("span",{className:"flex flex-wrap gap-1",children:[!0===a.isReadOnly?(0,d.jsx)(aT.E,{children:"Read only"}):null,!0===a.isDestructive?(0,d.jsx)(aT.E,{children:"Destructive"}):null]})}),(0,d.jsx)("td",{className:"py-2 pr-3 max-sm:col-start-2",children:null===a.isOn?(0,d.jsx)("span",{className:"text-muted-foreground",children:"Not known"}):i?(0,d.jsx)(aR.f,{isOn:a.isOn,label:a.name,isPending:K===a.name,onClick:()=>{aj({names:[a.name],isOn:!0!==a.isOn,working:a.name})},testId:"tools-table-switch"}):(0,d.jsx)(aT.E,{children:a.isOn?"On":"Off"})}),(0,d.jsx)("td",{className:"py-2 max-sm:col-start-2",children:(0,d.jsx)(a$.f,{party:Y,own:a.scopes,listed:$})})]},b?`${a.name}-${String(O.round)}`:a.name)})})]}),0===_.length?(0,d.jsx)("p",{className:"text-muted-foreground","data-testid":"tools-table-empty",children:0===X.length?ab?`${b} lists no tools.`:"No tool needs a scope of its own yet.":"No tool matches the filters."}):null,null===h?null:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(a0.G,{isOpen:"scopes"===y,onClose:ah,title:"Set scopes",description:"The scopes a calling ship must hold for each selected tool, beside what every tool needs.",appliesTo:`Applies to ${String(aa.length)} ${1===aa.length?"tool":"tools"}`,action:{label:"Set scopes",pending:"Setting…",isDisabled:0===A.length&&"replace"!==C,onPress:()=>{var a;ai({change:{tools:(a={scopes:A,how:C},aa.map(({name:b,scopes:c})=>{switch(a.how){case"add":return{tool:b,scopes:[...new Set([...c,...a.scopes])]};case"remove":return{tool:b,scopes:c.filter(b=>!a.scopes.includes(b))};case"replace":return{tool:b,scopes:[...new Set(a.scopes)]}}}))},changed:aa.map(({name:a})=>a),message:(0,aY.y)({scopes:A,how:C,count:aa.length})})}},isSaving:G,refusal:(0,a0.V)(I,Z),isReloading:q,onReload:ak,testId:"tools-table-scopes-dialog",children:[(0,d.jsx)(a_.f,{label:"Scopes",listed:h,picked:A,onPick:B,isDisabled:G,testId:"tools-table-scopes-picker"}),(0,d.jsxs)("fieldset",{className:"grid gap-1",children:[(0,d.jsx)("legend",{className:"font-medium",children:"On each selected tool"}),aX.map(a=>(0,d.jsxs)("label",{className:"flex items-center gap-2",children:[(0,d.jsx)("input",{type:"radio",name:"how",value:a.how,checked:C===a.how,onChange:()=>{D(a.how)},"data-testid":`tools-table-how-${a.how}`}),a.label]},a.how))]})]}),(0,d.jsx)(a0.G,{isOpen:"party"===y,onClose:ah,title:"Every tool needs",description:`The scopes a calling ship must hold for every tool of ${b}, beside each tool's own.`,appliesTo:`Applies to every tool of ${b}`,action:{label:"Save",pending:"Saving…",isDisabled:!1,onPress:()=>{ai({change:{party:A,tools:[]},changed:X.map(({name:a})=>a),message:(0,aY.G)({party:b,scopes:A})})}},isSaving:G,refusal:(0,a0.V)(I,Z),isReloading:q,onReload:ak,testId:"tools-table-party-dialog",children:(0,d.jsx)(a_.f,{label:"Scopes",listed:h,picked:A,onPick:B,isDisabled:G,testId:"tools-table-party-picker"})}),(0,d.jsxs)(a0.G,{isOpen:"suggest"===y,onClose:ah,title:"Suggest from hints",description:"Scopes for each tool with no scope of its own, by what the server says of it. Hints are the server's claim: nothing applies until you confirm.",appliesTo:`Applies to ${String(ae.length)} ${1===ae.length?"tool":"tools"}`,action:{label:"Apply",pending:"Applying…",isDisabled:0===ae.length,onPress:()=>{let a=[{scopes:E.readOnly,count:0===E.readOnly.length?0:ad.readOnly.length},{scopes:E.other,count:0===E.other.length?0:ad.other.length}].filter(({count:a})=>a>0);ai({change:{tools:ae},changed:ae.map(({tool:a})=>a),message:(0,aY.q)(a)})}},isSaving:G,refusal:(0,a0.V)(I,Z),isReloading:q,onReload:ak,testId:"tools-table-suggest-dialog",children:[(0,d.jsx)(a_.f,{label:"Scopes for read-only tools",listed:h,picked:E.readOnly,onPick:a=>{F(b=>({...b,readOnly:a}))},isDisabled:G,testId:"tools-table-suggest-read-only"}),(0,d.jsx)(a_.f,{label:"Scopes for the other tools",listed:h,picked:E.other,onPick:a=>{F(b=>({...b,other:a}))},isDisabled:G,testId:"tools-table-suggest-other"}),(0,d.jsx)(a4,{title:"Read-only tools",names:ad.readOnly,testId:"tools-table-suggest-read-only-tools"}),(0,d.jsx)(a4,{title:"Other tools",names:ad.other,testId:"tools-table-suggest-other-tools"}),(0,d.jsx)(a4,{title:"Without hints, left as they are",names:ad.withoutHints,testId:"tools-table-suggest-without-hints"})]})]})]})}function a4({title:a,names:b,testId:c}){return(0,d.jsxs)("details",{className:"rounded-md border border-border px-3 py-2","data-testid":c,children:[(0,d.jsxs)("summary",{className:"cursor-pointer",children:[a," (",b.length,")"]}),0===b.length?(0,d.jsx)("p",{className:"text-muted-foreground",children:"None"}):(0,d.jsx)("p",{className:"font-mono text-code break-words",children:b.join(", ")})]})}a.s(["ToolsTable",0,function(a){return(0,d.jsxs)(aN.f.Provider,{children:[(0,d.jsx)(a3,{...a}),(0,d.jsx)(a1.f,{})]})}],44512)},4423,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(30587),e=a.i(5050);let f=(0,e.createServerReference)("40e7a7e6912d4fe85e82238430f28daccc0ca68b01",e.callServer,void 0,e.findSourceMapURL,"readMoreSignIns"),g=(0,e.createServerReference)("40593685622e20a39118f2ae37576cd0e7ef70350d",e.callServer,void 0,e.findSourceMapURL,"removePersonSignIn");function h(a,b){let c=new Set(a.map(({personShipId:a})=>a));return[...a,...b.filter(({personShipId:a})=>!c.has(a))]}var i=a.i(88412),j=a.i(36855),k=a.i(47763);let l=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],m=a=>String(a).padStart(2,"0"),n={signedIn:{tone:"ok",label:"Signed in"},lost:{tone:"attention",label:"Lost"}};function o(a){return a.personName??a.personShipId}function p({count:a}){return(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsx)("h2",{className:"text-section font-semibold",children:"Everyone's sign-ins"}),null===a?null:(0,b.jsx)("span",{className:"text-muted-foreground",children:a})]})}function q(){return(0,b.jsx)("thead",{className:"max-sm:hidden",children:(0,b.jsxs)("tr",{className:"border-b border-border text-left text-muted-foreground",children:[(0,b.jsx)("th",{className:"h-10 px-2 font-medium",children:"Person"}),(0,b.jsx)("th",{className:"h-10 px-2 font-medium",children:"Account"}),(0,b.jsx)("th",{className:"h-10 px-2 font-medium",children:"State"}),(0,b.jsx)("th",{className:"h-10 px-2 font-medium",children:"Last used"}),(0,b.jsx)("th",{className:"h-10 px-2",children:(0,b.jsx)("span",{className:"sr-only",children:"Remove"})})]})})}function r({signIn:a,party:c,isRemoving:d,onConfirm:e,onKeep:f}){let g=o(a);return(0,b.jsxs)("div",{className:"grid gap-2 rounded-md bg-muted p-3","data-testid":"outside-party-sign-ins-confirm",children:[(0,b.jsxs)("p",{children:["Remove ",g,"'s sign-in? Their ships' calls to ",c," are refused until they sign in again."]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:i.x.destructive,disabled:d,"aria-busy":d,onClick:e,"data-testid":"outside-party-sign-ins-remove-confirmed",children:d?"Removing…":`Remove ${g}'s sign-in`}),(0,b.jsx)("button",{type:"button",className:i.x.secondary,onClick:f,children:"Keep"})]})]})}function s(a){let{party:c,now:d,rows:e,refusal:f,hasMore:g,isLoadingMore:h,confirming:s,removing:t,outcome:u}=a;return(0,b.jsxs)("section",{className:`${i.r} grid gap-3`,"data-testid":"outside-party-sign-ins",children:[(0,b.jsx)(p,{count:null===f?e.length:null}),(0,b.jsx)(j.f,{state:u}),null!==f?(0,b.jsx)(j.f,{state:{kind:"refused",message:f}}):0===e.length?(0,b.jsx)("p",{className:"text-muted-foreground",children:"Nobody has signed in yet."}):(0,b.jsxs)("table",{className:"w-full border-collapse max-sm:block",children:[(0,b.jsx)(q,{}),(0,b.jsx)("tbody",{className:"max-sm:grid",children:e.map(e=>{var f;let g,h,j=n[e.state],p=s===e.personShipId,q=null===e.lastUsedAt?"Not yet":(f=e.lastUsedAt,(h=new Date(d).getTime()-new Date(f).getTime())<6e4?"Just now":h<36e5?`${String(Math.floor(h/6e4))} min ago`:(g=new Date(f),`${String(g.getUTCDate())} ${l[g.getUTCMonth()]??""}, ${m(g.getUTCHours())}:${m(g.getUTCMinutes())}`));return[(0,b.jsxs)("tr",{className:`border-b border-border max-sm:grid max-sm:grid-cols-[1fr_auto] max-sm:gap-1 max-sm:py-3 ${p?"border-b-0":"last:border-b-0"}`,"data-testid":"outside-party-sign-ins-row",children:[(0,b.jsxs)("td",{className:"h-12 px-2 max-sm:col-start-1 max-sm:row-start-1 max-sm:h-auto max-sm:px-0 max-sm:font-medium",children:[o(e),e.isYours?(0,b.jsx)("span",{className:"font-normal text-muted-foreground",children:" (you)"}):null]}),(0,b.jsxs)("td",{className:"h-12 px-2 max-sm:col-span-2 max-sm:row-start-2 max-sm:h-auto max-sm:px-0 max-sm:text-muted-foreground",children:[function({outsideAccount:a}){return a.name??a.subject??(0,b.jsx)("span",{className:"text-muted-foreground",children:"Not known"})}(e),(0,b.jsxs)("span",{className:"sm:hidden",children:[" · last used ",null===e.lastUsedAt?"not yet":q]})]}),(0,b.jsx)("td",{className:"h-12 px-2 max-sm:col-start-2 max-sm:row-start-1 max-sm:h-auto max-sm:px-0",children:(0,b.jsx)(k.T,{tone:j.tone,label:j.label})}),(0,b.jsx)("td",{className:"h-12 px-2 text-muted-foreground max-sm:hidden",children:q}),(0,b.jsx)("td",{className:"h-12 px-2 text-right max-sm:col-span-2 max-sm:row-start-3 max-sm:h-auto max-sm:px-0 max-sm:text-left",children:(0,b.jsx)("button",{type:"button",className:`${i.x.secondary} ${p?"max-sm:hidden":""}`,onClick:()=>{a.onRemove(e.personShipId)},"data-testid":"outside-party-sign-ins-remove",children:"Remove"})})]},e.personShipId),p?(0,b.jsx)("tr",{className:"border-b border-border last:border-b-0 max-sm:block max-sm:pb-3",children:(0,b.jsx)("td",{colSpan:5,className:"pb-2 max-sm:block max-sm:pb-0",children:(0,b.jsx)(r,{signIn:e,party:c,isRemoving:t===e.personShipId,onConfirm:()=>{a.onConfirm(e)},onKeep:a.onKeep})})},`${e.personShipId}-confirm`):null]})})]}),null===f&&g?(0,b.jsx)("div",{children:(0,b.jsx)("button",{type:"button",className:i.x.secondary,disabled:h,"aria-busy":h,onClick:a.onMore,"data-testid":"outside-party-sign-ins-more",children:h?"Showing more…":"Show more"})}):null]})}a.s(["EveryonesSignInsCard",0,function({fleetId:a,party:e,now:i,first:j}){let[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(j.next),[p,q]=(0,c.useState)(new Set),[r,t]=(0,c.useState)(null),[u,v]=(0,c.useState)(null),[w,x]=(0,c.useState)(d.Q),[y,z]=(0,c.useTransition)(),[,A]=(0,c.useTransition)(),B=h(j.grants,k).filter(({personShipId:a})=>!p.has(a));return(0,b.jsx)(s,{party:e,now:i,rows:B,refusal:null,hasMore:null!==m,isLoadingMore:y,confirming:r,removing:u,outcome:w,onRemove:a=>{t(a),x(d.Q)},onConfirm:b=>{v(b.personShipId),A(async()=>{let c=await g({fleetId:a,name:e,personShipId:b.personShipId});v(null),t(null),c.isOk?(q(a=>new Set([...a,b.personShipId])),x({kind:"done",message:function({person:a,party:b,isRevoked:c}){return c?`${a}'s sign-in is removed, and revoked at ${b}.`:`${a}'s sign-in is removed.`}({person:o(b),party:e,isRevoked:c.isRevoked})})):x({kind:"refused",message:c.message})})},onKeep:()=>{t(null)},onMore:()=>{let b=m??B.at(-1)?.personShipId;void 0!==b&&z(async()=>{let c=await f({fleetId:a,name:e,after:b});c.isOk?(l(a=>h(a,c.grants)),n(c.next)):x({kind:"refused",message:c.message})})}})}],4423)},88275,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(30587),e=a.i(36855),f=a.i(77237),g=a.i(5050);let h=(0,g.createServerReference)("6026bb159985f9d4881583a67cb2872dcaae3ff02a",g.callServer,void 0,g.findSourceMapURL,"removeOwnSignIn");var i=a.i(48926);function j({fleetId:a,party:c}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("input",{type:"hidden",name:d.H,value:a}),(0,b.jsx)("input",{type:"hidden",name:"name",value:c})]})}a.s(["RemoveSignInForm",0,function({fleetId:a,party:g}){let[i,k]=(0,c.useActionState)(h,d.Q);return(0,b.jsxs)("form",{action:k,className:"grid gap-2",children:[(0,b.jsx)(e.f,{state:i}),(0,b.jsx)(j,{fleetId:a,party:g}),(0,b.jsx)("div",{children:(0,b.jsx)(f.f,{kind:"secondary",pending:"Removing…",testId:"outside-party-sign-in-remove",children:"Remove"})})]})},"SignInForm",0,function({fleetId:a,party:g,label:h,kind:k}){let[l,m]=(0,c.useActionState)(i.f,d.Q);return(0,b.jsxs)("form",{action:m,className:"grid gap-2",children:[(0,b.jsx)(e.f,{state:l}),(0,b.jsx)(j,{fleetId:a,party:g}),(0,b.jsx)("div",{children:(0,b.jsx)(f.f,{kind:k,pending:`Opening ${g}…`,testId:"outside-party-sign-in-start",children:h})})]})}],88275)},73877,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(35112),e=a.i(30587),f=a.i(10020),g=a.i(5050);let h=(0,g.createServerReference)("60ba7409746219e48a0ba8e750e4bf102f09a56269",g.callServer,void 0,g.findSourceMapURL,"markA2aAgent"),i={kind:"idle"};function j({isRepeatable:a}){let c=(0,d.useFormStatus)();return(0,b.jsx)(f.f,{type:"submit",isOn:a,label:"Repeatable",isPending:c.pending,testId:"outside-party-repeatable-switch"})}a.s(["RepeatableSwitch",0,function({fleetId:a,party:d,isRepeatable:f}){let[g,k]=(0,c.useActionState)(h,i),l="marked"===g.kind?g.isRepeatable:f;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("form",{action:k,className:"contents",children:[(0,b.jsx)("input",{type:"hidden",name:e.H,value:a}),(0,b.jsx)("input",{type:"hidden",name:"name",value:d}),(0,b.jsx)("input",{type:"hidden",name:"isRepeatable",value:String(!l)}),(0,b.jsx)(j,{isRepeatable:l})]}),"idle"===g.kind?null:(0,b.jsx)("span",{role:"refused"===g.kind?"alert":"status",className:`basis-full text-caption ${"refused"===g.kind?"text-tone-attention-fg":"text-tone-ok-fg"}`,"data-testid":"outside-party-repeatable-outcome",children:g.message})]})}],73877)}]})();
1
+ (()=>{"use strict";module.exports=[10020,a=>{var b=a.i(87924);a.s(["f",0,function({isOn:a,label:c,isPending:d=!1,type:e="button",onClick:f,testId:g}){return(0,b.jsx)("button",{type:e,role:"switch","aria-checked":a,"aria-label":c,"aria-busy":d,disabled:d,onClick:f,"data-testid":g,className:`inline-flex h-5 w-9 shrink-0 items-center rounded-full border p-0.5 transition-colors disabled:opacity-60 ${a?"border-primary bg-primary":"border-input bg-muted"}`,children:(0,b.jsx)("span",{className:`size-3.5 rounded-full bg-background shadow-sm transition-transform ${a?"translate-x-4":"translate-x-0"} ${d?"animate-pulse":""}`})})}])},48143,a=>{var b=a.i(5050);let c=(0,b.createServerReference)("60a17908e3b22eb1b4a494def6f12126d6cf55c66d",b.callServer,void 0,b.findSourceMapURL,"signInToParty");a.s(["f",0,c])},96532,55322,66296,45937,881,92389,a=>{var b=a.i(5050);let c=(0,b.createServerReference)("401284c106092aed666ad781af234d01577ff2b95e",b.callServer,void 0,b.findSourceMapURL,"setPartyScopes");function d(a){return a.length<=1?a.join(""):`${a.slice(0,-1).join(", ")} and ${a.at(-1)??""}`}function e(a){return`${String(a)} ${1===a?"tool":"tools"}`}function f(a,b){return null===b?a:`${a}; the fleet sees it at the proxy ship's next statement: ${b}`}a.s(["f",0,c],96532),a.s(["B",0,function({party:a,scopes:b}){return 0===b.length?`Every message to ${a} needs nothing beyond reaching it`:`Every message to ${a} needs ${d(b)}`},"G",0,function({party:a,scopes:b}){return 0===b.length?`Every tool of ${a} needs nothing beyond reaching it`:`Every tool of ${a} needs ${d(b)}`},"y",0,function({scopes:a,how:b,count:c}){return"remove"===b?`${d(a)} removed from ${e(c)}`:0===a.length?`${e(c)} need${1===c?"s":""} nothing of ${1===c?"its":"their"} own`:`${d(a)} set on ${e(c)}`},"I",0,f,"q",0,function(a){return a.map(({scopes:a,count:b})=>`${d(a)} set on ${e(b)}`).join("; ")},"g",0,function({count:a,isOn:b,statementRefusal:c}){return f(`${e(a)} switched ${b?"on":"off"}`,c)}],55322);var g=a.i(87924);a.s(["f",0,function({party:a=[],own:b,listed:c}){if(0===a.length&&0===b.length)return(0,g.jsx)("span",{className:"text-muted-foreground",children:"Nothing"});let d=(a,b)=>{let d=null!==c&&!c.has(a);return(0,g.jsxs)("span",{className:`inline-flex items-center rounded-md border px-2 font-mono text-caption ${d?"border-tone-attention-border bg-tone-attention-bg text-tone-attention-fg":b?"border-transparent bg-muted text-muted-foreground":"border-border"}`,"data-testid":b?"tools-table-party-scope":"tools-table-scope",title:d?"No longer defined in the fleet":b?"Every tool needs it":void 0,children:[a,d?(0,g.jsx)("span",{className:"ml-1 font-sans",children:"(no longer defined)"}):null]},`${b?"party":"own"}-${a}`)};return(0,g.jsxs)("span",{className:"flex flex-wrap gap-1",children:[a.map(a=>d(a,!0)),b.filter(b=>!a.includes(b)).map(a=>d(a,!1))]})}],66296);var h=a.i(82360),h=h,i=a.i(21338),j=a.i(22432),k=h,l=h,m=h,n=h,o=a.i(37987),p=a.i(21817),q=a.i(43256),r=a.i(27350),s=a.i(69035),t=a.i(21777),u=a.i(85804),v=h;let w=({scope:a,description:b})=>({value:a,label:a,description:b});a.s(["f",0,function({label:a,listed:b,picked:c,onPick:d,isDisabled:e=!1,testId:f}){let{contains:x}=h.useFilter(),y=[...b.map(w),...c.filter(a=>!b.some(b=>b.scope===a)).map(a=>({value:a,label:a,description:"No longer defined in the fleet"}))],z=y.filter(a=>c.includes(a.value));return(0,g.jsxs)(i.f.Root,{multiple:!0,items:y,value:z,disabled:e,isItemEqualToValue:(a,b)=>a.value===b.value,onValueChange:(a,b)=>{"escape-key"===b.reason?b.cancel():d(a.map(a=>a.value))},filter:(a,b)=>x(a.label,b)||x(a.description,b),children:[(0,g.jsxs)("div",{className:"grid gap-1","data-testid":f,children:[(0,g.jsx)(j.f.Label,{className:"font-medium",children:a}),(0,g.jsx)(k.InputGroup,{className:"flex min-h-9 flex-wrap items-center gap-1 rounded-md border border-input bg-background px-2 py-1",children:(0,g.jsxs)(l.Chips,{className:"contents",children:[z.map(a=>(0,g.jsxs)(m.Chip,{className:"inline-flex items-center gap-1 rounded-md border border-border bg-muted px-2 font-mono text-caption","aria-label":a.value,children:[a.value,(0,g.jsx)(n.ChipRemove,{className:"text-muted-foreground hover:text-foreground","aria-label":`Remove ${a.value}`,children:"×"})]},a.value)),(0,g.jsx)(o.f.Input,{placeholder:0===z.length?"Search the fleet's scopes":"",className:"h-7 min-w-32 flex-1 bg-transparent outline-none"})]})})]}),(0,g.jsx)(p.f.Portal,{children:(0,g.jsx)(q.f.Positioner,{sideOffset:4,className:"z-50",children:(0,g.jsxs)(r.f.Popup,{className:"max-h-72 w-(--anchor-width) overflow-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md",children:[(0,g.jsx)(s.f.Empty,{className:"px-2 py-1 text-muted-foreground",children:"No scope listed matches."}),(0,g.jsx)(t.f.List,{children:a=>(0,g.jsxs)(u.f.Item,{value:a,className:"grid cursor-default grid-cols-[1rem_1fr] gap-x-2 rounded px-2 py-1 data-highlighted:bg-accent",children:[(0,g.jsx)(v.ItemIndicator,{className:"row-span-2",children:"✓"}),(0,g.jsx)("span",{className:"col-start-2 font-mono text-code",children:a.value}),(0,g.jsx)("span",{className:"col-start-2 text-caption text-muted-foreground",children:a.description})]},a.value)})]})})})]})}],45937);var x=a.i(40197),y=a.i(21341),z=a.i(68758),A=a.i(5358),B=a.i(49867),C=a.i(8842),D=a.i(88412),E=a.i(32043);a.s(["G",0,function({isOpen:a,onClose:b,title:c,description:d,children:e,appliesTo:f,action:h,isSaving:i,refusal:j,onReload:k,isReloading:l,testId:m}){return(0,g.jsx)(x.f.Root,{open:a,onOpenChange:a=>{a||i||b()},children:(0,g.jsxs)(y.f.Portal,{children:[(0,g.jsx)(z.f.Backdrop,{className:"fixed inset-0 z-40 bg-(--overlay)"}),(0,g.jsxs)(A.f.Popup,{className:"fixed top-1/2 left-1/2 z-50 grid max-h-[90vh] w-[min(36rem,calc(100vw-2rem))] -translate-1/2 gap-4 overflow-auto rounded-lg border border-border bg-popover p-6 text-popover-foreground shadow-lg","data-testid":m,children:[(0,g.jsxs)("div",{className:"grid gap-1",children:[(0,g.jsx)(B.f.Title,{className:"text-heading font-semibold",children:c}),(0,g.jsx)(C.f.Description,{className:"text-muted-foreground",children:d})]}),(0,g.jsx)("fieldset",{disabled:i,className:"grid gap-4",children:e}),null===j?null:(0,g.jsxs)("div",{role:"alert",className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-tone-attention-border bg-tone-attention-bg px-3 py-2 text-tone-attention-fg","data-testid":"tools-table-dialog-refusal",children:[(0,g.jsx)("span",{children:j.message}),j.isConflict?(0,g.jsx)(E.i,{isPending:l,pendingLabel:"Reloading…",onClick:k,"data-testid":"tools-table-reload",children:"Reload"}):null]}),(0,g.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,g.jsx)("span",{className:"text-muted-foreground","data-testid":"tools-table-applies-to",children:f}),(0,g.jsxs)("div",{className:"flex gap-2",children:[(0,g.jsx)("button",{type:"button",className:D.x.secondary,disabled:i,onClick:b,children:"Cancel"}),(0,g.jsx)(E.i,{variant:"primary",isPending:i,pendingLabel:h.pending,disabled:h.isDisabled||l,onClick:h.onPress,"data-testid":"tools-table-dialog-action",children:h.label})]})]})]})]})})},"V",0,function(a,b){return a?.isConflict===!0&&b>a.version?null:a}],881);var F=a.i(76983),G=a.i(805),H=a.i(60232),I=a.i(62043),J=a.i(11591),K=a.i(58710),L=a.i(94894);a.s(["f",0,function(){let{toasts:a}=F.f.useToastManager();return(0,g.jsx)(G.f.Portal,{children:(0,g.jsx)(H.f.Viewport,{className:"fixed right-4 bottom-4 z-50 grid w-[min(24rem,calc(100vw-2rem))] gap-2",children:a.map(a=>(0,g.jsx)(I.f.Root,{toast:a,className:"rounded-md border border-tone-ok-border bg-tone-ok-bg px-4 py-3 text-tone-ok-fg shadow-md","data-testid":"tools-table-toast",children:(0,g.jsxs)(J.f.Content,{className:"flex items-start justify-between gap-3",children:[(0,g.jsx)(K.f.Title,{}),(0,g.jsx)(L.f.Close,{"aria-label":"Dismiss",children:"×"})]})},a.id))})})}],92389)},65705,a=>{var b=a.i(87924),c=a.i(99271),d=a.i(76983),e=a.i(50944),f=a.i(72131),g=a.i(96532),h=a.i(55322),i=a.i(66296),j=a.i(45937),k=a.i(881),l=a.i(92389);function m({fleetId:a,party:c,version:l,scopes:n,listed:o,canChange:p}){let q=(0,e.useRouter)(),r=d.f.useToastManager(),[,s]=(0,f.useTransition)(),[t,u]=(0,f.useTransition)(),[v,w]=(0,f.useState)(!1),[x,y]=(0,f.useState)([]),[z,A]=(0,f.useState)(!1),[B,C]=(0,f.useState)(null),[D,E]=(0,f.useState)(null),[F,G]=(0,f.useState)(0),[H,I]=(0,f.useState)(null),J=H?.basis===n?H.scopes:n;return(0,b.jsxs)("div",{className:`flex flex-wrap items-center gap-2 rounded-md ${F>0?"animate-highlight":""}`,"data-testid":"agent-needs",children:[(0,b.jsx)(i.f,{own:J,listed:null===o?null:new Set(o.map(({scope:a})=>a))}),p&&null!==o?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",className:"text-primary hover:underline",onClick:()=>{y([...J]),C(null),w(!0)},"data-testid":"agent-needs-change",children:"Change…"}),(0,b.jsx)(k.G,{isOpen:v,onClose:()=>{w(!1)},title:"Every message needs",description:`The scopes a calling ship must hold to message ${c}.`,appliesTo:`Applies to every message to ${c}`,action:{label:"Save",pending:"Saving…",isDisabled:!1,onPress:()=>{A(!0),C(null);let b=Math.max(l,D??0);s(async()=>{let d=await (0,g.f)({fleetId:a,name:c,version:b,party:x,tools:[]});(A(!1),d.isOk)?(E(d.version),I({basis:n,scopes:x}),w(!1),G(a=>a+1),r.add({title:(0,h.I)((0,h.B)({party:c,scopes:x}),d.statementRefusal)}),q.refresh()):C({message:d.message,isConflict:d.isConflict,version:b})})}},isSaving:z,refusal:(0,k.V)(B,Math.max(l,D??0)),isReloading:t,onReload:()=>{u(()=>{q.refresh()})},testId:"agent-needs-dialog",children:(0,b.jsx)(j.f,{label:"Scopes",listed:o,picked:x,onPick:y,isDisabled:z,testId:"agent-needs-picker"})})]}):null]},F)}a.s(["AgentNeeds",0,function(a){return(0,b.jsxs)(c.f.Provider,{children:[(0,b.jsx)(m,{...a}),(0,b.jsx)(l.f,{})]})}])},44512,a=>{var b,c,d=a.i(87924),e=a.i(72131),f=a.i(23689),g=a.i(26184),h=a.i(4478);let i="--drawer-height",j="--drawer-swipe-movement-x",k="--drawer-swipe-movement-y",l="--drawer-snap-point-offset",m="--drawer-swipe-strength",n="--drawer-swipe-progress",o=e.forwardRef(function(a,b){let{render:c,className:d,style:e,forceRender:i=!1,...j}=a,k=(0,f.x)(),l=k.useState("open"),o=k.useState("nested"),p=k.useState("mounted"),q=k.useState("transitionStatus");return(0,g.a)("div",a,{state:{open:l,transitionStatus:q},ref:[k.context.backdropRef,b],stateAttributesMapping:h.M,props:[{role:"presentation",hidden:!p,style:{pointerEvents:l?void 0:"none",userSelect:"none",WebkitUserSelect:"none",[n]:"0",[m]:"1"}},j],enabled:i||!o})}),p=a.i(29302).f,q="data-drawer-content",r=e.forwardRef(function(a,b){let{render:c,className:d,style:e,...h}=a;return(0,f.x)(),(0,g.a)("div",a,{ref:b,props:[{[q]:""},h]})});var s=a.i(57738),t=a.i(54401),u=a.i(24715),v=a.i(50687),w=a.i(77327),x=a.i(3981),y=a.i(65206),z=a.i(11490);w.f.open,x.f.closed,y.f.startingStyle,z.f.endingStyle;let A="data-swipe-dismiss",B="data-swiping";var C=a.i(86070),D=a.i(5687),E=a.i(69649),F=a.i(54662);let G=e.createContext(void 0);function H(a){let b=e.useContext(G);if(!0!==a&&void 0===b)throw Error((0,F.f)(90));return b}var I=a.i(87828),J=a.i(26599);function K(a,b){let c=a+b;return c>=0?b:-Math.sqrt(-c)-a}function L(a,b,c){if(!Number.isFinite(b)||b<=0)return null;if("number"==typeof a)return Number.isFinite(a)?a<=1?(0,J.f)(a,0,1)*b:a:null;let d=a.trim();if(d.endsWith("px")){let a=Number.parseFloat(d);return Number.isFinite(a)?a:null}if(d.endsWith("rem")){let a=Number.parseFloat(d);return Number.isFinite(a)?a*c:null}return null}function M(a,b){let c=-1,d=1/0;for(let e=0;e<a.length;e+=1){let f=Math.abs(a[e]-b);f<d&&(d=f,c=e)}return c}function N(){let a=(0,f.x)(),{snapPoints:b,activeSnapPoint:c,setActiveSnapPoint:d,popupHeight:g}=H(),h=a.useState("viewportElement"),[i,j]=e.useState(0),[k,l]=e.useState(16),m=(0,t.f)(()=>{let a=(0,I.f)(h).documentElement;j(h?h.offsetHeight:a.clientHeight);let b=parseFloat(getComputedStyle(a).fontSize);Number.isFinite(b)&&l(b)});(0,s.f)(()=>{if(m(),!h||"function"!=typeof ResizeObserver)return;let a=new ResizeObserver(m);return a.observe(h),()=>{a.disconnect()}},[m,h]);let n=e.useMemo(()=>{if(!b||0===b.length||i<=0||g<=0)return[];let a=Math.min(g,i),c=b.map(b=>{let c=L(b,i,k);if(null===c)return null;let d=(0,J.f)(c,0,a);return{value:b,height:d,offset:Math.max(0,g-d)}}).filter(a=>!!a);if(c.length<=1)return c;let d=[],e=[];for(let a=c.length-1;a>=0;a-=1){let b=c[a];e.some(a=>1>=Math.abs(a-b.height))||(e.push(b.height),d.push(b))}return d.reverse(),d},[g,k,b,i]),o=e.useMemo(()=>{if(null===c)return;let a=n.find(a=>Object.is(a.value,c));if(a)return a;let b=Math.min(g,i),d=L(c,i,k);if(null===d)return;let e=(0,J.f)(d,0,b);return n[M(n.map(a=>a.height),e)]},[c,g,n,k,i]);return{snapPoints:b,activeSnapPoint:c,setActiveSnapPoint:d,popupHeight:g,viewportHeight:i,resolvedSnapPoints:n,activeSnapPointOffset:o?.offset??null}}let O=e.createContext(null);var P=a.i(84204);let Q=!1,R={...h.M,expanded:a=>a?{"data-expanded":""}:null,nestedDrawerOpen:a=>a?{"data-nested-drawer-open":""}:null,nestedDrawerSwiping:a=>a?{"data-nested-drawer-swiping":""}:null,swipeDirection:a=>({"data-swipe-direction":a}),swiping:a=>a?{[B]:""}:null},S=e.forwardRef(function(a,b){let c,{render:h,className:o,style:p,finalFocus:q,initialFocus:r,...w}=a,x=(0,f.x)(),y=x.context.popupRef,{swipeDirection:z,frontmostHeight:A,hasNestedDrawer:B,nestedSwiping:F,nestedSwipeProgressStore:G,onPopupHeightChange:I,notifyParentFrontmostHeight:J,notifyParentHasNestedDrawer:L}=H(),M=x.useState("descriptionElementId"),S=x.useState("disablePointerDismissal"),T=x.useState("floatingRootContext"),U=x.useState("popupProps"),V=x.useState("modal"),W=x.useState("mounted"),X=x.useState("nested"),Y=x.useState("nestedOpenDrawerCount"),Z=x.useState("transitionStatus"),$=x.useState("open"),_=x.useState("openMethod"),aa=x.useState("titleElementId"),ab=x.useState("role"),ac=T.useState("floatingId"),ad=w.id??ac,ae=e.useContext(O);(0,C.Z)();let{snapPoints:af,activeSnapPoint:ag,activeSnapPointOffset:ah}=N(),ai=Y>0,aj=ae?.swiping??!1,ak=ae?.swipeStrength??null,[al,am]=e.useState(0),an=e.useRef(0),ao=(0,t.f)(()=>{let a=y.current;if(!a)return;let b=a.offsetHeight;if(!(an.current>0)||!(A>an.current)||!(b>an.current)){if(an.current>0&&B){let a=an.current;am(a),I(a);return}b!==an.current&&(an.current=b,am(b),I(b))}});(0,s.f)(()=>{if(!W){an.current=0,am(0),I(0);return}let a=y.current;if(!a||(Q||("u">typeof CSS&&"registerProperty"in CSS&&([j,k,l].forEach(a=>{try{CSS.registerProperty({name:a,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),[{name:n,initialValue:"0"},{name:m,initialValue:"1"}].forEach(({name:a,initialValue:b})=>{try{CSS.registerProperty({name:a,syntax:"<number>",inherits:!1,initialValue:b})}catch{}})),Q=!0),ao(),"function"!=typeof ResizeObserver))return;let b=new ResizeObserver(ao);return b.observe(a),()=>{b.disconnect()}},[ao,W,ai,I,y]),(0,s.f)(()=>{let a=()=>{let a=y.current;if(!a)return;let b=G.getSnapshot();b>0?a.style.setProperty(n,`${b}`):a.style.setProperty(n,"0")};a();let b=G.subscribe(a),c=y.current;return()=>{b(),c&&c.style.setProperty(n,"0")}},[G,y]),(0,s.f)(()=>{if($)return J?.(A),()=>{J?.(0)}},[A,$,J]),(0,s.f)(()=>{if(L)return L($||"ending"===Z),()=>{L(!1)}},[L,$,Z]),(0,D.f)({open:$,ref:y,onComplete(){$&&x.context.onOpenChangeComplete?.(!0)}});let ap=void 0===r?y:r,aq=x.useStateSetter("popupElement"),ar=!B&&"ending"!==Z;al&&!ar&&(c=`${al}px`);let as=af&&af.length>0&&("down"===z||"up"===z),at=null;as&&null!==ah&&(at="up"===z?-ah:ah);let au=ae?ae.getDragStyles():u.w;if(as&&"down"===z){let a=Number.parseFloat(String(au[k]));au=aj&&Number.isFinite(a)?{...au,transform:void 0,[k]:`${K(ah??0,a)}px`}:{...au,transform:void 0}}let av=(0,g.a)("div",a,{state:{open:$,nested:X,transitionStatus:Z,expanded:1===ag,nestedDrawerOpen:ai,nestedDrawerSwiping:F,swipeDirection:z,swiping:aj},props:[U,{id:ad,"aria-labelledby":aa,"aria-describedby":M,role:ab,...P.X,hidden:!W,onKeyDown(a){E.f.has(a.key)&&a.stopPropagation()},style:{...au,[n]:"0","--nested-drawers":Y,[i]:c,[l]:"number"==typeof at?`${at}px`:"0px","--drawer-frontmost-height":A?`${A}px`:void 0,[m]:"number"==typeof ak&&Number.isFinite(ak)&&ak>0?`${ak}`:"1"}},w],ref:[b,y,aq],stateAttributesMapping:R});return(0,d.jsx)(v.f,{context:T,openInteractionType:_,disabled:!W,closeOnFocusOut:!S,initialFocus:ap,returnFocus:q,modal:!1!==V,restoreFocus:"popup",children:av})}),T=a.i(91034).f;var U=a.i(68536),V=a.i(50381),W=a.i(44530),X=a.i(61475),Y=a.i(94552),Z=a.i(29433),$=a.i(62600),$=$,_=a.i(36361);let aa=e.createContext(void 0);function ab(){return e.useContext(aa)}function ac(){let a=0,b=new Set;return{getSnapshot:()=>a,set(c){let d=Number.isFinite(c)?c:0;d!==a&&(a=d,b.forEach(a=>{a()}))},subscribe:a=>(b.add(a),()=>{b.delete(a)})}}function ad(){let a=ab(),b=(0,f.x)(!1),c=a?.setDrawerOpen,d=a?.removeDrawer,g=b.useState("open"),h=b.useState("nestedOpenDialogCount"),i=b.useState("popupElement"),j=0===h;return(0,s.f)(()=>{if(d)return()=>{d(b)}},[d,b]),(0,s.f)(()=>{c?.(b,g)},[g,c,b]),e.useEffect(()=>{if(!g||!j||!X.f.os.android)return;let a=(0,W.f)(i).CloseWatcher;if(!a)return;let c=new a,d=(0,U.f)(c,"cancel",function(a){if(!b.select("open"))return;let c=(0,Y.j)($.closeWatcher,a);a.cancelable||(c.cancel=u.x),b.setOpen(!1,c),c.isCanceled&&a.preventDefault()});return()=>{d(),c.destroy()}},[b,j,g,i]),null}let ae=a.i(73343).f,af=a.i(83224).f;var ag=a.i(35112),ah=a.i(26476),ai=a.i(54184),aj=a.i(28077);let ak=e.forwardRef(function(a,b){let{render:c,className:d,style:e,children:h,...i}=a,j=(0,C.Z)(),k=(0,f.x)(),l=k.useState("open"),m=k.useState("nested"),n=k.useState("transitionStatus"),o=k.useState("nestedOpenDialogCount"),p=k.useState("mounted"),q=k.useStateSetter("viewportElement");return(0,g.a)("div",a,{enabled:j||p,state:{open:l,nested:m,transitionStatus:n,nestedDialogOpen:o>0},ref:[b,q],stateAttributesMapping:aj.f,props:[{role:"presentation",hidden:!p,style:{pointerEvents:l?void 0:"none"},children:h},i]})});w.f.open,x.f.closed,y.f.startingStyle,z.f.endingStyle;var al=a.i(32318),am=a.i(56957),an=$,ao=a.i(30116),ap=a.i(89065),aq=a.i(59742),ar=a.i(82204),as=a.i(45410);let at=e.createContext(void 0),au=`[${q}]`,av={horizontal:`[${ar.a}="x"]`,vertical:`[${ar.a}="y"]`},aw=e.forwardRef(function(a,b){let{render:c,className:g,style:h,children:l,...m}=a,o=(0,f.x)(),p=o.context.popupRef,q=o.context.backdropRef,{swipeDirection:r,notifyParentSwipingChange:u,notifyParentSwipeProgressChange:v,frontmostHeight:w,snapToSequentialPoints:x,swipeAreaActiveRef:y}=H(),z=ab(),{snapPoints:B,resolvedSnapPoints:C,activeSnapPoint:D,activeSnapPointOffset:E,setActiveSnapPoint:F,popupHeight:G}=N(),L=o.useState("open"),P=o.useState("mounted"),Q=o.useState("nested"),R=o.useState("nestedOpenDrawerCount"),S=o.useState("viewportElement"),T=o.useState("popupElement"),V=z?.visualStateStore,X=R>0,Z="left"===r||"right"===r?"horizontal":"vertical",$="vertical"===Z,_=$?"horizontal":"vertical",[aa,ac]=e.useState(null),ad=e.useRef(void 0),ae=e.useRef(null),af=(0,ai.z)(),aj=e.useRef(!1),aw=e.useRef(!1),aE=e.useRef(""),aF=e.useRef(!1),aG=e.useRef(!1),aH=e.useRef(null),aI=e.useContext(at),aJ=e.useMemo(()=>{if(!B||B.length<2||C.length<2||"down"!==r&&"up"!==r)return null;let a=C.map(a=>a.offset).sort((a,b)=>a-b),b=a[0];return{minOffset:b,range:a[1]-b}},[C,B,r]),aK=e.useMemo(()=>aJ&&null!==E?(0,J.f)((E-aJ.minOffset)/aJ.range,0,1):null,[E,aJ]),aL=e.useMemo(()=>B&&B.length>0&&("down"===r||"up"===r)?"down"===r?["down","up"]:["up","down"]:[r],[B,r]),aM=(0,t.f)(a=>{p.current?.toggleAttribute(A,a),q.current?.toggleAttribute(A,a)}),aN=(0,t.f)(()=>{aM(!1),p.current?.removeAttribute(ap.f.endingStyle),ac(null)}),aO=(0,t.f)(()=>{aw.current&&(aw.current=!1,u?.(!1))}),aP=(0,t.f)((a,b,c)=>{let d=L&&!Q&&b,e=d?a:0,f=L&&b?a:0;c&&v&&(v(f),f<=0&&aO()),V?.set({swipeProgress:e,frontmostHeight:e>0?w:0});let g=q.current;if(!g)return;let h=d&&e>0;g.style.setProperty(n,h?`${e}`:"0"),h&&w>0?g.style.setProperty(i,`${w}px`):g.style.removeProperty(i)}),aQ=(0,am.w)({enabled:P&&!X,directions:aL,elementRef:o.context.popupRef,ignoreSelectorWhenTouch:!1,ignoreScrollableAncestors:!0,movementCssVars:{x:j,y:k},onSwipeStart(a){if("touches"in a||"touch"===a.pointerType)return;let b=p.current,c=(0,I.f)(b),d=c.getSelection?.();if(!d||d.isCollapsed)return;let e=(0,ah.m)(d.anchorNode)?d.anchorNode:d.anchorNode?.parentElement,f=(0,ah.m)(d.focusNode)?d.focusNode:d.focusNode?.parentElement;((0,ao.I)(b,e)||(0,ao.I)(b,f))&&d.removeAllRanges()},onSwipingChange(a){aj.current=a,ax(o.context.backdropRef.current,a),a||v||aO()},swipeThreshold:({element:a,direction:b})=>az(a,b),canStart(a,b){let c=o.context.popupRef.current;if(!c)return!1;let d=b.nativeEvent,e="touches"in d||"touch"===d.pointerType,f=e?aH.current:null,g=c.ownerDocument,h=(0,as.f)(c.getRootNode(),a.x,a.y);return!(!f?.startedInPopup&&!(0,ao.I)(c,h)||e&&aA(g,c)||f?.hasCrossAxisGestureTarget&&!f.drawerAxisAttributed&&!0!==f.allowSwipe)},onProgress(a,b){let c=aj.current;c&&function(a){if(aw.current||!a)return;let b=a.direction??r;10>Math.abs((0,am.R)(b,a.deltaX,a.deltaY))||(aw.current=!0,u?.(!0))}(b);let d=!!(B&&B.length>0);if(c&&"down"===r&&d&&b){let a=o.context.popupRef.current;a&&(a.style.removeProperty("transform"),a.style.setProperty(k,`${K(E??0,b.deltaY)}px`))}let e=a;if(aJ&&G>0){let a=E??aJ.minOffset;if(c&&b&&Number.isFinite(b.deltaY)){let c;c=(0,J.f)(a+b.deltaY,0,G),e=(0,J.f)((c-aJ.minOffset)/aJ.range,0,1)}else null!==aK&&(e=aK)}c||(v?.(0),aO()),aP(e,!0,c)},onRelease({event:a,deltaX:b,deltaY:c,direction:d,velocityX:e,velocityY:f,releaseVelocityX:g,releaseVelocityY:h}){let i=o.context.popupRef.current;if(!i)return void aN();function j(a){aO(),aM(!0),i.style.removeProperty("transition"),i.setAttribute(ap.f.endingStyle,""),ag.flushSync(()=>{ac(function(a,b,c,d,e,f,g,h){let i=ay(a,b);if(i<=0)return null;let j=Math.max(0,i-((("down"===b||"up"===b)&&B&&B.length>0?E??0:0)+(0,am.R)(b,c,d)));if(j<=0)return null;let k=(0,am.R)(b,g,h),l=Math.abs(k)>0?k:(0,am.R)(b,e,f);if(l<=.2)return null;let m=(0,J.f)(l,.2,4);return .1+((0,J.f)(j/m,80,360)-80)/280*.9}(i,a,b,c,e,f,g,h))})}if(!B||0===B.length){if(!d)return void aN();let a=(0,am.R)(d,b,c);if(a<=0)return aN(),!1;if((0,am.R)(d,e,f)>=.5)return j(d),!0;let g=a>az(i,d);return g?j(d):aN(),g}if("down"!==r&&"up"!==r)return void aN();if(!G)return aN(),!1;if(0===C.length)return void aN();let k="down"===r?c:-c,l=Math.sign(k),m="down"===r?h:-h,n="down"===r?f:-f,p=m;if(0!==l&&Math.abs(k)>=10){let a=Math.sign(p);0!==a&&a!==l&&(p=n)}let q=E??0,s=(0,J.f)(q+k,0,G),t=Math.abs(p)>=.5?300*(0,J.f)(p,-4,4):0,u=x?s:(0,J.f)(s+t,0,G),v=(0,Y.j)(an.swipe,a),w=()=>(aP(0,!0,!0),aN(),!1),y=a=>(F(a.value,v),w()),z=a=>d?(F(null,v),v.isCanceled)?w():(ad.current=D,j(r),!0):y(a);if(x){let a=[...C].sort((a,b)=>a.offset-b.offset),b=a.map(a=>a.offset),c=M(b,q),d=a[M(b,u)],e=Math.sign(p),f=u;if(0!==l&&0!==e&&e===l&&Math.abs(p)>=.5){let b=(0,J.f)(c+l,0,a.length-1);if(b!==c){let c=a[b];(l>0?u<c.offset:u>c.offset)&&(d=c,f=c.offset)}else if(l>0)return z(d)}return Math.abs(f-G)<Math.abs(f-d.offset)?z(d):y(d)}let A=C[M(C.map(a=>a.offset),u)];return p>=.5&&k>0||Math.abs(u-G)<Math.abs(u-A.offset)?z(A):y(A)},onDismiss(a){V?.set({swipeProgress:0,frontmostHeight:0});let b=o.context.backdropRef.current;b&&(b.style.setProperty(n,"0"),b.style.removeProperty(i));let c=(0,Y.j)(an.swipe,a);if(o.setOpen(!1,c),c.isCanceled){let b=ad.current;void 0!==b&&F(b,(0,Y.j)(an.swipe,a)),ad.current=void 0,ae.current?.(),aN();return}o.select("open")?af.request(()=>{if(o.select("open")){let b=ad.current;void 0!==b&&F(b,(0,Y.j)(an.swipe,a)),ad.current=void 0,aN(),ae.current?.()}else ad.current=void 0}):(ad.current=void 0,aM(!0))}}),aR=aQ.getPointerProps(),aS=aQ.getTouchProps(),{moveNative:aT,reset:aU}=aQ;ae.current=aU,e.useEffect(()=>{let a=S??T;if(!a||!L||!P)return;let b=(0,I.f)(a);return(0,U.f)(b,"touchmove",function(c){var d,e;if(aI?.onTouchMove(c),aG.current)return;let f=aH.current,g=c.touches[0];g&&f&&(!function(c,d,e){let f=$?e.clientY-d.lastY:e.clientX-d.lastX;if(2===c.touches.length||aA(b,a)||X||function(a,b,c,d){if(a.preserveNativeCrossAxisScroll)return!0;if(a.drawerAxisAttributed||!0===a.allowSwipe||!a.hasCrossAxisGestureTarget)return!1;if(!b.cancelable)return a.preserveNativeCrossAxisScroll=!0,!0;let e=d?c.clientY-a.startY:c.clientX-a.startX,f=d?c.clientX-a.startX:c.clientY-a.startY,g=Math.abs(e),h=Math.abs(f);return h>=6&&h>g+2?(a.preserveNativeCrossAxisScroll=!0,!0):!(g>=6)||(a.drawerAxisAttributed=!0,!1)}(d,c,e,$))return;let g=d.scrollTarget;if(!g||g===b.documentElement||g===b.body){c.cancelable&&c.preventDefault(),c.stopPropagation(),aT(c,a);return}if(!(aB(g,Z).max>0)){c.cancelable&&c.preventDefault(),c.stopPropagation();return}if(0!==f){var h,i,j,k;let a=(h=g,i=Z,j=r,k=f,!!(aD(j,i)?k>0:k<0)&&aC(h,i,j));d.allowSwipe?c.cancelable&&c.preventDefault():c.cancelable&&a?(d.allowSwipe=!0,c.preventDefault()):d.allowSwipe=!1}!0===d.allowSwipe&&(c.stopPropagation(),aT(c,a))}(c,f,g),(d=f).lastX=(e=g).clientX,d.lastY=e.clientY)},{passive:!1,capture:!0})},[P,X,L,T,$,Z,r,aT,S,aI]),(0,s.f)(()=>{aJ&&!aQ.swiping&&aP(!L||Q?0:aK??0,!0,!1)},[aP,w,Q,v,L,aK,aJ,aQ.swiping,o,V]),(0,s.f)(()=>{if(v)return L||v(0),()=>{v(0)}},[v,L]),(0,s.f)(()=>{L&&(y.current||aU(),aN())},[aN,L,aU,y]),(0,s.f)(()=>{let a=q.current;return()=>{V?.set({swipeProgress:0,frontmostHeight:0}),ax(a,!1);let b=q.current;b!==a&&ax(b,!1),aO()}},[q,aO,V]);let aV=e.useMemo(()=>({swiping:aQ.swiping,getDragStyles:aQ.getDragStyles,swipeStrength:aa??null,setSwipeDismissed:aM}),[aM,aQ.getDragStyles,aQ.swiping,aa]);function aW(a){aG.current=a,aH.current=null}function aX(){aW(!1),aE.current="",aF.current=!1}function aY(a){return aE.current="","touch"!==a.pointerType}return(0,d.jsx)(ak,{ref:b,className:g,style:h,render:c,...(0,al.w)(m,{onPointerDown(a){var b,c;if(aE.current=a.pointerType,aF.current="pen"===a.pointerType,!L||!P||X)return;let d=(0,as.f)(a.currentTarget.getRootNode(),a.clientX,a.clientY);b=d,(0,ao.h)(b,ar.u)||(c=d,(0,ao.h)(c,au))||"touch"!==a.pointerType&&aR.onPointerDown?.(a)},onPointerMove(a){"touch"!==a.pointerType&&aR.onPointerMove?.(a)},onPointerUp(a){aY(a)&&aR.onPointerUp?.(a)},onPointerCancel(a){aY(a)&&aR.onPointerCancel?.(a)},onTouchStart(a){var b,c,d;if("pen"===aE.current&&aF.current){aF.current=!1,aW(!1);return}if(!L||!P||X)return void aW(!1);let e=a.touches[0];if(!e)return;if(c=(b=a).nativeEvent,d=(0,W.f)(b.currentTarget),c.composedPath().some(a=>a instanceof d.HTMLInputElement&&"range"===a.type))return void aW(!1);let f=a.currentTarget,g=(0,as.f)(f.getRootNode(),e.clientX,e.clientY),h=(0,ao.Z)(a.nativeEvent),i=(0,ah.m)(h)?h:f;if(!(0,ao.I)(f,i)||(aI?.onTouchStart(a),(0,ao.h)(g,`${ar.u}:not(${av[_]})`)))return void aW(!0);aG.current=!1;let j=(0,aq.U)(i,f,Z),k=null!=(0,aq.U)(i,f,_)||null!=(0,ao.h)(g,av[_]),l=null;j&&(l=!!aC(j,Z,r)&&null),aH.current={startX:e.clientX,startY:e.clientY,lastX:e.clientX,lastY:e.clientY,startedInPopup:(0,ao.I)(p.current,g),scrollTarget:j,hasCrossAxisGestureTarget:k,allowSwipe:l,preserveNativeCrossAxisScroll:!1,drawerAxisAttributed:!1},aS.onTouchStart?.(a)},onTouchEnd(a){aI?.onTouchEnd(a),aX(),aS.onTouchEnd?.(a)},onTouchCancel(a){aI?.onTouchCancel(),aX(),aS.onTouchCancel?.(a)},"data-nested-dialog-open":void 0}),children:(0,d.jsx)(O.Provider,{value:aV,children:l})})});function ax(a,b){a?.toggleAttribute(B,b)}function ay(a,b){return"left"===b||"right"===b?a.offsetWidth:a.offsetHeight}function az(a,b){return Math.max(.5*ay(a,b),10)}function aA(a,b){let c,d,e=(0,ao.T)(a);if(e&&(0,ao.I)(b,e)&&("INPUT"===e.tagName||"TEXTAREA"===e.tagName)){let{selectionStart:a,selectionEnd:b}=e;if(null!=a&&null!=b&&a<b)return!0}let f=a.getSelection?.();return!!f&&!f.isCollapsed&&(c=(0,ah.m)(f.anchorNode)?f.anchorNode:f.anchorNode?.parentElement,d=(0,ah.m)(f.focusNode)?f.focusNode:f.focusNode?.parentElement,f.containsNode(b,!0)||(0,ao.I)(b,c)||(0,ao.I)(b,d))}function aB(a,b){if("vertical"===b){let b=Math.max(0,a.scrollHeight-a.clientHeight);return{offset:a.scrollTop,max:b}}let c=Math.max(0,a.scrollWidth-a.clientWidth);return{offset:a.scrollLeft,max:c}}function aC(a,b,c){let d=aD(c,b),{offset:e,max:f}=aB(a,b);return d?e<=0:e>=f}function aD(a,b){return"vertical"===b?"down"===a:"right"===a}a.s(["Backdrop",0,o,"Close",0,p,"Content",0,r,"Popup",0,S,"Portal",0,T,"Root",0,function(a){let{children:f,open:g,defaultOpen:h=!1,onOpenChange:i,onOpenChangeComplete:j,disablePointerDismissal:k=!1,modal:l=!0,actionsRef:m,handle:n,triggerId:o,defaultTriggerId:p=null,swipeDirection:q="down",snapToSequentialPoints:r=!1,snapPoints:s,snapPoint:u,defaultSnapPoint:v,onSnapPointChange:w}=a,x=H(!0),y=x?.onNestedSwipeProgressChange,z=x?.onNestedFrontmostHeightChange,A=x?.onNestedSwipingChange,B=x?.onNestedDrawerPresenceChange,[C,D]=e.useState(0),[E,F]=e.useState(0),[I,J]=e.useState(!1),[K,L]=e.useState(!1),[M]=e.useState(ac),N=void 0!==v?v:s?.[0]??null,O=void 0!==u,[P,Q]=(0,V.f)({controlled:u,default:N,name:"Drawer",state:"snapPoint"}),R=e.useRef(!1),S=e.useRef(!1),T=(0,t.f)((a,b)=>{let c=b??(0,Y.j)(Z.f.none);w?.(a,c),c.isCanceled||Q(a)}),U=e.useMemo(()=>O||!s||0===s.length||null!==P&&s.some(a=>Object.is(a,P))?P:N,[P,O,N,s]),W=(0,t.f)(a=>{D(a),!R.current&&a>0&&F(a)}),X=(0,t.f)(a=>{if(a>0){R.current=!0,F(a);return}R.current=!1,C>0&&F(C)}),$=(0,t.f)(a=>{J(a)}),aa=(0,t.f)(a=>{M.set(a),y?.(a)}),ab=(0,t.f)(a=>{L(a),A?.(a)}),ae=(0,t.f)((a,b)=>{i?.(a,b),!b.isCanceled&&!a&&s&&s.length>0&&T(N,(0,Y.j)(b.reason,b.event,b.trigger))}),af=e.useMemo(()=>({swipeDirection:q,swipeAreaActiveRef:S,snapToSequentialPoints:r,snapPoints:s,activeSnapPoint:U,setActiveSnapPoint:T,frontmostHeight:E,popupHeight:C,hasNestedDrawer:I,nestedSwiping:K,nestedSwipeProgressStore:M,onNestedDrawerPresenceChange:$,onPopupHeightChange:W,onNestedFrontmostHeightChange:X,onNestedSwipingChange:ab,onNestedSwipeProgressChange:aa,notifyParentFrontmostHeight:z,notifyParentSwipingChange:A,notifyParentSwipeProgressChange:y,notifyParentHasNestedDrawer:B}),[U,E,I,K,M,B,y,A,z,$,X,aa,ab,W,C,T,s,r,S,q]),ag="function"==typeof f?a=>(0,d.jsxs)(e.Fragment,{children:[b||(b=(0,d.jsx)(ad,{})),f(a)]}):(0,d.jsxs)(e.Fragment,{children:[c||(c=(0,d.jsx)(ad,{})),f]}),ah=(0,_.f)("drawer",{open:g,defaultOpen:h,onOpenChange:ae,onOpenChangeComplete:j,disablePointerDismissal:k,modal:l,actionsRef:m,handle:n,triggerId:o,defaultTriggerId:p,children:ag});return(0,d.jsx)(G.Provider,{value:af,children:ah})},"Title",0,ae,"Trigger",0,af,"Viewport",0,aw],35564);var aE=a.i(35564),aE=aE,aF=aE,aG=aE,aH=aE,aI=aE,aJ=aE,aK=aE,aL=aE,aM=aE,aN=a.i(99271),aO=a.i(76983),aP=a.i(50944),aQ=a.i(88412),aR=a.i(10020),aS=a.i(32043),aT=a.i(47763),aU=a.i(96532),aV=a.i(5050);let aW=(0,aV.createServerReference)("40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe",aV.callServer,void 0,aV.findSourceMapURL,"switchPartyTools"),aX=[{how:"add",label:"Add to each"},{how:"remove",label:"Remove from each"},{how:"replace",label:"Replace with these"}];var aY=a.i(55322);let aZ=[{state:"all",label:"All"},{state:"on",label:"On"},{state:"off",label:"Off"},{state:"new",label:"New"},{state:"needsNothing",label:"Needs nothing"}];var a$=a.i(66296),a_=a.i(45937),a0=a.i(881),a1=a.i(92389);function a2(a){return a?.split("\n").find(a=>""!==a.trim())?.trim()??""}function a3({fleetId:a,party:b,tools:c,version:f,partyScopes:g,listed:h,canChange:i,serverRefusal:j}){var k;let l,m,n=(0,aP.useRouter)(),o=aO.f.useToastManager(),[,p]=(0,e.useTransition)(),[q,r]=(0,e.useTransition)(),[s,t]=(0,e.useState)(""),[u,v]=(0,e.useState)("all"),[w,x]=(0,e.useState)(new Set),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)([]),[C,D]=(0,e.useState)("add"),[E,F]=(0,e.useState)({readOnly:[],other:[]}),[G,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)(null),[K,L]=(0,e.useState)(null),[M,N]=(0,e.useState)(null),[O,P]=(0,e.useState)({names:new Set,round:0}),[Q,R]=(0,e.useState)(null),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(null),W=U?.basis===c?U:null,X=null===W?c:c.map(a=>({...a,scopes:W.scopes.get(a.name)??a.scopes,isOn:null===a.isOn?null:W.switches.get(a.name)??a.isOn})),Y=W?.party??g,Z=Math.max(f,Q??0),$=null===h?null:new Set(h.map(({scope:a})=>a)),_=(l=(k={name:s,state:u,partyScopes:Y}).name.trim().toLowerCase(),X.filter(a=>a.name.toLowerCase().includes(l)&&function(a,{state:b,partyScopes:c}){switch(b){case"all":return!0;case"on":return!0===a.isOn;case"off":return!1===a.isOn;case"new":return a.isNew;case"needsNothing":return 0===c.length&&0===a.scopes.length}}(a,k))),aa=X.filter(({name:a})=>w.has(a)),ab=null===j,ac=_.length>0&&_.every(({name:a})=>w.has(a)),ad=function(a){let b={readOnly:[],other:[],withoutHints:[]};for(let c of a.filter(({scopes:a})=>0===a.length))!0===c.isDestructive||!1===c.isReadOnly?b.other.push(c.name):!0===c.isReadOnly?b.readOnly.push(c.name):b.withoutHints.push(c.name);return b}(X),ae=[...(m=(a,b)=>0===b.length?[]:a.map(a=>({tool:a,scopes:[...b]})))(ad.readOnly,E.readOnly),...m(ad.other,E.other)],af=({outcome:a,changed:b,message:d,change:e})=>{V({basis:c,party:e.party??W?.party??null,scopes:new Map([...W?.scopes??[],...(e.scopes??[]).map(({tool:a,scopes:b})=>[a,b])]),switches:new Map([...W?.switches??[],...e.switches??[]])}),null!==a.version&&R(a.version),P(a=>({names:new Set(b),round:a.round+1})),o.add({title:(0,aY.I)(d,a.statementRefusal)}),n.refresh()},ag=a=>{J(null),T(!1),B("party"===a?[...Y]:[]),D("add"),F({readOnly:[],other:[]}),z(a)},ah=()=>{z(null),J(null)},ai=({change:c,changed:d,message:e})=>{H(!0),J(null),p(async()=>{let f=await (0,aU.f)({fleetId:a,name:b,version:Z,...c});(H(!1),f.isOk)?(z(null),x(new Set),af({outcome:f,changed:d,message:e,change:{...void 0===c.party?{}:{party:c.party},scopes:c.tools}})):J({message:f.message,isConflict:f.isConflict,version:Z})})},aj=({names:c,isOn:d,working:e})=>{L(e),N(null),T(!1),p(async()=>{let e=await aW({fleetId:a,name:b,tools:[...c],isOn:d});if(L(null),!e.isOk)return void N(e.message);let[f]=c;af({outcome:e,changed:c,change:{switches:new Map(c.map(a=>[a,d]))},message:1===c.length&&void 0!==f?function({tool:a,isOn:b,statementRefusal:c}){let d=`${a} is ${b?"on":"off"}`;return null!==c?`${d}; the fleet sees it at the proxy ship's next statement: ${c}`:b?`${d}: the fleet may call it.`:`${d}: the fleet sees it no more, and a call to it is refused.`}({tool:f,isOn:d,statementRefusal:null}):(0,aY.g)({count:c.length,isOn:d,statementRefusal:null})})})},ak=()=>{r(()=>{n.refresh()})},al=null!==K||G,am=(0,d.jsxs)("div",{className:"grid gap-3 sm:flex sm:flex-wrap sm:items-center","data-testid":"tools-table-toolbar",children:[(0,d.jsxs)("label",{className:"grid gap-1 sm:w-56",children:[(0,d.jsx)("span",{className:"sr-only",children:"Filter by name"}),(0,d.jsx)("input",{className:aQ.w,type:"search",placeholder:"Filter by name",value:s,onChange:a=>{t(a.target.value)},"data-testid":"tools-table-name-filter"})]}),(0,d.jsx)("div",{role:"group","aria-label":"Filter by state",className:"flex flex-wrap gap-1",children:aZ.map(({state:a,label:b})=>(0,d.jsx)("button",{type:"button","aria-pressed":u===a,onClick:()=>{v(a)},className:`h-8 rounded-md border px-3 ${u===a?"border-primary bg-primary text-primary-foreground":"border-border bg-card hover:bg-accent"}`,"data-testid":`tools-table-state-${a}`,children:b},a))}),i?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("label",{className:"flex items-center gap-2",children:[(0,d.jsx)("input",{type:"checkbox",checked:ac,onChange:()=>{x(a=>{let b=new Set(a);for(let{name:a}of _)ac?b.delete(a):b.add(a);return b})},disabled:0===_.length,"data-testid":"tools-table-select-shown"}),"Select all shown"]}),(0,d.jsxs)("span",{className:"text-muted-foreground","data-testid":"tools-table-selected",children:[w.size," selected"]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2 sm:ml-auto",children:[(0,d.jsx)("button",{type:"button",className:aQ.x.secondary,disabled:0===w.size||al||null===h,onClick:()=>{ag("scopes")},"data-testid":"tools-table-set-scopes",children:"Set scopes…"}),(0,d.jsx)(aS.i,{isPending:"on"===K,pendingLabel:"Switching on…",disabled:0===w.size||al||!ab,onClick:()=>{aj({names:[...w],isOn:!0,working:"on"})},"data-testid":"tools-table-switch-on",children:"Switch on"}),(0,d.jsx)(aS.i,{isPending:"off"===K,pendingLabel:"Switching off…",disabled:0===w.size||al||!ab,onClick:()=>{aj({names:[...w],isOn:!1,working:"off"})},"data-testid":"tools-table-switch-off",children:"Switch off"}),(0,d.jsx)("button",{type:"button",className:aQ.x.secondary,disabled:al||!ab||null===h,onClick:()=>{ag("suggest")},"data-testid":"tools-table-suggest",children:"Suggest from hints…"})]})]}):null]});return(0,d.jsxs)("div",{className:"grid gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"tools-table-party-needs",children:[(0,d.jsx)("span",{className:"font-medium",children:"Every tool needs"}),(0,d.jsx)(a$.f,{party:Y,own:[],listed:$}),i?(0,d.jsx)("button",{type:"button",className:"text-primary hover:underline disabled:opacity-60",disabled:al||null===h,onClick:()=>{ag("party")},"data-testid":"tools-table-party-change",children:"Change…"}):null]}),null===j?null:(0,d.jsxs)("p",{role:"status",className:"rounded-md border border-tone-waiting-border bg-tone-waiting-bg px-3 py-2 text-tone-waiting-fg","data-testid":"tools-table-server-down",children:["The server did not answer, so this shows the scopes kept per tool name; they can still be changed. ",j]}),(0,d.jsx)("div",{className:"hidden sm:block",children:am}),(0,d.jsx)("div",{className:"sm:hidden",children:(0,d.jsxs)(aE.Root,{open:S,onOpenChange:T,children:[(0,d.jsxs)(aF.Trigger,{className:aQ.x.secondary,"data-testid":"tools-table-sheet-open",children:["Filters and actions",i?` (${String(w.size)} selected)`:""]}),(0,d.jsxs)(aG.Portal,{children:[(0,d.jsx)(aH.Backdrop,{className:"fixed inset-0 z-40 bg-(--overlay)"}),(0,d.jsx)(aI.Viewport,{className:"fixed inset-0 z-50 flex items-end",children:(0,d.jsx)(aJ.Popup,{className:"w-full rounded-t-lg border border-border bg-popover p-4 text-popover-foreground shadow-lg",children:(0,d.jsxs)(aK.Content,{className:"grid gap-3",children:[(0,d.jsx)(aL.Title,{className:"text-heading font-semibold",children:"Filters and actions"}),am,(0,d.jsx)(aM.Close,{className:aQ.x.secondary,children:"Done"})]})})})]})]})}),null===M?null:(0,d.jsx)("p",{role:"alert",className:"rounded-md border border-tone-attention-border bg-tone-attention-bg px-3 py-2 text-tone-attention-fg","data-testid":"tools-table-switch-refusal",children:M}),(0,d.jsxs)("table",{className:"w-full border-collapse max-sm:block","data-testid":"tools-table",children:[(0,d.jsx)("thead",{className:"max-sm:hidden",children:(0,d.jsxs)("tr",{className:"border-b border-border text-left text-muted-foreground",children:[i?(0,d.jsx)("th",{className:"w-8 py-2",children:(0,d.jsx)("span",{className:"sr-only",children:"Selected"})}):null,(0,d.jsx)("th",{className:"py-2 font-medium",children:"Tool"}),(0,d.jsx)("th",{className:"py-2 font-medium",children:"Hints"}),(0,d.jsx)("th",{className:"py-2 font-medium",children:"On"}),(0,d.jsx)("th",{className:"py-2 font-medium",children:"Needs"})]})}),(0,d.jsx)("tbody",{className:"max-sm:grid max-sm:gap-2",children:_.map(a=>{let b=O.names.has(a.name);return(0,d.jsxs)("tr",{className:`border-b border-border align-top last:border-b-0 max-sm:grid max-sm:grid-cols-[auto_1fr] max-sm:gap-x-2 max-sm:rounded-md max-sm:border max-sm:p-2 ${b?"animate-highlight":""}`,"data-testid":"tools-table-row","data-tool":a.name,children:[i?(0,d.jsx)("td",{className:"py-2 pr-2 max-sm:row-span-4",children:(0,d.jsx)("input",{type:"checkbox","aria-label":`Select ${a.name}`,checked:w.has(a.name),onChange:()=>{var b;b=a.name,x(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},"data-testid":"tools-table-select"})}):null,(0,d.jsxs)("td",{className:"py-2 pr-3 max-sm:col-start-2",children:[(0,d.jsxs)("span",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono",children:a.name}),a.isNew?(0,d.jsx)(aT.T,{tone:"attention",label:"New"}):null]}),""===a2(a.description)?null:(0,d.jsx)("span",{className:"block text-muted-foreground",children:a2(a.description)})]}),(0,d.jsx)("td",{className:"py-2 pr-3 max-sm:col-start-2",children:(0,d.jsxs)("span",{className:"flex flex-wrap gap-1",children:[!0===a.isReadOnly?(0,d.jsx)(aT.E,{children:"Read only"}):null,!0===a.isDestructive?(0,d.jsx)(aT.E,{children:"Destructive"}):null]})}),(0,d.jsx)("td",{className:"py-2 pr-3 max-sm:col-start-2",children:null===a.isOn?(0,d.jsx)("span",{className:"text-muted-foreground",children:"Not known"}):i?(0,d.jsx)(aR.f,{isOn:a.isOn,label:a.name,isPending:K===a.name,onClick:()=>{aj({names:[a.name],isOn:!0!==a.isOn,working:a.name})},testId:"tools-table-switch"}):(0,d.jsx)(aT.E,{children:a.isOn?"On":"Off"})}),(0,d.jsx)("td",{className:"py-2 max-sm:col-start-2",children:(0,d.jsx)(a$.f,{party:Y,own:a.scopes,listed:$})})]},b?`${a.name}-${String(O.round)}`:a.name)})})]}),0===_.length?(0,d.jsx)("p",{className:"text-muted-foreground","data-testid":"tools-table-empty",children:0===X.length?ab?`${b} lists no tools.`:"No tool needs a scope of its own yet.":"No tool matches the filters."}):null,null===h?null:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(a0.G,{isOpen:"scopes"===y,onClose:ah,title:"Set scopes",description:"The scopes a calling ship must hold for each selected tool, beside what every tool needs.",appliesTo:`Applies to ${String(aa.length)} ${1===aa.length?"tool":"tools"}`,action:{label:"Set scopes",pending:"Setting…",isDisabled:0===A.length&&"replace"!==C,onPress:()=>{var a;ai({change:{tools:(a={scopes:A,how:C},aa.map(({name:b,scopes:c})=>{switch(a.how){case"add":return{tool:b,scopes:[...new Set([...c,...a.scopes])]};case"remove":return{tool:b,scopes:c.filter(b=>!a.scopes.includes(b))};case"replace":return{tool:b,scopes:[...new Set(a.scopes)]}}}))},changed:aa.map(({name:a})=>a),message:(0,aY.y)({scopes:A,how:C,count:aa.length})})}},isSaving:G,refusal:(0,a0.V)(I,Z),isReloading:q,onReload:ak,testId:"tools-table-scopes-dialog",children:[(0,d.jsx)(a_.f,{label:"Scopes",listed:h,picked:A,onPick:B,isDisabled:G,testId:"tools-table-scopes-picker"}),(0,d.jsxs)("fieldset",{className:"grid gap-1",children:[(0,d.jsx)("legend",{className:"font-medium",children:"On each selected tool"}),aX.map(a=>(0,d.jsxs)("label",{className:"flex items-center gap-2",children:[(0,d.jsx)("input",{type:"radio",name:"how",value:a.how,checked:C===a.how,onChange:()=>{D(a.how)},"data-testid":`tools-table-how-${a.how}`}),a.label]},a.how))]})]}),(0,d.jsx)(a0.G,{isOpen:"party"===y,onClose:ah,title:"Every tool needs",description:`The scopes a calling ship must hold for every tool of ${b}, beside each tool's own.`,appliesTo:`Applies to every tool of ${b}`,action:{label:"Save",pending:"Saving…",isDisabled:!1,onPress:()=>{ai({change:{party:A,tools:[]},changed:X.map(({name:a})=>a),message:(0,aY.G)({party:b,scopes:A})})}},isSaving:G,refusal:(0,a0.V)(I,Z),isReloading:q,onReload:ak,testId:"tools-table-party-dialog",children:(0,d.jsx)(a_.f,{label:"Scopes",listed:h,picked:A,onPick:B,isDisabled:G,testId:"tools-table-party-picker"})}),(0,d.jsxs)(a0.G,{isOpen:"suggest"===y,onClose:ah,title:"Suggest from hints",description:"Scopes for each tool with no scope of its own, by what the server says of it. Hints are the server's claim: nothing applies until you confirm.",appliesTo:`Applies to ${String(ae.length)} ${1===ae.length?"tool":"tools"}`,action:{label:"Apply",pending:"Applying…",isDisabled:0===ae.length,onPress:()=>{let a=[{scopes:E.readOnly,count:0===E.readOnly.length?0:ad.readOnly.length},{scopes:E.other,count:0===E.other.length?0:ad.other.length}].filter(({count:a})=>a>0);ai({change:{tools:ae},changed:ae.map(({tool:a})=>a),message:(0,aY.q)(a)})}},isSaving:G,refusal:(0,a0.V)(I,Z),isReloading:q,onReload:ak,testId:"tools-table-suggest-dialog",children:[(0,d.jsx)(a_.f,{label:"Scopes for read-only tools",listed:h,picked:E.readOnly,onPick:a=>{F(b=>({...b,readOnly:a}))},isDisabled:G,testId:"tools-table-suggest-read-only"}),(0,d.jsx)(a_.f,{label:"Scopes for the other tools",listed:h,picked:E.other,onPick:a=>{F(b=>({...b,other:a}))},isDisabled:G,testId:"tools-table-suggest-other"}),(0,d.jsx)(a4,{title:"Read-only tools",names:ad.readOnly,testId:"tools-table-suggest-read-only-tools"}),(0,d.jsx)(a4,{title:"Other tools",names:ad.other,testId:"tools-table-suggest-other-tools"}),(0,d.jsx)(a4,{title:"Without hints, left as they are",names:ad.withoutHints,testId:"tools-table-suggest-without-hints"})]})]})]})}function a4({title:a,names:b,testId:c}){return(0,d.jsxs)("details",{className:"rounded-md border border-border px-3 py-2","data-testid":c,children:[(0,d.jsxs)("summary",{className:"cursor-pointer",children:[a," (",b.length,")"]}),0===b.length?(0,d.jsx)("p",{className:"text-muted-foreground",children:"None"}):(0,d.jsx)("p",{className:"font-mono text-code break-words",children:b.join(", ")})]})}a.s(["ToolsTable",0,function(a){return(0,d.jsxs)(aN.f.Provider,{children:[(0,d.jsx)(a3,{...a}),(0,d.jsx)(a1.f,{})]})}],44512)},4423,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(30587),e=a.i(5050);let f=(0,e.createServerReference)("40453b580ccdd09578e88f323f0a6362beb9d7d45d",e.callServer,void 0,e.findSourceMapURL,"readMoreSignIns"),g=(0,e.createServerReference)("40094ca59cc39534e76a0c0ec939f97c2759b691cd",e.callServer,void 0,e.findSourceMapURL,"removePersonSignIn");function h(a,b){let c=new Set(a.map(({personShipId:a})=>a));return[...a,...b.filter(({personShipId:a})=>!c.has(a))]}var i=a.i(88412),j=a.i(36855),k=a.i(47763);let l=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],m=a=>String(a).padStart(2,"0"),n={signedIn:{tone:"ok",label:"Signed in"},lost:{tone:"attention",label:"Lost"}};function o(a){return a.personName??a.personShipId}function p({count:a}){return(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsx)("h2",{className:"text-section font-semibold",children:"Everyone's sign-ins"}),null===a?null:(0,b.jsx)("span",{className:"text-muted-foreground",children:a})]})}function q(){return(0,b.jsx)("thead",{className:"max-sm:hidden",children:(0,b.jsxs)("tr",{className:"border-b border-border text-left text-muted-foreground",children:[(0,b.jsx)("th",{className:"h-10 px-2 font-medium",children:"Person"}),(0,b.jsx)("th",{className:"h-10 px-2 font-medium",children:"Account"}),(0,b.jsx)("th",{className:"h-10 px-2 font-medium",children:"State"}),(0,b.jsx)("th",{className:"h-10 px-2 font-medium",children:"Last used"}),(0,b.jsx)("th",{className:"h-10 px-2",children:(0,b.jsx)("span",{className:"sr-only",children:"Remove"})})]})})}function r({signIn:a,party:c,isRemoving:d,onConfirm:e,onKeep:f}){let g=o(a);return(0,b.jsxs)("div",{className:"grid gap-2 rounded-md bg-muted p-3","data-testid":"outside-party-sign-ins-confirm",children:[(0,b.jsxs)("p",{children:["Remove ",g,"'s sign-in? Their ships' calls to ",c," are refused until they sign in again."]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:i.x.destructive,disabled:d,"aria-busy":d,onClick:e,"data-testid":"outside-party-sign-ins-remove-confirmed",children:d?"Removing…":`Remove ${g}'s sign-in`}),(0,b.jsx)("button",{type:"button",className:i.x.secondary,onClick:f,children:"Keep"})]})]})}function s(a){let{party:c,now:d,rows:e,refusal:f,hasMore:g,isLoadingMore:h,confirming:s,removing:t,outcome:u}=a;return(0,b.jsxs)("section",{className:`${i.r} grid gap-3`,"data-testid":"outside-party-sign-ins",children:[(0,b.jsx)(p,{count:null===f?e.length:null}),(0,b.jsx)(j.f,{state:u}),null!==f?(0,b.jsx)(j.f,{state:{kind:"refused",message:f}}):0===e.length?(0,b.jsx)("p",{className:"text-muted-foreground",children:"Nobody has signed in yet."}):(0,b.jsxs)("table",{className:"w-full border-collapse max-sm:block",children:[(0,b.jsx)(q,{}),(0,b.jsx)("tbody",{className:"max-sm:grid",children:e.map(e=>{var f;let g,h,j=n[e.state],p=s===e.personShipId,q=null===e.lastUsedAt?"Not yet":(f=e.lastUsedAt,(h=new Date(d).getTime()-new Date(f).getTime())<6e4?"Just now":h<36e5?`${String(Math.floor(h/6e4))} min ago`:(g=new Date(f),`${String(g.getUTCDate())} ${l[g.getUTCMonth()]??""}, ${m(g.getUTCHours())}:${m(g.getUTCMinutes())}`));return[(0,b.jsxs)("tr",{className:`border-b border-border max-sm:grid max-sm:grid-cols-[1fr_auto] max-sm:gap-1 max-sm:py-3 ${p?"border-b-0":"last:border-b-0"}`,"data-testid":"outside-party-sign-ins-row",children:[(0,b.jsxs)("td",{className:"h-12 px-2 max-sm:col-start-1 max-sm:row-start-1 max-sm:h-auto max-sm:px-0 max-sm:font-medium",children:[o(e),e.isYours?(0,b.jsx)("span",{className:"font-normal text-muted-foreground",children:" (you)"}):null]}),(0,b.jsxs)("td",{className:"h-12 px-2 max-sm:col-span-2 max-sm:row-start-2 max-sm:h-auto max-sm:px-0 max-sm:text-muted-foreground",children:[function({outsideAccount:a}){return a.name??a.subject??(0,b.jsx)("span",{className:"text-muted-foreground",children:"Not known"})}(e),(0,b.jsxs)("span",{className:"sm:hidden",children:[" · last used ",null===e.lastUsedAt?"not yet":q]})]}),(0,b.jsx)("td",{className:"h-12 px-2 max-sm:col-start-2 max-sm:row-start-1 max-sm:h-auto max-sm:px-0",children:(0,b.jsx)(k.T,{tone:j.tone,label:j.label})}),(0,b.jsx)("td",{className:"h-12 px-2 text-muted-foreground max-sm:hidden",children:q}),(0,b.jsx)("td",{className:"h-12 px-2 text-right max-sm:col-span-2 max-sm:row-start-3 max-sm:h-auto max-sm:px-0 max-sm:text-left",children:(0,b.jsx)("button",{type:"button",className:`${i.x.secondary} ${p?"max-sm:hidden":""}`,onClick:()=>{a.onRemove(e.personShipId)},"data-testid":"outside-party-sign-ins-remove",children:"Remove"})})]},e.personShipId),p?(0,b.jsx)("tr",{className:"border-b border-border last:border-b-0 max-sm:block max-sm:pb-3",children:(0,b.jsx)("td",{colSpan:5,className:"pb-2 max-sm:block max-sm:pb-0",children:(0,b.jsx)(r,{signIn:e,party:c,isRemoving:t===e.personShipId,onConfirm:()=>{a.onConfirm(e)},onKeep:a.onKeep})})},`${e.personShipId}-confirm`):null]})})]}),null===f&&g?(0,b.jsx)("div",{children:(0,b.jsx)("button",{type:"button",className:i.x.secondary,disabled:h,"aria-busy":h,onClick:a.onMore,"data-testid":"outside-party-sign-ins-more",children:h?"Showing more…":"Show more"})}):null]})}a.s(["EveryonesSignInsCard",0,function({fleetId:a,party:e,now:i,first:j}){let[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(j.next),[p,q]=(0,c.useState)(new Set),[r,t]=(0,c.useState)(null),[u,v]=(0,c.useState)(null),[w,x]=(0,c.useState)(d.Q),[y,z]=(0,c.useTransition)(),[,A]=(0,c.useTransition)(),B=h(j.grants,k).filter(({personShipId:a})=>!p.has(a));return(0,b.jsx)(s,{party:e,now:i,rows:B,refusal:null,hasMore:null!==m,isLoadingMore:y,confirming:r,removing:u,outcome:w,onRemove:a=>{t(a),x(d.Q)},onConfirm:b=>{v(b.personShipId),A(async()=>{let c=await g({fleetId:a,name:e,personShipId:b.personShipId});v(null),t(null),c.isOk?(q(a=>new Set([...a,b.personShipId])),x({kind:"done",message:function({person:a,party:b,isRevoked:c}){return c?`${a}'s sign-in is removed, and revoked at ${b}.`:`${a}'s sign-in is removed.`}({person:o(b),party:e,isRevoked:c.isRevoked})})):x({kind:"refused",message:c.message})})},onKeep:()=>{t(null)},onMore:()=>{let b=m??B.at(-1)?.personShipId;void 0!==b&&z(async()=>{let c=await f({fleetId:a,name:e,after:b});c.isOk?(l(a=>h(a,c.grants)),n(c.next)):x({kind:"refused",message:c.message})})}})}],4423)},88275,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(30587),e=a.i(36855),f=a.i(77237),g=a.i(5050);let h=(0,g.createServerReference)("604dd8193dbf8404c214de2b04259fef11650543b4",g.callServer,void 0,g.findSourceMapURL,"removeOwnSignIn");var i=a.i(48143);function j({fleetId:a,party:c}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("input",{type:"hidden",name:d.H,value:a}),(0,b.jsx)("input",{type:"hidden",name:"name",value:c})]})}a.s(["RemoveSignInForm",0,function({fleetId:a,party:g}){let[i,k]=(0,c.useActionState)(h,d.Q);return(0,b.jsxs)("form",{action:k,className:"grid gap-2",children:[(0,b.jsx)(e.f,{state:i}),(0,b.jsx)(j,{fleetId:a,party:g}),(0,b.jsx)("div",{children:(0,b.jsx)(f.f,{kind:"secondary",pending:"Removing…",testId:"outside-party-sign-in-remove",children:"Remove"})})]})},"SignInForm",0,function({fleetId:a,party:g,label:h,kind:k}){let[l,m]=(0,c.useActionState)(i.f,d.Q);return(0,b.jsxs)("form",{action:m,className:"grid gap-2",children:[(0,b.jsx)(e.f,{state:l}),(0,b.jsx)(j,{fleetId:a,party:g}),(0,b.jsx)("div",{children:(0,b.jsx)(f.f,{kind:k,pending:`Opening ${g}…`,testId:"outside-party-sign-in-start",children:h})})]})}],88275)},73877,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(35112),e=a.i(30587),f=a.i(10020),g=a.i(5050);let h=(0,g.createServerReference)("604043d009b1b0f58f8fe209d3f0ea9e38582341c8",g.callServer,void 0,g.findSourceMapURL,"markA2aAgent"),i={kind:"idle"};function j({isRepeatable:a}){let c=(0,d.useFormStatus)();return(0,b.jsx)(f.f,{type:"submit",isOn:a,label:"Repeatable",isPending:c.pending,testId:"outside-party-repeatable-switch"})}a.s(["RepeatableSwitch",0,function({fleetId:a,party:d,isRepeatable:f}){let[g,k]=(0,c.useActionState)(h,i),l="marked"===g.kind?g.isRepeatable:f;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("form",{action:k,className:"contents",children:[(0,b.jsx)("input",{type:"hidden",name:e.H,value:a}),(0,b.jsx)("input",{type:"hidden",name:"name",value:d}),(0,b.jsx)("input",{type:"hidden",name:"isRepeatable",value:String(!l)}),(0,b.jsx)(j,{isRepeatable:l})]}),"idle"===g.kind?null:(0,b.jsx)("span",{role:"refused"===g.kind?"alert":"status",className:`basis-full text-caption ${"refused"===g.kind?"text-tone-attention-fg":"text-tone-ok-fg"}`,"data-testid":"outside-party-repeatable-outcome",children:g.message})]})}],73877)}]})();
2
2
 
3
- //# sourceMappingURL=web_features_1wo7gr7bxvsi-._.js.map
3
+ //# sourceMappingURL=web_features_1_648zpxn76jp._.js.map