| import "dotenv/config"; |
| import { createEnv } from "@t3-oss/env-core"; |
| import { z } from "zod"; |
|
|
| export const env = createEnv({ |
| server: { |
| DATABASE_URL: z.string().min(1), |
| REDIS_URL: z.string().min(1).default("redis://localhost:6379"), |
| BETTER_AUTH_SECRET: z.string().min(32), |
| BETTER_AUTH_URL: z.url(), |
| CORS_ORIGIN: z.url(), |
| API_KEY_ENCRYPTION_KEY: z.string().min(32), |
| NODE_ENV: z.enum(["development", "production", "test"]).default("development"), |
| SMTP_HOST: z.string().min(1).optional(), |
| SMTP_PORT: z.coerce.number().positive().default(587), |
| SMTP_USER: z.string().min(1).optional(), |
| SMTP_PASS: z.string().min(1).optional(), |
| SMTP_FROM: z.string().min(1).optional(), |
| PLATFORM_AI_API_KEY: z.string().optional(), |
| PLATFORM_AI_BASE_URL: z.string().optional(), |
| PLATFORM_AI_MODEL: z.string().optional(), |
| FREE_CREDITS_ENABLED: z.coerce.boolean().default(false), |
| FREE_CREDITS_MAX_POOL: z.coerce.number().positive().default(1_000_000), |
| DEFAULT_SIGNUP_CREDIT_TOKENS: z.coerce.number().positive().default(50_000), |
| CLOUDFLARE_TURNSTILE_SECRET_KEY: z.string().optional(), |
| }, |
| runtimeEnv: process.env, |
| emptyStringAsUndefined: true, |
| }); |
|
|