Spaces:
Running
Running
Esclarecer limites da avaliação e validar notas vazias
Browse files
config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
window.COMENTA_CONFIG = {
|
| 2 |
"title": "Chat interno da equipe",
|
| 3 |
-
"description": "
|
| 4 |
"limitation": "Simula uma conversa interna apenas na sua aba. Pode acrescentar mensagens manualmente ao histórico; não conecta colegas, não autentica equipe e não serve para conteúdo confidencial.",
|
| 5 |
"fields": [
|
| 6 |
{
|
|
|
|
| 1 |
window.COMENTA_CONFIG = {
|
| 2 |
"title": "Chat interno da equipe",
|
| 3 |
+
"description": "Avaliação funcional: Simula uma conversa interna apenas na sua aba.",
|
| 4 |
"limitation": "Simula uma conversa interna apenas na sua aba. Pode acrescentar mensagens manualmente ao histórico; não conecta colegas, não autentica equipe e não serve para conteúdo confidencial.",
|
| 5 |
"fields": [
|
| 6 |
{
|
engine.js
CHANGED
|
@@ -72,7 +72,7 @@ function team(message,faq) {
|
|
| 72 |
const t=classify(message),r=handoff(message,faq);return {etapas:[{agente:'Triagem por regras',saida:t},{agente:'Consulta da base lexical',saida:faqLookup(message,faq)||'Sem correspondência'},{agente:'Supervisor de segurança',saida:r}],agendamento:/agend|reuniao|horario/.test(norm(message))?'Pedido detectado; agenda não conectada. Nenhuma reserva realizada.':'Não solicitado',execucao:'Orquestrador determinístico. Não usa múltiplos LLMs. Nenhuma ação externa.'};
|
| 73 |
}
|
| 74 |
function nps(input) {
|
| 75 |
-
const a=text(input,'Notas').split(/[,;\s]+/).filter(Boolean).map(Number);if(a.length>10000||a.some(n=>!Number.isInteger(n)||n<0||n>10))throw Error('Notas devem ser inteiros de 0 a 10. Limite: 10 mil notas.');
|
| 76 |
const promoters=a.filter(x=>x>=9).length,detractors=a.filter(x=>x<=6).length;return {respostas:a.length,promotores:promoters,neutros:a.length-promoters-detractors,detratores:detractors,nps:Math.round((promoters-detractors)/a.length*10000)/100,formula:'(% notas 9–10) − (% notas 0–6)',pesquisa_sugerida:'De 0 a 10, quanto você recomendaria nosso atendimento?',acao:'Não dispara pesquisas nem importa avaliações reais.'};
|
| 77 |
}
|
| 78 |
function internalChat(input,author,message) {
|
|
|
|
| 72 |
const t=classify(message),r=handoff(message,faq);return {etapas:[{agente:'Triagem por regras',saida:t},{agente:'Consulta da base lexical',saida:faqLookup(message,faq)||'Sem correspondência'},{agente:'Supervisor de segurança',saida:r}],agendamento:/agend|reuniao|horario/.test(norm(message))?'Pedido detectado; agenda não conectada. Nenhuma reserva realizada.':'Não solicitado',execucao:'Orquestrador determinístico. Não usa múltiplos LLMs. Nenhuma ação externa.'};
|
| 73 |
}
|
| 74 |
function nps(input) {
|
| 75 |
+
const a=text(input,'Notas').split(/[,;\s]+/).filter(Boolean).map(Number);if(!a.length||a.length>10000||a.some(n=>!Number.isInteger(n)||n<0||n>10))throw Error('Notas devem ser inteiros de 0 a 10. Limite: 10 mil notas.');
|
| 76 |
const promoters=a.filter(x=>x>=9).length,detractors=a.filter(x=>x<=6).length;return {respostas:a.length,promotores:promoters,neutros:a.length-promoters-detractors,detratores:detractors,nps:Math.round((promoters-detractors)/a.length*10000)/100,formula:'(% notas 9–10) − (% notas 0–6)',pesquisa_sugerida:'De 0 a 10, quanto você recomendaria nosso atendimento?',acao:'Não dispara pesquisas nem importa avaliações reais.'};
|
| 77 |
}
|
| 78 |
function internalChat(input,author,message) {
|