@memberjunction/core 5.24.0 → 5.26.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.
@@ -95,14 +95,30 @@ export interface CachedRunViewResult {
95
95
  export interface LocalCacheManagerConfig {
96
96
  /** Whether caching is enabled */
97
97
  enabled: boolean;
98
- /** Maximum cache size in bytes (default: 50MB) */
98
+ /** Maximum cache size in bytes (default: 150MB) */
99
99
  maxSizeBytes: number;
100
- /** Maximum number of cache entries (default: 1000) */
101
- maxEntries: number;
102
- /** Default TTL in milliseconds (default: 5 minutes) */
100
+ /** Default TTL in milliseconds (default: 0 = no TTL, rely on event-based invalidation) */
103
101
  defaultTTLMs: number;
104
102
  /** Eviction policy when cache is full */
105
103
  evictionPolicy: 'lru' | 'lfu' | 'fifo';
104
+ /**
105
+ * Maximum percentage of total cache memory (maxSizeBytes) that any single
106
+ * entity's cached results can occupy. When exceeded, the least-recently-accessed
107
+ * entries for that entity are evicted. Default: 50. Set to 0 to disable.
108
+ */
109
+ maxPercentOfCachePerEntity: number;
110
+ /**
111
+ * Interval in milliseconds for the periodic eviction sweep.
112
+ * Catches entries that should have been evicted (TTL expired) but weren't
113
+ * because no new stores triggered eviction. 0 = disabled.
114
+ * Default: 300000 (5 minutes).
115
+ */
116
+ evictionSweepIntervalMs: number;
117
+ /**
118
+ * Enable verbose cache logging (hits, misses, evictions, memory stats).
119
+ * Default: false.
120
+ */
121
+ verboseLogging: boolean;
106
122
  }
107
123
  /**
108
124
  * Describes a change to a cached entry, used for cross-server cache invalidation
@@ -255,6 +271,16 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
255
271
  * Updates the configuration at runtime
256
272
  */
257
273
  UpdateConfig(config: Partial<LocalCacheManagerConfig>): void;
274
+ /**
275
+ * Checks whether caching is enabled for a given entity. Returns the entity's
276
+ * AllowCaching metadata flag. This is the single source of truth for cache
277
+ * eligibility — schema-level opt-in is applied at CodeGen time via the
278
+ * `newEntityDefaults.AllowCachingBySchema` config, which flips this flag when
279
+ * the entity is first inserted into the metadata.
280
+ */
281
+ IsCachingEnabledForEntity(entityInfo: {
282
+ AllowCaching: boolean;
283
+ }): boolean;
258
284
  /**
259
285
  * Replaces the storage provider after initialization. This is needed when
260
286
  * the initial provider (e.g., in-memory) needs to be swapped for a
@@ -688,5 +714,36 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
688
714
  * Evicts entries based on the configured eviction policy.
689
715
  */
690
716
  private evict;
717
+ /**
718
+ * Returns the memory limit in bytes for a given entity based on
719
+ * maxPercentOfCachePerEntity. Returns 0 if no limit applies.
720
+ */
721
+ private getEntityMemoryLimitBytes;
722
+ /**
723
+ * Enforces per-entity memory limits. When an entity's total cached bytes
724
+ * (including the incoming entry) would exceed its limit, evicts the
725
+ * least-recently-accessed entries for that entity until under the limit.
726
+ * @param incomingSizeBytes - estimated size of the entry about to be stored
727
+ */
728
+ private enforcePerEntityMemoryLimit;
729
+ /**
730
+ * Handle for the periodic eviction sweep timer.
731
+ */
732
+ private _sweepTimer;
733
+ /**
734
+ * Starts the periodic eviction sweep timer. Called during initialization.
735
+ * The sweep catches entries that should have been evicted (TTL expired)
736
+ * but weren't because no new stores triggered eviction.
737
+ */
738
+ private startEvictionSweep;
739
+ /**
740
+ * Stops the periodic eviction sweep timer.
741
+ */
742
+ private stopEvictionSweep;
743
+ /**
744
+ * Runs a single eviction sweep: evicts entries that have exceeded their TTL
745
+ * or entries for entities that are over their per-entity cap.
746
+ */
747
+ private runEvictionSweep;
691
748
  }
692
749
  //# sourceMappingURL=localCacheManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"localCacheManager.d.ts","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localCacheManager.d.ts","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,11 @@ function LogStatusVerbose(message) {
13
13
  const DEFAULT_CONFIG = {
14
14
  enabled: true,
15
15
  maxSizeBytes: 150 * 1024 * 1024, // 150MB
16
- maxEntries: 5000,
17
- defaultTTLMs: 5 * 60 * 1000, // 5 minutes
18
- evictionPolicy: 'lru'
16
+ defaultTTLMs: 0, // No TTL — event-based invalidation is the primary mechanism
17
+ evictionPolicy: 'lru',
18
+ maxPercentOfCachePerEntity: 50,
19
+ evictionSweepIntervalMs: 300000, // 5 minutes
20
+ verboseLogging: false,
19
21
  };
20
22
  // ============================================================================
21
23
  // STORAGE CATEGORIES
@@ -102,6 +104,10 @@ export class LocalCacheManager extends BaseSingleton {
102
104
  */
103
105
  this._changeCallbacks = new Map();
104
106
  this._persistTimeout = null;
107
+ /**
108
+ * Handle for the periodic eviction sweep timer.
109
+ */
110
+ this._sweepTimer = null;
105
111
  }
106
112
  // ========================================================================
107
113
  // INITIALIZATION
@@ -141,6 +147,8 @@ export class LocalCacheManager extends BaseSingleton {
141
147
  }
142
148
  await this.loadRegistry();
143
149
  this._initialized = true;
150
+ // Start periodic eviction sweep for TTL-expired entries
151
+ this.startEvictionSweep();
144
152
  // Subscribe to BaseEntity events for universal cache invalidation.
145
153
  // When any entity is saved/deleted, update all cached RunView results for that entity.
146
154
  this.subscribeToBaseEntityEvents();
@@ -163,6 +171,16 @@ export class LocalCacheManager extends BaseSingleton {
163
171
  UpdateConfig(config) {
164
172
  this._config = { ...this._config, ...config };
165
173
  }
174
+ /**
175
+ * Checks whether caching is enabled for a given entity. Returns the entity's
176
+ * AllowCaching metadata flag. This is the single source of truth for cache
177
+ * eligibility — schema-level opt-in is applied at CodeGen time via the
178
+ * `newEntityDefaults.AllowCachingBySchema` config, which flips this flag when
179
+ * the entity is first inserted into the metadata.
180
+ */
181
+ IsCachingEnabledForEntity(entityInfo) {
182
+ return entityInfo.AllowCaching === true;
183
+ }
166
184
  /**
167
185
  * Replaces the storage provider after initialization. This is needed when
168
186
  * the initial provider (e.g., in-memory) needs to be swapped for a
@@ -307,6 +325,9 @@ export class LocalCacheManager extends BaseSingleton {
307
325
  if (!baseEntity?.EntityInfo?.Name)
308
326
  return;
309
327
  const entityName = baseEntity.EntityInfo.Name;
328
+ // Short-circuit: if caching is disabled for this entity, skip the fingerprint scan
329
+ if (!this.IsCachingEnabledForEntity(baseEntity.EntityInfo))
330
+ return;
310
331
  const fingerprints = this._entityFingerprintIndex.get(entityName);
311
332
  if (!fingerprints || fingerprints.size === 0)
312
333
  return;
@@ -341,13 +362,16 @@ export class LocalCacheManager extends BaseSingleton {
341
362
  const entityName = entityEvent.entityName;
342
363
  if (!entityName)
343
364
  return;
365
+ // Short-circuit: if caching is disabled for this entity, skip processing
366
+ const md = new Metadata();
367
+ const entityInfo = md.EntityByName(entityName);
368
+ if (entityInfo && !this.IsCachingEnabledForEntity(entityInfo))
369
+ return;
344
370
  const fingerprints = this._entityFingerprintIndex.get(entityName);
345
371
  if (!fingerprints || fingerprints.size === 0)
346
372
  return;
347
373
  const action = payload?.action;
348
- // Look up entity metadata for PK field names
349
- const md = new Metadata();
350
- const entityInfo = md.EntityByName(entityName);
374
+ // entityInfo was looked up above for the AllowCaching check
351
375
  if (!entityInfo) {
352
376
  LogStatusVerbose(`LocalCacheManager: remote-invalidate — entity "${entityName}" not found in metadata, invalidating caches`);
353
377
  for (const fp of [...fingerprints]) {
@@ -722,15 +746,23 @@ export class LocalCacheManager extends BaseSingleton {
722
746
  const startRow = params.StartRow ?? 0;
723
747
  const connection = connectionPrefix || '';
724
748
  const aggHash = this.generateAggregateHash(params.Aggregates);
749
+ // UserSearchString affects which rows are returned (generates LIKE/FTS WHERE clauses)
750
+ // and MUST be part of the fingerprint to prevent cross-query cache poisoning.
751
+ const userSearch = (params.UserSearchString ?? '').trim();
752
+ // NOTE: ViewID and ViewName are intentionally excluded from the fingerprint.
753
+ // Views are just containers for entity + filter + orderBy. Two different views
754
+ // that resolve to the same entity/filter/orderBy produce identical SQL and results,
755
+ // so they should share the same cache entry.
725
756
  // Build human-readable fingerprint with pipe separators
726
- // Format: Entity|Filter|OrderBy|MaxRows|StartRow|AggHash[|Connection]
757
+ // Format: Entity|Filter|OrderBy|MaxRows|StartRow|AggHash|UserSearch[|Connection]
727
758
  const parts = [
728
759
  entity,
729
760
  filter || '_', // Use underscore for empty filter
730
761
  orderBy || '_', // Use underscore for empty orderBy
731
762
  maxRows.toString(),
732
763
  startRow.toString(),
733
- aggHash // Aggregate hash (or '_' for no aggregates)
764
+ aggHash, // Aggregate hash (or '_' for no aggregates)
765
+ userSearch || '_' // User search string (generates LIKE/FTS clauses)
734
766
  ];
735
767
  // Only include connection if provided
736
768
  if (connection) {
@@ -796,7 +828,10 @@ export class LocalCacheManager extends BaseSingleton {
796
828
  }
797
829
  const value = JSON.stringify(data);
798
830
  const sizeBytes = this.estimateSize(value);
799
- // Check if we need to evict entries
831
+ // Per-entity memory limit: evict oldest entries for this entity if over budget
832
+ const entityName = params.EntityName || 'Unknown';
833
+ await this.enforcePerEntityMemoryLimit(entityName, sizeBytes);
834
+ // Check if we need to evict entries (global budget)
800
835
  await this.evictIfNeeded(sizeBytes);
801
836
  try {
802
837
  await this._storageProvider.SetItem(fingerprint, value, CacheCategory.RunViewCache);
@@ -1512,18 +1547,17 @@ export class LocalCacheManager extends BaseSingleton {
1512
1547
  return;
1513
1548
  const stats = this.GetStats();
1514
1549
  const wouldExceedSize = (stats.totalSizeBytes + neededBytes) > this._config.maxSizeBytes;
1515
- const wouldExceedCount = stats.totalEntries >= this._config.maxEntries;
1516
- if (!wouldExceedSize && !wouldExceedCount)
1550
+ if (!wouldExceedSize)
1517
1551
  return;
1518
- // Calculate how much to free
1519
- const targetFreeBytes = Math.max(neededBytes, this._config.maxSizeBytes * 0.1); // At least 10% of max
1520
- const targetFreeCount = Math.max(1, Math.floor(this._config.maxEntries * 0.1)); // At least 10% of max
1521
- await this.evict(targetFreeBytes, targetFreeCount);
1552
+ // Calculate how much to free — at least the incoming entry's size, but
1553
+ // free 10% of total budget to avoid thrashing on every store.
1554
+ const targetFreeBytes = Math.max(neededBytes, this._config.maxSizeBytes * 0.1);
1555
+ await this.evict(targetFreeBytes);
1522
1556
  }
1523
1557
  /**
1524
1558
  * Evicts entries based on the configured eviction policy.
1525
1559
  */
1526
- async evict(targetBytes, targetCount) {
1560
+ async evict(targetBytes) {
1527
1561
  if (!this._storageProvider)
1528
1562
  return;
1529
1563
  const entries = this.GetAllEntries();
@@ -1540,14 +1574,12 @@ export class LocalCacheManager extends BaseSingleton {
1540
1574
  break;
1541
1575
  }
1542
1576
  let freedBytes = 0;
1543
- let freedCount = 0;
1544
1577
  const toDelete = [];
1545
1578
  for (const entry of entries) {
1546
- if (freedBytes >= targetBytes && freedCount >= targetCount)
1579
+ if (freedBytes >= targetBytes)
1547
1580
  break;
1548
1581
  toDelete.push(entry.key);
1549
1582
  freedBytes += entry.sizeBytes;
1550
- freedCount++;
1551
1583
  }
1552
1584
  if (toDelete.length > 0) {
1553
1585
  LogStatusEx({ message: ` 🗑️ [Cache EVICT] Evicting ${toDelete.length} entries to free ${freedBytes} bytes: ${toDelete.map(k => `"${k}"`).join(', ')}`, verboseOnly: true });
@@ -1572,5 +1604,128 @@ export class LocalCacheManager extends BaseSingleton {
1572
1604
  }
1573
1605
  await this.persistRegistry();
1574
1606
  }
1607
+ /**
1608
+ * Returns the memory limit in bytes for a given entity based on
1609
+ * maxPercentOfCachePerEntity. Returns 0 if no limit applies.
1610
+ */
1611
+ getEntityMemoryLimitBytes() {
1612
+ const pct = this._config.maxPercentOfCachePerEntity;
1613
+ if (pct <= 0)
1614
+ return 0;
1615
+ return Math.floor(this._config.maxSizeBytes * pct / 100);
1616
+ }
1617
+ /**
1618
+ * Enforces per-entity memory limits. When an entity's total cached bytes
1619
+ * (including the incoming entry) would exceed its limit, evicts the
1620
+ * least-recently-accessed entries for that entity until under the limit.
1621
+ * @param incomingSizeBytes - estimated size of the entry about to be stored
1622
+ */
1623
+ async enforcePerEntityMemoryLimit(entityName, incomingSizeBytes) {
1624
+ const limitBytes = this.getEntityMemoryLimitBytes();
1625
+ if (limitBytes <= 0 || !this._storageProvider)
1626
+ return;
1627
+ const fingerprints = this._entityFingerprintIndex.get(entityName);
1628
+ if (!fingerprints || fingerprints.size === 0)
1629
+ return;
1630
+ // Sum up total bytes for this entity, including the incoming entry
1631
+ const entries = [...fingerprints]
1632
+ .map(fp => this._registry.get(fp))
1633
+ .filter((e) => !!e);
1634
+ const totalBytes = entries.reduce((sum, e) => sum + e.sizeBytes, 0) + incomingSizeBytes;
1635
+ if (totalBytes <= limitBytes)
1636
+ return;
1637
+ // Sort by lastAccessedAt ascending (LRU first)
1638
+ entries.sort((a, b) => a.lastAccessedAt - b.lastAccessedAt);
1639
+ let bytesToFree = totalBytes - limitBytes;
1640
+ if (this._config.verboseLogging) {
1641
+ LogStatusEx({ message: ` 🗑️ [Cache PER-ENTITY EVICT] Entity "${entityName}" using ${(totalBytes / 1024 / 1024).toFixed(1)}MB (limit: ${(limitBytes / 1024 / 1024).toFixed(1)}MB), evicting LRU entries`, verboseOnly: true });
1642
+ }
1643
+ for (const entry of entries) {
1644
+ if (bytesToFree <= 0)
1645
+ break;
1646
+ try {
1647
+ const category = this.getCategoryForType(entry.type);
1648
+ await this._storageProvider.Remove(entry.key, category);
1649
+ this.removeFromEntityIndex(entry.key);
1650
+ bytesToFree -= entry.sizeBytes;
1651
+ this._registry.delete(entry.key);
1652
+ }
1653
+ catch {
1654
+ // Continue evicting
1655
+ }
1656
+ }
1657
+ this.debouncedPersistRegistry();
1658
+ }
1659
+ /**
1660
+ * Starts the periodic eviction sweep timer. Called during initialization.
1661
+ * The sweep catches entries that should have been evicted (TTL expired)
1662
+ * but weren't because no new stores triggered eviction.
1663
+ */
1664
+ startEvictionSweep() {
1665
+ this.stopEvictionSweep(); // Clear any existing timer
1666
+ const intervalMs = this._config.evictionSweepIntervalMs;
1667
+ if (intervalMs <= 0)
1668
+ return; // Disabled
1669
+ this._sweepTimer = setInterval(() => {
1670
+ this.runEvictionSweep().catch(err => {
1671
+ LogError(`LocalCacheManager: eviction sweep failed: ${err.message}`);
1672
+ });
1673
+ }, intervalMs);
1674
+ // Don't prevent Node.js process from exiting
1675
+ if (typeof this._sweepTimer === 'object' && 'unref' in this._sweepTimer) {
1676
+ this._sweepTimer.unref();
1677
+ }
1678
+ }
1679
+ /**
1680
+ * Stops the periodic eviction sweep timer.
1681
+ */
1682
+ stopEvictionSweep() {
1683
+ if (this._sweepTimer) {
1684
+ clearInterval(this._sweepTimer);
1685
+ this._sweepTimer = null;
1686
+ }
1687
+ }
1688
+ /**
1689
+ * Runs a single eviction sweep: evicts entries that have exceeded their TTL
1690
+ * or entries for entities that are over their per-entity cap.
1691
+ */
1692
+ async runEvictionSweep() {
1693
+ if (!this._storageProvider || !this._config.enabled)
1694
+ return;
1695
+ const now = Date.now();
1696
+ const ttlMs = this._config.defaultTTLMs;
1697
+ const toDelete = [];
1698
+ for (const [key, entry] of this._registry) {
1699
+ // TTL expiry check
1700
+ if (ttlMs > 0 && entry.cachedAt + ttlMs < now) {
1701
+ toDelete.push(key);
1702
+ continue;
1703
+ }
1704
+ // expiresAt check (if set individually)
1705
+ if (entry.expiresAt && entry.expiresAt < now) {
1706
+ toDelete.push(key);
1707
+ }
1708
+ }
1709
+ if (toDelete.length > 0) {
1710
+ if (this._config.verboseLogging) {
1711
+ LogStatusEx({ message: ` 🗑️ [Cache SWEEP] Evicting ${toDelete.length} TTL-expired entries`, verboseOnly: true });
1712
+ }
1713
+ for (const key of toDelete) {
1714
+ try {
1715
+ const entry = this._registry.get(key);
1716
+ const category = this.getCategoryForType(entry?.type);
1717
+ await this._storageProvider.Remove(key, category);
1718
+ if (entry?.fingerprint) {
1719
+ this.removeFromEntityIndex(entry.fingerprint);
1720
+ }
1721
+ this._registry.delete(key);
1722
+ }
1723
+ catch {
1724
+ // Continue
1725
+ }
1726
+ }
1727
+ await this.persistRegistry();
1728
+ }
1729
+ }
1575
1730
  }
1576
1731
  //# sourceMappingURL=localCacheManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localCacheManager.js","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localCacheManager.js","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"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"}
@@ -598,6 +598,13 @@ export declare abstract class ProviderBase implements IMetadataProvider, IRunVie
598
598
  * - No `ExtraFilter` (empty or undefined)
599
599
  * - No `OrderBy` (empty or undefined)
600
600
  */
601
+ /**
602
+ * Checks whether server-side caching is allowed for the entity in the given RunViewParams.
603
+ * Returns false for entities that have TrustServerCacheCompletely = false, or for
604
+ * Record Changes which is always exempt (rows are created via raw SQL side-effects,
605
+ * not BaseEntity.Save(), so cache invalidation events never fire).
606
+ */
607
+ protected IsServerCacheAllowedForEntity(params: RunViewParams): boolean;
601
608
  protected shouldAutoCache(params: RunViewParams, result: RunViewResult): boolean;
602
609
  protected extractMaxUpdatedAt(results: unknown[]): string;
603
610
  /**