Initial commit: Brainy - Multi-Dimensional AI Database
Open source vector database with HNSW indexing, graph relationships, and metadata facets. Features CLI with professional augmentation registry integration for discovering extensions and capabilities.
This commit is contained in:
commit
f8c45f2d8d
448 changed files with 103294 additions and 0 deletions
83
scripts/start-broadcast-server.ts
Normal file
83
scripts/start-broadcast-server.ts
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Brain Jar Broadcast Server
|
||||
*
|
||||
* Start this server to enable real-time communication between
|
||||
* multiple Claude instances (Jarvis, Picasso, etc.)
|
||||
*
|
||||
* Usage:
|
||||
* npm run broadcast:local # Start local server on port 8765
|
||||
* npm run broadcast:cloud # Start cloud server on port 8080
|
||||
*/
|
||||
|
||||
import { BrainyData } from '../src/brainyData.js'
|
||||
import { BrainyMCPBroadcast } from '../src/mcp/brainyMCPBroadcast.js'
|
||||
|
||||
const isCloud = process.argv.includes('--cloud')
|
||||
const port = isCloud ? 8080 : 8765
|
||||
|
||||
async function startServer() {
|
||||
console.log('🧠🫙 Starting Brain Jar Broadcast Server...')
|
||||
console.log('=====================================')
|
||||
|
||||
// Initialize Brainy for server-side memory
|
||||
const brainy = new BrainyData({
|
||||
storagePath: '.brain-jar/server',
|
||||
dimensions: 384
|
||||
})
|
||||
|
||||
await brainy.init()
|
||||
console.log('✅ Brainy initialized for server memory')
|
||||
|
||||
// Create broadcast server
|
||||
const broadcast = new BrainyMCPBroadcast(brainy, {
|
||||
broadcastPort: port,
|
||||
cloudUrl: isCloud ? process.env.CLOUD_URL : undefined
|
||||
})
|
||||
|
||||
// Start the server
|
||||
await broadcast.startBroadcastServer(port, isCloud)
|
||||
|
||||
console.log('')
|
||||
console.log('🚀 Server Ready!')
|
||||
console.log('=====================================')
|
||||
console.log('Claude instances can now connect using:')
|
||||
console.log('')
|
||||
console.log('For Jarvis (Backend):')
|
||||
console.log(` const client = new BrainyMCPClient({`)
|
||||
console.log(` name: 'Jarvis',`)
|
||||
console.log(` role: 'Backend Systems',`)
|
||||
console.log(` serverUrl: 'ws://localhost:${port}'`)
|
||||
console.log(` })`)
|
||||
console.log(` await client.connect()`)
|
||||
console.log('')
|
||||
console.log('For Picasso (Frontend):')
|
||||
console.log(` const client = new BrainyMCPClient({`)
|
||||
console.log(` name: 'Picasso',`)
|
||||
console.log(` role: 'Frontend Design',`)
|
||||
console.log(` serverUrl: 'ws://localhost:${port}'`)
|
||||
console.log(` })`)
|
||||
console.log(` await client.connect()`)
|
||||
console.log('')
|
||||
console.log('=====================================')
|
||||
console.log('Press Ctrl+C to stop the server')
|
||||
|
||||
// Handle graceful shutdown
|
||||
process.on('SIGINT', async () => {
|
||||
console.log('\n📛 Shutting down server...')
|
||||
await broadcast.stopBroadcastServer()
|
||||
process.exit(0)
|
||||
})
|
||||
|
||||
process.on('SIGTERM', async () => {
|
||||
await broadcast.stopBroadcastServer()
|
||||
process.exit(0)
|
||||
})
|
||||
}
|
||||
|
||||
// Start the server
|
||||
startServer().catch(error => {
|
||||
console.error('Failed to start server:', error)
|
||||
process.exit(1)
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue