@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
85 lines • 2.58 kB
TypeScript
/**
* Automatic Analysis Service
*
* Main orchestration service for automatic project analysis and TTL generation.
* Coordinates all automatic analysis components and provides a unified interface.
*/
import { EventEmitter } from 'events';
import { ProjectAnalysisResult } from '../project-analysis/ProjectAnalysisService';
export interface AutomaticAnalysisConfig {
projectRoot: string;
enableAutoTriggers: boolean;
enableNPMHooks: boolean;
enableInstallationDetection: boolean;
enableFileWatching: boolean;
analysisDelay: number;
preserveBusinessContext: boolean;
generateTTL: boolean;
populateKnowledgeGraph: boolean;
updateMCPContext: boolean;
}
export interface AutomaticAnalysisStatus {
isActive: boolean;
isInitialized: boolean;
config: AutomaticAnalysisConfig;
triggerOrchestrator: any;
lastAnalysis?: Date | undefined;
totalAnalyses: number;
successfulAnalyses: number;
failedAnalyses: number;
}
/**
* Automatic Analysis Service
*
* Provides a unified interface for automatic project analysis and TTL generation.
* Manages the complete lifecycle from trigger detection to knowledge graph population.
*/
export declare class AutomaticAnalysisService extends EventEmitter {
private config;
private triggerOrchestrator?;
private isInitialized;
private isActive;
private analysisStats;
constructor(config?: Partial<AutomaticAnalysisConfig>);
/**
* Initialize the automatic analysis system
*/
initialize(): Promise<void>;
/**
* Start automatic analysis
*/
start(): Promise<void>;
/**
* Stop automatic analysis
*/
stop(): Promise<void>;
/**
* Manually trigger analysis
*/
triggerAnalysis(reason?: string): Promise<string>;
/**
* Perform initial project analysis (for setup)
*/
performInitialAnalysis(): Promise<ProjectAnalysisResult>;
/**
* Get service status
*/
getStatus(): AutomaticAnalysisStatus;
/**
* Shutdown the service
*/
shutdown(): Promise<void>;
private setupEventListeners;
/**
* Static method to create and initialize service
*/
static create(config?: Partial<AutomaticAnalysisConfig>): Promise<AutomaticAnalysisService>;
/**
* Static method for quick setup (used by CLI and postinstall)
*/
static quickSetup(projectRoot?: string): Promise<{
service: AutomaticAnalysisService;
result: ProjectAnalysisResult;
}>;
}
//# sourceMappingURL=AutomaticAnalysisService.d.ts.map