Member Junction
    Preparing search index...

    Type Alias DurableEntityActionRequest

    One durable dispatch: which binding, on which record, with what already-redacted inputs.

    type DurableEntityActionRequest = {
        ActionID: string;
        ActionName: string;
        ContextUser: UserInfo;
        EntityActionID: string;
        EntityID: string;
        EntityName: string;
        InvocationType: string;
        RecordID: string;
        RedactedParams: Record<string, unknown>;
    }
    Index

    Properties

    ActionID: string

    The action it dispatches to — resolved here so the submitter needs no metadata lookup.

    ActionName: string

    Human-readable name of that action, used for the task's name.

    ContextUser: UserInfo
    EntityActionID: string

    The MJ: Entity Actions binding that fired.

    EntityID: string

    The entity whose save fired this.

    EntityName: string

    Name of that entity, for a task description a person can read.

    InvocationType: string

    Which lifecycle event fired — AfterCreate / AfterUpdate / AfterDelete.

    RecordID: string

    The record, in MJ's canonical serialized form (ToConcatenatedString()).

    RedactedParams: Record<string, unknown>

    The action's input parameters, already redacted — the name → value record produced by RedactParamsToRecord in ./ParamRedaction. A parameter suppressed by any redaction rule is omitted entirely, not present with an undefined or placeholder value.

    Typed as a Record<string, unknown> rather than ActionParam[] / LoggedParam[] deliberately: Task.InputPayload is persistent, user-visible storage, and the #3408 §5.7 invariant is that no path writes a raw ActionParam[] there. It also isn't the array/log shape RedactParams/RedactParamsToJSON produce — a positional array here is silently wrong rather than loudly wrong: it round-trips through JSON.stringify/JSON.parse without error, and every released build with durable dispatch (v6.1.0 onward, including 6.1.4) hit the same failure — TaskGraphDispatcher's mergedPayload only merges plain objects, so it silently dropped the array and the action ran with NONE of its inputs. Params named "0", "1", … instead of their real names would only appear if the array reached TaskGraphActionRunner.buildParams directly, bypassing that drop (MJ#4794). Taking the redacted record shape at the boundary is what makes violating that invariant require changing this type rather than forgetting a call.