UNPKG

@boundless-oss/atlas

Version:

Atlas - MCP Server for comprehensive startup project management

119 lines 2.89 kB
import { JSONSchema7 } from 'json-schema'; import { ValidationResult } from './types.js'; /** * Schema validation utility using Ajv */ export declare class SchemaValidator { private ajv; constructor(); /** * Validate data against a JSON schema */ validate(schema: JSONSchema7, data: any): ValidationResult; /** * Validate and return cleaned data */ validateAndClean<T>(schema: JSONSchema7, data: any): { valid: boolean; data?: T; errors?: ValidationResult['errors']; }; /** * Create a validation function for a specific schema */ createValidator(schema: JSONSchema7): (data: any) => ValidationResult; /** * Add custom format validators */ private addCustomFormats; } export declare function getValidator(): SchemaValidator; /** * Common schema definitions for reuse */ export declare const CommonSchemas: { id: { type: "string"; minLength: number; maxLength: number; pattern: string; }; projectId: { type: "string"; minLength: number; maxLength: number; description: string; }; timestamp: { type: "integer"; format: "unix-timestamp"; description: string; }; priority: { type: "string"; format: "priority"; default: string; description: string; }; tags: { type: "array"; items: { type: "string"; minLength: number; maxLength: number; }; default: any[]; description: string; }; storyPoints: { type: "integer"; format: "story-points"; default: number; description: string; }; status: { story: { type: "string"; format: "story-status"; default: string; description: string; }; sprint: { type: "string"; format: "sprint-status"; default: string; description: string; }; approval: { type: "string"; format: "approval-status"; default: string; description: string; }; }; documentation: { url: { type: "string"; format: "uri"; description: string; }; status: { type: "string"; format: "doc-status"; default: string; description: string; }; }; }; /** * Utility function to create error responses */ export declare function createValidationError(errors: ValidationResult['errors']): { code: string; message: string; details: Record<string, any>; suggestions: string[]; recoverable: boolean; category: 'validation'; }; //# sourceMappingURL=validation.d.ts.map