AbstractAbstractrequiredWhat data keys are required for this action to be evaluated?
a set of data keys required for this action to be evaluated.
AbstractinvokesWhat functions are invoked by this action? This information can be used for optimization, caching, or to determine which function nodes in the graph are relevant for this action.
a set of function names invoked by this action.
AbstracttypedWhat data keys will be changed when this action is executed, along with their expected types?
Optionalchecker: TypeCheckera record mapping data keys to their expected types.
AbstracttoReturns a string representation of an object.
AbstracttoAbstracttoAbstractcheckPerform type checking using the given type checker on this object.
Optionalchecker: TypeCheckerthe type checker to use for validating the target.
the result of the type check, indicating whether the target is valid and any errors if it is not.
AbstractexecuteExecute the required action in the given context and return the effects of the execution.
the current working context containing data and constants.
the effects of executing the action, including any changes or exceptions.
An executable action represents a specific operation that can be executed in the context of a rule. This can include actions like setting an output value, throwing an exception, or any other operation that can be performed as a consequence of a rule being satisfied. Each executable action must specify what data keys it requires to be evaluated and what data keys it will change when executed. This allows the rule engine to manage dependencies between rules and ensure that rules are executed in the correct order based on their requirements and effects.