|
|
@@ -67,7 +67,7 @@
|
|
|
</div>
|
|
|
|
|
|
<div
|
|
|
- v-if="m.role === 'assistant' && m.sources?.length"
|
|
|
+ v-if="m.role === 'assistant' && agruparFontes(m.sources).length"
|
|
|
class="mt-1.5 flex flex-wrap gap-1"
|
|
|
>
|
|
|
<span
|
|
|
@@ -226,10 +226,12 @@ marked.use({
|
|
|
function agruparFontes(sources) {
|
|
|
const porDocumento = new Map();
|
|
|
for (const s of sources ?? []) {
|
|
|
- const chave = s.source ?? "";
|
|
|
- const grupo = porDocumento.get(chave);
|
|
|
+ // hits sem source (ex.: agregação no modo atendimentos, tipo "quantos atendimentos no setor X")
|
|
|
+ // não têm documento/protocolo para citar — não faz sentido mostrar uma pill vazia
|
|
|
+ if (!s.source) continue;
|
|
|
+ const grupo = porDocumento.get(s.source);
|
|
|
if (grupo) grupo.count += 1;
|
|
|
- else porDocumento.set(chave, { ...s, count: 1 });
|
|
|
+ else porDocumento.set(s.source, { ...s, count: 1 });
|
|
|
}
|
|
|
return [...porDocumento.values()];
|
|
|
}
|