context-forge
Version:
AI orchestration platform with autonomous teams, enhancement planning, migration tools, 25+ slash commands, checkpoints & hooks. Multi-IDE: Claude, Cursor, Windsurf, Cline, Copilot
61 lines • 2.27 kB
TypeScript
export interface ProgressEntry {
id: string;
command: string;
operation: string;
status: 'pending' | 'in_progress' | 'completed' | 'failed' | 'cancelled';
startTime: Date;
endTime?: Date;
duration?: number;
projectPath: string;
metadata?: {
filesGenerated?: number;
aiEnabled?: boolean;
targetIDEs?: string[];
errors?: string[];
warnings?: string[];
features?: string[];
phases?: number;
};
steps?: ProgressStep[];
}
export interface ProgressStep {
id: string;
name: string;
status: 'pending' | 'in_progress' | 'completed' | 'failed';
startTime?: Date;
endTime?: Date;
description?: string;
metadata?: Record<string, unknown>;
}
export interface ProgressSummary {
totalOperations: number;
completedOperations: number;
failedOperations: number;
inProgressOperations: number;
recentActivity: ProgressEntry[];
averageDuration: number;
successRate: number;
}
export declare class ProgressTracker {
private progressFile;
private currentEntry;
constructor(projectPath?: string);
startOperation(command: string, operation: string, metadata?: ProgressEntry['metadata']): Promise<string>;
updateOperation(id: string, updates: Partial<ProgressEntry>): Promise<void>;
completeOperation(id: string, status?: 'completed' | 'failed' | 'cancelled', metadata?: Partial<ProgressEntry['metadata']>): Promise<void>;
addStep(operationId: string, stepName: string, description?: string): Promise<string>;
completeStep(operationId: string, stepId: string, status?: 'completed' | 'failed', metadata?: Record<string, unknown>): Promise<void>;
getProgress(): Promise<ProgressEntry[]>;
getProgressSummary(): Promise<ProgressSummary>;
getCurrentOperation(): Promise<ProgressEntry | null>;
clearHistory(olderThanDays?: number): Promise<number>;
private loadProgress;
private saveProgress;
private saveToFile;
private deserializeEntry;
private generateId;
formatDuration(milliseconds: number): string;
getStatusIcon(status: ProgressEntry['status']): string;
getStatusColor(status: ProgressEntry['status']): string;
}
//# sourceMappingURL=progressTracker.d.ts.map