namespace Journal.Core.Dtos;

public sealed record CoachPlanDto(
    string Kind,
    string Title,
    string Summary,
    IReadOnlyList<string> Questions,
    IReadOnlyList<string> SuggestedNextActions,
    IReadOnlyList<string> SuggestedTags,
    IReadOnlyList<CoachEvidenceDto> Evidence,
    CoachPatchProposalDto? PatchProposal = null);

public sealed record CoachEvidenceDto(
    string? RecordId,
    string Text);

public sealed record CoachPatchProposalDto(
    string Kind,
    string? Description = null,
    string? Content = null);

public sealed record CoachContextDto(
    string DateLocal,
    string? WeekStartLocal = null,
    string? WeekEndLocal = null,
    IReadOnlyList<string>? RecentEntries = null,
    IReadOnlyList<string>? RecentFragments = null,
    CoachPreferencesDto? Preferences = null);

public sealed record CoachPreferencesDto(
    int MaxQuestions = 3,
    int MaxNextActions = 3);
