/** * Graviton Orchestrator - Main integration point for all components */ import { EventEmitter } from 'events'; import { Task, Project, WorkflowInstance } from '@latestgraviton/protocol'; /** * Orchestrator configuration */ export interface OrchestratorConfig { server: { port: number; wsPort: number; }; database: { url: string; }; redis: { url: string; }; monitoring: { enabled: boolean; metricsPort: number; }; limits: { maxProjects: number; maxTasksPerProject: number; maxTerminals: number; maxContextSize: number; }; } /** * Orchestrator state */ export interface OrchestratorState { status: 'initializing' | 'ready' | 'busy' | 'error' | 'shutting_down'; activeProjects: number; totalTasks: number; completedTasks: number; failedTasks: number; connectedTerminals: number; contextSize: number; startTime: Date; uptime: number; } /** * Project execution context */ export interface ProjectExecution { project: Project; workflow: WorkflowInstance; tasks: Map; terminals: Set; startTime: Date; endTime?: Date; status: 'running' | 'completed' | 'failed' | 'cancelled'; metrics: ProjectMetrics; } /** * Project metrics */ export interface ProjectMetrics { totalTasks: number; completedTasks: number; failedTasks: number; averageTaskDuration: number; totalDuration?: number; contextUsage: number; terminalUtilization: Map; } /** * Graviton Orchestrator - Main system coordinator */ export declare class GravitonOrchestrator extends EventEmitter { private config; private logger; private server; private queueManager; private parser; private resolver; private balancer; private contextManager; private terminalRegistry; private workflowExecutor; private database; private metricsCollector; private debugTools; private state; private projects; private isRunning; private monitoringInterval?; constructor(config: OrchestratorConfig); /** * Initialize the orchestrator */ initialize(): Promise; /** * Initialize all components */ private initializeComponents; /** * Setup event handlers */ private setupEventHandlers; /** * Submit a master plan for execution */ submitMasterPlan(plan: string, options?: { projectName?: string; priority?: number; constraints?: any; }): Promise; /** * Extract tasks from parsed plan */ private extractTasks; /** * Determine task type from item */ private determineTaskType; /** * Create workflow definition */ private createWorkflowDefinition; /** * Group tasks into stages */ private groupTasksIntoStages; /** * Extract required capabilities */ private extractRequiredCapabilities; /** * Estimate total duration */ private estimateTotalDuration; /** * Distribute tasks to terminals */ private distributeTasks; /** * Assign task to terminal */ private assignTaskToTerminal; /** * Initialize project context */ private initializeProjectContext; /** * Handle terminal connected */ private handleTerminalConnected; /** * Handle terminal disconnected */ private handleTerminalDisconnected; /** * Reassign tasks from disconnected terminal */ private reassignTasksFromTerminal; /** * Process queued tasks */ private processQueuedTasks; /** * Find execution for task */ private findExecutionForTask; /** * Handle task completed */ private handleTaskCompleted; /** * Handle task failed */ private handleTaskFailed; /** * Check project completion */ private checkProjectCompletion; /** * Handle workflow completed */ private handleWorkflowCompleted; /** * Handle workflow failed */ private handleWorkflowFailed; /** * Start monitoring */ private startMonitoring; /** * Update metrics */ private updateMetrics; /** * Get metrics */ getMetrics(): any; /** * Get project execution */ getProjectExecution(projectId: string): ProjectExecution | undefined; /** * Cancel project */ cancelProject(projectId: string): Promise; /** * Generate IDs */ private generateProjectId; private generateTaskId; private generateWorkflowId; /** * Shutdown orchestrator */ shutdown(): Promise; } //# sourceMappingURL=graviton-orchestrator.d.ts.map