from pathlib import Path

from fastapi import APIRouter, HTTPException
from fastapi.responses import PlainTextResponse

router = APIRouter(prefix="/manual", tags=["manual"])

PASTA = Path(__file__).resolve().parents[2] / "manual"
ARQUIVOS = {"humano": "manual_humano.md", "ia": "manual_ia.md"}


def texto_do_manual(qual: str) -> str:
    arquivo = ARQUIVOS.get(qual)
    if arquivo is None:
        raise HTTPException(status_code=404, detail="Manual não encontrado (use 'humano' ou 'ia')")
    return (PASTA / arquivo).read_text(encoding="utf-8")


@router.get("/{qual}", response_class=PlainTextResponse)
def obter(qual: str) -> PlainTextResponse:
    """Texto em markdown de um manual: `humano` (por tela, para quem usa o sistema) ou `ia` (para um agente operar a API/CLI)."""
    return PlainTextResponse(texto_do_manual(qual), media_type="text/markdown; charset=utf-8")
