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:
David Snelling 2025-08-18 17:35:06 -07:00
commit f8c45f2d8d
448 changed files with 103294 additions and 0 deletions

112
dist/augmentationManager.js vendored Normal file
View file

@ -0,0 +1,112 @@
/**
* Type-safe augmentation management system for Brainy
* Provides a clean API for managing augmentations without string literals
*/
import { augmentationPipeline } from './augmentationPipeline.js';
/**
* Type-safe augmentation manager
* Accessed via brain.augmentations for all management operations
*/
export class AugmentationManager {
constructor() {
this.pipeline = augmentationPipeline;
}
/**
* List all registered augmentations with their status
* @returns Array of augmentation information
*/
list() {
return this.pipeline.listAugmentationsWithStatus();
}
/**
* Get information about a specific augmentation
* @param name The augmentation name
* @returns Augmentation info or undefined if not found
*/
get(name) {
const all = this.list();
return all.find(a => a.name === name);
}
/**
* Check if an augmentation is enabled
* @param name The augmentation name
* @returns True if enabled, false otherwise
*/
isEnabled(name) {
const aug = this.get(name);
return aug?.enabled ?? false;
}
/**
* Enable a specific augmentation
* @param name The augmentation name
* @returns True if successfully enabled
*/
enable(name) {
return this.pipeline.enableAugmentation(name);
}
/**
* Disable a specific augmentation
* @param name The augmentation name
* @returns True if successfully disabled
*/
disable(name) {
return this.pipeline.disableAugmentation(name);
}
/**
* Remove an augmentation from the pipeline
* @param name The augmentation name
* @returns True if successfully removed
*/
remove(name) {
this.pipeline.unregister(name);
return true;
}
/**
* Enable all augmentations of a specific type
* @param type The augmentation type
* @returns Number of augmentations enabled
*/
enableType(type) {
return this.pipeline.enableAugmentationType(type);
}
/**
* Disable all augmentations of a specific type
* @param type The augmentation type
* @returns Number of augmentations disabled
*/
disableType(type) {
return this.pipeline.disableAugmentationType(type);
}
/**
* Get all augmentations of a specific type
* @param type The augmentation type
* @returns Array of augmentations of that type
*/
listByType(type) {
return this.list().filter(a => a.type === type);
}
/**
* Get all enabled augmentations
* @returns Array of enabled augmentations
*/
listEnabled() {
return this.list().filter(a => a.enabled);
}
/**
* Get all disabled augmentations
* @returns Array of disabled augmentations
*/
listDisabled() {
return this.list().filter(a => !a.enabled);
}
/**
* Register a new augmentation (internal use)
* @param augmentation The augmentation to register
*/
register(augmentation) {
this.pipeline.register(augmentation);
}
}
// Export types for external use
export { AugmentationType } from './types/augmentations.js';
//# sourceMappingURL=augmentationManager.js.map