Files
SLACK_COORD_RELATORIO/coordenador/n8n/nodes/reuse-cached-classification.node.js
T
Gustavo Santos e322cec92b chore: import coordenador (subtree)
git-subtree-dir: coordenador
git-subtree-mainline: facbe2e340
git-subtree-split: ce7af94d55
2026-10-01 14:25:55 -03:00

32 lines
1.3 KiB
JavaScript

// @requires fallback.js
return $input.all().map((item) => {
const data = item.json;
if (data.resolucao === 'cache' && data.memory) {
const m = data.memory;
const isFallback = m.ai_classification === 'AI_FALLBACK';
return {
json: {
...data,
aiClassification: {
classification: m.ai_classification,
actionable_today: m.ai_classification === 'ACTIONABLE_NOW' || m.ai_classification === 'UNASSIGNED_ACTIONABLE',
confidence: Number(m.ai_confidence || 0),
blocker_type: m.blocker_type || null,
waiting_for: m.waiting_for || null,
next_action: m.next_action || 'Revisar chamado',
suggested_action_type: 'technical_action',
business_risk: 'medium',
reason: m.last_ai_reason || 'Classificacao reaproveitada do cache.',
evidence: [],
// Precisa refletir de verdade o que foi cacheado -- um AI_FALLBACK cacheado
// continua sendo fallback (senao a politica de elegibilidade em cooldown.js
// nao aplicaria a exclusao/override certos numa segunda execucao com cache).
is_fallback: isFallback,
fallback_reason: isFallback ? 'cached_ai_fallback' : null,
},
},
};
}
return { json: { ...data, aiClassification: buildFallbackClassification('ai_max_candidates_cap') } };
});