openclaw/src/auto-reply/heartbeat-reply-payload.ts

24 lines
614 B
TypeScript

import { hasOutboundReplyContent } from "openclaw/plugin-sdk/reply-payload";
import type { ReplyPayload } from "./types.js";
export 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 (hasOutboundReplyContent(payload)) {
return payload;
}
}
return undefined;
}