@aeolus-fleet/gateway 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -9
- package/dist/adapters/fleet/core-version.d.ts +1 -1
- package/dist/adapters/fleet/core-version.js +1 -1
- package/dist/adapters/fleet/rest-fleet-door.js +51 -7
- package/dist/adapters/fleet/rest-fleet-door.js.map +1 -1
- package/dist/adapters/http/front-door.d.ts +1 -1
- package/dist/adapters/http/front-door.js +5 -3
- package/dist/adapters/http/front-door.js.map +1 -1
- package/dist/adapters/http/person-tools.js +27 -9
- package/dist/adapters/http/person-tools.js.map +1 -1
- package/dist/adapters/http/slack-routes.d.ts +2 -0
- package/dist/adapters/http/slack-routes.js +11 -10
- package/dist/adapters/http/slack-routes.js.map +1 -1
- package/dist/adapters/pagasae/email-channel.d.ts +1 -2
- package/dist/adapters/pagasae/email-channel.js +3 -3
- package/dist/adapters/pagasae/email-channel.js.map +1 -1
- package/dist/adapters/prisma/basket-entries.d.ts +4 -0
- package/dist/adapters/prisma/basket-entries.js +53 -0
- package/dist/adapters/prisma/basket-entries.js.map +1 -0
- package/dist/adapters/prisma/fleet-forgetter.d.ts +1 -1
- package/dist/adapters/prisma/fleet-forgetter.js +2 -2
- package/dist/adapters/prisma/fleet-forgetter.js.map +1 -1
- package/dist/adapters/prisma/generated/browser.d.ts +15 -4
- package/dist/adapters/prisma/generated/client.d.ts +15 -4
- package/dist/adapters/prisma/generated/internal/class.d.ts +26 -4
- package/dist/adapters/prisma/generated/internal/class.js +4 -4
- package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +228 -43
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js +42 -9
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +42 -7
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +42 -9
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/adapters/prisma/generated/models/BasketEntry.d.ts +1303 -0
- package/dist/adapters/prisma/generated/models/BasketEntry.js +2 -0
- package/dist/adapters/prisma/generated/models/BasketEntry.js.map +1 -0
- package/dist/adapters/prisma/generated/models/ItemOutcome.d.ts +1106 -0
- package/dist/adapters/prisma/generated/models/ItemOutcome.js +2 -0
- package/dist/adapters/prisma/generated/models/ItemOutcome.js.map +1 -0
- package/dist/adapters/prisma/generated/models/OpenedDelivery.d.ts +125 -1
- package/dist/adapters/prisma/generated/models/PartySignInNotice.d.ts +32 -1
- package/dist/adapters/prisma/generated/models/Route.d.ts +1038 -0
- package/dist/adapters/prisma/generated/models/Route.js +2 -0
- package/dist/adapters/prisma/generated/models/Route.js.map +1 -0
- package/dist/adapters/prisma/generated/models/SlackLink.d.ts +1 -32
- package/dist/adapters/prisma/generated/models/SlackPost.d.ts +33 -58
- package/dist/adapters/prisma/generated/models.d.ts +3 -1
- package/dist/adapters/prisma/item-outcomes.d.ts +4 -0
- package/dist/adapters/prisma/item-outcomes.js +28 -0
- package/dist/adapters/prisma/item-outcomes.js.map +1 -0
- package/dist/adapters/prisma/opened-deliveries.js +4 -0
- package/dist/adapters/prisma/opened-deliveries.js.map +1 -1
- package/dist/adapters/prisma/routes.d.ts +4 -0
- package/dist/adapters/prisma/routes.js +19 -0
- package/dist/adapters/prisma/routes.js.map +1 -0
- package/dist/adapters/prisma/sign-in-notices.js +11 -5
- package/dist/adapters/prisma/sign-in-notices.js.map +1 -1
- package/dist/adapters/prisma/slack-links.js +0 -4
- package/dist/adapters/prisma/slack-links.js.map +1 -1
- package/dist/adapters/prisma/slack-posts.js +37 -3
- package/dist/adapters/prisma/slack-posts.js.map +1 -1
- package/dist/adapters/slack/slack-messages.d.ts +2 -0
- package/dist/adapters/slack/slack-messages.js +29 -3
- package/dist/adapters/slack/slack-messages.js.map +1 -1
- package/dist/adapters/trpc/router.d.ts +88 -20
- package/dist/adapters/trpc/router.js +47 -18
- package/dist/adapters/trpc/router.js.map +1 -1
- package/dist/adapters/web-push/web-push.js +1 -1
- package/dist/adapters/web-push/web-push.js.map +1 -1
- package/dist/app.d.ts +7 -0
- package/dist/app.js +88 -22
- package/dist/app.js.map +1 -1
- package/dist/bin/aeolus-gateway.js +1 -0
- package/dist/bin/aeolus-gateway.js.map +1 -1
- package/dist/config.d.ts +8 -1
- package/dist/config.js +21 -0
- package/dist/config.js.map +1 -1
- package/dist/core/account-sign-in/start-account-sign-in.d.ts +1 -1
- package/dist/core/account-sign-in/start-account-sign-in.js +1 -1
- package/dist/core/account-sign-in/start-account-sign-in.js.map +1 -1
- package/dist/core/mcp-in/collect-replies.d.ts +2 -0
- package/dist/core/mcp-in/collect-replies.js +11 -3
- package/dist/core/mcp-in/collect-replies.js.map +1 -1
- package/dist/core/mcp-in/ports.d.ts +2 -1
- package/dist/core/mcp-out/run-party.d.ts +3 -1
- package/dist/core/mcp-out/run-party.js +9 -2
- package/dist/core/mcp-out/run-party.js.map +1 -1
- package/dist/core/party-grants/complete-party-sign-in.d.ts +5 -3
- package/dist/core/party-grants/complete-party-sign-in.js +7 -3
- package/dist/core/party-grants/complete-party-sign-in.js.map +1 -1
- package/dist/core/party-grants/ports.d.ts +17 -3
- package/dist/core/party-grants/tell-sign-in-needed.d.ts +9 -6
- package/dist/core/party-grants/tell-sign-in-needed.js +28 -12
- package/dist/core/party-grants/tell-sign-in-needed.js.map +1 -1
- package/dist/core/people/answer-delivery.d.ts +9 -13
- package/dist/core/people/answer-delivery.js +23 -6
- package/dist/core/people/answer-delivery.js.map +1 -1
- package/dist/core/people/basket.d.ts +104 -0
- package/dist/core/people/basket.js +42 -0
- package/dist/core/people/basket.js.map +1 -0
- package/dist/core/people/count-basket.d.ts +16 -0
- package/dist/core/people/count-basket.js +14 -0
- package/dist/core/people/count-basket.js.map +1 -0
- package/dist/core/people/done-delivery.d.ts +21 -13
- package/dist/core/people/done-delivery.js +34 -4
- package/dist/core/people/done-delivery.js.map +1 -1
- package/dist/core/people/finish-own-step.d.ts +27 -0
- package/dist/core/people/finish-own-step.js +67 -0
- package/dist/core/people/finish-own-step.js.map +1 -0
- package/dist/core/people/inbox-entry.js +1 -1
- package/dist/core/people/inbox-entry.js.map +1 -1
- package/dist/core/people/item-job.d.ts +9 -0
- package/dist/core/people/item-job.js +38 -0
- package/dist/core/people/item-job.js.map +1 -0
- package/dist/core/people/item-outcome.d.ts +37 -0
- package/dist/core/people/item-outcome.js +21 -0
- package/dist/core/people/item-outcome.js.map +1 -0
- package/dist/core/people/item-state.d.ts +10 -0
- package/dist/core/people/item-state.js +17 -0
- package/dist/core/people/item-state.js.map +1 -0
- package/dist/core/people/open-delivery.d.ts +29 -14
- package/dist/core/people/open-delivery.js +108 -19
- package/dist/core/people/open-delivery.js.map +1 -1
- package/dist/core/people/opened-of.d.ts +30 -9
- package/dist/core/people/opened-of.js +25 -4
- package/dist/core/people/opened-of.js.map +1 -1
- package/dist/core/people/person-crew.d.ts +5 -1
- package/dist/core/people/person-crew.js +7 -0
- package/dist/core/people/person-crew.js.map +1 -1
- package/dist/core/people/ports.d.ts +42 -19
- package/dist/core/people/put-in-basket.d.ts +39 -0
- package/dist/core/people/put-in-basket.js +57 -0
- package/dist/core/people/put-in-basket.js.map +1 -0
- package/dist/core/people/read-basket.d.ts +54 -0
- package/dist/core/people/read-basket.js +57 -0
- package/dist/core/people/read-basket.js.map +1 -0
- package/dist/core/people/read-bridge-home.d.ts +47 -0
- package/dist/core/people/read-bridge-home.js +53 -0
- package/dist/core/people/read-bridge-home.js.map +1 -0
- package/dist/core/people/read-inbox.d.ts +11 -6
- package/dist/core/people/read-inbox.js +17 -10
- package/dist/core/people/read-inbox.js.map +1 -1
- package/dist/core/people/read-record.d.ts +48 -0
- package/dist/core/people/read-record.js +44 -0
- package/dist/core/people/read-record.js.map +1 -0
- package/dist/core/people/read-routing.d.ts +26 -0
- package/dist/core/people/read-routing.js +22 -0
- package/dist/core/people/read-routing.js.map +1 -0
- package/dist/core/people/read-wake-channels.d.ts +7 -8
- package/dist/core/people/read-wake-channels.js +4 -4
- package/dist/core/people/read-wake-channels.js.map +1 -1
- package/dist/core/people/remove-from-basket.d.ts +20 -0
- package/dist/core/people/remove-from-basket.js +52 -0
- package/dist/core/people/remove-from-basket.js.map +1 -0
- package/dist/core/people/routing.d.ts +50 -0
- package/dist/core/people/routing.js +35 -0
- package/dist/core/people/routing.js.map +1 -0
- package/dist/core/people/send-basket.d.ts +40 -0
- package/dist/core/people/send-basket.js +60 -0
- package/dist/core/people/send-basket.js.map +1 -0
- package/dist/core/people/send-stored-answers.d.ts +33 -0
- package/dist/core/people/send-stored-answers.js +96 -0
- package/dist/core/people/send-stored-answers.js.map +1 -0
- package/dist/core/people/stale-question.d.ts +28 -0
- package/dist/core/people/stale-question.js +26 -0
- package/dist/core/people/stale-question.js.map +1 -0
- package/dist/core/people/step-outcome.d.ts +18 -0
- package/dist/core/people/step-outcome.js +18 -0
- package/dist/core/people/step-outcome.js.map +1 -0
- package/dist/core/people/turn-route.d.ts +34 -0
- package/dist/core/people/turn-route.js +42 -0
- package/dist/core/people/turn-route.js.map +1 -0
- package/dist/core/people/wake-person.d.ts +15 -7
- package/dist/core/people/wake-person.js +54 -28
- package/dist/core/people/wake-person.js.map +1 -1
- package/dist/core/people/web-push-channel.d.ts +2 -2
- package/dist/core/people/web-push-channel.js +3 -3
- package/dist/core/people/web-push-channel.js.map +1 -1
- package/dist/core/requests/ask-owners.d.ts +1 -1
- package/dist/core/requests/ask-owners.js +4 -4
- package/dist/core/requests/ask-owners.js.map +1 -1
- package/dist/core/requests/list-mine.d.ts +1 -1
- package/dist/core/requests/list-mine.js +1 -1
- package/dist/core/requests/list-to-decide.d.ts +1 -1
- package/dist/core/requests/list-to-decide.js +1 -1
- package/dist/core/requests/list-to-decide.js.map +1 -1
- package/dist/core/shared/errors.d.ts +1 -1
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/slack/answer-in-slack.d.ts +18 -15
- package/dist/core/slack/answer-in-slack.js +39 -20
- package/dist/core/slack/answer-in-slack.js.map +1 -1
- package/dist/core/slack/complete-link.js +3 -3
- package/dist/core/slack/complete-link.js.map +1 -1
- package/dist/core/slack/edit-slack-posts.d.ts +23 -0
- package/dist/core/slack/edit-slack-posts.js +49 -0
- package/dist/core/slack/edit-slack-posts.js.map +1 -0
- package/dist/core/slack/ports.d.ts +28 -9
- package/dist/core/slack/read-slack-link.d.ts +2 -3
- package/dist/core/slack/read-slack-link.js +2 -2
- package/dist/core/slack/read-slack-link.js.map +1 -1
- package/dist/core/slack/see-in-slack.d.ts +34 -0
- package/dist/core/slack/see-in-slack.js +48 -0
- package/dist/core/slack/see-in-slack.js.map +1 -0
- package/dist/core/slack/send-slack-events.js +1 -1
- package/dist/core/slack/send-slack-events.js.map +1 -1
- package/dist/core/slack/show-in-slack.d.ts +20 -15
- package/dist/core/slack/show-in-slack.js +36 -45
- package/dist/core/slack/show-in-slack.js.map +1 -1
- package/dist/core/slack/slack-link.d.ts +0 -2
- package/dist/core/slack/slack-post-of.d.ts +9 -9
- package/dist/core/slack/slack-post-of.js +12 -3
- package/dist/core/slack/slack-post-of.js.map +1 -1
- package/dist/core/slack/slack-post.d.ts +13 -7
- package/dist/core/slack/slack-post.js +2 -2
- package/dist/core/slack/slack-post.js.map +1 -1
- package/dist/core/slack/slack-press.d.ts +45 -0
- package/dist/core/slack/slack-press.js +26 -0
- package/dist/core/slack/slack-press.js.map +1 -0
- package/dist/core/slack/start-link.d.ts +1 -1
- package/dist/core/slack/start-link.js +1 -1
- package/dist/core/slack/unlink-slack.d.ts +1 -1
- package/dist/core/slack/unlink-slack.js +1 -1
- package/dist/core/slack/unlink-slack.js.map +1 -1
- package/dist/round-worker.d.ts +23 -0
- package/dist/round-worker.js +38 -0
- package/dist/round-worker.js.map +1 -0
- package/package.json +3 -3
- package/src/adapters/prisma/migrations/20261101090000_item_outcomes/migration.sql +12 -0
- package/src/adapters/prisma/migrations/20261101091000_opened_deliveries_content_type/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261101120000_opened_deliveries_questions/migration.sql +3 -0
- package/src/adapters/prisma/migrations/20261101150000_basket_entries/migration.sql +25 -0
- package/src/adapters/prisma/migrations/20261101180000_opened_deliveries_steps/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261101181000_party_sign_in_notices_steps/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261102090000_routes/migration.sql +11 -0
- package/src/adapters/prisma/migrations/20261102091000_slack_posts_unacknowledged/migration.sql +3 -0
- package/src/adapters/prisma/migrations/20261102092000_slack_links_routed/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261102093000_email_channels_routed/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261103090000_slack_posts_edited/migration.sql +5 -0
- package/src/adapters/prisma/schema.prisma +71 -15
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +8 -4
- package/web/.next/build-manifest.json +127 -79
- package/web/.next/diagnostics/route-bundle-stats.json +215 -143
- package/web/.next/fallback-build-manifest.json +3 -3
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/routes-manifest.json +50 -26
- package/web/.next/server/app/(console)/bridge/basket/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/basket}/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/basket}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/(console)/bridge/basket/page/server-reference-manifest.json +75 -0
- package/web/.next/server/app/(console)/bridge/basket/page.js +25 -0
- package/web/.next/server/app/(console)/bridge/basket/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/bridge/basket/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/changes/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/changes/route.js +8 -0
- package/web/.next/server/app/(console)/{overview/focus → bridge/changes}/route.js.nft.json +1 -1
- package/web/.next/server/app/(console)/{overview/focus → bridge/changes}/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/bridge/done/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/done/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/bridge/done/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/bridge/done/page/server-reference-manifest.json +75 -0
- package/web/.next/server/app/(console)/bridge/done/page.js +25 -0
- package/web/.next/server/app/(console)/bridge/done/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/bridge/done/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/focus/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/focus/route.js +8 -0
- package/web/.next/server/app/(console)/{overview/changes → bridge/focus}/route.js.nft.json +1 -1
- package/web/.next/server/app/(console)/bridge/focus/route_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/{overview → bridge}/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/{overview → bridge}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/(console)/bridge/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/bridge/page/server-reference-manifest.json +65 -0
- package/web/.next/server/app/(console)/{overview → bridge}/page.js +11 -11
- package/web/.next/server/app/(console)/bridge/page.js.map +5 -0
- package/web/.next/server/app/(console)/{overview → bridge}/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/bridge/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/settings/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/settings/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/bridge/settings/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/bridge/settings/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/bridge/settings/page/server-reference-manifest.json +15 -0
- package/web/.next/server/app/(console)/bridge/settings/page.js +23 -0
- package/web/.next/server/app/(console)/bridge/settings/page.js.map +5 -0
- package/web/.next/server/app/(console)/bridge/settings/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/bridge/settings/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/server-reference-manifest.json +25 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page.js +25 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page.js.map +5 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/settings/routing/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/settings/routing/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/bridge/settings/routing/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/bridge/settings/routing/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/bridge/settings/routing/page/server-reference-manifest.json +55 -0
- package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/settings/routing}/page.js +12 -12
- package/web/.next/server/app/(console)/bridge/settings/routing/page.js.map +5 -0
- package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/settings/routing}/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/bridge/settings/routing/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/gateway-off/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/gateway-off/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/(console)/gateway-off/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/gateway-off/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/(console)/meetings/[meetingId]/page.js +1 -1
- package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/meetings/[meetingId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/(console)/outside-parties/[name]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/add/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/outside-parties/add/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/parties/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/parties/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/sign-in/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/disconnect/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/disconnect/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/disconnect/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/disconnect/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/expose/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/expose/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/expose/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/expose/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/link/route.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/remove/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/remove/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/remove/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/remove/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- 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/build-manifest.json +4 -4
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- 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/build-manifest.json +4 -4
- package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/failed/page.js +1 -1
- 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/build-manifest.json +4 -4
- package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/pick/page.js +1 -1
- 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/build-manifest.json +4 -4
- 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 +1 -1
- 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 +8 -4
- package/web/.next/server/chunks/0b9d__next-internal_server_app_(console)_bridge_changes_route_actions_0hj8aqohz6bu6.js +3 -0
- package/web/.next/server/chunks/{[root-of-the-server]__1tfyrijwfgqlk._.js → [root-of-the-server]__13mh3krxil59c._.js} +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__13mh3krxil59c._.js.map +1 -0
- package/web/.next/server/chunks/_05qgg3__4kdbm._.js +3 -0
- package/web/.next/server/chunks/_05qgg3__4kdbm._.js.map +1 -0
- package/web/.next/server/chunks/_0_um96p6psnqx._.js +4 -4
- package/web/.next/server/chunks/_0_um96p6psnqx._.js.map +1 -1
- package/web/.next/server/chunks/_1uap5tql2vvsb._.js +3 -0
- package/web/.next/server/chunks/{_04is-uopj3op9._.js.map → _1uap5tql2vvsb._.js.map} +1 -1
- package/web/.next/server/chunks/_1xf83h9norhws._.js +4 -4
- package/web/.next/server/chunks/_1xf83h9norhws._.js.map +1 -1
- package/web/.next/server/chunks/_20ne4s-e_jzxp._.js +1 -1
- package/web/.next/server/chunks/_20ne4s-e_jzxp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/01fr_app_(console)_bridge_settings_requests_[requestId]_page_actions_1au-p5lgnv5e-.js +3 -0
- package/web/.next/server/chunks/ssr/01fr_app_(console)_bridge_settings_requests_[requestId]_page_actions_1au-p5lgnv5e-.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_bridge_settings_routing_page_actions_136lm_jip4d_x.js +3 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_bridge_settings_routing_page_actions_136lm_jip4d_x.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00jy4lqrcvxvc._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00jy4lqrcvxvc._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a6a1yc_ac-qt._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a8db18tyk__5._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a8db18tyk__5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__179upda-y7uap._.js → [root-of-the-server]__0gnfxe62edx95._.js} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-5_al3xk509._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-5_al3xk509._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18v7b5ga58a9n._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18v7b5ga58a9n._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1iqxg48po42ig._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1iqxg48po42ig._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpow96uit9t8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpow96uit9t8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rf344o33bmi4._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rf344o33bmi4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__04_bc8g0oe4jt._.js → [root-of-the-server]__1yyaeeylnezpi._.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/_03lk54yp-yhw3._.js +4 -4
- package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0a_nsm-ye2r6v._.js +4 -0
- package/web/.next/server/chunks/ssr/_0a_nsm-ye2r6v._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0h-ua-y4p4u1p._.js +3 -0
- package/web/.next/server/chunks/ssr/_0h-ua-y4p4u1p._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js +1 -1
- package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js +1 -1
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0swrejvekuzfx._.js +3 -0
- package/web/.next/server/chunks/ssr/_0swrejvekuzfx._.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/_1_wav28san6dm._.js +1 -1
- package/web/.next/server/chunks/ssr/_1e2o809f0ekry._.js +1 -1
- package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js +1 -1
- package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1jx41z6kmxtt0._.js +3 -0
- package/web/.next/server/chunks/ssr/_1jx41z6kmxtt0._.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/_1q2s-hb67yjfb._.js +3 -0
- package/web/.next/server/chunks/ssr/_1q2s-hb67yjfb._.js.map +1 -0
- 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/_1qdpkpsskm5wj._.js +3 -0
- package/web/.next/server/chunks/ssr/_1qdpkpsskm5wj._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1yi3j4a16uet-._.js +3 -0
- package/web/.next/server/chunks/ssr/_1yi3j4a16uet-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_01oyodz1bs245._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_01oyodz1bs245._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_16d4um5s513wz._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_16d4um5s513wz._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{node_modules_@aeolus-fleet_common_dist_header_1id6g-6m2hh0l._.js → node_modules_@aeolus-fleet_common_dist_header_0t_cmi-llaq7g._.js} +2 -2
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_0t_cmi-llaq7g._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js → node_modules_@aeolus-fleet_common_dist_header_1x3s5abk_uj9j._.js} +2 -2
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1x3s5abk_uj9j._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0hkpfqt9ne626._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0hkpfqt9ne626._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_031g89sb4kgzn.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_031g89sb4kgzn.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09rviehv6rh0n.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09rviehv6rh0n.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ka8v6_fxug8r.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ka8v6_fxug8r.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1c8zekuy1gkch.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1c8zekuy1gkch.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dhzng2nnu0m7.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dhzng2nnu0m7.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1rya2ag3z4vug.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1rya2ag3z4vug.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_09zipglxee7tv._.js +1 -1
- package/web/.next/server/chunks/ssr/web_09zipglxee7tv._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_0i_1uraygw2ld._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0i_1uraygw2ld._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js +1 -1
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_0wz4onhfbq359._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0wz4onhfbq359._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_1-hlf1xzemd3-._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1-hlf1xzemd3-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_107a79_nx4jdd._.js +3 -0
- package/web/.next/server/chunks/ssr/web_107a79_nx4jdd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_127_b93avkwaq._.js +3 -0
- package/web/.next/server/chunks/ssr/web_127_b93avkwaq._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_basket_page_actions_102xk3g8eko_q.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_basket_page_actions_102xk3g8eko_q.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_done_page_actions_0mm90xd2feta2.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_done_page_actions_0mm90xd2feta2.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_page_actions_082880qz6xa5k.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_page_actions_082880qz6xa5k.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_0ty_yk1robyaj._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_0ty_yk1robyaj._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_10gkrn3ey8162._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_10gkrn3ey8162._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_settings_page_tsx_0xzphp7k9ge1u._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_settings_page_tsx_0xzphp7k9ge1u._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_outside-parties_[name]_change_page_tsx_00bpg0s2eypj9._.js +1 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_outside-parties_[name]_retire_page_tsx_1zxy74pr5_2kn._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_0s8erick0xk77._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_0s8erick0xk77._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_0wuo5bgp5tabn._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_0wuo5bgp5tabn._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1je122n6carea._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1je122n6carea._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1n1hy3nwha2vi._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1n1hy3nwha2vi._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1nrnskep6p8ci._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1nrnskep6p8ci._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.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_bridge_0-mhu0jaig2u3._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_0-mhu0jaig2u3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_0219fbfmsi68-._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_0219fbfmsi68-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_11jndonu4o8fq._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_11jndonu4o8fq._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_1mi9qlb-z5iwt._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_1mi9qlb-z5iwt._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_0354e3wb0dzx1._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_0354e3wb0dzx1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_home-panel_tsx_1cc5zdhxogl_2._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_home-panel_tsx_1cc5zdhxogl_2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_live-refresh_tsx_1c1xk-oe0kllv._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_live-refresh_tsx_1c1xk-oe0kllv._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_1y4g3fe75nqn5._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_1y4g3fe75nqn5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js.map +1 -1
- 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_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_slack_actions_ts_1l3yg9vl20_vu._.js +1 -1
- package/web/.next/server/chunks/web__next-internal_server_app_(console)_bridge_focus_route_actions_0syd_u8mgzdmi.js +3 -0
- package/web/.next/server/middleware-build-manifest.js +127 -79
- package/web/.next/server/next-font-manifest.js +1 -1
- package/web/.next/server/next-font-manifest.json +24 -8
- 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 +219 -133
- package/web/.next/static/chunks/0c1tqlbsvq1dj.js +1 -0
- package/web/.next/static/chunks/0fh11dkddwf_2.js +1 -0
- package/web/.next/static/chunks/0fu7je2vzzzh7.js +1 -0
- package/web/.next/static/chunks/1166rxt6h6ilq.js +1 -0
- package/web/.next/static/chunks/180aowme095ds.js +1 -0
- package/web/.next/static/chunks/1ehmzxr697ifa.js +1 -0
- package/web/.next/static/chunks/1lyv8ukt_q3ph.js +1 -0
- package/web/.next/static/chunks/1ymfhxs-xqiy6.js +1 -0
- package/web/.next/static/chunks/2799kv0y5g2va.js +1 -0
- package/web/.next/static/chunks/2hoi73vy1wqpo.js +1 -0
- package/web/.next/static/chunks/{3l5jtag3-fukc.js → 2jr8r6g9kk42a.js} +1 -1
- package/web/.next/static/chunks/2mtfca4qk_s34.js +1 -0
- package/web/.next/static/chunks/{0tmvd_zw45u96.js → 322fzslly9wpf.js} +1 -1
- package/web/.next/static/chunks/{03239gtej3tj0.js → 36fnm0ezsx1eh.js} +1 -1
- package/web/.next/static/chunks/3f2trjz7_wrzh.js +1 -0
- package/web/.next/static/chunks/{2_e-puldye2do.js → 3hvw5n04pbwg8.js} +1 -1
- package/web/.next/static/chunks/3ow9h8hreko-p.css +3 -0
- package/web/.next/static/chunks/3pd8pele5x1o9.js +1 -0
- package/web/.next/static/chunks/3rt603msircrl.js +1 -0
- package/web/.next/static/chunks/3srfjz42u14tx.js +1 -0
- package/web/.next/static/chunks/{3ceatffqhpgpu.js → 40j58bya72xh1.js} +1 -1
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/types/routes.d.ts +10 -6
- package/web/.next/types/validator.ts +108 -40
- package/web/public/wake-worker.js +4 -4
- package/dist/adapters/prisma/email-channels.d.ts +0 -4
- package/dist/adapters/prisma/email-channels.js +0 -14
- package/dist/adapters/prisma/email-channels.js.map +0 -1
- package/dist/adapters/prisma/generated/models/EmailChannel.d.ts +0 -946
- package/dist/adapters/prisma/generated/models/EmailChannel.js +0 -2
- package/dist/adapters/prisma/generated/models/EmailChannel.js.map +0 -1
- package/dist/core/people/turn-email-channel.d.ts +0 -21
- package/dist/core/people/turn-email-channel.js +0 -22
- package/dist/core/people/turn-email-channel.js.map +0 -1
- package/dist/core/slack/show-all-in-slack.d.ts +0 -16
- package/dist/core/slack/show-all-in-slack.js +0 -18
- package/dist/core/slack/show-all-in-slack.js.map +0 -1
- package/web/.next/server/app/(console)/overview/changes/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/overview/changes/route.js +0 -8
- package/web/.next/server/app/(console)/overview/changes/route_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/overview/focus/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/overview/focus/route.js +0 -8
- package/web/.next/server/app/(console)/overview/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/overview/page/server-reference-manifest.json +0 -95
- package/web/.next/server/app/(console)/overview/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page/server-reference-manifest.json +0 -25
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page_client-reference-manifest.js +0 -3
- package/web/.next/server/chunks/0b9d__next-internal_server_app_(console)_overview_focus_route_actions_10hgyjvv-6fus.js +0 -3
- package/web/.next/server/chunks/1mb5_next-internal_server_app_(console)_overview_changes_route_actions_0zbq7lqsf5nng.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__1tfyrijwfgqlk._.js.map +0 -1
- package/web/.next/server/chunks/_04is-uopj3op9._.js +0 -3
- package/web/.next/server/chunks/_1-fw4-pwzazl4._.js +0 -3
- package/web/.next/server/chunks/_1-fw4-pwzazl4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js +0 -3
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0icm7kndx480o._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0icm7kndx480o._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1zlq3zji9v53h._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1zlq3zji9v53h._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0-boiqan2j4tr._.js +0 -3
- package/web/.next/server/chunks/ssr/_0-boiqan2j4tr._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0-lfpqqlgfhzj._.js +0 -3
- package/web/.next/server/chunks/ssr/_0-lfpqqlgfhzj._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0bizyb21i2sl8._.js +0 -3
- package/web/.next/server/chunks/ssr/_0bizyb21i2sl8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1oy13966tft2_._.js +0 -3
- package/web/.next/server/chunks/ssr/_1oy13966tft2_._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1pf8x2exvfl1z._.js +0 -3
- package/web/.next/server/chunks/ssr/_1pf8x2exvfl1z._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1yqu7dcxs2-so._.js +0 -3
- package/web/.next/server/chunks/ssr/_1yqu7dcxs2-so._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_0_cxkn6vujxay._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_0_cxkn6vujxay._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_0ue_35q2cegwf._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_0ue_35q2cegwf._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_15ceu3jhtifcw._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_15ceu3jhtifcw._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1id6g-6m2hh0l._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00i8qu9x65r6w.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00i8qu9x65r6w.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a3qpq0qt_bi4.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a3qpq0qt_bi4.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_0plvx3c_1cozb._.js +0 -3
- package/web/.next/server/chunks/ssr/web_0plvx3c_1cozb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_1loiet18xbddu._.js +0 -3
- package/web/.next/server/chunks/ssr/web_1loiet18xbddu._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js +0 -3
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_087e7ba8loavc._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_087e7ba8loavc._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_1nn1jz5nh77af._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_1nn1jz5nh77af._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_0fxkmm4vqke5q._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0fxkmm4vqke5q._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_1k6q2m0sl54-8._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_1k6q2m0sl54-8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_1utnezwv0xr-l._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_1utnezwv0xr-l._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_0udx5lm8igils._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_0udx5lm8igils._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_144fx4a-r9_wn._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_144fx4a-r9_wn._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_00l0wkgvv9y6j._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_state_00l0wkgvv9y6j._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_ui_10mb24kjiffea._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_ui_10mb24kjiffea._.js.map +0 -1
- package/web/.next/static/chunks/0nhopjmnw_dqt.js +0 -1
- package/web/.next/static/chunks/0vlawcs6_kjs1.js +0 -1
- package/web/.next/static/chunks/1se0j0htjyep6.js +0 -1
- package/web/.next/static/chunks/26vlpatu47xtw.css +0 -3
- package/web/.next/static/chunks/287ofedoj_6xl.js +0 -1
- package/web/.next/static/chunks/2cd4e71s711ad.js +0 -1
- package/web/.next/static/chunks/2ewacyhp73due.js +0 -1
- package/web/.next/static/chunks/34kulpk3a-cka.js +0 -1
- package/web/.next/static/chunks/3fd167c0-ot3u.js +0 -1
- package/web/.next/static/chunks/3knqujtrdi225.js +0 -1
- package/web/.next/static/chunks/3rxg2mdhxd6yt.js +0 -1
- package/web/.next/static/chunks/3v6tr952p9dba.js +0 -1
- /package/web/.next/server/app/(console)/{overview → bridge/basket}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge/basket}/page.js.map +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/changes/route/build-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/changes/route/server-reference-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/changes/route.js.map +0 -0
- /package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/done}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/done}/page.js.map +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/focus/route/build-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/focus/route/server-reference-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/focus/route.js.map +0 -0
- /package/web/.next/server/chunks/{0b9d__next-internal_server_app_(console)_overview_focus_route_actions_10hgyjvv-6fus.js.map → 0b9d__next-internal_server_app_(console)_bridge_changes_route_actions_0hj8aqohz6bu6.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__179upda-y7uap._.js.map → [root-of-the-server]__0gnfxe62edx95._.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__04_bc8g0oe4jt._.js.map → [root-of-the-server]__1yyaeeylnezpi._.js.map} +0 -0
- /package/web/.next/server/chunks/{1mb5_next-internal_server_app_(console)_overview_changes_route_actions_0zbq7lqsf5nng.js.map → web__next-internal_server_app_(console)_bridge_focus_route_actions_0syd_u8mgzdmi.js.map} +0 -0
- /package/web/.next/static/{R_nPUtDcDp1BPV3QHhaMZ → IMWKx2sJwt7EwwpStr8tb}/_buildManifest.js +0 -0
- /package/web/.next/static/{R_nPUtDcDp1BPV3QHhaMZ → IMWKx2sJwt7EwwpStr8tb}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{R_nPUtDcDp1BPV3QHhaMZ → IMWKx2sJwt7EwwpStr8tb}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[[17423,a=>{var b=a.i(7997),c=a.i(66283),d=a.i(
|
|
1
|
+
module.exports=[[17423,a=>{var b=a.i(7997),c=a.i(66283),d=a.i(50919),e=a.i(22126),f=a.i(58725),g=a.i(47547);function h({items:a}){return 0===a.length?(0,b.jsx)("p",{className:"text-muted-foreground",children:"No one has contributed yet."}):(0,b.jsx)("ol",{"data-testid":"meeting-contributions",className:"grid gap-3",children:a.map(a=>(0,b.jsxs)("li",{className:"grid gap-1 rounded-md border border-border bg-card p-3 text-card-foreground",children:[(0,b.jsxs)("span",{className:"text-caption text-muted-foreground",children:[a.sender.name," · ",new Date(a.sentAt).toUTCString()]}),(0,b.jsx)("p",{className:"whitespace-pre-wrap break-words",children:a.payload})]},a.messageId))})}let i={crewed:"crewed",awaitingCrew:"awaiting crew",retired:"retired"},j={present:"in the meeting",left:"left",revoked:"revoked"};function k({participants:a}){return(0,b.jsxs)("section",{className:"grid gap-2",children:[(0,b.jsxs)("h2",{className:"text-section font-semibold",children:["Participants · ",a.length]}),(0,b.jsx)("ul",{"data-testid":"meeting-participants",className:"grid gap-1",children:a.map(a=>(0,b.jsxs)("li",{className:"flex flex-wrap justify-between gap-2",children:[(0,b.jsx)("span",{children:a.name}),(0,b.jsxs)("span",{className:"text-caption text-muted-foreground",children:[i[a.status]," · ",j[a.state]]})]},a.shipId))})]})}var l=a.i(53853);async function m({meetingId:a,searchParams:i}){var j,n;let o=await (0,c._)({path:`${f.f}/${encodeURIComponent(a)}`,searchParams:i});if("noSignIn"===o.kind)return(0,b.jsx)(e.f,{});let{cursor:p}=i,q=await (j=o.api,n={meetingId:a,cursor:"string"==typeof p?p:void 0},(0,c.F)(j.people.meeting.query({meetingId:n.meetingId,...void 0===n.cursor?{}:{cursor:n.cursor}}))),r=`/bridge?fleet=${encodeURIComponent(o.fleetId)}`;if(!q.isOk)return(0,b.jsxs)("div",{className:"grid gap-4",children:[(0,b.jsx)(d.f,{message:q.refusal,isFailure:!0}),(0,b.jsx)("a",{href:r,className:"text-muted-foreground hover:underline",children:"← Bridge"})]});let s=q.value,t=(0,g.v)(s),u=(0,f.H)({fleetId:o.fleetId,meetingId:a});return(0,b.jsxs)("div",{"data-testid":"meeting",className:"grid gap-6",children:[(0,b.jsx)("a",{href:r,className:"text-muted-foreground hover:underline",children:"← Bridge"}),(0,b.jsxs)("header",{className:"grid gap-1",children:[(0,b.jsx)("h1",{className:"text-heading font-semibold",children:s.title??"Meeting"}),(0,b.jsxs)("span",{className:"text-caption text-muted-foreground",children:["Moderated by ",s.moderator.name," · owned by ",s.owner.name]})]}),(0,b.jsxs)("section",{className:"grid gap-3 rounded-lg border border-border bg-card p-4 text-card-foreground shadow-sm",children:[(0,b.jsx)("p",{"data-testid":"meeting-standing",children:t.said}),(0,b.jsxs)("p",{"data-testid":"meeting-mic",className:"text-caption text-muted-foreground",children:[(0,g.s)(s),0===s.mic.requests.length?null:` In line: ${s.mic.requests.map(({ship:a})=>a.name).join(", ")}.`]}),(0,b.jsx)(l.MeetingControls,{fleetId:o.fleetId,meetingId:s.meetingId,controls:t.controls})]}),(0,b.jsx)(h,{items:s.contributions.items}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-4",children:[(0,b.jsx)("a",{href:u,className:"text-muted-foreground hover:underline",children:"Read again"}),null===s.contributions.nextCursor?null:(0,b.jsx)("a",{"data-testid":"meeting-older",href:(0,f.H)({fleetId:o.fleetId,meetingId:a,cursor:s.contributions.nextCursor}),className:"text-muted-foreground hover:underline",children:"Older contributions"})]}),(0,b.jsx)(k,{participants:s.participants})]})}async function n({params:a,searchParams:c}){let[{meetingId:d},e]=await Promise.all([a,c]);return(0,b.jsx)(m,{meetingId:d,searchParams:e})}a.s(["default",0,n,"metadata",0,{title:"Meeting"}],17423)},75298,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call MeetingControls() from the server but MeetingControls 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.")},"[project]/web/features/meeting/state/meeting-controls.tsx","MeetingControls");a.s(["MeetingControls",0,b])},53853,a=>{var b=a.i(75298);a.n(b)}],13628,function(a){a.n(a.i(17423))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=web_09zipglxee7tv._.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/features/meeting/state/meeting.tsx","../../../../../web/features/meeting/hooks/read-meeting.ts","../../../../../web/features/meeting/ui/contributions.tsx","../../../../../web/features/meeting/ui/participants.tsx","../../../../../web/app/%28console%29/meetings/%5BmeetingId%5D/page.tsx","../../../../../web/features/meeting/state/meeting-controls.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/meeting/state/meeting-controls.tsx%22%20%7D"],"sourcesContent":["import { signedInPage, type SearchParams } from '../../../lib/gateway-api/page-api';\nimport { Notice } from '../../overview/ui/notice';\nimport { NoSignIn } from '../../sign-in/ui/no-sign-in';\nimport { readMeeting } from '../hooks/read-meeting';\nimport { MEETINGS_PATH, meetingPathOf } from '../paths';\nimport { micLineOf, standingOf } from '../services/meeting';\nimport { Contributions } from '../ui/contributions';\nimport { Participants } from '../ui/participants';\nimport { MeetingControls } from './meeting-controls';\n\n/**\n * A meeting the person takes part in (decision 0061, M19), phone first:\n * where they stand on the mic and what they may do now at the top, then the\n * contributions, newest first, and who takes part. Reading it confirms no\n * delivery: each contribution still waits in their inbox.\n */\nexport async function Meeting({ meetingId, searchParams }: { meetingId: string; searchParams: SearchParams }) {\n const page = await signedInPage({ path: `${MEETINGS_PATH}/${encodeURIComponent(meetingId)}`, searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n const { cursor } = searchParams;\n const read = await readMeeting(page.api, { meetingId, cursor: typeof cursor === 'string' ? cursor : undefined });\n const overview = `/overview?fleet=${encodeURIComponent(page.fleetId)}`;\n if (!read.isOk) {\n return (\n <div className=\"grid gap-4\">\n <Notice message={read.refusal} isFailure />\n <a href={overview} className=\"text-muted-foreground hover:underline\">\n ← Overview\n </a>\n </div>\n );\n }\n const meeting = read.value;\n const standing = standingOf(meeting);\n const here = meetingPathOf({ fleetId: page.fleetId, meetingId });\n return (\n <div data-testid=\"meeting\" className=\"grid gap-6\">\n <a href={overview} className=\"text-muted-foreground hover:underline\">\n ← Overview\n </a>\n <header className=\"grid gap-1\">\n <h1 className=\"text-heading font-semibold\">{meeting.title ?? 'Meeting'}</h1>\n <span className=\"text-caption text-muted-foreground\">\n Moderated by {meeting.moderator.name} · owned by {meeting.owner.name}\n </span>\n </header>\n <section className=\"grid gap-3 rounded-lg border border-border bg-card p-4 text-card-foreground shadow-sm\">\n <p data-testid=\"meeting-standing\">{standing.said}</p>\n <p data-testid=\"meeting-mic\" className=\"text-caption text-muted-foreground\">\n {micLineOf(meeting)}\n {meeting.mic.requests.length === 0 ? null : ` In line: ${meeting.mic.requests.map(({ ship }) => ship.name).join(', ')}.`}\n </p>\n <MeetingControls fleetId={page.fleetId} meetingId={meeting.meetingId} controls={standing.controls} />\n </section>\n <Contributions items={meeting.contributions.items} />\n <div className=\"flex flex-wrap gap-4\">\n <a href={here} className=\"text-muted-foreground hover:underline\">\n Read again\n </a>\n {meeting.contributions.nextCursor === null ? null : (\n <a data-testid=\"meeting-older\" href={meetingPathOf({ fleetId: page.fleetId, meetingId, cursor: meeting.contributions.nextCursor })} className=\"text-muted-foreground hover:underline\">\n Older contributions\n </a>\n )}\n </div>\n <Participants participants={meeting.participants} />\n </div>\n );\n}\n","/**\n * The meeting a page shows, read through the gateway's API as the signed-in\n * account (decision 0061, M12): the meeting with a page of its contributions,\n * newest first, after the cursor the address names.\n */\nimport type { GatewayApi } from '../../../lib/gateway-api/gateway-api';\nimport { readOf, type Read } from '../../../lib/gateway-api/page-api';\nimport type { MeetingView } from '../services/meeting';\n\nexport function readMeeting(api: GatewayApi, asked: { meetingId: string; cursor: string | undefined }): Promise<Read<MeetingView>> {\n return readOf(api.people.meeting.query({ meetingId: asked.meetingId, ...(asked.cursor === undefined ? {} : { cursor: asked.cursor }) }));\n}\n","import type { MeetingView } from '../services/meeting';\n\n/** A meeting's contributions, newest first: who said it, when, and what. */\nexport function Contributions({ items }: { items: MeetingView['contributions']['items'] }) {\n if (items.length === 0) {\n return <p className=\"text-muted-foreground\">No one has contributed yet.</p>;\n }\n return (\n <ol data-testid=\"meeting-contributions\" className=\"grid gap-3\">\n {items.map((contribution) => (\n <li key={contribution.messageId} className=\"grid gap-1 rounded-md border border-border bg-card p-3 text-card-foreground\">\n <span className=\"text-caption text-muted-foreground\">\n {contribution.sender.name} · {new Date(contribution.sentAt).toUTCString()}\n </span>\n <p className=\"whitespace-pre-wrap break-words\">{contribution.payload}</p>\n </li>\n ))}\n </ol>\n );\n}\n","import type { MeetingView } from '../services/meeting';\n\n/** How a participant's crew and place in the meeting read (M13, M14): presence is shown, never checked. */\nconst STATUS_WORDS = { crewed: 'crewed', awaitingCrew: 'awaiting crew', retired: 'retired' } as const;\nconst STATE_WORDS = { present: 'in the meeting', left: 'left', revoked: 'revoked' } as const;\n\n/** Who takes part, each with whether it is crewed now and whether it is in the meeting. */\nexport function Participants({ participants }: { participants: MeetingView['participants'] }) {\n return (\n <section className=\"grid gap-2\">\n <h2 className=\"text-section font-semibold\">Participants · {participants.length}</h2>\n <ul data-testid=\"meeting-participants\" className=\"grid gap-1\">\n {participants.map((participant) => (\n <li key={participant.shipId} className=\"flex flex-wrap justify-between gap-2\">\n <span>{participant.name}</span>\n <span className=\"text-caption text-muted-foreground\">\n {STATUS_WORDS[participant.status]} · {STATE_WORDS[participant.state]}\n </span>\n </li>\n ))}\n </ul>\n </section>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { Meeting } from '../../../../features/meeting/state/meeting';\nimport type { SearchParams } from '../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Meeting' };\n\nexport default async function MeetingPage({ params, searchParams }: { params: Promise<{ meetingId: string }>; searchParams: Promise<SearchParams> }) {\n const [{ meetingId }, query] = await Promise.all([params, searchParams]);\n return <Meeting meetingId={meetingId} searchParams={query} />;\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const MeetingControls = registerClientReference(\n function() { throw new Error(\"Attempted to call MeetingControls() from the server but MeetingControls 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/meeting/state/meeting-controls.tsx\",\n \"MeetingControls\",\n);\n"],"names":["readMeeting","api","asked","people","meeting","query","meetingId","cursor","undefined","MeetingControls","Error"],"mappings":"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","ignoreList":[5]}
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/meeting/state/meeting.tsx","../../../../../web/features/meeting/hooks/read-meeting.ts","../../../../../web/features/meeting/ui/contributions.tsx","../../../../../web/features/meeting/ui/participants.tsx","../../../../../web/app/%28console%29/meetings/%5BmeetingId%5D/page.tsx","../../../../../web/features/meeting/state/meeting-controls.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/meeting/state/meeting-controls.tsx%22%20%7D"],"sourcesContent":["import { signedInPage, type SearchParams } from '../../../lib/gateway-api/page-api';\nimport { Notice } from '../../bridge/ui/notice';\nimport { NoSignIn } from '../../sign-in/ui/no-sign-in';\nimport { readMeeting } from '../hooks/read-meeting';\nimport { MEETINGS_PATH, meetingPathOf } from '../paths';\nimport { micLineOf, standingOf } from '../services/meeting';\nimport { Contributions } from '../ui/contributions';\nimport { Participants } from '../ui/participants';\nimport { MeetingControls } from './meeting-controls';\n\n/**\n * A meeting the person takes part in (decision 0061, M19), phone first:\n * where they stand on the mic and what they may do now at the top, then the\n * contributions, newest first, and who takes part. Reading it confirms no\n * delivery: each contribution still waits in their inbox.\n */\nexport async function Meeting({ meetingId, searchParams }: { meetingId: string; searchParams: SearchParams }) {\n const page = await signedInPage({ path: `${MEETINGS_PATH}/${encodeURIComponent(meetingId)}`, searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n const { cursor } = searchParams;\n const read = await readMeeting(page.api, { meetingId, cursor: typeof cursor === 'string' ? cursor : undefined });\n const bridge = `/bridge?fleet=${encodeURIComponent(page.fleetId)}`;\n if (!read.isOk) {\n return (\n <div className=\"grid gap-4\">\n <Notice message={read.refusal} isFailure />\n <a href={bridge} className=\"text-muted-foreground hover:underline\">\n ← Bridge\n </a>\n </div>\n );\n }\n const meeting = read.value;\n const standing = standingOf(meeting);\n const here = meetingPathOf({ fleetId: page.fleetId, meetingId });\n return (\n <div data-testid=\"meeting\" className=\"grid gap-6\">\n <a href={bridge} className=\"text-muted-foreground hover:underline\">\n ← Bridge\n </a>\n <header className=\"grid gap-1\">\n <h1 className=\"text-heading font-semibold\">{meeting.title ?? 'Meeting'}</h1>\n <span className=\"text-caption text-muted-foreground\">\n Moderated by {meeting.moderator.name} · owned by {meeting.owner.name}\n </span>\n </header>\n <section className=\"grid gap-3 rounded-lg border border-border bg-card p-4 text-card-foreground shadow-sm\">\n <p data-testid=\"meeting-standing\">{standing.said}</p>\n <p data-testid=\"meeting-mic\" className=\"text-caption text-muted-foreground\">\n {micLineOf(meeting)}\n {meeting.mic.requests.length === 0 ? null : ` In line: ${meeting.mic.requests.map(({ ship }) => ship.name).join(', ')}.`}\n </p>\n <MeetingControls fleetId={page.fleetId} meetingId={meeting.meetingId} controls={standing.controls} />\n </section>\n <Contributions items={meeting.contributions.items} />\n <div className=\"flex flex-wrap gap-4\">\n <a href={here} className=\"text-muted-foreground hover:underline\">\n Read again\n </a>\n {meeting.contributions.nextCursor === null ? null : (\n <a data-testid=\"meeting-older\" href={meetingPathOf({ fleetId: page.fleetId, meetingId, cursor: meeting.contributions.nextCursor })} className=\"text-muted-foreground hover:underline\">\n Older contributions\n </a>\n )}\n </div>\n <Participants participants={meeting.participants} />\n </div>\n );\n}\n","/**\n * The meeting a page shows, read through the gateway's API as the signed-in\n * account (decision 0061, M12): the meeting with a page of its contributions,\n * newest first, after the cursor the address names.\n */\nimport type { GatewayApi } from '../../../lib/gateway-api/gateway-api';\nimport { readOf, type Read } from '../../../lib/gateway-api/page-api';\nimport type { MeetingView } from '../services/meeting';\n\nexport function readMeeting(api: GatewayApi, asked: { meetingId: string; cursor: string | undefined }): Promise<Read<MeetingView>> {\n return readOf(api.people.meeting.query({ meetingId: asked.meetingId, ...(asked.cursor === undefined ? {} : { cursor: asked.cursor }) }));\n}\n","import type { MeetingView } from '../services/meeting';\n\n/** A meeting's contributions, newest first: who said it, when, and what. */\nexport function Contributions({ items }: { items: MeetingView['contributions']['items'] }) {\n if (items.length === 0) {\n return <p className=\"text-muted-foreground\">No one has contributed yet.</p>;\n }\n return (\n <ol data-testid=\"meeting-contributions\" className=\"grid gap-3\">\n {items.map((contribution) => (\n <li key={contribution.messageId} className=\"grid gap-1 rounded-md border border-border bg-card p-3 text-card-foreground\">\n <span className=\"text-caption text-muted-foreground\">\n {contribution.sender.name} · {new Date(contribution.sentAt).toUTCString()}\n </span>\n <p className=\"whitespace-pre-wrap break-words\">{contribution.payload}</p>\n </li>\n ))}\n </ol>\n );\n}\n","import type { MeetingView } from '../services/meeting';\n\n/** How a participant's crew and place in the meeting read (M13, M14): presence is shown, never checked. */\nconst STATUS_WORDS = { crewed: 'crewed', awaitingCrew: 'awaiting crew', retired: 'retired' } as const;\nconst STATE_WORDS = { present: 'in the meeting', left: 'left', revoked: 'revoked' } as const;\n\n/** Who takes part, each with whether it is crewed now and whether it is in the meeting. */\nexport function Participants({ participants }: { participants: MeetingView['participants'] }) {\n return (\n <section className=\"grid gap-2\">\n <h2 className=\"text-section font-semibold\">Participants · {participants.length}</h2>\n <ul data-testid=\"meeting-participants\" className=\"grid gap-1\">\n {participants.map((participant) => (\n <li key={participant.shipId} className=\"flex flex-wrap justify-between gap-2\">\n <span>{participant.name}</span>\n <span className=\"text-caption text-muted-foreground\">\n {STATUS_WORDS[participant.status]} · {STATE_WORDS[participant.state]}\n </span>\n </li>\n ))}\n </ul>\n </section>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { Meeting } from '../../../../features/meeting/state/meeting';\nimport type { SearchParams } from '../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Meeting' };\n\nexport default async function MeetingPage({ params, searchParams }: { params: Promise<{ meetingId: string }>; searchParams: Promise<SearchParams> }) {\n const [{ meetingId }, query] = await Promise.all([params, searchParams]);\n return <Meeting meetingId={meetingId} searchParams={query} />;\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const MeetingControls = registerClientReference(\n function() { throw new Error(\"Attempted to call MeetingControls() from the server but MeetingControls 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/meeting/state/meeting-controls.tsx\",\n \"MeetingControls\",\n);\n"],"names":["readMeeting","api","asked","people","meeting","query","meetingId","cursor","undefined","MeetingControls","Error"],"mappings":"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","ignoreList":[5]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[87277,a=>{var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(22126),f=a.i(88276),g=a.i(29660),h=a.i(75658),i=a.i(38936),j=a.i(28667),k=a.i(60947),l=a.i(17006);let m={waiting:{count:0,items:[]},stayAware:[]};async function n({api:a,fleetId:c}){let d=await (0,f.I)(a);switch(d.kind){case"read":return(0,b.jsx)(j.HomePanel,{fleetId:c,home:d.value});case"none":return(0,b.jsx)(j.HomePanel,{fleetId:c,home:m});case"unreadable":return(0,b.jsx)(l.RecordUnreadable,{message:d.message})}}async function o({searchParams:a}){let j=await (0,d._)({path:g.P,searchParams:a});return"noSignIn"===j.kind?(0,b.jsx)(e.f,{}):(0,b.jsxs)("div",{className:"grid gap-6",children:[(0,b.jsx)(k.LiveRefresh,{fleetId:j.fleetId}),(0,b.jsx)(h.f,{fleetId:j.fleetId,current:"home",basketCount:await (0,f.W)(j.api)}),(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(i.f,{}),children:(0,b.jsx)(n,{api:j.api,fleetId:j.fleetId})})]})}async function p({searchParams:a}){return(0,b.jsx)(o,{searchParams:await a})}a.s(["default",0,p,"metadata",0,{title:"Bridge"}],87277)},25133,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call HomePanel() from the server but HomePanel 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.")},"[project]/web/features/bridge/state/home-panel.tsx","HomePanel");a.s(["HomePanel",0,b])},28667,a=>{var b=a.i(25133);a.n(b)},34494,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call RecordUnreadable() from the server but RecordUnreadable 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.")},"[project]/web/features/bridge/state/record-unreadable.tsx","RecordUnreadable");a.s(["RecordUnreadable",0,b])},17006,a=>{var b=a.i(34494);a.n(b)}],41863,function(a){a.n(a.i(87277))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_0i_1uraygw2ld._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/state/bridge-home.tsx","../../../../../web/app/%28console%29/bridge/page.tsx","../../../../../web/features/bridge/state/home-panel.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/home-panel.tsx%22%20%7D","../../../../../web/features/bridge/state/record-unreadable.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/record-unreadable.tsx%22%20%7D"],"sourcesContent":["import { Suspense } from 'react';\n\nimport type { GatewayApi } from '../../../lib/gateway-api/gateway-api';\nimport { signedInPage, type SearchParams } from '../../../lib/gateway-api/page-api';\nimport { NoSignIn } from '../../sign-in/ui/no-sign-in';\nimport { readBasketCount, readBridgeHome } from '../hooks/read-bridge';\nimport { BRIDGE_PATH } from '../paths';\nimport { BridgeNav } from '../ui/bridge-nav';\nimport { BridgeSkeleton } from '../ui/bridge-skeleton';\nimport { HomePanel } from './home-panel';\nimport { LiveRefresh } from './live-refresh';\nimport { RecordUnreadable } from './record-unreadable';\n\n/** For an account with no person ship nothing waits, and nothing reaches it unasked. */\nconst NOTHING = { waiting: { count: 0, items: [] }, stayAware: [] };\n\nasync function HomeParts({ api, fleetId }: { api: GatewayApi; fleetId: string }) {\n const read = await readBridgeHome(api);\n switch (read.kind) {\n case 'read':\n return <HomePanel fleetId={fleetId} home={read.value} />;\n case 'none':\n return <HomePanel fleetId={fleetId} home={NOTHING} />;\n case 'unreadable':\n return <RecordUnreadable message={read.message} />;\n }\n}\n\n/**\n * Bridge home (docs/design/bridge, CC18), where signing in lands: what waits\n * on the person with one count, and the stay-aware feed. Signed out, the\n * browser goes to sign in before anything shows; signed in, the shape shows\n * while it loads. It reads itself again whenever the person ship's items\n * change, and tells the gateway while it is in focus (wake a person, W6).\n */\nexport async function BridgeHomePage({ searchParams }: { searchParams: SearchParams }) {\n const page = await signedInPage({ path: BRIDGE_PATH, searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n return (\n <div className=\"grid gap-6\">\n <LiveRefresh fleetId={page.fleetId} />\n <BridgeNav fleetId={page.fleetId} current=\"home\" basketCount={await readBasketCount(page.api)} />\n <Suspense fallback={<BridgeSkeleton />}>\n <HomeParts api={page.api} fleetId={page.fleetId} />\n </Suspense>\n </div>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { BridgeHomePage } from '../../../features/bridge/state/bridge-home';\nimport type { SearchParams } from '../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Bridge' };\n\nexport default async function BridgePage({ searchParams }: { searchParams: Promise<SearchParams> }) {\n return <BridgeHomePage searchParams={await searchParams} />;\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const HomePanel = registerClientReference(\n function() { throw new Error(\"Attempted to call HomePanel() from the server but HomePanel 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/bridge/state/home-panel.tsx\",\n \"HomePanel\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const RecordUnreadable = registerClientReference(\n function() { throw new Error(\"Attempted to call RecordUnreadable() from the server but RecordUnreadable 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/bridge/state/record-unreadable.tsx\",\n \"RecordUnreadable\",\n);\n"],"names":["NOTHING","waiting","count","items","stayAware","HomeParts","api","fleetId","read","kind","home","value","message","BridgeHomePage","searchParams","page","path","className","current","basketCount","fallback","HomePanel","Error","RecordUnreadable"],"mappings":"2CAAA,EAAA,EAAA,CAAA,CAAA,KAGA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAGA,IAAMA,EAAU,CAAEC,QAAS,CAAEC,MAAO,EAAGC,MAAO,EAAE,AAAC,EAAGC,UAAW,EAAE,AAAC,EAElE,eAAeC,EAAU,KAAEC,CAAG,CAAEC,SAAO,CAAwC,EAC7E,IAAMC,EAAO,MAAM,CAAA,EAAA,EAAA,CAAA,AAAc,EAACF,GAClC,OAAQE,EAAKC,IAAI,EACf,IAAK,OACH,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAACF,QAASA,EAASG,KAAMF,EAAKG,KAAK,EACtD,KAAK,OACH,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAACJ,QAASA,EAASG,KAAMV,GAC5C,KAAK,aACH,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,CAACY,QAASJ,EAAKI,OAAO,EAClD,CACF,CASO,eAAeC,EAAe,cAAEC,CAAY,CAAkC,EACnF,IAAMC,EAAO,MAAM,CAAA,EAAA,EAAA,CAAA,AAAY,EAAC,CAAEC,KAAM,EAAA,CAAW,cAAEF,CAAa,SAChD,AAAlB,YAA8B,CAA1BC,EAAKN,IAAI,CACJ,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAQ,CAAA,CAAA,GAGhB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIQ,UAAU,uBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,WAAW,CAAA,CAACV,QAASQ,EAAKR,OAAO,GAClC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,CAAA,CAACA,QAASQ,EAAKR,OAAO,CAAEW,QAAQ,OAAOC,YAAa,MAAM,CAAA,EAAA,EAAA,CAAe,AAAf,EAAgBJ,EAAKT,GAAG,IAC5F,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,CAACc,SAAU,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,CAAA,CAAA,YACjC,CAAA,EAAA,EAAA,GAAA,EAACf,EAAAA,CAAUC,IAAKS,EAAKT,GAAG,CAAEC,QAASQ,EAAKR,OAAO,OAIvD,CC1Ce,eAAe,EAAW,cAAE,CAAY,CAA2C,EAChG,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAe,aAAc,MAAM,GAC7C,iCAJkC,CAAE,MAAO,QAAS,qBCH7C,IAAMc,EAAY,CAAA,EAAA,AADzB,EAAA,CAAA,CAAA,OACyB,uBAAA,AAAuB,EAC5C,WAAa,MAAM,AAAIC,MAAM,gOAAkO,EAC/P,qDACA,kFCHG,IAAMC,EAAmB,CAAA,EADhC,AACgC,EADhC,CAAA,CAAA,OACgC,uBAAA,AAAuB,EACnD,WAAa,MAAM,AAAID,MAAM,8OAAgP,EAC7Q,4DACA","ignoreList":[2,3]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[50088,a=>{var b=a.i(70043),c=a.i(37936),d=a.i(29517);a.i(70396);var e=a.i(73727),f=a.i(55476),g=a.i(66283),h=a.i(81140),i=a.i(1324),j=a.i(29493),k=a.i(72913),l=a.i(13095);let m=new Set(["token","clientSecret"]);async function n(a,b){let c,l=(0,i.v)(b,i.H),n=Object.fromEntries(Object.entries((0,i.O)(b)).filter(([a])=>!m.has(a))),o=(0,d.f)("ship").safeParse((0,i.v)(b,"ownerShipId"));if(!o.success)return{kind:"refused",message:"Pick its owner",fields:n};let p=await (0,g.z)(l);try{c=(await p.parties.addA2aAgent.mutate({requestId:(0,i.v)(b,"requestId"),name:(0,i.v)(b,"name"),cardUrl:(0,i.v)(b,"cardUrl"),credential:(0,j.y)({credentialKind:(0,i.v)(b,"credentialKind"),token:(0,i.v)(b,"token"),clientId:(0,i.v)(b,"clientId"),clientSecret:(0,i.v)(b,"clientSecret"),issuer:(0,i.v)(b,"issuer"),scope:(0,i.v)(b,"scope")}),concurrencyLimit:Number((0,i.v)(b,"concurrencyLimit")),ownerShipId:o.data,scopes:(0,h.f)((0,i.O)(b))})).name}catch(a){return{kind:"refused",message:(0,g.s)(a),fields:n}}(0,e.redirect)((0,f.i)((0,k.N)(c),l))}(0,l.ensureServerEntryExports)([n]),(0,c.registerServerReference)(n,"
|
|
1
|
+
(()=>{"use strict";module.exports=[50088,a=>{var b=a.i(70043),c=a.i(37936),d=a.i(29517);a.i(70396);var e=a.i(73727),f=a.i(55476),g=a.i(66283),h=a.i(81140),i=a.i(1324),j=a.i(29493),k=a.i(72913),l=a.i(13095);let m=new Set(["token","clientSecret"]);async function n(a,b){let c,l=(0,i.v)(b,i.H),n=Object.fromEntries(Object.entries((0,i.O)(b)).filter(([a])=>!m.has(a))),o=(0,d.f)("ship").safeParse((0,i.v)(b,"ownerShipId"));if(!o.success)return{kind:"refused",message:"Pick its owner",fields:n};let p=await (0,g.z)(l);try{c=(await p.parties.addA2aAgent.mutate({requestId:(0,i.v)(b,"requestId"),name:(0,i.v)(b,"name"),cardUrl:(0,i.v)(b,"cardUrl"),credential:(0,j.y)({credentialKind:(0,i.v)(b,"credentialKind"),token:(0,i.v)(b,"token"),clientId:(0,i.v)(b,"clientId"),clientSecret:(0,i.v)(b,"clientSecret"),issuer:(0,i.v)(b,"issuer"),scope:(0,i.v)(b,"scope")}),concurrencyLimit:Number((0,i.v)(b,"concurrencyLimit")),ownerShipId:o.data,scopes:(0,h.f)((0,i.O)(b))})).name}catch(a){return{kind:"refused",message:(0,g.s)(a),fields:n}}(0,e.redirect)((0,f.i)((0,k.N)(c),l))}(0,l.ensureServerEntryExports)([n]),(0,c.registerServerReference)(n,"6076aa2e7bb55e2ef41915944adf76318c50c9d874",null),a.s(["400c56f98daea692f14f4050874c69aaecc487ee9a",()=>b.f,"6076aa2e7bb55e2ef41915944adf76318c50c9d874",0,n],50088)},81140,a=>{var b=a.i(18379);a.s(["f",0,function(a){return Object.keys(a).flatMap(a=>a.startsWith(b.u)?[a.slice(b.u.length)]:[])}])},29493,a=>{let b=[{kind:"none",label:"No credential"},{kind:"bearer",label:"Bearer token"},{kind:"clientCredentials",label:"OAuth client credentials"}],c={kind:"personSignIn",label:"Each person signs in"},d=[...b,c];function e(a){var c;let d=(c=a.credentialKind,b.find(({kind:a})=>a===c)?.kind??"bearer");switch(d){case"none":return{kind:d};case"bearer":return{kind:d,token:a.token};case"clientCredentials":return{kind:d,clientId:a.clientId,clientSecret:a.clientSecret,issuer:a.issuer,...""===a.scope?{}:{scope:a.scope}}}}a.s(["a",0,d,"x",0,b,"m",0,c,"G",0,function(a){var b;return(b=a.credentialKind,(d.find(({kind:a})=>a===b)?.kind??"bearer")===c.kind)?{kind:c.kind}:e(a)},"y",0,e])}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=web_0wys4l6za8umr._.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/.next-internal/server/app/%28console%29/outside-parties/add-a2a-agent/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/add-a2a-agent/actions.ts","../../../../../web/features/add-a2a-client/ticked-scopes.ts","../../../../../web/features/forms/server-credential.ts"],"sourcesContent":["export {setTheme as '
|
|
1
|
+
{"version":3,"sources":["../../../../../web/.next-internal/server/app/%28console%29/outside-parties/add-a2a-agent/page/actions.js%20%28server%20actions%20loader%29","../../../../../web/features/add-a2a-agent/actions.ts","../../../../../web/features/add-a2a-client/ticked-scopes.ts","../../../../../web/features/forms/server-credential.ts"],"sourcesContent":["export {setTheme as '400c56f98daea692f14f4050874c69aaecc487ee9a'} from 'ACTIONS_MODULE0'\nexport {addA2aAgent as '6076aa2e7bb55e2ef41915944adf76318c50c9d874'} from 'ACTIONS_MODULE1'\n","'use server';\n\n/**\n * Adding an outside A2A agent by its card address (slice 5), as the account\n * signed in: the API checks it holds gateway:approve and grants only scopes\n * it holds, and the gateway reads the card before it commissions anything.\n * Added, the page goes to the agent's own page.\n */\nimport { idSchema } from '@aeolus-fleet/common';\nimport { redirect } from 'next/navigation';\n\nimport { inFleet } from '../../lib/gateway-api/page-account';\nimport { refusalMessageOf, requestApi } from '../../lib/gateway-api/page-api';\nimport { tickedScopes } from '../add-a2a-client/ticked-scopes';\nimport { FLEET_FIELD, fieldOf, fieldsOf } from '../forms/form-state';\nimport { serverCredentialOf } from '../forms/server-credential';\nimport { partyPath } from '../outside-parties/paths';\n\n/** The fields that never travel back to the browser: the credential's secrets. */\nconst SECRET_FIELDS: ReadonlySet<string> = new Set(['token', 'clientSecret']);\n\n/** Where adding stands: not sent, or refused with why and what the browser sent, its secrets aside. */\nexport type AddA2aAgentState = { kind: 'idle' } | { kind: 'refused'; message: string; fields: Record<string, string> };\n\nexport async function addA2aAgent(_previous: AddA2aAgentState, form: FormData): Promise<AddA2aAgentState> {\n const fleetId = fieldOf(form, FLEET_FIELD);\n const fields = Object.fromEntries(Object.entries(fieldsOf(form)).filter(([field]) => !SECRET_FIELDS.has(field)));\n const ownerShipId = idSchema('ship').safeParse(fieldOf(form, 'ownerShipId'));\n if (!ownerShipId.success) {\n return { kind: 'refused', message: 'Pick its owner', fields };\n }\n const api = await requestApi(fleetId);\n let name: string;\n try {\n const added = await api.parties.addA2aAgent.mutate({\n requestId: fieldOf(form, 'requestId'),\n name: fieldOf(form, 'name'),\n cardUrl: fieldOf(form, 'cardUrl'),\n credential: serverCredentialOf({\n credentialKind: fieldOf(form, 'credentialKind'),\n token: fieldOf(form, 'token'),\n clientId: fieldOf(form, 'clientId'),\n clientSecret: fieldOf(form, 'clientSecret'),\n issuer: fieldOf(form, 'issuer'),\n scope: fieldOf(form, 'scope'),\n }),\n concurrencyLimit: Number(fieldOf(form, 'concurrencyLimit')),\n ownerShipId: ownerShipId.data,\n scopes: tickedScopes(fieldsOf(form)),\n });\n name = added.name;\n } catch (error) {\n return { kind: 'refused', message: refusalMessageOf(error), fields };\n }\n redirect(inFleet(partyPath(name), fleetId));\n}\n","import { SCOPE_FIELD_PREFIX } from '../outside-party/scope-changes';\n\n/** The scopes a form ticks, one `scope:<scope>` field each. */\nexport function tickedScopes(fields: Readonly<Record<string, string>>): string[] {\n return Object.keys(fields).flatMap((field) => (field.startsWith(SCOPE_FIELD_PREFIX) ? [field.slice(SCOPE_FIELD_PREFIX.length)] : []));\n}\n","/**\n * An outside MCP server's credential, as the add, Parties and decision forms\n * take it: none for a server reached only on a private network, a static\n * bearer, or OAuth client credentials. A server being added may instead\n * have each person sign in to it for themselves (decision 0067).\n */\n\n/** The credential kinds a form offers, with the words it shows. */\nexport const CREDENTIAL_KINDS = [\n { kind: 'none', label: 'No credential' },\n { kind: 'bearer', label: 'Bearer token' },\n { kind: 'clientCredentials', label: 'OAuth client credentials' },\n] as const;\n\nexport type CredentialKind = (typeof CREDENTIAL_KINDS)[number]['kind'];\n\nexport type ServerCredential =\n | { kind: 'none' }\n | { kind: 'bearer'; token: string }\n | { kind: 'clientCredentials'; clientId: string; clientSecret: string; issuer: string; scope?: string };\n\n/** The kind only adding a server offers: the gateway registers the party's client, and each person signs in (decision 0067). */\nexport const SIGN_IN_CREDENTIAL = { kind: 'personSignIn', label: 'Each person signs in' } as const;\n\n/** The credential kinds the add page offers, with the words it shows. */\nexport const ADDED_CREDENTIAL_KINDS = [...CREDENTIAL_KINDS, SIGN_IN_CREDENTIAL] as const;\n\nexport type AddedCredentialKind = (typeof ADDED_CREDENTIAL_KINDS)[number]['kind'];\n\nexport type AddedServerCredential = ServerCredential | { kind: typeof SIGN_IN_CREDENTIAL.kind };\n\n/** The kind a form sent, a bearer when it sent none it knows. */\nexport function credentialKindOf(sent: string): CredentialKind {\n return CREDENTIAL_KINDS.find(({ kind }) => kind === sent)?.kind ?? 'bearer';\n}\n\n/** The credential the fields name: only the fields of its kind are read. */\nexport function serverCredentialOf(fields: { credentialKind: string; token: string; clientId: string; clientSecret: string; issuer: string; scope: string }): ServerCredential {\n const kind = credentialKindOf(fields.credentialKind);\n switch (kind) {\n case 'none':\n return { kind };\n case 'bearer':\n return { kind, token: fields.token };\n case 'clientCredentials':\n return { kind, clientId: fields.clientId, clientSecret: fields.clientSecret, issuer: fields.issuer, ...(fields.scope === '' ? {} : { scope: fields.scope }) };\n }\n}\n\n/** The kind the add page sent, a bearer when it sent none it knows. */\nexport function addedCredentialKindOf(sent: string): AddedCredentialKind {\n return ADDED_CREDENTIAL_KINDS.find(({ kind }) => kind === sent)?.kind ?? 'bearer';\n}\n\n/** The credential the add page's fields name: each person signing in takes no field. */\nexport function addedServerCredentialOf(fields: Parameters<typeof serverCredentialOf>[0]): AddedServerCredential {\n return addedCredentialKindOf(fields.credentialKind) === SIGN_IN_CREDENTIAL.kind ? { kind: SIGN_IN_CREDENTIAL.kind } : serverCredentialOf(fields);\n}\n"],"names":["SECRET_FIELDS","Set","addA2aAgent","_previous","form","fleetId","fields","Object","fromEntries","entries","filter","field","has","ownerShipId","safeParse","success","kind","message","api","name","added","parties","mutate","requestId","cardUrl","credential","credentialKind","token","clientId","clientSecret","issuer","scope","concurrencyLimit","Number","data","scopes","error","tickedScopes","keys","flatMap","startsWith","slice","length","CREDENTIAL_KINDS","label","SIGN_IN_CREDENTIAL","ADDED_CREDENTIAL_KINDS","credentialKindOf","sent","find","serverCredentialOf","addedCredentialKindOf","addedServerCredentialOf"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[53968,a=>{var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(22126),f=a.i(88276),g=a.i(29660),h=a.i(75658),i=a.i(38936),j=a.i(8460),k=a.i(60947),l=a.i(17006);async function m({api:a,fleetId:c}){let d=await (0,f.x)(a,null);switch(d.kind){case"read":return(0,b.jsx)(j.DonePanel,{fleetId:c,first:d.value},d.value.items.map(({deliveryId:a,state:b})=>`${a}:${b}`).join(","));case"none":return(0,b.jsx)(j.DonePanel,{fleetId:c,first:{items:[],nextCursor:null}});case"unreadable":return(0,b.jsx)(l.RecordUnreadable,{message:d.message})}}async function n({searchParams:a}){let j=await (0,d._)({path:g.a,searchParams:a});return"noSignIn"===j.kind?(0,b.jsx)(e.f,{}):(0,b.jsxs)("div",{className:"grid gap-6",children:[(0,b.jsx)(k.LiveRefresh,{fleetId:j.fleetId}),(0,b.jsx)(h.f,{fleetId:j.fleetId,current:"done",basketCount:await (0,f.W)(j.api)}),(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(i.f,{}),children:(0,b.jsx)(m,{api:j.api,fleetId:j.fleetId})})]})}async function o({searchParams:a}){return(0,b.jsx)(n,{searchParams:await a})}a.s(["default",0,o,"metadata",0,{title:"Done"}],53968)},36108,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call DonePanel() from the server but DonePanel 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.")},"[project]/web/features/bridge/state/done-panel.tsx","DonePanel");a.s(["DonePanel",0,b])},8460,a=>{var b=a.i(36108);a.n(b)},34494,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call RecordUnreadable() from the server but RecordUnreadable 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.")},"[project]/web/features/bridge/state/record-unreadable.tsx","RecordUnreadable");a.s(["RecordUnreadable",0,b])},17006,a=>{var b=a.i(34494);a.n(b)}],73465,function(a){a.n(a.i(53968))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_0wz4onhfbq359._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/state/bridge-done.tsx","../../../../../web/app/%28console%29/bridge/done/page.tsx","../../../../../web/features/bridge/state/done-panel.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/done-panel.tsx%22%20%7D","../../../../../web/features/bridge/state/record-unreadable.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/record-unreadable.tsx%22%20%7D"],"sourcesContent":["import { Suspense } from 'react';\n\nimport type { GatewayApi } from '../../../lib/gateway-api/gateway-api';\nimport { signedInPage, type SearchParams } from '../../../lib/gateway-api/page-api';\nimport { NoSignIn } from '../../sign-in/ui/no-sign-in';\nimport { readBasketCount, readRecordPage } from '../hooks/read-bridge';\nimport { BRIDGE_DONE_PATH } from '../paths';\nimport { BridgeNav } from '../ui/bridge-nav';\nimport { BridgeSkeleton } from '../ui/bridge-skeleton';\nimport { DonePanel } from './done-panel';\nimport { LiveRefresh } from './live-refresh';\nimport { RecordUnreadable } from './record-unreadable';\n\nasync function DoneParts({ api, fleetId }: { api: GatewayApi; fleetId: string }) {\n const read = await readRecordPage(api, null);\n switch (read.kind) {\n case 'read':\n // A change to the record reads the first page again, in place of what was shown.\n return <DonePanel key={read.value.items.map(({ deliveryId, state }) => `${deliveryId}:${state}`).join(',')} fleetId={fleetId} first={read.value} />;\n case 'none':\n return <DonePanel fleetId={fleetId} first={{ items: [], nextCursor: null }} />;\n case 'unreadable':\n return <RecordUnreadable message={read.message} />;\n }\n}\n\n/** Done (docs/design/bridge, CC4, CC12): the person ship's record, read from core a page at a time, each item with what came of it and where. */\nexport async function BridgeDonePage({ searchParams }: { searchParams: SearchParams }) {\n const page = await signedInPage({ path: BRIDGE_DONE_PATH, searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n return (\n <div className=\"grid gap-6\">\n <LiveRefresh fleetId={page.fleetId} />\n <BridgeNav fleetId={page.fleetId} current=\"done\" basketCount={await readBasketCount(page.api)} />\n <Suspense fallback={<BridgeSkeleton />}>\n <DoneParts api={page.api} fleetId={page.fleetId} />\n </Suspense>\n </div>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { BridgeDonePage } from '../../../../features/bridge/state/bridge-done';\nimport type { SearchParams } from '../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Done' };\n\nexport default async function DonePage({ searchParams }: { searchParams: Promise<SearchParams> }) {\n return <BridgeDonePage searchParams={await searchParams} />;\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const DonePanel = registerClientReference(\n function() { throw new Error(\"Attempted to call DonePanel() from the server but DonePanel 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/bridge/state/done-panel.tsx\",\n \"DonePanel\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const RecordUnreadable = registerClientReference(\n function() { throw new Error(\"Attempted to call RecordUnreadable() from the server but RecordUnreadable 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/bridge/state/record-unreadable.tsx\",\n \"RecordUnreadable\",\n);\n"],"names":["DoneParts","api","fleetId","read","kind","first","value","items","map","deliveryId","state","join","nextCursor","message","BridgeDonePage","searchParams","page","path","className","current","basketCount","fallback","DonePanel","Error","RecordUnreadable"],"mappings":"2CAAA,EAAA,EAAA,CAAA,CAAA,KAGA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAEA,eAAeA,EAAU,KAAEC,CAAG,SAAEC,CAAO,CAAwC,EAC7E,IAAMC,EAAO,MAAM,CAAA,EAAA,EAAA,CAAA,AAAc,EAACF,EAAK,MACvC,OAAQE,EAAKC,IAAI,EACf,IAAK,OAEH,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAA2FF,QAASA,EAASG,MAAOF,EAAKG,KAAK,EAAxHH,EAAKG,KAAK,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC,YAAEC,CAAU,OAAEC,CAAK,CAAE,GAAK,CAAA,EAAGD,EAAW,CAAC,EAAEC,EAAAA,CAAO,EAAEC,IAAI,CAAC,KACxG,KAAK,OACH,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAACT,QAASA,EAASG,MAAO,CAAEE,MAAO,EAAE,CAAEK,WAAY,IAAK,GAC3E,KAAK,aACH,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,CAACC,QAASV,EAAKU,OAAO,EAClD,CACF,CAGO,eAAeC,EAAe,cAAEC,CAAY,CAAkC,EACnF,IAAMC,EAAO,MAAM,CAAA,EAAA,EAAA,CAAA,AAAY,EAAC,CAAEC,KAAM,EAAA,CAAgB,cAAEF,CAAa,SACrD,AAAlB,YAA8B,CAA1BC,EAAKZ,IAAI,CACJ,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAQ,CAAA,CAAA,GAGhB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIc,UAAU,uBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,WAAW,CAAA,CAAChB,QAASc,EAAKd,OAAO,GAClC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,CAAA,CAACA,QAASc,EAAKd,OAAO,CAAEiB,QAAQ,OAAOC,YAAa,MAAM,CAAA,EAAA,EAAA,CAAA,AAAe,EAACJ,EAAKf,GAAG,IAC5F,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,CAACoB,SAAU,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,CAAA,CAAA,YACjC,CAAA,EAAA,EAAA,GAAA,EAACrB,EAAAA,CAAUC,IAAKe,EAAKf,GAAG,CAAEC,QAASc,EAAKd,OAAO,OAIvD,CClCe,eAAe,EAAS,CAAE,cAAY,CAA2C,EAC9F,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAe,aAAc,MAAM,GAC7C,iCAJkC,CAAE,MAAO,MAAO,qBCH3C,IAAMoB,EAAY,CAAA,EADzB,AACyB,EADzB,CAAA,CAAA,OACyB,uBAAA,AAAuB,EAC5C,WAAa,MAAM,AAAIC,MAAM,gOAAkO,EAC/P,qDACA,iFCHG,IAAMC,EAAmB,CAAA,EADhC,AACgC,EADhC,CAAA,CAAA,OACgC,uBAAA,AAAuB,EACnD,WAAa,MAAM,AAAID,MAAM,8OAAgP,EAC7Q,4DACA","ignoreList":[2,3]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[33828,a=>{var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(22126),f=a.i(88276),g=a.i(29660);let h={linked:{isFailure:!1,message:"Your Slack account is linked: message the fleet's bots in Slack"},refused:{isFailure:!0,message:"The link did not start here, took longer than ten minutes, or Slack refused it: press Link Slack again"},"not-connected":{isFailure:!0,message:"The fleet is connected to no Slack workspace now"},"other-workspace":{isFailure:!0,message:"You signed in to another Slack workspace than the fleet's: sign in to the connected workspace"},unavailable:{isFailure:!0,message:"Slack did not answer: press Link Slack again"},cancelled:{isFailure:!0,message:"The link was cancelled in Slack: nothing changed"},"no-person-ship":{isFailure:!0,message:"Your account has no person ship in this fleet"},"not-started":{isFailure:!0,message:"The link did not start: try again in a moment"}},i={"slack-user-linked":a=>`This Slack account is linked to ${a} in this fleet already`,"account-linked":a=>`Your account is linked to Slack as @${a} already: unlink it first`};var j=a.i(75658),k=a.i(38936),l=a.i(50919),m=a.i(60947),n=a.i(13597),o=a.i(39226),p=a.i(84287);function q({name:a,state:c}){return(0,b.jsxs)("div",{className:"flex flex-col rounded-md border border-border bg-card p-3",children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)("span",{className:"text-caption text-muted-foreground",children:c})]})}async function r({api:a,fleetId:c}){let{routing:d,wakeChannels:e,slackLink:g}=await (0,f.X)(a);return void 0===d?(0,b.jsx)("p",{className:"text-muted-foreground",children:"Only a person routes what reaches them: this account has no person ship in this fleet."}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("section",{className:"grid gap-2","aria-labelledby":"bridge-places-heading",children:[(0,b.jsx)("h2",{id:"bridge-places-heading",className:"text-section font-semibold",children:"The places"}),null==g?(0,b.jsx)(q,{name:"Slack",state:"Not connected: this fleet has no Slack workspace."}):(0,b.jsx)(o.SlackLinkPanel,{fleetId:c,slackLink:g}),(0,b.jsx)(q,{name:"A chat",state:"claude.ai or another MCP client, through the gateway: it lists what waits when you ask it."}),void 0===e||null===e.webPush.publicKey?(0,b.jsx)(q,{name:"Web push",state:"Not offered: this gateway sends no web push."}):(0,b.jsx)(p.WebPushPanel,{fleetId:c,webPushKey:e.webPush.publicKey,browsers:e.webPush.browsers}),(0,b.jsx)(q,{name:"Email",state:e?.email.isOffered===!0?"Says only that something waits, with a link here. Nothing is on until you turn it on.":"Not offered: this gateway sends no email."})]}),(0,b.jsx)(n.RoutingPanel,{fleetId:c,routing:d,isSlackLinked:g?.link!==null&&void 0!==g})]})}async function s({searchParams:a}){let n=await (0,d._)({path:g.i,searchParams:a});if("noSignIn"===n.kind)return(0,b.jsx)(e.f,{});let o=function({slack:a,name:b}){if("string"==typeof a)return Object.hasOwn(i,a)?"string"==typeof b?{isFailure:!0,message:i[a](b)}:void 0:Object.hasOwn(h,a)?h[a]:void 0}(a);return(0,b.jsxs)("div",{className:"grid gap-6",children:[(0,b.jsx)(m.LiveRefresh,{fleetId:n.fleetId}),(0,b.jsx)(j.f,{fleetId:n.fleetId,current:"settings",basketCount:await (0,f.W)(n.api)}),(0,b.jsx)("h1",{className:"text-heading font-semibold",children:"Where things show"}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"Per job, the places that show it besides Bridge. Bridge always keeps every item; a change applies at once and loses nothing."}),void 0===o?null:(0,b.jsx)(l.f,{message:o.message,isFailure:o.isFailure}),(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(k.f,{}),children:(0,b.jsx)(r,{api:n.api,fleetId:n.fleetId})})]})}async function t({searchParams:a}){return(0,b.jsx)(s,{searchParams:await a})}a.s(["default",0,t,"metadata",0,{title:"Where things show"}],33828)},90748,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call RoutingPanel() from the server but RoutingPanel 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.")},"[project]/web/features/bridge/state/routing-panel.tsx","RoutingPanel");a.s(["RoutingPanel",0,b])},13597,a=>{var b=a.i(90748);a.n(b)},60806,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call SlackLinkPanel() from the server but SlackLinkPanel 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.")},"[project]/web/features/bridge/state/slack-link-panel.tsx","SlackLinkPanel");a.s(["SlackLinkPanel",0,b])},39226,a=>{var b=a.i(60806);a.n(b)},69790,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call WebPushPanel() from the server but WebPushPanel 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.")},"[project]/web/features/bridge/state/web-push-panel.tsx","WebPushPanel");a.s(["WebPushPanel",0,b])},84287,a=>{var b=a.i(69790);a.n(b)}],75479,function(a){a.n(a.i(33828))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_1-hlf1xzemd3-._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/state/bridge-routing.tsx","../../../../../web/features/bridge/services/slack-link-outcomes.ts","../../../../../web/app/%28console%29/bridge/settings/routing/page.tsx","../../../../../web/features/bridge/state/routing-panel.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/routing-panel.tsx%22%20%7D","../../../../../web/features/bridge/state/slack-link-panel.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/slack-link-panel.tsx%22%20%7D","../../../../../web/features/bridge/state/web-push-panel.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/web-push-panel.tsx%22%20%7D"],"sourcesContent":["import { Suspense } from 'react';\n\nimport type { GatewayApi } from '../../../lib/gateway-api/gateway-api';\nimport { signedInPage, type SearchParams } from '../../../lib/gateway-api/page-api';\nimport { NoSignIn } from '../../sign-in/ui/no-sign-in';\nimport { readBasketCount, readBridgeRouting } from '../hooks/read-bridge';\nimport { BRIDGE_ROUTING_PATH } from '../paths';\nimport { slackLinkOutcomeOf } from '../services/slack-link-outcomes';\nimport { BridgeNav } from '../ui/bridge-nav';\nimport { BridgeSkeleton } from '../ui/bridge-skeleton';\nimport { Notice } from '../ui/notice';\nimport { LiveRefresh } from './live-refresh';\nimport { RoutingPanel } from './routing-panel';\nimport { SlackLinkPanel } from './slack-link-panel';\nimport { WebPushPanel } from './web-push-panel';\n\n/** A place on top of the page: its name and what it does. */\nfunction PlaceCard({ name, state }: { name: string; state: string }) {\n return (\n <div className=\"flex flex-col rounded-md border border-border bg-card p-3\">\n <span>{name}</span>\n <span className=\"text-caption text-muted-foreground\">{state}</span>\n </div>\n );\n}\n\nasync function RoutingParts({ api, fleetId }: { api: GatewayApi; fleetId: string }) {\n const { routing, wakeChannels, slackLink } = await readBridgeRouting(api);\n if (routing === undefined) {\n return <p className=\"text-muted-foreground\">Only a person routes what reaches them: this account has no person ship in this fleet.</p>;\n }\n return (\n <>\n <section className=\"grid gap-2\" aria-labelledby=\"bridge-places-heading\">\n <h2 id=\"bridge-places-heading\" className=\"text-section font-semibold\">\n The places\n </h2>\n {slackLink === undefined || slackLink === null ? <PlaceCard name=\"Slack\" state=\"Not connected: this fleet has no Slack workspace.\" /> : <SlackLinkPanel fleetId={fleetId} slackLink={slackLink} />}\n <PlaceCard name=\"A chat\" state=\"claude.ai or another MCP client, through the gateway: it lists what waits when you ask it.\" />\n {wakeChannels === undefined || wakeChannels.webPush.publicKey === null ? (\n <PlaceCard name=\"Web push\" state=\"Not offered: this gateway sends no web push.\" />\n ) : (\n <WebPushPanel fleetId={fleetId} webPushKey={wakeChannels.webPush.publicKey} browsers={wakeChannels.webPush.browsers} />\n )}\n <PlaceCard name=\"Email\" state={wakeChannels?.email.isOffered === true ? 'Says only that something waits, with a link here. Nothing is on until you turn it on.' : 'Not offered: this gateway sends no email.'} />\n </section>\n <RoutingPanel fleetId={fleetId} routing={routing} isSlackLinked={slackLink?.link !== null && slackLink !== undefined} />\n </>\n );\n}\n\n/**\n * Where things show (Bridge, section 8; the routing mockup): the places on\n * top, each with its state and its one action, then per job the places that\n * show it besides Bridge, which always keeps every item. It replaces the\n * Overview's Slack switch, its wake section and P-B5 (CC17). Signed out, the\n * browser goes to sign in before anything shows.\n */\nexport async function BridgeRoutingPage({ searchParams }: { searchParams: SearchParams }) {\n const page = await signedInPage({ path: BRIDGE_ROUTING_PATH, searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n const linked = slackLinkOutcomeOf(searchParams);\n return (\n <div className=\"grid gap-6\">\n <LiveRefresh fleetId={page.fleetId} />\n <BridgeNav fleetId={page.fleetId} current=\"settings\" basketCount={await readBasketCount(page.api)} />\n <h1 className=\"text-heading font-semibold\">Where things show</h1>\n <p className=\"text-muted-foreground\">Per job, the places that show it besides Bridge. Bridge always keeps every item; a change applies at once and loses nothing.</p>\n {linked === undefined ? null : <Notice message={linked.message} isFailure={linked.isFailure} />}\n <Suspense fallback={<BridgeSkeleton />}>\n <RoutingParts api={page.api} fleetId={page.fleetId} />\n </Suspense>\n </div>\n );\n}\n","/**\n * What Bridge's settings say of a Slack link (gateway scopes 9.3), by the\n * outcome the gateway's link door or the link page put in the address\n * (src/adapters/http/slack-routes.ts, web/app/(console)/slack/link): never\n * a text the address carries, but for the first link's name when a second\n * is refused.\n */\nimport type { SearchParams } from '../../../lib/gateway-api/page-api';\n\nconst OUTCOMES = {\n linked: { isFailure: false, message: \"Your Slack account is linked: message the fleet's bots in Slack\" },\n refused: { isFailure: true, message: 'The link did not start here, took longer than ten minutes, or Slack refused it: press Link Slack again' },\n 'not-connected': { isFailure: true, message: 'The fleet is connected to no Slack workspace now' },\n 'other-workspace': { isFailure: true, message: \"You signed in to another Slack workspace than the fleet's: sign in to the connected workspace\" },\n unavailable: { isFailure: true, message: 'Slack did not answer: press Link Slack again' },\n cancelled: { isFailure: true, message: 'The link was cancelled in Slack: nothing changed' },\n 'no-person-ship': { isFailure: true, message: 'Your account has no person ship in this fleet' },\n 'not-started': { isFailure: true, message: 'The link did not start: try again in a moment' },\n} as const;\n\nconst NAMED = {\n 'slack-user-linked': (name: string) => `This Slack account is linked to ${name} in this fleet already`,\n 'account-linked': (name: string) => `Your account is linked to Slack as @${name} already: unlink it first`,\n} as const;\n\nexport interface SlackLinkOutcome {\n readonly isFailure: boolean;\n readonly message: string;\n}\n\nfunction isOutcome(outcome: string): outcome is keyof typeof OUTCOMES {\n return Object.hasOwn(OUTCOMES, outcome);\n}\n\nfunction isNamed(outcome: string): outcome is keyof typeof NAMED {\n return Object.hasOwn(NAMED, outcome);\n}\n\nexport function slackLinkOutcomeOf({ slack, name }: SearchParams): SlackLinkOutcome | undefined {\n if (typeof slack !== 'string') {\n return undefined;\n }\n if (isNamed(slack)) {\n return typeof name === 'string' ? { isFailure: true, message: NAMED[slack](name) } : undefined;\n }\n return isOutcome(slack) ? OUTCOMES[slack] : undefined;\n}\n","import type { Metadata } from 'next';\n\nimport { BridgeRoutingPage } from '../../../../../features/bridge/state/bridge-routing';\nimport type { SearchParams } from '../../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Where things show' };\n\nexport default async function RoutingPage({ searchParams }: { searchParams: Promise<SearchParams> }) {\n return <BridgeRoutingPage searchParams={await searchParams} />;\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const RoutingPanel = registerClientReference(\n function() { throw new Error(\"Attempted to call RoutingPanel() from the server but RoutingPanel 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/bridge/state/routing-panel.tsx\",\n \"RoutingPanel\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const SlackLinkPanel = registerClientReference(\n function() { throw new Error(\"Attempted to call SlackLinkPanel() from the server but SlackLinkPanel 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/bridge/state/slack-link-panel.tsx\",\n \"SlackLinkPanel\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const WebPushPanel = registerClientReference(\n function() { throw new Error(\"Attempted to call WebPushPanel() from the server but WebPushPanel 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/bridge/state/web-push-panel.tsx\",\n \"WebPushPanel\",\n);\n"],"names":["OUTCOMES","linked","isFailure","message","refused","unavailable","cancelled","NAMED","name","isOutcome","outcome","Object","hasOwn","isNamed","slackLinkOutcomeOf","slack","undefined","RoutingPanel","Error","SlackLinkPanel","WebPushPanel"],"mappings":"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","ignoreList":[3,4,5]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[38010,a=>{var b=a.i(7997),c=a.i(66283),d=a.i(88276),e=a.i(29660),f=a.i(22126),g=a.i(94705),h=a.i(18734),i=a.i(68851),j=a.i(60947);async function k({requestId:a,searchParams:l}){let m=await (0,c._)({path:`${e.T}/requests/${encodeURIComponent(a)}`,searchParams:l});if("noSignIn"===m.kind)return(0,b.jsx)(f.f,{});let{fleetId:n,scopes:o}=m,{request:p,toDecide:q}=await (0,d.F)(m.api,a),r=`${e.T}?fleet=${encodeURIComponent(n)}`,s=(0,b.jsx)(h.f,{title:"Queue",requests:q,now:new Date,currentId:a,hrefOf:a=>`${e.T}/requests/${encodeURIComponent(a.requestId)}?fleet=${encodeURIComponent(n)}`});if(void 0===p)return(0,b.jsxs)("div",{className:"grid gap-6",children:[(0,b.jsx)(j.LiveRefresh,{fleetId:n}),(0,b.jsxs)("section",{"data-testid":"bridge-no-longer-waits",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 request no longer waits for a decision"}),(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)("a",{href:r,className:"inline-flex h-9 items-center rounded-md bg-primary px-4 text-primary-foreground hover:bg-primary-hover",children:"Back to Bridge's settings"})})]})]});let t=await (0,c.F)(m.api.parties.ownerChoices.query()),u=p.requesters.length;return(0,b.jsxs)("div",{className:"grid gap-6",children:[(0,b.jsx)(j.LiveRefresh,{fleetId:n}),(0,b.jsx)("h1",{className:"text-heading font-semibold",children:"To decide"}),(0,b.jsxs)("div",{className:"grid gap-6 md:grid-cols-[1fr_18rem]",children:[(0,b.jsxs)("div",{className:"grid content-start gap-4",children:[(0,b.jsxs)("section",{className:"grid justify-items-center gap-1 rounded-lg border border-border bg-card p-6 text-center",children:[(0,b.jsx)("span",{className:"text-section font-semibold",children:(0,g.M)(p)}),(0,b.jsxs)("span",{className:"text-caption text-muted-foreground",children:[(0,g.E)(p)," · ",u," ",1===u?"requester":"requesters"]})]}),(0,b.jsx)(i.DecisionPanel,{fleetId:n,request:p,heldScopes:o,owners:t})]}),(0,b.jsx)("aside",{children:s})]})]})}async function l({params:a,searchParams:c}){let[{requestId:d},e]=await Promise.all([a,c]);return(0,b.jsx)(k,{requestId:d,searchParams:e})}a.s(["default",0,l,"metadata",0,{title:"To decide"}],38010)},5586,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call DecisionPanel() from the server but DecisionPanel 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.")},"[project]/web/features/bridge/state/decision-panel.tsx","DecisionPanel");a.s(["DecisionPanel",0,b])},68851,a=>{var b=a.i(5586);a.n(b)}],83781,function(a){a.n(a.i(38010))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_107a79_nx4jdd._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/state/request-to-decide.tsx","../../../../../web/app/%28console%29/bridge/settings/requests/%5BrequestId%5D/page.tsx","../../../../../web/features/bridge/state/decision-panel.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/decision-panel.tsx%22%20%7D"],"sourcesContent":["import { readOf, signedInPage, type SearchParams } from '../../../lib/gateway-api/page-api';\nimport { readRequestToDecide } from '../hooks/read-bridge';\nimport { BRIDGE_SETTINGS_PATH } from '../paths';\nimport { NoSignIn } from '../../sign-in/ui/no-sign-in';\nimport { subjectKind, subjectName } from '../services/requests';\nimport { RequestsList } from '../ui/requests-list';\nimport { DecisionPanel } from './decision-panel';\nimport { LiveRefresh } from './live-refresh';\n\n/**\n * One request to decide, with its decision beside the queue (decision\n * 0056). The queue stays live; a request decided elsewhere meanwhile no\n * longer waits here.\n */\nexport async function RequestToDecide({ requestId, searchParams }: { requestId: string; searchParams: SearchParams }) {\n const page = await signedInPage({ path: `${BRIDGE_SETTINGS_PATH}/requests/${encodeURIComponent(requestId)}`, searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n const { fleetId, scopes } = page;\n const { request, toDecide } = await readRequestToDecide(page.api, requestId);\n const settings = `${BRIDGE_SETTINGS_PATH}?fleet=${encodeURIComponent(fleetId)}`;\n const queue = (\n <RequestsList title=\"Queue\" requests={toDecide} now={new Date()} currentId={requestId} hrefOf={(other) => `${BRIDGE_SETTINGS_PATH}/requests/${encodeURIComponent(other.requestId)}?fleet=${encodeURIComponent(fleetId)}`} />\n );\n if (request === undefined) {\n return (\n <div className=\"grid gap-6\">\n <LiveRefresh fleetId={fleetId} />\n <section data-testid=\"bridge-no-longer-waits\" className=\"rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm\">\n <h2 className=\"text-heading font-semibold\">This request no longer waits for a decision</h2>\n <div className=\"mt-4\">\n <a href={settings} className=\"inline-flex h-9 items-center rounded-md bg-primary px-4 text-primary-foreground hover:bg-primary-hover\">\n Back to Bridge's settings\n </a>\n </div>\n </section>\n </div>\n );\n }\n const owners = await readOf(page.api.parties.ownerChoices.query());\n const requesters = request.requesters.length;\n return (\n <div className=\"grid gap-6\">\n <LiveRefresh fleetId={fleetId} />\n <h1 className=\"text-heading font-semibold\">To decide</h1>\n <div className=\"grid gap-6 md:grid-cols-[1fr_18rem]\">\n <div className=\"grid content-start gap-4\">\n <section className=\"grid justify-items-center gap-1 rounded-lg border border-border bg-card p-6 text-center\">\n <span className=\"text-section font-semibold\">{subjectName(request)}</span>\n <span className=\"text-caption text-muted-foreground\">\n {subjectKind(request)} · {requesters} {requesters === 1 ? 'requester' : 'requesters'}\n </span>\n </section>\n <DecisionPanel fleetId={fleetId} request={request} heldScopes={scopes} owners={owners} />\n </div>\n <aside>{queue}</aside>\n </div>\n </div>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { RequestToDecide } from '../../../../../../features/bridge/state/request-to-decide';\nimport type { SearchParams } from '../../../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'To decide' };\n\nexport default async function RequestToDecidePage({ params, searchParams }: { params: Promise<{ requestId: string }>; searchParams: Promise<SearchParams> }) {\n const [{ requestId }, query] = await Promise.all([params, searchParams]);\n return <RequestToDecide requestId={requestId} searchParams={query} />;\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const DecisionPanel = registerClientReference(\n function() { throw new Error(\"Attempted to call DecisionPanel() from the server but DecisionPanel 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/bridge/state/decision-panel.tsx\",\n \"DecisionPanel\",\n);\n"],"names":["RequestToDecide","requestId","searchParams","page","path","encodeURIComponent","kind","fleetId","scopes","request","toDecide","api","settings","queue","title","requests","now","Date","currentId","hrefOf","other","undefined","className","href","owners","parties","ownerChoices","query","requesters","length","heldScopes","DecisionPanel","Error"],"mappings":"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","ignoreList":[2]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[81397,a=>{var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(22126),f=a.i(88276),g=a.i(29660),h=a.i(75658),i=a.i(38936),j=a.i(91026),k=a.i(60947),l=a.i(17006);async function m({api:a,fleetId:c}){let d=await (0,f.M)(a);switch(d.kind){case"read":return(0,b.jsx)(j.BasketPanel,{fleetId:c,basket:d.value});case"none":return(0,b.jsx)(j.BasketPanel,{fleetId:c,basket:{toSend:0,entries:[]}});case"unreadable":return(0,b.jsx)(l.RecordUnreadable,{message:d.message})}}async function n({searchParams:a}){let j=await (0,d._)({path:g.H,searchParams:a});return"noSignIn"===j.kind?(0,b.jsx)(e.f,{}):(0,b.jsxs)("div",{className:"grid gap-6",children:[(0,b.jsx)(k.LiveRefresh,{fleetId:j.fleetId}),(0,b.jsx)(h.f,{fleetId:j.fleetId,current:"basket",basketCount:await (0,f.W)(j.api)}),(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(i.f,{}),children:(0,b.jsx)(m,{api:j.api,fleetId:j.fleetId})})]})}async function o({searchParams:a}){return(0,b.jsx)(n,{searchParams:await a})}a.s(["default",0,o,"metadata",0,{title:"Basket"}],81397)},75,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call BasketPanel() from the server but BasketPanel 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.")},"[project]/web/features/bridge/state/basket-panel.tsx","BasketPanel");a.s(["BasketPanel",0,b])},91026,a=>{var b=a.i(75);a.n(b)},34494,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call RecordUnreadable() from the server but RecordUnreadable 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.")},"[project]/web/features/bridge/state/record-unreadable.tsx","RecordUnreadable");a.s(["RecordUnreadable",0,b])},17006,a=>{var b=a.i(34494);a.n(b)}],23253,function(a){a.n(a.i(81397))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_127_b93avkwaq._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/state/bridge-basket.tsx","../../../../../web/app/%28console%29/bridge/basket/page.tsx","../../../../../web/features/bridge/state/basket-panel.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/basket-panel.tsx%22%20%7D","../../../../../web/features/bridge/state/record-unreadable.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/record-unreadable.tsx%22%20%7D"],"sourcesContent":["import { Suspense } from 'react';\n\nimport type { GatewayApi } from '../../../lib/gateway-api/gateway-api';\nimport { signedInPage, type SearchParams } from '../../../lib/gateway-api/page-api';\nimport { NoSignIn } from '../../sign-in/ui/no-sign-in';\nimport { readBasket, readBasketCount } from '../hooks/read-bridge';\nimport { BRIDGE_BASKET_PATH } from '../paths';\nimport { BridgeNav } from '../ui/bridge-nav';\nimport { BridgeSkeleton } from '../ui/bridge-skeleton';\nimport { BasketPanel } from './basket-panel';\nimport { LiveRefresh } from './live-refresh';\nimport { RecordUnreadable } from './record-unreadable';\n\nasync function BasketParts({ api, fleetId }: { api: GatewayApi; fleetId: string }) {\n const read = await readBasket(api);\n switch (read.kind) {\n case 'read':\n return <BasketPanel fleetId={fleetId} basket={read.value} />;\n case 'none':\n return <BasketPanel fleetId={fleetId} basket={{ toSend: 0, entries: [] }} />;\n case 'unreadable':\n return <RecordUnreadable message={read.message} />;\n }\n}\n\n/**\n * The basket (docs/design/bridge, section 9; CC21): the answers the person\n * picked in Bridge and has not sent, kept by the gateway, so another device\n * shows the same basket. It reads itself again whenever the person ship's\n * items change, as while its answers are being sent.\n */\nexport async function BridgeBasketPage({ searchParams }: { searchParams: SearchParams }) {\n const page = await signedInPage({ path: BRIDGE_BASKET_PATH, searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n return (\n <div className=\"grid gap-6\">\n <LiveRefresh fleetId={page.fleetId} />\n <BridgeNav fleetId={page.fleetId} current=\"basket\" basketCount={await readBasketCount(page.api)} />\n <Suspense fallback={<BridgeSkeleton />}>\n <BasketParts api={page.api} fleetId={page.fleetId} />\n </Suspense>\n </div>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { BridgeBasketPage } from '../../../../features/bridge/state/bridge-basket';\nimport type { SearchParams } from '../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Basket' };\n\nexport default async function BasketPage({ searchParams }: { searchParams: Promise<SearchParams> }) {\n return <BridgeBasketPage searchParams={await searchParams} />;\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const BasketPanel = registerClientReference(\n function() { throw new Error(\"Attempted to call BasketPanel() from the server but BasketPanel 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/bridge/state/basket-panel.tsx\",\n \"BasketPanel\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const RecordUnreadable = registerClientReference(\n function() { throw new Error(\"Attempted to call RecordUnreadable() from the server but RecordUnreadable 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/bridge/state/record-unreadable.tsx\",\n \"RecordUnreadable\",\n);\n"],"names":["BasketParts","api","fleetId","read","kind","basket","value","toSend","entries","message","BridgeBasketPage","searchParams","page","path","className","current","basketCount","fallback","BasketPanel","Error","RecordUnreadable"],"mappings":"2CAAA,EAAA,EAAA,CAAA,CAAA,KAGA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAEA,eAAeA,EAAY,KAAEC,CAAG,SAAEC,CAAO,CAAwC,EAC/E,IAAMC,EAAO,MAAM,CAAA,EAAA,EAAA,CAAA,AAAU,EAACF,GAC9B,OAAQE,EAAKC,IAAI,EACf,IAAK,OACH,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,WAAW,CAAA,CAACF,QAASA,EAASG,OAAQF,EAAKG,KAAK,EAC1D,KAAK,OACH,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,WAAW,CAAA,CAACJ,QAASA,EAASG,OAAQ,CAAEE,OAAQ,EAAGC,QAAS,EAAE,AAAC,GACzE,KAAK,aACH,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,CAACC,QAASN,EAAKM,OAAO,EAClD,CACF,CAQO,eAAeC,EAAiB,cAAEC,CAAY,CAAkC,EACrF,IAAMC,EAAO,MAAM,CAAA,EAAA,EAAA,CAAA,AAAY,EAAC,CAAEC,KAAM,EAAA,CAAkB,cAAEF,CAAa,SACzE,AAAkB,YAAY,CAA1BC,EAAKR,IAAI,CACJ,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAQ,CAAA,CAAA,GAGhB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIU,UAAU,uBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,WAAW,CAAA,CAACZ,QAASU,EAAKV,OAAO,GAClC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,CAAA,CAACA,QAASU,EAAKV,OAAO,CAAEa,QAAQ,SAASC,YAAa,MAAM,CAAA,EAAA,EAAA,CAAA,AAAe,EAACJ,EAAKX,GAAG,IAC9F,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,CAACgB,SAAU,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,CAAA,CAAA,YACjC,CAAA,EAAA,EAAA,GAAA,EAACjB,EAAAA,CAAYC,IAAKW,EAAKX,GAAG,CAAEC,QAASU,EAAKV,OAAO,OAIzD,CCtCe,eAAe,EAAW,cAAE,CAAY,CAA2C,EAChG,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAiB,aAAc,MAAM,GAC/C,iCAJkC,CAAE,MAAO,QAAS,kBCH7C,IAAMgB,EAAc,CAAA,EAD3B,AAC2B,EAD3B,CAAA,CAAA,OAC2B,uBAAA,AAAuB,EAC9C,WAAa,MAAM,AAAIC,MAAM,oOAAsO,EACnQ,uDACA,mFCHG,IAAMC,EAAmB,CAAA,EADhC,AACgC,EADhC,CAAA,CAAA,OACgC,uBAAA,AAAuB,EACnD,WAAa,MAAM,AAAID,MAAM,8OAAgP,EAC7Q,4DACA","ignoreList":[2,3]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[45419,a=>{"use strict";var b=a.i(70043),c=a.i(43889);a.S([b,"400c56f98daea692f14f4050874c69aaecc487ee9a,f",0,c,"408a5fadf58977f6b55557119e3557d884605ebbcf,y,409343274cfb1997696f97d13e70128feeaadc81b0,G,40b44086e3707ca8b788d4ad4b3ef6615138ffe27a,K,40edad5bc6caa482ec57bdf504a9545c453e286344,q,6013ebd954e4b9b9c2c4a85c94c4fc1f4786952324,v,60573c940559fe36ec3489b04906d9407ddf5822ef,D"],45419)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web__next-internal_server_app_%28console%29_bridge_basket_page_actions_102xk3g8eko_q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/.next-internal/server/app/%28console%29/bridge/basket/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '400c56f98daea692f14f4050874c69aaecc487ee9a'} from 'ACTIONS_MODULE0'\nexport {removeFromBasket as '60573c940559fe36ec3489b04906d9407ddf5822ef'} from 'ACTIONS_MODULE1'\nexport {sendBasket as '40b44086e3707ca8b788d4ad4b3ef6615138ffe27a'} from 'ACTIONS_MODULE1'\nexport {answerDelivery as '40edad5bc6caa482ec57bdf504a9545c453e286344'} from 'ACTIONS_MODULE1'\nexport {doneDelivery as '409343274cfb1997696f97d13e70128feeaadc81b0'} from 'ACTIONS_MODULE1'\nexport {openDelivery as '6013ebd954e4b9b9c2c4a85c94c4fc1f4786952324'} from 'ACTIONS_MODULE1'\nexport {putInBasket as '408a5fadf58977f6b55557119e3557d884605ebbcf'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[65146,a=>{"use strict";var b=a.i(70043),c=a.i(43889);a.S([b,"400c56f98daea692f14f4050874c69aaecc487ee9a,f",0,c,"408a5fadf58977f6b55557119e3557d884605ebbcf,y,409343274cfb1997696f97d13e70128feeaadc81b0,G,40edad5bc6caa482ec57bdf504a9545c453e286344,q,6013ebd954e4b9b9c2c4a85c94c4fc1f4786952324,v,603b4af3b6ef322d88de132c92a8286173f7a791b6,F,60573c940559fe36ec3489b04906d9407ddf5822ef,D"],65146)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web__next-internal_server_app_%28console%29_bridge_done_page_actions_0mm90xd2feta2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/.next-internal/server/app/%28console%29/bridge/done/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '400c56f98daea692f14f4050874c69aaecc487ee9a'} from 'ACTIONS_MODULE0'\nexport {readMoreRecord as '603b4af3b6ef322d88de132c92a8286173f7a791b6'} from 'ACTIONS_MODULE1'\nexport {answerDelivery as '40edad5bc6caa482ec57bdf504a9545c453e286344'} from 'ACTIONS_MODULE1'\nexport {doneDelivery as '409343274cfb1997696f97d13e70128feeaadc81b0'} from 'ACTIONS_MODULE1'\nexport {openDelivery as '6013ebd954e4b9b9c2c4a85c94c4fc1f4786952324'} from 'ACTIONS_MODULE1'\nexport {putInBasket as '408a5fadf58977f6b55557119e3557d884605ebbcf'} from 'ACTIONS_MODULE1'\nexport {removeFromBasket as '60573c940559fe36ec3489b04906d9407ddf5822ef'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[91409,a=>{"use strict";var b=a.i(70043),c=a.i(43889);a.S([b,"400c56f98daea692f14f4050874c69aaecc487ee9a,f",0,c,"408a5fadf58977f6b55557119e3557d884605ebbcf,y,409343274cfb1997696f97d13e70128feeaadc81b0,G,40edad5bc6caa482ec57bdf504a9545c453e286344,q,6013ebd954e4b9b9c2c4a85c94c4fc1f4786952324,v,60573c940559fe36ec3489b04906d9407ddf5822ef,D"],91409)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web__next-internal_server_app_%28console%29_bridge_page_actions_082880qz6xa5k.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/.next-internal/server/app/%28console%29/bridge/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '400c56f98daea692f14f4050874c69aaecc487ee9a'} from 'ACTIONS_MODULE0'\nexport {answerDelivery as '40edad5bc6caa482ec57bdf504a9545c453e286344'} from 'ACTIONS_MODULE1'\nexport {doneDelivery as '409343274cfb1997696f97d13e70128feeaadc81b0'} from 'ACTIONS_MODULE1'\nexport {openDelivery as '6013ebd954e4b9b9c2c4a85c94c4fc1f4786952324'} from 'ACTIONS_MODULE1'\nexport {putInBasket as '408a5fadf58977f6b55557119e3557d884605ebbcf'} from 'ACTIONS_MODULE1'\nexport {removeFromBasket as '60573c940559fe36ec3489b04906d9407ddf5822ef'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[85965,a=>{"use strict";let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/web/app/(console)/bridge/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/(console)/bridge/error.tsx","default");a.s(["default",0,b])},83049,a=>{"use strict";var b=a.i(85965);a.n(b)},21800,function(a){a.n(a.i(83049))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_app_%28console%29_bridge_error_tsx_0ty_yk1robyaj._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/app/%28console%29/bridge/error.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/app/%28console%29/bridge/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/(console)/bridge/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/(console)/bridge/error.tsx\",\n \"default\",\n);\n"],"names":["Error"],"mappings":"6CAEe,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIA,MAAM,gRAAkR,EAC/S,+CACA","ignoreList":[0]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[10110,a=>{"use strict";var b=a.i(87924);function c({message:a,onTryAgain:d}){return(0,b.jsxs)("section",{role:"alert",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:"Bridge could not be read"}),(0,b.jsxs)("p",{"data-testid":"bridge-failed-reason",className:"mt-2 text-muted-foreground",children:[""===a?"The gateway did not answer.":a," Try again in a moment."]}),(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)("button",{type:"button",onClick:d,className:"inline-flex h-9 items-center rounded-md bg-primary px-4 text-primary-foreground hover:bg-primary-hover",children:"Try again"})})]})}a.s(["default",0,function({error:a,reset:d}){return(0,b.jsx)(c,{message:a.message,onTryAgain:d})}],10110)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_app_%28console%29_bridge_error_tsx_10gkrn3ey8162._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/ui/bridge-failed.tsx","../../../../../web/app/%28console%29/bridge/error.tsx"],"sourcesContent":["/** A page of Bridge could not be read: why, and the way to try again. */\nexport function BridgeFailed({ 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\">Bridge could not be read</h2>\n <p data-testid=\"bridge-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 { BridgeFailed } from '../../../features/bridge/ui/bridge-failed';\n\nexport default function BridgeError({ error, reset }: { error: Error; reset: () => void }) {\n return <BridgeFailed message={error.message} onTryAgain={reset} />;\n}\n"],"names":["BridgeFailed","message","onTryAgain","role","className","type","onClick"],"mappings":"wDACO,SAASA,EAAa,SAAEC,CAAO,YAAEC,CAAU,CAA+C,EAC/F,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,UAAA,CAAQC,KAAK,QAAQC,UAAU,uFAC9B,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAGA,UAAU,sCAA6B,6BAC3C,CAAA,EAAA,EAAA,IAAA,EAAC,IAAA,CAAE,cAAY,uBAAuBA,UAAU,uCACjC,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,kBCXeH,SAASC,AAAY,OAAE,CAAK,OAAE,CAAK,CAAuC,EACvF,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAa,QAAS,EAAM,OAAO,CAAE,WAAY,GAC3D"}
|
package/web/.next/server/chunks/ssr/web_app_(console)_bridge_settings_page_tsx_0xzphp7k9ge1u._.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[11169,a=>{"use strict";var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(22126),f=a.i(88276),g=a.i(55476),h=a.i(29660),i=a.i(75658),j=a.i(38936),k=a.i(50919),l=a.i(18734),m=a.i(60947);let n={approve:"You approved the request.",deny:"You denied the request."};async function o({api:a,fleetId:c}){let{toDecide:d,mine:e}=await (0,f.n)(a),g=new Date;return(0,b.jsxs)(b.Fragment,{children:[void 0===d?null:0===d.length?(0,b.jsx)("p",{className:"text-muted-foreground",children:"No request waits for a decision."}):(0,b.jsx)(l.f,{title:"To decide",requests:d,now:g,hrefOf:a=>`${h.T}/requests/${encodeURIComponent(a.requestId)}?fleet=${encodeURIComponent(c)}`}),void 0===e||0===e.length?null:(0,b.jsx)(l.f,{title:"Your requests",requests:e,now:g})]})}async function p({searchParams:a}){let l=await (0,d._)({path:h.T,searchParams:a});if("noSignIn"===l.kind)return(0,b.jsx)(e.f,{});let{decided:q}=a,r="string"==typeof q?n[q]:void 0;return(0,b.jsxs)("div",{className:"grid gap-6",children:[(0,b.jsx)(m.LiveRefresh,{fleetId:l.fleetId}),(0,b.jsx)(i.f,{fleetId:l.fleetId,current:"settings",basketCount:await (0,f.W)(l.api)}),(0,b.jsx)("h1",{className:"text-heading font-semibold",children:"Settings"}),(0,b.jsxs)("a",{href:(0,g.i)(h.i,l.fleetId),"data-testid":"bridge-settings-routing",className:"flex flex-col rounded-md border border-border bg-card p-3 hover:bg-accent",children:[(0,b.jsx)("span",{children:"Where things show"}),(0,b.jsx)("span",{className:"text-caption text-muted-foreground",children:"Per job, Slack, a chat, web push and email besides Bridge."})]}),void 0===r?null:(0,b.jsx)(k.f,{message:r,isFailure:!1}),(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(j.f,{}),children:(0,b.jsx)(o,{api:l.api,fleetId:l.fleetId})})]})}async function q({searchParams:a}){return(0,b.jsx)(p,{searchParams:await a})}a.s(["default",0,q,"metadata",0,{title:"Bridge settings"}],11169)},12137,function(a){a.n(a.i(11169))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_app_%28console%29_bridge_settings_page_tsx_0xzphp7k9ge1u._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/state/bridge-settings.tsx","../../../../../web/app/%28console%29/bridge/settings/page.tsx"],"sourcesContent":["import { Suspense } from 'react';\n\nimport type { GatewayApi } from '../../../lib/gateway-api/gateway-api';\nimport { signedInPage, type SearchParams } from '../../../lib/gateway-api/page-api';\nimport { NoSignIn } from '../../sign-in/ui/no-sign-in';\nimport { readBasketCount, readBridgeSettings } from '../hooks/read-bridge';\nimport { inFleet } from '../../../lib/gateway-api/page-account';\nimport { BRIDGE_ROUTING_PATH, BRIDGE_SETTINGS_PATH } from '../paths';\nimport { BridgeNav } from '../ui/bridge-nav';\nimport { BridgeSkeleton } from '../ui/bridge-skeleton';\nimport { Notice } from '../ui/notice';\nimport { RequestsList } from '../ui/requests-list';\nimport { LiveRefresh } from './live-refresh';\n\n/** What a decision the person just made came to, said once they are back. */\nconst DECIDED: Record<string, string> = {\n approve: 'You approved the request.',\n deny: 'You denied the request.',\n};\n\nasync function SettingsParts({ api, fleetId }: { api: GatewayApi; fleetId: string }) {\n const { toDecide, mine } = await readBridgeSettings(api);\n const now = new Date();\n return (\n <>\n {toDecide === undefined ? null : toDecide.length === 0 ? (\n <p className=\"text-muted-foreground\">No request waits for a decision.</p>\n ) : (\n <RequestsList title=\"To decide\" requests={toDecide} now={now} hrefOf={(request) => `${BRIDGE_SETTINGS_PATH}/requests/${encodeURIComponent(request.requestId)}?fleet=${encodeURIComponent(fleetId)}`} />\n )}\n {mine === undefined || mine.length === 0 ? null : <RequestsList title=\"Your requests\" requests={mine} now={now} />}\n </>\n );\n}\n\n/**\n * Bridge's settings (CC18): what the Overview held beside its inbox. Where\n * things show, a page of its own (section 8), the requests to decide for an\n * approver, oldest first, and the requests they asked. Signed out,\n * the browser goes to sign in before anything shows; it reads itself again\n * whenever the fleet's requests change.\n */\nexport async function BridgeSettingsPage({ searchParams }: { searchParams: SearchParams }) {\n const page = await signedInPage({ path: BRIDGE_SETTINGS_PATH, searchParams });\n if (page.kind === 'noSignIn') {\n return <NoSignIn />;\n }\n const { decided } = searchParams;\n const said = typeof decided === 'string' ? DECIDED[decided] : undefined;\n return (\n <div className=\"grid gap-6\">\n <LiveRefresh fleetId={page.fleetId} />\n <BridgeNav fleetId={page.fleetId} current=\"settings\" basketCount={await readBasketCount(page.api)} />\n <h1 className=\"text-heading font-semibold\">Settings</h1>\n <a href={inFleet(BRIDGE_ROUTING_PATH, page.fleetId)} data-testid=\"bridge-settings-routing\" className=\"flex flex-col rounded-md border border-border bg-card p-3 hover:bg-accent\">\n <span>Where things show</span>\n <span className=\"text-caption text-muted-foreground\">Per job, Slack, a chat, web push and email besides Bridge.</span>\n </a>\n {said === undefined ? null : <Notice message={said} isFailure={false} />}\n <Suspense fallback={<BridgeSkeleton />}>\n <SettingsParts api={page.api} fleetId={page.fleetId} />\n </Suspense>\n </div>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { BridgeSettingsPage } from '../../../../features/bridge/state/bridge-settings';\nimport type { SearchParams } from '../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Bridge settings' };\n\nexport default async function SettingsPage({ searchParams }: { searchParams: Promise<SearchParams> }) {\n return <BridgeSettingsPage searchParams={await searchParams} />;\n}\n"],"names":["DECIDED","approve","deny","SettingsParts","api","fleetId","toDecide","mine","now","Date","undefined","length","className","title","requests","hrefOf","request","encodeURIComponent","requestId","BridgeSettingsPage","searchParams","page","path","kind","decided","said","current","basketCount","href","message","isFailure","fallback"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[80098,a=>{"use strict";var b=a.i(7997),c=a.i(55476),d=a.i(66283),e=a.i(69372),f=a.i(49144),g=a.i(69912),h=a.i(72913),i=a.i(
|
|
1
|
+
module.exports=[80098,a=>{"use strict";var b=a.i(7997),c=a.i(55476),d=a.i(66283),e=a.i(69372),f=a.i(49144),g=a.i(69912),h=a.i(72913),i=a.i(43496),j=a.i(18379),k=a.i(9181);let l={"messages:send":"Send","messages:receive":"Receive","fleet:read":"Read the fleet"};function m({scope:a,isLocked:c=!1,isChecked:d=!1}){return(0,b.jsxs)("label",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{type:"checkbox",defaultChecked:!!c||d,disabled:c,...c?{}:{name:`${j.u}${a}`}}),(0,b.jsx)("span",{children:l[a]??a}),(0,b.jsx)("span",{className:"font-mono text-code text-muted-foreground",children:a}),c?(0,b.jsx)("span",{className:"text-muted-foreground",children:"(locked)"}):null]})}async function n({page:a,name:l}){let{api:o,fleetId:p,scopes:q}=a,r=await (0,d.F)(o.parties.get.query({name:l}));if(!r.isOk)return(0,b.jsxs)("div",{className:"grid gap-4",children:[(0,b.jsx)(k.W,{fleetId:p}),(0,b.jsx)(k.y,{children:r.refusal})]});let s=r.value,t=q.includes(k.J)?await (0,d.F)(o.parties.ownerChoices.query()):void 0,u=s.scopes,v=q.filter(a=>!j._.includes(a)),w=null===u?[]:u.filter(a=>!j._.includes(a)&&!v.includes(a));return(0,b.jsxs)("div",{className:"grid gap-4",children:[(0,b.jsx)(k.W,{fleetId:p}),(0,b.jsxs)("section",{className:`${f.r} grid gap-3`,children:[(0,b.jsxs)("h2",{className:"text-section font-semibold",children:[s.name,": owner and scopes"]}),(0,b.jsxs)(e.ActionForm,{action:i.v,fleetId:p,submit:{label:"Save",pending:"Saving…"},testId:"outside-party-change-form",children:[(0,b.jsx)("input",{type:"hidden",name:"name",value:s.name}),void 0===t?null:t.isOk?(0,b.jsx)(g.f,{choices:t.value,current:null===s.ownerShipId?null:{shipId:s.ownerShipId,name:s.ownerName??s.ownerShipId},help:"A person ship or argo. It answers for this party."}):(0,b.jsx)(k.y,{children:t.refusal}),q.includes(k.p)&&null!==u?(0,b.jsxs)("fieldset",{className:"grid gap-2",children:[(0,b.jsx)("legend",{className:"font-medium",children:"Scopes"}),(0,b.jsx)("input",{type:"hidden",name:j.e,value:"true"}),j._.map(a=>(0,b.jsx)(m,{scope:a,isLocked:!0},a)),v.map(a=>(0,b.jsx)(m,{scope:a,isChecked:u.includes(a)},a)),w.map(a=>(0,b.jsx)(m,{scope:a,isLocked:!0},a))]}):null]}),(0,b.jsx)("div",{children:(0,b.jsx)("a",{className:f.x.secondary,href:(0,c.i)((0,h.N)(s.name),p),children:"Cancel"})})]})]})}var o=a.i(22126);async function p({params:a,searchParams:c}){let{name:e}=await a,f=await (0,d._)({path:(0,h.N)(e,"change"),searchParams:await c});return"noSignIn"===f.kind?(0,b.jsx)(o.f,{}):(0,b.jsx)(n,{page:f,name:e})}a.s(["default",0,p,"metadata",0,{title:"Outside parties"}],80098)},44910,function(a){a.n(a.i(80098))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=web_app_%28console%29_outside-parties_%5Bname%5D_change_page_tsx_00bpg0s2eypj9._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[30754,a=>{"use strict";var b=a.i(7997),c=a.i(55476),d=a.i(66283),e=a.i(69372),f=a.i(49144),g=a.i(72913),h=a.i(
|
|
1
|
+
module.exports=[30754,a=>{"use strict";var b=a.i(7997),c=a.i(55476),d=a.i(66283),e=a.i(69372),f=a.i(49144),g=a.i(72913),h=a.i(43496),i=a.i(9181);async function j({page:a,name:k}){let{api:l,fleetId:m}=a,n=await (0,d.F)(l.parties.get.query({name:k}));if(!n.isOk)return(0,b.jsxs)("div",{className:"grid gap-4",children:[(0,b.jsx)(i.W,{fleetId:m}),(0,b.jsx)(i.y,{children:n.refusal})]});let o=n.value;return(0,b.jsxs)("div",{className:"grid gap-4",children:[(0,b.jsx)(i.W,{fleetId:m}),(0,b.jsxs)("section",{className:`${f.r} grid gap-3`,children:[(0,b.jsxs)("h2",{className:"text-heading font-semibold",children:["Retire ",o.name,"?"]}),(0,b.jsxs)("ul",{className:"list-disc pl-5",children:[(0,b.jsx)("li",{children:null===o.proxyShipId?"Its proxy ship is retired":(0,b.jsxs)(b.Fragment,{children:["Its proxy ship ",(0,b.jsx)("span",{className:"font-mono",children:o.proxyShipId})," is retired"]})}),(0,b.jsx)("li",{children:"The ships that used it lose its tools"}),(0,b.jsx)("li",{children:"Adding it again is a new request"})]}),(0,b.jsx)(e.ActionForm,{action:h.t,fleetId:m,submit:{label:`Retire ${o.name}`,pending:"Retiring…",kind:"destructive"},testId:"outside-party-retire-form",children:(0,b.jsx)("input",{type:"hidden",name:"name",value:o.name})}),(0,b.jsx)("div",{children:(0,b.jsx)("a",{className:f.x.secondary,href:(0,c.i)((0,g.N)(o.name),m),children:"Cancel"})})]})]})}var k=a.i(22126);async function l({params:a,searchParams:c}){let{name:e}=await a,f=await (0,d._)({path:(0,g.N)(e,"retire"),searchParams:await c});return"noSignIn"===f.kind?(0,b.jsx)(k.f,{}):(0,b.jsx)(j,{page:f,name:e})}a.s(["default",0,l,"metadata",0,{title:"Outside parties"}],30754)},81356,function(a){a.n(a.i(30754))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=web_app_%28console%29_outside-parties_%5Bname%5D_retire_page_tsx_1zxy74pr5_2kn._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[16550,a=>{a.s(["H",0,"/bridge/basket","T",0,"/bridge/settings"])},3656,a=>{var b=a.i(72131),c=a.i(50944);a.s(["LiveRefresh",0,function({fleetId:a}){let d;return d=(0,c.useRouter)(),(0,b.useEffect)(()=>{let b=new EventSource(`/bridge/changes?fleet=${encodeURIComponent(a)}`);return b.onmessage=()=>{d.refresh()},()=>{b.close()}},[a,d]),(0,b.useEffect)(()=>{let b,c=()=>{let c="visible"===document.visibilityState&&document.hasFocus();c&&void 0===b?b=new EventSource(`/bridge/focus?fleet=${encodeURIComponent(a)}`):c||void 0===b||(b.close(),b=void 0)};return c(),window.addEventListener("focus",c),window.addEventListener("blur",c),document.addEventListener("visibilitychange",c),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",c),document.removeEventListener("visibilitychange",c),b?.close()}},[a]),null}],3656)},32043,a=>{var b=a.i(87924);let c={primary:"bg-primary text-primary-foreground hover:bg-primary-hover",secondary:"border border-border bg-card text-card-foreground hover:bg-accent"};a.s(["f",0,function({isPending:a,pendingLabel:d,variant:e="secondary",children:f,className:g="",disabled:h,...i}){return(0,b.jsx)("button",{...i,disabled:!0===h||a,"aria-busy":a,className:`inline-flex h-9 items-center gap-2 rounded-md px-4 disabled:cursor-not-allowed disabled:opacity-70 ${c[e]} ${g}`,children:a?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{"aria-hidden":"true",className:"size-3.5 animate-spin rounded-full border-2 border-current border-t-transparent"}),d]}):f})}])},10039,a=>{var b=a.i(87924);a.s(["f",0,function({message:a,isFailure:c}){return c?(0,b.jsx)("p",{role:"alert","data-testid":"bridge-failure",className:"rounded-md border border-tone-attention-border bg-tone-attention-bg px-3 py-2 text-tone-attention-fg",children:a}):(0,b.jsx)("p",{role:"status","data-testid":"bridge-success",className:"rounded-md border border-tone-ok-border bg-tone-ok-bg px-3 py-2 text-tone-ok-fg",children:a})}])},51636,a=>{let b=[{kind:"none",label:"No credential"},{kind:"bearer",label:"Bearer token"},{kind:"clientCredentials",label:"OAuth client credentials"}],c={kind:"personSignIn",label:"Each person signs in"},d=[...b,c];a.s(["a",0,d,"x",0,b,"m",0,c,"G",0,function(a){return d.find(({kind:b})=>b===a)?.kind??"bearer"},"C",0,function(a){return b.find(({kind:b})=>b===a)?.kind??"bearer"}])},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"])},35149,a=>{var b=a.i(87924),c=a.i(88412);a.s(["f",0,function({choices:a,current:d,help:e,refusal:f}){let g=null===d||a.some(a=>a.shipId===d.shipId)?a:[d,...a];return(0,b.jsxs)("label",{className:c.z,children:[(0,b.jsx)("span",{children:"Owner"}),(0,b.jsxs)("select",{className:c.w,name:"ownerShipId",defaultValue:d?.shipId??"",required:!0,"data-testid":"owner-field",children:[null===d?(0,b.jsx)("option",{value:"",disabled:!0,children:"Pick its owner"}):null,g.map(a=>(0,b.jsx)("option",{value:a.shipId,children:a.name},a.shipId))]}),(0,b.jsx)("span",{className:"text-muted-foreground",children:f??e})]})}])}]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_features_0s8erick0xk77._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/paths.ts","../../../../../web/features/bridge/hooks/use-focus-report.ts","../../../../../web/features/bridge/hooks/use-live-refresh.ts","../../../../../web/features/bridge/state/live-refresh.tsx","../../../../../web/features/bridge/ui/action-button.tsx","../../../../../web/features/bridge/ui/notice.tsx","../../../../../web/features/forms/server-credential.ts","../../../../../web/features/forms/ui/look.ts","../../../../../web/features/forms/ui/owner-field.tsx"],"sourcesContent":["/** Bridge's pages (docs/design/bridge): home, the basket, Done, Bridge's settings and where things show; a module of their own, so a page in the browser names them too. */\nexport const BRIDGE_PATH = '/bridge';\nexport const BRIDGE_BASKET_PATH = '/bridge/basket';\nexport const BRIDGE_DONE_PATH = '/bridge/done';\nexport const BRIDGE_SETTINGS_PATH = '/bridge/settings';\nexport const BRIDGE_ROUTING_PATH = '/bridge/settings/routing';\n","'use client';\n\nimport { useEffect } from 'react';\n\n/** The stream the page holds while in focus, which the web app's server follows on the gateway's API for the browser. */\nexport const FOCUS_PATH = '/bridge/focus';\n\n/**\n * Tells the gateway while the page is in focus (wake a person, W6): it holds\n * the focus stream open while the window has focus and the page shows, and\n * closes it when either ends. While a page of the person is in focus, what\n * arrives is shown there and no wake goes out; an open page not in focus\n * changes nothing. A lost connection no longer counts as in focus.\n */\nexport function useFocusReport(fleetId: string): void {\n useEffect(() => {\n let focus: EventSource | undefined;\n const report = () => {\n const isInFocus = document.visibilityState === 'visible' && document.hasFocus();\n if (isInFocus && focus === undefined) {\n focus = new EventSource(`${FOCUS_PATH}?fleet=${encodeURIComponent(fleetId)}`);\n } else if (!isInFocus && focus !== undefined) {\n focus.close();\n focus = undefined;\n }\n };\n report();\n window.addEventListener('focus', report);\n window.addEventListener('blur', report);\n document.addEventListener('visibilitychange', report);\n return () => {\n window.removeEventListener('focus', report);\n window.removeEventListener('blur', report);\n document.removeEventListener('visibilitychange', report);\n focus?.close();\n };\n }, [fleetId]);\n}\n","'use client';\n\nimport { useRouter } from 'next/navigation';\nimport { useEffect } from 'react';\n\n/** The page's live updates, which the web app's server follows on the gateway's API for the browser. */\nexport const CHANGES_PATH = '/bridge/changes';\n\n/**\n * Keeps the page in step with its fleet's requests: whenever one changes,\n * the page reads itself again on the server, as its own caller. The browser\n * opens the stream again by itself when it drops.\n */\nexport function useLiveRefresh(fleetId: string): void {\n const router = useRouter();\n useEffect(() => {\n const changes = new EventSource(`${CHANGES_PATH}?fleet=${encodeURIComponent(fleetId)}`);\n changes.onmessage = () => {\n router.refresh();\n };\n return () => {\n changes.close();\n };\n }, [fleetId, router]);\n}\n","'use client';\n\nimport { useFocusReport } from '../hooks/use-focus-report';\nimport { useLiveRefresh } from '../hooks/use-live-refresh';\n\n/** Keeps the page it sits in live, and tells the gateway while it is in focus (wake a person, W6): it shows nothing itself. */\nexport function LiveRefresh({ fleetId }: { fleetId: string }) {\n useLiveRefresh(fleetId);\n useFocusReport(fleetId);\n return null;\n}\n","import type { ButtonHTMLAttributes, ReactNode } from 'react';\n\nconst VARIANTS = {\n primary: 'bg-primary text-primary-foreground hover:bg-primary-hover',\n secondary: 'border border-border bg-card text-card-foreground hover:bg-accent',\n} as const;\n\n/**\n * A button for an action: the moment it is pressed and until the answer\n * comes, it shows a spinner and its working label, and cannot run twice.\n */\nexport function ActionButton({\n isPending,\n pendingLabel,\n variant = 'secondary',\n children,\n className = '',\n disabled,\n ...button\n}: ButtonHTMLAttributes<HTMLButtonElement> & { isPending: boolean; pendingLabel: string; variant?: keyof typeof VARIANTS; children: ReactNode }) {\n return (\n <button\n {...button}\n disabled={disabled === true || isPending}\n aria-busy={isPending}\n className={`inline-flex h-9 items-center gap-2 rounded-md px-4 disabled:cursor-not-allowed disabled:opacity-70 ${VARIANTS[variant]} ${className}`}\n >\n {isPending ? (\n <>\n <span aria-hidden=\"true\" className=\"size-3.5 animate-spin rounded-full border-2 border-current border-t-transparent\" />\n {pendingLabel}\n </>\n ) : (\n children\n )}\n </button>\n );\n}\n","/** What an action came to, said in place: a success as a status, a failure as an alert by the control. */\nexport function Notice({ message, isFailure }: { message: string; isFailure: boolean }) {\n return isFailure ? (\n <p role=\"alert\" data-testid=\"bridge-failure\" className=\"rounded-md border border-tone-attention-border bg-tone-attention-bg px-3 py-2 text-tone-attention-fg\">\n {message}\n </p>\n ) : (\n <p role=\"status\" data-testid=\"bridge-success\" className=\"rounded-md border border-tone-ok-border bg-tone-ok-bg px-3 py-2 text-tone-ok-fg\">\n {message}\n </p>\n );\n}\n","/**\n * An outside MCP server's credential, as the add, Parties and decision forms\n * take it: none for a server reached only on a private network, a static\n * bearer, or OAuth client credentials. A server being added may instead\n * have each person sign in to it for themselves (decision 0067).\n */\n\n/** The credential kinds a form offers, with the words it shows. */\nexport const CREDENTIAL_KINDS = [\n { kind: 'none', label: 'No credential' },\n { kind: 'bearer', label: 'Bearer token' },\n { kind: 'clientCredentials', label: 'OAuth client credentials' },\n] as const;\n\nexport type CredentialKind = (typeof CREDENTIAL_KINDS)[number]['kind'];\n\nexport type ServerCredential =\n | { kind: 'none' }\n | { kind: 'bearer'; token: string }\n | { kind: 'clientCredentials'; clientId: string; clientSecret: string; issuer: string; scope?: string };\n\n/** The kind only adding a server offers: the gateway registers the party's client, and each person signs in (decision 0067). */\nexport const SIGN_IN_CREDENTIAL = { kind: 'personSignIn', label: 'Each person signs in' } as const;\n\n/** The credential kinds the add page offers, with the words it shows. */\nexport const ADDED_CREDENTIAL_KINDS = [...CREDENTIAL_KINDS, SIGN_IN_CREDENTIAL] as const;\n\nexport type AddedCredentialKind = (typeof ADDED_CREDENTIAL_KINDS)[number]['kind'];\n\nexport type AddedServerCredential = ServerCredential | { kind: typeof SIGN_IN_CREDENTIAL.kind };\n\n/** The kind a form sent, a bearer when it sent none it knows. */\nexport function credentialKindOf(sent: string): CredentialKind {\n return CREDENTIAL_KINDS.find(({ kind }) => kind === sent)?.kind ?? 'bearer';\n}\n\n/** The credential the fields name: only the fields of its kind are read. */\nexport function serverCredentialOf(fields: { credentialKind: string; token: string; clientId: string; clientSecret: string; issuer: string; scope: string }): ServerCredential {\n const kind = credentialKindOf(fields.credentialKind);\n switch (kind) {\n case 'none':\n return { kind };\n case 'bearer':\n return { kind, token: fields.token };\n case 'clientCredentials':\n return { kind, clientId: fields.clientId, clientSecret: fields.clientSecret, issuer: fields.issuer, ...(fields.scope === '' ? {} : { scope: fields.scope }) };\n }\n}\n\n/** The kind the add page sent, a bearer when it sent none it knows. */\nexport function addedCredentialKindOf(sent: string): AddedCredentialKind {\n return ADDED_CREDENTIAL_KINDS.find(({ kind }) => kind === sent)?.kind ?? 'bearer';\n}\n\n/** The credential the add page's fields name: each person signing in takes no field. */\nexport function addedServerCredentialOf(fields: Parameters<typeof serverCredentialOf>[0]): AddedServerCredential {\n return addedCredentialKindOf(fields.credentialKind) === SIGN_IN_CREDENTIAL.kind ? { kind: SIGN_IN_CREDENTIAL.kind } : serverCredentialOf(fields);\n}\n","/** 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","import { INPUT, LABEL } from './look';\n\n/** A ship a party's owner may be picked from, by its name. */\nexport interface OwnerChoice {\n shipId: string;\n name: string;\n}\n\n/** The owner choices as a page read them, or why they could not be read. */\nexport type OwnerChoices = { isOk: true; value: OwnerChoice[] } | { isOk: false; refusal: string };\n\n/**\n * The owner of a party, picked by name from the ships the fleet takes as an\n * owner. The owner it has now stays a choice, though the fleet no longer\n * lists it, so saving leaves it as it is. Where the choices could not be\n * read, it says why, with nothing to pick.\n */\nexport function OwnerField({ choices, current, help, refusal }: { choices: readonly OwnerChoice[]; current: OwnerChoice | null; help: string; refusal?: string | undefined }) {\n const shown = current === null || choices.some((choice) => choice.shipId === current.shipId) ? choices : [current, ...choices];\n return (\n <label className={LABEL}>\n <span>Owner</span>\n <select className={INPUT} name=\"ownerShipId\" defaultValue={current?.shipId ?? ''} required data-testid=\"owner-field\">\n {current === null ? (\n <option value=\"\" disabled>\n Pick its owner\n </option>\n ) : null}\n {shown.map((choice) => (\n <option key={choice.shipId} value={choice.shipId}>\n {choice.name}\n </option>\n ))}\n </select>\n <span className=\"text-muted-foreground\">{refusal ?? help}</span>\n </label>\n );\n}\n"],"names":["BRIDGE_PATH","BRIDGE_BASKET_PATH","BRIDGE_DONE_PATH","BRIDGE_SETTINGS_PATH","BRIDGE_ROUTING_PATH","FOCUS_PATH","useFocusReport","fleetId","focus","report","isInFocus","document","visibilityState","hasFocus","undefined","EventSource","encodeURIComponent","close","window","addEventListener","removeEventListener","VARIANTS","primary","secondary","ActionButton","isPending","pendingLabel","variant","children","className","disabled","button","Notice","message","isFailure","role","CREDENTIAL_KINDS","kind","label","SIGN_IN_CREDENTIAL","ADDED_CREDENTIAL_KINDS","credentialKindOf","sent","find","serverCredentialOf","fields","credentialKind","token","clientId","clientSecret","issuer","scope","addedCredentialKindOf","addedServerCredentialOf","CARD","BUTTON","BUTTONS","destructive","INPUT","LABEL","OwnerField","choices","current","help","refusal","shown","some","choice","shipId","name","defaultValue","required","value","map"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[88276,a=>{var b=a.i(66283);async function c(a){try{return await a}catch(a){if("FORBIDDEN"===(0,b.U)(a))return;throw a}}async function d(a){try{return{kind:"read",value:await a}}catch(c){let a=(0,b.U)(c);if("FORBIDDEN"===a)return{kind:"none"};if("UNAUTHORIZED"===a)throw c;return{kind:"unreadable",message:void 0===a?"The gateway did not answer.":(0,b.s)(c)}}}async function e(a){let b=await d(a.people.basketCount.query());return"read"===b.kind?b.value.count:0}async function f(a){let[b,d]=await Promise.all([c(a.requests.toDecide.query()),c(a.requests.mine.query())]);return{toDecide:b,mine:d}}async function g(a){let[b,d,e]=await Promise.all([c(a.people.routing.query()),c(a.people.wakeChannels.query()),c(a.slack.link.query())]);return{routing:b,wakeChannels:d,slackLink:e}}async function h(a,b){let d=await c(a.requests.toDecide.query())??[];return{request:d.find(a=>a.requestId===b),toDecide:d}}a.s(["M",0,function(a){return d(a.people.basket.query())},"W",0,e,"I",0,function(a){return d(a.people.home.query())},"X",0,g,"n",0,f,"x",0,function(a,b){return d(a.people.record.query({cursor:b}))},"F",0,h])},31780,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LiveRefresh() from the server but LiveRefresh 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.")},"[project]/web/features/bridge/state/live-refresh.tsx","LiveRefresh");a.s(["LiveRefresh",0,b])},60947,a=>{var b=a.i(31780);a.n(b)},75658,38936,a=>{var b=a.i(7997),c=a.i(55476),d=a.i(29660);let e=[{key:"home",label:"Waiting on you",path:d.P},{key:"basket",label:"Basket",path:d.H},{key:"done",label:"Done",path:d.a},{key:"settings",label:"Settings",path:d.T}];function f({width:a}){return(0,b.jsx)("span",{className:`block h-4 animate-pulse rounded bg-muted ${a}`})}a.s(["f",0,function({fleetId:a,current:d,basketCount:f}){return(0,b.jsx)("nav",{"aria-label":"Bridge",className:"flex min-w-0 items-center gap-1 overflow-x-auto border-b border-border pb-2",children:e.filter(({key:a})=>"basket"!==a||f>0||"basket"===d).map(({key:e,label:g,path:h})=>(0,b.jsx)("a",{href:(0,c.i)(h,a),"data-testid":`bridge-nav-${e}`,"aria-current":e===d?"page":void 0,className:`whitespace-nowrap rounded-md px-2 py-1 text-sm ${e===d?"bg-accent font-semibold":"text-muted-foreground hover:bg-accent"}`,children:"basket"===e?`${g} ${String(f)}`:g},e))})}],75658),a.s(["f",0,function(){return(0,b.jsxs)("div",{"aria-busy":"true","aria-label":"Loading Bridge",className:"grid gap-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("span",{className:"size-12 animate-pulse rounded-full bg-muted"}),(0,b.jsxs)("div",{className:"grid flex-1 gap-2",children:[(0,b.jsx)(f,{width:"w-48"}),(0,b.jsx)(f,{width:"w-32"})]})]}),(0,b.jsx)("div",{className:"grid gap-2",children:["a","b","c"].map(a=>(0,b.jsx)("span",{className:"block h-14 animate-pulse rounded-md bg-muted"},a))})]})}],38936)},49144,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"])},22126,a=>{var b=a.i(7997),c=a.i(49144);a.s(["f",0,function(){return(0,b.jsxs)("section",{className:c.r,"data-testid":"no-sign-in",children:[(0,b.jsx)("h2",{className:"text-heading font-semibold",children:"Nobody signs in here"}),(0,b.jsx)("p",{className:"mt-2 text-muted-foreground",children:"This gateway signs no one in to its pages: it is no app at pagasae."})]})}])}]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_features_0wuo5bgp5tabn._.js.map
|