UNPKG

@aaswe/codebase-ai

Version:

AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs

80 lines 2.38 kB
/** * Git Service * Handles Git repository operations, monitoring, and change detection */ import { StatusResult } from 'simple-git'; import { EventEmitter } from 'events'; import { Repository, GitCommit, GitFileChange, RepositoryConfig } from './types'; export declare class GitService extends EventEmitter { private repositories; private monitoringIntervals; constructor(); /** * Initialize Git service and load existing repositories */ initialize(): Promise<void>; /** * Add a new repository for monitoring */ addRepository(config: { name: string; path: string; url?: string; branch?: string; config?: Partial<RepositoryConfig>; }): Promise<Repository>; /** * Remove a repository from monitoring */ removeRepository(repositoryId: string): Promise<void>; /** * Start monitoring a repository for changes */ startMonitoring(repositoryId: string): Promise<void>; /** * Stop monitoring a repository */ stopMonitoring(repositoryId: string): Promise<void>; /** * Check for changes in a repository */ checkForChanges(repositoryId: string): Promise<void>; /** * Get commits since a specific commit hash */ getCommitsSince(repository: Repository, sinceCommit?: string): Promise<GitCommit[]>; /** * Get file changes between two commits */ getFileChanges(repositoryId: string, fromCommit: string, toCommit: string): Promise<GitFileChange[]>; /** * Get repository status */ getRepositoryStatus(repositoryId: string): Promise<StatusResult>; /** * Get all repositories */ getRepositories(): Repository[]; /** * Get repository by ID */ getRepository(repositoryId: string): Repository | undefined; /** * Update repository configuration */ updateRepositoryConfig(repositoryId: string, config: Partial<RepositoryConfig>): Promise<Repository>; /** * Cleanup resources */ cleanup(): Promise<void>; private loadRepositories; private saveRepositories; /** * Auto-detect and add the current project as a repository */ private autoDetectCurrentProject; private generateRepositoryId; private mapGitStatus; } export default GitService; //# sourceMappingURL=GitService.d.ts.map