@vezlo/assistant-server 2.2.2 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +21 -15
  2. package/database-schema.sql +178 -8
  3. package/dist/src/bootstrap/initializeServices.d.ts.map +1 -1
  4. package/dist/src/bootstrap/initializeServices.js +2 -0
  5. package/dist/src/bootstrap/initializeServices.js.map +1 -1
  6. package/dist/src/config/global.js +1 -1
  7. package/dist/src/config/global.js.map +1 -1
  8. package/dist/src/controllers/ChatController.d.ts +12 -1
  9. package/dist/src/controllers/ChatController.d.ts.map +1 -1
  10. package/dist/src/controllers/ChatController.js +274 -148
  11. package/dist/src/controllers/ChatController.js.map +1 -1
  12. package/dist/src/controllers/KnowledgeController.d.ts.map +1 -1
  13. package/dist/src/controllers/KnowledgeController.js +0 -4
  14. package/dist/src/controllers/KnowledgeController.js.map +1 -1
  15. package/dist/src/migrations/006_add_knowledge_chunks.d.ts +4 -0
  16. package/dist/src/migrations/006_add_knowledge_chunks.d.ts.map +1 -0
  17. package/dist/src/migrations/006_add_knowledge_chunks.js +245 -0
  18. package/dist/src/migrations/006_add_knowledge_chunks.js.map +1 -0
  19. package/dist/src/migrations/007_add_updated_at_to_feedback.d.ts +4 -0
  20. package/dist/src/migrations/007_add_updated_at_to_feedback.d.ts.map +1 -0
  21. package/dist/src/migrations/007_add_updated_at_to_feedback.js +22 -0
  22. package/dist/src/migrations/007_add_updated_at_to_feedback.js.map +1 -0
  23. package/dist/src/server.js +42 -8
  24. package/dist/src/server.js.map +1 -1
  25. package/dist/src/services/AIService.d.ts +9 -0
  26. package/dist/src/services/AIService.d.ts.map +1 -1
  27. package/dist/src/services/AIService.js +111 -3
  28. package/dist/src/services/AIService.js.map +1 -1
  29. package/dist/src/services/IntentService.d.ts +2 -1
  30. package/dist/src/services/IntentService.d.ts.map +1 -1
  31. package/dist/src/services/IntentService.js +23 -4
  32. package/dist/src/services/IntentService.js.map +1 -1
  33. package/dist/src/services/KnowledgeBaseService.d.ts +20 -5
  34. package/dist/src/services/KnowledgeBaseService.d.ts.map +1 -1
  35. package/dist/src/services/KnowledgeBaseService.js +203 -137
  36. package/dist/src/services/KnowledgeBaseService.js.map +1 -1
  37. package/dist/src/storage/FeedbackRepository.d.ts +1 -0
  38. package/dist/src/storage/FeedbackRepository.d.ts.map +1 -1
  39. package/dist/src/storage/FeedbackRepository.js +26 -0
  40. package/dist/src/storage/FeedbackRepository.js.map +1 -1
  41. package/dist/src/storage/UnifiedStorage.d.ts +1 -0
  42. package/dist/src/storage/UnifiedStorage.d.ts.map +1 -1
  43. package/dist/src/storage/UnifiedStorage.js +3 -0
  44. package/dist/src/storage/UnifiedStorage.js.map +1 -1
  45. package/package.json +2 -2
  46. package/scripts/test-chunks-embeddings.js +190 -0
@@ -3,10 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.KnowledgeBaseService = void 0;
6
+ exports.KnowledgeBaseService = exports.EMBEDDING_DIMENSIONS = exports.EMBEDDING_MODEL = void 0;
7
7
  const logger_1 = __importDefault(require("../config/logger"));
8
+ // Embedding model configuration
9
+ exports.EMBEDDING_MODEL = 'text-embedding-3-large';
10
+ exports.EMBEDDING_DIMENSIONS = 3072;
8
11
  class KnowledgeBaseService {
9
12
  constructor(config) {
13
+ this.adjacentChunkSize = 2; // Fetch ±2 chunks
10
14
  this.supabase = config.supabase;
11
15
  this.tableName = config.tableName || 'vezlo_knowledge_items';
12
16
  }
@@ -46,26 +50,19 @@ class KnowledgeBaseService {
46
50
  created_at: new Date().toISOString(),
47
51
  updated_at: new Date().toISOString()
48
52
  };
49
- // Generate embedding for content-based items
50
- if (item.content && (item.type === 'document' || item.type === 'file')) {
51
- console.log('Attempting to generate embedding for content:', item.content.substring(0, 100) + '...');
52
- const embedding = await this.generateEmbedding(item.content);
53
- if (embedding) {
54
- console.log('Embedding generated successfully, length:', embedding.length);
55
- insertData.embedding = embedding;
56
- insertData.processed_at = new Date().toISOString();
57
- }
58
- else {
59
- console.log('Embedding generation returned null');
60
- }
61
- }
53
+ // Insert parent document (without embedding)
62
54
  const { data, error } = await this.supabase
63
55
  .from(this.tableName)
64
56
  .insert(insertData)
65
- .select('uuid')
57
+ .select('id, uuid')
66
58
  .single();
67
59
  if (error)
68
60
  throw new Error(`Failed to create knowledge item: ${error.message}`);
61
+ // Create chunks with embeddings for content-based items
62
+ if (item.content && (item.type === 'document' || item.type === 'file')) {
63
+ console.log('Creating chunks for content...');
64
+ await this.createChunksForDocument(data.id, item.content, item.title);
65
+ }
69
66
  return data.uuid;
70
67
  }
71
68
  catch (error) {
@@ -246,150 +243,175 @@ class KnowledgeBaseService {
246
243
  throw new Error(`Failed to delete knowledge item: ${error instanceof Error ? error.message : 'Unknown error'}`);
247
244
  }
248
245
  }
246
+ /**
247
+ * Search with top-k + adjacent chunk retrieval strategy
248
+ */
249
249
  async search(query, options = {}) {
250
250
  try {
251
- const limit = options.limit || 5;
252
- // Balanced precision/recall (0.5 is industry standard)
253
- const threshold = options.threshold || 0.5;
254
- const type = options.type || 'semantic'; // Modern RAG best practice: semantic-first
255
- // Reduced logging - only essential info
256
- logger_1.default.info(`🔎 Search: type=${type}, threshold=${threshold}, limit=${limit}, companyId=${options.company_id ?? 'all'}`);
257
- if (type === 'semantic') {
258
- return await this.semanticSearch(query, limit, threshold, options.company_id);
259
- }
260
- else if (type === 'keyword') {
261
- return await this.keywordSearch(query, limit, options.company_id);
262
- }
263
- else {
264
- // Hybrid search - combine both approaches
265
- const semanticResults = await this.semanticSearch(query, Math.ceil(limit / 2), threshold, options.company_id);
266
- const keywordResults = await this.keywordSearch(query, Math.ceil(limit / 2), options.company_id);
267
- // Merge and deduplicate results
268
- const combined = [...semanticResults, ...keywordResults];
269
- const unique = combined.filter((item, index, self) => index === self.findIndex(t => t.id === item.id));
270
- logger_1.default.info(`📊 Hybrid: ${semanticResults.length} semantic + ${keywordResults.length} keyword = ${unique.length} total`);
271
- return unique.slice(0, limit);
272
- }
273
- }
274
- catch (error) {
275
- console.error('Search error:', error);
276
- throw new Error(`Failed to search knowledge items: ${error instanceof Error ? error.message : 'Unknown error'}`);
277
- }
278
- }
279
- async semanticSearch(query, limit, threshold, companyId) {
280
- try {
251
+ const topK = options.limit || 5;
252
+ const companyId = options.company_id;
253
+ logger_1.default.info(`🔎 Search: top-k=${topK}, adjacent=±${this.adjacentChunkSize}, companyId=${companyId ?? 'all'}`);
254
+ // Step 1: Generate query embedding
281
255
  const queryEmbedding = await this.generateEmbedding(query);
282
256
  if (!queryEmbedding) {
283
257
  logger_1.default.error('Failed to generate query embedding');
284
258
  return [];
285
259
  }
286
- // Use optimized RPC function for vector search
287
- // This uses pgvector's <=> operator directly in the database for efficient
288
- // nearest-neighbor search, avoiding the need to fetch all records and calculate
289
- // similarity in Node.js
290
- const { data, error } = await this.supabase.rpc('match_vezlo_knowledge', {
291
- query_embedding: queryEmbedding,
292
- match_threshold: threshold,
293
- match_count: limit,
294
- filter_company_id: companyId !== undefined ? companyId : null
295
- });
296
- if (error) {
297
- logger_1.default.error('RPC vector search error:', error);
298
- throw new Error(`Semantic search failed: ${error.message}`);
299
- }
300
- if (!data || data.length === 0) {
301
- logger_1.default.warn(`⚠️ No items found in DB for companyId=${companyId ?? 'all'}`);
260
+ // Step 2: Initial top-k semantic search (no threshold)
261
+ const initialChunks = await this.topKSemanticSearch(queryEmbedding, topK, companyId);
262
+ if (initialChunks.length === 0) {
263
+ logger_1.default.warn('⚠️ No chunks found in top-k search');
302
264
  return [];
303
265
  }
304
- logger_1.default.info(`📦 RPC returned ${data.length} items`);
305
- // Transform RPC results to SearchResult format
306
- const results = data.map((item) => ({
307
- id: item.uuid,
308
- title: item.title,
309
- description: item.description,
310
- content: item.content,
311
- type: item.type,
312
- score: item.similarity,
313
- metadata: item.metadata
314
- }));
315
- // Log results summary
316
- if (results.length > 0) {
317
- const topResults = results.slice(0, 3);
318
- const topScores = topResults.map(r => `${r.title}:${r.score.toFixed(2)}`).join(', ');
319
- logger_1.default.info(`✅ Found ${results.length} results above threshold (top: ${topScores})`);
320
- }
321
- return results;
266
+ logger_1.default.info(`📦 Found ${initialChunks.length} initial chunks (scores: ${initialChunks.map(c => c.similarity.toFixed(2)).join(', ')})`);
267
+ // Step 3: Fetch adjacent chunks for each matched chunk
268
+ const enrichedChunks = await this.fetchAdjacentChunks(initialChunks);
269
+ logger_1.default.info(`📚 Enriched to ${enrichedChunks.length} total chunks (with adjacent context)`);
270
+ // Step 4: Group by document and merge continuous sequences
271
+ const mergedResults = this.mergeAdjacentChunks(enrichedChunks, initialChunks);
272
+ logger_1.default.info(`✅ Merged into ${mergedResults.length} contextual results`);
273
+ return mergedResults;
322
274
  }
323
275
  catch (error) {
324
- logger_1.default.error('Semantic search error:', error);
276
+ logger_1.default.error('Search error:', error);
325
277
  return [];
326
278
  }
327
279
  }
328
- // Add cosine similarity function (from original implementation)
329
- cosineSimilarity(a, b) {
330
- try {
331
- // Validate inputs
332
- if (!Array.isArray(a) || !Array.isArray(b)) {
333
- console.error('Cosine similarity: inputs are not arrays', typeof a, typeof b);
334
- return 0;
335
- }
336
- if (a.length !== b.length) {
337
- console.error('Cosine similarity: arrays have different lengths', a.length, b.length);
338
- return 0;
339
- }
340
- if (a.length === 0) {
341
- console.error('Cosine similarity: arrays are empty');
342
- return 0;
343
- }
344
- const dotProduct = a.reduce((sum, val, i) => sum + val * b[i], 0);
345
- const magnitudeA = Math.sqrt(a.reduce((sum, val) => sum + val * val, 0));
346
- const magnitudeB = Math.sqrt(b.reduce((sum, val) => sum + val * val, 0));
347
- if (magnitudeA === 0 || magnitudeB === 0) {
348
- return 0;
349
- }
350
- return dotProduct / (magnitudeA * magnitudeB);
351
- }
352
- catch (error) {
353
- console.error('Error in cosine similarity calculation:', error);
354
- return 0;
280
+ /**
281
+ * Top-k semantic search (no threshold)
282
+ */
283
+ async topKSemanticSearch(queryEmbedding, topK, companyId) {
284
+ const rpcParams = {
285
+ query_embedding: JSON.stringify(queryEmbedding),
286
+ match_threshold: 0.0, // No threshold - pure top-k
287
+ match_count: topK,
288
+ filter_company_id: companyId !== undefined ? companyId : null
289
+ };
290
+ const { data, error } = await this.supabase.rpc('vezlo_match_knowledge_chunks', rpcParams);
291
+ if (error) {
292
+ logger_1.default.error('RPC top-k search error:', error);
293
+ throw new Error(`Top-k search failed: ${error.message}`);
355
294
  }
295
+ return data || [];
356
296
  }
357
- async keywordSearch(query, limit, companyId) {
358
- try {
359
- let dbQuery = this.supabase
360
- .from(this.tableName)
361
- .select(`
297
+ /**
298
+ * Fetch adjacent chunks (±N) for all matched chunks in ONE query
299
+ */
300
+ async fetchAdjacentChunks(matchedChunks) {
301
+ if (matchedChunks.length === 0) {
302
+ return [];
303
+ }
304
+ // Build similarity lookup map for matched chunks
305
+ const similarityMap = new Map();
306
+ matchedChunks.forEach(chunk => {
307
+ similarityMap.set(`${chunk.document_id}-${chunk.chunk_index}`, chunk.similarity);
308
+ });
309
+ // Calculate all adjacent ranges and build OR conditions
310
+ const ranges = [];
311
+ matchedChunks.forEach(chunk => {
312
+ const minIndex = Math.max(0, chunk.chunk_index - this.adjacentChunkSize);
313
+ const maxIndex = chunk.chunk_index + this.adjacentChunkSize;
314
+ ranges.push({
315
+ documentId: chunk.document_id,
316
+ minIndex,
317
+ maxIndex
318
+ });
319
+ });
320
+ // Fetch ALL adjacent chunks in ONE query using OR conditions
321
+ let query = this.supabase
322
+ .from('vezlo_knowledge_chunks')
323
+ .select(`
324
+ id,
325
+ document_id,
326
+ chunk_text,
327
+ chunk_index,
328
+ vezlo_knowledge_items!inner(
362
329
  uuid,
363
330
  title,
364
331
  description,
365
- content,
366
332
  type,
367
333
  metadata
368
- `)
369
- .textSearch('title,description,content', query, {
370
- type: 'websearch',
371
- config: 'english'
372
- })
373
- .limit(limit);
374
- if (companyId) {
375
- dbQuery = dbQuery.eq('company_id', companyId);
376
- }
377
- const { data, error } = await dbQuery;
378
- if (error)
379
- throw new Error(`Keyword search failed: ${error.message}`);
380
- return data.map(item => ({
381
- id: item.uuid,
382
- title: item.title,
383
- description: item.description,
384
- content: item.content,
385
- type: item.type,
386
- score: 0.8, // Default score for keyword matches
387
- metadata: item.metadata
388
- }));
334
+ )
335
+ `);
336
+ // Build OR filter: (doc=1 AND idx>=10 AND idx<=14) OR (doc=2 AND idx>=5 AND idx<=9) OR ...
337
+ const orConditions = ranges.map(r => `and(document_id.eq.${r.documentId},chunk_index.gte.${r.minIndex},chunk_index.lte.${r.maxIndex})`).join(',');
338
+ query = query.or(orConditions);
339
+ query = query.order('document_id', { ascending: true }).order('chunk_index', { ascending: true });
340
+ const { data, error } = await query;
341
+ if (error) {
342
+ logger_1.default.error('Failed to fetch adjacent chunks:', error);
343
+ return matchedChunks; // Fallback to original chunks on error
389
344
  }
390
- catch (error) {
391
- return [];
345
+ if (!data || data.length === 0) {
346
+ return matchedChunks;
392
347
  }
348
+ // Transform and assign similarity scores
349
+ const allChunks = data.map((row) => {
350
+ const doc = row.vezlo_knowledge_items;
351
+ const key = `${row.document_id}-${row.chunk_index}`;
352
+ const similarity = similarityMap.get(key) || 0; // Use original score if matched, else 0
353
+ return {
354
+ chunk_id: row.id,
355
+ document_id: row.document_id,
356
+ document_uuid: doc.uuid,
357
+ document_title: doc.title,
358
+ document_description: doc.description,
359
+ document_type: doc.type,
360
+ document_metadata: doc.metadata,
361
+ chunk_text: row.chunk_text,
362
+ chunk_index: row.chunk_index,
363
+ similarity
364
+ };
365
+ });
366
+ // Deduplicate by chunk_id
367
+ const uniqueChunks = new Map();
368
+ allChunks.forEach(chunk => {
369
+ if (!uniqueChunks.has(chunk.chunk_id)) {
370
+ uniqueChunks.set(chunk.chunk_id, chunk);
371
+ }
372
+ });
373
+ return Array.from(uniqueChunks.values());
374
+ }
375
+ /**
376
+ * Merge continuous chunk sequences by document
377
+ */
378
+ mergeAdjacentChunks(allChunks, originalMatches) {
379
+ // Group chunks by document
380
+ const byDocument = new Map();
381
+ allChunks.forEach(chunk => {
382
+ if (!byDocument.has(chunk.document_id)) {
383
+ byDocument.set(chunk.document_id, []);
384
+ }
385
+ byDocument.get(chunk.document_id).push(chunk);
386
+ });
387
+ // Merge continuous sequences within each document
388
+ const results = [];
389
+ byDocument.forEach((chunks, documentId) => {
390
+ // Sort by chunk_index
391
+ chunks.sort((a, b) => a.chunk_index - b.chunk_index);
392
+ // Find the best similarity score for this document (from original matches)
393
+ const bestMatch = originalMatches.find(m => m.document_id === documentId);
394
+ const score = bestMatch?.similarity || 0;
395
+ // Merge all chunks into single content (preserving order)
396
+ const mergedContent = chunks.map(c => c.chunk_text).join('\n\n');
397
+ // Use first chunk's metadata for result
398
+ const firstChunk = chunks[0];
399
+ results.push({
400
+ id: firstChunk.document_uuid,
401
+ title: firstChunk.document_title,
402
+ description: firstChunk.document_description,
403
+ content: mergedContent,
404
+ type: firstChunk.document_type,
405
+ score,
406
+ metadata: {
407
+ ...firstChunk.document_metadata,
408
+ chunk_count: chunks.length,
409
+ chunk_range: `${chunks[0].chunk_index}-${chunks[chunks.length - 1].chunk_index}`
410
+ }
411
+ });
412
+ });
413
+ // Sort by score (highest first)
414
+ return results.sort((a, b) => b.score - a.score);
393
415
  }
394
416
  async generateEmbedding(text) {
395
417
  const maxRetries = 3;
@@ -411,7 +433,7 @@ class KnowledgeBaseService {
411
433
  'Content-Type': 'application/json'
412
434
  },
413
435
  body: JSON.stringify({
414
- model: 'text-embedding-ada-002',
436
+ model: exports.EMBEDDING_MODEL,
415
437
  input: text.substring(0, 8000) // Limit text length to avoid token limits
416
438
  }),
417
439
  signal: controller.signal
@@ -442,6 +464,50 @@ class KnowledgeBaseService {
442
464
  }
443
465
  return null;
444
466
  }
467
+ async createChunksForDocument(documentId, content, documentTitle) {
468
+ const chunkSize = parseInt(process.env.CHUNK_SIZE || '1000');
469
+ const chunkOverlap = parseInt(process.env.CHUNK_OVERLAP || '200');
470
+ const chunks = this.splitIntoChunks(content, chunkSize, chunkOverlap);
471
+ const processedAt = new Date().toISOString();
472
+ console.log(`Creating ${chunks.length} chunks for document...`);
473
+ for (let i = 0; i < chunks.length; i++) {
474
+ const chunk = chunks[i];
475
+ // Generate embedding from chunk text
476
+ const embedding = await this.generateEmbedding(chunk.text);
477
+ if (embedding) {
478
+ const { data, error } = await this.supabase.rpc('vezlo_insert_knowledge_chunk', {
479
+ p_document_id: documentId,
480
+ p_chunk_text: chunk.text,
481
+ p_chunk_index: i,
482
+ p_start_char: chunk.startChar,
483
+ p_end_char: chunk.endChar,
484
+ p_token_count: Math.ceil(chunk.text.length / 4),
485
+ p_embedding: JSON.stringify(embedding),
486
+ p_processed_at: processedAt
487
+ });
488
+ if (error) {
489
+ console.error(`❌ Failed to insert chunk ${i}:`, error);
490
+ throw new Error(`Failed to insert chunk: ${error.message}`);
491
+ }
492
+ console.log(`✓ Inserted chunk ${i} (ID: ${data})`);
493
+ }
494
+ }
495
+ }
496
+ splitIntoChunks(text, chunkSize, overlap) {
497
+ const chunks = [];
498
+ let startChar = 0;
499
+ while (startChar < text.length) {
500
+ const endChar = Math.min(startChar + chunkSize, text.length);
501
+ const chunkText = text.substring(startChar, endChar);
502
+ chunks.push({
503
+ text: chunkText,
504
+ startChar: startChar,
505
+ endChar: endChar
506
+ });
507
+ startChar += chunkSize - overlap;
508
+ }
509
+ return chunks;
510
+ }
445
511
  }
446
512
  exports.KnowledgeBaseService = KnowledgeBaseService;
447
513
  //# sourceMappingURL=KnowledgeBaseService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KnowledgeBaseService.js","sourceRoot":"","sources":["../../../src/services/KnowledgeBaseService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KnowledgeBaseService.js","sourceRoot":"","sources":["../../../src/services/KnowledgeBaseService.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class FeedbackRepository {
9
9
  getFeedback(messageId: string): Promise<Feedback[]>;
10
10
  getFeedbackById(feedbackId: string): Promise<Feedback | null>;
11
11
  getUserFeedback(userId: string, limit?: number, offset?: number): Promise<Feedback[]>;
12
+ getFeedbackByMessageAndUser(messageId: string, userId: string): Promise<Feedback | null>;
12
13
  deleteFeedback(feedbackId: string): Promise<boolean>;
13
14
  private rowToFeedback;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackRepository.d.ts","sourceRoot":"","sources":["../../../src/storage/FeedbackRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,WAAW,CAAS;gBAEhB,QAAQ,EAAE,cAAc,EAAE,WAAW,GAAE,MAAW;IAK9D,OAAO,CAAC,YAAY;IAId,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6DnD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAyBnD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAiB7D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAe5E,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY1D,OAAO,CAAC,aAAa;CAatB"}
1
+ {"version":3,"file":"FeedbackRepository.d.ts","sourceRoot":"","sources":["../../../src/storage/FeedbackRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,WAAW,CAAS;gBAEhB,QAAQ,EAAE,cAAc,EAAE,WAAW,GAAE,MAAW;IAK9D,OAAO,CAAC,YAAY;IAId,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6DnD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAyBnD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAiB7D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAe5E,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA+BxF,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY1D,OAAO,CAAC,aAAa;CAatB"}
@@ -113,6 +113,32 @@ class FeedbackRepository {
113
113
  throw new Error(`Failed to get user feedback: ${error.message}`);
114
114
  return (data || []).map(row => this.rowToFeedback(row));
115
115
  }
116
+ async getFeedbackByMessageAndUser(messageId, userId) {
117
+ const tableName = this.getTableName('message_feedback');
118
+ // Get message internal ID from UUID
119
+ const messageQuery = await this.supabase
120
+ .from(this.getTableName('messages'))
121
+ .select('id')
122
+ .eq('uuid', messageId)
123
+ .single();
124
+ if (messageQuery.error) {
125
+ throw new Error(`Failed to find message: ${messageQuery.error.message}`);
126
+ }
127
+ const { data, error } = await this.supabase
128
+ .from(tableName)
129
+ .select('*, ' + this.getTableName('messages') + '!inner(uuid)')
130
+ .eq('message_id', messageQuery.data.id)
131
+ .eq('user_id', parseInt(userId) || 1)
132
+ .order('created_at', { ascending: false })
133
+ .limit(1)
134
+ .single();
135
+ if (error) {
136
+ if (error.code === 'PGRST116')
137
+ return null; // Not found
138
+ throw new Error(`Failed to get feedback: ${error.message}`);
139
+ }
140
+ return this.rowToFeedback(data);
141
+ }
116
142
  async deleteFeedback(feedbackId) {
117
143
  const tableName = this.getTableName('message_feedback');
118
144
  const { error } = await this.supabase
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackRepository.js","sourceRoot":"","sources":["../../../src/storage/FeedbackRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeedbackRepository.js","sourceRoot":"","sources":["../../../src/storage/FeedbackRepository.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare class UnifiedStorage implements ChatStorage {
28
28
  getFeedback(messageId: string): Promise<Feedback[]>;
29
29
  getFeedbackById(feedbackId: string): Promise<Feedback | null>;
30
30
  getUserFeedback(userId: string, limit?: number, offset?: number): Promise<Feedback[]>;
31
+ getFeedbackByMessageAndUser(messageId: string, userId: string): Promise<Feedback | null>;
31
32
  deleteFeedback(feedbackId: string): Promise<boolean>;
32
33
  /**
33
34
  * Get conversation with all messages
@@ -1 +1 @@
1
- {"version":3,"file":"UnifiedStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/UnifiedStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,qBAAa,cAAe,YAAW,WAAW;IACzC,aAAa,EAAE,sBAAsB,CAAC;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,kBAAkB,CAAC;gBAGlC,QAAQ,EAAE,cAAc,EACxB,WAAW,GAAE,MAAW;IAWpB,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI3E,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAIzE,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIzG,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,sBAAsB,CAAC;IAQ5B,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAInE,WAAW,CACf,cAAc,EAAE,MAAM,EACtB,KAAK,SAAK,EACV,MAAM,SAAI,EACV,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,GACnC,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIzB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAQpE,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAInD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAInD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI7D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI5E,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ1D;;OAEG;IACG,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QACjE,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;QACtC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;KAC/B,CAAC;IASF;;OAEG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACvD,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;QAClC,QAAQ,EAAE,QAAQ,EAAE,CAAC;KACtB,CAAC;CAQH"}
1
+ {"version":3,"file":"UnifiedStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/UnifiedStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,qBAAa,cAAe,YAAW,WAAW;IACzC,aAAa,EAAE,sBAAsB,CAAC;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,kBAAkB,CAAC;gBAGlC,QAAQ,EAAE,cAAc,EACxB,WAAW,GAAE,MAAW;IAWpB,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI3E,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAIzE,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIzG,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,sBAAsB,CAAC;IAQ5B,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAInE,WAAW,CACf,cAAc,EAAE,MAAM,EACtB,KAAK,SAAK,EACV,MAAM,SAAI,EACV,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,GACnC,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIzB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAQpE,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAInD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAInD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI7D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI5E,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIxF,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ1D;;OAEG;IACG,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QACjE,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;QACtC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;KAC/B,CAAC;IASF;;OAEG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACvD,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;QAClC,QAAQ,EAAE,QAAQ,EAAE,CAAC;KACtB,CAAC;CAQH"}
@@ -63,6 +63,9 @@ class UnifiedStorage {
63
63
  async getUserFeedback(userId, limit = 50, offset = 0) {
64
64
  return this.feedback.getUserFeedback(userId, limit, offset);
65
65
  }
66
+ async getFeedbackByMessageAndUser(messageId, userId) {
67
+ return this.feedback.getFeedbackByMessageAndUser(messageId, userId);
68
+ }
66
69
  async deleteFeedback(feedbackId) {
67
70
  return this.feedback.deleteFeedback(feedbackId);
68
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UnifiedStorage.js","sourceRoot":"","sources":["../../../src/storage/UnifiedStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UnifiedStorage.js","sourceRoot":"","sources":["../../../src/storage/UnifiedStorage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vezlo/assistant-server",
3
- "version": "2.2.2",
4
- "description": "Production-ready AI Assistant Server with vector search, conversation management, real-time communication, and human agent handoff",
3
+ "version": "2.4.0",
4
+ "description": "Production-ready AI Assistant Server with advanced RAG (chunk-based semantic search + adjacent retrieval), conversation management, real-time communication, and human agent handoff",
5
5
  "main": "dist/src/server.js",
6
6
  "types": "dist/src/server.d.ts",
7
7
  "bin": {