@aeolus-fleet/gateway 0.28.1 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/README.md +13 -6
  2. package/dist/adapters/crypto/account-sign-in-seals.d.ts +7 -0
  3. package/dist/adapters/crypto/account-sign-in-seals.js +21 -0
  4. package/dist/adapters/crypto/account-sign-in-seals.js.map +1 -0
  5. package/dist/adapters/crypto/sign-in-seals.d.ts +1 -1
  6. package/dist/adapters/crypto/sign-in-seals.js +3 -6
  7. package/dist/adapters/crypto/sign-in-seals.js.map +1 -1
  8. package/dist/adapters/fleet/core-version.d.ts +1 -1
  9. package/dist/adapters/fleet/core-version.js +1 -1
  10. package/dist/adapters/fleet/fleet-ships.d.ts +6 -0
  11. package/dist/adapters/fleet/fleet-ships.js +23 -0
  12. package/dist/adapters/fleet/fleet-ships.js.map +1 -0
  13. package/dist/adapters/fleet/proxy-ship-reads.d.ts +2 -2
  14. package/dist/adapters/fleet/proxy-ship-reads.js +6 -3
  15. package/dist/adapters/fleet/proxy-ship-reads.js.map +1 -1
  16. package/dist/adapters/fleet/rest-fleet-door.d.ts +2 -1
  17. package/dist/adapters/fleet/rest-fleet-door.js +34 -14
  18. package/dist/adapters/fleet/rest-fleet-door.js.map +1 -1
  19. package/dist/adapters/http/account-sign-in-routes.d.ts +19 -0
  20. package/dist/adapters/http/account-sign-in-routes.js +61 -0
  21. package/dist/adapters/http/account-sign-in-routes.js.map +1 -0
  22. package/dist/adapters/http/forms.d.ts +9 -0
  23. package/dist/adapters/http/forms.js +23 -0
  24. package/dist/adapters/http/forms.js.map +1 -0
  25. package/dist/adapters/http/front-door.d.ts +11 -4
  26. package/dist/adapters/http/front-door.js +48 -8
  27. package/dist/adapters/http/front-door.js.map +1 -1
  28. package/dist/adapters/http/live.d.ts +2 -12
  29. package/dist/adapters/http/live.js +4 -65
  30. package/dist/adapters/http/live.js.map +1 -1
  31. package/dist/adapters/http/oauth-routes.d.ts +14 -16
  32. package/dist/adapters/http/oauth-routes.js +23 -139
  33. package/dist/adapters/http/oauth-routes.js.map +1 -1
  34. package/dist/adapters/http/person-tools.d.ts +9 -4
  35. package/dist/adapters/http/person-tools.js +49 -5
  36. package/dist/adapters/http/person-tools.js.map +1 -1
  37. package/dist/adapters/pagasae/shared-sign-in.d.ts +11 -0
  38. package/dist/adapters/pagasae/shared-sign-in.js +123 -0
  39. package/dist/adapters/pagasae/shared-sign-in.js.map +1 -0
  40. package/dist/adapters/prisma/generated/browser.d.ts +1 -1
  41. package/dist/adapters/prisma/generated/client.d.ts +1 -1
  42. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  43. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  44. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +1 -0
  45. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +1 -0
  46. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  47. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +1 -0
  48. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +1 -0
  49. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  50. package/dist/adapters/prisma/generated/models/OpenedDelivery.d.ts +30 -2
  51. package/dist/adapters/prisma/opened-deliveries.js +18 -12
  52. package/dist/adapters/prisma/opened-deliveries.js.map +1 -1
  53. package/dist/adapters/trpc/router.d.ts +143 -4
  54. package/dist/adapters/trpc/router.js +151 -5
  55. package/dist/adapters/trpc/router.js.map +1 -1
  56. package/dist/adapters/web/next-web-app.d.ts +10 -0
  57. package/dist/adapters/web/next-web-app.js +27 -0
  58. package/dist/adapters/web/next-web-app.js.map +1 -0
  59. package/dist/app.d.ts +9 -1
  60. package/dist/app.js +53 -29
  61. package/dist/app.js.map +1 -1
  62. package/dist/bin/aeolus-gateway.js +12 -1
  63. package/dist/bin/aeolus-gateway.js.map +1 -1
  64. package/dist/config.d.ts +18 -0
  65. package/dist/config.js +16 -1
  66. package/dist/config.js.map +1 -1
  67. package/dist/core/account-sign-in/account-in-view.d.ts +43 -0
  68. package/dist/core/account-sign-in/account-in-view.js +52 -0
  69. package/dist/core/account-sign-in/account-in-view.js.map +1 -0
  70. package/dist/core/account-sign-in/account-of-sign-in.d.ts +23 -0
  71. package/dist/core/account-sign-in/account-of-sign-in.js +41 -0
  72. package/dist/core/account-sign-in/account-of-sign-in.js.map +1 -0
  73. package/dist/core/account-sign-in/complete-account-sign-in.d.ts +37 -0
  74. package/dist/core/account-sign-in/complete-account-sign-in.js +25 -0
  75. package/dist/core/account-sign-in/complete-account-sign-in.js.map +1 -0
  76. package/dist/core/account-sign-in/ports.d.ts +92 -0
  77. package/dist/core/account-sign-in/ports.js +3 -0
  78. package/dist/core/account-sign-in/ports.js.map +1 -0
  79. package/dist/core/account-sign-in/sign-out-account.d.ts +15 -0
  80. package/dist/core/account-sign-in/sign-out-account.js +12 -0
  81. package/dist/core/account-sign-in/sign-out-account.js.map +1 -0
  82. package/dist/core/account-sign-in/start-account-sign-in.d.ts +25 -0
  83. package/dist/core/account-sign-in/start-account-sign-in.js +26 -0
  84. package/dist/core/account-sign-in/start-account-sign-in.js.map +1 -0
  85. package/dist/core/actors/authenticate-actor.d.ts +14 -15
  86. package/dist/core/actors/authenticate-actor.js +10 -12
  87. package/dist/core/actors/authenticate-actor.js.map +1 -1
  88. package/dist/core/actors/credential-of.d.ts +4 -6
  89. package/dist/core/actors/credential-of.js +4 -8
  90. package/dist/core/actors/credential-of.js.map +1 -1
  91. package/dist/core/connection/answer-pings.d.ts +19 -0
  92. package/dist/core/connection/answer-pings.js +34 -0
  93. package/dist/core/connection/answer-pings.js.map +1 -0
  94. package/dist/core/connection/ports.d.ts +18 -1
  95. package/dist/core/operator/authenticate-operator.d.ts +4 -3
  96. package/dist/core/operator/authenticate-operator.js +4 -2
  97. package/dist/core/operator/authenticate-operator.js.map +1 -1
  98. package/dist/core/parties/list-owner-choices.d.ts +24 -0
  99. package/dist/core/parties/list-owner-choices.js +25 -0
  100. package/dist/core/parties/list-owner-choices.js.map +1 -0
  101. package/dist/core/parties/list-parties.js +1 -1
  102. package/dist/core/parties/list-parties.js.map +1 -1
  103. package/dist/core/parties/ports.d.ts +14 -5
  104. package/dist/core/parties/shown-party.d.ts +8 -2
  105. package/dist/core/parties/shown-party.js.map +1 -1
  106. package/dist/core/people/crew-person-ship.d.ts +3 -5
  107. package/dist/core/people/crew-person-ship.js +6 -5
  108. package/dist/core/people/crew-person-ship.js.map +1 -1
  109. package/dist/core/people/inbox-entry.d.ts +2 -1
  110. package/dist/core/people/inbox-entry.js +3 -0
  111. package/dist/core/people/inbox-entry.js.map +1 -1
  112. package/dist/core/people/list-ships.d.ts +17 -0
  113. package/dist/core/people/list-ships.js +20 -0
  114. package/dist/core/people/list-ships.js.map +1 -0
  115. package/dist/core/people/open-delivery.d.ts +14 -9
  116. package/dist/core/people/open-delivery.js +24 -4
  117. package/dist/core/people/open-delivery.js.map +1 -1
  118. package/dist/core/people/person-crew.d.ts +13 -1
  119. package/dist/core/people/person-crew.js.map +1 -1
  120. package/dist/core/people/ports.d.ts +42 -3
  121. package/dist/core/people/read-inbox.d.ts +15 -9
  122. package/dist/core/people/read-inbox.js +17 -6
  123. package/dist/core/people/read-inbox.js.map +1 -1
  124. package/dist/core/people/send-message.d.ts +32 -0
  125. package/dist/core/people/send-message.js +22 -0
  126. package/dist/core/people/send-message.js.map +1 -0
  127. package/dist/core/requests/ask-for-server.d.ts +2 -2
  128. package/dist/core/requests/watch-waiting.d.ts +2 -1
  129. package/dist/core/requests/watch-waiting.js +2 -2
  130. package/dist/core/requests/watch-waiting.js.map +1 -1
  131. package/dist/core/sign-in/complete-sign-in.d.ts +4 -11
  132. package/dist/core/sign-in/complete-sign-in.js +1 -23
  133. package/dist/core/sign-in/complete-sign-in.js.map +1 -1
  134. package/dist/core/sign-in/own-page.d.ts +10 -0
  135. package/dist/core/sign-in/own-page.js +35 -0
  136. package/dist/core/sign-in/own-page.js.map +1 -0
  137. package/dist/core/sign-in/ports.d.ts +3 -24
  138. package/dist/ping-worker.d.ts +20 -0
  139. package/dist/ping-worker.js +33 -0
  140. package/dist/ping-worker.js.map +1 -0
  141. package/package.json +23 -5
  142. package/src/adapters/prisma/migrations/20261021120000_opened_deliveries_sent_at/migration.sql +4 -0
  143. package/src/adapters/prisma/schema.prisma +2 -1
  144. package/web/.next/BUILD_ID +1 -0
  145. package/web/.next/app-path-routes-manifest.json +17 -0
  146. package/web/.next/build/chunks/[root-of-the-server]__17pn3jjqv9c44._.js +192 -0
  147. package/web/.next/build/chunks/[root-of-the-server]__17pn3jjqv9c44._.js.map +8 -0
  148. package/web/.next/build/chunks/[root-of-the-server]__1ehkf7gbe4e6q._.js +502 -0
  149. package/web/.next/build/chunks/[root-of-the-server]__1ehkf7gbe4e6q._.js.map +11 -0
  150. package/web/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1t6pazwwggn3s._.js +13 -0
  151. package/web/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1t6pazwwggn3s._.js.map +5 -0
  152. package/web/.next/build/chunks/[turbopack]_runtime.js +1056 -0
  153. package/web/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
  154. package/web/.next/build/chunks/node_modules_0ds4fgws35qq2._.js +7337 -0
  155. package/web/.next/build/chunks/node_modules_0ds4fgws35qq2._.js.map +47 -0
  156. package/web/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_1inl-dyesk97a._.js +6 -0
  157. package/web/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_1inl-dyesk97a._.js.map +5 -0
  158. package/web/.next/build/package.json +1 -0
  159. package/web/.next/build-manifest.json +194 -0
  160. package/web/.next/diagnostics/build-diagnostics.json +6 -0
  161. package/web/.next/diagnostics/framework.json +1 -0
  162. package/web/.next/diagnostics/route-bundle-stats.json +195 -0
  163. package/web/.next/export-marker.json +6 -0
  164. package/web/.next/fallback-build-manifest.json +15 -0
  165. package/web/.next/images-manifest.json +68 -0
  166. package/web/.next/next-minimal-server.js.nft.json +1 -0
  167. package/web/.next/next-server.js.nft.json +1 -0
  168. package/web/.next/package.json +1 -0
  169. package/web/.next/prerender-manifest.json +40 -0
  170. package/web/.next/required-server-files.js +367 -0
  171. package/web/.next/required-server-files.json +367 -0
  172. package/web/.next/routes-manifest.json +144 -0
  173. package/web/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  174. package/web/.next/server/app/_global-error/page/build-manifest.json +23 -0
  175. package/web/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  176. package/web/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  177. package/web/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  178. package/web/.next/server/app/_global-error/page.js +12 -0
  179. package/web/.next/server/app/_global-error/page.js.map +5 -0
  180. package/web/.next/server/app/_global-error/page.js.nft.json +1 -0
  181. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  182. package/web/.next/server/app/_global-error.html +1 -0
  183. package/web/.next/server/app/_global-error.meta +30 -0
  184. package/web/.next/server/app/_global-error.rsc +18 -0
  185. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +23 -0
  186. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +18 -0
  187. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -0
  188. package/web/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  189. package/web/.next/server/app/_not-found/page/build-manifest.json +23 -0
  190. package/web/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
  191. package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  192. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +15 -0
  193. package/web/.next/server/app/_not-found/page.js +17 -0
  194. package/web/.next/server/app/_not-found/page.js.map +5 -0
  195. package/web/.next/server/app/_not-found/page.js.nft.json +1 -0
  196. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  197. package/web/.next/server/app/authorize/failed/page/app-paths-manifest.json +3 -0
  198. package/web/.next/server/app/authorize/failed/page/build-manifest.json +23 -0
  199. package/web/.next/server/app/authorize/failed/page/next-font-manifest.json +11 -0
  200. package/web/.next/server/app/authorize/failed/page/react-loadable-manifest.json +1 -0
  201. package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +15 -0
  202. package/web/.next/server/app/authorize/failed/page.js +18 -0
  203. package/web/.next/server/app/authorize/failed/page.js.map +5 -0
  204. package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -0
  205. package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +3 -0
  206. package/web/.next/server/app/authorize/pick/page/app-paths-manifest.json +3 -0
  207. package/web/.next/server/app/authorize/pick/page/build-manifest.json +23 -0
  208. package/web/.next/server/app/authorize/pick/page/next-font-manifest.json +11 -0
  209. package/web/.next/server/app/authorize/pick/page/react-loadable-manifest.json +1 -0
  210. package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +15 -0
  211. package/web/.next/server/app/authorize/pick/page.js +19 -0
  212. package/web/.next/server/app/authorize/pick/page.js.map +5 -0
  213. package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -0
  214. package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +3 -0
  215. package/web/.next/server/app/authorize/waiting/approval/page/app-paths-manifest.json +3 -0
  216. package/web/.next/server/app/authorize/waiting/approval/page/build-manifest.json +23 -0
  217. package/web/.next/server/app/authorize/waiting/approval/page/next-font-manifest.json +11 -0
  218. package/web/.next/server/app/authorize/waiting/approval/page/react-loadable-manifest.json +1 -0
  219. package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +15 -0
  220. package/web/.next/server/app/authorize/waiting/approval/page.js +19 -0
  221. package/web/.next/server/app/authorize/waiting/approval/page.js.map +5 -0
  222. package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -0
  223. package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +3 -0
  224. package/web/.next/server/app/outside-parties/[name]/change/page/app-paths-manifest.json +3 -0
  225. package/web/.next/server/app/outside-parties/[name]/change/page/build-manifest.json +23 -0
  226. package/web/.next/server/app/outside-parties/[name]/change/page/next-font-manifest.json +11 -0
  227. package/web/.next/server/app/outside-parties/[name]/change/page/react-loadable-manifest.json +1 -0
  228. package/web/.next/server/app/outside-parties/[name]/change/page/server-reference-manifest.json +35 -0
  229. package/web/.next/server/app/outside-parties/[name]/change/page.js +22 -0
  230. package/web/.next/server/app/outside-parties/[name]/change/page.js.map +5 -0
  231. package/web/.next/server/app/outside-parties/[name]/change/page.js.nft.json +1 -0
  232. package/web/.next/server/app/outside-parties/[name]/change/page_client-reference-manifest.js +3 -0
  233. package/web/.next/server/app/outside-parties/[name]/page/app-paths-manifest.json +3 -0
  234. package/web/.next/server/app/outside-parties/[name]/page/build-manifest.json +23 -0
  235. package/web/.next/server/app/outside-parties/[name]/page/next-font-manifest.json +11 -0
  236. package/web/.next/server/app/outside-parties/[name]/page/react-loadable-manifest.json +1 -0
  237. package/web/.next/server/app/outside-parties/[name]/page/server-reference-manifest.json +15 -0
  238. package/web/.next/server/app/outside-parties/[name]/page.js +20 -0
  239. package/web/.next/server/app/outside-parties/[name]/page.js.map +5 -0
  240. package/web/.next/server/app/outside-parties/[name]/page.js.nft.json +1 -0
  241. package/web/.next/server/app/outside-parties/[name]/page_client-reference-manifest.js +3 -0
  242. package/web/.next/server/app/outside-parties/[name]/retire/page/app-paths-manifest.json +3 -0
  243. package/web/.next/server/app/outside-parties/[name]/retire/page/build-manifest.json +23 -0
  244. package/web/.next/server/app/outside-parties/[name]/retire/page/next-font-manifest.json +11 -0
  245. package/web/.next/server/app/outside-parties/[name]/retire/page/react-loadable-manifest.json +1 -0
  246. package/web/.next/server/app/outside-parties/[name]/retire/page/server-reference-manifest.json +35 -0
  247. package/web/.next/server/app/outside-parties/[name]/retire/page.js +21 -0
  248. package/web/.next/server/app/outside-parties/[name]/retire/page.js.map +5 -0
  249. package/web/.next/server/app/outside-parties/[name]/retire/page.js.nft.json +1 -0
  250. package/web/.next/server/app/outside-parties/[name]/retire/page_client-reference-manifest.js +3 -0
  251. package/web/.next/server/app/outside-parties/add/page/app-paths-manifest.json +3 -0
  252. package/web/.next/server/app/outside-parties/add/page/build-manifest.json +23 -0
  253. package/web/.next/server/app/outside-parties/add/page/next-font-manifest.json +11 -0
  254. package/web/.next/server/app/outside-parties/add/page/react-loadable-manifest.json +1 -0
  255. package/web/.next/server/app/outside-parties/add/page/server-reference-manifest.json +35 -0
  256. package/web/.next/server/app/outside-parties/add/page.js +19 -0
  257. package/web/.next/server/app/outside-parties/add/page.js.map +5 -0
  258. package/web/.next/server/app/outside-parties/add/page.js.nft.json +1 -0
  259. package/web/.next/server/app/outside-parties/add/page_client-reference-manifest.js +3 -0
  260. package/web/.next/server/app/outside-parties/page/app-paths-manifest.json +3 -0
  261. package/web/.next/server/app/outside-parties/page/build-manifest.json +23 -0
  262. package/web/.next/server/app/outside-parties/page/next-font-manifest.json +11 -0
  263. package/web/.next/server/app/outside-parties/page/react-loadable-manifest.json +1 -0
  264. package/web/.next/server/app/outside-parties/page/server-reference-manifest.json +25 -0
  265. package/web/.next/server/app/outside-parties/page.js +20 -0
  266. package/web/.next/server/app/outside-parties/page.js.map +5 -0
  267. package/web/.next/server/app/outside-parties/page.js.nft.json +1 -0
  268. package/web/.next/server/app/outside-parties/page_client-reference-manifest.js +3 -0
  269. package/web/.next/server/app/overview/changes/route/app-paths-manifest.json +3 -0
  270. package/web/.next/server/app/overview/changes/route/build-manifest.json +12 -0
  271. package/web/.next/server/app/overview/changes/route/server-reference-manifest.json +4 -0
  272. package/web/.next/server/app/overview/changes/route.js +6 -0
  273. package/web/.next/server/app/overview/changes/route.js.map +5 -0
  274. package/web/.next/server/app/overview/changes/route.js.nft.json +1 -0
  275. package/web/.next/server/app/overview/changes/route_client-reference-manifest.js +3 -0
  276. package/web/.next/server/app/overview/page/app-paths-manifest.json +3 -0
  277. package/web/.next/server/app/overview/page/build-manifest.json +23 -0
  278. package/web/.next/server/app/overview/page/next-font-manifest.json +11 -0
  279. package/web/.next/server/app/overview/page/react-loadable-manifest.json +1 -0
  280. package/web/.next/server/app/overview/page/server-reference-manifest.json +45 -0
  281. package/web/.next/server/app/overview/page.js +24 -0
  282. package/web/.next/server/app/overview/page.js.map +5 -0
  283. package/web/.next/server/app/overview/page.js.nft.json +1 -0
  284. package/web/.next/server/app/overview/page_client-reference-manifest.js +3 -0
  285. package/web/.next/server/app/overview/requests/[requestId]/page/app-paths-manifest.json +3 -0
  286. package/web/.next/server/app/overview/requests/[requestId]/page/build-manifest.json +23 -0
  287. package/web/.next/server/app/overview/requests/[requestId]/page/next-font-manifest.json +11 -0
  288. package/web/.next/server/app/overview/requests/[requestId]/page/react-loadable-manifest.json +1 -0
  289. package/web/.next/server/app/overview/requests/[requestId]/page/server-reference-manifest.json +25 -0
  290. package/web/.next/server/app/overview/requests/[requestId]/page.js +24 -0
  291. package/web/.next/server/app/overview/requests/[requestId]/page.js.map +5 -0
  292. package/web/.next/server/app/overview/requests/[requestId]/page.js.nft.json +1 -0
  293. package/web/.next/server/app/overview/requests/[requestId]/page_client-reference-manifest.js +3 -0
  294. package/web/.next/server/app/parties/page/app-paths-manifest.json +3 -0
  295. package/web/.next/server/app/parties/page/build-manifest.json +23 -0
  296. package/web/.next/server/app/parties/page/next-font-manifest.json +11 -0
  297. package/web/.next/server/app/parties/page/react-loadable-manifest.json +1 -0
  298. package/web/.next/server/app/parties/page/server-reference-manifest.json +55 -0
  299. package/web/.next/server/app/parties/page.js +22 -0
  300. package/web/.next/server/app/parties/page.js.map +5 -0
  301. package/web/.next/server/app/parties/page.js.nft.json +1 -0
  302. package/web/.next/server/app/parties/page_client-reference-manifest.js +3 -0
  303. package/web/.next/server/app/sign-in/failed/page/app-paths-manifest.json +3 -0
  304. package/web/.next/server/app/sign-in/failed/page/build-manifest.json +23 -0
  305. package/web/.next/server/app/sign-in/failed/page/next-font-manifest.json +11 -0
  306. package/web/.next/server/app/sign-in/failed/page/react-loadable-manifest.json +1 -0
  307. package/web/.next/server/app/sign-in/failed/page/server-reference-manifest.json +15 -0
  308. package/web/.next/server/app/sign-in/failed/page.js +18 -0
  309. package/web/.next/server/app/sign-in/failed/page.js.map +5 -0
  310. package/web/.next/server/app/sign-in/failed/page.js.nft.json +1 -0
  311. package/web/.next/server/app/sign-in/failed/page_client-reference-manifest.js +3 -0
  312. package/web/.next/server/app-paths-manifest.json +17 -0
  313. package/web/.next/server/chunks/[externals]__12s2uxrv8n30f._.js +3 -0
  314. package/web/.next/server/chunks/[externals]__12s2uxrv8n30f._.js.map +1 -0
  315. package/web/.next/server/chunks/[root-of-the-server]__00bbah0fbuex2._.js +369 -0
  316. package/web/.next/server/chunks/[root-of-the-server]__00bbah0fbuex2._.js.map +1 -0
  317. package/web/.next/server/chunks/[turbopack]_runtime.js +937 -0
  318. package/web/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
  319. package/web/.next/server/chunks/ssr/0vkm_server_app_overview_requests_[requestId]_page_actions_08cpboirhdm8t.js +3 -0
  320. package/web/.next/server/chunks/ssr/0vkm_server_app_overview_requests_[requestId]_page_actions_08cpboirhdm8t.js.map +1 -0
  321. package/web/.next/server/chunks/ssr/[root-of-the-server]__0-liudmjwlqmo._.js +4 -0
  322. package/web/.next/server/chunks/ssr/[root-of-the-server]__0-liudmjwlqmo._.js.map +1 -0
  323. package/web/.next/server/chunks/ssr/[root-of-the-server]__04_bc8g0oe4jt._.js +3 -0
  324. package/web/.next/server/chunks/ssr/[root-of-the-server]__04_bc8g0oe4jt._.js.map +1 -0
  325. package/web/.next/server/chunks/ssr/[root-of-the-server]__0dywrno7zb0r_._.js +3 -0
  326. package/web/.next/server/chunks/ssr/[root-of-the-server]__0dywrno7zb0r_._.js.map +1 -0
  327. package/web/.next/server/chunks/ssr/[root-of-the-server]__0hosi33y5xecr._.js +3 -0
  328. package/web/.next/server/chunks/ssr/[root-of-the-server]__0hosi33y5xecr._.js.map +1 -0
  329. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ntyo9p3x-w6a._.js +3 -0
  330. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ntyo9p3x-w6a._.js.map +1 -0
  331. package/web/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js +3 -0
  332. package/web/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js.map +1 -0
  333. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rzvf7wb60m05._.js +3 -0
  334. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rzvf7wb60m05._.js.map +1 -0
  335. package/web/.next/server/chunks/ssr/[root-of-the-server]__10rfwy-punm8_._.js +3 -0
  336. package/web/.next/server/chunks/ssr/[root-of-the-server]__10rfwy-punm8_._.js.map +1 -0
  337. package/web/.next/server/chunks/ssr/[root-of-the-server]__10y66e1xx8xiq._.js +3 -0
  338. package/web/.next/server/chunks/ssr/[root-of-the-server]__10y66e1xx8xiq._.js.map +1 -0
  339. package/web/.next/server/chunks/ssr/[root-of-the-server]__11e7zi5yg_f_4._.js +4 -0
  340. package/web/.next/server/chunks/ssr/[root-of-the-server]__11e7zi5yg_f_4._.js.map +1 -0
  341. package/web/.next/server/chunks/ssr/[root-of-the-server]__14w0fxvc_of17._.js +3 -0
  342. package/web/.next/server/chunks/ssr/[root-of-the-server]__14w0fxvc_of17._.js.map +1 -0
  343. package/web/.next/server/chunks/ssr/[root-of-the-server]__160zc0ja_jjnu._.js +3 -0
  344. package/web/.next/server/chunks/ssr/[root-of-the-server]__160zc0ja_jjnu._.js.map +1 -0
  345. package/web/.next/server/chunks/ssr/[root-of-the-server]__197il4swfpq1a._.js +3 -0
  346. package/web/.next/server/chunks/ssr/[root-of-the-server]__197il4swfpq1a._.js.map +1 -0
  347. package/web/.next/server/chunks/ssr/[root-of-the-server]__1afrhvkbp010p._.js +3 -0
  348. package/web/.next/server/chunks/ssr/[root-of-the-server]__1afrhvkbp010p._.js.map +1 -0
  349. package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpk1uw97id0a._.js +4 -0
  350. package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpk1uw97id0a._.js.map +1 -0
  351. package/web/.next/server/chunks/ssr/[root-of-the-server]__1vkw2kvzx6fpw._.js +3 -0
  352. package/web/.next/server/chunks/ssr/[root-of-the-server]__1vkw2kvzx6fpw._.js.map +1 -0
  353. package/web/.next/server/chunks/ssr/[root-of-the-server]__1wl0vw-n8lbkn._.js +14 -0
  354. package/web/.next/server/chunks/ssr/[root-of-the-server]__1wl0vw-n8lbkn._.js.map +1 -0
  355. package/web/.next/server/chunks/ssr/[root-of-the-server]__1yyfc4xf3xa-s._.js +4 -0
  356. package/web/.next/server/chunks/ssr/[root-of-the-server]__1yyfc4xf3xa-s._.js.map +1 -0
  357. package/web/.next/server/chunks/ssr/[root-of-the-server]__216xd8otb96uo._.js +3 -0
  358. package/web/.next/server/chunks/ssr/[root-of-the-server]__216xd8otb96uo._.js.map +1 -0
  359. package/web/.next/server/chunks/ssr/[turbopack]_runtime.js +937 -0
  360. package/web/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
  361. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +4 -0
  362. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -0
  363. package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js +57 -0
  364. package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js.map +1 -0
  365. package/web/.next/server/chunks/ssr/_03xm-6l-r6ko0._.js +4 -0
  366. package/web/.next/server/chunks/ssr/_03xm-6l-r6ko0._.js.map +1 -0
  367. package/web/.next/server/chunks/ssr/_04iwj3w0divwb._.js +4 -0
  368. package/web/.next/server/chunks/ssr/_04iwj3w0divwb._.js.map +1 -0
  369. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +4 -0
  370. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -0
  371. package/web/.next/server/chunks/ssr/_13qzwpag13tvy._.js +4 -0
  372. package/web/.next/server/chunks/ssr/_13qzwpag13tvy._.js.map +1 -0
  373. package/web/.next/server/chunks/ssr/_1bfq0g9c1iw__._.js +4 -0
  374. package/web/.next/server/chunks/ssr/_1bfq0g9c1iw__._.js.map +1 -0
  375. package/web/.next/server/chunks/ssr/_1jfy4064jcghi._.js +3 -0
  376. package/web/.next/server/chunks/ssr/_1jfy4064jcghi._.js.map +1 -0
  377. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +4 -0
  378. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -0
  379. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +4 -0
  380. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -0
  381. package/web/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js +33 -0
  382. package/web/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js.map +1 -0
  383. package/web/.next/server/chunks/ssr/node_modules_0h91jdk0pr40d._.js +33 -0
  384. package/web/.next/server/chunks/ssr/node_modules_0h91jdk0pr40d._.js.map +1 -0
  385. package/web/.next/server/chunks/ssr/node_modules_0ue_35q2cegwf._.js +3 -0
  386. package/web/.next/server/chunks/ssr/node_modules_0ue_35q2cegwf._.js.map +1 -0
  387. package/web/.next/server/chunks/ssr/node_modules_next_08hq6z46rczo0._.js +17 -0
  388. package/web/.next/server/chunks/ssr/node_modules_next_08hq6z46rczo0._.js.map +1 -0
  389. package/web/.next/server/chunks/ssr/node_modules_next_164yuq6c86vw2._.js +291 -0
  390. package/web/.next/server/chunks/ssr/node_modules_next_164yuq6c86vw2._.js.map +1 -0
  391. package/web/.next/server/chunks/ssr/node_modules_next_17rgm9-6qzdn5._.js +313 -0
  392. package/web/.next/server/chunks/ssr/node_modules_next_17rgm9-6qzdn5._.js.map +1 -0
  393. package/web/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +6 -0
  394. package/web/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js.map +1 -0
  395. package/web/.next/server/chunks/ssr/node_modules_next_dist_1dupwucoqt5qm._.js +3 -0
  396. package/web/.next/server/chunks/ssr/node_modules_next_dist_1dupwucoqt5qm._.js.map +1 -0
  397. package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_0p8s4lhdi0ir6._.js +3 -0
  398. package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_0p8s4lhdi0ir6._.js.map +1 -0
  399. package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js +3 -0
  400. package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js.map +1 -0
  401. package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js +3 -0
  402. package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js.map +1 -0
  403. package/web/.next/server/chunks/ssr/node_modules_next_dist_compiled_@edge-runtime_cookies_index_1kiz_an963mbg.js +3 -0
  404. package/web/.next/server/chunks/ssr/node_modules_next_dist_compiled_@edge-runtime_cookies_index_1kiz_an963mbg.js.map +1 -0
  405. package/web/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwhip-98t.js +3 -0
  406. package/web/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwhip-98t.js.map +1 -0
  407. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_03zgfhccdkaiy.js +3 -0
  408. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_03zgfhccdkaiy.js.map +1 -0
  409. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0fj-1791_p39n.js +3 -0
  410. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0fj-1791_p39n.js.map +1 -0
  411. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pq59x3iko2ai.js +3 -0
  412. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pq59x3iko2ai.js.map +1 -0
  413. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0svltk31-r84e.js +3 -0
  414. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0svltk31-r84e.js.map +1 -0
  415. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ytc4y16h581t.js +3 -0
  416. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ytc4y16h581t.js.map +1 -0
  417. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_15hcath_cy93j.js +3 -0
  418. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_15hcath_cy93j.js.map +1 -0
  419. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18gq8l27vkevg.js +3 -0
  420. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18gq8l27vkevg.js.map +1 -0
  421. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z4y02i7.js +3 -0
  422. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z4y02i7.js.map +1 -0
  423. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ej-pov8ir4hb.js +3 -0
  424. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ej-pov8ir4hb.js.map +1 -0
  425. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1emdm3ck_2g9k.js +3 -0
  426. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1emdm3ck_2g9k.js.map +1 -0
  427. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mvwdrj8rcdc5.js +3 -0
  428. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mvwdrj8rcdc5.js.map +1 -0
  429. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uc-ufaepnlh_.js +3 -0
  430. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uc-ufaepnlh_.js.map +1 -0
  431. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ymh04086158y.js +3 -0
  432. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ymh04086158y.js.map +1 -0
  433. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1z9khw-ht54ev.js +3 -0
  434. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1z9khw-ht54ev.js.map +1 -0
  435. package/web/.next/server/chunks/ssr/web_0v-7sowo0hupw._.js +3 -0
  436. package/web/.next/server/chunks/ssr/web_0v-7sowo0hupw._.js.map +1 -0
  437. package/web/.next/server/chunks/ssr/web_0vot73dagfg_x._.js +3 -0
  438. package/web/.next/server/chunks/ssr/web_0vot73dagfg_x._.js.map +1 -0
  439. package/web/.next/server/chunks/ssr/web_17c7_dhsf-sjp._.js +3 -0
  440. package/web/.next/server/chunks/ssr/web_17c7_dhsf-sjp._.js.map +1 -0
  441. package/web/.next/server/chunks/ssr/web_1j5yjwqkgyeve._.js +3 -0
  442. package/web/.next/server/chunks/ssr/web_1j5yjwqkgyeve._.js.map +1 -0
  443. package/web/.next/server/chunks/ssr/web_1nqu01kfi0u66._.js +3 -0
  444. package/web/.next/server/chunks/ssr/web_1nqu01kfi0u66._.js.map +1 -0
  445. package/web/.next/server/chunks/ssr/web_1zd285_dq60z5._.js +3 -0
  446. package/web/.next/server/chunks/ssr/web_1zd285_dq60z5._.js.map +1 -0
  447. package/web/.next/server/chunks/ssr/web_207u8paamz3z-._.js +10 -0
  448. package/web/.next/server/chunks/ssr/web_207u8paamz3z-._.js.map +1 -0
  449. package/web/.next/server/chunks/ssr/web__next-internal_server_app__global-error_page_actions_0crg1npwvbfn5.js +3 -0
  450. package/web/.next/server/chunks/ssr/web__next-internal_server_app__global-error_page_actions_0crg1npwvbfn5.js.map +1 -0
  451. package/web/.next/server/chunks/ssr/web__next-internal_server_app_outside-parties_add_page_actions_0wclx47vjdhe6.js +3 -0
  452. package/web/.next/server/chunks/ssr/web__next-internal_server_app_outside-parties_add_page_actions_0wclx47vjdhe6.js.map +1 -0
  453. package/web/.next/server/chunks/ssr/web__next-internal_server_app_overview_page_actions_0hxu14a57nlf2.js +3 -0
  454. package/web/.next/server/chunks/ssr/web__next-internal_server_app_overview_page_actions_0hxu14a57nlf2.js.map +1 -0
  455. package/web/.next/server/chunks/ssr/web_app_not-found_tsx_1miwllm8xrp2a._.js +3 -0
  456. package/web/.next/server/chunks/ssr/web_app_not-found_tsx_1miwllm8xrp2a._.js.map +1 -0
  457. package/web/.next/server/chunks/ssr/web_app_outside-parties_[name]_change_page_tsx_0kfjh3f55us56._.js +3 -0
  458. package/web/.next/server/chunks/ssr/web_app_outside-parties_[name]_change_page_tsx_0kfjh3f55us56._.js.map +1 -0
  459. package/web/.next/server/chunks/ssr/web_app_outside-parties_[name]_retire_page_tsx_0qhcnjpjipu_2._.js +3 -0
  460. package/web/.next/server/chunks/ssr/web_app_outside-parties_[name]_retire_page_tsx_0qhcnjpjipu_2._.js.map +1 -0
  461. package/web/.next/server/chunks/ssr/web_app_overview_error_tsx_0qlcwxupzw726._.js +3 -0
  462. package/web/.next/server/chunks/ssr/web_app_overview_error_tsx_0qlcwxupzw726._.js.map +1 -0
  463. package/web/.next/server/chunks/ssr/web_app_overview_error_tsx_17_cklg40kzxe._.js +3 -0
  464. package/web/.next/server/chunks/ssr/web_app_overview_error_tsx_17_cklg40kzxe._.js.map +1 -0
  465. package/web/.next/server/chunks/ssr/web_app_parties_page_tsx_1lilxm339jj89._.js +3 -0
  466. package/web/.next/server/chunks/ssr/web_app_parties_page_tsx_1lilxm339jj89._.js.map +1 -0
  467. package/web/.next/server/chunks/ssr/web_features_085cv0gogrxxf._.js +3 -0
  468. package/web/.next/server/chunks/ssr/web_features_085cv0gogrxxf._.js.map +1 -0
  469. package/web/.next/server/chunks/ssr/web_features_0fxkmm4vqke5q._.js +3 -0
  470. package/web/.next/server/chunks/ssr/web_features_0fxkmm4vqke5q._.js.map +1 -0
  471. package/web/.next/server/chunks/ssr/web_features_0h0ueu8_-_z5k._.js +3 -0
  472. package/web/.next/server/chunks/ssr/web_features_0h0ueu8_-_z5k._.js.map +1 -0
  473. package/web/.next/server/chunks/ssr/web_features_0k3zd1eymtkgq._.js +3 -0
  474. package/web/.next/server/chunks/ssr/web_features_0k3zd1eymtkgq._.js.map +1 -0
  475. package/web/.next/server/chunks/ssr/web_features_0vq1wjkuh6dmr._.js +3 -0
  476. package/web/.next/server/chunks/ssr/web_features_0vq1wjkuh6dmr._.js.map +1 -0
  477. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +3 -0
  478. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -0
  479. package/web/.next/server/chunks/ssr/web_features_authorize_ui_waiting-for-approval_tsx_00iwjvj4orq9g._.js +3 -0
  480. package/web/.next/server/chunks/ssr/web_features_authorize_ui_waiting-for-approval_tsx_00iwjvj4orq9g._.js.map +1 -0
  481. package/web/.next/server/chunks/ssr/web_features_forms_03k1kg82ux_ee._.js +3 -0
  482. package/web/.next/server/chunks/ssr/web_features_forms_03k1kg82ux_ee._.js.map +1 -0
  483. package/web/.next/server/chunks/ssr/web_features_forms_1-88lvs4ivi73._.js +3 -0
  484. package/web/.next/server/chunks/ssr/web_features_forms_1-88lvs4ivi73._.js.map +1 -0
  485. package/web/.next/server/chunks/ssr/web_features_forms_15gausi3cpweg._.js +3 -0
  486. package/web/.next/server/chunks/ssr/web_features_forms_15gausi3cpweg._.js.map +1 -0
  487. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +3 -0
  488. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -0
  489. package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +3 -0
  490. package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js.map +1 -0
  491. package/web/.next/server/chunks/ssr/web_features_outside-party_ui_outside-party_tsx_06a94oekz1ckq._.js +3 -0
  492. package/web/.next/server/chunks/ssr/web_features_outside-party_ui_outside-party_tsx_06a94oekz1ckq._.js.map +1 -0
  493. package/web/.next/server/chunks/ssr/web_features_overview_16dyz2ngvs14b._.js +3 -0
  494. package/web/.next/server/chunks/ssr/web_features_overview_16dyz2ngvs14b._.js.map +1 -0
  495. package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js +3 -0
  496. package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js.map +1 -0
  497. package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js +3 -0
  498. package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js.map +1 -0
  499. package/web/.next/server/chunks/ssr/web_features_overview_state_inbox-panel_tsx_03hlegjsc27sb._.js +3 -0
  500. package/web/.next/server/chunks/ssr/web_features_overview_state_inbox-panel_tsx_03hlegjsc27sb._.js.map +1 -0
  501. package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +3 -0
  502. package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js.map +1 -0
  503. package/web/.next/server/chunks/web__next-internal_server_app_overview_changes_route_actions_16jqwsctr1pzg.js +3 -0
  504. package/web/.next/server/chunks/web__next-internal_server_app_overview_changes_route_actions_16jqwsctr1pzg.js.map +1 -0
  505. package/web/.next/server/functions-config-manifest.json +4 -0
  506. package/web/.next/server/interception-route-rewrite-manifest.js +1 -0
  507. package/web/.next/server/middleware-build-manifest.js +194 -0
  508. package/web/.next/server/middleware-manifest.json +6 -0
  509. package/web/.next/server/next-font-manifest.js +1 -0
  510. package/web/.next/server/next-font-manifest.json +59 -0
  511. package/web/.next/server/pages/500.html +1 -0
  512. package/web/.next/server/pages-manifest.json +3 -0
  513. package/web/.next/server/prefetch-hints.json +11 -0
  514. package/web/.next/server/preview-props.json +5 -0
  515. package/web/.next/server/server-reference-manifest.js +1 -0
  516. package/web/.next/server/server-reference-manifest.json +202 -0
  517. package/web/.next/static/6OjpPl7qD1uqwr6E41aT5/_buildManifest.js +11 -0
  518. package/web/.next/static/6OjpPl7qD1uqwr6E41aT5/_clientMiddlewareManifest.js +1 -0
  519. package/web/.next/static/6OjpPl7qD1uqwr6E41aT5/_ssgManifest.js +1 -0
  520. package/web/.next/static/chunks/0a1vw3r93lh06.js +1 -0
  521. package/web/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
  522. package/web/.next/static/chunks/0lzisjsmhlhjf.js +1 -0
  523. package/web/.next/static/chunks/0umf92h1sb77c.js +1 -0
  524. package/web/.next/static/chunks/131oz96e71xwn.js +1 -0
  525. package/web/.next/static/chunks/1cduebcshlfd5.js +1 -0
  526. package/web/.next/static/chunks/1ma7v1viiz247.js +1 -0
  527. package/web/.next/static/chunks/1w-xaw2grqv_2.js +1 -0
  528. package/web/.next/static/chunks/22u81hd6kxqsx.js +1 -0
  529. package/web/.next/static/chunks/2ewacyhp73due.js +1 -0
  530. package/web/.next/static/chunks/2hz8yws_wswjz.js +31 -0
  531. package/web/.next/static/chunks/2qpupho1jn-iy.js +1 -0
  532. package/web/.next/static/chunks/2ta7dqldhv69y.js +1 -0
  533. package/web/.next/static/chunks/30n1j9zag1f0q.css +3 -0
  534. package/web/.next/static/chunks/3knqujtrdi225.js +1 -0
  535. package/web/.next/static/chunks/3sv0_hjr9t4cp.js +1 -0
  536. package/web/.next/static/chunks/3yltnnufhaitm.js +1 -0
  537. package/web/.next/static/chunks/41rcj9-d-7p_4.js +22 -0
  538. package/web/.next/static/chunks/turbopack-3-ry682tkyiqk.js +1 -0
  539. package/web/.next/static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2 +0 -0
  540. package/web/.next/static/media/geist_variable-s.p.0mrjj4bg00-he.woff2 +0 -0
  541. package/web/.next/trace +1 -0
  542. package/web/.next/trace-build +1 -0
  543. package/web/.next/turbopack +0 -0
  544. package/web/.next/types/cache-life.d.ts +114 -0
  545. package/web/.next/types/root-params.d.ts +3 -0
  546. package/web/.next/types/routes.d.ts +85 -0
  547. package/web/.next/types/validator.ts +288 -0
  548. package/web/next.config.ts +9 -0
  549. package/dist/adapters/crypto/page-sessions.d.ts +0 -15
  550. package/dist/adapters/crypto/page-sessions.js +0 -40
  551. package/dist/adapters/crypto/page-sessions.js.map +0 -1
  552. package/dist/adapters/http/add-server-page.d.ts +0 -7
  553. package/dist/adapters/http/add-server-page.js +0 -175
  554. package/dist/adapters/http/add-server-page.js.map +0 -1
  555. package/dist/adapters/http/delivery-page.d.ts +0 -24
  556. package/dist/adapters/http/delivery-page.js +0 -115
  557. package/dist/adapters/http/delivery-page.js.map +0 -1
  558. package/dist/adapters/http/html.d.ts +0 -15
  559. package/dist/adapters/http/html.js +0 -53
  560. package/dist/adapters/http/html.js.map +0 -1
  561. package/dist/adapters/http/outside-parties-page.d.ts +0 -33
  562. package/dist/adapters/http/outside-parties-page.js +0 -153
  563. package/dist/adapters/http/outside-parties-page.js.map +0 -1
  564. package/dist/adapters/http/outside-party-page.d.ts +0 -7
  565. package/dist/adapters/http/outside-party-page.js +0 -212
  566. package/dist/adapters/http/outside-party-page.js.map +0 -1
  567. package/dist/adapters/http/overview-page.d.ts +0 -17
  568. package/dist/adapters/http/overview-page.js +0 -298
  569. package/dist/adapters/http/overview-page.js.map +0 -1
  570. package/dist/adapters/http/parties-page.d.ts +0 -7
  571. package/dist/adapters/http/parties-page.js +0 -139
  572. package/dist/adapters/http/parties-page.js.map +0 -1
  573. package/dist/adapters/http/scope-rows.d.ts +0 -10
  574. package/dist/adapters/http/scope-rows.js +0 -30
  575. package/dist/adapters/http/scope-rows.js.map +0 -1
  576. package/dist/adapters/http/signal.d.ts +0 -61
  577. package/dist/adapters/http/signal.js +0 -263
  578. package/dist/adapters/http/signal.js.map +0 -1
  579. package/dist/core/sign-in/sign-out.d.ts +0 -10
  580. package/dist/core/sign-in/sign-out.js +0 -9
  581. package/dist/core/sign-in/sign-out.js.map +0 -1
  582. package/dist/core/sign-in/start-page-sign-in.d.ts +0 -25
  583. package/dist/core/sign-in/start-page-sign-in.js +0 -30
  584. package/dist/core/sign-in/start-page-sign-in.js.map +0 -1
package/dist/app.js CHANGED
@@ -4,6 +4,7 @@
4
4
  * cookie, and the hosting service's, with the installation token.
5
5
  */
6
6
  import { randomUUID } from 'node:crypto';
7
+ import { FLEET_HEADER, idSchema } from '@aeolus-fleet/common';
7
8
  import { fastifyTRPCPlugin } from '@trpc/server/adapters/fastify';
8
9
  import Fastify, {} from 'fastify';
9
10
  import { sha256RequestHasher } from './adapters/crypto/request-hasher.js';
@@ -27,15 +28,10 @@ import { createRunParty } from './core/mcp-out/run-party.js';
27
28
  import { createPrismaCalls } from './adapters/prisma/calls.js';
28
29
  import { sleep } from './adapters/timers/sleep.js';
29
30
  import { createPartyWorkers } from './party-workers.js';
30
- import { gatewayRouter } from './adapters/trpc/router.js';
31
- import { registerOutsidePartiesPage } from './adapters/http/outside-parties-page.js';
32
- import { registerAddServerPage } from './adapters/http/add-server-page.js';
31
+ import { gatewayRouter, WAITING_SECRET_HEADER } from './adapters/trpc/router.js';
33
32
  import { registerFrontDoor } from './adapters/http/front-door.js';
34
- import { registerOutsidePartyPage } from './adapters/http/outside-party-page.js';
35
- import { createChangeHub, registerLive } from './adapters/http/live.js';
36
- import { overviewLivePages, registerOverviewPage } from './adapters/http/overview-page.js';
33
+ import { createChangeHub } from './adapters/http/live.js';
37
34
  import { listenToChanges } from './adapters/prisma/changes.js';
38
- import { registerPartiesPage } from './adapters/http/parties-page.js';
39
35
  import { registerOAuthRoutes } from './adapters/http/oauth-routes.js';
40
36
  import { registerMcpEndpoint } from './adapters/http/mcp-endpoint.js';
41
37
  import { createShipAliases } from './adapters/crypto/ship-aliases.js';
@@ -52,7 +48,6 @@ import { createPrismaAuthorizationCodes, createPrismaIssuedTokens, createPrismaO
52
48
  import { createExchangeToken } from './core/oauth/exchange-token.js';
53
49
  import { createSignInSeals } from './adapters/crypto/sign-in-seals.js';
54
50
  import { createWaitingSeals } from './adapters/crypto/waiting-seals.js';
55
- import { createPageSessions, pageCookieOf } from './adapters/crypto/page-sessions.js';
56
51
  import { createRequestIds } from './adapters/crypto/request-ids.js';
57
52
  import { createAskForClient } from './core/requests/ask-for-client.js';
58
53
  import { createAskForServer } from './core/requests/ask-for-server.js';
@@ -62,23 +57,33 @@ import { createAskOwners } from './core/requests/ask-owners.js';
62
57
  import { createPrismaOwnerQuestions } from './adapters/prisma/owner-questions.js';
63
58
  import { createPrismaOutcomeNotices } from './adapters/prisma/outcome-notices.js';
64
59
  import { createOutcomeWorker } from './outcome-worker.js';
60
+ import { createPingWorker } from './ping-worker.js';
65
61
  import { createOpenRequest } from './core/requests/open-request.js';
66
62
  import { createReadWaiting } from './core/requests/read-waiting.js';
67
63
  import { createWatchWaiting } from './core/requests/watch-waiting.js';
68
64
  import { createPagasae } from './adapters/pagasae/pagasae-client.js';
65
+ import { createSharedSignIn } from './adapters/pagasae/shared-sign-in.js';
66
+ import { createAccountSignInSeals } from './adapters/crypto/account-sign-in-seals.js';
67
+ import { cookieValueOf, registerAccountSignIn } from './adapters/http/account-sign-in-routes.js';
68
+ import { createAccountInView } from './core/account-sign-in/account-in-view.js';
69
+ import { createAccountOfSignIn } from './core/account-sign-in/account-of-sign-in.js';
70
+ import { createCompleteAccountSignIn } from './core/account-sign-in/complete-account-sign-in.js';
71
+ import { SHARED_SIGN_IN_COOKIE } from './core/account-sign-in/ports.js';
72
+ import { createSignOutAccount } from './core/account-sign-in/sign-out-account.js';
73
+ import { createStartAccountSignIn } from './core/account-sign-in/start-account-sign-in.js';
69
74
  import { createPrismaAccountGrants } from './adapters/prisma/account-grants.js';
70
75
  import { createCompleteSignIn } from './core/sign-in/complete-sign-in.js';
71
76
  import { createStartSignIn } from './core/sign-in/start-sign-in.js';
72
- import { createStartPageSignIn } from './core/sign-in/start-page-sign-in.js';
73
- import { createSignOut } from './core/sign-in/sign-out.js';
74
77
  import { createAccountTokenOf } from './core/sign-in/account-token.js';
75
78
  import { err } from './core/shared/result.js';
76
79
  import { createEndSignIns } from './core/sign-in/end-sign-ins.js';
77
80
  import { createAnswerDelivery } from './core/people/answer-delivery.js';
78
81
  import { createCrewPersonShip } from './core/people/crew-person-ship.js';
79
82
  import { createDoneDelivery } from './core/people/done-delivery.js';
83
+ import { createListShips } from './core/people/list-ships.js';
80
84
  import { createOpenDelivery } from './core/people/open-delivery.js';
81
85
  import { createReadInbox } from './core/people/read-inbox.js';
86
+ import { createSendMessage } from './core/people/send-message.js';
82
87
  import { createPrismaOpenedDeliveries } from './adapters/prisma/opened-deliveries.js';
83
88
  import { createPrismaPersonCrews } from './adapters/prisma/person-crews.js';
84
89
  import { createReadAuthorization } from './core/oauth/read-authorization.js';
@@ -87,6 +92,7 @@ import { createFleetNetwork } from './adapters/fleet/fleet-network.js';
87
92
  import { createPrismaOutsidePartySwitches } from './adapters/prisma/outside-party-switches.js';
88
93
  import { createReadOutsideParties, createSetOutsideParties } from './core/outside-parties/set-outside-parties.js';
89
94
  import { createConnect } from './core/connection/connect.js';
95
+ import { createAnswerPings } from './core/connection/answer-pings.js';
90
96
  import { createReadConnection } from './core/connection/read-connection.js';
91
97
  import { createDeleteFleet } from './core/installation/delete-fleet.js';
92
98
  import { createReadFleet } from './core/installation/read-fleet.js';
@@ -95,11 +101,13 @@ import { createSetFleetEnabled } from './core/installation/set-fleet-enabled.js'
95
101
  import { createAuthenticateOperator } from './core/operator/authenticate-operator.js';
96
102
  import { createApproveClientParty, createApproveParty } from './core/parties/approve-party.js';
97
103
  import { createCrewParty } from './core/parties/crew-party.js';
104
+ import { createListOwnerChoices } from './core/parties/list-owner-choices.js';
98
105
  import { createListParties, createReadParty } from './core/parties/list-parties.js';
99
106
  import { createAuthenticateActor } from './core/actors/authenticate-actor.js';
100
107
  import { createRetireParty } from './core/parties/retire-party.js';
101
108
  import { createChangePartyOwner, createChangePartyScopes } from './core/parties/change-party.js';
102
109
  import { logRefusedFacts } from './adapters/fleet/logged-verified-facts.js';
110
+ import { createFleetShips } from './adapters/fleet/fleet-ships.js';
103
111
  import { createProxyShipReads } from './adapters/fleet/proxy-ship-reads.js';
104
112
  import { createProxyShipsAsActor } from './adapters/fleet/proxy-ships-as-actor.js';
105
113
  import { createCredentialOf } from './core/actors/credential-of.js';
@@ -226,6 +234,7 @@ export function createGatewayApp(options) {
226
234
  const proxyShipReads = createProxyShipReads(options.fleetUrl);
227
235
  const listParties = createListParties({ parties, fleet: proxyShipReads, credentialOf: (actor, sent) => credentialOf(actor, sent) });
228
236
  const readParty = createReadParty({ parties, fleet: proxyShipReads, credentialOf: (actor, sent) => credentialOf(actor, sent) });
237
+ const listOwnerChoices = createListOwnerChoices({ ships: createFleetShips(options.fleetUrl), credentialOf: (actor, sent) => credentialOf(actor, sent) });
229
238
  // An account's credential needs its account token, set up with the sign-in below.
230
239
  const setOutsidePartiesOnly = createSetOutsideParties({ switches: outsidePartySwitches, network: createFleetNetwork(options.fleetUrl), clock, credentialOf: (actor, sent) => credentialOf(actor, sent) });
231
240
  // Off stops the fleet's workers; on starts its crewed parties' workers again.
@@ -257,7 +266,6 @@ export function createGatewayApp(options) {
257
266
  const grants = createPrismaAccountGrants(prisma);
258
267
  const pendingRequests = createPrismaPendingRequests(prisma);
259
268
  const waitings = createWaitingSeals(options.gatewaySecret);
260
- const pageSessions = createPageSessions(options.gatewaySecret);
261
269
  const issuing = { codes: authorizationCodes, secrets: oauthSecrets, clock, issuer };
262
270
  const openRequestOnly = createOpenRequest({ requests: pendingRequests, ids: createRequestIds(), clock });
263
271
  // A request opened has the gateway's owner asked at once, not at the next round.
@@ -266,7 +274,7 @@ export function createGatewayApp(options) {
266
274
  outcomes.tellNow();
267
275
  return opened;
268
276
  };
269
- // The live pages hear each committed change to the fleet's requests, from whichever gateway made it.
277
+ // The web app's pages and the waiting page hear each committed change to the fleet's requests, from whichever gateway made it.
270
278
  const hub = createChangeHub();
271
279
  const signIn = pagasae === undefined
272
280
  ? undefined
@@ -282,7 +290,6 @@ export function createGatewayApp(options) {
282
290
  clock,
283
291
  issuer,
284
292
  servesFleet: async (fleetId) => (await connections.find(fleetId)) !== undefined && (await isServed(fleetId)),
285
- sessions: pageSessions,
286
293
  askForClient: createAskForClient({
287
294
  parties,
288
295
  requests: pendingRequests,
@@ -296,7 +303,6 @@ export function createGatewayApp(options) {
296
303
  watchWaiting: createWatchWaiting({ waitings, requests: pendingRequests, parties, clock }),
297
304
  hub,
298
305
  clock,
299
- pages: { start: createStartPageSignIn({ seals, pagasae, secrets: oauthSecrets, clock }), signOut: createSignOut({ grants }), sessions: pageSessions },
300
306
  };
301
307
  registerOAuthRoutes(server, {
302
308
  ...(signIn === undefined ? {} : { signIn }),
@@ -313,10 +319,12 @@ export function createGatewayApp(options) {
313
319
  const opened = createPrismaOpenedDeliveries(prisma);
314
320
  const asCrew = { crewPersonShip: createCrewPersonShip({ accountTokenOf, connections, door, crews, clock }), crews, door: door.person };
315
321
  return {
316
- readInbox: createReadInbox(asCrew),
322
+ readInbox: createReadInbox({ ...asCrew, opened }),
317
323
  openDelivery: createOpenDelivery({ ...asCrew, opened, clock }),
318
324
  answerDelivery: createAnswerDelivery({ ...asCrew, opened }),
319
325
  doneDelivery: createDoneDelivery({ ...asCrew, opened }),
326
+ listShips: createListShips(asCrew),
327
+ sendMessage: createSendMessage({ ...asCrew, keys: { newIdempotencyKey: randomUUID } }),
320
328
  askForServer: createAskForServer({ grants, parties, openRequest, servesOutsideParties }),
321
329
  };
322
330
  };
@@ -332,8 +340,23 @@ export function createGatewayApp(options) {
332
340
  ...(person === undefined ? {} : { person }),
333
341
  });
334
342
  // What every call of the API reads, from the request's console session and installation token.
335
- const credentialOf = createCredentialOf({ connections, accountTokenOf });
336
- const authenticateActor = createAuthenticateActor({ authenticateOperator, door, connections, sessions: pageSessions, accountTokenOf });
343
+ // The pages' shared account sign-in, where the gateway is an app at pagasae (header design H5); else no shared sign-in names anyone.
344
+ const signIns = options.pagasae === undefined || options.pagasaeApp === undefined
345
+ ? undefined
346
+ : createSharedSignIn({ url: options.pagasae.url, ...options.pagasaeApp, redirectUri: `${issuer}/sign-in/done`, timeoutMs: PAGASAE_TIMEOUT_MS });
347
+ const accountOf = signIns === undefined ? Object.assign(() => Promise.resolve(err({ kind: 'signedOut' })), { forget: () => undefined }) : createAccountOfSignIn({ signIns, clock });
348
+ const accountInView = signIns === undefined ? undefined : createAccountInView({ signIns, accountOf });
349
+ if (signIns !== undefined) {
350
+ const accountSeals = createAccountSignInSeals(options.gatewaySecret);
351
+ registerAccountSignIn(server, {
352
+ issuer,
353
+ start: createStartAccountSignIn({ seals: accountSeals, signIns, secrets: oauthSecrets, clock }),
354
+ complete: createCompleteAccountSignIn({ seals: accountSeals, signIns, clock }),
355
+ signOut: createSignOutAccount({ signIns, accountOf }),
356
+ });
357
+ }
358
+ const credentialOf = createCredentialOf({ connections });
359
+ const authenticateActor = createAuthenticateActor({ authenticateOperator, door, connections, accountOf });
337
360
  const outcomes = createOutcomeWorker({
338
361
  expireRequests: createExpireRequests({ requests: pendingRequests, clock }),
339
362
  tellOutcomes: createTellOutcomes({ notices: createPrismaOutcomeNotices(prisma), requests: pendingRequests, connections, sender: door }),
@@ -342,6 +365,7 @@ export function createGatewayApp(options) {
342
365
  intervalMs: OUTCOME_ROUND_MS,
343
366
  log: server.log,
344
367
  });
368
+ const pings = createPingWorker({ answerPings: createAnswerPings({ connections, inbox: door.gatewayInbox }), sleep, intervalMs: POLL_MS, log: server.log });
345
369
  const decideRequestOnly = createDecideRequest({ requests: pendingRequests, approveParty, approveClientParty, clock });
346
370
  // A decided request's outcomes are told at once, not at the next round.
347
371
  const decideRequest = async (input) => {
@@ -354,6 +378,9 @@ export function createGatewayApp(options) {
354
378
  const contextFor = (sent) => ({
355
379
  ...sent,
356
380
  authenticateActor,
381
+ changes: hub,
382
+ accountInView,
383
+ accountApps: signIns === undefined ? undefined : (signIn) => signIns.apps(signIn),
357
384
  isServed,
358
385
  heldConnection,
359
386
  installation: { mode: installation, token: options.installationToken },
@@ -370,6 +397,7 @@ export function createGatewayApp(options) {
370
397
  changePartyOwner,
371
398
  changePartyScopes,
372
399
  readParty,
400
+ listOwnerChoices,
373
401
  checkServer,
374
402
  readPartyTools,
375
403
  stateParty,
@@ -381,6 +409,8 @@ export function createGatewayApp(options) {
381
409
  listMine: createListMine({ requests: pendingRequests, clock }),
382
410
  decideRequest,
383
411
  ...(person === undefined ? {} : { person }),
412
+ // Only a gateway that signs people in connects MCP clients, so only it shows their authorize pages.
413
+ ...(signIn === undefined ? {} : { readAuthorization, watchWaiting: signIn.watchWaiting }),
384
414
  });
385
415
  const trpc = {
386
416
  prefix: '/trpc',
@@ -394,23 +424,15 @@ export function createGatewayApp(options) {
394
424
  createContext: ({ req }) => contextFor({
395
425
  cookie: req.headers.cookie,
396
426
  crewToken: req.headers.authorization?.startsWith(BEARER) === true ? req.headers.authorization.slice(BEARER.length) : undefined,
427
+ signIn: cookieValueOf(SHARED_SIGN_IN_COOKIE, req.headers.cookie),
428
+ fleetInView: idSchema('fleet').safeParse(req.headers[FLEET_HEADER]).data,
397
429
  installationTokenSent: typeof req.headers['x-aeolus-installation-token'] === 'string' ? req.headers['x-aeolus-installation-token'] : undefined,
430
+ waitingSecret: typeof req.headers[WAITING_SECRET_HEADER] === 'string' ? req.headers[WAITING_SECRET_HEADER] : undefined,
398
431
  }),
399
432
  },
400
433
  };
401
434
  void server.register(fastifyTRPCPlugin, trpc);
402
- // The page calls the API as the caller, with the forwarded console session; it never takes the installation token.
403
- // The pages are accounts only (Thomas, 20 Oct): only the page session's cookie reaches them, never the console's.
404
- const pageContextFor = (cookie) => contextFor({ cookie: pageCookieOf(cookie), crewToken: undefined, installationTokenSent: undefined });
405
- // Pages sign people in through pagasae; a gateway that signs no one in says so.
406
- const pageSignIn = pagasae === undefined ? 'none' : 'pages';
407
- registerPartiesPage(server, { contextFor: pageContextFor, signIn: pageSignIn });
408
- registerOutsidePartiesPage(server, { contextFor: pageContextFor, signIn: pageSignIn });
409
- registerAddServerPage(server, { contextFor: pageContextFor, signIn: pageSignIn });
410
- registerOutsidePartyPage(server, { contextFor: pageContextFor, signIn: pageSignIn });
411
- registerOverviewPage(server, { contextFor: pageContextFor, signIn: pageSignIn, clock });
412
- registerFrontDoor(server);
413
- registerLive(server, { contextFor: pageContextFor, hub, pages: overviewLivePages({ clock }) });
435
+ registerFrontDoor(server, options.web === undefined ? {} : { web: options.web });
414
436
  let changes;
415
437
  server.addHook('onReady', async () => {
416
438
  changes = await listenToChanges(options.databaseUrl, { onChange: hub.publish, onResync: hub.resync });
@@ -436,10 +458,12 @@ export function createGatewayApp(options) {
436
458
  }
437
459
  }
438
460
  outcomes.start();
461
+ pings.start();
439
462
  return restored;
440
463
  },
441
464
  close: async () => {
442
465
  await outcomes.stop();
466
+ await pings.stop();
443
467
  await workers.stop();
444
468
  await server.close();
445
469
  },
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -6,15 +6,21 @@
6
6
  * `aeolus-gateway migrate`: migrates the database alone. Every setting
7
7
  * comes from environment variables (src/config.ts).
8
8
  */
9
+ import { fileURLToPath } from 'node:url';
9
10
  import { requireCoreVersion } from '../adapters/fleet/core-version.js';
10
11
  import { MigrationError, migrateDatabase } from '../adapters/prisma/migrate.js';
12
+ import { startNextWebApp } from '../adapters/web/next-web-app.js';
11
13
  import { createGatewayApp } from '../app.js';
12
14
  import { ConfigError, loadConfig, loadDatabaseUrl } from '../config.js';
13
15
  const USAGE = 'Usage: aeolus-gateway start | migrate';
16
+ /** The web app's folder, at the package's root beside src and dist. */
17
+ const WEB_DIR = new URL('../../web', import.meta.url);
14
18
  async function start() {
15
19
  const config = loadConfig(process.env);
16
20
  await requireCoreVersion(config.fleetUrl);
17
21
  await migrateDatabase(config.databaseUrl);
22
+ // Started from source (tsx), the web app compiles as it is asked; from the package, it serves its build.
23
+ const web = await startNextWebApp({ dir: fileURLToPath(WEB_DIR), isDevelopment: import.meta.url.endsWith('.ts'), apiUrl: config.apiUrl });
18
24
  const app = createGatewayApp({
19
25
  databaseUrl: config.databaseUrl,
20
26
  fleetUrl: config.fleetUrl,
@@ -24,6 +30,8 @@ async function start() {
24
30
  logger: { level: config.logLevel },
25
31
  ...(config.installationToken === undefined ? {} : { installationToken: config.installationToken }),
26
32
  ...(config.pagasae === undefined ? {} : { pagasae: config.pagasae }),
33
+ ...(config.pagasaeApp === undefined ? {} : { pagasaeApp: config.pagasaeApp }),
34
+ web: web.handle,
27
35
  });
28
36
  // Every fleet the gateway was connected to, connected again with its kept crew token.
29
37
  const restored = await app.restoreConnections();
@@ -35,7 +43,10 @@ async function start() {
35
43
  }
36
44
  for (const signal of ['SIGINT', 'SIGTERM']) {
37
45
  process.once(signal, () => {
38
- void app.close().then(() => process.exit(0));
46
+ void app
47
+ .close()
48
+ .then(() => web.close())
49
+ .then(() => process.exit(0));
39
50
  });
40
51
  }
41
52
  await app.server.listen({ host: config.host, port: config.port });
@@ -1 +1 @@
1
- {"version":3,"file":"aeolus-gateway.js","sourceRoot":"","sources":["../../src/bin/aeolus-gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aeolus-gateway.js","sourceRoot":"","sources":["../../src/bin/aeolus-gateway.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /** How long an MCP client's call waits for its answer unless set (Q13). */
2
+ export declare const MCP_WAIT_MAX_MS_DEFAULT = 10000;
1
3
  export interface Config {
2
4
  /** The gateway's own database, which may share the fleet's Postgres server. */
3
5
  databaseUrl: string;
@@ -17,6 +19,12 @@ export interface Config {
17
19
  * MCP endpoint below it. This machine at the gateway's port unless set.
18
20
  */
19
21
  publicUrl: string;
22
+ /**
23
+ * Where the web app's server calls the gateway's API: this machine at the
24
+ * gateway's port, never an address a request names, so a page forwards a
25
+ * browser's cookies only to the gateway itself.
26
+ */
27
+ apiUrl: string;
20
28
  /** Keys what the gateway derives: ship aliases, result handles and idempotency keys. Changing it renames every ship to outside clients. */
21
29
  gatewaySecret: string;
22
30
  /** How long an outside MCP client's call waits for its answer before it is answered its handle. */
@@ -31,6 +39,16 @@ export interface Config {
31
39
  clientId: string;
32
40
  clientSecret: string;
33
41
  } | undefined;
42
+ /**
43
+ * The gateway's pages as an app at pagasae (its APP_CLIENTS), with the
44
+ * redirect URI `<public URL>/sign-in/done`: people sign in to the pages
45
+ * with the account sign-in every Aeolus app shares (header design H5).
46
+ * Unset, nobody signs in to them that way.
47
+ */
48
+ pagasaeApp: {
49
+ clientId: string;
50
+ clientSecret: string;
51
+ } | undefined;
34
52
  }
35
53
  export declare class ConfigError extends Error {
36
54
  name: string;
package/dist/config.js CHANGED
@@ -4,7 +4,7 @@ const INSTALLATION_TOKEN_MIN_LENGTH = 32;
4
4
  /** The shortest gateway secret: 32 characters, as long as the HMAC keys it makes. */
5
5
  const GATEWAY_SECRET_MIN_LENGTH = 32;
6
6
  /** How long an MCP client's call waits for its answer unless set (Q13). */
7
- const MCP_WAIT_MAX_MS_DEFAULT = 10_000;
7
+ export const MCP_WAIT_MAX_MS_DEFAULT = 10_000;
8
8
  const environmentSchema = z.object({
9
9
  DATABASE_URL: z.url({ protocol: /^postgres(ql)?$/, error: 'must be a postgres:// or postgresql:// URL' }),
10
10
  FLEET_URL: z.url({ protocol: /^https?$/, error: 'must be an http:// or https:// URL' }),
@@ -18,6 +18,8 @@ const environmentSchema = z.object({
18
18
  PAGASAE_URL: z.url({ protocol: /^https?$/, error: 'must be an http:// or https:// URL' }).optional(),
19
19
  PAGASAE_CLIENT_ID: z.string().min(1).optional(),
20
20
  PAGASAE_CLIENT_SECRET: z.string().min(1).optional(),
21
+ PAGASAE_APP_CLIENT_ID: z.string().min(1).optional(),
22
+ PAGASAE_APP_CLIENT_SECRET: z.string().min(1).optional(),
21
23
  });
22
24
  /** What `aeolus-gateway migrate` reads: the database alone. */
23
25
  const databaseEnvironmentSchema = environmentSchema.pick({ DATABASE_URL: true });
@@ -42,9 +44,11 @@ export function loadConfig(environment) {
42
44
  logLevel: variables.LOG_LEVEL,
43
45
  installationToken: variables.INSTALLATION_TOKEN,
44
46
  publicUrl: (variables.GATEWAY_PUBLIC_URL ?? `http://127.0.0.1:${String(variables.PORT)}`).replace(/\/$/, ''),
47
+ apiUrl: `http://127.0.0.1:${String(variables.PORT)}`,
45
48
  gatewaySecret: variables.GATEWAY_SECRET,
46
49
  mcpWaitMaxMs: variables.MCP_WAIT_MAX_MS,
47
50
  pagasae: pagasaeOf(variables),
51
+ pagasaeApp: pagasaeAppOf(variables),
48
52
  };
49
53
  }
50
54
  /** pagasae's three settings: all of them, or none. */
@@ -58,6 +62,17 @@ function pagasaeOf(variables) {
58
62
  }
59
63
  return { url: url.replace(/\/$/, ''), clientId, clientSecret };
60
64
  }
65
+ /** The pages' app client: both settings, or neither, and only beside pagasae. */
66
+ function pagasaeAppOf(variables) {
67
+ const { PAGASAE_URL: url, PAGASAE_APP_CLIENT_ID: clientId, PAGASAE_APP_CLIENT_SECRET: clientSecret } = variables;
68
+ if (clientId === undefined && clientSecret === undefined) {
69
+ return undefined;
70
+ }
71
+ if (url === undefined || clientId === undefined || clientSecret === undefined) {
72
+ throw new ConfigError('PAGASAE_APP_CLIENT_ID and PAGASAE_APP_CLIENT_SECRET: set both beside PAGASAE_URL, or neither');
73
+ }
74
+ return { clientId, clientSecret };
75
+ }
61
76
  /** The database URL alone, for `aeolus-gateway migrate`. */
62
77
  export function loadDatabaseUrl(environment) {
63
78
  return parsed(databaseEnvironmentSchema, environment).DATABASE_URL;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { FleetId } from '@aeolus-fleet/common';
2
+ import { type Result } from '../shared/result.js';
3
+ import type { AccountOfSignIn } from './account-of-sign-in.js';
4
+ import type { SharedAccountToken, SharedSignIn } from './ports.js';
5
+ /**
6
+ * Where a page goes for its account:
7
+ * - signedIn: it shows the fleet as the account, by this token;
8
+ * - goTo: it asked for no fleet, and goes to this one;
9
+ * - elsewhere: the account may not open the gateway there, and goes to an app it may open (H9).
10
+ */
11
+ export type AccountInViewAnswer = {
12
+ readonly kind: 'signedIn';
13
+ readonly fleetId: FleetId;
14
+ readonly token: SharedAccountToken;
15
+ } | {
16
+ readonly kind: 'goTo';
17
+ readonly fleetId: FleetId;
18
+ } | {
19
+ readonly kind: 'elsewhere';
20
+ readonly url: string;
21
+ };
22
+ /** Why a page has no account: no shared sign-in, or one that ended (signedOut), or pagasae did not answer. */
23
+ export type AccountInViewRefusal = {
24
+ readonly kind: 'signedOut';
25
+ } | {
26
+ readonly kind: 'pagasaeUnavailable';
27
+ };
28
+ export type AccountInView = (asked: {
29
+ signIn: string | undefined;
30
+ fleetId: FleetId | undefined;
31
+ }) => Promise<Result<AccountInViewAnswer, AccountInViewRefusal>>;
32
+ /**
33
+ * Use case: the account a page of the gateway shows the fleet in its address
34
+ * as (orchestrator-1, 21 Oct: `?fleet=<fleet id>`, so two tabs show two
35
+ * fleets and a link opens the same one). With no fleet asked for, the page
36
+ * goes to the first fleet whose gateway the account may open (header design
37
+ * H1). Where the account holds no right, it goes to an app it may open
38
+ * there, Account at least (H9).
39
+ */
40
+ export declare function createAccountInView(deps: {
41
+ signIns: Pick<SharedSignIn, 'apps'>;
42
+ accountOf: AccountOfSignIn;
43
+ }): AccountInView;
@@ -0,0 +1,52 @@
1
+ import { err, ok } from '../shared/result.js';
2
+ /** The app every account may open (header design H1), where an account with nothing else to open goes. */
3
+ const ACCOUNT_APP = 'account';
4
+ const GATEWAY_APP = 'gateway';
5
+ /** The first app the account may open in the fleet, else Account; none at all is no answer pagasae gives. */
6
+ function elsewhere(openable, fleetId) {
7
+ const inFleet = openable.fleets.find((fleet) => fleet.fleetId === fleetId)?.apps.find((app) => app.app !== GATEWAY_APP);
8
+ const account = openable.apps.find((app) => app.app === ACCOUNT_APP);
9
+ return { kind: 'elsewhere', url: inFleet?.url ?? account?.url ?? '/' };
10
+ }
11
+ /**
12
+ * Use case: the account a page of the gateway shows the fleet in its address
13
+ * as (orchestrator-1, 21 Oct: `?fleet=<fleet id>`, so two tabs show two
14
+ * fleets and a link opens the same one). With no fleet asked for, the page
15
+ * goes to the first fleet whose gateway the account may open (header design
16
+ * H1). Where the account holds no right, it goes to an app it may open
17
+ * there, Account at least (H9).
18
+ */
19
+ export function createAccountInView(deps) {
20
+ const openable = async (signIn, fleetId) => {
21
+ const apps = await deps.signIns.apps(signIn);
22
+ if (!apps.isOk) {
23
+ return err(apps.error.kind === 'signedOut' ? { kind: 'signedOut' } : { kind: 'pagasaeUnavailable' });
24
+ }
25
+ if (fleetId !== undefined) {
26
+ return ok(elsewhere(apps.value, fleetId));
27
+ }
28
+ const gateway = apps.value.fleets.find((fleet) => fleet.apps.some((app) => app.app === GATEWAY_APP));
29
+ return ok(gateway === undefined ? elsewhere(apps.value, undefined) : { kind: 'goTo', fleetId: gateway.fleetId });
30
+ };
31
+ return async ({ signIn, fleetId }) => {
32
+ if (signIn === undefined) {
33
+ return err({ kind: 'signedOut' });
34
+ }
35
+ if (fleetId === undefined) {
36
+ return openable(signIn, undefined);
37
+ }
38
+ const token = await deps.accountOf({ signIn, fleetId });
39
+ if (token.isOk) {
40
+ return ok({ kind: 'signedIn', fleetId, token: token.value });
41
+ }
42
+ switch (token.error.kind) {
43
+ case 'noRights':
44
+ return openable(signIn, fleetId);
45
+ case 'signedOut':
46
+ return err({ kind: 'signedOut' });
47
+ case 'unavailable':
48
+ return err({ kind: 'pagasaeUnavailable' });
49
+ }
50
+ };
51
+ }
52
+ //# sourceMappingURL=account-in-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-in-view.js","sourceRoot":"","sources":["../../../src/core/account-sign-in/account-in-view.ts"],"names":[],"mappings":"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"}