@soulcraft/brainy 1.5.0 → 2.0.1

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.
Files changed (141) hide show
  1. package/CHANGELOG.md +188 -0
  2. package/LICENSE +2 -2
  3. package/README.md +200 -595
  4. package/bin/brainy-interactive.js +564 -0
  5. package/bin/brainy-ts.js +18 -0
  6. package/bin/brainy.js +672 -81
  7. package/dist/augmentationPipeline.d.ts +48 -220
  8. package/dist/augmentationPipeline.js +60 -508
  9. package/dist/augmentationRegistry.d.ts +22 -31
  10. package/dist/augmentationRegistry.js +28 -79
  11. package/dist/augmentations/apiServerAugmentation.d.ts +108 -0
  12. package/dist/augmentations/apiServerAugmentation.js +502 -0
  13. package/dist/augmentations/batchProcessingAugmentation.d.ts +95 -0
  14. package/dist/augmentations/batchProcessingAugmentation.js +567 -0
  15. package/dist/augmentations/brainyAugmentation.d.ts +153 -0
  16. package/dist/augmentations/brainyAugmentation.js +145 -0
  17. package/dist/augmentations/cacheAugmentation.d.ts +105 -0
  18. package/dist/augmentations/cacheAugmentation.js +238 -0
  19. package/dist/augmentations/conduitAugmentations.d.ts +54 -156
  20. package/dist/augmentations/conduitAugmentations.js +156 -1082
  21. package/dist/augmentations/connectionPoolAugmentation.d.ts +62 -0
  22. package/dist/augmentations/connectionPoolAugmentation.js +316 -0
  23. package/dist/augmentations/defaultAugmentations.d.ts +53 -0
  24. package/dist/augmentations/defaultAugmentations.js +88 -0
  25. package/dist/augmentations/entityRegistryAugmentation.d.ts +126 -0
  26. package/dist/augmentations/entityRegistryAugmentation.js +386 -0
  27. package/dist/augmentations/indexAugmentation.d.ts +117 -0
  28. package/dist/augmentations/indexAugmentation.js +284 -0
  29. package/dist/augmentations/intelligentVerbScoringAugmentation.d.ts +152 -0
  30. package/dist/augmentations/intelligentVerbScoringAugmentation.js +554 -0
  31. package/dist/augmentations/metricsAugmentation.d.ts +202 -0
  32. package/dist/augmentations/metricsAugmentation.js +291 -0
  33. package/dist/augmentations/monitoringAugmentation.d.ts +94 -0
  34. package/dist/augmentations/monitoringAugmentation.js +227 -0
  35. package/dist/augmentations/neuralImport.d.ts +50 -117
  36. package/dist/augmentations/neuralImport.js +255 -629
  37. package/dist/augmentations/requestDeduplicatorAugmentation.d.ts +52 -0
  38. package/dist/augmentations/requestDeduplicatorAugmentation.js +162 -0
  39. package/dist/augmentations/serverSearchAugmentations.d.ts +43 -22
  40. package/dist/augmentations/serverSearchAugmentations.js +125 -72
  41. package/dist/augmentations/storageAugmentation.d.ts +54 -0
  42. package/dist/augmentations/storageAugmentation.js +93 -0
  43. package/dist/augmentations/storageAugmentations.d.ts +96 -0
  44. package/dist/augmentations/storageAugmentations.js +182 -0
  45. package/dist/augmentations/synapseAugmentation.d.ts +156 -0
  46. package/dist/augmentations/synapseAugmentation.js +312 -0
  47. package/dist/augmentations/walAugmentation.d.ts +108 -0
  48. package/dist/augmentations/walAugmentation.js +515 -0
  49. package/dist/brainyData.d.ts +404 -130
  50. package/dist/brainyData.js +1331 -853
  51. package/dist/chat/BrainyChat.d.ts +16 -8
  52. package/dist/chat/BrainyChat.js +60 -32
  53. package/dist/chat/ChatCLI.d.ts +1 -1
  54. package/dist/chat/ChatCLI.js +6 -6
  55. package/dist/cli/catalog.d.ts +3 -3
  56. package/dist/cli/catalog.js +116 -70
  57. package/dist/cli/commands/core.d.ts +61 -0
  58. package/dist/cli/commands/core.js +348 -0
  59. package/dist/cli/commands/neural.d.ts +25 -0
  60. package/dist/cli/commands/neural.js +508 -0
  61. package/dist/cli/commands/utility.d.ts +37 -0
  62. package/dist/cli/commands/utility.js +276 -0
  63. package/dist/cli/index.d.ts +7 -0
  64. package/dist/cli/index.js +167 -0
  65. package/dist/cli/interactive.d.ts +164 -0
  66. package/dist/cli/interactive.js +542 -0
  67. package/dist/cortex/neuralImport.js +5 -5
  68. package/dist/critical/model-guardian.js +11 -4
  69. package/dist/embeddings/lightweight-embedder.d.ts +23 -0
  70. package/dist/embeddings/lightweight-embedder.js +136 -0
  71. package/dist/embeddings/universal-memory-manager.d.ts +38 -0
  72. package/dist/embeddings/universal-memory-manager.js +206 -0
  73. package/dist/embeddings/worker-embedding.d.ts +7 -0
  74. package/dist/embeddings/worker-embedding.js +77 -0
  75. package/dist/embeddings/worker-manager.d.ts +28 -0
  76. package/dist/embeddings/worker-manager.js +162 -0
  77. package/dist/examples/basicUsage.js +7 -7
  78. package/dist/graph/pathfinding.d.ts +78 -0
  79. package/dist/graph/pathfinding.js +393 -0
  80. package/dist/hnsw/hnswIndex.d.ts +13 -0
  81. package/dist/hnsw/hnswIndex.js +35 -0
  82. package/dist/hnsw/hnswIndexOptimized.d.ts +1 -0
  83. package/dist/hnsw/hnswIndexOptimized.js +3 -0
  84. package/dist/index.d.ts +9 -11
  85. package/dist/index.js +21 -11
  86. package/dist/indices/fieldIndex.d.ts +76 -0
  87. package/dist/indices/fieldIndex.js +357 -0
  88. package/dist/mcp/brainyMCPAdapter.js +3 -2
  89. package/dist/mcp/mcpAugmentationToolset.js +11 -17
  90. package/dist/neural/embeddedPatterns.d.ts +41 -0
  91. package/dist/neural/embeddedPatterns.js +4044 -0
  92. package/dist/neural/naturalLanguageProcessor.d.ts +94 -0
  93. package/dist/neural/naturalLanguageProcessor.js +317 -0
  94. package/dist/neural/naturalLanguageProcessorStatic.d.ts +64 -0
  95. package/dist/neural/naturalLanguageProcessorStatic.js +151 -0
  96. package/dist/neural/neuralAPI.d.ts +255 -0
  97. package/dist/neural/neuralAPI.js +612 -0
  98. package/dist/neural/patternLibrary.d.ts +101 -0
  99. package/dist/neural/patternLibrary.js +313 -0
  100. package/dist/neural/patterns.d.ts +27 -0
  101. package/dist/neural/patterns.js +68 -0
  102. package/dist/neural/staticPatternMatcher.d.ts +35 -0
  103. package/dist/neural/staticPatternMatcher.js +153 -0
  104. package/dist/scripts/precomputePatternEmbeddings.d.ts +19 -0
  105. package/dist/scripts/precomputePatternEmbeddings.js +100 -0
  106. package/dist/storage/adapters/fileSystemStorage.d.ts +5 -0
  107. package/dist/storage/adapters/fileSystemStorage.js +20 -0
  108. package/dist/storage/adapters/s3CompatibleStorage.d.ts +5 -0
  109. package/dist/storage/adapters/s3CompatibleStorage.js +16 -0
  110. package/dist/storage/enhancedClearOperations.d.ts +83 -0
  111. package/dist/storage/enhancedClearOperations.js +345 -0
  112. package/dist/storage/storageFactory.js +31 -27
  113. package/dist/triple/TripleIntelligence.d.ts +134 -0
  114. package/dist/triple/TripleIntelligence.js +548 -0
  115. package/dist/types/augmentations.d.ts +45 -344
  116. package/dist/types/augmentations.js +5 -2
  117. package/dist/types/brainyDataInterface.d.ts +20 -10
  118. package/dist/types/graphTypes.d.ts +46 -0
  119. package/dist/types/graphTypes.js +16 -2
  120. package/dist/utils/BoundedRegistry.d.ts +29 -0
  121. package/dist/utils/BoundedRegistry.js +54 -0
  122. package/dist/utils/embedding.js +20 -3
  123. package/dist/utils/hybridModelManager.js +10 -5
  124. package/dist/utils/metadataFilter.d.ts +33 -19
  125. package/dist/utils/metadataFilter.js +58 -23
  126. package/dist/utils/metadataIndex.d.ts +37 -6
  127. package/dist/utils/metadataIndex.js +427 -64
  128. package/dist/utils/requestDeduplicator.d.ts +10 -0
  129. package/dist/utils/requestDeduplicator.js +24 -0
  130. package/dist/utils/unifiedCache.d.ts +103 -0
  131. package/dist/utils/unifiedCache.js +311 -0
  132. package/package.json +40 -125
  133. package/scripts/ensure-models.js +108 -0
  134. package/scripts/prepare-models.js +387 -0
  135. package/OFFLINE_MODELS.md +0 -56
  136. package/dist/intelligence/neuralEngine.d.ts +0 -207
  137. package/dist/intelligence/neuralEngine.js +0 -706
  138. package/dist/utils/modelLoader.d.ts +0 -32
  139. package/dist/utils/modelLoader.js +0 -219
  140. package/dist/utils/modelManager.d.ts +0 -77
  141. package/dist/utils/modelManager.js +0 -219
@@ -1,47 +1,38 @@
1
1
  /**
2
- * Augmentation Registry
2
+ * Augmentation Registry (Compatibility Layer)
3
3
  *
4
- * This module provides a registry for augmentations that are loaded at build time.
5
- * It replaces the dynamic loading mechanism in pluginLoader.ts.
4
+ * @deprecated This module provides backward compatibility for old augmentation
5
+ * loading code. All new code should use the AugmentationRegistry class directly
6
+ * on BrainyData instances.
6
7
  */
7
- import { IPipeline } from './types/pipelineTypes.js';
8
- import { AugmentationType, IAugmentation } from './types/augmentations.js';
8
+ import { BrainyAugmentation } from './types/augmentations.js';
9
9
  /**
10
- * Sets the default pipeline instance
11
- * This function should be called from pipeline.ts after the pipeline is created
10
+ * Registry of all available augmentations (for compatibility)
11
+ * @deprecated Use brain.augmentations instead
12
12
  */
13
- export declare function setDefaultPipeline(pipeline: IPipeline): void;
13
+ export declare const availableAugmentations: any[];
14
14
  /**
15
- * Registry of all available augmentations
15
+ * Compatibility wrapper for registerAugmentation
16
+ * @deprecated Use brain.augmentations.register instead
16
17
  */
17
- export declare const availableAugmentations: IAugmentation[];
18
+ export declare function registerAugmentation<T extends BrainyAugmentation>(augmentation: T): T;
18
19
  /**
19
- * Registers an augmentation with the registry
20
- *
21
- * @param augmentation The augmentation to register
22
- * @returns The augmentation that was registered
20
+ * Sets the default pipeline instance (compatibility)
21
+ * @deprecated Use brain.augmentations instead
23
22
  */
24
- export declare function registerAugmentation<T extends IAugmentation>(augmentation: T): T;
23
+ export declare function setDefaultPipeline(pipeline: any): void;
25
24
  /**
26
- * Initializes the augmentation pipeline with all registered augmentations
27
- *
28
- * @param pipeline Optional custom pipeline to use instead of the default
29
- * @returns The pipeline that was initialized
30
- * @throws Error if no pipeline is provided and the default pipeline hasn't been set
25
+ * Initializes the augmentation pipeline (compatibility)
26
+ * @deprecated Use brain.augmentations instead
31
27
  */
32
- export declare function initializeAugmentationPipeline(pipelineInstance?: IPipeline): IPipeline;
28
+ export declare function initializeAugmentationPipeline(pipelineInstance?: any): any;
33
29
  /**
34
- * Enables or disables an augmentation by name
35
- *
36
- * @param name The name of the augmentation to enable/disable
37
- * @param enabled Whether to enable or disable the augmentation
38
- * @returns True if the augmentation was found and updated, false otherwise
30
+ * Enables or disables an augmentation by name (compatibility)
31
+ * @deprecated Use brain.augmentations instead
39
32
  */
40
33
  export declare function setAugmentationEnabled(name: string, enabled: boolean): boolean;
41
34
  /**
42
- * Gets all augmentations of a specific type
43
- *
44
- * @param type The type of augmentation to get
45
- * @returns An array of all augmentations of the specified type
35
+ * Gets all augmentations of a specific type (compatibility)
36
+ * @deprecated Use brain.augmentations instead
46
37
  */
47
- export declare function getAugmentationsByType(type: AugmentationType): IAugmentation[];
38
+ export declare function getAugmentationsByType(type: any): any[];
@@ -1,105 +1,54 @@
1
1
  /**
2
- * Augmentation Registry
2
+ * Augmentation Registry (Compatibility Layer)
3
3
  *
4
- * This module provides a registry for augmentations that are loaded at build time.
5
- * It replaces the dynamic loading mechanism in pluginLoader.ts.
4
+ * @deprecated This module provides backward compatibility for old augmentation
5
+ * loading code. All new code should use the AugmentationRegistry class directly
6
+ * on BrainyData instances.
6
7
  */
7
- import { AugmentationType } from './types/augmentations.js';
8
- // Forward declaration of the pipeline instance to avoid circular dependency
9
- // The actual pipeline will be provided when initializeAugmentationPipeline is called
10
- let defaultPipeline = null;
11
8
  /**
12
- * Sets the default pipeline instance
13
- * This function should be called from pipeline.ts after the pipeline is created
14
- */
15
- export function setDefaultPipeline(pipeline) {
16
- defaultPipeline = pipeline;
17
- }
18
- /**
19
- * Registry of all available augmentations
9
+ * Registry of all available augmentations (for compatibility)
10
+ * @deprecated Use brain.augmentations instead
20
11
  */
21
12
  export const availableAugmentations = [];
22
13
  /**
23
- * Registers an augmentation with the registry
24
- *
25
- * @param augmentation The augmentation to register
26
- * @returns The augmentation that was registered
14
+ * Compatibility wrapper for registerAugmentation
15
+ * @deprecated Use brain.augmentations.register instead
27
16
  */
28
17
  export function registerAugmentation(augmentation) {
29
- // Set enabled to true by default if not specified
30
- if (augmentation.enabled === undefined) {
31
- augmentation.enabled = true;
32
- }
33
- // Add to the registry
18
+ console.warn('registerAugmentation is deprecated. Use brain.augmentations.register instead.');
19
+ // For compatibility, just add to the list (but it won't actually do anything)
34
20
  availableAugmentations.push(augmentation);
35
21
  return augmentation;
36
22
  }
37
23
  /**
38
- * Initializes the augmentation pipeline with all registered augmentations
39
- *
40
- * @param pipeline Optional custom pipeline to use instead of the default
41
- * @returns The pipeline that was initialized
42
- * @throws Error if no pipeline is provided and the default pipeline hasn't been set
24
+ * Sets the default pipeline instance (compatibility)
25
+ * @deprecated Use brain.augmentations instead
26
+ */
27
+ export function setDefaultPipeline(pipeline) {
28
+ console.warn('setDefaultPipeline is deprecated. Use brain.augmentations instead.');
29
+ }
30
+ /**
31
+ * Initializes the augmentation pipeline (compatibility)
32
+ * @deprecated Use brain.augmentations instead
43
33
  */
44
34
  export function initializeAugmentationPipeline(pipelineInstance) {
45
- // Use the provided pipeline or fall back to the default
46
- const pipeline = pipelineInstance || defaultPipeline;
47
- if (!pipeline) {
48
- throw new Error('No pipeline provided and default pipeline not set. Call setDefaultPipeline first.');
49
- }
50
- // Register all augmentations with the pipeline
51
- for (const augmentation of availableAugmentations) {
52
- if (augmentation.enabled) {
53
- pipeline.register(augmentation);
54
- }
55
- }
56
- return pipeline;
35
+ console.warn('initializeAugmentationPipeline is deprecated. Use brain.augmentations instead.');
36
+ return pipelineInstance || {};
57
37
  }
58
38
  /**
59
- * Enables or disables an augmentation by name
60
- *
61
- * @param name The name of the augmentation to enable/disable
62
- * @param enabled Whether to enable or disable the augmentation
63
- * @returns True if the augmentation was found and updated, false otherwise
39
+ * Enables or disables an augmentation by name (compatibility)
40
+ * @deprecated Use brain.augmentations instead
64
41
  */
65
42
  export function setAugmentationEnabled(name, enabled) {
66
- const augmentation = availableAugmentations.find(aug => aug.name === name);
67
- if (augmentation) {
68
- augmentation.enabled = enabled;
69
- return true;
70
- }
43
+ console.warn('setAugmentationEnabled is deprecated. Use brain.augmentations instead.');
71
44
  return false;
72
45
  }
73
46
  /**
74
- * Gets all augmentations of a specific type
75
- *
76
- * @param type The type of augmentation to get
77
- * @returns An array of all augmentations of the specified type
47
+ * Gets all augmentations of a specific type (compatibility)
48
+ * @deprecated Use brain.augmentations instead
78
49
  */
79
50
  export function getAugmentationsByType(type) {
80
- return availableAugmentations.filter(aug => {
81
- // Check if the augmentation is of the specified type
82
- // This is a simplified check and may need to be updated based on how types are determined
83
- switch (type) {
84
- case AugmentationType.SENSE:
85
- return 'processRawData' in aug && 'listenToFeed' in aug;
86
- case AugmentationType.CONDUIT:
87
- return 'establishConnection' in aug && 'readData' in aug && 'writeData' in aug;
88
- case AugmentationType.COGNITION:
89
- return 'reason' in aug && 'infer' in aug && 'executeLogic' in aug;
90
- case AugmentationType.MEMORY:
91
- return 'storeData' in aug && 'retrieveData' in aug && 'updateData' in aug;
92
- case AugmentationType.PERCEPTION:
93
- return 'interpret' in aug && 'organize' in aug && 'generateVisualization' in aug;
94
- case AugmentationType.DIALOG:
95
- return 'processUserInput' in aug && 'generateResponse' in aug && 'manageContext' in aug;
96
- case AugmentationType.ACTIVATION:
97
- return 'triggerAction' in aug && 'generateOutput' in aug && 'interactExternal' in aug;
98
- case AugmentationType.WEBSOCKET:
99
- return 'connectWebSocket' in aug && 'sendWebSocketMessage' in aug && 'onWebSocketMessage' in aug;
100
- default:
101
- return false;
102
- }
103
- });
51
+ console.warn('getAugmentationsByType is deprecated. Use brain.augmentations instead.');
52
+ return [];
104
53
  }
105
54
  //# sourceMappingURL=augmentationRegistry.js.map
@@ -0,0 +1,108 @@
1
+ /**
2
+ * API Server Augmentation - Universal API Exposure
3
+ *
4
+ * 🌐 Exposes Brainy through REST, WebSocket, and MCP
5
+ * 🔌 Works in Node.js, Deno, and Service Workers
6
+ * 🚀 Single augmentation for all API needs
7
+ *
8
+ * This unifies and replaces:
9
+ * - BrainyMCPBroadcast (Node-specific server)
10
+ * - WebSocketConduitAugmentation (client connections)
11
+ * - Future REST API implementations
12
+ */
13
+ import { BaseAugmentation } from './brainyAugmentation.js';
14
+ export interface APIServerConfig {
15
+ enabled?: boolean;
16
+ port?: number;
17
+ mcpPort?: number;
18
+ wsPort?: number;
19
+ host?: string;
20
+ cors?: {
21
+ origin?: string | string[];
22
+ credentials?: boolean;
23
+ };
24
+ auth?: {
25
+ required?: boolean;
26
+ apiKeys?: string[];
27
+ bearerTokens?: string[];
28
+ };
29
+ rateLimit?: {
30
+ windowMs?: number;
31
+ max?: number;
32
+ };
33
+ ssl?: {
34
+ cert?: string;
35
+ key?: string;
36
+ };
37
+ }
38
+ /**
39
+ * Unified API Server Augmentation
40
+ * Exposes Brainy through multiple protocols
41
+ */
42
+ export declare class APIServerAugmentation extends BaseAugmentation {
43
+ readonly name = "api-server";
44
+ readonly timing: "after";
45
+ readonly operations: ("all")[];
46
+ readonly priority = 5;
47
+ private config;
48
+ private mcpService?;
49
+ private httpServer?;
50
+ private wsServer?;
51
+ private clients;
52
+ private operationHistory;
53
+ private maxHistorySize;
54
+ constructor(config?: APIServerConfig);
55
+ protected onInitialize(): Promise<void>;
56
+ /**
57
+ * Start Node.js server with Express
58
+ */
59
+ private startNodeServer;
60
+ /**
61
+ * Setup REST API routes
62
+ */
63
+ private setupRESTRoutes;
64
+ /**
65
+ * Setup WebSocket server
66
+ */
67
+ private setupWebSocketServer;
68
+ /**
69
+ * Handle WebSocket message
70
+ */
71
+ private handleWebSocketMessage;
72
+ /**
73
+ * Execute augmentation - broadcast operations to clients
74
+ */
75
+ execute<T = any>(operation: string, params: any, next: () => Promise<T>): Promise<T>;
76
+ /**
77
+ * Auth middleware for Express
78
+ */
79
+ private authMiddleware;
80
+ /**
81
+ * Rate limiting middleware
82
+ */
83
+ private rateLimitMiddleware;
84
+ /**
85
+ * Sanitize parameters before broadcasting
86
+ */
87
+ private sanitizeParams;
88
+ /**
89
+ * Send heartbeats to all connected clients
90
+ */
91
+ private sendHeartbeats;
92
+ /**
93
+ * Start Deno server
94
+ */
95
+ private startDenoServer;
96
+ /**
97
+ * Start Service Worker (for browser)
98
+ */
99
+ private startServiceWorker;
100
+ /**
101
+ * Shutdown the server
102
+ */
103
+ protected onShutdown(): Promise<void>;
104
+ }
105
+ /**
106
+ * Helper function to create and configure API server
107
+ */
108
+ export declare function createAPIServer(config?: APIServerConfig): APIServerAugmentation;