Spaces:
Build error
Build error
| import md5 from "spark-md5"; | |
| import { DEFAULT_MODELS } from "../constant"; | |
| declare global { | |
| namespace NodeJS { | |
| interface ProcessEnv { | |
| OPENAI_API_KEY?: string; | |
| CODE?: string; | |
| BASE_URL?: string; | |
| PROXY_URL?: string; | |
| OPENAI_ORG_ID?: string; | |
| VERCEL?: string; | |
| HIDE_USER_API_KEY?: string; // disable user's api key input | |
| DISABLE_GPT4?: string; // allow user to use gpt-4 or not | |
| BUILD_MODE?: "standalone" | "export"; | |
| BUILD_APP?: string; // is building desktop app | |
| ENABLE_BALANCE_QUERY?: string; // allow user to query balance or not | |
| DISABLE_FAST_LINK?: string; // disallow parse settings from url or not | |
| CUSTOM_MODELS?: string; // to control custom models | |
| } | |
| } | |
| } | |
| const ACCESS_CODES = (function getAccessCodes(): Set<string> { | |
| const code = process.env.CODE; | |
| try { | |
| const codes = (code?.split(",") ?? []) | |
| .filter((v) => !!v) | |
| .map((v) => md5.hash(v.trim())); | |
| return new Set(codes); | |
| } catch (e) { | |
| return new Set(); | |
| } | |
| })(); | |
| export const getServerSideConfig = () => { | |
| if (typeof process === "undefined") { | |
| throw Error( | |
| "[Server Config] you are importing a nodejs-only module outside of nodejs", | |
| ); | |
| } | |
| let disableGPT4 = !!process.env.DISABLE_GPT4; | |
| let customModels = process.env.CUSTOM_MODELS ?? ""; | |
| if (disableGPT4) { | |
| if (customModels) customModels += ","; | |
| customModels += DEFAULT_MODELS.filter((m) => m.name.startsWith("gpt-4")) | |
| .map((m) => "-" + m.name) | |
| .join(","); | |
| } | |
| return { | |
| apiKey: process.env.OPENAI_API_KEY, | |
| code: process.env.CODE, | |
| codes: ACCESS_CODES, | |
| needCode: ACCESS_CODES.size > 0, | |
| baseUrl: process.env.BASE_URL, | |
| proxyUrl: process.env.PROXY_URL, | |
| openaiOrgId: process.env.OPENAI_ORG_ID, | |
| isVercel: !!process.env.VERCEL, | |
| hideUserApiKey: !!process.env.HIDE_USER_API_KEY, | |
| disableGPT4, | |
| hideBalanceQuery: !process.env.ENABLE_BALANCE_QUERY, | |
| disableFastLink: !!process.env.DISABLE_FAST_LINK, | |
| customModels, | |
| }; | |
| }; | |