/** * Orchestrator interfaces following Interface Segregation Principle * Each interface has a single, focused responsibility for workflow orchestration */ export interface UserFeatureRequest { query: string; projectId: string; timestamp: number; userId: string; context?: any; } export interface WorkflowResult { success: boolean; summary: string; filesModified: string[]; qualityScore: number; gitBranch: string; databases: { neo4j: { nodesCreated: number; relationshipsCreated: number; }; redis: { filesUpdated: number; }; postgres: { recordsUpdated: number; }; }; error?: string; } export interface ProcessRequestResult { success: boolean; data?: any; error?: string; } export interface IWorkflowOrchestrator { executeFeatureRequest(request: UserFeatureRequest): Promise; getWorkflowStatus(workflowId: string): Promise; cancelWorkflow(workflowId: string): Promise; } export interface IRequestProcessor { processRequest?(query: string, projectPath: string): Promise; analyzeProject?(projectPath: string, resumeToken?: string): Promise; performSemanticSearch?(query: string, projectPath: string): Promise; [key: string]: any; } export interface IProjectAnalyzer { analyzeProjectStructure(projectPath: string): Promise; detectProjectType(projectPath: string): Promise; scanDependencies(projectPath: string): Promise; } export interface IQualityChecker { checkCodeQuality(projectPath: string): Promise<{ score: number; issues: string[]; recommendations: string[]; }>; runLinting(projectPath: string): Promise; checkTestCoverage(projectPath: string): Promise; } //# sourceMappingURL=orchestrator-interfaces.d.ts.map