mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-05 01:40:23 +00:00
refactor(outbound): share deliver payload params
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user