feat: Complete 9 unified methods with CLI parity and triple-power search
- Add missing add-noun and add-verb CLI commands for full API parity - Update CLI documentation to showcase triple-power search capabilities - Add comprehensive type-safe augmentation management system - Verify search supports vector + metadata + graph traversal in one call - All 9 unified methods now available via both API and CLI - Complete documentation accuracy fixes and cleanup
This commit is contained in:
parent
4fdaa7e22c
commit
b01e3340f1
9 changed files with 461 additions and 83 deletions
|
|
@ -1,10 +1,10 @@
|
|||
# 🧠 Brainy 1.0: The 8 Unified Methods
|
||||
# 🧠 Brainy 1.0: The 9 Unified Methods
|
||||
|
||||
> **From 40+ scattered methods to 8 unified operations - ONE way to do everything!**
|
||||
> **From 40+ scattered methods to 9 unified operations - ONE way to do everything!**
|
||||
|
||||
## 🎯 The Complete Unified API
|
||||
|
||||
Brainy 1.0 introduces a revolutionary unified API where **EVERYTHING** is accomplished through just **8 core methods**:
|
||||
Brainy 1.0 introduces a revolutionary unified API where **EVERYTHING** is accomplished through just **9 core methods**:
|
||||
|
||||
```javascript
|
||||
import { BrainyData, NounType, VerbType } from '@soulcraft/brainy'
|
||||
|
|
@ -12,7 +12,7 @@ import { BrainyData, NounType, VerbType } from '@soulcraft/brainy'
|
|||
const brain = new BrainyData()
|
||||
await brain.init()
|
||||
|
||||
// 🎯 THE 8 UNIFIED METHODS:
|
||||
// 🎯 THE 9 UNIFIED METHODS:
|
||||
await brain.add("Smart data") // 1. Smart data addition
|
||||
await brain.search("query", 10) // 2. Unified search
|
||||
await brain.import(["data1", "data2"]) // 3. Bulk import
|
||||
|
|
@ -21,6 +21,7 @@ await brain.addVerb(id1, id2, VerbType.Knows) // 5. Relationships
|
|||
await brain.update(id, "new data") // 6. Smart updates
|
||||
await brain.delete(id) // 7. Soft delete
|
||||
await brain.export({ format: 'json' }) // 8. Export data
|
||||
brain.augment(myAugmentation) // 9. Extend capabilities
|
||||
```
|
||||
|
||||
## 📊 Before vs After: The Transformation
|
||||
|
|
@ -43,7 +44,7 @@ brainy.softDelete(id)
|
|||
|
||||
### ✅ **NEW (1.0): Unified Simplicity**
|
||||
```javascript
|
||||
// Just 8 methods handle EVERYTHING
|
||||
// Just 9 methods handle EVERYTHING
|
||||
brain.add() // Replaces: addVector, addSmart, addText, addLiteral, etc.
|
||||
brain.search() // Replaces: searchSimilar, searchByMetadata, searchText, etc.
|
||||
brain.import() // Replaces: neuralImport, bulkAdd, importCSV, etc.
|
||||
|
|
@ -52,6 +53,7 @@ brain.addVerb() // Replaces: createVerb, addRelationship, connect, etc.
|
|||
brain.update() // Replaces: updateVector, updateMetadata, modify, etc.
|
||||
brain.delete() // Replaces: hardDelete, softDelete, remove, etc.
|
||||
brain.export() // NEW: Universal data export
|
||||
brain.augment() // NEW: Extend Brainy infinitely!
|
||||
```
|
||||
|
||||
## 🔍 Deep Dive: Each Unified Method
|
||||
|
|
@ -251,6 +253,85 @@ const vectors = await brain.export({ format: 'embeddings' })
|
|||
// Returns: [{ id, vector }, ...]
|
||||
```
|
||||
|
||||
### 9️⃣ **`augment()` - The Infinity Method** ♾️
|
||||
|
||||
**This is the magic 9th method that makes Brainy infinitely extensible!**
|
||||
|
||||
```javascript
|
||||
// PRIMARY USE: Add ANY capability you can imagine
|
||||
brain.augment(new SentimentAnalyzer()) // Add sentiment analysis
|
||||
brain.augment(new LanguageTranslator()) // Add translation
|
||||
brain.augment(new CustomProcessor()) // Add your own!
|
||||
```
|
||||
|
||||
### 🎯 **NEW: Type-Safe Augmentation Management**
|
||||
|
||||
Brainy 1.0 introduces `brain.augmentations` for type-safe management:
|
||||
|
||||
```typescript
|
||||
// Full TypeScript support & IDE autocomplete!
|
||||
brain.augmentations.list() // Returns AugmentationInfo[]
|
||||
brain.augmentations.enable('sentiment') // Enable specific augmentation
|
||||
brain.augmentations.disable('sentiment') // Disable temporarily
|
||||
brain.augmentations.remove('sentiment') // Remove completely
|
||||
|
||||
// Query augmentation status
|
||||
brain.augmentations.get('sentiment') // Get specific info
|
||||
brain.augmentations.isEnabled('sentiment') // Check if enabled
|
||||
|
||||
// Manage by type (with enum for type safety)
|
||||
brain.augmentations.enableType(AugmentationType.PROCESSOR)
|
||||
brain.augmentations.disableType(AugmentationType.MEMORY)
|
||||
brain.augmentations.listByType(AugmentationType.DIALOG)
|
||||
|
||||
// Filter augmentations
|
||||
brain.augmentations.listEnabled() // All active augmentations
|
||||
brain.augmentations.listDisabled() // All inactive ones
|
||||
|
||||
```
|
||||
|
||||
### 📝 **Complete Example with TypeScript**
|
||||
|
||||
```typescript
|
||||
import { BrainyData, AugmentationType, IAugmentation } from '@soulcraft/brainy'
|
||||
|
||||
// Create your augmentation with full type safety
|
||||
class SentimentAnalyzer implements IAugmentation {
|
||||
readonly name = 'sentiment-analyzer'
|
||||
readonly description = 'Analyzes emotional tone of text'
|
||||
enabled = true
|
||||
|
||||
async initialize() { /* setup */ }
|
||||
async shutDown() { /* cleanup */ }
|
||||
async getStatus() { return 'active' as const }
|
||||
|
||||
async analyze(text: string): Promise<'positive' | 'negative' | 'neutral'> {
|
||||
// Your sentiment logic here
|
||||
return 'positive'
|
||||
}
|
||||
}
|
||||
|
||||
const brain = new BrainyData()
|
||||
const sentiment = new SentimentAnalyzer()
|
||||
|
||||
// Register with the 9th method
|
||||
brain.augment(sentiment)
|
||||
|
||||
// Type-safe management
|
||||
if (brain.augmentations.isEnabled('sentiment-analyzer')) {
|
||||
console.log('Sentiment analysis is active!')
|
||||
}
|
||||
|
||||
// List all processor-type augmentations
|
||||
const processors = brain.augmentations.listByType(AugmentationType.PROCESSOR)
|
||||
```
|
||||
|
||||
**Why augment() is special:**
|
||||
- 🚀 **Infinite Extensibility** - Add any feature you can imagine
|
||||
- 🧩 **Plugin Architecture** - Share augmentations with the community
|
||||
- 🔧 **Runtime Flexibility** - Enable/disable features on the fly
|
||||
- 🎯 **Zero Core Bloat** - Keep Brainy lean, add only what you need
|
||||
|
||||
## 🧩 Augmentation Types & Pipeline
|
||||
|
||||
Augmentations extend Brainy through a pipeline architecture:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue