def __get_action_event_type(func: Callable):
        """
        Returns the event_type of a playbook action.
        E.g. given an action like:

            @action
            def some_playbook(event: PodEvent, params: MyPlaybookParams):
                pass

        This function returns the class PodEvent
        """
        func_params = iter(inspect.signature(func).parameters.values())
        event_type = next(func_params).annotation
        if not issubclass(event_type, ExecutionBaseEvent):
            raise Exception(f"Illegal action first parameter {event_type}. Must extend ExecutionBaseEvent")
        return event_type

        Returns the event_type of a playbook action.
        E.g. given an action like:

            @action
            def some_playbook(event: PodEvent, params: MyPlaybookParams):
                pass

        This function returns the class PodEvent
        
src/robusta/core/playbooks/actions_registry.py