from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict


class SecurityConfig(BaseSettings):
    model_config = SettingsConfigDict(env_file=".env", extra="ignore")

    mode: str = "secure"
    enable_input_isolation: bool = True
    enable_injection_detection: bool = True
    enable_jailbreak_detection: bool = True
    enable_output_filter: bool = True
    task_whitelist: list[str] = Field(
        default_factory=lambda: ["translate", "summarize", "faq"]
    )
    refusal_message: str = "抱歉，我只能协助完成规定范围内的请求，无法处理该内容。"
    audit_enabled: bool = True
    llm_provider: str = "mock"


security_config = SecurityConfig()
