"""司命异常。错误码映射契约字典 API 标准错误码。""" from __future__ import annotations class SafetyError(Exception): """司命决策异常基类。""" def __init__(self, code: str, message: str) -> None: super().__init__(message) self.code = code self.message = message def __str__(self) -> str: return self.message class PermissionDenied(SafetyError): """动作被司命拒绝(映射 permission_denied)。""" def __init__(self, message: str) -> None: super().__init__("permission_denied", message) class RequiresConfirmation(SafetyError): """高风险动作需用户确认(映射 requires_confirmation)。""" def __init__(self, message: str, *, risk_level: str | None = None) -> None: super().__init__("requires_confirmation", message) self.risk_level = risk_level