@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
104 lines • 2.61 kB
TypeScript
/**
* Progress Reporter for Orchestration Template CLI
* Inspired by the cache-sync-enhanced progress reporting
*/
export interface ProgressUpdate {
phase: string;
current: number;
total: number;
message: string;
percent: number;
subPhase?: string;
}
export interface OperationResult {
success: boolean;
duration: number;
message: string;
errors?: string[];
warnings?: string[];
entityCount?: number;
}
/**
* Base progress reporter with TTY-aware display
*/
export declare class ProgressReporter {
private startTime;
private phases;
private currentPhase;
protected isTTY: boolean;
private lastLineCount;
constructor();
/**
* Start a new operation
*/
startOperation(operation: string): void;
/**
* Update progress for current phase
*/
updateProgress(update: ProgressUpdate): void;
/**
* Display progress bar for TTY environments
*/
private displayProgressBar;
/**
* Display progress text for non-TTY environments
*/
private displayProgressText;
/**
* Report an error
*/
error(error: Error | string): void;
/**
* Report a warning
*/
warning(message: string): void;
/**
* Complete the operation
*/
completeOperation(result: OperationResult): void;
/**
* Format duration in human-readable format
*/
protected formatDuration(ms: number): string;
/**
* Show a spinner for indeterminate progress
*/
showSpinner(message: string): () => void;
}
/**
* Validation-specific progress reporter
*/
export declare class ValidationProgressReporter extends ProgressReporter {
private validationErrors;
private validationWarnings;
/**
* Report validation progress
*/
reportValidation(stepId: string, status: 'validating' | 'passed' | 'failed' | 'warning', message?: string): void;
/**
* Get validation summary
*/
getValidationSummary(): {
errors: string[];
warnings: string[];
};
}
/**
* Execution-specific progress reporter
*/
export declare class ExecutionProgressReporter extends ProgressReporter {
private executedSteps;
/**
* Report step execution
*/
reportStepExecution(stepId: string, entityType: string, status: 'starting' | 'completed' | 'failed', duration?: number): void;
/**
* Get execution summary
*/
getExecutionSummary(): {
totalSteps: number;
successfulSteps: number;
totalDuration: number;
};
}
//# sourceMappingURL=ProgressReporter.d.ts.map