using JobTrackerApi.Models;

namespace JobTrackerApi.Controllers;

public sealed record ParseCvRequest(string? Text);
public sealed record CvTemplateDescriptor(string Id, string Title, string Tone, string AccentColor, string PreviewTagline, string PreviewSummary, List<string> PreviewBullets);
public sealed record ProfileCvPreviewDto(string TemplateId, string Html, string SuggestedFileName, string FullText, string RewrittenText, string? SectionName, StructuredCvProfile StructuredCv, TailoredCvDocument Document, string? TargetRole, int? JobApplicationId);
public sealed record CvRewriteFailureDto(string Code, string Message, string? Detail = null, string? LastAiError = null);
public sealed record CvExtractionRunListItem(
    int Id,
    string Trigger,
    string Status,
    string? ArtifactFileName,
    DateTimeOffset StartedAtUtc,
    DateTimeOffset? CompletedAtUtc,
    DateTimeOffset? AppliedAtUtc,
    string ParserVersion,
    string NormalizerVersion,
    string LlmPromptVersion,
    string? ErrorMessage,
    OperationDto? Operation);
public sealed record CvProcessingOperationResponse(
    bool Queued,
    int ExtractionRunId,
    string Status,
    OperationDto? Operation,
    string? StatusUrl,
    bool Created);
