@aeolus-fleet/gateway 0.36.2 → 0.36.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 (504) hide show
  1. package/README.md +4 -0
  2. package/dist/adapters/fleet/actor-door.d.ts +8 -1
  3. package/dist/adapters/fleet/actor-door.js +12 -5
  4. package/dist/adapters/fleet/actor-door.js.map +1 -1
  5. package/dist/adapters/fleet/argo-inbox-door.d.ts +4 -0
  6. package/dist/adapters/fleet/argo-inbox-door.js +81 -0
  7. package/dist/adapters/fleet/argo-inbox-door.js.map +1 -0
  8. package/dist/adapters/fleet/rest-fleet-door.d.ts +14 -0
  9. package/dist/adapters/fleet/rest-fleet-door.js +11 -1
  10. package/dist/adapters/fleet/rest-fleet-door.js.map +1 -1
  11. package/dist/adapters/http/front-door.js +3 -1
  12. package/dist/adapters/http/front-door.js.map +1 -1
  13. package/dist/adapters/http/live.d.ts +10 -1
  14. package/dist/adapters/http/live.js +10 -1
  15. package/dist/adapters/http/live.js.map +1 -1
  16. package/dist/adapters/pagasae/email-channel.js +5 -3
  17. package/dist/adapters/pagasae/email-channel.js.map +1 -1
  18. package/dist/adapters/pagasae/pagasae-client.js +1 -0
  19. package/dist/adapters/pagasae/pagasae-client.js.map +1 -1
  20. package/dist/adapters/pagasae/shared-sign-in.js +2 -2
  21. package/dist/adapters/pagasae/shared-sign-in.js.map +1 -1
  22. package/dist/adapters/prisma/argo-accounts.d.ts +4 -0
  23. package/dist/adapters/prisma/argo-accounts.js +17 -0
  24. package/dist/adapters/prisma/argo-accounts.js.map +1 -0
  25. package/dist/adapters/prisma/argo-slack-posts.d.ts +4 -0
  26. package/dist/adapters/prisma/argo-slack-posts.js +30 -0
  27. package/dist/adapters/prisma/argo-slack-posts.js.map +1 -0
  28. package/dist/adapters/prisma/argo-wakes.d.ts +4 -0
  29. package/dist/adapters/prisma/argo-wakes.js +54 -0
  30. package/dist/adapters/prisma/argo-wakes.js.map +1 -0
  31. package/dist/adapters/prisma/fleet-forgetter.d.ts +1 -1
  32. package/dist/adapters/prisma/fleet-forgetter.js +2 -2
  33. package/dist/adapters/prisma/fleet-forgetter.js.map +1 -1
  34. package/dist/adapters/prisma/generated/browser.d.ts +20 -0
  35. package/dist/adapters/prisma/generated/client.d.ts +20 -0
  36. package/dist/adapters/prisma/generated/internal/class.d.ts +44 -0
  37. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  38. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  39. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +334 -1
  40. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +30 -1
  41. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  42. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +33 -0
  43. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +30 -1
  44. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  45. package/dist/adapters/prisma/generated/models/ArgoAccount.d.ts +946 -0
  46. package/dist/adapters/prisma/generated/models/ArgoAccount.js +2 -0
  47. package/dist/adapters/prisma/generated/models/ArgoAccount.js.map +1 -0
  48. package/dist/adapters/prisma/generated/models/ArgoMessageCovered.d.ts +947 -0
  49. package/dist/adapters/prisma/generated/models/ArgoMessageCovered.js +2 -0
  50. package/dist/adapters/prisma/generated/models/ArgoMessageCovered.js.map +1 -0
  51. package/dist/adapters/prisma/generated/models/ArgoSlackPost.d.ts +1065 -0
  52. package/dist/adapters/prisma/generated/models/ArgoSlackPost.js +2 -0
  53. package/dist/adapters/prisma/generated/models/ArgoSlackPost.js.map +1 -0
  54. package/dist/adapters/prisma/generated/models/ArgoWakeSent.d.ts +975 -0
  55. package/dist/adapters/prisma/generated/models/ArgoWakeSent.js +2 -0
  56. package/dist/adapters/prisma/generated/models/ArgoWakeSent.js.map +1 -0
  57. package/dist/adapters/prisma/generated/models.d.ts +4 -0
  58. package/dist/adapters/slack/slack-messages.js +5 -4
  59. package/dist/adapters/slack/slack-messages.js.map +1 -1
  60. package/dist/adapters/trpc/router.d.ts +24 -0
  61. package/dist/adapters/trpc/router.js +11 -0
  62. package/dist/adapters/trpc/router.js.map +1 -1
  63. package/dist/adapters/web-push/web-push.js +1 -1
  64. package/dist/adapters/web-push/web-push.js.map +1 -1
  65. package/dist/app.js +89 -2
  66. package/dist/app.js.map +1 -1
  67. package/dist/core/account-sign-in/account-of-sign-in.d.ts +7 -2
  68. package/dist/core/account-sign-in/account-of-sign-in.js +9 -3
  69. package/dist/core/account-sign-in/account-of-sign-in.js.map +1 -1
  70. package/dist/core/account-sign-in/ports.d.ts +2 -0
  71. package/dist/core/argo-inbox/argo-inbox.d.ts +31 -0
  72. package/dist/core/argo-inbox/argo-inbox.js +23 -0
  73. package/dist/core/argo-inbox/argo-inbox.js.map +1 -0
  74. package/dist/core/argo-inbox/argo-slack-message.d.ts +17 -0
  75. package/dist/core/argo-inbox/argo-slack-message.js +40 -0
  76. package/dist/core/argo-inbox/argo-slack-message.js.map +1 -0
  77. package/dist/core/argo-inbox/argo-slack-post.d.ts +21 -0
  78. package/dist/core/argo-inbox/argo-slack-post.js +2 -0
  79. package/dist/core/argo-inbox/argo-slack-post.js.map +1 -0
  80. package/dist/core/argo-inbox/follow-argo-inbox.d.ts +33 -0
  81. package/dist/core/argo-inbox/follow-argo-inbox.js +133 -0
  82. package/dist/core/argo-inbox/follow-argo-inbox.js.map +1 -0
  83. package/dist/core/argo-inbox/note-argo-account.d.ts +19 -0
  84. package/dist/core/argo-inbox/note-argo-account.js +18 -0
  85. package/dist/core/argo-inbox/note-argo-account.js.map +1 -0
  86. package/dist/core/argo-inbox/ports.d.ts +123 -0
  87. package/dist/core/argo-inbox/ports.js +2 -0
  88. package/dist/core/argo-inbox/ports.js.map +1 -0
  89. package/dist/core/argo-inbox/read-argo-inbox-notice.d.ts +34 -0
  90. package/dist/core/argo-inbox/read-argo-inbox-notice.js +20 -0
  91. package/dist/core/argo-inbox/read-argo-inbox-notice.js.map +1 -0
  92. package/dist/core/argo-inbox/read-argo-section.d.ts +54 -0
  93. package/dist/core/argo-inbox/read-argo-section.js +67 -0
  94. package/dist/core/argo-inbox/read-argo-section.js.map +1 -0
  95. package/dist/core/argo-inbox/show-argo-inbox-in-slack.d.ts +36 -0
  96. package/dist/core/argo-inbox/show-argo-inbox-in-slack.js +125 -0
  97. package/dist/core/argo-inbox/show-argo-inbox-in-slack.js.map +1 -0
  98. package/dist/core/argo-inbox/wake-for-argo.d.ts +37 -0
  99. package/dist/core/argo-inbox/wake-for-argo.js +139 -0
  100. package/dist/core/argo-inbox/wake-for-argo.js.map +1 -0
  101. package/dist/core/oauth/exchange-id-jag.d.ts +4 -1
  102. package/dist/core/oauth/exchange-id-jag.js +5 -2
  103. package/dist/core/oauth/exchange-id-jag.js.map +1 -1
  104. package/dist/core/people/person-wakes.d.ts +49 -0
  105. package/dist/core/people/person-wakes.js +27 -0
  106. package/dist/core/people/person-wakes.js.map +1 -0
  107. package/dist/core/people/ports.d.ts +6 -2
  108. package/dist/core/people/wake-person.js +1 -1
  109. package/dist/core/people/wake-person.js.map +1 -1
  110. package/dist/core/people/web-push-channel.js +2 -2
  111. package/dist/core/people/web-push-channel.js.map +1 -1
  112. package/dist/core/sign-in/account-token.d.ts +5 -1
  113. package/dist/core/sign-in/account-token.js +8 -2
  114. package/dist/core/sign-in/account-token.js.map +1 -1
  115. package/dist/core/sign-in/complete-sign-in.d.ts +4 -1
  116. package/dist/core/sign-in/complete-sign-in.js +5 -2
  117. package/dist/core/sign-in/complete-sign-in.js.map +1 -1
  118. package/dist/core/sign-in/ports.d.ts +2 -0
  119. package/dist/core/slack/edited-post-of.d.ts +2 -0
  120. package/dist/core/slack/edited-post-of.js +1 -1
  121. package/dist/core/slack/edited-post-of.js.map +1 -1
  122. package/dist/core/slack/ports.d.ts +6 -4
  123. package/package.json +3 -2
  124. package/src/adapters/prisma/migrations/20261109090000_argo_accounts/migration.sql +8 -0
  125. package/src/adapters/prisma/migrations/20261110090000_argo_slack_posts/migration.sql +12 -0
  126. package/src/adapters/prisma/migrations/20261110100000_argo_wakes/migration.sql +18 -0
  127. package/src/adapters/prisma/schema.prisma +47 -0
  128. package/web/.next/BUILD_ID +1 -1
  129. package/web/.next/build-manifest.json +3 -3
  130. package/web/.next/diagnostics/route-bundle-stats.json +130 -128
  131. package/web/.next/fallback-build-manifest.json +3 -3
  132. package/web/.next/prerender-manifest.json +3 -3
  133. package/web/.next/server/app/(bridge)/bridge/basket/page/server-reference-manifest.json +10 -10
  134. package/web/.next/server/app/(bridge)/bridge/basket/page.js +6 -6
  135. package/web/.next/server/app/(bridge)/bridge/basket/page.js.nft.json +1 -1
  136. package/web/.next/server/app/(bridge)/bridge/basket/page_client-reference-manifest.js +1 -1
  137. package/web/.next/server/app/(bridge)/bridge/done/page/server-reference-manifest.json +2 -2
  138. package/web/.next/server/app/(bridge)/bridge/done/page.js +6 -6
  139. package/web/.next/server/app/(bridge)/bridge/done/page.js.nft.json +1 -1
  140. package/web/.next/server/app/(bridge)/bridge/done/page_client-reference-manifest.js +1 -1
  141. package/web/.next/server/app/(bridge)/bridge/fleet/page/server-reference-manifest.json +1 -1
  142. package/web/.next/server/app/(bridge)/bridge/fleet/page.js +6 -6
  143. package/web/.next/server/app/(bridge)/bridge/fleet/page.js.nft.json +1 -1
  144. package/web/.next/server/app/(bridge)/bridge/fleet/page_client-reference-manifest.js +1 -1
  145. package/web/.next/server/app/(bridge)/bridge/page/server-reference-manifest.json +9 -9
  146. package/web/.next/server/app/(bridge)/bridge/page.js +6 -6
  147. package/web/.next/server/app/(bridge)/bridge/page.js.nft.json +1 -1
  148. package/web/.next/server/app/(bridge)/bridge/page_client-reference-manifest.js +1 -1
  149. package/web/.next/server/app/(bridge)/bridge/settings/page/server-reference-manifest.json +1 -1
  150. package/web/.next/server/app/(bridge)/bridge/settings/page.js +7 -7
  151. package/web/.next/server/app/(bridge)/bridge/settings/page.js.nft.json +1 -1
  152. package/web/.next/server/app/(bridge)/bridge/settings/page_client-reference-manifest.js +1 -1
  153. package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page/server-reference-manifest.json +2 -2
  154. package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page.js +6 -6
  155. package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page.js.nft.json +1 -1
  156. package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page_client-reference-manifest.js +1 -1
  157. package/web/.next/server/app/(bridge)/bridge/settings/routing/page/server-reference-manifest.json +5 -5
  158. package/web/.next/server/app/(bridge)/bridge/settings/routing/page.js +4 -4
  159. package/web/.next/server/app/(bridge)/bridge/settings/routing/page.js.nft.json +1 -1
  160. package/web/.next/server/app/(bridge)/bridge/settings/routing/page_client-reference-manifest.js +1 -1
  161. package/web/.next/server/app/(bridge)/bridge/stay-aware/page/server-reference-manifest.json +9 -9
  162. package/web/.next/server/app/(bridge)/bridge/stay-aware/page.js +5 -5
  163. package/web/.next/server/app/(bridge)/bridge/stay-aware/page.js.nft.json +1 -1
  164. package/web/.next/server/app/(bridge)/bridge/stay-aware/page_client-reference-manifest.js +1 -1
  165. package/web/.next/server/app/(console)/gateway-off/page/server-reference-manifest.json +1 -1
  166. package/web/.next/server/app/(console)/gateway-off/page.js +2 -2
  167. package/web/.next/server/app/(console)/gateway-off/page.js.nft.json +1 -1
  168. package/web/.next/server/app/(console)/gateway-off/page_client-reference-manifest.js +1 -1
  169. package/web/.next/server/app/(console)/meetings/[meetingId]/page/server-reference-manifest.json +3 -3
  170. package/web/.next/server/app/(console)/meetings/[meetingId]/page.js +2 -2
  171. package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.nft.json +1 -1
  172. package/web/.next/server/app/(console)/meetings/[meetingId]/page_client-reference-manifest.js +1 -1
  173. package/web/.next/server/app/(console)/outside-parties/[name]/change/page/server-reference-manifest.json +15 -15
  174. package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js +2 -2
  175. package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js.nft.json +1 -1
  176. package/web/.next/server/app/(console)/outside-parties/[name]/change/page_client-reference-manifest.js +1 -1
  177. package/web/.next/server/app/(console)/outside-parties/[name]/page/server-reference-manifest.json +8 -8
  178. package/web/.next/server/app/(console)/outside-parties/[name]/page.js +2 -2
  179. package/web/.next/server/app/(console)/outside-parties/[name]/page.js.nft.json +1 -1
  180. package/web/.next/server/app/(console)/outside-parties/[name]/page_client-reference-manifest.js +1 -1
  181. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/server-reference-manifest.json +15 -15
  182. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js +2 -2
  183. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js.nft.json +1 -1
  184. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page_client-reference-manifest.js +1 -1
  185. package/web/.next/server/app/(console)/outside-parties/add/page/server-reference-manifest.json +10 -10
  186. package/web/.next/server/app/(console)/outside-parties/add/page.js +2 -2
  187. package/web/.next/server/app/(console)/outside-parties/add/page.js.nft.json +1 -1
  188. package/web/.next/server/app/(console)/outside-parties/add/page_client-reference-manifest.js +1 -1
  189. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +2 -2
  190. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js +2 -2
  191. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.nft.json +1 -1
  192. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +1 -1
  193. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/server-reference-manifest.json +2 -2
  194. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js +2 -2
  195. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.nft.json +1 -1
  196. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page_client-reference-manifest.js +1 -1
  197. package/web/.next/server/app/(console)/outside-parties/page/server-reference-manifest.json +2 -2
  198. package/web/.next/server/app/(console)/outside-parties/page.js +2 -2
  199. package/web/.next/server/app/(console)/outside-parties/page.js.nft.json +1 -1
  200. package/web/.next/server/app/(console)/outside-parties/page_client-reference-manifest.js +1 -1
  201. package/web/.next/server/app/(console)/parties/page/server-reference-manifest.json +7 -7
  202. package/web/.next/server/app/(console)/parties/page.js +2 -2
  203. package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -1
  204. package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +1 -1
  205. package/web/.next/server/app/(console)/sign-in/failed/page/server-reference-manifest.json +1 -1
  206. package/web/.next/server/app/(console)/sign-in/failed/page.js +2 -2
  207. package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -1
  208. package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +1 -1
  209. package/web/.next/server/app/(console)/slack/disconnect/page/server-reference-manifest.json +11 -11
  210. package/web/.next/server/app/(console)/slack/disconnect/page.js +2 -2
  211. package/web/.next/server/app/(console)/slack/disconnect/page.js.nft.json +1 -1
  212. package/web/.next/server/app/(console)/slack/disconnect/page_client-reference-manifest.js +1 -1
  213. package/web/.next/server/app/(console)/slack/expose/page/server-reference-manifest.json +11 -11
  214. package/web/.next/server/app/(console)/slack/expose/page.js +2 -2
  215. package/web/.next/server/app/(console)/slack/expose/page.js.nft.json +1 -1
  216. package/web/.next/server/app/(console)/slack/expose/page_client-reference-manifest.js +1 -1
  217. package/web/.next/server/app/(console)/slack/page/server-reference-manifest.json +11 -11
  218. package/web/.next/server/app/(console)/slack/page.js +2 -2
  219. package/web/.next/server/app/(console)/slack/page.js.nft.json +1 -1
  220. package/web/.next/server/app/(console)/slack/page_client-reference-manifest.js +1 -1
  221. package/web/.next/server/app/(console)/slack/remove/page/server-reference-manifest.json +11 -11
  222. package/web/.next/server/app/(console)/slack/remove/page.js +2 -2
  223. package/web/.next/server/app/(console)/slack/remove/page.js.nft.json +1 -1
  224. package/web/.next/server/app/(console)/slack/remove/page_client-reference-manifest.js +1 -1
  225. package/web/.next/server/app/_global-error.html +1 -1
  226. package/web/.next/server/app/_global-error.rsc +1 -1
  227. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  228. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  229. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  230. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  231. package/web/.next/server/app/_not-found/page.js +2 -2
  232. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  233. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  234. package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
  235. package/web/.next/server/app/authorize/failed/page.js +3 -4
  236. package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
  237. package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
  238. package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
  239. package/web/.next/server/app/authorize/pick/page.js +3 -4
  240. package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
  241. package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
  242. package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
  243. package/web/.next/server/app/authorize/waiting/approval/page.js +3 -4
  244. package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
  245. package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
  246. package/web/.next/server/chunks/ssr/01fr_app_(bridge)_bridge_settings_requests_[requestId]_page_actions_0o8g7_xshtmem.js +1 -1
  247. package/web/.next/server/chunks/ssr/01fr_app_(bridge)_bridge_settings_requests_[requestId]_page_actions_0o8g7_xshtmem.js.map +1 -1
  248. package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js +1 -1
  249. package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js.map +1 -1
  250. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_bridge_settings_routing_page_actions_06_j7s24dy5ee.js +1 -1
  251. package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_bridge_settings_routing_page_actions_06_j7s24dy5ee.js.map +1 -1
  252. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js +1 -1
  253. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js.map +1 -1
  254. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js +1 -1
  255. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js.map +1 -1
  256. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js +1 -1
  257. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js.map +1 -1
  258. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js +1 -1
  259. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js.map +1 -1
  260. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js +1 -1
  261. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js.map +1 -1
  262. package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js +1 -1
  263. package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js.map +1 -1
  264. package/web/.next/server/chunks/ssr/[root-of-the-server]__0a6a1yc_ac-qt._.js +1 -1
  265. package/web/.next/server/chunks/ssr/[root-of-the-server]__0a8db18tyk__5._.js +1 -1
  266. package/web/.next/server/chunks/ssr/[root-of-the-server]__0a8db18tyk__5._.js.map +1 -1
  267. package/web/.next/server/chunks/ssr/[root-of-the-server]__0e4l5gt01o04p._.js +1 -1
  268. package/web/.next/server/chunks/ssr/[root-of-the-server]__0fz0817_b9ljl._.js +1 -1
  269. package/web/.next/server/chunks/ssr/[root-of-the-server]__0gptrhg3mj4hs._.js.map +1 -1
  270. package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js +1 -1
  271. package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js.map +1 -1
  272. package/web/.next/server/chunks/ssr/[root-of-the-server]__0kjcooo3pi4_k._.js.map +1 -1
  273. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rmg7huc074bf._.js +1 -1
  274. package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js +1 -1
  275. package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js.map +1 -1
  276. package/web/.next/server/chunks/ssr/[root-of-the-server]__13v3maun347sn._.js +1 -1
  277. package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js +1 -1
  278. package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js.map +1 -1
  279. package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js +1 -1
  280. package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js.map +1 -1
  281. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1qtzvez4cn5be._.js → [root-of-the-server]__1ektgsnjg4btl._.js} +2 -2
  282. package/web/.next/server/chunks/ssr/[root-of-the-server]__1hgu6f5hpnykv._.js.map +1 -1
  283. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1j6n8jj7-5t6v._.js → [root-of-the-server]__1nfpyr3ynmwks._.js} +1 -1
  284. package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpow96uit9t8._.js +1 -1
  285. package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpow96uit9t8._.js.map +1 -1
  286. package/web/.next/server/chunks/ssr/[root-of-the-server]__1ul9rrs2g66lm._.js +1 -1
  287. package/web/.next/server/chunks/ssr/[root-of-the-server]__20gvfqy33wcds._.js.map +1 -1
  288. package/web/.next/server/chunks/ssr/_00fvst5icgei4._.js +3 -0
  289. package/web/.next/server/chunks/ssr/_00fvst5icgei4._.js.map +1 -0
  290. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
  291. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
  292. package/web/.next/server/chunks/ssr/_02mwdj1oj1zgm._.js +3 -0
  293. package/web/.next/server/chunks/ssr/_02mwdj1oj1zgm._.js.map +1 -0
  294. package/web/.next/server/chunks/ssr/_0fqd23gyia_8g._.js +3 -0
  295. package/web/.next/server/chunks/ssr/_0fqd23gyia_8g._.js.map +1 -0
  296. package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js +1 -1
  297. package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js.map +1 -1
  298. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js +1 -1
  299. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -1
  300. package/web/.next/server/chunks/ssr/_0u0u0owpxx_37._.js +3 -0
  301. package/web/.next/server/chunks/ssr/_0u0u0owpxx_37._.js.map +1 -0
  302. package/web/.next/server/chunks/ssr/_0v_x6k3ztfvx0._.js +1 -1
  303. package/web/.next/server/chunks/ssr/_0v_x6k3ztfvx0._.js.map +1 -1
  304. package/web/.next/server/chunks/ssr/_0x5-_917zcaj9._.js +3 -0
  305. package/web/.next/server/chunks/ssr/_0x5-_917zcaj9._.js.map +1 -0
  306. package/web/.next/server/chunks/ssr/{_0cnpz5jm2_9xf._.js → _0xajzaside0sw._.js} +2 -2
  307. package/web/.next/server/chunks/ssr/{_0cnpz5jm2_9xf._.js.map → _0xajzaside0sw._.js.map} +1 -1
  308. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
  309. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/_0yhvyj-yts7qi._.js +3 -0
  311. package/web/.next/server/chunks/ssr/_0yhvyj-yts7qi._.js.map +1 -0
  312. package/web/.next/server/chunks/ssr/_104ilzyn58zw_._.js +3 -0
  313. package/web/.next/server/chunks/ssr/_104ilzyn58zw_._.js.map +1 -0
  314. package/web/.next/server/chunks/ssr/{_1a9wrl8uw7x-y._.js → _13_ady-a4058y._.js} +1 -1
  315. package/web/.next/server/chunks/ssr/_14k1oldo5chf8._.js +1 -1
  316. package/web/.next/server/chunks/ssr/_14k1oldo5chf8._.js.map +1 -1
  317. package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js +1 -1
  318. package/web/.next/server/chunks/ssr/{_1iorutn_o9hja._.js → _1cc4ie_s4tycq._.js} +1 -1
  319. package/web/.next/server/chunks/ssr/_1e2o809f0ekry._.js +1 -1
  320. package/web/.next/server/chunks/ssr/_1gbkqq8ra1nei._.js +1 -1
  321. package/web/.next/server/chunks/ssr/_1gbkqq8ra1nei._.js.map +1 -1
  322. package/web/.next/server/chunks/ssr/{_1kdx8a0j5cxyl._.js → _1gnk2vqna6c6u._.js} +2 -2
  323. package/web/.next/server/chunks/ssr/{_1kdx8a0j5cxyl._.js.map → _1gnk2vqna6c6u._.js.map} +1 -1
  324. package/web/.next/server/chunks/ssr/_1k2b80m058vgx._.js +3 -0
  325. package/web/.next/server/chunks/ssr/_1k2b80m058vgx._.js.map +1 -0
  326. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
  327. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
  328. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
  329. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
  330. package/web/.next/server/chunks/ssr/_1t74yvog5g6g2._.js +1 -1
  331. package/web/.next/server/chunks/ssr/_1t74yvog5g6g2._.js.map +1 -1
  332. package/web/.next/server/chunks/ssr/{_1i5zdy3tp2ykh._.js → _1xgivp19ts9hn._.js} +1 -1
  333. package/web/.next/server/chunks/ssr/_1zmd3armaxhyu._.js +1 -1
  334. package/web/.next/server/chunks/ssr/_1zmd3armaxhyu._.js.map +1 -1
  335. package/web/.next/server/chunks/ssr/node_modules_05ni_zu0e0w44._.js +3 -0
  336. package/web/.next/server/chunks/ssr/node_modules_05ni_zu0e0w44._.js.map +1 -0
  337. package/web/.next/server/chunks/ssr/node_modules_07vtvfyfo0a6i._.js +3 -0
  338. package/web/.next/server/chunks/ssr/node_modules_07vtvfyfo0a6i._.js.map +1 -0
  339. package/web/.next/server/chunks/ssr/node_modules_0ettht2so2tkh._.js +1 -1
  340. package/web/.next/server/chunks/ssr/node_modules_0keape0zsobyj._.js +1 -1
  341. package/web/.next/server/chunks/ssr/node_modules_12euo0ncdx1pn._.js +3 -0
  342. package/web/.next/server/chunks/ssr/node_modules_12euo0ncdx1pn._.js.map +1 -0
  343. package/web/.next/server/chunks/ssr/node_modules_1722-epjft-rn._.js +3 -0
  344. package/web/.next/server/chunks/ssr/node_modules_1722-epjft-rn._.js.map +1 -0
  345. package/web/.next/server/chunks/ssr/{node_modules_@aeolus-fleet_common_dist_header_1x3s5abk_uj9j._.js → node_modules_@aeolus-fleet_ui_dist_11tn8gozt2_c3._.js} +2 -2
  346. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_ui_dist_11tn8gozt2_c3._.js.map +1 -0
  347. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_ui_dist_16j49enf275ln._.js +3 -0
  348. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_ui_dist_16j49enf275ln._.js.map +1 -0
  349. package/web/.next/server/chunks/ssr/node_modules_@base-ui_0jlwmxa9rk8p_._.js +1 -1
  350. package/web/.next/server/chunks/ssr/node_modules_@base-ui_19e_nxxf4a88q._.js +1 -1
  351. package/web/.next/server/chunks/ssr/web_0_peudz6-o69m._.js +1 -1
  352. package/web/.next/server/chunks/ssr/web_0_peudz6-o69m._.js.map +1 -1
  353. package/web/.next/server/chunks/ssr/web_0cxcy088wnfmw._.js +1 -1
  354. package/web/.next/server/chunks/ssr/web_0oz8bypfxh82g._.js +1 -1
  355. package/web/.next/server/chunks/ssr/web_0oz8bypfxh82g._.js.map +1 -1
  356. package/web/.next/server/chunks/ssr/web_0qgev3ti257yj._.js +1 -1
  357. package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js +1 -1
  358. package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js.map +1 -1
  359. package/web/.next/server/chunks/ssr/web_1fi1x3y7rg7mf._.js +1 -1
  360. package/web/.next/server/chunks/ssr/web_1ga4pbv72m0ad._.js +1 -1
  361. package/web/.next/server/chunks/ssr/web_1irsulms62lzf._.js +1 -1
  362. package/web/.next/server/chunks/ssr/web_1k2rrq-kr6f9k._.js +1 -1
  363. package/web/.next/server/chunks/ssr/web_1k2rrq-kr6f9k._.js.map +1 -1
  364. package/web/.next/server/chunks/ssr/web_1qvxzqmq4aw94._.js +1 -1
  365. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_basket_page_actions_0g7q_rc5nma1e.js +1 -1
  366. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_basket_page_actions_0g7q_rc5nma1e.js.map +1 -1
  367. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_done_page_actions_0kjm34arntdzv.js +1 -1
  368. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_done_page_actions_0kjm34arntdzv.js.map +1 -1
  369. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_page_actions_1ok64rg3edm_u.js +1 -1
  370. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_page_actions_1ok64rg3edm_u.js.map +1 -1
  371. package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_fleet_page_tsx_0uvtx8hiy8g0n._.js +1 -1
  372. package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_settings_page_tsx_1z5yr8ss25q7n._.js +1 -1
  373. package/web/.next/server/chunks/ssr/web_app_(console)_parties_page_tsx_0pp63ghly3eyp._.js +1 -1
  374. package/web/.next/server/chunks/ssr/web_app_authorize_layout_tsx_0gs61_7wzx68y._.js +1 -1
  375. package/web/.next/server/chunks/ssr/web_app_authorize_layout_tsx_0gs61_7wzx68y._.js.map +1 -1
  376. package/web/.next/server/chunks/ssr/{web_features_0bwqcs9wjf4y8._.js → web_features_06f9kfi0c4nf8._.js} +2 -2
  377. package/web/.next/server/chunks/ssr/{web_features_05aos-xwnl3m_._.js.map → web_features_06f9kfi0c4nf8._.js.map} +1 -1
  378. package/web/.next/server/chunks/ssr/web_features_0rd6357w-eo50._.js +1 -1
  379. package/web/.next/server/chunks/ssr/{web_features_05aos-xwnl3m_._.js → web_features_12b-75qfhurxi._.js} +2 -2
  380. package/web/.next/server/chunks/ssr/{web_features_0bwqcs9wjf4y8._.js.map → web_features_12b-75qfhurxi._.js.map} +1 -1
  381. package/web/.next/server/chunks/ssr/web_features_19r68thirqv1n._.js +1 -1
  382. package/web/.next/server/chunks/ssr/web_features_1m5g9a6mwrsd-._.js +1 -1
  383. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +1 -1
  384. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -1
  385. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +1 -1
  386. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js.map +1 -1
  387. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +1 -1
  388. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -1
  389. package/web/.next/server/chunks/ssr/web_features_authorize_137wk0n1nu3cn._.js +1 -1
  390. package/web/.next/server/chunks/ssr/web_features_authorize_137wk0n1nu3cn._.js.map +1 -1
  391. package/web/.next/server/chunks/ssr/{web_features_bridge_0w95y19yk5w14._.js → web_features_bridge_0msm42qwm0-jq._.js} +2 -2
  392. package/web/.next/server/chunks/ssr/{web_features_bridge_0w95y19yk5w14._.js.map → web_features_bridge_0msm42qwm0-jq._.js.map} +1 -1
  393. package/web/.next/server/chunks/ssr/web_features_bridge_fleet_ui_fleet-numbers_tsx_0_afv4j248_w-._.js +1 -1
  394. package/web/.next/server/chunks/ssr/web_features_bridge_fleet_ui_fleet-numbers_tsx_0_afv4j248_w-._.js.map +1 -1
  395. package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js +1 -1
  396. package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js.map +1 -1
  397. package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js +1 -1
  398. package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js.map +1 -1
  399. package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js +1 -1
  400. package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js.map +1 -1
  401. package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js +1 -1
  402. package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js.map +1 -1
  403. package/web/.next/server/chunks/ssr/web_features_bridge_state_home-panel_tsx_1cc5zdhxogl_2._.js +1 -1
  404. package/web/.next/server/chunks/ssr/web_features_bridge_state_home-panel_tsx_1cc5zdhxogl_2._.js.map +1 -1
  405. package/web/.next/server/chunks/ssr/{web_features_025l9l6m2zkya._.js → web_features_forms_1u0akr22eh_x_._.js} +2 -2
  406. package/web/.next/server/chunks/ssr/web_features_forms_1u0akr22eh_x_._.js.map +1 -0
  407. package/web/.next/server/chunks/ssr/web_features_frame_01uyck6q56an2._.js +3 -0
  408. package/web/.next/server/chunks/ssr/web_features_frame_01uyck6q56an2._.js.map +1 -0
  409. package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js +1 -1
  410. package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js.map +1 -1
  411. package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js +1 -1
  412. package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js.map +1 -1
  413. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
  414. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
  415. package/web/.next/server/chunks/ssr/web_features_outside-party_1-lre9nfakki7._.js +1 -1
  416. package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
  417. package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
  418. package/web/.next/server/chunks/ssr/web_features_slack_actions_ts_1l3yg9vl20_vu._.js +1 -1
  419. package/web/.next/server/middleware-build-manifest.js +3 -3
  420. package/web/.next/server/pages/500.html +1 -1
  421. package/web/.next/server/preview-props.json +3 -3
  422. package/web/.next/server/server-reference-manifest.js +1 -1
  423. package/web/.next/server/server-reference-manifest.json +49 -49
  424. package/web/.next/static/chunks/030kay14jcn_y.js +1 -0
  425. package/web/.next/static/chunks/0ben53l12lrh1.js +1 -0
  426. package/web/.next/static/chunks/0d1u4n5okodee.css +3 -0
  427. package/web/.next/static/chunks/0dg4cy4rae-3o.js +1 -0
  428. package/web/.next/static/chunks/0jwils_670syn.js +1 -0
  429. package/web/.next/static/chunks/0lnew3mjkd54b.js +1 -0
  430. package/web/.next/static/chunks/0m95j-t2qmnd_.js +1 -0
  431. package/web/.next/static/chunks/0r5ujkp-5utsu.js +1 -0
  432. package/web/.next/static/chunks/{23vvtbj-zoa_f.js → 1jyiwl5szsvgn.js} +1 -1
  433. package/web/.next/static/chunks/{0k33n07zesv12.js → 1lkcm-iwggfae.js} +1 -1
  434. package/web/.next/static/chunks/1ml6wx1ya9wwo.js +1 -0
  435. package/web/.next/static/chunks/22wtc73dzqm8f.js +1 -0
  436. package/web/.next/static/chunks/2drwxc7-hry0u.js +1 -0
  437. package/web/.next/static/chunks/{07j7jnfe13wx6.js → 2ich96rzec753.js} +1 -1
  438. package/web/.next/static/chunks/{3d5z1i-6yksxd.js → 2khjzepn4_2a-.js} +1 -1
  439. package/web/.next/static/chunks/{1uhmdmkn5gsk2.js → 2ui6n5-n032a3.js} +1 -1
  440. package/web/.next/static/chunks/2wvdu6-tx1h0l.js +1 -0
  441. package/web/.next/static/chunks/33qpc2y76i927.js +1 -0
  442. package/web/.next/static/chunks/3h8spyc73a438.js +1 -0
  443. package/web/.next/static/chunks/{2dgbb29jkr_tu.js → 3v8s571padqcz.js} +1 -1
  444. package/web/.next/static/chunks/3wg9zn3lyhf-b.js +1 -0
  445. package/web/.next/trace +1 -1
  446. package/web/.next/trace-build +1 -1
  447. package/web/public/argo-wake-icon.svg +1 -0
  448. package/web/public/wake-worker.js +8 -2
  449. package/web/public/wake-worker.test.ts +52 -0
  450. package/web/.next/server/chunks/ssr/_0oekmfmigr0qv._.js +0 -3
  451. package/web/.next/server/chunks/ssr/_0oekmfmigr0qv._.js.map +0 -1
  452. package/web/.next/server/chunks/ssr/_0vid8-myyy-_4._.js +0 -3
  453. package/web/.next/server/chunks/ssr/_0y5eahpucp8g_._.js +0 -3
  454. package/web/.next/server/chunks/ssr/_0y5eahpucp8g_._.js.map +0 -1
  455. package/web/.next/server/chunks/ssr/_13fbnlwrl24s3._.js +0 -3
  456. package/web/.next/server/chunks/ssr/_13fbnlwrl24s3._.js.map +0 -1
  457. package/web/.next/server/chunks/ssr/_1airu8wwf7z1b._.js +0 -3
  458. package/web/.next/server/chunks/ssr/_1airu8wwf7z1b._.js.map +0 -1
  459. package/web/.next/server/chunks/ssr/_1i5zdy3tp2ykh._.js.map +0 -1
  460. package/web/.next/server/chunks/ssr/_1pp0z5srqqqyl._.js +0 -3
  461. package/web/.next/server/chunks/ssr/_1pp0z5srqqqyl._.js.map +0 -1
  462. package/web/.next/server/chunks/ssr/_1xuikhitica6p._.js +0 -3
  463. package/web/.next/server/chunks/ssr/_1xuikhitica6p._.js.map +0 -1
  464. package/web/.next/server/chunks/ssr/node_modules_0gpbs01t1c_a4._.js +0 -3
  465. package/web/.next/server/chunks/ssr/node_modules_0gpbs01t1c_a4._.js.map +0 -1
  466. package/web/.next/server/chunks/ssr/node_modules_0zgrzr0ui3gi8._.js +0 -3
  467. package/web/.next/server/chunks/ssr/node_modules_0zgrzr0ui3gi8._.js.map +0 -1
  468. package/web/.next/server/chunks/ssr/node_modules_174jf4d4t_bo_._.js +0 -3
  469. package/web/.next/server/chunks/ssr/node_modules_174jf4d4t_bo_._.js.map +0 -1
  470. package/web/.next/server/chunks/ssr/node_modules_1qxtjrbc2-6xd._.js +0 -3
  471. package/web/.next/server/chunks/ssr/node_modules_1qxtjrbc2-6xd._.js.map +0 -1
  472. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_0t_cmi-llaq7g._.js +0 -3
  473. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_0t_cmi-llaq7g._.js.map +0 -1
  474. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1x3s5abk_uj9j._.js.map +0 -1
  475. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_app-switcher_08qq5-uxv7jii.js +0 -3
  476. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_app-switcher_08qq5-uxv7jii.js.map +0 -1
  477. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_class-names_1h5pbm2ucssiq.js +0 -3
  478. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_class-names_1h5pbm2ucssiq.js.map +0 -1
  479. package/web/.next/server/chunks/ssr/web_features_025l9l6m2zkya._.js.map +0 -1
  480. package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js +0 -3
  481. package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js.map +0 -1
  482. package/web/.next/server/chunks/ssr/web_features_outside-parties_paths_ts_0vbj9elyqekpp._.js +0 -3
  483. package/web/.next/server/chunks/ssr/web_features_outside-parties_paths_ts_0vbj9elyqekpp._.js.map +0 -1
  484. package/web/.next/static/chunks/0ozz8jadgfdrx.js +0 -1
  485. package/web/.next/static/chunks/1v36iovy1f5cj.js +0 -1
  486. package/web/.next/static/chunks/1vhvy8bx4fxur.js +0 -1
  487. package/web/.next/static/chunks/1vhx_nu9nxo1v.js +0 -1
  488. package/web/.next/static/chunks/24vn5i6ojvl8l.js +0 -1
  489. package/web/.next/static/chunks/2l6hafvocw-rd.js +0 -1
  490. package/web/.next/static/chunks/2ld8_nap7g_uy.js +0 -1
  491. package/web/.next/static/chunks/2pvcbql986wln.js +0 -1
  492. package/web/.next/static/chunks/2s1efgj6gxjgl.js +0 -1
  493. package/web/.next/static/chunks/2zlx-c_0x38uo.css +0 -3
  494. package/web/.next/static/chunks/34u_331hqync_.js +0 -1
  495. package/web/.next/static/chunks/3_bb0g4jkqn8q.js +0 -1
  496. package/web/.next/static/chunks/3jq9vu8tr29j2.js +0 -1
  497. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__1qtzvez4cn5be._.js.map → [root-of-the-server]__1ektgsnjg4btl._.js.map} +0 -0
  498. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__1j6n8jj7-5t6v._.js.map → [root-of-the-server]__1nfpyr3ynmwks._.js.map} +0 -0
  499. /package/web/.next/server/chunks/ssr/{_1a9wrl8uw7x-y._.js.map → _13_ady-a4058y._.js.map} +0 -0
  500. /package/web/.next/server/chunks/ssr/{_1iorutn_o9hja._.js.map → _1cc4ie_s4tycq._.js.map} +0 -0
  501. /package/web/.next/server/chunks/ssr/{_0vid8-myyy-_4._.js.map → _1xgivp19ts9hn._.js.map} +0 -0
  502. /package/web/.next/static/{2O8_FQX7YN47L5_OxojXH → 79SqN0pBIJ0D-DK1jZmK6}/_buildManifest.js +0 -0
  503. /package/web/.next/static/{2O8_FQX7YN47L5_OxojXH → 79SqN0pBIJ0D-DK1jZmK6}/_clientMiddlewareManifest.js +0 -0
  504. /package/web/.next/static/{2O8_FQX7YN47L5_OxojXH → 79SqN0pBIJ0D-DK1jZmK6}/_ssgManifest.js +0 -0
@@ -0,0 +1,36 @@
1
+ import type { DeliveryId } from '@aeolus-fleet/common';
2
+ import type { ConnectionStore } from '../connection/ports.js';
3
+ import { type RoutingDefaults, type Routes } from '../people/routing.js';
4
+ import type { ShipNames, SlackApps, SlackLinks, SlackMessages } from '../slack/ports.js';
5
+ import type { FollowArgoInbox } from './follow-argo-inbox.js';
6
+ import type { ArgoAccounts, ArgoInboxDoor, ArgoSlackPosts } from './ports.js';
7
+ /** One pass over every fleet the gateway is connected to. */
8
+ export type ShowArgoInboxInSlack = () => Promise<void>;
9
+ /**
10
+ * Use case: what waits at argo, in Slack (argo's inbox, AI2 to AI4, section
11
+ * 4). For each account allowed as argo, by its latest account token, whose
12
+ * person has Slack linked and turned on for the message's job, each message
13
+ * open at argo is posted once into the person's direct messages through the
14
+ * gateway's own bot, sent since Slack was turned on, as the person's own
15
+ * are. The post is kept before Slack is asked, so a gateway that stops in
16
+ * between posts it at most once more. Once the message is done at argo, by
17
+ * anyone, anywhere, the post is edited to say so, by whom and when, its
18
+ * button gone, and forgotten. The gateway's bot removed in Slack, or Slack
19
+ * refusing a post, drops Slack out for it: Bridge still has it. Slack rate
20
+ * limiting or not answering leaves it for the next pass.
21
+ */
22
+ export declare function createShowArgoInboxInSlack(deps: {
23
+ connections: Pick<ConnectionStore, 'connected'>;
24
+ inboxOf: FollowArgoInbox['inboxOf'];
25
+ doneAtArgo: FollowArgoInbox['doneAtArgo'];
26
+ door: Pick<ArgoInboxDoor, 'entry' | 'shipType'>;
27
+ accounts: Pick<ArgoAccounts, 'list'>;
28
+ posts: ArgoSlackPosts;
29
+ links: Pick<SlackLinks, 'ofPersonShip'>;
30
+ apps: Pick<SlackApps, 'gatewayBot' | 'find'>;
31
+ slack: Pick<SlackMessages, 'post' | 'messageOf' | 'update'>;
32
+ routes: Pick<Routes, 'list'>;
33
+ defaults: RoutingDefaults;
34
+ shipNames: ShipNames;
35
+ argoMessageUrlOf: (deliveryId: DeliveryId) => string;
36
+ }): ShowArgoInboxInSlack;
@@ -0,0 +1,125 @@
1
+ import { routingOf } from '../people/routing.js';
2
+ import { argoSlackMessageOf, doneAtArgoMessageOf } from './argo-slack-message.js';
3
+ function isInSlack(app) {
4
+ return app !== undefined && app.bot !== null && app.removedInSlackAt === null;
5
+ }
6
+ /** Whether Slack may take it later: it rate limited the call or did not answer. */
7
+ function isForLater(refusal) {
8
+ return refusal.kind !== 'refused';
9
+ }
10
+ /**
11
+ * Use case: what waits at argo, in Slack (argo's inbox, AI2 to AI4, section
12
+ * 4). For each account allowed as argo, by its latest account token, whose
13
+ * person has Slack linked and turned on for the message's job, each message
14
+ * open at argo is posted once into the person's direct messages through the
15
+ * gateway's own bot, sent since Slack was turned on, as the person's own
16
+ * are. The post is kept before Slack is asked, so a gateway that stops in
17
+ * between posts it at most once more. Once the message is done at argo, by
18
+ * anyone, anywhere, the post is edited to say so, by whom and when, its
19
+ * button gone, and forgotten. The gateway's bot removed in Slack, or Slack
20
+ * refusing a post, drops Slack out for it: Bridge still has it. Slack rate
21
+ * limiting or not answering leaves it for the next pass.
22
+ */
23
+ export function createShowArgoInboxInSlack(deps) {
24
+ // A ship's type does not change: each sender's is read once, kept for every pass after.
25
+ const senderTypes = new Map();
26
+ /** Who did it: the name of the person ship of the account signed in as argo, when the gateway keeps it as allowed as argo. */
27
+ const byOf = async (fleetId, { done, accounts }) => {
28
+ const account = accounts.find(({ accountId }) => accountId === done?.accountId);
29
+ return account === undefined ? undefined : deps.shipNames.nameOf(fleetId, account.personShipId);
30
+ };
31
+ /** Edits a post whose message is done at argo: forgotten once edited, or once there is nothing to edit; kept for the next pass while Slack may take it later. */
32
+ const edit = async (post, done) => {
33
+ const app = await deps.apps.find(post.fleetId, post.appId);
34
+ if (post.ts === null || post.isGivenUp || !isInSlack(app)) {
35
+ return 'forget';
36
+ }
37
+ const where = { channel: post.channel, ts: post.ts };
38
+ const message = await deps.slack.messageOf(app.bot.token, { ...where, threadTs: null });
39
+ if (!message.isOk) {
40
+ return isForLater(message.error) ? 'keep' : 'forget';
41
+ }
42
+ const edited = doneAtArgoMessageOf(message.value, done);
43
+ if (edited === undefined) {
44
+ return 'forget';
45
+ }
46
+ const updated = await deps.slack.update(app.bot.token, { ...where, messageId: post.messageId, message: edited });
47
+ return !updated.isOk && isForLater(updated.error) ? 'keep' : 'forget';
48
+ };
49
+ /** Posts it: kept with its Slack message, given up once Slack refused it, or left for the next pass. */
50
+ const post = async (bot, { kept, read, senderType }) => {
51
+ const message = argoSlackMessageOf(read, { senderType, argoMessageUrl: deps.argoMessageUrlOf(read.deliveryId) });
52
+ const posted = await deps.slack.post(bot.bot.token, { messageId: read.messageId, channel: kept.channel, threadTs: null, message });
53
+ if (posted.isOk) {
54
+ await deps.posts.save({ ...kept, channel: posted.value.channel, ts: posted.value.ts });
55
+ }
56
+ else if (!isForLater(posted.error)) {
57
+ await deps.posts.save({ ...kept, isGivenUp: true });
58
+ }
59
+ };
60
+ const showIn = async ({ fleetId, crewToken }) => {
61
+ const inbox = deps.inboxOf(fleetId);
62
+ if (inbox?.kind !== 'read') {
63
+ return;
64
+ }
65
+ const open = new Set(inbox.messages.map(({ messageId }) => messageId));
66
+ const [kept, accounts] = await Promise.all([deps.posts.list(fleetId), deps.accounts.list(fleetId)]);
67
+ for (const each of kept.filter(({ messageId }) => !open.has(messageId))) {
68
+ const done = deps.doneAtArgo(fleetId, each.messageId);
69
+ if ((await edit(each, { by: await byOf(fleetId, { done, accounts }), at: done?.at })) === 'forget') {
70
+ await deps.posts.remove(fleetId, each);
71
+ }
72
+ }
73
+ const bot = await deps.apps.gatewayBot(fleetId);
74
+ if (!isInSlack(bot)) {
75
+ return;
76
+ }
77
+ // Each message is read whole once a pass, for its headline, only when it is to be posted.
78
+ const reads = new Map();
79
+ const readOf = async ({ messageId }) => {
80
+ if (!reads.has(messageId)) {
81
+ const read = await deps.door.entry(crewToken, { argo: inbox.argo, messageId });
82
+ reads.set(messageId, read.isOk ? read.value : null);
83
+ }
84
+ return reads.get(messageId) ?? null;
85
+ };
86
+ const senderTypeOf = async ({ sender }) => {
87
+ const key = `${fleetId}:${sender.shipId}`;
88
+ if (!senderTypes.has(key)) {
89
+ const type = await deps.door.shipType(crewToken, sender.shipId);
90
+ if (type.isOk) {
91
+ senderTypes.set(key, type.value);
92
+ }
93
+ }
94
+ return senderTypes.get(key);
95
+ };
96
+ for (const { personShipId } of accounts) {
97
+ const link = await deps.links.ofPersonShip(fleetId, personShipId);
98
+ if (link?.stoppedAt !== null) {
99
+ continue;
100
+ }
101
+ const routing = routingOf(await deps.routes.list({ fleetId, shipId: personShipId }), deps.defaults);
102
+ for (const message of inbox.messages) {
103
+ const before = kept.find((each) => each.personShipId === personShipId && each.messageId === message.messageId);
104
+ const isDue = before === undefined ? routing.isShowing('slack', { contentType: message.contentType, sentAt: message.sentAt, senderShipId: message.sender.shipId }) : before.ts === null && !before.isGivenUp;
105
+ const read = isDue ? await readOf(message) : null;
106
+ const senderType = read === null ? undefined : await senderTypeOf(message);
107
+ if (read === null || senderType === undefined) {
108
+ continue;
109
+ }
110
+ // Kept before Slack is asked: a gateway that stops in between posts it once more, never again.
111
+ const toPost = before === undefined ? { fleetId, personShipId, messageId: message.messageId, appId: bot.appId, channel: link.slackUserId, ts: null, isGivenUp: false } : { ...before, appId: bot.appId };
112
+ if (before === undefined && (await deps.posts.keep(toPost)) === 'known') {
113
+ continue;
114
+ }
115
+ await post(bot, { kept: toPost, read, senderType });
116
+ }
117
+ }
118
+ };
119
+ return async () => {
120
+ for (const crew of await deps.connections.connected()) {
121
+ await showIn(crew);
122
+ }
123
+ };
124
+ }
125
+ //# sourceMappingURL=show-argo-inbox-in-slack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show-argo-inbox-in-slack.js","sourceRoot":"","sources":["../../../src/core/argo-inbox/show-argo-inbox-in-slack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { FleetId } from '@aeolus-fleet/common';
2
+ import type { ConnectionStore } from '../connection/ports.js';
3
+ import type { PersonWakes } from '../people/person-wakes.js';
4
+ import type { Clock } from '../shared/clock.js';
5
+ import type { ArgoInbox } from './argo-inbox.js';
6
+ import type { ArgoAccounts, ArgoWakes } from './ports.js';
7
+ /** Wakes every person allowed as argo, in every fleet the gateway is connected to, for what waits at argo now. */
8
+ export type WakeForArgo = () => Promise<void>;
9
+ /**
10
+ * Use case: a wake of its own for what waits at argo (argo's inbox, AI4, AI5,
11
+ * AI9). For each message open at argo, as the gateway's ship last read argo's
12
+ * inbox, the person ship of every account allowed as argo is woken once,
13
+ * following the person's own rules through People's published port (wake a
14
+ * person, W1 to W10): through the channels on for the message's job (W8),
15
+ * each at most once per its window, gathering what arrives inside it (W3),
16
+ * and not while a page of the person is in focus, which shows it instead
17
+ * (W6). It is kept apart from the person's own wake: its own windows, its own
18
+ * keys, and it says it waits at argo. A message done at argo is no longer
19
+ * open, so done inside a window it wakes nobody.
20
+ *
21
+ * A round reads only what changed at argo since the last one: the messages
22
+ * that arrived are looked up for each person, the ones done are forgotten,
23
+ * and a person is tried again only when something arrived or a window it
24
+ * waits on passed. A person first seen, as after a restart, is read for what
25
+ * is open now. A message is covered only after its wake went out and before
26
+ * the window is kept, so a gateway that stopped in between wakes once more,
27
+ * never not at all.
28
+ */
29
+ export declare function createWakeForArgo(deps: {
30
+ connections: Pick<ConnectionStore, 'connected'>;
31
+ accounts: ArgoAccounts;
32
+ /** argo's inbox in a fleet as the gateway's ship last read it. */
33
+ inboxOf: (fleetId: FleetId) => ArgoInbox | undefined;
34
+ people: PersonWakes;
35
+ argoWakes: ArgoWakes;
36
+ clock: Clock;
37
+ }): WakeForArgo;
@@ -0,0 +1,139 @@
1
+ function itemOf({ messageId, contentType, sentAt, sender }) {
2
+ return { key: messageId, contentType, sentAt, senderShipId: sender.shipId };
3
+ }
4
+ function withoutKeys(map, keys) {
5
+ const left = new Map(map);
6
+ for (const key of keys) {
7
+ left.delete(key);
8
+ }
9
+ return left;
10
+ }
11
+ /**
12
+ * Use case: a wake of its own for what waits at argo (argo's inbox, AI4, AI5,
13
+ * AI9). For each message open at argo, as the gateway's ship last read argo's
14
+ * inbox, the person ship of every account allowed as argo is woken once,
15
+ * following the person's own rules through People's published port (wake a
16
+ * person, W1 to W10): through the channels on for the message's job (W8),
17
+ * each at most once per its window, gathering what arrives inside it (W3),
18
+ * and not while a page of the person is in focus, which shows it instead
19
+ * (W6). It is kept apart from the person's own wake: its own windows, its own
20
+ * keys, and it says it waits at argo. A message done at argo is no longer
21
+ * open, so done inside a window it wakes nobody.
22
+ *
23
+ * A round reads only what changed at argo since the last one: the messages
24
+ * that arrived are looked up for each person, the ones done are forgotten,
25
+ * and a person is tried again only when something arrived or a window it
26
+ * waits on passed. A person first seen, as after a restart, is read for what
27
+ * is open now. A message is covered only after its wake went out and before
28
+ * the window is kept, so a gateway that stopped in between wakes once more,
29
+ * never not at all.
30
+ */
31
+ export function createWakeForArgo(deps) {
32
+ const seen = new Map();
33
+ const pendingOf = async (ship, messages) => {
34
+ const covered = await deps.argoWakes.coveredAmong(ship, messages.map(({ messageId }) => messageId));
35
+ return messages.filter(({ messageId }) => !covered.has(messageId));
36
+ };
37
+ const firstSight = async (ship, open) => {
38
+ const openIds = open.map(({ messageId }) => messageId);
39
+ await deps.argoWakes.forgetAllBut(ship, openIds);
40
+ const pending = open.length === 0 ? [] : await pendingOf(ship, open);
41
+ return { ship, pending: new Map(pending.map((message) => [message.messageId, message])), dueAt: pending.length === 0 ? null : deps.clock.now() };
42
+ };
43
+ const changed = async ({ held, arrived, done }) => {
44
+ if (done.length > 0) {
45
+ await deps.argoWakes.forget(held.ship, done);
46
+ }
47
+ const fresh = arrived.length === 0 ? [] : await pendingOf(held.ship, arrived);
48
+ const pending = withoutKeys(held.pending, done);
49
+ for (const message of fresh) {
50
+ pending.set(message.messageId, message);
51
+ }
52
+ return { ship: held.ship, pending, dueAt: fresh.length > 0 ? deps.clock.now() : held.dueAt };
53
+ };
54
+ /** Wakes the person for what waits for them, as far as the windows let: what is left, and when to try again. */
55
+ const attempt = async ({ ship, pending }) => {
56
+ if (pending.size === 0) {
57
+ return { ship, pending, dueAt: null };
58
+ }
59
+ if (await deps.people.isInFocus(ship)) {
60
+ await deps.argoWakes.cover(ship, [...pending.keys()]);
61
+ return { ship, pending: new Map(), dueAt: null };
62
+ }
63
+ const now = deps.clock.now();
64
+ const shown = new Set();
65
+ const kept = [];
66
+ const heldUntil = [];
67
+ let isRetried = false;
68
+ for (const channel of await deps.people.showing(ship, [...pending.values()].map(itemOf))) {
69
+ const lastSentAt = await deps.argoWakes.lastSentAt(ship, channel.name);
70
+ if (lastSentAt !== undefined && lastSentAt.getTime() + channel.windowMs > now.getTime()) {
71
+ heldUntil.push(lastSentAt.getTime() + channel.windowMs);
72
+ continue;
73
+ }
74
+ // The channel's last argo wake names the window, apart from the person's own: every try of one window asks with the same key.
75
+ const woken = await deps.people.wake(ship, { channel: channel.name, window: { key: `argo:${channel.name}:${lastSentAt === undefined ? 'first' : lastSentAt.toISOString()}`, waitsAt: 'argo' } });
76
+ if (woken.isOk) {
77
+ kept.push(channel.name);
78
+ channel.keys.forEach((key) => shown.add(key));
79
+ }
80
+ else if (woken.error.kind === 'refused') {
81
+ // A refusal for good keeps the window too, so the channel is not asked again before it passed; it covers nothing.
82
+ kept.push(channel.name);
83
+ heldUntil.push(now.getTime() + channel.windowMs);
84
+ }
85
+ else {
86
+ isRetried = true;
87
+ }
88
+ }
89
+ const covered = [...pending.keys()].filter((messageId) => shown.has(messageId));
90
+ if (covered.length > 0) {
91
+ await deps.argoWakes.cover(ship, covered);
92
+ }
93
+ for (const channel of kept) {
94
+ await deps.argoWakes.record({ ship, channel, sentAt: now });
95
+ }
96
+ const left = withoutKeys(pending, covered);
97
+ if (left.size === 0) {
98
+ return { ship, pending: left, dueAt: null };
99
+ }
100
+ // A wake that did not go out is tried at the next round; one held back, once its window passed.
101
+ const dueAt = isRetried ? now : heldUntil.length === 0 ? null : new Date(Math.min(...heldUntil));
102
+ return { ship, pending: left, dueAt };
103
+ };
104
+ const roundOf = async (fleetId, messages) => {
105
+ const before = seen.get(fleetId);
106
+ const open = new Map(messages.map((message) => [message.messageId, message]));
107
+ const arrived = messages.filter(({ messageId }) => before?.open.has(messageId) !== true);
108
+ const done = before === undefined ? [] : [...before.open.keys()].filter((messageId) => !open.has(messageId));
109
+ const persons = new Map();
110
+ for (const { personShipId } of await deps.accounts.list(fleetId)) {
111
+ const ship = { fleetId, shipId: personShipId };
112
+ const held = before?.persons.get(personShipId);
113
+ const waiting = held === undefined ? await firstSight(ship, messages) : await changed({ held, arrived, done });
114
+ const isDue = waiting.dueAt !== null && waiting.dueAt.getTime() <= deps.clock.now().getTime();
115
+ persons.set(personShipId, isDue ? await attempt(waiting) : waiting);
116
+ }
117
+ return { open, persons };
118
+ };
119
+ return async () => {
120
+ const connected = await deps.connections.connected();
121
+ const fleetIds = new Set(connected.map(({ fleetId }) => fleetId));
122
+ for (const fleetId of seen.keys()) {
123
+ if (!fleetIds.has(fleetId)) {
124
+ seen.delete(fleetId);
125
+ }
126
+ }
127
+ for (const fleetId of fleetIds) {
128
+ const inbox = deps.inboxOf(fleetId);
129
+ if (inbox?.kind === 'read') {
130
+ seen.set(fleetId, await roundOf(fleetId, inbox.messages));
131
+ }
132
+ else {
133
+ // Read again from what is open once argo lets the ship read its inbox again.
134
+ seen.delete(fleetId);
135
+ }
136
+ }
137
+ };
138
+ }
139
+ //# sourceMappingURL=wake-for-argo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wake-for-argo.js","sourceRoot":"","sources":["../../../src/core/argo-inbox/wake-for-argo.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { FleetId } from '@aeolus-fleet/common';
2
+ import type { ArgoAccounts } from '../argo-inbox/ports.js';
2
3
  import type { AccountGrants, Pagasae } from '../sign-in/ports.js';
3
4
  import type { Clock } from '../shared/clock.js';
4
5
  import { type ExchangeToken } from './exchange-token.js';
@@ -13,7 +14,8 @@ import type { IssuedTokens, OAuthClients, OAuthSecrets } from './ports.js';
13
14
  * and the client gets an access token acting as the account, with no refresh
14
15
  * token: when it ends, the client asks its identity provider for a new
15
16
  * ID-JAG. Only a client registered for the code flow, with its secret if it
16
- * has one, posts one; there is no dynamic registration.
17
+ * has one, posts one; there is no dynamic registration. The account's token
18
+ * is its latest word on being allowed as argo (argo's inbox, AI9).
17
19
  */
18
20
  export declare function createExchangeIdJag(deps: {
19
21
  clients: OAuthClients;
@@ -23,6 +25,7 @@ export declare function createExchangeIdJag(deps: {
23
25
  resource: string;
24
26
  pagasae: Pick<Pagasae, 'exchangeIdJag'>;
25
27
  grants: Pick<AccountGrants, 'save'>;
28
+ argoAccounts: ArgoAccounts;
26
29
  /** Whether the gateway serves the fleet: connected to it, and switched on where an installation switches fleets (decision 0021). */
27
30
  servesFleet: (fleetId: FleetId) => Promise<boolean>;
28
31
  }): ExchangeToken;
@@ -1,3 +1,4 @@
1
+ import { createNoteArgoAccount } from '../argo-inbox/note-argo-account.js';
1
2
  import { err, ok } from '../shared/result.js';
2
3
  import { ACCESS_TOKEN_LIFETIME_MS } from './exchange-token.js';
3
4
  const MS_PER_SECOND = 1000;
@@ -16,7 +17,8 @@ function refusal(error, description) {
16
17
  * and the client gets an access token acting as the account, with no refresh
17
18
  * token: when it ends, the client asks its identity provider for a new
18
19
  * ID-JAG. Only a client registered for the code flow, with its secret if it
19
- * has one, posts one; there is no dynamic registration.
20
+ * has one, posts one; there is no dynamic registration. The account's token
21
+ * is its latest word on being allowed as argo (argo's inbox, AI9).
20
22
  */
21
23
  export function createExchangeIdJag(deps) {
22
24
  return async (request) => {
@@ -38,10 +40,11 @@ export function createExchangeIdJag(deps) {
38
40
  if (!handed.isOk) {
39
41
  return handed.error.kind === 'unavailable' ? refusal('temporarily_unavailable', 'pagasae did not answer; try again') : refusal('invalid_grant', REFUSED_ID_JAG);
40
42
  }
41
- const { fleetId, accountId, personShipId, scopes, refreshToken, accountToken, accountTokenExpiresAt } = handed.value;
43
+ const { fleetId, accountId, personShipId, scopes, refreshToken, accountToken, accountTokenExpiresAt, isArgoAllowed } = handed.value;
42
44
  if (fleetId !== client.fleetId || !(await deps.servesFleet(fleetId))) {
43
45
  return refusal('invalid_grant', `The account's fleet is not ${client.name}'s`);
44
46
  }
47
+ await createNoteArgoAccount({ accounts: deps.argoAccounts })(fleetId, { accountId, personShipId, isArgoAllowed });
45
48
  const grantId = deps.secrets.newSecret();
46
49
  await deps.grants.save({ grantId, fleetId, accountId, personShipId, scopes, refreshToken, accountToken, accountTokenExpiresAt });
47
50
  const accessToken = deps.secrets.newSecret();
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-id-jag.js","sourceRoot":"","sources":["../../../src/core/oauth/exchange-id-jag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exchange-id-jag.js","sourceRoot":"","sources":["../../../src/core/oauth/exchange-id-jag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAA0D,MAAM,qBAAqB,CAAC;AAGvH,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,oGAAoG;AACpG,MAAM,cAAc,GAAG,mJAAmJ,CAAC;AAE3K,SAAS,OAAO,CAAC,KAAqB,EAAE,WAAmB;IACzD,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAWnC;IACC,OAAO,KAAK,EAAE,OAAqB,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxG,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC;QACzN,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,OAAO,OAAO,CAAC,gBAAgB,EAAE,4EAA4E,CAAC,CAAC;QACjH,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;YACzC,OAAO,OAAO,CAAC,qBAAqB,EAAE,4CAA4C,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;YAChE,OAAO,OAAO,CAAC,iBAAiB,EAAE,yCAAyC,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzE,OAAO,OAAO,CAAC,gBAAgB,EAAE,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,mCAAmC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAClK,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QACpI,IAAI,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACrE,OAAO,OAAO,CAAC,eAAe,EAAE,8BAA8B,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;QAClH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjI,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACrB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,IAAI;YACd,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,SAAS;YACf,OAAO;YACP,UAAU;YACV,eAAe,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,wBAAwB,CAAC;YAChF,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,wBAAwB,GAAG,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1H,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * People's published port for waking a person for what waits outside their
3
+ * own person ship, as argo's inbox does for the people allowed as argo: the
4
+ * person's own rules (wake a person, W1 to W10) without their model or
5
+ * stores. A page in focus (W6), the channels on for each item's job (W8,
6
+ * Bridge section 8), and the wake itself.
7
+ */
8
+ import type { ShipId } from '@aeolus-fleet/common';
9
+ import type { Clock } from '../shared/clock.js';
10
+ import { type Result } from '../shared/result.js';
11
+ import type { FocusedPages, PersonShip, WakeChannel, WakeChannelName, WakeWindow } from './ports.js';
12
+ import { type RoutingDefaults, type Routes } from './routing.js';
13
+ export type { PersonShip, WakeChannelName, WakeWindow } from './ports.js';
14
+ /** An item a wake would be for, by a key of the caller's: its content type names its job. */
15
+ export interface WakeItem {
16
+ readonly key: string;
17
+ readonly contentType: string;
18
+ readonly sentAt: Date;
19
+ readonly senderShipId: ShipId;
20
+ }
21
+ /** A channel on now for the person, its window, and the keys of the items it shows. */
22
+ export interface ChannelShowing {
23
+ readonly name: WakeChannelName;
24
+ readonly windowMs: number;
25
+ readonly keys: readonly string[];
26
+ }
27
+ export interface PersonWakes {
28
+ /** Whether a page of the person is in focus now, which shows what arrives instead of a wake (W6). */
29
+ isInFocus(ship: PersonShip): Promise<boolean>;
30
+ /** The channels on now for the person that show any of the items, as they routed each job (W8). */
31
+ showing(ship: PersonShip, items: readonly WakeItem[]): Promise<readonly ChannelShowing[]>;
32
+ /** Wakes the person through the channel: whether it went out, refused for good or unavailable for now. */
33
+ wake(ship: PersonShip, wake: {
34
+ channel: WakeChannelName;
35
+ window: WakeWindow;
36
+ }): Promise<Result<undefined, {
37
+ kind: 'refused' | 'unavailable';
38
+ reason: string;
39
+ }>>;
40
+ }
41
+ export declare function createPersonWakes(deps: {
42
+ channels: readonly WakeChannel[];
43
+ routes: Routes;
44
+ defaults: RoutingDefaults;
45
+ focused: FocusedPages;
46
+ /** How long a page counts in focus since it was last seen so. */
47
+ focusFreshMs: number;
48
+ clock: Clock;
49
+ }): PersonWakes;
@@ -0,0 +1,27 @@
1
+ import { err } from '../shared/result.js';
2
+ import { routingOf } from './routing.js';
3
+ export function createPersonWakes(deps) {
4
+ return {
5
+ isInFocus: (ship) => deps.focused.isAnyInFocus(ship, new Date(deps.clock.now().getTime() - deps.focusFreshMs)),
6
+ showing: async (ship, items) => {
7
+ // Read anew each time, so a change of where a job shows applies at once.
8
+ const routing = routingOf(await deps.routes.list(ship), deps.defaults);
9
+ const showing = [];
10
+ for (const channel of deps.channels) {
11
+ const keys = items.filter((item) => routing.isShowing(channel.name, item)).map(({ key }) => key);
12
+ if (keys.length > 0 && (await channel.isOn(ship))) {
13
+ showing.push({ name: channel.name, windowMs: channel.windowMs, keys });
14
+ }
15
+ }
16
+ return showing;
17
+ },
18
+ wake: async (ship, { channel, window }) => {
19
+ const found = deps.channels.find(({ name }) => name === channel);
20
+ if (found === undefined) {
21
+ return err({ kind: 'refused', reason: `no ${channel} channel` });
22
+ }
23
+ return found.wake(ship, window);
24
+ },
25
+ };
26
+ }
27
+ //# sourceMappingURL=person-wakes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person-wakes.js","sourceRoot":"","sources":["../../../src/core/people/person-wakes.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,GAAG,EAAe,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAqC,MAAM,cAAc,CAAC;AA4B5E,MAAM,UAAU,iBAAiB,CAAC,IAQjC;IACC,OAAO;QACL,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9G,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC7B,yEAAyE;YACzE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvE,MAAM,OAAO,GAAqB,EAAE,CAAC;YACrC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAClD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACjE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,UAAU,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -274,9 +274,12 @@ export interface ShownThere {
274
274
  }
275
275
  /** What a delivery is handed to the person through: a wake's channel, a page of theirs in focus, which shows it (W6), or Slack, which shows it (gateway scopes 9.5). */
276
276
  export type HandOverChannel = WakeChannelName | 'page' | 'slack';
277
- /** The window a wake belongs to: its key holds until a wake of the channel is recorded, so a retry asks again with it. */
277
+ /** Where what a wake is for waits: at the person's own ship, or at argo, for everyone allowed as argo (argo's inbox, AI4). */
278
+ export type WaitsAt = 'personShip' | 'argo';
279
+ /** The window a wake belongs to: its key holds until a wake of the channel is recorded, so a retry asks again with it. And where what it wakes for waits. */
278
280
  export interface WakeWindow {
279
281
  readonly key: string;
282
+ readonly waitsAt: WaitsAt;
280
283
  }
281
284
  /**
282
285
  * Outbound port: one way to wake a person (wake a person, W1, W4): it says
@@ -358,10 +361,11 @@ export interface WebPushSubscriptions {
358
361
  endpoint: string;
359
362
  }): Promise<void>;
360
363
  }
361
- /** What a wake says (W4): something waits in the fleet, by its name, and the link to Bridge. Nothing else. */
364
+ /** What a wake says (W4): something waits in the fleet, by its name, for the person or at argo, and the link to Bridge. Nothing else. */
362
365
  export interface Wake {
363
366
  readonly fleetName: string;
364
367
  readonly bridgeUrl: string;
368
+ readonly waitsAt: WaitsAt;
365
369
  }
366
370
  /** How a push service took a wake: sent, gone (it answered 404 or 410: the subscription ended), or failed otherwise. */
367
371
  export type WebPushSent = 'sent' | 'gone' | 'failed';
@@ -144,7 +144,7 @@ export function createWakePerson(deps) {
144
144
  for (const channel of due) {
145
145
  // The channel's last recorded wake names the window: every try before the next one is recorded asks with the same key.
146
146
  const lastSentAt = windows.find((window) => window.channel === channel)?.lastSentAt;
147
- const woken = await channel.wake(ship, { key: `${channel.name}:${lastSentAt === undefined ? 'first' : lastSentAt.toISOString()}` });
147
+ const woken = await channel.wake(ship, { key: `${channel.name}:${lastSentAt === undefined ? 'first' : lastSentAt.toISOString()}`, waitsAt: 'personShip' });
148
148
  if (woken.isOk) {
149
149
  wentOut.push(channel);
150
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wake-person.js","sourceRoot":"","sources":["../../../src/core/people/wake-person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAmB,MAAM,sBAAsB,CAAC;AAIhF,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA4B/D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAqBhC;IACC,uIAAuI;IACvI,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAgC,CAAC;IACjE,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAU,EAAE,CAC9C,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IACnC,MAAM,UAAU,GAAe,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YACnD,GAAG,EAAE,uBAAuB;YAC5B,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACnC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,cAAc,KAAK,IAAI,CAChD,CAAC;QACF,6EAA6E;QAC7E,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9G,6EAA6E;QAC7E,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxF,uGAAuG;QACvG,MAAM,cAAc,GAClB,IAAI,CAAC,cAAc,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,EAAc,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;YAC9D,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;YAChC,SAAS;YACT,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvE,OAAO;SACR,CAAC,CAAC;QACH,6DAA6D;QAC7D,OAAO,eAAe,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;YACpE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACxB,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC;IACF,2HAA2H;IAC3H,MAAM,OAAO,GAAG,KAAK,EACnB,IAAgB,EAChB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAsF,EACxE,EAAE;QAC9C,2GAA2G;QAC3G,MAAM,QAAQ,GAAG,KAAK,EACpB,KAAsC,EACtC,OAAwB,EACW,EAAE;YACrC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC/C,UAAU;oBACV,cAAc,EAAE,CAAC;oBACjB,OAAO;iBACR,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjB,OAAO,MAAM,CAAC,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,IACE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAC7B,IAAI,EACJ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CACzD,EACD,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjD,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,OAAoB,EAAE,EAAE,CAAC,CAAC,QAA8B,EAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjI,MAAM,QAAQ,GAAG,CACf,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAClC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAC/E,CACF,CACF,CAAC,IAAI,EAAE,CAAC;QACT,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO;gBACP,UAAU;gBACV,MAAM,EACJ,UAAU,KAAK,SAAS;oBACtB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;aACxD,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,8EAA8E;QAC9E,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClG,2GAA2G;QAC3G,KAAK,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACtD,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClE,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAC1B,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,CAC9F,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YACD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,aAAa,GACjB,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,EAAmB,CAAC;QACvE,sFAAsF;QACtF,MAAM,QAAQ,GAAG,CAAC,UAA2C,EAAE,EAAE,CAC/D,OAAO,CAAC,MAAM,CACZ,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CACvF,CAAC;QACJ,kIAAkI;QAClI,MAAM,WAAW,GAAG,CAAC,UAA2C,EAAe,EAAE;YAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;gBACzB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrB,CAAC,CAAC;oBACE,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,IAAI,IAAI,CACb,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAC3D;iBACF,CAAC;QACR,CAAC,CAAC;QACF,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC;aACxB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;aACzD,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YAC1B,uHAAuH;YACvH,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,UAAU,CAAC;YACpF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YACpI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1C,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtD,IAAI,CAAC,YAAY,CAAC;oBAChB,IAAI;oBACJ,OAAO,EAAE,OAAO,CAAC,IAAI;oBACrB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;iBAC3B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QACD,uFAAuF;QACvF,IAAI,OAAiC,CAAC;QACtC,MAAM,IAAI,GAA2B,EAAE,CAAC;QACxC,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,MAAM,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,2KAA2K;QAC3K,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/I,CAAC,CAAC;IACF,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjD,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"wake-person.js","sourceRoot":"","sources":["../../../src/core/people/wake-person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAmB,MAAM,sBAAsB,CAAC;AAIhF,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA4B/D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAqBhC;IACC,uIAAuI;IACvI,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAgC,CAAC;IACjE,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAU,EAAE,CAC9C,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IACnC,MAAM,UAAU,GAAe,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YACnD,GAAG,EAAE,uBAAuB;YAC5B,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACnC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,cAAc,KAAK,IAAI,CAChD,CAAC;QACF,6EAA6E;QAC7E,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9G,6EAA6E;QAC7E,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxF,uGAAuG;QACvG,MAAM,cAAc,GAClB,IAAI,CAAC,cAAc,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,EAAc,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;YAC9D,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;YAChC,SAAS;YACT,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvE,OAAO;SACR,CAAC,CAAC;QACH,6DAA6D;QAC7D,OAAO,eAAe,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;YACpE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACxB,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC;IACF,2HAA2H;IAC3H,MAAM,OAAO,GAAG,KAAK,EACnB,IAAgB,EAChB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAsF,EACxE,EAAE;QAC9C,2GAA2G;QAC3G,MAAM,QAAQ,GAAG,KAAK,EACpB,KAAsC,EACtC,OAAwB,EACW,EAAE;YACrC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC/C,UAAU;oBACV,cAAc,EAAE,CAAC;oBACjB,OAAO;iBACR,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjB,OAAO,MAAM,CAAC,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,IACE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAC7B,IAAI,EACJ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CACzD,EACD,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjD,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,OAAoB,EAAE,EAAE,CAAC,CAAC,QAA8B,EAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjI,MAAM,QAAQ,GAAG,CACf,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAClC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAC/E,CACF,CACF,CAAC,IAAI,EAAE,CAAC;QACT,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO;gBACP,UAAU;gBACV,MAAM,EACJ,UAAU,KAAK,SAAS;oBACtB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;aACxD,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,8EAA8E;QAC9E,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClG,2GAA2G;QAC3G,KAAK,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACtD,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClE,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAC1B,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,CAC9F,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YACD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,aAAa,GACjB,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,EAAmB,CAAC;QACvE,sFAAsF;QACtF,MAAM,QAAQ,GAAG,CAAC,UAA2C,EAAE,EAAE,CAC/D,OAAO,CAAC,MAAM,CACZ,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CACvF,CAAC;QACJ,kIAAkI;QAClI,MAAM,WAAW,GAAG,CAAC,UAA2C,EAAe,EAAE;YAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;gBACzB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrB,CAAC,CAAC;oBACE,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,IAAI,IAAI,CACb,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAC3D;iBACF,CAAC;QACR,CAAC,CAAC;QACF,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC;aACxB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;aACzD,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YAC1B,uHAAuH;YACvH,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,UAAU,CAAC;YACpF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YAC3J,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1C,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtD,IAAI,CAAC,YAAY,CAAC;oBAChB,IAAI;oBACJ,OAAO,EAAE,OAAO,CAAC,IAAI;oBACrB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;iBAC3B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QACD,uFAAuF;QACvF,IAAI,OAAiC,CAAC;QACtC,MAAM,IAAI,GAA2B,EAAE,CAAC;QACxC,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,MAAM,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,2KAA2K;QAC3K,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/I,CAAC,CAAC;IACF,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjD,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
@@ -12,11 +12,11 @@ export function createWebPushChannel(deps) {
12
12
  name: 'web-push',
13
13
  windowMs: deps.windowMs,
14
14
  isOn: async (ship) => (await takingWakes(ship)).length > 0,
15
- wake: async (ship) => {
15
+ wake: async (ship, { waitsAt }) => {
16
16
  const bridgeUrl = deps.bridgeUrlOf(ship.fleetId);
17
17
  let isTaken = false;
18
18
  for (const subscription of await takingWakes(ship)) {
19
- const sent = await deps.webPush.send(subscription, { fleetName: subscription.fleetName, bridgeUrl });
19
+ const sent = await deps.webPush.send(subscription, { fleetName: subscription.fleetName, bridgeUrl, waitsAt });
20
20
  switch (sent) {
21
21
  case 'sent':
22
22
  isTaken = true;
@@ -1 +1 @@
1
- {"version":3,"file":"web-push-channel.js","sourceRoot":"","sources":["../../../src/core/people/web-push-channel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAA0I;IAC7K,MAAM,WAAW,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAc,EAAkC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IACxL,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;QAC1D,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,KAAK,MAAM,YAAY,IAAI,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;gBACrG,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,MAAM;wBACT,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM;oBACR,KAAK,MAAM;wBACT,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACpI,MAAM;oBACR,KAAK,QAAQ;wBACX,MAAM;gBACV,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAC;QACzG,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"web-push-channel.js","sourceRoot":"","sources":["../../../src/core/people/web-push-channel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAA0I;IAC7K,MAAM,WAAW,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAc,EAAkC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IACxL,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;QAC1D,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,KAAK,MAAM,YAAY,IAAI,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9G,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,MAAM;wBACT,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM;oBACR,KAAK,MAAM;wBACT,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACpI,MAAM;oBACR,KAAK,QAAQ;wBACX,MAAM;gBACV,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAC;QACzG,CAAC;KACF,CAAC;AACJ,CAAC"}