"""사장님 에이전트 설정 — 루트 .env 하나만 읽는다(APP_ENV=test 면 .env 를 읽지 않는다).""" from pydantic_settings import BaseSettings from config.config_models import _BASE class AgentConfig(BaseSettings): model_config = _BASE # 카카오톡 채널 공개 ID(`_xaBcD` 형태). KAKAO_CHANNEL_PUBLIC_ID: str = "" # 코드 수명. KAKAO_LINK_CODE_TTL_MIN: int = 10 # 코드가 짧아서(사람이 손으로 친다) 무차별 대입이 가능하다. KAKAO_LINK_MAX_ATTEMPTS: int = 5 # 빌더 화면의 대화창. AGENT_CHAT_ENABLED: str = "1" # 카카오 웹훅 인증. KAKAO_WEBHOOK_SECRET: str = "" # 우리 봇이 맞는지 한 겹 더 본다. KAKAO_BOT_ID: str = "" def get(name, default=""): return getattr(AgentConfig(), name, default) or default def chat_enabled() -> bool: return get("AGENT_CHAT_ENABLED", "0") == "1" def webhook_secret() -> str: return get("KAKAO_WEBHOOK_SECRET") def kakao_link_enabled() -> bool: return bool(get("KAKAO_CHANNEL_PUBLIC_ID")) def channel_url() -> str: """사장님이 눌러서 채널로 가는 주소.""" public_id = get("KAKAO_CHANNEL_PUBLIC_ID") return f"http://pf.kakao.com/{public_id}" if public_id else ""