UNPKG

research-cli

Version:

AI-powered research assistant with web search capabilities and beautiful terminal UI

90 lines 2.67 kB
/** * Smart progress controller for research-cli operations */ import type { ProviderEvent } from "../types.js"; export interface ProgressManagerOptions { /** Enable multi-progress for concurrent operations */ useMultiProgress?: boolean; /** Silent mode - no progress bars */ silent?: boolean; /** Custom theme selection */ theme?: "research" | "tool"; } /** * Intelligent progress manager that adapts to different operation types */ export declare class ProgressManager { private singleBar?; private multiBar?; private options; private isToolOperationActive; private toolCount; private activeOperations; constructor(options?: ProgressManagerOptions); /** * Handle provider events and update progress accordingly */ handleProviderEvent(event: ProviderEvent): void; private handleStartEvent; private handleToolCallEvent; private handleToolResultEvent; private handleChunkEvent; private handleFinalEvent; private handleErrorEvent; private updateMainProgress; private ensureSingleProgress; private ensureMultiProgress; /** * Enable multi-progress mode for complex operations */ enableMultiProgress(): void; /** * Disable multi-progress mode */ disableMultiProgress(): void; /** * Log a message (will appear above progress bars if active) */ log(message: string): void; /** * Manually create a progress bar for custom operations */ createCustomProgress(id: string, total: number, operation: string, startValue?: number): void; /** * Update a custom progress bar */ updateCustomProgress(id: string, value?: number | null, stage?: string): void; /** * Complete a custom progress bar */ completeCustomProgress(id: string, finalStage?: string): void; /** * Check if any progress bars are currently active */ get hasActiveProgress(): boolean; /** * Get count of active operations */ get activeOperationCount(): number; /** * Force cleanup of all progress bars */ cleanup(): void; /** * Enable silent mode (no progress bars) */ setSilent(silent: boolean): void; } /** * Create a new progress manager instance */ export declare function createProgressManager(options?: ProgressManagerOptions): ProgressManager; /** * Get or create the global progress manager */ export declare function getGlobalProgressManager(): ProgressManager; /** * Reset the global progress manager */ export declare function resetGlobalProgressManager(): void; //# sourceMappingURL=progress-manager.d.ts.map