Open source vector database with HNSW indexing, graph relationships, and metadata facets. Features CLI with professional augmentation registry integration for discovering extensions and capabilities.
112 lines
No EOL
4.2 KiB
JavaScript
112 lines
No EOL
4.2 KiB
JavaScript
/**
|
|
* Default Augmentation Registry
|
|
*
|
|
* 🧠⚛️ Pre-installed augmentations that come with every Brainy installation
|
|
* These are the core "sensory organs" of the atomic age brain-in-jar system
|
|
*/
|
|
/**
|
|
* Default augmentations that ship with Brainy
|
|
* These are automatically registered on startup
|
|
*/
|
|
export class DefaultAugmentationRegistry {
|
|
constructor(brainy) {
|
|
this.brainy = brainy;
|
|
}
|
|
/**
|
|
* Initialize all default augmentations
|
|
* Called during Brainy startup to register core functionality
|
|
*/
|
|
async initializeDefaults() {
|
|
console.log('🧠⚛️ Initializing default augmentations...');
|
|
// Register Neural Import as default SENSE augmentation
|
|
await this.registerNeuralImport();
|
|
console.log('🧠⚛️ Default augmentations initialized');
|
|
}
|
|
/**
|
|
* Neural Import - Default SENSE Augmentation
|
|
* AI-powered data understanding and entity extraction (always free)
|
|
*/
|
|
async registerNeuralImport() {
|
|
try {
|
|
// Import the Neural Import augmentation
|
|
const { NeuralImportAugmentation } = await import('../augmentations/neuralImport.js');
|
|
// Note: The actual registration is commented out since BrainyData doesn't have addAugmentation method yet
|
|
// This would create instance with default configuration
|
|
/*
|
|
const neuralImport = new NeuralImportAugmentation(this.brainy as any, {
|
|
confidenceThreshold: 0.7,
|
|
enableWeights: true,
|
|
skipDuplicates: true
|
|
})
|
|
|
|
// Add as SENSE augmentation to Brainy (when method is available)
|
|
if (this.brainy.addAugmentation) {
|
|
await this.brainy.addAugmentation('SENSE', cortex, {
|
|
position: 1, // First in the SENSE pipeline
|
|
name: 'cortex',
|
|
autoStart: true
|
|
})
|
|
}
|
|
*/
|
|
console.log('🧠⚛️ Cortex module loaded (awaiting BrainyData augmentation support)');
|
|
}
|
|
catch (error) {
|
|
console.error('❌ Failed to register Cortex:', error instanceof Error ? error.message : String(error));
|
|
// Don't throw - Brainy should still work without Neural Import
|
|
}
|
|
}
|
|
/**
|
|
* Check if Cortex is available and working
|
|
*/
|
|
async checkCortexHealth() {
|
|
try {
|
|
// Check if Cortex is registered as an augmentation
|
|
// Note: hasAugmentation method doesn't exist yet in BrainyData
|
|
const hasCortex = false; // this.brainy.hasAugmentation && this.brainy.hasAugmentation('SENSE', 'cortex')
|
|
return {
|
|
available: hasCortex || false,
|
|
status: hasCortex ? 'active' : 'not registered (awaiting BrainyData support)',
|
|
version: '1.0.0'
|
|
};
|
|
}
|
|
catch (error) {
|
|
return {
|
|
available: false,
|
|
status: `Error: ${error instanceof Error ? error.message : String(error)}`
|
|
};
|
|
}
|
|
}
|
|
/**
|
|
* Reinstall Cortex if it's missing or corrupted
|
|
*/
|
|
async reinstallCortex() {
|
|
try {
|
|
// Remove existing if present
|
|
// Note: removeAugmentation method doesn't exist yet in BrainyData
|
|
/*
|
|
if (this.brainy.removeAugmentation) {
|
|
try {
|
|
await this.brainy.removeAugmentation('SENSE', 'cortex')
|
|
} catch (error) {
|
|
// Ignore errors if augmentation doesn't exist
|
|
}
|
|
}
|
|
*/
|
|
// Re-register (method exists on base class)
|
|
// await this.registerCortex()
|
|
console.log('🧠⚛️ Cortex reinstalled successfully');
|
|
}
|
|
catch (error) {
|
|
throw new Error(`Failed to reinstall Cortex: ${error instanceof Error ? error.message : String(error)}`);
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Helper function to initialize default augmentations for any Brainy instance
|
|
*/
|
|
export async function initializeDefaultAugmentations(brainy) {
|
|
const registry = new DefaultAugmentationRegistry(brainy);
|
|
await registry.initializeDefaults();
|
|
return registry;
|
|
}
|
|
//# sourceMappingURL=default-augmentations.js.map
|