/**
* Zero-Config Augmentations Example
*
* Brainy's philosophy: Everything just works with zero configuration.
* Augmentations extend Brainy without any complex setup.
*/
import { Brainy } from '../src/index.js'
import { EntityRegistryAugmentation } from '../src/augmentations/entityRegistryAugmentation.js'
import { BatchProcessingAugmentation } from '../src/augmentations/batchProcessingAugmentation.js'
import { APIServerAugmentation } from '../src/augmentations/apiServerAugmentation.js'
async function main() {
// Create Brainy - zero config!
const brain = new Brainy()
// Register augmentations - they just work!
brain.augmentations.register(new EntityRegistryAugmentation()) // Deduplication
brain.augmentations.register(new BatchProcessingAugmentation()) // Performance
brain.augmentations.register(new APIServerAugmentation()) // API exposure
// Initialize Brainy (augmentations auto-initialize)
await brain.init()
// Use Brainy normally - augmentations work transparently
await brain.add({ data: "Hello world", type: 'content', metadata: { type: "greeting" } })
// Batch operations automatically optimized
await brain.addBatch([
{ content: "Item 1", metadata: { id: 1 } },
{ content: "Item 2", metadata: { id: 2 } },
{ content: "Item 3", metadata: { id: 3 } }
])
// Search works with all augmentations active
const results = await brain.search("hello")
console.log('Search results:', results)
// API server is running at http://localhost:3000
console.log('✨ Brainy is running with:')
console.log(' - Write-ahead logging (durability)')
console.log(' - Entity deduplication (performance)')
console.log(' - Batch optimization (speed)')
console.log(' - REST/WebSocket/MCP APIs (connectivity)')
console.log('')
console.log('Zero configuration required!')
}
main().catch(console.error)