Projeto do Agent Contas ORACLE

This commit is contained in:
2026-08-19 09:35:50 -03:00
commit 950a2bcd33
1366 changed files with 177217 additions and 0 deletions

View File

@@ -0,0 +1,140 @@
name: vas_estrategico
version: 3
start: preparar
nodes:
- id: preparar
action: preparar_vas_estrategico
input:
items: $.input.items
linhas: $.input.linhas
pause:
enabled: true
when:
eq: [$.output.await_user_input, true]
return_from: $.output.mensagem
expected_input:
key: resposta_usuario
allowed_values: ["SIM", "NAO", "OUTRO"]
normalize: upper_strip
resume_from: decisao
- id: resposta_bundle
action: montar_resposta_texto
input:
dados:
texto_usuario: $.vars.preparar.mensagem_bundle_fechamento
- id: decisao
action: no_op
input: {}
- id: resposta_sim
action: montar_resposta_texto
input:
dados:
texto_usuario: $.vars.preparar.mensagem_pos_aceite
- id: explicar_cancelamento
action: montar_explicacao_cancelamento_vas_estrategico
input:
linhas: $.vars.preparar.linhas
orientacoes_cancelamento: $.input.orientacoes_cancelamento
- id: registrar_sim
action: registrar_atendimento_vas_estrategico
input:
linhas: $.vars.preparar.linhas
mensagem_base: $.vars.resposta_sim.mensagem
request_status: "Fechado"
status: "CLOSED"
- id: registrar_nao
action: registrar_atendimento_vas_estrategico
input:
linhas: $.vars.preparar.linhas
mensagem_base: $.vars.explicar_cancelamento.mensagem
request_status: "Fechado"
status: "CLOSED"
- id: registrar_bundle
action: registrar_atendimento_vas_estrategico
input:
linhas: $.vars.preparar.linhas
mensagem_base: $.vars.resposta_bundle.mensagem
request_status: "Fechado"
status: "CLOSED"
- id: registrar_outro
action: registrar_atendimento_vas_estrategico
input:
linhas: $.vars.preparar.linhas
mensagem_base: "Atendimento encerrado sem confirmação de manutenção do serviço."
request_status: "Fechado"
status: "CLOSED"
edges:
- from: preparar
to: decisao
priority: 10
when:
eq: [$.vars.preparar.await_user_input, true]
- from: preparar
to: resposta_bundle
priority: 20
# Decisão pós-pausa. A pergunta "aceitou a explicação?" decide ANTES da
# distinção bundle (igual ao diagrama). OUTRO nunca chega aqui: o runtime
# intercepta resposta ambígua antes de retomar (fluxo_repergunta_outro
# re-explica e repergunta), então resposta_usuario é sempre SIM ou NAO.
# Aceitou (SIM) — bundle OU estratégico: sem reforço, só registra/finaliza.
- from: decisao
to: resposta_sim
priority: 10
when:
eq: [$.input.resposta_usuario, SIM]
# Não aceitou (NAO) + há estratégico: explica o procedimento de cancelamento
# do(s) estratégico(s) (pedidos mistos seguem por aqui, como antes).
- from: decisao
to: explicar_cancelamento
priority: 20
when:
all:
- eq: [$.vars.preparar.has_estrategico_items, true]
- eq: [$.input.resposta_usuario, NAO]
# Não aceitou (NAO) + bundle puro (sem estratégico): reforça a impossibilidade
# de cancelar. SIM já foi tratado acima (priority menor), então aqui só cai NAO.
- from: decisao
to: resposta_bundle
priority: 30
when:
eq: [$.vars.preparar.has_estrategico_items, false]
- from: decisao
to: registrar_outro
priority: 99
- from: resposta_sim
to: registrar_sim
- from: explicar_cancelamento
to: registrar_nao
- from: registrar_sim
to: END
- from: registrar_nao
to: END
- from: resposta_bundle
to: registrar_bundle
- from: registrar_bundle
to: END
- from: registrar_outro
to: END