mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
79 lines • 2.6 kB
TypeScript
/**
* Content masking utilities using prompt-driven AI analysis
* Implements intelligent sensitive content detection and masking
*/
export interface SensitiveItem {
type: string;
category: string;
content: string;
startPosition: number;
endPosition: number;
confidence: number;
reasoning: string;
severity: 'low' | 'medium' | 'high' | 'critical';
suggestedMask: string;
}
export interface SensitiveContentAnalysis {
hasSensitiveContent: boolean;
detectedItems: SensitiveItem[];
recommendations: string[];
overallRisk: 'low' | 'medium' | 'high' | 'critical';
summary: string;
}
export interface MaskingResult {
maskedContent: string;
maskingApplied: Array<{
originalContent: string;
maskedWith: string;
position: string;
reason: string;
}>;
preservedStructure: boolean;
readabilityScore: number;
securityScore: number;
recommendations: string[];
}
export interface CustomPattern {
name: string;
description: string;
regex: string;
category: string;
severity: 'low' | 'medium' | 'high' | 'critical';
examples: string[];
falsePositives: string[];
maskingStrategy: 'full' | 'partial' | 'placeholder' | 'environment';
}
/**
* Analyze content for sensitive information using AI prompts
*/
export declare function analyzeSensitiveContent(content: string, contentType?: 'code' | 'documentation' | 'configuration' | 'logs' | 'general', userDefinedPatterns?: string[]): Promise<{
analysisPrompt: string;
instructions: string;
}>;
/**
* Generate content masking prompt for AI processing
*/
export declare function generateMaskingInstructions(content: string, detectedSensitiveItems: SensitiveItem[], maskingStrategy?: 'full' | 'partial' | 'placeholder' | 'environment'): Promise<{
maskingPrompt: string;
instructions: string;
}>;
/**
* Generate custom pattern configuration prompt
*/
export declare function generateCustomPatternConfiguration(projectContext: string, existingPatterns?: string[]): Promise<{
configurationPrompt: string;
instructions: string;
}>;
/**
* Apply basic masking patterns (fallback when AI is not available)
*/
export declare function applyBasicMasking(content: string, maskingStrategy?: 'full' | 'partial' | 'placeholder'): string;
/**
* Validate that content has been properly masked
*/
export declare function validateMasking(originalContent: string, maskedContent: string): {
isValid: boolean;
issues: string[];
securityScore: number;
};
//# sourceMappingURL=content-masking.d.ts.map