superaugment
Version:
Enterprise-grade MCP server with world-class C++ analysis, robust error handling, and production-ready architecture for VS Code Augment
170 lines • 5.77 kB
TypeScript
/**
* SuperAugment C++ Analysis Tool
*
* Provides comprehensive C++ code analysis including syntax analysis,
* semantic analysis, dependency tracking, performance analysis, and
* modern C++ best practices validation.
*/
import { z } from 'zod';
import { BaseTool, type ToolExecutionContext, type ToolExecutionResult } from '../BaseTool.js';
import { ConfigManager } from '../../config/ConfigManager.js';
/**
* C++ analysis options schema
*/
declare const CppAnalysisOptionsSchema: z.ZodObject<{
path: z.ZodString;
includeHeaders: z.ZodDefault<z.ZodBoolean>;
analyzeIncludes: z.ZodDefault<z.ZodBoolean>;
checkModernCpp: z.ZodDefault<z.ZodBoolean>;
performanceAnalysis: z.ZodDefault<z.ZodBoolean>;
memoryAnalysis: z.ZodDefault<z.ZodBoolean>;
securityAnalysis: z.ZodDefault<z.ZodBoolean>;
cppStandard: z.ZodDefault<z.ZodEnum<["cpp11", "cpp14", "cpp17", "cpp20", "cpp23"]>>;
maxDepth: z.ZodDefault<z.ZodNumber>;
excludePatterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
customRules: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strict", z.ZodTypeAny, {
path: string;
maxDepth: number;
cppStandard: "cpp14" | "cpp17" | "cpp20" | "cpp11" | "cpp23";
includeHeaders: boolean;
analyzeIncludes: boolean;
checkModernCpp: boolean;
performanceAnalysis: boolean;
memoryAnalysis: boolean;
securityAnalysis: boolean;
excludePatterns: string[];
customRules: string[];
}, {
path: string;
maxDepth?: number | undefined;
cppStandard?: "cpp14" | "cpp17" | "cpp20" | "cpp11" | "cpp23" | undefined;
includeHeaders?: boolean | undefined;
analyzeIncludes?: boolean | undefined;
checkModernCpp?: boolean | undefined;
performanceAnalysis?: boolean | undefined;
memoryAnalysis?: boolean | undefined;
securityAnalysis?: boolean | undefined;
excludePatterns?: string[] | undefined;
customRules?: string[] | undefined;
}>;
type CppAnalysisOptions = z.infer<typeof CppAnalysisOptionsSchema>;
/**
* Comprehensive C++ Analysis Tool
*/
export declare class AnalyzeCppTool extends BaseTool {
readonly name = "analyze_cpp";
readonly description = "Comprehensive C++ code analysis including syntax, semantics, performance, memory, and security analysis";
readonly inputSchema: z.ZodObject<{
path: z.ZodString;
includeHeaders: z.ZodDefault<z.ZodBoolean>;
analyzeIncludes: z.ZodDefault<z.ZodBoolean>;
checkModernCpp: z.ZodDefault<z.ZodBoolean>;
performanceAnalysis: z.ZodDefault<z.ZodBoolean>;
memoryAnalysis: z.ZodDefault<z.ZodBoolean>;
securityAnalysis: z.ZodDefault<z.ZodBoolean>;
cppStandard: z.ZodDefault<z.ZodEnum<["cpp11", "cpp14", "cpp17", "cpp20", "cpp23"]>>;
maxDepth: z.ZodDefault<z.ZodNumber>;
excludePatterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
customRules: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strict", z.ZodTypeAny, {
path: string;
maxDepth: number;
cppStandard: "cpp14" | "cpp17" | "cpp20" | "cpp11" | "cpp23";
includeHeaders: boolean;
analyzeIncludes: boolean;
checkModernCpp: boolean;
performanceAnalysis: boolean;
memoryAnalysis: boolean;
securityAnalysis: boolean;
excludePatterns: string[];
customRules: string[];
}, {
path: string;
maxDepth?: number | undefined;
cppStandard?: "cpp14" | "cpp17" | "cpp20" | "cpp11" | "cpp23" | undefined;
includeHeaders?: boolean | undefined;
analyzeIncludes?: boolean | undefined;
checkModernCpp?: boolean | undefined;
performanceAnalysis?: boolean | undefined;
memoryAnalysis?: boolean | undefined;
securityAnalysis?: boolean | undefined;
excludePatterns?: string[] | undefined;
customRules?: string[] | undefined;
}>;
private fileSystemManager;
private cppAnalyzer;
private ruleEngine;
constructor(configManager: ConfigManager);
protected executeInternal(args: CppAnalysisOptions, context: ToolExecutionContext): Promise<ToolExecutionResult>;
/**
* Discover C++ files in the target path
*/
private discoverCppFiles;
/**
* Initialize analysis report structure
*/
private initializeReport;
/**
* Perform syntax analysis
*/
private performSyntaxAnalysis;
/**
* Perform semantic analysis
*/
private performSemanticAnalysis;
/**
* Perform dependency analysis
*/
private performDependencyAnalysis;
/**
* Perform code quality analysis using rule engine
*/
private performCodeQualityAnalysis;
/**
* Perform modern C++ analysis
*/
private performModernCppAnalysis;
/**
* Perform performance analysis
*/
private performPerformanceAnalysis;
/**
* Perform memory analysis
*/
private performMemoryAnalysis;
/**
* Perform security analysis
*/
private performSecurityAnalysis;
/**
* Calculate complexity and maintainability metrics
*/
private calculateMetrics;
/**
* Generate final scores and overall assessment
*/
private generateFinalScores;
/**
* Generate comprehensive recommendations
*/
private generateRecommendations;
/**
* Create comprehensive C++ analysis response
*/
private createCppAnalysisResponse;
/**
* Calculate grade from score
*/
private calculateGrade;
/**
* Get maintainability rating
*/
private getMaintainabilityRating;
/**
* Calculate testability score
*/
private calculateTestabilityScore;
}
export {};
//# sourceMappingURL=AnalyzeCppTool.d.ts.map