@memberjunction/core 5.8.0 → 5.9.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 (42) hide show
  1. package/dist/generic/baseEngine.d.ts +64 -1
  2. package/dist/generic/baseEngine.d.ts.map +1 -1
  3. package/dist/generic/baseEngine.js +225 -22
  4. package/dist/generic/baseEngine.js.map +1 -1
  5. package/dist/generic/baseEntity.d.ts +31 -3
  6. package/dist/generic/baseEntity.d.ts.map +1 -1
  7. package/dist/generic/baseEntity.js +46 -0
  8. package/dist/generic/baseEntity.js.map +1 -1
  9. package/dist/generic/hookRegistry.d.ts +83 -0
  10. package/dist/generic/hookRegistry.d.ts.map +1 -0
  11. package/dist/generic/hookRegistry.js +87 -0
  12. package/dist/generic/hookRegistry.js.map +1 -0
  13. package/dist/generic/interfaces.d.ts +16 -0
  14. package/dist/generic/interfaces.d.ts.map +1 -1
  15. package/dist/generic/interfaces.js.map +1 -1
  16. package/dist/generic/localCacheManager.d.ts +200 -19
  17. package/dist/generic/localCacheManager.d.ts.map +1 -1
  18. package/dist/generic/localCacheManager.js +489 -132
  19. package/dist/generic/localCacheManager.js.map +1 -1
  20. package/dist/generic/providerBase.d.ts +10 -0
  21. package/dist/generic/providerBase.d.ts.map +1 -1
  22. package/dist/generic/providerBase.js +55 -5
  23. package/dist/generic/providerBase.js.map +1 -1
  24. package/dist/generic/queryInfo.d.ts +9 -6
  25. package/dist/generic/queryInfo.d.ts.map +1 -1
  26. package/dist/generic/queryInfo.js +10 -10
  27. package/dist/generic/queryInfo.js.map +1 -1
  28. package/dist/generic/queryInfoInterfaces.d.ts +1 -1
  29. package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
  30. package/dist/generic/securityInfo.d.ts +41 -0
  31. package/dist/generic/securityInfo.d.ts.map +1 -1
  32. package/dist/generic/securityInfo.js +16 -0
  33. package/dist/generic/securityInfo.js.map +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/views/runView.d.ts +33 -0
  39. package/dist/views/runView.d.ts.map +1 -1
  40. package/dist/views/runView.js.map +1 -1
  41. package/package.json +2 -2
  42. package/readme.md +58 -0
package/dist/index.js CHANGED
@@ -39,6 +39,7 @@ export * from "./generic/localCacheManager.js";
39
39
  export * from "./generic/RegisterForStartup.js";
40
40
  export * from "./generic/telemetryManager.js";
41
41
  export * from "./generic/InMemoryLocalStorageProvider.js";
42
+ export * from "./generic/hookRegistry.js";
42
43
  export function SetProvider(provider) {
43
44
  Metadata.Provider = provider;
44
45
  BaseEntity.Provider = provider;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AAEvD,MAAM,UAAU,WAAW,CAAC,QAAQ;IAChC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,wBAAwB,CAAC;AAEvC,MAAM,UAAU,WAAW,CAAC,QAAQ;IAChC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,CAAC"}
@@ -2,6 +2,7 @@ import { IMetadataProvider, IRunViewProvider, RunViewResult } from '../generic/i
2
2
  import { UserInfo } from '../generic/securityInfo.js';
3
3
  import { BaseEntity } from '../generic/baseEntity.js';
4
4
  import { PlatformSQL } from '../generic/platformSQL.js';
5
+ import type { CacheChangedEvent } from '../generic/localCacheManager.js';
5
6
  /**
6
7
  * Single aggregate expression to compute alongside the main view query.
7
8
  * Aggregates run in parallel with the row data query and are NOT affected by pagination.
@@ -177,6 +178,38 @@ export declare class RunViewParams {
177
178
  * ```
178
179
  */
179
180
  Aggregates?: AggregateExpression[];
181
+ /**
182
+ * Optional callback invoked when the cached result set for this exact query
183
+ * fingerprint is updated by another server instance (via Redis pub/sub).
184
+ *
185
+ * Use this to react to cross-server cache invalidation — for example, to reload
186
+ * data in an engine's in-memory array, refresh a UI grid, or trigger a re-fetch.
187
+ *
188
+ * **Requirements:**
189
+ * - A `RedisLocalStorageProvider` must be configured as the local storage provider
190
+ * - `RedisLocalStorageProvider.StartListening()` must have been called to enable pub/sub
191
+ * - Has no effect with `InMemoryLocalStorageProvider` (single-server, no pub/sub)
192
+ *
193
+ * **Lifecycle:** If the caller is short-lived (e.g., an Angular component), call
194
+ * `result.Unsubscribe()` during cleanup (e.g., `ngOnDestroy`) to avoid memory leaks.
195
+ * For long-lived callers like engines, the callback persists for the process lifetime.
196
+ *
197
+ * @example
198
+ * ```typescript
199
+ * const result = await rv.RunView<AIModelEntity>({
200
+ * EntityName: 'AI Models',
201
+ * ResultType: 'entity_object',
202
+ * OnDataChanged: (event) => {
203
+ * console.log(`AI Models cache updated by server ${event.SourceServerId}`);
204
+ * this.reloadModels();
205
+ * }
206
+ * });
207
+ *
208
+ * // Later, to stop listening:
209
+ * result.Unsubscribe?.();
210
+ * ```
211
+ */
212
+ OnDataChanged?: (event: CacheChangedEvent) => void;
180
213
  /**
181
214
  * Compares two RunViewParams objects for equality by comparing their property values.
182
215
  * This is useful for determining if params have actually changed vs just being a new object reference.
@@ -1 +1 @@
1
- {"version":3,"file":"runView.d.ts","sourceRoot":"","sources":["../../src/views/runView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runView.d.ts","sourceRoot":"","sources":["../../src/views/runView.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runView.js","sourceRoot":"","sources":["../../src/views/runView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runView.js","sourceRoot":"","sources":["../../src/views/runView.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/core",
3
3
  "type": "module",
4
- "version": "5.8.0",
4
+ "version": "5.9.0",
5
5
  "description": "MemberJunction: Core Library including Metadata, Application, Entity Retrieval and Manipulation, and Utilities",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -26,7 +26,7 @@
26
26
  "vitest": "^3.1.1"
27
27
  },
28
28
  "dependencies": {
29
- "@memberjunction/global": "5.8.0",
29
+ "@memberjunction/global": "5.9.0",
30
30
  "rxjs": "^7.8.2",
31
31
  "zod": "~3.24.4",
32
32
  "debug": "^4.4.3"
package/readme.md CHANGED
@@ -830,6 +830,64 @@ const result = await rv.RunView({
830
830
  CacheLocalTTL: 300000 // 5 minutes
831
831
  });
832
832
  ```
833
+ #### Cross-Server Cache Invalidation
834
+
835
+ When multiple MJAPI server instances share a Redis-backed `ILocalStorageProvider`, cache invalidation propagates automatically across all instances. The system uses two complementary mechanisms:
836
+
837
+ **1. BaseEngine path (engine-managed data):**
838
+ When `BaseEntity.Save()` fires, `BaseEngine` catches the MJGlobal event, updates its in-memory arrays, and calls `syncLocalCacheForConfig()` → `LocalCacheManager.UpsertSingleEntity()` → Redis `SetItem()` → pub/sub notification. Other servers receive the notification via `OnExternalCacheChange()` and refresh their engine data.
839
+
840
+ **2. LocalCacheManager path (all cached data):**
841
+ `LocalCacheManager` independently subscribes to MJGlobal `BaseEntityEvent` events. When any entity is saved or deleted, it finds all cached RunView fingerprints for that entity via a reverse index and either updates them in-place (unfiltered queries) or invalidates them (filtered queries). This ensures that **all** cached data — not just engine-managed data — stays consistent across servers.
842
+
843
+ ```
844
+ MJAPI-A: BaseEntity.Save()
845
+ → MJGlobal event
846
+ → LocalCacheManager.HandleBaseEntityEvent()
847
+ → Find all cached fingerprints for this entity
848
+ → UpsertSingleEntity() or InvalidateRunViewResult()
849
+ → Redis SetItem() → PUBLISH on mj:__pubsub__
850
+ → MJAPI-B receives → DispatchCacheChange()
851
+ → BaseEngine.OnExternalCacheChange() refreshes arrays
852
+ ```
853
+
854
+ **Registering for change notifications:**
855
+
856
+ ```typescript
857
+ // Engines and components can register callbacks for specific cache fingerprints
858
+ const fingerprint = LocalCacheManager.Instance.GenerateRunViewFingerprint(params);
859
+ const unsubscribe = LocalCacheManager.Instance.RegisterChangeCallback(
860
+ fingerprint,
861
+ (event: CacheChangedEvent) => {
862
+ console.log(`Cache updated by server ${event.SourceServerId}`);
863
+ // Refresh local data...
864
+ }
865
+ );
866
+
867
+ // Cleanup when no longer needed
868
+ unsubscribe();
869
+ ```
870
+
871
+ **Requirements for cross-server invalidation:**
872
+ - Redis-backed `ILocalStorageProvider` (`@memberjunction/redis-provider`)
873
+ - `enablePubSub: true` in Redis provider config
874
+ - `StartListening()` called after provider creation
875
+ - `OnCacheChanged` wired to `LocalCacheManager.DispatchCacheChange()`
876
+
877
+ #### Storage Provider Implementations
878
+
879
+ `LocalCacheManager` and `ProviderBase` delegate persistence to an `ILocalStorageProvider`. MemberJunction ships with several implementations:
880
+
881
+ | Provider | Package | Environment | Persistence |
882
+ |----------|---------|-------------|-------------|
883
+ | `InMemoryLocalStorageProvider` | `@memberjunction/core` | Server (Node.js) | None — data lost on restart |
884
+ | `BrowserLocalStorageProvider` | `@memberjunction/graphql-dataprovider` | Browser | `localStorage` |
885
+ | `BrowserIndexedDBStorageProvider` | `@memberjunction/graphql-dataprovider` | Browser | IndexedDB |
886
+ | `RedisLocalStorageProvider` | [`@memberjunction/redis-provider`](../RedisProvider/) | Server (Node.js) | Redis — shared across instances, survives restarts |
887
+
888
+ For production server deployments, the Redis provider is recommended. See the [`@memberjunction/redis-provider` README](../RedisProvider/) for setup instructions.
889
+
890
+ > **Comprehensive Guide**: For a deep dive into the full caching architecture — LocalCacheManager internals, differential updates, eviction policies, BaseEngine integration, Redis cross-server sync, GraphQL cache invalidation subscriptions, and deployment topologies — see the [**Caching & Pub/Sub Guide**](/guides/CACHING_AND_PUBSUB_GUIDE.md).
833
891
 
834
892
  ---
835
893