feat(maria): modelul de embedding in cheia de cache si listarea grupurilor WhatsApp

Cheia de refolosire a embeddings-urilor era doar textul chunk-ului. La schimbarea
lui EMBED_MODEL indexul ar fi ramas un amestec de vectori din doua modele, iar
cautarea ar fi dat rezultate aiurea fara nici un mesaj de eroare. Acum fiecare
intrare poarta modelul cu care a fost calculata si se refolosesc doar cele cu
modelul curent; intrarile vechi, fara camp, se recalculeaza o singura data.
Indexul de pe container a fost stampilat manual cu `nomic-embed-text` (singurul
folosit pana acum), deci nu s-au recalculat cele 169 de chunk-uri.

`GET /groups` listeaza grupurile contului cu JID, nume si numar de participanti.
JID-ul unui grup ("120363...@g.us") nu se vede nicaieri in WhatsApp, iar el e
singurul mod de a scrie SUPPORT_JID pentru un grup de suport.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4uzvgm7AyJch5WH8QHRhY
This commit is contained in:
Claude Agent
2026-08-31 22:20:08 +00:00
parent 52d1e9f205
commit 44763869ce
4 changed files with 89 additions and 6 deletions

View File

@@ -418,6 +418,25 @@ app.post('/react', async (req, res) => {
}
});
// Grupurile din care face parte contul, cu JID-ul lor. WhatsApp nu arata nicaieri
// JID-ul unui grup ("120363...@g.us"), iar el e singurul mod de a-l scrie in
// SUPPORT_JID: de aici se citeste, o data, cand se leaga escaladarile de un grup.
app.get('/groups', async (_req, res) => {
if (!connected || !sock) {
return res.status(503).json({ ok: false, error: 'not connected to WhatsApp' });
}
try {
const all = await sock.groupFetchAllParticipating();
const groups = Object.values(all)
.map((g) => ({ jid: g.id, subject: g.subject, participants: g.participants?.length || 0 }))
.sort((a, b) => (a.subject || '').localeCompare(b.subject || ''));
res.json({ ok: true, groups });
} catch (err) {
console.error('[whatsapp] Group fetch failed:', err.message);
res.status(500).json({ ok: false, error: err.message });
}
});
app.get('/messages', (_req, res) => {
const messages = messageQueue.splice(0);
res.json({ messages });