Sanity Library Reference Docs
    Preparing search index...
    ValueExpr:
        | { type: "literal"; value: unknown }
        | {
            field: string;
            path?: string;
            scope?: "workflow" | "stage";
            type: "fieldRead";
        }
        | { param: string; type: "param" }
        | { type: "actor" }
        | { type: "now" }
        | { type: "self" }
        | { type: "stage" }
        | {
            fields: Record<
                string,
                | { type: "literal"; value: unknown }
                | {
                    field: string;
                    path?: string;
                    scope?: "workflow" | "stage";
                    type: "fieldRead";
                }
                | { param: string; type: "param" }
                | { type: "actor" }
                | { type: "now" }
                | { type: "self" }
                | { type: "stage" }
                | ({ type: "object"; fields: Record<string, ValueExprInternal>; }),
            >;
            type: "object";
        }

    An op's write payload, resolved to concrete JSON when the op applies. Each context-bound arm has a rendered $-twin in conditions (actor$actor, now$now, self$self), so learning one side teaches the other. Distinct from FieldSource, a field's seed recipe.