2026-02-13 22:43:55 -08:00
|
|
|
import { z } from "zod";
|
|
|
|
|
import "dotenv/config";
|
|
|
|
|
|
|
|
|
|
const EnvSchema = z.object({
|
|
|
|
|
PORT: z.coerce.number().int().positive().default(8787),
|
|
|
|
|
HOST: z.string().default("0.0.0.0"),
|
|
|
|
|
|
|
|
|
|
// simple bearer-token auth for your personal backend
|
|
|
|
|
ADMIN_TOKEN: z.string().min(20).optional(),
|
|
|
|
|
|
|
|
|
|
// provider keys
|
|
|
|
|
OPENAI_API_KEY: z.string().optional(),
|
|
|
|
|
ANTHROPIC_API_KEY: z.string().optional(),
|
|
|
|
|
XAI_API_KEY: z.string().optional(),
|
2026-02-13 23:49:55 -08:00
|
|
|
EXA_API_KEY: z.string().optional(),
|
2026-02-13 22:43:55 -08:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export type Env = z.infer<typeof EnvSchema>;
|
|
|
|
|
|
|
|
|
|
export const env: Env = EnvSchema.parse(process.env);
|