@aeolus-fleet/gateway 0.36.1 → 0.36.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/fleet/active-ships.d.ts +8 -0
- package/dist/adapters/fleet/active-ships.js +22 -0
- package/dist/adapters/fleet/active-ships.js.map +1 -0
- package/dist/adapters/fleet/every-listed-ship.d.ts +21 -0
- package/dist/adapters/fleet/every-listed-ship.js +28 -0
- package/dist/adapters/fleet/every-listed-ship.js.map +1 -0
- package/dist/adapters/fleet/fleet-ships.d.ts +1 -3
- package/dist/adapters/fleet/fleet-ships.js +5 -22
- package/dist/adapters/fleet/fleet-ships.js.map +1 -1
- package/dist/adapters/fleet/rest-fleet-door.js +40 -6
- package/dist/adapters/fleet/rest-fleet-door.js.map +1 -1
- package/dist/adapters/http/party-sign-in-routes.d.ts +7 -0
- package/dist/adapters/http/party-sign-in-routes.js +18 -0
- package/dist/adapters/http/party-sign-in-routes.js.map +1 -1
- package/dist/adapters/http/person-tools.js +3 -2
- package/dist/adapters/http/person-tools.js.map +1 -1
- package/dist/adapters/http/slack-routes.d.ts +2 -0
- package/dist/adapters/http/slack-routes.js +12 -4
- package/dist/adapters/http/slack-routes.js.map +1 -1
- package/dist/adapters/mcp/mcp-servers.d.ts +8 -2
- package/dist/adapters/mcp/mcp-servers.js +8 -4
- package/dist/adapters/mcp/mcp-servers.js.map +1 -1
- package/dist/adapters/prisma/basket-entries.js +4 -2
- package/dist/adapters/prisma/basket-entries.js.map +1 -1
- package/dist/adapters/prisma/connected-chats.d.ts +4 -0
- package/dist/adapters/prisma/connected-chats.js +21 -0
- package/dist/adapters/prisma/connected-chats.js.map +1 -0
- package/dist/adapters/prisma/fleet-forgetter.js +1 -1
- package/dist/adapters/prisma/fleet-forgetter.js.map +1 -1
- package/dist/adapters/prisma/generated/browser.d.ts +6 -1
- package/dist/adapters/prisma/generated/client.d.ts +6 -1
- package/dist/adapters/prisma/generated/internal/class.d.ts +11 -0
- package/dist/adapters/prisma/generated/internal/class.js +4 -4
- package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +95 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js +19 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +19 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +19 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/adapters/prisma/generated/models/BasketEntry.d.ts +114 -18
- package/dist/adapters/prisma/generated/models/ItemOutcome.d.ts +91 -1
- package/dist/adapters/prisma/generated/models/OpenedDelivery.d.ts +95 -2
- package/dist/adapters/prisma/generated/models/Party.d.ts +32 -1
- package/dist/adapters/prisma/generated/models/SlackLinkStep.d.ts +1005 -0
- package/dist/adapters/prisma/generated/models/SlackLinkStep.js +2 -0
- package/dist/adapters/prisma/generated/models/SlackLinkStep.js.map +1 -0
- package/dist/adapters/prisma/generated/models.d.ts +1 -0
- package/dist/adapters/prisma/item-outcomes.d.ts +6 -1
- package/dist/adapters/prisma/item-outcomes.js +19 -3
- package/dist/adapters/prisma/item-outcomes.js.map +1 -1
- package/dist/adapters/prisma/opened-deliveries.js +5 -0
- package/dist/adapters/prisma/opened-deliveries.js.map +1 -1
- package/dist/adapters/prisma/party-store.js +4 -1
- package/dist/adapters/prisma/party-store.js.map +1 -1
- package/dist/adapters/prisma/slack-link-steps.d.ts +8 -0
- package/dist/adapters/prisma/slack-link-steps.js +28 -0
- package/dist/adapters/prisma/slack-link-steps.js.map +1 -0
- package/dist/adapters/prisma/slack-posts.js +4 -3
- package/dist/adapters/prisma/slack-posts.js.map +1 -1
- package/dist/adapters/slack/slack-messages.d.ts +2 -0
- package/dist/adapters/slack/slack-messages.js +124 -18
- package/dist/adapters/slack/slack-messages.js.map +1 -1
- package/dist/adapters/trpc/router.d.ts +54 -2
- package/dist/adapters/trpc/router.js +25 -1
- package/dist/adapters/trpc/router.js.map +1 -1
- package/dist/app.js +39 -13
- package/dist/app.js.map +1 -1
- package/dist/core/mcp-out/grant-calls.js +1 -1
- package/dist/core/mcp-out/grant-calls.js.map +1 -1
- package/dist/core/mcp-out/hand-call.js +1 -1
- package/dist/core/mcp-out/hand-call.js.map +1 -1
- package/dist/core/mcp-out/keep-server-title.d.ts +13 -0
- package/dist/core/mcp-out/keep-server-title.js +14 -0
- package/dist/core/mcp-out/keep-server-title.js.map +1 -0
- package/dist/core/mcp-out/ports.d.ts +10 -0
- package/dist/core/parties/approve-party.js +1 -1
- package/dist/core/parties/approve-party.js.map +1 -1
- package/dist/core/parties/party.d.ts +2 -0
- package/dist/core/parties/party.js.map +1 -1
- package/dist/core/parties/ports.d.ts +5 -0
- package/dist/core/party-grants/listing-connection.js +2 -2
- package/dist/core/party-grants/listing-connection.js.map +1 -1
- package/dist/core/party-grants/tell-sign-in-needed.d.ts +2 -0
- package/dist/core/party-grants/tell-sign-in-needed.js +16 -4
- package/dist/core/party-grants/tell-sign-in-needed.js.map +1 -1
- package/dist/core/people/act-in-place.d.ts +42 -0
- package/dist/core/people/act-in-place.js +26 -0
- package/dist/core/people/act-in-place.js.map +1 -0
- package/dist/core/people/answer-delivery.js +13 -1
- package/dist/core/people/answer-delivery.js.map +1 -1
- package/dist/core/people/basket.d.ts +32 -10
- package/dist/core/people/basket.js +24 -6
- package/dist/core/people/basket.js.map +1 -1
- package/dist/core/people/count-basket.d.ts +4 -3
- package/dist/core/people/count-basket.js +9 -3
- package/dist/core/people/count-basket.js.map +1 -1
- package/dist/core/people/done-delivery.js +1 -1
- package/dist/core/people/done-delivery.js.map +1 -1
- package/dist/core/people/finish-own-step.js +2 -2
- package/dist/core/people/finish-own-step.js.map +1 -1
- package/dist/core/people/inbox-entry.d.ts +17 -1
- package/dist/core/people/inbox-entry.js +28 -1
- package/dist/core/people/inbox-entry.js.map +1 -1
- package/dist/core/people/item-job.d.ts +3 -1
- package/dist/core/people/item-job.js +5 -1
- package/dist/core/people/item-job.js.map +1 -1
- package/dist/core/people/item-outcome.d.ts +21 -2
- package/dist/core/people/item-outcome.js.map +1 -1
- package/dist/core/people/item-places.d.ts +26 -0
- package/dist/core/people/item-places.js +12 -0
- package/dist/core/people/item-places.js.map +1 -0
- package/dist/core/people/open-delivery.d.ts +6 -6
- package/dist/core/people/open-delivery.js +13 -10
- package/dist/core/people/open-delivery.js.map +1 -1
- package/dist/core/people/opened-of.d.ts +5 -1
- package/dist/core/people/opened-of.js +5 -1
- package/dist/core/people/opened-of.js.map +1 -1
- package/dist/core/people/ports.d.ts +40 -3
- package/dist/core/people/put-in-basket.d.ts +8 -6
- package/dist/core/people/put-in-basket.js +16 -5
- package/dist/core/people/put-in-basket.js.map +1 -1
- package/dist/core/people/read-basket.d.ts +8 -3
- package/dist/core/people/read-basket.js +8 -10
- package/dist/core/people/read-basket.js.map +1 -1
- package/dist/core/people/read-bridge-home.d.ts +39 -11
- package/dist/core/people/read-bridge-home.js +74 -12
- package/dist/core/people/read-bridge-home.js.map +1 -1
- package/dist/core/people/read-chats.d.ts +21 -0
- package/dist/core/people/read-chats.js +20 -0
- package/dist/core/people/read-chats.js.map +1 -0
- package/dist/core/people/read-inbox.d.ts +19 -9
- package/dist/core/people/read-inbox.js +57 -15
- package/dist/core/people/read-inbox.js.map +1 -1
- package/dist/core/people/read-record.d.ts +37 -11
- package/dist/core/people/read-record.js +44 -12
- package/dist/core/people/read-record.js.map +1 -1
- package/dist/core/people/read-send-to.d.ts +23 -0
- package/dist/core/people/read-send-to.js +37 -0
- package/dist/core/people/read-send-to.js.map +1 -0
- package/dist/core/people/read-your-fleet.d.ts +19 -0
- package/dist/core/people/read-your-fleet.js +22 -0
- package/dist/core/people/read-your-fleet.js.map +1 -0
- package/dist/core/people/remove-from-basket.d.ts +2 -1
- package/dist/core/people/remove-from-basket.js +4 -1
- package/dist/core/people/remove-from-basket.js.map +1 -1
- package/dist/core/people/routing.d.ts +13 -4
- package/dist/core/people/routing.js +14 -0
- package/dist/core/people/routing.js.map +1 -1
- package/dist/core/people/send-basket.d.ts +11 -7
- package/dist/core/people/send-basket.js +68 -11
- package/dist/core/people/send-basket.js.map +1 -1
- package/dist/core/people/send-message.d.ts +3 -1
- package/dist/core/people/send-message.js +9 -2
- package/dist/core/people/send-message.js.map +1 -1
- package/dist/core/people/send-stored-answers.d.ts +4 -3
- package/dist/core/people/send-stored-answers.js +62 -12
- package/dist/core/people/send-stored-answers.js.map +1 -1
- package/dist/core/people/stale-item.d.ts +40 -0
- package/dist/core/people/stale-item.js +36 -0
- package/dist/core/people/stale-item.js.map +1 -0
- package/dist/core/people/wake-person.d.ts +3 -1
- package/dist/core/people/wake-person.js +4 -2
- package/dist/core/people/wake-person.js.map +1 -1
- package/dist/core/people/your-fleet.d.ts +44 -0
- package/dist/core/people/your-fleet.js +64 -0
- package/dist/core/people/your-fleet.js.map +1 -0
- package/dist/core/slack/answer-in-slack.d.ts +15 -9
- package/dist/core/slack/answer-in-slack.js +43 -18
- package/dist/core/slack/answer-in-slack.js.map +1 -1
- package/dist/core/slack/ask-to-link-slack.d.ts +28 -0
- package/dist/core/slack/ask-to-link-slack.js +31 -0
- package/dist/core/slack/ask-to-link-slack.js.map +1 -0
- package/dist/core/slack/complete-link.d.ts +6 -1
- package/dist/core/slack/complete-link.js +6 -0
- package/dist/core/slack/complete-link.js.map +1 -1
- package/dist/core/slack/done-in-slack.d.ts +36 -0
- package/dist/core/slack/done-in-slack.js +63 -0
- package/dist/core/slack/done-in-slack.js.map +1 -0
- package/dist/core/slack/edit-slack-posts.d.ts +7 -5
- package/dist/core/slack/edit-slack-posts.js +13 -10
- package/dist/core/slack/edit-slack-posts.js.map +1 -1
- package/dist/core/slack/edited-post-of.d.ts +19 -0
- package/dist/core/slack/edited-post-of.js +77 -0
- package/dist/core/slack/edited-post-of.js.map +1 -0
- package/dist/core/slack/ports.d.ts +68 -10
- package/dist/core/slack/pressed-post-of.d.ts +9 -0
- package/dist/core/slack/pressed-post-of.js +18 -0
- package/dist/core/slack/pressed-post-of.js.map +1 -0
- package/dist/core/slack/read-slack-dropped-out.d.ts +23 -0
- package/dist/core/slack/read-slack-dropped-out.js +24 -0
- package/dist/core/slack/read-slack-dropped-out.js.map +1 -0
- package/dist/core/slack/read-slack-link.d.ts +4 -0
- package/dist/core/slack/read-slack-link.js +5 -0
- package/dist/core/slack/read-slack-link.js.map +1 -1
- package/dist/core/slack/show-in-slack.js +8 -7
- package/dist/core/slack/show-in-slack.js.map +1 -1
- package/dist/core/slack/slack-post-of.d.ts +24 -12
- package/dist/core/slack/slack-post-of.js +118 -37
- package/dist/core/slack/slack-post-of.js.map +1 -1
- package/dist/core/slack/slack-post.d.ts +13 -1
- package/dist/core/slack/slack-post.js +16 -1
- package/dist/core/slack/slack-post.js.map +1 -1
- package/dist/core/slack/slack-press.d.ts +1 -1
- package/dist/core/slack/slack-press.js +2 -1
- package/dist/core/slack/slack-press.js.map +1 -1
- package/package.json +2 -1
- package/src/adapters/prisma/migrations/20261104090000_basket_entries_note_alone/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261105090000_slack_link_steps/migration.sql +10 -0
- package/src/adapters/prisma/migrations/20261106090000_opened_deliveries_withdrawn_steps/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261107090000_opened_deliveries_step_link/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261107100000_opened_deliveries_opened_in/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261108090000_item_outcomes_note_and_seen/migration.sql +4 -0
- package/src/adapters/prisma/migrations/20261108090000_parties_display_name/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261109090000_basket_entries_option_label/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261109100000_basket_entries_sent/migration.sql +3 -0
- package/src/adapters/prisma/migrations/20261110090000_connected_chats_indexes/migration.sql +5 -0
- package/src/adapters/prisma/schema.prisma +41 -6
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +10 -8
- package/web/.next/build-manifest.json +114 -90
- package/web/.next/diagnostics/route-bundle-stats.json +264 -206
- package/web/.next/fallback-build-manifest.json +3 -3
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/routes-manifest.json +12 -0
- package/web/.next/server/app/(bridge)/bridge/basket/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/basket/page/build-manifest.json +4 -4
- package/web/.next/server/app/{(console) → (bridge)}/bridge/basket/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/basket/page/server-reference-manifest.json +105 -0
- package/web/.next/server/app/{(console)/bridge/settings/requests/[requestId] → (bridge)/bridge/basket}/page.js +14 -13
- package/web/.next/server/app/(bridge)/bridge/basket/page.js.nft.json +1 -0
- package/web/.next/server/app/(bridge)/bridge/basket/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/changes/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/changes/route.js +8 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/changes/route.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/changes/route_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/done/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page/build-manifest.json +4 -4
- package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/done/page/server-reference-manifest.json +25 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page.js +15 -14
- package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/done/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/fleet/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge/fleet}/page/build-manifest.json +4 -4
- package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge/fleet}/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge/fleet}/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/(bridge)/bridge/fleet/page.js +24 -0
- package/web/.next/server/app/{(console)/bridge/basket → (bridge)/bridge/fleet}/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/fleet/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/focus/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/focus/route.js +8 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/focus/route.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/focus/route_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/page/build-manifest.json +4 -4
- package/web/.next/server/app/{(console) → (bridge)}/bridge/page/next-font-manifest.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/page/server-reference-manifest.json +95 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/page.js +16 -14
- package/web/.next/server/app/{(console) → (bridge)}/bridge/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/page/build-manifest.json +23 -0
- package/web/.next/server/app/(bridge)/bridge/settings/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(bridge)/bridge/settings/page/server-reference-manifest.json +15 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/page.js +13 -12
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/settings/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page/build-manifest.json +23 -0
- package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/requests/[requestId]/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page.js +26 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/requests/[requestId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/settings/requests/[requestId]/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page/build-manifest.json +23 -0
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/routing/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/routing/page.js +15 -14
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page.js.map +5 -0
- package/web/.next/server/app/{(console) → (bridge)}/bridge/settings/routing/page.js.nft.json +1 -1
- package/web/.next/server/app/(bridge)/bridge/settings/routing/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page/build-manifest.json +23 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page/server-reference-manifest.json +95 -0
- package/web/.next/server/app/{(console)/bridge/basket → (bridge)/bridge/stay-aware}/page.js +15 -14
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page.js.map +5 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page.js.nft.json +1 -0
- package/web/.next/server/app/(bridge)/bridge/stay-aware/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/gateway-off/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/gateway-off/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/(console)/gateway-off/page.js +2 -2
- package/web/.next/server/app/(console)/gateway-off/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/gateway-off/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/(console)/meetings/[meetingId]/page.js +2 -2
- package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/meetings/[meetingId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/server-reference-manifest.json +16 -16
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js +2 -2
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/(console)/outside-parties/[name]/page.js +2 -2
- package/web/.next/server/app/(console)/outside-parties/[name]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/server-reference-manifest.json +16 -16
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js +2 -2
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/add/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/outside-parties/add/page.js +2 -2
- package/web/.next/server/app/(console)/outside-parties/add/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/outside-parties/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/page.js +2 -2
- package/web/.next/server/app/(console)/outside-parties/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/parties/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/parties/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/(console)/parties/page.js +2 -2
- package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/sign-in/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page.js +2 -2
- package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/disconnect/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/disconnect/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/disconnect/page.js +2 -2
- package/web/.next/server/app/(console)/slack/disconnect/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/disconnect/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/expose/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/expose/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/expose/page.js +2 -2
- package/web/.next/server/app/(console)/slack/expose/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/expose/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/link/route.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/page.js +2 -2
- package/web/.next/server/app/(console)/slack/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/remove/page/build-manifest.json +4 -4
- package/web/.next/server/app/(console)/slack/remove/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/remove/page.js +4 -4
- package/web/.next/server/app/(console)/slack/remove/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/remove/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/build-manifest.json +4 -4
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/_not-found/page.js +2 -2
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/apple-icon.png/route.js.nft.json +1 -1
- package/web/.next/server/app/authorize/failed/page/build-manifest.json +4 -4
- package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/failed/page.js +3 -2
- package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/pick/page/build-manifest.json +4 -4
- package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/pick/page.js +7 -5
- package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page/build-manifest.json +4 -4
- package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page.js +3 -2
- package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/icon.svg/route.js.nft.json +1 -1
- package/web/.next/server/app-paths-manifest.json +10 -8
- package/web/.next/server/chunks/0b9d__next-internal_server_app_(bridge)_bridge_changes_route_actions_0wd1c_8tnx6-f.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__1j0sdz18lzulo._.js +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__1o2xxi_001xql._.js +2 -2
- package/web/.next/server/chunks/_0up_7s_05-7vm._.js +3 -0
- package/web/.next/server/chunks/_0up_7s_05-7vm._.js.map +1 -0
- package/web/.next/server/chunks/_0xw0b7avhvg75._.js +1 -1
- package/web/.next/server/chunks/_1w2t6c0hpdsrn._.js +1 -1
- package/web/.next/server/chunks/_1xaed_q500ez6._.js +3 -0
- package/web/.next/server/chunks/_1xaed_q500ez6._.js.map +1 -0
- package/web/.next/server/chunks/_20ne4s-e_jzxp._.js +1 -1
- package/web/.next/server/chunks/_20ne4s-e_jzxp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/01fr_app_(bridge)_bridge_settings_requests_[requestId]_page_actions_0o8g7_xshtmem.js +3 -0
- package/web/.next/server/chunks/ssr/01fr_app_(bridge)_bridge_settings_requests_[requestId]_page_actions_0o8g7_xshtmem.js.map +1 -0
- package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js +3 -0
- package/web/.next/server/chunks/ssr/0b9d__next-internal_server_app_(bridge)_bridge_stay-aware_page_actions_1u0xo0v3y9c34.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_bridge_settings_routing_page_actions_06_j7s24dy5ee.js +3 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(bridge)_bridge_settings_routing_page_actions_06_j7s24dy5ee.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__1yyaeeylnezpi._.js → [root-of-the-server]__04_bc8g0oe4jt._.js} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a6a1yc_ac-qt._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a8db18tyk__5._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a8db18tyk__5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0e4l5gt01o04p._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0e4l5gt01o04p._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0gptrhg3mj4hs._.js +57 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0gptrhg3mj4hs._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0kjcooo3pi4_k._.js +57 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0kjcooo3pi4_k._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rmg7huc074bf._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rmg7huc074bf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13v3maun347sn._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13v3maun347sn._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__0gnfxe62edx95._.js → [root-of-the-server]__179upda-y7uap._.js} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1hgu6f5hpnykv._.js +57 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1hgu6f5hpnykv._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1j6n8jj7-5t6v._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1j6n8jj7-5t6v._.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]__1qtzvez4cn5be._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1qtzvez4cn5be._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1ul9rrs2g66lm._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1ul9rrs2g66lm._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__20gvfqy33wcds._.js +57 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__20gvfqy33wcds._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
- package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js +2 -2
- package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0cnpz5jm2_9xf._.js +3 -0
- package/web/.next/server/chunks/ssr/_0cnpz5jm2_9xf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0f7ucdt7bfmun._.js +3 -0
- package/web/.next/server/chunks/ssr/_0f7ucdt7bfmun._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js +1 -1
- package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0kk7op86em7z2._.js +3 -0
- package/web/.next/server/chunks/ssr/_0kk7op86em7z2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0oekmfmigr0qv._.js +3 -0
- package/web/.next/server/chunks/ssr/_0oekmfmigr0qv._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0pirspvjp3ggl._.js +3 -0
- package/web/.next/server/chunks/ssr/_0pirspvjp3ggl._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js +1 -1
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0v_x6k3ztfvx0._.js +3 -0
- package/web/.next/server/chunks/ssr/_0v_x6k3ztfvx0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0vid8-myyy-_4._.js +3 -0
- package/web/.next/server/chunks/ssr/_0vid8-myyy-_4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0y5eahpucp8g_._.js +3 -0
- package/web/.next/server/chunks/ssr/_0y5eahpucp8g_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_13fbnlwrl24s3._.js +3 -0
- package/web/.next/server/chunks/ssr/_13fbnlwrl24s3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_14k1oldo5chf8._.js +3 -0
- package/web/.next/server/chunks/ssr/_14k1oldo5chf8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_15whg3fd67b9x._.js +3 -0
- package/web/.next/server/chunks/ssr/_15whg3fd67b9x._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_17zzluh48wsdb._.js +3 -0
- package/web/.next/server/chunks/ssr/_17zzluh48wsdb._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_18xv7kh7i655_._.js +3 -0
- package/web/.next/server/chunks/ssr/_18xv7kh7i655_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js +1 -1
- package/web/.next/server/chunks/ssr/_1_ym4hwge_4r0._.js +3 -0
- package/web/.next/server/chunks/ssr/_1_ym4hwge_4r0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1a9wrl8uw7x-y._.js +3 -0
- package/web/.next/server/chunks/ssr/_1a9wrl8uw7x-y._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_1hmjvjuxx92vo._.js → _1airu8wwf7z1b._.js} +2 -2
- package/web/.next/server/chunks/ssr/_1airu8wwf7z1b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1e2o809f0ekry._.js +1 -1
- package/web/.next/server/chunks/ssr/{_0a_nsm-ye2r6v._.js → _1gbkqq8ra1nei._.js} +2 -2
- package/web/.next/server/chunks/ssr/_1gbkqq8ra1nei._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1i5zdy3tp2ykh._.js +3 -0
- package/web/.next/server/chunks/ssr/_1i5zdy3tp2ykh._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1i8ofnr1a5yle._.js +3 -0
- package/web/.next/server/chunks/ssr/_1i8ofnr1a5yle._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1iorutn_o9hja._.js +3 -0
- package/web/.next/server/chunks/ssr/_1iorutn_o9hja._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1kdx8a0j5cxyl._.js +3 -0
- package/web/.next/server/chunks/ssr/_1kdx8a0j5cxyl._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1mg5oon0wpocg._.js +3 -0
- package/web/.next/server/chunks/ssr/_1mg5oon0wpocg._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1pp0z5srqqqyl._.js +3 -0
- package/web/.next/server/chunks/ssr/_1pp0z5srqqqyl._.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/_1rfpx4ze-3l8z._.js +3 -0
- package/web/.next/server/chunks/ssr/{web_features_0mi9a9pdzkdji._.js.map → _1rfpx4ze-3l8z._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_1t74yvog5g6g2._.js +3 -0
- package/web/.next/server/chunks/ssr/_1t74yvog5g6g2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1ve-ao6odintc._.js +3 -0
- package/web/.next/server/chunks/ssr/_1ve-ao6odintc._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1xuikhitica6p._.js +3 -0
- package/web/.next/server/chunks/ssr/_1xuikhitica6p._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1zmd3armaxhyu._.js +4 -0
- package/web/.next/server/chunks/ssr/_1zmd3armaxhyu._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_0489ke-80obwd._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0489ke-80obwd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_0gpbs01t1c_a4._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0gpbs01t1c_a4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_0ue_35q2cegwf._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0ue_35q2cegwf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_0zgrzr0ui3gi8._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0zgrzr0ui3gi8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_174jf4d4t_bo_._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_174jf4d4t_bo_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_1qxtjrbc2-6xd._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_1qxtjrbc2-6xd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_0t_cmi-llaq7g._.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_0t_cmi-llaq7g._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_app-switcher_08qq5-uxv7jii.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_app-switcher_08qq5-uxv7jii.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_class-names_1h5pbm2ucssiq.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_class-names_1h5pbm2ucssiq.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_0jlwmxa9rk8p_._.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_0jlwmxa9rk8p_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_19e_nxxf4a88q._.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_19e_nxxf4a88q._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_1cvjxnw-b3pnv._.js +3 -0
- package/web/.next/server/chunks/ssr/{node_modules_@base-ui_react_1lbvjrzg8s2ox._.js.map → node_modules_@base-ui_react_1cvjxnw-b3pnv._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_toast_index_parts_mjs_20gwon7142aop._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_toast_index_parts_mjs_20gwon7142aop._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bell_mjs_1sxms6d0wfxa2._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bell_mjs_1sxms6d0wfxa2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_search_mjs_047mxu6_po4kl._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_search_mjs_047mxu6_po4kl._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_08hq6z46rczo0._.js +2 -2
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +2 -2
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0g15rgn4n-oiz.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0g15rgn4n-oiz.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0hzwtyh-646p2.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0hzwtyh-646p2.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mm8dt8tws1fz.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mm8dt8tws1fz.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0tcy7phl8a4gj.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0tcy7phl8a4gj.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ynno0usi0bwx.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11x159_oszki3.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11x159_oszki3.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_128zox167vtjm.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_128zox167vtjm.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dltrn6ii5dd6.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dltrn6ii5dd6.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1hm1iu016c1fy.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1hm1iu016c1fy.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1zaoeyy4_vir_.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1zaoeyy4_vir_.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0_peudz6-o69m._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0_peudz6-o69m._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0cxcy088wnfmw._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0cxcy088wnfmw._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0oz8bypfxh82g._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0oz8bypfxh82g._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0pk41f5m34jvi._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0pk41f5m34jvi._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js +1 -1
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_1fi1x3y7rg7mf._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1fi1x3y7rg7mf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_1irsulms62lzf._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1irsulms62lzf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_1k2rrq-kr6f9k._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1k2rrq-kr6f9k._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_1qvxzqmq4aw94._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1qvxzqmq4aw94._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_basket_page_actions_0g7q_rc5nma1e.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_basket_page_actions_0g7q_rc5nma1e.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_done_page_actions_0kjm34arntdzv.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_done_page_actions_0kjm34arntdzv.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_page_actions_1ok64rg3edm_u.js +3 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(bridge)_bridge_page_actions_1ok64rg3edm_u.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_app_(console)_bridge_error_tsx_10gkrn3ey8162._.js → web_app_(bridge)_bridge_error_tsx_0-142o0iqsh3j._.js} +2 -2
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_error_tsx_0-142o0iqsh3j._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_error_tsx_1m86qyp1bl9pi._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_error_tsx_1m86qyp1bl9pi._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_fleet_page_tsx_0uvtx8hiy8g0n._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_fleet_page_tsx_0uvtx8hiy8g0n._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_settings_page_tsx_1z5yr8ss25q7n._.js +3 -0
- package/web/.next/server/chunks/ssr/web_app_(bridge)_bridge_settings_page_tsx_1z5yr8ss25q7n._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_features_0f6r-m-dq36vf._.js → web_features_025l9l6m2zkya._.js} +2 -2
- package/web/.next/server/chunks/ssr/{web_features_0f6r-m-dq36vf._.js.map → web_features_025l9l6m2zkya._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/web_features_05aos-xwnl3m_._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_05aos-xwnl3m_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_0bwqcs9wjf4y8._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_0bwqcs9wjf4y8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{web_features_0d48z2epb6oie._.js → web_features_0f2pobf_t4wjt._.js} +2 -2
- package/web/.next/server/chunks/ssr/{web_features_0d48z2epb6oie._.js.map → web_features_0f2pobf_t4wjt._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/web_features_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_0w95y19yk5w14._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_0w95y19yk5w14._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_1mi9qlb-z5iwt._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_1mi9qlb-z5iwt._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_fleet_ui_fleet-numbers_tsx_0_afv4j248_w-._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_fleet_ui_fleet-numbers_tsx_0_afv4j248_w-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_hooks_bridge-actions_ts_0h-_xm2rcb-ij._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_basket-panel_tsx_1qi_kzld0rfgs._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_decision-panel_tsx_1mzsixgc8zuxc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_done-panel_tsx_1m844-qb1z9p_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_home-panel_tsx_1cc5zdhxogl_2._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_home-panel_tsx_1cc5zdhxogl_2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_1y4g3fe75nqn5._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_1y4g3fe75nqn5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_item-row_tsx_0c_a8wjzwsr7j._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_bridge_ui_item-row_tsx_0c_a8wjzwsr7j._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_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_paths_ts_0vbj9elyqekpp._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_outside-parties_paths_ts_0vbj9elyqekpp._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_slack_actions_ts_1l3yg9vl20_vu._.js +1 -1
- package/web/.next/server/chunks/web__next-internal_server_app_(bridge)_bridge_focus_route_actions_0fx2vmqfq23mq.js +3 -0
- package/web/.next/server/middleware-build-manifest.js +114 -90
- package/web/.next/server/next-font-manifest.js +1 -1
- package/web/.next/server/next-font-manifest.json +14 -6
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/preview-props.json +3 -3
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +165 -103
- package/web/.next/static/chunks/{2z2auwx1s2mgl.js → 0k33n07zesv12.js} +1 -1
- package/web/.next/static/chunks/0ozz8jadgfdrx.js +1 -0
- package/web/.next/static/chunks/{1166rxt6h6ilq.js → 1c8q9h-van9r6.js} +1 -1
- package/web/.next/static/chunks/1nzfw6ajt5nf9.js +55 -0
- package/web/.next/static/chunks/1uhmdmkn5gsk2.js +1 -0
- package/web/.next/static/chunks/1v36iovy1f5cj.js +1 -0
- package/web/.next/static/chunks/1vhvy8bx4fxur.js +1 -0
- package/web/.next/static/chunks/1vhx_nu9nxo1v.js +1 -0
- package/web/.next/static/chunks/{3db90zxmny2y-.js → 23vvtbj-zoa_f.js} +1 -1
- package/web/.next/static/chunks/24vn5i6ojvl8l.js +1 -0
- package/web/.next/static/chunks/2dgbb29jkr_tu.js +1 -0
- package/web/.next/static/chunks/2ewacyhp73due.js +1 -0
- package/web/.next/static/chunks/2fimf0wcjnmpj.js +1 -0
- package/web/.next/static/chunks/2fk9ydkphmyna.js +1 -0
- package/web/.next/static/chunks/2l6hafvocw-rd.js +1 -0
- package/web/.next/static/chunks/2ld8_nap7g_uy.js +1 -0
- package/web/.next/static/chunks/2mpwg-t6pat39.js +1 -0
- package/web/.next/static/chunks/2pvcbql986wln.js +1 -0
- package/web/.next/static/chunks/2s1efgj6gxjgl.js +1 -0
- package/web/.next/static/chunks/2zlx-c_0x38uo.css +3 -0
- package/web/.next/static/chunks/34u_331hqync_.js +1 -0
- package/web/.next/static/chunks/39tst46ewpx_k.js +1 -0
- package/web/.next/static/chunks/{3x0p-z3zdrk_b.js → 3_bb0g4jkqn8q.js} +1 -1
- package/web/.next/static/chunks/3d5z1i-6yksxd.js +1 -0
- package/web/.next/static/chunks/3jq9vu8tr29j2.js +1 -0
- package/web/.next/static/chunks/3kenmp9pjwgf2.js +1 -0
- package/web/.next/static/chunks/3knqujtrdi225.js +1 -0
- package/web/.next/static/chunks/{0lzisjsmhlhjf.js → 3zhaqdsq15d1e.js} +1 -1
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/types/routes.d.ts +3 -1
- package/web/.next/types/validator.ts +50 -16
- package/dist/core/people/stale-question.d.ts +0 -28
- package/dist/core/people/stale-question.js +0 -26
- package/dist/core/people/stale-question.js.map +0 -1
- package/web/.next/server/app/(console)/bridge/basket/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/basket/page/server-reference-manifest.json +0 -75
- package/web/.next/server/app/(console)/bridge/basket/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/changes/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/changes/route.js +0 -8
- package/web/.next/server/app/(console)/bridge/changes/route_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/done/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/done/page/server-reference-manifest.json +0 -75
- package/web/.next/server/app/(console)/bridge/done/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/focus/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/focus/route.js +0 -8
- package/web/.next/server/app/(console)/bridge/focus/route_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/page/server-reference-manifest.json +0 -65
- package/web/.next/server/app/(console)/bridge/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/settings/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/settings/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/build-manifest.json +0 -23
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page/next-font-manifest.json +0 -11
- package/web/.next/server/app/(console)/bridge/settings/requests/[requestId]/page_client-reference-manifest.js +0 -3
- package/web/.next/server/app/(console)/bridge/settings/routing/page/app-paths-manifest.json +0 -3
- package/web/.next/server/app/(console)/bridge/settings/routing/page/build-manifest.json +0 -23
- package/web/.next/server/app/(console)/bridge/settings/routing/page/next-font-manifest.json +0 -11
- package/web/.next/server/app/(console)/bridge/settings/routing/page_client-reference-manifest.js +0 -3
- package/web/.next/server/chunks/0b9d__next-internal_server_app_(console)_bridge_changes_route_actions_0hj8aqohz6bu6.js +0 -3
- package/web/.next/server/chunks/_05qgg3__4kdbm._.js +0 -3
- package/web/.next/server/chunks/_05qgg3__4kdbm._.js.map +0 -1
- package/web/.next/server/chunks/_1uap5tql2vvsb._.js +0 -3
- package/web/.next/server/chunks/_1uap5tql2vvsb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/01fr_app_(console)_bridge_settings_requests_[requestId]_page_actions_1au-p5lgnv5e-.js +0 -3
- package/web/.next/server/chunks/ssr/01fr_app_(console)_bridge_settings_requests_[requestId]_page_actions_1au-p5lgnv5e-.js.map +0 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_bridge_settings_routing_page_actions_136lm_jip4d_x.js +0 -3
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_bridge_settings_routing_page_actions_136lm_jip4d_x.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00jy4lqrcvxvc._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00jy4lqrcvxvc._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-5_al3xk509._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-5_al3xk509._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18v7b5ga58a9n._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18v7b5ga58a9n._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1nxy_j9eswr3i._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1nxy_j9eswr3i._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rf344o33bmi4._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rf344o33bmi4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0a_nsm-ye2r6v._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0h-ua-y4p4u1p._.js +0 -3
- package/web/.next/server/chunks/ssr/_0h-ua-y4p4u1p._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_10-gn6g9yc63s._.js +0 -3
- package/web/.next/server/chunks/ssr/_10-gn6g9yc63s._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_12fsn_33ga-n0._.js +0 -3
- package/web/.next/server/chunks/ssr/_12fsn_33ga-n0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_177fdczus39s7._.js +0 -3
- package/web/.next/server/chunks/ssr/_177fdczus39s7._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1jx41z6kmxtt0._.js +0 -3
- package/web/.next/server/chunks/ssr/_1jx41z6kmxtt0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1q2s-hb67yjfb._.js +0 -3
- package/web/.next/server/chunks/ssr/_1q2s-hb67yjfb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1yi3j4a16uet-._.js +0 -3
- package/web/.next/server/chunks/ssr/_1yi3j4a16uet-._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_01oyodz1bs245._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_01oyodz1bs245._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_16d4um5s513wz._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_16d4um5s513wz._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_1lbvjrzg8s2ox._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0hkpfqt9ne626._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0hkpfqt9ne626._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_031g89sb4kgzn.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_031g89sb4kgzn.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09rviehv6rh0n.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09rviehv6rh0n.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ka8v6_fxug8r.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ka8v6_fxug8r.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1c8zekuy1gkch.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1c8zekuy1gkch.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dhzng2nnu0m7.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dhzng2nnu0m7.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1rya2ag3z4vug.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1rya2ag3z4vug.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_0i_1uraygw2ld._.js +0 -3
- package/web/.next/server/chunks/ssr/web_0i_1uraygw2ld._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_0wz4onhfbq359._.js +0 -3
- package/web/.next/server/chunks/ssr/web_0wz4onhfbq359._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_1-hlf1xzemd3-._.js +0 -3
- package/web/.next/server/chunks/ssr/web_1-hlf1xzemd3-._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_107a79_nx4jdd._.js +0 -3
- package/web/.next/server/chunks/ssr/web_107a79_nx4jdd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_127_b93avkwaq._.js +0 -3
- package/web/.next/server/chunks/ssr/web_127_b93avkwaq._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_basket_page_actions_102xk3g8eko_q.js +0 -3
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_basket_page_actions_102xk3g8eko_q.js.map +0 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_done_page_actions_0mm90xd2feta2.js +0 -3
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_done_page_actions_0mm90xd2feta2.js.map +0 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_page_actions_082880qz6xa5k.js +0 -3
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_bridge_page_actions_082880qz6xa5k.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_0ty_yk1robyaj._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_0ty_yk1robyaj._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_error_tsx_10gkrn3ey8162._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_settings_page_tsx_0xzphp7k9ge1u._.js +0 -3
- package/web/.next/server/chunks/ssr/web_app_(console)_bridge_settings_page_tsx_0xzphp7k9ge1u._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_0mi9a9pdzkdji._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0s8erick0xk77._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0s8erick0xk77._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_0wuo5bgp5tabn._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0wuo5bgp5tabn._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_16cy3vmcijydk._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_16cy3vmcijydk._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_1iiqi6dhrst33._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_1iiqi6dhrst33._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_1n1hy3nwha2vi._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_1n1hy3nwha2vi._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_0-mhu0jaig2u3._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_bridge_0-mhu0jaig2u3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_0219fbfmsi68-._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_bridge_0219fbfmsi68-._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_11jndonu4o8fq._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_bridge_11jndonu4o8fq._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_0354e3wb0dzx1._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_bridge_state_0354e3wb0dzx1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_bridge_state_live-refresh_tsx_1c1xk-oe0kllv._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_bridge_state_live-refresh_tsx_1c1xk-oe0kllv._.js.map +0 -1
- package/web/.next/server/chunks/web__next-internal_server_app_(console)_bridge_focus_route_actions_0syd_u8mgzdmi.js +0 -3
- package/web/.next/static/chunks/0az9upwm-8_q9.js +0 -1
- package/web/.next/static/chunks/0c1tqlbsvq1dj.js +0 -1
- package/web/.next/static/chunks/0fh11dkddwf_2.js +0 -1
- package/web/.next/static/chunks/0gbozvd_yh421.js +0 -1
- package/web/.next/static/chunks/0l9_oie6xi0kd.js +0 -1
- package/web/.next/static/chunks/0m512dxdcrv-b.js +0 -1
- package/web/.next/static/chunks/0zbcy0_3jemrv.js +0 -1
- package/web/.next/static/chunks/1485slb5zus5p.js +0 -1
- package/web/.next/static/chunks/180aowme095ds.js +0 -1
- package/web/.next/static/chunks/24olc0btcvn7q.js +0 -1
- package/web/.next/static/chunks/296w-74ry5lzk.js +0 -1
- package/web/.next/static/chunks/2gghdkr64z9f9.js +0 -1
- package/web/.next/static/chunks/2hoi73vy1wqpo.js +0 -1
- package/web/.next/static/chunks/2mtfca4qk_s34.js +0 -1
- package/web/.next/static/chunks/397zvdr6xr5pq.js +0 -1
- package/web/.next/static/chunks/3ow9h8hreko-p.css +0 -3
- package/web/.next/static/chunks/3pd8pele5x1o9.js +0 -1
- package/web/.next/static/chunks/3srfjz42u14tx.js +0 -1
- package/web/.next/static/chunks/3yq9jt4p_0uid.js +0 -1
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/basket/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/basket/page.js.map +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/changes/route/build-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/changes/route/server-reference-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/changes/route.js.map +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/done/page.js.map +0 -0
- /package/web/.next/server/app/{(console)/bridge → (bridge)/bridge/fleet}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console)/bridge → (bridge)/bridge/fleet}/page.js.map +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/focus/route/build-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/focus/route/server-reference-manifest.json +0 -0
- /package/web/.next/server/app/{(console) → (bridge)}/bridge/focus/route.js.map +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings → (bridge)/bridge}/page.js.map +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings/requests/[requestId] → (bridge)/bridge/settings}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings/requests/[requestId] → (bridge)/bridge/settings}/page.js.map +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings/routing → (bridge)/bridge/settings/requests/[requestId]}/page/react-loadable-manifest.json +0 -0
- /package/web/.next/server/app/{(console)/bridge/settings/routing → (bridge)/bridge/settings/requests/[requestId]}/page.js.map +0 -0
- /package/web/.next/server/chunks/{0b9d__next-internal_server_app_(console)_bridge_changes_route_actions_0hj8aqohz6bu6.js.map → 0b9d__next-internal_server_app_(bridge)_bridge_changes_route_actions_0wd1c_8tnx6-f.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__1yyaeeylnezpi._.js.map → [root-of-the-server]__04_bc8g0oe4jt._.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__0gnfxe62edx95._.js.map → [root-of-the-server]__179upda-y7uap._.js.map} +0 -0
- /package/web/.next/server/chunks/{web__next-internal_server_app_(console)_bridge_focus_route_actions_0syd_u8mgzdmi.js.map → web__next-internal_server_app_(bridge)_bridge_focus_route_actions_0fx2vmqfq23mq.js.map} +0 -0
- /package/web/.next/static/{CMppMkysNciqc8k4TWwia → 2O8_FQX7YN47L5_OxojXH}/_buildManifest.js +0 -0
- /package/web/.next/static/{CMppMkysNciqc8k4TWwia → 2O8_FQX7YN47L5_OxojXH}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{CMppMkysNciqc8k4TWwia → 2O8_FQX7YN47L5_OxojXH}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { FleetId, ShipId } from '@aeolus-fleet/common';
|
|
2
|
+
import type { ConnectionStore } from '../connection/ports.js';
|
|
3
|
+
import type { CallSender } from '../mcp-in/ports.js';
|
|
4
|
+
import type { SlackLinkSteps } from './ports.js';
|
|
5
|
+
/** Asks a person with no Slack link, in a fleet whose workspace is connected, to link Slack, unless they were asked since their last link. */
|
|
6
|
+
export type AsksToLinkSlack = (ask: {
|
|
7
|
+
fleetId: FleetId;
|
|
8
|
+
personShipId: ShipId;
|
|
9
|
+
workspaceName: string;
|
|
10
|
+
}) => Promise<void>;
|
|
11
|
+
/** The address that starts Link Slack in a fleet. */
|
|
12
|
+
export type LinkSlackUrlOf = (fleetId: FleetId) => string;
|
|
13
|
+
/**
|
|
14
|
+
* Use case: the gateway's ship asks a person, by a step to their person
|
|
15
|
+
* ship (Bridge, CC14, BG7), to link Slack, with the address that starts
|
|
16
|
+
* Link Slack as its link: once, and again only after a link in between
|
|
17
|
+
* closes the ask. The ask's uuid is the step's and keys the message, so one
|
|
18
|
+
* the fleet did not answer is sent again at the next read and stored once;
|
|
19
|
+
* one it refused is not tried again. The step's message is kept with the
|
|
20
|
+
* ask, so the link finishes the step.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createAskToLinkSlack(deps: {
|
|
23
|
+
steps: SlackLinkSteps;
|
|
24
|
+
connections: Pick<ConnectionStore, 'find'>;
|
|
25
|
+
sender: CallSender;
|
|
26
|
+
newStepId: () => string;
|
|
27
|
+
linkUrlOf: LinkSlackUrlOf;
|
|
28
|
+
}): AsksToLinkSlack;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { STEP_CONTENT_TYPE } from '../people/item-job.js';
|
|
2
|
+
/**
|
|
3
|
+
* Use case: the gateway's ship asks a person, by a step to their person
|
|
4
|
+
* ship (Bridge, CC14, BG7), to link Slack, with the address that starts
|
|
5
|
+
* Link Slack as its link: once, and again only after a link in between
|
|
6
|
+
* closes the ask. The ask's uuid is the step's and keys the message, so one
|
|
7
|
+
* the fleet did not answer is sent again at the next read and stored once;
|
|
8
|
+
* one it refused is not tried again. The step's message is kept with the
|
|
9
|
+
* ask, so the link finishes the step.
|
|
10
|
+
*/
|
|
11
|
+
export function createAskToLinkSlack(deps) {
|
|
12
|
+
return async ({ fleetId, personShipId, workspaceName }) => {
|
|
13
|
+
const step = await deps.steps.open(fleetId, { personShipId, stepId: deps.newStepId() });
|
|
14
|
+
const gateway = await deps.connections.find(fleetId);
|
|
15
|
+
if (step.isTold || gateway === undefined) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const { stepId } = step;
|
|
19
|
+
const payload = JSON.stringify({
|
|
20
|
+
id: stepId,
|
|
21
|
+
title: 'Link Slack',
|
|
22
|
+
why: `This fleet is connected to Slack in ${workspaceName}, and your Slack account is not linked. Once linked, you talk to the fleet's bots in Slack as yourself.`,
|
|
23
|
+
link: deps.linkUrlOf(fleetId),
|
|
24
|
+
});
|
|
25
|
+
const sent = await deps.sender.send(gateway.crewToken, { to: personShipId, contentType: STEP_CONTENT_TYPE, payload, idempotencyKey: `slack-link:${stepId}` });
|
|
26
|
+
if (sent.isOk || sent.error.code !== 'UNAVAILABLE') {
|
|
27
|
+
await deps.steps.markTold(fleetId, { personShipId, stepMessageId: sent.isOk ? sent.value.messageId : null });
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ask-to-link-slack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask-to-link-slack.js","sourceRoot":"","sources":["../../../src/core/slack/ask-to-link-slack.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAS1D;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAmJ;IACtL,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,uCAAuC,aAAa,yGAAyG;YAClK,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9J,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { FleetId } from '@aeolus-fleet/common';
|
|
2
2
|
import type { AccountOfSignIn } from '../account-sign-in/account-of-sign-in.js';
|
|
3
|
+
import type { FinishesOwnStep } from '../party-grants/ports.js';
|
|
3
4
|
import type { Clock } from '../shared/clock.js';
|
|
4
5
|
import { type DomainError } from '../shared/errors.js';
|
|
5
6
|
import { type Result } from '../shared/result.js';
|
|
6
|
-
import type { LinkStates, ShipNames, SlackApps, SlackLinks, SlackSignIn, SlackWorkspaces } from './ports.js';
|
|
7
|
+
import type { LinkStates, ShipNames, SlackApps, SlackLinks, SlackLinkSteps, SlackSignIn, SlackWorkspaces } from './ports.js';
|
|
7
8
|
/** Why no link was kept; a link refused for one kept already names the fleet, and the first link's account or Slack name. */
|
|
8
9
|
export type CompleteLinkRefusal = DomainError<'LINK_REFUSED' | 'SLACK_NOT_CONNECTED' | 'NO_SUCH_BOT' | 'OTHER_WORKSPACE' | 'SLACK_UNAVAILABLE'> | (DomainError<'SLACK_USER_LINKED' | 'ACCOUNT_LINKED'> & {
|
|
9
10
|
readonly fleetId: FleetId;
|
|
@@ -27,6 +28,8 @@ export type CompleteLink = (input: {
|
|
|
27
28
|
* disabled account's link stopped. The link completes only in a browser
|
|
28
29
|
* whose shared sign-in names the account that started it, so a followed
|
|
29
30
|
* link never attaches the follower's Slack user to the starter's account.
|
|
31
|
+
* A kept link closes the person's ask to link Slack and finishes the step
|
|
32
|
+
* that asked, with no press (Bridge, CC14, BG7).
|
|
30
33
|
*/
|
|
31
34
|
export declare function createCompleteLink(deps: {
|
|
32
35
|
workspaces: Pick<SlackWorkspaces, 'find'>;
|
|
@@ -38,4 +41,6 @@ export declare function createCompleteLink(deps: {
|
|
|
38
41
|
shipNames: ShipNames;
|
|
39
42
|
clock: Clock;
|
|
40
43
|
linkRedirectUrl: string;
|
|
44
|
+
steps: Pick<SlackLinkSteps, 'close'>;
|
|
45
|
+
finishStep: FinishesOwnStep;
|
|
41
46
|
}): CompleteLink;
|
|
@@ -12,6 +12,8 @@ import { slackUnavailableMessage } from './take-access-token.js';
|
|
|
12
12
|
* disabled account's link stopped. The link completes only in a browser
|
|
13
13
|
* whose shared sign-in names the account that started it, so a followed
|
|
14
14
|
* link never attaches the follower's Slack user to the starter's account.
|
|
15
|
+
* A kept link closes the person's ask to link Slack and finishes the step
|
|
16
|
+
* that asked, with no press (Bridge, CC14, BG7).
|
|
15
17
|
*/
|
|
16
18
|
export function createCompleteLink(deps) {
|
|
17
19
|
return async ({ code, state, signIn }) => {
|
|
@@ -58,6 +60,10 @@ export function createCompleteLink(deps) {
|
|
|
58
60
|
// Another link of the Slack user or the account was kept meanwhile.
|
|
59
61
|
return refuse('LINK_REFUSED', "This Slack account or your account was linked meanwhile: reload Bridge's settings");
|
|
60
62
|
}
|
|
63
|
+
const asked = await deps.steps.close(fleetId, personShipId);
|
|
64
|
+
if (asked?.stepMessageId != null) {
|
|
65
|
+
await deps.finishStep({ fleetId, personShipId, stepMessageId: asked.stepMessageId });
|
|
66
|
+
}
|
|
61
67
|
return ok({ fleetId });
|
|
62
68
|
};
|
|
63
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete-link.js","sourceRoot":"","sources":["../../../src/core/slack/complete-link.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"complete-link.js","sourceRoot":"","sources":["../../../src/core/slack/complete-link.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ItemOutcomes } from '../people/item-outcome.js';
|
|
2
|
+
import type { InboxChanges, OpenedDeliveries, PersonCrews, PersonShipDoor } from '../people/ports.js';
|
|
3
|
+
import type { Clock } from '../shared/clock.js';
|
|
4
|
+
import { type Result } from '../shared/result.js';
|
|
5
|
+
import type { SlackApps, SlackLinks, SlackMessages, SlackPosts, SlackSignatures } from './ports.js';
|
|
6
|
+
import { type SlackPress } from './slack-press.js';
|
|
7
|
+
export type DoneInSlack = (press: SlackPress) => Promise<Result<{
|
|
8
|
+
kind: 'done' | 'doneElsewhere' | 'refused' | 'ignored';
|
|
9
|
+
}, {
|
|
10
|
+
kind: 'notSigned';
|
|
11
|
+
}>>;
|
|
12
|
+
/**
|
|
13
|
+
* Use case: the person presses Done under a step the gateway posted to them
|
|
14
|
+
* in Slack (Bridge, section 9, #1514). Signed as an event is, by the person
|
|
15
|
+
* the step was posted to, the press, their own act, acknowledges it (CC6)
|
|
16
|
+
* and sends the step's outcome done as their person ship, to its asker in
|
|
17
|
+
* reply to it, at once and without a note (CC23), keyed as Bridge's Done is,
|
|
18
|
+
* so a step done in both is sent once. Then the delivery is handled, kept
|
|
19
|
+
* done in Slack (CC4), no longer opened anywhere, every page of the person
|
|
20
|
+
* told, and the step reacted to, as a message core stored is. A step another
|
|
21
|
+
* place ended first is sent nothing, and its thread says where; the fleet's
|
|
22
|
+
* refusal is said there too, and leaves it undone.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createDoneInSlack(deps: {
|
|
25
|
+
apps: Pick<SlackApps, 'findByAppId'>;
|
|
26
|
+
links: Pick<SlackLinks, 'find'>;
|
|
27
|
+
posts: Pick<SlackPosts, 'ofMessage'>;
|
|
28
|
+
crews: Pick<PersonCrews, 'find'>;
|
|
29
|
+
door: Pick<PersonShipDoor, 'ack' | 'delivery' | 'reply' | 'handled'>;
|
|
30
|
+
outcomes: ItemOutcomes;
|
|
31
|
+
opened: Pick<OpenedDeliveries, 'remove'>;
|
|
32
|
+
changes: InboxChanges;
|
|
33
|
+
slack: Pick<SlackMessages, 'react' | 'postInThread'>;
|
|
34
|
+
signatures: SlackSignatures;
|
|
35
|
+
clock: Clock;
|
|
36
|
+
}): DoneInSlack;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { alreadyTextOf } from '../people/opened-of.js';
|
|
2
|
+
import { KEY_UNAVAILABLE, SEALED_MESSAGE } from '../people/person-crew.js';
|
|
3
|
+
import { STEP_OUTCOME_CONTENT_TYPE, stepOutcomePayloadOf } from '../people/step-outcome.js';
|
|
4
|
+
import { ok } from '../shared/result.js';
|
|
5
|
+
import { STORED_REACTION } from './send-slack-events.js';
|
|
6
|
+
import { pressedOf } from './slack-press.js';
|
|
7
|
+
/**
|
|
8
|
+
* Use case: the person presses Done under a step the gateway posted to them
|
|
9
|
+
* in Slack (Bridge, section 9, #1514). Signed as an event is, by the person
|
|
10
|
+
* the step was posted to, the press, their own act, acknowledges it (CC6)
|
|
11
|
+
* and sends the step's outcome done as their person ship, to its asker in
|
|
12
|
+
* reply to it, at once and without a note (CC23), keyed as Bridge's Done is,
|
|
13
|
+
* so a step done in both is sent once. Then the delivery is handled, kept
|
|
14
|
+
* done in Slack (CC4), no longer opened anywhere, every page of the person
|
|
15
|
+
* told, and the step reacted to, as a message core stored is. A step another
|
|
16
|
+
* place ended first is sent nothing, and its thread says where; the fleet's
|
|
17
|
+
* refusal is said there too, and leaves it undone.
|
|
18
|
+
*/
|
|
19
|
+
export function createDoneInSlack(deps) {
|
|
20
|
+
return async (press) => {
|
|
21
|
+
const { channel, messageTs } = press;
|
|
22
|
+
const pressed = await pressedOf(deps, press);
|
|
23
|
+
if (!pressed.isOk) {
|
|
24
|
+
return pressed;
|
|
25
|
+
}
|
|
26
|
+
if (pressed.value === undefined) {
|
|
27
|
+
return ok({ kind: 'ignored' });
|
|
28
|
+
}
|
|
29
|
+
const { app, post, crew } = pressed.value;
|
|
30
|
+
const { fleetId, personShipId: shipId, deliveryId } = post;
|
|
31
|
+
const inThread = (text) => deps.slack.postInThread(app.bot.token, { channel, threadTs: messageTs, text });
|
|
32
|
+
const [earlier] = await deps.outcomes.findMany(fleetId, { shipId, deliveryIds: [deliveryId] });
|
|
33
|
+
if (earlier !== undefined) {
|
|
34
|
+
await inThread(alreadyTextOf(earlier));
|
|
35
|
+
return ok({ kind: 'doneElsewhere' });
|
|
36
|
+
}
|
|
37
|
+
// Core reads a delivery again only once acknowledged: the read names the step.
|
|
38
|
+
await deps.door.ack(crew.crewToken, deliveryId);
|
|
39
|
+
const delivery = await deps.door.delivery(crew.crewToken, deliveryId);
|
|
40
|
+
if (!delivery.isOk && delivery.error.code === KEY_UNAVAILABLE) {
|
|
41
|
+
await inThread(SEALED_MESSAGE);
|
|
42
|
+
return ok({ kind: 'refused' });
|
|
43
|
+
}
|
|
44
|
+
if (!delivery.isOk || delivery.value.stepId === null) {
|
|
45
|
+
return ok({ kind: 'ignored' });
|
|
46
|
+
}
|
|
47
|
+
const outcome = { to: post.senderShipId, inReplyTo: post.messageId, contentType: STEP_OUTCOME_CONTENT_TYPE, payload: stepOutcomePayloadOf({ stepId: delivery.value.stepId, kind: 'done', note: null }), idempotencyKey: `step-outcome-${deliveryId}` };
|
|
48
|
+
const replied = await deps.door.reply(crew.crewToken, outcome);
|
|
49
|
+
if (!replied.isOk) {
|
|
50
|
+
await inThread(`${delivery.value.senderName} did not take your outcome: ${replied.error.message}`);
|
|
51
|
+
return ok({ kind: 'refused' });
|
|
52
|
+
}
|
|
53
|
+
const handled = await deps.door.handled(crew.crewToken, deliveryId);
|
|
54
|
+
if (handled.isOk) {
|
|
55
|
+
await deps.outcomes.save({ fleetId, shipId, deliveryId, place: 'slack', kind: 'done', option: null, at: deps.clock.now() });
|
|
56
|
+
await deps.opened.remove(fleetId, { shipId, deliveryId });
|
|
57
|
+
await deps.changes.tell({ fleetId, shipId });
|
|
58
|
+
}
|
|
59
|
+
await deps.slack.react(app.bot.token, { channel, ts: messageTs, name: STORED_REACTION });
|
|
60
|
+
return ok({ kind: 'done' });
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=done-in-slack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"done-in-slack.js","sourceRoot":"","sources":["../../../src/core/slack/done-in-slack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { FleetId } from '@aeolus-fleet/common';
|
|
1
2
|
import type { SlackApps, SlackMessages, SlackPosts } from './ports.js';
|
|
2
3
|
/** What a round did: posts edited, kept for the next round, and given up. */
|
|
3
4
|
export type EditSlackPosts = () => Promise<{
|
|
@@ -8,10 +9,10 @@ export type EditSlackPosts = () => Promise<{
|
|
|
8
9
|
/**
|
|
9
10
|
* Use case: view sync in Slack (Bridge, section 7). Once something came of
|
|
10
11
|
* an item in any place, as answered in Bridge or seen in Slack, its post in
|
|
11
|
-
* Slack is edited to say so:
|
|
12
|
-
* gateway keeps no copy of a payload (decision 0040),
|
|
13
|
-
* what was done and where, its buttons gone. A
|
|
14
|
-
* already, as another gateway edited it, is not
|
|
12
|
+
* Slack is edited to say so: the post as Slack holds it, read there so the
|
|
13
|
+
* gateway keeps no copy of a payload (decision 0040), edited as views.html
|
|
14
|
+
* draws it, saying what was done and where, its buttons gone. A post that
|
|
15
|
+
* says so already, as another gateway edited it, is not edited again. Slack rate
|
|
15
16
|
* limiting or not answering keeps the post for the next round; Slack
|
|
16
17
|
* refusing it, as for a message deleted there, or its bot removed, gives
|
|
17
18
|
* it up: that place dropped out, and Bridge still has the item.
|
|
@@ -19,5 +20,6 @@ export type EditSlackPosts = () => Promise<{
|
|
|
19
20
|
export declare function createEditSlackPosts(deps: {
|
|
20
21
|
posts: Pick<SlackPosts, 'toEdit' | 'markEdited'>;
|
|
21
22
|
apps: Pick<SlackApps, 'find'>;
|
|
22
|
-
slack: Pick<SlackMessages, '
|
|
23
|
+
slack: Pick<SlackMessages, 'messageOf' | 'update'>;
|
|
24
|
+
bridgeUrlOf: (fleetId: FleetId) => string;
|
|
23
25
|
}): EditSlackPosts;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { editedPostOf } from './edited-post-of.js';
|
|
2
2
|
/** How many posts a round edits at most. */
|
|
3
3
|
const POSTS_PAGE = 100;
|
|
4
4
|
/** Whether Slack may take it later: it rate limited the call or did not answer. */
|
|
@@ -8,10 +8,10 @@ function isForLater(refusal) {
|
|
|
8
8
|
/**
|
|
9
9
|
* Use case: view sync in Slack (Bridge, section 7). Once something came of
|
|
10
10
|
* an item in any place, as answered in Bridge or seen in Slack, its post in
|
|
11
|
-
* Slack is edited to say so:
|
|
12
|
-
* gateway keeps no copy of a payload (decision 0040),
|
|
13
|
-
* what was done and where, its buttons gone. A
|
|
14
|
-
* already, as another gateway edited it, is not
|
|
11
|
+
* Slack is edited to say so: the post as Slack holds it, read there so the
|
|
12
|
+
* gateway keeps no copy of a payload (decision 0040), edited as views.html
|
|
13
|
+
* draws it, saying what was done and where, its buttons gone. A post that
|
|
14
|
+
* says so already, as another gateway edited it, is not edited again. Slack rate
|
|
15
15
|
* limiting or not answering keeps the post for the next round; Slack
|
|
16
16
|
* refusing it, as for a message deleted there, or its bot removed, gives
|
|
17
17
|
* it up: that place dropped out, and Bridge still has the item.
|
|
@@ -23,12 +23,15 @@ export function createEditSlackPosts(deps) {
|
|
|
23
23
|
return 'givenUp';
|
|
24
24
|
}
|
|
25
25
|
const where = { channel: post.channel, ts: post.ts };
|
|
26
|
-
const
|
|
27
|
-
if (!
|
|
28
|
-
return isForLater(
|
|
26
|
+
const message = await deps.slack.messageOf(app.bot.token, { ...where, threadTs: post.threadTs });
|
|
27
|
+
if (!message.isOk) {
|
|
28
|
+
return isForLater(message.error) ? 'kept' : 'givenUp';
|
|
29
29
|
}
|
|
30
|
-
const
|
|
31
|
-
|
|
30
|
+
const edited = editedPostOf(message.value, { outcome, bridgeUrl: deps.bridgeUrlOf(post.fleetId) });
|
|
31
|
+
if (edited === undefined) {
|
|
32
|
+
return 'edited';
|
|
33
|
+
}
|
|
34
|
+
const updated = await deps.slack.update(app.bot.token, { ...where, messageId: post.messageId, message: edited });
|
|
32
35
|
if (!updated.isOk && isForLater(updated.error)) {
|
|
33
36
|
return 'kept';
|
|
34
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-slack-posts.js","sourceRoot":"","sources":["../../../src/core/slack/edit-slack-posts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edit-slack-posts.js","sourceRoot":"","sources":["../../../src/core/slack/edit-slack-posts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOnD,4CAA4C;AAC5C,MAAM,UAAU,GAAG,GAAG,CAAC;AAIvB,mFAAmF;AACnF,SAAS,UAAU,CAAC,OAAqB;IACvC,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;AACpC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAwL;IAC3N,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAc,EAAmB,EAAE;QACvE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC3E,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACjH,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7C,CAAC,CAAC;IAEF,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACnD,KAAK,MAAM,MAAM,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A post in Slack once something came of its item, in any place (Bridge,
|
|
3
|
+
* section 7, view sync): an item's post, as views.html draws it answered,
|
|
4
|
+
* keeps its heading and title, says what was done, when and to whom, and
|
|
5
|
+
* where it shows, its pick and buttons gone, its side marked done or ended.
|
|
6
|
+
* A message that is no item keeps its text with a line under it, as Bridge
|
|
7
|
+
* says what came of it.
|
|
8
|
+
*/
|
|
9
|
+
import { type ItemOutcome } from '../people/item-outcome.js';
|
|
10
|
+
import type { SlackMessage } from './ports.js';
|
|
11
|
+
/** What came of the item, where and when. */
|
|
12
|
+
export type EditedOutcome = Pick<ItemOutcome, 'place' | 'kind' | 'option' | 'at'>;
|
|
13
|
+
/** The option answered with: in full as its post lists it, else as its button named it, or by its number once the button is gone. */
|
|
14
|
+
export declare function optionTextOf(message: SlackMessage, option: number): string;
|
|
15
|
+
/** The post edited to say what came of its item; none when it says so already. */
|
|
16
|
+
export declare function editedPostOf(message: SlackMessage, edit: {
|
|
17
|
+
outcome: EditedOutcome;
|
|
18
|
+
bridgeUrl: string;
|
|
19
|
+
}): SlackMessage | undefined;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A post in Slack once something came of its item, in any place (Bridge,
|
|
3
|
+
* section 7, view sync): an item's post, as views.html draws it answered,
|
|
4
|
+
* keeps its heading and title, says what was done, when and to whom, and
|
|
5
|
+
* where it shows, its pick and buttons gone, its side marked done or ended.
|
|
6
|
+
* A message that is no item keeps its text with a line under it, as Bridge
|
|
7
|
+
* says what came of it.
|
|
8
|
+
*/
|
|
9
|
+
import { outcomeTextOf } from '../people/item-outcome.js';
|
|
10
|
+
import { escaped, listedOptionOf } from './slack-post-of.js';
|
|
11
|
+
const MS_PER_SECOND = 1_000;
|
|
12
|
+
/** How many characters of an ISO time are its hours and minutes, after its date and T. */
|
|
13
|
+
const CLOCK = { from: 11, to: 16 };
|
|
14
|
+
/** The time as Slack shows it in each reader's own clock, with the time in UTC for a reader it cannot. */
|
|
15
|
+
function slackTimeOf(at) {
|
|
16
|
+
return `<!date^${String(Math.floor(at.getTime() / MS_PER_SECOND))}^{time}|${at.toISOString().slice(CLOCK.from, CLOCK.to)} UTC>`;
|
|
17
|
+
}
|
|
18
|
+
/** Whether the item's job ended as asked: answered, done or seen; anything else ended it another way. */
|
|
19
|
+
const TONES = { answered: 'done', done: 'done', seen: 'done', cannot: 'ended', withdrawn: 'ended', replaced: 'ended', notSent: 'ended' };
|
|
20
|
+
/** The option answered with: in full as its post lists it, else as its button named it, or by its number once the button is gone. */
|
|
21
|
+
export function optionTextOf(message, option) {
|
|
22
|
+
const listed = listedOptionOf(message.item?.body ?? null, option);
|
|
23
|
+
if (listed !== undefined) {
|
|
24
|
+
return listed;
|
|
25
|
+
}
|
|
26
|
+
const button = message.buttons.find((each) => 'option' in each && each.option === option);
|
|
27
|
+
return escaped(button?.text ?? `option ${String(option)}`);
|
|
28
|
+
}
|
|
29
|
+
/** What was done, when and to whom, as the edited post says it. */
|
|
30
|
+
function doneLineOf(message, outcome) {
|
|
31
|
+
const at = slackTimeOf(outcome.at);
|
|
32
|
+
const asker = escaped(message.item.asker);
|
|
33
|
+
switch (outcome.kind) {
|
|
34
|
+
case 'answered':
|
|
35
|
+
return outcome.option === null ? `✅ You answered at ${at} with your note, sent to ${asker}` : `✅ You answered at ${at}: *${optionTextOf(message, outcome.option)}*, sent to ${asker}`;
|
|
36
|
+
case 'done':
|
|
37
|
+
// The gateway's own step is done by what it saw, so nothing is sent for it.
|
|
38
|
+
return outcome.place === 'gateway' ? `✅ Done at ${at}` : `✅ Done at ${at}, sent to ${asker}`;
|
|
39
|
+
case 'cannot':
|
|
40
|
+
return `Marked cannot at ${at}, sent to ${asker}`;
|
|
41
|
+
case 'seen':
|
|
42
|
+
return `✅ Seen at ${at}`;
|
|
43
|
+
case 'withdrawn':
|
|
44
|
+
return `Withdrawn by ${asker}, seen at ${at}`;
|
|
45
|
+
case 'replaced':
|
|
46
|
+
return `Replaced by ${asker}, seen at ${at}`;
|
|
47
|
+
case 'notSent':
|
|
48
|
+
return `Not sent: removed from the basket at ${at}`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Where it shows as done: in Slack, as views.html says it, the other places; elsewhere, what Bridge says of it. */
|
|
52
|
+
function whereLineOf(outcome, bridgeUrl) {
|
|
53
|
+
const said = outcomeTextOf({ place: outcome.place, kind: outcome.kind, option: null });
|
|
54
|
+
const where = outcome.place === 'slack' ? `Bridge and the chat show it ${said.charAt(0).toLowerCase()}${said.slice(1)}` : said;
|
|
55
|
+
return `${where} · <${bridgeUrl}|Open in Bridge>`;
|
|
56
|
+
}
|
|
57
|
+
/** Whether the item's post says already what came of it, as another gateway edited it. */
|
|
58
|
+
function isEditedAlready(item) {
|
|
59
|
+
return item.tone === 'done' || item.tone === 'ended';
|
|
60
|
+
}
|
|
61
|
+
/** The post edited to say what came of its item; none when it says so already. */
|
|
62
|
+
export function editedPostOf(message, edit) {
|
|
63
|
+
const { item } = message;
|
|
64
|
+
if (item === null) {
|
|
65
|
+
const line = `_${outcomeTextOf(edit.outcome)}_`;
|
|
66
|
+
return { text: message.text.endsWith(line) ? message.text : `${message.text}\n\n${line}`, item: null, buttons: [] };
|
|
67
|
+
}
|
|
68
|
+
if (isEditedAlready(item)) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
text: message.text,
|
|
73
|
+
item: { ...item, body: doneLineOf({ ...message, item }, edit.outcome), aside: null, footer: whereLineOf(edit.outcome, edit.bridgeUrl), tone: TONES[edit.outcome.kind] },
|
|
74
|
+
buttons: [],
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=edited-post-of.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edited-post-of.js","sourceRoot":"","sources":["../../../src/core/slack/edited-post-of.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,aAAa,EAAsC,MAAM,2BAA2B,CAAC;AAE9F,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAK7D,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B,0FAA0F;AAC1F,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAW,CAAC;AAE5C,0GAA0G;AAC1G,SAAS,WAAW,CAAC,EAAQ;IAC3B,OAAO,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC;AAClI,CAAC;AAED,yGAAyG;AACzG,MAAM,KAAK,GAAmC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAEzK,qIAAqI;AACrI,MAAM,UAAU,YAAY,CAAC,OAAqB,EAAE,MAAc;IAChE,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC1F,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,UAAU,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,mEAAmE;AACnE,SAAS,UAAU,CAAC,OAA2C,EAAE,OAAsB;IACrF,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,UAAU;YACb,OAAO,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,EAAE,4BAA4B,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,KAAK,EAAE,CAAC;QACxL,KAAK,MAAM;YACT,4EAA4E;YAC5E,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,KAAK,EAAE,CAAC;QAC/F,KAAK,QAAQ;YACX,OAAO,oBAAoB,EAAE,aAAa,KAAK,EAAE,CAAC;QACpD,KAAK,MAAM;YACT,OAAO,aAAa,EAAE,EAAE,CAAC;QAC3B,KAAK,WAAW;YACd,OAAO,gBAAgB,KAAK,aAAa,EAAE,EAAE,CAAC;QAChD,KAAK,UAAU;YACb,OAAO,eAAe,KAAK,aAAa,EAAE,EAAE,CAAC;QAC/C,KAAK,SAAS;YACZ,OAAO,wCAAwC,EAAE,EAAE,CAAC;IACxD,CAAC;AACH,CAAC;AAED,oHAAoH;AACpH,SAAS,WAAW,CAAC,OAAsB,EAAE,SAAiB;IAC5D,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,+BAA+B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/H,OAAO,GAAG,KAAK,OAAO,SAAS,kBAAkB,CAAC;AACpD,CAAC;AAED,0FAA0F;AAC1F,SAAS,eAAe,CAAC,IAAe;IACtC,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AACvD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,YAAY,CAAC,OAAqB,EAAE,IAAmD;IACrG,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACtH,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvK,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -190,6 +190,27 @@ export interface SlackLinks {
|
|
|
190
190
|
at: Date;
|
|
191
191
|
}): Promise<void>;
|
|
192
192
|
}
|
|
193
|
+
/** A person's ask to link Slack (Bridge, CC14): its step's uuid, whether the step was sent, and its message, none until sent or when the fleet refused it. */
|
|
194
|
+
export interface SlackLinkStep {
|
|
195
|
+
readonly stepId: string;
|
|
196
|
+
readonly isTold: boolean;
|
|
197
|
+
readonly stepMessageId: MessageId | null;
|
|
198
|
+
}
|
|
199
|
+
/** Outbound port: each person's open ask to link Slack, in the gateway's database. */
|
|
200
|
+
export interface SlackLinkSteps {
|
|
201
|
+
/** The person's open ask, opened under this uuid unless one is open already, as two reads at once find. */
|
|
202
|
+
open(fleetId: FleetId, step: {
|
|
203
|
+
personShipId: ShipId;
|
|
204
|
+
stepId: string;
|
|
205
|
+
}): Promise<SlackLinkStep>;
|
|
206
|
+
/** Marks it told, with the message of the step, none when the fleet refused it. */
|
|
207
|
+
markTold(fleetId: FleetId, step: {
|
|
208
|
+
personShipId: ShipId;
|
|
209
|
+
stepMessageId: MessageId | null;
|
|
210
|
+
}): Promise<void>;
|
|
211
|
+
/** Closes it at a link, so a later unlinked read asks again: the ask closed, none when none was open. */
|
|
212
|
+
close(fleetId: FleetId, personShipId: ShipId): Promise<SlackLinkStep | undefined>;
|
|
213
|
+
}
|
|
193
214
|
/** Outbound port: a bot's posts and reactions in Slack, with its bot token. */
|
|
194
215
|
export interface SlackMessages {
|
|
195
216
|
/** A message only one person sees, in a conversation (chat.postEphemeral), with a button that opens an address. */
|
|
@@ -203,8 +224,9 @@ export interface SlackMessages {
|
|
|
203
224
|
};
|
|
204
225
|
}): Promise<Result<undefined, SlackRefusal>>;
|
|
205
226
|
/**
|
|
206
|
-
* A message in a conversation, or a thread of it,
|
|
207
|
-
*
|
|
227
|
+
* A message in a conversation, or a thread of it, an item framed as
|
|
228
|
+
* views.html draws it, with its buttons (chat.postMessage): the Slack
|
|
229
|
+
* message it is. A press of a
|
|
208
230
|
* button names the fleet message it shows, so a press is matched before
|
|
209
231
|
* the gateway keeps the Slack message.
|
|
210
232
|
*/
|
|
@@ -212,8 +234,7 @@ export interface SlackMessages {
|
|
|
212
234
|
messageId: MessageId;
|
|
213
235
|
channel: string;
|
|
214
236
|
threadTs: string | null;
|
|
215
|
-
|
|
216
|
-
buttons: readonly SlackButton[];
|
|
237
|
+
message: SlackMessage;
|
|
217
238
|
}): Promise<Result<{
|
|
218
239
|
channel: string;
|
|
219
240
|
ts: string;
|
|
@@ -230,17 +251,18 @@ export interface SlackMessages {
|
|
|
230
251
|
ts: string;
|
|
231
252
|
name: string;
|
|
232
253
|
}): Promise<Result<undefined, SlackRefusal>>;
|
|
233
|
-
/** A message
|
|
234
|
-
|
|
254
|
+
/** A message as Slack holds it, in a conversation or a thread of it (conversations.history, conversations.replies): the item it frames as the gateway posted or edited it, or its text alone. */
|
|
255
|
+
messageOf(botToken: string, message: {
|
|
235
256
|
channel: string;
|
|
236
257
|
ts: string;
|
|
237
258
|
threadTs: string | null;
|
|
238
|
-
}): Promise<Result<
|
|
239
|
-
/** Gives a message the text given,
|
|
259
|
+
}): Promise<Result<SlackMessage, SlackRefusal>>;
|
|
260
|
+
/** Gives a message the item or text given, with an item's buttons given, naming the fleet message as its post's do; none once something came of it (chat.update). */
|
|
240
261
|
update(botToken: string, message: {
|
|
241
262
|
channel: string;
|
|
242
263
|
ts: string;
|
|
243
|
-
|
|
264
|
+
messageId: MessageId;
|
|
265
|
+
message: SlackMessage;
|
|
244
266
|
}): Promise<Result<undefined, SlackRefusal>>;
|
|
245
267
|
}
|
|
246
268
|
/**
|
|
@@ -265,14 +287,50 @@ export interface SlackEvents {
|
|
|
265
287
|
untakenSince(before: Date): Promise<KeptSlackEvent[]>;
|
|
266
288
|
remove(fleetId: FleetId, eventId: string): Promise<void>;
|
|
267
289
|
}
|
|
268
|
-
/**
|
|
290
|
+
/**
|
|
291
|
+
* A button under a post: under a question, its option's number and label,
|
|
292
|
+
* the option it answers, and whether it is the asker's pick, filled; under a
|
|
293
|
+
* step, Open on its link and Done; or Seen, under an item with no other
|
|
294
|
+
* (Bridge, section 6).
|
|
295
|
+
*/
|
|
269
296
|
export type SlackButton = {
|
|
270
297
|
readonly text: string;
|
|
271
298
|
readonly option: number;
|
|
299
|
+
readonly isPicked: boolean;
|
|
300
|
+
} | {
|
|
301
|
+
readonly text: string;
|
|
302
|
+
readonly url: string;
|
|
303
|
+
} | {
|
|
304
|
+
readonly text: string;
|
|
305
|
+
readonly isDone: true;
|
|
272
306
|
} | {
|
|
273
307
|
readonly text: string;
|
|
274
308
|
readonly isSeen: true;
|
|
275
309
|
};
|
|
310
|
+
/** How an item's post is marked at its side (views.html): asking while it waits on the person, aware for what only tells, done once answered, done or seen, ended for any other outcome. */
|
|
311
|
+
export type SlackTone = 'asking' | 'aware' | 'done' | 'ended';
|
|
312
|
+
/**
|
|
313
|
+
* An item as its post in Slack shows it (Bridge, views.html): headed by its
|
|
314
|
+
* asker and job, such as Question from orchestrator-1 · Decide; its title;
|
|
315
|
+
* what it asks with, or once something came of it, what and where; a quiet
|
|
316
|
+
* line under that, such as the asker's pick; and the line under its
|
|
317
|
+
* buttons, such as Open in Bridge. Each is in Slack's markup.
|
|
318
|
+
*/
|
|
319
|
+
export interface SlackItem {
|
|
320
|
+
readonly asker: string;
|
|
321
|
+
readonly heading: string;
|
|
322
|
+
readonly title: string;
|
|
323
|
+
readonly body: string | null;
|
|
324
|
+
readonly aside: string | null;
|
|
325
|
+
readonly footer: string | null;
|
|
326
|
+
readonly tone: SlackTone;
|
|
327
|
+
}
|
|
328
|
+
/** A post as the gateway gives it to Slack and reads it back: what a notification of it says, the item it frames, none for a message that is no item, and its buttons. */
|
|
329
|
+
export interface SlackMessage {
|
|
330
|
+
readonly text: string;
|
|
331
|
+
readonly item: SlackItem | null;
|
|
332
|
+
readonly buttons: readonly SlackButton[];
|
|
333
|
+
}
|
|
276
334
|
/** Outbound port: the fleet messages in Slack, by person ship. */
|
|
277
335
|
export interface SlackPosts {
|
|
278
336
|
/** Keeps the post by its fleet, person ship and message, as it is now. */
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SlackItem, SlackMessage } from './ports.js';
|
|
2
|
+
/** A post that frames an item, as a question's does. */
|
|
3
|
+
export type ItemPost = SlackMessage & {
|
|
4
|
+
readonly item: SlackItem;
|
|
5
|
+
};
|
|
6
|
+
/** The post while the option pressed, named in full, is sent to the asker. */
|
|
7
|
+
export declare function sendingPostOf(post: ItemPost, option: number): SlackMessage;
|
|
8
|
+
/** The post once the fleet did not take the answer, with the reason it gave. */
|
|
9
|
+
export declare function notSentPostOf(post: ItemPost, reason: string): SlackMessage;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A question's post as a press in Slack sends its answer
|
|
3
|
+
* (aeolus-fleet#1573): while it is sent, the option and to whom, its
|
|
4
|
+
* buttons gone so it is not pressed twice; once the fleet did not take it,
|
|
5
|
+
* why, its buttons back to press again. Both keep the post's heading, title
|
|
6
|
+
* and context; the line under them says it, in place of the asker's pick.
|
|
7
|
+
*/
|
|
8
|
+
import { optionTextOf } from './edited-post-of.js';
|
|
9
|
+
import { escaped } from './slack-post-of.js';
|
|
10
|
+
/** The post while the option pressed, named in full, is sent to the asker. */
|
|
11
|
+
export function sendingPostOf(post, option) {
|
|
12
|
+
return { ...post, item: { ...post.item, aside: `Sending *${optionTextOf(post, option)}* to ${escaped(post.item.asker)}…` }, buttons: [] };
|
|
13
|
+
}
|
|
14
|
+
/** The post once the fleet did not take the answer, with the reason it gave. */
|
|
15
|
+
export function notSentPostOf(post, reason) {
|
|
16
|
+
return { ...post, item: { ...post.item, aside: `⚠️ Not sent: ${escaped(reason)}. Press an option to try again.` } };
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=pressed-post-of.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pressed-post-of.js","sourceRoot":"","sources":["../../../src/core/slack/pressed-post-of.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,IAAc,EAAE,MAAc;IAC1D,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC5I,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,IAAc,EAAE,MAAc;IAC1D,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,OAAO,CAAC,MAAM,CAAC,iCAAiC,EAAE,EAAE,CAAC;AACtH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Actor } from '../actors/authenticate-actor.js';
|
|
2
|
+
import { type RoutingDefaults, type Routes } from '../people/routing.js';
|
|
3
|
+
import type { SlackApps, SlackLinks } from './ports.js';
|
|
4
|
+
/** Why Slack shows a person nothing now: the fleet's own bot, by its name, was removed in Slack. */
|
|
5
|
+
export interface SlackDroppedOut {
|
|
6
|
+
readonly botName: string;
|
|
7
|
+
}
|
|
8
|
+
export type ReadSlackDroppedOut = (input: {
|
|
9
|
+
actor: Actor;
|
|
10
|
+
}) => Promise<SlackDroppedOut | null>;
|
|
11
|
+
/**
|
|
12
|
+
* Use case: whether Slack dropped out for the person (Bridge, section 9: a
|
|
13
|
+
* place fails, it drops out and Bridge says why). It did when the fleet's
|
|
14
|
+
* own bot was removed in Slack (app_uninstalled, tokens_revoked) while it
|
|
15
|
+
* showed the person something: they linked Slack and turned it on, or left
|
|
16
|
+
* it on, for a job. Nothing to an account with no person ship in the fleet.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createReadSlackDroppedOut(deps: {
|
|
19
|
+
apps: Pick<SlackApps, 'gatewayBot'>;
|
|
20
|
+
links: Pick<SlackLinks, 'ofAccount'>;
|
|
21
|
+
routes: Routes;
|
|
22
|
+
defaults: RoutingDefaults;
|
|
23
|
+
}): ReadSlackDroppedOut;
|