23 lines
682 B
TypeScript
23 lines
682 B
TypeScript
import { z } from 'zod';
|
|
|
|
/**
|
|
* Common/shared configuration options schema (now includes global options)
|
|
*/
|
|
export const CommonConfigSchema = z.object({
|
|
serviceName: z.string().default('llm-observability-mcp'),
|
|
serviceVersion: z.string().default('1.0.0'),
|
|
environment: z.string().default('development'),
|
|
debug: z
|
|
.preprocess((val) => {
|
|
if (typeof val === 'string') {
|
|
if (val.toLowerCase() === 'false') return false;
|
|
if (val.toLowerCase() === 'true') return true;
|
|
}
|
|
return val;
|
|
}, z.boolean())
|
|
.default(false),
|
|
logLevel: z.enum(['debug', 'info', 'warn', 'error']).default('info'),
|
|
});
|
|
|
|
export type CommonConfigType = z.infer<typeof CommonConfigSchema>;
|