/** * The time-driven recovery transitions for the application command mailbox * (WFT-84): reclaiming an expired lease and terminalizing a command past its * absolute deadline. * * Split out of `mailbox-transitions.ts` only to keep both files * under this repository's file-size ceiling; `recoverExpiredCommand` is * re-exported from there so callers still have one import. * * @module core/mailbox-transitions-recovery */ import { type MailboxTransition } from './mailbox-transition-helpers.ts'; import type { ApplicationCommandAccepted, ApplicationCommandRecord, ApplicationCommandTerminalRecord } from './mailbox-types.ts'; /** * Recover a command whose lease expired or whose absolute deadline passed. * * A claimed command returns to `accepted` at its original FIFO position while * attempts remain, and is dead-lettered once they are gone. A * cancellation-requested command becomes `cancelled` with `cleanupPending: * true` — the mailbox stopped waiting for the claimant, which is not the same * as the claimant having stopped. Any non-terminal command past its absolute * deadline is dead-lettered regardless of remaining attempts. */ export declare function recoverExpiredCommand(record: ApplicationCommandRecord, options: { readonly now: number; readonly retryBackoffMs: number; readonly maxRetryBackoffMs: number; }): MailboxTransition;