@danielsimonjr/memory-mcp 12.2.3 → 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 (158) hide show
  1. package/README.md +88 -102
  2. package/dist/index.js +6 -0
  3. package/dist/server/toolDefinitions.d.ts.map +1 -1
  4. package/dist/server/toolDefinitions.js +745 -3
  5. package/dist/server/toolHandlers.d.ts +1 -9
  6. package/dist/server/toolHandlers.d.ts.map +1 -1
  7. package/dist/server/toolHandlers.js +859 -11
  8. package/package.json +9 -6
  9. package/dist/core/EntityManager.d.ts +0 -263
  10. package/dist/core/EntityManager.d.ts.map +0 -1
  11. package/dist/core/EntityManager.js +0 -478
  12. package/dist/core/GraphStorage.d.ts +0 -344
  13. package/dist/core/GraphStorage.d.ts.map +0 -1
  14. package/dist/core/GraphStorage.js +0 -708
  15. package/dist/core/GraphTraversal.d.ts +0 -136
  16. package/dist/core/GraphTraversal.d.ts.map +0 -1
  17. package/dist/core/GraphTraversal.js +0 -556
  18. package/dist/core/HierarchyManager.d.ts +0 -111
  19. package/dist/core/HierarchyManager.d.ts.map +0 -1
  20. package/dist/core/HierarchyManager.js +0 -224
  21. package/dist/core/ManagerContext.d.ts +0 -72
  22. package/dist/core/ManagerContext.d.ts.map +0 -1
  23. package/dist/core/ManagerContext.js +0 -118
  24. package/dist/core/ObservationManager.d.ts +0 -85
  25. package/dist/core/ObservationManager.d.ts.map +0 -1
  26. package/dist/core/ObservationManager.js +0 -123
  27. package/dist/core/RelationManager.d.ts +0 -131
  28. package/dist/core/RelationManager.d.ts.map +0 -1
  29. package/dist/core/RelationManager.js +0 -210
  30. package/dist/core/SQLiteStorage.d.ts +0 -354
  31. package/dist/core/SQLiteStorage.d.ts.map +0 -1
  32. package/dist/core/SQLiteStorage.js +0 -917
  33. package/dist/core/StorageFactory.d.ts +0 -45
  34. package/dist/core/StorageFactory.d.ts.map +0 -1
  35. package/dist/core/StorageFactory.js +0 -64
  36. package/dist/core/TransactionManager.d.ts +0 -259
  37. package/dist/core/TransactionManager.d.ts.map +0 -1
  38. package/dist/core/TransactionManager.js +0 -392
  39. package/dist/core/index.d.ts +0 -16
  40. package/dist/core/index.d.ts.map +0 -1
  41. package/dist/core/index.js +0 -17
  42. package/dist/features/AnalyticsManager.d.ts +0 -44
  43. package/dist/features/AnalyticsManager.d.ts.map +0 -1
  44. package/dist/features/AnalyticsManager.js +0 -223
  45. package/dist/features/ArchiveManager.d.ts +0 -121
  46. package/dist/features/ArchiveManager.d.ts.map +0 -1
  47. package/dist/features/ArchiveManager.js +0 -240
  48. package/dist/features/CompressionManager.d.ts +0 -109
  49. package/dist/features/CompressionManager.d.ts.map +0 -1
  50. package/dist/features/CompressionManager.js +0 -404
  51. package/dist/features/IOManager.d.ts +0 -221
  52. package/dist/features/IOManager.d.ts.map +0 -1
  53. package/dist/features/IOManager.js +0 -997
  54. package/dist/features/StreamingExporter.d.ts +0 -105
  55. package/dist/features/StreamingExporter.d.ts.map +0 -1
  56. package/dist/features/StreamingExporter.js +0 -150
  57. package/dist/features/TagManager.d.ts +0 -147
  58. package/dist/features/TagManager.d.ts.map +0 -1
  59. package/dist/features/TagManager.js +0 -210
  60. package/dist/features/index.d.ts +0 -12
  61. package/dist/features/index.d.ts.map +0 -1
  62. package/dist/features/index.js +0 -11
  63. package/dist/search/BasicSearch.d.ts +0 -51
  64. package/dist/search/BasicSearch.d.ts.map +0 -1
  65. package/dist/search/BasicSearch.js +0 -137
  66. package/dist/search/BooleanSearch.d.ts +0 -98
  67. package/dist/search/BooleanSearch.d.ts.map +0 -1
  68. package/dist/search/BooleanSearch.js +0 -430
  69. package/dist/search/EmbeddingService.d.ts +0 -178
  70. package/dist/search/EmbeddingService.d.ts.map +0 -1
  71. package/dist/search/EmbeddingService.js +0 -358
  72. package/dist/search/FuzzySearch.d.ts +0 -118
  73. package/dist/search/FuzzySearch.d.ts.map +0 -1
  74. package/dist/search/FuzzySearch.js +0 -312
  75. package/dist/search/RankedSearch.d.ts +0 -71
  76. package/dist/search/RankedSearch.d.ts.map +0 -1
  77. package/dist/search/RankedSearch.js +0 -238
  78. package/dist/search/SavedSearchManager.d.ts +0 -79
  79. package/dist/search/SavedSearchManager.d.ts.map +0 -1
  80. package/dist/search/SavedSearchManager.js +0 -145
  81. package/dist/search/SearchFilterChain.d.ts +0 -120
  82. package/dist/search/SearchFilterChain.d.ts.map +0 -1
  83. package/dist/search/SearchFilterChain.js +0 -185
  84. package/dist/search/SearchManager.d.ts +0 -285
  85. package/dist/search/SearchManager.d.ts.map +0 -1
  86. package/dist/search/SearchManager.js +0 -338
  87. package/dist/search/SearchSuggestions.d.ts +0 -27
  88. package/dist/search/SearchSuggestions.d.ts.map +0 -1
  89. package/dist/search/SearchSuggestions.js +0 -57
  90. package/dist/search/SemanticSearch.d.ts +0 -146
  91. package/dist/search/SemanticSearch.d.ts.map +0 -1
  92. package/dist/search/SemanticSearch.js +0 -313
  93. package/dist/search/TFIDFIndexManager.d.ts +0 -63
  94. package/dist/search/TFIDFIndexManager.d.ts.map +0 -1
  95. package/dist/search/TFIDFIndexManager.js +0 -215
  96. package/dist/search/VectorStore.d.ts +0 -235
  97. package/dist/search/VectorStore.d.ts.map +0 -1
  98. package/dist/search/VectorStore.js +0 -311
  99. package/dist/search/index.d.ts +0 -18
  100. package/dist/search/index.d.ts.map +0 -1
  101. package/dist/search/index.js +0 -21
  102. package/dist/types/index.d.ts +0 -13
  103. package/dist/types/index.d.ts.map +0 -1
  104. package/dist/types/index.js +0 -12
  105. package/dist/types/types.d.ts +0 -1234
  106. package/dist/types/types.d.ts.map +0 -1
  107. package/dist/types/types.js +0 -9
  108. package/dist/utils/compressedCache.d.ts +0 -192
  109. package/dist/utils/compressedCache.d.ts.map +0 -1
  110. package/dist/utils/compressedCache.js +0 -309
  111. package/dist/utils/compressionUtil.d.ts +0 -214
  112. package/dist/utils/compressionUtil.d.ts.map +0 -1
  113. package/dist/utils/compressionUtil.js +0 -247
  114. package/dist/utils/constants.d.ts +0 -245
  115. package/dist/utils/constants.d.ts.map +0 -1
  116. package/dist/utils/constants.js +0 -252
  117. package/dist/utils/entityUtils.d.ts +0 -321
  118. package/dist/utils/entityUtils.d.ts.map +0 -1
  119. package/dist/utils/entityUtils.js +0 -538
  120. package/dist/utils/errors.d.ts +0 -77
  121. package/dist/utils/errors.d.ts.map +0 -1
  122. package/dist/utils/errors.js +0 -121
  123. package/dist/utils/formatters.d.ts +0 -145
  124. package/dist/utils/formatters.d.ts.map +0 -1
  125. package/dist/utils/formatters.js +0 -132
  126. package/dist/utils/index.d.ts +0 -22
  127. package/dist/utils/index.d.ts.map +0 -1
  128. package/dist/utils/index.js +0 -75
  129. package/dist/utils/indexes.d.ts +0 -270
  130. package/dist/utils/indexes.d.ts.map +0 -1
  131. package/dist/utils/indexes.js +0 -526
  132. package/dist/utils/logger.d.ts +0 -24
  133. package/dist/utils/logger.d.ts.map +0 -1
  134. package/dist/utils/logger.js +0 -33
  135. package/dist/utils/parallelUtils.d.ts +0 -72
  136. package/dist/utils/parallelUtils.d.ts.map +0 -1
  137. package/dist/utils/parallelUtils.js +0 -169
  138. package/dist/utils/schemas.d.ts +0 -374
  139. package/dist/utils/schemas.d.ts.map +0 -1
  140. package/dist/utils/schemas.js +0 -484
  141. package/dist/utils/searchAlgorithms.d.ts +0 -99
  142. package/dist/utils/searchAlgorithms.d.ts.map +0 -1
  143. package/dist/utils/searchAlgorithms.js +0 -167
  144. package/dist/utils/searchCache.d.ts +0 -108
  145. package/dist/utils/searchCache.d.ts.map +0 -1
  146. package/dist/utils/searchCache.js +0 -209
  147. package/dist/utils/taskScheduler.d.ts +0 -290
  148. package/dist/utils/taskScheduler.d.ts.map +0 -1
  149. package/dist/utils/taskScheduler.js +0 -466
  150. package/dist/workers/WorkerPool.d.ts +0 -81
  151. package/dist/workers/WorkerPool.d.ts.map +0 -1
  152. package/dist/workers/WorkerPool.js +0 -121
  153. package/dist/workers/index.d.ts +0 -12
  154. package/dist/workers/index.d.ts.map +0 -1
  155. package/dist/workers/index.js +0 -9
  156. package/dist/workers/levenshteinWorker.d.ts +0 -60
  157. package/dist/workers/levenshteinWorker.d.ts.map +0 -1
  158. package/dist/workers/levenshteinWorker.js +0 -98
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Type Definitions
3
- *
4
- * Consolidated type definitions for the Memory MCP Server.
5
- * Combines entity, relation, search, analytics, import/export, tag, and storage types.
6
- *
7
- * @module types
8
- */
9
- export {};
@@ -1,192 +0,0 @@
1
- /**
2
- * Compressed Cache Utility
3
- *
4
- * Provides an LRU cache with automatic compression of old entries.
5
- * Reduces memory footprint for large knowledge graphs (50k+ entities).
6
- *
7
- * Uses synchronous brotli compression/decompression for cache operations
8
- * to avoid async complexity in hot paths.
9
- *
10
- * Phase 3 Sprint 5: Archive & Cache Compression
11
- *
12
- * @module utils/compressedCache
13
- */
14
- import type { Entity } from '../types/index.js';
15
- /**
16
- * Options for CompressedCache configuration.
17
- */
18
- export interface CompressedCacheOptions {
19
- /**
20
- * Maximum number of uncompressed (hot) entries to keep.
21
- * Entries beyond this limit may be compressed.
22
- * @default 1000
23
- */
24
- maxUncompressed?: number;
25
- /**
26
- * Time in milliseconds before an entry is eligible for compression.
27
- * Entries accessed within this time window stay uncompressed.
28
- * @default 300000 (5 minutes)
29
- */
30
- compressionThresholdMs?: number;
31
- /**
32
- * Whether to enable automatic compression.
33
- * If false, entries are never automatically compressed.
34
- * @default true
35
- */
36
- autoCompress?: boolean;
37
- }
38
- /**
39
- * Statistics about the cache state.
40
- */
41
- export interface CompressedCacheStats {
42
- /** Total number of entries in the cache */
43
- total: number;
44
- /** Number of compressed entries */
45
- compressed: number;
46
- /** Number of uncompressed (hot) entries */
47
- uncompressed: number;
48
- /** Estimated memory saved by compression in bytes */
49
- memorySaved: number;
50
- /** Total original size of all entries in bytes */
51
- totalOriginalSize: number;
52
- /** Cache hit count since creation */
53
- hits: number;
54
- /** Cache miss count since creation */
55
- misses: number;
56
- /** Number of compressions performed */
57
- compressions: number;
58
- /** Number of decompressions performed */
59
- decompressions: number;
60
- }
61
- /**
62
- * LRU cache with automatic compression of old entries.
63
- *
64
- * Reduces memory footprint by compressing infrequently accessed entries
65
- * using brotli compression. Hot (recently accessed) entries stay
66
- * uncompressed for fast access.
67
- *
68
- * @example
69
- * ```typescript
70
- * const cache = new CompressedCache({
71
- * maxUncompressed: 500,
72
- * compressionThresholdMs: 60000 // 1 minute
73
- * });
74
- *
75
- * // Store entity
76
- * cache.set('Alice', { name: 'Alice', entityType: 'person', observations: [] });
77
- *
78
- * // Retrieve entity (decompresses if needed)
79
- * const entity = cache.get('Alice');
80
- *
81
- * // Check stats
82
- * const stats = cache.getStats();
83
- * console.log(`Memory saved: ${stats.memorySaved} bytes`);
84
- * ```
85
- */
86
- export declare class CompressedCache {
87
- private _entryMap;
88
- private readonly maxUncompressed;
89
- private readonly compressionThresholdMs;
90
- private readonly autoCompress;
91
- private hits;
92
- private misses;
93
- private compressions;
94
- private decompressions;
95
- constructor(options?: CompressedCacheOptions);
96
- /**
97
- * Get an entity from the cache.
98
- *
99
- * If the entity is compressed, it will be decompressed on access.
100
- * The entry is marked as recently accessed to prevent re-compression.
101
- *
102
- * @param name - Entity name to retrieve
103
- * @returns The entity if found, undefined otherwise
104
- */
105
- get(name: string): Entity | undefined;
106
- /**
107
- * Store an entity in the cache.
108
- *
109
- * Entries are stored uncompressed initially. Old entries may be
110
- * compressed automatically based on cache settings.
111
- *
112
- * @param name - Entity name (key)
113
- * @param entity - Entity to store
114
- */
115
- set(name: string, entity: Entity): void;
116
- /**
117
- * Check if an entity exists in the cache.
118
- *
119
- * @param name - Entity name to check
120
- * @returns True if entity exists in cache
121
- */
122
- has(name: string): boolean;
123
- /**
124
- * Delete an entity from the cache.
125
- *
126
- * @param name - Entity name to delete
127
- * @returns True if entity was deleted, false if not found
128
- */
129
- delete(name: string): boolean;
130
- /**
131
- * Clear all entries from the cache.
132
- */
133
- clear(): void;
134
- /**
135
- * Get the number of entries in the cache.
136
- */
137
- get size(): number;
138
- /**
139
- * Get all entity names in the cache.
140
- */
141
- keys(): IterableIterator<string>;
142
- /**
143
- * Get comprehensive cache statistics.
144
- *
145
- * @returns Statistics about cache state and performance
146
- */
147
- getStats(): CompressedCacheStats;
148
- /**
149
- * Force compression of entries older than the threshold.
150
- *
151
- * Called automatically after set() when autoCompress is enabled.
152
- * Can be called manually to trigger compression on demand.
153
- *
154
- * @returns Number of entries compressed
155
- */
156
- compressOldEntries(): number;
157
- /**
158
- * Compress old entries if we're over the uncompressed limit.
159
- *
160
- * @param force - If true, compress regardless of limit
161
- * @returns Number of entries compressed
162
- */
163
- private maybeCompressOldEntries;
164
- /**
165
- * Decompress all entries in the cache.
166
- *
167
- * Useful when preparing for bulk operations or export.
168
- *
169
- * @returns Number of entries decompressed
170
- */
171
- decompressAll(): number;
172
- /**
173
- * Get all entities from the cache (decompressing as needed).
174
- *
175
- * @returns Array of all entities in the cache
176
- */
177
- getAllEntities(): Entity[];
178
- /**
179
- * Iterate over all entries with their compression status.
180
- *
181
- * Does not decompress entries - useful for inspection.
182
- *
183
- * @yields Entry information without decompressing
184
- */
185
- entries(): IterableIterator<{
186
- name: string;
187
- compressed: boolean;
188
- originalSize: number;
189
- lastAccessed: number;
190
- }>;
191
- }
192
- //# sourceMappingURL=compressedCache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compressedCache.d.ts","sourceRoot":"","sources":["../../src/utils/compressedCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAmBhD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAGvC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,cAAc,CAAa;gBAEvB,OAAO,GAAE,sBAA2B;IAMhD;;;;;;;;OAQG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA6BrC;;;;;;;;OAQG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAgBvC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIhC;;;;OAIG;IACH,QAAQ,IAAI,oBAAoB;IA+BhC;;;;;;;OAOG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IA2D/B;;;;;;OAMG;IACH,aAAa,IAAI,MAAM;IAsBvB;;;;OAIG;IACH,cAAc,IAAI,MAAM,EAAE;IAa1B;;;;;;OAMG;IACF,OAAO,IAAI,gBAAgB,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CAUH"}
@@ -1,309 +0,0 @@
1
- /**
2
- * Compressed Cache Utility
3
- *
4
- * Provides an LRU cache with automatic compression of old entries.
5
- * Reduces memory footprint for large knowledge graphs (50k+ entities).
6
- *
7
- * Uses synchronous brotli compression/decompression for cache operations
8
- * to avoid async complexity in hot paths.
9
- *
10
- * Phase 3 Sprint 5: Archive & Cache Compression
11
- *
12
- * @module utils/compressedCache
13
- */
14
- import { brotliCompressSync, brotliDecompressSync, constants } from 'zlib';
15
- import { COMPRESSION_CONFIG } from './constants.js';
16
- /**
17
- * LRU cache with automatic compression of old entries.
18
- *
19
- * Reduces memory footprint by compressing infrequently accessed entries
20
- * using brotli compression. Hot (recently accessed) entries stay
21
- * uncompressed for fast access.
22
- *
23
- * @example
24
- * ```typescript
25
- * const cache = new CompressedCache({
26
- * maxUncompressed: 500,
27
- * compressionThresholdMs: 60000 // 1 minute
28
- * });
29
- *
30
- * // Store entity
31
- * cache.set('Alice', { name: 'Alice', entityType: 'person', observations: [] });
32
- *
33
- * // Retrieve entity (decompresses if needed)
34
- * const entity = cache.get('Alice');
35
- *
36
- * // Check stats
37
- * const stats = cache.getStats();
38
- * console.log(`Memory saved: ${stats.memorySaved} bytes`);
39
- * ```
40
- */
41
- export class CompressedCache {
42
- _entryMap = new Map();
43
- maxUncompressed;
44
- compressionThresholdMs;
45
- autoCompress;
46
- // Statistics
47
- hits = 0;
48
- misses = 0;
49
- compressions = 0;
50
- decompressions = 0;
51
- constructor(options = {}) {
52
- this.maxUncompressed = options.maxUncompressed ?? 1000;
53
- this.compressionThresholdMs = options.compressionThresholdMs ?? 5 * 60 * 1000;
54
- this.autoCompress = options.autoCompress ?? true;
55
- }
56
- /**
57
- * Get an entity from the cache.
58
- *
59
- * If the entity is compressed, it will be decompressed on access.
60
- * The entry is marked as recently accessed to prevent re-compression.
61
- *
62
- * @param name - Entity name to retrieve
63
- * @returns The entity if found, undefined otherwise
64
- */
65
- get(name) {
66
- const entry = this._entryMap.get(name);
67
- if (!entry) {
68
- this.misses++;
69
- return undefined;
70
- }
71
- this.hits++;
72
- entry.lastAccessed = Date.now();
73
- if (entry.compressed && entry.compressedData) {
74
- // Decompress on access
75
- try {
76
- const decompressed = brotliDecompressSync(entry.compressedData);
77
- entry.entity = JSON.parse(decompressed.toString('utf-8'));
78
- entry.compressed = false;
79
- entry.compressedData = undefined;
80
- this.decompressions++;
81
- }
82
- catch {
83
- // Decompression failed - remove corrupt entry
84
- this._entryMap.delete(name);
85
- return undefined;
86
- }
87
- }
88
- return entry.entity ?? undefined;
89
- }
90
- /**
91
- * Store an entity in the cache.
92
- *
93
- * Entries are stored uncompressed initially. Old entries may be
94
- * compressed automatically based on cache settings.
95
- *
96
- * @param name - Entity name (key)
97
- * @param entity - Entity to store
98
- */
99
- set(name, entity) {
100
- const jsonStr = JSON.stringify(entity);
101
- const originalSize = Buffer.byteLength(jsonStr, 'utf-8');
102
- this._entryMap.set(name, {
103
- entity,
104
- compressed: false,
105
- originalSize,
106
- lastAccessed: Date.now(),
107
- });
108
- if (this.autoCompress) {
109
- this.maybeCompressOldEntries();
110
- }
111
- }
112
- /**
113
- * Check if an entity exists in the cache.
114
- *
115
- * @param name - Entity name to check
116
- * @returns True if entity exists in cache
117
- */
118
- has(name) {
119
- return this._entryMap.has(name);
120
- }
121
- /**
122
- * Delete an entity from the cache.
123
- *
124
- * @param name - Entity name to delete
125
- * @returns True if entity was deleted, false if not found
126
- */
127
- delete(name) {
128
- return this._entryMap.delete(name);
129
- }
130
- /**
131
- * Clear all entries from the cache.
132
- */
133
- clear() {
134
- this._entryMap.clear();
135
- // Don't reset statistics - they track lifetime totals
136
- }
137
- /**
138
- * Get the number of entries in the cache.
139
- */
140
- get size() {
141
- return this._entryMap.size;
142
- }
143
- /**
144
- * Get all entity names in the cache.
145
- */
146
- keys() {
147
- return this._entryMap.keys();
148
- }
149
- /**
150
- * Get comprehensive cache statistics.
151
- *
152
- * @returns Statistics about cache state and performance
153
- */
154
- getStats() {
155
- let compressed = 0;
156
- let uncompressed = 0;
157
- let memorySaved = 0;
158
- let totalOriginalSize = 0;
159
- for (const entry of this._entryMap.values()) {
160
- totalOriginalSize += entry.originalSize;
161
- if (entry.compressed && entry.compressedData) {
162
- compressed++;
163
- // Memory saved = original size - compressed size
164
- memorySaved += entry.originalSize - entry.compressedData.length;
165
- }
166
- else {
167
- uncompressed++;
168
- }
169
- }
170
- return {
171
- total: this._entryMap.size,
172
- compressed,
173
- uncompressed,
174
- memorySaved: Math.max(0, memorySaved),
175
- totalOriginalSize,
176
- hits: this.hits,
177
- misses: this.misses,
178
- compressions: this.compressions,
179
- decompressions: this.decompressions,
180
- };
181
- }
182
- /**
183
- * Force compression of entries older than the threshold.
184
- *
185
- * Called automatically after set() when autoCompress is enabled.
186
- * Can be called manually to trigger compression on demand.
187
- *
188
- * @returns Number of entries compressed
189
- */
190
- compressOldEntries() {
191
- return this.maybeCompressOldEntries(true);
192
- }
193
- /**
194
- * Compress old entries if we're over the uncompressed limit.
195
- *
196
- * @param force - If true, compress regardless of limit
197
- * @returns Number of entries compressed
198
- */
199
- maybeCompressOldEntries(force = false) {
200
- // Count uncompressed entries
201
- let uncompressedCount = 0;
202
- for (const entry of this._entryMap.values()) {
203
- if (!entry.compressed) {
204
- uncompressedCount++;
205
- }
206
- }
207
- // Only compress if over limit (unless forced)
208
- if (!force && uncompressedCount <= this.maxUncompressed) {
209
- return 0;
210
- }
211
- const now = Date.now();
212
- let compressedCount = 0;
213
- // Sort uncompressed entries by last accessed time (oldest first)
214
- const sortedEntries = [...this._entryMap.entries()]
215
- .filter(([, e]) => !e.compressed && e.entity !== null)
216
- .sort((a, b) => a[1].lastAccessed - b[1].lastAccessed);
217
- // Compress oldest entries until we're under the limit
218
- for (const [, entry] of sortedEntries) {
219
- // Stop if we've compressed enough
220
- if (!force && (uncompressedCount - compressedCount) <= this.maxUncompressed) {
221
- break;
222
- }
223
- // Only compress if entry is old enough
224
- if (now - entry.lastAccessed < this.compressionThresholdMs) {
225
- continue;
226
- }
227
- // Compress the entry
228
- if (entry.entity) {
229
- try {
230
- const jsonStr = JSON.stringify(entry.entity);
231
- const compressed = brotliCompressSync(Buffer.from(jsonStr, 'utf-8'), {
232
- params: {
233
- [constants.BROTLI_PARAM_QUALITY]: COMPRESSION_CONFIG.BROTLI_QUALITY_CACHE,
234
- },
235
- });
236
- entry.compressedData = compressed;
237
- entry.compressed = true;
238
- entry.entity = null; // Free memory
239
- this.compressions++;
240
- compressedCount++;
241
- }
242
- catch {
243
- // Compression failed - leave entry uncompressed
244
- continue;
245
- }
246
- }
247
- }
248
- return compressedCount;
249
- }
250
- /**
251
- * Decompress all entries in the cache.
252
- *
253
- * Useful when preparing for bulk operations or export.
254
- *
255
- * @returns Number of entries decompressed
256
- */
257
- decompressAll() {
258
- let decompressedCount = 0;
259
- for (const [name, entry] of this._entryMap) {
260
- if (entry.compressed && entry.compressedData) {
261
- try {
262
- const decompressed = brotliDecompressSync(entry.compressedData);
263
- entry.entity = JSON.parse(decompressed.toString('utf-8'));
264
- entry.compressed = false;
265
- entry.compressedData = undefined;
266
- this.decompressions++;
267
- decompressedCount++;
268
- }
269
- catch {
270
- // Decompression failed - remove corrupt entry
271
- this._entryMap.delete(name);
272
- }
273
- }
274
- }
275
- return decompressedCount;
276
- }
277
- /**
278
- * Get all entities from the cache (decompressing as needed).
279
- *
280
- * @returns Array of all entities in the cache
281
- */
282
- getAllEntities() {
283
- const entities = [];
284
- for (const [name] of this._entryMap) {
285
- const entity = this.get(name);
286
- if (entity) {
287
- entities.push(entity);
288
- }
289
- }
290
- return entities;
291
- }
292
- /**
293
- * Iterate over all entries with their compression status.
294
- *
295
- * Does not decompress entries - useful for inspection.
296
- *
297
- * @yields Entry information without decompressing
298
- */
299
- *entries() {
300
- for (const [name, entry] of this._entryMap) {
301
- yield {
302
- name,
303
- compressed: entry.compressed,
304
- originalSize: entry.originalSize,
305
- lastAccessed: entry.lastAccessed,
306
- };
307
- }
308
- }
309
- }