File size: 1,605 Bytes
494c89b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
"""
Кастомные исключения для всей системы
"""


class KiroError(Exception):
    """Базовое исключение для всех ошибок Kiro"""
    pass


class TokenError(KiroError):
    """Ошибки связанные с токенами"""
    pass


class TokenExpiredError(TokenError):
    """Токен истёк"""
    pass


class TokenRefreshError(TokenError):
    """Ошибка обновления токена"""
    pass


class TokenNotFoundError(TokenError):
    """Токен не найден"""
    pass


class AuthError(KiroError):
    """Ошибки авторизации"""
    pass


class AuthBannedError(AuthError):
    """Аккаунт забанен"""
    def __init__(self, reason: str = "Unknown"):
        self.reason = reason
        super().__init__(f"Account banned: {reason}")


class QuotaError(KiroError):
    """Ошибки связанные с квотами"""
    pass


class QuotaExceededError(QuotaError):
    """Квота исчерпана"""
    pass


class MachineIdError(KiroError):
    """Ошибки связанные с Machine ID"""
    pass


class KiroNotInstalledError(KiroError):
    """Kiro IDE не установлен"""
    pass


class KiroRunningError(KiroError):
    """Kiro IDE запущен (нужно закрыть для операции)"""
    pass


class RegistrationError(KiroError):
    """Ошибки регистрации аккаунта"""
    pass


class EmailVerificationError(RegistrationError):
    """Ошибка верификации email"""
    pass