@page "/validadores/reply"
@model Nalu.Web.Pages.Validadores.ReplyModel
@{
    ViewData["Title"] = "validate_reply — Análise de contexto conversacional";
    ViewData["Description"] = "validate_reply analisa o par agente+usuário e detecta contrapropostas, evasivas, handoffs e ambiguidades. Resolve o bug das 48 parcelas vs R$48. 5 créditos.";
}

<!-- Header do validador -->
<section class="bg-gradient-to-b from-slate-50 to-white pt-16 pb-10">
    <div class="max-w-4xl mx-auto px-4 sm:px-6">
        <div class="flex items-center gap-3 mb-4">
            <a href="/validadores" class="text-gray-400 hover:text-nalu-600 text-sm">← Validadores</a>
        </div>
        <div class="flex items-start gap-4">
            <div class="text-5xl">🧠</div>
            <div>
                <div class="flex items-center gap-3 mb-2">
                    <h1 class="text-3xl font-extrabold text-gray-900">validate_reply</h1>
                    <span class="bg-nalu-100 text-nalu-700 text-sm font-bold px-3 py-1 rounded-full">⭐ Premium · 5 créditos</span>
                    <span class="bg-green-100 text-green-700 text-xs font-semibold px-2 py-1 rounded-full">NEW</span>
                </div>
                <p class="text-xl text-gray-500">Análise de contexto conversacional.</p>
            </div>
        </div>
    </div>
</section>

<!-- O que faz -->
<section class="py-10 bg-white">
    <div class="max-w-4xl mx-auto px-4 sm:px-6 prose prose-gray max-w-none">
        <h2 class="text-2xl font-bold mb-4">O que faz</h2>
        <p class="text-gray-600 leading-relaxed">
            Analisa a relação entre a mensagem do agente e a resposta do usuário.
            Classifica o tipo de resposta, extrai o significado real considerando o contexto,
            e sugere a próxima fala do agente.
        </p>

        <h3 class="text-xl font-bold mt-8 mb-4">Resolve problemas como</h3>
        <ul class="space-y-2 text-gray-600">
            <li>✓ <strong>"Bora em 48?"</strong> → 48 parcelas, não R$48</li>
            <li>✓ <strong>"É 200"</strong> → número do endereço, não R$200</li>
            <li>✓ <strong>"Prefiro quinta"</strong> → quinta-feira, não 5 de algo</li>
            <li>✓ <strong>"Não aguento mais"</strong> → handoff detectado</li>
            <li>✓ <strong>"Quero o de cima"</strong> → upgrade de plano</li>
        </ul>
    </div>
</section>

<!-- Tipos de resposta -->
<section class="py-10 bg-slate-50">
    <div class="max-w-4xl mx-auto px-4 sm:px-6">
        <h2 class="text-2xl font-bold mb-6">10 tipos de resposta detectados</h2>
        <div class="grid sm:grid-cols-2 gap-3">
            @foreach (var rt in Model.ReplyTypes)
            {
                <div class="bg-white rounded-xl border border-gray-100 p-4">
                    <div class="flex items-start gap-3">
                        <code class="bg-nalu-50 text-nalu-700 text-xs font-bold px-2 py-1 rounded">@rt.Type</code>
                        <div>
                            <div class="font-semibold text-gray-800 text-sm">@rt.Label</div>
                            <div class="text-gray-500 text-xs mt-1">@rt.Example</div>
                        </div>
                    </div>
                </div>
            }
        </div>
    </div>
</section>

<!-- Input/Output -->
<section class="py-10 bg-white">
    <div class="max-w-4xl mx-auto px-4 sm:px-6">
        <h2 class="text-2xl font-bold mb-6">Input / Output</h2>
        <div class="grid md:grid-cols-2 gap-6">
            <div>
                <div class="text-sm font-semibold text-gray-600 mb-2">Input</div>
                <pre class="bg-slate-900 text-slate-300 rounded-xl p-5 text-sm overflow-x-auto">{
  "agent_message": "Posso parcelar em 20x de R$100. Topa?",
  "user_reply": "Bora em 48?",
  "language": "pt-BR"
}</pre>
                <p class="text-xs text-gray-400 mt-2">Nota: este validador usa <code>agent_message</code> + <code>user_reply</code> em vez de <code>agent_input</code> + <code>user_input</code>.</p>
            </div>
            <div>
                <div class="text-sm font-semibold text-gray-600 mb-2">Output</div>
                <pre class="bg-slate-900 text-slate-300 rounded-xl p-5 text-sm overflow-x-auto">{
  "obtained": true,
  "reply_type": "counter_proposal",
  "extracted_value": "48",
  "value_type": "quantity",
  "extracted_meaning": "Usuário propôs 48 parcelas como
  contraproposta à oferta de 20 parcelas",
  "confidence": 0.95,
  "needs_clarification": false,
  "suggestion_to_agent": "O cliente está propondo 48
  parcelas em vez das 20 oferecidas. Deseja ajustar?"
}</pre>
            </div>
        </div>
    </div>
</section>

<!-- Exemplos do playground -->
<section class="py-10 bg-slate-50">
    <div class="max-w-4xl mx-auto px-4 sm:px-6">
        <h2 class="text-2xl font-bold mb-6">Exemplos</h2>
        <div class="space-y-4">
            @foreach (var ex in Model.Examples)
            {
                <div class="bg-white rounded-xl border border-gray-100 p-5">
                    <div class="flex items-center justify-between mb-3">
                        <div class="font-semibold text-gray-800">@ex.Label</div>
                        <code class="bg-nalu-50 text-nalu-700 text-xs font-bold px-2 py-1 rounded">@ex.ExpectedType</code>
                    </div>
                    <div class="font-mono text-sm space-y-1">
                        <div><span class="text-gray-400">Agente:</span> @ex.AgentMessage</div>
                        <div><span class="text-gray-400">Usuário:</span> @ex.UserReply</div>
                    </div>
                    @if (ex.Note != null)
                    {
                        <div class="mt-2 text-xs text-amber-600 bg-amber-50 px-3 py-1.5 rounded-lg">💡 @ex.Note</div>
                    }
                </div>
            }
        </div>
    </div>
</section>

<!-- Custo -->
<section class="py-10 bg-white">
    <div class="max-w-4xl mx-auto px-4 sm:px-6">
        <div class="bg-nalu-50 border border-nalu-100 rounded-2xl p-6 text-center">
            <div class="text-2xl font-bold text-nalu-700 mb-2">5 créditos por chamada</div>
            <div class="text-gray-600 space-y-1 text-sm">
                <p>No plano Starter: <strong class="text-nalu-600">R$ 0,0097</strong> por análise.</p>
                <p>No plano Pro: <strong class="text-nalu-600">R$ 0,0040</strong> por análise.</p>
                <p class="text-gray-400 mt-2">Menos de 1 centavo para entender o que o cliente realmente quis dizer.</p>
            </div>
            <a href="/playground?validator=reply" class="inline-block mt-4 bg-nalu-600 text-white px-6 py-2.5 rounded-xl font-semibold text-sm hover:bg-nalu-700 transition-colors">
                Testar no playground →
            </a>
        </div>
    </div>
</section>
