@botmesh/core - v2.0.0-alpha.2
    Preparing search index...

    Class KvInbox

    Implements

    Index
    • Insert-if-absent by id. 'duplicate' means the id is already known (any state); the existing record is returned unchanged. With lease, a new record is created already claimed (processing, token 1, 1 attempt), so no other claimer can take it between the append and the claim.

      Parameters

      Returns Promise<{ status: "appended" | "duplicate"; record: InboxRecord }>

    • processing → done.

      Parameters

      • id: string
      • token: number
      • now: number

      Returns Promise<void>

      when token is not the current claim.

    • processing → failed (due at retryAt, default now) or dead (dead: true).

      Parameters

      • id: string
      • token: number
      • error: string
      • o: { now: number; retryAt?: number; dead?: boolean }

      Returns Promise<void>

    • processing → pending, due now; the claim's attempt is not charged.

      Parameters

      • id: string
      • token: number
      • now: number

      Returns Promise<void>

    • Extend the current lease (heartbeat).

      Parameters

      • id: string
      • token: number
      • leaseUntil: number

      Returns Promise<void>

    • Operator replay: any record → pending, due now, attempts reset. No-op for an unknown id.

      Parameters

      • id: string
      • now: number

      Returns Promise<void>

    • Delete done records completed before doneBefore (and dead ones when includeDead). Returns the count.

      Parameters

      • o: { doneBefore: number; includeDead?: boolean }

      Returns Promise<number>