@soulcraft/brainy 0.35.0 → 0.37.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 +190 -20
- package/dist/coreTypes.d.ts +27 -2
- package/dist/hnsw/distributedSearch.d.ts +118 -0
- package/dist/hnsw/distributedSearch.d.ts.map +1 -0
- package/dist/hnsw/optimizedHNSWIndex.d.ts +97 -0
- package/dist/hnsw/optimizedHNSWIndex.d.ts.map +1 -0
- package/dist/hnsw/partitionedHNSWIndex.d.ts +101 -0
- package/dist/hnsw/partitionedHNSWIndex.d.ts.map +1 -0
- package/dist/hnsw/scaledHNSWSystem.d.ts +142 -0
- package/dist/hnsw/scaledHNSWSystem.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/storage/adapters/baseStorageAdapter.d.ts +2 -0
- package/dist/storage/adapters/baseStorageAdapter.d.ts.map +1 -1
- package/dist/storage/adapters/batchS3Operations.d.ts +71 -0
- package/dist/storage/adapters/batchS3Operations.d.ts.map +1 -0
- package/dist/storage/adapters/fileSystemStorage.d.ts +23 -5
- package/dist/storage/adapters/fileSystemStorage.d.ts.map +1 -1
- package/dist/storage/adapters/memoryStorage.d.ts +22 -4
- package/dist/storage/adapters/memoryStorage.d.ts.map +1 -1
- package/dist/storage/adapters/opfsStorage.d.ts +27 -9
- package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
- package/dist/storage/adapters/s3CompatibleStorage.d.ts +24 -8
- package/dist/storage/adapters/s3CompatibleStorage.d.ts.map +1 -1
- package/dist/storage/baseStorage.d.ts +30 -4
- package/dist/storage/baseStorage.d.ts.map +1 -1
- package/dist/storage/enhancedCacheManager.d.ts +141 -0
- package/dist/storage/enhancedCacheManager.d.ts.map +1 -0
- package/dist/storage/readOnlyOptimizations.d.ts +133 -0
- package/dist/storage/readOnlyOptimizations.d.ts.map +1 -0
- package/dist/unified.js +635 -215
- package/dist/unified.min.js +991 -991
- package/dist/utils/autoConfiguration.d.ts +125 -0
- package/dist/utils/autoConfiguration.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Automatic Configuration System for Brainy Vector Database
|
|
3
|
+
* Detects environment, resources, and data patterns to provide optimal settings
|
|
4
|
+
*/
|
|
5
|
+
export interface AutoConfigResult {
|
|
6
|
+
environment: 'browser' | 'nodejs' | 'serverless' | 'unknown';
|
|
7
|
+
availableMemory: number;
|
|
8
|
+
cpuCores: number;
|
|
9
|
+
threadingAvailable: boolean;
|
|
10
|
+
persistentStorageAvailable: boolean;
|
|
11
|
+
s3StorageDetected: boolean;
|
|
12
|
+
recommendedConfig: {
|
|
13
|
+
expectedDatasetSize: number;
|
|
14
|
+
maxMemoryUsage: number;
|
|
15
|
+
targetSearchLatency: number;
|
|
16
|
+
enablePartitioning: boolean;
|
|
17
|
+
enableCompression: boolean;
|
|
18
|
+
enableDistributedSearch: boolean;
|
|
19
|
+
enablePredictiveCaching: boolean;
|
|
20
|
+
partitionStrategy: 'semantic' | 'hash';
|
|
21
|
+
maxNodesPerPartition: number;
|
|
22
|
+
semanticClusters: number;
|
|
23
|
+
};
|
|
24
|
+
optimizationFlags: {
|
|
25
|
+
useMemoryMapping: boolean;
|
|
26
|
+
aggressiveCaching: boolean;
|
|
27
|
+
backgroundOptimization: boolean;
|
|
28
|
+
compressionLevel: 'none' | 'light' | 'aggressive';
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface DatasetAnalysis {
|
|
32
|
+
estimatedSize: number;
|
|
33
|
+
vectorDimension?: number;
|
|
34
|
+
growthRate?: number;
|
|
35
|
+
accessPatterns?: 'read-heavy' | 'write-heavy' | 'balanced';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Automatic configuration system that detects environment and optimizes settings
|
|
39
|
+
*/
|
|
40
|
+
export declare class AutoConfiguration {
|
|
41
|
+
private static instance;
|
|
42
|
+
private cachedConfig;
|
|
43
|
+
private datasetStats;
|
|
44
|
+
private constructor();
|
|
45
|
+
static getInstance(): AutoConfiguration;
|
|
46
|
+
/**
|
|
47
|
+
* Detect environment and generate optimal configuration
|
|
48
|
+
*/
|
|
49
|
+
detectAndConfigure(hints?: {
|
|
50
|
+
expectedDataSize?: number;
|
|
51
|
+
s3Available?: boolean;
|
|
52
|
+
memoryBudget?: number;
|
|
53
|
+
}): Promise<AutoConfigResult>;
|
|
54
|
+
/**
|
|
55
|
+
* Update configuration based on runtime dataset analysis
|
|
56
|
+
*/
|
|
57
|
+
adaptToDataset(analysis: DatasetAnalysis): Promise<AutoConfigResult>;
|
|
58
|
+
/**
|
|
59
|
+
* Learn from performance metrics and adjust configuration
|
|
60
|
+
*/
|
|
61
|
+
learnFromPerformance(metrics: {
|
|
62
|
+
averageSearchTime: number;
|
|
63
|
+
memoryUsage: number;
|
|
64
|
+
cacheHitRate: number;
|
|
65
|
+
errorRate: number;
|
|
66
|
+
}): Promise<Partial<AutoConfigResult['recommendedConfig']>>;
|
|
67
|
+
/**
|
|
68
|
+
* Get minimal configuration for quick setup
|
|
69
|
+
*/
|
|
70
|
+
getQuickSetupConfig(scenario: 'small' | 'medium' | 'large' | 'enterprise'): Promise<{
|
|
71
|
+
expectedDatasetSize: number;
|
|
72
|
+
maxMemoryUsage: number;
|
|
73
|
+
targetSearchLatency: number;
|
|
74
|
+
s3Required: boolean;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Detect the current runtime environment
|
|
78
|
+
*/
|
|
79
|
+
private detectEnvironment;
|
|
80
|
+
/**
|
|
81
|
+
* Detect available system resources
|
|
82
|
+
*/
|
|
83
|
+
private detectResources;
|
|
84
|
+
/**
|
|
85
|
+
* Detect available storage capabilities
|
|
86
|
+
*/
|
|
87
|
+
private detectStorageCapabilities;
|
|
88
|
+
/**
|
|
89
|
+
* Generate recommended configuration based on detected environment and resources
|
|
90
|
+
*/
|
|
91
|
+
private generateRecommendedConfig;
|
|
92
|
+
/**
|
|
93
|
+
* Generate optimization flags based on environment and resources
|
|
94
|
+
*/
|
|
95
|
+
private generateOptimizationFlags;
|
|
96
|
+
/**
|
|
97
|
+
* Adapt configuration based on actual dataset analysis
|
|
98
|
+
*/
|
|
99
|
+
private adaptConfigurationToData;
|
|
100
|
+
/**
|
|
101
|
+
* Estimate dataset size if not provided
|
|
102
|
+
*/
|
|
103
|
+
private estimateDatasetSize;
|
|
104
|
+
/**
|
|
105
|
+
* Reset cached configuration (for testing or manual refresh)
|
|
106
|
+
*/
|
|
107
|
+
resetCache(): void;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Convenience function for quick auto-configuration
|
|
111
|
+
*/
|
|
112
|
+
export declare function autoConfigureBrainy(hints?: {
|
|
113
|
+
expectedDataSize?: number;
|
|
114
|
+
s3Available?: boolean;
|
|
115
|
+
memoryBudget?: number;
|
|
116
|
+
}): Promise<AutoConfigResult>;
|
|
117
|
+
/**
|
|
118
|
+
* Get quick setup configuration for common scenarios
|
|
119
|
+
*/
|
|
120
|
+
export declare function getQuickSetup(scenario: 'small' | 'medium' | 'large' | 'enterprise'): Promise<{
|
|
121
|
+
expectedDatasetSize: number;
|
|
122
|
+
maxMemoryUsage: number;
|
|
123
|
+
targetSearchLatency: number;
|
|
124
|
+
s3Required: boolean;
|
|
125
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoConfiguration.d.ts","sourceRoot":"","sources":["../../src/utils/autoConfiguration.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED