export interface SessionConfig { projectDir: string; parentBranch: string; branchName?: string; codingAgent: string; skipPermissions: boolean; setupCommands?: string[]; } export interface PersistedSession { id: string; number: number; name: string; config: SessionConfig; worktreePath: string; createdAt: number; sessionUuid: string; mcpConfigPath?: string; gitBranch?: string; } export interface FileDiff { path: string; oldPath?: string; status: 'added' | 'modified' | 'deleted' | 'renamed'; diff: string; additions: number; deletions: number; binary?: boolean; } export interface MergeStatus { hasCommits: boolean; commitsAhead: number; hasUncommittedChanges: boolean; } export interface MergeResult { success: boolean; conflicts?: string[]; message: string; }