openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
36 lines (35 loc) • 1.34 kB
JavaScript
import { c as getReplyPayloadMetadata } from "./reply-payload-BEgsL2xJ.mjs";
import { t as applySessionEntryOperation } from "./session-accessor.sqlite-entry-DLa7_9ui.mjs";
import { o as settlePendingFinalDelivery } from "./delivery-completion-CBsvdkT5.mjs";
//#region src/auto-reply/reply/dispatch-from-config.pending-final.ts
async function suppressPendingFinalDelivery(payload, options = {}) {
const completion = payload ? getReplyPayloadMetadata(payload)?.pendingFinalDeliveryCompletion : void 0;
if (completion) {
await settlePendingFinalDelivery({
kind: "pending-final",
...completion
}, "suppressed", ["prepared"], options);
await clearPendingFinalDeliveryAfterSuccess(completion, options);
}
}
async function clearPendingFinalDeliveryAfterSuccess(identity, options = {}) {
if (!identity) return;
await applySessionEntryOperation({
agentId: identity.agentId,
storePath: identity.storePath,
sessionKey: identity.sessionKey
}, {
kind: "pending-final-clear",
sessionId: identity.sessionId,
intentId: identity.intentId,
recoveryRunId: identity.recoveryRunId,
now: Date.now()
}, {
skipMaintenance: true,
takeCacheOwnership: true,
preserveActivity: options.preserveActivity,
workerGuard: {}
});
}
//#endregion
export { suppressPendingFinalDelivery as n, clearPendingFinalDeliveryAfterSuccess as t };