@danielsimonjr/memory-mcp 11.1.1 → 12.5.2

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 (161) hide show
  1. package/README.md +302 -107
  2. package/dist/index.d.ts +2 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +6 -0
  5. package/dist/server/toolDefinitions.d.ts +1 -1
  6. package/dist/server/toolDefinitions.d.ts.map +1 -1
  7. package/dist/server/toolDefinitions.js +2323 -6
  8. package/dist/server/toolHandlers.d.ts +2 -10
  9. package/dist/server/toolHandlers.d.ts.map +1 -1
  10. package/dist/server/toolHandlers.js +2097 -7
  11. package/package.json +9 -6
  12. package/dist/core/EntityManager.d.ts +0 -263
  13. package/dist/core/EntityManager.d.ts.map +0 -1
  14. package/dist/core/EntityManager.js +0 -478
  15. package/dist/core/GraphStorage.d.ts +0 -344
  16. package/dist/core/GraphStorage.d.ts.map +0 -1
  17. package/dist/core/GraphStorage.js +0 -708
  18. package/dist/core/GraphTraversal.d.ts +0 -136
  19. package/dist/core/GraphTraversal.d.ts.map +0 -1
  20. package/dist/core/GraphTraversal.js +0 -556
  21. package/dist/core/HierarchyManager.d.ts +0 -111
  22. package/dist/core/HierarchyManager.d.ts.map +0 -1
  23. package/dist/core/HierarchyManager.js +0 -224
  24. package/dist/core/ManagerContext.d.ts +0 -72
  25. package/dist/core/ManagerContext.d.ts.map +0 -1
  26. package/dist/core/ManagerContext.js +0 -118
  27. package/dist/core/ObservationManager.d.ts +0 -85
  28. package/dist/core/ObservationManager.d.ts.map +0 -1
  29. package/dist/core/ObservationManager.js +0 -123
  30. package/dist/core/RelationManager.d.ts +0 -131
  31. package/dist/core/RelationManager.d.ts.map +0 -1
  32. package/dist/core/RelationManager.js +0 -210
  33. package/dist/core/SQLiteStorage.d.ts +0 -354
  34. package/dist/core/SQLiteStorage.d.ts.map +0 -1
  35. package/dist/core/SQLiteStorage.js +0 -917
  36. package/dist/core/StorageFactory.d.ts +0 -45
  37. package/dist/core/StorageFactory.d.ts.map +0 -1
  38. package/dist/core/StorageFactory.js +0 -64
  39. package/dist/core/TransactionManager.d.ts +0 -259
  40. package/dist/core/TransactionManager.d.ts.map +0 -1
  41. package/dist/core/TransactionManager.js +0 -392
  42. package/dist/core/index.d.ts +0 -16
  43. package/dist/core/index.d.ts.map +0 -1
  44. package/dist/core/index.js +0 -17
  45. package/dist/features/AnalyticsManager.d.ts +0 -44
  46. package/dist/features/AnalyticsManager.d.ts.map +0 -1
  47. package/dist/features/AnalyticsManager.js +0 -223
  48. package/dist/features/ArchiveManager.d.ts +0 -121
  49. package/dist/features/ArchiveManager.d.ts.map +0 -1
  50. package/dist/features/ArchiveManager.js +0 -240
  51. package/dist/features/CompressionManager.d.ts +0 -109
  52. package/dist/features/CompressionManager.d.ts.map +0 -1
  53. package/dist/features/CompressionManager.js +0 -404
  54. package/dist/features/IOManager.d.ts +0 -221
  55. package/dist/features/IOManager.d.ts.map +0 -1
  56. package/dist/features/IOManager.js +0 -997
  57. package/dist/features/StreamingExporter.d.ts +0 -105
  58. package/dist/features/StreamingExporter.d.ts.map +0 -1
  59. package/dist/features/StreamingExporter.js +0 -150
  60. package/dist/features/TagManager.d.ts +0 -147
  61. package/dist/features/TagManager.d.ts.map +0 -1
  62. package/dist/features/TagManager.js +0 -210
  63. package/dist/features/index.d.ts +0 -12
  64. package/dist/features/index.d.ts.map +0 -1
  65. package/dist/features/index.js +0 -11
  66. package/dist/search/BasicSearch.d.ts +0 -51
  67. package/dist/search/BasicSearch.d.ts.map +0 -1
  68. package/dist/search/BasicSearch.js +0 -137
  69. package/dist/search/BooleanSearch.d.ts +0 -98
  70. package/dist/search/BooleanSearch.d.ts.map +0 -1
  71. package/dist/search/BooleanSearch.js +0 -430
  72. package/dist/search/EmbeddingService.d.ts +0 -178
  73. package/dist/search/EmbeddingService.d.ts.map +0 -1
  74. package/dist/search/EmbeddingService.js +0 -358
  75. package/dist/search/FuzzySearch.d.ts +0 -118
  76. package/dist/search/FuzzySearch.d.ts.map +0 -1
  77. package/dist/search/FuzzySearch.js +0 -312
  78. package/dist/search/RankedSearch.d.ts +0 -71
  79. package/dist/search/RankedSearch.d.ts.map +0 -1
  80. package/dist/search/RankedSearch.js +0 -238
  81. package/dist/search/SavedSearchManager.d.ts +0 -79
  82. package/dist/search/SavedSearchManager.d.ts.map +0 -1
  83. package/dist/search/SavedSearchManager.js +0 -145
  84. package/dist/search/SearchFilterChain.d.ts +0 -120
  85. package/dist/search/SearchFilterChain.d.ts.map +0 -1
  86. package/dist/search/SearchFilterChain.js +0 -185
  87. package/dist/search/SearchManager.d.ts +0 -285
  88. package/dist/search/SearchManager.d.ts.map +0 -1
  89. package/dist/search/SearchManager.js +0 -338
  90. package/dist/search/SearchSuggestions.d.ts +0 -27
  91. package/dist/search/SearchSuggestions.d.ts.map +0 -1
  92. package/dist/search/SearchSuggestions.js +0 -57
  93. package/dist/search/SemanticSearch.d.ts +0 -146
  94. package/dist/search/SemanticSearch.d.ts.map +0 -1
  95. package/dist/search/SemanticSearch.js +0 -313
  96. package/dist/search/TFIDFIndexManager.d.ts +0 -63
  97. package/dist/search/TFIDFIndexManager.d.ts.map +0 -1
  98. package/dist/search/TFIDFIndexManager.js +0 -215
  99. package/dist/search/VectorStore.d.ts +0 -235
  100. package/dist/search/VectorStore.d.ts.map +0 -1
  101. package/dist/search/VectorStore.js +0 -311
  102. package/dist/search/index.d.ts +0 -18
  103. package/dist/search/index.d.ts.map +0 -1
  104. package/dist/search/index.js +0 -21
  105. package/dist/types/index.d.ts +0 -13
  106. package/dist/types/index.d.ts.map +0 -1
  107. package/dist/types/index.js +0 -12
  108. package/dist/types/types.d.ts +0 -1234
  109. package/dist/types/types.d.ts.map +0 -1
  110. package/dist/types/types.js +0 -9
  111. package/dist/utils/compressedCache.d.ts +0 -192
  112. package/dist/utils/compressedCache.d.ts.map +0 -1
  113. package/dist/utils/compressedCache.js +0 -309
  114. package/dist/utils/compressionUtil.d.ts +0 -214
  115. package/dist/utils/compressionUtil.d.ts.map +0 -1
  116. package/dist/utils/compressionUtil.js +0 -247
  117. package/dist/utils/constants.d.ts +0 -245
  118. package/dist/utils/constants.d.ts.map +0 -1
  119. package/dist/utils/constants.js +0 -252
  120. package/dist/utils/entityUtils.d.ts +0 -321
  121. package/dist/utils/entityUtils.d.ts.map +0 -1
  122. package/dist/utils/entityUtils.js +0 -538
  123. package/dist/utils/errors.d.ts +0 -77
  124. package/dist/utils/errors.d.ts.map +0 -1
  125. package/dist/utils/errors.js +0 -121
  126. package/dist/utils/formatters.d.ts +0 -145
  127. package/dist/utils/formatters.d.ts.map +0 -1
  128. package/dist/utils/formatters.js +0 -132
  129. package/dist/utils/index.d.ts +0 -22
  130. package/dist/utils/index.d.ts.map +0 -1
  131. package/dist/utils/index.js +0 -75
  132. package/dist/utils/indexes.d.ts +0 -270
  133. package/dist/utils/indexes.d.ts.map +0 -1
  134. package/dist/utils/indexes.js +0 -526
  135. package/dist/utils/logger.d.ts +0 -24
  136. package/dist/utils/logger.d.ts.map +0 -1
  137. package/dist/utils/logger.js +0 -33
  138. package/dist/utils/parallelUtils.d.ts +0 -72
  139. package/dist/utils/parallelUtils.d.ts.map +0 -1
  140. package/dist/utils/parallelUtils.js +0 -169
  141. package/dist/utils/schemas.d.ts +0 -374
  142. package/dist/utils/schemas.d.ts.map +0 -1
  143. package/dist/utils/schemas.js +0 -484
  144. package/dist/utils/searchAlgorithms.d.ts +0 -99
  145. package/dist/utils/searchAlgorithms.d.ts.map +0 -1
  146. package/dist/utils/searchAlgorithms.js +0 -167
  147. package/dist/utils/searchCache.d.ts +0 -108
  148. package/dist/utils/searchCache.d.ts.map +0 -1
  149. package/dist/utils/searchCache.js +0 -209
  150. package/dist/utils/taskScheduler.d.ts +0 -290
  151. package/dist/utils/taskScheduler.d.ts.map +0 -1
  152. package/dist/utils/taskScheduler.js +0 -466
  153. package/dist/workers/WorkerPool.d.ts +0 -81
  154. package/dist/workers/WorkerPool.d.ts.map +0 -1
  155. package/dist/workers/WorkerPool.js +0 -121
  156. package/dist/workers/index.d.ts +0 -12
  157. package/dist/workers/index.d.ts.map +0 -1
  158. package/dist/workers/index.js +0 -9
  159. package/dist/workers/levenshteinWorker.d.ts +0 -60
  160. package/dist/workers/levenshteinWorker.d.ts.map +0 -1
  161. package/dist/workers/levenshteinWorker.js +0 -98
@@ -1,354 +0,0 @@
1
- /**
2
- * SQLite Storage
3
- *
4
- * Handles storage operations for the knowledge graph using better-sqlite3 (native SQLite).
5
- * Implements IGraphStorage interface for storage abstraction.
6
- *
7
- * Benefits over sql.js (WASM):
8
- * - 3-10x faster than WASM-based SQLite
9
- * - Native FTS5 full-text search support
10
- * - ACID transactions with proper durability
11
- * - Concurrent read access support
12
- * - No memory overhead from WASM runtime
13
- * - Direct disk I/O (no manual export/import)
14
- *
15
- * Features:
16
- * - Built-in indexes for O(1) lookups
17
- * - Referential integrity with ON DELETE CASCADE
18
- * - FTS5 full-text search on entity names and observations
19
- *
20
- * @module core/SQLiteStorage
21
- */
22
- import type { KnowledgeGraph, Entity, Relation, ReadonlyKnowledgeGraph, IGraphStorage, LowercaseData } from '../types/index.js';
23
- /**
24
- * SQLiteStorage manages persistence of the knowledge graph using native SQLite.
25
- *
26
- * Uses better-sqlite3 for native SQLite bindings with full FTS5 support,
27
- * referential integrity, and proper ACID transactions.
28
- *
29
- * @example
30
- * ```typescript
31
- * const storage = new SQLiteStorage('/path/to/memory.db');
32
- * await storage.ensureLoaded();
33
- * const graph = await storage.loadGraph();
34
- * ```
35
- */
36
- export declare class SQLiteStorage implements IGraphStorage {
37
- private dbFilePath;
38
- /**
39
- * Mutex for thread-safe access to storage operations.
40
- * Prevents concurrent writes from corrupting the cache.
41
- * Note: SQLite itself handles file-level locking, but we need
42
- * to protect our in-memory cache and index operations.
43
- */
44
- private mutex;
45
- /**
46
- * SQLite database instance.
47
- */
48
- private db;
49
- /**
50
- * Whether the database has been initialized.
51
- */
52
- private initialized;
53
- /**
54
- * In-memory cache for fast read operations.
55
- * Synchronized with SQLite on writes.
56
- */
57
- private cache;
58
- /**
59
- * O(1) entity lookup by name.
60
- */
61
- private nameIndex;
62
- /**
63
- * O(1) entity lookup by type.
64
- */
65
- private typeIndex;
66
- /**
67
- * Pre-computed lowercase data for search optimization.
68
- */
69
- private lowercaseCache;
70
- /**
71
- * Pending changes counter for batching disk writes.
72
- * Note: better-sqlite3 writes to disk immediately, but we track for API compatibility.
73
- */
74
- private pendingChanges;
75
- /**
76
- * Phase 4 Sprint 1: Bidirectional relation cache for O(1) repeated lookups.
77
- * Maps entity name -> all relations involving that entity (both incoming and outgoing).
78
- */
79
- private bidirectionalRelationCache;
80
- /**
81
- * Create a new SQLiteStorage instance.
82
- *
83
- * @param dbFilePath - Absolute path to the SQLite database file
84
- */
85
- constructor(dbFilePath: string);
86
- /**
87
- * Initialize the database connection and schema.
88
- */
89
- private initialize;
90
- /**
91
- * Create database tables, indexes, and FTS5 virtual table.
92
- */
93
- private createTables;
94
- /**
95
- * Load all data from SQLite into memory cache.
96
- */
97
- private loadCache;
98
- /**
99
- * Convert a database row to an Entity object.
100
- */
101
- private rowToEntity;
102
- /**
103
- * Convert a database row to a Relation object.
104
- */
105
- private rowToRelation;
106
- /**
107
- * Update lowercase cache for an entity.
108
- */
109
- private updateLowercaseCache;
110
- /**
111
- * Load the knowledge graph (read-only access).
112
- *
113
- * @returns Promise resolving to read-only knowledge graph reference
114
- */
115
- loadGraph(): Promise<ReadonlyKnowledgeGraph>;
116
- /**
117
- * Get a mutable copy of the graph for write operations.
118
- *
119
- * @returns Promise resolving to mutable knowledge graph copy
120
- */
121
- getGraphForMutation(): Promise<KnowledgeGraph>;
122
- /**
123
- * Ensure the storage is loaded/initialized.
124
- *
125
- * @returns Promise resolving when ready
126
- */
127
- ensureLoaded(): Promise<void>;
128
- /**
129
- * Phase 4 Sprint 1: Invalidate bidirectional relation cache for an entity.
130
- *
131
- * @param entityName - Entity name to invalidate cache for
132
- */
133
- private invalidateBidirectionalCache;
134
- /**
135
- * Phase 4 Sprint 1: Clear the entire bidirectional relation cache.
136
- */
137
- private clearBidirectionalCache;
138
- /**
139
- * Save the entire knowledge graph to storage.
140
- *
141
- * THREAD-SAFE: Uses mutex to prevent concurrent write operations.
142
- *
143
- * @param graph - The knowledge graph to save
144
- * @returns Promise resolving when save is complete
145
- */
146
- saveGraph(graph: KnowledgeGraph): Promise<void>;
147
- /**
148
- * Append a single entity to storage.
149
- *
150
- * THREAD-SAFE: Uses mutex to prevent concurrent write operations.
151
- *
152
- * @param entity - The entity to append
153
- * @returns Promise resolving when append is complete
154
- */
155
- appendEntity(entity: Entity): Promise<void>;
156
- /**
157
- * Append a single relation to storage.
158
- *
159
- * THREAD-SAFE: Uses mutex to prevent concurrent write operations.
160
- *
161
- * @param relation - The relation to append
162
- * @returns Promise resolving when append is complete
163
- */
164
- appendRelation(relation: Relation): Promise<void>;
165
- /**
166
- * Update an entity in storage.
167
- *
168
- * THREAD-SAFE: Uses mutex to prevent concurrent write operations.
169
- *
170
- * @param entityName - Name of the entity to update
171
- * @param updates - Partial entity updates to apply
172
- * @returns Promise resolving to true if found and updated
173
- */
174
- updateEntity(entityName: string, updates: Partial<Entity>): Promise<boolean>;
175
- /**
176
- * Compact the storage (runs VACUUM to reclaim space).
177
- *
178
- * THREAD-SAFE: Uses mutex to prevent concurrent operations.
179
- *
180
- * @returns Promise resolving when compaction is complete
181
- */
182
- compact(): Promise<void>;
183
- /**
184
- * Clear any in-memory cache.
185
- */
186
- clearCache(): void;
187
- /**
188
- * Get an entity by name in O(1) time.
189
- *
190
- * OPTIMIZED: Uses NameIndex for constant-time lookup.
191
- *
192
- * @param name - Entity name to look up
193
- * @returns Entity if found, undefined otherwise
194
- */
195
- getEntityByName(name: string): Entity | undefined;
196
- /**
197
- * Check if an entity exists by name in O(1) time.
198
- *
199
- * @param name - Entity name to check
200
- * @returns True if entity exists
201
- */
202
- hasEntity(name: string): boolean;
203
- /**
204
- * Get all entities of a given type in O(1) time.
205
- *
206
- * OPTIMIZED: Uses TypeIndex for constant-time lookup of entity names,
207
- * then uses NameIndex for O(1) entity retrieval.
208
- *
209
- * @param entityType - Entity type to filter by (case-insensitive)
210
- * @returns Array of entities with the given type
211
- */
212
- getEntitiesByType(entityType: string): Entity[];
213
- /**
214
- * Get all unique entity types in the graph.
215
- *
216
- * @returns Array of unique entity types (lowercase)
217
- */
218
- getEntityTypes(): string[];
219
- /**
220
- * Get pre-computed lowercase data for an entity.
221
- *
222
- * @param entityName - Entity name to get lowercase data for
223
- * @returns LowercaseData if entity exists, undefined otherwise
224
- */
225
- getLowercased(entityName: string): LowercaseData | undefined;
226
- /**
227
- * Perform full-text search using FTS5.
228
- *
229
- * @param query - Search query (supports FTS5 query syntax)
230
- * @returns Array of matching entity names with relevance scores
231
- */
232
- fullTextSearch(query: string): Array<{
233
- name: string;
234
- score: number;
235
- }>;
236
- /**
237
- * Perform a simple text search (LIKE-based, case-insensitive).
238
- *
239
- * @param searchTerm - Term to search for
240
- * @returns Array of matching entity names
241
- */
242
- simpleSearch(searchTerm: string): string[];
243
- /**
244
- * Get the storage path/location.
245
- *
246
- * @returns The storage path
247
- */
248
- getFilePath(): string;
249
- /**
250
- * Get the current pending changes count.
251
- *
252
- * @returns Number of pending changes since last reset
253
- */
254
- getPendingAppends(): number;
255
- /**
256
- * Force persistence to disk (no-op for better-sqlite3 as it writes immediately).
257
- *
258
- * @returns Promise resolving when persistence is complete
259
- */
260
- flush(): Promise<void>;
261
- /**
262
- * Close the database connection.
263
- */
264
- close(): void;
265
- /**
266
- * Get all relations where the entity is the source (outgoing relations).
267
- *
268
- * OPTIMIZED: Uses SQLite index on fromEntity for O(log n) lookup.
269
- *
270
- * @param entityName - Entity name to look up outgoing relations for
271
- * @returns Array of relations where entity is the source
272
- */
273
- getRelationsFrom(entityName: string): Relation[];
274
- /**
275
- * Get all relations where the entity is the target (incoming relations).
276
- *
277
- * OPTIMIZED: Uses SQLite index on toEntity for O(log n) lookup.
278
- *
279
- * @param entityName - Entity name to look up incoming relations for
280
- * @returns Array of relations where entity is the target
281
- */
282
- getRelationsTo(entityName: string): Relation[];
283
- /**
284
- * Get all relations involving the entity (both incoming and outgoing).
285
- *
286
- * OPTIMIZED: Phase 4 Sprint 1 - Uses bidirectional cache for O(1) repeated lookups.
287
- *
288
- * @param entityName - Entity name to look up all relations for
289
- * @returns Array of all relations involving the entity
290
- */
291
- getRelationsFor(entityName: string): Relation[];
292
- /**
293
- * Check if an entity has any relations.
294
- *
295
- * @param entityName - Entity name to check
296
- * @returns True if entity has any relations
297
- */
298
- hasRelations(entityName: string): boolean;
299
- /**
300
- * Phase 4 Sprint 11: Ensure embeddings table exists.
301
- *
302
- * Creates the embeddings table if it doesn't exist.
303
- * Separate table from entities to avoid schema migration complexity.
304
- */
305
- private ensureEmbeddingsTable;
306
- /**
307
- * Phase 4 Sprint 11: Store an embedding for an entity.
308
- *
309
- * @param entityName - Name of the entity
310
- * @param vector - Embedding vector
311
- * @param model - Model name used for the embedding
312
- */
313
- storeEmbedding(entityName: string, vector: number[], model: string): void;
314
- /**
315
- * Phase 4 Sprint 11: Get an embedding for an entity.
316
- *
317
- * @param entityName - Name of the entity
318
- * @returns Embedding vector if found, null otherwise
319
- */
320
- getEmbedding(entityName: string): number[] | null;
321
- /**
322
- * Phase 4 Sprint 11: Load all embeddings from storage.
323
- *
324
- * @returns Array of [entityName, vector] pairs
325
- */
326
- loadAllEmbeddings(): Promise<[string, number[]][]>;
327
- /**
328
- * Phase 4 Sprint 11: Remove an embedding for an entity.
329
- *
330
- * @param entityName - Name of the entity
331
- */
332
- removeEmbedding(entityName: string): void;
333
- /**
334
- * Phase 4 Sprint 11: Clear all embeddings from storage.
335
- */
336
- clearAllEmbeddings(): void;
337
- /**
338
- * Phase 4 Sprint 11: Check if an entity has an embedding.
339
- *
340
- * @param entityName - Name of the entity
341
- * @returns True if embedding exists
342
- */
343
- hasEmbedding(entityName: string): boolean;
344
- /**
345
- * Phase 4 Sprint 11: Get embedding statistics.
346
- *
347
- * @returns Stats about stored embeddings
348
- */
349
- getEmbeddingStats(): {
350
- count: number;
351
- models: string[];
352
- };
353
- }
354
- //# sourceMappingURL=SQLiteStorage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SQLiteStorage.d.ts","sourceRoot":"","sources":["../../src/core/SQLiteStorage.ts"],"names":[],"mappings":"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"}