Source code for nlp_shap.protocols.masking

"""Masking and absence policy protocols."""

from typing import Protocol

from ..domain.coalition import CoalitionMask
from ..domain.conversation import ConversationSnapshot
from ..domain.players import PlayerSet


[docs] class AbsencePolicy(Protocol): """Render absent players when building a masked snapshot view.""" @property def name(self) -> str: """Return the registered absence-policy identifier."""
[docs] def apply( self, snapshot: ConversationSnapshot, players: PlayerSet, mask: CoalitionMask, ) -> ConversationSnapshot: """Return a masked snapshot view for coalition evaluation."""