""" Configuration for the pg_plan_cache agent. Loads settings from environment variables or .env file. """ import os from dataclasses import dataclass @dataclass class Config: # PostgreSQL pg_host: str = "127.0.0.1" pg_port: int = 5432 pg_database: str = "postgres" pg_user: str = "postgres" pg_password: str = "" # Redis redis_host: str = "127.0.0.1" redis_port: int = 6379 redis_password: str = "" redis_db: int = 0 def load_config() -> Config: """Load configuration from environment variables.""" try: from dotenv import load_dotenv env_path = os.path.join(os.path.dirname(__file__), ".env") load_dotenv(env_path) except ImportError: pass return Config( pg_host=os.getenv("PG_HOST", "127.0.0.1"), pg_port=int(os.getenv("PG_PORT", "5432")), pg_database=os.getenv("PG_DATABASE", "postgres"), pg_user=os.getenv("PG_USER", "postgres"), pg_password=os.getenv("PG_PASSWORD", ""), redis_host=os.getenv("REDIS_HOST", "127.0.0.1"), redis_port=int(os.getenv("REDIS_PORT", "6379")), redis_password=os.getenv("REDIS_PASSWORD", ""), redis_db=int(os.getenv("REDIS_DB", "0")), )