# Path: bolt/api.py
# class BoltError(Exception):
#     """
#     Base class for all exceptions in Bolt. The class is provided for inheritance
#     and it should not be used by itself.
# 
#     Errors for the Bolt application itself should be derived from this class.
#     """
#     def __init__(self, code=1):
#         self.code = code
# 
# 
#     def __repr__(self):
#         return 'BoltError({code})'.format(code=self.code)
# 
# 
#     def __str__(self):
#         return repr(self)


from bolt.api import BoltError



class RequiredParameterMissingError(ConfigurationParameterError):
    """
    Indicates a requiered configuration parameter is missing from the task 
    configuration
    """
    
    def __repr__(self):
        return 'RequiredParameterMissingError({pn})'.format(pn=repr(self.parameter))




class ConfigurationValueError(ConfigurationParameterError):
    """
    Indicates the value for a configuration parameter is invalid.
    """
    def __init__(self, param_name, value):
        super(ConfigurationValueError, self).__init__(param_name)
        self.value = value


    def __repr__(self):
        fmt = 'ConfigurationValueError({pn}, {v})'
        return fmt.format(pn=repr(self.parameter), v=repr(self.value))




# Path: bolt/api.py
# class BoltError(Exception):
#     """
#     Base class for all exceptions in Bolt. The class is provided for inheritance
#     and it should not be used by itself.
# 
#     Errors for the Bolt application itself should be derived from this class.
#     """
#     def __init__(self, code=1):
#         self.code = code
# 
# 
#     def __repr__(self):
#         return 'BoltError({code})'.format(code=self.code)
# 
# 
#     def __str__(self):
#         return repr(self)


# Path: bolt/errors.py
from bolt.api import BoltError




class RequiredParameterMissingError(ConfigurationParameterError):
    """
    Indicates a requiered configuration parameter is missing from the task 
    configuration
    """
    
    def __repr__(self):
        return 'RequiredParameterMissingError({pn})'.format(pn=repr(self.parameter))




class ConfigurationValueError(ConfigurationParameterError):
    """
    Indicates the value for a configuration parameter is invalid.
    """
    def __init__(self, param_name, value):
        super(ConfigurationValueError, self).__init__(param_name)
        self.value = value


    def __repr__(self):
        fmt = 'ConfigurationValueError({pn}, {v})'
        return fmt.format(pn=repr(self.parameter), v=repr(self.value))




class TaskError(BoltError):