mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-05 19:50:22 +00:00
refactor(heartbeat): share reply payload picker
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import type { ReplyPayload } from "../../auto-reply/types.js";
|
||||
import { appendCronStyleCurrentTimeLine } from "../../agents/current-time.js";
|
||||
import { resolveHeartbeatReplyPayload } from "../../auto-reply/heartbeat-reply-payload.js";
|
||||
import {
|
||||
DEFAULT_HEARTBEAT_ACK_MAX_CHARS,
|
||||
resolveHeartbeatPrompt,
|
||||
@@ -26,27 +26,6 @@ import { whatsappHeartbeatLog } from "./loggers.js";
|
||||
import { getSessionSnapshot } from "./session-snapshot.js";
|
||||
import { elide } from "./util.js";
|
||||
|
||||
function resolveHeartbeatReplyPayload(
|
||||
replyResult: ReplyPayload | ReplyPayload[] | undefined,
|
||||
): ReplyPayload | undefined {
|
||||
if (!replyResult) {
|
||||
return undefined;
|
||||
}
|
||||
if (!Array.isArray(replyResult)) {
|
||||
return replyResult;
|
||||
}
|
||||
for (let idx = replyResult.length - 1; idx >= 0; idx -= 1) {
|
||||
const payload = replyResult[idx];
|
||||
if (!payload) {
|
||||
continue;
|
||||
}
|
||||
if (payload.text || payload.mediaUrl || (payload.mediaUrls && payload.mediaUrls.length > 0)) {
|
||||
return payload;
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
export async function runWebHeartbeatOnce(opts: {
|
||||
cfg?: ReturnType<typeof loadConfig>;
|
||||
to: string;
|
||||
|
||||
Reference in New Issue
Block a user