@aeolus-fleet/gateway 0.36.1 → 0.36.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/adapters/fleet/active-ships.d.ts +8 -0
- package/dist/adapters/fleet/active-ships.js +22 -0
- package/dist/adapters/fleet/active-ships.js.map +1 -0
- package/dist/adapters/fleet/actor-door.d.ts +8 -1
- package/dist/adapters/fleet/actor-door.js +12 -5
- package/dist/adapters/fleet/actor-door.js.map +1 -1
- package/dist/adapters/fleet/argo-inbox-door.d.ts +4 -0
- package/dist/adapters/fleet/argo-inbox-door.js +81 -0
- package/dist/adapters/fleet/argo-inbox-door.js.map +1 -0
- package/dist/adapters/fleet/every-listed-ship.d.ts +21 -0
- package/dist/adapters/fleet/every-listed-ship.js +28 -0
- package/dist/adapters/fleet/every-listed-ship.js.map +1 -0
- package/dist/adapters/fleet/fleet-ships.d.ts +1 -3
- package/dist/adapters/fleet/fleet-ships.js +5 -22
- package/dist/adapters/fleet/fleet-ships.js.map +1 -1
- package/dist/adapters/fleet/rest-fleet-door.d.ts +14 -0
- package/dist/adapters/fleet/rest-fleet-door.js +50 -6
- package/dist/adapters/fleet/rest-fleet-door.js.map +1 -1
- package/dist/adapters/http/front-door.js +3 -1
- package/dist/adapters/http/front-door.js.map +1 -1
- package/dist/adapters/http/live.d.ts +10 -1
- package/dist/adapters/http/live.js +10 -1
- package/dist/adapters/http/live.js.map +1 -1
- package/dist/adapters/http/party-sign-in-routes.d.ts +7 -0
- package/dist/adapters/http/party-sign-in-routes.js +18 -0
- package/dist/adapters/http/party-sign-in-routes.js.map +1 -1
- package/dist/adapters/http/person-tools.js +3 -2
- 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 +12 -4
- package/dist/adapters/http/slack-routes.js.map +1 -1
- package/dist/adapters/mcp/mcp-servers.d.ts +8 -2
- package/dist/adapters/mcp/mcp-servers.js +8 -4
- package/dist/adapters/mcp/mcp-servers.js.map +1 -1
- package/dist/adapters/pagasae/email-channel.js +5 -3
- package/dist/adapters/pagasae/email-channel.js.map +1 -1
- package/dist/adapters/pagasae/pagasae-client.js +1 -0
- package/dist/adapters/pagasae/pagasae-client.js.map +1 -1
- package/dist/adapters/pagasae/shared-sign-in.js +2 -2
- package/dist/adapters/pagasae/shared-sign-in.js.map +1 -1
- package/dist/adapters/prisma/argo-accounts.d.ts +4 -0
- package/dist/adapters/prisma/argo-accounts.js +17 -0
- package/dist/adapters/prisma/argo-accounts.js.map +1 -0
- package/dist/adapters/prisma/argo-slack-posts.d.ts +4 -0
- package/dist/adapters/prisma/argo-slack-posts.js +30 -0
- package/dist/adapters/prisma/argo-slack-posts.js.map +1 -0
- package/dist/adapters/prisma/argo-wakes.d.ts +4 -0
- package/dist/adapters/prisma/argo-wakes.js +54 -0
- package/dist/adapters/prisma/argo-wakes.js.map +1 -0
- package/dist/adapters/prisma/basket-entries.js +4 -2
- package/dist/adapters/prisma/basket-entries.js.map +1 -1
- package/dist/adapters/prisma/connected-chats.d.ts +4 -0
- package/dist/adapters/prisma/connected-chats.js +21 -0
- package/dist/adapters/prisma/connected-chats.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 +26 -1
- package/dist/adapters/prisma/generated/client.d.ts +26 -1
- package/dist/adapters/prisma/generated/internal/class.d.ts +55 -0
- 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 +428 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js +49 -2
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +52 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +49 -2
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/adapters/prisma/generated/models/ArgoAccount.d.ts +946 -0
- package/dist/adapters/prisma/generated/models/ArgoAccount.js +2 -0
- package/dist/adapters/prisma/generated/models/ArgoAccount.js.map +1 -0
- package/dist/adapters/prisma/generated/models/ArgoMessageCovered.d.ts +947 -0
- package/dist/adapters/prisma/generated/models/ArgoMessageCovered.js +2 -0
- package/dist/adapters/prisma/generated/models/ArgoMessageCovered.js.map +1 -0
- package/dist/adapters/prisma/generated/models/ArgoSlackPost.d.ts +1065 -0
- package/dist/adapters/prisma/generated/models/ArgoSlackPost.js +2 -0
- package/dist/adapters/prisma/generated/models/ArgoSlackPost.js.map +1 -0
- package/dist/adapters/prisma/generated/models/ArgoWakeSent.d.ts +975 -0
- package/dist/adapters/prisma/generated/models/ArgoWakeSent.js +2 -0
- package/dist/adapters/prisma/generated/models/ArgoWakeSent.js.map +1 -0
- package/dist/adapters/prisma/generated/models/BasketEntry.d.ts +114 -18
- package/dist/adapters/prisma/generated/models/ItemOutcome.d.ts +91 -1
- package/dist/adapters/prisma/generated/models/OpenedDelivery.d.ts +95 -2
- package/dist/adapters/prisma/generated/models/Party.d.ts +32 -1
- package/dist/adapters/prisma/generated/models/SlackLinkStep.d.ts +1005 -0
- package/dist/adapters/prisma/generated/models/SlackLinkStep.js +2 -0
- package/dist/adapters/prisma/generated/models/SlackLinkStep.js.map +1 -0
- package/dist/adapters/prisma/generated/models.d.ts +5 -0
- package/dist/adapters/prisma/item-outcomes.d.ts +6 -1
- package/dist/adapters/prisma/item-outcomes.js +19 -3
- package/dist/adapters/prisma/item-outcomes.js.map +1 -1
- package/dist/adapters/prisma/opened-deliveries.js +5 -0
- package/dist/adapters/prisma/opened-deliveries.js.map +1 -1
- package/dist/adapters/prisma/party-store.js +4 -1
- package/dist/adapters/prisma/party-store.js.map +1 -1
- package/dist/adapters/prisma/slack-link-steps.d.ts +8 -0
- package/dist/adapters/prisma/slack-link-steps.js +28 -0
- package/dist/adapters/prisma/slack-link-steps.js.map +1 -0
- package/dist/adapters/prisma/slack-posts.js +4 -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 +125 -18
- package/dist/adapters/slack/slack-messages.js.map +1 -1
- package/dist/adapters/trpc/router.d.ts +78 -2
- package/dist/adapters/trpc/router.js +36 -1
- 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.js +128 -15
- package/dist/app.js.map +1 -1
- package/dist/core/account-sign-in/account-of-sign-in.d.ts +7 -2
- package/dist/core/account-sign-in/account-of-sign-in.js +9 -3
- package/dist/core/account-sign-in/account-of-sign-in.js.map +1 -1
- package/dist/core/account-sign-in/ports.d.ts +2 -0
- package/dist/core/argo-inbox/argo-inbox.d.ts +31 -0
- package/dist/core/argo-inbox/argo-inbox.js +23 -0
- package/dist/core/argo-inbox/argo-inbox.js.map +1 -0
- package/dist/core/argo-inbox/argo-slack-message.d.ts +17 -0
- package/dist/core/argo-inbox/argo-slack-message.js +40 -0
- package/dist/core/argo-inbox/argo-slack-message.js.map +1 -0
- package/dist/core/argo-inbox/argo-slack-post.d.ts +21 -0
- package/dist/core/argo-inbox/argo-slack-post.js +2 -0
- package/dist/core/argo-inbox/argo-slack-post.js.map +1 -0
- package/dist/core/argo-inbox/follow-argo-inbox.d.ts +33 -0
- package/dist/core/argo-inbox/follow-argo-inbox.js +133 -0
- package/dist/core/argo-inbox/follow-argo-inbox.js.map +1 -0
- package/dist/core/argo-inbox/note-argo-account.d.ts +19 -0
- package/dist/core/argo-inbox/note-argo-account.js +18 -0
- package/dist/core/argo-inbox/note-argo-account.js.map +1 -0
- package/dist/core/argo-inbox/ports.d.ts +123 -0
- package/dist/core/argo-inbox/ports.js +2 -0
- package/dist/core/argo-inbox/ports.js.map +1 -0
- package/dist/core/argo-inbox/read-argo-inbox-notice.d.ts +34 -0
- package/dist/core/argo-inbox/read-argo-inbox-notice.js +20 -0
- package/dist/core/argo-inbox/read-argo-inbox-notice.js.map +1 -0
- package/dist/core/argo-inbox/read-argo-section.d.ts +54 -0
- package/dist/core/argo-inbox/read-argo-section.js +67 -0
- package/dist/core/argo-inbox/read-argo-section.js.map +1 -0
- package/dist/core/argo-inbox/show-argo-inbox-in-slack.d.ts +36 -0
- package/dist/core/argo-inbox/show-argo-inbox-in-slack.js +125 -0
- package/dist/core/argo-inbox/show-argo-inbox-in-slack.js.map +1 -0
- package/dist/core/argo-inbox/wake-for-argo.d.ts +37 -0
- package/dist/core/argo-inbox/wake-for-argo.js +139 -0
- package/dist/core/argo-inbox/wake-for-argo.js.map +1 -0
- package/dist/core/mcp-out/grant-calls.js +1 -1
- package/dist/core/mcp-out/grant-calls.js.map +1 -1
- package/dist/core/mcp-out/hand-call.js +1 -1
- package/dist/core/mcp-out/hand-call.js.map +1 -1
- package/dist/core/mcp-out/keep-server-title.d.ts +13 -0
- package/dist/core/mcp-out/keep-server-title.js +14 -0
- package/dist/core/mcp-out/keep-server-title.js.map +1 -0
- package/dist/core/mcp-out/ports.d.ts +10 -0
- package/dist/core/oauth/exchange-id-jag.d.ts +4 -1
- package/dist/core/oauth/exchange-id-jag.js +5 -2
- package/dist/core/oauth/exchange-id-jag.js.map +1 -1
- package/dist/core/parties/approve-party.js +1 -1
- package/dist/core/parties/approve-party.js.map +1 -1
- package/dist/core/parties/party.d.ts +2 -0
- package/dist/core/parties/party.js.map +1 -1
- package/dist/core/parties/ports.d.ts +5 -0
- package/dist/core/party-grants/listing-connection.js +2 -2
- package/dist/core/party-grants/listing-connection.js.map +1 -1
- package/dist/core/party-grants/tell-sign-in-needed.d.ts +2 -0
- package/dist/core/party-grants/tell-sign-in-needed.js +16 -4
- package/dist/core/party-grants/tell-sign-in-needed.js.map +1 -1
- package/dist/core/people/act-in-place.d.ts +42 -0
- package/dist/core/people/act-in-place.js +26 -0
- package/dist/core/people/act-in-place.js.map +1 -0
- package/dist/core/people/answer-delivery.js +13 -1
- package/dist/core/people/answer-delivery.js.map +1 -1
- package/dist/core/people/basket.d.ts +32 -10
- package/dist/core/people/basket.js +24 -6
- package/dist/core/people/basket.js.map +1 -1
- package/dist/core/people/count-basket.d.ts +4 -3
- package/dist/core/people/count-basket.js +9 -3
- package/dist/core/people/count-basket.js.map +1 -1
- package/dist/core/people/done-delivery.js +1 -1
- package/dist/core/people/done-delivery.js.map +1 -1
- package/dist/core/people/finish-own-step.js +2 -2
- package/dist/core/people/finish-own-step.js.map +1 -1
- package/dist/core/people/inbox-entry.d.ts +17 -1
- package/dist/core/people/inbox-entry.js +28 -1
- package/dist/core/people/inbox-entry.js.map +1 -1
- package/dist/core/people/item-job.d.ts +3 -1
- package/dist/core/people/item-job.js +5 -1
- package/dist/core/people/item-job.js.map +1 -1
- package/dist/core/people/item-outcome.d.ts +21 -2
- package/dist/core/people/item-outcome.js.map +1 -1
- package/dist/core/people/item-places.d.ts +26 -0
- package/dist/core/people/item-places.js +12 -0
- package/dist/core/people/item-places.js.map +1 -0
- package/dist/core/people/open-delivery.d.ts +6 -6
- package/dist/core/people/open-delivery.js +13 -10
- package/dist/core/people/open-delivery.js.map +1 -1
- package/dist/core/people/opened-of.d.ts +5 -1
- package/dist/core/people/opened-of.js +5 -1
- package/dist/core/people/opened-of.js.map +1 -1
- package/dist/core/people/person-wakes.d.ts +49 -0
- package/dist/core/people/person-wakes.js +27 -0
- package/dist/core/people/person-wakes.js.map +1 -0
- package/dist/core/people/ports.d.ts +46 -5
- package/dist/core/people/put-in-basket.d.ts +8 -6
- package/dist/core/people/put-in-basket.js +16 -5
- package/dist/core/people/put-in-basket.js.map +1 -1
- package/dist/core/people/read-basket.d.ts +8 -3
- package/dist/core/people/read-basket.js +8 -10
- package/dist/core/people/read-basket.js.map +1 -1
- package/dist/core/people/read-bridge-home.d.ts +39 -11
- package/dist/core/people/read-bridge-home.js +74 -12
- package/dist/core/people/read-bridge-home.js.map +1 -1
- package/dist/core/people/read-chats.d.ts +21 -0
- package/dist/core/people/read-chats.js +20 -0
- package/dist/core/people/read-chats.js.map +1 -0
- package/dist/core/people/read-inbox.d.ts +19 -9
- package/dist/core/people/read-inbox.js +57 -15
- package/dist/core/people/read-inbox.js.map +1 -1
- package/dist/core/people/read-record.d.ts +37 -11
- package/dist/core/people/read-record.js +44 -12
- package/dist/core/people/read-record.js.map +1 -1
- package/dist/core/people/read-send-to.d.ts +23 -0
- package/dist/core/people/read-send-to.js +37 -0
- package/dist/core/people/read-send-to.js.map +1 -0
- package/dist/core/people/read-your-fleet.d.ts +19 -0
- package/dist/core/people/read-your-fleet.js +22 -0
- package/dist/core/people/read-your-fleet.js.map +1 -0
- package/dist/core/people/remove-from-basket.d.ts +2 -1
- package/dist/core/people/remove-from-basket.js +4 -1
- package/dist/core/people/remove-from-basket.js.map +1 -1
- package/dist/core/people/routing.d.ts +13 -4
- package/dist/core/people/routing.js +14 -0
- package/dist/core/people/routing.js.map +1 -1
- package/dist/core/people/send-basket.d.ts +11 -7
- package/dist/core/people/send-basket.js +68 -11
- package/dist/core/people/send-basket.js.map +1 -1
- package/dist/core/people/send-message.d.ts +3 -1
- package/dist/core/people/send-message.js +9 -2
- package/dist/core/people/send-message.js.map +1 -1
- package/dist/core/people/send-stored-answers.d.ts +4 -3
- package/dist/core/people/send-stored-answers.js +62 -12
- package/dist/core/people/send-stored-answers.js.map +1 -1
- package/dist/core/people/stale-item.d.ts +40 -0
- package/dist/core/people/stale-item.js +36 -0
- package/dist/core/people/stale-item.js.map +1 -0
- package/dist/core/people/wake-person.d.ts +3 -1
- package/dist/core/people/wake-person.js +5 -3
- package/dist/core/people/wake-person.js.map +1 -1
- package/dist/core/people/web-push-channel.js +2 -2
- package/dist/core/people/web-push-channel.js.map +1 -1
- package/dist/core/people/your-fleet.d.ts +44 -0
- package/dist/core/people/your-fleet.js +64 -0
- package/dist/core/people/your-fleet.js.map +1 -0
- package/dist/core/sign-in/account-token.d.ts +5 -1
- package/dist/core/sign-in/account-token.js +8 -2
- package/dist/core/sign-in/account-token.js.map +1 -1
- package/dist/core/sign-in/complete-sign-in.d.ts +4 -1
- package/dist/core/sign-in/complete-sign-in.js +5 -2
- package/dist/core/sign-in/complete-sign-in.js.map +1 -1
- package/dist/core/sign-in/ports.d.ts +2 -0
- package/dist/core/slack/answer-in-slack.d.ts +15 -9
- package/dist/core/slack/answer-in-slack.js +43 -18
- package/dist/core/slack/answer-in-slack.js.map +1 -1
- package/dist/core/slack/ask-to-link-slack.d.ts +28 -0
- package/dist/core/slack/ask-to-link-slack.js +31 -0
- package/dist/core/slack/ask-to-link-slack.js.map +1 -0
- package/dist/core/slack/complete-link.d.ts +6 -1
- package/dist/core/slack/complete-link.js +6 -0
- package/dist/core/slack/complete-link.js.map +1 -1
- package/dist/core/slack/done-in-slack.d.ts +36 -0
- package/dist/core/slack/done-in-slack.js +63 -0
- package/dist/core/slack/done-in-slack.js.map +1 -0
- package/dist/core/slack/edit-slack-posts.d.ts +7 -5
- package/dist/core/slack/edit-slack-posts.js +13 -10
- package/dist/core/slack/edit-slack-posts.js.map +1 -1
- package/dist/core/slack/edited-post-of.d.ts +21 -0
- package/dist/core/slack/edited-post-of.js +77 -0
- package/dist/core/slack/edited-post-of.js.map +1 -0
- package/dist/core/slack/ports.d.ts +70 -10
- package/dist/core/slack/pressed-post-of.d.ts +9 -0
- package/dist/core/slack/pressed-post-of.js +18 -0
- package/dist/core/slack/pressed-post-of.js.map +1 -0
- package/dist/core/slack/read-slack-dropped-out.d.ts +23 -0
- package/dist/core/slack/read-slack-dropped-out.js +24 -0
- package/dist/core/slack/read-slack-dropped-out.js.map +1 -0
- package/dist/core/slack/read-slack-link.d.ts +4 -0
- package/dist/core/slack/read-slack-link.js +5 -0
- package/dist/core/slack/read-slack-link.js.map +1 -1
- package/dist/core/slack/show-in-slack.js +8 -7
- package/dist/core/slack/show-in-slack.js.map +1 -1
- package/dist/core/slack/slack-post-of.d.ts +24 -12
- package/dist/core/slack/slack-post-of.js +118 -37
- package/dist/core/slack/slack-post-of.js.map +1 -1
- package/dist/core/slack/slack-post.d.ts +13 -1
- package/dist/core/slack/slack-post.js +16 -1
- package/dist/core/slack/slack-post.js.map +1 -1
- package/dist/core/slack/slack-press.d.ts +1 -1
- package/dist/core/slack/slack-press.js +2 -1
- package/dist/core/slack/slack-press.js.map +1 -1
- package/package.json +4 -2
- package/src/adapters/prisma/migrations/20261104090000_basket_entries_note_alone/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261105090000_slack_link_steps/migration.sql +10 -0
- package/src/adapters/prisma/migrations/20261106090000_opened_deliveries_withdrawn_steps/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261107090000_opened_deliveries_step_link/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261107100000_opened_deliveries_opened_in/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261108090000_item_outcomes_note_and_seen/migration.sql +4 -0
- package/src/adapters/prisma/migrations/20261108090000_parties_display_name/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261109090000_argo_accounts/migration.sql +8 -0
- package/src/adapters/prisma/migrations/20261109090000_basket_entries_option_label/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261109100000_basket_entries_sent/migration.sql +3 -0
- package/src/adapters/prisma/migrations/20261110090000_argo_slack_posts/migration.sql +12 -0
- package/src/adapters/prisma/migrations/20261110090000_connected_chats_indexes/migration.sql +5 -0
- package/src/adapters/prisma/migrations/20261110100000_argo_wakes/migration.sql +18 -0
- package/src/adapters/prisma/schema.prisma +88 -6
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +10 -8
- package/web/.next/build-manifest.json +114 -90
- package/web/.next/diagnostics/route-bundle-stats.json +268 -208
- package/web/.next/fallback-build-manifest.json +3 -3
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/routes-manifest.json +12 -0
- package/web/.next/server/app/(bridge)/bridge/basket/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/basket/page/build-manifest.json +4 -4
- package/web/.next/server/app/{(console) → (bridge)}/bridge/basket/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/basket/page/server-reference-manifest.json +105 -0
- package/web/.next/server/app/{(console)/bridge/settings/requests/[requestId] → (bridge)/bridge/basket}/page.js +15 -14
- package/web/.next/server/app/(bridge)/bridge/basket/page.js.nft.json +1 -0
- package/web/.next/server/app/(bridge)/bridge/basket/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/changes/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/changes/route.js +8 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/changes/route.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/changes/route_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/done/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page/build-manifest.json +4 -4
- package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/done/page/server-reference-manifest.json +25 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page.js +16 -15
- package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge/done}/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/done/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/fleet/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge/fleet}/page/build-manifest.json +4 -4
- package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge/fleet}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge/fleet}/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/(bridge)/bridge/fleet/page.js +24 -0
- package/web/.next/server/app/{(console)/bridge/done → (bridge)/bridge/fleet}/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/fleet/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/focus/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/focus/route.js +8 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/focus/route.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/focus/route_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/page/build-manifest.json +4 -4
- package/web/.next/server/app/{(console) → (bridge)}/bridge/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/page/server-reference-manifest.json +95 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/page.js +16 -14
- package/web/.next/server/app/{(console) → (bridge)}/bridge/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/page/build-manifest.json +23 -0
- package/web/.next/server/app/(bridge)/bridge/settings/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(bridge)/bridge/settings/page/server-reference-manifest.json +15 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/page.js +15 -14
- package/web/.next/server/app/{(console)/bridge/basket → (bridge)/bridge/settings}/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/settings/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page/build-manifest.json +23 -0
- package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/requests/[requestId]/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page.js +26 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/requests/[requestId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page/build-manifest.json +23 -0
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/routing/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/routing/page.js +15 -14
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page.js.map +5 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/routing/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page/build-manifest.json +23 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page/server-reference-manifest.json +95 -0
- package/web/.next/server/app/{(console)/bridge/basket → (bridge)/bridge/stay-aware}/page.js +15 -14
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page.js.map +5 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page.js.nft.json +1 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/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 +2 -2
- 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 +2 -2
- 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 +18 -18
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js +2 -2
- 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 +2 -2
- 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 +18 -18
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js +2 -2
- 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 +2 -2
- 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 +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 +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 +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 +8 -8
- package/web/.next/server/app/(console)/parties/page.js +2 -2
- 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 +2 -2
- 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 +11 -11
- package/web/.next/server/app/(console)/slack/disconnect/page.js +2 -2
- 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 +11 -11
- package/web/.next/server/app/(console)/slack/expose/page.js +2 -2
- 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 +11 -11
- package/web/.next/server/app/(console)/slack/page.js +2 -2
- 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 +11 -11
- package/web/.next/server/app/(console)/slack/remove/page.js +4 -4
- 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 +2 -2
- 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/apple-icon.png/route.js.nft.json +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 +3 -3
- 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 +7 -6
- 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 +3 -3
- 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/icon.svg/route.js.nft.json +1 -1
- package/web/.next/server/app-paths-manifest.json +10 -8
- package/web/.next/server/chunks/0b9d__next-internal_server_app_(bridge)_bridge_changes_route_actions_0wd1c_8tnx6-f.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__1j0sdz18lzulo._.js +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__1o2xxi_001xql._.js +2 -2
- package/web/.next/server/chunks/_0up_7s_05-7vm._.js +3 -0
- package/web/.next/server/chunks/_0up_7s_05-7vm._.js.map +1 -0
- package/web/.next/server/chunks/_0xw0b7avhvg75._.js +1 -1
- package/web/.next/server/chunks/_1w2t6c0hpdsrn._.js +1 -1
- package/web/.next/server/chunks/_1xaed_q500ez6._.js +3 -0
- package/web/.next/server/chunks/_1xaed_q500ez6._.js.map +1 -0
- 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_(bridge)_bridge_settings_requests_[requestId]_page_actions_0o8g7_xshtmem.js +3 -0
- package/web/.next/server/chunks/ssr/01fr_app_(bridge)_bridge_settings_requests_[requestId]_page_actions_0o8g7_xshtmem.js.map +1 -0
- package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js +3 -0
- package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_bridge_settings_routing_page_actions_06_j7s24dy5ee.js +3 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_bridge_settings_routing_page_actions_06_j7s24dy5ee.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]__1yyaeeylnezpi._.js → [root-of-the-server]__04_bc8g0oe4jt._.js} +1 -1
- 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]__0e4l5gt01o04p._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0e4l5gt01o04p._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0fz0817_b9ljl._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0gptrhg3mj4hs._.js +57 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0gptrhg3mj4hs._.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]__0kjcooo3pi4_k._.js +57 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0kjcooo3pi4_k._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rmg7huc074bf._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rmg7huc074bf._.js.map +1 -0
- 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]__13v3maun347sn._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13v3maun347sn._.js.map +1 -0
- 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]__0gnfxe62edx95._.js → [root-of-the-server]__179upda-y7uap._.js} +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]__1ektgsnjg4btl._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1ektgsnjg4btl._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1hgu6f5hpnykv._.js +57 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1hgu6f5hpnykv._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1nfpyr3ynmwks._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1nfpyr3ynmwks._.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]__1ul9rrs2g66lm._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1ul9rrs2g66lm._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__20gvfqy33wcds._.js +57 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__20gvfqy33wcds._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_00fvst5icgei4._.js +3 -0
- package/web/.next/server/chunks/ssr/_00fvst5icgei4._.js.map +1 -0
- 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/_02mwdj1oj1zgm._.js +3 -0
- package/web/.next/server/chunks/ssr/_02mwdj1oj1zgm._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js +2 -2
- package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0f7ucdt7bfmun._.js +3 -0
- package/web/.next/server/chunks/ssr/_0f7ucdt7bfmun._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0fqd23gyia_8g._.js +3 -0
- package/web/.next/server/chunks/ssr/_0fqd23gyia_8g._.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/_0kk7op86em7z2._.js +3 -0
- package/web/.next/server/chunks/ssr/_0kk7op86em7z2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0pirspvjp3ggl._.js +3 -0
- package/web/.next/server/chunks/ssr/_0pirspvjp3ggl._.js.map +1 -0
- 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/_0u0u0owpxx_37._.js +3 -0
- package/web/.next/server/chunks/ssr/_0u0u0owpxx_37._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0v_x6k3ztfvx0._.js +3 -0
- package/web/.next/server/chunks/ssr/_0v_x6k3ztfvx0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0x5-_917zcaj9._.js +3 -0
- package/web/.next/server/chunks/ssr/_0x5-_917zcaj9._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0xajzaside0sw._.js +3 -0
- package/web/.next/server/chunks/ssr/_0xajzaside0sw._.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/_0yhvyj-yts7qi._.js +3 -0
- package/web/.next/server/chunks/ssr/_0yhvyj-yts7qi._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_104ilzyn58zw_._.js +3 -0
- package/web/.next/server/chunks/ssr/_104ilzyn58zw_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_13_ady-a4058y._.js +3 -0
- package/web/.next/server/chunks/ssr/_13_ady-a4058y._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_14k1oldo5chf8._.js +3 -0
- package/web/.next/server/chunks/ssr/_14k1oldo5chf8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_15whg3fd67b9x._.js +3 -0
- package/web/.next/server/chunks/ssr/_15whg3fd67b9x._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_17zzluh48wsdb._.js +3 -0
- package/web/.next/server/chunks/ssr/_17zzluh48wsdb._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_18xv7kh7i655_._.js +3 -0
- package/web/.next/server/chunks/ssr/_18xv7kh7i655_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js +1 -1
- package/web/.next/server/chunks/ssr/_1_ym4hwge_4r0._.js +3 -0
- package/web/.next/server/chunks/ssr/_1_ym4hwge_4r0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1cc4ie_s4tycq._.js +3 -0
- package/web/.next/server/chunks/ssr/_1cc4ie_s4tycq._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1e2o809f0ekry._.js +1 -1
- package/web/.next/server/chunks/ssr/{_0a_nsm-ye2r6v._.js → _1gbkqq8ra1nei._.js} +2 -2
- package/web/.next/server/chunks/ssr/_1gbkqq8ra1nei._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1gnk2vqna6c6u._.js +3 -0
- package/web/.next/server/chunks/ssr/_1gnk2vqna6c6u._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1i8ofnr1a5yle._.js +3 -0
- package/web/.next/server/chunks/ssr/_1i8ofnr1a5yle._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1k2b80m058vgx._.js +3 -0
- package/web/.next/server/chunks/ssr/_1k2b80m058vgx._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1mg5oon0wpocg._.js +3 -0
- package/web/.next/server/chunks/ssr/_1mg5oon0wpocg._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
- package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1rfpx4ze-3l8z._.js +3 -0
- package/web/.next/server/chunks/ssr/{web_features_0mi9a9pdzkdji._.js.map → _1rfpx4ze-3l8z._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_1t74yvog5g6g2._.js +3 -0
- package/web/.next/server/chunks/ssr/_1t74yvog5g6g2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1ve-ao6odintc._.js +3 -0
- package/web/.next/server/chunks/ssr/_1ve-ao6odintc._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1xgivp19ts9hn._.js +3 -0
- package/web/.next/server/chunks/ssr/_1xgivp19ts9hn._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1zmd3armaxhyu._.js +4 -0
- package/web/.next/server/chunks/ssr/_1zmd3armaxhyu._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_0489ke-80obwd._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0489ke-80obwd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_05ni_zu0e0w44._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_05ni_zu0e0w44._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_07vtvfyfo0a6i._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_07vtvfyfo0a6i._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_0ettht2so2tkh._.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_0keape0zsobyj._.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_0ue_35q2cegwf._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0ue_35q2cegwf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_12euo0ncdx1pn._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_12euo0ncdx1pn._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_1722-epjft-rn._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_1722-epjft-rn._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{node_modules_@aeolus-fleet_common_dist_header_1x3s5abk_uj9j._.js → node_modules_@aeolus-fleet_ui_dist_11tn8gozt2_c3._.js} +2 -2
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_ui_dist_11tn8gozt2_c3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_ui_dist_16j49enf275ln._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_ui_dist_16j49enf275ln._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_0jlwmxa9rk8p_._.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_0jlwmxa9rk8p_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_19e_nxxf4a88q._.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_19e_nxxf4a88q._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_1cvjxnw-b3pnv._.js +3 -0
- package/web/.next/server/chunks/ssr/{node_modules_@base-ui_react_1lbvjrzg8s2ox._.js.map → node_modules_@base-ui_react_1cvjxnw-b3pnv._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_toast_index_parts_mjs_20gwon7142aop._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_toast_index_parts_mjs_20gwon7142aop._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bell_mjs_1sxms6d0wfxa2._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bell_mjs_1sxms6d0wfxa2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_search_mjs_047mxu6_po4kl._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_search_mjs_047mxu6_po4kl._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_08hq6z46rczo0._.js +2 -2
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +2 -2
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0g15rgn4n-oiz.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0g15rgn4n-oiz.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0hzwtyh-646p2.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0hzwtyh-646p2.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mm8dt8tws1fz.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mm8dt8tws1fz.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0tcy7phl8a4gj.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0tcy7phl8a4gj.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ynno0usi0bwx.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11x159_oszki3.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11x159_oszki3.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_128zox167vtjm.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_128zox167vtjm.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dltrn6ii5dd6.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dltrn6ii5dd6.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1hm1iu016c1fy.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1hm1iu016c1fy.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1zaoeyy4_vir_.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1zaoeyy4_vir_.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0_peudz6-o69m._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0_peudz6-o69m._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0cxcy088wnfmw._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0cxcy088wnfmw._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0oz8bypfxh82g._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0oz8bypfxh82g._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0pk41f5m34jvi._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0pk41f5m34jvi._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0qgev3ti257yj._.js +1 -1
- 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_1fi1x3y7rg7mf._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1fi1x3y7rg7mf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_1ga4pbv72m0ad._.js +1 -1
- package/web/.next/server/chunks/ssr/web_1irsulms62lzf._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1irsulms62lzf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_1k2rrq-kr6f9k._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1k2rrq-kr6f9k._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_1qvxzqmq4aw94._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1qvxzqmq4aw94._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_basket_page_actions_0g7q_rc5nma1e.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_basket_page_actions_0g7q_rc5nma1e.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_done_page_actions_0kjm34arntdzv.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_done_page_actions_0kjm34arntdzv.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_page_actions_1ok64rg3edm_u.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_page_actions_1ok64rg3edm_u.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_app_(console)_bridge_error_tsx_10gkrn3ey8162._.js → web_app_(bridge)_bridge_error_tsx_0-142o0iqsh3j._.js} +2 -2
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_error_tsx_0-142o0iqsh3j._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_error_tsx_1m86qyp1bl9pi._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_error_tsx_1m86qyp1bl9pi._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_fleet_page_tsx_0uvtx8hiy8g0n._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_fleet_page_tsx_0uvtx8hiy8g0n._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_settings_page_tsx_1z5yr8ss25q7n._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_settings_page_tsx_1z5yr8ss25q7n._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_parties_page_tsx_0pp63ghly3eyp._.js +1 -1
- package/web/.next/server/chunks/ssr/web_app_authorize_layout_tsx_0gs61_7wzx68y._.js +1 -1
- package/web/.next/server/chunks/ssr/web_app_authorize_layout_tsx_0gs61_7wzx68y._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_06f9kfi0c4nf8._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_06f9kfi0c4nf8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_features_0d48z2epb6oie._.js → web_features_0f2pobf_t4wjt._.js} +2 -2
- package/web/.next/server/chunks/ssr/{web_features_0d48z2epb6oie._.js.map → web_features_0f2pobf_t4wjt._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/web_features_0rd6357w-eo50._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_12b-75qfhurxi._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_12b-75qfhurxi._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_19r68thirqv1n._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_1m5g9a6mwrsd-._.js +1 -1
- 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_authorize_137wk0n1nu3cn._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_authorize_137wk0n1nu3cn._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_0msm42qwm0-jq._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_0msm42qwm0-jq._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_1mi9qlb-z5iwt._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_1mi9qlb-z5iwt._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_fleet_ui_fleet-numbers_tsx_0_afv4j248_w-._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_fleet_ui_fleet-numbers_tsx_0_afv4j248_w-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_home-panel_tsx_1cc5zdhxogl_2._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_home-panel_tsx_1cc5zdhxogl_2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_1y4g3fe75nqn5._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_1y4g3fe75nqn5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_item-row_tsx_0c_a8wjzwsr7j._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_item-row_tsx_0c_a8wjzwsr7j._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_features_0f6r-m-dq36vf._.js → web_features_forms_1u0akr22eh_x_._.js} +2 -2
- package/web/.next/server/chunks/ssr/web_features_forms_1u0akr22eh_x_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_frame_01uyck6q56an2._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_frame_01uyck6q56an2._.js.map +1 -0
- 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_1-lre9nfakki7._.js +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_(bridge)_bridge_focus_route_actions_0fx2vmqfq23mq.js +3 -0
- package/web/.next/server/middleware-build-manifest.js +114 -90
- package/web/.next/server/next-font-manifest.js +1 -1
- package/web/.next/server/next-font-manifest.json +14 -6
- 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 +167 -105
- package/web/.next/static/chunks/030kay14jcn_y.js +1 -0
- package/web/.next/static/chunks/0ben53l12lrh1.js +1 -0
- package/web/.next/static/chunks/0d1u4n5okodee.css +3 -0
- package/web/.next/static/chunks/0dg4cy4rae-3o.js +1 -0
- package/web/.next/static/chunks/0jwils_670syn.js +1 -0
- package/web/.next/static/chunks/0lnew3mjkd54b.js +1 -0
- package/web/.next/static/chunks/0m95j-t2qmnd_.js +1 -0
- package/web/.next/static/chunks/0r5ujkp-5utsu.js +1 -0
- package/web/.next/static/chunks/{1166rxt6h6ilq.js → 1c8q9h-van9r6.js} +1 -1
- package/web/.next/static/chunks/{3db90zxmny2y-.js → 1jyiwl5szsvgn.js} +1 -1
- package/web/.next/static/chunks/{2z2auwx1s2mgl.js → 1lkcm-iwggfae.js} +1 -1
- package/web/.next/static/chunks/1ml6wx1ya9wwo.js +1 -0
- package/web/.next/static/chunks/1nzfw6ajt5nf9.js +55 -0
- package/web/.next/static/chunks/22wtc73dzqm8f.js +1 -0
- package/web/.next/static/chunks/2drwxc7-hry0u.js +1 -0
- package/web/.next/static/chunks/2ewacyhp73due.js +1 -0
- package/web/.next/static/chunks/2fimf0wcjnmpj.js +1 -0
- package/web/.next/static/chunks/2fk9ydkphmyna.js +1 -0
- package/web/.next/static/chunks/{07j7jnfe13wx6.js → 2ich96rzec753.js} +1 -1
- package/web/.next/static/chunks/2khjzepn4_2a-.js +1 -0
- package/web/.next/static/chunks/2mpwg-t6pat39.js +1 -0
- package/web/.next/static/chunks/2ui6n5-n032a3.js +1 -0
- package/web/.next/static/chunks/2wvdu6-tx1h0l.js +1 -0
- package/web/.next/static/chunks/33qpc2y76i927.js +1 -0
- package/web/.next/static/chunks/39tst46ewpx_k.js +1 -0
- package/web/.next/static/chunks/3h8spyc73a438.js +1 -0
- package/web/.next/static/chunks/3kenmp9pjwgf2.js +1 -0
- package/web/.next/static/chunks/3knqujtrdi225.js +1 -0
- package/web/.next/static/chunks/3v8s571padqcz.js +1 -0
- package/web/.next/static/chunks/3wg9zn3lyhf-b.js +1 -0
- package/web/.next/static/chunks/{0lzisjsmhlhjf.js → 3zhaqdsq15d1e.js} +1 -1
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/types/routes.d.ts +3 -1
- package/web/.next/types/validator.ts +50 -16
- package/web/public/argo-wake-icon.svg +1 -0
- package/web/public/wake-worker.js +8 -2
- package/web/public/wake-worker.test.ts +52 -0
- package/dist/core/people/stale-question.d.ts +0 -28
- package/dist/core/people/stale-question.js +0 -26
- package/dist/core/people/stale-question.js.map +0 -1
- package/web/.next/server/app/(console)/bridge/basket/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/basket/page/server-reference-manifest.json +0 -75
- package/web/.next/server/app/(console)/bridge/basket/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/changes/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/changes/route.js +0 -8
- package/web/.next/server/app/(console)/bridge/changes/route_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/done/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/done/page/server-reference-manifest.json +0 -75
- package/web/.next/server/app/(console)/bridge/done/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/focus/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/focus/route.js +0 -8
- package/web/.next/server/app/(console)/bridge/focus/route_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/page/server-reference-manifest.json +0 -65
- package/web/.next/server/app/(console)/bridge/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/settings/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/settings/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/build-manifest.json +0 -23
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/next-font-manifest.json +0 -11
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/settings/routing/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/settings/routing/page/build-manifest.json +0 -23
- package/web/.next/server/app/(console)/bridge/settings/routing/page/next-font-manifest.json +0 -11
- package/web/.next/server/app/(console)/bridge/settings/routing/page_client-reference-manifest.js +0 -3
- package/web/.next/server/chunks/0b9d__next-internal_server_app_(console)_bridge_changes_route_actions_0hj8aqohz6bu6.js +0 -3
- package/web/.next/server/chunks/_05qgg3__4kdbm._.js +0 -3
- package/web/.next/server/chunks/_05qgg3__4kdbm._.js.map +0 -1
- package/web/.next/server/chunks/_1uap5tql2vvsb._.js +0 -3
- package/web/.next/server/chunks/_1uap5tql2vvsb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/01fr_app_(console)_bridge_settings_requests_[requestId]_page_actions_1au-p5lgnv5e-.js +0 -3
- package/web/.next/server/chunks/ssr/01fr_app_(console)_bridge_settings_requests_[requestId]_page_actions_1au-p5lgnv5e-.js.map +0 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_bridge_settings_routing_page_actions_136lm_jip4d_x.js +0 -3
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_bridge_settings_routing_page_actions_136lm_jip4d_x.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00jy4lqrcvxvc._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00jy4lqrcvxvc._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-5_al3xk509._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-5_al3xk509._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18v7b5ga58a9n._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18v7b5ga58a9n._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1nxy_j9eswr3i._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1nxy_j9eswr3i._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rf344o33bmi4._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rf344o33bmi4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0a_nsm-ye2r6v._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0h-ua-y4p4u1p._.js +0 -3
- package/web/.next/server/chunks/ssr/_0h-ua-y4p4u1p._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_10-gn6g9yc63s._.js +0 -3
- package/web/.next/server/chunks/ssr/_10-gn6g9yc63s._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_12fsn_33ga-n0._.js +0 -3
- package/web/.next/server/chunks/ssr/_12fsn_33ga-n0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_177fdczus39s7._.js +0 -3
- package/web/.next/server/chunks/ssr/_177fdczus39s7._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js +0 -3
- package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1jx41z6kmxtt0._.js +0 -3
- package/web/.next/server/chunks/ssr/_1jx41z6kmxtt0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1q2s-hb67yjfb._.js +0 -3
- package/web/.next/server/chunks/ssr/_1q2s-hb67yjfb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1yi3j4a16uet-._.js +0 -3
- package/web/.next/server/chunks/ssr/_1yi3j4a16uet-._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_01oyodz1bs245._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_01oyodz1bs245._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_16d4um5s513wz._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_16d4um5s513wz._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_0t_cmi-llaq7g._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_0t_cmi-llaq7g._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1x3s5abk_uj9j._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_1lbvjrzg8s2ox._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0hkpfqt9ne626._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0hkpfqt9ne626._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_031g89sb4kgzn.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_031g89sb4kgzn.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09rviehv6rh0n.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09rviehv6rh0n.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ka8v6_fxug8r.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ka8v6_fxug8r.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1c8zekuy1gkch.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1c8zekuy1gkch.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dhzng2nnu0m7.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dhzng2nnu0m7.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1rya2ag3z4vug.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1rya2ag3z4vug.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_0i_1uraygw2ld._.js +0 -3
- package/web/.next/server/chunks/ssr/web_0i_1uraygw2ld._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_0wz4onhfbq359._.js +0 -3
- package/web/.next/server/chunks/ssr/web_0wz4onhfbq359._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_1-hlf1xzemd3-._.js +0 -3
- package/web/.next/server/chunks/ssr/web_1-hlf1xzemd3-._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_107a79_nx4jdd._.js +0 -3
- package/web/.next/server/chunks/ssr/web_107a79_nx4jdd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_127_b93avkwaq._.js +0 -3
- package/web/.next/server/chunks/ssr/web_127_b93avkwaq._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_basket_page_actions_102xk3g8eko_q.js +0 -3
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_basket_page_actions_102xk3g8eko_q.js.map +0 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_done_page_actions_0mm90xd2feta2.js +0 -3
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_done_page_actions_0mm90xd2feta2.js.map +0 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_page_actions_082880qz6xa5k.js +0 -3
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_page_actions_082880qz6xa5k.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_0ty_yk1robyaj._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_0ty_yk1robyaj._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_10gkrn3ey8162._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_settings_page_tsx_0xzphp7k9ge1u._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_settings_page_tsx_0xzphp7k9ge1u._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_0f6r-m-dq36vf._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_0mi9a9pdzkdji._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0s8erick0xk77._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0s8erick0xk77._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_0wuo5bgp5tabn._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0wuo5bgp5tabn._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_16cy3vmcijydk._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_16cy3vmcijydk._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_1iiqi6dhrst33._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_1iiqi6dhrst33._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_1n1hy3nwha2vi._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_1n1hy3nwha2vi._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_0-mhu0jaig2u3._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_bridge_0-mhu0jaig2u3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_0219fbfmsi68-._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_bridge_0219fbfmsi68-._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_11jndonu4o8fq._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_bridge_11jndonu4o8fq._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_0354e3wb0dzx1._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_bridge_state_0354e3wb0dzx1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_live-refresh_tsx_1c1xk-oe0kllv._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_bridge_state_live-refresh_tsx_1c1xk-oe0kllv._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js.map +0 -1
- package/web/.next/server/chunks/web__next-internal_server_app_(console)_bridge_focus_route_actions_0syd_u8mgzdmi.js +0 -3
- package/web/.next/static/chunks/0az9upwm-8_q9.js +0 -1
- package/web/.next/static/chunks/0c1tqlbsvq1dj.js +0 -1
- package/web/.next/static/chunks/0fh11dkddwf_2.js +0 -1
- package/web/.next/static/chunks/0gbozvd_yh421.js +0 -1
- package/web/.next/static/chunks/0l9_oie6xi0kd.js +0 -1
- package/web/.next/static/chunks/0m512dxdcrv-b.js +0 -1
- package/web/.next/static/chunks/0zbcy0_3jemrv.js +0 -1
- package/web/.next/static/chunks/1485slb5zus5p.js +0 -1
- package/web/.next/static/chunks/180aowme095ds.js +0 -1
- package/web/.next/static/chunks/24olc0btcvn7q.js +0 -1
- package/web/.next/static/chunks/296w-74ry5lzk.js +0 -1
- package/web/.next/static/chunks/2gghdkr64z9f9.js +0 -1
- package/web/.next/static/chunks/2hoi73vy1wqpo.js +0 -1
- package/web/.next/static/chunks/2mtfca4qk_s34.js +0 -1
- package/web/.next/static/chunks/397zvdr6xr5pq.js +0 -1
- package/web/.next/static/chunks/3ow9h8hreko-p.css +0 -3
- package/web/.next/static/chunks/3pd8pele5x1o9.js +0 -1
- package/web/.next/static/chunks/3srfjz42u14tx.js +0 -1
- package/web/.next/static/chunks/3x0p-z3zdrk_b.js +0 -1
- package/web/.next/static/chunks/3yq9jt4p_0uid.js +0 -1
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/basket/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/basket/page.js.map +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/changes/route/build-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/changes/route/server-reference-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/changes/route.js.map +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page.js.map +0 -0
- /package/web/.next/server/app/{(console)/bridge → (bridge)/bridge/fleet}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console)/bridge → (bridge)/bridge/fleet}/page.js.map +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/focus/route/build-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/focus/route/server-reference-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/focus/route.js.map +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge}/page.js.map +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings/requests/[requestId] → (bridge)/bridge/settings}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings/requests/[requestId] → (bridge)/bridge/settings}/page.js.map +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings/routing → (bridge)/bridge/settings/requests/[requestId]}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings/routing → (bridge)/bridge/settings/requests/[requestId]}/page.js.map +0 -0
- /package/web/.next/server/chunks/{0b9d__next-internal_server_app_(console)_bridge_changes_route_actions_0hj8aqohz6bu6.js.map → 0b9d__next-internal_server_app_(bridge)_bridge_changes_route_actions_0wd1c_8tnx6-f.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__1yyaeeylnezpi._.js.map → [root-of-the-server]__04_bc8g0oe4jt._.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__0gnfxe62edx95._.js.map → [root-of-the-server]__179upda-y7uap._.js.map} +0 -0
- /package/web/.next/server/chunks/{web__next-internal_server_app_(console)_bridge_focus_route_actions_0syd_u8mgzdmi.js.map → web__next-internal_server_app_(bridge)_bridge_focus_route_actions_0fx2vmqfq23mq.js.map} +0 -0
- /package/web/.next/static/{CMppMkysNciqc8k4TWwia → 79SqN0pBIJ0D-DK1jZmK6}/_buildManifest.js +0 -0
- /package/web/.next/static/{CMppMkysNciqc8k4TWwia → 79SqN0pBIJ0D-DK1jZmK6}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{CMppMkysNciqc8k4TWwia → 79SqN0pBIJ0D-DK1jZmK6}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[[50761,a=>{var b=a.i(7997),c=a.i(48010),d=a.i(72913),e=a.i(9181),f=a.i(22126),g=a.i(55476),h=a.i(66283);async function i({searchParams:a}){let j=await (0,h._)({path:d.y,searchParams:await a});return"noSignIn"===j.kind?(0,b.jsx)(f.f,{}):(0,b.jsxs)("div",{className:"grid gap-4",children:[(0,b.jsx)("a",{href:(0,g.i)(d.$,j.fleetId),className:"text-muted-foreground hover:text-foreground",children:"← Outside parties"}),(0,b.jsx)(c.AddServer,{fleetId:j.fleetId,canSwitchTools:j.scopes.includes(e.N)})]})}a.s(["default",0,i,"metadata",0,{title:"Add MCP server"}])},63274,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call AddServer() from the server but AddServer 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/add-server/ui/add-server.tsx","AddServer");a.s(["AddServer",0,b])},48010,a=>{var b=a.i(63274);a.n(b)},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"])},
|
|
1
|
+
module.exports=[[50761,a=>{var b=a.i(7997),c=a.i(48010),d=a.i(72913),e=a.i(9181),f=a.i(22126),g=a.i(55476),h=a.i(66283);async function i({searchParams:a}){let j=await (0,h._)({path:d.y,searchParams:await a});return"noSignIn"===j.kind?(0,b.jsx)(f.f,{}):(0,b.jsxs)("div",{className:"grid gap-4",children:[(0,b.jsx)("a",{href:(0,g.i)(d.$,j.fleetId),className:"text-muted-foreground hover:text-foreground",children:"← Outside parties"}),(0,b.jsx)(c.AddServer,{fleetId:j.fleetId,canSwitchTools:j.scopes.includes(e.N)})]})}a.s(["default",0,i,"metadata",0,{title:"Add MCP server"}])},63274,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call AddServer() from the server but AddServer 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/add-server/ui/add-server.tsx","AddServer");a.s(["AddServer",0,b])},48010,a=>{var b=a.i(63274);a.n(b)},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"])},60057,a=>{let b={mcpServer:{protocol:"MCP",side:"server"},mcpClient:{protocol:"MCP",side:"client"},a2aClient:{protocol:"A2A",side:"client"},a2aAgent:{protocol:"A2A",side:"server"}};a.s(["G",0,b,"Y",0,{commissioning:{tone:"active",label:"Commissioning"},awaitingCrew:{tone:"waiting",label:"Awaiting crew"},crewed:{tone:"ok",label:"Crewed"}},"N",0,{server:{one:"server",many:"servers"},client:{one:"client",many:"clients"}},"R",0,function(a){let c=a.map(a=>b[a.kind]),d=[...new Set(c.map(a=>a.protocol))];return{total:a.length,sides:{server:c.filter(a=>"server"===a.side).length,client:c.filter(a=>"client"===a.side).length},protocols:d.map(a=>({protocol:a,count:c.filter(b=>b.protocol===a).length}))}},"M",0,function(a){switch(a.kind){case"mcpServer":return a.url;case"mcpClient":return a.clientId;case"a2aClient":return null;case"a2aAgent":return a.cardUrl}}])},98323,a=>{var b=a.i(7997);let c={waiting:"border-tone-waiting-border bg-tone-waiting-bg text-tone-waiting-fg",active:"border-tone-active-border bg-tone-active-bg text-tone-active-fg",ok:"border-tone-ok-border bg-tone-ok-bg text-tone-ok-fg",attention:"border-tone-attention-border bg-tone-attention-bg text-tone-attention-fg",ended:"border-tone-ended-border bg-tone-ended-bg text-tone-ended-fg"};a.s(["T",0,function({tone:a,label:d}){return(0,b.jsx)("span",{className:`inline-flex items-center rounded-full border px-2 text-caption ${c[a]}`,children:d})},"E",0,function({children:a,isMono:c=!1}){return(0,b.jsx)("span",{className:`inline-flex items-center rounded-md border border-border px-2 text-caption ${c?"font-mono":""}`,children:a})}])},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."})]})}])}],20996,function(a){a.n(a.i(50761))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=web_0qgev3ti257yj._.js.map
|
|
@@ -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,"6022f798e63fd7b86a6fbaff1a9c2aa94ca3c34592",null),a.s(["40ca8029b8207bd47293950b98bdbd89c6c994c5fa",()=>b.f,"6022f798e63fd7b86a6fbaff1a9c2aa94ca3c34592",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 '40ca8029b8207bd47293950b98bdbd89c6c994c5fa'} from 'ACTIONS_MODULE0'\nexport {addA2aAgent as '6022f798e63fd7b86a6fbaff1a9c2aa94ca3c34592'} 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=[[4045,a=>{var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(16421),f=a.i(88276),g=a.i(29660),h=a.i(60217),i=a.i(91529),j=a.i(36554),k=a.i(96003);async function l(a){return(await (0,e.f)())?.fleets.find(({id:b})=>b===a)?.apps.find(({app:a})=>"console"===a)?.url}async function m({api:a,fleetId:c}){let[d,e]=await Promise.all([(0,f.I)(a),l(c)]);return(0,b.jsx)(i.f,{read:d,children:"unreadable"===d.kind?null:(0,b.jsx)(k.StayAwarePanel,{fleetId:c,consoleUrl:e,stayAware:"read"===d.kind?d.value.stayAware:[],now:new Date().toISOString()})})}async function n({searchParams:a}){let e=await (0,d._)({path:g.C,searchParams:a});return"noSignIn"===e.kind?(0,b.jsx)(j.L,{}):(0,b.jsx)(j.n,{api:e.api,fleetId:e.fleetId,screen:"stay-aware",children:(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(h.f,{}),children:(0,b.jsx)(m,{api:e.api,fleetId:e.fleetId})})})}async function o({searchParams:a}){return(0,b.jsx)(n,{searchParams:await a})}a.s(["default",0,o,"metadata",0,{title:"Stay aware"}],4045)},91784,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call FadedAsLastRead() from the server but FadedAsLastRead 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/faded-as-last-read.tsx","FadedAsLastRead");a.s(["FadedAsLastRead",0,b])},64182,a=>{var b=a.i(91784);a.n(b)},91529,a=>{var b=a.i(7997),c=a.i(88276),d=a.i(64182),e=a.i(21476),f=a.i(17006);a.s(["f",0,function({read:a,children:g}){return(0,b.jsxs)("div",{className:"grid gap-4",children:["unreadable"===a.kind?(0,b.jsx)(f.RecordUnreadable,{whoDidNotAnswer:a.whoDidNotAnswer}):null,(0,b.jsx)(e.KeptRead,{readAt:(0,c.c)(a),children:(0,b.jsx)(d.FadedAsLastRead,{children:g})})]})}])},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)},86265,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call StayAwarePanel() from the server but StayAwarePanel 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/stay-aware-panel.tsx","StayAwarePanel");a.s(["StayAwarePanel",0,b])},96003,a=>{var b=a.i(86265);a.n(b)},60217,a=>{var b=a.i(7997);function c({width:a}){return(0,b.jsx)("span",{className:`block h-4 animate-pulse rounded bg-muted ${a}`})}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)(c,{width:"w-48"}),(0,b.jsx)(c,{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))})]})}])}],58025,function(a){a.n(a.i(4045))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_1fi1x3y7rg7mf._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/state/bridge-stay-aware.tsx","../../../../../web/app/%28bridge%29/bridge/stay-aware/page.tsx","../../../../../web/features/bridge/state/faded-as-last-read.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/faded-as-last-read.tsx%22%20%7D","../../../../../web/features/bridge/state/page-as-last-read.tsx","../../../../../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","../../../../../web/features/bridge/state/stay-aware-panel.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/stay-aware-panel.tsx%22%20%7D","../../../../../web/features/bridge/ui/bridge-skeleton.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 { readHeader } from '../../frame/hooks/read-header';\nimport { readBridgeHome } from '../hooks/read-bridge';\nimport { BRIDGE_STAY_AWARE_PATH } from '../paths';\nimport { BridgeSkeleton } from '../ui/bridge-skeleton';\nimport { PageAsLastRead } from './page-as-last-read';\nimport { BridgeNoSignIn, BridgeShell } from './bridge-shell';\nimport { StayAwarePanel } from './stay-aware-panel';\n\n/** The fleet's console, where an alert's ship shows its Health; none while the account's apps cannot be read or name none. */\nasync function readConsoleUrl(fleetId: string): Promise<string | undefined> {\n return (await readHeader())?.fleets.find(({ id }) => id === fleetId)?.apps.find(({ app }) => app === 'console')?.url;\n}\n\nasync function StayAwareParts({ api, fleetId }: { api: GatewayApi; fleetId: string }) {\n const [read, consoleUrl] = await Promise.all([readBridgeHome(api), readConsoleUrl(fleetId)]);\n return (\n <PageAsLastRead read={read}>\n {read.kind === 'unreadable' ? null : <StayAwarePanel fleetId={fleetId} consoleUrl={consoleUrl} stayAware={read.kind === 'read' ? read.value.stayAware : []} now={new Date().toISOString()} />}\n </PageAsLastRead>\n );\n}\n\n/**\n * Stay aware (docs/design/bridge, CC16), a page of the shell: the feed of\n * alerts and notices as Bridge home reads it, and the fleet's console for\n * an alert's ship, read side by side. Signed out,\n * the browser goes to sign in before anything shows.\n */\nexport async function BridgeStayAwarePage({ searchParams }: { searchParams: SearchParams }) {\n const page = await signedInPage({ path: BRIDGE_STAY_AWARE_PATH, searchParams });\n if (page.kind === 'noSignIn') {\n return <BridgeNoSignIn />;\n }\n return (\n <BridgeShell api={page.api} fleetId={page.fleetId} screen=\"stay-aware\">\n <Suspense fallback={<BridgeSkeleton />}>\n <StayAwareParts api={page.api} fleetId={page.fleetId} />\n </Suspense>\n </BridgeShell>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { BridgeStayAwarePage } from '../../../../features/bridge/state/bridge-stay-aware';\nimport type { SearchParams } from '../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Stay aware' };\n\nexport default async function StayAwarePage({ searchParams }: { searchParams: Promise<SearchParams> }) {\n return <BridgeStayAwarePage searchParams={await searchParams} />;\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const FadedAsLastRead = registerClientReference(\n function() { throw new Error(\"Attempted to call FadedAsLastRead() from the server but FadedAsLastRead 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/faded-as-last-read.tsx\",\n \"FadedAsLastRead\",\n);\n","import type { ReactNode } from 'react';\n\nimport { readTimeOf, type BridgeRead } from '../hooks/read-bridge';\nimport { FadedAsLastRead } from './faded-as-last-read';\nimport { KeptRead } from './kept-read';\nimport { RecordUnreadable } from './record-unreadable';\n\n/**\n * A Bridge page's list from the record (states.html): as read now; while\n * the record cannot be read, the banner, over the list as last read, faded,\n * when this page read it before. The slots stay in place either way, so the\n * browser keeps what it last read.\n */\nexport function PageAsLastRead({ read, children }: { read: BridgeRead<unknown>; children: ReactNode }) {\n return (\n <div className=\"grid gap-4\">\n {read.kind === 'unreadable' ? <RecordUnreadable whoDidNotAnswer={read.whoDidNotAnswer} /> : null}\n <KeptRead readAt={readTimeOf(read)}>\n <FadedAsLastRead>{children}</FadedAsLastRead>\n </KeptRead>\n </div>\n );\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","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const StayAwarePanel = registerClientReference(\n function() { throw new Error(\"Attempted to call StayAwarePanel() from the server but StayAwarePanel 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/stay-aware-panel.tsx\",\n \"StayAwarePanel\",\n);\n","function Bar({ width }: { width: string }) {\n return <span className={`block h-4 animate-pulse rounded bg-muted ${width}`} />;\n}\n\n/** A page of Bridge's shape while it loads: the lead, then a list. */\nexport function BridgeSkeleton() {\n return (\n <div aria-busy=\"true\" aria-label=\"Loading Bridge\" className=\"grid gap-6\">\n <div className=\"flex items-center gap-4\">\n <span className=\"size-12 animate-pulse rounded-full bg-muted\" />\n <div className=\"grid flex-1 gap-2\">\n <Bar width=\"w-48\" />\n <Bar width=\"w-32\" />\n </div>\n </div>\n <div className=\"grid gap-2\">\n {['a', 'b', 'c'].map((row) => (\n <span key={row} className=\"block h-14 animate-pulse rounded-md bg-muted\" />\n ))}\n </div>\n </div>\n );\n}\n"],"names":["readConsoleUrl","fleetId","fleets","find","id","apps","app","url","StayAwareParts","api","read","consoleUrl","Promise","all","kind","stayAware","value","now","Date","toISOString","BridgeStayAwarePage","searchParams","page","path","screen","fallback","FadedAsLastRead","Error","PageAsLastRead","children","className","whoDidNotAnswer","readAt","RecordUnreadable","StayAwarePanel","Bar","width","BridgeSkeleton","map","row"],"mappings":"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","ignoreList":[2,4,5]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[[22176,a=>{var b=a.i(7997),c=a.i(55476),d=a.i(66283),e=a.i(49144),f=a.i(
|
|
1
|
+
module.exports=[[22176,a=>{var b=a.i(7997),c=a.i(55476),d=a.i(66283),e=a.i(49144),f=a.i(60057),g=a.i(72913),h=a.i(98323),i=a.i(53925);let j="gateway:approve";function k({party:a,fleetId:d}){let{protocol:i,side:j}=f.G[a.kind],l=(0,f.M)(a),m=f.Y[a.state];return(0,b.jsxs)("a",{href:(0,c.i)((0,g.N)(a.name),d),className:`${e.r} grid gap-2 hover:bg-accent`,"data-testid":"outside-parties-party",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)("strong",{children:a.name})," ",(0,b.jsx)(h.E,{children:i})," ",(0,b.jsx)(h.E,{children:`${i} ${f.N[j].one}`})]}),null===l?null:(0,b.jsx)("span",{className:"truncate font-mono text-code",title:l,children:l}),(0,b.jsxs)("span",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(h.T,{tone:m.tone,label:m.label}),null===a.ownerName?null:(0,b.jsx)(h.E,{children:a.ownerName})]})]})}async function l({page:a,side:h}){let{api:m,fleetId:n,scopes:o}=a,[p,q]=await Promise.all([(0,d.F)(m.outsideParties.status.query()),(0,d.F)(m.parties.list.query())]),r=q.isOk?q.value:[],s=(0,f.R)(r),t=void 0===h?r:r.filter(a=>f.G[a.kind].side===h),u=[{label:"All",href:g.$,isCurrent:void 0===h},{label:"Servers",href:`${g.$}?kind=server`,isCurrent:"server"===h},{label:"Clients",href:`${g.$}?kind=client`,isCurrent:"client"===h}];return(0,b.jsxs)("div",{className:"grid gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-title font-semibold",children:"Outside parties"}),(0,b.jsx)("p",{className:"text-muted-foreground","data-testid":"outside-parties-counts",children:[`${String(s.sides.server)} ${1===s.sides.server?f.N.server.one:f.N.server.many}`,`${String(s.sides.client)} ${1===s.sides.client?f.N.client.one:f.N.client.many}`,...s.protocols.map(({protocol:a,count:b})=>`${a} ${String(b)}`)].join(" · ")})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[o.includes(j)?(0,b.jsx)("a",{className:e.x.secondary,href:(0,c.i)(g.Z,n),"data-testid":"outside-parties-add-a2a-client",children:"Add A2A client"}):null,o.includes(j)?(0,b.jsx)("a",{className:e.x.secondary,href:(0,c.i)(g.u,n),"data-testid":"outside-parties-add-a2a-agent",children:"Add A2A agent"}):null,o.includes("fleet:manage")?(0,b.jsx)("a",{className:e.x.primary,href:(0,c.i)(g.y,n),"data-testid":"outside-parties-add",children:"Add server"}):null]})]}),p.isOk?(0,b.jsx)(i.SwitchCard,{isOn:p.value.isOn,canSwitch:o.includes("fleet:network"),fleetId:n}):(0,b.jsx)("p",{role:"alert",className:"rounded-md border border-tone-attention-border bg-tone-attention-bg px-3 py-2 text-tone-attention-fg",children:p.refusal}),(0,b.jsx)("nav",{"aria-label":"Show",className:"flex gap-2",children:u.map(a=>(0,b.jsx)("a",{href:(0,c.i)(a.href,n),"aria-current":a.isCurrent?"page":void 0,className:a.isCurrent?e.x.secondary:`${e.x.secondary} border-transparent`,children:a.label},a.label))}),q.isOk?0===t.length?(0,b.jsx)("p",{className:"text-muted-foreground",children:"No outside party yet."}):(0,b.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:t.map(a=>(0,b.jsx)(k,{party:a,fleetId:n},a.name))}):(0,b.jsx)("p",{role:"alert",className:"text-tone-attention-fg",children:q.refusal})]})}var m=a.i(22126);async function n({searchParams:a}){let c=await a,e=await (0,d._)({path:g.$,searchParams:c});if("noSignIn"===e.kind)return(0,b.jsx)(m.f,{});let f="server"===c.kind||"client"===c.kind?c.kind:void 0;return(0,b.jsx)(l,{page:e,side:f})}a.s(["default",0,n,"metadata",0,{title:"Outside parties"}],22176)},1236,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call SwitchCard() from the server but SwitchCard 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/outside-parties/ui/switch-card.tsx","SwitchCard");a.s(["SwitchCard",0,b])},53925,a=>{var b=a.i(1236);a.n(b)}],24611,function(a){a.n(a.i(22176))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=web_1ga4pbv72m0ad._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[68155,a=>{var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(88276),f=a.i(29660),g=a.i(36554),h=a.i(60217),i=a.i(91529),j=a.i(8460);async function k({api:a,fleetId:c}){let d=await (0,e.x)(a,null);return(0,b.jsx)(i.f,{read:d,children:function(a,c){switch(c.kind){case"read":return(0,b.jsx)(j.DonePanel,{fleetId:a,first:c.value,now:new Date().toISOString()},c.value.items.map(({deliveryId:a,state:b})=>`${a}:${b}`).join(","));case"none":return(0,b.jsx)(j.DonePanel,{fleetId:a,first:{items:[],nextCursor:null},now:new Date().toISOString()});case"unreadable":return null}}(c,d)})}async function l({searchParams:a}){let e=await (0,d._)({path:f.a,searchParams:a});return"noSignIn"===e.kind?(0,b.jsx)(g.L,{}):(0,b.jsx)(g.n,{api:e.api,fleetId:e.fleetId,screen:"done",children:(0,b.jsx)("div",{className:"grid gap-6",children:(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(h.f,{}),children:(0,b.jsx)(k,{api:e.api,fleetId:e.fleetId})})})})}async function m({searchParams:a}){return(0,b.jsx)(l,{searchParams:await a})}a.s(["default",0,m,"metadata",0,{title:"Done"}],68155)},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)},91784,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call FadedAsLastRead() from the server but FadedAsLastRead 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/faded-as-last-read.tsx","FadedAsLastRead");a.s(["FadedAsLastRead",0,b])},64182,a=>{var b=a.i(91784);a.n(b)},91529,a=>{var b=a.i(7997),c=a.i(88276),d=a.i(64182),e=a.i(21476),f=a.i(17006);a.s(["f",0,function({read:a,children:g}){return(0,b.jsxs)("div",{className:"grid gap-4",children:["unreadable"===a.kind?(0,b.jsx)(f.RecordUnreadable,{whoDidNotAnswer:a.whoDidNotAnswer}):null,(0,b.jsx)(e.KeptRead,{readAt:(0,c.c)(a),children:(0,b.jsx)(d.FadedAsLastRead,{children:g})})]})}])},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)},60217,a=>{var b=a.i(7997);function c({width:a}){return(0,b.jsx)("span",{className:`block h-4 animate-pulse rounded bg-muted ${a}`})}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)(c,{width:"w-48"}),(0,b.jsx)(c,{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))})]})}])}],1101,function(a){a.n(a.i(68155))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_1irsulms62lzf._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/state/bridge-done.tsx","../../../../../web/app/%28bridge%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/faded-as-last-read.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/faded-as-last-read.tsx%22%20%7D","../../../../../web/features/bridge/state/page-as-last-read.tsx","../../../../../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","../../../../../web/features/bridge/ui/bridge-skeleton.tsx"],"sourcesContent":["import { Suspense, type ReactNode } from 'react';\n\nimport type { GatewayApi } from '../../../lib/gateway-api/gateway-api';\nimport { signedInPage, type SearchParams } from '../../../lib/gateway-api/page-api';\nimport { readRecordPage, type BridgeRead } from '../hooks/read-bridge';\nimport type { RecordPage } from '../services/items';\nimport { BRIDGE_DONE_PATH } from '../paths';\nimport { BridgeNoSignIn, BridgeShell } from './bridge-shell';\nimport { BridgeSkeleton } from '../ui/bridge-skeleton';\nimport { PageAsLastRead } from './page-as-last-read';\nimport { DonePanel } from './done-panel';\n\nfunction doneListOf(fleetId: string, read: BridgeRead<RecordPage>): ReactNode {\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} now={new Date().toISOString()} />;\n case 'none':\n return <DonePanel fleetId={fleetId} first={{ items: [], nextCursor: null }} now={new Date().toISOString()} />;\n case 'unreadable':\n return null;\n }\n}\n\nasync function DoneParts({ api, fleetId }: { api: GatewayApi; fleetId: string }) {\n const read = await readRecordPage(api, null);\n return <PageAsLastRead read={read}>{doneListOf(fleetId, read)}</PageAsLastRead>;\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 <BridgeNoSignIn />;\n }\n return (\n <BridgeShell api={page.api} fleetId={page.fleetId} screen=\"done\">\n <div className=\"grid gap-6\">\n <Suspense fallback={<BridgeSkeleton />}>\n <DoneParts api={page.api} fleetId={page.fleetId} />\n </Suspense>\n </div>\n </BridgeShell>\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 FadedAsLastRead = registerClientReference(\n function() { throw new Error(\"Attempted to call FadedAsLastRead() from the server but FadedAsLastRead 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/faded-as-last-read.tsx\",\n \"FadedAsLastRead\",\n);\n","import type { ReactNode } from 'react';\n\nimport { readTimeOf, type BridgeRead } from '../hooks/read-bridge';\nimport { FadedAsLastRead } from './faded-as-last-read';\nimport { KeptRead } from './kept-read';\nimport { RecordUnreadable } from './record-unreadable';\n\n/**\n * A Bridge page's list from the record (states.html): as read now; while\n * the record cannot be read, the banner, over the list as last read, faded,\n * when this page read it before. The slots stay in place either way, so the\n * browser keeps what it last read.\n */\nexport function PageAsLastRead({ read, children }: { read: BridgeRead<unknown>; children: ReactNode }) {\n return (\n <div className=\"grid gap-4\">\n {read.kind === 'unreadable' ? <RecordUnreadable whoDidNotAnswer={read.whoDidNotAnswer} /> : null}\n <KeptRead readAt={readTimeOf(read)}>\n <FadedAsLastRead>{children}</FadedAsLastRead>\n </KeptRead>\n </div>\n );\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","function Bar({ width }: { width: string }) {\n return <span className={`block h-4 animate-pulse rounded bg-muted ${width}`} />;\n}\n\n/** A page of Bridge's shape while it loads: the lead, then a list. */\nexport function BridgeSkeleton() {\n return (\n <div aria-busy=\"true\" aria-label=\"Loading Bridge\" className=\"grid gap-6\">\n <div className=\"flex items-center gap-4\">\n <span className=\"size-12 animate-pulse rounded-full bg-muted\" />\n <div className=\"grid flex-1 gap-2\">\n <Bar width=\"w-48\" />\n <Bar width=\"w-32\" />\n </div>\n </div>\n <div className=\"grid gap-2\">\n {['a', 'b', 'c'].map((row) => (\n <span key={row} className=\"block h-14 animate-pulse rounded-md bg-muted\" />\n ))}\n </div>\n </div>\n );\n}\n"],"names":["doneListOf","fleetId","read","kind","first","value","now","Date","toISOString","items","map","deliveryId","state","join","nextCursor","DoneParts","api","BridgeDonePage","searchParams","page","path","screen","className","fallback","DonePanel","Error","FadedAsLastRead","PageAsLastRead","children","whoDidNotAnswer","readAt","RecordUnreadable","Bar","width","BridgeSkeleton","row"],"mappings":"2CAAA,EAAA,EAAA,CAAA,CAAA,KAGA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAEA,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,eAAee,EAAU,KAAEC,CAAG,SAAEf,CAAO,CAAwC,EAC7E,IAAMC,EAAO,MAAM,CAAA,EAAA,EAAA,CAAA,AAAc,EAACc,EAAK,MACvC,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,CAAA,CAACd,KAAMA,WAAOF,AAdtC,SAASA,AAAWC,CAAe,CAAEC,CAA4B,EAC/D,OAAQA,EAAKC,IAAI,EACf,IAAK,OAEH,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAA2FF,QAASA,EAASG,MAAOF,EAAKG,KAAK,CAAEC,IAAK,IAAIC,OAAOC,WAAW,IAArJN,EAAKG,KAAK,CAACI,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,CAACZ,QAASA,EAASG,MAAO,CAAEK,MAAO,EAAE,CAAEK,WAAY,IAAK,EAAGR,IAAK,IAAIC,OAAOC,WAAW,IACzG,KAAK,aACH,OAAO,IACX,CACF,EAIiDP,EAASC,IAC1D,CAGO,eAAee,EAAe,cAAEC,CAAY,CAAkC,EACnF,IAAMC,EAAO,MAAM,CAAA,EAAA,EAAA,CAAA,AAAY,EAAC,CAAEC,KAAM,EAAA,CAAgB,cAAEF,CAAa,SACvE,AAAkB,YAAY,CAA1BC,EAAKhB,IAAI,CACJ,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,CAAA,CAAA,GAGtB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAW,CAAA,CAACa,IAAKG,EAAKH,GAAG,CAAEf,QAASkB,EAAKlB,OAAO,CAAEoB,OAAO,gBACxD,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAIC,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,CAACC,SAAU,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,CAAA,CAAA,YACjC,CAAA,EAAA,EAAA,GAAA,EAACR,EAAAA,CAAUC,IAAKG,EAAKH,GAAG,CAAEf,QAASkB,EAAKlB,OAAO,QAKzD,CCrCe,eAAe,EAAS,cAAE,CAAY,CAA2C,EAC9F,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAe,aAAc,MAAM,GAC7C,iCAJkC,CAAE,MAAO,MAAO,qBCH3C,IAAMuB,EAAY,CAAA,EADzB,AACyB,EADzB,CAAA,CAAA,OACyB,uBAAA,AAAuB,EAC5C,WAAa,MAAM,AAAIC,MAAM,gOAAkO,EAC/P,qDACA,iFCHG,IAAMC,EAAkB,CAAA,EAAA,AAD/B,EAAA,CAAA,CAAA,OAC+B,uBAAA,AAAuB,EAClD,WAAa,MAAM,AAAID,MAAM,4OAA8O,EAC3Q,6DACA,8GCHJ,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,kBAQO,SAASE,AAAe,MAAEzB,CAAI,UAAE0B,CAAQ,CAAsD,EACnG,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIN,UAAU,uBACE,eAAdpB,EAAKC,IAAI,CAAoB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,CAAC0B,gBAAiB3B,EAAK2B,eAAe,GAAO,KAC5F,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,CAACC,OAAQ,CAAA,EAAA,EAAA,CAAA,AAAU,EAAC5B,YAC3B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,eAAe,CAAA,UAAE0B,QAI1B,eCpBO,IAAMG,EAAmB,CAAA,EAAA,AADhC,EAAA,CAAA,CAAA,OACgC,uBAAA,AAAuB,EACnD,WAAa,MAAM,AAAIN,MAAM,8OAAgP,EAC7Q,4DACA,gHCLJ,SAASO,EAAI,OAAEC,CAAK,CAAqB,EACvC,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAKX,UAAW,CAAC,yCAAyC,EAAEW,EAAAA,CAAO,EAC7E,YAGO,SAASC,EACd,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,YAAU,OAAO,aAAW,iBAAiBZ,UAAU,uBAC1D,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIA,UAAU,oCACb,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAKA,UAAU,gDAChB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIA,UAAU,8BACb,CAAA,EAAA,EAAA,GAAA,EAACU,EAAAA,CAAIC,MAAM,SACX,CAAA,EAAA,EAAA,GAAA,EAACD,EAAAA,CAAIC,MAAM,eAGf,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAIX,UAAU,sBACZ,CAAC,IAAK,IAAK,IAAI,CAACZ,GAAG,CAAC,AAACyB,GACpB,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAeb,UAAU,gDAAfa,QAKrB","ignoreList":[2,3,5]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[42499,a=>{var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(10692),f=a.i(80845),g=a.i(55476),h=a.i(87665),i=a.i(75879),j=a.i(62191),k=a.i(94364),l=a.i(21243);function m({fleetId:a,read:c,phone:d,isRecordUnreadable:e=!1}){return"forbidden"===c.kind||"unreadable"===c.kind&&e?null:(0,b.jsxs)("section",{"data-testid":"bridge-your-fleet",className:`${"hidden"===d?"max-lg:hidden ":""}grid content-start gap-3`,"aria-labelledby":"bridge-your-fleet-heading",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,b.jsx)("h2",{id:"bridge-your-fleet-heading",className:"text-section font-semibold",children:(0,b.jsxs)("a",{href:(0,g.i)(h.f,a),className:"inline-flex items-center gap-1.5 hover:underline",children:[(0,b.jsx)(f.f,{"aria-hidden":"true",className:"size-4 shrink-0"}),"Your fleet"]})}),"read"===c.kind?(0,b.jsx)("span",{className:"text-caption text-muted-foreground max-lg:hidden",children:(0,i.I)(c.value.shipCount)}):null]}),"read"===c.kind?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(j.f,{fleet:c.value,isShipCountShown:!1}),(0,b.jsx)(l.f,{className:"max-lg:hidden",groups:c.value.groups,tileColumns:"grid-cols-3"})]}):(0,b.jsx)(k.f,{message:c.message})]})}var n=a.i(88276),o=a.i(29660);function p({notice:a}){return(0,b.jsxs)("section",{role:"status","data-testid":"bridge-argo-inbox-notice",className:"flex flex-col gap-1 rounded-md border border-tone-attention-border bg-tone-attention-bg px-3 py-2 text-tone-attention-fg",children:[(0,b.jsx)("span",{className:"font-semibold",children:a.title}),(0,b.jsx)("span",{className:"text-caption",children:a.body}),(0,b.jsx)("a",{"data-testid":"bridge-argo-inbox-guide",href:a.guide.href,target:"_blank",rel:"noreferrer",className:"text-caption font-medium underline underline-offset-2",children:a.guide.label})]})}var q=a.i(92277);let r={name:"ban",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]};r.node;let s=(0,q.f)(r),t={name:"external-link",size:24,node:[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]};t.node;let u=(0,q.f)(t),v={name:"replace",size:24,node:[["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]};v.node;let w=(0,q.f)(v);var x=a.i(95679),y=a.i(2919),z=a.i(26011);let A={name:"circle-question-mark",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["help-circle","circle-help"]};A.node;let B=(0,q.f)(A),C={name:"hand",size:24,node:[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]]};C.node,(0,q.f)(C);let D={name:"megaphone",size:24,node:[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]]};D.node;let E=(0,q.f)(D),F={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};F.node,(0,q.f)(F);let G={name:"triangle-alert",size:24,node:[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["alert-triangle"]};G.node;let H={decide:{icon:B,tone:"text-tone-active-fg"},alert:{icon:(0,q.f)(G),tone:"text-tone-attention-fg"},notice:{icon:E,tone:"text-muted-foreground"}};function I(){return(0,b.jsx)("span",{"aria-hidden":"true",className:"text-border",children:"·"})}function J({item:a,now:c}){let d=H[a.look],e=d.icon,f=null!==a.stale,g=a.stale?.kind==="replaced"?w:s;return(0,b.jsxs)("li",{"data-testid":"bridge-argo-item","data-stale":f,className:`grid min-w-0 grid-cols-[1rem_minmax(0,1fr)_auto] items-start gap-x-2.5 gap-y-1.5 border-t border-border px-3 py-2.5 first:border-t-0 ${f?"bg-muted":""}`,children:[(0,b.jsx)(e,{"aria-hidden":"true",className:`mt-0.5 size-4 ${d.tone}`}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-baseline sm:items-center",children:[a.isNew?(0,b.jsx)("span",{role:"img","aria-label":"New",className:"mr-1.5 size-[7px] shrink-0 -translate-y-px rounded-full bg-primary",children:(0,b.jsx)("span",{className:"sr-only",children:"New"})}):null,(0,b.jsx)("span",{className:"min-w-0 break-words text-body-touch font-medium sm:truncate sm:text-body",children:f?(0,b.jsx)("s",{className:"decoration-muted-foreground",children:a.title}):a.title})]}),(0,b.jsxs)("span",{className:"flex flex-wrap items-center gap-1.5 text-caption text-muted-foreground",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 font-semibold text-primary",children:[(0,b.jsx)(x.f,{"aria-hidden":"true",className:"size-3"}),"For argo"]}),(0,b.jsx)(I,{}),(0,b.jsx)("span",{className:`font-medium ${d.tone}`,children:"question"===a.kind?"Question":"Report"}),(0,b.jsx)(I,{}),(0,b.jsx)("span",{children:a.from}),null===a.stale?null:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(I,{}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(g,{"aria-hidden":"true",className:"size-3.5 shrink-0"}),"withdrawn"===a.stale.kind?"Withdrawn":"Replaced"]})]})]})]}),(0,b.jsx)("time",{dateTime:a.sentAt,className:"whitespace-nowrap text-right text-caption text-muted-foreground",children:function(a,b){let c=Math.floor((b.getTime()-new Date(a).getTime())/6e4);if(c<1)return"now";if(c<60)return`${String(c)} min`;let d=Math.floor(c/60);if(d<24)return`${String(d)} h`;let e=Math.floor(d/24);return 1===e?"yesterday":`${String(e)} d`}(a.sentAt,c)}),(0,b.jsx)("div",{className:"col-span-2 col-start-2 flex flex-wrap items-center gap-1.5",children:(0,b.jsxs)("a",{href:a.consoleUrl,"data-testid":"bridge-argo-act",className:"inline-flex items-center rounded-md border border-border bg-card text-card-foreground hover:bg-accent h-9 gap-2 px-4 text-body sm:h-6 sm:gap-1.5 sm:px-2.5 sm:text-meta",children:[(0,b.jsx)(u,{"aria-hidden":"true",className:"size-3.5"}),(0,y.D)(a)]})})]})}function K({section:a,now:c}){let d=new Date(c);return(0,b.jsxs)("section",{id:y.F,"data-testid":"bridge-argo","aria-labelledby":"bridge-argo-heading",className:"grid scroll-mt-4 gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(z.f,{}),(0,b.jsxs)("h2",{id:"bridge-argo-heading",className:"text-section font-semibold",children:["Waits at argo ",(0,b.jsx)("span",{"data-testid":"bridge-argo-count",className:"text-primary",children:a.count})]}),(0,b.jsx)("span",{className:"text-caption text-muted-foreground max-sm:hidden sm:ml-auto",children:"Not yours: argo's, for everyone allowed as argo. Outside your count."}),(0,b.jsx)("span",{className:"basis-full text-caption text-muted-foreground sm:hidden",children:"argo's, not yours; outside your count."})]}),null===a.done?null:(0,b.jsxs)("p",{"data-testid":"bridge-argo-done",className:"text-caption text-muted-foreground",children:[(0,b.jsx)("span",{className:"max-sm:hidden",children:(0,y.z)(a.done,{isPhone:!1})}),(0,b.jsx)("span",{className:"sm:hidden",children:(0,y.z)(a.done,{isPhone:!0})})]}),0===a.items.length?(0,b.jsx)("p",{className:"rounded-md border border-border bg-card p-3 text-muted-foreground",children:"Nothing waits at argo."}):(0,b.jsx)("ul",{className:"overflow-hidden rounded-lg border border-primary bg-card shadow-[inset_3px_0_0_var(--primary)]",children:a.items.map(a=>(0,b.jsx)(J,{item:a,now:d},a.deliveryId))}),(0,b.jsx)("p",{className:"text-caption text-muted-foreground",children:"Acting signs you in to the console as argo; it ends anyone else's sign-in as argo."})]})}var L=a.i(36554),M=a.i(60217);function N({heading:a,banner:c,main:d,aside:e}){return(0,b.jsxs)("div",{className:"grid gap-4",children:[a,c,(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[minmax(0,1fr)_20rem] has-[[data-testid=bridge-split]]:lg:grid-cols-1 has-[[data-testid=bridge-split]]:[&>:last-child]:hidden",children:[(0,b.jsx)("div",{className:"min-w-0",children:d}),e]})]})}let O={name:"hash",size:24,node:[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]};O.node;let P=(0,q.f)(O);function Q({fleetId:a,botName:c}){return(0,b.jsxs)("section",{role:"status","data-testid":"bridge-slack-dropped-out",className:"flex items-start max-sm:hidden gap-2.5 rounded-md border border-tone-waiting-border bg-tone-waiting-bg px-3 py-2.5",children:[(0,b.jsx)(P,{"aria-hidden":"true",className:"mt-0.5 size-4 shrink-0 text-tone-waiting-fg"}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col",children:[(0,b.jsx)("span",{className:"font-medium",children:"Slack dropped out"}),(0,b.jsx)("span",{className:"text-meta text-muted-foreground",children:`The ${c} bot was removed from your workspace, so Slack shows nothing. Everything still shows here and in a chat.`})]}),(0,b.jsx)("a",{href:(0,g.i)(o.i,a),className:"inline-flex h-8 shrink-0 items-center rounded-md border border-border bg-card px-3 text-sm font-medium text-card-foreground hover:bg-accent",children:"Where things show"})]})}var R=a.i(28667),S=a.i(21476),T=a.i(89052),U=a.i(17006);let V={waiting:{count:0,items:[]},stayAware:[]};async function W({api:a,fleetId:c,fleet:d}){let[e,f,g,h,i,j]=await Promise.all([(0,n.I)(a),(0,n.S)(a),d,(0,n.P)(a),(0,n.C)(a),(0,n.k)(a)]),k="unreadable"!==e.kind&&("none"===e.kind||0===e.value.waiting.items.length),l=(0,n.c)(e),o="read"===e.kind?e.value:V,q=new Date().toISOString(),r=null===j?void 0:(0,b.jsx)(K,{section:j,now:q}),s="none"===i.kind?null:{title:"What waits at argo does not reach you here",body:`argo has not let the gateway read argo's inbox, so what is sent to argo shows only in the console's inbox. argo adds a read rule on the console's Network page: from the gateway's ship, ${i.gatewayShip.name}, to argo.`,guide:{label:"How argo adds the read rule",href:"https://github.com/ThomasHendrickx/aeolus-fleet-gateway/blob/main/docs/argo-inbox-read-rule.md"}};return(0,b.jsx)(N,{heading:(0,b.jsx)(S.KeptRead,{readAt:l,children:"unreadable"===e.kind?null:(0,b.jsx)(T.LastReadHeading,{})}),banner:(0,b.jsxs)(b.Fragment,{children:["unreadable"===e.kind?(0,b.jsx)(U.RecordUnreadable,{whoDidNotAnswer:e.whoDidNotAnswer}):null,null===s?null:(0,b.jsx)(p,{notice:s}),(0,b.jsx)(S.KeptRead,{readAt:void 0===h?void 0:new Date().toISOString(),children:null==h?null:(0,b.jsx)(Q,{fleetId:c,botName:h.botName})})]}),main:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(S.KeptRead,{readAt:l,children:"unreadable"===e.kind?null:(0,b.jsx)(R.HomePanel,{fleetId:c,home:o,now:q,decidePlaces:"read"===e.kind?f:void 0,argo:r})}),"unreadable"===e.kind?r??null:null]}),aside:(0,b.jsx)(S.KeptRead,{readAt:"unreadable"===g.kind?void 0:new Date().toISOString(),children:(0,b.jsx)(m,{fleetId:c,read:g,phone:k?"numbers":"hidden",isRecordUnreadable:"unreadable"===e.kind})})})}async function X({searchParams:a}){let f=await (0,d._)({path:o.P,searchParams:a});return"noSignIn"===f.kind?(0,b.jsx)(L.L,{}):(0,b.jsx)(L.n,{api:f.api,fleetId:f.fleetId,screen:"home",children:(0,b.jsx)("div",{className:"grid gap-6",children:(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(M.f,{}),children:(0,b.jsx)(W,{api:f.api,fleetId:f.fleetId,fleet:(0,e.f)(f.api)})})})})}async function Y({searchParams:a}){return(0,b.jsx)(X,{searchParams:await a})}a.s(["default",0,Y,"metadata",0,{title:"Bridge"}],42499)},25133,a=>{var b=a.i(11857);(0,b.registerClientReference)(function(){throw Error("Attempted to call HomeLists() from the server but HomeLists 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","HomeLists");let c=(0,b.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");(0,b.registerClientReference)(function(){throw Error("Attempted to call StayAwareRows() from the server but StayAwareRows 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","StayAwareRows"),a.s(["HomePanel",0,c])},28667,a=>{var b=a.i(25133);a.n(b)},90736,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call LastReadHeading() from the server but LastReadHeading 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/last-read-heading.tsx","LastReadHeading");a.s(["LastReadHeading",0,b])},89052,a=>{var b=a.i(90736);a.n(b)}],39448,function(a){a.n(a.i(42499))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_1k2rrq-kr6f9k._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/fleet/state/your-fleet-panel.tsx","../../../../../web/features/bridge/ui/argo-section.tsx","../../../../../web/features/bridge/state/bridge-home.tsx","../../../../../web/features/bridge/ui/action-button.tsx","../../../../../web/features/bridge/ui/argo-inbox-notice.tsx","../../../../../web/app/%28bridge%29/bridge/page.tsx","../../../../../web/features/bridge/ui/job-looks.ts","../../../../../node_modules/lucide-react/src/icons/hand.ts","../../../../../web/features/bridge/ui/home-columns.tsx","../../../../../node_modules/lucide-react/src/icons/message-square.ts","../../../../../web/features/bridge/services/argo-inbox-notice.ts","../../../../../web/features/bridge/ui/slack-dropped-out.tsx","../../../../../node_modules/lucide-react/src/icons/external-link.ts","../../../../../node_modules/lucide-react/src/icons/replace.ts","../../../../../node_modules/lucide-react/src/icons/hash.ts","../../../../../node_modules/lucide-react/src/icons/ban.ts","../../../../../node_modules/lucide-react/src/icons/circle-question-mark.ts","../../../../../node_modules/lucide-react/src/icons/megaphone.ts","../../../../../node_modules/lucide-react/src/icons/triangle-alert.ts","../../../../../web/features/bridge/services/items.ts","../../../../../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/last-read-heading.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/last-read-heading.tsx%22%20%7D"],"sourcesContent":["import { Ship } from 'lucide-react';\n\nimport { inFleet } from '../../../../lib/gateway-api/page-account';\nimport type { FleetRead } from '../hooks/read-your-fleet';\nimport { BRIDGE_FLEET_PATH } from '../paths';\nimport { shipsOf } from '../services/your-fleet';\nimport { FleetNumbers } from '../ui/fleet-numbers';\nimport { FleetUnreadable } from '../ui/fleet-unreadable';\nimport { FleetWall } from '../ui/fleet-wall';\n\n/** What the phone's home shows of the fleet, as the mockups draw it: the numbers when nothing waits, nothing while something does. */\nexport type PhoneHome = 'numbers' | 'hidden';\n\n/**\n * Your fleet beside Bridge home (home.html, states.html): the ship count,\n * the four numbers and a tile per ship in its group; the heading leads to the\n * whole fleet. Left out for an account the fleet does not let read it.\n */\nexport function YourFleetPanel({ fleetId, read, phone, isRecordUnreadable = false }: { fleetId: string; read: FleetRead; phone: PhoneHome; isRecordUnreadable?: boolean }) {\n // While the record cannot be read either, the banner over home says it, once and without core's words (states.html).\n if (read.kind === 'forbidden' || (read.kind === 'unreadable' && isRecordUnreadable)) {\n return null;\n }\n return (\n <section data-testid=\"bridge-your-fleet\" className={`${phone === 'hidden' ? 'max-lg:hidden ' : ''}grid content-start gap-3`} aria-labelledby=\"bridge-your-fleet-heading\">\n <div className=\"flex items-baseline justify-between gap-3\">\n <h2 id=\"bridge-your-fleet-heading\" className=\"text-section font-semibold\">\n <a href={inFleet(BRIDGE_FLEET_PATH, fleetId)} className=\"inline-flex items-center gap-1.5 hover:underline\">\n <Ship aria-hidden=\"true\" className=\"size-4 shrink-0\" />\n Your fleet\n </a>\n </h2>\n {read.kind === 'read' ? <span className=\"text-caption text-muted-foreground max-lg:hidden\">{shipsOf(read.value.shipCount)}</span> : null}\n </div>\n {read.kind === 'read' ? (\n <>\n <FleetNumbers fleet={read.value} isShipCountShown={false} />\n <FleetWall className=\"max-lg:hidden\" groups={read.value.groups} tileColumns=\"grid-cols-3\" />\n </>\n ) : (\n <FleetUnreadable message={read.message} />\n )}\n </section>\n );\n}\n","import { Ban, ExternalLink, Replace, UserRound } from 'lucide-react';\n\nimport { ARGO_SECTION_ANCHOR, argoActionOf, doneLineOf, type ArgoSection } from '../services/argo-section';\nimport { ageOf } from '../services/items';\nimport { SIZES } from './action-button';\nimport { ArgoMark } from './argo-mark';\nimport { JOB_LOOKS } from './job-looks';\n\ntype ArgoItem = ArgoSection['items'][number];\n\n/** Each look as Bridge draws its jobs: a question as one to decide, a report as an alert, a notice muted. */\nconst LOOKS: Record<ArgoItem['look'], (typeof JOB_LOOKS)[keyof typeof JOB_LOOKS]> = {\n decide: JOB_LOOKS.decide,\n alert: JOB_LOOKS.alert,\n notice: JOB_LOOKS['stay-aware'],\n};\n\nfunction Separator() {\n return (\n <span aria-hidden=\"true\" className=\"text-border\">\n ·\n </span>\n );\n}\n\n/** One message waiting at argo: its look, a dot while new, its title, then For argo, its kind and its sender, its age, and its one button to act on it in the console as argo. */\nfunction ArgoRow({ item, now }: { item: ArgoItem; now: Date }) {\n const look = LOOKS[item.look];\n const Icon = look.icon;\n const isStale = item.stale !== null;\n const StaleMark = item.stale?.kind === 'replaced' ? Replace : Ban;\n return (\n <li data-testid=\"bridge-argo-item\" data-stale={isStale} className={`grid min-w-0 grid-cols-[1rem_minmax(0,1fr)_auto] items-start gap-x-2.5 gap-y-1.5 border-t border-border px-3 py-2.5 first:border-t-0 ${isStale ? 'bg-muted' : ''}`}>\n <Icon aria-hidden=\"true\" className={`mt-0.5 size-4 ${look.tone}`} />\n <span className=\"flex min-w-0 flex-col gap-0.5\">\n <span className=\"flex min-w-0 items-baseline sm:items-center\">\n {item.isNew ? (\n <span role=\"img\" aria-label=\"New\" className=\"mr-1.5 size-[7px] shrink-0 -translate-y-px rounded-full bg-primary\">\n <span className=\"sr-only\">New</span>\n </span>\n ) : null}\n <span className=\"min-w-0 break-words text-body-touch font-medium sm:truncate sm:text-body\">{isStale ? <s className=\"decoration-muted-foreground\">{item.title}</s> : item.title}</span>\n </span>\n <span className=\"flex flex-wrap items-center gap-1.5 text-caption text-muted-foreground\">\n <span className=\"inline-flex items-center gap-1 font-semibold text-primary\">\n <UserRound aria-hidden=\"true\" className=\"size-3\" />\n For argo\n </span>\n <Separator />\n <span className={`font-medium ${look.tone}`}>{item.kind === 'question' ? 'Question' : 'Report'}</span>\n <Separator />\n <span>{item.from}</span>\n {item.stale === null ? null : (\n <>\n <Separator />\n <span className=\"inline-flex items-center gap-1.5\">\n <StaleMark aria-hidden=\"true\" className=\"size-3.5 shrink-0\" />\n {item.stale.kind === 'withdrawn' ? 'Withdrawn' : 'Replaced'}\n </span>\n </>\n )}\n </span>\n </span>\n <time dateTime={item.sentAt} className=\"whitespace-nowrap text-right text-caption text-muted-foreground\">\n {ageOf(item.sentAt, now)}\n </time>\n <div className=\"col-span-2 col-start-2 flex flex-wrap items-center gap-1.5\">\n <a href={item.consoleUrl} data-testid=\"bridge-argo-act\" className={`inline-flex items-center rounded-md border border-border bg-card text-card-foreground hover:bg-accent ${SIZES.row}`}>\n <ExternalLink aria-hidden=\"true\" className=\"size-3.5\" />\n {argoActionOf(item)}\n </a>\n </div>\n </li>\n );\n}\n\n/**\n * Bridge's argo section (argo-inbox mockups, bridge.html, after): below\n * what waits on the person and outside its count, what waits at argo with\n * argo's own count, each item marked For argo; the newest done at argo,\n * by whom and where; and what acting does to the sign-in as argo (AI2,\n * AI4). Only an account allowed as argo is given it.\n */\nexport function ArgoSectionList({ section, now }: { section: ArgoSection; now: string }) {\n const readAt = new Date(now);\n return (\n <section id={ARGO_SECTION_ANCHOR} data-testid=\"bridge-argo\" aria-labelledby=\"bridge-argo-heading\" className=\"grid scroll-mt-4 gap-2\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <ArgoMark />\n <h2 id=\"bridge-argo-heading\" className=\"text-section font-semibold\">\n Waits at argo <span data-testid=\"bridge-argo-count\" className=\"text-primary\">{section.count}</span>\n </h2>\n <span className=\"text-caption text-muted-foreground max-sm:hidden sm:ml-auto\">Not yours: argo's, for everyone allowed as argo. Outside your count.</span>\n <span className=\"basis-full text-caption text-muted-foreground sm:hidden\">argo's, not yours; outside your count.</span>\n </div>\n {section.done === null ? null : (\n <p data-testid=\"bridge-argo-done\" className=\"text-caption text-muted-foreground\">\n <span className=\"max-sm:hidden\">{doneLineOf(section.done, { isPhone: false })}</span>\n <span className=\"sm:hidden\">{doneLineOf(section.done, { isPhone: true })}</span>\n </p>\n )}\n {section.items.length === 0 ? (\n <p className=\"rounded-md border border-border bg-card p-3 text-muted-foreground\">Nothing waits at argo.</p>\n ) : (\n <ul className=\"overflow-hidden rounded-lg border border-primary bg-card shadow-[inset_3px_0_0_var(--primary)]\">\n {section.items.map((item) => (\n <ArgoRow key={item.deliveryId} item={item} now={readAt} />\n ))}\n </ul>\n )}\n <p className=\"text-caption text-muted-foreground\">Acting signs you in to the console as argo; it ends anyone else's sign-in as argo.</p>\n </section>\n );\n}\n","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 { readYourFleet, type FleetRead } from '../fleet/hooks/read-your-fleet';\nimport { YourFleetPanel } from '../fleet/state/your-fleet-panel';\nimport { readArgoInboxNotice, readArgoSection, readBridgeHome, readDecidePlaces, readSlackDroppedOut, readTimeOf } from '../hooks/read-bridge';\nimport { argoInboxNoticeOf } from '../services/argo-inbox-notice';\nimport { BRIDGE_PATH } from '../paths';\nimport { ArgoInboxNotice } from '../ui/argo-inbox-notice';\nimport { ArgoSectionList } from '../ui/argo-section';\nimport { BridgeNoSignIn, BridgeShell } from './bridge-shell';\nimport { BridgeSkeleton } from '../ui/bridge-skeleton';\nimport { HomeColumns } from '../ui/home-columns';\nimport { SlackDroppedOut } from '../ui/slack-dropped-out';\nimport { HomePanel } from './home-panel';\nimport { KeptRead } from './kept-read';\nimport { LastReadHeading } from './last-read-heading';\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\n/**\n * Your fleet beside home once both are read; the fleet was asked for at the\n * same time as home, so neither waits on the other. While either cannot be\n * read, the browser shows it as last read (states.html).\n */\nasync function HomeParts({ api, fleetId, fleet }: { api: GatewayApi; fleetId: string; fleet: Promise<FleetRead> }) {\n const [read, decidePlaces, fleetRead, slackDroppedOut, argoNotice, argoSection] = await Promise.all([readBridgeHome(api), readDecidePlaces(api), fleet, readSlackDroppedOut(api), readArgoInboxNotice(api), readArgoSection(api)]);\n const isNothingWaiting = read.kind !== 'unreadable' && (read.kind === 'none' || read.value.waiting.items.length === 0);\n const readAt = readTimeOf(read);\n const home = read.kind === 'read' ? read.value : NOTHING;\n const now = new Date().toISOString();\n const argo = argoSection === null ? undefined : <ArgoSectionList section={argoSection} now={now} />;\n const argoInboxNotice = argoInboxNoticeOf(argoNotice);\n return (\n <HomeColumns\n heading={<KeptRead readAt={readAt}>{read.kind === 'unreadable' ? null : <LastReadHeading />}</KeptRead>}\n banner={\n <>\n {read.kind === 'unreadable' ? <RecordUnreadable whoDidNotAnswer={read.whoDidNotAnswer} /> : null}\n {argoInboxNotice === null ? null : <ArgoInboxNotice notice={argoInboxNotice} />}\n <KeptRead readAt={slackDroppedOut === undefined ? undefined : new Date().toISOString()}>{slackDroppedOut === undefined || slackDroppedOut === null ? null : <SlackDroppedOut fleetId={fleetId} botName={slackDroppedOut.botName} />}</KeptRead>\n </>\n }\n main={\n <>\n <KeptRead readAt={readAt}>{read.kind === 'unreadable' ? null : <HomePanel fleetId={fleetId} home={home} now={now} decidePlaces={read.kind === 'read' ? decidePlaces : undefined} argo={argo} />}</KeptRead>\n {read.kind === 'unreadable' ? (argo ?? null) : null}\n </>\n }\n aside={\n <KeptRead readAt={fleetRead.kind === 'unreadable' ? undefined : new Date().toISOString()}>\n <YourFleetPanel fleetId={fleetId} read={fleetRead} phone={isNothingWaiting ? 'numbers' : 'hidden'} isRecordUnreadable={read.kind === 'unreadable'} />\n </KeptRead>\n }\n />\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, with Your fleet\n * beside them, and why Slack shows nothing when it dropped out. Signed out, the browser goes to sign in before anything\n * 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 * An account allowed as argo sees what waits at argo below what waits on\n * them, with its own count, and is told while argo has not let the gateway\n * read argo's inbox (argo's inbox, AI4 and section 4).\n */\nexport async function BridgeHomePage({ searchParams }: { searchParams: SearchParams }) {\n const page = await signedInPage({ path: BRIDGE_PATH, searchParams });\n if (page.kind === 'noSignIn') {\n return <BridgeNoSignIn />;\n }\n return (\n <BridgeShell api={page.api} fleetId={page.fleetId} screen=\"home\">\n <div className=\"grid gap-6\">\n <Suspense fallback={<BridgeSkeleton />}>\n <HomeParts api={page.api} fleetId={page.fleetId} fleet={readYourFleet(page.api)} />\n </Suspense>\n </div>\n </BridgeShell>\n );\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 ghost: 'text-foreground hover:bg-accent',\n} as const;\n\n/** A row's buttons are small on a desktop, and a thumb's size on a phone (Bridge mockups, home). */\nexport const SIZES = {\n regular: 'h-9 gap-2 px-4',\n row: 'h-9 gap-2 px-4 text-body sm:h-6 sm:gap-1.5 sm:px-2.5 sm:text-meta',\n /** A basket entry's buttons (basket.html). */\n small: 'h-8 gap-2 px-3 text-meta',\n /** A place card's one action (routing.html). */\n xs: 'h-7 gap-1.5 px-2.5 text-caption font-medium',\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 size = 'regular',\n children,\n className = '',\n disabled,\n ...button\n}: ButtonHTMLAttributes<HTMLButtonElement> & { isPending: boolean; pendingLabel: string; variant?: keyof typeof VARIANTS; size?: keyof typeof SIZES; children: ReactNode }) {\n return (\n <button\n {...button}\n disabled={disabled === true || isPending}\n aria-busy={isPending}\n className={`inline-flex items-center rounded-md disabled:cursor-not-allowed disabled:opacity-70 ${SIZES[size]} ${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","import type { ArgoInboxNoticeWords } from '../services/argo-inbox-notice';\n\n/** Bridge home's notice that argo has not let the gateway read argo's inbox, with the guide to the read rule argo adds. */\nexport function ArgoInboxNotice({ notice }: { notice: ArgoInboxNoticeWords }) {\n return (\n <section role=\"status\" data-testid=\"bridge-argo-inbox-notice\" className=\"flex flex-col gap-1 rounded-md border border-tone-attention-border bg-tone-attention-bg px-3 py-2 text-tone-attention-fg\">\n <span className=\"font-semibold\">{notice.title}</span>\n <span className=\"text-caption\">{notice.body}</span>\n <a data-testid=\"bridge-argo-inbox-guide\" href={notice.guide.href} target=\"_blank\" rel=\"noreferrer\" className=\"text-caption font-medium underline underline-offset-2\">\n {notice.guide.label}\n </a>\n </section>\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","import { CircleQuestionMark, Hand, Megaphone, MessageSquare, TriangleAlert, type LucideIcon } from 'lucide-react';\n\nimport type { HomeItem } from '../services/items';\n\ntype Job = HomeItem['job'];\n\n/** Each job's icon and tone, on a row and an opened item's heading (Bridge mockups): Decide blue, Do amber, Alert red, a notice and a message muted. */\nexport const JOB_LOOKS: Record<Job | 'alert', { readonly icon: LucideIcon; readonly tone: string }> = {\n decide: { icon: CircleQuestionMark, tone: 'text-tone-active-fg' },\n do: { icon: Hand, tone: 'text-tone-waiting-fg' },\n alert: { icon: TriangleAlert, tone: 'text-tone-attention-fg' },\n 'stay-aware': { icon: Megaphone, tone: 'text-muted-foreground' },\n 'everything-else': { icon: MessageSquare, tone: 'text-muted-foreground' },\n};\n\n/** The look of an item's job: an alert's own, otherwise its job's. */\nexport function jobLookOf({ job, isAlert }: { job: Job; isAlert: boolean }): (typeof JOB_LOOKS)[Job] {\n return JOB_LOOKS[isAlert ? 'alert' : job];\n}\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'hand',\n size: 24,\n node: [\n ['path', { d: 'M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2', key: '1fvzgz' }],\n ['path', { d: 'M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2', key: '1kc0my' }],\n ['path', { d: 'M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8', key: '10h0bg' }],\n [\n 'path',\n {\n d: 'M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15',\n key: '1s1gnw',\n },\n ],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Hand\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/hand\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Hand = createLucideIcon(__iconData);\n\nexport default Hand;\n","import type { ReactNode } from 'react';\n\n/**\n * Bridge home's columns (home.html, states.html): what waits on the left and\n * Your fleet beside it on a wide screen, one under the other on a phone; the\n * title row, then a banner, such as the record cannot be read, run the whole\n * width above both.\n * While an item is open, it and its list take the whole width and Your fleet\n * steps out of sight, as decide.html and do.html draw it (aeolus-fleet#1538).\n */\nexport function HomeColumns({ heading, banner, main, aside }: { heading?: ReactNode; banner?: ReactNode; main: ReactNode; aside: ReactNode }) {\n return (\n <div className=\"grid gap-4\">\n {heading}\n {banner}\n <div className=\"grid gap-6 lg:grid-cols-[minmax(0,1fr)_20rem] has-[[data-testid=bridge-split]]:lg:grid-cols-1 has-[[data-testid=bridge-split]]:[&>:last-child]:hidden\">\n <div className=\"min-w-0\">{main}</div>\n {aside}\n </div>\n </div>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'message-square',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n key: '18887p',\n },\n ],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name MessageSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/message-square\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst MessageSquare = createLucideIcon(__iconData);\n\nexport default MessageSquare;\n","/**\n * Bridge home's notice of argo's read rule (argo's inbox, section 4): while\n * argo has not let the gateway read argo's inbox, an account allowed as argo\n * is told so, and where argo adds the rule, with the guide to it.\n */\nimport type { GatewayApi } from '../../../lib/gateway-api/gateway-api';\n\n/** What the gateway answers of argo's inbox for the account. */\nexport type ArgoInboxNotice = Awaited<ReturnType<GatewayApi['people']['argoInboxNotice']['query']>>;\n\n/** The guide to the read rule, step by step, in the gateway's docs. */\nexport const ARGO_READ_RULE_GUIDE_URL = 'https://github.com/ThomasHendrickx/aeolus-fleet-gateway/blob/main/docs/argo-inbox-read-rule.md';\n\nexport interface ArgoInboxNoticeWords {\n readonly title: string;\n readonly body: string;\n readonly guide: { readonly label: string; readonly href: string };\n}\n\n/** The notice's words, none while there is nothing to tell. */\nexport function argoInboxNoticeOf(notice: ArgoInboxNotice): ArgoInboxNoticeWords | null {\n if (notice.kind === 'none') {\n return null;\n }\n return {\n title: 'What waits at argo does not reach you here',\n body: `argo has not let the gateway read argo's inbox, so what is sent to argo shows only in the console's inbox. argo adds a read rule on the console's Network page: from the gateway's ship, ${notice.gatewayShip.name}, to argo.`,\n guide: { label: 'How argo adds the read rule', href: ARGO_READ_RULE_GUIDE_URL },\n };\n}\n","import { Hash } from 'lucide-react';\n\nimport { inFleet } from '../../../lib/gateway-api/page-account';\nimport { BRIDGE_ROUTING_PATH } from '../paths';\n\n/**\n * Slack dropped out (states.html; Bridge, section 9: a place fails, it\n * drops out and Bridge says why): the fleet's own bot was removed in Slack,\n * so Slack shows the person nothing, while Bridge and a chat still show\n * everything; it leads to where things show. The phone leaves it out, as\n * its frame draws it.\n */\nexport function SlackDroppedOut({ fleetId, botName }: { fleetId: string; botName: string }) {\n return (\n <section role=\"status\" data-testid=\"bridge-slack-dropped-out\" className=\"flex items-start max-sm:hidden gap-2.5 rounded-md border border-tone-waiting-border bg-tone-waiting-bg px-3 py-2.5\">\n <Hash aria-hidden=\"true\" className=\"mt-0.5 size-4 shrink-0 text-tone-waiting-fg\" />\n <span className=\"flex min-w-0 flex-1 flex-col\">\n <span className=\"font-medium\">Slack dropped out</span>\n <span className=\"text-meta text-muted-foreground\">{`The ${botName} bot was removed from your workspace, so Slack shows nothing. Everything still shows here and in a chat.`}</span>\n </span>\n <a href={inFleet(BRIDGE_ROUTING_PATH, fleetId)} className=\"inline-flex h-8 shrink-0 items-center rounded-md border border-border bg-card px-3 text-sm font-medium text-card-foreground hover:bg-accent\">\n Where things show\n </a>\n </section>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'external-link',\n size: 24,\n node: [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ExternalLink = createLucideIcon(__iconData);\n\nexport default ExternalLink;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'replace',\n size: 24,\n node: [\n ['path', { d: 'M14 4a1 1 0 0 1 1-1', key: 'dhj8ez' }],\n ['path', { d: 'M15 10a1 1 0 0 1-1-1', key: '1mnyi5' }],\n ['path', { d: 'M21 4a1 1 0 0 0-1-1', key: 'sfs9ap' }],\n ['path', { d: 'M21 9a1 1 0 0 1-1 1', key: 'mp6qeo' }],\n ['path', { d: 'm3 7 3 3 3-3', key: 'x25e72' }],\n ['path', { d: 'M6 10V5a2 2 0 0 1 2-2h2', key: '15xut4' }],\n ['rect', { x: '3', y: '14', width: '7', height: '7', rx: '1', key: '1bkyp8' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Replace\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/replace\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Replace = createLucideIcon(__iconData);\n\nexport default Replace;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'hash',\n size: 24,\n node: [\n ['line', { x1: '4', x2: '20', y1: '9', y2: '9', key: '4lhtct' }],\n ['line', { x1: '4', x2: '20', y1: '15', y2: '15', key: 'vyu0kd' }],\n ['line', { x1: '10', x2: '8', y1: '3', y2: '21', key: '1ggp8o' }],\n ['line', { x1: '16', x2: '14', y1: '3', y2: '21', key: 'weycgp' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Hash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/hash\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Hash = createLucideIcon(__iconData);\n\nexport default Hash;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'ban',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M4.929 4.929 19.07 19.071', key: '196cmz' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Ban\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/ban\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Ban = createLucideIcon(__iconData);\n\nexport default Ban;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'circle-question-mark',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3', key: '1u773s' }],\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n ],\n aliases: ['help-circle', 'circle-help'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name CircleQuestionMark\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/circle-question-mark\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleQuestionMark = createLucideIcon(__iconData);\n\nexport default CircleQuestionMark;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'megaphone',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z',\n key: 'q8bfy3',\n },\n ],\n ['path', { d: 'M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14', key: '1853fq' }],\n ['path', { d: 'M8 6v8', key: '15ugcq' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Megaphone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/megaphone\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Megaphone = createLucideIcon(__iconData);\n\nexport default Megaphone;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'triangle-alert',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'm21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3',\n key: 'wmoenq',\n },\n ],\n ['path', { d: 'M12 9v4', key: 'juzpu7' }],\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n ],\n aliases: ['alert-triangle'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name TriangleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/triangle-alert\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst TriangleAlert = createLucideIcon(__iconData);\n\nexport default TriangleAlert;\n","/**\n * Bridge's items as its pages show them (docs/design/bridge, section 6):\n * each job's label, and what came of an item and where, in words. Pure view\n * logic, no React and no API client.\n */\nimport type { inferRouterOutputs } from '@trpc/server';\n\nimport type { GatewayRouter } from '../../../../src/adapters/trpc/router.js';\n\n/** Bridge home as the API answers it: what waits with its count, and the stay-aware feed. */\nexport type BridgeHome = inferRouterOutputs<GatewayRouter>['people']['home'];\n\n/** An item on Bridge home: by its title, with its job, new or seen. */\nexport type HomeItem = BridgeHome['waiting']['items'][number];\n\n/** A page of the person ship's record, as the API answers it. */\nexport type RecordPage = inferRouterOutputs<GatewayRouter>['people']['record'];\n\n/** An item of the record, with its state and its outcome once kept. */\nexport type RecordItem = RecordPage['items'][number];\n\ntype Job = RecordItem['job'];\ntype Outcome = NonNullable<RecordItem['outcome']>;\n\nconst JOB_LABELS: Record<Job, string> = {\n decide: 'Decide',\n do: 'Do',\n 'stay-aware': 'Stay aware',\n 'everything-else': 'Message',\n};\n\nconst PLACES: Record<Outcome['place'], string> = {\n bridge: 'in Bridge',\n chat: 'in a chat',\n slack: 'in Slack',\n gateway: 'by the gateway',\n};\n\nexport function jobLabelOf(job: Job): string {\n return JOB_LABELS[job];\n}\n\n/** The job's word on an item's row: stay aware said as Alert or Notice (Bridge mockups, home). */\nexport function jobWordOf({ job, isAlert }: { job: Job; isAlert: boolean }): string {\n if (job === 'stay-aware') {\n return isAlert ? 'Alert' : 'Notice';\n }\n return JOB_LABELS[job];\n}\n\nconst MS_PER_MINUTE = 60_000;\nconst MINUTES_PER_HOUR = 60;\nconst HOURS_PER_DAY = 24;\nconst DAYS_YESTERDAY = 1;\n\n/** How long ago an item arrived, as its row says it: now, minutes, hours, yesterday, then days. */\nexport function ageOf(sentAt: string, now: Date): string {\n const minutes = Math.floor((now.getTime() - new Date(sentAt).getTime()) / MS_PER_MINUTE);\n if (minutes < 1) {\n return 'now';\n }\n if (minutes < MINUTES_PER_HOUR) {\n return `${String(minutes)} min`;\n }\n const hours = Math.floor(minutes / MINUTES_PER_HOUR);\n if (hours < HOURS_PER_DAY) {\n return `${String(hours)} h`;\n }\n const days = Math.floor(hours / HOURS_PER_DAY);\n return days === DAYS_YESTERDAY ? 'yesterday' : `${String(days)} d`;\n}\n\n/** Where the person saw an item, as its row says it: Seen in Bridge; Seen alone where the gateway did not keep where. */\nexport function seenTextOf(seenIn: Outcome['place'] | null): string {\n return seenIn === null ? 'Seen' : `Seen ${PLACES[seenIn]}`;\n}\n\n/** What came of an item, short, as its history says it: Answered in Slack: option 2, Cannot, in Bridge, Withdrawn by orchestrator-1. */\nfunction saidOf(outcome: Outcome, from: string): string {\n const option = outcome.option === null ? '' : `: option ${String(outcome.option)}`;\n switch (outcome.kind) {\n case 'seen':\n return `Seen ${PLACES[outcome.place]}`;\n case 'answered':\n return `Answered ${PLACES[outcome.place]}${option}`;\n case 'done':\n return outcome.place === 'gateway' ? 'Done: the gateway saw it complete' : `Done ${PLACES[outcome.place]}`;\n case 'cannot':\n return `Cannot, ${PLACES[outcome.place]}`;\n case 'withdrawn':\n return `Withdrawn by ${from}`;\n case 'replaced':\n return `Replaced by ${from}`;\n case 'notSent':\n return `Not sent, removed ${PLACES[outcome.place]}${option}`;\n }\n}\n\n/** Whether an item ended as the person or its asker meant it to: seen, answered, done; not for cannot, withdrawn, replaced or not sent. */\nfunction isEndedWell(kind: Outcome['kind']): boolean {\n switch (kind) {\n case 'seen':\n case 'answered':\n case 'done':\n return true;\n case 'cannot':\n case 'withdrawn':\n case 'replaced':\n case 'notSent':\n return false;\n }\n}\n\n/** The option's label after its number, when the question names it: \", Harbour first\". */\nfunction labelOf(outcome: Outcome): string {\n return outcome.optionLabel === null ? '' : `, ${outcome.optionLabel}`;\n}\n\n/**\n * What came of a done item and where, on its row in Done (done.html): the\n * answer's option with its label and the note quoted, a step's note quoted,\n * who withdrew or replaced it and with what; Done alone when the fleet ended\n * it with no outcome kept. Whether it ended well picks its icon.\n */\nexport function doneOutcomeOf(item: Pick<RecordItem, 'from' | 'outcome'>): { readonly text: string; readonly isOk: boolean } {\n const { outcome } = item;\n if (outcome === null) {\n return { text: 'Done', isOk: true };\n }\n const said = saidOf(outcome, item.from);\n const note = outcome.note === null ? '' : `“${outcome.note}”`;\n const text = (() => {\n switch (outcome.kind) {\n case 'answered':\n return `${said}${labelOf(outcome)}${note === '' ? '' : `${outcome.option === null ? '' : ','} with the note ${note}`}`;\n case 'notSent':\n return `${said}${labelOf(outcome)}`;\n case 'done':\n case 'cannot':\n return note === '' || outcome.place === 'gateway' ? said : `${said}: ${note}`;\n case 'replaced':\n return outcome.replacementTitle === null ? said : `Withdrawn by ${item.from}, replaced by “${outcome.replacementTitle}”`;\n case 'seen':\n case 'withdrawn':\n return said;\n }\n })();\n return { text, isOk: isEndedWell(outcome.kind) };\n}\n\n/** Whether what came of an item was sent to its asker as the person: an answer, or a step's done or cannot by the person. */\nfunction isSentAsPerson(outcome: Outcome): boolean {\n return outcome.place !== 'gateway' && (outcome.kind === 'answered' || outcome.kind === 'done' || outcome.kind === 'cannot');\n}\n\n/**\n * What came of a done item opened from Done, where and at what time, with\n * the option's label (decide.html: \"Answered in Slack at 19:58: option 2,\n * Harbour first\"), and what was sent to its asker as the person, the note\n * quoted, with the places that show the same answer; none for one the\n * fleet ended with no outcome kept.\n */\n/** The places besides Bridge that show an answer once given, by what each shows: Slack its post, a chat the item (CC9, view sync). */\nconst ANSWER_SHOWN_IN: Partial<Record<RecordItem['places'][number], string>> = {\n slack: \"Slack's post\",\n chat: 'the chat',\n};\n\n/** The places that show the same answer, as the opened item says it: \"Slack's post and the chat show the same answer.\"; nothing when only Bridge showed it. */\nfunction sameAnswerOf(places: RecordItem['places']): string {\n const shown = places.flatMap((place) => ANSWER_SHOWN_IN[place] ?? []);\n if (shown.length === 0) {\n return '';\n }\n const named = shown.length === 1 ? `${shown.join('')} shows` : `${shown.slice(0, -1).join(', ')} and ${shown.at(-1) ?? ''} show`;\n return ` ${named.charAt(0).toUpperCase()}${named.slice(1)} the same answer.`;\n}\n\nexport function endedOf(item: Pick<RecordItem, 'from' | 'outcome' | 'places'>, timeZone?: string): { readonly isOk: boolean; readonly text: string; readonly sent: string | undefined } | undefined {\n const { outcome } = item;\n if (outcome === null) {\n return undefined;\n }\n const time = ` at ${clockTimeOf(outcome.at, timeZone)}`;\n const said = saidOf({ ...outcome, option: null }, item.from);\n const option = outcome.option === null ? '' : `: option ${String(outcome.option)}${labelOf(outcome)}`;\n const text = outcome.kind === 'done' && outcome.place === 'gateway' ? `Done by the gateway${time}: it saw it complete` : `${said}${time}${option}`;\n const note = outcome.note === null ? '' : `“${outcome.note}” `;\n const sameAnswer = outcome.kind === 'answered' ? sameAnswerOf(item.places) : '';\n return { isOk: isEndedWell(outcome.kind), text, sent: isSentAsPerson(outcome) ? `${note}Sent to ${item.from} as you.${sameAnswer}` : undefined };\n}\n\nconst ENDED_TITLES: Record<Outcome['kind'], string> = {\n seen: 'Seen',\n answered: 'Answered',\n done: 'Done',\n cannot: 'Cannot',\n withdrawn: 'Withdrawn',\n replaced: 'Replaced',\n notSent: 'Not sent',\n};\n\n/** The title of a done item's own screen on a phone: what came of it, such as Answered (decide.html); Done when none was kept. */\nexport function endedTitleOf(item: Pick<RecordItem, 'outcome'>): string {\n return item.outcome === null ? 'Done' : ENDED_TITLES[item.outcome.kind];\n}\n\n/** The places a row and a history name, as Where things show names them. */\nconst PLACE_NAMES: Record<RecordItem['places'][number] | 'bridge', string> = {\n bridge: 'Bridge',\n slack: 'Slack',\n chat: 'a chat',\n 'web-push': 'web push',\n email: 'email',\n};\n\n/** One line of a done item's history: at what time, what happened, and what more, the last one ending it. */\nexport interface HistoryLine {\n readonly at: string;\n readonly text: string;\n readonly detail: string | undefined;\n readonly isEnd: boolean;\n}\n\n/**\n * A done item's history (decide.html, answered in Slack): when it arrived\n * and the places that showed it, where and when the person saw it, and\n * what came of it, done. One whose outcome is seeing it says seen once.\n */\nexport function historyOf(item: Pick<RecordItem, 'from' | 'sentAt' | 'places' | 'outcome'>, timeZone?: string): HistoryLine[] {\n const arrived: HistoryLine = { at: clockTimeOf(item.sentAt, timeZone), text: `Arrived from ${item.from}`, detail: `shown in ${(['bridge', ...item.places] as const).map((place) => PLACE_NAMES[place]).join(', ')}`, isEnd: false };\n const { outcome } = item;\n if (outcome === null) {\n return [arrived];\n }\n const { seen } = outcome;\n const seenLine: HistoryLine[] = seen === null || outcome.kind === 'seen' ? [] : [{ at: clockTimeOf(seen.at, timeZone), text: `Seen ${PLACES[seen.place]}`, detail: undefined, isEnd: false }];\n return [arrived, ...seenLine, { at: clockTimeOf(outcome.at, timeZone), text: saidOf(outcome, item.from), detail: 'done', isEnd: true }];\n}\n\n/** A day as a calendar date in a time zone, counted from the epoch. */\nfunction dayNumberOf(at: Date, timeZone: string | undefined): number {\n const [year = 0, month = 1, day = 1] = new Intl.DateTimeFormat('en-CA', { year: 'numeric', month: '2-digit', day: '2-digit', timeZone }).format(at).split('-').map(Number);\n return Date.UTC(year, month - 1, day) / (MS_PER_MINUTE * MINUTES_PER_HOUR * HOURS_PER_DAY);\n}\n\n/** The day Done groups an item under, in the person's own time zone: Today, Yesterday, then its date (done.html). */\nexport function dayOf(at: string, { now, timeZone }: { now: Date; timeZone?: string }): string {\n const days = dayNumberOf(now, timeZone) - dayNumberOf(new Date(at), timeZone);\n if (days === 0) {\n return 'Today';\n }\n if (days === DAYS_YESTERDAY) {\n return 'Yesterday';\n }\n return new Intl.DateTimeFormat('en-GB', { day: 'numeric', month: 'short', timeZone }).format(new Date(at));\n}\n\n/**\n * The time of day an item arrived or an outcome was sent, as an opened item\n * says it (decide.html: \"19:41\"): the hour and minute in the person's own\n * time zone, the browser's unless one is named.\n */\nexport function clockTimeOf(at: string, timeZone?: string): string {\n return new Intl.DateTimeFormat('en-GB', { hour: '2-digit', minute: '2-digit', hourCycle: 'h23', timeZone }).format(new Date(at));\n}\n\n/** An opened item's job and whether a stay-aware one is an alert: what its heading and screen are named by. */\ninterface Named {\n readonly job: Job;\n readonly isAlert: boolean;\n}\n\n/** Who sent an opened item, in its heading's words: \"question from orchestrator-1\", \"step from\", or \"from\" alone (decide.html, do.html, stay-aware.html). */\nexport function fromWordsOf({ job }: Named): string {\n switch (job) {\n case 'decide':\n return 'question from';\n case 'do':\n return 'step from';\n case 'stay-aware':\n case 'everything-else':\n return 'from';\n }\n}\n\n/**\n * Whether an opened item was seen, in its heading's words: seen by this\n * opening, or already; an alert or a notice is done once seen (CC16). A\n * question or step seen before says nothing more (do.html).\n */\nexport function seenWordsOf({ wasNew, isDoneOnSeeing }: { wasNew: boolean; isDoneOnSeeing: boolean }): string | undefined {\n if (isDoneOnSeeing) {\n return wasNew ? 'Seen now, so done' : 'Seen, so done';\n }\n return wasNew ? 'Seen just now' : undefined;\n}\n\n/** The title of an item's own screen on a phone, beside its back chevron (decide.html, do.html). */\nexport function screenTitleOf(item: Named): string {\n switch (item.job) {\n case 'decide':\n return 'Question';\n case 'do':\n return 'Step';\n case 'stay-aware':\n return item.isAlert ? 'Alert' : 'Notice';\n case 'everything-else':\n return 'Message';\n }\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const HomeLists = registerClientReference(\n function() { throw new Error(\"Attempted to call HomeLists() from the server but HomeLists 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 \"HomeLists\",\n);\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);\nexport const StayAwareRows = registerClientReference(\n function() { throw new Error(\"Attempted to call StayAwareRows() from the server but StayAwareRows 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 \"StayAwareRows\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const LastReadHeading = registerClientReference(\n function() { throw new Error(\"Attempted to call LastReadHeading() from the server but LastReadHeading 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/last-read-heading.tsx\",\n \"LastReadHeading\",\n);\n"],"names":["fleetId","isRecordUnreadable","YourFleetPanel","read","phone","kind","className","id","href","value","shipCount","tileColumns","message","fleet","isShipCountShown","groups","HomeLists","Error","HomePanel","StayAwareRows","LastReadHeading"],"mappings":"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CEAV,AFAU,AFAV,ACAA,ANAA,AQAA,CDAU,AFAV,ACAA,AGAA,ATAA,AQAA,CCAA,AJAA,ACAA,AEAA,ARAA,AOAU,CPAV,AMAA,ADAA,AEAU,AEAV,ADAA,CDAgB,CPAhB,AQAA,AFAA,ADAe,AIAf,CAAA,AFAgB,ACAhB,AFAA,ADAe,ALAf,CKAe,AIAf,AFAgB,ACAhB,AFAA,ANAA,aOAoC,CAAA,ACAF,ARAlC,ASAA,GFAyC,mBAC9C,CDAA,ACAA,AFAA,ALAA,ASAA,GFAM,CDAD,ADAA,AIAA,ATAA,AOAC,OAAU,CPAX,AOAW,AEAX,AJAA,ACAA,GCAgB,CEAF,AHAd,ADAA,ALAA,CAAA,AOAgB,AEAF,AJAd,ACAA,CAAA,OCA6B,KAAM,CPAnC,AOAmC,AFAnC,GEAwC,CFAxC,ALAA,AOAwC,CAAA,APAxC,AKAA,CLAA,AOAwC,AFAxC,OEAkD,CPAD,AKAjD,AECd,CPD+D,AKAjD,AECb,CPD8D,AKAjD,CAAA,ALAiD,CAAA,AKAjD,CAAA,OECC,CDAD,AKAP,ATAA,AQAA,AHAQ,CGAR,AHAQ,AIAR,ATAA,AIAO,MCAW,CAAA,ADAX,AJAP,AQAA,ACAA,IJAwB,CIAxB,AJAwB,ADAjB,AJAP,AQAA,CAAA,ARAA,AIAO,AKAP,AJAwB,CAAA,AGAxB,ARAA,AIAO,AKAP,AJA4B,IAAK,CDAH,AKA9B,AJAiC,AGAjC,ARAA,EKAqC,CGArC,ARAA,ASAA,ALAmC,CIAnC,AJAmC,AJAnC,ASAA,CLAmC,AIAnC,ARAA,ASAA,CDAA,ACAA,AJAqC,ALArC,AIAmC,CJAnC,AIAmC,AKAnC,AJAqC,AGArC,AHA2C,IAAK,CGAhD,ACAA,ATAA,AKAgD,CIAhD,ATAA,AQAA,AHAgD,CGAhD,ACAA,ATAA,AKAgD,CGAhD,ACAA,ATAA,AKAgD,CAAA,AIAhD,ADAA,ARAA,CAAA,AKAgD,AGAhD,ACAA,CJAgD,ALAhD,ASAA,ADAA,CCAA,ADAA,ARAA,6BEEJ,SAAS,EAAgB,SAAE,CAAO,SAAE,CAAO,CAAwC,EACxF,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,UAAA,CAAQ,KAAK,SAAS,cAAY,2BAA2B,UAAU,+HA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","ignoreList":[7,9,12,13,14,15,16,17,18,20,21]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[236,a=>{var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(88276),f=a.i(29660),g=a.i(36554),h=a.i(60217),i=a.i(91529),j=a.i(91026);async function k({api:a,fleetId:c}){let d=await (0,e.M)(a);return(0,b.jsx)(i.f,{read:d,children:"unreadable"===d.kind?null:(0,b.jsx)(j.BasketPanel,{fleetId:c,basket:"read"===d.kind?d.value:{count:0,toSend:0,entries:[]}})})}async function l({searchParams:a}){let e=await (0,d._)({path:f.H,searchParams:a});return"noSignIn"===e.kind?(0,b.jsx)(g.L,{}):(0,b.jsx)(g.n,{api:e.api,fleetId:e.fleetId,screen:"basket",children:(0,b.jsx)("div",{className:"grid gap-6",children:(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(h.f,{}),children:(0,b.jsx)(k,{api:e.api,fleetId:e.fleetId})})})})}async function m({searchParams:a}){return(0,b.jsx)(l,{searchParams:await a})}a.s(["default",0,m,"metadata",0,{title:"Basket"}],236)},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)},91784,a=>{let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call FadedAsLastRead() from the server but FadedAsLastRead 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/faded-as-last-read.tsx","FadedAsLastRead");a.s(["FadedAsLastRead",0,b])},64182,a=>{var b=a.i(91784);a.n(b)},91529,a=>{var b=a.i(7997),c=a.i(88276),d=a.i(64182),e=a.i(21476),f=a.i(17006);a.s(["f",0,function({read:a,children:g}){return(0,b.jsxs)("div",{className:"grid gap-4",children:["unreadable"===a.kind?(0,b.jsx)(f.RecordUnreadable,{whoDidNotAnswer:a.whoDidNotAnswer}):null,(0,b.jsx)(e.KeptRead,{readAt:(0,c.c)(a),children:(0,b.jsx)(d.FadedAsLastRead,{children:g})})]})}])},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)},60217,a=>{var b=a.i(7997);function c({width:a}){return(0,b.jsx)("span",{className:`block h-4 animate-pulse rounded bg-muted ${a}`})}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)(c,{width:"w-48"}),(0,b.jsx)(c,{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))})]})}])}],23017,function(a){a.n(a.i(236))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_1qvxzqmq4aw94._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/state/bridge-basket.tsx","../../../../../web/app/%28bridge%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/faded-as-last-read.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/features/bridge/state/faded-as-last-read.tsx%22%20%7D","../../../../../web/features/bridge/state/page-as-last-read.tsx","../../../../../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","../../../../../web/features/bridge/ui/bridge-skeleton.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 { readBasket } from '../hooks/read-bridge';\nimport { BRIDGE_BASKET_PATH } from '../paths';\nimport { BridgeNoSignIn, BridgeShell } from './bridge-shell';\nimport { BridgeSkeleton } from '../ui/bridge-skeleton';\nimport { PageAsLastRead } from './page-as-last-read';\nimport { BasketPanel } from './basket-panel';\n\nasync function BasketParts({ api, fleetId }: { api: GatewayApi; fleetId: string }) {\n const read = await readBasket(api);\n return (\n <PageAsLastRead read={read}>\n {read.kind === 'unreadable' ? null : <BasketPanel fleetId={fleetId} basket={read.kind === 'read' ? read.value : { count: 0, toSend: 0, entries: [] }} />}\n </PageAsLastRead>\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 <BridgeNoSignIn />;\n }\n return (\n <BridgeShell api={page.api} fleetId={page.fleetId} screen=\"basket\">\n <div className=\"grid gap-6\">\n <Suspense fallback={<BridgeSkeleton />}>\n <BasketParts api={page.api} fleetId={page.fleetId} />\n </Suspense>\n </div>\n </BridgeShell>\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 FadedAsLastRead = registerClientReference(\n function() { throw new Error(\"Attempted to call FadedAsLastRead() from the server but FadedAsLastRead 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/faded-as-last-read.tsx\",\n \"FadedAsLastRead\",\n);\n","import type { ReactNode } from 'react';\n\nimport { readTimeOf, type BridgeRead } from '../hooks/read-bridge';\nimport { FadedAsLastRead } from './faded-as-last-read';\nimport { KeptRead } from './kept-read';\nimport { RecordUnreadable } from './record-unreadable';\n\n/**\n * A Bridge page's list from the record (states.html): as read now; while\n * the record cannot be read, the banner, over the list as last read, faded,\n * when this page read it before. The slots stay in place either way, so the\n * browser keeps what it last read.\n */\nexport function PageAsLastRead({ read, children }: { read: BridgeRead<unknown>; children: ReactNode }) {\n return (\n <div className=\"grid gap-4\">\n {read.kind === 'unreadable' ? <RecordUnreadable whoDidNotAnswer={read.whoDidNotAnswer} /> : null}\n <KeptRead readAt={readTimeOf(read)}>\n <FadedAsLastRead>{children}</FadedAsLastRead>\n </KeptRead>\n </div>\n );\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","function Bar({ width }: { width: string }) {\n return <span className={`block h-4 animate-pulse rounded bg-muted ${width}`} />;\n}\n\n/** A page of Bridge's shape while it loads: the lead, then a list. */\nexport function BridgeSkeleton() {\n return (\n <div aria-busy=\"true\" aria-label=\"Loading Bridge\" className=\"grid gap-6\">\n <div className=\"flex items-center gap-4\">\n <span className=\"size-12 animate-pulse rounded-full bg-muted\" />\n <div className=\"grid flex-1 gap-2\">\n <Bar width=\"w-48\" />\n <Bar width=\"w-32\" />\n </div>\n </div>\n <div className=\"grid gap-2\">\n {['a', 'b', 'c'].map((row) => (\n <span key={row} className=\"block h-14 animate-pulse rounded-md bg-muted\" />\n ))}\n </div>\n </div>\n );\n}\n"],"names":["BasketParts","api","fleetId","read","kind","basket","value","count","toSend","entries","BridgeBasketPage","searchParams","page","path","screen","className","fallback","BasketPanel","Error","FadedAsLastRead","PageAsLastRead","children","whoDidNotAnswer","readAt","RecordUnreadable","Bar","width","BridgeSkeleton","map","row"],"mappings":"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","ignoreList":[2,3,5]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[70336,a=>{"use strict";var b=a.i(70043),c=a.i(43889);a.S([b,"40ca8029b8207bd47293950b98bdbd89c6c994c5fa,f",0,c,"4000cf62bc21b02b0dec545692328f576b09e289a7,u,4001ea780db1ead1cb2c7ef9e012482be9e1166c90,q,400284782d121950f35e1ce856d3d8f0158fbb10f4,e,4006354f8379bf619098ee9df9d054aa021ed8dc89,K,406cdc77dbf870c019aab6c37c746129540f7344b4,G,409fc33bee7fa9990c372a16941b80a35aef4a2974,y,40c4bdf099ebf75c7f472730d1a2313320401d4ebd,W,600027e660d1eb6aa8b21edba45ec532d962d5bb53,D,60a206312560da7e8d3118b69c571db7006f3401ec,v"],70336)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web__next-internal_server_app_%28bridge%29_bridge_basket_page_actions_0g7q_rc5nma1e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/bridge/basket/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '40ca8029b8207bd47293950b98bdbd89c6c994c5fa'} from 'ACTIONS_MODULE0'\nexport {removeFromBasket as '600027e660d1eb6aa8b21edba45ec532d962d5bb53'} from 'ACTIONS_MODULE1'\nexport {sendBasket as '4006354f8379bf619098ee9df9d054aa021ed8dc89'} from 'ACTIONS_MODULE1'\nexport {answerDelivery as '4001ea780db1ead1cb2c7ef9e012482be9e1166c90'} from 'ACTIONS_MODULE1'\nexport {doneDelivery as '406cdc77dbf870c019aab6c37c746129540f7344b4'} from 'ACTIONS_MODULE1'\nexport {openDelivery as '60a206312560da7e8d3118b69c571db7006f3401ec'} from 'ACTIONS_MODULE1'\nexport {putInBasket as '409fc33bee7fa9990c372a16941b80a35aef4a2974'} from 'ACTIONS_MODULE1'\nexport {putPickInBasket as '40c4bdf099ebf75c7f472730d1a2313320401d4ebd'} from 'ACTIONS_MODULE1'\nexport {readSendTo as '400284782d121950f35e1ce856d3d8f0158fbb10f4'} from 'ACTIONS_MODULE1'\nexport {sendShipMessage as '4000cf62bc21b02b0dec545692328f576b09e289a7'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[90923,a=>{"use strict";var b=a.i(70043),c=a.i(43889);a.S([b,"40ca8029b8207bd47293950b98bdbd89c6c994c5fa,f",0,c,"609a5ac69aa505e32ba8526374707f2533926942f8,F"],90923)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web__next-internal_server_app_%28bridge%29_bridge_done_page_actions_0kjm34arntdzv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/bridge/done/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '40ca8029b8207bd47293950b98bdbd89c6c994c5fa'} from 'ACTIONS_MODULE0'\nexport {readMoreRecord as '609a5ac69aa505e32ba8526374707f2533926942f8'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[97856,a=>{"use strict";var b=a.i(70043),c=a.i(43889);a.S([b,"40ca8029b8207bd47293950b98bdbd89c6c994c5fa,f",0,c,"4000cf62bc21b02b0dec545692328f576b09e289a7,u,4001ea780db1ead1cb2c7ef9e012482be9e1166c90,q,400284782d121950f35e1ce856d3d8f0158fbb10f4,e,406cdc77dbf870c019aab6c37c746129540f7344b4,G,409fc33bee7fa9990c372a16941b80a35aef4a2974,y,40c4bdf099ebf75c7f472730d1a2313320401d4ebd,W,600027e660d1eb6aa8b21edba45ec532d962d5bb53,D,60a206312560da7e8d3118b69c571db7006f3401ec,v"],97856)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web__next-internal_server_app_%28bridge%29_bridge_page_actions_1ok64rg3edm_u.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/.next-internal/server/app/%28bridge%29/bridge/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {setTheme as '40ca8029b8207bd47293950b98bdbd89c6c994c5fa'} from 'ACTIONS_MODULE0'\nexport {answerDelivery as '4001ea780db1ead1cb2c7ef9e012482be9e1166c90'} from 'ACTIONS_MODULE1'\nexport {doneDelivery as '406cdc77dbf870c019aab6c37c746129540f7344b4'} from 'ACTIONS_MODULE1'\nexport {openDelivery as '60a206312560da7e8d3118b69c571db7006f3401ec'} from 'ACTIONS_MODULE1'\nexport {putInBasket as '409fc33bee7fa9990c372a16941b80a35aef4a2974'} from 'ACTIONS_MODULE1'\nexport {putPickInBasket as '40c4bdf099ebf75c7f472730d1a2313320401d4ebd'} from 'ACTIONS_MODULE1'\nexport {removeFromBasket as '600027e660d1eb6aa8b21edba45ec532d962d5bb53'} from 'ACTIONS_MODULE1'\nexport {readSendTo as '400284782d121950f35e1ce856d3d8f0158fbb10f4'} from 'ACTIONS_MODULE1'\nexport {sendShipMessage as '4000cf62bc21b02b0dec545692328f576b09e289a7'} from 'ACTIONS_MODULE1'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[
|
|
1
|
+
module.exports=[70275,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})}],70275)}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=web_app_%
|
|
3
|
+
//# sourceMappingURL=web_app_%28bridge%29_bridge_error_tsx_0-142o0iqsh3j._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/ui/bridge-failed.tsx","../../../../../web/app/%28bridge%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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[55634,a=>{"use strict";let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/web/app/(bridge)/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/(bridge)/bridge/error.tsx","default");a.s(["default",0,b])},89255,a=>{"use strict";var b=a.i(55634);a.n(b)},28282,function(a){a.n(a.i(89255))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_app_%28bridge%29_bridge_error_tsx_1m86qyp1bl9pi._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/app/%28bridge%29/bridge/error.tsx/__nextjs-internal-proxy.mjs%20%7B%20server%20%3D%3E%20%22%5Bproject%5D/web/app/%28bridge%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/(bridge)/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/(bridge)/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,+QAAiR,EAC9S,8CACA","ignoreList":[0]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[388,a=>{"use strict";var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(36554),f=a.i(60217),g=a.i(10692),h=a.i(87665),i=a.i(75879),j=a.i(62191),k=a.i(94364),l=a.i(21243);function m({read:a}){return(0,b.jsxs)("section",{className:"grid gap-4","aria-labelledby":"bridge-fleet-heading",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h1",{id:"bridge-fleet-heading",className:"text-heading font-semibold",children:[(0,b.jsx)("span",{className:"sm:hidden",children:"Fleet"}),(0,b.jsx)("span",{className:"max-sm:hidden",children:"Your fleet"})]}),"read"===a.kind?(0,b.jsx)("p",{className:"max-sm:hidden text-muted-foreground",children:(0,i.p)(a.value)}):null]}),"read"===a.kind?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(j.f,{fleet:a.value,isShipCountShown:!0}),(0,b.jsx)(l.f,{groups:a.value.groups,tileColumns:"grid-cols-3 sm:grid-cols-[repeat(auto-fill,minmax(7.5rem,1fr))]"})]}):"unreadable"===a.kind?(0,b.jsx)(k.f,{message:a.message}):(0,b.jsx)("p",{"data-testid":"fleet-forbidden",className:"text-muted-foreground",children:"Your account may not read the fleet's ships."})]})}async function n({api:a}){return(0,b.jsx)(m,{read:await (0,g.f)(a)})}async function o({searchParams:a}){let g=await (0,d._)({path:h.f,searchParams:a});return"noSignIn"===g.kind?(0,b.jsx)(e.L,{}):(0,b.jsx)(e.n,{api:g.api,fleetId:g.fleetId,screen:"fleet",children:(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(f.f,{}),children:(0,b.jsx)(n,{api:g.api})})})}async function p({searchParams:a}){return(0,b.jsx)(o,{searchParams:await a})}a.s(["default",0,p,"metadata",0,{title:"Your fleet"}],388)},28176,function(a){a.n(a.i(388))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_app_%28bridge%29_bridge_fleet_page_tsx_0uvtx8hiy8g0n._.js.map
|
package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_fleet_page_tsx_0uvtx8hiy8g0n._.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/bridge/fleet/state/bridge-fleet.tsx","../../../../../web/features/bridge/fleet/state/fleet-page.tsx","../../../../../web/app/%28bridge%29/bridge/fleet/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 { BridgeNoSignIn, BridgeShell } from '../../state/bridge-shell';\nimport { BridgeSkeleton } from '../../ui/bridge-skeleton';\nimport { readYourFleet } from '../hooks/read-your-fleet';\nimport { BRIDGE_FLEET_PATH } from '../paths';\nimport { FleetPage } from './fleet-page';\n\nasync function FleetParts({ api }: { api: GatewayApi }) {\n return <FleetPage read={await readYourFleet(api)} />;\n}\n\n/** Your fleet, whole (the phone's Fleet tab): read as the signed-in account each time the page is read. */\nexport async function BridgeFleetPage({ searchParams }: { searchParams: SearchParams }) {\n const page = await signedInPage({ path: BRIDGE_FLEET_PATH, searchParams });\n if (page.kind === 'noSignIn') {\n return <BridgeNoSignIn />;\n }\n return (\n <BridgeShell api={page.api} fleetId={page.fleetId} screen=\"fleet\">\n <Suspense fallback={<BridgeSkeleton />}>\n <FleetParts api={page.api} />\n </Suspense>\n </BridgeShell>\n );\n}\n","import type { FleetRead } from '../hooks/read-your-fleet';\nimport { summaryOf } from '../services/your-fleet';\nimport { FleetNumbers } from '../ui/fleet-numbers';\nimport { FleetUnreadable } from '../ui/fleet-unreadable';\nimport { FleetWall } from '../ui/fleet-wall';\n\n/**\n * The phone's Fleet tab, and where Your fleet's heading leads on any screen,\n * as Harbour draws it (docs/design/fleet-overview): on the phone headed\n * Fleet, straight to the ships and the four numbers; on a wider screen\n * headed Your fleet with Harbour's lead line; then a tile per ship in its\n * group.\n */\nexport function FleetPage({ read }: { read: FleetRead }) {\n return (\n <section className=\"grid gap-4\" aria-labelledby=\"bridge-fleet-heading\">\n <div>\n <h1 id=\"bridge-fleet-heading\" className=\"text-heading font-semibold\">\n <span className=\"sm:hidden\">Fleet</span>\n <span className=\"max-sm:hidden\">Your fleet</span>\n </h1>\n {read.kind === 'read' ? <p className=\"max-sm:hidden text-muted-foreground\">{summaryOf(read.value)}</p> : null}\n </div>\n {read.kind === 'read' ? (\n <>\n <FleetNumbers fleet={read.value} isShipCountShown />\n <FleetWall groups={read.value.groups} tileColumns=\"grid-cols-3 sm:grid-cols-[repeat(auto-fill,minmax(7.5rem,1fr))]\" />\n </>\n ) : read.kind === 'unreadable' ? (\n <FleetUnreadable message={read.message} />\n ) : (\n <p data-testid=\"fleet-forbidden\" className=\"text-muted-foreground\">\n Your account may not read the fleet's ships.\n </p>\n )}\n </section>\n );\n}\n","import type { Metadata } from 'next';\n\nimport { BridgeFleetPage } from '../../../../features/bridge/fleet/state/bridge-fleet';\nimport type { SearchParams } from '../../../../lib/gateway-api/page-api';\n\nexport const metadata: Metadata = { title: 'Your fleet' };\n\nexport default async function BridgeFleetRoute({ searchParams }: { searchParams: Promise<SearchParams> }) {\n return <BridgeFleetPage searchParams={await searchParams} />;\n}\n"],"names":["FleetPage","read","className","id","kind","value","fleet","isShipCountShown","groups","tileColumns","message"],"mappings":"qDAAA,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,OCNA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OASO,SAASA,EAAU,MAAEC,CAAI,CAAuB,EACrD,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,UAAA,CAAQC,UAAU,aAAa,kBAAgB,iCAC9C,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,WACC,CAAA,EAAA,EAAA,IAAA,EAAC,KAAA,CAAGC,GAAG,uBAAuBD,UAAU,uCACtC,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAKA,UAAU,qBAAY,UAC5B,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAKA,UAAU,yBAAgB,kBAEnB,SAAdD,EAAKG,IAAI,CAAc,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAEF,UAAU,+CAAuC,CAAA,EAAA,EAAA,CAAA,AAAS,EAACD,EAAKI,KAAK,IAAS,QAE5F,SAAdJ,EAAKG,IAAI,CACR,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAY,CAAA,CAACE,MAAOL,EAAKI,KAAK,CAAEE,gBAAgB,CAAA,CAAA,IACjD,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAS,CAAA,CAACC,OAAQP,EAAKI,KAAK,CAACG,MAAM,CAAEC,YAAY,uEAEpC,eAAdR,EAAKG,IAAI,CACX,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAe,CAAA,CAACM,QAAST,EAAKS,OAAO,GAEtC,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,cAAY,kBAAkBR,UAAU,iCAAwB,mDAM3E,CD3BA,eAAe,EAAW,KAAE,CAAG,CAAuB,EACpD,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAU,KAAM,MAAM,CAAA,EAAA,EAAA,CAAA,AAAa,EAAC,IAC9C,CAGO,eAAe,EAAgB,cAAE,CAAY,CAAkC,EACpF,IAAM,EAAO,MAAM,CAAA,EAAA,EAAA,CAAA,AAAY,EAAC,CAAE,KAAM,EAAA,CAAiB,cAAE,CAAa,SACxE,AAAkB,YAAY,CAA1B,EAAK,IAAI,CACJ,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,CAAA,CAAA,GAGtB,CAAA,EAAA,EAAA,GAAA,EAACD,EAAAA,CAAW,CAAA,CAAC,IAAK,EAAK,GAAG,CAAE,QAAS,EAAK,OAAO,CAAE,OAAO,iBACxD,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,CAAC,SAAU,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAc,CAAA,CAAA,YACjC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAW,IAAK,EAAK,GAAG,MAIjC,CEpBe,eAAe,EAAiB,cAAE,CAAY,CAA2C,EACtG,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAgB,aAAc,MAAM,GAC9C,iCAJkC,CAAE,MAAO,YAAa"}
|
package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_settings_page_tsx_1z5yr8ss25q7n._.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[79465,a=>{"use strict";var b=a.i(7997),c=a.i(717),d=a.i(66283),e=a.i(88276),f=a.i(55476),g=a.i(29660),h=a.i(36554),i=a.i(60217),j=a.i(50919),k=a.i(18734);let l={approve:"You approved the request.",deny:"You denied the request."};async function m({api:a,fleetId:c}){let{toDecide:d,mine:f}=await (0,e.n)(a),h=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)(k.f,{title:"To decide",requests:d,now:h,hrefOf:a=>`${g.T}/requests/${encodeURIComponent(a.requestId)}?fleet=${encodeURIComponent(c)}`}),void 0===f||0===f.length?null:(0,b.jsx)(k.f,{title:"Your requests",requests:f,now:h})]})}async function n({searchParams:a}){let e=await (0,d._)({path:g.T,searchParams:a});if("noSignIn"===e.kind)return(0,b.jsx)(h.L,{});let{decided:k}=a,o="string"==typeof k?l[k]:void 0;return(0,b.jsx)(h.n,{api:e.api,fleetId:e.fleetId,screen:"settings",children:(0,b.jsxs)("div",{className:"grid gap-6",children:[(0,b.jsx)("h1",{className:"text-heading font-semibold",children:"Settings"}),(0,b.jsxs)("a",{href:(0,f.i)(g.i,e.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===o?null:(0,b.jsx)(j.f,{message:o,isFailure:!1}),(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)(i.f,{}),children:(0,b.jsx)(m,{api:e.api,fleetId:e.fleetId})})]})})}async function o({searchParams:a}){return(0,b.jsx)(n,{searchParams:await a})}a.s(["default",0,o,"metadata",0,{title:"Bridge settings"}],79465)},4196,function(a){a.n(a.i(79465))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=web_app_%28bridge%29_bridge_settings_page_tsx_1z5yr8ss25q7n._.js.map
|