Sanity Library Reference Docs
    Preparing search index...
    interface PendingEffect {
        _key: string;
        _type?: "pendingEffect";
        actor?: Actor;
        bindings?: Record<string, string>;
        claim?: PendingEffectClaim;
        description?: string;
        name: string;
        origin: EffectOrigin;
        params: Record<string, unknown>;
        queuedAt: string;
        stageEntryKey?: string;
        title?: string;
    }
    Index

    Properties

    _key: string
    _type?: "pendingEffect"
    actor?: Actor

    Actor that queued the effect (the one who fired the action / activated the activity). Separate from claim.claimedBy, which is the actor that later picks it up for dispatch.

    bindings?: Record<string, string>

    Authoring bindings preserved verbatim (GROQ strings over the rendered scope). The resolved concrete values live on params. Useful for audit / debugging — the runtime should always read from params.

    Presence = a drainer is dispatching this entry. Absence = the entry is unclaimed and eligible for drain. Settled entries (any EffectRunStatus) don't live on pendingEffects[] at all; they move to effectHistory[].

    description?: string
    name: string
    origin: EffectOrigin
    params: Record<string, unknown>
    queuedAt: string
    stageEntryKey?: string

    _key of the stage entry this effect was queued under — for a transition's effects, the entry being entered. Carried onto the completion's history row, where it is what ties a run to its stage entry for the $effectStatus read. Absent only on entries persisted before the engine stamped it.

    title?: string