@aeolus-fleet/gateway 0.35.0 → 0.36.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/person-waiters.js +3 -1
- package/dist/person-waiters.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 +16 -16
- 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 +16 -16
- 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 +8 -8
- 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 +8 -8
- 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 +8 -8
- 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 +8 -8
- 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 +8 -8
- 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/_0xickgbbju_9-._.js +1 -1
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_1oy13966tft2_._.js → _10-gn6g9yc63s._.js} +2 -2
- package/web/.next/server/chunks/ssr/_10-gn6g9yc63s._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_1pf8x2exvfl1z._.js → _177fdczus39s7._.js} +2 -2
- package/web/.next/server/chunks/ssr/_177fdczus39s7._.js.map +1 -0
- 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/_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_16cy3vmcijydk._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_16cy3vmcijydk._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1iiqi6dhrst33._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1iiqi6dhrst33._.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_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 +218 -132
- package/web/.next/static/chunks/0az9upwm-8_q9.js +1 -0
- package/web/.next/static/chunks/0c1tqlbsvq1dj.js +1 -0
- package/web/.next/static/chunks/0fh11dkddwf_2.js +1 -0
- package/web/.next/static/chunks/0gbozvd_yh421.js +1 -0
- package/web/.next/static/chunks/0l9_oie6xi0kd.js +1 -0
- package/web/.next/static/chunks/0m512dxdcrv-b.js +1 -0
- package/web/.next/static/chunks/1166rxt6h6ilq.js +1 -0
- package/web/.next/static/chunks/1485slb5zus5p.js +1 -0
- package/web/.next/static/chunks/180aowme095ds.js +1 -0
- package/web/.next/static/chunks/{03239gtej3tj0.js → 24olc0btcvn7q.js} +1 -1
- package/web/.next/static/chunks/296w-74ry5lzk.js +1 -0
- package/web/.next/static/chunks/2hoi73vy1wqpo.js +1 -0
- package/web/.next/static/chunks/2mtfca4qk_s34.js +1 -0
- package/web/.next/static/chunks/{3ceatffqhpgpu.js → 2z2auwx1s2mgl.js} +1 -1
- package/web/.next/static/chunks/397zvdr6xr5pq.js +1 -0
- package/web/.next/static/chunks/{2_e-puldye2do.js → 3db90zxmny2y-.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/3srfjz42u14tx.js +1 -0
- package/web/.next/static/chunks/{0tmvd_zw45u96.js → 3x0p-z3zdrk_b.js} +1 -1
- package/web/.next/static/chunks/3yq9jt4p_0uid.js +1 -0
- 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.map +0 -1
- 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/3l5jtag3-fukc.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 → CMppMkysNciqc8k4TWwia}/_buildManifest.js +0 -0
- /package/web/.next/static/{R_nPUtDcDp1BPV3QHhaMZ → CMppMkysNciqc8k4TWwia}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{R_nPUtDcDp1BPV3QHhaMZ → CMppMkysNciqc8k4TWwia}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The basket (docs/design/bridge, section 9; CC21): answers to questions the
|
|
3
|
+
* person picked in Bridge and has not sent, kept per fleet and person ship,
|
|
4
|
+
* one entry per question, by its uuid. Nothing is sent until the person
|
|
5
|
+
* presses Send N answers; then each entry is stored as sending, and the
|
|
6
|
+
* gateway sends each on its own, in the order added, until the fleet stores
|
|
7
|
+
* it or refuses it. An entry keeps what its answer and the basket's list
|
|
8
|
+
* need, so it is sent, and shown, whatever came of its opened delivery.
|
|
9
|
+
*/
|
|
10
|
+
import type { DeliveryId, FleetId, MessageId, ShipId } from '@aeolus-fleet/common';
|
|
11
|
+
import type { ItemOutcome, Place } from './item-outcome.js';
|
|
12
|
+
import type { Stale } from './stale-question.js';
|
|
13
|
+
/** Where an entry is: waiting for Send, stored as sending, or refused by the fleet, not sent. */
|
|
14
|
+
export type BasketEntryState = 'waiting' | 'sending' | 'refused';
|
|
15
|
+
export interface BasketEntry {
|
|
16
|
+
readonly fleetId: FleetId;
|
|
17
|
+
readonly shipId: ShipId;
|
|
18
|
+
/** The uuid of the question it answers (decision 0038): one entry per question. */
|
|
19
|
+
readonly questionId: string;
|
|
20
|
+
readonly deliveryId: DeliveryId;
|
|
21
|
+
/** The question's message, which the answer is in reply to, and its asker. */
|
|
22
|
+
readonly messageId: MessageId;
|
|
23
|
+
readonly senderShipId: ShipId;
|
|
24
|
+
readonly from: string;
|
|
25
|
+
readonly title: string;
|
|
26
|
+
/** When the question was asked. */
|
|
27
|
+
readonly sentAt: Date;
|
|
28
|
+
readonly option: number;
|
|
29
|
+
/** The note that goes with the answer; none when the person wrote none. */
|
|
30
|
+
readonly note: string | null;
|
|
31
|
+
/** When it was put in the basket: entries are sent in this order, and changing one keeps its place. */
|
|
32
|
+
readonly addedAt: Date;
|
|
33
|
+
readonly state: BasketEntryState;
|
|
34
|
+
/** Why the fleet refused it, while refused. */
|
|
35
|
+
readonly refusal: string | null;
|
|
36
|
+
}
|
|
37
|
+
/** Outbound port: the basket of each person ship, by fleet, person ship and question. */
|
|
38
|
+
export interface BasketEntries {
|
|
39
|
+
/** Keeps it, or keeps it anew when its question has an entry already. */
|
|
40
|
+
save(entry: BasketEntry): Promise<void>;
|
|
41
|
+
find(fleetId: FleetId, asked: {
|
|
42
|
+
shipId: ShipId;
|
|
43
|
+
questionId: string;
|
|
44
|
+
}): Promise<BasketEntry | undefined>;
|
|
45
|
+
/** The person ship's, in the order added. */
|
|
46
|
+
list(fleetId: FleetId, shipId: ShipId): Promise<BasketEntry[]>;
|
|
47
|
+
/** How many entries the person ship's basket holds. */
|
|
48
|
+
count(fleetId: FleetId, shipId: ShipId): Promise<number>;
|
|
49
|
+
remove(fleetId: FleetId, removed: {
|
|
50
|
+
shipId: ShipId;
|
|
51
|
+
questionId: string;
|
|
52
|
+
}): Promise<void>;
|
|
53
|
+
/** The person ships with an entry stored as sending, of every fleet, by fleet and ship, after the one given. */
|
|
54
|
+
sendingShips(page: {
|
|
55
|
+
after: {
|
|
56
|
+
fleetId: FleetId;
|
|
57
|
+
shipId: ShipId;
|
|
58
|
+
} | null;
|
|
59
|
+
limit: number;
|
|
60
|
+
}): Promise<{
|
|
61
|
+
fleetId: FleetId;
|
|
62
|
+
shipId: ShipId;
|
|
63
|
+
}[]>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* What an entry stands as now: as kept (waiting, sending, refused with
|
|
67
|
+
* why); its question withdrawn or replaced by its asker (section 9, rule
|
|
68
|
+
* 5); or dealt with elsewhere, as when Slack or a chat answered it first
|
|
69
|
+
* (rule 6): either is not sent.
|
|
70
|
+
*/
|
|
71
|
+
export type BasketStanding = {
|
|
72
|
+
readonly kind: 'waiting';
|
|
73
|
+
} | {
|
|
74
|
+
readonly kind: 'sending';
|
|
75
|
+
} | {
|
|
76
|
+
readonly kind: 'refused';
|
|
77
|
+
readonly reason: string;
|
|
78
|
+
} | {
|
|
79
|
+
readonly kind: 'withdrawn';
|
|
80
|
+
} | {
|
|
81
|
+
readonly kind: 'replaced';
|
|
82
|
+
readonly replacementId: DeliveryId | null;
|
|
83
|
+
} | {
|
|
84
|
+
readonly kind: 'dealtElsewhere';
|
|
85
|
+
readonly place: Place;
|
|
86
|
+
readonly option: number | null;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* An entry's standing, from what came of its question, if anything did, and
|
|
90
|
+
* whether its asker withdrew or replaced it. Once sending, the answer goes:
|
|
91
|
+
* a withdrawal that comes later is the asker's business (section 9).
|
|
92
|
+
*/
|
|
93
|
+
export declare function standingOf(entry: BasketEntry, known: {
|
|
94
|
+
outcome: ItemOutcome | undefined;
|
|
95
|
+
stale: Stale | null;
|
|
96
|
+
}): BasketStanding;
|
|
97
|
+
/** The answer an entry sends (decision 0038): its question's uuid, its option, and its note if any. */
|
|
98
|
+
export declare function answerOf(entry: Pick<BasketEntry, 'questionId' | 'option' | 'note'>): {
|
|
99
|
+
questionId: string;
|
|
100
|
+
option: number;
|
|
101
|
+
note?: string;
|
|
102
|
+
};
|
|
103
|
+
/** The key an entry's answer is sent under: the question's, so it is stored once however often it is sent (section 9). */
|
|
104
|
+
export declare function answerKeyOf(entry: Pick<BasketEntry, 'questionId'>): string;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An entry's standing, from what came of its question, if anything did, and
|
|
3
|
+
* whether its asker withdrew or replaced it. Once sending, the answer goes:
|
|
4
|
+
* a withdrawal that comes later is the asker's business (section 9).
|
|
5
|
+
*/
|
|
6
|
+
export function standingOf(entry, known) {
|
|
7
|
+
const { outcome, stale } = known;
|
|
8
|
+
if (outcome !== undefined) {
|
|
9
|
+
switch (outcome.kind) {
|
|
10
|
+
case 'withdrawn':
|
|
11
|
+
return { kind: 'withdrawn' };
|
|
12
|
+
case 'replaced':
|
|
13
|
+
return { kind: 'replaced', replacementId: null };
|
|
14
|
+
case 'seen':
|
|
15
|
+
case 'answered':
|
|
16
|
+
case 'done':
|
|
17
|
+
case 'cannot':
|
|
18
|
+
case 'notSent':
|
|
19
|
+
return { kind: 'dealtElsewhere', place: outcome.place, option: outcome.option };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
switch (entry.state) {
|
|
23
|
+
case 'sending':
|
|
24
|
+
return { kind: 'sending' };
|
|
25
|
+
case 'refused':
|
|
26
|
+
return { kind: 'refused', reason: entry.refusal ?? 'The fleet refused it' };
|
|
27
|
+
case 'waiting':
|
|
28
|
+
if (stale === null) {
|
|
29
|
+
return { kind: 'waiting' };
|
|
30
|
+
}
|
|
31
|
+
return stale.kind === 'withdrawn' ? { kind: 'withdrawn' } : { kind: 'replaced', replacementId: stale.replacementId };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** The answer an entry sends (decision 0038): its question's uuid, its option, and its note if any. */
|
|
35
|
+
export function answerOf(entry) {
|
|
36
|
+
return { questionId: entry.questionId, option: entry.option, ...(entry.note === null ? {} : { note: entry.note }) };
|
|
37
|
+
}
|
|
38
|
+
/** The key an entry's answer is sent under: the question's, so it is stored once however often it is sent (section 9). */
|
|
39
|
+
export function answerKeyOf(entry) {
|
|
40
|
+
return `answer-${entry.questionId}`;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=basket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basket.js","sourceRoot":"","sources":["../../../src/core/people/basket.ts"],"names":[],"mappings":"AAoEA;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,KAAgE;IAC7G,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,WAAW;gBACd,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YAC/B,KAAK,UAAU;gBACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YACnD,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU,CAAC;YAChB,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACpF,CAAC;IACH,CAAC;IACD,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,sBAAsB,EAAE,CAAC;QAC9E,KAAK,SAAS;YACZ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;IACzH,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,QAAQ,CAAC,KAA0D;IACjF,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;AACtH,CAAC;AAED,0HAA0H;AAC1H,MAAM,UAAU,WAAW,CAAC,KAAsC;IAChE,OAAO,UAAU,KAAK,CAAC,UAAU,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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 PersonCaller, type PersonCrewError } from './person-crew.js';
|
|
5
|
+
export type CountBasket = (caller: PersonCaller) => Promise<Result<{
|
|
6
|
+
count: number;
|
|
7
|
+
}, PersonCrewError>>;
|
|
8
|
+
/**
|
|
9
|
+
* Use case: how many answers the person's basket holds, for Bridge's
|
|
10
|
+
* navigation on every page (section 9, rule 2): counted in the gateway's
|
|
11
|
+
* database, nothing read from the fleet.
|
|
12
|
+
*/
|
|
13
|
+
export declare function createCountBasket(deps: {
|
|
14
|
+
crewPersonShip: CrewPersonShip;
|
|
15
|
+
entries: BasketEntries;
|
|
16
|
+
}): CountBasket;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ok } from '../shared/result.js';
|
|
2
|
+
import { personCrewOf } from './person-crew.js';
|
|
3
|
+
/**
|
|
4
|
+
* Use case: how many answers the person's basket holds, for Bridge's
|
|
5
|
+
* navigation on every page (section 9, rule 2): counted in the gateway's
|
|
6
|
+
* database, nothing read from the fleet.
|
|
7
|
+
*/
|
|
8
|
+
export function createCountBasket(deps) {
|
|
9
|
+
return async (caller) => {
|
|
10
|
+
const crew = await personCrewOf(deps.crewPersonShip, caller);
|
|
11
|
+
return crew.isOk ? ok({ count: await deps.entries.count(caller.fleetId, crew.value.shipId) }) : crew;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=count-basket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"count-basket.js","sourceRoot":"","sources":["../../../src/core/people/count-basket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAA2C,MAAM,kBAAkB,CAAC;AAIzF;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAgE;IAChG,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvG,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
|
+
import { type DomainError } from '../shared/errors.js';
|
|
1
2
|
import type { Result } from '../shared/result.js';
|
|
2
|
-
import type {
|
|
3
|
-
import { type Dealt, type DealtError } from './opened-of.js';
|
|
4
|
-
import type
|
|
5
|
-
import
|
|
3
|
+
import type { Place } from './item-outcome.js';
|
|
4
|
+
import { type Dealt, type DealDeps, type DealtError } from './opened-of.js';
|
|
5
|
+
import { type PersonCaller } from './person-crew.js';
|
|
6
|
+
import { type StepOutcomeKind } from './step-outcome.js';
|
|
6
7
|
export type DoneDelivery = (input: {
|
|
7
8
|
caller: PersonCaller;
|
|
9
|
+
place: Place;
|
|
8
10
|
deliveryId: string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
/** How a step ended: done unless named; only a step may end as cannot. */
|
|
12
|
+
outcome?: StepOutcomeKind;
|
|
13
|
+
/** The person's note on a step, for done and cannot alike; only a step takes one. */
|
|
14
|
+
note?: string;
|
|
15
|
+
}) => Promise<Result<Dealt, DealtError | DomainError<'SEND_REFUSED' | 'NOT_A_STEP'>>>;
|
|
16
|
+
/**
|
|
17
|
+
* Use case: a person is done with a delivery they opened (Q20): it is
|
|
18
|
+
* handled, done where they were. A step (Bridge, CC14) ends done or cannot,
|
|
19
|
+
* with the note if they wrote one: its outcome goes to the asker at once,
|
|
20
|
+
* in reply to the step, never through the basket (CC23), and only then is
|
|
21
|
+
* it handled. The outcome's key is the delivery's, so one tried again after
|
|
22
|
+
* the fleet did not take handled is sent once. Any other delivery sends
|
|
23
|
+
* nothing, so cannot and a note are refused for it.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createDoneDelivery(deps: DealDeps): DoneDelivery;
|
|
@@ -1,9 +1,39 @@
|
|
|
1
|
+
import { refuse } from '../shared/errors.js';
|
|
1
2
|
import { handledOf, openedOf } from './opened-of.js';
|
|
2
|
-
|
|
3
|
+
import { asPersonCrew, withOwnRefusal } from './person-crew.js';
|
|
4
|
+
import { noteOf, STEP_OUTCOME_CONTENT_TYPE, stepOutcomePayloadOf } from './step-outcome.js';
|
|
5
|
+
/**
|
|
6
|
+
* Use case: a person is done with a delivery they opened (Q20): it is
|
|
7
|
+
* handled, done where they were. A step (Bridge, CC14) ends done or cannot,
|
|
8
|
+
* with the note if they wrote one: its outcome goes to the asker at once,
|
|
9
|
+
* in reply to the step, never through the basket (CC23), and only then is
|
|
10
|
+
* it handled. The outcome's key is the delivery's, so one tried again after
|
|
11
|
+
* the fleet did not take handled is sent once. Any other delivery sends
|
|
12
|
+
* nothing, so cannot and a note are refused for it.
|
|
13
|
+
*/
|
|
3
14
|
export function createDoneDelivery(deps) {
|
|
4
|
-
return async (
|
|
5
|
-
const opened = await openedOf(deps,
|
|
6
|
-
|
|
15
|
+
return async ({ caller, place, deliveryId, outcome = 'done', note }) => {
|
|
16
|
+
const opened = await openedOf(deps, { caller, deliveryId });
|
|
17
|
+
if (!opened.isOk) {
|
|
18
|
+
return opened;
|
|
19
|
+
}
|
|
20
|
+
const delivery = opened.value;
|
|
21
|
+
const { stepId } = delivery;
|
|
22
|
+
if (stepId === null) {
|
|
23
|
+
if (outcome === 'cannot' || noteOf(note) !== null) {
|
|
24
|
+
return refuse('NOT_A_STEP', `${delivery.title} is no step: only a step ends as cannot or takes a note. Answer it with your note instead`);
|
|
25
|
+
}
|
|
26
|
+
return handledOf(deps, { caller, delivery, as: { place, kind: 'done', option: null } });
|
|
27
|
+
}
|
|
28
|
+
const reply = { to: delivery.senderShipId, inReplyTo: delivery.messageId, contentType: STEP_OUTCOME_CONTENT_TYPE, payload: stepOutcomePayloadOf({ stepId, kind: outcome, note: noteOf(note) }), idempotencyKey: `step-outcome-${delivery.deliveryId}` };
|
|
29
|
+
const sent = await asPersonCrew(deps, { caller, run: (crew) => withOwnRefusal(deps.door.reply(crew.crewToken, reply)) });
|
|
30
|
+
if (!sent.isOk) {
|
|
31
|
+
return sent;
|
|
32
|
+
}
|
|
33
|
+
if (!sent.value.value.isOk) {
|
|
34
|
+
return refuse('SEND_REFUSED', `The fleet did not take your outcome: ${sent.value.value.error.message}`);
|
|
35
|
+
}
|
|
36
|
+
return handledOf(deps, { caller, delivery, as: { place, kind: outcome, option: null } });
|
|
7
37
|
};
|
|
8
38
|
}
|
|
9
39
|
//# sourceMappingURL=done-delivery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"done-delivery.js","sourceRoot":"","sources":["../../../src/core/people/done-delivery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"done-delivery.js","sourceRoot":"","sources":["../../../src/core/people/done-delivery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAA8C,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,oBAAoB,EAAwB,MAAM,mBAAmB,CAAC;AAYlH;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAc;IAC/C,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;QACrE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClD,OAAO,MAAM,CAAC,YAAY,EAAE,GAAG,QAAQ,CAAC,KAAK,2FAA2F,CAAC,CAAC;YAC5I,CAAC;YACD,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,gBAAgB,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;QACxP,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACzH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC,cAAc,EAAE,wCAAwC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ConnectionStore } from '../connection/ports.js';
|
|
2
|
+
import type { FinishesOwnStep } from '../party-grants/ports.js';
|
|
3
|
+
import type { SentMessages } from '../mcp-in/ports.js';
|
|
4
|
+
import type { Clock } from '../shared/clock.js';
|
|
5
|
+
import type { ItemOutcomes } from './item-outcome.js';
|
|
6
|
+
import type { InboxChanges, OpenedDeliveries, PersonCrews, PersonShipDoor } from './ports.js';
|
|
7
|
+
/**
|
|
8
|
+
* Use case: a step the gateway's ship sent a person, as to sign in to an
|
|
9
|
+
* outside server, is done once the gateway sees it complete, with no press
|
|
10
|
+
* (Bridge, CC14). The gateway's ship reads where the step's delivery stands;
|
|
11
|
+
* as the person ship's crew the gateway takes it if it is still pending,
|
|
12
|
+
* acknowledges it if the person had not opened it, and reports it handled.
|
|
13
|
+
* It is kept done by the gateway, forgotten as opened, and the person's
|
|
14
|
+
* pages are told. No outcome is sent: the asker is the gateway, which saw
|
|
15
|
+
* it complete. A step that ended already, or that the fleet does not take
|
|
16
|
+
* as handled, is left as it is, for the person to mark.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createFinishOwnStep(deps: {
|
|
19
|
+
connections: Pick<ConnectionStore, 'find'>;
|
|
20
|
+
sent: SentMessages;
|
|
21
|
+
crews: Pick<PersonCrews, 'find'>;
|
|
22
|
+
door: PersonShipDoor;
|
|
23
|
+
opened: OpenedDeliveries;
|
|
24
|
+
outcomes: ItemOutcomes;
|
|
25
|
+
changes: InboxChanges;
|
|
26
|
+
clock: Clock;
|
|
27
|
+
}): FinishesOwnStep;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { INBOX_LIST_MAX } from './read-inbox.js';
|
|
2
|
+
function finishingOf(state) {
|
|
3
|
+
switch (state) {
|
|
4
|
+
case 'pending':
|
|
5
|
+
return 'takeFirst';
|
|
6
|
+
case 'received':
|
|
7
|
+
case 'handed':
|
|
8
|
+
return 'acknowledgeFirst';
|
|
9
|
+
case 'acknowledged':
|
|
10
|
+
return 'handledOnly';
|
|
11
|
+
case 'handled':
|
|
12
|
+
case 'notHandled':
|
|
13
|
+
case 'undeliverable':
|
|
14
|
+
case 'dismissed':
|
|
15
|
+
case 'abandoned':
|
|
16
|
+
return 'ended';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Use case: a step the gateway's ship sent a person, as to sign in to an
|
|
21
|
+
* outside server, is done once the gateway sees it complete, with no press
|
|
22
|
+
* (Bridge, CC14). The gateway's ship reads where the step's delivery stands;
|
|
23
|
+
* as the person ship's crew the gateway takes it if it is still pending,
|
|
24
|
+
* acknowledges it if the person had not opened it, and reports it handled.
|
|
25
|
+
* It is kept done by the gateway, forgotten as opened, and the person's
|
|
26
|
+
* pages are told. No outcome is sent: the asker is the gateway, which saw
|
|
27
|
+
* it complete. A step that ended already, or that the fleet does not take
|
|
28
|
+
* as handled, is left as it is, for the person to mark.
|
|
29
|
+
*/
|
|
30
|
+
export function createFinishOwnStep(deps) {
|
|
31
|
+
/** Takes, then acknowledges, the delivery as the finishing needs: whether it is acknowledged now. */
|
|
32
|
+
const acknowledged = async (crewToken, delivery) => {
|
|
33
|
+
switch (delivery.finishing) {
|
|
34
|
+
case 'ended':
|
|
35
|
+
return false;
|
|
36
|
+
case 'handledOnly':
|
|
37
|
+
return true;
|
|
38
|
+
case 'takeFirst': {
|
|
39
|
+
const taken = await deps.door.pushReceive(crewToken, { max: INBOX_LIST_MAX });
|
|
40
|
+
return taken.isOk && taken.value.some(({ deliveryId }) => deliveryId === delivery.deliveryId) && (await deps.door.ack(crewToken, delivery.deliveryId)).isOk;
|
|
41
|
+
}
|
|
42
|
+
case 'acknowledgeFirst':
|
|
43
|
+
return (await deps.door.ack(crewToken, delivery.deliveryId)).isOk;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
return async ({ fleetId, personShipId, stepMessageId }) => {
|
|
47
|
+
const [gateway, crew] = await Promise.all([deps.connections.find(fleetId), deps.crews.find(fleetId, personShipId)]);
|
|
48
|
+
if (gateway === undefined || crew === undefined) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const sent = await deps.sent.sentMessage(gateway.crewToken, stepMessageId);
|
|
52
|
+
if (!sent.isOk) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const { deliveryId } = sent.value;
|
|
56
|
+
if (!(await acknowledged(crew.crewToken, { deliveryId, finishing: finishingOf(sent.value.state) }))) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (!(await deps.door.handled(crew.crewToken, deliveryId)).isOk) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
await deps.outcomes.save({ fleetId, shipId: personShipId, deliveryId, place: 'gateway', kind: 'done', option: null, at: deps.clock.now() });
|
|
63
|
+
await deps.opened.remove(fleetId, { shipId: personShipId, deliveryId });
|
|
64
|
+
await deps.changes.tell({ fleetId, shipId: personShipId });
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=finish-own-step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finish-own-step.js","sourceRoot":"","sources":["../../../src/core/people/finish-own-step.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD,SAAS,WAAW,CAAC,KAAoB;IACvC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC;QACrB,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC;QAC5B,KAAK,cAAc;YACjB,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,eAAe,CAAC;QACrB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,IASnC;IACC,qGAAqG;IACrG,MAAM,YAAY,GAAG,KAAK,EAAE,SAAiB,EAAE,QAA0D,EAAoB,EAAE;QAC7H,QAAQ,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC3B,KAAK,OAAO;gBACV,OAAO,KAAK,CAAC;YACf,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC;YACd,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC9E,OAAO,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9J,CAAC;YACD,KAAK,kBAAkB;gBACrB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE;QACxD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACpH,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACpG,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5I,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -9,7 +9,7 @@ const MEETING_NOTICE_TITLES = new Map([
|
|
|
9
9
|
]);
|
|
10
10
|
/** A question's own title; a meeting notice's in words; any other message's first line, cut to the longest title. */
|
|
11
11
|
export function titleOf(delivery) {
|
|
12
|
-
const title = delivery.
|
|
12
|
+
const title = delivery.headline ?? MEETING_NOTICE_TITLES.get(delivery.contentType) ?? delivery.payload.split('\n', 1)[0] ?? '';
|
|
13
13
|
return title.length > TITLE_MAX_LENGTH ? `${title.slice(0, TITLE_MAX_LENGTH - 1)}…` : title;
|
|
14
14
|
}
|
|
15
15
|
export function inboxEntryOf(delivery) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-entry.js","sourceRoot":"","sources":["../../../src/core/people/inbox-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,wBAAwB,EAAmB,MAAM,sBAAsB,CAAC;AAIzI,0FAA0F;AAC1F,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAUnC,mGAAmG;AACnG,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,CAAC,0BAA0B,EAAE,6BAA6B,CAAC;IAC3D,CAAC,wBAAwB,EAAE,+BAA+B,CAAC;IAC3D,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;CACjE,CAAC,CAAC;AAEH,qHAAqH;AACrH,MAAM,UAAU,OAAO,CAAC,QAAwB;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"inbox-entry.js","sourceRoot":"","sources":["../../../src/core/people/inbox-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,wBAAwB,EAAmB,MAAM,sBAAsB,CAAC;AAIzI,0FAA0F;AAC1F,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAUnC,mGAAmG;AACnG,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,CAAC,0BAA0B,EAAE,6BAA6B,CAAC;IAC3D,CAAC,wBAAwB,EAAE,+BAA+B,CAAC;IAC3D,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;CACjE,CAAC,CAAC;AAEH,qHAAqH;AACrH,MAAM,UAAU,OAAO,CAAC,QAAwB;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,IAAI,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/H,OAAO,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAwB;IACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;AACzI,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAsB;IAClD,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;AACxH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** The step and notice content types (CC14, CC15), as common names them from its release after 0.35.0; they move to common's constants then. */
|
|
2
|
+
export declare const STEP_CONTENT_TYPE = "application/vnd.aeolus.step+json";
|
|
3
|
+
export declare const NOTICE_CONTENT_TYPE = "application/vnd.aeolus.notice+json";
|
|
4
|
+
export type ItemJob = 'decide' | 'do' | 'stay-aware' | 'everything-else';
|
|
5
|
+
/** A content type's essence: media types compare without case and without their parameters (RFC 9110). */
|
|
6
|
+
export declare function essenceOf(contentType: string): string;
|
|
7
|
+
export declare function jobOf(contentType: string): ItemJob;
|
|
8
|
+
/** Whether an item of the job is in what waits and its count, until done. */
|
|
9
|
+
export declare function isCounted(job: ItemJob): boolean;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An item's job (docs/design/bridge, section 6): a delivery to the person
|
|
3
|
+
* ship is known by its content type (CC10). Decide and do wait on the person
|
|
4
|
+
* and are counted in what waits; stay aware reaches them unasked, outside the
|
|
5
|
+
* count; everything else is in the record only.
|
|
6
|
+
*/
|
|
7
|
+
import { ALERT_CONTENT_TYPE, QUESTION_CONTENT_TYPE, REPLACEMENT_CONTENT_TYPE } from '@aeolus-fleet/common';
|
|
8
|
+
/** The step and notice content types (CC14, CC15), as common names them from its release after 0.35.0; they move to common's constants then. */
|
|
9
|
+
export const STEP_CONTENT_TYPE = 'application/vnd.aeolus.step+json';
|
|
10
|
+
export const NOTICE_CONTENT_TYPE = 'application/vnd.aeolus.notice+json';
|
|
11
|
+
const JOBS = new Map([
|
|
12
|
+
[QUESTION_CONTENT_TYPE, 'decide'],
|
|
13
|
+
// A replacement asks its new question: it is a new item to decide (Bridge, section 9).
|
|
14
|
+
[REPLACEMENT_CONTENT_TYPE, 'decide'],
|
|
15
|
+
[STEP_CONTENT_TYPE, 'do'],
|
|
16
|
+
[ALERT_CONTENT_TYPE, 'stay-aware'],
|
|
17
|
+
[NOTICE_CONTENT_TYPE, 'stay-aware'],
|
|
18
|
+
]);
|
|
19
|
+
/** A content type's essence: media types compare without case and without their parameters (RFC 9110). */
|
|
20
|
+
export function essenceOf(contentType) {
|
|
21
|
+
const [essence = ''] = contentType.split(';');
|
|
22
|
+
return essence.trim().toLowerCase();
|
|
23
|
+
}
|
|
24
|
+
export function jobOf(contentType) {
|
|
25
|
+
return JOBS.get(essenceOf(contentType)) ?? 'everything-else';
|
|
26
|
+
}
|
|
27
|
+
/** Whether an item of the job is in what waits and its count, until done. */
|
|
28
|
+
export function isCounted(job) {
|
|
29
|
+
switch (job) {
|
|
30
|
+
case 'decide':
|
|
31
|
+
case 'do':
|
|
32
|
+
return true;
|
|
33
|
+
case 'stay-aware':
|
|
34
|
+
case 'everything-else':
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=item-job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-job.js","sourceRoot":"","sources":["../../../src/core/people/item-job.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE3G,gJAAgJ;AAChJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AAIxE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAkB;IACpC,CAAC,qBAAqB,EAAE,QAAQ,CAAC;IACjC,uFAAuF;IACvF,CAAC,wBAAwB,EAAE,QAAQ,CAAC;IACpC,CAAC,iBAAiB,EAAE,IAAI,CAAC;IACzB,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAClC,CAAC,mBAAmB,EAAE,YAAY,CAAC;CACpC,CAAC,CAAC;AAEH,0GAA0G;AAC1G,MAAM,UAAU,SAAS,CAAC,WAAmB;IAC3C,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,WAAmB;IACvC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,iBAAiB,CAAC;AAC/D,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,GAAY;IACpC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,OAAO,IAAI,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What came of an item and where (docs/design/bridge, CC4): the gateway
|
|
3
|
+
* keeps it when the person acts on a delivery to their person ship, since
|
|
4
|
+
* core's record keeps the delivery's state but not the place nor the answer.
|
|
5
|
+
* The first outcome kept for a delivery stays: one answer per question.
|
|
6
|
+
*/
|
|
7
|
+
import type { DeliveryId, FleetId, ShipId } from '@aeolus-fleet/common';
|
|
8
|
+
/** Where the person acted: Bridge, a chat (an MCP client of the gateway), or Slack; or the gateway, which saw a step of its own complete (CC14). */
|
|
9
|
+
export type Place = 'bridge' | 'chat' | 'slack' | 'gateway';
|
|
10
|
+
/**
|
|
11
|
+
* What the person did: saw it, answered it (with the option they picked, if
|
|
12
|
+
* any), or marked it done, or a step that they cannot do it; saw a question its asker withdrew or replaced; or
|
|
13
|
+
* removed an answer from the basket the fleet refused, so it was not sent.
|
|
14
|
+
*/
|
|
15
|
+
export type OutcomeKind = 'seen' | 'answered' | 'done' | 'cannot' | 'withdrawn' | 'replaced' | 'notSent';
|
|
16
|
+
export interface ItemOutcome {
|
|
17
|
+
readonly fleetId: FleetId;
|
|
18
|
+
readonly shipId: ShipId;
|
|
19
|
+
readonly deliveryId: DeliveryId;
|
|
20
|
+
readonly place: Place;
|
|
21
|
+
readonly kind: OutcomeKind;
|
|
22
|
+
/** The option of a question the person answered with; none for a note alone or any other outcome. */
|
|
23
|
+
readonly option: number | null;
|
|
24
|
+
readonly at: Date;
|
|
25
|
+
}
|
|
26
|
+
/** Outbound port: the outcomes kept, by fleet, person ship and delivery. */
|
|
27
|
+
export interface ItemOutcomes {
|
|
28
|
+
/** Keeps it, unless an outcome of the delivery is kept already. */
|
|
29
|
+
save(outcome: ItemOutcome): Promise<void>;
|
|
30
|
+
/** The outcomes of these deliveries of the person ship that are kept. */
|
|
31
|
+
findMany(fleetId: FleetId, asked: {
|
|
32
|
+
shipId: ShipId;
|
|
33
|
+
deliveryIds: readonly DeliveryId[];
|
|
34
|
+
}): Promise<ItemOutcome[]>;
|
|
35
|
+
}
|
|
36
|
+
/** What came of an item and where, in words, as Bridge says it: such as Answered in Slack: option 2. */
|
|
37
|
+
export declare function outcomeTextOf(outcome: Pick<ItemOutcome, 'place' | 'kind' | 'option'>): string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const PLACES = {
|
|
2
|
+
bridge: 'in Bridge',
|
|
3
|
+
chat: 'in a chat',
|
|
4
|
+
slack: 'in Slack',
|
|
5
|
+
gateway: 'by the gateway',
|
|
6
|
+
};
|
|
7
|
+
const KINDS = {
|
|
8
|
+
seen: 'Seen',
|
|
9
|
+
answered: 'Answered',
|
|
10
|
+
done: 'Done',
|
|
11
|
+
cannot: 'Marked cannot',
|
|
12
|
+
withdrawn: 'Withdrawn by its asker, seen',
|
|
13
|
+
replaced: 'Replaced by its asker, seen',
|
|
14
|
+
notSent: 'Not sent, removed',
|
|
15
|
+
};
|
|
16
|
+
/** What came of an item and where, in words, as Bridge says it: such as Answered in Slack: option 2. */
|
|
17
|
+
export function outcomeTextOf(outcome) {
|
|
18
|
+
const said = `${KINDS[outcome.kind]} ${PLACES[outcome.place]}`;
|
|
19
|
+
return outcome.option === null ? said : `${said}: option ${String(outcome.option)}`;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=item-outcome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-outcome.js","sourceRoot":"","sources":["../../../src/core/people/item-outcome.ts"],"names":[],"mappings":"AAqCA,MAAM,MAAM,GAA0B;IACpC,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,gBAAgB;CAC1B,CAAC;AAEF,MAAM,KAAK,GAAgC;IACzC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,eAAe;IACvB,SAAS,EAAE,8BAA8B;IACzC,QAAQ,EAAE,6BAA6B;IACvC,OAAO,EAAE,mBAAmB;CAC7B,CAAC;AAEF,wGAAwG;AACxG,MAAM,UAAU,aAAa,CAAC,OAAuD;IACnF,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/D,OAAO,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An item's state (docs/design/bridge, section 6), from its delivery's state:
|
|
3
|
+
* new while the person has not acted on it, seen once they did in any place,
|
|
4
|
+
* and done once nothing more waits on them. A delivery the fleet ended
|
|
5
|
+
* without the person (not handled, undeliverable, dismissed or abandoned)
|
|
6
|
+
* waits on them no more either, so it is done.
|
|
7
|
+
*/
|
|
8
|
+
import type { DeliveryState } from '@aeolus-fleet/common';
|
|
9
|
+
export type ItemState = 'new' | 'seen' | 'done';
|
|
10
|
+
export declare function itemStateOf(state: DeliveryState): ItemState;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function itemStateOf(state) {
|
|
2
|
+
switch (state) {
|
|
3
|
+
case 'pending':
|
|
4
|
+
case 'received':
|
|
5
|
+
case 'handed':
|
|
6
|
+
return 'new';
|
|
7
|
+
case 'acknowledged':
|
|
8
|
+
return 'seen';
|
|
9
|
+
case 'handled':
|
|
10
|
+
case 'notHandled':
|
|
11
|
+
case 'undeliverable':
|
|
12
|
+
case 'dismissed':
|
|
13
|
+
case 'abandoned':
|
|
14
|
+
return 'done';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=item-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-state.js","sourceRoot":"","sources":["../../../src/core/people/item-state.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,WAAW,CAAC,KAAoB;IAC9C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;QACf,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,eAAe,CAAC;QACrB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1,30 +1,25 @@
|
|
|
1
1
|
import type { MeetingId } from '@aeolus-fleet/common';
|
|
2
|
-
import type { Clock } from '../shared/clock.js';
|
|
3
2
|
import { type DomainError } from '../shared/errors.js';
|
|
4
3
|
import { type Result } from '../shared/result.js';
|
|
5
|
-
import type { CrewPersonShip } from './crew-person-ship.js';
|
|
6
4
|
import { type InboxEntry } from './inbox-entry.js';
|
|
7
|
-
import { type PersonCaller, type PersonCrewError } from './person-crew.js';
|
|
8
|
-
import type {
|
|
9
|
-
|
|
5
|
+
import { type PersonCaller, type PersonCrewError, type PersonCrewToken } from './person-crew.js';
|
|
6
|
+
import type { Place } from './item-outcome.js';
|
|
7
|
+
import { type DealDeps } from './opened-of.js';
|
|
8
|
+
import type { OpenedDelivery, PersonDelivery } from './ports.js';
|
|
9
|
+
import { type Stale } from './stale-question.js';
|
|
10
|
+
/** A delivery as a person opens it: whole, with the meeting it belongs to, none outside a meeting, and stale once its asker withdrew or replaced the question it asks. */
|
|
10
11
|
export interface OpenedView extends InboxEntry {
|
|
11
12
|
readonly contentType: string;
|
|
12
13
|
readonly payload: string;
|
|
13
14
|
readonly meetingId: MeetingId | null;
|
|
15
|
+
readonly stale: Stale | null;
|
|
14
16
|
}
|
|
15
17
|
type OpenError = PersonCrewError | DomainError<'NO_SUCH_DELIVERY'>;
|
|
16
18
|
export type OpenDelivery = (input: {
|
|
17
19
|
caller: PersonCaller;
|
|
18
20
|
deliveryId: string;
|
|
21
|
+
place: Place;
|
|
19
22
|
}) => Promise<Result<OpenedView, OpenError>>;
|
|
20
|
-
interface OpenDeps {
|
|
21
|
-
crewPersonShip: CrewPersonShip;
|
|
22
|
-
crews: PersonCrews;
|
|
23
|
-
door: PersonShipDoor;
|
|
24
|
-
opened: OpenedDeliveries;
|
|
25
|
-
changes: InboxChanges;
|
|
26
|
-
clock: Clock;
|
|
27
|
-
}
|
|
28
23
|
/**
|
|
29
24
|
* Use case: a person opens one delivery that waits for their person ship
|
|
30
25
|
* (Q20). Opening is their own act, so the gateway, as the ship's crew,
|
|
@@ -34,6 +29,26 @@ interface OpenDeps {
|
|
|
34
29
|
* opened, from any client, opens again whole as the fleet reads it again,
|
|
35
30
|
* never from a copy, until they answer it or are done (aeolus-fleet #1046).
|
|
36
31
|
* Once acknowledged, the person's pages are told their inbox changed.
|
|
32
|
+
* Seeing an alert or a notice is all it asks (Bridge, CC16): it is reported
|
|
33
|
+
* handled at once, seen where the person saw it; one the fleet did not take
|
|
34
|
+
* handled for stays opened, and opening it again tries once more. So is
|
|
35
|
+
* looking at a question its asker withdrew or replaced (Bridge, section 9):
|
|
36
|
+
* it is shown stale and is done, withdrawn with its withdrawal, or replaced;
|
|
37
|
+
* the replacement is a new item that still waits. Opening a replacement is
|
|
38
|
+
* done with the question it replaces too.
|
|
39
|
+
*/
|
|
40
|
+
export declare function createOpenDelivery(deps: DealDeps): OpenDelivery;
|
|
41
|
+
/**
|
|
42
|
+
* The person looked at a delivery (Bridge, section 9): a question its asker
|
|
43
|
+
* withdrew is done as withdrawn, and its withdrawal as seen; one replaced is
|
|
44
|
+
* done as replaced. A replacement is done with the question it replaces.
|
|
45
|
+
* What the fleet does not take now waits for the next look.
|
|
37
46
|
*/
|
|
38
|
-
export declare function
|
|
47
|
+
export declare function doneIfStale(deps: DealDeps, look: {
|
|
48
|
+
caller: PersonCaller;
|
|
49
|
+
crew: PersonCrewToken;
|
|
50
|
+
looked: OpenedDelivery;
|
|
51
|
+
waiting: readonly PersonDelivery[];
|
|
52
|
+
place: Place;
|
|
53
|
+
}): Promise<Stale | null>;
|
|
39
54
|
export {};
|