namespace Api.Models.Rag; public sealed record CvIngestResponse( string DocumentId, int Chunks, int CharactersExtracted, string Summary ); public sealed class JobMatchRequest { public string? CvDocumentId { get; set; } public string? JobUrl { get; set; } public string? JobDescription { get; set; } public bool GdprConsent { get; set; } } public sealed class JobMatchResponse { public int Score { get; set; } public string Summary { get; set; } = string.Empty; public List Strengths { get; set; } = []; public List Gaps { get; set; } = []; public List Recommendations { get; set; } = []; public List Evidence { get; set; } = []; } public sealed class StoredCvChunk { public required string Id { get; init; } public required string DocumentId { get; init; } public required string Text { get; init; } public required float[] Embedding { get; init; } public required int ChunkIndex { get; init; } public DateTimeOffset ExpiresAt { get; init; } } public sealed class RetrievedCvChunk { public required string Text { get; init; } public required int ChunkIndex { get; init; } public double Score { get; init; } }