mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 18:44:31 +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";
|
const isAbortError = (err: unknown): boolean => err instanceof Error && err.name === "AbortError";
|
||||||
|
|
||||||
export async function deliverOutboundPayloads(params: {
|
type DeliverOutboundPayloadsCoreParams = {
|
||||||
cfg: OpenClawConfig;
|
cfg: OpenClawConfig;
|
||||||
channel: Exclude<OutboundChannel, "none">;
|
channel: Exclude<OutboundChannel, "none">;
|
||||||
to: string;
|
to: string;
|
||||||
@@ -210,9 +210,16 @@ export async function deliverOutboundPayloads(params: {
|
|||||||
mediaUrls?: string[];
|
mediaUrls?: string[];
|
||||||
};
|
};
|
||||||
silent?: boolean;
|
silent?: boolean;
|
||||||
|
};
|
||||||
|
|
||||||
|
type DeliverOutboundPayloadsParams = DeliverOutboundPayloadsCoreParams & {
|
||||||
/** @internal Skip write-ahead queue (used by crash-recovery to avoid re-enqueueing). */
|
/** @internal Skip write-ahead queue (used by crash-recovery to avoid re-enqueueing). */
|
||||||
skipQueue?: boolean;
|
skipQueue?: boolean;
|
||||||
}): Promise<OutboundDeliveryResult[]> {
|
};
|
||||||
|
|
||||||
|
export async function deliverOutboundPayloads(
|
||||||
|
params: DeliverOutboundPayloadsParams,
|
||||||
|
): Promise<OutboundDeliveryResult[]> {
|
||||||
const { channel, to, payloads } = params;
|
const { channel, to, payloads } = params;
|
||||||
|
|
||||||
// Write-ahead delivery queue: persist before sending, remove after success.
|
// 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). */
|
/** Core delivery logic (extracted for queue wrapper). */
|
||||||
async function deliverOutboundPayloadsCore(params: {
|
async function deliverOutboundPayloadsCore(
|
||||||
cfg: OpenClawConfig;
|
params: DeliverOutboundPayloadsCoreParams,
|
||||||
channel: Exclude<OutboundChannel, "none">;
|
): Promise<OutboundDeliveryResult[]> {
|
||||||
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[]> {
|
|
||||||
const { cfg, channel, to, payloads } = params;
|
const { cfg, channel, to, payloads } = params;
|
||||||
const accountId = params.accountId;
|
const accountId = params.accountId;
|
||||||
const deps = params.deps;
|
const deps = params.deps;
|
||||||
|
|||||||
Reference in New Issue
Block a user