- Removed factory function exports from index.ts - Removed unused augmentationFactory imports - Added deprecated type definitions temporarily to maintain compilation - Created REFACTOR-2.0-AUGMENTATIONS.md documenting cleanup plan - All old types marked as @deprecated for removal before final 2.0 This is an intermediate state - full refactor documented in REFACTOR-2.0-AUGMENTATIONS.md
2.6 KiB
2.6 KiB
Brainy 2.0 Augmentation System Refactoring TODO
Current State
For the 2.0 release, we've marked the old augmentation type system as deprecated but kept it for now to maintain compilation. This document outlines what needs to be refactored for a truly clean 2.0 architecture.
Files Requiring Major Refactoring
1. augmentationFactory.ts
- Status: Heavily dependent on old type system
- Usage: Only exports used in index.ts, not actually used in codebase
- Action: Can be completely removed after migrating any useful patterns to new system
2. augmentationPipeline.ts
- Status: Uses old ISenseAugmentation, IConduitAugmentation, etc. types
- Usage: Used by brainyData.ts for executing augmentation pipelines
- Action: Needs complete rewrite to use unified BrainyAugmentation interface
3. augmentationManager.ts
- Status: References AugmentationType enum
- Usage: Used for managing augmentations
- Action: Update to use string-based type identification
4. augmentationRegistry.ts
- Status: Uses old IAugmentation and AugmentationType
- Usage: Central registry for augmentations
- Action: Update to use BrainyAugmentation interface
5. cortex.ts
- Status: Imports old augmentation types
- Usage: Advanced augmentation orchestration
- Action: Update imports and type references
Deprecated Types to Remove
All in src/types/augmentations.ts:
IAugmentation- Replace withBrainyAugmentationAugmentationTypeenum - Replace with string literalsBrainyAugmentationsnamespace - Remove entirely- Individual type exports (ISenseAugmentation, etc.) - Remove
IWebSocketSupport- Integrate into BrainyAugmentation if needed
Clean Architecture Goals
- Single Interface: All augmentations implement
BrainyAugmentation - No Type Enums: Use string names for augmentation identification
- Simplified Factory: Direct class instantiation instead of factory functions
- Unified Pipeline: Single pipeline system for all augmentations
Migration Strategy
- Phase 1: (Current) Mark old types as deprecated, maintain compilation
- Phase 2: Rewrite augmentationPipeline.ts to use unified interface
- Phase 3: Update brainyData.ts to use new pipeline
- Phase 4: Remove augmentationFactory.ts entirely
- Phase 5: Remove all deprecated type definitions
Benefits of Clean Architecture
- Simpler API surface
- Easier to understand and extend
- Better TypeScript type safety
- Reduced bundle size
- Cleaner documentation
Timeline
This refactoring should be completed before the final 2.0 release to ensure a truly clean architecture.