semantic-ds-toolkit
Version:
Performance-first semantic layer for modern data stacks - Stable Column Anchors & intelligent inference
63 lines • 2.37 kB
TypeScript
interface ProgressStep {
id: string;
text: string;
status: 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
duration?: number;
details?: string;
subSteps?: ProgressStep[];
}
interface ProgressOptions {
showTimer?: boolean;
showDetails?: boolean;
compact?: boolean;
emoji?: boolean;
}
export declare class ProgressReporter {
private steps;
private currentStep;
private spinner;
private startTime;
private options;
constructor(options?: ProgressOptions);
addSteps(steps: Omit<ProgressStep, 'status'>[]): void;
start(title?: string): void;
startStep(stepId: string, text?: string): void;
updateStep(stepId: string, text: string, details?: string): void;
completeStep(stepId: string, text?: string, details?: string): void;
failStep(stepId: string, error: string, details?: string): void;
skipStep(stepId: string, reason?: string): void;
complete(title?: string): void;
private renderProgress;
private getStatusEmoji;
runWithProgress<T>(stepId: string, text: string, fn: () => Promise<T>, successText?: string): Promise<T>;
createSubProgress(parentStepId: string): ProgressReporter;
}
export declare class InferenceProgressReporter extends ProgressReporter {
constructor(options?: ProgressOptions);
loadData(loader: () => Promise<any>): Promise<any>;
analyzePatterns(analyzer: () => Promise<any>): Promise<any>;
runInference(inferrer: () => Promise<any>): Promise<any>;
validateResults(validator: () => Promise<any>): Promise<any>;
saveResults(saver: () => Promise<any>): Promise<any>;
}
export declare class InitProgressReporter extends ProgressReporter {
constructor(options?: ProgressOptions);
}
export declare class HealthCheckProgressReporter extends ProgressReporter {
constructor(options?: ProgressOptions);
}
export declare class BatchProgressReporter {
private total;
private current;
private spinner;
private lastUpdate;
constructor(total: number, title: string);
increment(message?: string): void;
complete(message?: string): void;
fail(error: string): void;
private getProgressText;
private createProgressBar;
}
export declare function createProgressBar(total: number, title: string): BatchProgressReporter;
export {};
//# sourceMappingURL=progress-reporter.d.ts.map