File size: 1,202 Bytes
cfc59e4
 
 
 
 
 
 
f90228b
cfc59e4
 
 
f2d1fea
cfc59e4
2b62b0c
bb6e880
2b62b0c
 
 
bede2fc
 
 
 
 
 
83e82db
cfc59e4
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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,
});