mcp-server-logzio
Version:
Model Context Protocol server for Logz.io log management platform
65 lines • 1.8 kB
JavaScript
import { z } from 'zod';
/**
* Common timestamp range schema
*/
export const TimeRangeSchema = z.object({
from: z.string().datetime().optional(),
to: z.string().datetime().optional(),
timeRange: z.enum(['1h', '6h', '12h', '24h', '3d', '7d', '30d']).optional(),
});
/**
* Log severity levels
*/
export const LogSeveritySchema = z.enum([
'trace',
'debug',
'info',
'warn',
'error',
'fatal',
]);
/**
* Search logs request schema
*/
export const SearchLogsRequestSchema = z.object({
query: z.string().min(1, 'Query cannot be empty'),
timeRange: TimeRangeSchema.optional(),
logType: z.string().optional(),
severity: LogSeveritySchema.optional(),
limit: z.number().min(1).max(10000).default(100),
offset: z.number().min(0).default(0),
sort: z.enum(['asc', 'desc']).default('desc'),
});
/**
* Lucene query request schema
*/
export const LuceneQueryRequestSchema = z.object({
luceneQuery: z.string().min(1, 'Lucene query cannot be empty'),
from: z.string().datetime().optional(),
to: z.string().datetime().optional(),
size: z.number().min(1).max(10000).default(100),
sort: z.enum(['asc', 'desc']).default('desc'),
});
/**
* Log statistics request schema
*/
export const LogStatsRequestSchema = z.object({
timeRange: TimeRangeSchema,
groupBy: z.array(z.string()).optional(),
filters: z.record(z.string(), z.string()).optional(),
});
/**
* Pagination parameters
*/
export const PaginationSchema = z.object({
page: z.number().min(0).default(0),
size: z.number().min(1).max(10000).default(100),
});
/**
* Sort parameters
*/
export const SortSchema = z.object({
field: z.string().default('@timestamp'),
order: z.enum(['asc', 'desc']).default('desc'),
});
//# sourceMappingURL=types.js.map