@aeolus-fleet/gateway 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -9
- package/dist/adapters/fleet/core-version.d.ts +1 -1
- package/dist/adapters/fleet/core-version.js +1 -1
- package/dist/adapters/fleet/rest-fleet-door.js +51 -7
- package/dist/adapters/fleet/rest-fleet-door.js.map +1 -1
- package/dist/adapters/http/front-door.d.ts +1 -1
- package/dist/adapters/http/front-door.js +5 -3
- package/dist/adapters/http/front-door.js.map +1 -1
- package/dist/adapters/http/person-tools.js +27 -9
- package/dist/adapters/http/person-tools.js.map +1 -1
- package/dist/adapters/http/slack-routes.d.ts +2 -0
- package/dist/adapters/http/slack-routes.js +11 -10
- package/dist/adapters/http/slack-routes.js.map +1 -1
- package/dist/adapters/pagasae/email-channel.d.ts +1 -2
- package/dist/adapters/pagasae/email-channel.js +3 -3
- package/dist/adapters/pagasae/email-channel.js.map +1 -1
- package/dist/adapters/prisma/basket-entries.d.ts +4 -0
- package/dist/adapters/prisma/basket-entries.js +53 -0
- package/dist/adapters/prisma/basket-entries.js.map +1 -0
- package/dist/adapters/prisma/fleet-forgetter.d.ts +1 -1
- package/dist/adapters/prisma/fleet-forgetter.js +2 -2
- package/dist/adapters/prisma/fleet-forgetter.js.map +1 -1
- package/dist/adapters/prisma/generated/browser.d.ts +15 -4
- package/dist/adapters/prisma/generated/client.d.ts +15 -4
- package/dist/adapters/prisma/generated/internal/class.d.ts +26 -4
- package/dist/adapters/prisma/generated/internal/class.js +4 -4
- package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +228 -43
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js +42 -9
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +42 -7
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +42 -9
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/adapters/prisma/generated/models/BasketEntry.d.ts +1303 -0
- package/dist/adapters/prisma/generated/models/BasketEntry.js +2 -0
- package/dist/adapters/prisma/generated/models/BasketEntry.js.map +1 -0
- package/dist/adapters/prisma/generated/models/ItemOutcome.d.ts +1106 -0
- package/dist/adapters/prisma/generated/models/ItemOutcome.js +2 -0
- package/dist/adapters/prisma/generated/models/ItemOutcome.js.map +1 -0
- package/dist/adapters/prisma/generated/models/OpenedDelivery.d.ts +125 -1
- package/dist/adapters/prisma/generated/models/PartySignInNotice.d.ts +32 -1
- package/dist/adapters/prisma/generated/models/Route.d.ts +1038 -0
- package/dist/adapters/prisma/generated/models/Route.js +2 -0
- package/dist/adapters/prisma/generated/models/Route.js.map +1 -0
- package/dist/adapters/prisma/generated/models/SlackLink.d.ts +1 -32
- package/dist/adapters/prisma/generated/models/SlackPost.d.ts +33 -58
- package/dist/adapters/prisma/generated/models.d.ts +3 -1
- package/dist/adapters/prisma/item-outcomes.d.ts +4 -0
- package/dist/adapters/prisma/item-outcomes.js +28 -0
- package/dist/adapters/prisma/item-outcomes.js.map +1 -0
- package/dist/adapters/prisma/opened-deliveries.js +4 -0
- package/dist/adapters/prisma/opened-deliveries.js.map +1 -1
- package/dist/adapters/prisma/routes.d.ts +4 -0
- package/dist/adapters/prisma/routes.js +19 -0
- package/dist/adapters/prisma/routes.js.map +1 -0
- package/dist/adapters/prisma/sign-in-notices.js +11 -5
- package/dist/adapters/prisma/sign-in-notices.js.map +1 -1
- package/dist/adapters/prisma/slack-links.js +0 -4
- package/dist/adapters/prisma/slack-links.js.map +1 -1
- package/dist/adapters/prisma/slack-posts.js +37 -3
- package/dist/adapters/prisma/slack-posts.js.map +1 -1
- package/dist/adapters/slack/slack-messages.d.ts +2 -0
- package/dist/adapters/slack/slack-messages.js +29 -3
- package/dist/adapters/slack/slack-messages.js.map +1 -1
- package/dist/adapters/trpc/router.d.ts +88 -20
- package/dist/adapters/trpc/router.js +47 -18
- package/dist/adapters/trpc/router.js.map +1 -1
- package/dist/adapters/web-push/web-push.js +1 -1
- package/dist/adapters/web-push/web-push.js.map +1 -1
- package/dist/app.d.ts +7 -0
- package/dist/app.js +88 -22
- package/dist/app.js.map +1 -1
- package/dist/bin/aeolus-gateway.js +1 -0
- package/dist/bin/aeolus-gateway.js.map +1 -1
- package/dist/config.d.ts +8 -1
- package/dist/config.js +21 -0
- package/dist/config.js.map +1 -1
- package/dist/core/account-sign-in/start-account-sign-in.d.ts +1 -1
- package/dist/core/account-sign-in/start-account-sign-in.js +1 -1
- package/dist/core/account-sign-in/start-account-sign-in.js.map +1 -1
- package/dist/core/mcp-in/collect-replies.d.ts +2 -0
- package/dist/core/mcp-in/collect-replies.js +11 -3
- package/dist/core/mcp-in/collect-replies.js.map +1 -1
- package/dist/core/mcp-in/ports.d.ts +2 -1
- package/dist/core/mcp-out/run-party.d.ts +3 -1
- package/dist/core/mcp-out/run-party.js +9 -2
- package/dist/core/mcp-out/run-party.js.map +1 -1
- package/dist/core/party-grants/complete-party-sign-in.d.ts +5 -3
- package/dist/core/party-grants/complete-party-sign-in.js +7 -3
- package/dist/core/party-grants/complete-party-sign-in.js.map +1 -1
- package/dist/core/party-grants/ports.d.ts +17 -3
- package/dist/core/party-grants/tell-sign-in-needed.d.ts +9 -6
- package/dist/core/party-grants/tell-sign-in-needed.js +28 -12
- package/dist/core/party-grants/tell-sign-in-needed.js.map +1 -1
- package/dist/core/people/answer-delivery.d.ts +9 -13
- package/dist/core/people/answer-delivery.js +23 -6
- package/dist/core/people/answer-delivery.js.map +1 -1
- package/dist/core/people/basket.d.ts +104 -0
- package/dist/core/people/basket.js +42 -0
- package/dist/core/people/basket.js.map +1 -0
- package/dist/core/people/count-basket.d.ts +16 -0
- package/dist/core/people/count-basket.js +14 -0
- package/dist/core/people/count-basket.js.map +1 -0
- package/dist/core/people/done-delivery.d.ts +21 -13
- package/dist/core/people/done-delivery.js +34 -4
- package/dist/core/people/done-delivery.js.map +1 -1
- package/dist/core/people/finish-own-step.d.ts +27 -0
- package/dist/core/people/finish-own-step.js +67 -0
- package/dist/core/people/finish-own-step.js.map +1 -0
- package/dist/core/people/inbox-entry.js +1 -1
- package/dist/core/people/inbox-entry.js.map +1 -1
- package/dist/core/people/item-job.d.ts +9 -0
- package/dist/core/people/item-job.js +38 -0
- package/dist/core/people/item-job.js.map +1 -0
- package/dist/core/people/item-outcome.d.ts +37 -0
- package/dist/core/people/item-outcome.js +21 -0
- package/dist/core/people/item-outcome.js.map +1 -0
- package/dist/core/people/item-state.d.ts +10 -0
- package/dist/core/people/item-state.js +17 -0
- package/dist/core/people/item-state.js.map +1 -0
- package/dist/core/people/open-delivery.d.ts +29 -14
- package/dist/core/people/open-delivery.js +108 -19
- package/dist/core/people/open-delivery.js.map +1 -1
- package/dist/core/people/opened-of.d.ts +30 -9
- package/dist/core/people/opened-of.js +25 -4
- package/dist/core/people/opened-of.js.map +1 -1
- package/dist/core/people/person-crew.d.ts +5 -1
- package/dist/core/people/person-crew.js +7 -0
- package/dist/core/people/person-crew.js.map +1 -1
- package/dist/core/people/ports.d.ts +42 -19
- package/dist/core/people/put-in-basket.d.ts +39 -0
- package/dist/core/people/put-in-basket.js +57 -0
- package/dist/core/people/put-in-basket.js.map +1 -0
- package/dist/core/people/read-basket.d.ts +54 -0
- package/dist/core/people/read-basket.js +57 -0
- package/dist/core/people/read-basket.js.map +1 -0
- package/dist/core/people/read-bridge-home.d.ts +47 -0
- package/dist/core/people/read-bridge-home.js +53 -0
- package/dist/core/people/read-bridge-home.js.map +1 -0
- package/dist/core/people/read-inbox.d.ts +11 -6
- package/dist/core/people/read-inbox.js +17 -10
- package/dist/core/people/read-inbox.js.map +1 -1
- package/dist/core/people/read-record.d.ts +48 -0
- package/dist/core/people/read-record.js +44 -0
- package/dist/core/people/read-record.js.map +1 -0
- package/dist/core/people/read-routing.d.ts +26 -0
- package/dist/core/people/read-routing.js +22 -0
- package/dist/core/people/read-routing.js.map +1 -0
- package/dist/core/people/read-wake-channels.d.ts +7 -8
- package/dist/core/people/read-wake-channels.js +4 -4
- package/dist/core/people/read-wake-channels.js.map +1 -1
- package/dist/core/people/remove-from-basket.d.ts +20 -0
- package/dist/core/people/remove-from-basket.js +52 -0
- package/dist/core/people/remove-from-basket.js.map +1 -0
- package/dist/core/people/routing.d.ts +50 -0
- package/dist/core/people/routing.js +35 -0
- package/dist/core/people/routing.js.map +1 -0
- package/dist/core/people/send-basket.d.ts +40 -0
- package/dist/core/people/send-basket.js +60 -0
- package/dist/core/people/send-basket.js.map +1 -0
- package/dist/core/people/send-stored-answers.d.ts +33 -0
- package/dist/core/people/send-stored-answers.js +96 -0
- package/dist/core/people/send-stored-answers.js.map +1 -0
- package/dist/core/people/stale-question.d.ts +28 -0
- package/dist/core/people/stale-question.js +26 -0
- package/dist/core/people/stale-question.js.map +1 -0
- package/dist/core/people/step-outcome.d.ts +18 -0
- package/dist/core/people/step-outcome.js +18 -0
- package/dist/core/people/step-outcome.js.map +1 -0
- package/dist/core/people/turn-route.d.ts +34 -0
- package/dist/core/people/turn-route.js +42 -0
- package/dist/core/people/turn-route.js.map +1 -0
- package/dist/core/people/wake-person.d.ts +15 -7
- package/dist/core/people/wake-person.js +54 -28
- package/dist/core/people/wake-person.js.map +1 -1
- package/dist/core/people/web-push-channel.d.ts +2 -2
- package/dist/core/people/web-push-channel.js +3 -3
- package/dist/core/people/web-push-channel.js.map +1 -1
- package/dist/core/requests/ask-owners.d.ts +1 -1
- package/dist/core/requests/ask-owners.js +4 -4
- package/dist/core/requests/ask-owners.js.map +1 -1
- package/dist/core/requests/list-mine.d.ts +1 -1
- package/dist/core/requests/list-mine.js +1 -1
- package/dist/core/requests/list-to-decide.d.ts +1 -1
- package/dist/core/requests/list-to-decide.js +1 -1
- package/dist/core/requests/list-to-decide.js.map +1 -1
- package/dist/core/shared/errors.d.ts +1 -1
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/slack/answer-in-slack.d.ts +18 -15
- package/dist/core/slack/answer-in-slack.js +39 -20
- package/dist/core/slack/answer-in-slack.js.map +1 -1
- package/dist/core/slack/complete-link.js +3 -3
- package/dist/core/slack/complete-link.js.map +1 -1
- package/dist/core/slack/edit-slack-posts.d.ts +23 -0
- package/dist/core/slack/edit-slack-posts.js +49 -0
- package/dist/core/slack/edit-slack-posts.js.map +1 -0
- package/dist/core/slack/ports.d.ts +28 -9
- package/dist/core/slack/read-slack-link.d.ts +2 -3
- package/dist/core/slack/read-slack-link.js +2 -2
- package/dist/core/slack/read-slack-link.js.map +1 -1
- package/dist/core/slack/see-in-slack.d.ts +34 -0
- package/dist/core/slack/see-in-slack.js +48 -0
- package/dist/core/slack/see-in-slack.js.map +1 -0
- package/dist/core/slack/send-slack-events.js +1 -1
- package/dist/core/slack/send-slack-events.js.map +1 -1
- package/dist/core/slack/show-in-slack.d.ts +20 -15
- package/dist/core/slack/show-in-slack.js +36 -45
- package/dist/core/slack/show-in-slack.js.map +1 -1
- package/dist/core/slack/slack-link.d.ts +0 -2
- package/dist/core/slack/slack-post-of.d.ts +9 -9
- package/dist/core/slack/slack-post-of.js +12 -3
- package/dist/core/slack/slack-post-of.js.map +1 -1
- package/dist/core/slack/slack-post.d.ts +13 -7
- package/dist/core/slack/slack-post.js +2 -2
- package/dist/core/slack/slack-post.js.map +1 -1
- package/dist/core/slack/slack-press.d.ts +45 -0
- package/dist/core/slack/slack-press.js +26 -0
- package/dist/core/slack/slack-press.js.map +1 -0
- package/dist/core/slack/start-link.d.ts +1 -1
- package/dist/core/slack/start-link.js +1 -1
- package/dist/core/slack/unlink-slack.d.ts +1 -1
- package/dist/core/slack/unlink-slack.js +1 -1
- package/dist/core/slack/unlink-slack.js.map +1 -1
- package/dist/round-worker.d.ts +23 -0
- package/dist/round-worker.js +38 -0
- package/dist/round-worker.js.map +1 -0
- package/package.json +3 -3
- package/src/adapters/prisma/migrations/20261101090000_item_outcomes/migration.sql +12 -0
- package/src/adapters/prisma/migrations/20261101091000_opened_deliveries_content_type/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261101120000_opened_deliveries_questions/migration.sql +3 -0
- package/src/adapters/prisma/migrations/20261101150000_basket_entries/migration.sql +25 -0
- package/src/adapters/prisma/migrations/20261101180000_opened_deliveries_steps/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261101181000_party_sign_in_notices_steps/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261102090000_routes/migration.sql +11 -0
- package/src/adapters/prisma/migrations/20261102091000_slack_posts_unacknowledged/migration.sql +3 -0
- package/src/adapters/prisma/migrations/20261102092000_slack_links_routed/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261102093000_email_channels_routed/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261103090000_slack_posts_edited/migration.sql +5 -0
- package/src/adapters/prisma/schema.prisma +71 -15
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +8 -4
- package/web/.next/build-manifest.json +127 -79
- package/web/.next/diagnostics/route-bundle-stats.json +215 -143
- package/web/.next/fallback-build-manifest.json +3 -3
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/routes-manifest.json +50 -26
- package/web/.next/server/app/(console)/bridge/basket/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/basket}/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/basket}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/(console)/bridge/basket/page/server-reference-manifest.json +75 -0
- package/web/.next/server/app/(console)/bridge/basket/page.js +25 -0
- package/web/.next/server/app/(console)/bridge/basket/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/bridge/basket/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/changes/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/changes/route.js +8 -0
- package/web/.next/server/app/(console)/{overview/focus → bridge/changes}/route.js.nft.json +1 -1
- package/web/.next/server/app/(console)/{overview/focus → bridge/changes}/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/bridge/done/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/done/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/bridge/done/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/bridge/done/page/server-reference-manifest.json +75 -0
- package/web/.next/server/app/(console)/bridge/done/page.js +25 -0
- package/web/.next/server/app/(console)/bridge/done/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/bridge/done/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/focus/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/focus/route.js +8 -0
- package/web/.next/server/app/(console)/{overview/changes → bridge/focus}/route.js.nft.json +1 -1
- package/web/.next/server/app/(console)/bridge/focus/route_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/{overview → bridge}/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/{overview → bridge}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/(console)/bridge/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/bridge/page/server-reference-manifest.json +65 -0
- package/web/.next/server/app/(console)/{overview → bridge}/page.js +11 -11
- package/web/.next/server/app/(console)/bridge/page.js.map +5 -0
- package/web/.next/server/app/(console)/{overview → bridge}/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/bridge/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/settings/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/settings/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/bridge/settings/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/bridge/settings/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/bridge/settings/page/server-reference-manifest.json +15 -0
- package/web/.next/server/app/(console)/bridge/settings/page.js +23 -0
- package/web/.next/server/app/(console)/bridge/settings/page.js.map +5 -0
- package/web/.next/server/app/(console)/bridge/settings/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/bridge/settings/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/server-reference-manifest.json +25 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page.js +25 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page.js.map +5 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/bridge/settings/routing/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/bridge/settings/routing/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/bridge/settings/routing/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/bridge/settings/routing/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/bridge/settings/routing/page/server-reference-manifest.json +55 -0
- package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/settings/routing}/page.js +12 -12
- package/web/.next/server/app/(console)/bridge/settings/routing/page.js.map +5 -0
- package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/settings/routing}/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/bridge/settings/routing/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/gateway-off/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/gateway-off/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/(console)/gateway-off/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/gateway-off/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/(console)/meetings/[meetingId]/page.js +1 -1
- package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/meetings/[meetingId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/(console)/outside-parties/[name]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/add/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/outside-parties/add/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/parties/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/parties/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/sign-in/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/disconnect/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/disconnect/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/disconnect/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/disconnect/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/expose/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/expose/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/expose/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/expose/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/link/route.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/remove/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/remove/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/remove/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/remove/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/build-manifest.json +4 -4
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/failed/page/build-manifest.json +4 -4
- package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/failed/page.js +1 -1
- package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/pick/page/build-manifest.json +4 -4
- package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/pick/page.js +1 -1
- package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page/build-manifest.json +4 -4
- package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page.js +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +8 -4
- package/web/.next/server/chunks/0b9d__next-internal_server_app_(console)_bridge_changes_route_actions_0hj8aqohz6bu6.js +3 -0
- package/web/.next/server/chunks/{[root-of-the-server]__1tfyrijwfgqlk._.js → [root-of-the-server]__13mh3krxil59c._.js} +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__13mh3krxil59c._.js.map +1 -0
- package/web/.next/server/chunks/_05qgg3__4kdbm._.js +3 -0
- package/web/.next/server/chunks/_05qgg3__4kdbm._.js.map +1 -0
- package/web/.next/server/chunks/_0_um96p6psnqx._.js +4 -4
- package/web/.next/server/chunks/_0_um96p6psnqx._.js.map +1 -1
- package/web/.next/server/chunks/_1uap5tql2vvsb._.js +3 -0
- package/web/.next/server/chunks/{_04is-uopj3op9._.js.map → _1uap5tql2vvsb._.js.map} +1 -1
- package/web/.next/server/chunks/_1xf83h9norhws._.js +4 -4
- package/web/.next/server/chunks/_1xf83h9norhws._.js.map +1 -1
- package/web/.next/server/chunks/_20ne4s-e_jzxp._.js +1 -1
- package/web/.next/server/chunks/_20ne4s-e_jzxp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/01fr_app_(console)_bridge_settings_requests_[requestId]_page_actions_1au-p5lgnv5e-.js +3 -0
- package/web/.next/server/chunks/ssr/01fr_app_(console)_bridge_settings_requests_[requestId]_page_actions_1au-p5lgnv5e-.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_bridge_settings_routing_page_actions_136lm_jip4d_x.js +3 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_bridge_settings_routing_page_actions_136lm_jip4d_x.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00jy4lqrcvxvc._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00jy4lqrcvxvc._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a6a1yc_ac-qt._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a8db18tyk__5._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a8db18tyk__5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__179upda-y7uap._.js → [root-of-the-server]__0gnfxe62edx95._.js} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-5_al3xk509._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-5_al3xk509._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18v7b5ga58a9n._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18v7b5ga58a9n._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1iqxg48po42ig._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1iqxg48po42ig._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpow96uit9t8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpow96uit9t8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rf344o33bmi4._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rf344o33bmi4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__04_bc8g0oe4jt._.js → [root-of-the-server]__1yyaeeylnezpi._.js} +1 -1
- package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
- package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js +4 -4
- package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0a_nsm-ye2r6v._.js +4 -0
- package/web/.next/server/chunks/ssr/_0a_nsm-ye2r6v._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0h-ua-y4p4u1p._.js +3 -0
- package/web/.next/server/chunks/ssr/_0h-ua-y4p4u1p._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js +1 -1
- package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js +1 -1
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0swrejvekuzfx._.js +3 -0
- package/web/.next/server/chunks/ssr/_0swrejvekuzfx._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js +1 -1
- package/web/.next/server/chunks/ssr/_1e2o809f0ekry._.js +1 -1
- package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js +1 -1
- package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1jx41z6kmxtt0._.js +3 -0
- package/web/.next/server/chunks/ssr/_1jx41z6kmxtt0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1q2s-hb67yjfb._.js +3 -0
- package/web/.next/server/chunks/ssr/_1q2s-hb67yjfb._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
- package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1qdpkpsskm5wj._.js +3 -0
- package/web/.next/server/chunks/ssr/_1qdpkpsskm5wj._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1yi3j4a16uet-._.js +3 -0
- package/web/.next/server/chunks/ssr/_1yi3j4a16uet-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_01oyodz1bs245._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_01oyodz1bs245._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_16d4um5s513wz._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_16d4um5s513wz._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{node_modules_@aeolus-fleet_common_dist_header_1id6g-6m2hh0l._.js → node_modules_@aeolus-fleet_common_dist_header_0t_cmi-llaq7g._.js} +2 -2
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_0t_cmi-llaq7g._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js → node_modules_@aeolus-fleet_common_dist_header_1x3s5abk_uj9j._.js} +2 -2
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1x3s5abk_uj9j._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0hkpfqt9ne626._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0hkpfqt9ne626._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_031g89sb4kgzn.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_031g89sb4kgzn.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09rviehv6rh0n.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09rviehv6rh0n.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ka8v6_fxug8r.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ka8v6_fxug8r.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1c8zekuy1gkch.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1c8zekuy1gkch.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dhzng2nnu0m7.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dhzng2nnu0m7.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1rya2ag3z4vug.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1rya2ag3z4vug.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_09zipglxee7tv._.js +1 -1
- package/web/.next/server/chunks/ssr/web_09zipglxee7tv._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_0i_1uraygw2ld._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0i_1uraygw2ld._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js +1 -1
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_0wz4onhfbq359._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0wz4onhfbq359._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_1-hlf1xzemd3-._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1-hlf1xzemd3-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_107a79_nx4jdd._.js +3 -0
- package/web/.next/server/chunks/ssr/web_107a79_nx4jdd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_127_b93avkwaq._.js +3 -0
- package/web/.next/server/chunks/ssr/web_127_b93avkwaq._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_basket_page_actions_102xk3g8eko_q.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_basket_page_actions_102xk3g8eko_q.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_done_page_actions_0mm90xd2feta2.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_done_page_actions_0mm90xd2feta2.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_page_actions_082880qz6xa5k.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_page_actions_082880qz6xa5k.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_0ty_yk1robyaj._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_0ty_yk1robyaj._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_10gkrn3ey8162._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_10gkrn3ey8162._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_settings_page_tsx_0xzphp7k9ge1u._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_settings_page_tsx_0xzphp7k9ge1u._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(console)_outside-parties_[name]_change_page_tsx_00bpg0s2eypj9._.js +1 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_outside-parties_[name]_retire_page_tsx_1zxy74pr5_2kn._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_0s8erick0xk77._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_0s8erick0xk77._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_0wuo5bgp5tabn._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_0wuo5bgp5tabn._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1je122n6carea._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1je122n6carea._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1n1hy3nwha2vi._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1n1hy3nwha2vi._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1nrnskep6p8ci._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1nrnskep6p8ci._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_0-mhu0jaig2u3._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_0-mhu0jaig2u3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_0219fbfmsi68-._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_0219fbfmsi68-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_11jndonu4o8fq._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_11jndonu4o8fq._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_1mi9qlb-z5iwt._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_1mi9qlb-z5iwt._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_0354e3wb0dzx1._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_0354e3wb0dzx1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_home-panel_tsx_1cc5zdhxogl_2._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_home-panel_tsx_1cc5zdhxogl_2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_live-refresh_tsx_1c1xk-oe0kllv._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_state_live-refresh_tsx_1c1xk-oe0kllv._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_1y4g3fe75nqn5._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_1y4g3fe75nqn5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_slack_actions_ts_1l3yg9vl20_vu._.js +1 -1
- package/web/.next/server/chunks/web__next-internal_server_app_(console)_bridge_focus_route_actions_0syd_u8mgzdmi.js +3 -0
- package/web/.next/server/middleware-build-manifest.js +127 -79
- package/web/.next/server/next-font-manifest.js +1 -1
- package/web/.next/server/next-font-manifest.json +24 -8
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/preview-props.json +3 -3
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +219 -133
- package/web/.next/static/chunks/0c1tqlbsvq1dj.js +1 -0
- package/web/.next/static/chunks/0fh11dkddwf_2.js +1 -0
- package/web/.next/static/chunks/0fu7je2vzzzh7.js +1 -0
- package/web/.next/static/chunks/1166rxt6h6ilq.js +1 -0
- package/web/.next/static/chunks/180aowme095ds.js +1 -0
- package/web/.next/static/chunks/1ehmzxr697ifa.js +1 -0
- package/web/.next/static/chunks/1lyv8ukt_q3ph.js +1 -0
- package/web/.next/static/chunks/1ymfhxs-xqiy6.js +1 -0
- package/web/.next/static/chunks/2799kv0y5g2va.js +1 -0
- package/web/.next/static/chunks/2hoi73vy1wqpo.js +1 -0
- package/web/.next/static/chunks/{3l5jtag3-fukc.js → 2jr8r6g9kk42a.js} +1 -1
- package/web/.next/static/chunks/2mtfca4qk_s34.js +1 -0
- package/web/.next/static/chunks/{0tmvd_zw45u96.js → 322fzslly9wpf.js} +1 -1
- package/web/.next/static/chunks/{03239gtej3tj0.js → 36fnm0ezsx1eh.js} +1 -1
- package/web/.next/static/chunks/3f2trjz7_wrzh.js +1 -0
- package/web/.next/static/chunks/{2_e-puldye2do.js → 3hvw5n04pbwg8.js} +1 -1
- package/web/.next/static/chunks/3ow9h8hreko-p.css +3 -0
- package/web/.next/static/chunks/3pd8pele5x1o9.js +1 -0
- package/web/.next/static/chunks/3rt603msircrl.js +1 -0
- package/web/.next/static/chunks/3srfjz42u14tx.js +1 -0
- package/web/.next/static/chunks/{3ceatffqhpgpu.js → 40j58bya72xh1.js} +1 -1
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/types/routes.d.ts +10 -6
- package/web/.next/types/validator.ts +108 -40
- package/web/public/wake-worker.js +4 -4
- package/dist/adapters/prisma/email-channels.d.ts +0 -4
- package/dist/adapters/prisma/email-channels.js +0 -14
- package/dist/adapters/prisma/email-channels.js.map +0 -1
- package/dist/adapters/prisma/generated/models/EmailChannel.d.ts +0 -946
- package/dist/adapters/prisma/generated/models/EmailChannel.js +0 -2
- package/dist/adapters/prisma/generated/models/EmailChannel.js.map +0 -1
- package/dist/core/people/turn-email-channel.d.ts +0 -21
- package/dist/core/people/turn-email-channel.js +0 -22
- package/dist/core/people/turn-email-channel.js.map +0 -1
- package/dist/core/slack/show-all-in-slack.d.ts +0 -16
- package/dist/core/slack/show-all-in-slack.js +0 -18
- package/dist/core/slack/show-all-in-slack.js.map +0 -1
- package/web/.next/server/app/(console)/overview/changes/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/overview/changes/route.js +0 -8
- package/web/.next/server/app/(console)/overview/changes/route_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/overview/focus/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/overview/focus/route.js +0 -8
- package/web/.next/server/app/(console)/overview/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/overview/page/server-reference-manifest.json +0 -95
- package/web/.next/server/app/(console)/overview/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page/server-reference-manifest.json +0 -25
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page_client-reference-manifest.js +0 -3
- package/web/.next/server/chunks/0b9d__next-internal_server_app_(console)_overview_focus_route_actions_10hgyjvv-6fus.js +0 -3
- package/web/.next/server/chunks/1mb5_next-internal_server_app_(console)_overview_changes_route_actions_0zbq7lqsf5nng.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__1tfyrijwfgqlk._.js.map +0 -1
- package/web/.next/server/chunks/_04is-uopj3op9._.js +0 -3
- package/web/.next/server/chunks/_1-fw4-pwzazl4._.js +0 -3
- package/web/.next/server/chunks/_1-fw4-pwzazl4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js +0 -3
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0icm7kndx480o._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0icm7kndx480o._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1zlq3zji9v53h._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1zlq3zji9v53h._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0-boiqan2j4tr._.js +0 -3
- package/web/.next/server/chunks/ssr/_0-boiqan2j4tr._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0-lfpqqlgfhzj._.js +0 -3
- package/web/.next/server/chunks/ssr/_0-lfpqqlgfhzj._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0bizyb21i2sl8._.js +0 -3
- package/web/.next/server/chunks/ssr/_0bizyb21i2sl8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1oy13966tft2_._.js +0 -3
- package/web/.next/server/chunks/ssr/_1oy13966tft2_._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1pf8x2exvfl1z._.js +0 -3
- package/web/.next/server/chunks/ssr/_1pf8x2exvfl1z._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1yqu7dcxs2-so._.js +0 -3
- package/web/.next/server/chunks/ssr/_1yqu7dcxs2-so._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_0_cxkn6vujxay._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_0_cxkn6vujxay._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_0ue_35q2cegwf._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_0ue_35q2cegwf._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_15ceu3jhtifcw._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_15ceu3jhtifcw._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1id6g-6m2hh0l._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00i8qu9x65r6w.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00i8qu9x65r6w.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a3qpq0qt_bi4.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a3qpq0qt_bi4.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_0plvx3c_1cozb._.js +0 -3
- package/web/.next/server/chunks/ssr/web_0plvx3c_1cozb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_1loiet18xbddu._.js +0 -3
- package/web/.next/server/chunks/ssr/web_1loiet18xbddu._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js +0 -3
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_087e7ba8loavc._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_087e7ba8loavc._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_1nn1jz5nh77af._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_1nn1jz5nh77af._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_0fxkmm4vqke5q._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0fxkmm4vqke5q._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_1k6q2m0sl54-8._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_1k6q2m0sl54-8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_1utnezwv0xr-l._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_1utnezwv0xr-l._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_0udx5lm8igils._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_0udx5lm8igils._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_144fx4a-r9_wn._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_144fx4a-r9_wn._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_00l0wkgvv9y6j._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_state_00l0wkgvv9y6j._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_ui_10mb24kjiffea._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_ui_10mb24kjiffea._.js.map +0 -1
- package/web/.next/static/chunks/0nhopjmnw_dqt.js +0 -1
- package/web/.next/static/chunks/0vlawcs6_kjs1.js +0 -1
- package/web/.next/static/chunks/1se0j0htjyep6.js +0 -1
- package/web/.next/static/chunks/26vlpatu47xtw.css +0 -3
- package/web/.next/static/chunks/287ofedoj_6xl.js +0 -1
- package/web/.next/static/chunks/2cd4e71s711ad.js +0 -1
- package/web/.next/static/chunks/2ewacyhp73due.js +0 -1
- package/web/.next/static/chunks/34kulpk3a-cka.js +0 -1
- package/web/.next/static/chunks/3fd167c0-ot3u.js +0 -1
- package/web/.next/static/chunks/3knqujtrdi225.js +0 -1
- package/web/.next/static/chunks/3rxg2mdhxd6yt.js +0 -1
- package/web/.next/static/chunks/3v6tr952p9dba.js +0 -1
- /package/web/.next/server/app/(console)/{overview → bridge/basket}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge/basket}/page.js.map +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/changes/route/build-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/changes/route/server-reference-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/changes/route.js.map +0 -0
- /package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/done}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview/requests/[requestId] → bridge/done}/page.js.map +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/focus/route/build-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/focus/route/server-reference-manifest.json +0 -0
- /package/web/.next/server/app/(console)/{overview → bridge}/focus/route.js.map +0 -0
- /package/web/.next/server/chunks/{0b9d__next-internal_server_app_(console)_overview_focus_route_actions_10hgyjvv-6fus.js.map → 0b9d__next-internal_server_app_(console)_bridge_changes_route_actions_0hj8aqohz6bu6.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__179upda-y7uap._.js.map → [root-of-the-server]__0gnfxe62edx95._.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__04_bc8g0oe4jt._.js.map → [root-of-the-server]__1yyaeeylnezpi._.js.map} +0 -0
- /package/web/.next/server/chunks/{1mb5_next-internal_server_app_(console)_overview_changes_route_actions_0zbq7lqsf5nng.js.map → web__next-internal_server_app_(console)_bridge_focus_route_actions_0syd_u8mgzdmi.js.map} +0 -0
- /package/web/.next/static/{R_nPUtDcDp1BPV3QHhaMZ → IMWKx2sJwt7EwwpStr8tb}/_buildManifest.js +0 -0
- /package/web/.next/static/{R_nPUtDcDp1BPV3QHhaMZ → IMWKx2sJwt7EwwpStr8tb}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{R_nPUtDcDp1BPV3QHhaMZ → IMWKx2sJwt7EwwpStr8tb}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { DeliveryId } from '@aeolus-fleet/common';
|
|
2
|
+
import { type Result } from '../shared/result.js';
|
|
3
|
+
import { type BasketEntries, type BasketEntry, type BasketStanding } from './basket.js';
|
|
4
|
+
import type { CrewPersonShip } from './crew-person-ship.js';
|
|
5
|
+
import type { ItemOutcomes } from './item-outcome.js';
|
|
6
|
+
import type { PersonCaller, PersonCrewError, PersonCrewToken } from './person-crew.js';
|
|
7
|
+
import type { OpenedDeliveries, OpenedDelivery, PersonCrews, PersonDelivery, PersonShipDoor } from './ports.js';
|
|
8
|
+
/** An entry as the basket shows it: the question, its asker and when it asked, the option and the note, and what it stands as now. */
|
|
9
|
+
export interface BasketItem {
|
|
10
|
+
readonly questionId: string;
|
|
11
|
+
readonly deliveryId: DeliveryId;
|
|
12
|
+
readonly from: string;
|
|
13
|
+
readonly title: string;
|
|
14
|
+
readonly sentAt: string;
|
|
15
|
+
readonly option: number;
|
|
16
|
+
readonly note: string | null;
|
|
17
|
+
readonly standing: BasketStanding;
|
|
18
|
+
}
|
|
19
|
+
/** The basket: its entries in the order added, and how many answers Send would send. */
|
|
20
|
+
export interface BasketView {
|
|
21
|
+
readonly toSend: number;
|
|
22
|
+
readonly entries: BasketItem[];
|
|
23
|
+
}
|
|
24
|
+
export type ReadBasket = (caller: PersonCaller) => Promise<Result<BasketView, PersonCrewError>>;
|
|
25
|
+
export interface BasketDeps {
|
|
26
|
+
crewPersonShip: CrewPersonShip;
|
|
27
|
+
crews: PersonCrews;
|
|
28
|
+
door: PersonShipDoor;
|
|
29
|
+
opened: OpenedDeliveries;
|
|
30
|
+
entries: BasketEntries;
|
|
31
|
+
outcomes: ItemOutcomes;
|
|
32
|
+
}
|
|
33
|
+
/** The caller's basket as it stands now, with what waits and what they opened, from which each entry's question is known withdrawn or replaced. */
|
|
34
|
+
export interface StandingBasket {
|
|
35
|
+
readonly crew: PersonCrewToken;
|
|
36
|
+
readonly waiting: readonly PersonDelivery[];
|
|
37
|
+
readonly opened: readonly OpenedDelivery[];
|
|
38
|
+
readonly entries: readonly {
|
|
39
|
+
readonly entry: BasketEntry;
|
|
40
|
+
readonly standing: BasketStanding;
|
|
41
|
+
}[];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Each entry of the caller's basket with what it stands as: what came of its
|
|
45
|
+
* question, kept by the gateway wherever the person acted, and whether its
|
|
46
|
+
* asker withdrew or replaced it, among what waits and what they opened.
|
|
47
|
+
*/
|
|
48
|
+
export declare function standingBasketOf(deps: BasketDeps, caller: PersonCaller): Promise<Result<StandingBasket, PersonCrewError>>;
|
|
49
|
+
/**
|
|
50
|
+
* Use case: a person opens their basket (section 9, rule 2): each entry in
|
|
51
|
+
* the order added, with its question, asker, option and note, and what it
|
|
52
|
+
* stands as; how many answers Send would send, the entries still waiting.
|
|
53
|
+
*/
|
|
54
|
+
export declare function createReadBasket(deps: BasketDeps): ReadBasket;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ok } from '../shared/result.js';
|
|
2
|
+
import { standingOf } from './basket.js';
|
|
3
|
+
import { waitingFor } from './read-inbox.js';
|
|
4
|
+
import { staleOf } from './stale-question.js';
|
|
5
|
+
/** The question an entry answers, as a withdrawal or a replacement names it. */
|
|
6
|
+
function askingOf(entry) {
|
|
7
|
+
return { deliveryId: entry.deliveryId, senderShipId: entry.senderShipId, askedQuestionId: entry.questionId, withdrawnQuestionId: null };
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Each entry of the caller's basket with what it stands as: what came of its
|
|
11
|
+
* question, kept by the gateway wherever the person acted, and whether its
|
|
12
|
+
* asker withdrew or replaced it, among what waits and what they opened.
|
|
13
|
+
*/
|
|
14
|
+
export async function standingBasketOf(deps, caller) {
|
|
15
|
+
const waiting = await waitingFor(deps, caller);
|
|
16
|
+
if (!waiting.isOk) {
|
|
17
|
+
return waiting;
|
|
18
|
+
}
|
|
19
|
+
const { crew, deliveries } = waiting.value;
|
|
20
|
+
const [opened, entries] = await Promise.all([deps.opened.list(caller.fleetId, crew.shipId), deps.entries.list(caller.fleetId, crew.shipId)]);
|
|
21
|
+
const outcomes = entries.length === 0 ? [] : await deps.outcomes.findMany(caller.fleetId, { shipId: crew.shipId, deliveryIds: entries.map(({ deliveryId }) => deliveryId) });
|
|
22
|
+
const among = [...deliveries, ...opened];
|
|
23
|
+
return ok({
|
|
24
|
+
crew,
|
|
25
|
+
waiting: deliveries,
|
|
26
|
+
opened,
|
|
27
|
+
entries: entries.map((entry) => ({
|
|
28
|
+
entry,
|
|
29
|
+
standing: standingOf(entry, { outcome: outcomes.find(({ deliveryId }) => deliveryId === entry.deliveryId), stale: staleOf(askingOf(entry), among) }),
|
|
30
|
+
})),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Use case: a person opens their basket (section 9, rule 2): each entry in
|
|
35
|
+
* the order added, with its question, asker, option and note, and what it
|
|
36
|
+
* stands as; how many answers Send would send, the entries still waiting.
|
|
37
|
+
*/
|
|
38
|
+
export function createReadBasket(deps) {
|
|
39
|
+
return async (caller) => {
|
|
40
|
+
const basket = await standingBasketOf(deps, caller);
|
|
41
|
+
if (!basket.isOk) {
|
|
42
|
+
return basket;
|
|
43
|
+
}
|
|
44
|
+
const entries = basket.value.entries.map(({ entry, standing }) => ({
|
|
45
|
+
questionId: entry.questionId,
|
|
46
|
+
deliveryId: entry.deliveryId,
|
|
47
|
+
from: entry.from,
|
|
48
|
+
title: entry.title,
|
|
49
|
+
sentAt: entry.sentAt.toISOString(),
|
|
50
|
+
option: entry.option,
|
|
51
|
+
note: entry.note,
|
|
52
|
+
standing,
|
|
53
|
+
}));
|
|
54
|
+
return ok({ toSend: entries.filter(({ standing }) => standing.kind === 'waiting').length, entries });
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=read-basket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-basket.js","sourceRoot":"","sources":["../../../src/core/people/read-basket.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type Result } from '../shared/result.js';
|
|
2
|
+
import type { BasketEntries } from './basket.js';
|
|
3
|
+
import type { CrewPersonShip } from './crew-person-ship.js';
|
|
4
|
+
import { type InboxEntry } from './inbox-entry.js';
|
|
5
|
+
import { type ItemJob } from './item-job.js';
|
|
6
|
+
import type { ItemState } from './item-state.js';
|
|
7
|
+
import type { PersonCaller, PersonCrewError } from './person-crew.js';
|
|
8
|
+
import type { OpenedDeliveries, PersonCrews, PersonShipDoor } from './ports.js';
|
|
9
|
+
import { type Stale } from './stale-question.js';
|
|
10
|
+
/** An item on Bridge home: by its title, with its job, new or seen, stale once its asker withdrew or replaced the question it asks, and the answer to it in the basket, if any. */
|
|
11
|
+
export interface HomeItem extends InboxEntry {
|
|
12
|
+
readonly job: ItemJob;
|
|
13
|
+
readonly state: Exclude<ItemState, 'done'>;
|
|
14
|
+
readonly stale: Stale | null;
|
|
15
|
+
readonly inBasket: {
|
|
16
|
+
readonly option: number;
|
|
17
|
+
readonly note: string | null;
|
|
18
|
+
} | null;
|
|
19
|
+
}
|
|
20
|
+
/** Bridge home: what waits on the person, decide and do, with its count, a stale question listed outside it; and the stay-aware feed, outside the count. */
|
|
21
|
+
export interface BridgeHome {
|
|
22
|
+
readonly waiting: {
|
|
23
|
+
readonly count: number;
|
|
24
|
+
readonly items: HomeItem[];
|
|
25
|
+
};
|
|
26
|
+
readonly stayAware: HomeItem[];
|
|
27
|
+
}
|
|
28
|
+
export type ReadBridgeHome = (caller: PersonCaller) => Promise<Result<BridgeHome, PersonCrewError>>;
|
|
29
|
+
/**
|
|
30
|
+
* Use case: a person reads Bridge home (CC18). What waits is what the
|
|
31
|
+
* gateway takes for their person ship as its crew, as their inbox does, and
|
|
32
|
+
* what they opened and are not done with yet, kept to the jobs that wait on
|
|
33
|
+
* them, decide and do (section 6), newest first, with their count. A
|
|
34
|
+
* question its asker withdrew or replaced is listed stale, out of the count,
|
|
35
|
+
* linked to its replacement; the withdrawal itself is not listed (CC11). The
|
|
36
|
+
* alerts and notices that reached them and they have not seen are the
|
|
37
|
+
* stay-aware feed, outside the count. Everything else is in the record. A
|
|
38
|
+
* question whose answer is in the basket says so, and still waits until the
|
|
39
|
+
* basket is sent (section 9, rule 1).
|
|
40
|
+
*/
|
|
41
|
+
export declare function createReadBridgeHome(deps: {
|
|
42
|
+
crewPersonShip: CrewPersonShip;
|
|
43
|
+
crews: PersonCrews;
|
|
44
|
+
door: PersonShipDoor;
|
|
45
|
+
opened: OpenedDeliveries;
|
|
46
|
+
entries: BasketEntries;
|
|
47
|
+
}): ReadBridgeHome;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ok } from '../shared/result.js';
|
|
2
|
+
import { inboxEntryOf, openedEntryOf } from './inbox-entry.js';
|
|
3
|
+
import { isCounted, jobOf } from './item-job.js';
|
|
4
|
+
import { waitingFor } from './read-inbox.js';
|
|
5
|
+
import { staleOf } from './stale-question.js';
|
|
6
|
+
/**
|
|
7
|
+
* The job of a delivery the person opened. One opened before the gateway
|
|
8
|
+
* kept its content type was listed as waiting then, so it is one to decide.
|
|
9
|
+
*/
|
|
10
|
+
function openedJobOf(opened) {
|
|
11
|
+
return opened.contentType === null ? 'decide' : jobOf(opened.contentType);
|
|
12
|
+
}
|
|
13
|
+
/** The answer in the basket to the question a delivery asks, by its delivery; none while the basket holds none. */
|
|
14
|
+
function inBasketOf(entries) {
|
|
15
|
+
return (deliveryId) => {
|
|
16
|
+
const entry = entries.find((each) => each.deliveryId === deliveryId);
|
|
17
|
+
return entry === undefined ? null : { option: entry.option, note: entry.note };
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function newestFirst(a, b) {
|
|
21
|
+
return b.sentAt.localeCompare(a.sentAt);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Use case: a person reads Bridge home (CC18). What waits is what the
|
|
25
|
+
* gateway takes for their person ship as its crew, as their inbox does, and
|
|
26
|
+
* what they opened and are not done with yet, kept to the jobs that wait on
|
|
27
|
+
* them, decide and do (section 6), newest first, with their count. A
|
|
28
|
+
* question its asker withdrew or replaced is listed stale, out of the count,
|
|
29
|
+
* linked to its replacement; the withdrawal itself is not listed (CC11). The
|
|
30
|
+
* alerts and notices that reached them and they have not seen are the
|
|
31
|
+
* stay-aware feed, outside the count. Everything else is in the record. A
|
|
32
|
+
* question whose answer is in the basket says so, and still waits until the
|
|
33
|
+
* basket is sent (section 9, rule 1).
|
|
34
|
+
*/
|
|
35
|
+
export function createReadBridgeHome(deps) {
|
|
36
|
+
return async (caller) => {
|
|
37
|
+
const waiting = await waitingFor(deps, caller);
|
|
38
|
+
if (!waiting.isOk) {
|
|
39
|
+
return waiting;
|
|
40
|
+
}
|
|
41
|
+
const [opened, entries] = await Promise.all([deps.opened.list(caller.fleetId, waiting.value.crew.shipId), deps.entries.list(caller.fleetId, waiting.value.crew.shipId)]);
|
|
42
|
+
const asking = [...waiting.value.deliveries, ...opened];
|
|
43
|
+
const inBasket = inBasketOf(entries);
|
|
44
|
+
const taken = waiting.value.deliveries.map((delivery) => ({ ...inboxEntryOf(delivery), job: jobOf(delivery.contentType), state: 'new', stale: staleOf(delivery, asking), inBasket: inBasket(delivery.deliveryId) }));
|
|
45
|
+
const isTaken = new Set(taken.map(({ deliveryId }) => deliveryId));
|
|
46
|
+
const seen = opened
|
|
47
|
+
.filter(({ deliveryId }) => !isTaken.has(deliveryId))
|
|
48
|
+
.map((delivery) => ({ ...openedEntryOf(delivery), job: openedJobOf(delivery), state: 'seen', stale: staleOf(delivery, asking), inBasket: inBasket(delivery.deliveryId) }));
|
|
49
|
+
const items = [...taken, ...seen].filter(({ job }) => isCounted(job)).sort(newestFirst);
|
|
50
|
+
return ok({ waiting: { count: items.filter(({ stale }) => stale === null).length, items }, stayAware: taken.filter(({ job }) => job === 'stay-aware').sort(newestFirst) });
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=read-bridge-home.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-bridge-home.js","sourceRoot":"","sources":["../../../src/core/people/read-bridge-home.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { CrewPersonShip } from './crew-person-ship.js';
|
|
|
3
3
|
import { type InboxEntry } from './inbox-entry.js';
|
|
4
4
|
import { type PersonCaller, type PersonCrewError, type PersonCrewToken } from './person-crew.js';
|
|
5
5
|
import type { OpenedDeliveries, PersonCrews, PersonDelivery, PersonShipDoor } from './ports.js';
|
|
6
|
+
import { type RoutingDefaults, type Routes } from './routing.js';
|
|
6
7
|
/** The most deliveries an inbox lists at once: as many as one receive takes. */
|
|
7
8
|
export declare const INBOX_LIST_MAX = 10;
|
|
8
9
|
/** A person's inbox: how many deliveries wait and the first of them, and the ones they opened and have not answered or done yet. */
|
|
@@ -28,16 +29,20 @@ export declare function waitingFor(deps: {
|
|
|
28
29
|
deliveries: PersonDelivery[];
|
|
29
30
|
}, PersonCrewError>>;
|
|
30
31
|
/**
|
|
31
|
-
* Use case: a person reads their own person ship's inbox (Q20),
|
|
32
|
-
* only, in two groups (aeolus-fleet #1046): what waits, which the
|
|
33
|
-
* takes as the ship's crew, and what any client of the person opened
|
|
34
|
-
* they have not answered or done yet. A delivery the fleet still holds
|
|
35
|
-
* waiting, as when it did not take its acknowledgement, is listed waiting
|
|
36
|
-
* only.
|
|
32
|
+
* Use case: a person reads their own person ship's inbox from a chat (Q20),
|
|
33
|
+
* by titles only, in two groups (aeolus-fleet #1046): what waits, which the
|
|
34
|
+
* gateway takes as the ship's crew, and what any client of the person opened
|
|
35
|
+
* and they have not answered or done yet. A delivery the fleet still holds
|
|
36
|
+
* as waiting, as when it did not take its acknowledgement, is listed waiting
|
|
37
|
+
* only. A chat is a pull place (Bridge, CC7): it lists only the items of the
|
|
38
|
+
* jobs on for it, every one not done whenever it arrived (CC20); what it
|
|
39
|
+
* leaves out of what waits is left out of the count too.
|
|
37
40
|
*/
|
|
38
41
|
export declare function createReadInbox(deps: {
|
|
39
42
|
crewPersonShip: CrewPersonShip;
|
|
40
43
|
crews: PersonCrews;
|
|
41
44
|
door: PersonShipDoor;
|
|
42
45
|
opened: OpenedDeliveries;
|
|
46
|
+
routes: Routes;
|
|
47
|
+
defaults: RoutingDefaults;
|
|
43
48
|
}): ReadInbox;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ok } from '../shared/result.js';
|
|
2
2
|
import { inboxEntryOf, openedEntryOf } from './inbox-entry.js';
|
|
3
3
|
import { asPersonCrew } from './person-crew.js';
|
|
4
|
+
import { routingOf } from './routing.js';
|
|
4
5
|
/** The most deliveries an inbox lists at once: as many as one receive takes. */
|
|
5
6
|
export const INBOX_LIST_MAX = 10;
|
|
6
7
|
/**
|
|
@@ -22,12 +23,14 @@ export async function waitingFor(deps, caller) {
|
|
|
22
23
|
return taken.isOk ? ok({ crew: taken.value.crew, waiting: value.waiting, deliveries: taken.value.value }) : taken;
|
|
23
24
|
}
|
|
24
25
|
/**
|
|
25
|
-
* Use case: a person reads their own person ship's inbox (Q20),
|
|
26
|
-
* only, in two groups (aeolus-fleet #1046): what waits, which the
|
|
27
|
-
* takes as the ship's crew, and what any client of the person opened
|
|
28
|
-
* they have not answered or done yet. A delivery the fleet still holds
|
|
29
|
-
* waiting, as when it did not take its acknowledgement, is listed waiting
|
|
30
|
-
* only.
|
|
26
|
+
* Use case: a person reads their own person ship's inbox from a chat (Q20),
|
|
27
|
+
* by titles only, in two groups (aeolus-fleet #1046): what waits, which the
|
|
28
|
+
* gateway takes as the ship's crew, and what any client of the person opened
|
|
29
|
+
* and they have not answered or done yet. A delivery the fleet still holds
|
|
30
|
+
* as waiting, as when it did not take its acknowledgement, is listed waiting
|
|
31
|
+
* only. A chat is a pull place (Bridge, CC7): it lists only the items of the
|
|
32
|
+
* jobs on for it, every one not done whenever it arrived (CC20); what it
|
|
33
|
+
* leaves out of what waits is left out of the count too.
|
|
31
34
|
*/
|
|
32
35
|
export function createReadInbox(deps) {
|
|
33
36
|
return async (caller) => {
|
|
@@ -35,12 +38,16 @@ export function createReadInbox(deps) {
|
|
|
35
38
|
if (!waiting.isOk) {
|
|
36
39
|
return waiting;
|
|
37
40
|
}
|
|
41
|
+
const ship = { fleetId: caller.fleetId, shipId: waiting.value.crew.shipId };
|
|
42
|
+
const routing = routingOf(await deps.routes.list(ship), deps.defaults);
|
|
38
43
|
const isWaiting = new Set(waiting.value.deliveries.map(({ deliveryId }) => deliveryId));
|
|
39
|
-
const
|
|
44
|
+
const listed = waiting.value.deliveries.filter((delivery) => routing.isShowing('chat', delivery));
|
|
45
|
+
const opened = await deps.opened.list(ship.fleetId, ship.shipId);
|
|
40
46
|
return ok({
|
|
41
|
-
waiting: waiting.value.waiting,
|
|
42
|
-
deliveries:
|
|
43
|
-
|
|
47
|
+
waiting: waiting.value.waiting - (waiting.value.deliveries.length - listed.length),
|
|
48
|
+
deliveries: listed.map(inboxEntryOf),
|
|
49
|
+
// One opened before the gateway kept its content type is everything else.
|
|
50
|
+
opened: opened.filter(({ deliveryId, contentType, sentAt }) => !isWaiting.has(deliveryId) && routing.isShowing('chat', { contentType: contentType ?? '', sentAt })).map(openedEntryOf),
|
|
44
51
|
});
|
|
45
52
|
};
|
|
46
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-inbox.js","sourceRoot":"","sources":["../../../src/core/people/read-inbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAiE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"read-inbox.js","sourceRoot":"","sources":["../../../src/core/people/read-inbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { DeliveryId } from '@aeolus-fleet/common';
|
|
2
|
+
import { type Result } from '../shared/result.js';
|
|
3
|
+
import type { CrewPersonShip } from './crew-person-ship.js';
|
|
4
|
+
import { type InboxEntry } from './inbox-entry.js';
|
|
5
|
+
import { type ItemJob } from './item-job.js';
|
|
6
|
+
import type { ItemOutcomes, OutcomeKind, Place } from './item-outcome.js';
|
|
7
|
+
import { type ItemState } from './item-state.js';
|
|
8
|
+
import { type PersonCaller, type PersonCrewError } from './person-crew.js';
|
|
9
|
+
import type { PersonCrews, PersonShipDoor } from './ports.js';
|
|
10
|
+
/** A page of the record: what one screen shows (performance, a page that fits it). */
|
|
11
|
+
export declare const RECORD_PAGE_SIZE = 20;
|
|
12
|
+
/** The title of a sealed message the fleet cannot unseal now: its payload is empty (decision 0068). */
|
|
13
|
+
export declare const SEALED_TITLE = "A sealed message: the fleet cannot unseal it now";
|
|
14
|
+
/** What came of an item and where, as Bridge shows it. */
|
|
15
|
+
export interface ShownOutcome {
|
|
16
|
+
readonly place: Place;
|
|
17
|
+
readonly kind: OutcomeKind;
|
|
18
|
+
readonly option: number | null;
|
|
19
|
+
readonly at: string;
|
|
20
|
+
}
|
|
21
|
+
/** An item of the record (Bridge, section 6): a delivery to the person ship by its title, its job, its state and its outcome once kept. */
|
|
22
|
+
export interface RecordItem extends InboxEntry {
|
|
23
|
+
readonly job: ItemJob;
|
|
24
|
+
readonly state: ItemState;
|
|
25
|
+
readonly outcome: ShownOutcome | null;
|
|
26
|
+
}
|
|
27
|
+
export interface RecordRead {
|
|
28
|
+
readonly items: RecordItem[];
|
|
29
|
+
readonly nextCursor: DeliveryId | null;
|
|
30
|
+
}
|
|
31
|
+
export type ReadRecord = (input: {
|
|
32
|
+
caller: PersonCaller;
|
|
33
|
+
cursor: DeliveryId | null;
|
|
34
|
+
}) => Promise<Result<RecordRead, PersonCrewError>>;
|
|
35
|
+
/**
|
|
36
|
+
* Use case: a person reads their person ship's record (Bridge, CC12), a page
|
|
37
|
+
* at a time, newest first, as core keeps it across the ship's leases: each
|
|
38
|
+
* item with its job, its state, and what came of it and where once the
|
|
39
|
+
* gateway kept that. Reading changes nothing. When the fleet does not
|
|
40
|
+
* answer, the record cannot be read now; nothing was acknowledged, so
|
|
41
|
+
* nothing is lost.
|
|
42
|
+
*/
|
|
43
|
+
export declare function createReadRecord(deps: {
|
|
44
|
+
crewPersonShip: CrewPersonShip;
|
|
45
|
+
crews: PersonCrews;
|
|
46
|
+
door: PersonShipDoor;
|
|
47
|
+
outcomes: ItemOutcomes;
|
|
48
|
+
}): ReadRecord;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { refuse } from '../shared/errors.js';
|
|
2
|
+
import { ok } from '../shared/result.js';
|
|
3
|
+
import { inboxEntryOf } from './inbox-entry.js';
|
|
4
|
+
import { jobOf } from './item-job.js';
|
|
5
|
+
import { itemStateOf } from './item-state.js';
|
|
6
|
+
import { asPersonCrew, withOwnRefusal } from './person-crew.js';
|
|
7
|
+
/** A page of the record: what one screen shows (performance, a page that fits it). */
|
|
8
|
+
export const RECORD_PAGE_SIZE = 20;
|
|
9
|
+
/** The title of a sealed message the fleet cannot unseal now: its payload is empty (decision 0068). */
|
|
10
|
+
export const SEALED_TITLE = 'A sealed message: the fleet cannot unseal it now';
|
|
11
|
+
/**
|
|
12
|
+
* Use case: a person reads their person ship's record (Bridge, CC12), a page
|
|
13
|
+
* at a time, newest first, as core keeps it across the ship's leases: each
|
|
14
|
+
* item with its job, its state, and what came of it and where once the
|
|
15
|
+
* gateway kept that. Reading changes nothing. When the fleet does not
|
|
16
|
+
* answer, the record cannot be read now; nothing was acknowledged, so
|
|
17
|
+
* nothing is lost.
|
|
18
|
+
*/
|
|
19
|
+
export function createReadRecord(deps) {
|
|
20
|
+
return async ({ caller, cursor }) => {
|
|
21
|
+
const read = await asPersonCrew(deps, { caller, run: (crew) => withOwnRefusal(deps.door.record(crew.crewToken, { cursor, limit: RECORD_PAGE_SIZE })) });
|
|
22
|
+
if (!read.isOk) {
|
|
23
|
+
return read;
|
|
24
|
+
}
|
|
25
|
+
const page = read.value.value;
|
|
26
|
+
if (!page.isOk) {
|
|
27
|
+
return refuse('FLEET_UNAVAILABLE', `The record cannot be read now: ${page.error.message}. Nothing is lost`);
|
|
28
|
+
}
|
|
29
|
+
const kept = await deps.outcomes.findMany(caller.fleetId, { shipId: read.value.crew.shipId, deliveryIds: page.value.items.map(({ deliveryId }) => deliveryId) });
|
|
30
|
+
const outcomeOf = new Map(kept.map((outcome) => [outcome.deliveryId, outcome]));
|
|
31
|
+
return ok({ items: page.value.items.map((delivery) => recordItemOf(delivery, outcomeOf.get(delivery.deliveryId))), nextCursor: page.value.nextCursor });
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function recordItemOf(delivery, outcome) {
|
|
35
|
+
const entry = inboxEntryOf(delivery);
|
|
36
|
+
return {
|
|
37
|
+
...entry,
|
|
38
|
+
title: delivery.isPayloadUnreadable ? SEALED_TITLE : entry.title,
|
|
39
|
+
job: jobOf(delivery.contentType),
|
|
40
|
+
state: itemStateOf(delivery.state),
|
|
41
|
+
outcome: outcome === undefined ? null : { place: outcome.place, kind: outcome.kind, option: outcome.option, at: outcome.at.toISOString() },
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=read-record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-record.js","sourceRoot":"","sources":["../../../src/core/people/read-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Result } from '../shared/result.js';
|
|
2
|
+
import type { CrewPersonShip } from './crew-person-ship.js';
|
|
3
|
+
import type { ItemJob } from './item-job.js';
|
|
4
|
+
import { type PersonCaller, type PersonCrewError } from './person-crew.js';
|
|
5
|
+
import { type RoutingDefaults, type RoutingPlace, type Routes } from './routing.js';
|
|
6
|
+
/** Where each job shows besides Bridge, as Bridge's routing page draws it, and the places the gateway offers. */
|
|
7
|
+
export interface RoutingView {
|
|
8
|
+
readonly offered: Readonly<Record<RoutingPlace, boolean>>;
|
|
9
|
+
readonly jobs: readonly {
|
|
10
|
+
readonly job: ItemJob;
|
|
11
|
+
readonly places: Readonly<Record<RoutingPlace, boolean>>;
|
|
12
|
+
}[];
|
|
13
|
+
}
|
|
14
|
+
export type ReadRouting = (caller: PersonCaller) => Promise<Result<RoutingView, PersonCrewError>>;
|
|
15
|
+
/**
|
|
16
|
+
* Use case: where the caller's items show, per job and place (Bridge,
|
|
17
|
+
* section 8): their own choices, the gateway's defaults where they made
|
|
18
|
+
* none (CC19).
|
|
19
|
+
*/
|
|
20
|
+
export declare function createReadRouting(deps: {
|
|
21
|
+
crewPersonShip: CrewPersonShip;
|
|
22
|
+
routes: Routes;
|
|
23
|
+
defaults: RoutingDefaults;
|
|
24
|
+
isEmailOffered: boolean;
|
|
25
|
+
isWebPushOffered: boolean;
|
|
26
|
+
}): ReadRouting;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ok } from '../shared/result.js';
|
|
2
|
+
import { personCrewOf } from './person-crew.js';
|
|
3
|
+
import { ITEM_JOBS, routingOf } from './routing.js';
|
|
4
|
+
import { isOfferedPlace } from './turn-route.js';
|
|
5
|
+
const placesOf = (isOn) => ({ slack: isOn('slack'), chat: isOn('chat'), 'web-push': isOn('web-push'), email: isOn('email') });
|
|
6
|
+
/**
|
|
7
|
+
* Use case: where the caller's items show, per job and place (Bridge,
|
|
8
|
+
* section 8): their own choices, the gateway's defaults where they made
|
|
9
|
+
* none (CC19).
|
|
10
|
+
*/
|
|
11
|
+
export function createReadRouting(deps) {
|
|
12
|
+
return async (caller) => {
|
|
13
|
+
const crew = await personCrewOf(deps.crewPersonShip, caller);
|
|
14
|
+
if (!crew.isOk) {
|
|
15
|
+
return crew;
|
|
16
|
+
}
|
|
17
|
+
const routing = routingOf(await deps.routes.list({ fleetId: caller.fleetId, shipId: crew.value.shipId }), deps.defaults);
|
|
18
|
+
const offered = placesOf((place) => isOfferedPlace(place, deps));
|
|
19
|
+
return ok({ offered, jobs: ITEM_JOBS.map((job) => ({ job, places: placesOf((place) => routing.isOn(job, place)) })) });
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=read-routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-routing.js","sourceRoot":"","sources":["../../../src/core/people/read-routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAA2C,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAwD,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAUjD,MAAM,QAAQ,GAAG,CAAC,IAAsC,EAAiC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAE/L;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAuI;IACvK,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzH,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACjE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACzH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type Result } from '../shared/result.js';
|
|
2
2
|
import type { CrewPersonShip } from './crew-person-ship.js';
|
|
3
3
|
import { type PersonCaller, type PersonCrewError } from './person-crew.js';
|
|
4
|
-
import type {
|
|
5
|
-
/** A browser a person turned web push on in, as
|
|
4
|
+
import type { WebPushSubscriptions } from './ports.js';
|
|
5
|
+
/** A browser a person turned web push on in, as Bridge's settings list it: gone once its push service ended the subscription. */
|
|
6
6
|
export interface WebPushBrowser {
|
|
7
7
|
readonly endpoint: string;
|
|
8
8
|
readonly browser: string;
|
|
@@ -10,15 +10,14 @@ export interface WebPushBrowser {
|
|
|
10
10
|
readonly isGone: boolean;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
* The channels that wake a person, as
|
|
14
|
-
* offered or not
|
|
13
|
+
* The channels that wake a person, as Bridge's settings show them: email
|
|
14
|
+
* offered or not; web push with the gateway's public push
|
|
15
15
|
* key a browser subscribes with, none where it is not offered, and the
|
|
16
16
|
* browsers they turned it on in.
|
|
17
17
|
*/
|
|
18
18
|
export interface WakeChannels {
|
|
19
19
|
readonly email: {
|
|
20
20
|
readonly isOffered: boolean;
|
|
21
|
-
readonly isOn: boolean;
|
|
22
21
|
};
|
|
23
22
|
readonly webPush: {
|
|
24
23
|
readonly publicKey: string | null;
|
|
@@ -29,12 +28,12 @@ export type ReadWakeChannels = (caller: PersonCaller) => Promise<Result<WakeChan
|
|
|
29
28
|
/**
|
|
30
29
|
* Use case: the channels that wake a person when something waits for their
|
|
31
30
|
* person ship (wake a person, W8). Email is offered only where the gateway
|
|
32
|
-
* can ask pagasae to send it, web push only where it holds push keys;
|
|
33
|
-
*
|
|
31
|
+
* can ask pagasae to send it, web push only where it holds push keys; which
|
|
32
|
+
* jobs each wakes for is routed per job (Bridge, section 8). A browser's
|
|
33
|
+
* keys are never shown.
|
|
34
34
|
*/
|
|
35
35
|
export declare function createReadWakeChannels(deps: {
|
|
36
36
|
crewPersonShip: CrewPersonShip;
|
|
37
|
-
emailChannels: EmailChannels;
|
|
38
37
|
isEmailOffered: boolean;
|
|
39
38
|
subscriptions: WebPushSubscriptions;
|
|
40
39
|
/** The gateway's public push key; none where it holds no push keys. */
|
|
@@ -3,8 +3,9 @@ import { personCrewOf } from './person-crew.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Use case: the channels that wake a person when something waits for their
|
|
5
5
|
* person ship (wake a person, W8). Email is offered only where the gateway
|
|
6
|
-
* can ask pagasae to send it, web push only where it holds push keys;
|
|
7
|
-
*
|
|
6
|
+
* can ask pagasae to send it, web push only where it holds push keys; which
|
|
7
|
+
* jobs each wakes for is routed per job (Bridge, section 8). A browser's
|
|
8
|
+
* keys are never shown.
|
|
8
9
|
*/
|
|
9
10
|
export function createReadWakeChannels(deps) {
|
|
10
11
|
return async (caller) => {
|
|
@@ -13,9 +14,8 @@ export function createReadWakeChannels(deps) {
|
|
|
13
14
|
return crew;
|
|
14
15
|
}
|
|
15
16
|
const ship = { fleetId: caller.fleetId, shipId: crew.value.shipId };
|
|
16
|
-
const isOn = deps.isEmailOffered && (await deps.emailChannels.isOn(ship));
|
|
17
17
|
const browsers = deps.webPushKey === null ? [] : (await deps.subscriptions.list(ship.fleetId, ship.shipId)).map(({ endpoint, browser, addedAt, goneAt }) => ({ endpoint, browser, addedAt, isGone: goneAt !== null }));
|
|
18
|
-
return ok({ email: { isOffered: deps.isEmailOffered
|
|
18
|
+
return ok({ email: { isOffered: deps.isEmailOffered }, webPush: { publicKey: deps.webPushKey, browsers } });
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=read-wake-channels.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-wake-channels.js","sourceRoot":"","sources":["../../../src/core/people/read-wake-channels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAA2C,MAAM,kBAAkB,CAAC;AAwBzF
|
|
1
|
+
{"version":3,"file":"read-wake-channels.js","sourceRoot":"","sources":["../../../src/core/people/read-wake-channels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAA2C,MAAM,kBAAkB,CAAC;AAwBzF;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAMtC;IACC,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACpE,MAAM,QAAQ,GACZ,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QACxM,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9G,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type DomainError } from '../shared/errors.js';
|
|
2
|
+
import { type Result } from '../shared/result.js';
|
|
3
|
+
import { type DealDeps, type DealtError } from './opened-of.js';
|
|
4
|
+
import type { PersonCaller } from './person-crew.js';
|
|
5
|
+
import { type BasketDeps } from './read-basket.js';
|
|
6
|
+
export type RemoveFromBasket = (input: {
|
|
7
|
+
caller: PersonCaller;
|
|
8
|
+
questionId: string;
|
|
9
|
+
}) => Promise<Result<{
|
|
10
|
+
questionId: string;
|
|
11
|
+
}, DealtError | DomainError<'NOT_IN_BASKET' | 'CONFLICT'>>>;
|
|
12
|
+
/**
|
|
13
|
+
* Use case: the person removes an entry from the basket (section 9). One
|
|
14
|
+
* waiting leaves it, and its question still waits on them. One the fleet
|
|
15
|
+
* refused leaves it and its question is done, as not sent; kept while the
|
|
16
|
+
* fleet does not take that, so they can remove it again. One whose question
|
|
17
|
+
* its asker withdrew or replaced leaves it, and the question is done as
|
|
18
|
+
* such; one answered elsewhere just leaves. One being sent goes as stored.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createRemoveFromBasket(deps: BasketDeps & DealDeps): RemoveFromBasket;
|