open-brainy/tests/unit/brainy
David Snelling cca1cd8ce2 feat: add structured content extraction and batch embedding optimization to highlight()
Fix highlight() hanging on structured text input by addressing 3 root causes:

1. embedBatch() now uses native WASM batch API (single forward pass instead
   of N individual embed() calls via Promise.all)

2. highlight() auto-detects content type (plain text, rich-text JSON, HTML,
   Markdown) and extracts meaningful text segments. Supports TipTap, Slate.js,
   Lexical, Draft.js, and Quill Delta formats. New contentType hint and
   contentExtractor callback for custom parsers.

3. Semantic matching phase has 10s timeout - falls back to text-only matches
   instead of hanging indefinitely.

Also fixes extractTextContent() array check: uses type-based detection
(typeof data[0] === 'number') instead of length-based (data.length > 10)
so arrays of objects are properly indexed for text search.

New types: ContentType, ContentCategory, ExtractedSegment
New fields: HighlightParams.contentType, HighlightParams.contentExtractor,
            Highlight.contentCategory
2026-01-27 10:27:22 -08:00
..
add.test.ts feat: brain.get() metadata-only optimization - Phase 2 (testing) 2025-11-18 15:41:57 -08:00
batch-operations.test.ts test: increase timing threshold for flaky updateMany test 2026-01-07 10:44:59 -08:00
counts-by-type-fix.test.ts fix(counts): counts.byType({ excludeVFS: true }) now returns correct type counts 2025-11-26 12:07:53 -08:00
delete.test.ts fix: resolve 13 neural test failures (C++ regex, location patterns, test assertions) 2025-10-30 15:46:22 -07:00
find.test.ts fix: resolve 19 critical test failures for production readiness 2025-10-09 16:58:53 -07:00
get.test.ts feat: brain.get() metadata-only optimization - Phase 2 (testing) 2025-11-18 15:41:57 -08:00
hybrid-search.test.ts feat: add structured content extraction and batch embedding optimization to highlight() 2026-01-27 10:27:22 -08:00
relate-duplicate-optimization.test.ts feat: add v5.8.0 features - transactions, pagination, and comprehensive docs 2025-11-14 10:26:23 -08:00
relate.test.ts test: skip flaky concurrent relationship test (race condition in duplicate detection) 2025-11-11 14:19:46 -08:00
update.test.ts fix: resolve update() v5.11.1 regression + skip flaky tests for release 2026-01-05 16:56:35 -08:00