UNPKG

superaugment

Version:

Enterprise-grade MCP server with world-class C++ analysis, robust error handling, and production-ready architecture for VS Code Augment

116 lines 4.55 kB
/** * Enhanced C++ Analysis Tool with Professional AST Support * * Provides enterprise-grade C++ code analysis using Tree-sitter AST parsing, * comprehensive semantic analysis, CUDA support, and professional-grade * performance, memory, and security analysis. */ import { z } from 'zod'; import { BaseTool, type ToolExecutionContext, type ToolExecutionResult } from '../BaseTool.js'; import { ConfigManager } from '../../config/ConfigManager.js'; /** * Enhanced C++ Analysis Tool */ export declare class EnhancedCppAnalysisTool extends BaseTool { readonly name = "analyze_cpp_enhanced"; readonly description = "Professional-grade C++ code analysis with AST parsing, CUDA support, and comprehensive quality metrics"; readonly inputSchema: z.ZodObject<{ path: z.ZodString; cppStandard: z.ZodDefault<z.ZodEnum<["cpp11", "cpp14", "cpp17", "cpp20", "cpp23"]>>; includeHeaders: z.ZodDefault<z.ZodBoolean>; analyzeDependencies: z.ZodDefault<z.ZodBoolean>; detectCircularDeps: z.ZodDefault<z.ZodBoolean>; modernCppAnalysis: z.ZodDefault<z.ZodBoolean>; performanceAnalysis: z.ZodDefault<z.ZodBoolean>; memoryAnalysis: z.ZodDefault<z.ZodBoolean>; securityAnalysis: z.ZodDefault<z.ZodBoolean>; cudaAnalysis: z.ZodDefault<z.ZodBoolean>; templateAnalysis: z.ZodDefault<z.ZodBoolean>; includeMetrics: z.ZodDefault<z.ZodBoolean>; includeRecommendations: z.ZodDefault<z.ZodBoolean>; verboseOutput: z.ZodDefault<z.ZodBoolean>; complexityThreshold: z.ZodDefault<z.ZodNumber>; maintainabilityThreshold: z.ZodDefault<z.ZodNumber>; customRules: z.ZodDefault<z.ZodArray<z.ZodString, "many">>; excludePatterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { path: string; includeMetrics: boolean; analyzeDependencies: boolean; cppStandard: "cpp14" | "cpp17" | "cpp20" | "cpp11" | "cpp23"; includeHeaders: boolean; performanceAnalysis: boolean; memoryAnalysis: boolean; securityAnalysis: boolean; excludePatterns: string[]; customRules: string[]; detectCircularDeps: boolean; modernCppAnalysis: boolean; cudaAnalysis: boolean; templateAnalysis: boolean; includeRecommendations: boolean; verboseOutput: boolean; complexityThreshold: number; maintainabilityThreshold: number; }, { path: string; includeMetrics?: boolean | undefined; analyzeDependencies?: boolean | undefined; cppStandard?: "cpp14" | "cpp17" | "cpp20" | "cpp11" | "cpp23" | undefined; includeHeaders?: boolean | undefined; performanceAnalysis?: boolean | undefined; memoryAnalysis?: boolean | undefined; securityAnalysis?: boolean | undefined; excludePatterns?: string[] | undefined; customRules?: string[] | undefined; detectCircularDeps?: boolean | undefined; modernCppAnalysis?: boolean | undefined; cudaAnalysis?: boolean | undefined; templateAnalysis?: boolean | undefined; includeRecommendations?: boolean | undefined; verboseOutput?: boolean | undefined; complexityThreshold?: number | undefined; maintainabilityThreshold?: number | undefined; }>; private fileSystemManager; private enhancedAnalyzer; constructor(configManager: ConfigManager); /** * Execute enhanced C++ analysis */ protected executeInternal(args: Record<string, any>, context: ToolExecutionContext): Promise<ToolExecutionResult>; /** * Find C++ files to analyze */ private findCppFiles; /** * Check if file should be excluded based on patterns */ private shouldExcludeFile; /** * Generate comprehensive analysis report */ private generateComprehensiveReport; /** * Calculate grade based on overall score */ private calculateGrade; /** * Create empty report for no results */ private createEmptyReport; private calculateComplexityDistribution; private countCodeSmells; private estimateTechnicalDebt; private generateQualityRecommendations; private aggregateRecommendations; /** * Format standard response */ private formatStandardResponse; /** * Format verbose response (placeholder) */ private formatVerboseResponse; } //# sourceMappingURL=EnhancedCppAnalysisTool.d.ts.map