// PRE-GENERATED (design session). Installable local AI runtime(s).
//
// ONLY Ollama is included: it's the one with reliable, low-intervention automation —
// per-user install (no admin / no reboot), stable winget id, headless HTTP detect + /api/pull.
// 초보자 친화 목표상, 무인 설치·운용이 확실한 것만 UI에 노출한다.
//
// ── 추후 테스트 후보 (TO TEST LATER) ─────────────────────────────────────────────
// 아래는 "OpenAI 호환 로컬 런타임"이지만 자동 설치/헤드리스 운용이 불확실해 보류.
// 자동화가 검증되면 LocalRuntimes.All 에 추가한다.
//   • LM Studio  — winget id 미확인, 서버 모드가 GUI에서 수동 로드 필요(무인화 어려움)
//   • GPT4All    — winget id 미확인, GUI 중심, 서버 모드 수동 단계
//   • Jan / LocalAI / llamafile — 자동화·헤드리스 검증 필요
// ────────────────────────────────────────────────────────────────────────────────
namespace DansoriEQ.Core.Ai;

public sealed class LocalRuntime
{
    public string Id { get; init; } = "";
    public string Name { get; init; } = "";
    public string WingetId { get; init; } = "";
    public string Endpoint { get; init; } = "";   // OpenAI-compatible base URL
    public string Note { get; init; } = "";
}

public static class LocalRuntimes
{
    public static readonly LocalRuntime Ollama = new()
    {
        Id = "ollama", Name = "Ollama", WingetId = "Ollama.Ollama",
        Endpoint = "http://localhost:11434", Note = "OpenAI 호환 · per-user 설치(무권한·무재부팅)"
    };

    public static readonly LocalRuntime[] All = { Ollama };
}
