@aeolus-fleet/gateway 0.37.1 → 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 (251) 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/dist/adapters/prisma/changes.d.ts +8 -3
  4. package/dist/adapters/prisma/changes.js +18 -2
  5. package/dist/adapters/prisma/changes.js.map +1 -1
  6. package/dist/app.js +19 -11
  7. package/dist/app.js.map +1 -1
  8. package/dist/core/people/held-deliveries.d.ts +30 -0
  9. package/dist/core/people/held-deliveries.js +42 -0
  10. package/dist/core/people/held-deliveries.js.map +1 -0
  11. package/dist/core/people/opened-of.d.ts +2 -0
  12. package/dist/core/people/opened-of.js.map +1 -1
  13. package/dist/core/people/ports.d.ts +8 -0
  14. package/dist/core/people/read-basket.d.ts +2 -0
  15. package/dist/core/people/read-basket.js.map +1 -1
  16. package/dist/core/people/read-bridge-home.d.ts +2 -0
  17. package/dist/core/people/read-bridge-home.js.map +1 -1
  18. package/dist/core/people/read-inbox.d.ts +16 -8
  19. package/dist/core/people/read-inbox.js +21 -10
  20. package/dist/core/people/read-inbox.js.map +1 -1
  21. package/dist/core/people/send-stored-answers.d.ts +2 -0
  22. package/dist/core/people/send-stored-answers.js +1 -1
  23. package/dist/core/people/send-stored-answers.js.map +1 -1
  24. package/package.json +1 -1
  25. package/web/.next/BUILD_ID +1 -1
  26. package/web/.next/build-manifest.json +3 -3
  27. package/web/.next/diagnostics/route-bundle-stats.json +75 -75
  28. package/web/.next/fallback-build-manifest.json +3 -3
  29. package/web/.next/prerender-manifest.json +3 -3
  30. package/web/.next/server/app/(bridge)/bridge/basket/page/server-reference-manifest.json +10 -10
  31. package/web/.next/server/app/(bridge)/bridge/basket/page.js.nft.json +1 -1
  32. package/web/.next/server/app/(bridge)/bridge/basket/page_client-reference-manifest.js +1 -1
  33. package/web/.next/server/app/(bridge)/bridge/done/page/server-reference-manifest.json +4 -4
  34. package/web/.next/server/app/(bridge)/bridge/done/page.js.nft.json +1 -1
  35. package/web/.next/server/app/(bridge)/bridge/done/page_client-reference-manifest.js +1 -1
  36. package/web/.next/server/app/(bridge)/bridge/fleet/page/server-reference-manifest.json +3 -3
  37. package/web/.next/server/app/(bridge)/bridge/fleet/page.js.nft.json +1 -1
  38. package/web/.next/server/app/(bridge)/bridge/fleet/page_client-reference-manifest.js +1 -1
  39. package/web/.next/server/app/(bridge)/bridge/page/server-reference-manifest.json +9 -9
  40. package/web/.next/server/app/(bridge)/bridge/page.js.nft.json +1 -1
  41. package/web/.next/server/app/(bridge)/bridge/page_client-reference-manifest.js +1 -1
  42. package/web/.next/server/app/(bridge)/bridge/settings/page/server-reference-manifest.json +3 -3
  43. package/web/.next/server/app/(bridge)/bridge/settings/page.js.nft.json +1 -1
  44. package/web/.next/server/app/(bridge)/bridge/settings/page_client-reference-manifest.js +1 -1
  45. package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page/server-reference-manifest.json +4 -4
  46. package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page.js.nft.json +1 -1
  47. package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page_client-reference-manifest.js +1 -1
  48. package/web/.next/server/app/(bridge)/bridge/settings/routing/page/server-reference-manifest.json +7 -7
  49. package/web/.next/server/app/(bridge)/bridge/settings/routing/page.js.nft.json +1 -1
  50. package/web/.next/server/app/(bridge)/bridge/settings/routing/page_client-reference-manifest.js +1 -1
  51. package/web/.next/server/app/(bridge)/bridge/stay-aware/page/server-reference-manifest.json +9 -9
  52. package/web/.next/server/app/(bridge)/bridge/stay-aware/page.js.nft.json +1 -1
  53. package/web/.next/server/app/(bridge)/bridge/stay-aware/page_client-reference-manifest.js +1 -1
  54. package/web/.next/server/app/(bridge)/outside-parties/[name]/change/page/server-reference-manifest.json +18 -18
  55. package/web/.next/server/app/(bridge)/outside-parties/[name]/change/page.js.nft.json +1 -1
  56. package/web/.next/server/app/(bridge)/outside-parties/[name]/change/page_client-reference-manifest.js +1 -1
  57. package/web/.next/server/app/(bridge)/outside-parties/[name]/page/server-reference-manifest.json +10 -10
  58. package/web/.next/server/app/(bridge)/outside-parties/[name]/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(bridge)/outside-parties/[name]/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(bridge)/outside-parties/[name]/retire/page/server-reference-manifest.json +18 -18
  61. package/web/.next/server/app/(bridge)/outside-parties/[name]/retire/page.js.nft.json +1 -1
  62. package/web/.next/server/app/(bridge)/outside-parties/[name]/retire/page_client-reference-manifest.js +1 -1
  63. package/web/.next/server/app/(bridge)/outside-parties/add/page/server-reference-manifest.json +12 -12
  64. package/web/.next/server/app/(bridge)/outside-parties/add/page.js.nft.json +1 -1
  65. package/web/.next/server/app/(bridge)/outside-parties/add/page_client-reference-manifest.js +1 -1
  66. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +4 -4
  67. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-agent/page.js.nft.json +1 -1
  68. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-client/page/server-reference-manifest.json +4 -4
  70. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-client/page.js.nft.json +1 -1
  71. package/web/.next/server/app/(bridge)/outside-parties/add-a2a-client/page_client-reference-manifest.js +1 -1
  72. package/web/.next/server/app/(bridge)/outside-parties/page/server-reference-manifest.json +4 -4
  73. package/web/.next/server/app/(bridge)/outside-parties/page.js.nft.json +1 -1
  74. package/web/.next/server/app/(bridge)/outside-parties/page_client-reference-manifest.js +1 -1
  75. package/web/.next/server/app/(console)/gateway-off/page/server-reference-manifest.json +1 -1
  76. package/web/.next/server/app/(console)/gateway-off/page.js.nft.json +1 -1
  77. package/web/.next/server/app/(console)/gateway-off/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/(console)/meetings/[meetingId]/page/server-reference-manifest.json +3 -3
  79. package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.nft.json +1 -1
  80. package/web/.next/server/app/(console)/meetings/[meetingId]/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/(console)/parties/page/server-reference-manifest.json +8 -8
  82. package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -1
  83. package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +1 -1
  84. package/web/.next/server/app/(console)/sign-in/failed/page/server-reference-manifest.json +1 -1
  85. package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -1
  86. package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +1 -1
  87. package/web/.next/server/app/(console)/slack/disconnect/page/server-reference-manifest.json +10 -10
  88. package/web/.next/server/app/(console)/slack/disconnect/page.js.nft.json +1 -1
  89. package/web/.next/server/app/(console)/slack/disconnect/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/(console)/slack/expose/page/server-reference-manifest.json +10 -10
  91. package/web/.next/server/app/(console)/slack/expose/page.js.nft.json +1 -1
  92. package/web/.next/server/app/(console)/slack/expose/page_client-reference-manifest.js +1 -1
  93. package/web/.next/server/app/(console)/slack/page/server-reference-manifest.json +10 -10
  94. package/web/.next/server/app/(console)/slack/page.js.nft.json +1 -1
  95. package/web/.next/server/app/(console)/slack/page_client-reference-manifest.js +1 -1
  96. package/web/.next/server/app/(console)/slack/remove/page/server-reference-manifest.json +10 -10
  97. package/web/.next/server/app/(console)/slack/remove/page.js.nft.json +1 -1
  98. package/web/.next/server/app/(console)/slack/remove/page_client-reference-manifest.js +1 -1
  99. package/web/.next/server/app/_global-error.html +1 -1
  100. package/web/.next/server/app/_global-error.rsc +1 -1
  101. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  102. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  103. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  104. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  105. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  106. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  107. package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
  108. package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
  109. package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
  110. package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
  111. package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
  112. package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
  114. package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
  115. package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/chunks/ssr/01fr_app_(bridge)_bridge_settings_requests_[requestId]_page_actions_0o8g7_xshtmem.js +1 -1
  117. package/web/.next/server/chunks/ssr/01fr_app_(bridge)_bridge_settings_requests_[requestId]_page_actions_0o8g7_xshtmem.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_settings_page_actions_0_te6h-2xxp7l.js +1 -1
  119. package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_settings_page_actions_0_te6h-2xxp7l.js.map +1 -1
  120. package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js +1 -1
  121. package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_bridge_settings_routing_page_actions_06_j7s24dy5ee.js +1 -1
  123. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_bridge_settings_routing_page_actions_06_j7s24dy5ee.js.map +1 -1
  124. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_change_page_actions_1is-kjq5bubl4.js +1 -1
  125. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_change_page_actions_1is-kjq5bubl4.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_page_actions_1mctxtlzsa7xi.js +1 -1
  127. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_page_actions_1mctxtlzsa7xi.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_retire_page_actions_0xh6ok1un7s9k.js +1 -1
  129. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_[name]_retire_page_actions_0xh6ok1un7s9k.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_add-a2a-agent_page_actions_1w1q5eavo_loo.js +1 -1
  131. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_add-a2a-agent_page_actions_1w1q5eavo_loo.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_add_page_actions_0urcbg_r0lo7j.js +1 -1
  133. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_outside-parties_add_page_actions_0urcbg_r0lo7j.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ipo8r1s1ntds._.js +1 -1
  135. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ovcg5tg3nh49._.js +1 -1
  136. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ovcg5tg3nh49._.js.map +1 -1
  137. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ro-majrw7piv._.js +1 -1
  138. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ro-majrw7piv._.js.map +1 -1
  139. package/web/.next/server/chunks/ssr/[root-of-the-server]__0xurmpdv5uqfl._.js +1 -1
  140. package/web/.next/server/chunks/ssr/[root-of-the-server]__0zz6fx0keti4r._.js +1 -1
  141. package/web/.next/server/chunks/ssr/[root-of-the-server]__0zz6fx0keti4r._.js.map +1 -1
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js +1 -1
  143. package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js.map +1 -1
  144. package/web/.next/server/chunks/ssr/[root-of-the-server]__19p4g16n2nh0b._.js +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__19p4g16n2nh0b._.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__1ncn4wx-1i09m._.js +1 -1
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__1ncn4wx-1i09m._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
  149. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/_0_nfv33ug5g31._.js +1 -1
  151. package/web/.next/server/chunks/ssr/_0_nfv33ug5g31._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js +1 -1
  153. package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/{_0d9el5z4r07h8._.js → _0phqji_8-1g8r._.js} +2 -2
  155. package/web/.next/server/chunks/ssr/{_0nmqkf1y-qsc2._.js.map → _0phqji_8-1g8r._.js.map} +1 -1
  156. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js +1 -1
  157. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -1
  158. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
  159. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
  160. package/web/.next/server/chunks/ssr/{_0nmqkf1y-qsc2._.js → _0yt_0nnqp7qsf._.js} +2 -2
  161. package/web/.next/server/chunks/ssr/{_0d9el5z4r07h8._.js.map → _0yt_0nnqp7qsf._.js.map} +1 -1
  162. package/web/.next/server/chunks/ssr/{_0msh_lv5ns4e9._.js → _12yl1q5vpvmnf._.js} +2 -2
  163. package/web/.next/server/chunks/ssr/{_1a-gh-psko_2f._.js.map → _12yl1q5vpvmnf._.js.map} +1 -1
  164. package/web/.next/server/chunks/ssr/{_1a-gh-psko_2f._.js → _15oq7v7za6xc0._.js} +2 -2
  165. package/web/.next/server/chunks/ssr/{_0msh_lv5ns4e9._.js.map → _15oq7v7za6xc0._.js.map} +1 -1
  166. package/web/.next/server/chunks/ssr/_19gyfcgdw7y22._.js +57 -0
  167. package/web/.next/server/chunks/ssr/_19gyfcgdw7y22._.js.map +1 -0
  168. package/web/.next/server/chunks/ssr/_1cs_0d0h7mhw0._.js +1 -1
  169. package/web/.next/server/chunks/ssr/_1cs_0d0h7mhw0._.js.map +1 -1
  170. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
  171. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
  172. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
  173. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
  174. package/web/.next/server/chunks/ssr/_1whn-m68y_cvc._.js +57 -0
  175. package/web/.next/server/chunks/ssr/_1whn-m68y_cvc._.js.map +1 -0
  176. package/web/.next/server/chunks/ssr/web_0a9n7acgjrk5c._.js +1 -1
  177. package/web/.next/server/chunks/ssr/web_0a9n7acgjrk5c._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/web_1vvrekkq5mirt._.js +1 -1
  179. package/web/.next/server/chunks/ssr/web_1vvrekkq5mirt._.js.map +1 -1
  180. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_basket_page_actions_0g7q_rc5nma1e.js +1 -1
  181. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_basket_page_actions_0g7q_rc5nma1e.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_done_page_actions_0kjm34arntdzv.js +1 -1
  183. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_done_page_actions_0kjm34arntdzv.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_fleet_page_actions_19wmo6phgvqfk.js +1 -1
  185. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_fleet_page_actions_19wmo6phgvqfk.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_page_actions_1ok64rg3edm_u.js +1 -1
  187. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_page_actions_1ok64rg3edm_u.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/{web_features_11rwm0rhf5957._.js → web_features_05tyk8t8uz71m._.js} +2 -2
  189. package/web/.next/server/chunks/ssr/{web_features_11rwm0rhf5957._.js.map → web_features_05tyk8t8uz71m._.js.map} +1 -1
  190. package/web/.next/server/chunks/ssr/{web_features_0cgvngtsgzu24._.js → web_features_0hnjtl8jg_qhq._.js} +2 -2
  191. package/web/.next/server/chunks/ssr/{web_features_0cgvngtsgzu24._.js.map → web_features_0hnjtl8jg_qhq._.js.map} +1 -1
  192. package/web/.next/server/chunks/ssr/{web_features_1loqabdanp8wi._.js → web_features_1_648zpxn76jp._.js} +2 -2
  193. package/web/.next/server/chunks/ssr/{web_features_1loqabdanp8wi._.js.map → web_features_1_648zpxn76jp._.js.map} +1 -1
  194. package/web/.next/server/chunks/ssr/{web_features_1r2u065j-hgrq._.js → web_features_1uzz6jypukhkx._.js} +2 -2
  195. package/web/.next/server/chunks/ssr/{web_features_1r2u065j-hgrq._.js.map → web_features_1uzz6jypukhkx._.js.map} +1 -1
  196. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +1 -1
  197. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -1
  198. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +1 -1
  199. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js.map +1 -1
  200. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +1 -1
  201. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -1
  202. package/web/.next/server/chunks/ssr/{web_features_bridge_17dx2edv4zsex._.js → web_features_bridge_0ldot9q_-xh4o._.js} +2 -2
  203. package/web/.next/server/chunks/ssr/{web_features_bridge_17dx2edv4zsex._.js.map → web_features_bridge_0ldot9q_-xh4o._.js.map} +1 -1
  204. package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js +1 -1
  205. package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js +1 -1
  206. package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js +1 -1
  208. package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js.map +1 -1
  209. package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js +1 -1
  210. package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js.map +1 -1
  211. package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js +1 -1
  212. package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js.map +1 -1
  213. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
  214. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
  215. package/web/.next/server/chunks/ssr/web_features_outside-party_1-lre9nfakki7._.js +1 -1
  216. package/web/.next/server/chunks/ssr/web_features_outside-party_1-lre9nfakki7._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
  218. package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
  219. package/web/.next/server/chunks/ssr/web_features_slack_actions_ts_1l3yg9vl20_vu._.js +1 -1
  220. package/web/.next/server/middleware-build-manifest.js +3 -3
  221. package/web/.next/server/pages/500.html +1 -1
  222. package/web/.next/server/preview-props.json +3 -3
  223. package/web/.next/server/server-reference-manifest.js +1 -1
  224. package/web/.next/server/server-reference-manifest.json +49 -49
  225. package/web/.next/static/chunks/{3nqasvqr8d81s.js → 037n80h9g7uj9.js} +1 -1
  226. package/web/.next/static/chunks/{0klu03tcnjzsm.js → 07m-_glbqp-37.js} +1 -1
  227. package/web/.next/static/chunks/0aa4uzjjhyqka.js +1 -0
  228. package/web/.next/static/chunks/{3bvcgvk4m3hxh.js → 10irrhgnj6fen.js} +1 -1
  229. package/web/.next/static/chunks/{12kwix3z2z-fs.js → 13wwvyhf3sngt.js} +1 -1
  230. package/web/.next/static/chunks/15n0w5axo2pz9.js +1 -0
  231. package/web/.next/static/chunks/{1oipnf2j_m8oy.js → 1zz_y28tujbue.js} +1 -1
  232. package/web/.next/static/chunks/{2ztqsnh1sq5f9.js → 2bdw63_s9xtu_.js} +1 -1
  233. package/web/.next/static/chunks/{0d0fsf26a1ep_.js → 2v9rmbrsi3gic.js} +1 -1
  234. package/web/.next/static/chunks/{1az8wx3bt0tc-.js → 3-1jjh1cn7c8-.js} +1 -1
  235. package/web/.next/static/chunks/{3c2whoiify4hd.js → 37he-4csbzq66.js} +1 -1
  236. package/web/.next/static/chunks/{3q_d1vlm22cy0.js → 3ce0mcxr613x9.js} +1 -1
  237. package/web/.next/static/chunks/3q96u74uhyutq.js +1 -0
  238. package/web/.next/static/chunks/{3po7blcdi5_y6.js → 3qdxrlqdxsqgz.js} +1 -1
  239. package/web/.next/static/chunks/{0jqdvhip5x6im.js → 3tjpz6bq80t74.js} +1 -1
  240. package/web/.next/trace +1 -1
  241. package/web/.next/trace-build +1 -1
  242. package/web/.next/server/chunks/ssr/_1e720g1qty0xj._.js +0 -57
  243. package/web/.next/server/chunks/ssr/_1e720g1qty0xj._.js.map +0 -1
  244. package/web/.next/server/chunks/ssr/_1xjxj1ur-j87t._.js +0 -57
  245. package/web/.next/server/chunks/ssr/_1xjxj1ur-j87t._.js.map +0 -1
  246. package/web/.next/static/chunks/04r-53h_fb5rq.js +0 -1
  247. package/web/.next/static/chunks/2fjzmc7-5sf_m.js +0 -1
  248. package/web/.next/static/chunks/38w8690okopia.js +0 -1
  249. /package/web/.next/static/{waEyx88w-M7TBm3nu35s- → LxcgnSJuKSN0rA6kJgwr6}/_buildManifest.js +0 -0
  250. /package/web/.next/static/{waEyx88w-M7TBm3nu35s- → LxcgnSJuKSN0rA6kJgwr6}/_clientMiddlewareManifest.js +0 -0
  251. /package/web/.next/static/{waEyx88w-M7TBm3nu35s- → LxcgnSJuKSN0rA6kJgwr6}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/bridge/settings/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {readSendTo as '4037a88f28c885946acaffd1cdfafe0cbe8f0da59d'} from 'ACTIONS_MODULE1'\nexport {sendShipMessage as '4046bfd2ba403a6ee3e6b63e6a1173263664f48c30'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/bridge/settings/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {readSendTo as '402178a50b87ba4c595a0dc3c15ba2600a42686bb3'} from 'ACTIONS_MODULE1'\nexport {sendShipMessage as '40c9b55161e222dbf6898829a3635ae686adcb3490'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[62006,a=>{"use strict";var b=a.i(70043),c=a.i(43889);a.S([b,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009,f",0,c,"4016b132ef866b9d27d7894582f05d8e1c2bb7fa64,G,4037a88f28c885946acaffd1cdfafe0cbe8f0da59d,e,4046bfd2ba403a6ee3e6b63e6a1173263664f48c30,u,4068b06b8eff75e3700a4c5c8fbb83ac83a0c6d854,y,40a5abaacfa2044f020ac5264a4e3d8b3018d86036,q,40b57cfcc56ae2b8aee12201c69fbc898d6d8d98dd,W,6024c7dcfcbd6f0a3f3b2aa2cbc7a042e558d6ecdd,D,609e39a46252ea14c60d18ab89290bc08365819fd7,v"],62006)}];
1
+ module.exports=[62006,a=>{"use strict";var b=a.i(70043),c=a.i(43889);a.S([b,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be,f",0,c,"400b37ebb0a90a0f73cb1978ec8c9e4c4a171c9ecc,G,402178a50b87ba4c595a0dc3c15ba2600a42686bb3,e,406b7f07eedaeed4fd555b667f17f87127627eaee6,q,40c9b55161e222dbf6898829a3635ae686adcb3490,u,40e0e357a857fdaa7a9ce19fdf8f13562b3a39d45c,W,40f5769695179d460f57ef659223c7bbc4c7cf4e5d,y,601f20d58885510639cdb9c1e160334e405f3688cf,D,60298acc1cc947c4fd5df829eef7f60ac01f66426f,v"],62006)}];
2
2
 
3
3
  //# sourceMappingURL=0b9d__next-internal_server_app_%28bridge%29_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/bridge/stay-aware/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {readSendTo as '4037a88f28c885946acaffd1cdfafe0cbe8f0da59d'} from 'ACTIONS_MODULE1'\nexport {sendShipMessage as '4046bfd2ba403a6ee3e6b63e6a1173263664f48c30'} from 'ACTIONS_MODULE1'\nexport {answerDelivery as '40a5abaacfa2044f020ac5264a4e3d8b3018d86036'} from 'ACTIONS_MODULE1'\nexport {doneDelivery as '4016b132ef866b9d27d7894582f05d8e1c2bb7fa64'} from 'ACTIONS_MODULE1'\nexport {openDelivery as '609e39a46252ea14c60d18ab89290bc08365819fd7'} from 'ACTIONS_MODULE1'\nexport {putInBasket as '4068b06b8eff75e3700a4c5c8fbb83ac83a0c6d854'} from 'ACTIONS_MODULE1'\nexport {putPickInBasket as '40b57cfcc56ae2b8aee12201c69fbc898d6d8d98dd'} from 'ACTIONS_MODULE1'\nexport {removeFromBasket as '6024c7dcfcbd6f0a3f3b2aa2cbc7a042e558d6ecdd'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/bridge/stay-aware/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {readSendTo as '402178a50b87ba4c595a0dc3c15ba2600a42686bb3'} from 'ACTIONS_MODULE1'\nexport {sendShipMessage as '40c9b55161e222dbf6898829a3635ae686adcb3490'} from 'ACTIONS_MODULE1'\nexport {answerDelivery as '406b7f07eedaeed4fd555b667f17f87127627eaee6'} from 'ACTIONS_MODULE1'\nexport {doneDelivery as '400b37ebb0a90a0f73cb1978ec8c9e4c4a171c9ecc'} from 'ACTIONS_MODULE1'\nexport {openDelivery as '60298acc1cc947c4fd5df829eef7f60ac01f66426f'} from 'ACTIONS_MODULE1'\nexport {putInBasket as '40f5769695179d460f57ef659223c7bbc4c7cf4e5d'} from 'ACTIONS_MODULE1'\nexport {putPickInBasket as '40e0e357a857fdaa7a9ce19fdf8f13562b3a39d45c'} from 'ACTIONS_MODULE1'\nexport {removeFromBasket as '601f20d58885510639cdb9c1e160334e405f3688cf'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[26159,a=>{"use strict";var b=a.i(70043),c=a.i(43889);a.S([b,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009,f",0,c,"4037a88f28c885946acaffd1cdfafe0cbe8f0da59d,e,4046bfd2ba403a6ee3e6b63e6a1173263664f48c30,u,40b105461ed5180c1e4e9f65c6e5ee21504611accd,f,40f4b4eb49279e8395359781351dbbf28623530f37,Z,6050542061a8722cadd772f635ab49f34ca8df98f3,X,607f1c42ea803f083c89d5ded23c2d6843d246b62d,z"],26159)}];
1
+ module.exports=[26159,a=>{"use strict";var b=a.i(70043),c=a.i(43889);a.S([b,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be,f",0,c,"401795dbe980817c7febb7a9ef452e6d25af298560,Z,402178a50b87ba4c595a0dc3c15ba2600a42686bb3,e,40bc7c96fce86cf783b7afa9934b227b20832bc648,f,40c9b55161e222dbf6898829a3635ae686adcb3490,u,6009cf875fb9980a91d32c680f626ff2a624e4de0e,X,604799c2332415c201ae5795b6deef4ea921c69b40,z"],26159)}];
2
2
 
3
3
  //# sourceMappingURL=0vkm_server_app_%28bridge%29_bridge_settings_routing_page_actions_06_j7s24dy5ee.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/bridge/settings/routing/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {readSendTo as '4037a88f28c885946acaffd1cdfafe0cbe8f0da59d'} from 'ACTIONS_MODULE1'\nexport {sendShipMessage as '4046bfd2ba403a6ee3e6b63e6a1173263664f48c30'} from 'ACTIONS_MODULE1'\nexport {turnRoute as '40b105461ed5180c1e4e9f65c6e5ee21504611accd'} from 'ACTIONS_MODULE1'\nexport {unlinkSlack as '40f4b4eb49279e8395359781351dbbf28623530f37'} from 'ACTIONS_MODULE1'\nexport {turnOffWebPush as '6050542061a8722cadd772f635ab49f34ca8df98f3'} from 'ACTIONS_MODULE1'\nexport {turnOnWebPush as '607f1c42ea803f083c89d5ded23c2d6843d246b62d'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/bridge/settings/routing/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {readSendTo as '402178a50b87ba4c595a0dc3c15ba2600a42686bb3'} from 'ACTIONS_MODULE1'\nexport {sendShipMessage as '40c9b55161e222dbf6898829a3635ae686adcb3490'} from 'ACTIONS_MODULE1'\nexport {turnRoute as '40bc7c96fce86cf783b7afa9934b227b20832bc648'} from 'ACTIONS_MODULE1'\nexport {unlinkSlack as '401795dbe980817c7febb7a9ef452e6d25af298560'} from 'ACTIONS_MODULE1'\nexport {turnOffWebPush as '6009cf875fb9980a91d32c680f626ff2a624e4de0e'} from 'ACTIONS_MODULE1'\nexport {turnOnWebPush as '604799c2332415c201ae5795b6deef4ea921c69b40'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[88899,a=>{"use strict";var b=a.i(70043),c=a.i(43496),d=a.i(43889);a.S([b,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009,f",0,c,"4004ce1d46e14c5c2150455347d2c7a8d5d86a444d,M,4055624bd11ca2ade15b378b28829dee0ac23423c1,L,408b7585197882a44a3cc8c0b1c3280e3806171563,O,40a9ad5c4ced811b2e1b944591f45e2bdec3885949,p,60194c52a3feb09ed7ebbe91b39cb96893bd0878f5,t,60b4db8bf58321b318446fc15698734ca838a7906b,v,60c6954ee32ef0da770b4a80d316382eb6c0a4c980,Q,60f6ca9b179e3a54d5ed0f11cdb52aaa1f537bc553,N,60fc44c5251aea4e8cf6a11329208266754ef56a78,o",0,d,"4037a88f28c885946acaffd1cdfafe0cbe8f0da59d,e,4046bfd2ba403a6ee3e6b63e6a1173263664f48c30,u"],88899)}];
1
+ module.exports=[88899,a=>{"use strict";var b=a.i(70043),c=a.i(43496),d=a.i(43889);a.S([b,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be,f",0,c,"40094ca59cc39534e76a0c0ec939f97c2759b691cd,M,401284c106092aed666ad781af234d01577ff2b95e,L,40453b580ccdd09578e88f323f0a6362beb9d7d45d,p,40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe,O,6003bc5f4902d54aaef444fea5f529b972eef545a0,t,604043d009b1b0f58f8fe209d3f0ea9e38582341c8,o,604dd8193dbf8404c214de2b04259fef11650543b4,N,60a17908e3b22eb1b4a494def6f12126d6cf55c66d,Q,60be6ee725e4c56654f86de6240811a6b07eaf85ee,v",0,d,"402178a50b87ba4c595a0dc3c15ba2600a42686bb3,e,40c9b55161e222dbf6898829a3635ae686adcb3490,u"],88899)}];
2
2
 
3
3
  //# sourceMappingURL=0vkm_server_app_%28bridge%29_outside-parties_%5Bname%5D_change_page_actions_1is-kjq5bubl4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/outside-parties/%5Bname%5D/change/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {removePersonSignIn as '4004ce1d46e14c5c2150455347d2c7a8d5d86a444d'} from 'ACTIONS_MODULE1'\nexport {setPartyScopes as '4055624bd11ca2ade15b378b28829dee0ac23423c1'} from 'ACTIONS_MODULE1'\nexport {switchPartyTools as '408b7585197882a44a3cc8c0b1c3280e3806171563'} from 'ACTIONS_MODULE1'\nexport {readMoreSignIns as '40a9ad5c4ced811b2e1b944591f45e2bdec3885949'} from 'ACTIONS_MODULE1'\nexport {retireParty as '60194c52a3feb09ed7ebbe91b39cb96893bd0878f5'} from 'ACTIONS_MODULE1'\nexport {changeParty as '60b4db8bf58321b318446fc15698734ca838a7906b'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60c6954ee32ef0da770b4a80d316382eb6c0a4c980'} from 'ACTIONS_MODULE1'\nexport {removeOwnSignIn as '60f6ca9b179e3a54d5ed0f11cdb52aaa1f537bc553'} from 'ACTIONS_MODULE1'\nexport {markA2aAgent as '60fc44c5251aea4e8cf6a11329208266754ef56a78'} from 'ACTIONS_MODULE1'\nexport {setPartyScopes as '4055624bd11ca2ade15b378b28829dee0ac23423c1'} from 'ACTIONS_MODULE1'\nexport {switchPartyTools as '408b7585197882a44a3cc8c0b1c3280e3806171563'} from 'ACTIONS_MODULE1'\nexport {readMoreSignIns as '40a9ad5c4ced811b2e1b944591f45e2bdec3885949'} from 'ACTIONS_MODULE1'\nexport {removePersonSignIn as '4004ce1d46e14c5c2150455347d2c7a8d5d86a444d'} from 'ACTIONS_MODULE1'\nexport {removeOwnSignIn as '60f6ca9b179e3a54d5ed0f11cdb52aaa1f537bc553'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60c6954ee32ef0da770b4a80d316382eb6c0a4c980'} from 'ACTIONS_MODULE1'\nexport {markA2aAgent as '60fc44c5251aea4e8cf6a11329208266754ef56a78'} from 'ACTIONS_MODULE1'\nexport {readSendTo as '4037a88f28c885946acaffd1cdfafe0cbe8f0da59d'} from 'ACTIONS_MODULE2'\nexport {sendShipMessage as '4046bfd2ba403a6ee3e6b63e6a1173263664f48c30'} from 'ACTIONS_MODULE2'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAgBA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/outside-parties/%5Bname%5D/change/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {removePersonSignIn as '40094ca59cc39534e76a0c0ec939f97c2759b691cd'} from 'ACTIONS_MODULE1'\nexport {setPartyScopes as '401284c106092aed666ad781af234d01577ff2b95e'} from 'ACTIONS_MODULE1'\nexport {readMoreSignIns as '40453b580ccdd09578e88f323f0a6362beb9d7d45d'} from 'ACTIONS_MODULE1'\nexport {switchPartyTools as '40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe'} from 'ACTIONS_MODULE1'\nexport {retireParty as '6003bc5f4902d54aaef444fea5f529b972eef545a0'} from 'ACTIONS_MODULE1'\nexport {markA2aAgent as '604043d009b1b0f58f8fe209d3f0ea9e38582341c8'} from 'ACTIONS_MODULE1'\nexport {removeOwnSignIn as '604dd8193dbf8404c214de2b04259fef11650543b4'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60a17908e3b22eb1b4a494def6f12126d6cf55c66d'} from 'ACTIONS_MODULE1'\nexport {changeParty as '60be6ee725e4c56654f86de6240811a6b07eaf85ee'} from 'ACTIONS_MODULE1'\nexport {setPartyScopes as '401284c106092aed666ad781af234d01577ff2b95e'} from 'ACTIONS_MODULE1'\nexport {switchPartyTools as '40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe'} from 'ACTIONS_MODULE1'\nexport {readMoreSignIns as '40453b580ccdd09578e88f323f0a6362beb9d7d45d'} from 'ACTIONS_MODULE1'\nexport {removePersonSignIn as '40094ca59cc39534e76a0c0ec939f97c2759b691cd'} from 'ACTIONS_MODULE1'\nexport {removeOwnSignIn as '604dd8193dbf8404c214de2b04259fef11650543b4'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60a17908e3b22eb1b4a494def6f12126d6cf55c66d'} from 'ACTIONS_MODULE1'\nexport {markA2aAgent as '604043d009b1b0f58f8fe209d3f0ea9e38582341c8'} from 'ACTIONS_MODULE1'\nexport {readSendTo as '402178a50b87ba4c595a0dc3c15ba2600a42686bb3'} from 'ACTIONS_MODULE2'\nexport {sendShipMessage as '40c9b55161e222dbf6898829a3635ae686adcb3490'} from 'ACTIONS_MODULE2'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAgBA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[60141,a=>{"use strict";var b=a.i(70043),c=a.i(43496),d=a.i(43889);a.S([b,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009,f",0,c,"4004ce1d46e14c5c2150455347d2c7a8d5d86a444d,M,4055624bd11ca2ade15b378b28829dee0ac23423c1,L,408b7585197882a44a3cc8c0b1c3280e3806171563,O,40a9ad5c4ced811b2e1b944591f45e2bdec3885949,p,60c6954ee32ef0da770b4a80d316382eb6c0a4c980,Q,60f6ca9b179e3a54d5ed0f11cdb52aaa1f537bc553,N,60fc44c5251aea4e8cf6a11329208266754ef56a78,o",0,d,"4037a88f28c885946acaffd1cdfafe0cbe8f0da59d,e,4046bfd2ba403a6ee3e6b63e6a1173263664f48c30,u"],60141)}];
1
+ module.exports=[60141,a=>{"use strict";var b=a.i(70043),c=a.i(43496),d=a.i(43889);a.S([b,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be,f",0,c,"40094ca59cc39534e76a0c0ec939f97c2759b691cd,M,401284c106092aed666ad781af234d01577ff2b95e,L,40453b580ccdd09578e88f323f0a6362beb9d7d45d,p,40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe,O,604043d009b1b0f58f8fe209d3f0ea9e38582341c8,o,604dd8193dbf8404c214de2b04259fef11650543b4,N,60a17908e3b22eb1b4a494def6f12126d6cf55c66d,Q",0,d,"402178a50b87ba4c595a0dc3c15ba2600a42686bb3,e,40c9b55161e222dbf6898829a3635ae686adcb3490,u"],60141)}];
2
2
 
3
3
  //# sourceMappingURL=0vkm_server_app_%28bridge%29_outside-parties_%5Bname%5D_page_actions_1mctxtlzsa7xi.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/outside-parties/%5Bname%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {setPartyScopes as '4055624bd11ca2ade15b378b28829dee0ac23423c1'} from 'ACTIONS_MODULE1'\nexport {switchPartyTools as '408b7585197882a44a3cc8c0b1c3280e3806171563'} from 'ACTIONS_MODULE1'\nexport {readMoreSignIns as '40a9ad5c4ced811b2e1b944591f45e2bdec3885949'} from 'ACTIONS_MODULE1'\nexport {removePersonSignIn as '4004ce1d46e14c5c2150455347d2c7a8d5d86a444d'} from 'ACTIONS_MODULE1'\nexport {removeOwnSignIn as '60f6ca9b179e3a54d5ed0f11cdb52aaa1f537bc553'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60c6954ee32ef0da770b4a80d316382eb6c0a4c980'} from 'ACTIONS_MODULE1'\nexport {markA2aAgent as '60fc44c5251aea4e8cf6a11329208266754ef56a78'} from 'ACTIONS_MODULE1'\nexport {readSendTo as '4037a88f28c885946acaffd1cdfafe0cbe8f0da59d'} from 'ACTIONS_MODULE2'\nexport {sendShipMessage as '4046bfd2ba403a6ee3e6b63e6a1173263664f48c30'} from 'ACTIONS_MODULE2'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAOA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/outside-parties/%5Bname%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {setPartyScopes as '401284c106092aed666ad781af234d01577ff2b95e'} from 'ACTIONS_MODULE1'\nexport {switchPartyTools as '40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe'} from 'ACTIONS_MODULE1'\nexport {readMoreSignIns as '40453b580ccdd09578e88f323f0a6362beb9d7d45d'} from 'ACTIONS_MODULE1'\nexport {removePersonSignIn as '40094ca59cc39534e76a0c0ec939f97c2759b691cd'} from 'ACTIONS_MODULE1'\nexport {removeOwnSignIn as '604dd8193dbf8404c214de2b04259fef11650543b4'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60a17908e3b22eb1b4a494def6f12126d6cf55c66d'} from 'ACTIONS_MODULE1'\nexport {markA2aAgent as '604043d009b1b0f58f8fe209d3f0ea9e38582341c8'} from 'ACTIONS_MODULE1'\nexport {readSendTo as '402178a50b87ba4c595a0dc3c15ba2600a42686bb3'} from 'ACTIONS_MODULE2'\nexport {sendShipMessage as '40c9b55161e222dbf6898829a3635ae686adcb3490'} from 'ACTIONS_MODULE2'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAOA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[17769,a=>{"use strict";var b=a.i(70043),c=a.i(43496),d=a.i(43889);a.S([b,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009,f",0,c,"4004ce1d46e14c5c2150455347d2c7a8d5d86a444d,M,4055624bd11ca2ade15b378b28829dee0ac23423c1,L,408b7585197882a44a3cc8c0b1c3280e3806171563,O,40a9ad5c4ced811b2e1b944591f45e2bdec3885949,p,60194c52a3feb09ed7ebbe91b39cb96893bd0878f5,t,60b4db8bf58321b318446fc15698734ca838a7906b,v,60c6954ee32ef0da770b4a80d316382eb6c0a4c980,Q,60f6ca9b179e3a54d5ed0f11cdb52aaa1f537bc553,N,60fc44c5251aea4e8cf6a11329208266754ef56a78,o",0,d,"4037a88f28c885946acaffd1cdfafe0cbe8f0da59d,e,4046bfd2ba403a6ee3e6b63e6a1173263664f48c30,u"],17769)}];
1
+ module.exports=[17769,a=>{"use strict";var b=a.i(70043),c=a.i(43496),d=a.i(43889);a.S([b,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be,f",0,c,"40094ca59cc39534e76a0c0ec939f97c2759b691cd,M,401284c106092aed666ad781af234d01577ff2b95e,L,40453b580ccdd09578e88f323f0a6362beb9d7d45d,p,40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe,O,6003bc5f4902d54aaef444fea5f529b972eef545a0,t,604043d009b1b0f58f8fe209d3f0ea9e38582341c8,o,604dd8193dbf8404c214de2b04259fef11650543b4,N,60a17908e3b22eb1b4a494def6f12126d6cf55c66d,Q,60be6ee725e4c56654f86de6240811a6b07eaf85ee,v",0,d,"402178a50b87ba4c595a0dc3c15ba2600a42686bb3,e,40c9b55161e222dbf6898829a3635ae686adcb3490,u"],17769)}];
2
2
 
3
3
  //# sourceMappingURL=0vkm_server_app_%28bridge%29_outside-parties_%5Bname%5D_retire_page_actions_0xh6ok1un7s9k.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/outside-parties/%5Bname%5D/retire/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {removePersonSignIn as '4004ce1d46e14c5c2150455347d2c7a8d5d86a444d'} from 'ACTIONS_MODULE1'\nexport {setPartyScopes as '4055624bd11ca2ade15b378b28829dee0ac23423c1'} from 'ACTIONS_MODULE1'\nexport {switchPartyTools as '408b7585197882a44a3cc8c0b1c3280e3806171563'} from 'ACTIONS_MODULE1'\nexport {readMoreSignIns as '40a9ad5c4ced811b2e1b944591f45e2bdec3885949'} from 'ACTIONS_MODULE1'\nexport {retireParty as '60194c52a3feb09ed7ebbe91b39cb96893bd0878f5'} from 'ACTIONS_MODULE1'\nexport {changeParty as '60b4db8bf58321b318446fc15698734ca838a7906b'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60c6954ee32ef0da770b4a80d316382eb6c0a4c980'} from 'ACTIONS_MODULE1'\nexport {removeOwnSignIn as '60f6ca9b179e3a54d5ed0f11cdb52aaa1f537bc553'} from 'ACTIONS_MODULE1'\nexport {markA2aAgent as '60fc44c5251aea4e8cf6a11329208266754ef56a78'} from 'ACTIONS_MODULE1'\nexport {setPartyScopes as '4055624bd11ca2ade15b378b28829dee0ac23423c1'} from 'ACTIONS_MODULE1'\nexport {switchPartyTools as '408b7585197882a44a3cc8c0b1c3280e3806171563'} from 'ACTIONS_MODULE1'\nexport {readMoreSignIns as '40a9ad5c4ced811b2e1b944591f45e2bdec3885949'} from 'ACTIONS_MODULE1'\nexport {removePersonSignIn as '4004ce1d46e14c5c2150455347d2c7a8d5d86a444d'} from 'ACTIONS_MODULE1'\nexport {removeOwnSignIn as '60f6ca9b179e3a54d5ed0f11cdb52aaa1f537bc553'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60c6954ee32ef0da770b4a80d316382eb6c0a4c980'} from 'ACTIONS_MODULE1'\nexport {markA2aAgent as '60fc44c5251aea4e8cf6a11329208266754ef56a78'} from 'ACTIONS_MODULE1'\nexport {readSendTo as '4037a88f28c885946acaffd1cdfafe0cbe8f0da59d'} from 'ACTIONS_MODULE2'\nexport {sendShipMessage as '4046bfd2ba403a6ee3e6b63e6a1173263664f48c30'} from 'ACTIONS_MODULE2'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAgBA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/outside-parties/%5Bname%5D/retire/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {removePersonSignIn as '40094ca59cc39534e76a0c0ec939f97c2759b691cd'} from 'ACTIONS_MODULE1'\nexport {setPartyScopes as '401284c106092aed666ad781af234d01577ff2b95e'} from 'ACTIONS_MODULE1'\nexport {readMoreSignIns as '40453b580ccdd09578e88f323f0a6362beb9d7d45d'} from 'ACTIONS_MODULE1'\nexport {switchPartyTools as '40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe'} from 'ACTIONS_MODULE1'\nexport {retireParty as '6003bc5f4902d54aaef444fea5f529b972eef545a0'} from 'ACTIONS_MODULE1'\nexport {markA2aAgent as '604043d009b1b0f58f8fe209d3f0ea9e38582341c8'} from 'ACTIONS_MODULE1'\nexport {removeOwnSignIn as '604dd8193dbf8404c214de2b04259fef11650543b4'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60a17908e3b22eb1b4a494def6f12126d6cf55c66d'} from 'ACTIONS_MODULE1'\nexport {changeParty as '60be6ee725e4c56654f86de6240811a6b07eaf85ee'} from 'ACTIONS_MODULE1'\nexport {setPartyScopes as '401284c106092aed666ad781af234d01577ff2b95e'} from 'ACTIONS_MODULE1'\nexport {switchPartyTools as '40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe'} from 'ACTIONS_MODULE1'\nexport {readMoreSignIns as '40453b580ccdd09578e88f323f0a6362beb9d7d45d'} from 'ACTIONS_MODULE1'\nexport {removePersonSignIn as '40094ca59cc39534e76a0c0ec939f97c2759b691cd'} from 'ACTIONS_MODULE1'\nexport {removeOwnSignIn as '604dd8193dbf8404c214de2b04259fef11650543b4'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60a17908e3b22eb1b4a494def6f12126d6cf55c66d'} from 'ACTIONS_MODULE1'\nexport {markA2aAgent as '604043d009b1b0f58f8fe209d3f0ea9e38582341c8'} from 'ACTIONS_MODULE1'\nexport {readSendTo as '402178a50b87ba4c595a0dc3c15ba2600a42686bb3'} from 'ACTIONS_MODULE2'\nexport {sendShipMessage as '40c9b55161e222dbf6898829a3635ae686adcb3490'} from 'ACTIONS_MODULE2'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAgBA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[4793,a=>{"use strict";var b=a.i(70043),c=a.i(37936),d=a.i(29517);a.i(70396);var e=a.i(73727),f=a.i(55476),g=a.i(66283),h=a.i(81140),i=a.i(1324),j=a.i(29493),k=a.i(72913),l=a.i(13095);let m=new Set(["token","clientSecret"]);async function n(a,b){let c,l=(0,i.v)(b,i.H),n=Object.fromEntries(Object.entries((0,i.O)(b)).filter(([a])=>!m.has(a))),o=(0,d.f)("ship").safeParse((0,i.v)(b,"ownerShipId"));if(!o.success)return{kind:"refused",message:"Pick its owner",fields:n};let p=await (0,g.z)(l);try{c=(await p.parties.addA2aAgent.mutate({requestId:(0,i.v)(b,"requestId"),name:(0,i.v)(b,"name"),cardUrl:(0,i.v)(b,"cardUrl"),credential:(0,j.y)({credentialKind:(0,i.v)(b,"credentialKind"),token:(0,i.v)(b,"token"),clientId:(0,i.v)(b,"clientId"),clientSecret:(0,i.v)(b,"clientSecret"),issuer:(0,i.v)(b,"issuer"),scope:(0,i.v)(b,"scope")}),concurrencyLimit:Number((0,i.v)(b,"concurrencyLimit")),ownerShipId:o.data,scopes:(0,h.f)((0,i.O)(b))})).name}catch(a){return{kind:"refused",message:(0,g.s)(a),fields:n}}(0,e.redirect)((0,f.i)((0,k.N)(c),l))}(0,l.ensureServerEntryExports)([n]),(0,c.registerServerReference)(n,"60ec185d9b81499227897f0b4c95d8481dfbe731f2",null);var o=a.i(43889);a.s(["4037a88f28c885946acaffd1cdfafe0cbe8f0da59d",()=>o.e,"4046bfd2ba403a6ee3e6b63e6a1173263664f48c30",()=>o.u,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009",()=>b.f,"60ec185d9b81499227897f0b4c95d8481dfbe731f2",0,n],4793)}];
1
+ module.exports=[4793,a=>{"use strict";var b=a.i(70043),c=a.i(37936),d=a.i(29517);a.i(70396);var e=a.i(73727),f=a.i(55476),g=a.i(66283),h=a.i(81140),i=a.i(1324),j=a.i(29493),k=a.i(72913),l=a.i(13095);let m=new Set(["token","clientSecret"]);async function n(a,b){let c,l=(0,i.v)(b,i.H),n=Object.fromEntries(Object.entries((0,i.O)(b)).filter(([a])=>!m.has(a))),o=(0,d.f)("ship").safeParse((0,i.v)(b,"ownerShipId"));if(!o.success)return{kind:"refused",message:"Pick its owner",fields:n};let p=await (0,g.z)(l);try{c=(await p.parties.addA2aAgent.mutate({requestId:(0,i.v)(b,"requestId"),name:(0,i.v)(b,"name"),cardUrl:(0,i.v)(b,"cardUrl"),credential:(0,j.y)({credentialKind:(0,i.v)(b,"credentialKind"),token:(0,i.v)(b,"token"),clientId:(0,i.v)(b,"clientId"),clientSecret:(0,i.v)(b,"clientSecret"),issuer:(0,i.v)(b,"issuer"),scope:(0,i.v)(b,"scope")}),concurrencyLimit:Number((0,i.v)(b,"concurrencyLimit")),ownerShipId:o.data,scopes:(0,h.f)((0,i.O)(b))})).name}catch(a){return{kind:"refused",message:(0,g.s)(a),fields:n}}(0,e.redirect)((0,f.i)((0,k.N)(c),l))}(0,l.ensureServerEntryExports)([n]),(0,c.registerServerReference)(n,"60074486d4f18c52d136336e07c668ebf6015af834",null);var o=a.i(43889);a.s(["402178a50b87ba4c595a0dc3c15ba2600a42686bb3",()=>o.e,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be",()=>b.f,"40c9b55161e222dbf6898829a3635ae686adcb3490",()=>o.u,"60074486d4f18c52d136336e07c668ebf6015af834",0,n],4793)}];
2
2
 
3
3
  //# sourceMappingURL=0vkm_server_app_%28bridge%29_outside-parties_add-a2a-agent_page_actions_1w1q5eavo_loo.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/outside-parties/add-a2a-agent/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/add-a2a-agent/actions.ts"],"sourcesContent":["export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {addA2aAgent as '60ec185d9b81499227897f0b4c95d8481dfbe731f2'} from 'ACTIONS_MODULE1'\nexport {readSendTo as '4037a88f28c885946acaffd1cdfafe0cbe8f0da59d'} from 'ACTIONS_MODULE2'\nexport {sendShipMessage as '4046bfd2ba403a6ee3e6b63e6a1173263664f48c30'} from 'ACTIONS_MODULE2'\n","'use server';\n\n/**\n * Adding an outside A2A agent by its card address (slice 5), as the account\n * signed in: the API checks it holds gateway:approve and grants only scopes\n * it holds, and the gateway reads the card before it commissions anything.\n * Added, the page goes to the agent's own page.\n */\nimport { idSchema } from '@aeolus-fleet/common';\nimport { redirect } from 'next/navigation';\n\nimport { inFleet } from '../../lib/gateway-api/page-account';\nimport { refusalMessageOf, requestApi } from '../../lib/gateway-api/page-api';\nimport { tickedScopes } from '../add-a2a-client/ticked-scopes';\nimport { FLEET_FIELD, fieldOf, fieldsOf } from '../forms/form-state';\nimport { serverCredentialOf } from '../forms/server-credential';\nimport { partyPath } from '../outside-parties/paths';\n\n/** The fields that never travel back to the browser: the credential's secrets. */\nconst SECRET_FIELDS: ReadonlySet<string> = new Set(['token', 'clientSecret']);\n\n/** Where adding stands: not sent, or refused with why and what the browser sent, its secrets aside. */\nexport type AddA2aAgentState = { kind: 'idle' } | { kind: 'refused'; message: string; fields: Record<string, string> };\n\nexport async function addA2aAgent(_previous: AddA2aAgentState, form: FormData): Promise<AddA2aAgentState> {\n const fleetId = fieldOf(form, FLEET_FIELD);\n const fields = Object.fromEntries(Object.entries(fieldsOf(form)).filter(([field]) => !SECRET_FIELDS.has(field)));\n const ownerShipId = idSchema('ship').safeParse(fieldOf(form, 'ownerShipId'));\n if (!ownerShipId.success) {\n return { kind: 'refused', message: 'Pick its owner', fields };\n }\n const api = await requestApi(fleetId);\n let name: string;\n try {\n const added = await api.parties.addA2aAgent.mutate({\n requestId: fieldOf(form, 'requestId'),\n name: fieldOf(form, 'name'),\n cardUrl: fieldOf(form, 'cardUrl'),\n credential: serverCredentialOf({\n credentialKind: fieldOf(form, 'credentialKind'),\n token: fieldOf(form, 'token'),\n clientId: fieldOf(form, 'clientId'),\n clientSecret: fieldOf(form, 'clientSecret'),\n issuer: fieldOf(form, 'issuer'),\n scope: fieldOf(form, 'scope'),\n }),\n concurrencyLimit: Number(fieldOf(form, 'concurrencyLimit')),\n ownerShipId: ownerShipId.data,\n scopes: tickedScopes(fieldsOf(form)),\n });\n name = added.name;\n } catch (error) {\n return { kind: 'refused', message: refusalMessageOf(error), fields };\n }\n redirect(inFleet(partyPath(name), fleetId));\n}\n"],"names":["SECRET_FIELDS","Set","addA2aAgent","_previous","form","fleetId","fields","Object","fromEntries","entries","filter","field","has","ownerShipId","safeParse","success","kind","message","api","name","added","parties","mutate","requestId","cardUrl","credential","credentialKind","token","clientId","clientSecret","issuer","scope","concurrencyLimit","Number","data","scopes","error"],"mappings":"sCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,oBCQA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,CAAA,CAAA,OAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,oBAGA,IAAMA,EAAqC,IAAIC,IAAI,CAAC,QAAS,eAAe,EAKrE,eAAeC,EAAYC,CAA2B,CAAEC,CAAc,EAC3E,IAOIe,EAPEd,EAAU,CAAA,EAAA,EAAA,CAAA,AAAO,EAACD,EAAM,EAAA,CAAW,EACnCE,EAASC,OAAOC,WAAW,CAACD,OAAOE,OAAO,CAAC,CAAA,EAAA,EAAA,CAAA,AAAQ,EAACL,IAAOM,MAAM,CAAC,CAAC,CAACC,EAAM,GAAK,CAACX,EAAcY,GAAG,CAACD,KAClGE,EAAc,CAAA,EAAA,EAAA,CAAA,AAAQ,EAAC,QAAQC,SAAS,CAAC,CAAA,EAAA,EAAA,CAAA,AAAO,EAACV,EAAM,gBAC7D,GAAI,CAACS,EAAYE,OAAO,CACtB,CADwB,KACjB,CAAEC,KAAM,UAAWC,QAAS,iBAAkBX,QAAO,EAE9D,IAAMY,EAAM,MAAM,CAAA,EAAA,EAAA,CAAA,AAAU,EAACb,GAE7B,GAAI,CAiBFc,EAAOC,CAhBO,MAAMF,EAAIG,OAAO,CAACnB,WAAW,CAACoB,MAAM,CAAC,CACjDC,UAAW,CAAA,EAAA,EAAA,CAAA,AAAO,EAACnB,EAAM,aACzBe,KAAM,CAAA,EAAA,EAAA,CAAA,AAAO,EAACf,EAAM,QACpBoB,QAAS,CAAA,EAAA,EAAA,CAAA,AAAO,EAACpB,EAAM,WACvBqB,WAAY,CAAA,EAAA,EAAA,CAAA,AAAkB,EAAC,CAC7BC,eAAgB,CAAA,EAAA,EAAA,CAAA,AAAO,EAACtB,EAAM,kBAC9BuB,MAAO,CAAA,EAAA,EAAA,CAAA,AAAO,EAACvB,EAAM,SACrBwB,SAAU,CAAA,EAAA,EAAA,CAAA,AAAO,EAACxB,EAAM,YACxByB,aAAc,CAAA,EAAA,EAAA,CAAA,AAAO,EAACzB,EAAM,gBAC5B0B,OAAQ,CAAA,EAAA,EAAA,CAAA,AAAO,EAAC1B,EAAM,UACtB2B,MAAO,CAAA,EAAA,EAAA,CAAA,AAAO,EAAC3B,EAAM,QACvB,GACA4B,iBAAkBC,OAAO,CAAA,EAAA,EAAA,CAAA,AAAO,EAAC7B,EAAM,qBACvCS,YAAaA,EAAYqB,IAAI,CAC7BC,OAAQ,CAAA,EAAA,EAAA,CAAA,AAAY,EAAC,CAAA,EAAA,EAAA,CAAA,AAAQ,EAAC/B,GAChC,EAAA,EACae,IAAI,AACnB,CAAE,MAAOiB,EAAO,CACd,MAAO,CAAEpB,KAAM,UAAWC,QAAS,CAAA,EAAA,EAAA,CAAA,AAAgB,EAACmB,GAAQ9B,QAAO,CACrE,CACA,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,CAAA,EAAA,EAAA,CAAA,AAAO,EAAC,CAAA,EAAA,EAAA,CAAA,AAAS,EAACa,GAAOd,GACpC,iCA/BsBH,IAAAA,CAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,6CAAAA,MDtBtB,IAAA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/outside-parties/add-a2a-agent/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/add-a2a-agent/actions.ts"],"sourcesContent":["export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {addA2aAgent as '60074486d4f18c52d136336e07c668ebf6015af834'} from 'ACTIONS_MODULE1'\nexport {readSendTo as '402178a50b87ba4c595a0dc3c15ba2600a42686bb3'} from 'ACTIONS_MODULE2'\nexport {sendShipMessage as '40c9b55161e222dbf6898829a3635ae686adcb3490'} from 'ACTIONS_MODULE2'\n","'use server';\n\n/**\n * Adding an outside A2A agent by its card address (slice 5), as the account\n * signed in: the API checks it holds gateway:approve and grants only scopes\n * it holds, and the gateway reads the card before it commissions anything.\n * Added, the page goes to the agent's own page.\n */\nimport { idSchema } from '@aeolus-fleet/common';\nimport { redirect } from 'next/navigation';\n\nimport { inFleet } from '../../lib/gateway-api/page-account';\nimport { refusalMessageOf, requestApi } from '../../lib/gateway-api/page-api';\nimport { tickedScopes } from '../add-a2a-client/ticked-scopes';\nimport { FLEET_FIELD, fieldOf, fieldsOf } from '../forms/form-state';\nimport { serverCredentialOf } from '../forms/server-credential';\nimport { partyPath } from '../outside-parties/paths';\n\n/** The fields that never travel back to the browser: the credential's secrets. */\nconst SECRET_FIELDS: ReadonlySet<string> = new Set(['token', 'clientSecret']);\n\n/** Where adding stands: not sent, or refused with why and what the browser sent, its secrets aside. */\nexport type AddA2aAgentState = { kind: 'idle' } | { kind: 'refused'; message: string; fields: Record<string, string> };\n\nexport async function addA2aAgent(_previous: AddA2aAgentState, form: FormData): Promise<AddA2aAgentState> {\n const fleetId = fieldOf(form, FLEET_FIELD);\n const fields = Object.fromEntries(Object.entries(fieldsOf(form)).filter(([field]) => !SECRET_FIELDS.has(field)));\n const ownerShipId = idSchema('ship').safeParse(fieldOf(form, 'ownerShipId'));\n if (!ownerShipId.success) {\n return { kind: 'refused', message: 'Pick its owner', fields };\n }\n const api = await requestApi(fleetId);\n let name: string;\n try {\n const added = await api.parties.addA2aAgent.mutate({\n requestId: fieldOf(form, 'requestId'),\n name: fieldOf(form, 'name'),\n cardUrl: fieldOf(form, 'cardUrl'),\n credential: serverCredentialOf({\n credentialKind: fieldOf(form, 'credentialKind'),\n token: fieldOf(form, 'token'),\n clientId: fieldOf(form, 'clientId'),\n clientSecret: fieldOf(form, 'clientSecret'),\n issuer: fieldOf(form, 'issuer'),\n scope: fieldOf(form, 'scope'),\n }),\n concurrencyLimit: Number(fieldOf(form, 'concurrencyLimit')),\n ownerShipId: ownerShipId.data,\n scopes: tickedScopes(fieldsOf(form)),\n });\n name = added.name;\n } catch (error) {\n return { kind: 'refused', message: refusalMessageOf(error), fields };\n }\n redirect(inFleet(partyPath(name), fleetId));\n}\n"],"names":["SECRET_FIELDS","Set","addA2aAgent","_previous","form","fleetId","fields","Object","fromEntries","entries","filter","field","has","ownerShipId","safeParse","success","kind","message","api","name","added","parties","mutate","requestId","cardUrl","credential","credentialKind","token","clientId","clientSecret","issuer","scope","concurrencyLimit","Number","data","scopes","error"],"mappings":"sCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,oBCQA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,CAAA,CAAA,OAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,oBAGA,IAAMA,EAAqC,IAAIC,IAAI,CAAC,QAAS,eAAe,EAKrE,eAAeC,EAAYC,CAA2B,CAAEC,CAAc,EAC3E,IAOIe,EAPEd,EAAU,CAAA,EAAA,EAAA,CAAA,AAAO,EAACD,EAAM,EAAA,CAAW,EACnCE,EAASC,OAAOC,WAAW,CAACD,OAAOE,OAAO,CAAC,CAAA,EAAA,EAAA,CAAA,AAAQ,EAACL,IAAOM,MAAM,CAAC,CAAC,CAACC,EAAM,GAAK,CAACX,EAAcY,GAAG,CAACD,KAClGE,EAAc,CAAA,EAAA,EAAA,CAAA,AAAQ,EAAC,QAAQC,SAAS,CAAC,CAAA,EAAA,EAAA,CAAA,AAAO,EAACV,EAAM,gBAC7D,GAAI,CAACS,EAAYE,OAAO,CACtB,CADwB,KACjB,CAAEC,KAAM,UAAWC,QAAS,iBAAkBX,QAAO,EAE9D,IAAMY,EAAM,MAAM,CAAA,EAAA,EAAA,CAAA,AAAU,EAACb,GAE7B,GAAI,CAiBFc,EAAOC,CAhBO,MAAMF,EAAIG,OAAO,CAACnB,WAAW,CAACoB,MAAM,CAAC,CACjDC,UAAW,CAAA,EAAA,EAAA,CAAA,AAAO,EAACnB,EAAM,aACzBe,KAAM,CAAA,EAAA,EAAA,CAAA,AAAO,EAACf,EAAM,QACpBoB,QAAS,CAAA,EAAA,EAAA,CAAA,AAAO,EAACpB,EAAM,WACvBqB,WAAY,CAAA,EAAA,EAAA,CAAA,AAAkB,EAAC,CAC7BC,eAAgB,CAAA,EAAA,EAAA,CAAA,AAAO,EAACtB,EAAM,kBAC9BuB,MAAO,CAAA,EAAA,EAAA,CAAA,AAAO,EAACvB,EAAM,SACrBwB,SAAU,CAAA,EAAA,EAAA,CAAA,AAAO,EAACxB,EAAM,YACxByB,aAAc,CAAA,EAAA,EAAA,CAAA,AAAO,EAACzB,EAAM,gBAC5B0B,OAAQ,CAAA,EAAA,EAAA,CAAA,AAAO,EAAC1B,EAAM,UACtB2B,MAAO,CAAA,EAAA,EAAA,CAAA,AAAO,EAAC3B,EAAM,QACvB,GACA4B,iBAAkBC,OAAO,CAAA,EAAA,EAAA,CAAA,AAAO,EAAC7B,EAAM,qBACvCS,YAAaA,EAAYqB,IAAI,CAC7BC,OAAQ,CAAA,EAAA,EAAA,CAAA,AAAY,EAAC,CAAA,EAAA,EAAA,CAAA,AAAQ,EAAC/B,GAChC,EAAA,EACae,IAAI,AACnB,CAAE,MAAOiB,EAAO,CACd,MAAO,CAAEpB,KAAM,UAAWC,QAAS,CAAA,EAAA,EAAA,CAAA,AAAgB,EAACmB,GAAQ9B,QAAO,CACrE,CACA,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,CAAA,EAAA,EAAA,CAAA,AAAO,EAAC,CAAA,EAAA,EAAA,CAAA,AAAS,EAACa,GAAOd,GACpC,iCA/BsBH,IAAAA,CAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,6CAAAA,MDtBtB,IAAA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[58679,a=>{"use strict";var b=a.i(70043),c=a.i(37936),d=a.i(66680),e=a.i(29517);a.i(70396);var f=a.i(73727),g=a.i(55476),h=a.i(66283),i=a.i(1324),j=a.i(29493),k=a.i(72913);function l(a,b){return a.getAll(b).filter(a=>"string"==typeof a)}function m(a){return(0,j.G)({credentialKind:(0,i.v)(a,"credentialKind"),token:(0,i.v)(a,"token"),clientId:(0,i.v)(a,"clientId"),clientSecret:(0,i.v)(a,"clientSecret"),issuer:(0,i.v)(a,"issuer"),scope:(0,i.v)(a,"scope")})}async function n(a,b){let c=(0,i.O)(b),e=await (0,h.z)((0,i.v)(b,i.H)),f=m(b);try{let a=f.kind===j.m.kind?null:(await e.parties.check.mutate({url:(0,i.v)(b,"url"),credential:f})).tools,g=await e.parties.ownerChoices.query();return{step:"owner",fields:c,tools:a,owners:g,requestId:(0,d.randomUUID)()}}catch(a){return{step:"address",fields:c,refusal:(0,h.s)(a)}}}async function o(a,b){let c,d=(0,i.v)(b,i.H),n=(0,i.O)(b),o=(0,i.v)(b,"requestId"),p=(0,e.f)("ship").safeParse((0,i.v)(b,"ownerShipId").trim());if(!p.success)return{kind:"refused",requestId:o,fields:n,message:"The owner's ship id is not a ship id (shp_...)"};let q=await (0,h.z)(d),r=m(b);try{c=(await q.parties.approve.mutate({requestId:o,name:(0,i.v)(b,"name"),url:(0,i.v)(b,"url"),credential:r,ownerShipId:p.data,concurrencyLimit:Number((0,i.v)(b,"concurrencyLimit")),tools:function(a){let b=l(a,"toolShown");if(0===b.length)return;let c=new Set(l(a,"toolOn"));return b.map(a=>({name:a,isOn:c.has(a)}))}(b)})).name}catch(a){return{kind:"refused",requestId:o,fields:n,message:(0,h.s)(a)}}if(r.kind===j.m.kind)return{kind:"added",name:c};(0,f.redirect)((0,g.i)((0,k.N)(c),d))}(0,a.i(13095).ensureServerEntryExports)([n,o]),(0,c.registerServerReference)(n,"60b26b6f6b11e0f0a19478cb10891d159b3980fbf9",null),(0,c.registerServerReference)(o,"60b0d7b244056186717c74b1ae5d0d131820dc43f3",null);var p=a.i(43496),q=a.i(43889);a.s(["4004ce1d46e14c5c2150455347d2c7a8d5d86a444d",()=>p.M,"4037a88f28c885946acaffd1cdfafe0cbe8f0da59d",()=>q.e,"4046bfd2ba403a6ee3e6b63e6a1173263664f48c30",()=>q.u,"4055624bd11ca2ade15b378b28829dee0ac23423c1",()=>p.L,"408b7585197882a44a3cc8c0b1c3280e3806171563",()=>p.O,"40a9ad5c4ced811b2e1b944591f45e2bdec3885949",()=>p.p,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009",()=>b.f,"60b0d7b244056186717c74b1ae5d0d131820dc43f3",0,o,"60b26b6f6b11e0f0a19478cb10891d159b3980fbf9",0,n,"60c6954ee32ef0da770b4a80d316382eb6c0a4c980",()=>p.Q,"60f6ca9b179e3a54d5ed0f11cdb52aaa1f537bc553",()=>p.N,"60fc44c5251aea4e8cf6a11329208266754ef56a78",()=>p.o],58679)}];
1
+ module.exports=[58679,a=>{"use strict";var b=a.i(70043),c=a.i(37936),d=a.i(66680),e=a.i(29517);a.i(70396);var f=a.i(73727),g=a.i(55476),h=a.i(66283),i=a.i(1324),j=a.i(29493),k=a.i(72913);function l(a,b){return a.getAll(b).filter(a=>"string"==typeof a)}function m(a){return(0,j.G)({credentialKind:(0,i.v)(a,"credentialKind"),token:(0,i.v)(a,"token"),clientId:(0,i.v)(a,"clientId"),clientSecret:(0,i.v)(a,"clientSecret"),issuer:(0,i.v)(a,"issuer"),scope:(0,i.v)(a,"scope")})}async function n(a,b){let c=(0,i.O)(b),e=await (0,h.z)((0,i.v)(b,i.H)),f=m(b);try{let a=f.kind===j.m.kind?null:(await e.parties.check.mutate({url:(0,i.v)(b,"url"),credential:f})).tools,g=await e.parties.ownerChoices.query();return{step:"owner",fields:c,tools:a,owners:g,requestId:(0,d.randomUUID)()}}catch(a){return{step:"address",fields:c,refusal:(0,h.s)(a)}}}async function o(a,b){let c,d=(0,i.v)(b,i.H),n=(0,i.O)(b),o=(0,i.v)(b,"requestId"),p=(0,e.f)("ship").safeParse((0,i.v)(b,"ownerShipId").trim());if(!p.success)return{kind:"refused",requestId:o,fields:n,message:"The owner's ship id is not a ship id (shp_...)"};let q=await (0,h.z)(d),r=m(b);try{c=(await q.parties.approve.mutate({requestId:o,name:(0,i.v)(b,"name"),url:(0,i.v)(b,"url"),credential:r,ownerShipId:p.data,concurrencyLimit:Number((0,i.v)(b,"concurrencyLimit")),tools:function(a){let b=l(a,"toolShown");if(0===b.length)return;let c=new Set(l(a,"toolOn"));return b.map(a=>({name:a,isOn:c.has(a)}))}(b)})).name}catch(a){return{kind:"refused",requestId:o,fields:n,message:(0,h.s)(a)}}if(r.kind===j.m.kind)return{kind:"added",name:c};(0,f.redirect)((0,g.i)((0,k.N)(c),d))}(0,a.i(13095).ensureServerEntryExports)([n,o]),(0,c.registerServerReference)(n,"60863cecd00fe7ed6ccaaa0b57716b1b2a714cf179",null),(0,c.registerServerReference)(o,"60e472f6b698047c65a8be4cfe981e2eec45441a61",null);var p=a.i(43496),q=a.i(43889);a.s(["40094ca59cc39534e76a0c0ec939f97c2759b691cd",()=>p.M,"401284c106092aed666ad781af234d01577ff2b95e",()=>p.L,"402178a50b87ba4c595a0dc3c15ba2600a42686bb3",()=>q.e,"40453b580ccdd09578e88f323f0a6362beb9d7d45d",()=>p.p,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be",()=>b.f,"40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe",()=>p.O,"40c9b55161e222dbf6898829a3635ae686adcb3490",()=>q.u,"604043d009b1b0f58f8fe209d3f0ea9e38582341c8",()=>p.o,"604dd8193dbf8404c214de2b04259fef11650543b4",()=>p.N,"60863cecd00fe7ed6ccaaa0b57716b1b2a714cf179",0,n,"60a17908e3b22eb1b4a494def6f12126d6cf55c66d",()=>p.Q,"60e472f6b698047c65a8be4cfe981e2eec45441a61",0,o],58679)}];
2
2
 
3
3
  //# sourceMappingURL=0vkm_server_app_%28bridge%29_outside-parties_add_page_actions_0urcbg_r0lo7j.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/outside-parties/add/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/add-server/actions.ts","../../../../../web/features/add-server/tool-choice.ts"],"sourcesContent":["export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {approveServer as '60b0d7b244056186717c74b1ae5d0d131820dc43f3'} from 'ACTIONS_MODULE1'\nexport {checkServer as '60b26b6f6b11e0f0a19478cb10891d159b3980fbf9'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60c6954ee32ef0da770b4a80d316382eb6c0a4c980'} from 'ACTIONS_MODULE2'\nexport {setPartyScopes as '4055624bd11ca2ade15b378b28829dee0ac23423c1'} from 'ACTIONS_MODULE2'\nexport {switchPartyTools as '408b7585197882a44a3cc8c0b1c3280e3806171563'} from 'ACTIONS_MODULE2'\nexport {readMoreSignIns as '40a9ad5c4ced811b2e1b944591f45e2bdec3885949'} from 'ACTIONS_MODULE2'\nexport {removePersonSignIn as '4004ce1d46e14c5c2150455347d2c7a8d5d86a444d'} from 'ACTIONS_MODULE2'\nexport {removeOwnSignIn as '60f6ca9b179e3a54d5ed0f11cdb52aaa1f537bc553'} from 'ACTIONS_MODULE2'\nexport {markA2aAgent as '60fc44c5251aea4e8cf6a11329208266754ef56a78'} from 'ACTIONS_MODULE2'\nexport {readSendTo as '4037a88f28c885946acaffd1cdfafe0cbe8f0da59d'} from 'ACTIONS_MODULE3'\nexport {sendShipMessage as '4046bfd2ba403a6ee3e6b63e6a1173263664f48c30'} from 'ACTIONS_MODULE3'\n","'use server';\n\n/**\n * Adding an outside MCP server (design B, screen 7; flow F10), as the\n * account signed in: the gateway's check of the tools it answers with,\n * which keeps nothing, then approving it with its owner. A server where each\n * person signs in is not checked before: approving it checks its sign-in\n * (M1, decision 0067). Each step asks the API, which checks the account\n * holds fleet:manage.\n */\nimport { randomUUID } from 'node:crypto';\n\nimport { idSchema } from '@aeolus-fleet/common';\nimport { redirect } from 'next/navigation';\n\nimport { inFleet } from '../../lib/gateway-api/page-account';\nimport { refusalMessageOf, requestApi } from '../../lib/gateway-api/page-api';\nimport { FLEET_FIELD, fieldOf, fieldsOf } from '../forms/form-state';\nimport { addedServerCredentialOf, SIGN_IN_CREDENTIAL } from '../forms/server-credential';\nimport type { OwnerChoice } from '../forms/ui/owner-field';\nimport { partyPath } from '../outside-parties/paths';\nimport { toolChoiceOf } from './tool-choice';\n\n/** The tools a server answered the check with. */\nexport interface CheckedTool {\n name: string;\n description?: string | undefined;\n isReadOnly: boolean;\n}\n\n/**\n * Where adding a server stands: the address step, or the owner step after\n * the check answered its tools, with the ships its owner may be picked\n * from. A server where each person signs in has no tools before someone\n * signs in: null. The address and credential travel on in the fields, as\n * the browser sent them.\n */\nexport type AddServerState =\n | { step: 'address'; fields: Record<string, string>; refusal?: string }\n | { step: 'owner'; fields: Record<string, string>; tools: CheckedTool[] | null; owners: OwnerChoice[]; requestId: string };\n\nfunction credentialOf(form: FormData) {\n return addedServerCredentialOf({\n credentialKind: fieldOf(form, 'credentialKind'),\n token: fieldOf(form, 'token'),\n clientId: fieldOf(form, 'clientId'),\n clientSecret: fieldOf(form, 'clientSecret'),\n issuer: fieldOf(form, 'issuer'),\n scope: fieldOf(form, 'scope'),\n });\n}\n\nexport async function checkServer(_previous: AddServerState, form: FormData): Promise<AddServerState> {\n const fields = fieldsOf(form);\n const api = await requestApi(fieldOf(form, FLEET_FIELD));\n const credential = credentialOf(form);\n try {\n const tools = credential.kind === SIGN_IN_CREDENTIAL.kind ? null : (await api.parties.check.mutate({ url: fieldOf(form, 'url'), credential })).tools;\n const owners = await api.parties.ownerChoices.query();\n return { step: 'owner', fields, tools, owners, requestId: randomUUID() };\n } catch (error) {\n return { step: 'address', fields, refusal: refusalMessageOf(error) };\n }\n}\n\n/**\n * An approval refused, for the owner step of the check it came from, with\n * what the browser sent; or a server where each person signs in added, whose\n * approver signs in next (Q15). Any other server added goes to its page.\n */\nexport type ApproveState = { kind: 'idle' } | { kind: 'refused'; requestId: string; fields: Record<string, string>; message: string } | { kind: 'added'; name: string };\n\nexport async function approveServer(_previous: ApproveState, form: FormData): Promise<ApproveState> {\n const fleetId = fieldOf(form, FLEET_FIELD);\n const fields = fieldsOf(form);\n const requestId = fieldOf(form, 'requestId');\n const ownerShipId = idSchema('ship').safeParse(fieldOf(form, 'ownerShipId').trim());\n if (!ownerShipId.success) {\n return { kind: 'refused', requestId, fields, message: \"The owner's ship id is not a ship id (shp_...)\" };\n }\n const api = await requestApi(fleetId);\n const credential = credentialOf(form);\n let name: string;\n try {\n const approved = await api.parties.approve.mutate({\n requestId,\n name: fieldOf(form, 'name'),\n url: fieldOf(form, 'url'),\n credential,\n ownerShipId: ownerShipId.data,\n concurrencyLimit: Number(fieldOf(form, 'concurrencyLimit')),\n tools: toolChoiceOf(form),\n });\n name = approved.name;\n } catch (error) {\n return { kind: 'refused', requestId, fields, message: refusalMessageOf(error) };\n }\n if (credential.kind === SIGN_IN_CREDENTIAL.kind) {\n return { kind: 'added', name };\n }\n redirect(inFleet(partyPath(name), fleetId));\n}\n","/**\n * The tools an approver switched when adding a server (aeolus-fleet#1151):\n * each tool the check answered is sent as shown, and the ticked ones as on.\n */\n\n/** The field naming each tool whose switch the form showed. */\nexport const TOOL_SHOWN_FIELD = 'toolShown';\n\n/** The field naming each tool ticked on. */\nexport const TOOL_ON_FIELD = 'toolOn';\n\nfunction namesIn(form: FormData, field: string): string[] {\n return form.getAll(field).filter((value) => typeof value === 'string');\n}\n\n/** Each tool shown, on or off; none when the form showed no switch, so the server keeps every tool on. */\nexport function toolChoiceOf(form: FormData): { name: string; isOn: boolean }[] | undefined {\n const shown = namesIn(form, TOOL_SHOWN_FIELD);\n if (shown.length === 0) {\n return undefined;\n }\n const on = new Set(namesIn(form, TOOL_ON_FIELD));\n return shown.map((name) => ({ name, isOn: on.has(name) }));\n}\n\n/** A description's first line with words, as a tool's row shows it before it is opened. */\nexport function firstLineOf(description: string): string {\n return description.split('\\n').map((line) => line.trim()).find((line) => line !== '') ?? '';\n}\n"],"names":["TOOL_SHOWN_FIELD","TOOL_ON_FIELD","namesIn","form","field","getAll","filter","value","toolChoiceOf","shown","length","undefined","on","Set","map","name","isOn","has","firstLineOf","description","split","line","trim","find"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/outside-parties/add/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/add-server/actions.ts","../../../../../web/features/add-server/tool-choice.ts"],"sourcesContent":["export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {approveServer as '60e472f6b698047c65a8be4cfe981e2eec45441a61'} from 'ACTIONS_MODULE1'\nexport {checkServer as '60863cecd00fe7ed6ccaaa0b57716b1b2a714cf179'} from 'ACTIONS_MODULE1'\nexport {signInToParty as '60a17908e3b22eb1b4a494def6f12126d6cf55c66d'} from 'ACTIONS_MODULE2'\nexport {setPartyScopes as '401284c106092aed666ad781af234d01577ff2b95e'} from 'ACTIONS_MODULE2'\nexport {switchPartyTools as '40c18db91023b8f8bfeedd193b1b60a0bdaa9f8dbe'} from 'ACTIONS_MODULE2'\nexport {readMoreSignIns as '40453b580ccdd09578e88f323f0a6362beb9d7d45d'} from 'ACTIONS_MODULE2'\nexport {removePersonSignIn as '40094ca59cc39534e76a0c0ec939f97c2759b691cd'} from 'ACTIONS_MODULE2'\nexport {removeOwnSignIn as '604dd8193dbf8404c214de2b04259fef11650543b4'} from 'ACTIONS_MODULE2'\nexport {markA2aAgent as '604043d009b1b0f58f8fe209d3f0ea9e38582341c8'} from 'ACTIONS_MODULE2'\nexport {readSendTo as '402178a50b87ba4c595a0dc3c15ba2600a42686bb3'} from 'ACTIONS_MODULE3'\nexport {sendShipMessage as '40c9b55161e222dbf6898829a3635ae686adcb3490'} from 'ACTIONS_MODULE3'\n","'use server';\n\n/**\n * Adding an outside MCP server (design B, screen 7; flow F10), as the\n * account signed in: the gateway's check of the tools it answers with,\n * which keeps nothing, then approving it with its owner. A server where each\n * person signs in is not checked before: approving it checks its sign-in\n * (M1, decision 0067). Each step asks the API, which checks the account\n * holds fleet:manage.\n */\nimport { randomUUID } from 'node:crypto';\n\nimport { idSchema } from '@aeolus-fleet/common';\nimport { redirect } from 'next/navigation';\n\nimport { inFleet } from '../../lib/gateway-api/page-account';\nimport { refusalMessageOf, requestApi } from '../../lib/gateway-api/page-api';\nimport { FLEET_FIELD, fieldOf, fieldsOf } from '../forms/form-state';\nimport { addedServerCredentialOf, SIGN_IN_CREDENTIAL } from '../forms/server-credential';\nimport type { OwnerChoice } from '../forms/ui/owner-field';\nimport { partyPath } from '../outside-parties/paths';\nimport { toolChoiceOf } from './tool-choice';\n\n/** The tools a server answered the check with. */\nexport interface CheckedTool {\n name: string;\n description?: string | undefined;\n isReadOnly: boolean;\n}\n\n/**\n * Where adding a server stands: the address step, or the owner step after\n * the check answered its tools, with the ships its owner may be picked\n * from. A server where each person signs in has no tools before someone\n * signs in: null. The address and credential travel on in the fields, as\n * the browser sent them.\n */\nexport type AddServerState =\n | { step: 'address'; fields: Record<string, string>; refusal?: string }\n | { step: 'owner'; fields: Record<string, string>; tools: CheckedTool[] | null; owners: OwnerChoice[]; requestId: string };\n\nfunction credentialOf(form: FormData) {\n return addedServerCredentialOf({\n credentialKind: fieldOf(form, 'credentialKind'),\n token: fieldOf(form, 'token'),\n clientId: fieldOf(form, 'clientId'),\n clientSecret: fieldOf(form, 'clientSecret'),\n issuer: fieldOf(form, 'issuer'),\n scope: fieldOf(form, 'scope'),\n });\n}\n\nexport async function checkServer(_previous: AddServerState, form: FormData): Promise<AddServerState> {\n const fields = fieldsOf(form);\n const api = await requestApi(fieldOf(form, FLEET_FIELD));\n const credential = credentialOf(form);\n try {\n const tools = credential.kind === SIGN_IN_CREDENTIAL.kind ? null : (await api.parties.check.mutate({ url: fieldOf(form, 'url'), credential })).tools;\n const owners = await api.parties.ownerChoices.query();\n return { step: 'owner', fields, tools, owners, requestId: randomUUID() };\n } catch (error) {\n return { step: 'address', fields, refusal: refusalMessageOf(error) };\n }\n}\n\n/**\n * An approval refused, for the owner step of the check it came from, with\n * what the browser sent; or a server where each person signs in added, whose\n * approver signs in next (Q15). Any other server added goes to its page.\n */\nexport type ApproveState = { kind: 'idle' } | { kind: 'refused'; requestId: string; fields: Record<string, string>; message: string } | { kind: 'added'; name: string };\n\nexport async function approveServer(_previous: ApproveState, form: FormData): Promise<ApproveState> {\n const fleetId = fieldOf(form, FLEET_FIELD);\n const fields = fieldsOf(form);\n const requestId = fieldOf(form, 'requestId');\n const ownerShipId = idSchema('ship').safeParse(fieldOf(form, 'ownerShipId').trim());\n if (!ownerShipId.success) {\n return { kind: 'refused', requestId, fields, message: \"The owner's ship id is not a ship id (shp_...)\" };\n }\n const api = await requestApi(fleetId);\n const credential = credentialOf(form);\n let name: string;\n try {\n const approved = await api.parties.approve.mutate({\n requestId,\n name: fieldOf(form, 'name'),\n url: fieldOf(form, 'url'),\n credential,\n ownerShipId: ownerShipId.data,\n concurrencyLimit: Number(fieldOf(form, 'concurrencyLimit')),\n tools: toolChoiceOf(form),\n });\n name = approved.name;\n } catch (error) {\n return { kind: 'refused', requestId, fields, message: refusalMessageOf(error) };\n }\n if (credential.kind === SIGN_IN_CREDENTIAL.kind) {\n return { kind: 'added', name };\n }\n redirect(inFleet(partyPath(name), fleetId));\n}\n","/**\n * The tools an approver switched when adding a server (aeolus-fleet#1151):\n * each tool the check answered is sent as shown, and the ticked ones as on.\n */\n\n/** The field naming each tool whose switch the form showed. */\nexport const TOOL_SHOWN_FIELD = 'toolShown';\n\n/** The field naming each tool ticked on. */\nexport const TOOL_ON_FIELD = 'toolOn';\n\nfunction namesIn(form: FormData, field: string): string[] {\n return form.getAll(field).filter((value) => typeof value === 'string');\n}\n\n/** Each tool shown, on or off; none when the form showed no switch, so the server keeps every tool on. */\nexport function toolChoiceOf(form: FormData): { name: string; isOn: boolean }[] | undefined {\n const shown = namesIn(form, TOOL_SHOWN_FIELD);\n if (shown.length === 0) {\n return undefined;\n }\n const on = new Set(namesIn(form, TOOL_ON_FIELD));\n return shown.map((name) => ({ name, isOn: on.has(name) }));\n}\n\n/** A description's first line with words, as a tool's row shows it before it is opened. */\nexport function firstLineOf(description: string): string {\n return description.split('\\n').map((line) => line.trim()).find((line) => line !== '') ?? '';\n}\n"],"names":["TOOL_SHOWN_FIELD","TOOL_ON_FIELD","namesIn","form","field","getAll","filter","value","toolChoiceOf","shown","length","undefined","on","Set","map","name","isOn","has","firstLineOf","description","split","line","trim","find"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  module.exports=[[13095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},94705,a=>{a.s(["_",0,["messages:send","messages:receive"],"T",0,function(a,b){switch(a.state){case"pending":let c;return(c=Math.ceil((Date.parse(a.expiresAt)-b.getTime())/864e5))<=1?{tone:"attention",label:"Last day"}:{tone:"waiting",label:`${String(c)} d left`};case"approving":return{tone:"active",label:"Approving"};case"approved":return{tone:"ok",label:"Approved"};case"denied":return{tone:"ended",label:"Denied"};case"expired":return{tone:"ended",label:"Expired"}}},"E",0,function(a){switch(a.subject.kind){case"client":return"MCP client";case"server":return"MCP server"}},"M",0,function(a){switch(a.subject.kind){case"client":return a.subject.clientName;case"server":return URL.canParse(a.subject.url)?new URL(a.subject.url).host:a.subject.url}}])},29493,a=>{let b=[{kind:"none",label:"No credential"},{kind:"bearer",label:"Bearer token"},{kind:"clientCredentials",label:"OAuth client credentials"}],c={kind:"personSignIn",label:"Each person signs in"},d=[...b,c];function e(a){var c;let d=(c=a.credentialKind,b.find(({kind:a})=>a===c)?.kind??"bearer");switch(d){case"none":return{kind:d};case"bearer":return{kind:d,token:a.token};case"clientCredentials":return{kind:d,clientId:a.clientId,clientSecret:a.clientSecret,issuer:a.issuer,...""===a.scope?{}:{scope:a.scope}}}}a.s(["a",0,d,"x",0,b,"m",0,c,"G",0,function(a){var b;return(b=a.credentialKind,(d.find(({kind:a})=>a===b)?.kind??"bearer")===c.kind)?{kind:c.kind}:e(a)},"y",0,e])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},94705,a=>{a.s(["_",0,["messages:send","messages:receive"],"T",0,function(a,b){switch(a.state){case"pending":let c;return(c=Math.ceil((Date.parse(a.expiresAt)-b.getTime())/864e5))<=1?{tone:"attention",label:"Last day"}:{tone:"waiting",label:`${String(c)} d left`};case"approving":return{tone:"active",label:"Approving"};case"approved":return{tone:"ok",label:"Approved"};case"denied":return{tone:"ended",label:"Denied"};case"expired":return{tone:"ended",label:"Expired"}}},"E",0,function(a){switch(a.subject.kind){case"client":return"MCP client";case"server":return"MCP server"}},"M",0,function(a){switch(a.subject.kind){case"client":return a.subject.clientName;case"server":return URL.canParse(a.subject.url)?new URL(a.subject.url).host:a.subject.url}}])},29493,a=>{let b=[{kind:"none",label:"No credential"},{kind:"bearer",label:"Bearer token"},{kind:"clientCredentials",label:"OAuth client credentials"}],c={kind:"personSignIn",label:"Each person signs in"},d=[...b,c];function e(a){var c;let d=(c=a.credentialKind,b.find(({kind:a})=>a===c)?.kind??"bearer");switch(d){case"none":return{kind:d};case"bearer":return{kind:d,token:a.token};case"clientCredentials":return{kind:d,clientId:a.clientId,clientSecret:a.clientSecret,issuer:a.issuer,...""===a.scope?{}:{scope:a.scope}}}}a.s(["a",0,d,"x",0,b,"m",0,c,"G",0,function(a){var b;return(b=a.credentialKind,(d.find(({kind:a})=>a===b)?.kind??"bearer")===c.kind)?{kind:c.kind}:e(a)},"y",0,e])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__0ipo8r1s1ntds._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[[13095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},97295,a=>{var b=a.i(70043),c=a.i(434);a.S([b,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009,f",0,c,"600675ca8896a56f02cd4dcb8176a9ec373315ba97,K,6011da3b2e4cdd3c29740af7d05628bf2889f24a62,N,60569783d111fa326962fdb6f126c8e88fa8cea357,M,605c5373a097bfe79b16d8cdd7d5adbdffa9100f32,d,6060488714c5097943c526002121fb8c046776b6bb,c"],97295)},1324,a=>{a.s(["H",0,"fleet","v",0,function(a,b){let c=a.get(b);return"string"==typeof c?c:""},"O",0,function(a){return Object.fromEntries([...a.entries()].flatMap(([a,b])=>"string"==typeof b?[[a,b]]:[]))}])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},97295,a=>{var b=a.i(70043),c=a.i(434);a.S([b,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be,f",0,c,"60193849d75d68c4eebfcc031f47505e0872597228,c,605f767dc338f214376a3487166bd7750ea02aae7b,M,607190a9647c4da3ed3070220fc5d167d3a218f5ef,K,60f52e5cb4fb33a5d7957558bf5378b92c175cf4af,d,60ff95b485a7e78a160dda50844dce06ca5ee8ad5c,N"],97295)},1324,a=>{a.s(["H",0,"fleet","v",0,function(a,b){let c=a.get(b);return"string"==typeof c?c:""},"O",0,function(a){return Object.fromEntries([...a.entries()].flatMap(([a,b])=>"string"==typeof b?[[a,b]]:[]))}])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__0ovcg5tg3nh49._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../web/.next-internal/server/app/%28console%29/slack/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/forms/form-state.ts","../../../../../web/features/frame/actions.ts"],"sourcesContent":["// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {exposeShip as '600675ca8896a56f02cd4dcb8176a9ec373315ba97'} from 'ACTIONS_MODULE1'\nexport {connectSlack as '6011da3b2e4cdd3c29740af7d05628bf2889f24a62'} from 'ACTIONS_MODULE1'\nexport {installBot as '60569783d111fa326962fdb6f126c8e88fa8cea357'} from 'ACTIONS_MODULE1'\nexport {removeBot as '605c5373a097bfe79b16d8cdd7d5adbdffa9100f32'} from 'ACTIONS_MODULE1'\nexport {disconnectSlack as '6060488714c5097943c526002121fb8c046776b6bb'} from 'ACTIONS_MODULE1'\n","/**\n * What a page's form (a server action) answers the browser: nothing yet,\n * done with what changed, or refused with why, as the API said it. The\n * open network's warning asks for a confirm (interop I-3).\n */\nexport type FormState =\n | { kind: 'idle' }\n | { kind: 'done'; message: string }\n | { kind: 'refused'; message: string }\n | { kind: 'openNetwork'; message: string };\n\nexport const IDLE: FormState = { kind: 'idle' };\n\n/** A form's text field, empty when it was not sent. */\nexport function fieldOf(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\n/** The form's fields as text, files left out. */\nexport function fieldsOf(form: FormData): Record<string, string> {\n return Object.fromEntries([...form.entries()].flatMap(([name, value]) => (typeof value === 'string' ? [[name, value]] : [])));\n}\n\n/** The fleet a page's form names: the page's own, sent in a hidden field. */\nexport const FLEET_FIELD = 'fleet';\n","'use server';\n\n/** The header's theme choice, kept for this browser for a year. */\nimport { cookies } from 'next/headers';\n\nimport { isTheme, THEME_COOKIE } from './theme';\n\nconst YEAR_SECONDS = 365 * 24 * 60 * 60;\n\nexport async function setTheme(theme: unknown): Promise<void> {\n if (!isTheme(theme)) {\n return;\n }\n (await cookies()).set(THEME_COOKIE, theme, { path: '/', sameSite: 'lax', maxAge: YEAR_SECONDS });\n}\n"],"names":["ensureServerEntryExports","actions","i","length","action","Error","registerServerReference","IDLE","kind","fieldOf","form","name","value","get","fieldsOf","Object","fromEntries","entries","flatMap","FLEET_FIELD","YEAR_SECONDS","setTheme","theme","set","path","sameSite","maxAge"],"mappings":"iCAGO,SAASA,EAAyBC,CAAc,EACrD,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQE,MAAM,CAAED,IAAK,CACvC,IAAME,EAASH,CAAO,CAACC,EAAE,CACzB,GAAsB,YAAlB,AAA8B,OAAvBE,EACT,MAAM,AAAIC,MACR,CAAC,2DAA2D,EAAE,OAAOD,EAAO;AAAA,oEAAuE,CAAC,CAG1J,CACF,0EATgBJ,2BAAAA,qCAAAA,sBCHoC,OAAA,cAAA,CAAA,EAAA,aAAA,oCAC3CM,0BAAAA,qCAAAA,EAAAA,uBAAuB,YAAQ,CAAA,CAAA,IAAA,cCDxC,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,+TCwB2B,cAXpB,SAASG,AAAQC,CAAc,CAAEC,CAAY,EAClD,IAAMC,EAAQF,EAAKG,GAAG,CAACF,GACvB,MAAwB,UAAjB,OAAOC,EAAqBA,EAAQ,EAC7C,QAGO,SAASE,AAASJ,CAAc,EACrC,OAAOK,OAAOC,WAAW,CAAC,IAAIN,EAAKO,OAAO,GAAG,CAACC,OAAO,CAAC,CAAC,CAACP,EAAMC,EAAM,GAAuB,UAAjB,OAAOA,EAAqB,CAAC,CAACD,EAAMC,EAAM,CAAC,CAAG,EAAE,EAC5H,gCCnBA,EAAA,EAAA,CAAA,CAAA,MAEA,EAAA,EAAA,CAAA,CAAA,OAIO,eAAeS,EAASC,CAAc,EACtC,CAAA,EAAA,EAAA,CAAA,AAAO,EAACA,IAGb,CAAC,GAHoB,GAGd,CAAA,EAAA,EAAA,OAAA,AAAO,GAAA,CAAE,CAAEC,GAAG,CAAC,EAAA,CAAY,CAAED,EAAO,CAAEE,KAAM,IAAKC,SAAU,MAAOC,OANtD,CAM8DN,KANxD,CAMqE,EAChG,EAPgC,KAAK,mCAEfC,IAAAA,CAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,6CAAAA","ignoreList":[0,1]}
1
+ {"version":3,"sources":["../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../web/.next-internal/server/app/%28console%29/slack/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/forms/form-state.ts","../../../../../web/features/frame/actions.ts"],"sourcesContent":["// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {disconnectSlack as '60193849d75d68c4eebfcc031f47505e0872597228'} from 'ACTIONS_MODULE1'\nexport {installBot as '605f767dc338f214376a3487166bd7750ea02aae7b'} from 'ACTIONS_MODULE1'\nexport {exposeShip as '607190a9647c4da3ed3070220fc5d167d3a218f5ef'} from 'ACTIONS_MODULE1'\nexport {removeBot as '60f52e5cb4fb33a5d7957558bf5378b92c175cf4af'} from 'ACTIONS_MODULE1'\nexport {connectSlack as '60ff95b485a7e78a160dda50844dce06ca5ee8ad5c'} from 'ACTIONS_MODULE1'\n","/**\n * What a page's form (a server action) answers the browser: nothing yet,\n * done with what changed, or refused with why, as the API said it. The\n * open network's warning asks for a confirm (interop I-3).\n */\nexport type FormState =\n | { kind: 'idle' }\n | { kind: 'done'; message: string }\n | { kind: 'refused'; message: string }\n | { kind: 'openNetwork'; message: string };\n\nexport const IDLE: FormState = { kind: 'idle' };\n\n/** A form's text field, empty when it was not sent. */\nexport function fieldOf(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\n/** The form's fields as text, files left out. */\nexport function fieldsOf(form: FormData): Record<string, string> {\n return Object.fromEntries([...form.entries()].flatMap(([name, value]) => (typeof value === 'string' ? [[name, value]] : [])));\n}\n\n/** The fleet a page's form names: the page's own, sent in a hidden field. */\nexport const FLEET_FIELD = 'fleet';\n","'use server';\n\n/** The header's theme choice, kept for this browser for a year. */\nimport { cookies } from 'next/headers';\n\nimport { isTheme, THEME_COOKIE } from './theme';\n\nconst YEAR_SECONDS = 365 * 24 * 60 * 60;\n\nexport async function setTheme(theme: unknown): Promise<void> {\n if (!isTheme(theme)) {\n return;\n }\n (await cookies()).set(THEME_COOKIE, theme, { path: '/', sameSite: 'lax', maxAge: YEAR_SECONDS });\n}\n"],"names":["ensureServerEntryExports","actions","i","length","action","Error","registerServerReference","IDLE","kind","fieldOf","form","name","value","get","fieldsOf","Object","fromEntries","entries","flatMap","FLEET_FIELD","YEAR_SECONDS","setTheme","theme","set","path","sameSite","maxAge"],"mappings":"iCAGO,SAASA,EAAyBC,CAAc,EACrD,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQE,MAAM,CAAED,IAAK,CACvC,IAAME,EAASH,CAAO,CAACC,EAAE,CACzB,GAAsB,YAAlB,AAA8B,OAAvBE,EACT,MAAM,AAAIC,MACR,CAAC,2DAA2D,EAAE,OAAOD,EAAO;AAAA,oEAAuE,CAAC,CAG1J,CACF,0EATgBJ,2BAAAA,qCAAAA,sBCHoC,OAAA,cAAA,CAAA,EAAA,aAAA,oCAC3CM,0BAAAA,qCAAAA,EAAAA,uBAAuB,YAAQ,CAAA,CAAA,IAAA,cCDxC,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,+TCwB2B,cAXpB,SAASG,AAAQC,CAAc,CAAEC,CAAY,EAClD,IAAMC,EAAQF,EAAKG,GAAG,CAACF,GACvB,MAAwB,UAAjB,OAAOC,EAAqBA,EAAQ,EAC7C,QAGO,SAASE,AAASJ,CAAc,EACrC,OAAOK,OAAOC,WAAW,CAAC,IAAIN,EAAKO,OAAO,GAAG,CAACC,OAAO,CAAC,CAAC,CAACP,EAAMC,EAAM,GAAuB,UAAjB,OAAOA,EAAqB,CAAC,CAACD,EAAMC,EAAM,CAAC,CAAG,EAAE,EAC5H,gCCnBA,EAAA,EAAA,CAAA,CAAA,MAEA,EAAA,EAAA,CAAA,CAAA,OAIO,eAAeS,EAASC,CAAc,EACtC,CAAA,EAAA,EAAA,CAAA,AAAO,EAACA,IAGb,CAAC,GAHoB,GAGd,CAAA,EAAA,EAAA,OAAA,AAAO,GAAA,CAAE,CAAEC,GAAG,CAAC,EAAA,CAAY,CAAED,EAAO,CAAEE,KAAM,IAAKC,SAAU,MAAOC,OANtD,CAM8DN,KANxD,CAMqE,EAChG,EAPgC,KAAK,mCAEfC,IAAAA,CAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,6CAAAA","ignoreList":[0,1]}
@@ -1,4 +1,4 @@
1
1
  module.exports=[[13095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},90096,a=>{var b=a.i(70043),c=a.i(434);a.S([b,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009,f",0,c,"600675ca8896a56f02cd4dcb8176a9ec373315ba97,K,6011da3b2e4cdd3c29740af7d05628bf2889f24a62,N,60569783d111fa326962fdb6f126c8e88fa8cea357,M,605c5373a097bfe79b16d8cdd7d5adbdffa9100f32,d,6060488714c5097943c526002121fb8c046776b6bb,c"],90096)},1324,a=>{a.s(["H",0,"fleet","v",0,function(a,b){let c=a.get(b);return"string"==typeof c?c:""},"O",0,function(a){return Object.fromEntries([...a.entries()].flatMap(([a,b])=>"string"==typeof b?[[a,b]]:[]))}])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},90096,a=>{var b=a.i(70043),c=a.i(434);a.S([b,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be,f",0,c,"60193849d75d68c4eebfcc031f47505e0872597228,c,605f767dc338f214376a3487166bd7750ea02aae7b,M,607190a9647c4da3ed3070220fc5d167d3a218f5ef,K,60f52e5cb4fb33a5d7957558bf5378b92c175cf4af,d,60ff95b485a7e78a160dda50844dce06ca5ee8ad5c,N"],90096)},1324,a=>{a.s(["H",0,"fleet","v",0,function(a,b){let c=a.get(b);return"string"==typeof c?c:""},"O",0,function(a){return Object.fromEntries([...a.entries()].flatMap(([a,b])=>"string"==typeof b?[[a,b]]:[]))}])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__0ro-majrw7piv._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../web/.next-internal/server/app/%28console%29/slack/disconnect/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/forms/form-state.ts","../../../../../web/features/frame/actions.ts"],"sourcesContent":["// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {exposeShip as '600675ca8896a56f02cd4dcb8176a9ec373315ba97'} from 'ACTIONS_MODULE1'\nexport {connectSlack as '6011da3b2e4cdd3c29740af7d05628bf2889f24a62'} from 'ACTIONS_MODULE1'\nexport {installBot as '60569783d111fa326962fdb6f126c8e88fa8cea357'} from 'ACTIONS_MODULE1'\nexport {removeBot as '605c5373a097bfe79b16d8cdd7d5adbdffa9100f32'} from 'ACTIONS_MODULE1'\nexport {disconnectSlack as '6060488714c5097943c526002121fb8c046776b6bb'} from 'ACTIONS_MODULE1'\n","/**\n * What a page's form (a server action) answers the browser: nothing yet,\n * done with what changed, or refused with why, as the API said it. The\n * open network's warning asks for a confirm (interop I-3).\n */\nexport type FormState =\n | { kind: 'idle' }\n | { kind: 'done'; message: string }\n | { kind: 'refused'; message: string }\n | { kind: 'openNetwork'; message: string };\n\nexport const IDLE: FormState = { kind: 'idle' };\n\n/** A form's text field, empty when it was not sent. */\nexport function fieldOf(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\n/** The form's fields as text, files left out. */\nexport function fieldsOf(form: FormData): Record<string, string> {\n return Object.fromEntries([...form.entries()].flatMap(([name, value]) => (typeof value === 'string' ? [[name, value]] : [])));\n}\n\n/** The fleet a page's form names: the page's own, sent in a hidden field. */\nexport const FLEET_FIELD = 'fleet';\n","'use server';\n\n/** The header's theme choice, kept for this browser for a year. */\nimport { cookies } from 'next/headers';\n\nimport { isTheme, THEME_COOKIE } from './theme';\n\nconst YEAR_SECONDS = 365 * 24 * 60 * 60;\n\nexport async function setTheme(theme: unknown): Promise<void> {\n if (!isTheme(theme)) {\n return;\n }\n (await cookies()).set(THEME_COOKIE, theme, { path: '/', sameSite: 'lax', maxAge: YEAR_SECONDS });\n}\n"],"names":["ensureServerEntryExports","actions","i","length","action","Error","registerServerReference","IDLE","kind","fieldOf","form","name","value","get","fieldsOf","Object","fromEntries","entries","flatMap","FLEET_FIELD","YEAR_SECONDS","setTheme","theme","set","path","sameSite","maxAge"],"mappings":"iCAGO,SAASA,EAAyBC,CAAc,EACrD,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQE,MAAM,CAAED,IAAK,CACvC,IAAME,EAASH,CAAO,CAACC,EAAE,CACzB,GAAsB,YAAlB,AAA8B,OAAvBE,EACT,MAAM,AAAIC,MACR,CAAC,2DAA2D,EAAE,OAAOD,EAAO;AAAA,oEAAuE,CAAC,CAG1J,CACF,0EATgBJ,2BAAAA,qCAAAA,sBCHoC,OAAA,cAAA,CAAA,EAAA,aAAA,oCAC3CM,0BAAAA,qCAAAA,EAAAA,uBAAuB,YAAQ,CAAA,CAAA,IAAA,cCDxC,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,+TCwB2B,cAXpB,SAASG,AAAQC,CAAc,CAAEC,CAAY,EAClD,IAAMC,EAAQF,EAAKG,GAAG,CAACF,GACvB,MAAwB,UAAjB,OAAOC,EAAqBA,EAAQ,EAC7C,QAGO,SAASE,AAASJ,CAAc,EACrC,OAAOK,OAAOC,WAAW,CAAC,IAAIN,EAAKO,OAAO,GAAG,CAACC,OAAO,CAAC,CAAC,CAACP,EAAMC,EAAM,GAAuB,UAAjB,OAAOA,EAAqB,CAAC,CAACD,EAAMC,EAAM,CAAC,CAAG,EAAE,EAC5H,gCCnBA,EAAA,EAAA,CAAA,CAAA,MAEA,EAAA,EAAA,CAAA,CAAA,OAIO,eAAeS,EAASC,CAAc,EACtC,CAAA,EAAA,EAAA,CAAA,AAAO,EAACA,IAGb,CAAC,GAHoB,GAGd,CAAA,EAAA,EAAA,OAAA,AAAO,GAAA,CAAE,CAAEC,GAAG,CAAC,EAAA,CAAY,CAAED,EAAO,CAAEE,KAAM,IAAKC,SAAU,MAAOC,OANtD,CAM8DN,KANxD,CAMqE,EAChG,EAPgC,KAAK,mCAEfC,IAAAA,CAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,6CAAAA","ignoreList":[0,1]}
1
+ {"version":3,"sources":["../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../web/.next-internal/server/app/%28console%29/slack/disconnect/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/forms/form-state.ts","../../../../../web/features/frame/actions.ts"],"sourcesContent":["// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {disconnectSlack as '60193849d75d68c4eebfcc031f47505e0872597228'} from 'ACTIONS_MODULE1'\nexport {installBot as '605f767dc338f214376a3487166bd7750ea02aae7b'} from 'ACTIONS_MODULE1'\nexport {exposeShip as '607190a9647c4da3ed3070220fc5d167d3a218f5ef'} from 'ACTIONS_MODULE1'\nexport {removeBot as '60f52e5cb4fb33a5d7957558bf5378b92c175cf4af'} from 'ACTIONS_MODULE1'\nexport {connectSlack as '60ff95b485a7e78a160dda50844dce06ca5ee8ad5c'} from 'ACTIONS_MODULE1'\n","/**\n * What a page's form (a server action) answers the browser: nothing yet,\n * done with what changed, or refused with why, as the API said it. The\n * open network's warning asks for a confirm (interop I-3).\n */\nexport type FormState =\n | { kind: 'idle' }\n | { kind: 'done'; message: string }\n | { kind: 'refused'; message: string }\n | { kind: 'openNetwork'; message: string };\n\nexport const IDLE: FormState = { kind: 'idle' };\n\n/** A form's text field, empty when it was not sent. */\nexport function fieldOf(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\n/** The form's fields as text, files left out. */\nexport function fieldsOf(form: FormData): Record<string, string> {\n return Object.fromEntries([...form.entries()].flatMap(([name, value]) => (typeof value === 'string' ? [[name, value]] : [])));\n}\n\n/** The fleet a page's form names: the page's own, sent in a hidden field. */\nexport const FLEET_FIELD = 'fleet';\n","'use server';\n\n/** The header's theme choice, kept for this browser for a year. */\nimport { cookies } from 'next/headers';\n\nimport { isTheme, THEME_COOKIE } from './theme';\n\nconst YEAR_SECONDS = 365 * 24 * 60 * 60;\n\nexport async function setTheme(theme: unknown): Promise<void> {\n if (!isTheme(theme)) {\n return;\n }\n (await cookies()).set(THEME_COOKIE, theme, { path: '/', sameSite: 'lax', maxAge: YEAR_SECONDS });\n}\n"],"names":["ensureServerEntryExports","actions","i","length","action","Error","registerServerReference","IDLE","kind","fieldOf","form","name","value","get","fieldsOf","Object","fromEntries","entries","flatMap","FLEET_FIELD","YEAR_SECONDS","setTheme","theme","set","path","sameSite","maxAge"],"mappings":"iCAGO,SAASA,EAAyBC,CAAc,EACrD,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQE,MAAM,CAAED,IAAK,CACvC,IAAME,EAASH,CAAO,CAACC,EAAE,CACzB,GAAsB,YAAlB,AAA8B,OAAvBE,EACT,MAAM,AAAIC,MACR,CAAC,2DAA2D,EAAE,OAAOD,EAAO;AAAA,oEAAuE,CAAC,CAG1J,CACF,0EATgBJ,2BAAAA,qCAAAA,sBCHoC,OAAA,cAAA,CAAA,EAAA,aAAA,oCAC3CM,0BAAAA,qCAAAA,EAAAA,uBAAuB,YAAQ,CAAA,CAAA,IAAA,cCDxC,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,+TCwB2B,cAXpB,SAASG,AAAQC,CAAc,CAAEC,CAAY,EAClD,IAAMC,EAAQF,EAAKG,GAAG,CAACF,GACvB,MAAwB,UAAjB,OAAOC,EAAqBA,EAAQ,EAC7C,QAGO,SAASE,AAASJ,CAAc,EACrC,OAAOK,OAAOC,WAAW,CAAC,IAAIN,EAAKO,OAAO,GAAG,CAACC,OAAO,CAAC,CAAC,CAACP,EAAMC,EAAM,GAAuB,UAAjB,OAAOA,EAAqB,CAAC,CAACD,EAAMC,EAAM,CAAC,CAAG,EAAE,EAC5H,gCCnBA,EAAA,EAAA,CAAA,CAAA,MAEA,EAAA,EAAA,CAAA,CAAA,OAIO,eAAeS,EAASC,CAAc,EACtC,CAAA,EAAA,EAAA,CAAA,AAAO,EAACA,IAGb,CAAC,GAHoB,GAGd,CAAA,EAAA,EAAA,OAAA,AAAO,GAAA,CAAE,CAAEC,GAAG,CAAC,EAAA,CAAY,CAAED,EAAO,CAAEE,KAAM,IAAKC,SAAU,MAAOC,OANtD,CAM8DN,KANxD,CAMqE,EAChG,EAPgC,KAAK,mCAEfC,IAAAA,CAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,6CAAAA","ignoreList":[0,1]}
@@ -1,4 +1,4 @@
1
1
  module.exports=[[13095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},29660,a=>{a.s(["H",0,"/bridge/basket","a",0,"/bridge/done","P",0,"/bridge","i",0,"/bridge/settings/routing","T",0,"/bridge/settings","C",0,"/bridge/stay-aware"])},94705,a=>{a.s(["_",0,["messages:send","messages:receive"],"T",0,function(a,b){switch(a.state){case"pending":let c;return(c=Math.ceil((Date.parse(a.expiresAt)-b.getTime())/864e5))<=1?{tone:"attention",label:"Last day"}:{tone:"waiting",label:`${String(c)} d left`};case"approving":return{tone:"active",label:"Approving"};case"approved":return{tone:"ok",label:"Approved"};case"denied":return{tone:"ended",label:"Denied"};case"expired":return{tone:"ended",label:"Expired"}}},"E",0,function(a){switch(a.subject.kind){case"client":return"MCP client";case"server":return"MCP server"}},"M",0,function(a){switch(a.subject.kind){case"client":return a.subject.clientName;case"server":return URL.canParse(a.subject.url)?new URL(a.subject.url).host:a.subject.url}}])},29493,a=>{let b=[{kind:"none",label:"No credential"},{kind:"bearer",label:"Bearer token"},{kind:"clientCredentials",label:"OAuth client credentials"}],c={kind:"personSignIn",label:"Each person signs in"},d=[...b,c];function e(a){var c;let d=(c=a.credentialKind,b.find(({kind:a})=>a===c)?.kind??"bearer");switch(d){case"none":return{kind:d};case"bearer":return{kind:d,token:a.token};case"clientCredentials":return{kind:d,clientId:a.clientId,clientSecret:a.clientSecret,issuer:a.issuer,...""===a.scope?{}:{scope:a.scope}}}}a.s(["a",0,d,"x",0,b,"m",0,c,"G",0,function(a){var b;return(b=a.credentialKind,(d.find(({kind:a})=>a===b)?.kind??"bearer")===c.kind)?{kind:c.kind}:e(a)},"y",0,e])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},29660,a=>{a.s(["H",0,"/bridge/basket","a",0,"/bridge/done","P",0,"/bridge","i",0,"/bridge/settings/routing","T",0,"/bridge/settings","C",0,"/bridge/stay-aware"])},94705,a=>{a.s(["_",0,["messages:send","messages:receive"],"T",0,function(a,b){switch(a.state){case"pending":let c;return(c=Math.ceil((Date.parse(a.expiresAt)-b.getTime())/864e5))<=1?{tone:"attention",label:"Last day"}:{tone:"waiting",label:`${String(c)} d left`};case"approving":return{tone:"active",label:"Approving"};case"approved":return{tone:"ok",label:"Approved"};case"denied":return{tone:"ended",label:"Denied"};case"expired":return{tone:"ended",label:"Expired"}}},"E",0,function(a){switch(a.subject.kind){case"client":return"MCP client";case"server":return"MCP server"}},"M",0,function(a){switch(a.subject.kind){case"client":return a.subject.clientName;case"server":return URL.canParse(a.subject.url)?new URL(a.subject.url).host:a.subject.url}}])},29493,a=>{let b=[{kind:"none",label:"No credential"},{kind:"bearer",label:"Bearer token"},{kind:"clientCredentials",label:"OAuth client credentials"}],c={kind:"personSignIn",label:"Each person signs in"},d=[...b,c];function e(a){var c;let d=(c=a.credentialKind,b.find(({kind:a})=>a===c)?.kind??"bearer");switch(d){case"none":return{kind:d};case"bearer":return{kind:d,token:a.token};case"clientCredentials":return{kind:d,clientId:a.clientId,clientSecret:a.clientSecret,issuer:a.issuer,...""===a.scope?{}:{scope:a.scope}}}}a.s(["a",0,d,"x",0,b,"m",0,c,"G",0,function(a){var b;return(b=a.credentialKind,(d.find(({kind:a})=>a===b)?.kind??"bearer")===c.kind)?{kind:c.kind}:e(a)},"y",0,e])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__0xurmpdv5uqfl._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[[13095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},22983,a=>{var b=a.i(70043),c=a.i(434);a.S([b,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009,f",0,c,"600675ca8896a56f02cd4dcb8176a9ec373315ba97,K,6011da3b2e4cdd3c29740af7d05628bf2889f24a62,N,60569783d111fa326962fdb6f126c8e88fa8cea357,M,605c5373a097bfe79b16d8cdd7d5adbdffa9100f32,d,6060488714c5097943c526002121fb8c046776b6bb,c"],22983)},1324,a=>{a.s(["H",0,"fleet","v",0,function(a,b){let c=a.get(b);return"string"==typeof c?c:""},"O",0,function(a){return Object.fromEntries([...a.entries()].flatMap(([a,b])=>"string"==typeof b?[[a,b]]:[]))}])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},22983,a=>{var b=a.i(70043),c=a.i(434);a.S([b,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be,f",0,c,"60193849d75d68c4eebfcc031f47505e0872597228,c,605f767dc338f214376a3487166bd7750ea02aae7b,M,607190a9647c4da3ed3070220fc5d167d3a218f5ef,K,60f52e5cb4fb33a5d7957558bf5378b92c175cf4af,d,60ff95b485a7e78a160dda50844dce06ca5ee8ad5c,N"],22983)},1324,a=>{a.s(["H",0,"fleet","v",0,function(a,b){let c=a.get(b);return"string"==typeof c?c:""},"O",0,function(a){return Object.fromEntries([...a.entries()].flatMap(([a,b])=>"string"==typeof b?[[a,b]]:[]))}])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__0zz6fx0keti4r._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../web/.next-internal/server/app/%28console%29/slack/expose/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/forms/form-state.ts","../../../../../web/features/frame/actions.ts"],"sourcesContent":["// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {exposeShip as '600675ca8896a56f02cd4dcb8176a9ec373315ba97'} from 'ACTIONS_MODULE1'\nexport {connectSlack as '6011da3b2e4cdd3c29740af7d05628bf2889f24a62'} from 'ACTIONS_MODULE1'\nexport {installBot as '60569783d111fa326962fdb6f126c8e88fa8cea357'} from 'ACTIONS_MODULE1'\nexport {removeBot as '605c5373a097bfe79b16d8cdd7d5adbdffa9100f32'} from 'ACTIONS_MODULE1'\nexport {disconnectSlack as '6060488714c5097943c526002121fb8c046776b6bb'} from 'ACTIONS_MODULE1'\n","/**\n * What a page's form (a server action) answers the browser: nothing yet,\n * done with what changed, or refused with why, as the API said it. The\n * open network's warning asks for a confirm (interop I-3).\n */\nexport type FormState =\n | { kind: 'idle' }\n | { kind: 'done'; message: string }\n | { kind: 'refused'; message: string }\n | { kind: 'openNetwork'; message: string };\n\nexport const IDLE: FormState = { kind: 'idle' };\n\n/** A form's text field, empty when it was not sent. */\nexport function fieldOf(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\n/** The form's fields as text, files left out. */\nexport function fieldsOf(form: FormData): Record<string, string> {\n return Object.fromEntries([...form.entries()].flatMap(([name, value]) => (typeof value === 'string' ? [[name, value]] : [])));\n}\n\n/** The fleet a page's form names: the page's own, sent in a hidden field. */\nexport const FLEET_FIELD = 'fleet';\n","'use server';\n\n/** The header's theme choice, kept for this browser for a year. */\nimport { cookies } from 'next/headers';\n\nimport { isTheme, THEME_COOKIE } from './theme';\n\nconst YEAR_SECONDS = 365 * 24 * 60 * 60;\n\nexport async function setTheme(theme: unknown): Promise<void> {\n if (!isTheme(theme)) {\n return;\n }\n (await cookies()).set(THEME_COOKIE, theme, { path: '/', sameSite: 'lax', maxAge: YEAR_SECONDS });\n}\n"],"names":["ensureServerEntryExports","actions","i","length","action","Error","registerServerReference","IDLE","kind","fieldOf","form","name","value","get","fieldsOf","Object","fromEntries","entries","flatMap","FLEET_FIELD","YEAR_SECONDS","setTheme","theme","set","path","sameSite","maxAge"],"mappings":"iCAGO,SAASA,EAAyBC,CAAc,EACrD,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQE,MAAM,CAAED,IAAK,CACvC,IAAME,EAASH,CAAO,CAACC,EAAE,CACzB,GAAsB,YAAlB,AAA8B,OAAvBE,EACT,MAAM,AAAIC,MACR,CAAC,2DAA2D,EAAE,OAAOD,EAAO;AAAA,oEAAuE,CAAC,CAG1J,CACF,0EATgBJ,2BAAAA,qCAAAA,sBCHoC,OAAA,cAAA,CAAA,EAAA,aAAA,oCAC3CM,0BAAAA,qCAAAA,EAAAA,uBAAuB,YAAQ,CAAA,CAAA,IAAA,cCDxC,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,+TCwB2B,cAXpB,SAASG,AAAQC,CAAc,CAAEC,CAAY,EAClD,IAAMC,EAAQF,EAAKG,GAAG,CAACF,GACvB,MAAwB,UAAjB,OAAOC,EAAqBA,EAAQ,EAC7C,QAGO,SAASE,AAASJ,CAAc,EACrC,OAAOK,OAAOC,WAAW,CAAC,IAAIN,EAAKO,OAAO,GAAG,CAACC,OAAO,CAAC,CAAC,CAACP,EAAMC,EAAM,GAAuB,UAAjB,OAAOA,EAAqB,CAAC,CAACD,EAAMC,EAAM,CAAC,CAAG,EAAE,EAC5H,gCCnBA,EAAA,EAAA,CAAA,CAAA,MAEA,EAAA,EAAA,CAAA,CAAA,OAIO,eAAeS,EAASC,CAAc,EACtC,CAAA,EAAA,EAAA,CAAA,AAAO,EAACA,IAGb,CAAC,GAHoB,GAGd,CAAA,EAAA,EAAA,OAAA,AAAO,GAAA,CAAE,CAAEC,GAAG,CAAC,EAAA,CAAY,CAAED,EAAO,CAAEE,KAAM,IAAKC,SAAU,MAAOC,OANtD,CAM8DN,KANxD,CAMqE,EAChG,EAPgC,KAAK,mCAEfC,IAAAA,CAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,6CAAAA","ignoreList":[0,1]}
1
+ {"version":3,"sources":["../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../web/.next-internal/server/app/%28console%29/slack/expose/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/forms/form-state.ts","../../../../../web/features/frame/actions.ts"],"sourcesContent":["// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {disconnectSlack as '60193849d75d68c4eebfcc031f47505e0872597228'} from 'ACTIONS_MODULE1'\nexport {installBot as '605f767dc338f214376a3487166bd7750ea02aae7b'} from 'ACTIONS_MODULE1'\nexport {exposeShip as '607190a9647c4da3ed3070220fc5d167d3a218f5ef'} from 'ACTIONS_MODULE1'\nexport {removeBot as '60f52e5cb4fb33a5d7957558bf5378b92c175cf4af'} from 'ACTIONS_MODULE1'\nexport {connectSlack as '60ff95b485a7e78a160dda50844dce06ca5ee8ad5c'} from 'ACTIONS_MODULE1'\n","/**\n * What a page's form (a server action) answers the browser: nothing yet,\n * done with what changed, or refused with why, as the API said it. The\n * open network's warning asks for a confirm (interop I-3).\n */\nexport type FormState =\n | { kind: 'idle' }\n | { kind: 'done'; message: string }\n | { kind: 'refused'; message: string }\n | { kind: 'openNetwork'; message: string };\n\nexport const IDLE: FormState = { kind: 'idle' };\n\n/** A form's text field, empty when it was not sent. */\nexport function fieldOf(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\n/** The form's fields as text, files left out. */\nexport function fieldsOf(form: FormData): Record<string, string> {\n return Object.fromEntries([...form.entries()].flatMap(([name, value]) => (typeof value === 'string' ? [[name, value]] : [])));\n}\n\n/** The fleet a page's form names: the page's own, sent in a hidden field. */\nexport const FLEET_FIELD = 'fleet';\n","'use server';\n\n/** The header's theme choice, kept for this browser for a year. */\nimport { cookies } from 'next/headers';\n\nimport { isTheme, THEME_COOKIE } from './theme';\n\nconst YEAR_SECONDS = 365 * 24 * 60 * 60;\n\nexport async function setTheme(theme: unknown): Promise<void> {\n if (!isTheme(theme)) {\n return;\n }\n (await cookies()).set(THEME_COOKIE, theme, { path: '/', sameSite: 'lax', maxAge: YEAR_SECONDS });\n}\n"],"names":["ensureServerEntryExports","actions","i","length","action","Error","registerServerReference","IDLE","kind","fieldOf","form","name","value","get","fieldsOf","Object","fromEntries","entries","flatMap","FLEET_FIELD","YEAR_SECONDS","setTheme","theme","set","path","sameSite","maxAge"],"mappings":"iCAGO,SAASA,EAAyBC,CAAc,EACrD,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQE,MAAM,CAAED,IAAK,CACvC,IAAME,EAASH,CAAO,CAACC,EAAE,CACzB,GAAsB,YAAlB,AAA8B,OAAvBE,EACT,MAAM,AAAIC,MACR,CAAC,2DAA2D,EAAE,OAAOD,EAAO;AAAA,oEAAuE,CAAC,CAG1J,CACF,0EATgBJ,2BAAAA,qCAAAA,sBCHoC,OAAA,cAAA,CAAA,EAAA,aAAA,oCAC3CM,0BAAAA,qCAAAA,EAAAA,uBAAuB,YAAQ,CAAA,CAAA,IAAA,cCDxC,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,+TCwB2B,cAXpB,SAASG,AAAQC,CAAc,CAAEC,CAAY,EAClD,IAAMC,EAAQF,EAAKG,GAAG,CAACF,GACvB,MAAwB,UAAjB,OAAOC,EAAqBA,EAAQ,EAC7C,QAGO,SAASE,AAASJ,CAAc,EACrC,OAAOK,OAAOC,WAAW,CAAC,IAAIN,EAAKO,OAAO,GAAG,CAACC,OAAO,CAAC,CAAC,CAACP,EAAMC,EAAM,GAAuB,UAAjB,OAAOA,EAAqB,CAAC,CAACD,EAAMC,EAAM,CAAC,CAAG,EAAE,EAC5H,gCCnBA,EAAA,EAAA,CAAA,CAAA,MAEA,EAAA,EAAA,CAAA,CAAA,OAIO,eAAeS,EAASC,CAAc,EACtC,CAAA,EAAA,EAAA,CAAA,AAAO,EAACA,IAGb,CAAC,GAHoB,GAGd,CAAA,EAAA,EAAA,OAAA,AAAO,GAAA,CAAE,CAAEC,GAAG,CAAC,EAAA,CAAY,CAAED,EAAO,CAAEE,KAAM,IAAKC,SAAU,MAAOC,OANtD,CAM8DN,KANxD,CAMqE,EAChG,EAPgC,KAAK,mCAEfC,IAAAA,CAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,6CAAAA","ignoreList":[0,1]}
@@ -1,4 +1,4 @@
1
1
  module.exports=[[13095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},87625,a=>{var b=a.i(70043),c=a.i(37936),d=a.i(18558);a.i(70396);var e=a.i(73727),f=a.i(66283),g=a.i(47547),h=a.i(58725);async function i(a,b){try{await b(await (0,f.z)(a.fleet))}catch(c){let b=(0,f.U)(c);if("UNAUTHORIZED"===b)return(0,e.redirect)(`/sign-in/start?${new URLSearchParams({return_to:(0,h.H)({fleetId:a.fleet,meetingId:a.meetingId})}).toString()}`);return{isOk:!1,message:void 0===b?"The gateway did not answer: try again in a moment":(0,f.s)(c)}}return(0,d.revalidatePath)(`${h.f}/${a.meetingId}`),{isOk:!0,value:void 0}}async function j(a){let b=(0,g.h)(a.text);return b.isOk?i(a,c=>c.people.contribute.mutate({meetingId:a.meetingId,payload:b.value,idempotencyKey:a.idempotencyKey})):b}async function k(a){return i(a,b=>b.people.mic.mutate({meetingId:a.meetingId,change:a.change}))}(0,a.i(13095).ensureServerEntryExports)([j,k]),(0,c.registerServerReference)(j,"40b780c3cca8c5dbae63623e146e24e089be26f3b1",null),(0,c.registerServerReference)(k,"40c10498ec73660294acae9ad3b4501f151b8aaa29",null),a.s(["40b780c3cca8c5dbae63623e146e24e089be26f3b1",0,j,"40c10498ec73660294acae9ad3b4501f151b8aaa29",0,k,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009",()=>b.f],87625)},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009",null),a.s(["f",0,e])},58725,a=>{let b="/meetings";a.s(["f",0,b,"H",0,function(a){let c=new URLSearchParams({fleet:a.fleetId,...void 0===a.cursor?{}:{cursor:a.cursor}});return`${b}/${encodeURIComponent(a.meetingId)}?${c.toString()}`}])},47547,a=>{a.s(["h",0,function(a){let b=a.trim();return""===b?{isOk:!1,message:"Write your contribution first"}:{isOk:!0,value:b}},"s",0,function(a){let b=null===a.mic.holder?"The mic is free":`${a.mic.holder.name} holds the mic`,c="fifo"===a.mic.pattern?"it goes to the first in line":"the moderator gives it";return`${b}; ${c}.`},"v",0,function(a){if(null!==a.endedAt)return{controls:[],said:`This meeting ended on ${new Date(a.endedAt).toUTCString()}.`};let b=a.yourMic;switch(b.kind){case"moderating":return{controls:["contribute"],said:"You moderate: you contribute without the mic."};case"holding":return{controls:["contribute","release"],said:"You hold the mic: contribute, then release it once you are done."};case"requested":return{controls:["withdraw"],said:`You are number ${String(b.place)} in line for the mic.`};case"none":return{controls:["request"],said:"Request the mic to contribute."}}}])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},87625,a=>{var b=a.i(70043),c=a.i(37936),d=a.i(18558);a.i(70396);var e=a.i(73727),f=a.i(66283),g=a.i(47547),h=a.i(58725);async function i(a,b){try{await b(await (0,f.z)(a.fleet))}catch(c){let b=(0,f.U)(c);if("UNAUTHORIZED"===b)return(0,e.redirect)(`/sign-in/start?${new URLSearchParams({return_to:(0,h.H)({fleetId:a.fleet,meetingId:a.meetingId})}).toString()}`);return{isOk:!1,message:void 0===b?"The gateway did not answer: try again in a moment":(0,f.s)(c)}}return(0,d.revalidatePath)(`${h.f}/${a.meetingId}`),{isOk:!0,value:void 0}}async function j(a){let b=(0,g.h)(a.text);return b.isOk?i(a,c=>c.people.contribute.mutate({meetingId:a.meetingId,payload:b.value,idempotencyKey:a.idempotencyKey})):b}async function k(a){return i(a,b=>b.people.mic.mutate({meetingId:a.meetingId,change:a.change}))}(0,a.i(13095).ensureServerEntryExports)([j,k]),(0,c.registerServerReference)(j,"40d10b0cadcf824ce92234cbd2d3d3c65b107b0230",null),(0,c.registerServerReference)(k,"400a167596537c1d4356c79e2370ce70ba2addb829",null),a.s(["400a167596537c1d4356c79e2370ce70ba2addb829",0,k,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be",()=>b.f,"40d10b0cadcf824ce92234cbd2d3d3c65b107b0230",0,j],87625)},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be",null),a.s(["f",0,e])},58725,a=>{let b="/meetings";a.s(["f",0,b,"H",0,function(a){let c=new URLSearchParams({fleet:a.fleetId,...void 0===a.cursor?{}:{cursor:a.cursor}});return`${b}/${encodeURIComponent(a.meetingId)}?${c.toString()}`}])},47547,a=>{a.s(["h",0,function(a){let b=a.trim();return""===b?{isOk:!1,message:"Write your contribution first"}:{isOk:!0,value:b}},"s",0,function(a){let b=null===a.mic.holder?"The mic is free":`${a.mic.holder.name} holds the mic`,c="fifo"===a.mic.pattern?"it goes to the first in line":"the moderator gives it";return`${b}; ${c}.`},"v",0,function(a){if(null!==a.endedAt)return{controls:[],said:`This meeting ended on ${new Date(a.endedAt).toUTCString()}.`};let b=a.yourMic;switch(b.kind){case"moderating":return{controls:["contribute"],said:"You moderate: you contribute without the mic."};case"holding":return{controls:["contribute","release"],said:"You hold the mic: contribute, then release it once you are done."};case"requested":return{controls:["withdraw"],said:`You are number ${String(b.place)} in line for the mic.`};case"none":return{controls:["request"],said:"Request the mic to contribute."}}}])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__18-8taiduk1jn._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../web/.next-internal/server/app/%28console%29/meetings/%5BmeetingId%5D/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/meeting/hooks/meeting-actions.ts","../../../../../web/features/frame/actions.ts","../../../../../web/features/meeting/paths.ts","../../../../../web/features/meeting/services/meeting.ts"],"sourcesContent":["// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {changeMic as '40c10498ec73660294acae9ad3b4501f151b8aaa29'} from 'ACTIONS_MODULE1'\nexport {contribute as '40b780c3cca8c5dbae63623e146e24e089be26f3b1'} from 'ACTIONS_MODULE1'\n","'use server';\n/**\n * The meeting page's actions, each one call of the gateway's API as the\n * signed-in account, on the server (0033): contributing, and the person's\n * own mic calls. The fleet decides each; a refusal comes back in its own\n * words for the page to say by the control. A sign-in that ended sends the\n * person to sign in again, back to the meeting.\n */\nimport { revalidatePath } from 'next/cache';\nimport { redirect } from 'next/navigation';\n\nimport { refusalCodeOf, refusalMessageOf, requestApi } from '../../../lib/gateway-api/page-api';\nimport type { ActionOutcome } from '../../bridge/hooks/bridge-actions';\nimport { contributionOf } from '../services/meeting';\nimport { MEETINGS_PATH, meetingPathOf } from '../paths';\n\n/** What an action says when the gateway gave no answer of its own. */\nconst NO_ANSWER = 'The gateway did not answer: try again in a moment';\n\n/** A person's own mic call on the page. */\nexport type OwnMicChange = 'request' | 'withdraw' | 'release';\n\nasync function attempt(meeting: { fleet: string; meetingId: string }, run: (api: Awaited<ReturnType<typeof requestApi>>) => Promise<unknown>): Promise<ActionOutcome<undefined>> {\n try {\n await run(await requestApi(meeting.fleet));\n } catch (error) {\n const code = refusalCodeOf(error);\n if (code === 'UNAUTHORIZED') {\n return redirect(`/sign-in/start?${new URLSearchParams({ return_to: meetingPathOf({ fleetId: meeting.fleet, meetingId: meeting.meetingId }) }).toString()}`);\n }\n return { isOk: false, message: code === undefined ? NO_ANSWER : refusalMessageOf(error) };\n }\n revalidatePath(`${MEETINGS_PATH}/${meeting.meetingId}`);\n return { isOk: true, value: undefined };\n}\n\n/** Contributes the person's text to the meeting, once under the key the page holds for this draft. */\nexport async function contribute(input: { fleet: string; meetingId: string; text: string; idempotencyKey: string }): Promise<ActionOutcome<undefined>> {\n const contribution = contributionOf(input.text);\n if (!contribution.isOk) {\n return contribution;\n }\n return attempt(input, (api) => api.people.contribute.mutate({ meetingId: input.meetingId, payload: contribution.value, idempotencyKey: input.idempotencyKey }));\n}\n\nexport async function changeMic(input: { fleet: string; meetingId: string; change: OwnMicChange }): Promise<ActionOutcome<undefined>> {\n return attempt(input, (api) => api.people.mic.mutate({ meetingId: input.meetingId, change: input.change }));\n}\n","'use server';\n\n/** The header's theme choice, kept for this browser for a year. */\nimport { cookies } from 'next/headers';\n\nimport { isTheme, THEME_COOKIE } from './theme';\n\nconst YEAR_SECONDS = 365 * 24 * 60 * 60;\n\nexport async function setTheme(theme: unknown): Promise<void> {\n if (!isTheme(theme)) {\n return;\n }\n (await cookies()).set(THEME_COOKIE, theme, { path: '/', sameSite: 'lax', maxAge: YEAR_SECONDS });\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","/**\n * A meeting as its page shows it to a participant, and what the page offers\n * them by where they stand on its mic (decision 0061, M7 to M10, M19): pure\n * view logic, no React and no API client. The fleet decides every call; the\n * page only offers what can go.\n */\nimport type { inferRouterOutputs } from '@trpc/server';\n\nimport type { GatewayRouter } from '../../../../src/adapters/trpc/router.js';\n\n/** A meeting as the API reads it to the person. */\nexport type MeetingView = inferRouterOutputs<GatewayRouter>['people']['meeting'];\n\n/** What the page lets the person do: contribute, or one of their own mic calls. */\nexport type MeetingControl = 'contribute' | 'request' | 'withdraw' | 'release';\n\n/** The controls the page shows the person, and the line that says why. */\nexport function standingOf(meeting: MeetingView): { controls: MeetingControl[]; said: string } {\n if (meeting.endedAt !== null) {\n return { controls: [], said: `This meeting ended on ${new Date(meeting.endedAt).toUTCString()}.` };\n }\n const mic = meeting.yourMic;\n switch (mic.kind) {\n case 'moderating':\n return { controls: ['contribute'], said: 'You moderate: you contribute without the mic.' };\n case 'holding':\n return { controls: ['contribute', 'release'], said: 'You hold the mic: contribute, then release it once you are done.' };\n case 'requested':\n return { controls: ['withdraw'], said: `You are number ${String(mic.place)} in line for the mic.` };\n case 'none':\n return { controls: ['request'], said: 'Request the mic to contribute.' };\n }\n}\n\n/** Who holds the mic, and how it passes when it is free (M9). */\nexport function micLineOf(meeting: MeetingView): string {\n const holds = meeting.mic.holder === null ? 'The mic is free' : `${meeting.mic.holder.name} holds the mic`;\n const passes = meeting.mic.pattern === 'fifo' ? 'it goes to the first in line' : 'the moderator gives it';\n return `${holds}; ${passes}.`;\n}\n\n/** The text a contribution sends, trimmed; none is sent empty. */\nexport function contributionOf(text: string): { isOk: true; value: string } | { isOk: false; message: string } {\n const value = text.trim();\n return value === '' ? { isOk: false, message: 'Write your contribution first' } : { isOk: true, value };\n}\n"],"names":["ensureServerEntryExports","actions","i","length","action","Error","registerServerReference","NO_ANSWER","attempt","meeting","run","fleet","error","code","URLSearchParams","return_to","fleetId","meetingId","toString","isOk","message","undefined","value","contribute","input","contribution","text","api","people","mutate","payload","idempotencyKey","changeMic","mic","change","YEAR_SECONDS","setTheme","theme","set","path","sameSite","maxAge","MEETINGS_PATH","meetingPathOf","query","cursor","encodeURIComponent","standingOf","endedAt","controls","said","Date","toUTCString","yourMic","kind","String","place","micLineOf","holds","holder","name","passes","pattern","contributionOf","trim"],"mappings":"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","ignoreList":[0,1]}
1
+ {"version":3,"sources":["../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../web/.next-internal/server/app/%28console%29/meetings/%5BmeetingId%5D/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/meeting/hooks/meeting-actions.ts","../../../../../web/features/frame/actions.ts","../../../../../web/features/meeting/paths.ts","../../../../../web/features/meeting/services/meeting.ts"],"sourcesContent":["// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {changeMic as '400a167596537c1d4356c79e2370ce70ba2addb829'} from 'ACTIONS_MODULE1'\nexport {contribute as '40d10b0cadcf824ce92234cbd2d3d3c65b107b0230'} from 'ACTIONS_MODULE1'\n","'use server';\n/**\n * The meeting page's actions, each one call of the gateway's API as the\n * signed-in account, on the server (0033): contributing, and the person's\n * own mic calls. The fleet decides each; a refusal comes back in its own\n * words for the page to say by the control. A sign-in that ended sends the\n * person to sign in again, back to the meeting.\n */\nimport { revalidatePath } from 'next/cache';\nimport { redirect } from 'next/navigation';\n\nimport { refusalCodeOf, refusalMessageOf, requestApi } from '../../../lib/gateway-api/page-api';\nimport type { ActionOutcome } from '../../bridge/hooks/bridge-actions';\nimport { contributionOf } from '../services/meeting';\nimport { MEETINGS_PATH, meetingPathOf } from '../paths';\n\n/** What an action says when the gateway gave no answer of its own. */\nconst NO_ANSWER = 'The gateway did not answer: try again in a moment';\n\n/** A person's own mic call on the page. */\nexport type OwnMicChange = 'request' | 'withdraw' | 'release';\n\nasync function attempt(meeting: { fleet: string; meetingId: string }, run: (api: Awaited<ReturnType<typeof requestApi>>) => Promise<unknown>): Promise<ActionOutcome<undefined>> {\n try {\n await run(await requestApi(meeting.fleet));\n } catch (error) {\n const code = refusalCodeOf(error);\n if (code === 'UNAUTHORIZED') {\n return redirect(`/sign-in/start?${new URLSearchParams({ return_to: meetingPathOf({ fleetId: meeting.fleet, meetingId: meeting.meetingId }) }).toString()}`);\n }\n return { isOk: false, message: code === undefined ? NO_ANSWER : refusalMessageOf(error) };\n }\n revalidatePath(`${MEETINGS_PATH}/${meeting.meetingId}`);\n return { isOk: true, value: undefined };\n}\n\n/** Contributes the person's text to the meeting, once under the key the page holds for this draft. */\nexport async function contribute(input: { fleet: string; meetingId: string; text: string; idempotencyKey: string }): Promise<ActionOutcome<undefined>> {\n const contribution = contributionOf(input.text);\n if (!contribution.isOk) {\n return contribution;\n }\n return attempt(input, (api) => api.people.contribute.mutate({ meetingId: input.meetingId, payload: contribution.value, idempotencyKey: input.idempotencyKey }));\n}\n\nexport async function changeMic(input: { fleet: string; meetingId: string; change: OwnMicChange }): Promise<ActionOutcome<undefined>> {\n return attempt(input, (api) => api.people.mic.mutate({ meetingId: input.meetingId, change: input.change }));\n}\n","'use server';\n\n/** The header's theme choice, kept for this browser for a year. */\nimport { cookies } from 'next/headers';\n\nimport { isTheme, THEME_COOKIE } from './theme';\n\nconst YEAR_SECONDS = 365 * 24 * 60 * 60;\n\nexport async function setTheme(theme: unknown): Promise<void> {\n if (!isTheme(theme)) {\n return;\n }\n (await cookies()).set(THEME_COOKIE, theme, { path: '/', sameSite: 'lax', maxAge: YEAR_SECONDS });\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","/**\n * A meeting as its page shows it to a participant, and what the page offers\n * them by where they stand on its mic (decision 0061, M7 to M10, M19): pure\n * view logic, no React and no API client. The fleet decides every call; the\n * page only offers what can go.\n */\nimport type { inferRouterOutputs } from '@trpc/server';\n\nimport type { GatewayRouter } from '../../../../src/adapters/trpc/router.js';\n\n/** A meeting as the API reads it to the person. */\nexport type MeetingView = inferRouterOutputs<GatewayRouter>['people']['meeting'];\n\n/** What the page lets the person do: contribute, or one of their own mic calls. */\nexport type MeetingControl = 'contribute' | 'request' | 'withdraw' | 'release';\n\n/** The controls the page shows the person, and the line that says why. */\nexport function standingOf(meeting: MeetingView): { controls: MeetingControl[]; said: string } {\n if (meeting.endedAt !== null) {\n return { controls: [], said: `This meeting ended on ${new Date(meeting.endedAt).toUTCString()}.` };\n }\n const mic = meeting.yourMic;\n switch (mic.kind) {\n case 'moderating':\n return { controls: ['contribute'], said: 'You moderate: you contribute without the mic.' };\n case 'holding':\n return { controls: ['contribute', 'release'], said: 'You hold the mic: contribute, then release it once you are done.' };\n case 'requested':\n return { controls: ['withdraw'], said: `You are number ${String(mic.place)} in line for the mic.` };\n case 'none':\n return { controls: ['request'], said: 'Request the mic to contribute.' };\n }\n}\n\n/** Who holds the mic, and how it passes when it is free (M9). */\nexport function micLineOf(meeting: MeetingView): string {\n const holds = meeting.mic.holder === null ? 'The mic is free' : `${meeting.mic.holder.name} holds the mic`;\n const passes = meeting.mic.pattern === 'fifo' ? 'it goes to the first in line' : 'the moderator gives it';\n return `${holds}; ${passes}.`;\n}\n\n/** The text a contribution sends, trimmed; none is sent empty. */\nexport function contributionOf(text: string): { isOk: true; value: string } | { isOk: false; message: string } {\n const value = text.trim();\n return value === '' ? { isOk: false, message: 'Write your contribution first' } : { isOk: true, value };\n}\n"],"names":["ensureServerEntryExports","actions","i","length","action","Error","registerServerReference","NO_ANSWER","attempt","meeting","run","fleet","error","code","URLSearchParams","return_to","fleetId","meetingId","toString","isOk","message","undefined","value","contribute","input","contribution","text","api","people","mutate","payload","idempotencyKey","changeMic","mic","change","YEAR_SECONDS","setTheme","theme","set","path","sameSite","maxAge","MEETINGS_PATH","meetingPathOf","query","cursor","encodeURIComponent","standingOf","endedAt","controls","said","Date","toUTCString","yourMic","kind","String","place","micLineOf","holds","holder","name","passes","pattern","contributionOf","trim"],"mappings":"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","ignoreList":[0,1]}
@@ -1,4 +1,4 @@
1
1
  module.exports=[[13095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},12784,a=>{var b=a.i(70043),c=a.i(5901);a.S([b,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009,f",0,c,"6026a50117d3dc0b04b2ec0ed6d9317c3343480b26,g,6066fe0687821d9902fd5121a6b96a094c3b32b731,P,60986f92c0b5f178ced5c92b8634ce6117473ad34e,p,609be0620464a1f1da78a0376e6f7fd4cf96d65bb9,L"],12784)},1324,a=>{a.s(["H",0,"fleet","v",0,function(a,b){let c=a.get(b);return"string"==typeof c?c:""},"O",0,function(a){return Object.fromEntries([...a.entries()].flatMap(([a,b])=>"string"==typeof b?[[a,b]]:[]))}])},29493,a=>{let b=[{kind:"none",label:"No credential"},{kind:"bearer",label:"Bearer token"},{kind:"clientCredentials",label:"OAuth client credentials"}],c={kind:"personSignIn",label:"Each person signs in"},d=[...b,c];function e(a){var c;let d=(c=a.credentialKind,b.find(({kind:a})=>a===c)?.kind??"bearer");switch(d){case"none":return{kind:d};case"bearer":return{kind:d,token:a.token};case"clientCredentials":return{kind:d,clientId:a.clientId,clientSecret:a.clientSecret,issuer:a.issuer,...""===a.scope?{}:{scope:a.scope}}}}a.s(["a",0,d,"x",0,b,"m",0,c,"G",0,function(a){var b;return(b=a.credentialKind,(d.find(({kind:a})=>a===b)?.kind??"bearer")===c.kind)?{kind:c.kind}:e(a)},"y",0,e])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40f534a69ce118b9a051eed56b02d6f3ce60cc9009",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},37936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},12784,a=>{var b=a.i(70043),c=a.i(5901);a.S([b,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be,f",0,c,"6065ff1db872e492d1821dd43f6eafd397534413f6,g,608eb43413b6dcc7d1292fb41018ecc5776c5f2854,L,60ce1352441d94840e494a24562e9f9720ab0e1c4c,P,60fcc2b5c486d749b474cd42583cc4dced8e834006,p"],12784)},1324,a=>{a.s(["H",0,"fleet","v",0,function(a,b){let c=a.get(b);return"string"==typeof c?c:""},"O",0,function(a){return Object.fromEntries([...a.entries()].flatMap(([a,b])=>"string"==typeof b?[[a,b]]:[]))}])},29493,a=>{let b=[{kind:"none",label:"No credential"},{kind:"bearer",label:"Bearer token"},{kind:"clientCredentials",label:"OAuth client credentials"}],c={kind:"personSignIn",label:"Each person signs in"},d=[...b,c];function e(a){var c;let d=(c=a.credentialKind,b.find(({kind:a})=>a===c)?.kind??"bearer");switch(d){case"none":return{kind:d};case"bearer":return{kind:d,token:a.token};case"clientCredentials":return{kind:d,clientId:a.clientId,clientSecret:a.clientSecret,issuer:a.issuer,...""===a.scope?{}:{scope:a.scope}}}}a.s(["a",0,d,"x",0,b,"m",0,c,"G",0,function(a){var b;return(b=a.credentialKind,(d.find(({kind:a})=>a===b)?.kind??"bearer")===c.kind)?{kind:c.kind}:e(a)},"y",0,e])},70043,a=>{var b=a.i(37936),c=a.i(5246),d=a.i(67591);async function e(a){(0,d.x)(a)&&(await (0,c.cookies)()).set(d.g,a,{path:"/",sameSite:"lax",maxAge:31536e3})}(0,a.i(13095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be",null),a.s(["f",0,e])}],81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__19p4g16n2nh0b._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../web/.next-internal/server/app/%28console%29/parties/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/forms/form-state.ts","../../../../../web/features/forms/server-credential.ts","../../../../../web/features/frame/actions.ts"],"sourcesContent":["// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","export {setTheme as '40f534a69ce118b9a051eed56b02d6f3ce60cc9009'} from 'ACTIONS_MODULE0'\nexport {stateParty as '6026a50117d3dc0b04b2ec0ed6d9317c3343480b26'} from 'ACTIONS_MODULE1'\nexport {crewParty as '6066fe0687821d9902fd5121a6b96a094c3b32b731'} from 'ACTIONS_MODULE1'\nexport {markTool as '60986f92c0b5f178ced5c92b8634ce6117473ad34e'} from 'ACTIONS_MODULE1'\nexport {approveParty as '609be0620464a1f1da78a0376e6f7fd4cf96d65bb9'} from 'ACTIONS_MODULE1'\n","/**\n * What a page's form (a server action) answers the browser: nothing yet,\n * done with what changed, or refused with why, as the API said it. The\n * open network's warning asks for a confirm (interop I-3).\n */\nexport type FormState =\n | { kind: 'idle' }\n | { kind: 'done'; message: string }\n | { kind: 'refused'; message: string }\n | { kind: 'openNetwork'; message: string };\n\nexport const IDLE: FormState = { kind: 'idle' };\n\n/** A form's text field, empty when it was not sent. */\nexport function fieldOf(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\n/** The form's fields as text, files left out. */\nexport function fieldsOf(form: FormData): Record<string, string> {\n return Object.fromEntries([...form.entries()].flatMap(([name, value]) => (typeof value === 'string' ? [[name, value]] : [])));\n}\n\n/** The fleet a page's form names: the page's own, sent in a hidden field. */\nexport const FLEET_FIELD = 'fleet';\n","/**\n * An outside MCP server's credential, as the add, Parties and decision forms\n * take it: none for a server reached only on a private network, a static\n * bearer, or OAuth client credentials. A server being added may instead\n * have each person sign in to it for themselves (decision 0067).\n */\n\n/** The credential kinds a form offers, with the words it shows. */\nexport const CREDENTIAL_KINDS = [\n { kind: 'none', label: 'No credential' },\n { kind: 'bearer', label: 'Bearer token' },\n { kind: 'clientCredentials', label: 'OAuth client credentials' },\n] as const;\n\nexport type CredentialKind = (typeof CREDENTIAL_KINDS)[number]['kind'];\n\nexport type ServerCredential =\n | { kind: 'none' }\n | { kind: 'bearer'; token: string }\n | { kind: 'clientCredentials'; clientId: string; clientSecret: string; issuer: string; scope?: string };\n\n/** The kind only adding a server offers: the gateway registers the party's client, and each person signs in (decision 0067). */\nexport const SIGN_IN_CREDENTIAL = { kind: 'personSignIn', label: 'Each person signs in' } as const;\n\n/** The credential kinds the add page offers, with the words it shows. */\nexport const ADDED_CREDENTIAL_KINDS = [...CREDENTIAL_KINDS, SIGN_IN_CREDENTIAL] as const;\n\nexport type AddedCredentialKind = (typeof ADDED_CREDENTIAL_KINDS)[number]['kind'];\n\nexport type AddedServerCredential = ServerCredential | { kind: typeof SIGN_IN_CREDENTIAL.kind };\n\n/** The kind a form sent, a bearer when it sent none it knows. */\nexport function credentialKindOf(sent: string): CredentialKind {\n return CREDENTIAL_KINDS.find(({ kind }) => kind === sent)?.kind ?? 'bearer';\n}\n\n/** The credential the fields name: only the fields of its kind are read. */\nexport function serverCredentialOf(fields: { credentialKind: string; token: string; clientId: string; clientSecret: string; issuer: string; scope: string }): ServerCredential {\n const kind = credentialKindOf(fields.credentialKind);\n switch (kind) {\n case 'none':\n return { kind };\n case 'bearer':\n return { kind, token: fields.token };\n case 'clientCredentials':\n return { kind, clientId: fields.clientId, clientSecret: fields.clientSecret, issuer: fields.issuer, ...(fields.scope === '' ? {} : { scope: fields.scope }) };\n }\n}\n\n/** The kind the add page sent, a bearer when it sent none it knows. */\nexport function addedCredentialKindOf(sent: string): AddedCredentialKind {\n return ADDED_CREDENTIAL_KINDS.find(({ kind }) => kind === sent)?.kind ?? 'bearer';\n}\n\n/** The credential the add page's fields name: each person signing in takes no field. */\nexport function addedServerCredentialOf(fields: Parameters<typeof serverCredentialOf>[0]): AddedServerCredential {\n return addedCredentialKindOf(fields.credentialKind) === SIGN_IN_CREDENTIAL.kind ? { kind: SIGN_IN_CREDENTIAL.kind } : serverCredentialOf(fields);\n}\n","'use server';\n\n/** The header's theme choice, kept for this browser for a year. */\nimport { cookies } from 'next/headers';\n\nimport { isTheme, THEME_COOKIE } from './theme';\n\nconst YEAR_SECONDS = 365 * 24 * 60 * 60;\n\nexport async function setTheme(theme: unknown): Promise<void> {\n if (!isTheme(theme)) {\n return;\n }\n (await cookies()).set(THEME_COOKIE, theme, { path: '/', sameSite: 'lax', maxAge: YEAR_SECONDS });\n}\n"],"names":["ensureServerEntryExports","actions","i","length","action","Error","registerServerReference","IDLE","kind","fieldOf","form","name","value","get","fieldsOf","Object","fromEntries","entries","flatMap","FLEET_FIELD","CREDENTIAL_KINDS","label","SIGN_IN_CREDENTIAL","ADDED_CREDENTIAL_KINDS","credentialKindOf","sent","find","serverCredentialOf","fields","credentialKind","token","clientId","clientSecret","issuer","scope","addedCredentialKindOf","addedServerCredentialOf","YEAR_SECONDS","setTheme","theme","set","path","sameSite","maxAge"],"mappings":"iCAGO,SAASA,EAAyBC,CAAc,EACrD,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQE,MAAM,CAAED,IAAK,CACvC,IAAME,EAASH,CAAO,CAACC,EAAE,CACzB,GAAsB,YAAY,AAA9B,OAAOE,EACT,MAAM,AAAIC,MACR,CAAC,2DAA2D,EAAE,OAAOD,EAAO;AAAA,oEAAuE,CAAC,CAG1J,CACF,0EATgBJ,2BAAAA,qCAAAA,sBCHoC,OAAA,cAAA,CAAA,EAAA,aAAA,oCAC3CM,0BAAAA,qCAAAA,EAAAA,uBAAuB,YAAQ,CAAA,CAAA,IAAA,cCDxC,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,mRCwB2B,cAXpB,SAASG,AAAQC,CAAc,CAAEC,CAAY,EAClD,IAAMC,EAAQF,EAAKG,GAAG,CAACF,GACvB,MAAwB,UAAjB,OAAOC,EAAqBA,EAAQ,EAC7C,QAGO,SAASE,AAASJ,CAAc,EACrC,OAAOK,OAAOC,WAAW,CAAC,IAAIN,EAAKO,OAAO,GAAG,CAACC,OAAO,CAAC,CAAC,CAACP,EAAMC,EAAM,GAAM,AAAiB,iBAAVA,EAAqB,CAAC,CAACD,EAAMC,EAAM,CAAC,CAAG,EAAE,EAC5H,eCdO,IAAMQ,EAAmB,CAC9B,CAAEZ,KAAM,OAAQa,MAAO,eAAgB,EACvC,CAAEb,KAAM,SAAUa,MAAO,cAAe,EACxC,CAAEb,KAAM,oBAAqBa,MAAO,0BAA2B,EAChE,CAUYC,EAAqB,CAAEd,KAAM,eAAgBa,MAAO,sBAAuB,EAG3EE,EAAyB,IAAIH,EAAkBE,EAAmB,CAYxE,SAASK,EAAmBC,CAAwH,QACzJ,IAAMpB,GANyBiB,EAMDG,EANa,AAM9BJ,AAAwBK,cAAc,CAL5CT,EAAiBM,IAAI,CAAC,CAAC,MAAElB,CAAI,CAAE,GAAKA,IAASiB,IAAOjB,MAAQ,UAMnE,OAAQA,GACN,IAAK,OACH,MAAO,MAAEA,CAAK,CAChB,KAAK,SACH,MAAO,MAAEA,EAAMsB,MAAOF,EAAOE,KAAK,AAAC,CACrC,KAAK,oBACH,MAAO,MAAEtB,EAAMuB,SAAUH,EAAOG,QAAQ,CAAEC,aAAcJ,EAAOI,YAAY,CAAEC,OAAQL,EAAOK,MAAM,CAAE,GAAqB,KAAjBL,EAAOM,KAAK,CAAU,CAAC,EAAI,CAAEA,MAAON,EAAOM,KAAK,AAAC,CAAC,AAAE,CAChK,CACF,oCAQO,SAASE,AAAwBR,CAAgD,QACtF,OANoCH,AAM7BU,EAAsBP,EANmB,AAMZC,cAAc,EAL3CN,EAAuBG,IAAI,CAAC,CAAC,MAAElB,CAAI,CAAE,GAAKA,IAASiB,IAAOjB,MAAQ,QAAA,IAKjBc,EAAmBd,IAAAA,AAAI,EAAG,CAAEA,KAAMc,EAAmBd,IAAI,AAAC,EAAImB,EAAmBC,EAC3I,wCCtDA,EAAA,EAAA,CAAA,CAAA,MAEA,EAAA,EAAA,CAAA,CAAA,OAIO,eAAeU,EAASC,CAAc,EACtC,CAAA,EAAA,EAAA,CAAA,AAAO,EAACA,IAGb,CAAC,GAHoB,GAGd,CAAA,EAAA,EAAA,OAAO,AAAP,GAAO,CAAE,CAAEC,GAAG,CAAC,EAAA,CAAY,CAAED,EAAO,CAAEE,KAAM,IAAKC,SAAU,MAAOC,OANtD,CAM8DN,KANxD,CAMqE,EAChG,EAPgC,KAAK,mCAEfC,IAAAA,CAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,6CAAAA","ignoreList":[0,1]}
1
+ {"version":3,"sources":["../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../web/.next-internal/server/app/%28console%29/parties/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/forms/form-state.ts","../../../../../web/features/forms/server-credential.ts","../../../../../web/features/frame/actions.ts"],"sourcesContent":["// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","export {setTheme as '4077ea8b7cbe4e193d103d2b8488e0db3bff1e57be'} from 'ACTIONS_MODULE0'\nexport {stateParty as '6065ff1db872e492d1821dd43f6eafd397534413f6'} from 'ACTIONS_MODULE1'\nexport {approveParty as '608eb43413b6dcc7d1292fb41018ecc5776c5f2854'} from 'ACTIONS_MODULE1'\nexport {crewParty as '60ce1352441d94840e494a24562e9f9720ab0e1c4c'} from 'ACTIONS_MODULE1'\nexport {markTool as '60fcc2b5c486d749b474cd42583cc4dced8e834006'} from 'ACTIONS_MODULE1'\n","/**\n * What a page's form (a server action) answers the browser: nothing yet,\n * done with what changed, or refused with why, as the API said it. The\n * open network's warning asks for a confirm (interop I-3).\n */\nexport type FormState =\n | { kind: 'idle' }\n | { kind: 'done'; message: string }\n | { kind: 'refused'; message: string }\n | { kind: 'openNetwork'; message: string };\n\nexport const IDLE: FormState = { kind: 'idle' };\n\n/** A form's text field, empty when it was not sent. */\nexport function fieldOf(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\n/** The form's fields as text, files left out. */\nexport function fieldsOf(form: FormData): Record<string, string> {\n return Object.fromEntries([...form.entries()].flatMap(([name, value]) => (typeof value === 'string' ? [[name, value]] : [])));\n}\n\n/** The fleet a page's form names: the page's own, sent in a hidden field. */\nexport const FLEET_FIELD = 'fleet';\n","/**\n * An outside MCP server's credential, as the add, Parties and decision forms\n * take it: none for a server reached only on a private network, a static\n * bearer, or OAuth client credentials. A server being added may instead\n * have each person sign in to it for themselves (decision 0067).\n */\n\n/** The credential kinds a form offers, with the words it shows. */\nexport const CREDENTIAL_KINDS = [\n { kind: 'none', label: 'No credential' },\n { kind: 'bearer', label: 'Bearer token' },\n { kind: 'clientCredentials', label: 'OAuth client credentials' },\n] as const;\n\nexport type CredentialKind = (typeof CREDENTIAL_KINDS)[number]['kind'];\n\nexport type ServerCredential =\n | { kind: 'none' }\n | { kind: 'bearer'; token: string }\n | { kind: 'clientCredentials'; clientId: string; clientSecret: string; issuer: string; scope?: string };\n\n/** The kind only adding a server offers: the gateway registers the party's client, and each person signs in (decision 0067). */\nexport const SIGN_IN_CREDENTIAL = { kind: 'personSignIn', label: 'Each person signs in' } as const;\n\n/** The credential kinds the add page offers, with the words it shows. */\nexport const ADDED_CREDENTIAL_KINDS = [...CREDENTIAL_KINDS, SIGN_IN_CREDENTIAL] as const;\n\nexport type AddedCredentialKind = (typeof ADDED_CREDENTIAL_KINDS)[number]['kind'];\n\nexport type AddedServerCredential = ServerCredential | { kind: typeof SIGN_IN_CREDENTIAL.kind };\n\n/** The kind a form sent, a bearer when it sent none it knows. */\nexport function credentialKindOf(sent: string): CredentialKind {\n return CREDENTIAL_KINDS.find(({ kind }) => kind === sent)?.kind ?? 'bearer';\n}\n\n/** The credential the fields name: only the fields of its kind are read. */\nexport function serverCredentialOf(fields: { credentialKind: string; token: string; clientId: string; clientSecret: string; issuer: string; scope: string }): ServerCredential {\n const kind = credentialKindOf(fields.credentialKind);\n switch (kind) {\n case 'none':\n return { kind };\n case 'bearer':\n return { kind, token: fields.token };\n case 'clientCredentials':\n return { kind, clientId: fields.clientId, clientSecret: fields.clientSecret, issuer: fields.issuer, ...(fields.scope === '' ? {} : { scope: fields.scope }) };\n }\n}\n\n/** The kind the add page sent, a bearer when it sent none it knows. */\nexport function addedCredentialKindOf(sent: string): AddedCredentialKind {\n return ADDED_CREDENTIAL_KINDS.find(({ kind }) => kind === sent)?.kind ?? 'bearer';\n}\n\n/** The credential the add page's fields name: each person signing in takes no field. */\nexport function addedServerCredentialOf(fields: Parameters<typeof serverCredentialOf>[0]): AddedServerCredential {\n return addedCredentialKindOf(fields.credentialKind) === SIGN_IN_CREDENTIAL.kind ? { kind: SIGN_IN_CREDENTIAL.kind } : serverCredentialOf(fields);\n}\n","'use server';\n\n/** The header's theme choice, kept for this browser for a year. */\nimport { cookies } from 'next/headers';\n\nimport { isTheme, THEME_COOKIE } from './theme';\n\nconst YEAR_SECONDS = 365 * 24 * 60 * 60;\n\nexport async function setTheme(theme: unknown): Promise<void> {\n if (!isTheme(theme)) {\n return;\n }\n (await cookies()).set(THEME_COOKIE, theme, { path: '/', sameSite: 'lax', maxAge: YEAR_SECONDS });\n}\n"],"names":["ensureServerEntryExports","actions","i","length","action","Error","registerServerReference","IDLE","kind","fieldOf","form","name","value","get","fieldsOf","Object","fromEntries","entries","flatMap","FLEET_FIELD","CREDENTIAL_KINDS","label","SIGN_IN_CREDENTIAL","ADDED_CREDENTIAL_KINDS","credentialKindOf","sent","find","serverCredentialOf","fields","credentialKind","token","clientId","clientSecret","issuer","scope","addedCredentialKindOf","addedServerCredentialOf","YEAR_SECONDS","setTheme","theme","set","path","sameSite","maxAge"],"mappings":"iCAGO,SAASA,EAAyBC,CAAc,EACrD,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQE,MAAM,CAAED,IAAK,CACvC,IAAME,EAASH,CAAO,CAACC,EAAE,CACzB,GAAsB,YAAY,AAA9B,OAAOE,EACT,MAAM,AAAIC,MACR,CAAC,2DAA2D,EAAE,OAAOD,EAAO;AAAA,oEAAuE,CAAC,CAG1J,CACF,0EATgBJ,2BAAAA,qCAAAA,sBCHoC,OAAA,cAAA,CAAA,EAAA,aAAA,oCAC3CM,0BAAAA,qCAAAA,EAAAA,uBAAuB,YAAQ,CAAA,CAAA,IAAA,cCDxC,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,mRCwB2B,cAXpB,SAASG,AAAQC,CAAc,CAAEC,CAAY,EAClD,IAAMC,EAAQF,EAAKG,GAAG,CAACF,GACvB,MAAwB,UAAjB,OAAOC,EAAqBA,EAAQ,EAC7C,QAGO,SAASE,AAASJ,CAAc,EACrC,OAAOK,OAAOC,WAAW,CAAC,IAAIN,EAAKO,OAAO,GAAG,CAACC,OAAO,CAAC,CAAC,CAACP,EAAMC,EAAM,GAAM,AAAiB,iBAAVA,EAAqB,CAAC,CAACD,EAAMC,EAAM,CAAC,CAAG,EAAE,EAC5H,eCdO,IAAMQ,EAAmB,CAC9B,CAAEZ,KAAM,OAAQa,MAAO,eAAgB,EACvC,CAAEb,KAAM,SAAUa,MAAO,cAAe,EACxC,CAAEb,KAAM,oBAAqBa,MAAO,0BAA2B,EAChE,CAUYC,EAAqB,CAAEd,KAAM,eAAgBa,MAAO,sBAAuB,EAG3EE,EAAyB,IAAIH,EAAkBE,EAAmB,CAYxE,SAASK,EAAmBC,CAAwH,QACzJ,IAAMpB,GANyBiB,EAMDG,EANa,AAM9BJ,AAAwBK,cAAc,CAL5CT,EAAiBM,IAAI,CAAC,CAAC,MAAElB,CAAI,CAAE,GAAKA,IAASiB,IAAOjB,MAAQ,UAMnE,OAAQA,GACN,IAAK,OACH,MAAO,MAAEA,CAAK,CAChB,KAAK,SACH,MAAO,MAAEA,EAAMsB,MAAOF,EAAOE,KAAK,AAAC,CACrC,KAAK,oBACH,MAAO,MAAEtB,EAAMuB,SAAUH,EAAOG,QAAQ,CAAEC,aAAcJ,EAAOI,YAAY,CAAEC,OAAQL,EAAOK,MAAM,CAAE,GAAqB,KAAjBL,EAAOM,KAAK,CAAU,CAAC,EAAI,CAAEA,MAAON,EAAOM,KAAK,AAAC,CAAC,AAAE,CAChK,CACF,oCAQO,SAASE,AAAwBR,CAAgD,QACtF,OANoCH,AAM7BU,EAAsBP,EANmB,AAMZC,cAAc,EAL3CN,EAAuBG,IAAI,CAAC,CAAC,MAAElB,CAAI,CAAE,GAAKA,IAASiB,IAAOjB,MAAQ,QAAA,IAKjBc,EAAmBd,IAAAA,AAAI,EAAG,CAAEA,KAAMc,EAAmBd,IAAI,AAAC,EAAImB,EAAmBC,EAC3I,wCCtDA,EAAA,EAAA,CAAA,CAAA,MAEA,EAAA,EAAA,CAAA,CAAA,OAIO,eAAeU,EAASC,CAAc,EACtC,CAAA,EAAA,EAAA,CAAA,AAAO,EAACA,IAGb,CAAC,GAHoB,GAGd,CAAA,EAAA,EAAA,OAAO,AAAP,GAAO,CAAE,CAAEC,GAAG,CAAC,EAAA,CAAY,CAAED,EAAO,CAAEE,KAAM,IAAKC,SAAU,MAAOC,OANtD,CAM8DN,KANxD,CAMqE,EAChG,EAPgC,KAAK,mCAEfC,IAAAA,CAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,6CAAAA","ignoreList":[0,1]}