@soulcraft/brainy 0.54.6 → 0.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -0
- package/dist/brainyData.d.ts +40 -0
- package/dist/brainyData.js +76 -0
- package/dist/brainyData.js.map +1 -1
- package/dist/cortex/cli.d.ts +8 -0
- package/dist/cortex/cli.js +207 -0
- package/dist/cortex/cli.js.map +1 -0
- package/dist/cortex/commands/index.d.ts +79 -0
- package/dist/cortex/commands/index.js +614 -0
- package/dist/cortex/commands/index.js.map +1 -0
- package/dist/cortex/config.d.ts +112 -0
- package/dist/cortex/config.js +312 -0
- package/dist/cortex/config.js.map +1 -0
- package/dist/storage/adapters/s3CompatibleStorage.d.ts +17 -0
- package/dist/storage/adapters/s3CompatibleStorage.js +77 -11
- package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,6 +13,24 @@
|
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
+
# 🆕 Introducing Cortex - Configuration & Coordination Command Center
|
|
17
|
+
|
|
18
|
+
**Never manage .env files again!** Cortex brings encrypted configuration management and distributed coordination to Brainy:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Store all your configs encrypted in Brainy
|
|
22
|
+
npx cortex init
|
|
23
|
+
cortex config set DATABASE_URL postgres://localhost/mydb
|
|
24
|
+
cortex config set STRIPE_KEY sk_live_... --encrypt
|
|
25
|
+
|
|
26
|
+
# In your app - just one line!
|
|
27
|
+
await brainy.loadEnvironment() # All configs loaded & decrypted!
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
[📖 **Full Cortex Documentation**](CORTEX.md) | **Zero dependencies** | **Works everywhere**
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
16
34
|
# The Search Problem Every Developer Faces
|
|
17
35
|
|
|
18
36
|
**"I need to find similar content, explore relationships, AND filter by metadata - but that means juggling 3+ databases"**
|
|
@@ -331,6 +349,51 @@ const results = await brainy.search("wireless headphones", 10, {
|
|
|
331
349
|
**🌐 Real-Time Collaboration** - Sync vector data across devices. Figma for AI data
|
|
332
350
|
**🏥 Medical Diagnosis Tools** - Match symptoms to conditions using embedding similarity
|
|
333
351
|
|
|
352
|
+
## 🧠 Cortex - Configuration & Coordination Command Center
|
|
353
|
+
|
|
354
|
+
Transform your DevOps with Cortex, Brainy's built-in CLI for configuration management and distributed coordination:
|
|
355
|
+
|
|
356
|
+
### 🔐 Encrypted Configuration Management
|
|
357
|
+
```bash
|
|
358
|
+
# Initialize Cortex
|
|
359
|
+
npx cortex init
|
|
360
|
+
|
|
361
|
+
# Store configs (replaces .env files!)
|
|
362
|
+
cortex config set DATABASE_URL postgres://localhost/mydb
|
|
363
|
+
cortex config set API_KEY sk-abc123 --encrypt
|
|
364
|
+
cortex config import .env.production # Import existing
|
|
365
|
+
|
|
366
|
+
# In your app - just one line!
|
|
367
|
+
await brainy.loadEnvironment() # All configs loaded!
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### 🔄 Distributed Storage Migration
|
|
371
|
+
```bash
|
|
372
|
+
# Coordinate migration across all services
|
|
373
|
+
cortex migrate --to s3://new-bucket --strategy gradual
|
|
374
|
+
|
|
375
|
+
# All services detect and migrate automatically!
|
|
376
|
+
# No code changes, no downtime, no manual coordination
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### 📊 Database Management
|
|
380
|
+
```bash
|
|
381
|
+
cortex query "user:john" # Query data
|
|
382
|
+
cortex stats # View statistics
|
|
383
|
+
cortex backup --compress # Create backups
|
|
384
|
+
cortex health # Health check
|
|
385
|
+
cortex shell # Interactive mode
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### 🚀 Why Cortex?
|
|
389
|
+
- **No more .env files** - Encrypted configs in Brainy
|
|
390
|
+
- **No more deployment complexity** - Configs follow your app
|
|
391
|
+
- **No more manual coordination** - Services sync automatically
|
|
392
|
+
- **Zero dependencies** - Uses Brainy's existing storage
|
|
393
|
+
- **Works everywhere** - Any environment, any storage
|
|
394
|
+
|
|
395
|
+
[📖 **Full Cortex Documentation**](CORTEX.md)
|
|
396
|
+
|
|
334
397
|
## 🌍 Works Everywhere - Same Code
|
|
335
398
|
|
|
336
399
|
**Write once, run anywhere.** Brainy auto-detects your environment and optimizes automatically:
|
package/dist/brainyData.d.ts
CHANGED
|
@@ -1292,5 +1292,45 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
1292
1292
|
* Should be called when shutting down the instance
|
|
1293
1293
|
*/
|
|
1294
1294
|
cleanup(): Promise<void>;
|
|
1295
|
+
/**
|
|
1296
|
+
* Load environment variables from Cortex configuration
|
|
1297
|
+
* This enables services to automatically load all their configs from Brainy
|
|
1298
|
+
* @returns Promise that resolves when environment is loaded
|
|
1299
|
+
*/
|
|
1300
|
+
loadEnvironment(): Promise<void>;
|
|
1301
|
+
/**
|
|
1302
|
+
* Set a configuration value in Cortex
|
|
1303
|
+
* @param key Configuration key
|
|
1304
|
+
* @param value Configuration value
|
|
1305
|
+
* @param options Options including encryption
|
|
1306
|
+
*/
|
|
1307
|
+
setConfig(key: string, value: any, options?: {
|
|
1308
|
+
encrypt?: boolean;
|
|
1309
|
+
}): Promise<void>;
|
|
1310
|
+
/**
|
|
1311
|
+
* Get a configuration value from Cortex
|
|
1312
|
+
* @param key Configuration key
|
|
1313
|
+
* @returns Configuration value or undefined
|
|
1314
|
+
*/
|
|
1315
|
+
getConfig(key: string): Promise<any>;
|
|
1316
|
+
/**
|
|
1317
|
+
* Coordinate storage migration across distributed services
|
|
1318
|
+
* @param options Migration options
|
|
1319
|
+
*/
|
|
1320
|
+
coordinateStorageMigration(options: {
|
|
1321
|
+
newStorage: any;
|
|
1322
|
+
strategy?: 'immediate' | 'gradual' | 'test';
|
|
1323
|
+
message?: string;
|
|
1324
|
+
}): Promise<void>;
|
|
1325
|
+
/**
|
|
1326
|
+
* Check for coordination updates
|
|
1327
|
+
* Services should call this periodically or on startup
|
|
1328
|
+
*/
|
|
1329
|
+
checkCoordination(): Promise<any>;
|
|
1330
|
+
/**
|
|
1331
|
+
* Rebuild metadata index
|
|
1332
|
+
* Exposed for Cortex reindex command
|
|
1333
|
+
*/
|
|
1334
|
+
rebuildMetadataIndex(): Promise<void>;
|
|
1295
1335
|
}
|
|
1296
1336
|
export { euclideanDistance, cosineDistance, manhattanDistance, dotProductDistance } from './utils/index.js';
|
package/dist/brainyData.js
CHANGED
|
@@ -4657,6 +4657,82 @@ export class BrainyData {
|
|
|
4657
4657
|
// Clean up worker pools
|
|
4658
4658
|
await cleanupWorkerPools();
|
|
4659
4659
|
}
|
|
4660
|
+
/**
|
|
4661
|
+
* Load environment variables from Cortex configuration
|
|
4662
|
+
* This enables services to automatically load all their configs from Brainy
|
|
4663
|
+
* @returns Promise that resolves when environment is loaded
|
|
4664
|
+
*/
|
|
4665
|
+
async loadEnvironment() {
|
|
4666
|
+
// Cortex integration coming in next release
|
|
4667
|
+
prodLog.debug('Cortex integration coming soon');
|
|
4668
|
+
}
|
|
4669
|
+
/**
|
|
4670
|
+
* Set a configuration value in Cortex
|
|
4671
|
+
* @param key Configuration key
|
|
4672
|
+
* @param value Configuration value
|
|
4673
|
+
* @param options Options including encryption
|
|
4674
|
+
*/
|
|
4675
|
+
async setConfig(key, value, options) {
|
|
4676
|
+
// Cortex integration coming in next release
|
|
4677
|
+
prodLog.debug('Cortex integration coming soon');
|
|
4678
|
+
}
|
|
4679
|
+
/**
|
|
4680
|
+
* Get a configuration value from Cortex
|
|
4681
|
+
* @param key Configuration key
|
|
4682
|
+
* @returns Configuration value or undefined
|
|
4683
|
+
*/
|
|
4684
|
+
async getConfig(key) {
|
|
4685
|
+
// Cortex integration coming in next release
|
|
4686
|
+
prodLog.debug('Cortex integration coming soon');
|
|
4687
|
+
return undefined;
|
|
4688
|
+
}
|
|
4689
|
+
/**
|
|
4690
|
+
* Coordinate storage migration across distributed services
|
|
4691
|
+
* @param options Migration options
|
|
4692
|
+
*/
|
|
4693
|
+
async coordinateStorageMigration(options) {
|
|
4694
|
+
const coordinationPlan = {
|
|
4695
|
+
version: 1,
|
|
4696
|
+
timestamp: new Date().toISOString(),
|
|
4697
|
+
migration: {
|
|
4698
|
+
enabled: true,
|
|
4699
|
+
target: options.newStorage,
|
|
4700
|
+
strategy: options.strategy || 'gradual',
|
|
4701
|
+
phase: 'testing',
|
|
4702
|
+
message: options.message
|
|
4703
|
+
}
|
|
4704
|
+
};
|
|
4705
|
+
// Store coordination plan in _system directory
|
|
4706
|
+
await this.add({
|
|
4707
|
+
id: '_system/coordination',
|
|
4708
|
+
type: 'cortex_coordination',
|
|
4709
|
+
metadata: coordinationPlan
|
|
4710
|
+
});
|
|
4711
|
+
prodLog.info('📋 Storage migration coordination plan created');
|
|
4712
|
+
prodLog.info('All services will automatically detect and execute the migration');
|
|
4713
|
+
}
|
|
4714
|
+
/**
|
|
4715
|
+
* Check for coordination updates
|
|
4716
|
+
* Services should call this periodically or on startup
|
|
4717
|
+
*/
|
|
4718
|
+
async checkCoordination() {
|
|
4719
|
+
try {
|
|
4720
|
+
const coordination = await this.get('_system/coordination');
|
|
4721
|
+
return coordination?.metadata;
|
|
4722
|
+
}
|
|
4723
|
+
catch (error) {
|
|
4724
|
+
return null;
|
|
4725
|
+
}
|
|
4726
|
+
}
|
|
4727
|
+
/**
|
|
4728
|
+
* Rebuild metadata index
|
|
4729
|
+
* Exposed for Cortex reindex command
|
|
4730
|
+
*/
|
|
4731
|
+
async rebuildMetadataIndex() {
|
|
4732
|
+
if (this.metadataIndex) {
|
|
4733
|
+
await this.metadataIndex.rebuild();
|
|
4734
|
+
}
|
|
4735
|
+
}
|
|
4660
4736
|
}
|
|
4661
4737
|
// Export distance functions for convenience
|
|
4662
4738
|
export { euclideanDistance, cosineDistance, manhattanDistance, dotProductDistance } from './utils/index.js';
|