[docs]classActionEffect:"""Result of executing an action — consumed by the conflict resolver."""def__init__(self,success:bool,state_deltas:Union[Dict[str,Any],List['IStateDeltaCommand']],observation_data:Dict[str,Any],eta:int=0,action:Optional['BaseAction']=None,):self.success=successself.state_deltas=state_deltasself.observation_data=observation_dataself.eta=etaself.action=actionself.cost=getattr(action,'cost',0)ifactionelse0