@danielsimonjr/memoryjs 1.0.0 → 1.2.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 (300) hide show
  1. package/README.md +385 -113
  2. package/README.md.backup-1768084780988 +266 -0
  3. package/dist/index.cjs +24156 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +16967 -0
  6. package/dist/index.d.ts +16963 -11
  7. package/dist/index.js +23887 -19
  8. package/dist/index.js.map +1 -1
  9. package/dist/workers/levenshteinWorker.cjs +102 -0
  10. package/dist/workers/levenshteinWorker.cjs.map +1 -0
  11. package/dist/workers/levenshteinWorker.js +57 -91
  12. package/dist/workers/levenshteinWorker.js.map +1 -1
  13. package/package.json +75 -69
  14. package/dist/core/EntityManager.d.ts +0 -268
  15. package/dist/core/EntityManager.d.ts.map +0 -1
  16. package/dist/core/EntityManager.js +0 -512
  17. package/dist/core/EntityManager.js.map +0 -1
  18. package/dist/core/GraphEventEmitter.d.ts +0 -202
  19. package/dist/core/GraphEventEmitter.d.ts.map +0 -1
  20. package/dist/core/GraphEventEmitter.js +0 -347
  21. package/dist/core/GraphEventEmitter.js.map +0 -1
  22. package/dist/core/GraphStorage.d.ts +0 -395
  23. package/dist/core/GraphStorage.d.ts.map +0 -1
  24. package/dist/core/GraphStorage.js +0 -786
  25. package/dist/core/GraphStorage.js.map +0 -1
  26. package/dist/core/GraphTraversal.d.ts +0 -141
  27. package/dist/core/GraphTraversal.d.ts.map +0 -1
  28. package/dist/core/GraphTraversal.js +0 -574
  29. package/dist/core/GraphTraversal.js.map +0 -1
  30. package/dist/core/HierarchyManager.d.ts +0 -111
  31. package/dist/core/HierarchyManager.d.ts.map +0 -1
  32. package/dist/core/HierarchyManager.js +0 -225
  33. package/dist/core/HierarchyManager.js.map +0 -1
  34. package/dist/core/ManagerContext.d.ts +0 -76
  35. package/dist/core/ManagerContext.d.ts.map +0 -1
  36. package/dist/core/ManagerContext.js +0 -129
  37. package/dist/core/ManagerContext.js.map +0 -1
  38. package/dist/core/ObservationManager.d.ts +0 -85
  39. package/dist/core/ObservationManager.d.ts.map +0 -1
  40. package/dist/core/ObservationManager.js +0 -124
  41. package/dist/core/ObservationManager.js.map +0 -1
  42. package/dist/core/RelationManager.d.ts +0 -131
  43. package/dist/core/RelationManager.d.ts.map +0 -1
  44. package/dist/core/RelationManager.js +0 -212
  45. package/dist/core/RelationManager.js.map +0 -1
  46. package/dist/core/SQLiteStorage.d.ts +0 -354
  47. package/dist/core/SQLiteStorage.d.ts.map +0 -1
  48. package/dist/core/SQLiteStorage.js +0 -919
  49. package/dist/core/SQLiteStorage.js.map +0 -1
  50. package/dist/core/StorageFactory.d.ts +0 -45
  51. package/dist/core/StorageFactory.d.ts.map +0 -1
  52. package/dist/core/StorageFactory.js +0 -65
  53. package/dist/core/StorageFactory.js.map +0 -1
  54. package/dist/core/TransactionManager.d.ts +0 -464
  55. package/dist/core/TransactionManager.d.ts.map +0 -1
  56. package/dist/core/TransactionManager.js +0 -869
  57. package/dist/core/TransactionManager.js.map +0 -1
  58. package/dist/core/index.d.ts +0 -17
  59. package/dist/core/index.d.ts.map +0 -1
  60. package/dist/core/index.js +0 -20
  61. package/dist/core/index.js.map +0 -1
  62. package/dist/features/AnalyticsManager.d.ts +0 -44
  63. package/dist/features/AnalyticsManager.d.ts.map +0 -1
  64. package/dist/features/AnalyticsManager.js +0 -224
  65. package/dist/features/AnalyticsManager.js.map +0 -1
  66. package/dist/features/ArchiveManager.d.ts +0 -133
  67. package/dist/features/ArchiveManager.d.ts.map +0 -1
  68. package/dist/features/ArchiveManager.js +0 -282
  69. package/dist/features/ArchiveManager.js.map +0 -1
  70. package/dist/features/CompressionManager.d.ts +0 -119
  71. package/dist/features/CompressionManager.d.ts.map +0 -1
  72. package/dist/features/CompressionManager.js +0 -470
  73. package/dist/features/CompressionManager.js.map +0 -1
  74. package/dist/features/IOManager.d.ts +0 -225
  75. package/dist/features/IOManager.d.ts.map +0 -1
  76. package/dist/features/IOManager.js +0 -1093
  77. package/dist/features/IOManager.js.map +0 -1
  78. package/dist/features/KeywordExtractor.d.ts +0 -61
  79. package/dist/features/KeywordExtractor.d.ts.map +0 -1
  80. package/dist/features/KeywordExtractor.js +0 -127
  81. package/dist/features/KeywordExtractor.js.map +0 -1
  82. package/dist/features/ObservationNormalizer.d.ts +0 -90
  83. package/dist/features/ObservationNormalizer.d.ts.map +0 -1
  84. package/dist/features/ObservationNormalizer.js +0 -194
  85. package/dist/features/ObservationNormalizer.js.map +0 -1
  86. package/dist/features/StreamingExporter.d.ts +0 -128
  87. package/dist/features/StreamingExporter.d.ts.map +0 -1
  88. package/dist/features/StreamingExporter.js +0 -212
  89. package/dist/features/StreamingExporter.js.map +0 -1
  90. package/dist/features/TagManager.d.ts +0 -147
  91. package/dist/features/TagManager.d.ts.map +0 -1
  92. package/dist/features/TagManager.js +0 -211
  93. package/dist/features/TagManager.js.map +0 -1
  94. package/dist/features/index.d.ts +0 -14
  95. package/dist/features/index.d.ts.map +0 -1
  96. package/dist/features/index.js +0 -15
  97. package/dist/features/index.js.map +0 -1
  98. package/dist/index.d.ts.map +0 -1
  99. package/dist/search/BM25Search.d.ts +0 -148
  100. package/dist/search/BM25Search.d.ts.map +0 -1
  101. package/dist/search/BM25Search.js +0 -340
  102. package/dist/search/BM25Search.js.map +0 -1
  103. package/dist/search/BasicSearch.d.ts +0 -51
  104. package/dist/search/BasicSearch.d.ts.map +0 -1
  105. package/dist/search/BasicSearch.js +0 -138
  106. package/dist/search/BasicSearch.js.map +0 -1
  107. package/dist/search/BooleanSearch.d.ts +0 -98
  108. package/dist/search/BooleanSearch.d.ts.map +0 -1
  109. package/dist/search/BooleanSearch.js +0 -431
  110. package/dist/search/BooleanSearch.js.map +0 -1
  111. package/dist/search/EarlyTerminationManager.d.ts +0 -140
  112. package/dist/search/EarlyTerminationManager.d.ts.map +0 -1
  113. package/dist/search/EarlyTerminationManager.js +0 -280
  114. package/dist/search/EarlyTerminationManager.js.map +0 -1
  115. package/dist/search/EmbeddingCache.d.ts +0 -175
  116. package/dist/search/EmbeddingCache.d.ts.map +0 -1
  117. package/dist/search/EmbeddingCache.js +0 -247
  118. package/dist/search/EmbeddingCache.js.map +0 -1
  119. package/dist/search/EmbeddingService.d.ts +0 -277
  120. package/dist/search/EmbeddingService.d.ts.map +0 -1
  121. package/dist/search/EmbeddingService.js +0 -531
  122. package/dist/search/EmbeddingService.js.map +0 -1
  123. package/dist/search/FuzzySearch.d.ts +0 -118
  124. package/dist/search/FuzzySearch.d.ts.map +0 -1
  125. package/dist/search/FuzzySearch.js +0 -313
  126. package/dist/search/FuzzySearch.js.map +0 -1
  127. package/dist/search/HybridScorer.d.ts +0 -181
  128. package/dist/search/HybridScorer.d.ts.map +0 -1
  129. package/dist/search/HybridScorer.js +0 -258
  130. package/dist/search/HybridScorer.js.map +0 -1
  131. package/dist/search/HybridSearchManager.d.ts +0 -80
  132. package/dist/search/HybridSearchManager.d.ts.map +0 -1
  133. package/dist/search/HybridSearchManager.js +0 -188
  134. package/dist/search/HybridSearchManager.js.map +0 -1
  135. package/dist/search/IncrementalIndexer.d.ts +0 -201
  136. package/dist/search/IncrementalIndexer.d.ts.map +0 -1
  137. package/dist/search/IncrementalIndexer.js +0 -343
  138. package/dist/search/IncrementalIndexer.js.map +0 -1
  139. package/dist/search/OptimizedInvertedIndex.d.ts +0 -163
  140. package/dist/search/OptimizedInvertedIndex.d.ts.map +0 -1
  141. package/dist/search/OptimizedInvertedIndex.js +0 -359
  142. package/dist/search/OptimizedInvertedIndex.js.map +0 -1
  143. package/dist/search/ParallelSearchExecutor.d.ts +0 -172
  144. package/dist/search/ParallelSearchExecutor.d.ts.map +0 -1
  145. package/dist/search/ParallelSearchExecutor.js +0 -310
  146. package/dist/search/ParallelSearchExecutor.js.map +0 -1
  147. package/dist/search/QuantizedVectorStore.d.ts +0 -171
  148. package/dist/search/QuantizedVectorStore.d.ts.map +0 -1
  149. package/dist/search/QuantizedVectorStore.js +0 -308
  150. package/dist/search/QuantizedVectorStore.js.map +0 -1
  151. package/dist/search/QueryAnalyzer.d.ts +0 -76
  152. package/dist/search/QueryAnalyzer.d.ts.map +0 -1
  153. package/dist/search/QueryAnalyzer.js +0 -228
  154. package/dist/search/QueryAnalyzer.js.map +0 -1
  155. package/dist/search/QueryCostEstimator.d.ts +0 -244
  156. package/dist/search/QueryCostEstimator.d.ts.map +0 -1
  157. package/dist/search/QueryCostEstimator.js +0 -653
  158. package/dist/search/QueryCostEstimator.js.map +0 -1
  159. package/dist/search/QueryPlanCache.d.ts +0 -220
  160. package/dist/search/QueryPlanCache.d.ts.map +0 -1
  161. package/dist/search/QueryPlanCache.js +0 -380
  162. package/dist/search/QueryPlanCache.js.map +0 -1
  163. package/dist/search/QueryPlanner.d.ts +0 -58
  164. package/dist/search/QueryPlanner.d.ts.map +0 -1
  165. package/dist/search/QueryPlanner.js +0 -138
  166. package/dist/search/QueryPlanner.js.map +0 -1
  167. package/dist/search/RankedSearch.d.ts +0 -71
  168. package/dist/search/RankedSearch.d.ts.map +0 -1
  169. package/dist/search/RankedSearch.js +0 -239
  170. package/dist/search/RankedSearch.js.map +0 -1
  171. package/dist/search/ReflectionManager.d.ts +0 -120
  172. package/dist/search/ReflectionManager.d.ts.map +0 -1
  173. package/dist/search/ReflectionManager.js +0 -232
  174. package/dist/search/ReflectionManager.js.map +0 -1
  175. package/dist/search/SavedSearchManager.d.ts +0 -79
  176. package/dist/search/SavedSearchManager.d.ts.map +0 -1
  177. package/dist/search/SavedSearchManager.js +0 -147
  178. package/dist/search/SavedSearchManager.js.map +0 -1
  179. package/dist/search/SearchFilterChain.d.ts +0 -120
  180. package/dist/search/SearchFilterChain.d.ts.map +0 -1
  181. package/dist/search/SearchFilterChain.js +0 -186
  182. package/dist/search/SearchFilterChain.js.map +0 -1
  183. package/dist/search/SearchManager.d.ts +0 -326
  184. package/dist/search/SearchManager.d.ts.map +0 -1
  185. package/dist/search/SearchManager.js +0 -454
  186. package/dist/search/SearchManager.js.map +0 -1
  187. package/dist/search/SearchSuggestions.d.ts +0 -27
  188. package/dist/search/SearchSuggestions.d.ts.map +0 -1
  189. package/dist/search/SearchSuggestions.js +0 -58
  190. package/dist/search/SearchSuggestions.js.map +0 -1
  191. package/dist/search/SemanticSearch.d.ts +0 -149
  192. package/dist/search/SemanticSearch.d.ts.map +0 -1
  193. package/dist/search/SemanticSearch.js +0 -324
  194. package/dist/search/SemanticSearch.js.map +0 -1
  195. package/dist/search/SymbolicSearch.d.ts +0 -61
  196. package/dist/search/SymbolicSearch.d.ts.map +0 -1
  197. package/dist/search/SymbolicSearch.js +0 -164
  198. package/dist/search/SymbolicSearch.js.map +0 -1
  199. package/dist/search/TFIDFEventSync.d.ts +0 -85
  200. package/dist/search/TFIDFEventSync.d.ts.map +0 -1
  201. package/dist/search/TFIDFEventSync.js +0 -134
  202. package/dist/search/TFIDFEventSync.js.map +0 -1
  203. package/dist/search/TFIDFIndexManager.d.ts +0 -151
  204. package/dist/search/TFIDFIndexManager.d.ts.map +0 -1
  205. package/dist/search/TFIDFIndexManager.js +0 -433
  206. package/dist/search/TFIDFIndexManager.js.map +0 -1
  207. package/dist/search/VectorStore.d.ts +0 -235
  208. package/dist/search/VectorStore.d.ts.map +0 -1
  209. package/dist/search/VectorStore.js +0 -312
  210. package/dist/search/VectorStore.js.map +0 -1
  211. package/dist/search/index.d.ts +0 -35
  212. package/dist/search/index.d.ts.map +0 -1
  213. package/dist/search/index.js +0 -53
  214. package/dist/search/index.js.map +0 -1
  215. package/dist/types/index.d.ts +0 -13
  216. package/dist/types/index.d.ts.map +0 -1
  217. package/dist/types/index.js +0 -13
  218. package/dist/types/index.js.map +0 -1
  219. package/dist/types/types.d.ts +0 -1811
  220. package/dist/types/types.d.ts.map +0 -1
  221. package/dist/types/types.js +0 -10
  222. package/dist/types/types.js.map +0 -1
  223. package/dist/utils/BatchProcessor.d.ts +0 -271
  224. package/dist/utils/BatchProcessor.d.ts.map +0 -1
  225. package/dist/utils/BatchProcessor.js +0 -377
  226. package/dist/utils/BatchProcessor.js.map +0 -1
  227. package/dist/utils/MemoryMonitor.d.ts +0 -176
  228. package/dist/utils/MemoryMonitor.d.ts.map +0 -1
  229. package/dist/utils/MemoryMonitor.js +0 -306
  230. package/dist/utils/MemoryMonitor.js.map +0 -1
  231. package/dist/utils/WorkerPoolManager.d.ts +0 -233
  232. package/dist/utils/WorkerPoolManager.d.ts.map +0 -1
  233. package/dist/utils/WorkerPoolManager.js +0 -421
  234. package/dist/utils/WorkerPoolManager.js.map +0 -1
  235. package/dist/utils/compressedCache.d.ts +0 -221
  236. package/dist/utils/compressedCache.d.ts.map +0 -1
  237. package/dist/utils/compressedCache.js +0 -349
  238. package/dist/utils/compressedCache.js.map +0 -1
  239. package/dist/utils/compressionUtil.d.ts +0 -214
  240. package/dist/utils/compressionUtil.d.ts.map +0 -1
  241. package/dist/utils/compressionUtil.js +0 -248
  242. package/dist/utils/compressionUtil.js.map +0 -1
  243. package/dist/utils/constants.d.ts +0 -245
  244. package/dist/utils/constants.d.ts.map +0 -1
  245. package/dist/utils/constants.js +0 -253
  246. package/dist/utils/constants.js.map +0 -1
  247. package/dist/utils/entityUtils.d.ts +0 -379
  248. package/dist/utils/entityUtils.d.ts.map +0 -1
  249. package/dist/utils/entityUtils.js +0 -649
  250. package/dist/utils/entityUtils.js.map +0 -1
  251. package/dist/utils/errors.d.ts +0 -95
  252. package/dist/utils/errors.d.ts.map +0 -1
  253. package/dist/utils/errors.js +0 -146
  254. package/dist/utils/errors.js.map +0 -1
  255. package/dist/utils/formatters.d.ts +0 -145
  256. package/dist/utils/formatters.d.ts.map +0 -1
  257. package/dist/utils/formatters.js +0 -133
  258. package/dist/utils/formatters.js.map +0 -1
  259. package/dist/utils/index.d.ts +0 -26
  260. package/dist/utils/index.d.ts.map +0 -1
  261. package/dist/utils/index.js +0 -88
  262. package/dist/utils/index.js.map +0 -1
  263. package/dist/utils/indexes.d.ts +0 -270
  264. package/dist/utils/indexes.d.ts.map +0 -1
  265. package/dist/utils/indexes.js +0 -527
  266. package/dist/utils/indexes.js.map +0 -1
  267. package/dist/utils/logger.d.ts +0 -31
  268. package/dist/utils/logger.d.ts.map +0 -1
  269. package/dist/utils/logger.js +0 -41
  270. package/dist/utils/logger.js.map +0 -1
  271. package/dist/utils/operationUtils.d.ts +0 -124
  272. package/dist/utils/operationUtils.d.ts.map +0 -1
  273. package/dist/utils/operationUtils.js +0 -176
  274. package/dist/utils/operationUtils.js.map +0 -1
  275. package/dist/utils/parallelUtils.d.ts +0 -76
  276. package/dist/utils/parallelUtils.d.ts.map +0 -1
  277. package/dist/utils/parallelUtils.js +0 -192
  278. package/dist/utils/parallelUtils.js.map +0 -1
  279. package/dist/utils/schemas.d.ts +0 -556
  280. package/dist/utils/schemas.d.ts.map +0 -1
  281. package/dist/utils/schemas.js +0 -485
  282. package/dist/utils/schemas.js.map +0 -1
  283. package/dist/utils/searchAlgorithms.d.ts +0 -99
  284. package/dist/utils/searchAlgorithms.d.ts.map +0 -1
  285. package/dist/utils/searchAlgorithms.js +0 -168
  286. package/dist/utils/searchAlgorithms.js.map +0 -1
  287. package/dist/utils/searchCache.d.ts +0 -108
  288. package/dist/utils/searchCache.d.ts.map +0 -1
  289. package/dist/utils/searchCache.js +0 -210
  290. package/dist/utils/searchCache.js.map +0 -1
  291. package/dist/utils/taskScheduler.d.ts +0 -294
  292. package/dist/utils/taskScheduler.d.ts.map +0 -1
  293. package/dist/utils/taskScheduler.js +0 -487
  294. package/dist/utils/taskScheduler.js.map +0 -1
  295. package/dist/workers/index.d.ts +0 -12
  296. package/dist/workers/index.d.ts.map +0 -1
  297. package/dist/workers/index.js +0 -10
  298. package/dist/workers/index.js.map +0 -1
  299. package/dist/workers/levenshteinWorker.d.ts +0 -60
  300. package/dist/workers/levenshteinWorker.d.ts.map +0 -1
@@ -1,527 +0,0 @@
1
- /**
2
- * Search Indexes
3
- *
4
- * Provides O(1) lookup structures to avoid repeated linear scans.
5
- * - NameIndex: O(1) entity lookup by name
6
- * - TypeIndex: O(1) entities by type
7
- * - LowercaseCache: Pre-computed lowercase strings to avoid repeated toLowerCase()
8
- * - RelationIndex: O(1) relation lookup by entity name (from/to)
9
- * - ObservationIndex: O(1) observation word lookup by entity
10
- *
11
- * @module utils/indexes
12
- */
13
- /**
14
- * NameIndex provides O(1) entity lookup by name.
15
- *
16
- * Uses a Map internally for constant-time access.
17
- */
18
- export class NameIndex {
19
- index = new Map();
20
- /**
21
- * Build the index from an array of entities.
22
- * Clears any existing index data first.
23
- */
24
- build(entities) {
25
- this.index.clear();
26
- for (const entity of entities) {
27
- this.index.set(entity.name, entity);
28
- }
29
- }
30
- /**
31
- * Get an entity by name in O(1) time.
32
- */
33
- get(name) {
34
- return this.index.get(name);
35
- }
36
- /**
37
- * Add a single entity to the index.
38
- */
39
- add(entity) {
40
- this.index.set(entity.name, entity);
41
- }
42
- /**
43
- * Remove an entity from the index by name.
44
- */
45
- remove(name) {
46
- this.index.delete(name);
47
- }
48
- /**
49
- * Check if an entity exists in the index.
50
- */
51
- has(name) {
52
- return this.index.has(name);
53
- }
54
- /**
55
- * Get the number of entities in the index.
56
- */
57
- get size() {
58
- return this.index.size;
59
- }
60
- /**
61
- * Clear all entries from the index.
62
- */
63
- clear() {
64
- this.index.clear();
65
- }
66
- }
67
- /**
68
- * TypeIndex provides O(1) lookup of entities by type.
69
- *
70
- * Uses a Map<type, Set<entityName>> structure for efficient type queries.
71
- * Type comparisons are case-insensitive.
72
- */
73
- export class TypeIndex {
74
- index = new Map();
75
- /**
76
- * Build the index from an array of entities.
77
- * Clears any existing index data first.
78
- */
79
- build(entities) {
80
- this.index.clear();
81
- for (const entity of entities) {
82
- this.addToIndex(entity.name, entity.entityType);
83
- }
84
- }
85
- /**
86
- * Get all entity names of a given type in O(1) time.
87
- * Type comparison is case-insensitive.
88
- */
89
- getNames(entityType) {
90
- const typeLower = entityType.toLowerCase();
91
- return this.index.get(typeLower) ?? new Set();
92
- }
93
- /**
94
- * Add an entity to the type index.
95
- */
96
- add(entity) {
97
- this.addToIndex(entity.name, entity.entityType);
98
- }
99
- /**
100
- * Remove an entity from the type index.
101
- * Requires the entity type to know which bucket to remove from.
102
- */
103
- remove(entityName, entityType) {
104
- const typeLower = entityType.toLowerCase();
105
- const names = this.index.get(typeLower);
106
- if (names) {
107
- names.delete(entityName);
108
- if (names.size === 0) {
109
- this.index.delete(typeLower);
110
- }
111
- }
112
- }
113
- /**
114
- * Update an entity's type in the index.
115
- * Removes from old type and adds to new type.
116
- */
117
- updateType(entityName, oldType, newType) {
118
- this.remove(entityName, oldType);
119
- this.addToIndex(entityName, newType);
120
- }
121
- /**
122
- * Get all unique types in the index.
123
- */
124
- getTypes() {
125
- return Array.from(this.index.keys());
126
- }
127
- /**
128
- * Clear all entries from the index.
129
- */
130
- clear() {
131
- this.index.clear();
132
- }
133
- addToIndex(entityName, entityType) {
134
- const typeLower = entityType.toLowerCase();
135
- let names = this.index.get(typeLower);
136
- if (!names) {
137
- names = new Set();
138
- this.index.set(typeLower, names);
139
- }
140
- names.add(entityName);
141
- }
142
- }
143
- /**
144
- * LowercaseCache pre-computes lowercase versions of all searchable fields.
145
- *
146
- * Eliminates the need for repeated toLowerCase() calls during search,
147
- * which is expensive with many entities and observations.
148
- */
149
- export class LowercaseCache {
150
- cache = new Map();
151
- /**
152
- * Build the cache from an array of entities.
153
- * Clears any existing cache data first.
154
- */
155
- build(entities) {
156
- this.cache.clear();
157
- for (const entity of entities) {
158
- this.cache.set(entity.name, this.computeLowercase(entity));
159
- }
160
- }
161
- /**
162
- * Get pre-computed lowercase data for an entity.
163
- */
164
- get(entityName) {
165
- return this.cache.get(entityName);
166
- }
167
- /**
168
- * Add or update an entity in the cache.
169
- */
170
- set(entity) {
171
- this.cache.set(entity.name, this.computeLowercase(entity));
172
- }
173
- /**
174
- * Remove an entity from the cache.
175
- */
176
- remove(entityName) {
177
- this.cache.delete(entityName);
178
- }
179
- /**
180
- * Check if an entity exists in the cache.
181
- */
182
- has(entityName) {
183
- return this.cache.has(entityName);
184
- }
185
- /**
186
- * Clear all entries from the cache.
187
- */
188
- clear() {
189
- this.cache.clear();
190
- }
191
- /**
192
- * Get the number of entries in the cache.
193
- */
194
- get size() {
195
- return this.cache.size;
196
- }
197
- computeLowercase(entity) {
198
- return {
199
- name: entity.name.toLowerCase(),
200
- entityType: entity.entityType.toLowerCase(),
201
- observations: entity.observations.map(o => o.toLowerCase()),
202
- tags: entity.tags?.map(t => t.toLowerCase()) ?? [],
203
- };
204
- }
205
- }
206
- /**
207
- * RelationIndex provides O(1) lookup of relations by entity name.
208
- *
209
- * Maintains two separate indexes for efficient directional queries:
210
- * - fromIndex: Map from source entity name to its outgoing relations
211
- * - toIndex: Map from target entity name to its incoming relations
212
- *
213
- * This eliminates O(n) array scans when looking up relations for an entity.
214
- */
215
- export class RelationIndex {
216
- /** Index of relations by source (from) entity */
217
- fromIndex = new Map();
218
- /** Index of relations by target (to) entity */
219
- toIndex = new Map();
220
- /**
221
- * Build the index from an array of relations.
222
- * Clears any existing index data first.
223
- */
224
- build(relations) {
225
- this.fromIndex.clear();
226
- this.toIndex.clear();
227
- for (const relation of relations) {
228
- this.addToIndexes(relation);
229
- }
230
- }
231
- /**
232
- * Get all relations where the entity is the source (outgoing relations).
233
- * Returns empty array if no relations found.
234
- */
235
- getRelationsFrom(entityName) {
236
- const relations = this.fromIndex.get(entityName);
237
- return relations ? Array.from(relations) : [];
238
- }
239
- /**
240
- * Get all relations where the entity is the target (incoming relations).
241
- * Returns empty array if no relations found.
242
- */
243
- getRelationsTo(entityName) {
244
- const relations = this.toIndex.get(entityName);
245
- return relations ? Array.from(relations) : [];
246
- }
247
- /**
248
- * Get all relations involving the entity (both incoming and outgoing).
249
- * Returns empty array if no relations found.
250
- */
251
- getRelationsFor(entityName) {
252
- const fromRelations = this.fromIndex.get(entityName);
253
- const toRelations = this.toIndex.get(entityName);
254
- // Combine sets to handle self-referential relations correctly
255
- const combined = new Set();
256
- if (fromRelations) {
257
- for (const r of fromRelations) {
258
- combined.add(r);
259
- }
260
- }
261
- if (toRelations) {
262
- for (const r of toRelations) {
263
- combined.add(r);
264
- }
265
- }
266
- return Array.from(combined);
267
- }
268
- /**
269
- * Add a single relation to the index.
270
- */
271
- add(relation) {
272
- this.addToIndexes(relation);
273
- }
274
- /**
275
- * Remove a relation from the index.
276
- * Matches by from, to, and relationType.
277
- */
278
- remove(relation) {
279
- // Remove from fromIndex
280
- const fromRelations = this.fromIndex.get(relation.from);
281
- if (fromRelations) {
282
- for (const r of fromRelations) {
283
- if (r.from === relation.from && r.to === relation.to && r.relationType === relation.relationType) {
284
- fromRelations.delete(r);
285
- break;
286
- }
287
- }
288
- if (fromRelations.size === 0) {
289
- this.fromIndex.delete(relation.from);
290
- }
291
- }
292
- // Remove from toIndex
293
- const toRelations = this.toIndex.get(relation.to);
294
- if (toRelations) {
295
- for (const r of toRelations) {
296
- if (r.from === relation.from && r.to === relation.to && r.relationType === relation.relationType) {
297
- toRelations.delete(r);
298
- break;
299
- }
300
- }
301
- if (toRelations.size === 0) {
302
- this.toIndex.delete(relation.to);
303
- }
304
- }
305
- }
306
- /**
307
- * Remove all relations involving a specific entity.
308
- * Returns the relations that were removed.
309
- */
310
- removeAllForEntity(entityName) {
311
- const removed = [];
312
- // Remove outgoing relations
313
- const fromRelations = this.fromIndex.get(entityName);
314
- if (fromRelations) {
315
- for (const r of fromRelations) {
316
- removed.push(r);
317
- // Also remove from toIndex
318
- const toRels = this.toIndex.get(r.to);
319
- if (toRels) {
320
- toRels.delete(r);
321
- if (toRels.size === 0) {
322
- this.toIndex.delete(r.to);
323
- }
324
- }
325
- }
326
- this.fromIndex.delete(entityName);
327
- }
328
- // Remove incoming relations
329
- const toRelations = this.toIndex.get(entityName);
330
- if (toRelations) {
331
- for (const r of toRelations) {
332
- // Skip self-referential relations (already handled above)
333
- if (r.from === entityName)
334
- continue;
335
- removed.push(r);
336
- // Also remove from fromIndex
337
- const fromRels = this.fromIndex.get(r.from);
338
- if (fromRels) {
339
- fromRels.delete(r);
340
- if (fromRels.size === 0) {
341
- this.fromIndex.delete(r.from);
342
- }
343
- }
344
- }
345
- this.toIndex.delete(entityName);
346
- }
347
- return removed;
348
- }
349
- /**
350
- * Check if any relations exist for an entity.
351
- */
352
- hasRelations(entityName) {
353
- return this.fromIndex.has(entityName) || this.toIndex.has(entityName);
354
- }
355
- /**
356
- * Get count of outgoing relations for an entity.
357
- */
358
- getOutgoingCount(entityName) {
359
- return this.fromIndex.get(entityName)?.size ?? 0;
360
- }
361
- /**
362
- * Get count of incoming relations for an entity.
363
- */
364
- getIncomingCount(entityName) {
365
- return this.toIndex.get(entityName)?.size ?? 0;
366
- }
367
- /**
368
- * Get total count of unique relations in the index.
369
- */
370
- get size() {
371
- // Count all relations in fromIndex (each relation appears exactly once there)
372
- let count = 0;
373
- for (const relations of this.fromIndex.values()) {
374
- count += relations.size;
375
- }
376
- return count;
377
- }
378
- /**
379
- * Clear all entries from the index.
380
- */
381
- clear() {
382
- this.fromIndex.clear();
383
- this.toIndex.clear();
384
- }
385
- addToIndexes(relation) {
386
- // Add to fromIndex
387
- let fromSet = this.fromIndex.get(relation.from);
388
- if (!fromSet) {
389
- fromSet = new Set();
390
- this.fromIndex.set(relation.from, fromSet);
391
- }
392
- fromSet.add(relation);
393
- // Add to toIndex
394
- let toSet = this.toIndex.get(relation.to);
395
- if (!toSet) {
396
- toSet = new Set();
397
- this.toIndex.set(relation.to, toSet);
398
- }
399
- toSet.add(relation);
400
- }
401
- }
402
- /**
403
- * Inverted index mapping observation keywords to entity names.
404
- * Enables O(1) lookup for 'which entities mention word X?' queries.
405
- * Words are normalized to lowercase and split on whitespace/punctuation.
406
- */
407
- export class ObservationIndex {
408
- index = new Map();
409
- entityObservations = new Map();
410
- /**
411
- * Add an entity's observations to the index.
412
- * Tokenizes observations into words and creates reverse mapping.
413
- *
414
- * @param entityName - Name of the entity
415
- * @param observations - Array of observation strings
416
- */
417
- add(entityName, observations) {
418
- const entityWords = new Set();
419
- for (const observation of observations) {
420
- const words = this.tokenize(observation);
421
- for (const word of words) {
422
- entityWords.add(word);
423
- if (!this.index.has(word)) {
424
- this.index.set(word, new Set());
425
- }
426
- this.index.get(word).add(entityName);
427
- }
428
- }
429
- this.entityObservations.set(entityName, entityWords);
430
- }
431
- /**
432
- * Remove an entity from the index.
433
- * Cleans up all word mappings for this entity.
434
- *
435
- * @param entityName - Name of the entity to remove
436
- */
437
- remove(entityName) {
438
- const words = this.entityObservations.get(entityName);
439
- if (!words)
440
- return;
441
- for (const word of words) {
442
- const entities = this.index.get(word);
443
- if (entities) {
444
- entities.delete(entityName);
445
- if (entities.size === 0) {
446
- this.index.delete(word);
447
- }
448
- }
449
- }
450
- this.entityObservations.delete(entityName);
451
- }
452
- /**
453
- * Get all entities that have observations containing the given word.
454
- * Word matching is case-insensitive.
455
- *
456
- * @param word - Word to search for
457
- * @returns Set of entity names containing this word
458
- */
459
- getEntitiesWithWord(word) {
460
- return this.index.get(word.toLowerCase()) ?? new Set();
461
- }
462
- /**
463
- * Get all entities that have observations containing ANY of the given words (union).
464
- *
465
- * @param words - Array of words to search for
466
- * @returns Set of entity names containing any of the words
467
- */
468
- getEntitiesWithAnyWord(words) {
469
- const result = new Set();
470
- for (const word of words) {
471
- const entities = this.getEntitiesWithWord(word);
472
- for (const entity of entities) {
473
- result.add(entity);
474
- }
475
- }
476
- return result;
477
- }
478
- /**
479
- * Get all entities that have observations containing ALL of the given words (intersection).
480
- *
481
- * @param words - Array of words that must all be present
482
- * @returns Set of entity names containing all of the words
483
- */
484
- getEntitiesWithAllWords(words) {
485
- if (words.length === 0)
486
- return new Set();
487
- let result = new Set(this.getEntitiesWithWord(words[0]));
488
- for (let i = 1; i < words.length && result.size > 0; i++) {
489
- const wordEntities = this.getEntitiesWithWord(words[i]);
490
- result = new Set([...result].filter(e => wordEntities.has(e)));
491
- }
492
- return result;
493
- }
494
- /**
495
- * Clear all entries from the index.
496
- */
497
- clear() {
498
- this.index.clear();
499
- this.entityObservations.clear();
500
- }
501
- /**
502
- * Get statistics about the index.
503
- *
504
- * @returns Object with wordCount and entityCount
505
- */
506
- getStats() {
507
- return {
508
- wordCount: this.index.size,
509
- entityCount: this.entityObservations.size,
510
- };
511
- }
512
- /**
513
- * Tokenize text into searchable words.
514
- * Normalizes to lowercase, splits on non-alphanumeric characters,
515
- * and filters out words less than 2 characters.
516
- *
517
- * @param text - Text to tokenize
518
- * @returns Array of normalized words
519
- */
520
- tokenize(text) {
521
- return text
522
- .toLowerCase()
523
- .split(/[^a-z0-9]+/)
524
- .filter(word => word.length >= 2);
525
- }
526
- }
527
- //# sourceMappingURL=indexes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/utils/indexes.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Simple logging utility for the Memory MCP Server
3
- *
4
- * Provides consistent log formatting with levels: debug, info, warn, error
5
- *
6
- * IMPORTANT: All log output goes to stderr to avoid interfering with
7
- * JSON-RPC communication on stdout when running as an MCP server.
8
- */
9
- export declare const logger: {
10
- /**
11
- * Debug level logging (verbose, for development)
12
- * Output: stderr (to avoid interfering with JSON-RPC)
13
- */
14
- debug: (msg: string, ...args: unknown[]) => void;
15
- /**
16
- * Info level logging (general informational messages)
17
- * Output: stderr (to avoid interfering with JSON-RPC)
18
- */
19
- info: (msg: string, ...args: unknown[]) => void;
20
- /**
21
- * Warning level logging (warnings that don't prevent operation)
22
- * Output: stderr (native console.warn behavior)
23
- */
24
- warn: (msg: string, ...args: unknown[]) => void;
25
- /**
26
- * Error level logging (errors that affect functionality)
27
- * Output: stderr (native console.error behavior)
28
- */
29
- error: (msg: string, ...args: unknown[]) => void;
30
- };
31
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,MAAM;IACjB;;;OAGG;iBACU,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;IAM9C;;;OAGG;gBACS,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;IAI7C;;;OAGG;gBACS,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;IAI7C;;;OAGG;iBACU,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;CAG/C,CAAC"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Simple logging utility for the Memory MCP Server
3
- *
4
- * Provides consistent log formatting with levels: debug, info, warn, error
5
- *
6
- * IMPORTANT: All log output goes to stderr to avoid interfering with
7
- * JSON-RPC communication on stdout when running as an MCP server.
8
- */
9
- export const logger = {
10
- /**
11
- * Debug level logging (verbose, for development)
12
- * Output: stderr (to avoid interfering with JSON-RPC)
13
- */
14
- debug: (msg, ...args) => {
15
- if (process.env.LOG_LEVEL === 'debug') {
16
- console.error(`[DEBUG] ${msg}`, ...args);
17
- }
18
- },
19
- /**
20
- * Info level logging (general informational messages)
21
- * Output: stderr (to avoid interfering with JSON-RPC)
22
- */
23
- info: (msg, ...args) => {
24
- console.error(`[INFO] ${msg}`, ...args);
25
- },
26
- /**
27
- * Warning level logging (warnings that don't prevent operation)
28
- * Output: stderr (native console.warn behavior)
29
- */
30
- warn: (msg, ...args) => {
31
- console.warn(`[WARN] ${msg}`, ...args);
32
- },
33
- /**
34
- * Error level logging (errors that affect functionality)
35
- * Output: stderr (native console.error behavior)
36
- */
37
- error: (msg, ...args) => {
38
- console.error(`[ERROR] ${msg}`, ...args);
39
- },
40
- };
41
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;;;OAGG;IACH,KAAK,EAAE,CAAC,GAAW,EAAE,GAAG,IAAe,EAAQ,EAAE;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,EAAE,CAAC,GAAW,EAAE,GAAG,IAAe,EAAQ,EAAE;QAC9C,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,IAAI,EAAE,CAAC,GAAW,EAAE,GAAG,IAAe,EAAQ,EAAE;QAC9C,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,KAAK,EAAE,CAAC,GAAW,EAAE,GAAG,IAAe,EAAQ,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC"}