File size: 745 Bytes
b16e3f0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
31
32
33
34
import z from "zod";
import { randomUUID } from "node:crypto";

const ENVSchema = z.object({
  BASE_URL: z.string().default("https://chat.openai.com"),
  APP_PORT: z
    .string()
    .transform((v) => Number(v))
    .default("3000"),
  MAX_SESSION_TRIES: z
    .string()
    .transform((v) => Number(v))
    .default("3"),
  API_TOKEN: z
    .string()
    .default("")
    .transform((val) => {
      if (!val) {
        return "sk-" + randomUUID().replaceAll("-", "");
      }
      return val;
    }),
  /**
   * Auto generate new token and fetch agent for openAI
   * @default 1 minute
   */
  AGENT_ROLL_INTERVAL: z
    .string()
    .transform((v) => Number(v))
    .default("60000"),
});

export const ENV = ENVSchema.parse(process.env);