From 21df9ebd92838fb52a5fe5332224f429c982281e Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 15 Feb 2026 05:42:24 +0000 Subject: [PATCH] refactor(outbound): share deliver payload params --- src/infra/outbound/deliver.ts | 37 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/src/infra/outbound/deliver.ts b/src/infra/outbound/deliver.ts index 526c0b6b8c9..82b06998fdb 100644 --- a/src/infra/outbound/deliver.ts +++ b/src/infra/outbound/deliver.ts @@ -188,7 +188,7 @@ function createPluginHandler(params: { const isAbortError = (err: unknown): boolean => err instanceof Error && err.name === "AbortError"; -export async function deliverOutboundPayloads(params: { +type DeliverOutboundPayloadsCoreParams = { cfg: OpenClawConfig; channel: Exclude; to: string; @@ -210,9 +210,16 @@ export async function deliverOutboundPayloads(params: { mediaUrls?: string[]; }; silent?: boolean; +}; + +type DeliverOutboundPayloadsParams = DeliverOutboundPayloadsCoreParams & { /** @internal Skip write-ahead queue (used by crash-recovery to avoid re-enqueueing). */ skipQueue?: boolean; -}): Promise { +}; + +export async function deliverOutboundPayloads( + params: DeliverOutboundPayloadsParams, +): Promise { const { channel, to, payloads } = params; // Write-ahead delivery queue: persist before sending, remove after success. @@ -271,29 +278,9 @@ export async function deliverOutboundPayloads(params: { } /** Core delivery logic (extracted for queue wrapper). */ -async function deliverOutboundPayloadsCore(params: { - cfg: OpenClawConfig; - channel: Exclude; - to: string; - accountId?: string; - payloads: ReplyPayload[]; - replyToId?: string | null; - threadId?: string | number | null; - identity?: OutboundIdentity; - deps?: OutboundSendDeps; - gifPlayback?: boolean; - abortSignal?: AbortSignal; - bestEffort?: boolean; - onError?: (err: unknown, payload: NormalizedOutboundPayload) => void; - onPayload?: (payload: NormalizedOutboundPayload) => void; - mirror?: { - sessionKey: string; - agentId?: string; - text?: string; - mediaUrls?: string[]; - }; - silent?: boolean; -}): Promise { +async function deliverOutboundPayloadsCore( + params: DeliverOutboundPayloadsCoreParams, +): Promise { const { cfg, channel, to, payloads } = params; const accountId = params.accountId; const deps = params.deps;