UNPKG

il2cpp-dump-analyzer-mcp

Version:

Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games

114 lines (113 loc) 3.83 kB
/** * Parameter Validation Utilities * Centralizes all parameter validation logic to eliminate duplication across MCP tools */ import { z } from 'zod'; /** * Validation result interface */ export interface ValidationResult { isValid: boolean; errors: string[]; warnings: string[]; adjustedValues?: Record<string, any>; } /** * Parameter validation utilities class */ export declare class ParameterValidator { /** * Clamp a number value between min and max bounds */ static clampNumber(value: number, min: number, max: number, paramName?: string): number; /** * Validate confidence threshold (0.1 - 1.0) */ static validateConfidence(threshold: number): number; /** * Validate maximum results count (1 - specified max) */ static validateMaxResults(count: number, max?: number): number; /** * Validate top_k parameter (1 - 100) */ static validateTopK(topK: number): number; /** * Validate depth parameter (1 - 5) */ static validateDepth(depth: number): number; /** * Validate and sanitize query string */ static validateQuery(query: string | string[]): string; /** * Validate pattern types for design pattern detection */ static validatePatternTypes(patterns: string[]): ValidationResult; /** * Validate filter parameters for search operations */ static validateSearchFilter(filter: Record<string, any>): ValidationResult; /** * Validate class name parameter */ static validateClassName(className: string): ValidationResult; /** * Validate reference type for cross-reference analysis */ static validateReferenceType(refType: string): ValidationResult; /** * Validate target type for cross-reference analysis */ static validateTargetType(targetType: string): ValidationResult; /** * Comprehensive parameter validation for common MCP tool parameters */ static validateCommonParams(params: { query?: string | string[]; top_k?: number; confidence_threshold?: number; max_results?: number; depth?: number; filter?: Record<string, any>; }): ValidationResult; /** * Create a Zod schema validator for common parameters */ static createCommonParamsSchema(): z.ZodObject<{ query: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>; top_k: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; confidence_threshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; max_results: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; depth: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; filter_type: z.ZodOptional<z.ZodString>; filter_namespace: z.ZodOptional<z.ZodString>; filter_monobehaviour: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { confidence_threshold: number; max_results: number; top_k: number; depth: number; query?: string | string[] | undefined; filter_type?: string | undefined; filter_namespace?: string | undefined; filter_monobehaviour?: boolean | undefined; }, { confidence_threshold?: number | undefined; max_results?: number | undefined; top_k?: number | undefined; depth?: number | undefined; query?: string | string[] | undefined; filter_type?: string | undefined; filter_namespace?: string | undefined; filter_monobehaviour?: boolean | undefined; }>; } /** * Validation error class for parameter validation failures */ export declare class ParameterValidationError extends Error { readonly errors: string[]; readonly warnings: string[]; constructor(errors: string[], warnings?: string[]); }