def act_error_class()

in src/nova_act/types/act_errors.py [0:0]


def act_error_class(default_message: str):
    def decorator(cls):
        @dataclasses.dataclass(frozen=True, repr=False)
        class wrapped(cls):
            _DEFAULT_MESSAGE = default_message

            def __init__(self, *, metadata: ActMetadata, message: str | None = None, **kwargs):
                super().__init__(metadata=metadata, message=message)
                wrapped.__name__ = cls.__name__
                for key, value in kwargs.items():
                    object.__setattr__(self, key, value)

        wrapped.__qualname__ = cls.__qualname__
        return wrapped

    return decorator