UNPKG

jezweb-mcp-core

Version:

Jezweb Model Context Protocol (MCP) Core - A universal server for providing AI tools and resources, designed for seamless integration with various AI models and clients. Features adaptable multi-provider support, comprehensive tool and resource management

78 lines 2.9 kB
/** * Shared Validation Library - Comprehensive validation utilities for OpenAI Assistants MCP Server * * This module consolidates all validation logic used across both Cloudflare Workers * and NPM package deployments. Following MCP best practices for error messages * and parameter validation. * * Consolidates 562 lines of duplicate validation code. */ import { MCPError } from '../types/index.js'; export declare const SUPPORTED_MODELS: readonly ["gpt-4", "gpt-4o", "gpt-4-turbo", "gpt-4-turbo-preview", "gpt-4-0125-preview", "gpt-4-1106-preview", "gpt-4-vision-preview", "gpt-3.5-turbo", "gpt-3.5-turbo-0125", "gpt-3.5-turbo-1106", "gpt-3.5-turbo-16k"]; export declare const ID_PATTERNS: { readonly assistant: RegExp; readonly thread: RegExp; readonly message: RegExp; readonly run: RegExp; readonly step: RegExp; readonly file: RegExp; readonly tool_call: RegExp; }; export interface ValidationResult { isValid: boolean; error?: MCPError; } /** * Validate OpenAI ID format */ export declare function validateOpenAIId(id: string, type: keyof typeof ID_PATTERNS, paramName: string): ValidationResult; /** * Validate OpenAI model name */ export declare function validateModel(model: string, paramName?: string): ValidationResult; /** * Validate numeric range */ export declare function validateNumericRange(value: number, paramName: string, min: number, max: number, defaultValue?: number): ValidationResult; /** * Validate required string parameter */ export declare function validateRequiredString(value: any, paramName: string, examples?: string[]): ValidationResult; /** * Validate enum value */ export declare function validateEnum<T extends string>(value: any, paramName: string, allowedValues: readonly T[], defaultValue?: T): ValidationResult; /** * Validate array parameter */ export declare function validateArray(value: any, paramName: string, required?: boolean): ValidationResult; /** * Validate metadata object */ export declare function validateMetadata(metadata: any, paramName?: string): ValidationResult; /** * Validate tool configuration */ export declare function validateTools(tools: any, paramName?: string): ValidationResult; /** * Validate tool resources configuration */ export declare function validateToolResources(toolResources: any, tools: any[], paramName?: string): ValidationResult; /** * Validate message role */ export declare function validateMessageRole(role: any, paramName?: string): ValidationResult; /** * Validate pagination parameters */ export declare function validatePaginationParams(params: { limit?: number; order?: string; after?: string; before?: string; }): ValidationResult; /** * Comprehensive validation for assistant creation */ export declare function validateCreateAssistantParams(params: any): ValidationResult; //# sourceMappingURL=validation.d.ts.map