mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 12:31:23 +00:00
fix: telegram forward metadata + cron delivery guard (#8392) (thanks @Glucksberg)
This commit is contained in:
@@ -92,18 +92,6 @@ function resolveCronDeliveryBestEffort(job: CronJob): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
function resolveCronDeliveryFailure(
|
||||
resolved: Awaited<ReturnType<typeof resolveDeliveryTarget>>,
|
||||
): Error | undefined {
|
||||
if (resolved.error) {
|
||||
return resolved.error;
|
||||
}
|
||||
if (!resolved.to) {
|
||||
return new Error("cron delivery target is missing");
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
export type RunCronAgentTurnResult = {
|
||||
status: "ok" | "error" | "skipped";
|
||||
summary?: string;
|
||||
@@ -460,17 +448,29 @@ export async function runCronIsolatedAgentTurn(params: {
|
||||
);
|
||||
|
||||
if (deliveryRequested && !skipHeartbeatDelivery && !skipMessagingToolDelivery) {
|
||||
const deliveryFailure = resolveCronDeliveryFailure(resolvedDelivery);
|
||||
if (deliveryFailure) {
|
||||
if (resolvedDelivery.error) {
|
||||
if (!deliveryBestEffort) {
|
||||
return {
|
||||
status: "error",
|
||||
error: deliveryFailure.message,
|
||||
error: resolvedDelivery.error.message,
|
||||
summary,
|
||||
outputText,
|
||||
};
|
||||
}
|
||||
logWarn(`[cron:${params.job.id}] ${deliveryFailure.message}`);
|
||||
logWarn(`[cron:${params.job.id}] ${resolvedDelivery.error.message}`);
|
||||
return { status: "ok", summary, outputText };
|
||||
}
|
||||
if (!resolvedDelivery.to) {
|
||||
const message = "cron delivery target is missing";
|
||||
if (!deliveryBestEffort) {
|
||||
return {
|
||||
status: "error",
|
||||
error: message,
|
||||
summary,
|
||||
outputText,
|
||||
};
|
||||
}
|
||||
logWarn(`[cron:${params.job.id}] ${message}`);
|
||||
return { status: "ok", summary, outputText };
|
||||
}
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user