namespace ClaudeDo.Data.Models;

public sealed class ListConfigEntity
{
    public required string ListId { get; init; }
    public string? Model { get; set; }
    public string? SystemPrompt { get; set; }
    public string? AgentPath { get; set; }
    public int? MaxTurns { get; set; }
    public string? SessionSkills { get; set; }
    public string? VerifyCommand { get; set; }
    // Null = inherit AppSettingsEntity.DefaultPermissionMode. One of PermissionModeRegistry.Modes.
    public string? PermissionMode { get; set; }

    // Id des Projekts im externen Ticketsystem, aus dem diese Liste Tickets importiert.
    // Null = nicht verknüpft. ⚠️ SetConfigAsync kopiert verbatim — jeder Writer muss dieses
    // Feld mitführen, sonst setzt es sich still zurück.
    public int? TicketProjectId { get; set; }

    // Navigation property
    public ListEntity List { get; set; } = null!;
}
