brainy/tests/manual-tests/test-refactored-api.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

71 lines
No EOL
3.1 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env node
import { BrainyData } from './dist/index.js'
console.log('🧠 Testing Refactored API Architecture')
console.log('search(q) = find({like: q})')
console.log('find(q) = NLP processing → complex TripleQuery')
console.log('=' + '='.repeat(50))
const brain = new BrainyData({
storage: { type: 'memory' },
verbose: false
})
await brain.init()
// Add test data
const testData = [
{ data: 'React framework', metadata: { name: 'React', type: 'framework', language: 'JavaScript', year: 2013, popularity: 'high' }},
{ data: 'Vue.js framework', metadata: { name: 'Vue', type: 'framework', language: 'JavaScript', year: 2014, popularity: 'high' }},
{ data: 'Angular framework', metadata: { name: 'Angular', type: 'framework', language: 'TypeScript', year: 2016, popularity: 'medium' }},
]
const ids = []
for (const item of testData) {
const id = await brain.addNoun(item.data, item.metadata)
ids.push(id)
}
console.log(`✅ Added ${ids.length} test items\n`)
console.log('🧪 TESTING NEW ARCHITECTURE:')
console.log('----------------------------')
// Test 1: search() should be simple vector similarity
console.log('1⃣ search("framework") - Simple vector similarity')
const searchResults = await brain.search('framework', { limit: 2 })
console.log(` Found ${searchResults.length} results via vector similarity`)
searchResults.forEach(r => console.log(` - ${r.metadata?.name} (score: ${r.score.toFixed(3)})`))
// Test 2: find() with natural language should do NLP processing
console.log('\n2⃣ find("popular JavaScript frameworks") - NLP processing')
const nlpResults = await brain.find('popular JavaScript frameworks', { limit: 2 })
console.log(` Found ${nlpResults.length} results via NLP processing`)
nlpResults.forEach(r => console.log(` - ${r.metadata?.name} (score: ${(r.fusionScore || r.score || 0).toFixed(3)})`))
// Test 3: find() with structured query should work directly
console.log('\n3⃣ find({like: "React", where: {year: {greaterThan: 2010}}}) - Structured')
const structuredResults = await brain.find({
like: 'React',
where: { year: { greaterThan: 2010 } }
}, { limit: 2 })
console.log(` Found ${structuredResults.length} results via structured query`)
structuredResults.forEach(r => console.log(` - ${r.metadata?.name} (${r.metadata?.year})`))
// Test 4: Verify search() is equivalent to find({like: query})
console.log('\n4⃣ Verification: search(q) ≡ find({like: q})')
const searchVia1 = await brain.search('Vue')
const searchVia2 = await brain.find({like: 'Vue'})
console.log(` search("Vue"): ${searchVia1.length} results`)
console.log(` find({like: "Vue"}): ${searchVia2.length} results`)
console.log(` ✅ Equivalent: ${searchVia1.length === searchVia2.length ? 'YES' : 'NO'}`)
console.log('\n' + '='.repeat(51))
console.log('✅ Refactored API Architecture Complete!')
console.log('Key improvements:')
console.log(' • search(q) = find({like: q}) - Simple vector similarity')
console.log(' • find(q) = NLP processing → intelligent queries')
console.log(' • Clean separation of concerns')
console.log(' • No duplicate code - search() delegates to find()')
process.exit(0)