namespace Nalu.Web.Services.LlmRouter;

public record LlmRequest
{
    public required string SystemPrompt { get; init; }
    public required string UserMessage { get; init; }
    public int MaxTokens { get; init; } = 800;
    public double Temperature { get; init; } = 0.1;
}

public record LlmResponse
{
    public required string Content { get; init; }
    public required string Provider { get; init; }
    public int LatencyMs { get; init; }
}

public class RateLimitException(string provider) : Exception($"{provider} rate limited")
{
    public string Provider { get; } = provider;
}

public class ServiceUnavailableException(string message) : Exception(message);
