@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
86 lines • 2.7 kB
TypeScript
/**
* Version Manager Service
*
* Implements Git-aligned knowledge versioning system that tracks knowledge graph
* states, manages RDF file changes, and provides rollback capabilities.
*/
import { EventEmitter } from 'events';
import { VersionMetadata, VersionDiff, RollbackOperation, VersionQuery, VersionManagerConfig, VersionManagerMetrics, SyncOperation } from './types';
export declare class VersionManager extends EventEmitter {
private config;
private versions;
private rollbackOperations;
private syncOperations;
private cleanupTimer?;
private backupTimer?;
constructor(config: VersionManagerConfig);
/**
* Initialize the version manager
*/
initialize(): Promise<void>;
/**
* Create a new version from Git commit
*/
createVersion(repositoryPath: string, repositoryId: string): Promise<VersionMetadata>;
/**
* Get version by ID
*/
getVersion(versionId: string): Promise<VersionMetadata | null>;
/**
* Query versions with filters
*/
queryVersions(query: VersionQuery): Promise<VersionMetadata[]>;
/**
* Calculate diff between two versions
*/
calculateDiff(fromVersionId: string, toVersionId: string): Promise<VersionDiff>;
/**
* Rollback to a specific version
*/
rollbackToVersion(repositoryId: string, targetVersionId: string): Promise<RollbackOperation>;
/**
* Sync RDF file changes to knowledge graph
*/
syncRDFChangesToGraph(repositoryId: string, filePaths: string[]): Promise<SyncOperation>;
/**
* Get version manager metrics
*/
getMetrics(): Promise<VersionManagerMetrics>;
/**
* Cleanup old versions
*/
cleanup(): Promise<void>;
/**
* Shutdown the version manager
*/
shutdown(): Promise<void>;
private loadVersions;
private saveVersions;
private getGitCommitInfo;
private scanRDFFiles;
private isDeveloperModified;
private getKnowledgeGraphSnapshot;
private findParentVersion;
private calculateRDFFileChanges;
private executeRollback;
private executeRollbackStep;
private executeSyncOperation;
private generateVersionId;
private generateOperationId;
private setupCleanupTimer;
private setupBackup;
private cleanupOldBackups;
/**
* Determine the modification type of an RDF file
*/
private determineModificationType;
/**
* Calculate execution time for rollback steps based on operation complexity
*/
private calculateStepExecutionTime;
/**
* Create a backup entry for version data
*/
private createVersionBackup;
}
//# sourceMappingURL=VersionManager.d.ts.map