import { createSecureMessagingClient } from "@absolutejs/secure-messaging";
const messaging = createSecureMessagingClient({
delivery,
deviceCredential,
keyPackageDirectory,
membershipPolicy: {
authorize: ({ target }) => approvedIdentities.has(target.identityId),
reviewInvitation: ({ members }) =>
members.every(({ identityId }) => approvedIdentities.has(identityId))
? "accept"
: "pending",
},
policy: {
authorize: ({ direction, purpose, securityEpoch, senderDeviceId }) =>
allowedPurposes.has(purpose) &&
securityEpoch >= minimumEpoch &&
(direction === "outbound" || trustedDevices.has(senderDeviceId)),
maximumFrameBytes: 1_572_864,
maximumFutureSkewMs: 300_000,
maximumMessageBytes: 1_048_576,
maximumTtlMs: 86_400_000,
securityMode: "strict-e2ee",
},
provider,
store,
});