bugger-mcp
Version:
MCP Server for managing bugs, feature requests, and improvements
108 lines • 3.11 kB
TypeScript
export interface FunctionMatch {
name: string;
filePath: string;
startLine: number;
endLine: number;
signature: string;
parameters: string[];
returnType?: string;
isAsync: boolean;
isMethod: boolean;
className?: string;
accessibility?: 'public' | 'private' | 'protected';
relevanceScore: number;
}
export interface ClassMatch {
name: string;
filePath: string;
startLine: number;
endLine: number;
extendsClass?: string;
implements: string[];
methods: string[];
properties: string[];
isAbstract: boolean;
isInterface: boolean;
relevanceScore: number;
}
export interface PatternMatch {
pattern: string;
filePath: string;
startLine: number;
endLine: number;
similarity: number;
context: string[];
matchType: 'exact' | 'structural' | 'semantic';
}
export interface CodeTraversalOptions {
includeExtensions: string[];
excludePatterns: string[];
maxDepth: number;
followSymlinks: boolean;
ignoreCase: boolean;
}
export interface PatternSearchOptions {
maxResults: number;
minSimilarity: number;
includeComments: boolean;
normalizeWhitespace: boolean;
caseSensitive: boolean;
}
/**
* Main code pattern matching engine
*/
export declare class CodePatternMatcher {
private rootPath;
private readonly defaultExtensions;
private readonly defaultExcludePatterns;
constructor(rootPath?: string);
/**
* Find function definitions across the codebase
*/
findFunctionDefinitions(functionName?: string, options?: CodeTraversalOptions): Promise<FunctionMatch[]>;
/**
* Find class definitions across the codebase
*/
findClassDefinitions(className?: string, options?: CodeTraversalOptions): Promise<ClassMatch[]>;
/**
* Find similar code patterns to a given pattern
*/
findSimilarPatterns(targetPattern: string, options?: PatternSearchOptions): Promise<PatternMatch[]>;
/**
* Traverse the codebase and collect relevant files
*/
private traverseCodebase;
/**
* Extract function definitions from file content
*/
private extractFunctionDefinitions;
/**
* Extract class definitions from file content
*/
private extractClassDefinitions;
/**
* Find pattern matches in file content
*/
private findPatternMatches;
private getDefaultTraversalOptions;
private getDefaultPatternSearchOptions;
private shouldExclude;
private getFunctionPatterns;
private getClassPatterns;
private getLineNumber;
private findFunctionEndLine;
private findClassEndLine;
private extractParameters;
private extractImplements;
private extractClassMethods;
private extractClassProperties;
private calculateFunctionRelevance;
private calculateClassRelevance;
private normalizePattern;
private extractCodeBlocks;
private calculatePatternSimilarity;
private levenshteinDistance;
private extractBlockContext;
private determineMatchType;
}
//# sourceMappingURL=code-pattern-matching.d.ts.map