@memberjunction/core 5.30.0 → 5.31.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 (69) hide show
  1. package/dist/generic/InMemoryLocalStorageProvider.d.ts +12 -6
  2. package/dist/generic/InMemoryLocalStorageProvider.d.ts.map +1 -1
  3. package/dist/generic/InMemoryLocalStorageProvider.js +25 -5
  4. package/dist/generic/InMemoryLocalStorageProvider.js.map +1 -1
  5. package/dist/generic/QueryCacheManager.js +2 -1
  6. package/dist/generic/QueryCacheManager.js.map +1 -1
  7. package/dist/generic/RegisterForStartup.d.ts +26 -0
  8. package/dist/generic/RegisterForStartup.d.ts.map +1 -1
  9. package/dist/generic/RegisterForStartup.js +47 -7
  10. package/dist/generic/RegisterForStartup.js.map +1 -1
  11. package/dist/generic/authEvaluator.d.ts +115 -11
  12. package/dist/generic/authEvaluator.d.ts.map +1 -1
  13. package/dist/generic/authEvaluator.js +151 -24
  14. package/dist/generic/authEvaluator.js.map +1 -1
  15. package/dist/generic/baseEngine.d.ts +22 -0
  16. package/dist/generic/baseEngine.d.ts.map +1 -1
  17. package/dist/generic/baseEngine.js +30 -2
  18. package/dist/generic/baseEngine.js.map +1 -1
  19. package/dist/generic/baseEntity.d.ts +61 -4
  20. package/dist/generic/baseEntity.d.ts.map +1 -1
  21. package/dist/generic/baseEntity.js +205 -34
  22. package/dist/generic/baseEntity.js.map +1 -1
  23. package/dist/generic/databaseProviderBase.d.ts +8 -0
  24. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  25. package/dist/generic/databaseProviderBase.js +10 -0
  26. package/dist/generic/databaseProviderBase.js.map +1 -1
  27. package/dist/generic/entityInfo.d.ts +24 -0
  28. package/dist/generic/entityInfo.d.ts.map +1 -1
  29. package/dist/generic/entityInfo.js +29 -3
  30. package/dist/generic/entityInfo.js.map +1 -1
  31. package/dist/generic/interfaces.d.ts +59 -5
  32. package/dist/generic/interfaces.d.ts.map +1 -1
  33. package/dist/generic/interfaces.js +6 -0
  34. package/dist/generic/interfaces.js.map +1 -1
  35. package/dist/generic/localCacheManager.d.ts +38 -3
  36. package/dist/generic/localCacheManager.d.ts.map +1 -1
  37. package/dist/generic/localCacheManager.js +156 -46
  38. package/dist/generic/localCacheManager.js.map +1 -1
  39. package/dist/generic/metadata.d.ts +2 -1
  40. package/dist/generic/metadata.d.ts.map +1 -1
  41. package/dist/generic/metadata.js +45 -42
  42. package/dist/generic/metadata.js.map +1 -1
  43. package/dist/generic/metadataUtil.js +1 -1
  44. package/dist/generic/metadataUtil.js.map +1 -1
  45. package/dist/generic/permissionInterfaces.d.ts +19 -14
  46. package/dist/generic/permissionInterfaces.d.ts.map +1 -1
  47. package/dist/generic/permissionInterfaces.js +3 -3
  48. package/dist/generic/permissionInterfaces.js.map +1 -1
  49. package/dist/generic/providerBase.d.ts +26 -39
  50. package/dist/generic/providerBase.d.ts.map +1 -1
  51. package/dist/generic/providerBase.js +202 -201
  52. package/dist/generic/providerBase.js.map +1 -1
  53. package/dist/generic/queryInfo.js +20 -20
  54. package/dist/generic/queryInfo.js.map +1 -1
  55. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
  56. package/dist/generic/runQuerySQLFilterImplementations.js +30 -9
  57. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
  58. package/dist/generic/securityInfo.d.ts +14 -7
  59. package/dist/generic/securityInfo.d.ts.map +1 -1
  60. package/dist/generic/securityInfo.js +26 -25
  61. package/dist/generic/securityInfo.js.map +1 -1
  62. package/dist/generic/util.d.ts +35 -0
  63. package/dist/generic/util.d.ts.map +1 -1
  64. package/dist/generic/util.js +99 -10
  65. package/dist/generic/util.js.map +1 -1
  66. package/dist/index.js +1 -1
  67. package/dist/index.js.map +1 -1
  68. package/package.json +2 -2
  69. package/readme.md +50 -6
@@ -1,11 +1,16 @@
1
1
  import { ILocalStorageProvider } from './interfaces.js';
2
2
  /**
3
- * In-memory implementation of ILocalStorageProvider.
3
+ * In-memory implementation of {@link ILocalStorageProvider}.
4
4
  * Useful for server-side environments (Node.js) where browser storage APIs like
5
- * localStorage or indexedDB are not available.
5
+ * localStorage or IndexedDB are not available, and as a default fallback wherever
6
+ * a storage provider is required but no persistence is needed.
6
7
  *
7
- * Note: Data is not persisted across process restarts. This is suitable for
8
- * caching scenarios where persistence is not required.
8
+ * Stores values **by reference** no serialization. Mirrors the IndexedDB
9
+ * provider's structured-clone semantics (preserves Date, Map, Set, typed arrays,
10
+ * etc.) without the storage round-trip cost.
11
+ *
12
+ * Note: Data is not persisted across process restarts. Suitable for caching
13
+ * scenarios where persistence is not required.
9
14
  */
10
15
  export declare class InMemoryLocalStorageProvider implements ILocalStorageProvider {
11
16
  private static readonly DEFAULT_CATEGORY;
@@ -14,8 +19,9 @@ export declare class InMemoryLocalStorageProvider implements ILocalStorageProvid
14
19
  * Gets or creates a category map
15
20
  */
16
21
  private getCategoryMap;
17
- GetItem(key: string, category?: string): Promise<string | null>;
18
- SetItem(key: string, value: string, category?: string): Promise<void>;
22
+ GetItem<T = unknown>(key: string, category?: string): Promise<T | null>;
23
+ GetItems<T = unknown>(keys: string[], category?: string): Promise<Map<string, T | null>>;
24
+ SetItem<T>(key: string, value: T, category?: string): Promise<void>;
19
25
  Remove(key: string, category?: string): Promise<void>;
20
26
  ClearCategory(category: string): Promise<void>;
21
27
  GetCategoryKeys(category: string): Promise<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryLocalStorageProvider.d.ts","sourceRoot":"","sources":["../../src/generic/InMemoryLocalStorageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;;GAOG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IACrD,OAAO,CAAC,QAAQ,CAA+C;IAE/D;;OAEG;IACH,OAAO,CAAC,cAAc;IAUT,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK/D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAIpE"}
1
+ {"version":3,"file":"InMemoryLocalStorageProvider.d.ts","sourceRoot":"","sources":["../../src/generic/InMemoryLocalStorageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IACrD,OAAO,CAAC,QAAQ,CAAgD;IAEhE;;OAEG;IACH,OAAO,CAAC,cAAc;IAUT,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAMvE,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAcxF,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAIpE"}
@@ -1,10 +1,15 @@
1
1
  /**
2
- * In-memory implementation of ILocalStorageProvider.
2
+ * In-memory implementation of {@link ILocalStorageProvider}.
3
3
  * Useful for server-side environments (Node.js) where browser storage APIs like
4
- * localStorage or indexedDB are not available.
4
+ * localStorage or IndexedDB are not available, and as a default fallback wherever
5
+ * a storage provider is required but no persistence is needed.
5
6
  *
6
- * Note: Data is not persisted across process restarts. This is suitable for
7
- * caching scenarios where persistence is not required.
7
+ * Stores values **by reference** no serialization. Mirrors the IndexedDB
8
+ * provider's structured-clone semantics (preserves Date, Map, Set, typed arrays,
9
+ * etc.) without the storage round-trip cost.
10
+ *
11
+ * Note: Data is not persisted across process restarts. Suitable for caching
12
+ * scenarios where persistence is not required.
8
13
  */
9
14
  export class InMemoryLocalStorageProvider {
10
15
  constructor() {
@@ -25,7 +30,22 @@ export class InMemoryLocalStorageProvider {
25
30
  }
26
31
  async GetItem(key, category) {
27
32
  const categoryMap = this.getCategoryMap(category || InMemoryLocalStorageProvider.DEFAULT_CATEGORY);
28
- return categoryMap.get(key) ?? null;
33
+ const value = categoryMap.get(key);
34
+ return (value === undefined ? null : value);
35
+ }
36
+ async GetItems(keys, category) {
37
+ // In-memory has no batching benefit (Map.get is already O(1)) — just read each key
38
+ // and assemble the result map. Implementing the API for contract uniformity.
39
+ const out = new Map();
40
+ if (keys.length === 0)
41
+ return out;
42
+ const categoryMap = this.getCategoryMap(category || InMemoryLocalStorageProvider.DEFAULT_CATEGORY);
43
+ // Dedupe via Set so duplicate input keys don't produce duplicate map entries
44
+ for (const key of new Set(keys)) {
45
+ const value = categoryMap.get(key);
46
+ out.set(key, value === undefined ? null : value);
47
+ }
48
+ return out;
29
49
  }
30
50
  async SetItem(key, value, category) {
31
51
  const categoryMap = this.getCategoryMap(category || InMemoryLocalStorageProvider.DEFAULT_CATEGORY);
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryLocalStorageProvider.js","sourceRoot":"","sources":["../../src/generic/InMemoryLocalStorageProvider.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,OAAO,4BAA4B;IAAzC;QAEY,aAAQ,GAAqC,IAAI,GAAG,EAAE,CAAC;IAuCnE,CAAC;aAxC2B,qBAAgB,GAAG,SAAS,AAAZ,CAAa;IAGrD;;OAEG;IACK,cAAc,CAAC,QAAgB;QACnC,MAAM,GAAG,GAAG,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC;QACtE,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,QAAiB;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QACnG,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,QAAiB;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QACnG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,QAAiB;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QACnG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,QAAgB;QACvC,MAAM,GAAG,GAAG,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,QAAgB;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QACjG,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC"}
1
+ {"version":3,"file":"InMemoryLocalStorageProvider.js","sourceRoot":"","sources":["../../src/generic/InMemoryLocalStorageProvider.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,4BAA4B;IAAzC;QAEY,aAAQ,GAAsC,IAAI,GAAG,EAAE,CAAC;IAsDpE,CAAC;aAvD2B,qBAAgB,GAAG,SAAS,AAAZ,CAAa;IAGrD;;OAEG;IACK,cAAc,CAAC,QAAgB;QACnC,MAAM,GAAG,GAAG,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC;QACtE,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAc,GAAW,EAAE,QAAiB;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QACnG,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,KAAW,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAc,IAAc,EAAE,QAAiB;QAChE,mFAAmF;QACnF,6EAA6E;QAC7E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QACnG,6EAA6E;QAC7E,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,KAAW,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,OAAO,CAAI,GAAW,EAAE,KAAQ,EAAE,QAAiB;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QACnG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,QAAiB;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QACnG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,QAAgB;QACvC,MAAM,GAAG,GAAG,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,QAAgB;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QACjG,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC"}
@@ -306,7 +306,8 @@ export class QueryCacheManager extends BaseSingleton {
306
306
  }
307
307
  // ── Helpers ─────────────────────────────────────────────────────────────
308
308
  FindQueryById(queryId) {
309
- return Metadata.Provider.Queries.find((q) => UUIDsEqual(q.ID, queryId));
309
+ return Metadata.Provider.Queries.find(// global-provider-ok: QueryCacheManager is a singleton tracking the global query catalog
310
+ (q) => UUIDsEqual(q.ID, queryId));
310
311
  }
311
312
  computeTTLRemaining(fingerprint, ttlMinutes) {
312
313
  const cachedAt = this._cacheTimestamps.get(fingerprint) ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryCacheManager.js","sourceRoot":"","sources":["../../src/generic/QueryCacheManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryCacheManager.js","sourceRoot":"","sources":["../../src/generic/QueryCacheManager.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,24 @@ export interface RegisterForStartupOptions {
23
23
  * Human-readable description for logging/debugging
24
24
  */
25
25
  description?: string;
26
+ /**
27
+ * When true, the engine's HandleStartup() is fired during startup but NOT awaited.
28
+ * The shell/app boot sequence proceeds without waiting for the engine to finish loading.
29
+ *
30
+ * Use for engines that aren't required for first paint (e.g., admin-only or
31
+ * feature-specific engines like AIEngineBase, IntegrationEngineBase).
32
+ *
33
+ * **Consumer contract:** code that reads engine state MUST call
34
+ * `await Engine.Instance.EnsureLoaded()` (or `Config(false)`) first. BaseEngine
35
+ * load is idempotent — a concurrent caller waits for the in-flight load promise
36
+ * rather than re-loading, so the cost is just one microtask when the load is
37
+ * already done or already running.
38
+ *
39
+ * Failures during deferred startup are logged according to `severity` but never
40
+ * propagate up — they cannot abort the app boot since boot has already completed.
41
+ * Default: false.
42
+ */
43
+ deferred?: boolean;
26
44
  }
27
45
  /**
28
46
  * Interface for any singleton class that needs initialization at application startup.
@@ -205,6 +223,14 @@ export declare class StartupManager extends BaseSingleton<StartupManager> {
205
223
  * Internal method that performs the actual startup loading work.
206
224
  */
207
225
  private ExecuteLoad;
226
+ /**
227
+ * Fires HandleStartup() for each deferred registration in parallel without
228
+ * awaiting. Logs per-engine completion / failure so the dev console shows
229
+ * when background loads finish. Errors are logged at the registration's
230
+ * configured severity but never propagate — the app boot has already
231
+ * returned by the time this runs.
232
+ */
233
+ private KickOffDeferredEngines;
208
234
  /**
209
235
  * Resolve the priority from options, defaulting to 100 if not specified.
210
236
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterForStartup.d.ts","sourceRoot":"","sources":["../../src/generic/RegisterForStartup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegisterForStartup.d.ts","sourceRoot":"","sources":["../../src/generic/RegisterForStartup.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { BaseSingleton } from "@memberjunction/global";
2
2
  import { Metadata } from "./metadata.js";
3
3
  import { LocalCacheManager } from "./localCacheManager.js";
4
- import { ProviderBase } from "./providerBase.js";
5
4
  /**
6
5
  * Internal function that performs the actual registration
7
6
  */
@@ -133,12 +132,19 @@ export class StartupManager extends BaseSingleton {
133
132
  // first, init the LocalCacheManager and await its completion
134
133
  // Get the storage provider from the metadata provider (uses IndexedDB)
135
134
  const cacheStart = Date.now();
136
- const storageProvider = Metadata.Provider.LocalStorageProvider;
135
+ const storageProvider = (provider ?? Metadata.Provider).LocalStorageProvider;
137
136
  await LocalCacheManager.Instance.Initialize(storageProvider);
138
137
  console.debug(`LocalCacheManager initialized in ${Date.now() - cacheStart}ms`);
139
138
  const startTime = Date.now();
140
- const registrations = this.GetRegistrations();
141
- const groups = this.GroupByPriority(registrations);
139
+ const allRegistrations = this.GetRegistrations();
140
+ // Split into synchronous (awaited, gates startup completion) and deferred
141
+ // (fired but not awaited; consumers must call Engine.Instance.EnsureLoaded()
142
+ // before reading state). Deferred engines start AFTER sync engines complete
143
+ // so they don't compete with the shell-render-critical batch for the same
144
+ // GraphQL coalesce window.
145
+ const syncRegistrations = allRegistrations.filter(r => !r.options.deferred);
146
+ const deferredRegistrations = allRegistrations.filter(r => r.options.deferred);
147
+ const groups = this.GroupByPriority(syncRegistrations);
142
148
  const results = [];
143
149
  for (const group of groups) {
144
150
  const groupResults = await Promise.all(group.map(async (reg) => {
@@ -190,20 +196,54 @@ export class StartupManager extends BaseSingleton {
190
196
  }
191
197
  }
192
198
  this._loadCompleted = true;
193
- // All engines have finished loading — close the fast-start window so
194
- // subsequent RunViews use normal server-validated caching.
195
- ProviderBase.ConsumeFastStartupMode();
196
199
  // Log per-engine timing summary so slow engines are visible
197
200
  const totalMs = Date.now() - startTime;
198
201
  const sorted = [...results].sort((a, b) => b.durationMs - a.durationMs);
199
202
  const lines = sorted.map(r => ` ${r.success ? '✅' : '❌'} ${r.className}: ${r.durationMs}ms`);
200
203
  console.log(`[StartupManager] All engines loaded in ${totalMs}ms:\n${lines.join('\n')}`);
204
+ // Fire deferred engines AFTER sync completes — fire-and-forget, no await.
205
+ // The Promise here is never awaited; consumers reach a deferred engine via
206
+ // its own .EnsureLoaded() call which dedupes against the in-flight load
207
+ // (BaseEngine._loadingSubject handles concurrent callers).
208
+ if (deferredRegistrations.length > 0) {
209
+ this.KickOffDeferredEngines(deferredRegistrations, contextUser, provider);
210
+ }
201
211
  return {
202
212
  success: results.every(r => r.success || r.severity !== 'fatal'),
203
213
  results,
204
214
  totalDurationMs: totalMs
205
215
  };
206
216
  }
217
+ /**
218
+ * Fires HandleStartup() for each deferred registration in parallel without
219
+ * awaiting. Logs per-engine completion / failure so the dev console shows
220
+ * when background loads finish. Errors are logged at the registration's
221
+ * configured severity but never propagate — the app boot has already
222
+ * returned by the time this runs.
223
+ */
224
+ KickOffDeferredEngines(registrations, contextUser, provider) {
225
+ const names = registrations.map(r => r.constructor.name).join(', ');
226
+ console.log(`[StartupManager] Kicking off ${registrations.length} deferred engine(s) in background: [${names}]`);
227
+ for (const reg of registrations) {
228
+ const loadStart = Date.now();
229
+ // Intentionally no await — consumers will rendezvous via EnsureLoaded()
230
+ reg.getInstance().HandleStartup(contextUser, provider).then(() => {
231
+ reg.loadedAt = new Date();
232
+ reg.loadDurationMs = Date.now() - loadStart;
233
+ console.log(`[StartupManager] ⏱️ Deferred engine loaded: ${reg.constructor.name} (${reg.loadDurationMs}ms)`);
234
+ }).catch((error) => {
235
+ const durationMs = Date.now() - loadStart;
236
+ const severity = reg.options.severity || 'error';
237
+ if (severity === 'error') {
238
+ console.error(`[StartupManager] Deferred engine failed: ${reg.constructor.name} (${durationMs}ms)`, error);
239
+ }
240
+ else if (severity === 'warn') {
241
+ console.warn(`[StartupManager] Deferred engine warning: ${reg.constructor.name} (${durationMs}ms)`, error);
242
+ }
243
+ // 'silent' / 'fatal' — fatal is meaningless for deferred since boot already returned
244
+ });
245
+ }
246
+ }
207
247
  /**
208
248
  * Resolve the priority from options, defaulting to 100 if not specified.
209
249
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterForStartup.js","sourceRoot":"","sources":["../../src/generic/RegisterForStartup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegisterForStartup.js","sourceRoot":"","sources":["../../src/generic/RegisterForStartup.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,129 @@
1
+ import { IMetadataProvider } from "./interfaces.js";
1
2
  import { AuthorizationInfo, UserInfo } from "./securityInfo.js";
2
3
  /**
3
- * This class handles the execution of various types of authorization evaluations and contains utility methods as well.
4
+ * Centralised utility for evaluating MemberJunction authorization rules.
5
+ *
6
+ * ## Hierarchy semantics
7
+ * MemberJunction authorizations form a parent → child tree (e.g.
8
+ * "Schema Management" → "Create Entities" → "Create in UDT Schema").
9
+ * Granting a parent authorization to a role implicitly covers every
10
+ * descendant operation — see {@link UserCanExecuteWithAncestors}.
11
+ *
12
+ * ## Usage
13
+ * Prefer {@link UserCanExecuteWithAncestors} for feature-gate checks so that
14
+ * administrators can grant access at whatever granularity fits their policy
15
+ * (root "Schema Management" for all database-designer ops, or a specific leaf
16
+ * for finer control). Use the plain {@link UserCanExecute} only when you
17
+ * explicitly need to verify a direct grant with no hierarchy traversal.
18
+ *
19
+ * ## Multi-provider support
20
+ * Authorizations and CurrentUser are per-provider state, so methods that need
21
+ * the provider accept an optional `provider` parameter that takes precedence
22
+ * over the global `Metadata.Provider`. Pass the provider explicitly when
23
+ * running in multi-provider client setups (parallel server connections);
24
+ * single-provider apps can omit it and rely on the global default.
4
25
  */
5
26
  export declare class AuthorizationEvaluator {
6
27
  /**
7
- * Determines if the current user can execute actions under the provided authorization.
8
- * @param auth
9
- * @returns
28
+ * Determines if the **current user** (from `Metadata.CurrentUser`) can
29
+ * execute the given authorization via a direct role match.
30
+ *
31
+ * **Client-side only.** On the server, `Metadata.CurrentUser` is a global
32
+ * singleton — it does not reflect the per-request user context. Use
33
+ * {@link UserCanExecute} with an explicit `user` parameter instead.
34
+ *
35
+ * Throws if no current user is set. Use {@link CurrentUserCanExecuteWithAncestors}
36
+ * for hierarchy-aware checking.
37
+ *
38
+ * @param auth The authorization to check.
39
+ * @param provider Optional metadata provider whose CurrentUser to evaluate against. Falls back to `Metadata.Provider`.
10
40
  */
11
- CurrentUserCanExecute(auth: AuthorizationInfo): boolean;
41
+ CurrentUserCanExecute(auth: AuthorizationInfo, provider?: IMetadataProvider): boolean;
12
42
  /**
13
- * Determines if a given user can execute actions under the provided authorization.
43
+ * Determines if `user` has the given authorization via a **direct role
44
+ * match** only (no parent traversal).
14
45
  *
15
- * @param {AuthorizationInfo} auth - The authorization to check for execution rights.
16
- * @param {UserInfo} user - The user to check for execution rights.
17
- * @returns {boolean} True if the user can execute actions under the authorization, otherwise false.
46
+ * @param auth - The authorization to check.
47
+ * @param user - The user whose roles are examined.
48
+ * @returns `true` if any of the user's roles is directly assigned to `auth`.
49
+ *
50
+ * @see {@link UserCanExecuteWithAncestors} for hierarchy-aware checking.
18
51
  */
19
52
  UserCanExecute(auth: AuthorizationInfo, user: UserInfo): boolean;
20
53
  /**
21
- * Returns an array of authorizations that a given user can execute based on their roles.
54
+ * Determines if the **current user** can execute the given authorization,
55
+ * checking the authorization itself AND every ancestor up the hierarchy.
56
+ *
57
+ * Granting "Schema Management" to a role therefore covers all descendant
58
+ * operations such as "Create in UDT Schema".
59
+ *
60
+ * **Client-side only.** On the server, `Metadata.CurrentUser` is a global
61
+ * singleton — it does not reflect the per-request user context. Use
62
+ * {@link UserCanExecuteWithAncestors} with an explicit `user` parameter instead.
63
+ *
64
+ * Throws if no current user is set.
65
+ *
66
+ * @param auth - The authorization to check (typically a leaf/child node).
67
+ * @param provider Optional metadata provider whose CurrentUser to evaluate against. Falls back to `Metadata.Provider`.
68
+ * @returns `true` if the current user has `auth` or any ancestor auth.
69
+ */
70
+ CurrentUserCanExecuteWithAncestors(auth: AuthorizationInfo, provider?: IMetadataProvider): boolean;
71
+ /**
72
+ * Determines if `user` can execute `auth` by walking up the parent chain.
73
+ *
74
+ * The check succeeds if the user has a direct role match on `auth`, or on
75
+ * any ancestor (parent, grandparent, …). This respects the MemberJunction
76
+ * convention that "users must have this authorization **or a parent**" to
77
+ * access a feature — granting a broader parent implicitly covers children.
78
+ *
79
+ * A visited-set guards against malformed circular parent references.
80
+ *
81
+ * @param auth - The authorization to check (start of the walk).
82
+ * @param user - The user whose roles are examined.
83
+ * @param allAuthorizations - Optional pre-fetched list; defaults to
84
+ * `Metadata.Authorizations` to avoid repeated
85
+ * singleton lookups in hot paths.
86
+ * @returns `true` if the user passes the check at any level of the hierarchy.
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * const evaluator = new AuthorizationEvaluator();
91
+ * const md = new Metadata();
92
+ * const auth = md.Authorizations.find(a => a.Name === 'Create in UDT Schema');
93
+ * // Returns true if user has 'Create in UDT Schema', 'Create Entities',
94
+ * // 'Schema Management', or any other ancestor.
95
+ * const allowed = evaluator.UserCanExecuteWithAncestors(auth, contextUser);
96
+ * ```
97
+ */
98
+ UserCanExecuteWithAncestors(auth: AuthorizationInfo, user: UserInfo, allAuthorizations?: AuthorizationInfo[]): boolean;
99
+ /**
100
+ * Returns every authorization that `user` can execute via a **direct role
101
+ * match** (no ancestor traversal).
102
+ *
103
+ * @param user The user to evaluate.
104
+ * @param provider Optional metadata provider whose Authorizations list to scan. Falls back to `Metadata.Provider`.
105
+ * @throws if `user` or `user.UserRoles` is not provided.
106
+ */
107
+ GetUserAuthorizations(user: UserInfo, provider?: IMetadataProvider): AuthorizationInfo[];
108
+ /**
109
+ * Returns every authorization that `user` can execute, including those
110
+ * reachable via ancestor grants.
111
+ *
112
+ * Useful for building a complete "effective permission set" for a user
113
+ * without needing to know the exact hierarchy in advance.
114
+ *
115
+ * @param user The user to evaluate.
116
+ * @param provider Optional metadata provider whose Authorizations list to scan. Falls back to `Metadata.Provider`.
117
+ */
118
+ GetUserAuthorizationsWithAncestors(user: UserInfo, provider?: IMetadataProvider): AuthorizationInfo[];
119
+ /**
120
+ * Recursive core of the hierarchy walk.
121
+ *
122
+ * @param auth - Current node being evaluated.
123
+ * @param user - The user to check.
124
+ * @param all - Full authorization list (passed to avoid repeat lookups).
125
+ * @param visited - Accumulated set of already-visited IDs (cycle guard).
22
126
  */
23
- GetUserAuthorizations(user: UserInfo): AuthorizationInfo[];
127
+ private static walkAuthHierarchy;
24
128
  }
25
129
  //# sourceMappingURL=authEvaluator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authEvaluator.d.ts","sourceRoot":"","sources":["../../src/generic/authEvaluator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE7D;;GAEG;AACH,qBAAa,sBAAsB;IAC/B;;;;OAIG;IACI,qBAAqB,CAAC,IAAI,EAAE,iBAAiB;IAQpD;;;;;;OAMG;IACI,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO;IAIvE;;OAEG;IACI,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,EAAE;CAcpE"}
1
+ {"version":3,"file":"authEvaluator.d.ts","sourceRoot":"","sources":["../../src/generic/authEvaluator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,sBAAsB;IAI/B;;;;;;;;;;;;;OAaG;IACI,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAQ5F;;;;;;;;;OASG;IACI,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO;IAMvE;;;;;;;;;;;;;;;;OAgBG;IACI,kCAAkC,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAQzG;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACI,2BAA2B,CAC9B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,QAAQ,EACd,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,GACxC,OAAO;IAOV;;;;;;;OAOG;IACI,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE;IAQ/F;;;;;;;;;OASG;IACI,kCAAkC,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE;IAW5G;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAmBnC"}