@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.
Files changed (205) hide show
  1. package/README.md +605 -194
  2. package/dist/augmentationFactory.d.ts.map +1 -0
  3. package/dist/augmentationFactory.js +342 -0
  4. package/dist/augmentationFactory.js.map +1 -0
  5. package/dist/augmentationPipeline.d.ts.map +1 -0
  6. package/dist/augmentationPipeline.js +472 -0
  7. package/dist/augmentationPipeline.js.map +1 -0
  8. package/dist/augmentationRegistry.d.ts.map +1 -0
  9. package/dist/augmentationRegistry.js +105 -0
  10. package/dist/augmentationRegistry.js.map +1 -0
  11. package/dist/augmentationRegistryLoader.d.ts.map +1 -0
  12. package/dist/augmentationRegistryLoader.js +213 -0
  13. package/dist/augmentationRegistryLoader.js.map +1 -0
  14. package/dist/augmentations/conduitAugmentations.js +1158 -0
  15. package/dist/augmentations/conduitAugmentations.js.map +1 -0
  16. package/dist/augmentations/memoryAugmentations.d.ts +2 -0
  17. package/dist/augmentations/memoryAugmentations.d.ts.map +1 -1
  18. package/dist/augmentations/memoryAugmentations.js +270 -0
  19. package/dist/augmentations/memoryAugmentations.js.map +1 -0
  20. package/dist/augmentations/serverSearchAugmentations.js +531 -0
  21. package/dist/augmentations/serverSearchAugmentations.js.map +1 -0
  22. package/dist/brainyData.d.ts.map +1 -0
  23. package/dist/brainyData.js +3999 -0
  24. package/dist/brainyData.js.map +1 -0
  25. package/dist/browserFramework.d.ts +15 -0
  26. package/dist/browserFramework.d.ts.map +1 -0
  27. package/dist/browserFramework.js +31 -0
  28. package/dist/browserFramework.js.map +1 -0
  29. package/dist/coreTypes.d.ts.map +1 -0
  30. package/dist/coreTypes.js +5 -0
  31. package/dist/coreTypes.js.map +1 -0
  32. package/dist/demo.d.ts +106 -0
  33. package/dist/demo.d.ts.map +1 -0
  34. package/dist/demo.js +201 -0
  35. package/dist/demo.js.map +1 -0
  36. package/dist/distributed/configManager.d.ts.map +1 -0
  37. package/dist/distributed/configManager.js +322 -0
  38. package/dist/distributed/configManager.js.map +1 -0
  39. package/dist/distributed/domainDetector.d.ts.map +1 -0
  40. package/dist/distributed/domainDetector.js +307 -0
  41. package/dist/distributed/domainDetector.js.map +1 -0
  42. package/dist/distributed/hashPartitioner.d.ts.map +1 -0
  43. package/dist/distributed/hashPartitioner.js +146 -0
  44. package/dist/distributed/hashPartitioner.js.map +1 -0
  45. package/dist/distributed/healthMonitor.d.ts.map +1 -0
  46. package/dist/distributed/healthMonitor.js +244 -0
  47. package/dist/distributed/healthMonitor.js.map +1 -0
  48. package/dist/distributed/index.d.ts.map +1 -0
  49. package/dist/distributed/index.js +9 -0
  50. package/dist/distributed/index.js.map +1 -0
  51. package/dist/distributed/operationalModes.d.ts.map +1 -0
  52. package/dist/distributed/operationalModes.js +201 -0
  53. package/dist/distributed/operationalModes.js.map +1 -0
  54. package/dist/errors/brainyError.d.ts.map +1 -0
  55. package/dist/errors/brainyError.js +113 -0
  56. package/dist/errors/brainyError.js.map +1 -0
  57. package/dist/examples/basicUsage.js +118 -0
  58. package/dist/examples/basicUsage.js.map +1 -0
  59. package/dist/hnsw/distributedSearch.js +452 -0
  60. package/dist/hnsw/distributedSearch.js.map +1 -0
  61. package/dist/hnsw/hnswIndex.js +602 -0
  62. package/dist/hnsw/hnswIndex.js.map +1 -0
  63. package/dist/hnsw/hnswIndexOptimized.js +471 -0
  64. package/dist/hnsw/hnswIndexOptimized.js.map +1 -0
  65. package/dist/hnsw/optimizedHNSWIndex.js +313 -0
  66. package/dist/hnsw/optimizedHNSWIndex.js.map +1 -0
  67. package/dist/hnsw/partitionedHNSWIndex.js +304 -0
  68. package/dist/hnsw/partitionedHNSWIndex.js.map +1 -0
  69. package/dist/hnsw/scaledHNSWSystem.js +559 -0
  70. package/dist/hnsw/scaledHNSWSystem.js.map +1 -0
  71. package/dist/index.d.ts +3 -2
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +81 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/mcp/brainyMCPAdapter.js +142 -0
  76. package/dist/mcp/brainyMCPAdapter.js.map +1 -0
  77. package/dist/mcp/brainyMCPService.js +248 -0
  78. package/dist/mcp/brainyMCPService.js.map +1 -0
  79. package/dist/mcp/index.js +17 -0
  80. package/dist/mcp/index.js.map +1 -0
  81. package/dist/mcp/mcpAugmentationToolset.js +180 -0
  82. package/dist/mcp/mcpAugmentationToolset.js.map +1 -0
  83. package/dist/pipeline.d.ts.map +1 -0
  84. package/dist/pipeline.js +590 -0
  85. package/dist/pipeline.js.map +1 -0
  86. package/dist/sequentialPipeline.d.ts.map +1 -0
  87. package/dist/sequentialPipeline.js +417 -0
  88. package/dist/sequentialPipeline.js.map +1 -0
  89. package/dist/setup.d.ts.map +1 -0
  90. package/dist/setup.js +46 -0
  91. package/dist/setup.js.map +1 -0
  92. package/dist/storage/adapters/baseStorageAdapter.js +349 -0
  93. package/dist/storage/adapters/baseStorageAdapter.js.map +1 -0
  94. package/dist/storage/adapters/batchS3Operations.js +287 -0
  95. package/dist/storage/adapters/batchS3Operations.js.map +1 -0
  96. package/dist/storage/adapters/fileSystemStorage.js +846 -0
  97. package/dist/storage/adapters/fileSystemStorage.js.map +1 -0
  98. package/dist/storage/adapters/memoryStorage.js +532 -0
  99. package/dist/storage/adapters/memoryStorage.js.map +1 -0
  100. package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
  101. package/dist/storage/adapters/opfsStorage.js +1118 -0
  102. package/dist/storage/adapters/opfsStorage.js.map +1 -0
  103. package/dist/storage/adapters/optimizedS3Search.js +248 -0
  104. package/dist/storage/adapters/optimizedS3Search.js.map +1 -0
  105. package/dist/storage/adapters/s3CompatibleStorage.js +2026 -0
  106. package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -0
  107. package/dist/storage/baseStorage.js +603 -0
  108. package/dist/storage/baseStorage.js.map +1 -0
  109. package/dist/storage/cacheManager.js +1306 -0
  110. package/dist/storage/cacheManager.js.map +1 -0
  111. package/dist/storage/enhancedCacheManager.js +520 -0
  112. package/dist/storage/enhancedCacheManager.js.map +1 -0
  113. package/dist/storage/readOnlyOptimizations.js +425 -0
  114. package/dist/storage/readOnlyOptimizations.js.map +1 -0
  115. package/dist/storage/storageFactory.d.ts +0 -1
  116. package/dist/storage/storageFactory.d.ts.map +1 -1
  117. package/dist/storage/storageFactory.js +227 -0
  118. package/dist/storage/storageFactory.js.map +1 -0
  119. package/dist/types/augmentations.js +16 -0
  120. package/dist/types/augmentations.js.map +1 -0
  121. package/dist/types/brainyDataInterface.js +8 -0
  122. package/dist/types/brainyDataInterface.js.map +1 -0
  123. package/dist/types/distributedTypes.js +6 -0
  124. package/dist/types/distributedTypes.js.map +1 -0
  125. package/dist/types/fileSystemTypes.js +8 -0
  126. package/dist/types/fileSystemTypes.js.map +1 -0
  127. package/dist/types/graphTypes.js +247 -0
  128. package/dist/types/graphTypes.js.map +1 -0
  129. package/dist/types/mcpTypes.js +22 -0
  130. package/dist/types/mcpTypes.js.map +1 -0
  131. package/dist/types/paginationTypes.js +5 -0
  132. package/dist/types/paginationTypes.js.map +1 -0
  133. package/dist/types/pipelineTypes.js +7 -0
  134. package/dist/types/pipelineTypes.js.map +1 -0
  135. package/dist/types/tensorflowTypes.js +6 -0
  136. package/dist/types/tensorflowTypes.js.map +1 -0
  137. package/dist/unified.d.ts.map +1 -0
  138. package/dist/unified.js +52 -128251
  139. package/dist/unified.js.map +1 -0
  140. package/dist/utils/autoConfiguration.js +341 -0
  141. package/dist/utils/autoConfiguration.js.map +1 -0
  142. package/dist/utils/cacheAutoConfig.js +261 -0
  143. package/dist/utils/cacheAutoConfig.js.map +1 -0
  144. package/dist/utils/crypto.js +45 -0
  145. package/dist/utils/crypto.js.map +1 -0
  146. package/dist/utils/distance.js +239 -0
  147. package/dist/utils/distance.js.map +1 -0
  148. package/dist/utils/embedding.d.ts.map +1 -1
  149. package/dist/utils/embedding.js +702 -0
  150. package/dist/utils/embedding.js.map +1 -0
  151. package/dist/utils/environment.js +75 -0
  152. package/dist/utils/environment.js.map +1 -0
  153. package/dist/utils/fieldNameTracking.js +90 -0
  154. package/dist/utils/fieldNameTracking.js.map +1 -0
  155. package/dist/utils/index.d.ts +1 -0
  156. package/dist/utils/index.d.ts.map +1 -1
  157. package/dist/utils/index.js +8 -0
  158. package/dist/utils/index.js.map +1 -0
  159. package/dist/utils/jsonProcessing.js +179 -0
  160. package/dist/utils/jsonProcessing.js.map +1 -0
  161. package/dist/utils/logger.js +129 -0
  162. package/dist/utils/logger.js.map +1 -0
  163. package/dist/utils/operationUtils.js +126 -0
  164. package/dist/utils/operationUtils.js.map +1 -0
  165. package/dist/utils/robustModelLoader.d.ts +14 -0
  166. package/dist/utils/robustModelLoader.d.ts.map +1 -1
  167. package/dist/utils/robustModelLoader.js +537 -0
  168. package/dist/utils/robustModelLoader.js.map +1 -0
  169. package/dist/utils/searchCache.js +248 -0
  170. package/dist/utils/searchCache.js.map +1 -0
  171. package/dist/utils/statistics.js +25 -0
  172. package/dist/utils/statistics.js.map +1 -0
  173. package/dist/utils/statisticsCollector.js +224 -0
  174. package/dist/utils/statisticsCollector.js.map +1 -0
  175. package/dist/utils/textEncoding.js +309 -0
  176. package/dist/utils/textEncoding.js.map +1 -0
  177. package/dist/utils/typeUtils.js +40 -0
  178. package/dist/utils/typeUtils.js.map +1 -0
  179. package/dist/utils/version.d.ts +15 -3
  180. package/dist/utils/version.d.ts.map +1 -1
  181. package/dist/utils/version.js +24 -0
  182. package/dist/utils/version.js.map +1 -0
  183. package/dist/utils/workerUtils.js +458 -0
  184. package/dist/utils/workerUtils.js.map +1 -0
  185. package/dist/worker.d.ts.map +1 -0
  186. package/dist/worker.js +54 -0
  187. package/dist/worker.js.map +1 -0
  188. package/package.json +30 -29
  189. package/dist/brainy.js +0 -90220
  190. package/dist/brainy.min.js +0 -12511
  191. package/dist/patched-platform-node.d.ts +0 -17
  192. package/dist/statistics/statisticsManager.d.ts +0 -121
  193. package/dist/storage/fileSystemStorage.d.ts +0 -73
  194. package/dist/storage/fileSystemStorage.d.ts.map +0 -1
  195. package/dist/storage/opfsStorage.d.ts +0 -236
  196. package/dist/storage/opfsStorage.d.ts.map +0 -1
  197. package/dist/storage/s3CompatibleStorage.d.ts +0 -157
  198. package/dist/storage/s3CompatibleStorage.d.ts.map +0 -1
  199. package/dist/testing/prettyReporter.d.ts +0 -23
  200. package/dist/testing/prettySummaryReporter.d.ts +0 -22
  201. package/dist/unified.min.js +0 -16153
  202. package/dist/utils/environmentDetection.d.ts +0 -47
  203. package/dist/utils/environmentDetection.d.ts.map +0 -1
  204. package/dist/utils/tensorflowUtils.d.ts +0 -17
  205. package/dist/utils/tensorflowUtils.d.ts.map +0 -1
@@ -1,17 +0,0 @@
1
- /**
2
- * Custom patched implementation of TensorFlow.js PlatformNode class
3
- * This resolves the TextEncoder/TextDecoder constructor issues
4
- */
5
- export declare class PatchedPlatformNode {
6
- util: {
7
- TextEncoder: typeof TextEncoder;
8
- TextDecoder: typeof TextDecoder;
9
- isFloat32Array: (arr: any) => boolean;
10
- isTypedArray: (arr: any) => boolean;
11
- };
12
- textEncoder: TextEncoder;
13
- textDecoder: TextDecoder;
14
- constructor();
15
- isFloat32Array(arr: any): boolean;
16
- isTypedArray(arr: any): boolean;
17
- }
@@ -1,121 +0,0 @@
1
- /**
2
- * Enhanced Statistics Manager
3
- * Provides optimized statistics collection and storage with configurable rate limiting,
4
- * batching, and exponential backoff to handle high-frequency data updates without
5
- * overwhelming storage systems like S3.
6
- */
7
- import { StatisticsData } from '../coreTypes.js';
8
- export interface StatisticsConfig {
9
- minFlushIntervalMs?: number;
10
- maxFlushDelayMs?: number;
11
- maxBatchSize?: number;
12
- enableExponentialBackoff?: boolean;
13
- backoffMultiplier?: number;
14
- maxBackoffMs?: number;
15
- enableRealtimeMonitoring?: boolean;
16
- }
17
- export interface RealtimeStatistics {
18
- nounCount: {
19
- [service: string]: number;
20
- };
21
- verbCount: {
22
- [service: string]: number;
23
- };
24
- metadataCount: {
25
- [service: string]: number;
26
- };
27
- hnswIndexSize: number;
28
- operations: {
29
- add: number;
30
- search: number;
31
- delete: number;
32
- update: number;
33
- relate: number;
34
- total: number;
35
- };
36
- lastUpdated: string;
37
- pendingWrites: number;
38
- lastFlushTime: number;
39
- nextFlushTime: number;
40
- }
41
- export declare class StatisticsManager {
42
- private config;
43
- private statisticsCache;
44
- private realtimeStats;
45
- private batchUpdateTimerId;
46
- private statisticsModified;
47
- private lastFlushTime;
48
- private consecutiveFlushes;
49
- private currentBackoffMs;
50
- private operationCount;
51
- private saveStatisticsCallback;
52
- constructor(config?: StatisticsConfig);
53
- /**
54
- * Set the callback function for saving statistics to storage
55
- */
56
- setSaveCallback(callback: (stats: StatisticsData) => Promise<void>): void;
57
- /**
58
- * Initialize the statistics manager with existing data
59
- */
60
- initialize(existingStats?: StatisticsData): Promise<void>;
61
- /**
62
- * Increment a statistic counter with optimized batching
63
- */
64
- incrementStatistic(type: 'noun' | 'verb' | 'metadata', service: string, amount?: number): Promise<void>;
65
- /**
66
- * Decrement a statistic counter with optimized batching
67
- */
68
- decrementStatistic(type: 'noun' | 'verb' | 'metadata', service: string, amount?: number): Promise<void>;
69
- /**
70
- * Update HNSW index size
71
- */
72
- updateHnswIndexSize(size: number): Promise<void>;
73
- /**
74
- * Track search operations for monitoring
75
- */
76
- trackSearchOperation(count?: number): void;
77
- /**
78
- * Track update operations for monitoring
79
- */
80
- trackUpdateOperation(count?: number): void;
81
- /**
82
- * Track relate operations for monitoring
83
- */
84
- trackRelateOperation(count?: number): void;
85
- /**
86
- * Get real-time statistics without triggering storage writes
87
- */
88
- getRealtimeStatistics(): RealtimeStatistics;
89
- /**
90
- * Get cached statistics data
91
- */
92
- getCachedStatistics(): StatisticsData | null;
93
- /**
94
- * Force an immediate flush with rate limiting protection
95
- */
96
- forceFlush(): Promise<void>;
97
- /**
98
- * Schedule a batch update with intelligent timing
99
- */
100
- private scheduleBatchUpdate;
101
- /**
102
- * Flush statistics to storage with error handling
103
- */
104
- private flushStatistics;
105
- /**
106
- * Create default statistics data
107
- */
108
- private createDefaultStatistics;
109
- /**
110
- * Create default realtime statistics
111
- */
112
- private createDefaultRealtimeStats;
113
- /**
114
- * Update realtime stats from statistics data
115
- */
116
- private updateRealtimeStats;
117
- /**
118
- * Cleanup resources
119
- */
120
- destroy(): void;
121
- }
@@ -1,73 +0,0 @@
1
- import { GraphVerb, HNSWNoun, StorageAdapter } from '../coreTypes.js';
2
- /**
3
- * File system storage adapter for Node.js environments
4
- */
5
- export declare class FileSystemStorage implements StorageAdapter {
6
- private rootDir;
7
- private nounsDir;
8
- private verbsDir;
9
- private metadataDir;
10
- private isInitialized;
11
- constructor(rootDirectory?: string);
12
- /**
13
- * Initialize the storage adapter
14
- */
15
- init(): Promise<void>;
16
- private ensureDirectoryExists;
17
- private getNounPath;
18
- saveNoun(noun: HNSWNoun & {
19
- metadata?: {
20
- noun?: string;
21
- };
22
- }): Promise<void>;
23
- getNoun(id: string): Promise<HNSWNoun | null>;
24
- deleteNoun(id: string): Promise<void>;
25
- getAllNouns(): Promise<HNSWNoun[]>;
26
- /**
27
- * Get nouns by noun type
28
- * @param nounType The noun type to filter by
29
- * @returns Promise that resolves to an array of nouns of the specified noun type
30
- */
31
- getNounsByNounType(nounType: string): Promise<HNSWNoun[]>;
32
- saveVerb(verb: GraphVerb): Promise<void>;
33
- /**
34
- * Get a verb by its ID
35
- * @param id The ID of the verb to retrieve
36
- * @returns Promise that resolves to the verb or null if not found
37
- */
38
- getVerb(id: string): Promise<GraphVerb | null>;
39
- getVerbsBySource(sourceId: string): Promise<GraphVerb[]>;
40
- /**
41
- * Get verbs by target ID
42
- * @param targetId The target ID to filter by
43
- * @returns Promise that resolves to an array of verbs with the specified target ID
44
- */
45
- getVerbsByTarget(targetId: string): Promise<GraphVerb[]>;
46
- /**
47
- * Get verbs by type
48
- * @param type The verb type to filter by
49
- * @returns Promise that resolves to an array of verbs of the specified type
50
- */
51
- getVerbsByType(type: string): Promise<GraphVerb[]>;
52
- getAllVerbs(): Promise<GraphVerb[]>;
53
- deleteVerb(id: string): Promise<void>;
54
- /**
55
- * Save metadata for an entity
56
- * @param id The ID of the entity
57
- * @param metadata The metadata to save
58
- */
59
- saveMetadata(id: string, metadata: any): Promise<void>;
60
- /**
61
- * Get metadata for an entity
62
- * @param id The ID of the entity
63
- * @returns Promise that resolves to the metadata or null if not found
64
- */
65
- getMetadata(id: string): Promise<any | null>;
66
- clear(): Promise<void>;
67
- getStorageStatus(): Promise<{
68
- type: string;
69
- used: number;
70
- quota: number | null;
71
- details?: Record<string, any>;
72
- }>;
73
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileSystemStorage.d.ts","sourceRoot":"","sources":["../../src/storage/fileSystemStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAqDrE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAQ;gBAEjB,aAAa,CAAC,EAAE,MAAM;IAQlC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YA2CpB,qBAAqB;IAWnC,OAAO,CAAC,WAAW;IAKN,QAAQ,CACnB,IAAI,EAAE,QAAQ,GAAG;QAAE,QAAQ,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAChD,OAAO,CAAC,IAAI,CAAC;IAQH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAc7C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrC,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoB/C;;;;OAIG;IACU,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA4BzD,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD;;;;OAIG;IACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAc9C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAMrE;;;;OAIG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAMrE;;;;OAIG;IACU,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAMlD,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAoBnC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD;;;;OAIG;IACU,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE;;;;OAIG;IACU,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAc5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4DtB,gBAAgB,IAAI,OAAO,CAAC;QACvC,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAC9B,CAAC;CAyCH"}
@@ -1,236 +0,0 @@
1
- /**
2
- * OPFS (Origin Private File System) Storage Adapter
3
- * Provides persistent storage for the vector database using the Origin Private File System API
4
- */
5
- import { GraphVerb, HNSWNoun, StorageAdapter } from '../coreTypes.js';
6
- import '../types/fileSystemTypes.js';
7
- declare global {
8
- interface FileSystemDirectoryHandle {
9
- entries(): AsyncIterableIterator<[string, FileSystemHandle]>;
10
- }
11
- }
12
- type HNSWNode = HNSWNoun;
13
- type Edge = GraphVerb;
14
- export declare class OPFSStorage implements StorageAdapter {
15
- private rootDir;
16
- private nounsDir;
17
- private verbsDir;
18
- private metadataDir;
19
- private isInitialized;
20
- private isAvailable;
21
- private isPersistentRequested;
22
- private isPersistentGranted;
23
- constructor();
24
- /**
25
- * Initialize the storage adapter
26
- */
27
- init(): Promise<void>;
28
- /**
29
- * Check if OPFS is available in the current environment
30
- */
31
- isOPFSAvailable(): boolean;
32
- /**
33
- * Request persistent storage permission from the user
34
- * @returns Promise that resolves to true if permission was granted, false otherwise
35
- */
36
- requestPersistentStorage(): Promise<boolean>;
37
- /**
38
- * Check if persistent storage is granted
39
- * @returns Promise that resolves to true if persistent storage is granted, false otherwise
40
- */
41
- isPersistent(): Promise<boolean>;
42
- /**
43
- * Save a noun to storage
44
- */
45
- saveNoun(noun: HNSWNoun): Promise<void>;
46
- /**
47
- * Get a noun from storage
48
- */
49
- getNoun(id: string): Promise<HNSWNoun | null>;
50
- /**
51
- * Get nouns by noun type
52
- * @param nounType The noun type to filter by
53
- * @returns Promise that resolves to an array of nouns of the specified noun type
54
- */
55
- getNounsByNounType(nounType: string): Promise<HNSWNoun[]>;
56
- /**
57
- * Get all nouns from storage
58
- */
59
- getAllNouns(): Promise<HNSWNoun[]>;
60
- /**
61
- * Delete a noun from storage
62
- */
63
- deleteNoun(id: string): Promise<void>;
64
- /**
65
- * Save a verb to storage
66
- */
67
- saveVerb(verb: GraphVerb): Promise<void>;
68
- /**
69
- * Get a verb from storage
70
- */
71
- getVerb(id: string): Promise<GraphVerb | null>;
72
- /**
73
- * Get all edges from storage
74
- */
75
- getAllEdges(): Promise<Edge[]>;
76
- /**
77
- * Get all verbs from storage (alias for getAllEdges)
78
- */
79
- getAllVerbs(): Promise<GraphVerb[]>;
80
- /**
81
- * Delete an edge from storage
82
- */
83
- deleteEdge(id: string): Promise<void>;
84
- /**
85
- * Delete a verb from storage (alias for deleteEdge)
86
- */
87
- deleteVerb(id: string): Promise<void>;
88
- /**
89
- * Get edges by source node ID
90
- */
91
- getEdgesBySource(sourceId: string): Promise<Edge[]>;
92
- /**
93
- * Get verbs by source node ID (alias for getEdgesBySource)
94
- */
95
- getVerbsBySource(sourceId: string): Promise<GraphVerb[]>;
96
- /**
97
- * Get edges by target node ID
98
- */
99
- getEdgesByTarget(targetId: string): Promise<Edge[]>;
100
- /**
101
- * Get verbs by target node ID (alias for getEdgesByTarget)
102
- */
103
- getVerbsByTarget(targetId: string): Promise<GraphVerb[]>;
104
- /**
105
- * Get edges by type
106
- */
107
- getEdgesByType(type: string): Promise<Edge[]>;
108
- /**
109
- * Get verbs by type (alias for getEdgesByType)
110
- */
111
- getVerbsByType(type: string): Promise<GraphVerb[]>;
112
- /**
113
- * Save metadata for a node
114
- */
115
- saveMetadata(id: string, metadata: any): Promise<void>;
116
- /**
117
- * Get metadata for a node
118
- */
119
- getMetadata(id: string): Promise<any | null>;
120
- /**
121
- * Clear all data from storage
122
- */
123
- clear(): Promise<void>;
124
- /**
125
- * Ensure the storage adapter is initialized
126
- */
127
- private ensureInitialized;
128
- /**
129
- * Convert a Map to a plain object for serialization
130
- */
131
- private mapToObject;
132
- /**
133
- * Get the directory for a node - now all nouns use the same directory
134
- */
135
- private getNodeDirectory;
136
- /**
137
- * Get information about storage usage and capacity
138
- */
139
- getStorageStatus(): Promise<{
140
- type: string;
141
- used: number;
142
- quota: number | null;
143
- details?: Record<string, any>;
144
- }>;
145
- }
146
- /**
147
- * In-memory storage adapter for environments where OPFS is not available
148
- */
149
- export declare class MemoryStorage implements StorageAdapter {
150
- private nouns;
151
- private verbs;
152
- private metadata;
153
- constructor();
154
- saveNoun(noun: HNSWNoun): Promise<void>;
155
- getNoun(id: string): Promise<HNSWNoun | null>;
156
- getAllNouns(): Promise<HNSWNoun[]>;
157
- getNounsByNounType(nounType: string): Promise<HNSWNoun[]>;
158
- deleteNoun(id: string): Promise<void>;
159
- saveVerb(verb: GraphVerb): Promise<void>;
160
- getVerb(id: string): Promise<GraphVerb | null>;
161
- getAllVerbs(): Promise<GraphVerb[]>;
162
- getVerbsBySource(sourceId: string): Promise<GraphVerb[]>;
163
- getVerbsByTarget(targetId: string): Promise<GraphVerb[]>;
164
- getVerbsByType(type: string): Promise<GraphVerb[]>;
165
- deleteVerb(id: string): Promise<void>;
166
- init(): Promise<void>;
167
- /**
168
- * Get the noun type for a node from its metadata
169
- */
170
- private getNounType;
171
- saveNode(node: HNSWNode): Promise<void>;
172
- getNode(id: string): Promise<HNSWNode | null>;
173
- /**
174
- * Get nodes by noun type
175
- * @param nounType The noun type to filter by
176
- * @returns Promise that resolves to an array of nodes of the specified noun type
177
- */
178
- getNodesByNounType(nounType: string): Promise<HNSWNode[]>;
179
- getAllNodes(): Promise<HNSWNode[]>;
180
- deleteNode(id: string): Promise<void>;
181
- saveMetadata(id: string, metadata: any): Promise<void>;
182
- getMetadata(id: string): Promise<any | null>;
183
- saveEdge(edge: Edge): Promise<void>;
184
- getEdge(id: string): Promise<Edge | null>;
185
- getAllEdges(): Promise<Edge[]>;
186
- getEdgesBySource(sourceId: string): Promise<Edge[]>;
187
- getEdgesByTarget(targetId: string): Promise<Edge[]>;
188
- getEdgesByType(type: string): Promise<Edge[]>;
189
- deleteEdge(id: string): Promise<void>;
190
- clear(): Promise<void>;
191
- /**
192
- * Get information about storage usage and capacity
193
- */
194
- getStorageStatus(): Promise<{
195
- type: string;
196
- used: number;
197
- quota: number | null;
198
- details?: Record<string, any>;
199
- }>;
200
- }
201
- /**
202
- * Factory function to create the appropriate storage adapter based on the environment
203
- * @param options Configuration options for storage
204
- * @returns Promise that resolves to a StorageAdapter instance
205
- */
206
- export declare function createStorage(options?: {
207
- requestPersistentStorage?: boolean;
208
- r2Storage?: {
209
- bucketName?: string;
210
- accountId?: string;
211
- accessKeyId?: string;
212
- secretAccessKey?: string;
213
- };
214
- s3Storage?: {
215
- bucketName?: string;
216
- accessKeyId?: string;
217
- secretAccessKey?: string;
218
- region?: string;
219
- };
220
- gcsStorage?: {
221
- bucketName?: string;
222
- accessKeyId?: string;
223
- secretAccessKey?: string;
224
- endpoint?: string;
225
- };
226
- customS3Storage?: {
227
- bucketName?: string;
228
- accessKeyId?: string;
229
- secretAccessKey?: string;
230
- endpoint?: string;
231
- region?: string;
232
- };
233
- forceFileSystemStorage?: boolean;
234
- forceMemoryStorage?: boolean;
235
- }): Promise<StorageAdapter>;
236
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"opfsStorage.d.ts","sourceRoot":"","sources":["../../src/storage/opfsStorage.ts"],"names":[],"mappings":"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"}
@@ -1,157 +0,0 @@
1
- import { GraphVerb, HNSWNoun, StorageAdapter } from '../coreTypes.js';
2
- type HNSWNode = HNSWNoun;
3
- type Edge = GraphVerb;
4
- export { S3CompatibleStorage as R2Storage };
5
- /**
6
- * S3-compatible storage adapter for server environments
7
- * Uses the AWS S3 client to interact with S3-compatible storage services
8
- * including Amazon S3, Cloudflare R2, and Google Cloud Storage
9
- *
10
- * To use this adapter with Cloudflare R2, you need to provide:
11
- * - bucketName: Your bucket name
12
- * - accountId: Your Cloudflare account ID
13
- * - accessKeyId: R2 access key ID
14
- * - secretAccessKey: R2 secret access key
15
- * - serviceType: 'r2'
16
- *
17
- * To use this adapter with Amazon S3, you need to provide:
18
- * - bucketName: Your S3 bucket name
19
- * - accessKeyId: AWS access key ID
20
- * - secretAccessKey: AWS secret access key
21
- * - region: AWS region (e.g., 'us-east-1')
22
- * - serviceType: 's3'
23
- *
24
- * To use this adapter with Google Cloud Storage, you need to provide:
25
- * - bucketName: Your GCS bucket name
26
- * - accessKeyId: HMAC access key
27
- * - secretAccessKey: HMAC secret
28
- * - endpoint: GCS endpoint (e.g., 'https://storage.googleapis.com')
29
- * - serviceType: 'gcs'
30
- *
31
- * For other S3-compatible services, provide:
32
- * - bucketName: Your bucket name
33
- * - accessKeyId: Access key ID
34
- * - secretAccessKey: Secret access key
35
- * - endpoint: Service endpoint URL
36
- * - region: Region (if required)
37
- * - serviceType: 'custom'
38
- */
39
- export declare class S3CompatibleStorage implements StorageAdapter {
40
- private bucketName;
41
- private accessKeyId;
42
- private secretAccessKey;
43
- private endpoint?;
44
- private region?;
45
- private accountId?;
46
- private serviceType;
47
- private s3Client;
48
- private isInitialized;
49
- saveNoun(noun: HNSWNoun): Promise<void>;
50
- getNoun(id: string): Promise<HNSWNoun | null>;
51
- getAllNouns(): Promise<HNSWNoun[]>;
52
- getNounsByNounType(nounType: string): Promise<HNSWNoun[]>;
53
- deleteNoun(id: string): Promise<void>;
54
- saveVerb(verb: GraphVerb): Promise<void>;
55
- getVerb(id: string): Promise<GraphVerb | null>;
56
- getAllVerbs(): Promise<GraphVerb[]>;
57
- getVerbsBySource(sourceId: string): Promise<GraphVerb[]>;
58
- getVerbsByTarget(targetId: string): Promise<GraphVerb[]>;
59
- getVerbsByType(type: string): Promise<GraphVerb[]>;
60
- deleteVerb(id: string): Promise<void>;
61
- constructor(options: {
62
- bucketName: string;
63
- accessKeyId: string;
64
- secretAccessKey: string;
65
- serviceType: 'r2' | 's3' | 'gcs' | 'custom';
66
- accountId?: string;
67
- region?: string;
68
- endpoint?: string;
69
- });
70
- /**
71
- * Initialize the storage adapter
72
- */
73
- init(): Promise<void>;
74
- /**
75
- * Save a node to storage
76
- */
77
- saveNode(node: HNSWNode): Promise<void>;
78
- /**
79
- * Get a node from storage
80
- */
81
- getNode(id: string): Promise<HNSWNode | null>;
82
- /**
83
- * Get nodes by noun type
84
- * @param nounType The noun type to filter by
85
- * @returns Promise that resolves to an array of nodes of the specified noun type
86
- */
87
- getNodesByNounType(nounType: string): Promise<HNSWNode[]>;
88
- /**
89
- * Get all nodes from storage
90
- */
91
- getAllNodes(): Promise<HNSWNode[]>;
92
- /**
93
- * Delete a node from storage
94
- */
95
- deleteNode(id: string): Promise<void>;
96
- /**
97
- * Save an edge to storage
98
- */
99
- saveEdge(edge: Edge): Promise<void>;
100
- /**
101
- * Get an edge from storage
102
- */
103
- getEdge(id: string): Promise<Edge | null>;
104
- /**
105
- * Get all edges from storage
106
- */
107
- getAllEdges(): Promise<Edge[]>;
108
- /**
109
- * Get edges by source node ID
110
- */
111
- getEdgesBySource(sourceId: string): Promise<Edge[]>;
112
- /**
113
- * Get edges by target node ID
114
- */
115
- getEdgesByTarget(targetId: string): Promise<Edge[]>;
116
- /**
117
- * Get edges by type
118
- */
119
- getEdgesByType(type: string): Promise<Edge[]>;
120
- /**
121
- * Delete an edge from storage
122
- */
123
- deleteEdge(id: string): Promise<void>;
124
- /**
125
- * Save metadata to storage
126
- */
127
- saveMetadata(id: string, metadata: any): Promise<void>;
128
- /**
129
- * Get metadata from storage
130
- */
131
- getMetadata(id: string): Promise<any | null>;
132
- /**
133
- * Clear all data from storage
134
- */
135
- clear(): Promise<void>;
136
- /**
137
- * Get information about storage usage and capacity
138
- */
139
- getStorageStatus(): Promise<{
140
- type: string;
141
- used: number;
142
- quota: number | null;
143
- details?: Record<string, any>;
144
- }>;
145
- /**
146
- * Ensure the storage adapter is initialized
147
- */
148
- private ensureInitialized;
149
- /**
150
- * Get the appropriate prefix for a node - now all nouns use the same prefix
151
- */
152
- private getNodePrefix;
153
- /**
154
- * Convert a Map to a plain object for serialization
155
- */
156
- private mapToObject;
157
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"s3CompatibleStorage.d.ts","sourceRoot":"","sources":["../../src/storage/s3CompatibleStorage.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { Reporter, File, Vitest, TaskResultPack, RunnerTaskEventPack as TaskEventPack } from 'vitest';
2
- /**
3
- * PrettyReporter - A visually appealing reporter for Vitest
4
- *
5
- * This reporter creates a visually enhanced summary of test results
6
- * with colors, symbols, and formatted output.
7
- */
8
- export default class PrettyReporter implements Reporter {
9
- private startTime;
10
- private testResults;
11
- private totalTests;
12
- private failedTests;
13
- private ctx;
14
- onInit(ctx: Vitest): void;
15
- onFinished(files?: File[] | undefined): void;
16
- onTaskUpdate(packs: TaskResultPack[], events: TaskEventPack[]): void;
17
- onCollected(files?: File[] | undefined): void;
18
- private countTestsInTasks;
19
- private processTask;
20
- private printSummary;
21
- private formatDuration;
22
- private truncateString;
23
- }
@@ -1,22 +0,0 @@
1
- import { Reporter, File, Vitest, TaskResultPack, RunnerTaskEventPack as TaskEventPack } from 'vitest';
2
- /**
3
- * PrettySummaryReporter - A visually appealing summary reporter for Vitest
4
- *
5
- * This reporter creates a visually enhanced summary of test results
6
- * with colors, symbols, and formatted output at the end of the test run.
7
- */
8
- export default class PrettySummaryReporter implements Reporter {
9
- private startTime;
10
- private testFiles;
11
- private testCounts;
12
- private fileResults;
13
- private failedTests;
14
- private ctx;
15
- onInit(ctx: Vitest): void;
16
- onCollected(files?: File[]): void;
17
- onFinished(files?: File[]): void;
18
- onTaskUpdate(packs: TaskResultPack[], events: TaskEventPack[]): void;
19
- private printSummary;
20
- private formatDuration;
21
- private truncateString;
22
- }