/** * Change Analysis Service * * Central service for analyzing code changes, providing a unified way to get * git diffs, changed files, and AST symbol changes across all commands. */ import { Logger } from '../utils/logger'; import { CodeSignature } from '@sintesi/core'; export interface SymbolChange { symbolName: string; filePath: string; changeType: 'added' | 'modified' | 'deleted'; oldSignature?: CodeSignature; newSignature?: CodeSignature; } export interface ChangeContext { gitDiff: string; changedFiles: string[]; symbolChanges: SymbolChange[]; totalChanges: number; hasMeaningfulChanges?: boolean; } export interface AnalysisOptions { baseBranch?: string; stagedOnly?: boolean; projectRoot?: string; forceFetch?: boolean; includeSymbols?: boolean; fallbackToLastCommit?: boolean; excludePatterns?: string[]; } export declare class ChangeAnalysisService { private logger; private gitHelper; private astAnalyzer; constructor(logger: Logger); /** * Analyze changes in the repository */ /** * Analyze changes in the repository */ analyze(options?: AnalysisOptions): Promise; private analyzeSymbolChanges; private getFileContentFromBranch; private compareSymbols; } //# sourceMappingURL=analysis-service.d.ts.map