brainy/tests/manual-tests/test-metadata-filter.js
David Snelling 143e4820b9 🎉 RELEASE READY: Brainy 2.0 - Complete cleanup and documentation
Major accomplishments:
-  Complete document cleanup for release
-  Professional README.md with all 2.0 features
-  Enterprise Features guide (enterprise for everyone)
-  Quick Start guide with real examples
-  Migration guide consolidated and improved
-  CHANGELOG updated for 2.0 release
-  All sensitive/strategy docs moved to backup
-  Test files organized under /tests
-  Root directory clean and professional

Documentation highlights:
- Showcases Triple Intelligence™ Engine
- Enterprise features documentation
- 10M+ item scalability documented
- WAL, monitoring, distributed features
- Zero-config philosophy emphasized
- Brain Cloud integration details

Ready for:
- npm publish (2.0.0)
- GitHub release
- Public announcement

Confidence: 95%+ production ready
2025-08-26 12:21:13 -07:00

51 lines
No EOL
1.6 KiB
JavaScript

#!/usr/bin/env node
import { BrainyData } from './dist/index.js'
const brain = new BrainyData({
storage: { type: 'memory' },
verbose: false
})
await brain.init()
// Add test data like the unit test
const items = [
{ data: 'Flask framework', metadata: { name: 'Flask', type: 'framework', language: 'Python', year: 2010 }},
{ data: 'Django framework', metadata: { name: 'Django', type: 'framework', language: 'Python', year: 2005 }},
{ data: 'Express framework', metadata: { name: 'Express', type: 'framework', language: 'JavaScript', year: 2010 }},
{ data: 'FastAPI framework', metadata: { name: 'FastAPI', type: 'framework', language: 'Python', year: 2018 }}
]
console.log('Adding 4 items...')
for (const item of items) {
await brain.addNoun(item.data, item.metadata)
}
console.log('\nTest 1: Search with wildcard, no filter')
const all = await brain.search('*', 10)
console.log(` Found ${all.length} items`)
console.log('\nTest 2: Search with wildcard + metadata filter')
const pythonFrameworks = await brain.search('*', 10, {
metadata: {
type: 'framework',
language: 'Python'
}
})
console.log(` Found ${pythonFrameworks.length} items (expected 3)`)
pythonFrameworks.forEach(item => {
console.log(` - ${item.metadata?.name}: type=${item.metadata?.type}, language=${item.metadata?.language}`)
})
console.log('\nTest 3: Direct metadata index check')
const metadataIndex = brain.metadataIndex
if (metadataIndex) {
const ids = await metadataIndex.getIdsForFilter({
type: 'framework',
language: 'Python'
})
console.log(` MetadataIndex found ${ids.length} matching IDs`)
}
process.exit(0)