@pwngh/economy-lab
    Preparing search index...

    Interface InboxMessage

    One stored inbox row: a verified inbound event mapped to the operation it applies (see InboxStore).

    interface InboxMessage {
        attempts: number;
        id: string;
        key: string;
        operation: Operation;
        reason: string | null;
        receivedAt: number;
        status: "pending" | "dead" | "applied";
    }
    Index
    attempts: number

    Apply attempts so far; at the configured cap the worker dead-letters the row.

    id: string
    key: string

    The provider's event id: the dedupe key on enqueue and the submitted operation's idempotencyKey, so a redelivered event resolves to the same money move at most once.

    operation: Operation
    reason: string | null

    Why the worker gave up, set when the row goes 'dead'; null otherwise.

    receivedAt: number

    When the verified event was enqueued.

    status: "pending" | "dead" | "applied"

    'pending' is the only status claimInbound ever hands back; 'applied' and 'dead' are terminal.