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
112
dist/augmentationManager.js
vendored
Normal file
112
dist/augmentationManager.js
vendored
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue