ai-debug-local-mcp
Version:
🎯 ENHANCED AI GUIDANCE v4.1.2: Dramatically improved tool descriptions help AI users choose the right tools instead of 'close enough' options. Ultra-fast keyboard automation (10x speed), universal recording, multi-ecosystem debugging support, and compreh
98 lines • 3.38 kB
TypeScript
export interface CodeChange {
hasChanges: boolean;
functionChanges: FunctionChange[];
componentChanges: ComponentChange[];
selectorChanges: SelectorChange[];
liveViewChanges: LiveViewChange[];
templateChanges: TemplateChange[];
testSuggestions: string[];
overallImpact: 'low' | 'medium' | 'high';
}
export interface FunctionChange {
functionName: string;
changeType: 'signature_modified' | 'body_modified' | 'added' | 'removed';
oldParams?: string[];
newParams?: string[];
addedParams?: string[];
removedParams?: string[];
testImpact: 'low' | 'medium' | 'high';
}
export interface ComponentChange {
componentName: string;
changeType: 'props_modified' | 'render_modified' | 'props_and_render_modified' | 'added' | 'removed';
addedProps?: string[];
removedProps?: string[];
addedElements?: string[];
removedElements?: string[];
testImpact: 'low' | 'medium' | 'high';
}
export interface SelectorChange {
changeType: 'class_names_modified' | 'dynamic_class_names' | 'id_modified' | 'data_attributes_added';
oldClasses?: string[];
newClasses?: string[];
newPattern?: string;
testImpact: 'low' | 'medium' | 'high';
suggestedUpdate: string;
}
export interface LiveViewChange {
moduleName: string;
functionName: string;
changeType: 'params_usage_added' | 'params_usage_removed' | 'event_handlers_modified' | 'assigns_modified';
testImpact: 'low' | 'medium' | 'high';
suggestedUpdate: string;
}
export interface TemplateChange {
changeType: 'structure_modified' | 'content_modified' | 'structure_and_content_modified';
addedElements?: string[];
removedElements?: string[];
changedClasses?: Record<string, string>;
addedAttributes?: string[];
removedAttributes?: string[];
testImpact: 'low' | 'medium' | 'high';
}
export interface ChangeReport {
summary: string;
priority: 'low' | 'medium' | 'high';
affectedTests: string[];
requiredActions: string[];
automatedFixes: string[];
}
export declare class ASTChangeDetector {
/**
* Detect changes between two code snippets
*/
detectChanges(originalCode: string, modifiedCode: string, language: string): CodeChange;
/**
* Assess test impact of changes
*/
assessTestImpact(originalCode: string, modifiedCode: string, language: string): {
overallImpact: 'low' | 'medium' | 'high';
};
/**
* Generate a comprehensive change report
*/
generateChangeReport(originalCode: string, modifiedCode: string, language: string): ChangeReport;
/**
* Detect file type from extension
*/
detectFileType(filename: string): string;
private analyzeJavaScriptChanges;
private analyzeFunctionChanges;
private analyzeComponentChanges;
private extractFunctionsRegex;
private extractComponentsRegex;
private extractElementsFromComponent;
private analyzeElixirChanges;
private analyzeTemplateChanges;
private analyzeSelectors;
private extractClasses;
private extractElements;
private extractAttributes;
private assessOverallImpact;
private generateTestSuggestions;
private generateChangeSummary;
private identifyAffectedTests;
private generateRequiredActions;
private generateAutomatedFixes;
}
//# sourceMappingURL=ast-change-detector.d.ts.map