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
TypeScript
/**
* 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