📄 src/Infrastructure/Ai/AiOptions.cs
using System;
using System.ComponentModel.DataAnnotations;
using Microsoft.Extensions.Options;

namespace Slopper.Infrastructure.Ai;

internal sealed class AiOptions
{
    [Required]
    public required string EmbeddingModel { get; set; }

    [Required]
    public required string DescriptionModel { get; set; }

    public string? BasicAuth { get; set; }

    [Required]
    public required Uri Endpoint { get; set; }
}

[OptionsValidator]
internal sealed partial class AiOptionsValidator : IValidateOptions<AiOptions>;