@aeolus-fleet/gateway 0.28.1 → 0.29.1

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/MLIzjhz2u5r5gyyuciHvf/_buildManifest.js +11 -0
  518. package/web/.next/static/MLIzjhz2u5r5gyyuciHvf/_clientMiddlewareManifest.js +1 -0
  519. package/web/.next/static/MLIzjhz2u5r5gyyuciHvf/_ssgManifest.js +1 -0
  520. package/web/.next/static/chunks/0214opd1iq3ld.js +1 -0
  521. package/web/.next/static/chunks/0a1vw3r93lh06.js +1 -0
  522. package/web/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
  523. package/web/.next/static/chunks/0hobzrlhklo3e.js +1 -0
  524. package/web/.next/static/chunks/0lzisjsmhlhjf.js +1 -0
  525. package/web/.next/static/chunks/0umf92h1sb77c.js +1 -0
  526. package/web/.next/static/chunks/1ma7v1viiz247.js +1 -0
  527. package/web/.next/static/chunks/1sgi4p93eayf4.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/2rap-vrom5-zw.css +3 -0
  533. package/web/.next/static/chunks/3jr0srcv_-pfa.js +1 -0
  534. package/web/.next/static/chunks/3knqujtrdi225.js +1 -0
  535. package/web/.next/static/chunks/3l_1gcuoe8bfn.js +1 -0
  536. package/web/.next/static/chunks/3sv0_hjr9t4cp.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
@@ -1,139 +0,0 @@
1
- /**
2
- * The gateway's page of parties: one small server-rendered page where a
3
- * person signed in to the pages, holding fleet:manage, approves outside MCP
4
- * servers, hands over a secret, states a party and marks its tools. Each
5
- * form calls the gateway's own API as that account, so the page checks
6
- * nothing the API does not; it only refuses a form sent from another origin.
7
- */
8
- import { randomUUID } from 'node:crypto';
9
- import { idSchema } from '@aeolus-fleet/common';
10
- import { TRPCError } from '@trpc/server';
11
- import { getHTTPStatusCodeFromError } from '@trpc/server/http';
12
- import { z } from 'zod';
13
- import { gatewayRouter } from '../trpc/router.js';
14
- import { acceptForms, escaped, isSameOrigin, layout, refusalMessage } from './html.js';
15
- import { signInPrompt } from './signal.js';
16
- const HTTP_FORBIDDEN = 403;
17
- const HTTP_SEE_OTHER = 303;
18
- const HTTP_INTERNAL_ERROR = 500;
19
- const PAGE = '/parties';
20
- const formSchema = z.record(z.string(), z.string());
21
- function field(form, name) {
22
- return form[name] ?? '';
23
- }
24
- function partyRow(party, canManage) {
25
- const name = escaped(party.name);
26
- const forms = canManage
27
- ? [
28
- party.state === 'awaitingCrew'
29
- ? `<form class="inline" method="post" action="${PAGE}/crew"><input type="hidden" name="name" value="${name}"><input name="secret" placeholder="secret from a new starting prompt" required><button>Crew</button></form>`
30
- : '',
31
- party.kind === 'mcpServer' && party.state === 'crewed'
32
- ? `<form class="inline" method="post" action="${PAGE}/state"><input type="hidden" name="name" value="${name}"><button>State its tools</button></form>` +
33
- `<form class="inline" method="post" action="${PAGE}/mark"><input type="hidden" name="name" value="${name}"><input name="tool" placeholder="tool" required maxlength="128"><label><span><input type="checkbox" name="isRepeatable"> repeatable</span></label><button>Mark</button></form>`
34
- : '',
35
- ].join('')
36
- : '';
37
- // A server shows where it is and how the gateway signs in; a client, its OAuth client id.
38
- const outside = party.kind === 'mcpServer' ? `${escaped(party.url)}</td><td>${escaped(party.credentialKind)}` : `${escaped(party.clientId)}</td><td>MCP client`;
39
- return `<tr><td>${name}</td><td>${outside}</td><td>${escaped(party.state)}</td><td>${escaped(party.proxyShipId ?? '')}</td><td>${forms}</td></tr>`;
40
- }
41
- const APPROVE_FORM = (requestId) => `<h2>Approve an MCP server</h2>
42
- <form method="post" action="${PAGE}/approve">
43
- <input type="hidden" name="requestId" value="${requestId}">
44
- <label>Name, the proxy ship's<input name="name" required></label>
45
- <label>Streamable HTTP URL<input name="url" type="url" required></label>
46
- <label>Credential<select name="credentialKind"><option value="bearer">Bearer token</option><option value="clientCredentials">OAuth client credentials</option></select></label>
47
- <label>Bearer token<input name="token" type="password"></label>
48
- <label>Client id<input name="clientId"></label>
49
- <label>Client secret<input name="clientSecret" type="password"></label>
50
- <label>Issuer<input name="issuer" type="url"></label>
51
- <label>Scope<input name="scope"></label>
52
- <label>Owner's ship id (a person's ship, or argo)<input name="ownerShipId" required></label>
53
- <label>Calls at once<input name="concurrencyLimit" type="number" min="1" max="10" value="4"></label>
54
- <button>Approve</button>
55
- </form>`;
56
- async function renderPage(reply, page) {
57
- const { context, failure } = page;
58
- const caller = gatewayRouter.createCaller(context);
59
- const actor = await context.authenticateActor({ cookie: context.cookie });
60
- const parties = await caller.parties.list();
61
- const canManage = actor.isOk && actor.value.scopes.includes('fleet:manage');
62
- const body = [
63
- '<h1>Parties</h1>',
64
- '<p class="muted">Outside MCP servers argo approved for this fleet, each behind its proxy ship.</p>',
65
- failure ? `<p class="error">${escaped(failure.message)}</p>` : '',
66
- parties.length === 0
67
- ? '<p class="muted">No party yet.</p>'
68
- : `<table><thead><tr><th>Name</th><th>URL</th><th>Credential</th><th>State</th><th>Proxy ship</th><th></th></tr></thead><tbody>${parties.map((party) => partyRow(party, canManage)).join('')}</tbody></table>`,
69
- canManage ? APPROVE_FORM(randomUUID()) : '',
70
- ].join('');
71
- return reply.code(failure?.status ?? 200).type('text/html; charset=utf-8').send(layout('Gateway parties', body));
72
- }
73
- function signInPage(reply, refusal) {
74
- const body = signInPrompt({ message: refusalMessage(refusal.error), way: refusal.way, returnTo: PAGE });
75
- return reply.code(getHTTPStatusCodeFromError(refusal.error)).type('text/html; charset=utf-8').send(layout('Gateway parties', `<h1>Parties</h1>${body}`));
76
- }
77
- /** The calls each form makes, as argo, from its fields. */
78
- const ACTIONS = {
79
- approve: (caller, form) => {
80
- const ownerShipId = idSchema('ship').safeParse(field(form, 'ownerShipId'));
81
- if (!ownerShipId.success) {
82
- return Promise.reject(new TRPCError({ code: 'BAD_REQUEST', message: "The owner's ship id is not a ship id (shp_...)" }));
83
- }
84
- const scope = field(form, 'scope');
85
- return caller.parties.approve({
86
- requestId: field(form, 'requestId'),
87
- name: field(form, 'name'),
88
- url: field(form, 'url'),
89
- credential: field(form, 'credentialKind') === 'clientCredentials'
90
- ? { kind: 'clientCredentials', clientId: field(form, 'clientId'), clientSecret: field(form, 'clientSecret'), issuer: field(form, 'issuer'), ...(scope === '' ? {} : { scope }) }
91
- : { kind: 'bearer', token: field(form, 'token') },
92
- ownerShipId: ownerShipId.data,
93
- concurrencyLimit: Number(field(form, 'concurrencyLimit')),
94
- });
95
- },
96
- crew: (caller, form) => caller.parties.crew({ name: field(form, 'name'), secret: field(form, 'secret') }),
97
- state: (caller, form) => caller.parties.state({ name: field(form, 'name') }),
98
- mark: (caller, form) => caller.parties.markTool({ name: field(form, 'name'), tool: field(form, 'tool'), isRepeatable: form.isRepeatable === 'on' }),
99
- };
100
- export function registerPartiesPage(server, deps) {
101
- acceptForms(server);
102
- const answer = async (exchange, act) => {
103
- const { request, reply } = exchange;
104
- const context = deps.contextFor(request.headers.cookie);
105
- try {
106
- if (act) {
107
- await act(gatewayRouter.createCaller(context));
108
- return await reply.code(HTTP_SEE_OTHER).header('location', PAGE).send();
109
- }
110
- return await renderPage(reply, { context });
111
- }
112
- catch (error) {
113
- if (!(error instanceof TRPCError)) {
114
- throw error;
115
- }
116
- if (error.code === 'UNAUTHORIZED') {
117
- return signInPage(reply, { way: deps.signIn, error });
118
- }
119
- const failure = { status: error.code === 'INTERNAL_SERVER_ERROR' ? HTTP_INTERNAL_ERROR : getHTTPStatusCodeFromError(error), message: refusalMessage(error) };
120
- try {
121
- return await renderPage(reply, { context, failure });
122
- }
123
- catch {
124
- return reply.code(failure.status).type('text/html; charset=utf-8').send(layout('Gateway parties', `<h1>Parties</h1><p class="error">${escaped(failure.message)}</p>`));
125
- }
126
- }
127
- };
128
- server.get(PAGE, (request, reply) => answer({ request, reply }));
129
- for (const [action, call] of Object.entries(ACTIONS)) {
130
- server.post(`${PAGE}/${action}`, (request, reply) => {
131
- if (!isSameOrigin(request)) {
132
- return reply.code(HTTP_FORBIDDEN).type('text/plain; charset=utf-8').send('A form for this page is sent only from this page.');
133
- }
134
- const form = formSchema.safeParse(request.body);
135
- return answer({ request, reply }, (caller) => call(caller, form.success ? form.data : {}));
136
- });
137
- }
138
- }
139
- //# sourceMappingURL=parties-page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parties-page.js","sourceRoot":"","sources":["../../../src/adapters/http/parties-page.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /** The scopes every app ship gets (0046): shown locked on, and always sent. */
2
- export declare const EVERY_APP_SHIP_SCOPES: readonly string[];
3
- /** A form field that ticks a scope: `scope:<scope>`, one field per scope, as a form posts each name once. */
4
- export declare const SCOPE_FIELD_PREFIX = "scope:";
5
- /** One scope row: a locked row shows the scope ticked or not and sends nothing. */
6
- export declare function scopeRow(row: {
7
- scope: string;
8
- isLocked?: boolean;
9
- isChecked?: boolean;
10
- }): string;
@@ -1,30 +0,0 @@
1
- /**
2
- * The scope rows a decision or a change shows (design B): each scope with
3
- * its plain label and the scope itself in mono, messages:send and
4
- * messages:receive locked on, as every app ship gets them (0046).
5
- */
6
- import { escaped } from './html.js';
7
- import { icon } from './signal.js';
8
- /** The scopes every app ship gets (0046): shown locked on, and always sent. */
9
- export const EVERY_APP_SHIP_SCOPES = ['messages:send', 'messages:receive'];
10
- /** A scope's plain label, as the scope rows show it beside the scope itself. */
11
- const SCOPE_LABELS = {
12
- 'messages:send': 'Send',
13
- 'messages:receive': 'Receive',
14
- 'fleet:read': 'Read the fleet',
15
- };
16
- /** A form field that ticks a scope: `scope:<scope>`, one field per scope, as a form posts each name once. */
17
- export const SCOPE_FIELD_PREFIX = 'scope:';
18
- /** One scope row: a locked row shows the scope ticked or not and sends nothing. */
19
- export function scopeRow(row) {
20
- const { scope } = row;
21
- const isLocked = row.isLocked === true;
22
- const isChecked = isLocked ? row.isChecked !== false : row.isChecked === true;
23
- const label = escaped(SCOPE_LABELS[scope] ?? scope);
24
- const checked = isChecked ? ' checked' : '';
25
- const box = isLocked
26
- ? `<input type="checkbox"${checked} disabled aria-label="${label}">`
27
- : `<input type="checkbox" name="${SCOPE_FIELD_PREFIX}${escaped(scope)}"${checked} aria-label="${label}">`;
28
- return `<label class="scope">${box}<span class="label">${label}</span><span class="mono">${escaped(scope)}</span>${isLocked ? `<span class="muted">${icon('lock', 12)}</span>` : ''}</label>`;
29
- }
30
- //# sourceMappingURL=scope-rows.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scope-rows.js","sourceRoot":"","sources":["../../../src/adapters/http/scope-rows.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAsB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;AAE9F,gFAAgF;AAChF,MAAM,YAAY,GAA2B;IAC3C,eAAe,EAAE,MAAM;IACvB,kBAAkB,EAAE,SAAS;IAC7B,YAAY,EAAE,gBAAgB;CAC/B,CAAC;AAEF,6GAA6G;AAC7G,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C,mFAAmF;AACnF,MAAM,UAAU,QAAQ,CAAC,GAA+D;IACtF,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;IACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC;IAC9E,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,GAAG,GAAG,QAAQ;QAClB,CAAC,CAAC,yBAAyB,OAAO,yBAAyB,KAAK,IAAI;QACpE,CAAC,CAAC,gCAAgC,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,gBAAgB,KAAK,IAAI,CAAC;IAC5G,OAAO,wBAAwB,GAAG,uBAAuB,KAAK,6BAA6B,OAAO,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;AAChM,CAAC"}
@@ -1,61 +0,0 @@
1
- /** A tone family of the console: every state shows in exactly one. */
2
- export type Tone = 'waiting' | 'active' | 'ok' | 'attention' | 'ended';
3
- /** An icon the pages draw, from the console's icon set (Lucide), as inline SVG paths. */
4
- export type Icon = 'plug' | 'power' | 'powerOff' | 'alert' | 'signIn' | 'house' | 'hourglass' | 'check' | 'x' | 'ban' | 'lock' | 'server' | 'laptop' | 'arrowLeftRight' | 'users' | 'shieldX' | 'timerOff' | 'signOut' | 'archive' | 'arrowLeft' | 'ship' | 'shield';
5
- export declare function icon(name: Icon, size?: number): string;
6
- /** A status as the console shows it: its tone, an icon and a label, never colour alone. */
7
- export declare function statusBadge(status: {
8
- tone: Tone;
9
- icon: Icon;
10
- label: string;
11
- }): string;
12
- /** The large shape that leads a page: a full ring in a tone, dashed for a state that ended, around an icon or a number. */
13
- export declare function ring(shown: {
14
- tone: Tone;
15
- center: {
16
- icon: Icon;
17
- } | {
18
- count: number;
19
- } | {
20
- text: string;
21
- icon: Icon;
22
- };
23
- label: string;
24
- isDashed?: boolean;
25
- size?: number;
26
- }): string;
27
- /** An outside party's mark: the first two letters of its name on a tile, as the console's Avatar draws a ship. */
28
- export declare function partyMark(name: string): string;
29
- /** Who meets whom: the outside party's mark and the fleet's, side by side. */
30
- export declare function handshake(party: {
31
- name: string;
32
- fleet?: string;
33
- }): string;
34
- /** A tab of the pages' top bar. */
35
- export type Tab = 'overview' | 'outsideParties';
36
- /** Where a signed-out caller signs in: the gateway's own sign-in through pagasae, or nowhere, on a gateway that signs no one in. */
37
- export type SignInWay = 'pages' | 'none';
38
- /** What a signed-out caller is shown: why, and the one way to sign in, coming back to the page they asked for. */
39
- export declare function signInPrompt(shown: {
40
- message: string;
41
- way: SignInWay;
42
- returnTo: string;
43
- }): string;
44
- /**
45
- * A page a person meets on their way in, from an outside MCP client: the
46
- * mark and its name above one centred column, no tabs. Its own script, if
47
- * any, comes with its body.
48
- */
49
- export declare function signInPage(page: {
50
- title: string;
51
- body: string;
52
- }): string;
53
- /** A whole Signal page: the top bar with its tabs, then the page's own body; a live page names itself to the live channel. */
54
- export declare function signalPage(page: {
55
- title: string;
56
- tab?: Tab;
57
- body: string;
58
- isWide?: boolean;
59
- live?: string;
60
- isSignedIn?: boolean;
61
- }): string;
@@ -1,263 +0,0 @@
1
- /**
2
- * The gateway's pages in direction B, Signal (design/gateway-pages), drawn
3
- * with the operator console's tokens: one large shape leads each page, a
4
- * ring for a state or a count. The tokens are the console's own
5
- * (aeolus-fleet packages/console/app/tokens.css), light by default and dark
6
- * where the browser asks for it, as the pages have no theme switch.
7
- */
8
- import { escaped } from './html.js';
9
- const LIGHT_TOKENS = `--background:oklch(0.99 0.002 247);--card:oklch(1 0 0);--muted:oklch(0.967 0.005 247);--secondary:oklch(0.955 0.007 247);--accent:oklch(0.95 0.009 247);
10
- --foreground:oklch(0.22 0.02 257);--muted-foreground:oklch(0.5 0.02 257);--border:oklch(0.912 0.008 247);--input:oklch(0.885 0.01 247);--ring:oklch(0.56 0.12 257);
11
- --primary:oklch(0.34 0.08 257);--primary-hover:oklch(0.29 0.075 257);--primary-foreground:oklch(0.985 0.003 247);--destructive:oklch(0.53 0.2 27);--destructive-foreground:oklch(0.99 0 0);
12
- --tone-waiting-bg:oklch(0.965 0.045 85);--tone-waiting-fg:oklch(0.47 0.1 62);--tone-waiting-border:oklch(0.87 0.08 80);
13
- --tone-active-bg:oklch(0.955 0.03 250);--tone-active-fg:oklch(0.45 0.14 257);--tone-active-border:oklch(0.86 0.06 252);
14
- --tone-ok-bg:oklch(0.96 0.04 155);--tone-ok-fg:oklch(0.44 0.1 155);--tone-ok-border:oklch(0.86 0.07 155);
15
- --tone-attention-bg:oklch(0.957 0.028 25);--tone-attention-fg:oklch(0.5 0.19 27);--tone-attention-border:oklch(0.86 0.07 25);
16
- --tone-ended-bg:oklch(0.957 0.005 247);--tone-ended-fg:oklch(0.47 0.015 257);--tone-ended-border:oklch(0.87 0.01 247);
17
- --shadow-sm:0 1px 2px oklch(0.2 0.02 257 / 0.06);`;
18
- const DARK_TOKENS = `color-scheme:dark;--background:oklch(0.172 0.012 257);--card:oklch(0.2 0.013 257);--muted:oklch(0.228 0.012 257);--secondary:oklch(0.255 0.013 257);--accent:oklch(0.26 0.014 257);
19
- --foreground:oklch(0.955 0.005 247);--muted-foreground:oklch(0.72 0.016 257);--border:oklch(0.29 0.014 257);--input:oklch(0.34 0.015 257);--ring:oklch(0.7 0.1 252);
20
- --primary:oklch(0.86 0.055 250);--primary-hover:oklch(0.92 0.035 250);--primary-foreground:oklch(0.21 0.035 257);--destructive:oklch(0.56 0.19 25);--destructive-foreground:oklch(0.99 0 0);
21
- --tone-waiting-bg:oklch(0.29 0.055 72);--tone-waiting-fg:oklch(0.87 0.11 82);--tone-waiting-border:oklch(0.41 0.075 72);
22
- --tone-active-bg:oklch(0.29 0.06 257);--tone-active-fg:oklch(0.85 0.08 252);--tone-active-border:oklch(0.42 0.09 257);
23
- --tone-ok-bg:oklch(0.29 0.05 155);--tone-ok-fg:oklch(0.86 0.1 155);--tone-ok-border:oklch(0.41 0.07 155);
24
- --tone-attention-bg:oklch(0.3 0.07 25);--tone-attention-fg:oklch(0.84 0.09 25);--tone-attention-border:oklch(0.45 0.11 25);
25
- --tone-ended-bg:oklch(0.255 0.01 257);--tone-ended-fg:oklch(0.78 0.015 257);--tone-ended-border:oklch(0.36 0.012 257);
26
- --shadow-sm:0 1px 2px oklch(0 0 0 / 0.3);`;
27
- const STYLE = `
28
- :root { color-scheme: light; ${LIGHT_TOKENS} --font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace; --radius-sm: 6px; --radius-md: 8px; --radius-lg: 10px; }
29
- @media (prefers-color-scheme: dark) { :root { ${DARK_TOKENS} } }
30
- * { box-sizing: border-box; }
31
- body { margin: 0; font: 14px/20px var(--font-sans); color: var(--foreground); background: var(--background); }
32
- a { color: inherit; }
33
- .top { display: flex; align-items: center; gap: 16px; height: 56px; padding: 0 16px; border-bottom: 1px solid var(--border); }
34
- .mark { display: flex; align-items: center; gap: 8px; font-weight: 600; text-decoration: none; }
35
- .tabs { display: flex; gap: 4px; }
36
- .tab { display: flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px; border-radius: var(--radius-sm); color: var(--muted-foreground); text-decoration: none; }
37
- .tab[aria-current="page"] { color: var(--foreground); background: var(--secondary); }
38
- main { max-width: 720px; margin: 0 auto; padding: 32px 16px; display: grid; gap: 24px; }
39
- .lead { display: flex; align-items: center; gap: 20px; }
40
- .lead h1 { margin: 0; font-size: 22px; line-height: 28px; font-weight: 600; }
41
- .ring { flex: none; }
42
- .card { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); box-shadow: var(--shadow-sm); }
43
- .card h2 { margin: 0; font-size: 15px; line-height: 20px; font-weight: 600; }
44
- .card p { margin: 0; }
45
- .muted { color: var(--muted-foreground); }
46
- .badge { display: inline-flex; align-items: center; gap: 4px; padding: 0 6px; height: 20px; border: 1px solid; border-radius: var(--radius-sm); font-size: 12px; font-weight: 500; }
47
- .tone-waiting { color: var(--tone-waiting-fg); background: var(--tone-waiting-bg); border-color: var(--tone-waiting-border); }
48
- .tone-active { color: var(--tone-active-fg); background: var(--tone-active-bg); border-color: var(--tone-active-border); }
49
- .tone-ok { color: var(--tone-ok-fg); background: var(--tone-ok-bg); border-color: var(--tone-ok-border); }
50
- .tone-attention { color: var(--tone-attention-fg); background: var(--tone-attention-bg); border-color: var(--tone-attention-border); }
51
- .tone-ended { color: var(--tone-ended-fg); background: var(--tone-ended-bg); border-color: var(--tone-ended-border); }
52
- .actions { display: flex; flex-wrap: wrap; gap: 8px; }
53
- form { margin: 0; }
54
- button, .button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 14px; border: 1px solid var(--input); border-radius: var(--radius-md); font: inherit; font-weight: 500; color: var(--foreground); background: var(--card); text-decoration: none; cursor: pointer; }
55
- button.primary, .button.primary { color: var(--primary-foreground); background: var(--primary); border-color: var(--primary); }
56
- button.primary:hover, .button.primary:hover { background: var(--primary-hover); }
57
- button.destructive { color: var(--destructive-foreground); background: var(--destructive); border-color: var(--destructive); }
58
- button:focus-visible, .button:focus-visible, .tab:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
59
- .alert { border-width: 1px; border-style: solid; }
60
- .party-mark { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border-radius: var(--radius-md); background: var(--secondary); border: 1px solid var(--border); font: 600 13px/1 var(--font-mono); }
61
- .handshake { display: flex; align-items: center; justify-content: center; gap: 12px; }
62
- .handshake figure { margin: 0; display: grid; justify-items: center; gap: 4px; font-size: 12px; }
63
- .fleet-mark { display: inline-flex; }
64
- .split { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); }
65
- @media (min-width: 900px) { main.wide { max-width: 1040px; } .split { grid-template-columns: minmax(0, 1fr) 280px; } }
66
- .queue { display: grid; gap: 8px; align-content: start; }
67
- .queue h2 { margin: 0; font-size: 12px; font-weight: 500; color: var(--muted-foreground); }
68
- .item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); text-decoration: none; }
69
- .item[aria-current="true"] { border-color: var(--primary); }
70
- .item .text { display: grid; min-width: 0; flex: 1; } .item .text span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
71
- .tag { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--muted-foreground); }
72
- .mono { font-family: var(--font-mono); font-size: 12px; }
73
- .field { display: grid; gap: 4px; } .field > span { font-size: 13px; font-weight: 500; }
74
- input[type="text"], input[type="password"], input[type="number"], input[type="url"], select { height: 36px; padding: 0 10px; border: 1px solid var(--input); border-radius: var(--radius-md); background: var(--background); color: var(--foreground); font: inherit; }
75
- .scope { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-md); }
76
- .scope .label { flex: 1; }
77
- .scopes { display: grid; gap: 6px; }
78
- fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 8px; }
79
- legend { font-size: 13px; font-weight: 500; padding: 0; margin-bottom: 4px; }
80
- main.centred { max-width: 440px; min-height: 100vh; align-content: center; justify-items: center; text-align: center; }
81
- main.centred > * { width: 100%; } main.centred p, main.centred h1 { margin: 0; } main.centred { gap: 16px; }
82
- main.centred > .mark, main.centred > .ring, main.centred > .badge { width: auto; }
83
- .tiles { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
84
- @media (max-width: 480px) { .tiles { grid-template-columns: 1fr; } }
85
- .tile { display: grid; gap: 4px; justify-items: center; align-content: center; height: auto; min-height: 112px; padding: 16px; border-radius: var(--radius-lg); text-align: center; }
86
- .tile:hover { border-color: var(--primary); }
87
- .going-on { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted-foreground); }
88
- .going-on::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--tone-ok-fg); }
89
- .tab { white-space: nowrap; }
90
- @media (max-width: 480px) { .top .label { display: none; } .top { gap: 8px; } }
91
- .sign-out { margin-left: auto; } .sign-out button { height: 32px; border: 0; background: transparent; color: var(--muted-foreground); }
92
- .answers { display: grid; gap: 8px; } .answers button { height: 44px; }
93
- button.pick { outline: 2px dashed var(--ring); outline-offset: 2px; }
94
- .payload { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
95
- textarea { padding: 8px 10px; border: 1px solid var(--input); border-radius: var(--radius-md); background: var(--background); color: var(--foreground); font: inherit; resize: vertical; }
96
- form > button.item { width: 100%; height: auto; justify-content: flex-start; text-align: left; font-weight: 400; }
97
- .live-status { position: fixed; right: 16px; bottom: 16px; margin: 0; }
98
- .party-cards { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
99
- .party-card { color: inherit; text-decoration: none; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 12px; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); }
100
- .party-card:hover { border-color: var(--ring, var(--primary)); }
101
- .party-card .text { display: grid; min-width: 0; } .party-card .text > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
102
- .party-card .facts { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
103
- .tag.protocol { padding: 0 4px; border: 1px solid var(--border); border-radius: var(--radius-sm); font: 600 10px/16px var(--font-mono); color: var(--foreground); }
104
- .back { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); text-decoration: none; font-size: 14px; }
105
- .party-head { display: grid; justify-items: center; gap: 8px; }
106
- .party-head .facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
107
- .fact-rows { margin: 0; padding: 0; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); }
108
- .fact-rows > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--border); }
109
- .fact-rows > div:first-child { border-top: 0; }
110
- .fact-rows dt { display: inline-flex; align-items: center; gap: 8px; color: var(--muted-foreground); font-size: 13px; }
111
- .fact-rows dd { margin: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; min-width: 0; overflow-wrap: anywhere; text-align: right; }
112
- .fact-rows dd a { margin-left: 8px; color: var(--primary); font-size: 13px; font-weight: 500; text-decoration: none; }
113
- .steps { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; color: var(--muted-foreground); }
114
- .steps li { padding-top: 8px; border-top: 4px solid var(--border); }
115
- .steps li.done { border-top-color: var(--primary); color: var(--foreground); }
116
- .split-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
117
- .split-heading > span:first-child { display: inline-flex; align-items: center; gap: 8px; }
118
- .count { color: var(--muted-foreground); font-weight: 500; }
119
- .tool-rows { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; width: 100%; text-align: left; }
120
- .tool-rows li { display: grid; gap: 2px; padding: 8px 0; border-top: 1px solid var(--border); }
121
- .consequences { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
122
- .consequences li { display: flex; align-items: center; gap: 8px; }
123
- .counts { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin: 4px 0 0; }
124
- @media (max-width: 640px) { .actions > * { flex: 1; } button, .button { height: 44px; width: 100%; } }
125
- `;
126
- const ICON_PATHS = {
127
- plug: '<path d="M12 22v-5"/><path d="M9 8V2"/><path d="M15 8V2"/><path d="M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z"/>',
128
- power: '<path d="M12 2v10"/><path d="M18.4 6.6a9 9 0 1 1-12.77.04"/>',
129
- powerOff: '<path d="M18.36 6.64A9 9 0 0 1 20.77 15"/><path d="M6.16 6.16a9 9 0 1 0 12.68 12.68"/><path d="M12 2v4"/><path d="m2 2 20 20"/>',
130
- alert: '<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/>',
131
- signIn: '<path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"/><path d="m10 17 5-5-5-5"/><path d="M15 12H3"/>',
132
- house: '<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"/><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>',
133
- hourglass: '<path d="M5 22h14"/><path d="M5 2h14"/><path d="M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22"/><path d="M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2"/>',
134
- check: '<path d="M20 6 9 17l-5-5"/>',
135
- x: '<path d="M18 6 6 18"/><path d="m6 6 12 12"/>',
136
- ban: '<circle cx="12" cy="12" r="10"/><path d="m4.9 4.9 14.2 14.2"/>',
137
- lock: '<rect width="18" height="11" x="3" y="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/>',
138
- server: '<rect width="20" height="8" x="2" y="2" rx="2" ry="2"/><rect width="20" height="8" x="2" y="14" rx="2" ry="2"/><path d="M6 6h.01"/><path d="M6 18h.01"/>',
139
- laptop: '<path d="M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z"/><path d="M20.054 15.987H3.946"/>',
140
- arrowLeftRight: '<path d="M8 3 4 7l4 4"/><path d="M4 7h16"/><path d="m16 21 4-4-4-4"/><path d="M20 17H4"/>',
141
- signOut: '<path d="m16 17 5-5-5-5"/><path d="M21 12H9"/><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/>',
142
- shieldX: '<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="m14.5 9.5-5 5"/><path d="m9.5 9.5 5 5"/>',
143
- timerOff: '<path d="M10 2h4"/><path d="M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7"/><path d="M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2"/><path d="m2 2 20 20"/><path d="M12 12v-2"/>',
144
- archive: '<rect width="20" height="5" x="2" y="3" rx="1"/><path d="M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"/><path d="M10 12h4"/>',
145
- arrowLeft: '<path d="m12 19-7-7 7-7"/><path d="M19 12H5"/>',
146
- ship: '<path d="M12 10.189V14"/><path d="M12 2v3"/><path d="M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6"/><path d="M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76"/><path d="M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/>',
147
- shield: '<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/>',
148
- users: '<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/>',
149
- };
150
- export function icon(name, size = 16) {
151
- return `<svg width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${ICON_PATHS[name]}</svg>`;
152
- }
153
- /** A status as the console shows it: its tone, an icon and a label, never colour alone. */
154
- export function statusBadge(status) {
155
- return `<span class="badge tone-${status.tone}">${icon(status.icon, 12)}${escaped(status.label)}</span>`;
156
- }
157
- /** The app mark from aeolus-fleet brand/aeolus-mark.svg: the Ship glyph on a tile in --primary, its stroke in --primary-foreground. */
158
- const MARK = `<svg width="24" height="24" viewBox="0 0 32 32" aria-hidden="true"><rect width="32" height="32" rx="7" fill="var(--primary)"/><g fill="none" stroke="var(--primary-foreground)" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" transform="translate(6 6) scale(0.8333)"><path d="M12 2v2"/><path d="M12 9.189V13"/><path d="M19 12V6a2 2 0 00-2-2H7a2 2 0 00-2 2v6"/><path d="M19.38 19A11.6 11.6 0 0021 13l-8.188-3.639a2 2 0 00-1.624 0L3 13.001a11.6 11.6 0 002.81 7.76"/><path d="M2 20c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/></g></svg>`;
159
- const MARK_LARGE = MARK.replace('width="24" height="24"', 'width="40" height="40"');
160
- const RING_SIZE = 96;
161
- const RING_STROKE = 6;
162
- /** The large shape that leads a page: a full ring in a tone, dashed for a state that ended, around an icon or a number. */
163
- export function ring(shown) {
164
- const size = shown.size ?? RING_SIZE;
165
- const radius = (size - RING_STROKE) / 2;
166
- const middle = size / 2;
167
- const dash = shown.isDashed === true ? ' stroke-dasharray="4 6"' : '';
168
- const iconSize = Math.round(size * 0.3);
169
- let center;
170
- if ('count' in shown.center) {
171
- center = `<text x="${middle}" y="${middle}" text-anchor="middle" dominant-baseline="central" font-size="28" font-weight="600" fill="currentColor">${shown.center.count}</text>`;
172
- }
173
- else if ('text' in shown.center) {
174
- // An icon above a short text, such as the time left; the page may update the text.
175
- center = `<foreignObject x="${middle - 14}" y="${middle - 34}" width="28" height="28"><div xmlns="http://www.w3.org/1999/xhtml" style="color:var(--tone-${shown.tone}-fg)">${icon(shown.center.icon, 24)}</div></foreignObject><text x="${middle}" y="${middle + 10}" text-anchor="middle" dominant-baseline="central" font-size="22" font-weight="600" fill="currentColor" data-time-left>${escaped(shown.center.text)}</text><text x="${middle}" y="${middle + 34}" text-anchor="middle" font-size="12" fill="var(--muted-foreground)">left</text>`;
176
- }
177
- else {
178
- center = `<foreignObject x="${middle - iconSize / 2}" y="${middle - iconSize / 2}" width="${iconSize}" height="${iconSize}"><div xmlns="http://www.w3.org/1999/xhtml" style="color:var(--tone-${shown.tone}-fg)">${icon(shown.center.icon, iconSize)}</div></foreignObject>`;
179
- }
180
- return `<svg class="ring" width="${size}" height="${size}" viewBox="0 0 ${size} ${size}" role="img" aria-label="${escaped(shown.label)}"><circle cx="${middle}" cy="${middle}" r="${radius}" fill="none" stroke="var(--tone-${shown.tone}-fg)" stroke-width="${RING_STROKE}"${dash}/>${center}</svg>`;
181
- }
182
- /** An outside party's mark: the first two letters of its name on a tile, as the console's Avatar draws a ship. */
183
- export function partyMark(name) {
184
- return `<span class="party-mark" aria-hidden="true">${escaped(name.replaceAll(/[^\p{L}\p{N}]/gu, '').slice(0, 2).toUpperCase())}</span>`;
185
- }
186
- /** Who meets whom: the outside party's mark and the fleet's, side by side. */
187
- export function handshake(party) {
188
- return `<div class="handshake"><figure>${partyMark(party.name)}<figcaption>${escaped(party.name)}</figcaption></figure><span class="muted">${icon('arrowLeftRight', 16)}</span><figure><span class="fleet-mark">${MARK_LARGE}</span><figcaption>${escaped(party.fleet ?? 'Fleet')}</figcaption></figure></div>`;
189
- }
190
- const TABS = {
191
- overview: { label: 'Overview', icon: 'house', href: '/overview' },
192
- outsideParties: { label: 'Outside parties', icon: 'plug', href: '/outside-parties' },
193
- };
194
- function topBar(current, isSignedIn) {
195
- const tabs = Object.entries(TABS)
196
- .map(([tab, shown]) => `<a class="tab" href="${shown.href}" aria-label="${escaped(shown.label)}"${tab === current ? ' aria-current="page"' : ''}>${icon(shown.icon, 14)}<span class="label">${escaped(shown.label)}</span></a>`)
197
- .join('');
198
- // A person signed in to the pages signs out here; a console session signs out in the console.
199
- const signOut = isSignedIn ? `<form method="post" action="/sign-out" class="sign-out"><button aria-label="Sign out">${icon('signOut', 14)}<span class="label">Sign out</span></button></form>` : '';
200
- return `<header class="top"><a class="mark" href="/overview">${MARK}Aeolus</a><nav class="tabs">${tabs}</nav>${signOut}</header>`;
201
- }
202
- /** What a signed-out caller is shown: why, and the one way to sign in, coming back to the page they asked for. */
203
- export function signInPrompt(shown) {
204
- if (shown.way === 'none') {
205
- return `<section class="card"><h2>This gateway signs no one in</h2><p class="muted">Its pages are for people signed in through pagasae, which its operator has not set.</p></section>`;
206
- }
207
- const link = `<a class="button" href="/sign-in?${new URLSearchParams({ return_to: shown.returnTo }).toString().replaceAll('&', '&amp;')}">${icon('signIn', 14)}Sign in</a>`;
208
- return `<section class="card"><h2>${escaped(shown.message)}</h2><div class="actions">${link}</div></section>`;
209
- }
210
- /**
211
- * What a live page runs: it opens /live for itself and swaps in each section
212
- * it is sent; when the socket drops it shows Reconnecting and opens again
213
- * with backoff, never for a refusal (4401 to 4404). Every minute it counts
214
- * each days left down from its expiry, with no call to the gateway.
215
- */
216
- const LIVE_SCRIPT = `(function (query) {
217
- var DAY = 86400000, wait = 500, status = document.querySelector('[data-live-status]');
218
- function countDown() {
219
- document.querySelectorAll('[data-expires-at]').forEach(function (holder) {
220
- var badge = holder.querySelector('.badge'), label = badge && badge.lastChild;
221
- if (!label) return;
222
- var days = Math.ceil((Date.parse(holder.getAttribute('data-expires-at')) - Date.now()) / DAY);
223
- badge.className = 'badge ' + (days <= 0 ? 'tone-ended' : days <= 1 ? 'tone-attention' : 'tone-waiting');
224
- label.textContent = days <= 0 ? 'Expired' : days <= 1 ? 'Last day' : days + ' d left';
225
- });
226
- }
227
- function open() {
228
- var socket = new WebSocket((location.protocol === 'https:' ? 'wss://' : 'ws://') + location.host + '/live?' + query);
229
- socket.onopen = function () { wait = 500; status.hidden = true; };
230
- socket.onmessage = function (event) {
231
- var sections = JSON.parse(event.data).sections;
232
- Object.keys(sections).forEach(function (name) {
233
- var section = document.querySelector('[data-live="' + name + '"]');
234
- if (section) section.innerHTML = sections[name];
235
- });
236
- countDown();
237
- };
238
- socket.onclose = function (event) {
239
- if (event.code >= 4401 && event.code <= 4404) return;
240
- status.hidden = false;
241
- setTimeout(open, wait);
242
- wait = Math.min(wait * 2, 10000);
243
- };
244
- }
245
- open();
246
- setInterval(countDown, 60000);
247
- })(document.currentScript.getAttribute('data-live-query'));`;
248
- /**
249
- * A page a person meets on their way in, from an outside MCP client: the
250
- * mark and its name above one centred column, no tabs. Its own script, if
251
- * any, comes with its body.
252
- */
253
- export function signInPage(page) {
254
- return `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>${escaped(page.title)}</title><style>${STYLE}</style></head><body><main class="centred"><div class="mark">${MARK}Aeolus</div>${page.body}</main></body></html>`;
255
- }
256
- /** A whole Signal page: the top bar with its tabs, then the page's own body; a live page names itself to the live channel. */
257
- export function signalPage(page) {
258
- const live = page.live === undefined
259
- ? ''
260
- : `<p data-live-status hidden class="live-status">${statusBadge({ tone: 'waiting', icon: 'hourglass', label: 'Reconnecting' })}</p><script data-live-query="${escaped(page.live)}">${LIVE_SCRIPT}</script>`;
261
- return `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>${escaped(page.title)}</title><style>${STYLE}</style></head><body>${topBar(page.tab, page.isSignedIn === true)}<main${page.isWide === true ? ' class="wide"' : ''}>${page.body}</main>${live}</body></html>`;
262
- }
263
- //# sourceMappingURL=signal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signal.js","sourceRoot":"","sources":["../../../src/adapters/http/signal.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { AccountGrants, PageSession } from './ports.js';
2
- export type SignOut = (session: PageSession) => Promise<void>;
3
- /**
4
- * Use case: a person signs out of the gateway's pages. The session's grant
5
- * ends, so a page session cookie kept after it is signed out; the account's
6
- * sign-ins from its MCP clients go on.
7
- */
8
- export declare function createSignOut(deps: {
9
- grants: Pick<AccountGrants, 'end'>;
10
- }): SignOut;
@@ -1,9 +0,0 @@
1
- /**
2
- * Use case: a person signs out of the gateway's pages. The session's grant
3
- * ends, so a page session cookie kept after it is signed out; the account's
4
- * sign-ins from its MCP clients go on.
5
- */
6
- export function createSignOut(deps) {
7
- return ({ fleetId, grantId }) => deps.grants.end(fleetId, grantId);
8
- }
9
- //# sourceMappingURL=sign-out.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sign-out.js","sourceRoot":"","sources":["../../../src/core/sign-in/sign-out.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAA4C;IACxE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC"}
@@ -1,25 +0,0 @@
1
- import type { OAuthSecrets } from '../oauth/ports.js';
2
- import type { Clock } from '../shared/clock.js';
3
- import type { Pagasae, SignInSeals } from './ports.js';
4
- /** Where a person lands once signed in, when they asked for no page of the gateway's own. */
5
- export declare const FIRST_PAGE = "/overview";
6
- export type StartPageSignIn = (asked: {
7
- returnTo?: string | undefined;
8
- }) => {
9
- redirectTo: string;
10
- browserSecret: string;
11
- };
12
- /**
13
- * Use case: a person signs in to the gateway's own pages through pagasae
14
- * (decision 0054), as from an MCP client: the page to go back to is sealed
15
- * with the gateway's PKCE verifier into the state, and the person is sent to
16
- * pagasae naming no fleet. Only a path of the gateway's own is kept, so a
17
- * sign-in never sends the browser to another site. The browser is given a
18
- * secret of its own, sealed too, so only it finishes the sign-in.
19
- */
20
- export declare function createStartPageSignIn(deps: {
21
- seals: SignInSeals;
22
- pagasae: Pagasae;
23
- secrets: OAuthSecrets;
24
- clock: Clock;
25
- }): StartPageSignIn;