using AgentSmith.Contracts.Commands;
using AgentSmith.Contracts.Models.Configuration;
using AgentSmith.Domain.Entities;

namespace AgentSmith.Application.Models;

/// <summary>
/// Context for committing changes and creating a pull request.
/// </summary>
public sealed record CommitAndPRContext(
    Repository Repository,
    IReadOnlyList<CodeChange> Changes,
    Ticket Ticket,
    RepoConnection RepoConnection,
    TrackerConnection TrackerConnection,
    PipelineContext Pipeline) : ICommandContext;
