import { z } from "zod";
import "dotenv/config";
const EnvSchema = z.object({
// Provider selection
CHAT_PROVIDER: z.enum(["discord"]).default("discord"),
// Discord configuration
DISCORD_API_KEY: z.string(),
DISCORD_CHANNEL_ID: z.string(),
// General settings
CHAT_TIMEOUT_MS: z
.string()
.optional()
.transform((val) => (val ? parseInt(val, 10) : 600000)),
NODE_ENV: z
.enum(["development", "test", "production"])
.default("development"),
});
const parsedEnv = EnvSchema.safeParse(process.env);
if (!parsedEnv.success) {
console.error("Invalid environment variables");
console.error(z.prettifyError(parsedEnv.error));
process.exit(1);
}
export type AppConfig = z.infer<typeof EnvSchema>;
export const config: AppConfig = parsedEnv.data;
export const appVersion = "1.0.0";