import { drainPendingDeliveries as coreDrainPendingDeliveries, type DeliverFn, } from "../infra/outbound/delivery-queue.js"; type OutboundDeliverRuntimeModule = typeof import("../infra/outbound/deliver-runtime.js"); type DrainPendingDeliveriesOptions = Omit< Parameters[0], "deliver" > & { deliver?: DeliverFn; }; let outboundDeliverRuntimePromise: Promise | null = null; async function loadOutboundDeliverRuntime(): Promise { outboundDeliverRuntimePromise ??= import("../infra/outbound/deliver-runtime.js"); return await outboundDeliverRuntimePromise; } export async function drainPendingDeliveries(opts: DrainPendingDeliveriesOptions): Promise { const deliver = opts.deliver ?? (await loadOutboundDeliverRuntime()).deliverOutboundPayloads; await coreDrainPendingDeliveries({ ...opts, deliver, }); }