@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
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/workers/levenshteinWorker.ts
31
+ var levenshteinWorker_exports = {};
32
+ __export(levenshteinWorker_exports, {
33
+ levenshteinDistance: () => levenshteinDistance,
34
+ searchEntities: () => searchEntities,
35
+ similarity: () => similarity
36
+ });
37
+ module.exports = __toCommonJS(levenshteinWorker_exports);
38
+ var import_workerpool = __toESM(require("@danielsimonjr/workerpool"), 1);
39
+ function levenshteinDistance(s1, s2) {
40
+ const len1 = s1.length;
41
+ const len2 = s2.length;
42
+ if (len1 === 0) return len2;
43
+ if (len2 === 0) return len1;
44
+ const matrix = [];
45
+ for (let i = 0; i <= len1; i++) {
46
+ matrix[i] = [i];
47
+ }
48
+ for (let j = 0; j <= len2; j++) {
49
+ matrix[0][j] = j;
50
+ }
51
+ for (let i = 1; i <= len1; i++) {
52
+ for (let j = 1; j <= len2; j++) {
53
+ const cost = s1[i - 1] === s2[j - 1] ? 0 : 1;
54
+ matrix[i][j] = Math.min(
55
+ matrix[i - 1][j] + 1,
56
+ // deletion
57
+ matrix[i][j - 1] + 1,
58
+ // insertion
59
+ matrix[i - 1][j - 1] + cost
60
+ // substitution
61
+ );
62
+ }
63
+ }
64
+ return matrix[len1][len2];
65
+ }
66
+ function similarity(s1, s2) {
67
+ if (s1 === s2) return 1;
68
+ if (s1.includes(s2) || s2.includes(s1)) return 1;
69
+ const distance = levenshteinDistance(s1, s2);
70
+ const maxLength = Math.max(s1.length, s2.length);
71
+ return 1 - distance / maxLength;
72
+ }
73
+ function searchEntities(data) {
74
+ const { query, entities, threshold } = data;
75
+ const queryLower = query.toLowerCase();
76
+ const results = [];
77
+ for (const entity of entities) {
78
+ const nameScore = similarity(queryLower, entity.nameLower);
79
+ if (nameScore >= threshold) {
80
+ results.push({ name: entity.name, score: nameScore, matchedIn: "name" });
81
+ continue;
82
+ }
83
+ for (const obs of entity.observations) {
84
+ const obsScore = similarity(queryLower, obs);
85
+ if (obsScore >= threshold) {
86
+ results.push({ name: entity.name, score: obsScore, matchedIn: "observation" });
87
+ break;
88
+ }
89
+ }
90
+ }
91
+ return results;
92
+ }
93
+ import_workerpool.default.worker({
94
+ searchEntities
95
+ });
96
+ // Annotate the CommonJS export names for ESM import in node:
97
+ 0 && (module.exports = {
98
+ levenshteinDistance,
99
+ searchEntities,
100
+ similarity
101
+ });
102
+ //# sourceMappingURL=levenshteinWorker.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/workers/levenshteinWorker.ts"],"sourcesContent":["/**\r\n * Levenshtein Worker\r\n *\r\n * Worker thread for calculating Levenshtein distances in parallel.\r\n * Uses workerpool for worker management.\r\n *\r\n * @module workers/levenshteinWorker\r\n */\r\n\r\nimport workerpool from '@danielsimonjr/workerpool';\r\n\r\n/**\r\n * Input data structure for the worker.\r\n */\r\nexport interface WorkerInput {\r\n /** Search query string */\r\n query: string;\r\n /** Array of entities to search */\r\n entities: Array<{\r\n name: string;\r\n nameLower: string;\r\n observations: string[];\r\n }>;\r\n /** Similarity threshold (0.0 to 1.0) */\r\n threshold: number;\r\n}\r\n\r\n/**\r\n * Match result returned by the worker.\r\n */\r\nexport interface MatchResult {\r\n /** Entity name that matched */\r\n name: string;\r\n /** Similarity score (0.0 to 1.0) */\r\n score: number;\r\n /** Where the match occurred */\r\n matchedIn: 'name' | 'observation';\r\n}\r\n\r\n/**\r\n * Calculate Levenshtein distance between two strings.\r\n *\r\n * Uses dynamic programming matrix for efficient computation.\r\n *\r\n * @param s1 - First string\r\n * @param s2 - Second string\r\n * @returns Levenshtein distance (number of edits)\r\n */\r\nexport function levenshteinDistance(s1: string, s2: string): number {\r\n const len1 = s1.length;\r\n const len2 = s2.length;\r\n\r\n if (len1 === 0) return len2;\r\n if (len2 === 0) return len1;\r\n\r\n const matrix: number[][] = [];\r\n\r\n // Initialize first column\r\n for (let i = 0; i <= len1; i++) {\r\n matrix[i] = [i];\r\n }\r\n\r\n // Initialize first row\r\n for (let j = 0; j <= len2; j++) {\r\n matrix[0][j] = j;\r\n }\r\n\r\n // Fill matrix\r\n for (let i = 1; i <= len1; i++) {\r\n for (let j = 1; j <= len2; j++) {\r\n const cost = s1[i - 1] === s2[j - 1] ? 0 : 1;\r\n matrix[i][j] = Math.min(\r\n matrix[i - 1][j] + 1, // deletion\r\n matrix[i][j - 1] + 1, // insertion\r\n matrix[i - 1][j - 1] + cost // substitution\r\n );\r\n }\r\n }\r\n\r\n return matrix[len1][len2];\r\n}\r\n\r\n/**\r\n * Calculate similarity score between two strings.\r\n *\r\n * @param s1 - First string\r\n * @param s2 - Second string\r\n * @returns Similarity score (0.0 to 1.0, where 1.0 is identical)\r\n */\r\nexport function similarity(s1: string, s2: string): number {\r\n // Exact match\r\n if (s1 === s2) return 1.0;\r\n\r\n // One contains the other\r\n if (s1.includes(s2) || s2.includes(s1)) return 1.0;\r\n\r\n // Calculate Levenshtein-based similarity\r\n const distance = levenshteinDistance(s1, s2);\r\n const maxLength = Math.max(s1.length, s2.length);\r\n return 1 - distance / maxLength;\r\n}\r\n\r\n/**\r\n * Search entities for fuzzy matches.\r\n *\r\n * @param data - Worker input containing query, entities, and threshold\r\n * @returns Array of match results\r\n */\r\nexport function searchEntities(data: WorkerInput): MatchResult[] {\r\n const { query, entities, threshold } = data;\r\n const queryLower = query.toLowerCase();\r\n const results: MatchResult[] = [];\r\n\r\n for (const entity of entities) {\r\n // Check name similarity\r\n const nameScore = similarity(queryLower, entity.nameLower);\r\n if (nameScore >= threshold) {\r\n results.push({ name: entity.name, score: nameScore, matchedIn: 'name' });\r\n continue;\r\n }\r\n\r\n // Check observations\r\n for (const obs of entity.observations) {\r\n const obsScore = similarity(queryLower, obs);\r\n if (obsScore >= threshold) {\r\n results.push({ name: entity.name, score: obsScore, matchedIn: 'observation' });\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return results;\r\n}\r\n\r\n// Register worker methods with workerpool\r\n// Cast to satisfy workerpool's generic type signature\r\nworkerpool.worker({\r\n searchEntities: searchEntities as (...args: unknown[]) => unknown,\r\n});\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,wBAAuB;AAuChB,SAAS,oBAAoB,IAAY,IAAoB;AAClE,QAAM,OAAO,GAAG;AAChB,QAAM,OAAO,GAAG;AAEhB,MAAI,SAAS,EAAG,QAAO;AACvB,MAAI,SAAS,EAAG,QAAO;AAEvB,QAAM,SAAqB,CAAC;AAG5B,WAAS,IAAI,GAAG,KAAK,MAAM,KAAK;AAC9B,WAAO,CAAC,IAAI,CAAC,CAAC;AAAA,EAChB;AAGA,WAAS,IAAI,GAAG,KAAK,MAAM,KAAK;AAC9B,WAAO,CAAC,EAAE,CAAC,IAAI;AAAA,EACjB;AAGA,WAAS,IAAI,GAAG,KAAK,MAAM,KAAK;AAC9B,aAAS,IAAI,GAAG,KAAK,MAAM,KAAK;AAC9B,YAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI;AAC3C,aAAO,CAAC,EAAE,CAAC,IAAI,KAAK;AAAA,QAClB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI;AAAA;AAAA,QACnB,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI;AAAA;AAAA,QACnB,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;AAAA;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AAEA,SAAO,OAAO,IAAI,EAAE,IAAI;AAC1B;AASO,SAAS,WAAW,IAAY,IAAoB;AAEzD,MAAI,OAAO,GAAI,QAAO;AAGtB,MAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,EAAG,QAAO;AAG/C,QAAM,WAAW,oBAAoB,IAAI,EAAE;AAC3C,QAAM,YAAY,KAAK,IAAI,GAAG,QAAQ,GAAG,MAAM;AAC/C,SAAO,IAAI,WAAW;AACxB;AAQO,SAAS,eAAe,MAAkC;AAC/D,QAAM,EAAE,OAAO,UAAU,UAAU,IAAI;AACvC,QAAM,aAAa,MAAM,YAAY;AACrC,QAAM,UAAyB,CAAC;AAEhC,aAAW,UAAU,UAAU;AAE7B,UAAM,YAAY,WAAW,YAAY,OAAO,SAAS;AACzD,QAAI,aAAa,WAAW;AAC1B,cAAQ,KAAK,EAAE,MAAM,OAAO,MAAM,OAAO,WAAW,WAAW,OAAO,CAAC;AACvE;AAAA,IACF;AAGA,eAAW,OAAO,OAAO,cAAc;AACrC,YAAM,WAAW,WAAW,YAAY,GAAG;AAC3C,UAAI,YAAY,WAAW;AACzB,gBAAQ,KAAK,EAAE,MAAM,OAAO,MAAM,OAAO,UAAU,WAAW,cAAc,CAAC;AAC7E;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAIA,kBAAAA,QAAW,OAAO;AAAA,EAChB;AACF,CAAC;","names":["workerpool"]}
@@ -1,99 +1,65 @@
1
- /**
2
- * Levenshtein Worker
3
- *
4
- * Worker thread for calculating Levenshtein distances in parallel.
5
- * Uses workerpool for worker management.
6
- *
7
- * @module workers/levenshteinWorker
8
- */
9
- import workerpool from '@danielsimonjr/workerpool';
10
- /**
11
- * Calculate Levenshtein distance between two strings.
12
- *
13
- * Uses dynamic programming matrix for efficient computation.
14
- *
15
- * @param s1 - First string
16
- * @param s2 - Second string
17
- * @returns Levenshtein distance (number of edits)
18
- */
19
- export function levenshteinDistance(s1, s2) {
20
- const len1 = s1.length;
21
- const len2 = s2.length;
22
- if (len1 === 0)
23
- return len2;
24
- if (len2 === 0)
25
- return len1;
26
- const matrix = [];
27
- // Initialize first column
28
- for (let i = 0; i <= len1; i++) {
29
- matrix[i] = [i];
1
+ // src/workers/levenshteinWorker.ts
2
+ import workerpool from "@danielsimonjr/workerpool";
3
+ function levenshteinDistance(s1, s2) {
4
+ const len1 = s1.length;
5
+ const len2 = s2.length;
6
+ if (len1 === 0) return len2;
7
+ if (len2 === 0) return len1;
8
+ const matrix = [];
9
+ for (let i = 0; i <= len1; i++) {
10
+ matrix[i] = [i];
11
+ }
12
+ for (let j = 0; j <= len2; j++) {
13
+ matrix[0][j] = j;
14
+ }
15
+ for (let i = 1; i <= len1; i++) {
16
+ for (let j = 1; j <= len2; j++) {
17
+ const cost = s1[i - 1] === s2[j - 1] ? 0 : 1;
18
+ matrix[i][j] = Math.min(
19
+ matrix[i - 1][j] + 1,
20
+ // deletion
21
+ matrix[i][j - 1] + 1,
22
+ // insertion
23
+ matrix[i - 1][j - 1] + cost
24
+ // substitution
25
+ );
30
26
  }
31
- // Initialize first row
32
- for (let j = 0; j <= len2; j++) {
33
- matrix[0][j] = j;
34
- }
35
- // Fill matrix
36
- for (let i = 1; i <= len1; i++) {
37
- for (let j = 1; j <= len2; j++) {
38
- const cost = s1[i - 1] === s2[j - 1] ? 0 : 1;
39
- matrix[i][j] = Math.min(matrix[i - 1][j] + 1, // deletion
40
- matrix[i][j - 1] + 1, // insertion
41
- matrix[i - 1][j - 1] + cost // substitution
42
- );
43
- }
44
- }
45
- return matrix[len1][len2];
27
+ }
28
+ return matrix[len1][len2];
46
29
  }
47
- /**
48
- * Calculate similarity score between two strings.
49
- *
50
- * @param s1 - First string
51
- * @param s2 - Second string
52
- * @returns Similarity score (0.0 to 1.0, where 1.0 is identical)
53
- */
54
- export function similarity(s1, s2) {
55
- // Exact match
56
- if (s1 === s2)
57
- return 1.0;
58
- // One contains the other
59
- if (s1.includes(s2) || s2.includes(s1))
60
- return 1.0;
61
- // Calculate Levenshtein-based similarity
62
- const distance = levenshteinDistance(s1, s2);
63
- const maxLength = Math.max(s1.length, s2.length);
64
- return 1 - distance / maxLength;
30
+ function similarity(s1, s2) {
31
+ if (s1 === s2) return 1;
32
+ if (s1.includes(s2) || s2.includes(s1)) return 1;
33
+ const distance = levenshteinDistance(s1, s2);
34
+ const maxLength = Math.max(s1.length, s2.length);
35
+ return 1 - distance / maxLength;
65
36
  }
66
- /**
67
- * Search entities for fuzzy matches.
68
- *
69
- * @param data - Worker input containing query, entities, and threshold
70
- * @returns Array of match results
71
- */
72
- export function searchEntities(data) {
73
- const { query, entities, threshold } = data;
74
- const queryLower = query.toLowerCase();
75
- const results = [];
76
- for (const entity of entities) {
77
- // Check name similarity
78
- const nameScore = similarity(queryLower, entity.nameLower);
79
- if (nameScore >= threshold) {
80
- results.push({ name: entity.name, score: nameScore, matchedIn: 'name' });
81
- continue;
82
- }
83
- // Check observations
84
- for (const obs of entity.observations) {
85
- const obsScore = similarity(queryLower, obs);
86
- if (obsScore >= threshold) {
87
- results.push({ name: entity.name, score: obsScore, matchedIn: 'observation' });
88
- break;
89
- }
90
- }
37
+ function searchEntities(data) {
38
+ const { query, entities, threshold } = data;
39
+ const queryLower = query.toLowerCase();
40
+ const results = [];
41
+ for (const entity of entities) {
42
+ const nameScore = similarity(queryLower, entity.nameLower);
43
+ if (nameScore >= threshold) {
44
+ results.push({ name: entity.name, score: nameScore, matchedIn: "name" });
45
+ continue;
46
+ }
47
+ for (const obs of entity.observations) {
48
+ const obsScore = similarity(queryLower, obs);
49
+ if (obsScore >= threshold) {
50
+ results.push({ name: entity.name, score: obsScore, matchedIn: "observation" });
51
+ break;
52
+ }
91
53
  }
92
- return results;
54
+ }
55
+ return results;
93
56
  }
94
- // Register worker methods with workerpool
95
- // Cast to satisfy workerpool's generic type signature
96
57
  workerpool.worker({
97
- searchEntities: searchEntities,
58
+ searchEntities
98
59
  });
60
+ export {
61
+ levenshteinDistance,
62
+ searchEntities,
63
+ similarity
64
+ };
99
65
  //# sourceMappingURL=levenshteinWorker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"levenshteinWorker.js","sourceRoot":"","sources":["../../src/workers/levenshteinWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/workers/levenshteinWorker.ts"],"sourcesContent":["/**\r\n * Levenshtein Worker\r\n *\r\n * Worker thread for calculating Levenshtein distances in parallel.\r\n * Uses workerpool for worker management.\r\n *\r\n * @module workers/levenshteinWorker\r\n */\r\n\r\nimport workerpool from '@danielsimonjr/workerpool';\r\n\r\n/**\r\n * Input data structure for the worker.\r\n */\r\nexport interface WorkerInput {\r\n /** Search query string */\r\n query: string;\r\n /** Array of entities to search */\r\n entities: Array<{\r\n name: string;\r\n nameLower: string;\r\n observations: string[];\r\n }>;\r\n /** Similarity threshold (0.0 to 1.0) */\r\n threshold: number;\r\n}\r\n\r\n/**\r\n * Match result returned by the worker.\r\n */\r\nexport interface MatchResult {\r\n /** Entity name that matched */\r\n name: string;\r\n /** Similarity score (0.0 to 1.0) */\r\n score: number;\r\n /** Where the match occurred */\r\n matchedIn: 'name' | 'observation';\r\n}\r\n\r\n/**\r\n * Calculate Levenshtein distance between two strings.\r\n *\r\n * Uses dynamic programming matrix for efficient computation.\r\n *\r\n * @param s1 - First string\r\n * @param s2 - Second string\r\n * @returns Levenshtein distance (number of edits)\r\n */\r\nexport function levenshteinDistance(s1: string, s2: string): number {\r\n const len1 = s1.length;\r\n const len2 = s2.length;\r\n\r\n if (len1 === 0) return len2;\r\n if (len2 === 0) return len1;\r\n\r\n const matrix: number[][] = [];\r\n\r\n // Initialize first column\r\n for (let i = 0; i <= len1; i++) {\r\n matrix[i] = [i];\r\n }\r\n\r\n // Initialize first row\r\n for (let j = 0; j <= len2; j++) {\r\n matrix[0][j] = j;\r\n }\r\n\r\n // Fill matrix\r\n for (let i = 1; i <= len1; i++) {\r\n for (let j = 1; j <= len2; j++) {\r\n const cost = s1[i - 1] === s2[j - 1] ? 0 : 1;\r\n matrix[i][j] = Math.min(\r\n matrix[i - 1][j] + 1, // deletion\r\n matrix[i][j - 1] + 1, // insertion\r\n matrix[i - 1][j - 1] + cost // substitution\r\n );\r\n }\r\n }\r\n\r\n return matrix[len1][len2];\r\n}\r\n\r\n/**\r\n * Calculate similarity score between two strings.\r\n *\r\n * @param s1 - First string\r\n * @param s2 - Second string\r\n * @returns Similarity score (0.0 to 1.0, where 1.0 is identical)\r\n */\r\nexport function similarity(s1: string, s2: string): number {\r\n // Exact match\r\n if (s1 === s2) return 1.0;\r\n\r\n // One contains the other\r\n if (s1.includes(s2) || s2.includes(s1)) return 1.0;\r\n\r\n // Calculate Levenshtein-based similarity\r\n const distance = levenshteinDistance(s1, s2);\r\n const maxLength = Math.max(s1.length, s2.length);\r\n return 1 - distance / maxLength;\r\n}\r\n\r\n/**\r\n * Search entities for fuzzy matches.\r\n *\r\n * @param data - Worker input containing query, entities, and threshold\r\n * @returns Array of match results\r\n */\r\nexport function searchEntities(data: WorkerInput): MatchResult[] {\r\n const { query, entities, threshold } = data;\r\n const queryLower = query.toLowerCase();\r\n const results: MatchResult[] = [];\r\n\r\n for (const entity of entities) {\r\n // Check name similarity\r\n const nameScore = similarity(queryLower, entity.nameLower);\r\n if (nameScore >= threshold) {\r\n results.push({ name: entity.name, score: nameScore, matchedIn: 'name' });\r\n continue;\r\n }\r\n\r\n // Check observations\r\n for (const obs of entity.observations) {\r\n const obsScore = similarity(queryLower, obs);\r\n if (obsScore >= threshold) {\r\n results.push({ name: entity.name, score: obsScore, matchedIn: 'observation' });\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return results;\r\n}\r\n\r\n// Register worker methods with workerpool\r\n// Cast to satisfy workerpool's generic type signature\r\nworkerpool.worker({\r\n searchEntities: searchEntities as (...args: unknown[]) => unknown,\r\n});\r\n"],"mappings":";AASA,OAAO,gBAAgB;AAuChB,SAAS,oBAAoB,IAAY,IAAoB;AAClE,QAAM,OAAO,GAAG;AAChB,QAAM,OAAO,GAAG;AAEhB,MAAI,SAAS,EAAG,QAAO;AACvB,MAAI,SAAS,EAAG,QAAO;AAEvB,QAAM,SAAqB,CAAC;AAG5B,WAAS,IAAI,GAAG,KAAK,MAAM,KAAK;AAC9B,WAAO,CAAC,IAAI,CAAC,CAAC;AAAA,EAChB;AAGA,WAAS,IAAI,GAAG,KAAK,MAAM,KAAK;AAC9B,WAAO,CAAC,EAAE,CAAC,IAAI;AAAA,EACjB;AAGA,WAAS,IAAI,GAAG,KAAK,MAAM,KAAK;AAC9B,aAAS,IAAI,GAAG,KAAK,MAAM,KAAK;AAC9B,YAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI;AAC3C,aAAO,CAAC,EAAE,CAAC,IAAI,KAAK;AAAA,QAClB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI;AAAA;AAAA,QACnB,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI;AAAA;AAAA,QACnB,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;AAAA;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AAEA,SAAO,OAAO,IAAI,EAAE,IAAI;AAC1B;AASO,SAAS,WAAW,IAAY,IAAoB;AAEzD,MAAI,OAAO,GAAI,QAAO;AAGtB,MAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,EAAG,QAAO;AAG/C,QAAM,WAAW,oBAAoB,IAAI,EAAE;AAC3C,QAAM,YAAY,KAAK,IAAI,GAAG,QAAQ,GAAG,MAAM;AAC/C,SAAO,IAAI,WAAW;AACxB;AAQO,SAAS,eAAe,MAAkC;AAC/D,QAAM,EAAE,OAAO,UAAU,UAAU,IAAI;AACvC,QAAM,aAAa,MAAM,YAAY;AACrC,QAAM,UAAyB,CAAC;AAEhC,aAAW,UAAU,UAAU;AAE7B,UAAM,YAAY,WAAW,YAAY,OAAO,SAAS;AACzD,QAAI,aAAa,WAAW;AAC1B,cAAQ,KAAK,EAAE,MAAM,OAAO,MAAM,OAAO,WAAW,WAAW,OAAO,CAAC;AACvE;AAAA,IACF;AAGA,eAAW,OAAO,OAAO,cAAc;AACrC,YAAM,WAAW,WAAW,YAAY,GAAG;AAC3C,UAAI,YAAY,WAAW;AACzB,gBAAQ,KAAK,EAAE,MAAM,OAAO,MAAM,OAAO,UAAU,WAAW,cAAc,CAAC;AAC7E;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAIA,WAAW,OAAO;AAAA,EAChB;AACF,CAAC;","names":[]}
package/package.json CHANGED
@@ -1,69 +1,75 @@
1
- {
2
- "name": "@danielsimonjr/memoryjs",
3
- "version": "1.0.0",
4
- "description": "Core knowledge graph library with search, storage, and graph algorithms",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js"
12
- }
13
- },
14
- "bin": {
15
- "memoryjs": "./dist/index.js"
16
- },
17
- "files": [
18
- "dist",
19
- "README.md",
20
- "LICENSE"
21
- ],
22
- "scripts": {
23
- "build": "tsc",
24
- "build:watch": "tsc --watch",
25
- "typecheck": "tsc --noEmit",
26
- "test": "vitest run",
27
- "test:watch": "vitest",
28
- "test:coverage": "vitest run --coverage",
29
- "clean": "rimraf dist",
30
- "prepublishOnly": "npm run clean && npm run build && npm run test"
31
- },
32
- "keywords": [
33
- "knowledge-graph",
34
- "graph-database",
35
- "entity-management",
36
- "search",
37
- "sqlite",
38
- "jsonl",
39
- "semantic-search",
40
- "hybrid-search"
41
- ],
42
- "author": "Daniel Simon Jr",
43
- "license": "MIT",
44
- "repository": {
45
- "type": "git",
46
- "url": "git+https://github.com/danielsimonjr/memoryjs.git"
47
- },
48
- "bugs": {
49
- "url": "https://github.com/danielsimonjr/memoryjs/issues"
50
- },
51
- "homepage": "https://github.com/danielsimonjr/memoryjs#readme",
52
- "engines": {
53
- "node": ">=18.0.0"
54
- },
55
- "dependencies": {
56
- "@danielsimonjr/workerpool": "^10.0.1",
57
- "async-mutex": "^0.5.0",
58
- "better-sqlite3": "^11.7.0",
59
- "zod": "^3.24.1"
60
- },
61
- "devDependencies": {
62
- "@types/better-sqlite3": "^7.6.12",
63
- "@types/node": "^22.10.5",
64
- "@vitest/coverage-v8": "^4.0.16",
65
- "rimraf": "^6.0.1",
66
- "typescript": "^5.7.2",
67
- "vitest": "^4.0.16"
68
- }
69
- }
1
+ {
2
+ "name": "@danielsimonjr/memoryjs",
3
+ "version": "1.2.0",
4
+ "description": "Core knowledge graph library with search, storage, and graph algorithms",
5
+ "type": "module",
6
+ "main": "dist/index.cjs",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ }
15
+ },
16
+ "bin": {
17
+ "memoryjs": "./dist/index.js"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "README.md",
22
+ "LICENSE"
23
+ ],
24
+ "scripts": {
25
+ "build": "tsup",
26
+ "build:watch": "tsup --watch",
27
+ "build:tsc": "tsc",
28
+ "typecheck": "tsc --noEmit",
29
+ "test": "vitest run",
30
+ "test:watch": "vitest",
31
+ "test:coverage": "vitest run --coverage",
32
+ "clean": "rimraf dist",
33
+ "prepublishOnly": "npm run clean && npm run build && npm run test",
34
+ "tools:install": "cd tools/chunking-for-files && npm install && cd ../compress-for-context && npm install && cd ../create-dependency-graph && npm install && cd ../migrate-from-jsonl-to-sqlite && npm install",
35
+ "tools:build": "cd tools/chunking-for-files && npm run build && cd ../compress-for-context && npm run build && cd ../create-dependency-graph && npm run build && cd ../migrate-from-jsonl-to-sqlite && npm run build"
36
+ },
37
+ "keywords": [
38
+ "knowledge-graph",
39
+ "graph-database",
40
+ "entity-management",
41
+ "search",
42
+ "sqlite",
43
+ "jsonl",
44
+ "semantic-search",
45
+ "hybrid-search"
46
+ ],
47
+ "author": "Daniel Simon Jr",
48
+ "license": "MIT",
49
+ "repository": {
50
+ "type": "git",
51
+ "url": "git+https://github.com/danielsimonjr/memoryjs.git"
52
+ },
53
+ "bugs": {
54
+ "url": "https://github.com/danielsimonjr/memoryjs/issues"
55
+ },
56
+ "homepage": "https://github.com/danielsimonjr/memoryjs#readme",
57
+ "engines": {
58
+ "node": ">=18.0.0"
59
+ },
60
+ "dependencies": {
61
+ "@danielsimonjr/workerpool": "^10.0.1",
62
+ "async-mutex": "^0.5.0",
63
+ "better-sqlite3": "^11.7.0",
64
+ "zod": "^3.24.1"
65
+ },
66
+ "devDependencies": {
67
+ "@types/better-sqlite3": "^7.6.12",
68
+ "@types/node": "^22.10.5",
69
+ "@vitest/coverage-v8": "^4.0.16",
70
+ "rimraf": "^6.0.1",
71
+ "tsup": "^8.3.5",
72
+ "typescript": "^5.7.2",
73
+ "vitest": "^4.0.16"
74
+ }
75
+ }