Sanity Library Reference Docs
    Preparing search index...
    interface ActivityEvaluation {
        actions: ActionEvaluation[];
        activity: Activity;
        autonomy: AutonomyAnswer;
        classification: "autonomous" | "interactive" | "off-system" | "hybrid";
        filterInsight?: ConditionInsight;
        kind: "user" | "service" | "script" | "manual" | "receive";
        pendingOnActor: boolean;
        requirementInsights?: Record<string, ConditionInsight>;
        scopedOut: boolean;
        semantics?: Semantic[];
        status: ActivityStatus;
        unmetRequirements?: RequirementDescriptor[];
    }
    Index

    Properties

    actions: ActionEvaluation[]
    activity: Activity
    autonomy: AutonomyAnswer

    The causal refinement of ActivityEvaluation.classification: whether this activity completes without a caller, derived by deriveWorkflowAutonomy's dataflow over the definition — a mechanically autonomous activity whose triggers only read caller-written state still reports the caller it waits on.

    classification: "autonomous" | "interactive" | "off-system" | "hybrid"

    Who, if anyone, fires the activity's actions — derived from its shape alone: autonomous (every action cascade-fired), interactive (only fireAction-fired actions), off-system (target present), or hybrid.

    filterInsight?: ConditionInsight

    Derived state of the activity's filter existence gate. Present iff declared. Advisory read: the engine's stage entry owns the gate itself.

    kind: "user" | "service" | "script" | "manual" | "receive"

    The activity's shape-derived ActivityKind. Advisory: a label so a consumer can render each activity as what it is (user / service / script / manual / receive).

    pendingOnActor: boolean

    Whether this activity is the current actor's responsibility right now.

    requirementInsights?: Record<string, ConditionInsight>

    Derived state per declared requirement, keyed by requirement name. Present iff the activity declares requirements; unmetRequirements contains descriptors for exactly the requirements whose insight isn't satisfied.

    scopedOut: boolean

    The stage-entry filter scoped this activity out of the current visit: its entry is skipped and never started, so it does not exist for this visit — surfaces hide it entirely (an action-resolved skipped was real, started work and stays visible). Derived via isFilterScopedOut, stamped here so consumers never re-join entry state to compute it.

    semantics?: Semantic[]

    The activity's advisory workflow meaning, unchanged from its definition.

    unmetRequirements?: RequirementDescriptor[]

    The activity's unmet Activity.requirements, with authored display copy — present iff at least one is unmet. The activity's own readiness summary: a consumer can explain why the whole activity is gated without inspecting each action (every action also carries the matching requirements-unmet disabledReason).