# ============================================================================
# DAY ZERO
# Este arquivo foi copiado do agent_template_backend original.
# Ajuste os exemplos abaixo para o domínio do seu novo agente.
# ============================================================================
# Roteamento enterprise configurável com MCP-aware intents.
router:
  # mode também pode ser definido por variável de ambiente ROUTING_MODE.
  # Valores: router | supervisor
  mode: router
  fallback_agent: billing_agent
  confidence_threshold: 0.65
  allow_handoff: true

  transaction_confirmation:
    # Explicit yes/no stays deterministic. Only inconclusive replies use this LLM fallback.
    semantic_fallback:
      enabled: true
      allowed_values: [SIM, NAO, CONTINUAR]
      confirm_values: [SIM]
      reject_values: [NAO]
      continue_values: [CONTINUAR]
      include_relevant_context: true
      profile_name: router
      prompt: |
        Você classifica a resposta do cliente a uma confirmação transacional pendente.
        Considere a pergunta pendente, somente o histórico recente relacionado ao mesmo tema e a fala atual.
        Não execute a ação e não invente fatos.

        Classes permitidas: {{ allowed_values }}
        - SIM: confirmação/aceite inequívoco, inclusive equivalentes como "isso mesmo", "pode confirmar", "é isso" quando o contexto tornar o aceite claro.
        - NAO: recusa/cancelamento inequívoco da ação pendente.
        - CONTINUAR: qualquer resposta que não confirme nem rejeite inequivocamente, incluindo pergunta adicional, correção, novo dado, ambiguidade ou possível mudança de assunto.

        Pergunta pendente:
        {{ pending_prompt }}

        Histórico relevante:
        {{ relevant_conversation_context }}

        Resposta atual do cliente:
        {{ user_input }}

state_policies:
  - state: WAITING_BILLING_CONFIRMATION
    agent: billing_agent
    description: Mantém mensagens curtas como "sim" ou "não" no fluxo de fatura.
  - state: WAITING_PRODUCT_CONFIRMATION
    agent: product_agent
    description: Mantém confirmações no fluxo de produtos/serviços.
  - state: WAITING_ORDER_CONFIRMATION
    agent: orders_agent
    description: Mantém confirmações no fluxo de pedidos.
  - state: WAITING_SUPPORT_CONFIRMATION
    agent: support_agent
    description: Mantém confirmações no fluxo de suporte retail.
  - state: COLLECTING_BILLING_PARAMETERS
    agent: billing_agent
    description: Mantém a coleta de parâmetros no fluxo de faturamento.
  - state: COLLECTING_PRODUCT_PARAMETERS
    agent: product_agent
    description: Mantém a coleta de parâmetros no fluxo de produtos e serviços.
  - state: COLLECTING_ORDER_PARAMETERS
    agent: orders_agent
    description: Mantém a coleta de parâmetros no fluxo de pedidos.
  - state: COLLECTING_SUPPORT_PARAMETERS
    agent: support_agent
    description: Mantém a coleta de parâmetros no fluxo transacional de suporte retail.

intents:
  - name: billing_invoice_explanation
    domain: telecom
    agent: billing_agent
    description: Dúvidas sobre fatura, cobrança, vencimento, segunda via, contestação e valores.
    priority: 10
    mcp_tools:
      - consultar_fatura
      - consultar_pagamentos
    keywords:
      - fatura
      - conta
      - cobrança
      - boleto
      - vencimento
      - segunda via
      - contestar
      - valor alto
      - invoice
    examples:
      - Minha fatura veio alta.
      - Quero entender uma cobrança.
      - Preciso da segunda via da conta.

  - name: product_services_information
    domain: telecom
    agent: product_agent
    description: Dúvidas sobre plano, pacote, produto, serviço, VAS, internet, roaming e benefícios.
    priority: 20
    mcp_tools:
      - consultar_plano
      - listar_servicos
    keywords:
      - plano
      - serviço
      - pacote
      - internet
      - roaming
      - vas
      - benefício
      - assinatura
    examples:
      - Quais serviços estão ativos no meu plano?
      - Quero saber sobre meu pacote de internet.
      - Tenho roaming internacional?


  - name: retail_order_cancel
    domain: retail
    agent: orders_agent
    description: Cancelamento explícito de pedido ou compra.
    priority: 20
    mcp_tools:
      - consultar_pedido
      - cancelar_pedido
    keywords:
      - cancelar pedido
      - cancelamento do pedido
      - cancelar a compra
      - cancelar compra
    examples:
      - Quero cancelar meu pedido.
      - Cancele o pedido.
      - Quero cancelar a compra.

  - name: retail_order_tracking
    domain: retail
    agent: orders_agent
    description: Consulta de pedido, entrega, rastreamento, atraso e status de compra.
    priority: 30
    mcp_tools:
      - consultar_pedido
      - consultar_entrega
    keywords:
      - pedido
      - entrega
      - rastreio
      - rastreamento
      - encomenda
      - compra
      - atraso
      - correios
    examples:
      - Meu pedido não chegou.
      - Quero rastrear minha entrega.
      - Qual é o status da minha compra?

  - name: retail_support_exchange_return
    domain: retail
    agent: support_agent
    description: Suporte, troca, devolução, garantia e problema com produto.
    priority: 25
    mcp_tools:
      - consultar_pedido
      - solicitar_troca
      - solicitar_devolucao
    keywords:
      - solicitar devolução
      - devolver pedido
      - solicitar troca
      - troca
      - devolução
      - devolver
      - garantia
      - defeito
      - produto quebrado
      - suporte
      - arrependimento
    examples:
      - Quero trocar um produto.
      - Meu produto veio com defeito.
      - Como faço uma devolução?
