bc-code-intelligence-mcp
Version:
BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows
72 lines • 2.2 kB
TypeScript
import { CodeAnalysisParams, CodeAnalysisResult } from '../types/bc-knowledge.js';
import { KnowledgeService } from './knowledge-service.js';
/**
* AL Code Analysis Service
*
* Analyzes AL code for performance issues, anti-patterns, and optimization
* opportunities. Dynamically loads patterns from the layered knowledge system.
*/
export declare class CodeAnalysisService {
private knowledgeService;
private patternCache;
private cacheExpiry;
private readonly CACHE_TTL;
constructor(knowledgeService: KnowledgeService);
/**
* Load AL code patterns dynamically from knowledge base
*/
private loadPatterns;
/**
* Parse regex patterns from YAML (can be strings or array)
*/
private parseRegexPatterns;
/**
* Fallback patterns if knowledge base is unavailable
*/
private getFallbackPatterns;
/**
* Analyze AL code for patterns, issues, and optimization opportunities
*/
analyzeCode(params: CodeAnalysisParams): Promise<CodeAnalysisResult>;
/**
* Detect AL patterns in code using dynamically loaded patterns
*/
private detectPatterns;
/**
* Filter patterns based on analysis type
*/
private filterPatternsByAnalysisType;
/**
* Calculate severity of detected issues
*/
private calculateSeverity;
/**
* Generate improvement suggestions
*/
private generateSuggestion;
/**
* Find optimization opportunities based on detected patterns
*/
private findOptimizationOpportunities;
/**
* Suggest relevant topics based on code analysis
*/
private suggestTopics;
/**
* Extract meaningful context from code for search
*/
private extractCodeContext;
private hasLoopedAggregation;
private hasSIFTUsage;
private hasMultipleFieldAccess;
private hasSetLoadFields;
private hasIndividualRecordOperations;
private hasManualCalculations;
private hasSecurityRisks;
private hasCodeQualityIssues;
private hasPoorErrorHandling;
private hasDataSafetyRisks;
private hasArchitectureIssues;
private hasUXIssues;
}
//# sourceMappingURL=code-analysis-service.d.ts.map