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
TypeScript
/**
* 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