interface AccumulateItemParams {
    actor?: string;
    assertClaim?: string;
    id?: string;
    itemKey: string;
    metadata?: Record<string, unknown>;
    namespace?: string;
    payload?: Record<string, unknown>;
    reciprocal?: AccumulateReciprocalSelector;
    resolvedBy?: ResolvedByIdentity;
    signalKey?: string;
}

Properties

actor?: string

Recorded on the entry (and the reciprocal entry) as actor.

assertClaim?: string

Claim-lock assertion inside the same guarded UPDATE, on the container row only. See ResolveEscalationParams.assertClaim.

id?: string

Row selector — exactly one of id | signalKey.

itemKey: string

The key this item is held under. Non-empty, at most ESCALATION_BATCH_ITEM_KEY_MAX_LENGTH characters.

metadata?: Record<string, unknown>

Merge patch applied to the row's GIN-indexed metadata in the same UPDATE. Reserved accumulate keys cannot be overridden.

namespace?: string
payload?: Record<string, unknown>

Stored as the entry's payload and delivered inside $accumulated.

A second accumulator row written in the same statement, both or neither. The reciprocal row holds the container's id as its item key and each entry points at the other row via reciprocalId. A member row declared accumulate: { max: 1 } completes and wakes here too.

resolvedBy?: ResolvedByIdentity

Resolver identity, delivered under $resolution with a completing wake. See ResolveEscalationParams.resolvedBy.

signalKey?: string