UNPKG

breathe-api

Version:

Model Context Protocol server for Breathe HR APIs with Swagger/OpenAPI support - also works with custom APIs

50 lines 1.57 kB
import { z } from 'zod'; export const HttpMethodSchema = z.enum([ 'GET', 'POST', 'PUT', 'DELETE', 'PATCH', ]); export const ApiRequestSchema = z.object({ url: z.string().url(), method: HttpMethodSchema, headers: z.record(z.string()).optional(), params: z.record(z.string()).optional(), data: z.any().optional(), timeout: z.number().optional(), }); export const SwaggerSpecSchema = z.object({ url: z.string().url().optional(), spec: z.any().optional(), headers: z.record(z.string()).optional(), generateTypes: z.boolean().default(true), outputPath: z.string().optional(), }); export const CodeGenerationSchema = z.object({ swaggerUrl: z.string().url(), swaggerHeaders: z.record(z.string()).optional(), platform: z.enum(['react', 'react-native', 'nextjs', 'ruby']), outputDir: z.string(), baseUrl: z.string().optional(), authType: z .enum(['none', 'bearer', 'api-key', 'oauth']) .default('none'), features: z .object({ hooks: z.boolean().default(true), errorHandling: z.boolean().default(true), caching: z.boolean().default(false), validation: z.boolean().default(true), }) .optional(), }); export const FeatureExplanationSchema = z.object({ swaggerUrl: z.string().url().optional(), swaggerHeaders: z.record(z.string()).optional(), feature: z.string(), platform: z .enum(['react', 'react-native', 'nextjs', 'ruby', 'both']) .default('both'), }); //# sourceMappingURL=api.js.map