Sanity Library Reference Docs
    Preparing search index...

    A stage's content mutation guard. Its name must be unique across the whole definition and use lowercase letters, digits, and dashes, starting with a letter or digit. match.actions must contain at least one action.

    match.types intersects the ID criteria. Within the ID criteria, matching either idRefs or idPatterns is sufficient. Omitted or empty optional criteria do not constrain the match. idRefs uses typed GuardReads. Patterns use resource-local document-ID characters and * wildcards. A release-version pattern is rejected if translating it for a lifecycle action would broaden it to every document.

    predicate is delta-mode GROQ over document, guard, and mutation; see GUARD_PREDICATE_VARS. Only a strict true allows a matching mutation. An omitted or empty predicate denies it. metadata resolves GuardReads into values available as guard.metadata in the predicate. Engine evaluations are advisory; the Content Lake is the enforcement point.

    interface AuthoringGuard {
        description?: string;
        match: {
            actions: ("create" | "update" | "delete" | "publish" | "unpublish")[];
            idPatterns?: string[];
            idRefs?: GuardRead[];
            types?: string[];
        };
        metadata?: { [key: string]: GuardRead };
        name: string;
        predicate?: string;
        title?: string;
    }
    Index

    Properties

    description?: string = ...
    match: {
        actions: ("create" | "update" | "delete" | "publish" | "unpublish")[];
        idPatterns?: string[];
        idRefs?: GuardRead[];
        types?: string[];
    } = ...
    metadata?: { [key: string]: GuardRead } = ...
    name: string = NonEmpty
    predicate?: string = ...
    title?: string = ...