@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
53 lines • 1.69 kB
TypeScript
/**
* Progress Event Emitter - Event-driven progress reporting system
* @description Provides a robust event-based progress tracking system that replaces fragile callback mechanisms
*/
import { EventEmitter } from 'events';
export interface ProgressEvent {
type: 'progress' | 'start' | 'complete' | 'error';
entity: string;
phase: string;
current: number;
total?: number;
count?: number;
countType?: 'records' | 'api_calls';
isOngoing?: boolean;
message?: string;
error?: Error;
projectName?: string;
}
export declare class ProgressEventEmitter extends EventEmitter {
private static instance;
private constructor();
/**
* Get singleton instance
*/
static getInstance(): ProgressEventEmitter;
/**
* Emit entity start event
*/
emitEntityStart(entity: string, projectName?: string): void;
/**
* Emit entity progress event with count
*/
emitEntityProgress(entity: string, count: number, countType?: 'records' | 'api_calls', isOngoing?: boolean, projectName?: string, total?: number): void;
/**
* Emit entity completion event
*/
emitEntityComplete(entity: string, finalCount?: number, countType?: 'records' | 'api_calls', projectName?: string): void;
/**
* Emit project start event
*/
emitProjectStart(projectName: string): void;
/**
* Emit error event
*/
emitError(entity: string, error: Error, projectName?: string): void;
/**
* Reset singleton (useful for testing)
*/
static reset(): void;
}
declare const _default: ProgressEventEmitter;
export default _default;
//# sourceMappingURL=ProgressEventEmitter.d.ts.map