公共 API 参考(@saas/contracts + @core/saas-kit + apps/api 对外接口)
    Preparing search index...

    领域事件发布端口(进程内派发 / 耐久发布双形)。

    interface DomainEventPublisher {
        publishAll(events: readonly DomainEvent<object>[]): Promise<void>;
        publishDurable?(
            events: readonly DomainEvent<object>[],
            expectedVersion: number,
        ): Promise<void>;
    }
    Index
    • ES 真相源写切换(module-es-r1-replay-core §3-R1c·可选方法·存量实现/测试替身零感)。

      Parameters

      • events: readonly DomainEvent<object>[]

        待耐久落库并派发的事件(只读)

      • expectedVersion: number

        乐观锁期望版本(同事务 append 校验)

      Returns Promise<void>

      「耐久真相优先」的发布形——先向 event store 带乐观锁 append(events, expectedVersion) (同事务·失败整批不写),再按 EVENT_PUBLISH_MODE 派发:inproc/shadow 立即进程内 派发(EDA Phase A 同步订阅不断);outbox 不即时派发(同事务落库的未投递行由 relay 异步投)。 与 publishAll 的关键差异:本方法总是耐久 append(不受 mode 门控)且携 expectedVersion, 故调用方不得同时再调 publishAll(会二次 append 同版本键冲突 fail-loud)。