package config import "os" const ( defaultHTTPAddr = ":8080" defaultEnvironment = "development" defaultModelKey = "deepseek-v4-flash" defaultImageModelKey = "gpt-image-v2" defaultThirdOneBin = "thirdone" defaultWorkflowRuntime = "" ) type Config struct { HTTPAddr string DatabaseURL string Environment string WorkflowRuntime string ModelKey string ImageModelKey string ThirdOneBin string GoogleClientID string JWTSecret string } func LoadFromEnv() Config { return Config{ HTTPAddr: envOrDefault("TUTOR_HTTP_ADDR", defaultHTTPAddr), DatabaseURL: envOrDefault("DATABASE_URL", ""), Environment: envOrDefault("TUTOR_ENV", defaultEnvironment), WorkflowRuntime: envOrDefault("TUTOR_WORKFLOW_RUNTIME", defaultWorkflowRuntime), ModelKey: envOrDefault("TUTOR_MODEL_KEY", defaultModelKey), ImageModelKey: envOrDefault("TUTOR_IMAGE_MODEL_KEY", defaultImageModelKey), ThirdOneBin: envOrDefault("THIRDONE_BIN", defaultThirdOneBin), GoogleClientID: envOrDefault("GOOGLE_CLIENT_ID", ""), JWTSecret: envOrDefault("JWT_SECRET", ""), } } func envOrDefault(key string, fallback string) string { value := os.Getenv(key) if value == "" { return fallback } return value }