refactor(outbound): share deliver payload params

This commit is contained in:
Peter Steinberger
2026-02-15 05:42:24 +00:00
parent e163883fb3
commit 21df9ebd92

View File

@@ -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<OutboundChannel, "none">;
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<OutboundDeliveryResult[]> {
};
export async function deliverOutboundPayloads(
params: DeliverOutboundPayloadsParams,
): Promise<OutboundDeliveryResult[]> {
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<OutboundChannel, "none">;
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<OutboundDeliveryResult[]> {
async function deliverOutboundPayloadsCore(
params: DeliverOutboundPayloadsCoreParams,
): Promise<OutboundDeliveryResult[]> {
const { cfg, channel, to, payloads } = params;
const accountId = params.accountId;
const deps = params.deps;