/**
 * 文件变更追踪类型定义
 * 功能：定义代码变更的数据结构
 * 依赖：无
 * 使用场景：AI 修改文件后的变更审查
 */

/**
 * 单个文件的变更记录
 */
export interface FileChange {
  /** 文件相对路径 */
  filePath: string;
  /** 修改前的内容 */
  oldContent: string;
  /** 修改后的内容 */
  newContent: string;
  /** 变更时间戳 */
  timestamp: number;
  /** 变更类型 */
  changeType: 'create' | 'modify' | 'delete';
  /** 变更 ID（唯一标识） */
  changeId: string;
}

/**
 * 变更会话（一次对话的所有变更）
 */
export interface ChangeSession {
  /** 会话 ID */
  sessionId: string;
  /** 会话开始时间 */
  startTime: number;
  /** 所有文件变更 */
  changes: FileChange[];
  /** 会话状态 */
  status: 'active' | 'completed';
}

/**
 * 变更操作结果
 */
export interface ChangeActionResult {
  success: boolean;
  message: string;
  changeId: string;
}
