SSH: adiciona consulta usuario Juniper

Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
rodrigo committed 2026-03-30 21:27:31 -03:00
1 parent 89cf8844eb
commit 7f38d16821
3 files changed
+151 -2

No files matched your search

+27 -1
View File
@@ -31,7 +31,8 @@ class NLPProcessor {
'fiberhome_status': ['fiberhome status', 'status fiberhome', 'conexões fiberhome', 'fiberhome conexoes', 'fiberhome conectado'],
'dados_cliente': ['dados cliente', 'dados cadastrais', 'cadastro cliente', 'informações cliente', 'info cliente', 'perfil cliente', 'ficha cliente', 'registro cliente', 'ver dados'],
'listar_servicos': ['listar serviços', 'servicos cliente', 'planos cliente', 'contratos cliente', 'ver servicos', 'plano cliente', 'assinaturas', 'planos', 'serviços ativos', 'ver plano'],
'abrir_suporte': ['abrir suporte', 'criar suporte', 'adicionar suporte', 'novo suporte', 'suporte', 'chamado', 'ticket', 'atendimento', 'suporte tecnico', 'atendimento tecnico', 'abrir chamado', 'registrar chamado', 'criar chamado', 'visita tecnica', 'agendar visita', 'reclamação', 'reclamacao']
'abrir_suporte': ['abrir suporte', 'criar suporte', 'adicionar suporte', 'novo suporte', 'suporte', 'chamado', 'ticket', 'atendimento', 'suporte tecnico', 'atendimento tecnico', 'abrir chamado', 'registrar chamado', 'criar chamado', 'visita tecnica', 'agendar visita', 'reclamação', 'reclamacao'],
'consultar_usuario': ['consultar usuario', 'consultar user', 'ver usuario', 'status usuario', 'status user', 'info usuario', 'info user', 'checar usuario', 'verificar usuario', 'pesquisar usuario', 'localizar usuario', 'buscar usuario', 'usuario conectado', 'user conectado', 'usuario online', 'user online', 'usuario ativo', 'user ativo']
};
// Padrões de comandos
@@ -77,6 +78,9 @@ class NLPProcessor {
/^(desconectar|kick|expulsar|remover)\s+(.+)\s+(do|no)?\s*(concentrador|juniper)?$/i,
// Padrão genérico para desconectar (detectar se é nome de usuário)
/^(desconectar|kick|expulsar|remover)\s+([a-zA-Z0-9_.-]+)$/i,
// Padrões para consultar usuário específico
/^(consultar|ver|status|info|checar|verificar|pesquisar|localizar|buscar)\s+(usuario|user)\s+(.+)$/i,
/^(usuario|user)\s+(.+)$/i,
// Padrões para listar usuários
/^(listar|mostrar)\s+(usuários|usuarios|clientes|users)(\s+conectados)?$/i,
// Padrões gerais (devem vir por último)
@@ -229,6 +233,28 @@ class NLPProcessor {
};
}
// Detectar consulta de usuário específico no Juniper
if (/consultar|ver|status|info|checar|verificar|pesquisar|localizar|buscar/i.test(action) && /usuario|user/i.test(fullMatch)) {
let username = match[3] || match[2];
return {
action: 'consultar_usuario',
target: username ? username.trim() : null,
confidence: 0.95,
type: 'consultar_usuario_pattern'
};
}
// Detectar "usuario NOME" / "user NOME"
if (/^usuario$|^user$/i.test(action)) {
let username = match[2];
return {
action: 'consultar_usuario',
target: username ? username.trim() : null,
confidence: 0.9,
type: 'consultar_usuario_simple'
};
}
// Detectar comandos de suporte
if (/abrir|criar|adicionar|novo|suporte|chamado|ticket|atendimento/i.test(action) &&
/suporte|chamado|ticket|atendimento/i.test(fullMatch)) {