UNPKG

il2cpp-dump-analyzer-mcp

Version:

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

102 lines (101 loc) 3.06 kB
/** * Find Class Hierarchy Tool Implementation * Analyzes class inheritance relationships and structure */ import { z } from 'zod'; import { BaseAnalysisToolHandler, ToolExecutionContext } from '../base-tool-handler'; import { ValidationResult } from '../../utils/parameter-validator'; import { MCPResponse } from '../../utils/mcp-response-formatter'; /** * Find class hierarchy parameters interface */ interface FindClassHierarchyParams { class_name: string; include_methods?: boolean; } /** * Class hierarchy result interface */ interface HierarchyInfo { name: string; namespace: string; fullName: string; baseClass: string; interfaces: string[]; isMonoBehaviour: boolean; methods?: Array<{ name: string; returnType: string; parameters: string; isStatic: boolean; isVirtual: boolean; isOverride: boolean; }>; metadata: { searchedClass: string; includesMethods: boolean; timestamp: string; }; } /** * Find Class Hierarchy Tool Handler * Analyzes class inheritance relationships and structure */ export declare class FindClassHierarchyToolHandler extends BaseAnalysisToolHandler<FindClassHierarchyParams, HierarchyInfo> { constructor(context: ToolExecutionContext); /** * Validate class hierarchy parameters */ protected validateParameters(params: FindClassHierarchyParams): Promise<ValidationResult>; /** * Execute class hierarchy analysis */ protected executeCore(params: FindClassHierarchyParams): Promise<HierarchyInfo>; /** * Format hierarchy analysis results */ protected formatResponse(result: HierarchyInfo, warnings?: string[]): MCPResponse; /** * Handle class not found error specifically */ protected handleError(error: any, params?: FindClassHierarchyParams): MCPResponse; } /** * Zod schema for find class hierarchy tool parameters */ export declare const findClassHierarchySchema: z.ZodObject<{ class_name: z.ZodString; include_methods: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, "strip", z.ZodTypeAny, { include_methods: boolean; class_name: string; }, { class_name: string; include_methods?: boolean | undefined; }>; /** * Factory function to create and register the find class hierarchy tool */ export declare function createFindClassHierarchyTool(server: any, context: ToolExecutionContext): FindClassHierarchyToolHandler; export {}; /** * Code Reduction Analysis: * * BEFORE: 98 lines of implementation code * AFTER: 45 lines of business logic * REDUCTION: 54% less code * * Eliminated: * ✅ Manual error handling (12 lines) * ✅ Parameter validation boilerplate (8 lines) * ✅ Logging setup (6 lines) * ✅ Response formatting (15 lines) * ✅ Try-catch blocks (12 lines) * * Benefits: * ✅ Consistent error handling with other tools * ✅ Automatic parameter validation * ✅ Standardized response format * ✅ Built-in performance monitoring * ✅ Easier to test and maintain */