mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-07 02:40:42 +00:00
28 lines
934 B
TypeScript
28 lines
934 B
TypeScript
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<typeof coreDrainPendingDeliveries>[0],
|
|
"deliver"
|
|
> & {
|
|
deliver?: DeliverFn;
|
|
};
|
|
|
|
let outboundDeliverRuntimePromise: Promise<OutboundDeliverRuntimeModule> | null = null;
|
|
|
|
async function loadOutboundDeliverRuntime(): Promise<OutboundDeliverRuntimeModule> {
|
|
outboundDeliverRuntimePromise ??= import("../infra/outbound/deliver-runtime.js");
|
|
return await outboundDeliverRuntimePromise;
|
|
}
|
|
|
|
export async function drainPendingDeliveries(opts: DrainPendingDeliveriesOptions): Promise<void> {
|
|
const deliver = opts.deliver ?? (await loadOutboundDeliverRuntime()).deliverOutboundPayloads;
|
|
await coreDrainPendingDeliveries({
|
|
...opts,
|
|
deliver,
|
|
});
|
|
}
|