Files
FastGPT/packages/service/env.ts
T
gaga0714 bb8852d82b fix: add maxnum of folders to env (#6628)
* fix: add maxnum of folders to env

* fix: 知识库文件夹上限数量结构调整

* fix
2026-03-25 13:59:18 +08:00

47 lines
1.8 KiB
TypeScript

import { createEnv } from '@t3-oss/env-core';
import { z } from 'zod';
const BoolSchema = z
.string()
.transform((val) => val === 'true')
.pipe(z.boolean());
const LogLevelSchema = z.enum(['trace', 'debug', 'info', 'warning', 'error', 'fatal']);
export const env = createEnv({
server: {
AGENT_SANDBOX_PROVIDER: z.enum(['sealosdevbox', 'opensandbox', 'e2b']).optional(),
AGENT_SANDBOX_SEALOS_BASEURL: z.string().url().optional(),
AGENT_SANDBOX_SEALOS_TOKEN: z.string().optional(),
AGENT_SANDBOX_OPENSANDBOX_BASEURL: z.string().url().optional(),
AGENT_SANDBOX_OPENSANDBOX_TOKEN: z.string().optional(),
AGENT_SANDBOX_E2B_API_KEY: z.string().optional(),
LOG_ENABLE_CONSOLE: BoolSchema.default(true),
LOG_CONSOLE_LEVEL: LogLevelSchema.default('debug'),
LOG_ENABLE_OTEL: BoolSchema.default(false),
LOG_OTEL_LEVEL: LogLevelSchema.default('info'),
LOG_OTEL_SERVICE_NAME: z.string().default('fastgpt-client'),
LOG_OTEL_URL: z.url().optional(),
METRICS_ENABLE_OTEL: BoolSchema.default(false),
METRICS_EXPORT_INTERVAL: z.coerce.number().int().positive().default(15000),
METRICS_OTEL_SERVICE_NAME: z.string().default('fastgpt-client'),
METRICS_OTEL_URL: z.url().optional(),
TRACING_ENABLE_OTEL: BoolSchema.default(false),
TRACING_OTEL_SERVICE_NAME: z.string().default('fastgpt-client'),
TRACING_OTEL_URL: z.url().optional(),
TRACING_OTEL_SAMPLE_RATIO: z.coerce.number().min(0).max(1).optional(),
APP_FOLDER_MAX_AMOUNT: z.coerce.number().int().positive().default(1000),
DATASET_FOLDER_MAX_AMOUNT: z.coerce.number().int().positive().default(1000)
},
emptyStringAsUndefined: true,
runtimeEnv: process.env,
onValidationError(issues) {
const paths = issues.map((issue) => issue.path).join(', ');
throw new Error(`Invalid environment variables. Please check: ${paths}\n`);
}
});