UNPKG

openai-assistants-mcp

Version:

OpenAI Assistants MCP Server - A Model Context Protocol server providing OpenAI Assistants API tools and resources. Features comprehensive assistant management, thread operations, message handling, and run execution with seamless stdio transport for Claud

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