
export interface RestartContext {
    channelId: string;
    userId: string;
    timestamp: number;
    runMigrations: boolean;
    installDependencies: boolean;
    buildWebAssets: boolean;
    previousCommit: string;
    newCommit: string;
}

export interface UpdateCheckResult {
    needsRootInstall: boolean;
    needsWebInstall: boolean;
    needsWebBuild: boolean;
    needsMigrations: boolean;
    changedFiles: string[];
    error?: Error;
}

export interface UpdateInfo {
    hasUpdates: boolean;
    branch: string;
    currentCommit: string;
    latestCommit: string;
    commitCount: number;
    commits: CommitInfo[];
}

export interface CommitInfo {
    hash: string;
    message: string;
    author: string;
}
