@cfxlabsinc/b2b-services
    Preparing search index...

    Type Alias InternalEnvelope

    The internal bus's envelope.

    Deliberately NOT the customer Envelope. Internal admin events have no tenant: they route to CFX's own Slack workspace and to the reconciliation handlers, never to a customer endpoint. customerId is the customer bus's Outpost tenant_id, and carrying a synthetic one here would put a meaningless value on the wire and into every filter policy. owners is not a tenant: it lists every customer, bank and entity the event concerns.

    See docs/proposals/EVENT_BUS.md §8.20.3.

    type InternalEnvelope = {
        actor?: EventActor;
        createdAt: Date;
        data: object;
        event: string;
        id: string;
        owners: EventOwners;
        parentId?: string;
        subject: { id: string; kind: string };
    }
    Index
    actor?: EventActor
    createdAt: Date
    data: object
    event: string
    id: string

    Minted at publish. The redelivery key every internal consumer dedupes on.

    owners: EventOwners
    parentId?: string

    The event this one was published alongside, as part of one change.

    subject: { id: string; kind: string }

    The record the event is about; kind comes from the registry.