qraft
Version:
A powerful CLI tool to qraft structured project setups from GitHub template repositories
60 lines • 2.1 kB
TypeScript
export type ConfirmationChoice = 'yes' | 'no' | 'cancel';
export type SeverityLevel = 'low' | 'medium' | 'high' | 'critical';
export type RiskLevel = 'low' | 'medium' | 'high' | 'critical';
export interface ConfirmationOptions {
title?: string;
message: string;
details?: string[];
warningLevel?: 'info' | 'warning' | 'danger';
defaultChoice?: boolean;
requireExplicitConfirmation?: boolean;
showAlternatives?: boolean;
alternatives?: string[];
}
export interface ConfirmationResult {
confirmed: boolean;
choice: ConfirmationChoice;
timestamp: number;
}
export interface SensitiveFileWarning {
file: string;
reason: string;
severity: SeverityLevel;
suggestions: string[];
}
export interface ConflictWarning {
type: 'overwrite' | 'merge' | 'version_conflict';
description: string;
affectedFiles: string[];
riskLevel: RiskLevel;
recommendations: string[];
}
export declare class ConfirmationWorkflows {
private rl;
constructor();
confirmSensitiveFiles(warnings: SensitiveFileWarning[]): Promise<ConfirmationResult>;
confirmConflictResolution(conflicts: ConflictWarning[]): Promise<ConfirmationResult>;
confirmRepositoryOperation(operation: 'fork' | 'create_pr' | 'push' | 'overwrite', details: {
repository: string;
branch?: string;
description?: string;
impact?: string[];
}): Promise<ConfirmationResult>;
confirmDryRunResults(summary: {
operation: string;
filesAffected: number;
estimatedTime: string;
riskLevel: 'low' | 'medium' | 'high' | 'critical';
warnings: string[];
}): Promise<ConfirmationResult>;
private showConfirmation;
private question;
private getSeverityColor;
private getSeverityIcon;
private getRiskColor;
private getRiskIcon;
private getWarningColor;
close(): void;
confirmationDryRun(_type: 'sensitive' | 'conflict' | 'repository' | 'dryrun', mockChoice?: ConfirmationChoice): Promise<ConfirmationResult>;
}
//# sourceMappingURL=confirmationWorkflows.d.ts.map