mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
63 lines • 1.84 kB
TypeScript
/**
* Interactive approval workflow for smart git push
*
* Handles user interaction for approving/rejecting files with issues
*/
export interface ApprovalItem {
filePath: string;
issues: ApprovalIssue[];
suggestions: string[];
severity: 'error' | 'warning' | 'info';
allowedInLocation: boolean;
confidence: number;
}
export interface ApprovalIssue {
type: 'sensitive-content' | 'llm-artifact' | 'location-violation' | 'temporary-file' | 'wrong-location';
message: string;
severity: 'error' | 'warning' | 'info';
pattern?: string;
line?: number;
context?: string;
}
export interface ApprovalResult {
approved: string[];
rejected: string[];
moved: Array<{
from: string;
to: string;
}>;
ignored: string[];
actions: ApprovalAction[];
proceed: boolean;
}
export interface ApprovalAction {
type: 'approve' | 'reject' | 'move' | 'ignore' | 'edit';
filePath: string;
target?: string | undefined;
reason?: string;
}
export interface ApprovalOptions {
interactiveMode: boolean;
autoApproveInfo: boolean;
autoRejectErrors: boolean;
dryRun: boolean;
batchMode: boolean;
timeout?: number;
}
/**
* Main interactive approval function
*/
export declare function handleInteractiveApproval(items: ApprovalItem[], options: ApprovalOptions): Promise<ApprovalResult>;
/**
* Batch approval for similar files
*/
export declare function batchApproval(items: ApprovalItem[], action: ApprovalAction, criteria: {
sameSeverity?: boolean;
sameIssueType?: boolean;
samePattern?: boolean;
}): ApprovalAction[];
/**
* Save approval preferences for future use
*/
export declare function saveApprovalPreferences(actions: ApprovalAction[], configPath?: string): void;
//# sourceMappingURL=interactive-approval.d.ts.map