name: confirmacao
version: 1
start: preparar
nodes:
  - id: preparar
    action: preparar_operacao
    input:
      assunto: $.input.assunto
  - id: perguntar
    action: montar_pergunta
    input:
      assunto: $.vars.preparar.assunto
    pause:
      enabled: true
      return_from: $.output.mensagem
      expected_input:
        key: resposta_usuario
        allowed_values: [SIM, NAO]
        normalize: upper_strip
        reprompt: "Não entendi. Responda sim ou não."
        semantic_classifier:
          include_relevant_context: true
          enabled: true
          prompt: |
            Classifique a resposta em exatamente uma opção de {{ allowed_values }}.
            Pergunta pendente: {{ pending_prompt }}
            Contexto relevante:
            {{ relevant_conversation_context }}
            Resposta do usuário: {{ user_input }}
            Neste exemplo, concordância/aceitação corresponde a SIM e recusa, dúvida
            adicional ou nova condição corresponde a NAO.
            Retorne somente uma opção de {{ allowed_values }}.
      resume_from: decidir
  - id: decidir
    action: registrar_decisao
    input:
      resposta: $.input.resposta_usuario
      assunto: $.vars.preparar.assunto
edges:
  - from: preparar
    to: perguntar
  - from: perguntar
    to: END
  - from: decidir
    to: END
