@soulcraft/brainy 3.0.0 → 3.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.
- package/CHANGELOG.md +53 -3
- package/README.md +353 -110
- package/bin/brainy.js +340 -62
- package/dist/api/ConfigAPI.d.ts +67 -0
- package/dist/api/ConfigAPI.js +166 -0
- package/dist/api/DataAPI.d.ts +123 -0
- package/dist/api/DataAPI.js +391 -0
- package/dist/api/SecurityAPI.d.ts +50 -0
- package/dist/api/SecurityAPI.js +139 -0
- package/dist/api/UniversalImportAPI.d.ts +134 -0
- package/dist/api/UniversalImportAPI.js +615 -0
- package/dist/augmentationManager.js +12 -7
- package/dist/augmentationPipeline.d.ts +0 -61
- package/dist/augmentationPipeline.js +0 -87
- package/dist/augmentationRegistry.d.ts +1 -1
- package/dist/augmentationRegistry.js +1 -1
- package/dist/augmentations/apiServerAugmentation.d.ts +27 -1
- package/dist/augmentations/apiServerAugmentation.js +290 -9
- package/dist/augmentations/auditLogAugmentation.d.ts +109 -0
- package/dist/augmentations/auditLogAugmentation.js +358 -0
- package/dist/augmentations/batchProcessingAugmentation.d.ts +3 -2
- package/dist/augmentations/batchProcessingAugmentation.js +123 -22
- package/dist/augmentations/brainyAugmentation.d.ts +142 -8
- package/dist/augmentations/brainyAugmentation.js +179 -2
- package/dist/augmentations/cacheAugmentation.d.ts +8 -5
- package/dist/augmentations/cacheAugmentation.js +116 -17
- package/dist/augmentations/conduitAugmentations.d.ts +2 -2
- package/dist/augmentations/conduitAugmentations.js +2 -2
- package/dist/augmentations/configResolver.d.ts +122 -0
- package/dist/augmentations/configResolver.js +440 -0
- package/dist/augmentations/connectionPoolAugmentation.d.ts +3 -1
- package/dist/augmentations/connectionPoolAugmentation.js +37 -12
- package/dist/augmentations/defaultAugmentations.d.ts +14 -10
- package/dist/augmentations/defaultAugmentations.js +16 -11
- package/dist/augmentations/discovery/catalogDiscovery.d.ts +142 -0
- package/dist/augmentations/discovery/catalogDiscovery.js +249 -0
- package/dist/augmentations/discovery/localDiscovery.d.ts +84 -0
- package/dist/augmentations/discovery/localDiscovery.js +246 -0
- package/dist/augmentations/discovery/runtimeLoader.d.ts +97 -0
- package/dist/augmentations/discovery/runtimeLoader.js +337 -0
- package/dist/augmentations/discovery.d.ts +152 -0
- package/dist/augmentations/discovery.js +441 -0
- package/dist/augmentations/display/cache.d.ts +130 -0
- package/dist/augmentations/display/cache.js +319 -0
- package/dist/augmentations/display/fieldPatterns.d.ts +52 -0
- package/dist/augmentations/display/fieldPatterns.js +393 -0
- package/dist/augmentations/display/iconMappings.d.ts +57 -0
- package/dist/augmentations/display/iconMappings.js +68 -0
- package/dist/augmentations/display/intelligentComputation.d.ts +109 -0
- package/dist/augmentations/display/intelligentComputation.js +462 -0
- package/dist/augmentations/display/types.d.ts +203 -0
- package/dist/augmentations/display/types.js +7 -0
- package/dist/augmentations/entityRegistryAugmentation.d.ts +3 -1
- package/dist/augmentations/entityRegistryAugmentation.js +5 -1
- package/dist/augmentations/indexAugmentation.d.ts +5 -3
- package/dist/augmentations/indexAugmentation.js +5 -2
- package/dist/augmentations/intelligentVerbScoringAugmentation.d.ts +24 -7
- package/dist/augmentations/intelligentVerbScoringAugmentation.js +111 -27
- package/dist/augmentations/manifest.d.ts +176 -0
- package/dist/augmentations/manifest.js +8 -0
- package/dist/augmentations/marketplace/AugmentationMarketplace.d.ts +168 -0
- package/dist/augmentations/marketplace/AugmentationMarketplace.js +329 -0
- package/dist/augmentations/marketplace/cli.d.ts +47 -0
- package/dist/augmentations/marketplace/cli.js +265 -0
- package/dist/augmentations/metricsAugmentation.d.ts +3 -3
- package/dist/augmentations/metricsAugmentation.js +2 -2
- package/dist/augmentations/monitoringAugmentation.d.ts +3 -3
- package/dist/augmentations/monitoringAugmentation.js +2 -2
- package/dist/augmentations/neuralImport.d.ts +1 -1
- package/dist/augmentations/neuralImport.js +4 -4
- package/dist/augmentations/rateLimitAugmentation.d.ts +82 -0
- package/dist/augmentations/rateLimitAugmentation.js +321 -0
- package/dist/augmentations/requestDeduplicatorAugmentation.d.ts +2 -2
- package/dist/augmentations/requestDeduplicatorAugmentation.js +1 -1
- package/dist/augmentations/storageAugmentation.d.ts +1 -1
- package/dist/augmentations/storageAugmentation.js +2 -2
- package/dist/augmentations/storageAugmentations.d.ts +37 -8
- package/dist/augmentations/storageAugmentations.js +204 -15
- package/dist/augmentations/synapseAugmentation.d.ts +1 -1
- package/dist/augmentations/synapseAugmentation.js +35 -16
- package/dist/augmentations/typeMatching/brainyTypes.d.ts +83 -0
- package/dist/augmentations/typeMatching/brainyTypes.js +425 -0
- package/dist/augmentations/typeMatching/intelligentTypeMatcher.d.ts +39 -59
- package/dist/augmentations/typeMatching/intelligentTypeMatcher.js +103 -389
- package/dist/augmentations/universalDisplayAugmentation.d.ts +191 -0
- package/dist/augmentations/universalDisplayAugmentation.js +371 -0
- package/dist/brainy-unified.d.ts +106 -0
- package/dist/brainy-unified.js +327 -0
- package/dist/brainy.d.ts +273 -0
- package/dist/brainy.js +1181 -0
- package/dist/brainyData.d.ts +56 -111
- package/dist/brainyData.js +912 -756
- package/dist/brainyDataV3.d.ts +186 -0
- package/dist/brainyDataV3.js +337 -0
- package/dist/browserFramework.d.ts +6 -6
- package/dist/browserFramework.js +11 -8
- package/dist/browserFramework.minimal.d.ts +5 -5
- package/dist/browserFramework.minimal.js +11 -8
- package/dist/config/distributedPresets-new.d.ts +118 -0
- package/dist/config/distributedPresets-new.js +318 -0
- package/dist/config/distributedPresets.d.ts +118 -0
- package/dist/config/distributedPresets.js +318 -0
- package/dist/config/extensibleConfig.d.ts +99 -0
- package/dist/config/extensibleConfig.js +268 -0
- package/dist/config/index.d.ts +17 -0
- package/dist/config/index.js +35 -0
- package/dist/config/modelAutoConfig.d.ts +32 -0
- package/dist/config/modelAutoConfig.js +139 -0
- package/dist/config/modelPrecisionManager.d.ts +42 -0
- package/dist/config/modelPrecisionManager.js +98 -0
- package/dist/config/sharedConfigManager.d.ts +67 -0
- package/dist/config/sharedConfigManager.js +215 -0
- package/dist/config/storageAutoConfig.d.ts +41 -0
- package/dist/config/storageAutoConfig.js +328 -0
- package/dist/config/zeroConfig.d.ts +68 -0
- package/dist/config/zeroConfig.js +301 -0
- package/dist/cortex/backupRestore.d.ts +2 -2
- package/dist/cortex/backupRestore.js +85 -27
- package/dist/cortex/healthCheck.d.ts +2 -2
- package/dist/cortex/neuralImport.d.ts +2 -2
- package/dist/cortex/neuralImport.js +18 -13
- package/dist/cortex/performanceMonitor.d.ts +2 -2
- package/dist/critical/model-guardian.d.ts +4 -0
- package/dist/critical/model-guardian.js +31 -11
- package/dist/demo.d.ts +4 -4
- package/dist/demo.js +7 -7
- package/dist/distributed/cacheSync.d.ts +112 -0
- package/dist/distributed/cacheSync.js +265 -0
- package/dist/distributed/coordinator.d.ts +193 -0
- package/dist/distributed/coordinator.js +548 -0
- package/dist/distributed/httpTransport.d.ts +120 -0
- package/dist/distributed/httpTransport.js +446 -0
- package/dist/distributed/index.d.ts +8 -0
- package/dist/distributed/index.js +5 -0
- package/dist/distributed/networkTransport.d.ts +132 -0
- package/dist/distributed/networkTransport.js +633 -0
- package/dist/distributed/queryPlanner.d.ts +104 -0
- package/dist/distributed/queryPlanner.js +327 -0
- package/dist/distributed/readWriteSeparation.d.ts +134 -0
- package/dist/distributed/readWriteSeparation.js +350 -0
- package/dist/distributed/shardManager.d.ts +114 -0
- package/dist/distributed/shardManager.js +357 -0
- package/dist/distributed/shardMigration.d.ts +110 -0
- package/dist/distributed/shardMigration.js +289 -0
- package/dist/distributed/storageDiscovery.d.ts +160 -0
- package/dist/distributed/storageDiscovery.js +551 -0
- package/dist/embeddings/CachedEmbeddings.d.ts +40 -0
- package/dist/embeddings/CachedEmbeddings.js +146 -0
- package/dist/embeddings/EmbeddingManager.d.ts +102 -0
- package/dist/embeddings/EmbeddingManager.js +291 -0
- package/dist/embeddings/SingletonModelManager.d.ts +95 -0
- package/dist/embeddings/SingletonModelManager.js +220 -0
- package/dist/embeddings/index.d.ts +12 -0
- package/dist/embeddings/index.js +16 -0
- package/dist/embeddings/lightweight-embedder.d.ts +0 -1
- package/dist/embeddings/lightweight-embedder.js +4 -12
- package/dist/embeddings/model-manager.d.ts +11 -0
- package/dist/embeddings/model-manager.js +43 -7
- package/dist/embeddings/universal-memory-manager.d.ts +1 -1
- package/dist/embeddings/universal-memory-manager.js +27 -67
- package/dist/embeddings/worker-embedding.js +4 -8
- package/dist/errors/brainyError.d.ts +5 -1
- package/dist/errors/brainyError.js +12 -0
- package/dist/examples/basicUsage.js +7 -4
- package/dist/graph/graphAdjacencyIndex.d.ts +96 -0
- package/dist/graph/graphAdjacencyIndex.js +288 -0
- package/dist/graph/pathfinding.js +4 -2
- package/dist/hnsw/scaledHNSWSystem.js +11 -2
- package/dist/importManager.js +8 -5
- package/dist/index.d.ts +17 -22
- package/dist/index.js +37 -23
- package/dist/mcp/brainyMCPAdapter.d.ts +4 -4
- package/dist/mcp/brainyMCPAdapter.js +5 -5
- package/dist/mcp/brainyMCPService.d.ts +3 -3
- package/dist/mcp/brainyMCPService.js +3 -11
- package/dist/mcp/mcpAugmentationToolset.js +20 -30
- package/dist/neural/embeddedPatterns.d.ts +1 -1
- package/dist/neural/embeddedPatterns.js +2 -2
- package/dist/neural/entityExtractor.d.ts +65 -0
- package/dist/neural/entityExtractor.js +316 -0
- package/dist/neural/improvedNeuralAPI.d.ts +357 -0
- package/dist/neural/improvedNeuralAPI.js +2628 -0
- package/dist/neural/naturalLanguageProcessor.d.ts +155 -10
- package/dist/neural/naturalLanguageProcessor.js +941 -66
- package/dist/neural/naturalLanguageProcessorStatic.d.ts +2 -2
- package/dist/neural/naturalLanguageProcessorStatic.js +3 -3
- package/dist/neural/neuralAPI.js +8 -2
- package/dist/neural/patternLibrary.d.ts +57 -3
- package/dist/neural/patternLibrary.js +348 -13
- package/dist/neural/staticPatternMatcher.d.ts +2 -2
- package/dist/neural/staticPatternMatcher.js +2 -2
- package/dist/neural/types.d.ts +287 -0
- package/dist/neural/types.js +24 -0
- package/dist/shared/default-augmentations.d.ts +3 -3
- package/dist/shared/default-augmentations.js +5 -5
- package/dist/storage/adapters/baseStorageAdapter.d.ts +42 -0
- package/dist/storage/adapters/fileSystemStorage.d.ts +26 -2
- package/dist/storage/adapters/fileSystemStorage.js +218 -15
- package/dist/storage/adapters/memoryStorage.d.ts +4 -4
- package/dist/storage/adapters/memoryStorage.js +17 -12
- package/dist/storage/adapters/opfsStorage.d.ts +2 -2
- package/dist/storage/adapters/opfsStorage.js +2 -2
- package/dist/storage/adapters/s3CompatibleStorage.d.ts +2 -2
- package/dist/storage/adapters/s3CompatibleStorage.js +2 -2
- package/dist/storage/backwardCompatibility.d.ts +10 -78
- package/dist/storage/backwardCompatibility.js +17 -132
- package/dist/storage/baseStorage.d.ts +18 -2
- package/dist/storage/baseStorage.js +74 -3
- package/dist/storage/cacheManager.js +2 -2
- package/dist/storage/readOnlyOptimizations.js +8 -3
- package/dist/streaming/pipeline.d.ts +154 -0
- package/dist/streaming/pipeline.js +551 -0
- package/dist/triple/TripleIntelligence.d.ts +25 -110
- package/dist/triple/TripleIntelligence.js +4 -574
- package/dist/triple/TripleIntelligenceSystem.d.ts +159 -0
- package/dist/triple/TripleIntelligenceSystem.js +519 -0
- package/dist/types/apiTypes.d.ts +278 -0
- package/dist/types/apiTypes.js +33 -0
- package/dist/types/brainy.types.d.ts +308 -0
- package/dist/types/brainy.types.js +8 -0
- package/dist/types/brainyDataInterface.d.ts +5 -8
- package/dist/types/brainyDataInterface.js +2 -2
- package/dist/types/graphTypes.js +2 -2
- package/dist/utils/brainyTypes.d.ts +217 -0
- package/dist/utils/brainyTypes.js +261 -0
- package/dist/utils/cacheAutoConfig.d.ts +3 -3
- package/dist/utils/embedding.d.ts +9 -4
- package/dist/utils/embedding.js +89 -26
- package/dist/utils/enhancedLogger.d.ts +104 -0
- package/dist/utils/enhancedLogger.js +232 -0
- package/dist/utils/hybridModelManager.d.ts +19 -28
- package/dist/utils/hybridModelManager.js +36 -200
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/intelligentTypeMapper.d.ts +60 -0
- package/dist/utils/intelligentTypeMapper.js +349 -0
- package/dist/utils/metadataIndex.d.ts +118 -1
- package/dist/utils/metadataIndex.js +539 -16
- package/dist/utils/nodeVersionCheck.d.ts +24 -0
- package/dist/utils/nodeVersionCheck.js +65 -0
- package/dist/utils/paramValidation.d.ts +39 -0
- package/dist/utils/paramValidation.js +192 -0
- package/dist/utils/rateLimiter.d.ts +160 -0
- package/dist/utils/rateLimiter.js +271 -0
- package/dist/utils/statistics.d.ts +4 -4
- package/dist/utils/statistics.js +3 -3
- package/dist/utils/structuredLogger.d.ts +146 -0
- package/dist/utils/structuredLogger.js +394 -0
- package/dist/utils/textEncoding.js +2 -1
- package/dist/utils/typeValidation.d.ts +59 -0
- package/dist/utils/typeValidation.js +374 -0
- package/dist/utils/version.js +19 -3
- package/package.json +15 -4
- package/scripts/download-models.cjs +94 -20
- package/dist/augmentations/walAugmentation.d.ts +0 -109
- package/dist/augmentations/walAugmentation.js +0 -516
- package/dist/chat/BrainyChat.d.ts +0 -121
- package/dist/chat/BrainyChat.js +0 -396
- package/dist/chat/ChatCLI.d.ts +0 -61
- package/dist/chat/ChatCLI.js +0 -351
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal Display Augmentation
|
|
3
|
+
*
|
|
4
|
+
* 🎨 Provides intelligent display fields for any noun or verb using AI-powered analysis
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - ✅ Leverages existing BrainyTypes for semantic type detection
|
|
8
|
+
* - ✅ Complete icon coverage for all 31 NounTypes + 40+ VerbTypes
|
|
9
|
+
* - ✅ Zero performance impact with lazy computation and intelligent caching
|
|
10
|
+
* - ✅ Perfect isolation - can be disabled, replaced, or configured
|
|
11
|
+
* - ✅ Clean developer experience with zero conflicts
|
|
12
|
+
* - ✅ TypeScript support with full autocomplete
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // User data access (unchanged)
|
|
17
|
+
* result.firstName // "John"
|
|
18
|
+
* result.metadata.title // "CEO"
|
|
19
|
+
*
|
|
20
|
+
* // Enhanced display (new capabilities)
|
|
21
|
+
* result.getDisplay('title') // "John Doe" (AI-computed)
|
|
22
|
+
* result.getDisplay('description') // "CEO at Acme Corp" (enhanced)
|
|
23
|
+
* result.getDisplay('type') // "Person" (from AI detection)
|
|
24
|
+
* result.getDisplay() // All display fields
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
import { BaseAugmentation, AugmentationContext, MetadataAccess } from './brainyAugmentation.js';
|
|
28
|
+
import type { DisplayConfig, DisplayAugmentationStats } from './display/types.js';
|
|
29
|
+
/**
|
|
30
|
+
* Universal Display Augmentation
|
|
31
|
+
*
|
|
32
|
+
* Self-contained augmentation that provides intelligent display fields
|
|
33
|
+
* for any data type using existing Brainy AI infrastructure
|
|
34
|
+
*/
|
|
35
|
+
export declare class UniversalDisplayAugmentation extends BaseAugmentation {
|
|
36
|
+
readonly name = "display";
|
|
37
|
+
readonly version = "1.0.0";
|
|
38
|
+
readonly timing: "after";
|
|
39
|
+
readonly priority = 50;
|
|
40
|
+
readonly metadata: MetadataAccess;
|
|
41
|
+
operations: any;
|
|
42
|
+
readonly category: "core";
|
|
43
|
+
readonly description = "AI-powered intelligent display fields for enhanced data visualization";
|
|
44
|
+
computedFields: {
|
|
45
|
+
display: {
|
|
46
|
+
title: {
|
|
47
|
+
type: "string";
|
|
48
|
+
description: string;
|
|
49
|
+
};
|
|
50
|
+
description: {
|
|
51
|
+
type: "string";
|
|
52
|
+
description: string;
|
|
53
|
+
};
|
|
54
|
+
type: {
|
|
55
|
+
type: "string";
|
|
56
|
+
description: string;
|
|
57
|
+
};
|
|
58
|
+
tags: {
|
|
59
|
+
type: "array";
|
|
60
|
+
description: string;
|
|
61
|
+
};
|
|
62
|
+
relationship: {
|
|
63
|
+
type: "string";
|
|
64
|
+
description: string;
|
|
65
|
+
};
|
|
66
|
+
confidence: {
|
|
67
|
+
type: "number";
|
|
68
|
+
description: string;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
private computationEngine;
|
|
73
|
+
private displayCache;
|
|
74
|
+
private requestDeduplicator;
|
|
75
|
+
protected config: DisplayConfig;
|
|
76
|
+
protected context: AugmentationContext | undefined;
|
|
77
|
+
constructor(config?: Partial<DisplayConfig>);
|
|
78
|
+
/**
|
|
79
|
+
* Initialize the augmentation with AI components
|
|
80
|
+
* @param context Brainy context
|
|
81
|
+
*/
|
|
82
|
+
initialize(context: AugmentationContext): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Execute augmentation - attach display capabilities to results
|
|
85
|
+
* @param operation The operation being performed
|
|
86
|
+
* @param params Operation parameters
|
|
87
|
+
* @param next Function to execute main operation
|
|
88
|
+
* @returns Enhanced result with display capabilities
|
|
89
|
+
*/
|
|
90
|
+
execute<T = any>(operation: string, params: any, next: () => Promise<T>): Promise<T>;
|
|
91
|
+
/**
|
|
92
|
+
* Check if operation should be enhanced
|
|
93
|
+
* @param operation Operation name
|
|
94
|
+
* @returns True if should enhance
|
|
95
|
+
*/
|
|
96
|
+
private shouldEnhanceOperation;
|
|
97
|
+
/**
|
|
98
|
+
* Enhance result with display capabilities
|
|
99
|
+
* @param result The operation result
|
|
100
|
+
* @param operation The operation type
|
|
101
|
+
* @returns Enhanced result
|
|
102
|
+
*/
|
|
103
|
+
private enhanceWithDisplayCapabilities;
|
|
104
|
+
/**
|
|
105
|
+
* Enhance a single entity with display capabilities
|
|
106
|
+
* @param entity The entity to enhance
|
|
107
|
+
* @returns Enhanced entity
|
|
108
|
+
*/
|
|
109
|
+
private enhanceEntity;
|
|
110
|
+
/**
|
|
111
|
+
* Create getDisplay method for an entity
|
|
112
|
+
* @param entity The entity
|
|
113
|
+
* @param isVerb Whether it's a verb entity
|
|
114
|
+
* @returns getDisplay function
|
|
115
|
+
*/
|
|
116
|
+
private createGetDisplayMethod;
|
|
117
|
+
/**
|
|
118
|
+
* Create getAvailableFields method
|
|
119
|
+
* @returns getAvailableFields function
|
|
120
|
+
*/
|
|
121
|
+
private createGetAvailableFieldsMethod;
|
|
122
|
+
/**
|
|
123
|
+
* Create getAvailableAugmentations method
|
|
124
|
+
* @returns getAvailableAugmentations function
|
|
125
|
+
*/
|
|
126
|
+
private createGetAvailableAugmentationsMethod;
|
|
127
|
+
/**
|
|
128
|
+
* Create explore method for debugging
|
|
129
|
+
* @param entity The entity
|
|
130
|
+
* @returns explore function
|
|
131
|
+
*/
|
|
132
|
+
private createExploreMethod;
|
|
133
|
+
/**
|
|
134
|
+
* Check if an entity is a verb
|
|
135
|
+
* @param entity The entity to check
|
|
136
|
+
* @returns True if it's a verb
|
|
137
|
+
*/
|
|
138
|
+
private isVerbEntity;
|
|
139
|
+
/**
|
|
140
|
+
* Get coverage information
|
|
141
|
+
* @returns Coverage info string
|
|
142
|
+
*/
|
|
143
|
+
private getCoverageInfo;
|
|
144
|
+
/**
|
|
145
|
+
* Get augmentation statistics
|
|
146
|
+
* @returns Performance and usage statistics
|
|
147
|
+
*/
|
|
148
|
+
getStats(): DisplayAugmentationStats;
|
|
149
|
+
/**
|
|
150
|
+
* Configure the augmentation at runtime
|
|
151
|
+
* @param newConfig Partial configuration to merge
|
|
152
|
+
*/
|
|
153
|
+
configure(newConfig: Partial<DisplayConfig>): void;
|
|
154
|
+
/**
|
|
155
|
+
* Clear all cached display data
|
|
156
|
+
*/
|
|
157
|
+
clearCache(): void;
|
|
158
|
+
/**
|
|
159
|
+
* Precompute display fields for a batch of entities
|
|
160
|
+
* @param entities Array of entities to precompute
|
|
161
|
+
*/
|
|
162
|
+
precomputeBatch(entities: Array<{
|
|
163
|
+
id: string;
|
|
164
|
+
data: any;
|
|
165
|
+
}>): Promise<void>;
|
|
166
|
+
/**
|
|
167
|
+
* Optional check if this augmentation should run
|
|
168
|
+
* @param operation Operation name
|
|
169
|
+
* @param params Operation parameters
|
|
170
|
+
* @returns True if should execute
|
|
171
|
+
*/
|
|
172
|
+
shouldExecute(operation: string, params: any): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Cleanup when augmentation is shut down
|
|
175
|
+
*/
|
|
176
|
+
shutdown(): Promise<void>;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Factory function to create display augmentation with default config
|
|
180
|
+
* @param config Optional configuration overrides
|
|
181
|
+
* @returns Configured display augmentation instance
|
|
182
|
+
*/
|
|
183
|
+
export declare function createDisplayAugmentation(config?: Partial<DisplayConfig>): UniversalDisplayAugmentation;
|
|
184
|
+
/**
|
|
185
|
+
* Default configuration for the display augmentation
|
|
186
|
+
*/
|
|
187
|
+
export declare const DEFAULT_DISPLAY_CONFIG: DisplayConfig;
|
|
188
|
+
/**
|
|
189
|
+
* Export for easy import and registration
|
|
190
|
+
*/
|
|
191
|
+
export default UniversalDisplayAugmentation;
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal Display Augmentation
|
|
3
|
+
*
|
|
4
|
+
* 🎨 Provides intelligent display fields for any noun or verb using AI-powered analysis
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - ✅ Leverages existing BrainyTypes for semantic type detection
|
|
8
|
+
* - ✅ Complete icon coverage for all 31 NounTypes + 40+ VerbTypes
|
|
9
|
+
* - ✅ Zero performance impact with lazy computation and intelligent caching
|
|
10
|
+
* - ✅ Perfect isolation - can be disabled, replaced, or configured
|
|
11
|
+
* - ✅ Clean developer experience with zero conflicts
|
|
12
|
+
* - ✅ TypeScript support with full autocomplete
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // User data access (unchanged)
|
|
17
|
+
* result.firstName // "John"
|
|
18
|
+
* result.metadata.title // "CEO"
|
|
19
|
+
*
|
|
20
|
+
* // Enhanced display (new capabilities)
|
|
21
|
+
* result.getDisplay('title') // "John Doe" (AI-computed)
|
|
22
|
+
* result.getDisplay('description') // "CEO at Acme Corp" (enhanced)
|
|
23
|
+
* result.getDisplay('type') // "Person" (from AI detection)
|
|
24
|
+
* result.getDisplay() // All display fields
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
import { BaseAugmentation } from './brainyAugmentation.js';
|
|
28
|
+
import { IntelligentComputationEngine } from './display/intelligentComputation.js';
|
|
29
|
+
import { RequestDeduplicator, getGlobalDisplayCache } from './display/cache.js';
|
|
30
|
+
/**
|
|
31
|
+
* Universal Display Augmentation
|
|
32
|
+
*
|
|
33
|
+
* Self-contained augmentation that provides intelligent display fields
|
|
34
|
+
* for any data type using existing Brainy AI infrastructure
|
|
35
|
+
*/
|
|
36
|
+
export class UniversalDisplayAugmentation extends BaseAugmentation {
|
|
37
|
+
constructor(config = {}) {
|
|
38
|
+
super();
|
|
39
|
+
this.name = 'display';
|
|
40
|
+
this.version = '1.0.0';
|
|
41
|
+
this.timing = 'after'; // Enhance results after main operations
|
|
42
|
+
this.priority = 50; // Medium priority - after core operations
|
|
43
|
+
this.metadata = {
|
|
44
|
+
reads: '*', // Read all user data for intelligent analysis
|
|
45
|
+
writes: ['_display'] // Cache computed fields in isolated namespace
|
|
46
|
+
};
|
|
47
|
+
this.operations = ['get', 'search', 'find', 'similar', 'findSimilar', 'getVerb', 'add', 'addNoun', 'addVerb', 'relate'];
|
|
48
|
+
// Augmentation metadata
|
|
49
|
+
this.category = 'core';
|
|
50
|
+
this.description = 'AI-powered intelligent display fields for enhanced data visualization';
|
|
51
|
+
// Computed fields declaration for TypeScript support and discovery
|
|
52
|
+
this.computedFields = {
|
|
53
|
+
display: {
|
|
54
|
+
title: { type: 'string', description: 'Primary display name (AI-computed)' },
|
|
55
|
+
description: { type: 'string', description: 'Enhanced description with context' },
|
|
56
|
+
type: { type: 'string', description: 'Human-readable type (from AI detection)' },
|
|
57
|
+
tags: { type: 'array', description: 'Generated display tags' },
|
|
58
|
+
relationship: { type: 'string', description: 'Human-readable relationship (verbs only)' },
|
|
59
|
+
confidence: { type: 'number', description: 'AI confidence score (0-1)' }
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
// Merge with defaults
|
|
63
|
+
this.config = {
|
|
64
|
+
enabled: true,
|
|
65
|
+
cacheSize: 1000,
|
|
66
|
+
lazyComputation: true,
|
|
67
|
+
batchSize: 50,
|
|
68
|
+
confidenceThreshold: 0.7,
|
|
69
|
+
customFieldMappings: {},
|
|
70
|
+
priorityFields: {},
|
|
71
|
+
debugMode: false,
|
|
72
|
+
...config
|
|
73
|
+
};
|
|
74
|
+
// Initialize components
|
|
75
|
+
this.computationEngine = new IntelligentComputationEngine(this.config);
|
|
76
|
+
this.displayCache = getGlobalDisplayCache(this.config.cacheSize);
|
|
77
|
+
this.requestDeduplicator = new RequestDeduplicator(this.config.batchSize);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Initialize the augmentation with AI components
|
|
81
|
+
* @param context Brainy context
|
|
82
|
+
*/
|
|
83
|
+
async initialize(context) {
|
|
84
|
+
if (!this.config.enabled) {
|
|
85
|
+
this.log('🎨 Universal Display augmentation disabled');
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
this.context = context;
|
|
89
|
+
try {
|
|
90
|
+
// Initialize AI-powered computation engine
|
|
91
|
+
await this.computationEngine.initialize();
|
|
92
|
+
this.log('🎨 Universal Display augmentation initialized successfully');
|
|
93
|
+
this.log(` Cache size: ${this.config.cacheSize}`);
|
|
94
|
+
this.log(` Lazy computation: ${this.config.lazyComputation}`);
|
|
95
|
+
this.log(` Coverage: ${this.getCoverageInfo()}`);
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
this.log('⚠️ Display augmentation initialization warning:', 'warn');
|
|
99
|
+
this.log(` ${error}`, 'warn');
|
|
100
|
+
this.log(' Falling back to basic mode', 'warn');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Execute augmentation - attach display capabilities to results
|
|
105
|
+
* @param operation The operation being performed
|
|
106
|
+
* @param params Operation parameters
|
|
107
|
+
* @param next Function to execute main operation
|
|
108
|
+
* @returns Enhanced result with display capabilities
|
|
109
|
+
*/
|
|
110
|
+
async execute(operation, params, next) {
|
|
111
|
+
// Always execute main operation first
|
|
112
|
+
const result = await next();
|
|
113
|
+
// Only enhance if enabled and operation is relevant
|
|
114
|
+
if (!this.config.enabled || !this.shouldEnhanceOperation(operation)) {
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
// Enhance result with display capabilities
|
|
119
|
+
return this.enhanceWithDisplayCapabilities(result, operation);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
this.log(`Display enhancement failed for ${operation}: ${error}`, 'warn');
|
|
123
|
+
return result; // Return unenhanced result on error
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Check if operation should be enhanced
|
|
128
|
+
* @param operation Operation name
|
|
129
|
+
* @returns True if should enhance
|
|
130
|
+
*/
|
|
131
|
+
shouldEnhanceOperation(operation) {
|
|
132
|
+
const enhanceableOps = ['get', 'search', 'findSimilar', 'getVerb'];
|
|
133
|
+
return enhanceableOps.includes(operation);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Enhance result with display capabilities
|
|
137
|
+
* @param result The operation result
|
|
138
|
+
* @param operation The operation type
|
|
139
|
+
* @returns Enhanced result
|
|
140
|
+
*/
|
|
141
|
+
enhanceWithDisplayCapabilities(result, operation) {
|
|
142
|
+
if (!result)
|
|
143
|
+
return result;
|
|
144
|
+
// Handle different result types
|
|
145
|
+
if (Array.isArray(result)) {
|
|
146
|
+
// Array of results (search, findSimilar)
|
|
147
|
+
return result.map(item => this.enhanceEntity(item));
|
|
148
|
+
}
|
|
149
|
+
else if (result.id || result.metadata) {
|
|
150
|
+
// Single entity (get, getVerb)
|
|
151
|
+
return this.enhanceEntity(result);
|
|
152
|
+
}
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Enhance a single entity with display capabilities
|
|
157
|
+
* @param entity The entity to enhance
|
|
158
|
+
* @returns Enhanced entity
|
|
159
|
+
*/
|
|
160
|
+
enhanceEntity(entity) {
|
|
161
|
+
if (!entity)
|
|
162
|
+
return entity;
|
|
163
|
+
// Determine if it's a noun or verb
|
|
164
|
+
const isVerb = this.isVerbEntity(entity);
|
|
165
|
+
// Add display methods
|
|
166
|
+
const enhanced = {
|
|
167
|
+
...entity,
|
|
168
|
+
getDisplay: this.createGetDisplayMethod(entity, isVerb),
|
|
169
|
+
getAvailableFields: this.createGetAvailableFieldsMethod(),
|
|
170
|
+
getAvailableAugmentations: this.createGetAvailableAugmentationsMethod(),
|
|
171
|
+
explore: this.createExploreMethod(entity)
|
|
172
|
+
};
|
|
173
|
+
return enhanced;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Create getDisplay method for an entity
|
|
177
|
+
* @param entity The entity
|
|
178
|
+
* @param isVerb Whether it's a verb entity
|
|
179
|
+
* @returns getDisplay function
|
|
180
|
+
*/
|
|
181
|
+
createGetDisplayMethod(entity, isVerb) {
|
|
182
|
+
return async (field) => {
|
|
183
|
+
// Generate cache key
|
|
184
|
+
const cacheKey = this.displayCache.generateKey(entity.id, entity.metadata || entity, isVerb ? 'verb' : 'noun');
|
|
185
|
+
// Use request deduplicator to prevent duplicate computations
|
|
186
|
+
const computedFields = await this.requestDeduplicator.deduplicate(cacheKey, async () => {
|
|
187
|
+
// Check cache first
|
|
188
|
+
let cached = this.displayCache.get(cacheKey);
|
|
189
|
+
if (cached)
|
|
190
|
+
return cached;
|
|
191
|
+
// Compute display fields
|
|
192
|
+
const startTime = Date.now();
|
|
193
|
+
let computed;
|
|
194
|
+
if (isVerb) {
|
|
195
|
+
computed = await this.computationEngine.computeVerbDisplay(entity);
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
computed = await this.computationEngine.computeNounDisplay(entity.metadata || entity, entity.id);
|
|
199
|
+
}
|
|
200
|
+
// Cache the result
|
|
201
|
+
const computationTime = Date.now() - startTime;
|
|
202
|
+
this.displayCache.set(cacheKey, computed, computationTime);
|
|
203
|
+
return computed;
|
|
204
|
+
});
|
|
205
|
+
// Return specific field or all fields
|
|
206
|
+
return field ? computedFields[field] : computedFields;
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Create getAvailableFields method
|
|
211
|
+
* @returns getAvailableFields function
|
|
212
|
+
*/
|
|
213
|
+
createGetAvailableFieldsMethod() {
|
|
214
|
+
return (namespace) => {
|
|
215
|
+
if (namespace === 'display') {
|
|
216
|
+
return ['title', 'description', 'type', 'tags', 'relationship', 'confidence'];
|
|
217
|
+
}
|
|
218
|
+
return [];
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Create getAvailableAugmentations method
|
|
223
|
+
* @returns getAvailableAugmentations function
|
|
224
|
+
*/
|
|
225
|
+
createGetAvailableAugmentationsMethod() {
|
|
226
|
+
return () => {
|
|
227
|
+
return ['display']; // This augmentation provides 'display' namespace
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Create explore method for debugging
|
|
232
|
+
* @param entity The entity
|
|
233
|
+
* @returns explore function
|
|
234
|
+
*/
|
|
235
|
+
createExploreMethod(entity) {
|
|
236
|
+
return async () => {
|
|
237
|
+
console.log(`\n📋 Entity Exploration: ${entity.id || 'unknown'}`);
|
|
238
|
+
console.log('━'.repeat(50));
|
|
239
|
+
// Show user data
|
|
240
|
+
console.log('\n👤 User Data:');
|
|
241
|
+
const userData = entity.metadata || entity;
|
|
242
|
+
for (const [key, value] of Object.entries(userData)) {
|
|
243
|
+
if (!key.startsWith('_')) {
|
|
244
|
+
console.log(` • ${key}: ${JSON.stringify(value)}`);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
// Show computed display fields
|
|
248
|
+
try {
|
|
249
|
+
console.log('\n🎨 Display Fields:');
|
|
250
|
+
const displayMethod = this.createGetDisplayMethod(entity, this.isVerbEntity(entity));
|
|
251
|
+
const displayFields = await displayMethod();
|
|
252
|
+
for (const [key, value] of Object.entries(displayFields)) {
|
|
253
|
+
console.log(` • ${key}: ${JSON.stringify(value)}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
console.log(` Error computing display fields: ${error}`);
|
|
258
|
+
}
|
|
259
|
+
console.log('');
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Check if an entity is a verb
|
|
264
|
+
* @param entity The entity to check
|
|
265
|
+
* @returns True if it's a verb
|
|
266
|
+
*/
|
|
267
|
+
isVerbEntity(entity) {
|
|
268
|
+
return !!(entity.sourceId && entity.targetId) ||
|
|
269
|
+
!!(entity.source && entity.target) ||
|
|
270
|
+
!!entity.verb;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Get coverage information
|
|
274
|
+
* @returns Coverage info string
|
|
275
|
+
*/
|
|
276
|
+
getCoverageInfo() {
|
|
277
|
+
return 'Clean display - focuses on AI-powered content';
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Get augmentation statistics
|
|
281
|
+
* @returns Performance and usage statistics
|
|
282
|
+
*/
|
|
283
|
+
getStats() {
|
|
284
|
+
return this.displayCache.getStats();
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Configure the augmentation at runtime
|
|
288
|
+
* @param newConfig Partial configuration to merge
|
|
289
|
+
*/
|
|
290
|
+
configure(newConfig) {
|
|
291
|
+
this.config = { ...this.config, ...newConfig };
|
|
292
|
+
if (!this.config.enabled) {
|
|
293
|
+
this.displayCache.clear();
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Clear all cached display data
|
|
298
|
+
*/
|
|
299
|
+
clearCache() {
|
|
300
|
+
this.displayCache.clear();
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Precompute display fields for a batch of entities
|
|
304
|
+
* @param entities Array of entities to precompute
|
|
305
|
+
*/
|
|
306
|
+
async precomputeBatch(entities) {
|
|
307
|
+
const computeRequests = entities.map(({ id, data }) => ({
|
|
308
|
+
key: this.displayCache.generateKey(id, data, 'noun'),
|
|
309
|
+
computeFn: () => this.computationEngine.computeNounDisplay(data, id)
|
|
310
|
+
}));
|
|
311
|
+
await this.displayCache.batchPrecompute(computeRequests);
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Optional check if this augmentation should run
|
|
315
|
+
* @param operation Operation name
|
|
316
|
+
* @param params Operation parameters
|
|
317
|
+
* @returns True if should execute
|
|
318
|
+
*/
|
|
319
|
+
shouldExecute(operation, params) {
|
|
320
|
+
return this.config.enabled && this.shouldEnhanceOperation(operation);
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Cleanup when augmentation is shut down
|
|
324
|
+
*/
|
|
325
|
+
async shutdown() {
|
|
326
|
+
try {
|
|
327
|
+
// Cleanup computation engine
|
|
328
|
+
await this.computationEngine.shutdown();
|
|
329
|
+
// Cleanup request deduplicator
|
|
330
|
+
this.requestDeduplicator.shutdown();
|
|
331
|
+
// Clear cache if configured to do so
|
|
332
|
+
if (this.config.debugMode) {
|
|
333
|
+
const stats = this.getStats();
|
|
334
|
+
this.log(`🎨 Display augmentation shutdown statistics:`);
|
|
335
|
+
this.log(` Total computations: ${stats.totalComputations}`);
|
|
336
|
+
this.log(` Cache hit ratio: ${(stats.cacheHitRatio * 100).toFixed(1)}%`);
|
|
337
|
+
this.log(` Average computation time: ${stats.averageComputationTime.toFixed(1)}ms`);
|
|
338
|
+
}
|
|
339
|
+
this.log('🎨 Universal Display augmentation shut down');
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
this.log(`Display augmentation shutdown error: ${error}`, 'error');
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Factory function to create display augmentation with default config
|
|
348
|
+
* @param config Optional configuration overrides
|
|
349
|
+
* @returns Configured display augmentation instance
|
|
350
|
+
*/
|
|
351
|
+
export function createDisplayAugmentation(config = {}) {
|
|
352
|
+
return new UniversalDisplayAugmentation(config);
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Default configuration for the display augmentation
|
|
356
|
+
*/
|
|
357
|
+
export const DEFAULT_DISPLAY_CONFIG = {
|
|
358
|
+
enabled: true,
|
|
359
|
+
cacheSize: 1000,
|
|
360
|
+
lazyComputation: true,
|
|
361
|
+
batchSize: 50,
|
|
362
|
+
confidenceThreshold: 0.7,
|
|
363
|
+
customFieldMappings: {},
|
|
364
|
+
priorityFields: {},
|
|
365
|
+
debugMode: false
|
|
366
|
+
};
|
|
367
|
+
/**
|
|
368
|
+
* Export for easy import and registration
|
|
369
|
+
*/
|
|
370
|
+
export default UniversalDisplayAugmentation;
|
|
371
|
+
//# sourceMappingURL=universalDisplayAugmentation.js.map
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🧠 Brainy 3.0 - UNIFIED FIND IMPLEMENTATION
|
|
3
|
+
*
|
|
4
|
+
* REAL CODE - NO MOCKS - NO STUBS - PRODUCTION READY
|
|
5
|
+
* O(log n) performance with Triple Intelligence
|
|
6
|
+
*/
|
|
7
|
+
import { Vector } from './coreTypes.js';
|
|
8
|
+
/**
|
|
9
|
+
* Core types
|
|
10
|
+
*/
|
|
11
|
+
export interface Entity<T = any> {
|
|
12
|
+
id: string;
|
|
13
|
+
data: T;
|
|
14
|
+
vector?: Vector;
|
|
15
|
+
metadata?: Record<string, any>;
|
|
16
|
+
type?: string;
|
|
17
|
+
service?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface Result<T = any> {
|
|
20
|
+
id: string;
|
|
21
|
+
score: number;
|
|
22
|
+
entity: Entity<T>;
|
|
23
|
+
}
|
|
24
|
+
export interface FindParams<T = any> {
|
|
25
|
+
id?: string;
|
|
26
|
+
ids?: string[];
|
|
27
|
+
query?: string;
|
|
28
|
+
vector?: Vector;
|
|
29
|
+
near?: {
|
|
30
|
+
id?: string;
|
|
31
|
+
vector?: Vector;
|
|
32
|
+
threshold?: number;
|
|
33
|
+
limit?: number;
|
|
34
|
+
};
|
|
35
|
+
where?: Record<string, any>;
|
|
36
|
+
type?: string | string[];
|
|
37
|
+
service?: string;
|
|
38
|
+
connected?: {
|
|
39
|
+
from: string;
|
|
40
|
+
to?: string;
|
|
41
|
+
type?: string;
|
|
42
|
+
direction?: 'in' | 'out' | 'both';
|
|
43
|
+
maxDepth?: number;
|
|
44
|
+
};
|
|
45
|
+
limit?: number;
|
|
46
|
+
offset?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* UNIFIED BRAINY CLASS - REAL IMPLEMENTATION
|
|
50
|
+
*/
|
|
51
|
+
export declare class Brainy<T = any> {
|
|
52
|
+
private index;
|
|
53
|
+
private storage;
|
|
54
|
+
private embedder;
|
|
55
|
+
private initialized;
|
|
56
|
+
constructor(config?: any);
|
|
57
|
+
/**
|
|
58
|
+
* Initialize Brainy
|
|
59
|
+
*/
|
|
60
|
+
init(): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Add entity
|
|
63
|
+
*/
|
|
64
|
+
add(params: {
|
|
65
|
+
data: T;
|
|
66
|
+
metadata?: any;
|
|
67
|
+
type?: string;
|
|
68
|
+
}): Promise<string>;
|
|
69
|
+
/**
|
|
70
|
+
* Get entity by ID
|
|
71
|
+
*/
|
|
72
|
+
get(id: string): Promise<Entity<T> | null>;
|
|
73
|
+
/**
|
|
74
|
+
* UNIFIED FIND - Real Triple Intelligence Implementation
|
|
75
|
+
* O(log n) performance with Reciprocal Rank Fusion
|
|
76
|
+
*/
|
|
77
|
+
find(params: string | FindParams<T>): Promise<Result<T>[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Search method for NLP compatibility
|
|
80
|
+
*/
|
|
81
|
+
search(query: string | any, limit?: number, options?: any): Promise<Result<T>[]>;
|
|
82
|
+
/**
|
|
83
|
+
* Parse natural language query
|
|
84
|
+
*/
|
|
85
|
+
private parseNaturalLanguage;
|
|
86
|
+
/**
|
|
87
|
+
* Vector Search - O(log n) via HNSW
|
|
88
|
+
*/
|
|
89
|
+
private vectorSearch;
|
|
90
|
+
/**
|
|
91
|
+
* Metadata Search - O(n) for now, but could be indexed
|
|
92
|
+
*/
|
|
93
|
+
private metadataSearch;
|
|
94
|
+
/**
|
|
95
|
+
* Graph Traversal - O(k) where k = edges traversed
|
|
96
|
+
*/
|
|
97
|
+
private graphTraversal;
|
|
98
|
+
/**
|
|
99
|
+
* Reciprocal Rank Fusion - Google's algorithm
|
|
100
|
+
*/
|
|
101
|
+
private reciprocalRankFusion;
|
|
102
|
+
/**
|
|
103
|
+
* Ensure initialized
|
|
104
|
+
*/
|
|
105
|
+
private ensureInitialized;
|
|
106
|
+
}
|