il2cpp-dump-analyzer-mcp
Version:
Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games
114 lines (113 loc) • 3.83 kB
TypeScript
/**
* 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[]);
}