@soulcraft/brainy 0.40.0 → 0.43.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.
Files changed (152) hide show
  1. package/README.md +605 -194
  2. package/dist/augmentations/conduitAugmentations.js +1158 -0
  3. package/dist/augmentations/conduitAugmentations.js.map +1 -0
  4. package/dist/augmentations/memoryAugmentations.d.ts +2 -0
  5. package/dist/augmentations/memoryAugmentations.d.ts.map +1 -1
  6. package/dist/augmentations/memoryAugmentations.js +270 -0
  7. package/dist/augmentations/memoryAugmentations.js.map +1 -0
  8. package/dist/augmentations/serverSearchAugmentations.js +531 -0
  9. package/dist/augmentations/serverSearchAugmentations.js.map +1 -0
  10. package/dist/browserFramework.d.ts +15 -0
  11. package/dist/demo.d.ts +106 -0
  12. package/dist/examples/basicUsage.js +118 -0
  13. package/dist/examples/basicUsage.js.map +1 -0
  14. package/dist/hnsw/distributedSearch.js +452 -0
  15. package/dist/hnsw/distributedSearch.js.map +1 -0
  16. package/dist/hnsw/hnswIndex.js +602 -0
  17. package/dist/hnsw/hnswIndex.js.map +1 -0
  18. package/dist/hnsw/hnswIndexOptimized.js +471 -0
  19. package/dist/hnsw/hnswIndexOptimized.js.map +1 -0
  20. package/dist/hnsw/optimizedHNSWIndex.js +313 -0
  21. package/dist/hnsw/optimizedHNSWIndex.js.map +1 -0
  22. package/dist/hnsw/partitionedHNSWIndex.js +304 -0
  23. package/dist/hnsw/partitionedHNSWIndex.js.map +1 -0
  24. package/dist/hnsw/scaledHNSWSystem.js +559 -0
  25. package/dist/hnsw/scaledHNSWSystem.js.map +1 -0
  26. package/dist/index.d.ts +5 -3
  27. package/dist/index.js +81 -0
  28. package/dist/mcp/brainyMCPAdapter.js +142 -0
  29. package/dist/mcp/brainyMCPAdapter.js.map +1 -0
  30. package/dist/mcp/brainyMCPService.js +248 -0
  31. package/dist/mcp/brainyMCPService.js.map +1 -0
  32. package/dist/mcp/index.js +17 -0
  33. package/dist/mcp/index.js.map +1 -0
  34. package/dist/mcp/mcpAugmentationToolset.js +180 -0
  35. package/dist/mcp/mcpAugmentationToolset.js.map +1 -0
  36. package/dist/storage/adapters/baseStorageAdapter.js +349 -0
  37. package/dist/storage/adapters/baseStorageAdapter.js.map +1 -0
  38. package/dist/storage/adapters/batchS3Operations.js +287 -0
  39. package/dist/storage/adapters/batchS3Operations.js.map +1 -0
  40. package/dist/storage/adapters/fileSystemStorage.js +846 -0
  41. package/dist/storage/adapters/fileSystemStorage.js.map +1 -0
  42. package/dist/storage/adapters/memoryStorage.js +532 -0
  43. package/dist/storage/adapters/memoryStorage.js.map +1 -0
  44. package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
  45. package/dist/storage/adapters/opfsStorage.js +1118 -0
  46. package/dist/storage/adapters/opfsStorage.js.map +1 -0
  47. package/dist/storage/adapters/optimizedS3Search.d.ts +79 -0
  48. package/dist/storage/adapters/optimizedS3Search.d.ts.map +1 -0
  49. package/dist/storage/adapters/optimizedS3Search.js +248 -0
  50. package/dist/storage/adapters/optimizedS3Search.js.map +1 -0
  51. package/dist/storage/adapters/s3CompatibleStorage.d.ts +21 -0
  52. package/dist/storage/adapters/s3CompatibleStorage.d.ts.map +1 -1
  53. package/dist/storage/adapters/s3CompatibleStorage.js +2026 -0
  54. package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -0
  55. package/dist/storage/baseStorage.d.ts +1 -0
  56. package/dist/storage/baseStorage.d.ts.map +1 -1
  57. package/dist/storage/baseStorage.js +603 -0
  58. package/dist/storage/baseStorage.js.map +1 -0
  59. package/dist/storage/cacheManager.js +1306 -0
  60. package/dist/storage/cacheManager.js.map +1 -0
  61. package/dist/storage/enhancedCacheManager.js +520 -0
  62. package/dist/storage/enhancedCacheManager.js.map +1 -0
  63. package/dist/storage/readOnlyOptimizations.js +425 -0
  64. package/dist/storage/readOnlyOptimizations.js.map +1 -0
  65. package/dist/storage/storageFactory.d.ts +0 -1
  66. package/dist/storage/storageFactory.d.ts.map +1 -1
  67. package/dist/storage/storageFactory.js +227 -0
  68. package/dist/storage/storageFactory.js.map +1 -0
  69. package/dist/types/augmentations.js +16 -0
  70. package/dist/types/augmentations.js.map +1 -0
  71. package/dist/types/brainyDataInterface.js +8 -0
  72. package/dist/types/brainyDataInterface.js.map +1 -0
  73. package/dist/types/distributedTypes.js +6 -0
  74. package/dist/types/distributedTypes.js.map +1 -0
  75. package/dist/types/fileSystemTypes.js +8 -0
  76. package/dist/types/fileSystemTypes.js.map +1 -0
  77. package/dist/types/graphTypes.js +247 -0
  78. package/dist/types/graphTypes.js.map +1 -0
  79. package/dist/types/mcpTypes.js +22 -0
  80. package/dist/types/mcpTypes.js.map +1 -0
  81. package/dist/types/paginationTypes.js +5 -0
  82. package/dist/types/paginationTypes.js.map +1 -0
  83. package/dist/types/pipelineTypes.js +7 -0
  84. package/dist/types/pipelineTypes.js.map +1 -0
  85. package/dist/types/tensorflowTypes.js +6 -0
  86. package/dist/types/tensorflowTypes.js.map +1 -0
  87. package/dist/unified.js +52 -128048
  88. package/dist/utils/autoConfiguration.js +341 -0
  89. package/dist/utils/autoConfiguration.js.map +1 -0
  90. package/dist/utils/cacheAutoConfig.js +261 -0
  91. package/dist/utils/cacheAutoConfig.js.map +1 -0
  92. package/dist/utils/crypto.js +45 -0
  93. package/dist/utils/crypto.js.map +1 -0
  94. package/dist/utils/distance.js +239 -0
  95. package/dist/utils/distance.js.map +1 -0
  96. package/dist/utils/embedding.d.ts.map +1 -1
  97. package/dist/utils/embedding.js +702 -0
  98. package/dist/utils/embedding.js.map +1 -0
  99. package/dist/utils/environment.js +75 -0
  100. package/dist/utils/environment.js.map +1 -0
  101. package/dist/utils/fieldNameTracking.js +90 -0
  102. package/dist/utils/fieldNameTracking.js.map +1 -0
  103. package/dist/utils/index.d.ts +1 -0
  104. package/dist/utils/index.d.ts.map +1 -1
  105. package/dist/utils/index.js +8 -0
  106. package/dist/utils/index.js.map +1 -0
  107. package/dist/utils/jsonProcessing.js +179 -0
  108. package/dist/utils/jsonProcessing.js.map +1 -0
  109. package/dist/utils/logger.d.ts +45 -92
  110. package/dist/utils/logger.d.ts.map +1 -1
  111. package/dist/utils/logger.js +129 -0
  112. package/dist/utils/logger.js.map +1 -0
  113. package/dist/utils/operationUtils.js +126 -0
  114. package/dist/utils/operationUtils.js.map +1 -0
  115. package/dist/utils/robustModelLoader.d.ts +14 -0
  116. package/dist/utils/robustModelLoader.d.ts.map +1 -1
  117. package/dist/utils/robustModelLoader.js +537 -0
  118. package/dist/utils/robustModelLoader.js.map +1 -0
  119. package/dist/utils/searchCache.js +248 -0
  120. package/dist/utils/searchCache.js.map +1 -0
  121. package/dist/utils/statistics.js +25 -0
  122. package/dist/utils/statistics.js.map +1 -0
  123. package/dist/utils/statisticsCollector.js +224 -0
  124. package/dist/utils/statisticsCollector.js.map +1 -0
  125. package/dist/utils/textEncoding.js +309 -0
  126. package/dist/utils/textEncoding.js.map +1 -0
  127. package/dist/utils/typeUtils.js +40 -0
  128. package/dist/utils/typeUtils.js.map +1 -0
  129. package/dist/utils/version.d.ts +15 -3
  130. package/dist/utils/version.d.ts.map +1 -1
  131. package/dist/utils/version.js +24 -0
  132. package/dist/utils/version.js.map +1 -0
  133. package/dist/utils/workerUtils.js +458 -0
  134. package/dist/utils/workerUtils.js.map +1 -0
  135. package/package.json +23 -15
  136. package/dist/brainy.js +0 -90220
  137. package/dist/brainy.min.js +0 -12511
  138. package/dist/patched-platform-node.d.ts +0 -17
  139. package/dist/statistics/statisticsManager.d.ts +0 -121
  140. package/dist/storage/fileSystemStorage.d.ts +0 -73
  141. package/dist/storage/fileSystemStorage.d.ts.map +0 -1
  142. package/dist/storage/opfsStorage.d.ts +0 -236
  143. package/dist/storage/opfsStorage.d.ts.map +0 -1
  144. package/dist/storage/s3CompatibleStorage.d.ts +0 -157
  145. package/dist/storage/s3CompatibleStorage.d.ts.map +0 -1
  146. package/dist/testing/prettyReporter.d.ts +0 -23
  147. package/dist/testing/prettySummaryReporter.d.ts +0 -22
  148. package/dist/unified.min.js +0 -16153
  149. package/dist/utils/environmentDetection.d.ts +0 -47
  150. package/dist/utils/environmentDetection.d.ts.map +0 -1
  151. package/dist/utils/tensorflowUtils.d.ts +0 -17
  152. 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":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAe,EACf,UAKI,EAAE;IAEN,MAAM,EACJ,QAAQ,GAAG,CAAC,EACZ,YAAY,GAAG,CAAC,EAChB,WAAW,GAAG,EAAE,EAChB,UAAU,GAAG,IAAI,GAAG,EAAU,EAC/B,GAAG,OAAO,CAAA;IAEX,IACE,UAAU,KAAK,IAAI;QACnB,UAAU,KAAK,SAAS;QACxB,OAAO,UAAU,KAAK,QAAQ;QAC9B,YAAY,IAAI,QAAQ,EACxB,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,0EAA0E;QAC1E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;YAC3D,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;gBACvC,QAAQ;gBACR,YAAY,EAAE,YAAY,GAAG,CAAC;gBAC9B,WAAW,EAAE,SAAS;gBACtB,UAAU;aACX,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,qCAAqC;QACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;YAE7D,sBAAsB;YACtB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAEzB,qCAAqC;YACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,yBAAyB,CAAC,KAAK,EAAE;oBAC/B,QAAQ;oBACR,YAAY,EAAE,YAAY,GAAG,CAAC;oBAC9B,WAAW,EAAE,SAAS;oBACtB,UAAU;iBACX,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,0BAA0B;IAC1B,MAAM,gBAAgB,GAA6B;QACjD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC;QACjD,aAAa,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;QACpE,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QACtD,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;QAClE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QACxC,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC;QACnD,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC;KACrD,CAAA;IAED,oBAAoB;IACpB,KAAK,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChF,cAAc;QACd,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,OAAO,aAAa,CAAA;QACtB,CAAC;QAED,gDAAgD;QAChD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,aAAa,CAAA;QACtB,CAAC;QAED,qDAAqD;QACrD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpC,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxC,OAAO,aAAa,CAAA;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -4,3 +4,4 @@ export * from './workerUtils.js';
4
4
  export * from './statistics.js';
5
5
  export * from './jsonProcessing.js';
6
6
  export * from './fieldNameTracking.js';
7
+ export * from './version.js';
@@ -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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"}
@@ -1,99 +1,52 @@
1
1
  /**
2
2
  * Centralized logging utility for Brainy
3
- *
4
- * This utility provides controlled logging that can be enabled/disabled
5
- * based on debug mode configuration. By default, all logging is disabled
6
- * unless explicitly enabled via environment variables or configuration.
7
- */
8
- /**
9
- * Logger configuration interface
10
- */
3
+ * Provides configurable log levels and consistent logging across the codebase
4
+ */
5
+ export declare enum LogLevel {
6
+ ERROR = 0,
7
+ WARN = 1,
8
+ INFO = 2,
9
+ DEBUG = 3,
10
+ TRACE = 4
11
+ }
11
12
  export interface LoggerConfig {
12
- /**
13
- * Whether debug logging is enabled
14
- * @default false
15
- */
16
- debug?: boolean;
17
- /**
18
- * Whether to show log prefixes
19
- * @default true
20
- */
21
- showPrefix?: boolean;
22
- /**
23
- * Custom prefix for log messages
24
- * @default 'Brainy'
25
- */
26
- prefix?: string;
13
+ level: LogLevel;
14
+ modules?: {
15
+ [moduleName: string]: LogLevel;
16
+ };
17
+ timestamps?: boolean;
18
+ includeModule?: boolean;
19
+ handler?: (level: LogLevel, module: string, message: string, ...args: any[]) => void;
27
20
  }
28
- /**
29
- * Configure the global logger
30
- */
31
- export declare function configureLogger(config: LoggerConfig): void;
32
- /**
33
- * Get current logger configuration
34
- */
35
- export declare function getLoggerConfig(): Required<LoggerConfig>;
36
- /**
37
- * Check if debug mode is enabled
38
- */
39
- export declare function isDebugEnabled(): boolean;
40
- /**
41
- * Controlled logging methods
42
- */
43
- export declare const logger: {
44
- /**
45
- * Log debug information (only shown when debug mode is enabled)
46
- */
47
- debug: (message: string, ...args: any[]) => void;
48
- /**
49
- * Log informational messages (only shown when debug mode is enabled)
50
- */
51
- info: (message: string, ...args: any[]) => void;
52
- /**
53
- * Log warning messages (always shown, but can be controlled)
54
- */
55
- warn: (message: string, ...args: any[]) => void;
56
- /**
57
- * Log error messages (always shown)
58
- */
21
+ declare class Logger {
22
+ private static instance;
23
+ private config;
24
+ private constructor();
25
+ static getInstance(): Logger;
26
+ configure(config: Partial<LoggerConfig>): void;
27
+ private shouldLog;
28
+ private formatMessage;
29
+ private log;
30
+ error(module: string, message: string, ...args: any[]): void;
31
+ warn(module: string, message: string, ...args: any[]): void;
32
+ info(module: string, message: string, ...args: any[]): void;
33
+ debug(module: string, message: string, ...args: any[]): void;
34
+ trace(module: string, message: string, ...args: any[]): void;
35
+ createModuleLogger(module: string): {
36
+ error: (message: string, ...args: any[]) => void;
37
+ warn: (message: string, ...args: any[]) => void;
38
+ info: (message: string, ...args: any[]) => void;
39
+ debug: (message: string, ...args: any[]) => void;
40
+ trace: (message: string, ...args: any[]) => void;
41
+ };
42
+ }
43
+ export declare const logger: Logger;
44
+ export declare function createModuleLogger(module: string): {
59
45
  error: (message: string, ...args: any[]) => void;
60
- /**
61
- * Log with custom prefix (only shown when debug mode is enabled)
62
- */
63
- debugWithPrefix: (prefix: string, message: string, ...args: any[]) => void;
64
- /**
65
- * Log info with custom prefix (only shown when debug mode is enabled)
66
- */
67
- infoWithPrefix: (prefix: string, message: string, ...args: any[]) => void;
68
- /**
69
- * Log warning with custom prefix (controlled by debug mode)
70
- */
71
- warnWithPrefix: (prefix: string, message: string, ...args: any[]) => void;
72
- /**
73
- * Log error with custom prefix (always shown)
74
- */
75
- errorWithPrefix: (prefix: string, message: string, ...args: any[]) => void;
76
- };
77
- /**
78
- * Legacy console methods for backward compatibility
79
- * These will respect the debug mode setting
80
- */
81
- export declare const debugConsole: {
82
- log: (message: string, ...args: any[]) => void;
83
- debug: (message: string, ...args: any[]) => void;
84
- info: (message: string, ...args: any[]) => void;
85
46
  warn: (message: string, ...args: any[]) => void;
86
- error: (message: string, ...args: any[]) => void;
47
+ info: (message: string, ...args: any[]) => void;
48
+ debug: (message: string, ...args: any[]) => void;
49
+ trace: (message: string, ...args: any[]) => void;
87
50
  };
88
- /**
89
- * Enable debug mode programmatically
90
- */
91
- export declare function enableDebugMode(): void;
92
- /**
93
- * Disable debug mode programmatically
94
- */
95
- export declare function disableDebugMode(): void;
96
- /**
97
- * Create a scoped logger with a specific prefix
98
- */
99
- export declare function createScopedLogger(prefix: string): typeof logger;
51
+ export declare function configureLogger(config: Partial<LoggerConfig>): void;
52
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqDD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,CAAC,YAAY,CAAC,CAExD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAeD;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB;;OAEG;qBACc,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;IAM9C;;OAEG;oBACa,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;IAM7C;;OAEG;oBACa,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;IAM7C;;OAEG;qBACc,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;IAI9C;;OAEG;8BACuB,MAAM,WAAW,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;IAMxE;;OAEG;6BACsB,MAAM,WAAW,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;IAMvE;;OAEG;6BACsB,MAAM,WAAW,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;IAMvE;;OAEG;8BACuB,MAAM,WAAW,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;CAGzE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY;mBA7DP,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;qBAT5B,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;oBAS9B,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;oBAS7B,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;qBAS5B,MAAM,WAAW,GAAG,EAAE,KAAG,IAAI;CAiD/C,CAAA;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,MAAM,CAWhE"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;CACV;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,QAAQ,CAAA;IAEf,OAAO,CAAC,EAAE;QACR,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAA;KAC/B,CAAA;IAED,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CACrF;AAED,cAAM,MAAM;IACV,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAQ;IAC/B,OAAO,CAAC,MAAM,CAIb;IAED,OAAO;IAqBP,MAAM,CAAC,WAAW,IAAI,MAAM;IAO5B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAI9C,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,GAAG;IA6BX,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI5D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3D,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI5D,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAK5D,kBAAkB,CAAC,MAAM,EAAE,MAAM;yBAEZ,MAAM,WAAW,GAAG,EAAE;wBACvB,MAAM,WAAW,GAAG,EAAE;wBACtB,MAAM,WAAW,GAAG,EAAE;yBACrB,MAAM,WAAW,GAAG,EAAE;yBACtB,MAAM,WAAW,GAAG,EAAE;;CAG5C;AAGD,eAAO,MAAM,MAAM,QAAuB,CAAA;AAG1C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM;qBAb1B,MAAM,WAAW,GAAG,EAAE;oBACvB,MAAM,WAAW,GAAG,EAAE;oBACtB,MAAM,WAAW,GAAG,EAAE;qBACrB,MAAM,WAAW,GAAG,EAAE;qBACtB,MAAM,WAAW,GAAG,EAAE;EAW5C;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,QAE5D"}