112 lines
4.2 KiB
JavaScript
112 lines
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
|