AccumulateItemOutcome:
    | "completed"
    | "accepted"
    | "duplicate-item"
    | "full"
    | "not-accumulator"
    | "not-found"
    | "already-resolved"
    | "already-cancelled"
    | "already-expired"
    | "claim-expired"
    | "claimed-by-other"
    | "reciprocal-duplicate"
    | "reciprocal-full"
    | "reciprocal-terminal"
    | "reciprocal-not-accumulator"
    | "reciprocal-not-found"

Outcome of an accumulateItem() call.

  • completed — this add reached max: the row resolved and the waiter was woken with the collection, in the same statement.
  • accepted — the item landed, the row stays pending.
  • duplicate-item — unique and the key is already held.
  • full — max items held and the key is new (only with resolveAtMax: false, or racing a completing add).
  • not-accumulator — the row carries no accumulate declaration.
  • reciprocal-* — the reciprocal row blocked the add; the container row was left untouched.
  • Remaining values match ResolveEscalationResult semantics.