@soulcraft/brainy 0.41.0 → 0.44.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 +605 -194
- package/dist/augmentationFactory.d.ts.map +1 -0
- package/dist/augmentationFactory.js +342 -0
- package/dist/augmentationFactory.js.map +1 -0
- package/dist/augmentationPipeline.d.ts.map +1 -0
- package/dist/augmentationPipeline.js +472 -0
- package/dist/augmentationPipeline.js.map +1 -0
- package/dist/augmentationRegistry.d.ts.map +1 -0
- package/dist/augmentationRegistry.js +105 -0
- package/dist/augmentationRegistry.js.map +1 -0
- package/dist/augmentationRegistryLoader.d.ts.map +1 -0
- package/dist/augmentationRegistryLoader.js +213 -0
- package/dist/augmentationRegistryLoader.js.map +1 -0
- package/dist/augmentations/conduitAugmentations.js +1158 -0
- package/dist/augmentations/conduitAugmentations.js.map +1 -0
- package/dist/augmentations/memoryAugmentations.d.ts +2 -0
- package/dist/augmentations/memoryAugmentations.d.ts.map +1 -1
- package/dist/augmentations/memoryAugmentations.js +270 -0
- package/dist/augmentations/memoryAugmentations.js.map +1 -0
- package/dist/augmentations/serverSearchAugmentations.js +531 -0
- package/dist/augmentations/serverSearchAugmentations.js.map +1 -0
- package/dist/brainyData.d.ts.map +1 -0
- package/dist/brainyData.js +3999 -0
- package/dist/brainyData.js.map +1 -0
- package/dist/browserFramework.d.ts +15 -0
- package/dist/browserFramework.d.ts.map +1 -0
- package/dist/browserFramework.js +31 -0
- package/dist/browserFramework.js.map +1 -0
- package/dist/coreTypes.d.ts.map +1 -0
- package/dist/coreTypes.js +5 -0
- package/dist/coreTypes.js.map +1 -0
- package/dist/demo.d.ts +106 -0
- package/dist/demo.d.ts.map +1 -0
- package/dist/demo.js +201 -0
- package/dist/demo.js.map +1 -0
- package/dist/distributed/configManager.d.ts.map +1 -0
- package/dist/distributed/configManager.js +322 -0
- package/dist/distributed/configManager.js.map +1 -0
- package/dist/distributed/domainDetector.d.ts.map +1 -0
- package/dist/distributed/domainDetector.js +307 -0
- package/dist/distributed/domainDetector.js.map +1 -0
- package/dist/distributed/hashPartitioner.d.ts.map +1 -0
- package/dist/distributed/hashPartitioner.js +146 -0
- package/dist/distributed/hashPartitioner.js.map +1 -0
- package/dist/distributed/healthMonitor.d.ts.map +1 -0
- package/dist/distributed/healthMonitor.js +244 -0
- package/dist/distributed/healthMonitor.js.map +1 -0
- package/dist/distributed/index.d.ts.map +1 -0
- package/dist/distributed/index.js +9 -0
- package/dist/distributed/index.js.map +1 -0
- package/dist/distributed/operationalModes.d.ts.map +1 -0
- package/dist/distributed/operationalModes.js +201 -0
- package/dist/distributed/operationalModes.js.map +1 -0
- package/dist/errors/brainyError.d.ts.map +1 -0
- package/dist/errors/brainyError.js +113 -0
- package/dist/errors/brainyError.js.map +1 -0
- package/dist/examples/basicUsage.js +118 -0
- package/dist/examples/basicUsage.js.map +1 -0
- package/dist/hnsw/distributedSearch.js +452 -0
- package/dist/hnsw/distributedSearch.js.map +1 -0
- package/dist/hnsw/hnswIndex.js +602 -0
- package/dist/hnsw/hnswIndex.js.map +1 -0
- package/dist/hnsw/hnswIndexOptimized.js +471 -0
- package/dist/hnsw/hnswIndexOptimized.js.map +1 -0
- package/dist/hnsw/optimizedHNSWIndex.js +313 -0
- package/dist/hnsw/optimizedHNSWIndex.js.map +1 -0
- package/dist/hnsw/partitionedHNSWIndex.js +304 -0
- package/dist/hnsw/partitionedHNSWIndex.js.map +1 -0
- package/dist/hnsw/scaledHNSWSystem.js +559 -0
- package/dist/hnsw/scaledHNSWSystem.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/brainyMCPAdapter.js +142 -0
- package/dist/mcp/brainyMCPAdapter.js.map +1 -0
- package/dist/mcp/brainyMCPService.js +248 -0
- package/dist/mcp/brainyMCPService.js.map +1 -0
- package/dist/mcp/index.js +17 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcpAugmentationToolset.js +180 -0
- package/dist/mcp/mcpAugmentationToolset.js.map +1 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +590 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/sequentialPipeline.d.ts.map +1 -0
- package/dist/sequentialPipeline.js +417 -0
- package/dist/sequentialPipeline.js.map +1 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +46 -0
- package/dist/setup.js.map +1 -0
- package/dist/storage/adapters/baseStorageAdapter.js +349 -0
- package/dist/storage/adapters/baseStorageAdapter.js.map +1 -0
- package/dist/storage/adapters/batchS3Operations.js +287 -0
- package/dist/storage/adapters/batchS3Operations.js.map +1 -0
- package/dist/storage/adapters/fileSystemStorage.js +846 -0
- package/dist/storage/adapters/fileSystemStorage.js.map +1 -0
- package/dist/storage/adapters/memoryStorage.js +532 -0
- package/dist/storage/adapters/memoryStorage.js.map +1 -0
- package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
- package/dist/storage/adapters/opfsStorage.js +1118 -0
- package/dist/storage/adapters/opfsStorage.js.map +1 -0
- package/dist/storage/adapters/optimizedS3Search.js +248 -0
- package/dist/storage/adapters/optimizedS3Search.js.map +1 -0
- package/dist/storage/adapters/s3CompatibleStorage.js +2026 -0
- package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -0
- package/dist/storage/baseStorage.js +603 -0
- package/dist/storage/baseStorage.js.map +1 -0
- package/dist/storage/cacheManager.js +1306 -0
- package/dist/storage/cacheManager.js.map +1 -0
- package/dist/storage/enhancedCacheManager.js +520 -0
- package/dist/storage/enhancedCacheManager.js.map +1 -0
- package/dist/storage/readOnlyOptimizations.js +425 -0
- package/dist/storage/readOnlyOptimizations.js.map +1 -0
- package/dist/storage/storageFactory.d.ts +0 -1
- package/dist/storage/storageFactory.d.ts.map +1 -1
- package/dist/storage/storageFactory.js +227 -0
- package/dist/storage/storageFactory.js.map +1 -0
- package/dist/types/augmentations.js +16 -0
- package/dist/types/augmentations.js.map +1 -0
- package/dist/types/brainyDataInterface.js +8 -0
- package/dist/types/brainyDataInterface.js.map +1 -0
- package/dist/types/distributedTypes.js +6 -0
- package/dist/types/distributedTypes.js.map +1 -0
- package/dist/types/fileSystemTypes.js +8 -0
- package/dist/types/fileSystemTypes.js.map +1 -0
- package/dist/types/graphTypes.js +247 -0
- package/dist/types/graphTypes.js.map +1 -0
- package/dist/types/mcpTypes.js +22 -0
- package/dist/types/mcpTypes.js.map +1 -0
- package/dist/types/paginationTypes.js +5 -0
- package/dist/types/paginationTypes.js.map +1 -0
- package/dist/types/pipelineTypes.js +7 -0
- package/dist/types/pipelineTypes.js.map +1 -0
- package/dist/types/tensorflowTypes.js +6 -0
- package/dist/types/tensorflowTypes.js.map +1 -0
- package/dist/unified.d.ts.map +1 -0
- package/dist/unified.js +52 -128251
- package/dist/unified.js.map +1 -0
- package/dist/utils/autoConfiguration.js +341 -0
- package/dist/utils/autoConfiguration.js.map +1 -0
- package/dist/utils/cacheAutoConfig.js +261 -0
- package/dist/utils/cacheAutoConfig.js.map +1 -0
- package/dist/utils/crypto.js +45 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/distance.js +239 -0
- package/dist/utils/distance.js.map +1 -0
- package/dist/utils/embedding.d.ts.map +1 -1
- package/dist/utils/embedding.js +702 -0
- package/dist/utils/embedding.js.map +1 -0
- package/dist/utils/environment.js +75 -0
- package/dist/utils/environment.js.map +1 -0
- package/dist/utils/fieldNameTracking.js +90 -0
- package/dist/utils/fieldNameTracking.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/jsonProcessing.js +179 -0
- package/dist/utils/jsonProcessing.js.map +1 -0
- package/dist/utils/logger.js +129 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/operationUtils.js +126 -0
- package/dist/utils/operationUtils.js.map +1 -0
- package/dist/utils/robustModelLoader.d.ts +14 -0
- package/dist/utils/robustModelLoader.d.ts.map +1 -1
- package/dist/utils/robustModelLoader.js +537 -0
- package/dist/utils/robustModelLoader.js.map +1 -0
- package/dist/utils/searchCache.js +248 -0
- package/dist/utils/searchCache.js.map +1 -0
- package/dist/utils/statistics.js +25 -0
- package/dist/utils/statistics.js.map +1 -0
- package/dist/utils/statisticsCollector.js +224 -0
- package/dist/utils/statisticsCollector.js.map +1 -0
- package/dist/utils/textEncoding.js +309 -0
- package/dist/utils/textEncoding.js.map +1 -0
- package/dist/utils/typeUtils.js +40 -0
- package/dist/utils/typeUtils.js.map +1 -0
- package/dist/utils/version.d.ts +15 -3
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +24 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/utils/workerUtils.js +458 -0
- package/dist/utils/workerUtils.js.map +1 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +54 -0
- package/dist/worker.js.map +1 -0
- package/package.json +30 -29
- package/dist/brainy.js +0 -90220
- package/dist/brainy.min.js +0 -12511
- package/dist/patched-platform-node.d.ts +0 -17
- package/dist/statistics/statisticsManager.d.ts +0 -121
- package/dist/storage/fileSystemStorage.d.ts +0 -73
- package/dist/storage/fileSystemStorage.d.ts.map +0 -1
- package/dist/storage/opfsStorage.d.ts +0 -236
- package/dist/storage/opfsStorage.d.ts.map +0 -1
- package/dist/storage/s3CompatibleStorage.d.ts +0 -157
- package/dist/storage/s3CompatibleStorage.d.ts.map +0 -1
- package/dist/testing/prettyReporter.d.ts +0 -23
- package/dist/testing/prettySummaryReporter.d.ts +0 -22
- package/dist/unified.min.js +0 -16153
- package/dist/utils/environmentDetection.d.ts +0 -47
- package/dist/utils/environmentDetection.d.ts.map +0 -1
- package/dist/utils/tensorflowUtils.d.ts +0 -17
- package/dist/utils/tensorflowUtils.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/utils/embedding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for environment detection
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Check if code is running in a browser environment
|
|
6
|
+
*/
|
|
7
|
+
export function isBrowser() {
|
|
8
|
+
return typeof window !== 'undefined' && typeof document !== 'undefined';
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Check if code is running in a Node.js environment
|
|
12
|
+
*/
|
|
13
|
+
export function isNode() {
|
|
14
|
+
// If browser environment is detected, prioritize it over Node.js
|
|
15
|
+
// This handles cases like jsdom where both window and process exist
|
|
16
|
+
if (isBrowser()) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
return (typeof process !== 'undefined' &&
|
|
20
|
+
process.versions != null &&
|
|
21
|
+
process.versions.node != null);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Check if code is running in a Web Worker environment
|
|
25
|
+
*/
|
|
26
|
+
export function isWebWorker() {
|
|
27
|
+
return (typeof self === 'object' &&
|
|
28
|
+
self.constructor &&
|
|
29
|
+
self.constructor.name === 'DedicatedWorkerGlobalScope');
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Check if Web Workers are available in the current environment
|
|
33
|
+
*/
|
|
34
|
+
export function areWebWorkersAvailable() {
|
|
35
|
+
return isBrowser() && typeof Worker !== 'undefined';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Check if Worker Threads are available in the current environment (Node.js)
|
|
39
|
+
*/
|
|
40
|
+
export async function areWorkerThreadsAvailable() {
|
|
41
|
+
if (!isNode())
|
|
42
|
+
return false;
|
|
43
|
+
try {
|
|
44
|
+
// Use dynamic import to avoid errors in browser environments
|
|
45
|
+
await import('worker_threads');
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Synchronous version that doesn't actually try to load the module
|
|
54
|
+
* This is safer in ES module environments
|
|
55
|
+
*/
|
|
56
|
+
export function areWorkerThreadsAvailableSync() {
|
|
57
|
+
if (!isNode())
|
|
58
|
+
return false;
|
|
59
|
+
// In Node.js 24.4.0+, worker_threads is always available
|
|
60
|
+
return parseInt(process.versions.node.split('.')[0]) >= 24;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Determine if threading is available in the current environment
|
|
64
|
+
* Returns true if either Web Workers (browser) or Worker Threads (Node.js) are available
|
|
65
|
+
*/
|
|
66
|
+
export function isThreadingAvailable() {
|
|
67
|
+
return areWebWorkersAvailable() || areWorkerThreadsAvailableSync();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Async version of isThreadingAvailable
|
|
71
|
+
*/
|
|
72
|
+
export async function isThreadingAvailableAsync() {
|
|
73
|
+
return areWebWorkersAvailable() || (await areWorkerThreadsAvailable());
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/utils/environment.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,CAAA;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,iEAAiE;IACjE,oEAAoE;IACpE,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,CACL,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,CAAC,QAAQ,IAAI,IAAI;QACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAC9B,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,CAAC,WAAW;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,4BAA4B,CACvD,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,SAAS,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,CAAA;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,IAAI,CAAC,MAAM,EAAE;QAAE,OAAO,KAAK,CAAA;IAE3B,IAAI,CAAC;QACH,6DAA6D;QAC7D,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,IAAI,CAAC,MAAM,EAAE;QAAE,OAAO,KAAK,CAAA;IAE3B,yDAAyD;IACzD,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,sBAAsB,EAAE,IAAI,6BAA6B,EAAE,CAAA;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,OAAO,sBAAsB,EAAE,IAAI,CAAC,MAAM,yBAAyB,EAAE,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for tracking and managing field names in JSON documents
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Extracts field names from a JSON document
|
|
6
|
+
* @param jsonObject The JSON object to extract field names from
|
|
7
|
+
* @param options Configuration options
|
|
8
|
+
* @returns An array of field paths (e.g., "user.name", "addresses[0].city")
|
|
9
|
+
*/
|
|
10
|
+
export function extractFieldNamesFromJson(jsonObject, options = {}) {
|
|
11
|
+
const { maxDepth = 5, currentDepth = 0, currentPath = '', fieldNames = new Set() } = options;
|
|
12
|
+
if (jsonObject === null ||
|
|
13
|
+
jsonObject === undefined ||
|
|
14
|
+
typeof jsonObject !== 'object' ||
|
|
15
|
+
currentDepth >= maxDepth) {
|
|
16
|
+
return Array.from(fieldNames);
|
|
17
|
+
}
|
|
18
|
+
if (Array.isArray(jsonObject)) {
|
|
19
|
+
// For arrays, we'll just check the first item to avoid explosion of paths
|
|
20
|
+
if (jsonObject.length > 0) {
|
|
21
|
+
const arrayPath = currentPath ? `${currentPath}[0]` : '[0]';
|
|
22
|
+
extractFieldNamesFromJson(jsonObject[0], {
|
|
23
|
+
maxDepth,
|
|
24
|
+
currentDepth: currentDepth + 1,
|
|
25
|
+
currentPath: arrayPath,
|
|
26
|
+
fieldNames
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
// For objects, process each property
|
|
32
|
+
for (const key of Object.keys(jsonObject)) {
|
|
33
|
+
const value = jsonObject[key];
|
|
34
|
+
const fieldPath = currentPath ? `${currentPath}.${key}` : key;
|
|
35
|
+
// Add this field path
|
|
36
|
+
fieldNames.add(fieldPath);
|
|
37
|
+
// Recursively process nested objects
|
|
38
|
+
if (typeof value === 'object' && value !== null) {
|
|
39
|
+
extractFieldNamesFromJson(value, {
|
|
40
|
+
maxDepth,
|
|
41
|
+
currentDepth: currentDepth + 1,
|
|
42
|
+
currentPath: fieldPath,
|
|
43
|
+
fieldNames
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return Array.from(fieldNames);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Maps field names to standard field names based on common patterns
|
|
52
|
+
* @param fieldName The field name to map
|
|
53
|
+
* @returns The standard field name if a match is found, or null if no match
|
|
54
|
+
*/
|
|
55
|
+
export function mapToStandardField(fieldName) {
|
|
56
|
+
// Standard field mappings
|
|
57
|
+
const standardMappings = {
|
|
58
|
+
'title': ['title', 'name', 'headline', 'subject'],
|
|
59
|
+
'description': ['description', 'summary', 'content', 'text', 'body'],
|
|
60
|
+
'author': ['author', 'creator', 'user', 'owner', 'by'],
|
|
61
|
+
'date': ['date', 'created', 'createdAt', 'timestamp', 'published'],
|
|
62
|
+
'url': ['url', 'link', 'href', 'source'],
|
|
63
|
+
'image': ['image', 'thumbnail', 'photo', 'picture'],
|
|
64
|
+
'tags': ['tags', 'categories', 'keywords', 'topics']
|
|
65
|
+
};
|
|
66
|
+
// Check for matches
|
|
67
|
+
for (const [standardField, possibleMatches] of Object.entries(standardMappings)) {
|
|
68
|
+
// Exact match
|
|
69
|
+
if (possibleMatches.includes(fieldName)) {
|
|
70
|
+
return standardField;
|
|
71
|
+
}
|
|
72
|
+
// Path match (e.g., "user.name" matches "name")
|
|
73
|
+
const parts = fieldName.split('.');
|
|
74
|
+
const lastPart = parts[parts.length - 1];
|
|
75
|
+
if (possibleMatches.includes(lastPart)) {
|
|
76
|
+
return standardField;
|
|
77
|
+
}
|
|
78
|
+
// Array match (e.g., "items[0].name" matches "name")
|
|
79
|
+
if (fieldName.includes('[')) {
|
|
80
|
+
for (const part of parts) {
|
|
81
|
+
const cleanPart = part.split('[')[0];
|
|
82
|
+
if (possibleMatches.includes(cleanPart)) {
|
|
83
|
+
return standardField;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=fieldNameTracking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldNameTracking.js","sourceRoot":"","sources":["../../src/utils/fieldNameTracking.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './distance.js';
|
|
2
|
+
export * from './embedding.js';
|
|
3
|
+
export * from './workerUtils.js';
|
|
4
|
+
export * from './statistics.js';
|
|
5
|
+
export * from './jsonProcessing.js';
|
|
6
|
+
export * from './fieldNameTracking.js';
|
|
7
|
+
export * from './version.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for processing JSON documents for vectorization and search
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Extracts text from a JSON object for vectorization
|
|
6
|
+
* This function recursively processes the JSON object and extracts text from all fields
|
|
7
|
+
* It can also prioritize specific fields if provided
|
|
8
|
+
*
|
|
9
|
+
* @param jsonObject The JSON object to extract text from
|
|
10
|
+
* @param options Configuration options for text extraction
|
|
11
|
+
* @returns A string containing the extracted text
|
|
12
|
+
*/
|
|
13
|
+
export function extractTextFromJson(jsonObject, options = {}) {
|
|
14
|
+
// Set default options
|
|
15
|
+
const { priorityFields = [], excludeFields = [], includeFieldNames = true, maxDepth = 5, currentDepth = 0, fieldPath = [] } = options;
|
|
16
|
+
// If input is not an object or array, or we've reached max depth, return as string
|
|
17
|
+
if (jsonObject === null ||
|
|
18
|
+
jsonObject === undefined ||
|
|
19
|
+
typeof jsonObject !== 'object' ||
|
|
20
|
+
currentDepth >= maxDepth) {
|
|
21
|
+
return String(jsonObject || '');
|
|
22
|
+
}
|
|
23
|
+
const extractedText = [];
|
|
24
|
+
const priorityText = [];
|
|
25
|
+
// Process arrays
|
|
26
|
+
if (Array.isArray(jsonObject)) {
|
|
27
|
+
for (let i = 0; i < jsonObject.length; i++) {
|
|
28
|
+
const value = jsonObject[i];
|
|
29
|
+
const newPath = [...fieldPath, i.toString()];
|
|
30
|
+
// Recursively extract text from array items
|
|
31
|
+
const itemText = extractTextFromJson(value, {
|
|
32
|
+
priorityFields,
|
|
33
|
+
excludeFields,
|
|
34
|
+
includeFieldNames,
|
|
35
|
+
maxDepth,
|
|
36
|
+
currentDepth: currentDepth + 1,
|
|
37
|
+
fieldPath: newPath
|
|
38
|
+
});
|
|
39
|
+
if (itemText) {
|
|
40
|
+
extractedText.push(itemText);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Process objects
|
|
45
|
+
else {
|
|
46
|
+
for (const [key, value] of Object.entries(jsonObject)) {
|
|
47
|
+
// Skip excluded fields
|
|
48
|
+
if (excludeFields.includes(key)) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const newPath = [...fieldPath, key];
|
|
52
|
+
const fullPath = newPath.join('.');
|
|
53
|
+
// Check if this is a priority field
|
|
54
|
+
const isPriority = priorityFields.some(field => {
|
|
55
|
+
// Exact match
|
|
56
|
+
if (field === key)
|
|
57
|
+
return true;
|
|
58
|
+
// Path match
|
|
59
|
+
if (field === fullPath)
|
|
60
|
+
return true;
|
|
61
|
+
// Wildcard match (e.g., "user.*" matches "user.name", "user.email", etc.)
|
|
62
|
+
if (field.endsWith('.*') && fullPath.startsWith(field.slice(0, -2)))
|
|
63
|
+
return true;
|
|
64
|
+
return false;
|
|
65
|
+
});
|
|
66
|
+
// Get the field value as text
|
|
67
|
+
let fieldText;
|
|
68
|
+
if (typeof value === 'object' && value !== null) {
|
|
69
|
+
// Recursively extract text from nested objects
|
|
70
|
+
fieldText = extractTextFromJson(value, {
|
|
71
|
+
priorityFields,
|
|
72
|
+
excludeFields,
|
|
73
|
+
includeFieldNames,
|
|
74
|
+
maxDepth,
|
|
75
|
+
currentDepth: currentDepth + 1,
|
|
76
|
+
fieldPath: newPath
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
fieldText = String(value || '');
|
|
81
|
+
}
|
|
82
|
+
// Add field name if requested
|
|
83
|
+
if (includeFieldNames && fieldText) {
|
|
84
|
+
fieldText = `${key}: ${fieldText}`;
|
|
85
|
+
}
|
|
86
|
+
// Add to appropriate collection
|
|
87
|
+
if (fieldText) {
|
|
88
|
+
if (isPriority) {
|
|
89
|
+
priorityText.push(fieldText);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
extractedText.push(fieldText);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// Combine priority text (repeated for emphasis) and regular text
|
|
98
|
+
return [...priorityText, ...priorityText, ...extractedText].join(' ');
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Prepares a JSON document for vectorization
|
|
102
|
+
* This function extracts text from the JSON document and formats it for optimal vectorization
|
|
103
|
+
*
|
|
104
|
+
* @param jsonDocument The JSON document to prepare
|
|
105
|
+
* @param options Configuration options for preparation
|
|
106
|
+
* @returns A string ready for vectorization
|
|
107
|
+
*/
|
|
108
|
+
export function prepareJsonForVectorization(jsonDocument, options = {}) {
|
|
109
|
+
// If input is a string, try to parse it as JSON
|
|
110
|
+
let document = jsonDocument;
|
|
111
|
+
if (typeof jsonDocument === 'string') {
|
|
112
|
+
try {
|
|
113
|
+
document = JSON.parse(jsonDocument);
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
// If parsing fails, treat it as a plain string
|
|
117
|
+
return jsonDocument;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// If not an object after parsing, return as is
|
|
121
|
+
if (typeof document !== 'object' || document === null) {
|
|
122
|
+
return String(document || '');
|
|
123
|
+
}
|
|
124
|
+
// Extract text from the document
|
|
125
|
+
return extractTextFromJson(document, options);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Extracts text from a specific field in a JSON document
|
|
129
|
+
* This is useful for searching within specific fields
|
|
130
|
+
*
|
|
131
|
+
* @param jsonDocument The JSON document to extract from
|
|
132
|
+
* @param fieldPath The path to the field (e.g., "user.name" or "addresses[0].city")
|
|
133
|
+
* @returns The extracted text or empty string if field not found
|
|
134
|
+
*/
|
|
135
|
+
export function extractFieldFromJson(jsonDocument, fieldPath) {
|
|
136
|
+
// If input is a string, try to parse it as JSON
|
|
137
|
+
let document = jsonDocument;
|
|
138
|
+
if (typeof jsonDocument === 'string') {
|
|
139
|
+
try {
|
|
140
|
+
document = JSON.parse(jsonDocument);
|
|
141
|
+
}
|
|
142
|
+
catch (e) {
|
|
143
|
+
// If parsing fails, return empty string
|
|
144
|
+
return '';
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// If not an object after parsing, return empty string
|
|
148
|
+
if (typeof document !== 'object' || document === null) {
|
|
149
|
+
return '';
|
|
150
|
+
}
|
|
151
|
+
// Parse the field path
|
|
152
|
+
const parts = fieldPath.split('.');
|
|
153
|
+
let current = document;
|
|
154
|
+
// Navigate through the path
|
|
155
|
+
for (const part of parts) {
|
|
156
|
+
// Handle array indexing (e.g., "addresses[0]")
|
|
157
|
+
const match = part.match(/^([^[]+)(?:\[(\d+)\])?$/);
|
|
158
|
+
if (!match) {
|
|
159
|
+
return '';
|
|
160
|
+
}
|
|
161
|
+
const [, key, indexStr] = match;
|
|
162
|
+
// Move to the next level
|
|
163
|
+
current = current[key];
|
|
164
|
+
// If we have an array index, access that element
|
|
165
|
+
if (indexStr !== undefined && Array.isArray(current)) {
|
|
166
|
+
const index = parseInt(indexStr, 10);
|
|
167
|
+
current = current[index];
|
|
168
|
+
}
|
|
169
|
+
// If we've reached a null or undefined value, return empty string
|
|
170
|
+
if (current === null || current === undefined) {
|
|
171
|
+
return '';
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Convert the final value to string
|
|
175
|
+
return typeof current === 'object'
|
|
176
|
+
? JSON.stringify(current)
|
|
177
|
+
: String(current);
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=jsonProcessing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonProcessing.js","sourceRoot":"","sources":["../../src/utils/jsonProcessing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized logging utility for Brainy
|
|
3
|
+
* Provides configurable log levels and consistent logging across the codebase
|
|
4
|
+
*/
|
|
5
|
+
export var LogLevel;
|
|
6
|
+
(function (LogLevel) {
|
|
7
|
+
LogLevel[LogLevel["ERROR"] = 0] = "ERROR";
|
|
8
|
+
LogLevel[LogLevel["WARN"] = 1] = "WARN";
|
|
9
|
+
LogLevel[LogLevel["INFO"] = 2] = "INFO";
|
|
10
|
+
LogLevel[LogLevel["DEBUG"] = 3] = "DEBUG";
|
|
11
|
+
LogLevel[LogLevel["TRACE"] = 4] = "TRACE";
|
|
12
|
+
})(LogLevel || (LogLevel = {}));
|
|
13
|
+
class Logger {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.config = {
|
|
16
|
+
level: LogLevel.WARN, // Default to WARN - only critical messages
|
|
17
|
+
timestamps: true,
|
|
18
|
+
includeModule: true
|
|
19
|
+
};
|
|
20
|
+
// Set log level from environment variable if available
|
|
21
|
+
const envLogLevel = process.env.BRAINY_LOG_LEVEL;
|
|
22
|
+
if (envLogLevel) {
|
|
23
|
+
const level = LogLevel[envLogLevel.toUpperCase()];
|
|
24
|
+
if (level !== undefined) {
|
|
25
|
+
this.config.level = level;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Parse module-specific log levels
|
|
29
|
+
const moduleLogLevels = process.env.BRAINY_MODULE_LOG_LEVELS;
|
|
30
|
+
if (moduleLogLevels) {
|
|
31
|
+
try {
|
|
32
|
+
this.config.modules = JSON.parse(moduleLogLevels);
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
// Ignore parsing errors
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
static getInstance() {
|
|
40
|
+
if (!Logger.instance) {
|
|
41
|
+
Logger.instance = new Logger();
|
|
42
|
+
}
|
|
43
|
+
return Logger.instance;
|
|
44
|
+
}
|
|
45
|
+
configure(config) {
|
|
46
|
+
this.config = { ...this.config, ...config };
|
|
47
|
+
}
|
|
48
|
+
shouldLog(level, module) {
|
|
49
|
+
// Check module-specific level first
|
|
50
|
+
if (this.config.modules && this.config.modules[module] !== undefined) {
|
|
51
|
+
return level <= this.config.modules[module];
|
|
52
|
+
}
|
|
53
|
+
// Otherwise use global level
|
|
54
|
+
return level <= this.config.level;
|
|
55
|
+
}
|
|
56
|
+
formatMessage(level, module, message) {
|
|
57
|
+
const parts = [];
|
|
58
|
+
if (this.config.timestamps) {
|
|
59
|
+
parts.push(`[${new Date().toISOString()}]`);
|
|
60
|
+
}
|
|
61
|
+
parts.push(`[${LogLevel[level]}]`);
|
|
62
|
+
if (this.config.includeModule) {
|
|
63
|
+
parts.push(`[${module}]`);
|
|
64
|
+
}
|
|
65
|
+
parts.push(message);
|
|
66
|
+
return parts.join(' ');
|
|
67
|
+
}
|
|
68
|
+
log(level, module, message, ...args) {
|
|
69
|
+
if (!this.shouldLog(level, module)) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (this.config.handler) {
|
|
73
|
+
this.config.handler(level, module, message, ...args);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const formattedMessage = this.formatMessage(level, module, message);
|
|
77
|
+
switch (level) {
|
|
78
|
+
case LogLevel.ERROR:
|
|
79
|
+
console.error(formattedMessage, ...args);
|
|
80
|
+
break;
|
|
81
|
+
case LogLevel.WARN:
|
|
82
|
+
console.warn(formattedMessage, ...args);
|
|
83
|
+
break;
|
|
84
|
+
case LogLevel.INFO:
|
|
85
|
+
console.info(formattedMessage, ...args);
|
|
86
|
+
break;
|
|
87
|
+
case LogLevel.DEBUG:
|
|
88
|
+
case LogLevel.TRACE:
|
|
89
|
+
console.log(formattedMessage, ...args);
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
error(module, message, ...args) {
|
|
94
|
+
this.log(LogLevel.ERROR, module, message, ...args);
|
|
95
|
+
}
|
|
96
|
+
warn(module, message, ...args) {
|
|
97
|
+
this.log(LogLevel.WARN, module, message, ...args);
|
|
98
|
+
}
|
|
99
|
+
info(module, message, ...args) {
|
|
100
|
+
this.log(LogLevel.INFO, module, message, ...args);
|
|
101
|
+
}
|
|
102
|
+
debug(module, message, ...args) {
|
|
103
|
+
this.log(LogLevel.DEBUG, module, message, ...args);
|
|
104
|
+
}
|
|
105
|
+
trace(module, message, ...args) {
|
|
106
|
+
this.log(LogLevel.TRACE, module, message, ...args);
|
|
107
|
+
}
|
|
108
|
+
// Create a module-specific logger
|
|
109
|
+
createModuleLogger(module) {
|
|
110
|
+
return {
|
|
111
|
+
error: (message, ...args) => this.error(module, message, ...args),
|
|
112
|
+
warn: (message, ...args) => this.warn(module, message, ...args),
|
|
113
|
+
info: (message, ...args) => this.info(module, message, ...args),
|
|
114
|
+
debug: (message, ...args) => this.debug(module, message, ...args),
|
|
115
|
+
trace: (message, ...args) => this.trace(module, message, ...args)
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Export singleton instance
|
|
120
|
+
export const logger = Logger.getInstance();
|
|
121
|
+
// Export convenience function for creating module loggers
|
|
122
|
+
export function createModuleLogger(module) {
|
|
123
|
+
return logger.createModuleLogger(module);
|
|
124
|
+
}
|
|
125
|
+
// Export function to configure logger
|
|
126
|
+
export function configureLogger(config) {
|
|
127
|
+
logger.configure(config);
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|