ForcePilot/backend/package/yuxi/channel/security/__init__.py
Kris bab30f2715
Some checks failed
Deploy VitePress site to Pages / build (push) Has been cancelled
Ruff Format Check / Ruff Format & Lint (push) Has been cancelled
Deploy VitePress site to Pages / Deploy (push) Has been cancelled
feat:0715
2026-07-15 12:30:58 +08:00

61 lines
1.6 KiB
Python

"""多渠道网关安全策略组件。"""
from yuxi.channel.security.models import DmPolicy, GroupPolicy, RateLimitPolicy
__all__ = [
"AllowlistChecker",
"BotLoopDetector",
"DmPolicy",
"GroupPolicy",
"IdentityLinkResolver",
"PairingChecker",
"PairingManager",
"RateLimitPolicy",
"RateLimiter",
"SecurityCheckResult",
"SecurityChecker",
"SecurityCheckerRegistry",
"SecurityContext",
"SecurityPolicy",
]
def __getattr__(name: str):
if name == "AllowlistChecker":
from .allowlist import AllowlistChecker
return AllowlistChecker
if name == "BotLoopDetector":
from .bot_loop import BotLoopDetector
return BotLoopDetector
if name == "IdentityLinkResolver":
from .identity import IdentityLinkResolver
return IdentityLinkResolver
if name == "PairingChecker":
from .pairing import PairingChecker
return PairingChecker
if name == "PairingManager":
from .pairing import PairingManager
return PairingManager
if name == "RateLimiter":
from .rate_limit import RateLimiter
return RateLimiter
if name == "SecurityCheckResult":
from .policy import SecurityCheckResult
return SecurityCheckResult
if name in ("SecurityChecker", "SecurityCheckerRegistry", "SecurityContext"):
from . import registry
return getattr(registry, name)
if name == "SecurityPolicy":
from .policy import SecurityPolicy
return SecurityPolicy
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")