namespace ClaudeDo.Ui.Services;

public sealed record PlanningSessionFilesDto(
    string SessionDirectory,
    string McpConfigPath,
    string SystemPromptPath,
    string InitialPromptPath);

public sealed record PlanningSessionStartInfo(
    string ParentTaskId,
    string WorkingDir,
    PlanningSessionFilesDto Files);

public sealed record PlanningSessionResumeInfo(
    string ParentTaskId,
    string WorkingDir,
    string ClaudeSessionId,
    string McpConfigPath);

public sealed record SubtaskDiffDto(
    string SubtaskId,
    string Title,
    string BranchName,
    string BaseCommit,
    string HeadCommit,
    string? DiffStat,
    string UnifiedDiff);

public sealed record CombinedDiffResultDto(
    bool Success,
    string? IntegrationBranch,
    string? UnifiedDiff,
    string? FirstConflictSubtaskId,
    IReadOnlyList<string>? ConflictedFiles);
