@aeolus-fleet/gateway 0.29.1 → 0.29.2
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.
- package/dist/adapters/fleet/console-sessions.js +10 -6
- package/dist/adapters/fleet/console-sessions.js.map +1 -1
- package/dist/adapters/trpc/router.js +10 -3
- package/dist/adapters/trpc/router.js.map +1 -1
- package/dist/core/actors/authenticate-actor.d.ts +11 -5
- package/dist/core/actors/authenticate-actor.js +7 -3
- package/dist/core/actors/authenticate-actor.js.map +1 -1
- package/dist/core/actors/credential-of.d.ts +3 -2
- package/dist/core/actors/credential-of.js +4 -3
- package/dist/core/actors/credential-of.js.map +1 -1
- package/dist/core/operator/authenticate-operator.d.ts +5 -9
- package/dist/core/operator/authenticate-operator.js +4 -4
- package/dist/core/operator/authenticate-operator.js.map +1 -1
- package/dist/core/operator/ports.d.ts +15 -9
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +11 -11
- package/web/.next/build-manifest.json +15 -15
- package/web/.next/diagnostics/route-bundle-stats.json +75 -59
- package/web/.next/fallback-build-manifest.json +3 -3
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/{outside-parties/[name]/retire → (console)/outside-parties/[name]/change}/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/change/page.js +12 -11
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/outside-parties/[name]/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{outside-parties/[name]/retire → (console)/outside-parties/[name]}/page/build-manifest.json +1 -1
- package/web/.next/server/app/{outside-parties/[name]/retire → (console)/outside-parties/[name]}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/page.js +12 -11
- package/web/.next/server/app/{outside-parties/[name]/change → (console)/outside-parties/[name]}/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/{outside-parties/[name]/change → (console)/outside-parties/[name]/retire}/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/retire/page.js +11 -10
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/outside-parties/add/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{outside-parties/[name]/change → (console)/outside-parties/add}/page/build-manifest.json +1 -1
- package/web/.next/server/app/{outside-parties/[name]/change → (console)/outside-parties/add}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/{outside-parties → (console)/outside-parties}/add/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/{outside-parties → (console)/outside-parties}/add/page.js +11 -10
- package/web/.next/server/app/{overview/requests/[requestId] → (console)/outside-parties/add}/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/outside-parties/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{outside-parties/[name] → (console)/outside-parties}/page/build-manifest.json +1 -1
- package/web/.next/server/app/{outside-parties/add → (console)/outside-parties}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/{outside-parties → (console)/outside-parties}/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/{outside-parties → (console)/outside-parties}/page.js +11 -10
- package/web/.next/server/app/{outside-parties/add → (console)/outside-parties}/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/overview/changes/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/overview/changes/route.js +6 -0
- package/web/.next/server/app/(console)/overview/changes/route.js.nft.json +1 -0
- package/web/.next/server/app/(console)/overview/changes/route_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/overview/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{sign-in/failed → (console)/overview}/page/build-manifest.json +1 -1
- package/web/.next/server/app/{parties → (console)/overview}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/{overview → (console)/overview}/page/server-reference-manifest.json +12 -12
- package/web/.next/server/app/{overview/requests/[requestId] → (console)/overview}/page.js +13 -12
- package/web/.next/server/app/{sign-in/failed → (console)/overview}/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/overview/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/{overview → (console)/overview}/requests/[requestId]/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/{overview → (console)/overview/requests/[requestId]}/page.js +13 -12
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/parties/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{outside-parties → (console)/parties}/page/build-manifest.json +1 -1
- package/web/.next/server/app/{outside-parties → (console)/parties}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/{parties → (console)/parties}/page/server-reference-manifest.json +19 -19
- package/web/.next/server/app/{parties → (console)/parties}/page.js +11 -10
- package/web/.next/server/app/{outside-parties/[name] → (console)/parties}/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/sign-in/failed/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{outside-parties/add → (console)/sign-in/failed}/page/build-manifest.json +1 -1
- package/web/.next/server/app/{outside-parties/[name] → (console)/sign-in/failed}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/{sign-in → (console)/sign-in}/failed/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/{sign-in → (console)/sign-in}/failed/page.js +11 -10
- package/web/.next/server/app/{outside-parties/[name]/retire → (console)/sign-in/failed}/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/_not-found/page.js +4 -4
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/failed/page.js +9 -7
- package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/pick/page.js +12 -10
- package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page.js +9 -7
- package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +11 -11
- package/web/.next/server/chunks/1mb5_next-internal_server_app_(console)_overview_changes_route_actions_0zbq7lqsf5nng.js +3 -0
- package/web/.next/server/chunks/{[root-of-the-server]__00bbah0fbuex2._.js → [root-of-the-server]__0k8jiujb_0xtx._.js} +8 -8
- package/web/.next/server/chunks/[root-of-the-server]__0k8jiujb_0xtx._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web__next-internal_server_app_outside-parties_add_page_actions_0wclx47vjdhe6.js → 0vkm_server_app_(console)_outside-parties_add_page_actions_10eg3jn_qq_u_.js} +2 -2
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_10eg3jn_qq_u_.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js +3 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0-liudmjwlqmo._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0grpi5wnl9ppf._.js +10 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0grpi5wnl9ppf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__0rzvf7wb60m05._.js → [root-of-the-server]__0k-sy-ven9f2f._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-sy-ven9f2f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__1qpk1uw97id0a._.js → [root-of-the-server]__12_to1hq55n1y._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__12_to1hq55n1y._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__0ntyo9p3x-w6a._.js → [root-of-the-server]__179upda-y7uap._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__179upda-y7uap._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__197il4swfpq1a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1imel8atfb770._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1imel8atfb770._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__11e7zi5yg_f_4._.js → [root-of-the-server]__1rmy72sai5-kh._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rmy72sai5-kh._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__10rfwy-punm8_._.js → [root-of-the-server]__1yydhn6iokbm4._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1yydhn6iokbm4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1yyfc4xf3xa-s._.js +1 -1
- package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
- package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_1bfq0g9c1iw__._.js → _080ao10j8x4km._.js} +2 -2
- package/web/.next/server/chunks/ssr/_080ao10j8x4km._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_13qzwpag13tvy._.js → _0pyd1_y7w8ngp._.js} +2 -2
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_12fsn_33ga-n0._.js +3 -0
- package/web/.next/server/chunks/ssr/_12fsn_33ga-n0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_04iwj3w0divwb._.js → _1gb_kwx9jg1et._.js} +2 -2
- package/web/.next/server/chunks/ssr/_1gb_kwx9jg1et._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js +3 -0
- package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
- package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_03xm-6l-r6ko0._.js → _1ulh8nd8_yv_3._.js} +2 -2
- package/web/.next/server/chunks/ssr/_1ulh8nd8_yv_3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_0cyjln1rocvt5._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0cyjln1rocvt5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_1ins1z8o_qrka._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_1ins1z8o_qrka._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1id6g-6m2hh0l._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1id6g-6m2hh0l._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1datokkgym0.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1datokkgym0.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06etuymo2azrg.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06etuymo2azrg.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcy-jnk5o43.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcy-jnk5o43.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0bnypafopxsfl.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0bnypafopxsfl.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0k0-b63ptvbl5.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0k0-b63ptvbl5.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pik0g65vv-wi.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pik0g65vv-wi.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0xccr6d8xcb1p.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0xccr6d8xcb1p.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_13agc620bnznv.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_13agc620bnznv.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_184-gj4lz41i-.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_184-gj4lz41i-.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1bt2ioufqh6fl.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1bt2ioufqh6fl.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1d613l6zsee_e.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1d613l6zsee_e.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o0-ipfysjmro.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o0-ipfysjmro.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1x-0vplt44lez.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1x-0vplt44lez.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_06ue1l1ujajps._.js +3 -0
- package/web/.next/server/chunks/ssr/web_06ue1l1ujajps._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0v-7sowo0hupw._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_1_rm1ivvp726s._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1_rm1ivvp726s._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_0vot73dagfg_x._.js → web_1ga4pbv72m0ad._.js} +2 -2
- package/web/.next/server/chunks/ssr/web_1ga4pbv72m0ad._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_1nqu01kfi0u66._.js → web_1loiet18xbddu._.js} +2 -2
- package/web/.next/server/chunks/ssr/web_1loiet18xbddu._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_layout_tsx_1t-5g79yb9xtl._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_layout_tsx_1t-5g79yb9xtl._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_app_outside-parties_[name]_change_page_tsx_0kfjh3f55us56._.js → web_app_(console)_outside-parties_[name]_change_page_tsx_00bpg0s2eypj9._.js} +2 -2
- package/web/.next/server/chunks/ssr/web_app_(console)_outside-parties_[name]_change_page_tsx_00bpg0s2eypj9._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_app_outside-parties_[name]_retire_page_tsx_0qhcnjpjipu_2._.js → web_app_(console)_outside-parties_[name]_retire_page_tsx_1zxy74pr5_2kn._.js} +2 -2
- package/web/.next/server/chunks/ssr/web_app_(console)_outside-parties_[name]_retire_page_tsx_1zxy74pr5_2kn._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_app_overview_error_tsx_17_cklg40kzxe._.js → web_app_(console)_overview_error_tsx_087e7ba8loavc._.js} +2 -2
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_087e7ba8loavc._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_1nn1jz5nh77af._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_1nn1jz5nh77af._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_parties_page_tsx_0pp63ghly3eyp._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_parties_page_tsx_0pp63ghly3eyp._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_authorize_layout_tsx_0gs61_7wzx68y._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_authorize_layout_tsx_0gs61_7wzx68y._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_0h0ueu8_-_z5k._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_0h0ueu8_-_z5k._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_authorize_137wk0n1nu3cn._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_authorize_137wk0n1nu3cn._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_inbox-panel_tsx_03hlegjsc27sb._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_inbox-panel_tsx_03hlegjsc27sb._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
- package/web/.next/server/middleware-build-manifest.js +15 -15
- package/web/.next/server/next-font-manifest.js +1 -1
- package/web/.next/server/next-font-manifest.json +13 -13
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/preview-props.json +3 -3
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +75 -75
- package/web/.next/static/chunks/07j7jnfe13wx6.js +1 -0
- package/web/.next/static/chunks/0p_kl57bddsiy.js +1 -0
- package/web/.next/static/chunks/1ca21kggixrjz.js +1 -0
- package/web/.next/static/chunks/1l1gmjf-hz7u_.css +3 -0
- package/web/.next/static/chunks/{0hobzrlhklo3e.js → 1tfvu44eel7g5.js} +1 -1
- package/web/.next/static/chunks/{3l_1gcuoe8bfn.js → 2bg4wnfhuftsq.js} +1 -1
- package/web/.next/static/chunks/2x00o45pdbkok.js +1 -0
- package/web/.next/static/chunks/{3jr0srcv_-pfa.js → 2yplpvvjibfqw.js} +1 -1
- package/web/.next/static/chunks/34syicr_5c5u1.js +1 -0
- package/web/.next/static/chunks/{0a1vw3r93lh06.js → 3v6tr952p9dba.js} +1 -1
- package/web/.next/static/chunks/{1sgi4p93eayf4.js → 43zbq11isnos4.js} +1 -1
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/types/routes.d.ts +3 -1
- package/web/.next/types/validator.ts +84 -50
- package/web/.next/server/app/outside-parties/[name]/change/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/outside-parties/[name]/change/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/outside-parties/[name]/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/outside-parties/[name]/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/outside-parties/[name]/retire/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/outside-parties/[name]/retire/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/outside-parties/add/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/outside-parties/add/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/outside-parties/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/outside-parties/page.js.nft.json +0 -1
- package/web/.next/server/app/outside-parties/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/overview/changes/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/overview/changes/route.js +0 -6
- package/web/.next/server/app/overview/changes/route.js.nft.json +0 -1
- package/web/.next/server/app/overview/changes/route_client-reference-manifest.js +0 -3
- package/web/.next/server/app/overview/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/overview/page/build-manifest.json +0 -23
- package/web/.next/server/app/overview/page/next-font-manifest.json +0 -11
- package/web/.next/server/app/overview/page.js.nft.json +0 -1
- package/web/.next/server/app/overview/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/overview/requests/[requestId]/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/overview/requests/[requestId]/page/build-manifest.json +0 -23
- package/web/.next/server/app/overview/requests/[requestId]/page/next-font-manifest.json +0 -11
- package/web/.next/server/app/overview/requests/[requestId]/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/parties/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/parties/page/build-manifest.json +0 -23
- package/web/.next/server/app/parties/page.js.nft.json +0 -1
- package/web/.next/server/app/parties/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/sign-in/failed/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/sign-in/failed/page/next-font-manifest.json +0 -11
- package/web/.next/server/app/sign-in/failed/page_client-reference-manifest.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__00bbah0fbuex2._.js.map +0 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_overview_requests_[requestId]_page_actions_08cpboirhdm8t.js +0 -3
- package/web/.next/server/chunks/ssr/0vkm_server_app_overview_requests_[requestId]_page_actions_08cpboirhdm8t.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0ntyo9p3x-w6a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rzvf7wb60m05._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10rfwy-punm8_._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11e7zi5yg_f_4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1afrhvkbp010p._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1afrhvkbp010p._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpk1uw97id0a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_03xm-6l-r6ko0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_04iwj3w0divwb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_13qzwpag13tvy._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1bfq0g9c1iw__._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1jfy4064jcghi._.js +0 -3
- package/web/.next/server/chunks/ssr/_1jfy4064jcghi._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_03zgfhccdkaiy.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_03zgfhccdkaiy.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0fj-1791_p39n.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0fj-1791_p39n.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pq59x3iko2ai.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pq59x3iko2ai.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0svltk31-r84e.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0svltk31-r84e.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ytc4y16h581t.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ytc4y16h581t.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_15hcath_cy93j.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_15hcath_cy93j.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ej-pov8ir4hb.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ej-pov8ir4hb.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1emdm3ck_2g9k.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1emdm3ck_2g9k.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mvwdrj8rcdc5.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mvwdrj8rcdc5.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uc-ufaepnlh_.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uc-ufaepnlh_.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ymh04086158y.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ymh04086158y.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1z9khw-ht54ev.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1z9khw-ht54ev.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_0vot73dagfg_x._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_17c7_dhsf-sjp._.js +0 -3
- package/web/.next/server/chunks/ssr/web_17c7_dhsf-sjp._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_1j5yjwqkgyeve._.js +0 -3
- package/web/.next/server/chunks/ssr/web_1j5yjwqkgyeve._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_1nqu01kfi0u66._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_1zd285_dq60z5._.js +0 -3
- package/web/.next/server/chunks/ssr/web_1zd285_dq60z5._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_207u8paamz3z-._.js +0 -10
- package/web/.next/server/chunks/ssr/web_207u8paamz3z-._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_outside-parties_add_page_actions_0wclx47vjdhe6.js.map +0 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_overview_page_actions_0hxu14a57nlf2.js +0 -3
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_overview_page_actions_0hxu14a57nlf2.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_not-found_tsx_1miwllm8xrp2a._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_not-found_tsx_1miwllm8xrp2a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_outside-parties_[name]_change_page_tsx_0kfjh3f55us56._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_outside-parties_[name]_retire_page_tsx_0qhcnjpjipu_2._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_overview_error_tsx_0qlcwxupzw726._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_overview_error_tsx_0qlcwxupzw726._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_overview_error_tsx_17_cklg40kzxe._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_parties_page_tsx_1lilxm339jj89._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_parties_page_tsx_1lilxm339jj89._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_0vq1wjkuh6dmr._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0vq1wjkuh6dmr._.js.map +0 -1
- package/web/.next/server/chunks/web__next-internal_server_app_overview_changes_route_actions_16jqwsctr1pzg.js +0 -3
- package/web/.next/static/chunks/0214opd1iq3ld.js +0 -1
- package/web/.next/static/chunks/22u81hd6kxqsx.js +0 -1
- package/web/.next/static/chunks/2qpupho1jn-iy.js +0 -1
- package/web/.next/static/chunks/2rap-vrom5-zw.css +0 -3
- package/web/.next/static/chunks/3sv0_hjr9t4cp.js +0 -1
- /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/change/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/change/page.js.map +0 -0
- /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/page.js.map +0 -0
- /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/retire/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/retire/page.js.map +0 -0
- /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/add/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/add/page.js.map +0 -0
- /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/page.js.map +0 -0
- /package/web/.next/server/app/{overview → (console)/overview}/changes/route/build-manifest.json +0 -0
- /package/web/.next/server/app/{overview → (console)/overview}/changes/route/server-reference-manifest.json +0 -0
- /package/web/.next/server/app/{overview → (console)/overview}/changes/route.js.map +0 -0
- /package/web/.next/server/app/{overview → (console)/overview}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{overview → (console)/overview}/page.js.map +0 -0
- /package/web/.next/server/app/{overview → (console)/overview}/requests/[requestId]/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{overview → (console)/overview}/requests/[requestId]/page.js.map +0 -0
- /package/web/.next/server/app/{parties → (console)/parties}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{parties → (console)/parties}/page.js.map +0 -0
- /package/web/.next/server/app/{sign-in → (console)/sign-in}/failed/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{sign-in → (console)/sign-in}/failed/page.js.map +0 -0
- /package/web/.next/server/chunks/{web__next-internal_server_app_overview_changes_route_actions_16jqwsctr1pzg.js.map → 1mb5_next-internal_server_app_(console)_overview_changes_route_actions_0zbq7lqsf5nng.js.map} +0 -0
- /package/web/.next/static/{MLIzjhz2u5r5gyyuciHvf → ESz77-eaR5ViaU4LRqo0i}/_buildManifest.js +0 -0
- /package/web/.next/static/{MLIzjhz2u5r5gyyuciHvf → ESz77-eaR5ViaU4LRqo0i}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{MLIzjhz2u5r5gyyuciHvf → ESz77-eaR5ViaU4LRqo0i}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/features/frame/services/header-switchers.ts","../../../../../web/features/frame/hooks/read-header.ts","../../../../../web/app/geistsans_54fa7e7.js","../../../../../web/app/geistmono_85c0638a.js","../../../../../web/features/frame/state/header.tsx","../../../../../web/features/frame/ui/plain-header.tsx","../../../../../web/app/layout.tsx","../../../../../web/features/frame/ui/frame.tsx","../../../../../node_modules/%40aeolus-fleet/common/src/header/apps.ts","../../../../../node_modules/%40aeolus-fleet/common/src/schemas/apps-list.ts","../../../../../web/features/frame/ui/gateway-header.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/frame/ui/gateway-header.tsx%22%20%7D","turbopack:///[project]/web/app/geistmono_85c0638a.module.css [app-rsc] (css module)","turbopack:///[project]/web/app/geistsans_54fa7e7.module.css [app-rsc] (css module)"],"sourcesContent":["/*\n * The switcher in the title of the header the gateway's pages show\n * (aeolus-fleet, header design H1, H9), from the apps and fleets the account\n * may open as the gateway's API answers them. The fleet in view is the one\n * the page's address names; a layout cannot read the address, so the server\n * offers one switcher per listed fleet and the header picks by the address.\n */\nimport { accountIdSchema, headerAppSchema, idSchema, type AppLink, type AppsList } from '@aeolus-fleet/common';\nimport { appSwitcherOf, type AppSwitcherModel } from '@aeolus-fleet/common/header';\n\n/** The apps and fleets the account may open, as the API's account.apps answers them. */\nexport interface AccountApps {\n account: { id: string; email: string };\n apps: readonly { app: string; url: string }[];\n fleets: readonly { id: string; name: string; apps: readonly { app: string; url: string }[] }[];\n}\n\nconst fleetIdSchema = idSchema('fleet');\n\n/** The apps the header knows (H12), the others left out; the addresses as the API answers them. */\nfunction headerAppsOf(apps: AccountApps['apps']): AppLink[] {\n return apps.flatMap(({ app, url }) => {\n const known = headerAppSchema.safeParse(app);\n return known.success ? [{ app: known.data, url }] : [];\n });\n}\n\n/** The switchers for the gateway, one per listed fleet with it in view; none for an answer with a malformed id. */\nexport function headerSwitchersOf(answer: AccountApps): AppSwitcherModel[] {\n const accountId = accountIdSchema.safeParse(answer.account.id);\n const fleetIds = answer.fleets.map((fleet) => fleetIdSchema.safeParse(fleet.id));\n if (!accountId.success || fleetIds.some((fleetId) => !fleetId.success)) {\n return [];\n }\n const list: AppsList = {\n account: { id: accountId.data, email: answer.account.email },\n apps: headerAppsOf(answer.apps),\n // Whether the account may sign in as argo is the console's alone: the gateway's header never shows it.\n fleets: answer.fleets.flatMap((fleet, index) => {\n const fleetId = fleetIds[index];\n return fleetId?.success === true ? [{ id: fleetId.data, name: fleet.name, argo: false, apps: headerAppsOf(fleet.apps) }] : [];\n }),\n };\n return list.fleets.map(({ id, name }) => appSwitcherOf({ list, fleet: { id, name }, app: 'gateway' }));\n}\n","/**\n * What the header shows, read through the gateway's API by the browser's\n * shared sign-in (header design H1): the account and the apps and fleets it\n * may open. A browser signed in to no account, a gateway that signs no one\n * in to its pages, or pagasae not answering, shows the plain bar: the page\n * itself says what to do.\n */\nimport { refusalCodeOf, requestApi } from '../../../lib/gateway-api/page-api';\nimport type { AccountApps } from '../services/header-switchers';\n\nexport async function readHeader(): Promise<AccountApps | undefined> {\n try {\n return await (await requestApi(undefined)).account.apps.query();\n } catch (error) {\n if (refusalCodeOf(error) !== undefined) {\n return undefined;\n }\n throw error;\n }\n}\n","import cssModule from \"@vercel/turbopack-next/internal/font/local/cssmodule.module.css?{%22path%22:%22fonts.ts%22,%22import%22:%22%22,%22arguments%22:[{%22src%22:%22./fonts/geist-variable.woff2%22,%22variable%22:%22--font-geist-sans%22,%22weight%22:%22100%20900%22}],%22variableName%22:%22geistSans%22}\";\nconst fontData = {\n className: cssModule.className,\n style: {\n fontFamily: \"'geistSans', 'geistSans Fallback'\",\n \n },\n};\n\nif (cssModule.variable != null) {\n fontData.variable = cssModule.variable;\n}\n\nexport default fontData;\n","import cssModule from \"@vercel/turbopack-next/internal/font/local/cssmodule.module.css?{%22path%22:%22fonts.ts%22,%22import%22:%22%22,%22arguments%22:[{%22src%22:%22./fonts/geist-mono-variable.woff2%22,%22variable%22:%22--font-geist-mono%22,%22weight%22:%22100%20900%22}],%22variableName%22:%22geistMono%22}\";\nconst fontData = {\n className: cssModule.className,\n style: {\n fontFamily: \"'geistMono', 'geistMono Fallback'\",\n \n },\n};\n\nif (cssModule.variable != null) {\n fontData.variable = cssModule.variable;\n}\n\nexport default fontData;\n","import type { Theme } from '@aeolus-fleet/common';\nimport { Suspense } from 'react';\n\nimport { readHeader } from '../hooks/read-header';\nimport { headerSwitchersOf } from '../services/header-switchers';\nimport { GatewayHeader } from '../ui/gateway-header';\nimport { PlainHeader } from '../ui/plain-header';\n\n/** The header for the account signed in, or the plain bar for no account (or one that may open no fleet here, or an answer it cannot read). */\nexport async function Header({ theme }: { theme: Theme }) {\n const answer = await readHeader();\n const switchers = answer === undefined ? [] : headerSwitchersOf(answer);\n if (answer === undefined || switchers.length === 0) {\n return <PlainHeader />;\n }\n return (\n // The header reads the fleet in view from the address.\n <Suspense fallback={<PlainHeader />}>\n <GatewayHeader switchers={switchers} email={answer.account.email} accountUrl={answer.apps.find(({ app }) => app === 'account')?.url} theme={theme} />\n </Suspense>\n );\n}\n","/** The bar of a page shown to no account signed in: the sign-in pages, and a gateway that signs no one in to its pages. */\nexport function PlainHeader() {\n return (\n <header data-testid=\"plain-header\" className=\"flex h-14 items-center border-b border-border px-4\">\n <a href=\"/overview\" className=\"text-section font-semibold\">\n Aeolus\n </a>\n </header>\n );\n}\n","import type { Theme } from '@aeolus-fleet/common';\nimport type { Metadata } from 'next';\nimport { cookies } from 'next/headers';\nimport type { ReactNode } from 'react';\n\nimport { Header } from '../features/frame/state/header';\nimport { THEME_COOKIE, themeFrom } from '../features/frame/theme';\nimport { Frame } from '../features/frame/ui/frame';\nimport { geistMono, geistSans } from './fonts';\nimport './globals.css';\n\nexport const metadata: Metadata = {\n title: 'Aeolus',\n robots: { index: false, follow: false },\n};\n\n/**\n * Sets the theme this browser chose before the first paint: System follows\n * the browser's setting and keeps in step while <html> says system.\n */\nfunction themeScript(theme: Theme): string {\n return `(() => {\n const root = document.documentElement;\n const query = window.matchMedia('(prefers-color-scheme: dark)');\n const apply = () => root.classList.toggle('dark', root.dataset.theme === 'dark' || (root.dataset.theme === 'system' && query.matches));\n root.dataset.theme = ${JSON.stringify(theme)};\n apply();\n query.addEventListener('change', apply);\n})();`;\n}\n\nexport default async function RootLayout({ children }: { children: ReactNode }) {\n const theme = themeFrom((await cookies()).get(THEME_COOKIE)?.value);\n return (\n <html lang=\"en\" className={`${geistSans.variable} ${geistMono.variable}`} suppressHydrationWarning>\n <head>\n <script dangerouslySetInnerHTML={{ __html: themeScript(theme) }} />\n </head>\n <body>\n <Frame header={<Header theme={theme} />}>{children}</Frame>\n </body>\n </html>\n );\n}\n","import type { ReactNode } from 'react';\n\n/**\n * Every page of the gateway's web app: the header on top, the page below.\n * The header is the one every Aeolus app shows (@aeolus-fleet/common/header,\n * header design H2) for an account signed in, else a plain bar.\n */\nexport function Frame({ header, children }: { header: ReactNode; children: ReactNode }) {\n return (\n <div className=\"flex min-h-dvh flex-col\">\n <div data-testid=\"frame-header\" className=\"contents\">\n {header}\n </div>\n <main className=\"mx-auto w-full max-w-5xl flex-1 px-4 py-6\">{children}</main>\n </div>\n );\n}\n","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/apps.ts","unable to read source [project]/node_modules/@aeolus-fleet/common/src/schemas/apps-list.ts","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const GatewayHeader = registerClientReference(\n function() { throw new Error(\"Attempted to call GatewayHeader() from the server but GatewayHeader is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/web/features/frame/ui/gateway-header.tsx\",\n \"GatewayHeader\",\n);\n","__turbopack_context__.v({\n \"className\": \"oS6g6q_className\",\n \"variable\": \"oS6g6q_variable\",\n});\n","__turbopack_context__.v({\n \"className\": \"FBhtWW_className\",\n \"variable\": \"FBhtWW_variable\",\n});\n"],"names":["readHeader","undefined","account","apps","query","error","GatewayHeader","Error"],"mappings":"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","ignoreList":[8,9,10]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/.next-internal/server/app/outside-parties/add/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/add-server/actions.ts"],"sourcesContent":["export {setTheme as '4081cbcd58a3dd3de149e94261778971a7c42ce220'} from 'ACTIONS_MODULE0'\nexport {approveServer as '6019f8ccbb153920d3407417fa13ae2f68dbae4425'} from 'ACTIONS_MODULE1'\nexport {checkServer as '604cd683600419224d72cce16001d6551c38501acd'} from 'ACTIONS_MODULE1'\n","'use server';\n\n/**\n * Adding an outside MCP server (design B, screen 7; flow F10), as the\n * account signed in: the gateway's check of the tools it answers with,\n * which keeps nothing, then approving it with its owner. Each step asks the\n * API, which checks the account holds fleet:manage.\n */\nimport { randomUUID } from 'node:crypto';\n\nimport { idSchema } from '@aeolus-fleet/common';\nimport { redirect } from 'next/navigation';\n\nimport { inFleet } from '../../lib/gateway-api/page-account';\nimport { refusalMessageOf, requestApi } from '../../lib/gateway-api/page-api';\nimport { FLEET_FIELD, fieldOf, fieldsOf } from '../forms/form-state';\nimport type { OwnerChoice } from '../forms/ui/owner-field';\nimport { partyPath } from '../outside-parties/paths';\n\n/** The tools a server answered the check with. */\nexport interface CheckedTool {\n name: string;\n description?: string | undefined;\n}\n\n/**\n * Where adding a server stands: the address step, or the owner step after\n * the check answered its tools, with the ships its owner may be picked\n * from. The address and credential travel on in the fields, as the browser\n * sent them.\n */\nexport type AddServerState =\n | { step: 'address'; fields: Record<string, string>; refusal?: string }\n | { step: 'owner'; fields: Record<string, string>; tools: CheckedTool[]; owners: OwnerChoice[]; requestId: string };\n\nfunction credentialOf(form: FormData) {\n if (fieldOf(form, 'credentialKind') === 'clientCredentials') {\n const scope = fieldOf(form, 'scope');\n return { kind: 'clientCredentials' as const, clientId: fieldOf(form, 'clientId'), clientSecret: fieldOf(form, 'clientSecret'), issuer: fieldOf(form, 'issuer'), ...(scope === '' ? {} : { scope }) };\n }\n return { kind: 'bearer' as const, token: fieldOf(form, 'token') };\n}\n\nexport async function checkServer(_previous: AddServerState, form: FormData): Promise<AddServerState> {\n const fields = fieldsOf(form);\n const api = await requestApi(fieldOf(form, FLEET_FIELD));\n try {\n const { tools } = await api.parties.check.mutate({ url: fieldOf(form, 'url'), credential: credentialOf(form) });\n const owners = await api.parties.ownerChoices.query();\n return { step: 'owner', fields, tools, owners, requestId: randomUUID() };\n } catch (error) {\n return { step: 'address', fields, refusal: refusalMessageOf(error) };\n }\n}\n\n/** An approval refused, for the owner step of the check it came from, with what the browser sent. */\nexport type ApproveState = { kind: 'idle' } | { kind: 'refused'; requestId: string; fields: Record<string, string>; message: string };\n\nexport async function approveServer(_previous: ApproveState, form: FormData): Promise<ApproveState> {\n const fleetId = fieldOf(form, FLEET_FIELD);\n const fields = fieldsOf(form);\n const requestId = fieldOf(form, 'requestId');\n const ownerShipId = idSchema('ship').safeParse(fieldOf(form, 'ownerShipId').trim());\n if (!ownerShipId.success) {\n return { kind: 'refused', requestId, fields, message: \"The owner's ship id is not a ship id (shp_...)\" };\n }\n const api = await requestApi(fleetId);\n let name: string;\n try {\n const approved = await api.parties.approve.mutate({\n requestId,\n name: fieldOf(form, 'name'),\n url: fieldOf(form, 'url'),\n credential: credentialOf(form),\n ownerShipId: ownerShipId.data,\n concurrencyLimit: Number(fieldOf(form, 'concurrencyLimit')),\n });\n name = approved.name;\n } catch (error) {\n return { kind: 'refused', requestId, fields, message: refusalMessageOf(error) };\n }\n redirect(inFleet(partyPath(name), fleetId));\n}\n"],"names":["credentialOf","form","scope","kind","clientId","clientSecret","issuer","token","checkServer","_previous","fields","api","tools","parties","check","mutate","url","credential","owners","ownerChoices","query","step","requestId","error","refusal","approveServer","fleetId","ownerShipId","safeParse","trim","success","message","name","approved","approve","data","concurrencyLimit","Number"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[28375,a=>{"use strict";var b=a.i(70043),c=a.i(4757);a.S([b,"4081cbcd58a3dd3de149e94261778971a7c42ce220,f",0,c,"4022bb53cb5aed469521ce90b009331cc9e4aa85f6,q,60d491137132aa96b6833d08eedae6145705a64f9a,v,60f8242e7db2415e3a5de081e5326b1d609e9fce61,G"],28375)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=web__next-internal_server_app_overview_page_actions_0hxu14a57nlf2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/.next-internal/server/app/overview/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '4081cbcd58a3dd3de149e94261778971a7c42ce220'} from 'ACTIONS_MODULE0'\nexport {answerDelivery as '4022bb53cb5aed469521ce90b009331cc9e4aa85f6'} from 'ACTIONS_MODULE1'\nexport {doneDelivery as '60f8242e7db2415e3a5de081e5326b1d609e9fce61'} from 'ACTIONS_MODULE1'\nexport {openDelivery as '60d491137132aa96b6833d08eedae6145705a64f9a'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[83857,a=>{"use strict";var b=a.i(7997);a.s(["default",0,function(){return(0,b.jsxs)("section",{className:"rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm",children:[(0,b.jsx)("h2",{className:"text-heading font-semibold",children:"This page does not exist"}),(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)("a",{href:"/overview","data-testid":"not-found-overview",className:"inline-flex h-9 items-center rounded-md bg-primary px-4 text-primary-foreground hover:bg-primary-hover",children:"Go to the Overview"})})]})},"metadata",0,{title:"Not found"}])},92528,function(a){a.n(a.i(83857))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=web_app_not-found_tsx_1miwllm8xrp2a._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/app/not-found.tsx"],"sourcesContent":["import type { Metadata } from 'next';\n\nexport const metadata: Metadata = { title: 'Not found' };\n\n/** An address with no page: said so, with the way to the Overview. */\nexport default function NotFound() {\n return (\n <section className=\"rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm\">\n <h2 className=\"text-heading font-semibold\">This page does not exist</h2>\n <div className=\"mt-4\">\n <a href=\"/overview\" data-testid=\"not-found-overview\" className=\"inline-flex h-9 items-center rounded-md bg-primary px-4 text-primary-foreground hover:bg-primary-hover\">\n Go to the Overview\n </a>\n </div>\n </section>\n );\n}\n"],"names":["metadata","title","NotFound","className","href"],"mappings":"wEAKe,SAASE,EACtB,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,UAAA,CAAQC,UAAU,uFACjB,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAGA,UAAU,sCAA6B,6BAC3C,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAIA,UAAU,gBACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAEC,KAAK,YAAY,cAAY,qBAAqBD,UAAU,kHAAyG,2BAMhL,eAdkC,CAAEF,MAAO,WAAY"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/features/outside-party/ui/change-party.tsx","../../../../../web/app/outside-parties/%5Bname%5D/change/page.tsx"],"sourcesContent":["import { inFleet } from '../../../lib/gateway-api/page-account';\nimport { readOf, type SignedInPage } from '../../../lib/gateway-api/page-api';\nimport { ActionForm } from '../../forms/ui/action-form';\nimport { BUTTONS, CARD } from '../../forms/ui/look';\nimport { OwnerField } from '../../forms/ui/owner-field';\nimport { partyPath } from '../../outside-parties/paths';\nimport { changeParty } from '../actions';\nimport { EVERY_APP_SHIP_SCOPES, SCOPE_FIELD_PREFIX, SCOPES_SHOWN_FIELD } from '../scope-changes';\nimport { Back, GRANTING_SCOPE, OWNING_SCOPE, Refusal } from './outside-party';\n\n/** A scope's plain label, beside the scope itself. */\nconst SCOPE_LABELS: Record<string, string> = {\n 'messages:send': 'Send',\n 'messages:receive': 'Receive',\n 'fleet:read': 'Read the fleet',\n};\n\n/** One scope row: a locked row shows the scope ticked or not and sends nothing. */\nfunction ScopeRow({ scope, isLocked = false, isChecked = false }: { scope: string; isLocked?: boolean; isChecked?: boolean }) {\n return (\n <label className=\"flex items-center gap-2\">\n <input type=\"checkbox\" defaultChecked={isLocked ? true : isChecked} disabled={isLocked} {...(isLocked ? {} : { name: `${SCOPE_FIELD_PREFIX}${scope}` })} />\n <span>{SCOPE_LABELS[scope] ?? scope}</span>\n <span className=\"font-mono text-code text-muted-foreground\">{scope}</span>\n {isLocked ? <span className=\"text-muted-foreground\">(locked)</span> : null}\n </label>\n );\n}\n\n/**\n * Changing a party's owner (fleet:owner) and its scopes (scopes:grant):\n * every app ship's scopes locked on, the account's own to tick, and what\n * the party holds beyond them locked as it is.\n */\nexport async function ChangeParty({ page, name }: { page: SignedInPage; name: string }) {\n const { api, fleetId, scopes } = page;\n const read = await readOf(api.parties.get.query({ name }));\n if (!read.isOk) {\n return (\n <div className=\"grid gap-4\">\n <Back fleetId={fleetId} />\n <Refusal>{read.refusal}</Refusal>\n </div>\n );\n }\n const party = read.value;\n const owners = scopes.includes(OWNING_SCOPE) ? await readOf(api.parties.ownerChoices.query()) : undefined;\n const held = party.scopes;\n const own = scopes.filter((scope) => !EVERY_APP_SHIP_SCOPES.includes(scope));\n const beyond = held === null ? [] : held.filter((scope) => !EVERY_APP_SHIP_SCOPES.includes(scope) && !own.includes(scope));\n return (\n <div className=\"grid gap-4\">\n <Back fleetId={fleetId} />\n <section className={`${CARD} grid gap-3`}>\n <h2 className=\"text-section font-semibold\">{party.name}: owner and scopes</h2>\n <ActionForm action={changeParty} fleetId={fleetId} submit={{ label: 'Save', pending: 'Saving…' }} testId=\"outside-party-change-form\">\n <input type=\"hidden\" name=\"name\" value={party.name} />\n {owners === undefined ? null : owners.isOk ? (\n <OwnerField\n choices={owners.value}\n current={party.ownerShipId === null ? null : { shipId: party.ownerShipId, name: party.ownerName ?? party.ownerShipId }}\n help=\"A person ship or argo. It answers for this party.\"\n />\n ) : (\n <Refusal>{owners.refusal}</Refusal>\n )}\n {scopes.includes(GRANTING_SCOPE) && held !== null ? (\n <fieldset className=\"grid gap-2\">\n <legend className=\"font-medium\">Scopes</legend>\n <input type=\"hidden\" name={SCOPES_SHOWN_FIELD} value=\"true\" />\n {EVERY_APP_SHIP_SCOPES.map((scope) => (\n <ScopeRow key={scope} scope={scope} isLocked />\n ))}\n {own.map((scope) => (\n <ScopeRow key={scope} scope={scope} isChecked={held.includes(scope)} />\n ))}\n {beyond.map((scope) => (\n <ScopeRow key={scope} scope={scope} isLocked />\n ))}\n </fieldset>\n ) : null}\n </ActionForm>\n <div>\n <a className={BUTTONS.secondary} href={inFleet(partyPath(party.name), fleetId)}>\n Cancel\n </a>\n </div>\n </section>\n </div>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { ChangeParty } from '../../../../features/outside-party/ui/change-party';\nimport { partyPath } from '../../../../features/outside-parties/paths';\nimport { NoSignIn } from '../../../../features/sign-in/ui/no-sign-in';\nimport { signedInPage, type SearchParams } from '../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Outside parties' };\n\nexport default async function ChangePartyPage({ params, searchParams }: { params: Promise<{ name: string }>; searchParams: Promise<SearchParams> }) {\n const { name } = await params;\n const page = await signedInPage({ path: partyPath(name, 'change'), searchParams: await searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n return <ChangeParty page={page} name={name} />;\n}\n"],"names":["SCOPE_LABELS","ScopeRow","scope","isLocked","isChecked","className","type","defaultChecked","disabled","name","ChangeParty","page","api","fleetId","scopes","read","parties","get","query","isOk","refusal","party","value","owners","includes","ownerChoices","undefined","held","own","filter","beyond","action","submit","label","pending","testId","choices","current","ownerShipId","shipId","ownerName","help","map","secondary","href"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/features/outside-party/ui/retire-party.tsx","../../../../../web/app/outside-parties/%5Bname%5D/retire/page.tsx"],"sourcesContent":["import { inFleet } from '../../../lib/gateway-api/page-account';\nimport { readOf, type SignedInPage } from '../../../lib/gateway-api/page-api';\nimport { ActionForm } from '../../forms/ui/action-form';\nimport { BUTTONS, CARD } from '../../forms/ui/look';\nimport { partyPath } from '../../outside-parties/paths';\nimport { retireParty } from '../actions';\nimport { Back, Refusal } from './outside-party';\n\n/** Retiring a party, after one confirm that lists what happens (decision 0056). */\nexport async function RetireParty({ page, name }: { page: SignedInPage; name: string }) {\n const { api, fleetId } = page;\n const read = await readOf(api.parties.get.query({ name }));\n if (!read.isOk) {\n return (\n <div className=\"grid gap-4\">\n <Back fleetId={fleetId} />\n <Refusal>{read.refusal}</Refusal>\n </div>\n );\n }\n const party = read.value;\n return (\n <div className=\"grid gap-4\">\n <Back fleetId={fleetId} />\n <section className={`${CARD} grid gap-3`}>\n <h2 className=\"text-heading font-semibold\">Retire {party.name}?</h2>\n <ul className=\"list-disc pl-5\">\n <li>{party.proxyShipId === null ? 'Its proxy ship is retired' : <>Its proxy ship <span className=\"font-mono\">{party.proxyShipId}</span> is retired</>}</li>\n <li>The ships that used it lose its tools</li>\n <li>Adding it again is a new request</li>\n </ul>\n <ActionForm action={retireParty} fleetId={fleetId} submit={{ label: `Retire ${party.name}`, pending: 'Retiring…', kind: 'destructive' }} testId=\"outside-party-retire-form\">\n <input type=\"hidden\" name=\"name\" value={party.name} />\n </ActionForm>\n <div>\n <a className={BUTTONS.secondary} href={inFleet(partyPath(party.name), fleetId)}>\n Cancel\n </a>\n </div>\n </section>\n </div>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { RetireParty } from '../../../../features/outside-party/ui/retire-party';\nimport { partyPath } from '../../../../features/outside-parties/paths';\nimport { NoSignIn } from '../../../../features/sign-in/ui/no-sign-in';\nimport { signedInPage, type SearchParams } from '../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Outside parties' };\n\nexport default async function RetirePartyPage({ params, searchParams }: { params: Promise<{ name: string }>; searchParams: Promise<SearchParams> }) {\n const { name } = await params;\n const page = await signedInPage({ path: partyPath(name, 'retire'), searchParams: await searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n return <RetireParty page={page} name={name} />;\n}\n"],"names":["RetireParty","page","name","api","fleetId","read","parties","get","query","isOk","className","refusal","party","value","proxyShipId","action","submit","label","pending","kind","testId","type","secondary","href"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[16457,a=>{"use strict";let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/web/app/overview/error.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/web/app/overview/error.tsx","default");a.s(["default",0,b])},701,a=>{"use strict";var b=a.i(16457);a.n(b)},42849,function(a){a.n(a.i(701))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=web_app_overview_error_tsx_0qlcwxupzw726._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/app/overview/error.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/app/overview/error.tsx%22%20%7D"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/web/app/overview/error.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/web/app/overview/error.tsx\",\n \"default\",\n);\n"],"names":["Error"],"mappings":"6CAEe,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIA,MAAM,wQAA0Q,EACvS,uCACA","ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/features/overview/ui/overview-failed.tsx","../../../../../web/app/overview/error.tsx"],"sourcesContent":["/** The Overview could not be read: why, and the way to try again. */\nexport function OverviewFailed({ message, onTryAgain }: { message: string; onTryAgain: () => void }) {\n return (\n <section role=\"alert\" className=\"rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm\">\n <h2 className=\"text-heading font-semibold\">The Overview could not be read</h2>\n <p data-testid=\"overview-failed-reason\" className=\"mt-2 text-muted-foreground\">\n {message === '' ? 'The gateway did not answer.' : message} Try again in a moment.\n </p>\n <div className=\"mt-4\">\n <button type=\"button\" onClick={onTryAgain} className=\"inline-flex h-9 items-center rounded-md bg-primary px-4 text-primary-foreground hover:bg-primary-hover\">\n Try again\n </button>\n </div>\n </section>\n );\n}\n","'use client';\n\nimport { OverviewFailed } from '../../features/overview/ui/overview-failed';\n\nexport default function OverviewError({ error, reset }: { error: Error; reset: () => void }) {\n return <OverviewFailed message={error.message} onTryAgain={reset} />;\n}\n"],"names":["OverviewFailed","message","onTryAgain","role","className","type","onClick"],"mappings":"wDACO,SAASA,EAAe,SAAEC,CAAO,YAAEC,CAAU,CAA+C,EACjG,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,UAAA,CAAQC,KAAK,QAAQC,UAAU,uFAC9B,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAGA,UAAU,sCAA6B,mCAC3C,CAAA,EAAA,EAAA,IAAA,EAAC,IAAA,CAAE,cAAY,yBAAyBA,UAAU,uCACnC,KAAZH,EAAiB,8BAAgCA,EAAQ,6BAE5D,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAIG,UAAU,gBACb,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,CAAOC,KAAK,SAASC,QAASJ,EAAYE,UAAU,kHAAyG,kBAMtK,kBCXe,SAAS,AAAc,OAAE,CAAK,OAAE,CAAK,CAAuC,EACzF,MAAOD,CAAAA,EAAAA,EAAAA,GAAAA,EAAC,EAAA,CAAe,QAAS,EAAM,OAAO,CAAE,WAAY,GAC7D"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[27449,a=>{"use strict";var b=a.i(7997),c=a.i(33621),d=a.i(66680),e=a.i(66283),f=a.i(69372),g=a.i(49144),h=a.i(69912),i=a.i(65253),j=a.i(98323),k=a.i(5901);function l({party:a,fleetId:c}){return(0,b.jsxs)("div",{className:"grid gap-2",children:["awaitingCrew"===a.state?(0,b.jsxs)(f.ActionForm,{action:k.P,fleetId:c,submit:{label:"Crew",pending:"Crewing…"},className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("input",{type:"hidden",name:"name",value:a.name}),(0,b.jsx)("input",{className:g.w,name:"secret",placeholder:"secret from a new starting prompt",required:!0})]}):null,"mcpServer"===a.kind&&"crewed"===a.state?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.ActionForm,{action:k.g,fleetId:c,submit:{label:"State its tools",pending:"Stating…",kind:"secondary"},children:(0,b.jsx)("input",{type:"hidden",name:"name",value:a.name})}),(0,b.jsxs)(f.ActionForm,{action:k.p,fleetId:c,submit:{label:"Mark",pending:"Marking…",kind:"secondary"},className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("input",{type:"hidden",name:"name",value:a.name}),(0,b.jsx)("input",{className:g.w,name:"tool",placeholder:"tool",required:!0,maxLength:128}),(0,b.jsxs)("label",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{type:"checkbox",name:"isRepeatable"})," repeatable"]})]})]}):null]})}function m({fleetId:a,owners:c}){return(0,b.jsxs)("section",{className:`${g.r} grid gap-3`,children:[(0,b.jsx)("h2",{className:"text-section font-semibold",children:"Approve an MCP server"}),(0,b.jsxs)(f.ActionForm,{action:k.L,fleetId:a,submit:{label:"Approve",pending:"Approving…"},testId:"parties-approve",children:[(0,b.jsx)("input",{type:"hidden",name:"requestId",value:(0,d.randomUUID)()}),(0,b.jsxs)("label",{className:g.z,children:[(0,b.jsx)("span",{children:"Name, the proxy ship's"}),(0,b.jsx)("input",{className:g.w,name:"name",required:!0})]}),(0,b.jsxs)("label",{className:g.z,children:[(0,b.jsx)("span",{children:"Streamable HTTP URL"}),(0,b.jsx)("input",{className:g.w,name:"url",type:"url",required:!0})]}),(0,b.jsxs)("label",{className:g.z,children:[(0,b.jsx)("span",{children:"Credential"}),(0,b.jsxs)("select",{className:g.w,name:"credentialKind",children:[(0,b.jsx)("option",{value:"bearer",children:"Bearer token"}),(0,b.jsx)("option",{value:"clientCredentials",children:"OAuth client credentials"})]})]}),(0,b.jsxs)("label",{className:g.z,children:[(0,b.jsx)("span",{children:"Bearer token"}),(0,b.jsx)("input",{className:g.w,name:"token",type:"password"})]}),(0,b.jsxs)("label",{className:g.z,children:[(0,b.jsx)("span",{children:"Client id"}),(0,b.jsx)("input",{className:g.w,name:"clientId"})]}),(0,b.jsxs)("label",{className:g.z,children:[(0,b.jsx)("span",{children:"Client secret"}),(0,b.jsx)("input",{className:g.w,name:"clientSecret",type:"password"})]}),(0,b.jsxs)("label",{className:g.z,children:[(0,b.jsx)("span",{children:"Issuer"}),(0,b.jsx)("input",{className:g.w,name:"issuer",type:"url"})]}),(0,b.jsxs)("label",{className:g.z,children:[(0,b.jsx)("span",{children:"Scope"}),(0,b.jsx)("input",{className:g.w,name:"scope"})]}),(0,b.jsx)(h.f,{choices:c.isOk?c.value:[],current:null,help:"A person ship or argo. It answers for this server.",refusal:c.isOk?void 0:c.refusal}),(0,b.jsxs)("label",{className:g.z,children:[(0,b.jsx)("span",{children:"Calls at once"}),(0,b.jsx)("input",{className:g.w,name:"concurrencyLimit",type:"number",min:1,max:10,defaultValue:4})]})]})]})}async function n({page:a}){let{api:c,fleetId:d,scopes:f}=a,g=await (0,e.F)(c.parties.list.query()),h=f.includes("fleet:manage"),k=h?await (0,e.F)(c.parties.ownerChoices.query()):void 0;return(0,b.jsxs)("div",{className:"grid gap-4",children:[(0,b.jsx)("h1",{className:"text-title font-semibold",children:"Parties"}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"Outside MCP servers approved for this fleet, each behind its proxy ship."}),g.isOk?0===g.value.length?(0,b.jsx)("p",{className:"text-muted-foreground",children:"No party yet."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-left","data-testid":"parties-table",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"border-b border-border",children:[(0,b.jsx)("th",{className:"p-2",children:"Name"}),(0,b.jsx)("th",{className:"p-2",children:"URL"}),(0,b.jsx)("th",{className:"p-2",children:"Credential"}),(0,b.jsx)("th",{className:"p-2",children:"State"}),(0,b.jsx)("th",{className:"p-2",children:"Proxy ship"}),(0,b.jsx)("th",{className:"p-2"})]})}),(0,b.jsx)("tbody",{children:g.value.map(a=>{let c=i.Y[a.state];return(0,b.jsxs)("tr",{className:"border-b border-border align-top",children:[(0,b.jsx)("td",{className:"p-2",children:a.name}),(0,b.jsx)("td",{className:"p-2 font-mono",children:"mcpServer"===a.kind?a.url:a.clientId}),(0,b.jsx)("td",{className:"p-2",children:"mcpServer"===a.kind?a.credentialKind:"MCP client"}),(0,b.jsx)("td",{className:"p-2",children:(0,b.jsx)(j.T,{tone:c.tone,label:c.label})}),(0,b.jsx)("td",{className:"p-2",children:a.proxyShipName??""}),(0,b.jsx)("td",{className:"p-2",children:h?(0,b.jsx)(l,{party:a,fleetId:d}):null})]},a.name)})})]})}):(0,b.jsx)("p",{role:"alert",className:"text-tone-attention-fg",children:g.refusal}),void 0===k?null:(0,b.jsx)(m,{fleetId:d,owners:k})]})}var o=a.i(22126);async function p({searchParams:a}){let d=await (0,e._)({path:c.f,searchParams:await a});return"noSignIn"===d.kind?(0,b.jsx)(o.f,{}):(0,b.jsx)(n,{page:d})}a.s(["default",0,p,"metadata",0,{title:"Parties"}],27449)},81977,function(a){a.n(a.i(27449))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=web_app_parties_page_tsx_1lilxm339jj89._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/app/parties/page.tsx","../../../../../web/features/parties/ui/parties.tsx"],"sourcesContent":["import type { Metadata } from 'next';\n\nimport { PARTIES_PATH } from '../../features/parties/paths';\nimport { Parties } from '../../features/parties/ui/parties';\nimport { NoSignIn } from '../../features/sign-in/ui/no-sign-in';\nimport { signedInPage, type SearchParams } from '../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Parties' };\n\nexport default async function PartiesPage({ searchParams }: { searchParams: Promise<SearchParams> }) {\n const page = await signedInPage({ path: PARTIES_PATH, searchParams: await searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n return <Parties page={page} />;\n}\n","import { randomUUID } from 'node:crypto';\n\nimport { readOf, type SignedInPage } from '../../../lib/gateway-api/page-api';\nimport { ActionForm } from '../../forms/ui/action-form';\nimport { CARD, INPUT, LABEL } from '../../forms/ui/look';\nimport { OwnerField, type OwnerChoices } from '../../forms/ui/owner-field';\nimport { PARTY_STATES, type ListedParty } from '../../outside-parties/party-kinds';\nimport { StatusBadge } from '../../outside-parties/ui/status-badge';\nimport { approveParty, crewParty, markTool, stateParty } from '../actions';\n\n/** The scope that approves, crews and states parties (0056). */\nconst MANAGING_SCOPE = 'fleet:manage';\n\nfunction PartyForms({ party, fleetId }: { party: ListedParty; fleetId: string }) {\n return (\n <div className=\"grid gap-2\">\n {party.state === 'awaitingCrew' ? (\n <ActionForm action={crewParty} fleetId={fleetId} submit={{ label: 'Crew', pending: 'Crewing…' }} className=\"flex flex-wrap items-center gap-2\">\n <input type=\"hidden\" name=\"name\" value={party.name} />\n <input className={INPUT} name=\"secret\" placeholder=\"secret from a new starting prompt\" required />\n </ActionForm>\n ) : null}\n {party.kind === 'mcpServer' && party.state === 'crewed' ? (\n <>\n <ActionForm action={stateParty} fleetId={fleetId} submit={{ label: 'State its tools', pending: 'Stating…', kind: 'secondary' }}>\n <input type=\"hidden\" name=\"name\" value={party.name} />\n </ActionForm>\n <ActionForm action={markTool} fleetId={fleetId} submit={{ label: 'Mark', pending: 'Marking…', kind: 'secondary' }} className=\"flex flex-wrap items-center gap-2\">\n <input type=\"hidden\" name=\"name\" value={party.name} />\n <input className={INPUT} name=\"tool\" placeholder=\"tool\" required maxLength={128} />\n <label className=\"flex items-center gap-1\">\n <input type=\"checkbox\" name=\"isRepeatable\" /> repeatable\n </label>\n </ActionForm>\n </>\n ) : null}\n </div>\n );\n}\n\nfunction ApproveForm({ fleetId, owners }: { fleetId: string; owners: OwnerChoices }) {\n return (\n <section className={`${CARD} grid gap-3`}>\n <h2 className=\"text-section font-semibold\">Approve an MCP server</h2>\n <ActionForm action={approveParty} fleetId={fleetId} submit={{ label: 'Approve', pending: 'Approving…' }} testId=\"parties-approve\">\n <input type=\"hidden\" name=\"requestId\" value={randomUUID()} />\n <label className={LABEL}>\n <span>Name, the proxy ship's</span>\n <input className={INPUT} name=\"name\" required />\n </label>\n <label className={LABEL}>\n <span>Streamable HTTP URL</span>\n <input className={INPUT} name=\"url\" type=\"url\" required />\n </label>\n <label className={LABEL}>\n <span>Credential</span>\n <select className={INPUT} name=\"credentialKind\">\n <option value=\"bearer\">Bearer token</option>\n <option value=\"clientCredentials\">OAuth client credentials</option>\n </select>\n </label>\n <label className={LABEL}>\n <span>Bearer token</span>\n <input className={INPUT} name=\"token\" type=\"password\" />\n </label>\n <label className={LABEL}>\n <span>Client id</span>\n <input className={INPUT} name=\"clientId\" />\n </label>\n <label className={LABEL}>\n <span>Client secret</span>\n <input className={INPUT} name=\"clientSecret\" type=\"password\" />\n </label>\n <label className={LABEL}>\n <span>Issuer</span>\n <input className={INPUT} name=\"issuer\" type=\"url\" />\n </label>\n <label className={LABEL}>\n <span>Scope</span>\n <input className={INPUT} name=\"scope\" />\n </label>\n <OwnerField choices={owners.isOk ? owners.value : []} current={null} help=\"A person ship or argo. It answers for this server.\" refusal={owners.isOk ? undefined : owners.refusal} />\n <label className={LABEL}>\n <span>Calls at once</span>\n <input className={INPUT} name=\"concurrencyLimit\" type=\"number\" min={1} max={10} defaultValue={4} />\n </label>\n </ActionForm>\n </section>\n );\n}\n\n/**\n * The Parties page (header design H5: argo's page, now for accounts by\n * scope): the fleet's outside MCP servers, each behind its proxy ship, and\n * for an account holding fleet:manage the forms that approve, crew, state\n * and mark them.\n */\nexport async function Parties({ page }: { page: SignedInPage }) {\n const { api, fleetId, scopes } = page;\n const parties = await readOf(api.parties.list.query());\n const canManage = scopes.includes(MANAGING_SCOPE);\n const owners = canManage ? await readOf(api.parties.ownerChoices.query()) : undefined;\n return (\n <div className=\"grid gap-4\">\n <h1 className=\"text-title font-semibold\">Parties</h1>\n <p className=\"text-muted-foreground\">Outside MCP servers approved for this fleet, each behind its proxy ship.</p>\n {!parties.isOk ? (\n <p role=\"alert\" className=\"text-tone-attention-fg\">\n {parties.refusal}\n </p>\n ) : parties.value.length === 0 ? (\n <p className=\"text-muted-foreground\">No party yet.</p>\n ) : (\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-left\" data-testid=\"parties-table\">\n <thead>\n <tr className=\"border-b border-border\">\n <th className=\"p-2\">Name</th>\n <th className=\"p-2\">URL</th>\n <th className=\"p-2\">Credential</th>\n <th className=\"p-2\">State</th>\n <th className=\"p-2\">Proxy ship</th>\n <th className=\"p-2\" />\n </tr>\n </thead>\n <tbody>\n {parties.value.map((party) => {\n const state = PARTY_STATES[party.state];\n return (\n <tr key={party.name} className=\"border-b border-border align-top\">\n <td className=\"p-2\">{party.name}</td>\n <td className=\"p-2 font-mono\">{party.kind === 'mcpServer' ? party.url : party.clientId}</td>\n <td className=\"p-2\">{party.kind === 'mcpServer' ? party.credentialKind : 'MCP client'}</td>\n <td className=\"p-2\">\n <StatusBadge tone={state.tone} label={state.label} />\n </td>\n <td className=\"p-2\">{party.proxyShipName ?? ''}</td>\n <td className=\"p-2\">{canManage ? <PartyForms party={party} fleetId={fleetId} /> : null}</td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n )}\n {owners === undefined ? null : <ApproveForm fleetId={fleetId} owners={owners} />}\n </div>\n );\n}\n"],"names":["MANAGING_SCOPE","PartyForms","party","fleetId","className","state","action","submit","label","pending","type","name","value","placeholder","required","kind","maxLength","ApproveForm","owners","testId","choices","isOk","current","help","refusal","undefined","min","max","defaultValue","Parties","page","api","scopes","parties","list","query","canManage","includes","ownerChoices","role","length","map","url","clientId","credentialKind","tone","proxyShipName"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[38203,a=>{a.s(["r",0,"holder","e",0,"/authorize/waiting","U",0,function(a,b){let c=Math.max(0,Math.floor((a.getTime()-b.getTime())/36e5));return`${String(Math.floor(c/24))} d ${String(c%24)} h`}])},819,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(88412),e=a.i(38203);a.s(["PickHolder",0,function({fields:a}){let[f,g]=(0,c.useState)(void 0),h=(0,c.useRef)(!1),i=a=>()=>{h.current||g(a)};return(0,b.jsxs)("form",{method:"get",action:"/authorize/sign-in",onSubmit:a=>{h.current?a.preventDefault():h.current=!0},className:"grid gap-3 sm:grid-cols-2",children:[a.map(([a,c])=>(0,b.jsx)("input",{type:"hidden",name:a,value:c},a)),(0,b.jsxs)("button",{type:"submit",name:e.r,value:"account",onClick:i("account"),"aria-busy":"account"===f,"data-testid":"authorize-pick-account",className:`${d.r} grid gap-1 text-left hover:bg-accent`,children:[(0,b.jsx)("strong",{children:"account"===f?"Signing in...":"Sign in as yourself"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"The client acts as you."})]}),(0,b.jsxs)("button",{type:"submit",name:e.r,value:"party",onClick:i("party"),"aria-busy":"party"===f,"data-testid":"authorize-pick-party",className:`${d.r} grid gap-1 text-left hover:bg-accent`,children:[(0,b.jsx)("strong",{children:"party"===f?"Signing in...":"Ask for access for this client"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"An approver of your fleet decides; the client then acts as its own party."})]})]})}])},88412,a=>{let b="inline-flex h-9 items-center justify-center gap-2 rounded-md px-4 font-medium disabled:opacity-60",c={primary:`${b} bg-primary text-primary-foreground hover:bg-primary-hover`,secondary:`${b} border border-border bg-card hover:bg-accent`,destructive:`${b} bg-destructive text-destructive-foreground`};a.s(["x",0,c,"r",0,"rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm","w",0,"h-9 w-full rounded-md border border-input bg-background px-3 font-mono text-code","z",0,"grid gap-1"])}]})();
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=web_features_0vq1wjkuh6dmr._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/features/authorize/services/authorize.ts","../../../../../web/features/authorize/ui/pick-holder.tsx","../../../../../web/features/forms/ui/look.ts"],"sourcesContent":["/**\n * What the authorize pages work out: the time a request waiting for\n * approval has left, why a browser got nowhere connecting an MCP client,\n * and the authorization request the pick page carries on to the sign-in.\n */\nimport type { SearchParams } from '../../../lib/gateway-api/page-api';\n\nconst MS_PER_HOUR = 3_600_000;\nconst HOURS_PER_DAY = 24;\n\n/** The time a request has left, in days and hours, as the waiting page's ring shows it. */\nexport function timeLeft(expiresAt: Date, now: Date): string {\n const hours = Math.max(0, Math.floor((expiresAt.getTime() - now.getTime()) / MS_PER_HOUR));\n return `${String(Math.floor(hours / HOURS_PER_DAY))} d ${String(hours % HOURS_PER_DAY)} h`;\n}\n\nconst START_AGAIN = 'Start again from your MCP client.';\n\n/** Why a browser got nowhere, as the gateway's authorize doors name it (src/adapters/http/oauth-routes.ts). */\nconst REASONS: Record<string, string> = {\n invalidClient: `The gateway does not know this MCP client, or the address it asks to be sent back to. ${START_AGAIN}`,\n noPick: 'Pick on the page whether to sign in as yourself or to ask for access for the client.',\n unknownSignIn: `This sign-in is unknown, or took over 10 minutes. ${START_AGAIN}`,\n otherBrowser: `This sign-in was started in another browser, so it is not yours to finish. ${START_AGAIN}`,\n fleetNotServed: 'This gateway does not serve the fleet you signed in to.',\n outsidePartiesOff: \"Your fleet's outside parties are off, so no MCP client can ask for access. Sign in as yourself instead, or ask whoever runs your fleet.\",\n pagasaeRefused: `The sign-in service did not sign you in. ${START_AGAIN}`,\n unknownWaiting: `This request is unknown, or ended long ago. ${START_AGAIN}`,\n otherBrowserWaiting: `This request was made in another browser, so it is not yours to follow. ${START_AGAIN}`,\n noSignIn: 'This gateway signs no one in, so no MCP client can connect to it: its operator sets pagasae first.',\n};\n\nconst UNKNOWN_REASON = `The connection did not go through. ${START_AGAIN}`;\n\nexport function failedReasonText(reason: string | undefined): string {\n return (reason === undefined ? undefined : REASONS[reason]) ?? UNKNOWN_REASON;\n}\n\n/** The gateway's waiting address, which sends the browser on once its request no longer waits. */\nexport const WAITING_DOOR = '/authorize/waiting';\n\n/** The pick the page adds to the request, as the sign-in door reads it. */\nexport const HOLDER_FIELD = 'holder';\n\n/** The request's parameters the browser sent once each, without a pick: the page adds its own. */\nexport function pickFieldsOf(searchParams: SearchParams): [string, string][] {\n return Object.entries(searchParams).flatMap(([name, value]) => (typeof value === 'string' && name !== HOLDER_FIELD ? [[name, value]] : []));\n}\n","'use client';\n\nimport { useRef, useState, type SyntheticEvent } from 'react';\n\nimport { CARD } from '../../forms/ui/look';\nimport { HOLDER_FIELD } from '../services/authorize';\n\ntype Holder = 'account' | 'party';\n\n/** The sign-in door that starts the sign-in through pagasae for the pick. */\nconst SIGN_IN_DOOR = '/authorize/sign-in';\n\n/**\n * The two picks (Q1 a), each starting a sign-in through pagasae. The\n * button pressed says the sign-in is on its way at once; a second press\n * meanwhile sends nothing. The buttons stay enabled, so the browser still\n * sends the pick.\n */\nexport function PickHolder({ fields }: { fields: readonly [string, string][] }) {\n const [picked, setPicked] = useState<Holder | undefined>(undefined);\n const isSent = useRef(false);\n const onSubmit = (event: SyntheticEvent<HTMLFormElement>) => {\n if (isSent.current) {\n event.preventDefault();\n return;\n }\n isSent.current = true;\n };\n const pick = (holder: Holder) => () => {\n if (!isSent.current) {\n setPicked(holder);\n }\n };\n return (\n <form method=\"get\" action={SIGN_IN_DOOR} onSubmit={onSubmit} className=\"grid gap-3 sm:grid-cols-2\">\n {fields.map(([name, value]) => (\n <input key={name} type=\"hidden\" name={name} value={value} />\n ))}\n <button type=\"submit\" name={HOLDER_FIELD} value=\"account\" onClick={pick('account')} aria-busy={picked === 'account'} data-testid=\"authorize-pick-account\" className={`${CARD} grid gap-1 text-left hover:bg-accent`}>\n <strong>{picked === 'account' ? 'Signing in...' : 'Sign in as yourself'}</strong>\n <span className=\"text-muted-foreground\">The client acts as you.</span>\n </button>\n <button type=\"submit\" name={HOLDER_FIELD} value=\"party\" onClick={pick('party')} aria-busy={picked === 'party'} data-testid=\"authorize-pick-party\" className={`${CARD} grid gap-1 text-left hover:bg-accent`}>\n <strong>{picked === 'party' ? 'Signing in...' : 'Ask for access for this client'}</strong>\n <span className=\"text-muted-foreground\">An approver of your fleet decides; the client then acts as its own party.</span>\n </button>\n </form>\n );\n}\n","/** The classes the pages share, on the design tokens: a card and the button kinds. */\nexport const CARD = 'rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm';\n\nconst BUTTON = 'inline-flex h-9 items-center justify-center gap-2 rounded-md px-4 font-medium disabled:opacity-60';\n\nexport const BUTTONS = {\n primary: `${BUTTON} bg-primary text-primary-foreground hover:bg-primary-hover`,\n secondary: `${BUTTON} border border-border bg-card hover:bg-accent`,\n destructive: `${BUTTON} bg-destructive text-destructive-foreground`,\n} as const;\n\nexport type ButtonKind = keyof typeof BUTTONS;\n\nexport const INPUT = 'h-9 w-full rounded-md border border-input bg-background px-3 font-mono text-code';\n\nexport const LABEL = 'grid gap-1';\n"],"names":["MS_PER_HOUR","HOURS_PER_DAY","timeLeft","expiresAt","now","hours","Math","max","floor","getTime","String","START_AGAIN","REASONS","invalidClient","noPick","unknownSignIn","otherBrowser","fleetNotServed","outsidePartiesOff","pagasaeRefused","unknownWaiting","otherBrowserWaiting","noSignIn","UNKNOWN_REASON","failedReasonText","reason","undefined","WAITING_DOOR","HOLDER_FIELD","pickFieldsOf","searchParams","Object","entries","flatMap","name","value","SIGN_IN_DOOR","PickHolder","fields","picked","setPicked","isSent","onSubmit","event","current","preventDefault","pick","holder","method","action","className","map","type","onClick","CARD","BUTTON","BUTTONS","primary","secondary","destructive","INPUT","LABEL"],"mappings":"wDA0C4B,eAHA,2BA5BrB,SAAkBG,AAATD,CAAwB,CAAEE,CAAS,EACjD,IAAMC,EAAQC,KAAKC,GAAG,CAAC,EAAGD,KAAKE,KAAK,CAAC,AAACL,GAAUM,OAAO,GAAKL,EAAIK,OAAO,EAAA,CAAE,CALvD,GAK2DT,IAC7E,MAAO,CAAA,EAAGU,OAAOJ,KAAKE,KAAK,CAACH,OAAwB,CAAhBJ,EAAmB,EAAES,OAAOL,EAL5C,IAKmE,EAAfJ,AAAiB,CAC3F,AAD4F,8BCX5F,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,2BAaO,SAASoC,AAAW,QAAEC,CAAM,CAA2C,EAC5E,GAAM,CAACC,EAAQC,EAAU,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,OAAqBd,GACnDe,EAAS,CAAA,EAAA,EAAA,MAAA,AAAM,EAAC,IAQhBK,EAAO,AAACC,GAAmB,KAC3B,AAACN,EAAOG,OAAO,EAAE,AACnBJ,EAAUO,EAEd,EACA,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAKC,OAAO,MAAMC,OAxBF,CAwBUb,oBAAcM,SAb1B,AAACC,CAamCD,GAZnD,AAAID,EAAOG,OAAO,CAChBD,CADkB,CACZE,cAAc,GAGtBJ,EAAOG,OAAO,EAAG,CACnB,EAO+DM,UAAU,sCACpEZ,EAAOa,GAAG,CAAC,CAAC,CAACjB,EAAMC,EAAM,GACxB,CAAA,EAAA,EAAA,GAAA,EAAC,QAAA,CAAiBiB,KAAK,SAASlB,KAAMA,EAAMC,MAAOA,GAAvCD,IAEd,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAAOkB,KAAK,SAASlB,KAAM,EAAA,CAAY,CAAEC,MAAM,UAAUkB,QAASP,EAAK,WAAY,YAAsB,YAAXP,EAAsB,cAAY,yBAAyBW,UAAW,CAAA,EAAG,EAAA,CAAI,CAAC,qCAAqC,CAAC,WACjN,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,UAAmB,YAAXX,EAAuB,gBAAkB,wBAClD,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAKW,UAAU,iCAAwB,+BAE1C,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAAOE,KAAK,SAASlB,KAAM,EAAA,CAAY,CAAEC,MAAM,QAAQkB,QAASP,EAAK,SAAU,YAAsB,UAAXP,EAAoB,cAAY,uBAAuBW,UAAW,CAAA,EAAG,EAAA,CAAI,CAAC,qCAAqC,CAAC,WACzM,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,UAAmB,UAAXX,EAAqB,gBAAkB,mCAChD,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAKW,UAAU,iCAAwB,mFAIhD,eC7CA,IAAMK,EAAS,oGAEFC,EAAU,CACrBC,QAAS,CAAA,EAAGF,EAAO,0DAA0D,CAAC,CAC9EG,UAAW,CAAA,EAAGH,EAAO,6CAA6C,CAAC,CACnEI,YAAa,CAAA,EAAGJ,EAAO,2CAA2C,CAAC,AACrE,qBARoB,mFAYC,yFAEA"}
|