@soulcraft/brainy 0.41.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 (144) 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 +3 -2
  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.js +248 -0
  48. package/dist/storage/adapters/optimizedS3Search.js.map +1 -0
  49. package/dist/storage/adapters/s3CompatibleStorage.js +2026 -0
  50. package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -0
  51. package/dist/storage/baseStorage.js +603 -0
  52. package/dist/storage/baseStorage.js.map +1 -0
  53. package/dist/storage/cacheManager.js +1306 -0
  54. package/dist/storage/cacheManager.js.map +1 -0
  55. package/dist/storage/enhancedCacheManager.js +520 -0
  56. package/dist/storage/enhancedCacheManager.js.map +1 -0
  57. package/dist/storage/readOnlyOptimizations.js +425 -0
  58. package/dist/storage/readOnlyOptimizations.js.map +1 -0
  59. package/dist/storage/storageFactory.d.ts +0 -1
  60. package/dist/storage/storageFactory.d.ts.map +1 -1
  61. package/dist/storage/storageFactory.js +227 -0
  62. package/dist/storage/storageFactory.js.map +1 -0
  63. package/dist/types/augmentations.js +16 -0
  64. package/dist/types/augmentations.js.map +1 -0
  65. package/dist/types/brainyDataInterface.js +8 -0
  66. package/dist/types/brainyDataInterface.js.map +1 -0
  67. package/dist/types/distributedTypes.js +6 -0
  68. package/dist/types/distributedTypes.js.map +1 -0
  69. package/dist/types/fileSystemTypes.js +8 -0
  70. package/dist/types/fileSystemTypes.js.map +1 -0
  71. package/dist/types/graphTypes.js +247 -0
  72. package/dist/types/graphTypes.js.map +1 -0
  73. package/dist/types/mcpTypes.js +22 -0
  74. package/dist/types/mcpTypes.js.map +1 -0
  75. package/dist/types/paginationTypes.js +5 -0
  76. package/dist/types/paginationTypes.js.map +1 -0
  77. package/dist/types/pipelineTypes.js +7 -0
  78. package/dist/types/pipelineTypes.js.map +1 -0
  79. package/dist/types/tensorflowTypes.js +6 -0
  80. package/dist/types/tensorflowTypes.js.map +1 -0
  81. package/dist/unified.js +52 -128251
  82. package/dist/utils/autoConfiguration.js +341 -0
  83. package/dist/utils/autoConfiguration.js.map +1 -0
  84. package/dist/utils/cacheAutoConfig.js +261 -0
  85. package/dist/utils/cacheAutoConfig.js.map +1 -0
  86. package/dist/utils/crypto.js +45 -0
  87. package/dist/utils/crypto.js.map +1 -0
  88. package/dist/utils/distance.js +239 -0
  89. package/dist/utils/distance.js.map +1 -0
  90. package/dist/utils/embedding.d.ts.map +1 -1
  91. package/dist/utils/embedding.js +702 -0
  92. package/dist/utils/embedding.js.map +1 -0
  93. package/dist/utils/environment.js +75 -0
  94. package/dist/utils/environment.js.map +1 -0
  95. package/dist/utils/fieldNameTracking.js +90 -0
  96. package/dist/utils/fieldNameTracking.js.map +1 -0
  97. package/dist/utils/index.d.ts +1 -0
  98. package/dist/utils/index.d.ts.map +1 -1
  99. package/dist/utils/index.js +8 -0
  100. package/dist/utils/index.js.map +1 -0
  101. package/dist/utils/jsonProcessing.js +179 -0
  102. package/dist/utils/jsonProcessing.js.map +1 -0
  103. package/dist/utils/logger.js +129 -0
  104. package/dist/utils/logger.js.map +1 -0
  105. package/dist/utils/operationUtils.js +126 -0
  106. package/dist/utils/operationUtils.js.map +1 -0
  107. package/dist/utils/robustModelLoader.d.ts +14 -0
  108. package/dist/utils/robustModelLoader.d.ts.map +1 -1
  109. package/dist/utils/robustModelLoader.js +537 -0
  110. package/dist/utils/robustModelLoader.js.map +1 -0
  111. package/dist/utils/searchCache.js +248 -0
  112. package/dist/utils/searchCache.js.map +1 -0
  113. package/dist/utils/statistics.js +25 -0
  114. package/dist/utils/statistics.js.map +1 -0
  115. package/dist/utils/statisticsCollector.js +224 -0
  116. package/dist/utils/statisticsCollector.js.map +1 -0
  117. package/dist/utils/textEncoding.js +309 -0
  118. package/dist/utils/textEncoding.js.map +1 -0
  119. package/dist/utils/typeUtils.js +40 -0
  120. package/dist/utils/typeUtils.js.map +1 -0
  121. package/dist/utils/version.d.ts +15 -3
  122. package/dist/utils/version.d.ts.map +1 -1
  123. package/dist/utils/version.js +24 -0
  124. package/dist/utils/version.js.map +1 -0
  125. package/dist/utils/workerUtils.js +458 -0
  126. package/dist/utils/workerUtils.js.map +1 -0
  127. package/package.json +23 -18
  128. package/dist/brainy.js +0 -90220
  129. package/dist/brainy.min.js +0 -12511
  130. package/dist/patched-platform-node.d.ts +0 -17
  131. package/dist/statistics/statisticsManager.d.ts +0 -121
  132. package/dist/storage/fileSystemStorage.d.ts +0 -73
  133. package/dist/storage/fileSystemStorage.d.ts.map +0 -1
  134. package/dist/storage/opfsStorage.d.ts +0 -236
  135. package/dist/storage/opfsStorage.d.ts.map +0 -1
  136. package/dist/storage/s3CompatibleStorage.d.ts +0 -157
  137. package/dist/storage/s3CompatibleStorage.d.ts.map +0 -1
  138. package/dist/testing/prettyReporter.d.ts +0 -23
  139. package/dist/testing/prettySummaryReporter.d.ts +0 -22
  140. package/dist/unified.min.js +0 -16153
  141. package/dist/utils/environmentDetection.d.ts +0 -47
  142. package/dist/utils/environmentDetection.d.ts.map +0 -1
  143. package/dist/utils/tensorflowUtils.d.ts +0 -17
  144. 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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"}
@@ -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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"}
@@ -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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"}