@memberjunction/core 6.2.0-edge.7 → 6.2.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 (54) hide show
  1. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts +32 -0
  2. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts.map +1 -1
  3. package/dist/generic/baseEngine.d.ts +47 -4
  4. package/dist/generic/baseEngine.d.ts.map +1 -1
  5. package/dist/generic/baseEngine.js +96 -18
  6. package/dist/generic/baseEngine.js.map +1 -1
  7. package/dist/generic/baseEngineRegistry.d.ts +10 -2
  8. package/dist/generic/baseEngineRegistry.d.ts.map +1 -1
  9. package/dist/generic/baseEngineRegistry.js +33 -5
  10. package/dist/generic/baseEngineRegistry.js.map +1 -1
  11. package/dist/generic/baseEntity.d.ts +60 -4
  12. package/dist/generic/baseEntity.d.ts.map +1 -1
  13. package/dist/generic/baseEntity.js +603 -93
  14. package/dist/generic/baseEntity.js.map +1 -1
  15. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  16. package/dist/generic/databaseProviderBase.js +43 -9
  17. package/dist/generic/databaseProviderBase.js.map +1 -1
  18. package/dist/generic/entityInfo.d.ts +19 -1
  19. package/dist/generic/entityInfo.d.ts.map +1 -1
  20. package/dist/generic/entityInfo.js +52 -0
  21. package/dist/generic/entityInfo.js.map +1 -1
  22. package/dist/generic/localCacheManager.d.ts +21 -0
  23. package/dist/generic/localCacheManager.d.ts.map +1 -1
  24. package/dist/generic/localCacheManager.js +107 -1
  25. package/dist/generic/localCacheManager.js.map +1 -1
  26. package/dist/generic/logging.d.ts +105 -38
  27. package/dist/generic/logging.d.ts.map +1 -1
  28. package/dist/generic/logging.js +196 -5
  29. package/dist/generic/logging.js.map +1 -1
  30. package/dist/generic/providerBase.d.ts +43 -1
  31. package/dist/generic/providerBase.d.ts.map +1 -1
  32. package/dist/generic/providerBase.js +359 -99
  33. package/dist/generic/providerBase.js.map +1 -1
  34. package/dist/generic/sharedLoad.d.ts +42 -0
  35. package/dist/generic/sharedLoad.d.ts.map +1 -0
  36. package/dist/generic/sharedLoad.js +74 -0
  37. package/dist/generic/sharedLoad.js.map +1 -0
  38. package/dist/generic/telemetryManager.d.ts +31 -0
  39. package/dist/generic/telemetryManager.d.ts.map +1 -1
  40. package/dist/generic/telemetryManager.js +85 -9
  41. package/dist/generic/telemetryManager.js.map +1 -1
  42. package/dist/generic/transactionGroup.d.ts +19 -0
  43. package/dist/generic/transactionGroup.d.ts.map +1 -1
  44. package/dist/generic/transactionGroup.js +55 -7
  45. package/dist/generic/transactionGroup.js.map +1 -1
  46. package/dist/generic/util.d.ts +1 -1
  47. package/dist/generic/util.d.ts.map +1 -1
  48. package/dist/generic/util.js +2 -2
  49. package/dist/generic/util.js.map +1 -1
  50. package/dist/index.d.ts +1 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +1 -0
  53. package/dist/index.js.map +1 -1
  54. package/package.json +3 -3
@@ -1,3 +1,107 @@
1
+ /**
2
+ * Normalized severity level for structured diagnostic log sinks.
3
+ */
4
+ export type LogSeverity = 'debug' | 'info' | 'warning' | 'error' | 'critical';
5
+ /**
6
+ * Correlation and capture control context propagated across async boundaries
7
+ * (via AsyncLocalStorage on Node.js or flight-recorder state in the browser).
8
+ */
9
+ export interface DiagnosticContext {
10
+ sessionId?: string;
11
+ SessionID?: string;
12
+ traceId?: string;
13
+ TraceID?: string;
14
+ spanId?: string;
15
+ SpanID?: string;
16
+ userId?: string;
17
+ UserID?: string;
18
+ userEmail?: string;
19
+ CompanyID?: string;
20
+ BrowserSessionID?: string;
21
+ SessionEndsAtMs?: number;
22
+ Level?: string;
23
+ IsCaptured?: boolean;
24
+ suppressCapture?: boolean;
25
+ SuppressCapture?: boolean;
26
+ captureStackTraces?: boolean;
27
+ scrubLiterals?: boolean;
28
+ }
29
+ /**
30
+ * Isomorphic provider interface for reading and scoping DiagnosticContext.
31
+ * Registered by `@memberjunction/diagnostics-server` on Node.js.
32
+ */
33
+ export interface IDiagnosticContextProvider {
34
+ GetContext?(): DiagnosticContext | undefined;
35
+ GetCurrentContext?(): DiagnosticContext | undefined;
36
+ RunWithContext?<T>(ctx: DiagnosticContext | undefined, fn: () => T): T;
37
+ WithoutDiagnosticCapture?<T>(fn: () => T): T;
38
+ RunDetached?<T>(fn: () => T): T;
39
+ }
40
+ /**
41
+ * Structured log entry delivered to registered diagnostic log sinks.
42
+ */
43
+ export interface LogEntry {
44
+ ts: number;
45
+ timestamp: string;
46
+ severity: LogSeverity;
47
+ category?: string;
48
+ message: string;
49
+ error?: {
50
+ name: string;
51
+ message: string;
52
+ stack?: string;
53
+ };
54
+ metadata?: Record<string, unknown>;
55
+ additionalArgsCount?: number;
56
+ verboseOnly?: boolean;
57
+ sessionId?: string;
58
+ traceId?: string;
59
+ }
60
+ /**
61
+ * Callback signature for a structured log sink.
62
+ */
63
+ export type LogSink = (entry: LogEntry, context?: DiagnosticContext) => void;
64
+ /**
65
+ * Registers a structured log sink that receives all LogStatusEx / LogWarning / LogErrorEx entries,
66
+ * including `verboseOnly: true` entries even when console verbose output is off.
67
+ * Returns an unsubscribe function.
68
+ */
69
+ export declare function RegisterLogSink(sink: LogSink): () => void;
70
+ /**
71
+ * Sets or clears the ambient diagnostic context provider (e.g., Node AsyncLocalStorage).
72
+ */
73
+ export declare function SetDiagnosticContextProvider(provider: IDiagnosticContextProvider | null): void;
74
+ /**
75
+ * Returns the active DiagnosticContext for the current async execution chain, if any.
76
+ */
77
+ export declare function GetDiagnosticContext(): DiagnosticContext | undefined;
78
+ /**
79
+ * Returns true when diagnostic capture is currently suppressed (to prevent recursion
80
+ * when flushing diagnostic chunks or writing diagnostic records).
81
+ */
82
+ export declare function IsDiagnosticCaptureSuppressed(): boolean;
83
+ /**
84
+ * Executes `fn` with diagnostic capture suppressed for both synchronous and async work
85
+ * inside the current context. Prevents infinite recursion when diagnostic writers
86
+ * perform database or logging operations.
87
+ *
88
+ * With a context provider registered, suppression lives only in the async-local context, so
89
+ * other requests keep capturing. Without one, a process-wide counter suppresses capture until `fn` settles.
90
+ */
91
+ export declare function WithoutDiagnosticCapture<T>(fn: () => T): T;
92
+ /**
93
+ * Runs `fn` detached from any active request/session DiagnosticContext.
94
+ * Use when spawning fire-and-forget background timers or daemons from inside a request
95
+ * so they do not keep the request's diagnostic session context alive indefinitely.
96
+ */
97
+ export declare function RunDetachedFromDiagnosticContext<T>(fn: () => T): T;
98
+ export declare const RunDetachedDiagnosticContext: typeof RunDetachedFromDiagnosticContext;
99
+ /**
100
+ * Returns true while `logToConsole()` is actively invoking `console.log` / `console.error`.
101
+ * Used by the server console tap to avoid capturing duplicate entries for logs already
102
+ * routed through `RegisterLogSink`.
103
+ */
104
+ export declare function IsInMJLogToConsole(): boolean;
1
105
  /**
2
106
  * Logs a debug message using the default 'MJGlobal' namespace logger.
3
107
  *
@@ -100,43 +204,6 @@ export interface LogStatusOptions {
100
204
  /** Category for filtering logs */
101
205
  category?: string;
102
206
  }
103
- /**
104
- * Enhanced status logging function with verbose control and extensibility.
105
- *
106
- * Provides flexible logging with verbose mode support, custom verbose checks,
107
- * categories, severity levels, and varargs support. Messages can be conditionally
108
- * logged based on global or custom verbose settings.
109
- *
110
- * @param options - Logging options or a simple string message for backward compatibility
111
- *
112
- * @example
113
- * // Simple string message
114
- * LogStatusEx('Operation completed');
115
- *
116
- * @example
117
- * // Verbose-only message with global check
118
- * LogStatusEx({
119
- * message: 'Detailed trace information',
120
- * verboseOnly: true
121
- * });
122
- *
123
- * @example
124
- * // With custom verbose check and additional args
125
- * LogStatusEx({
126
- * message: 'Processing items:',
127
- * verboseOnly: true,
128
- * isVerboseEnabled: () => params.verbose === true,
129
- * additionalArgs: [item1, item2, item3]
130
- * });
131
- *
132
- * @example
133
- * // With category and file logging
134
- * LogStatusEx({
135
- * message: 'Batch processing complete',
136
- * category: 'BatchJob',
137
- * logToFileName: '/logs/batch.log'
138
- * });
139
- */
140
207
  export declare function LogStatusEx(options: LogStatusOptions | string): void;
141
208
  /**
142
209
  * Checks if verbose logging is enabled globally
@@ -145,7 +212,7 @@ export declare function LogStatusEx(options: LogStatusOptions | string): void;
145
212
  */
146
213
  export declare function IsVerboseLoggingEnabled(): boolean;
147
214
  /**
148
- * Sets verbose logging mode in browser environments
215
+ * Sets verbose logging mode in both Node.js and browser environments
149
216
  * @param enabled Whether to enable verbose logging
150
217
  */
151
218
  export declare function SetVerboseLogging(enabled: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/generic/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/generic/logging.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,131 @@ import debug from 'debug';
2
2
  import { MJGlobal } from '@memberjunction/global';
3
3
  // Create the default logger with the "MJGlobal" namespace.
4
4
  const __defaultLogger = debug('MJGlobal');
5
+ const _logSinks = new Set();
6
+ let _diagnosticContextProvider = null;
7
+ let _suppressCaptureDepth = 0;
8
+ let _inMJLogToConsole = false;
9
+ let _verboseLoggingOverride = null;
10
+ /**
11
+ * Registers a structured log sink that receives all LogStatusEx / LogWarning / LogErrorEx entries,
12
+ * including `verboseOnly: true` entries even when console verbose output is off.
13
+ * Returns an unsubscribe function.
14
+ */
15
+ export function RegisterLogSink(sink) {
16
+ _logSinks.add(sink);
17
+ return () => {
18
+ _logSinks.delete(sink);
19
+ };
20
+ }
21
+ /**
22
+ * Sets or clears the ambient diagnostic context provider (e.g., Node AsyncLocalStorage).
23
+ */
24
+ export function SetDiagnosticContextProvider(provider) {
25
+ _diagnosticContextProvider = provider;
26
+ }
27
+ /**
28
+ * Returns the active DiagnosticContext for the current async execution chain, if any.
29
+ */
30
+ export function GetDiagnosticContext() {
31
+ return _diagnosticContextProvider?.GetContext?.() ?? _diagnosticContextProvider?.GetCurrentContext?.();
32
+ }
33
+ /**
34
+ * Returns true when diagnostic capture is currently suppressed (to prevent recursion
35
+ * when flushing diagnostic chunks or writing diagnostic records).
36
+ */
37
+ export function IsDiagnosticCaptureSuppressed() {
38
+ if (_suppressCaptureDepth > 0) {
39
+ return true;
40
+ }
41
+ const ctx = GetDiagnosticContext();
42
+ return ctx?.suppressCapture === true || ctx?.SuppressCapture === true;
43
+ }
44
+ /**
45
+ * Executes `fn` with diagnostic capture suppressed for both synchronous and async work
46
+ * inside the current context. Prevents infinite recursion when diagnostic writers
47
+ * perform database or logging operations.
48
+ *
49
+ * With a context provider registered, suppression lives only in the async-local context, so
50
+ * other requests keep capturing. Without one, a process-wide counter suppresses capture until `fn` settles.
51
+ */
52
+ export function WithoutDiagnosticCapture(fn) {
53
+ if (_diagnosticContextProvider?.WithoutDiagnosticCapture) {
54
+ return _diagnosticContextProvider.WithoutDiagnosticCapture(fn);
55
+ }
56
+ if (_diagnosticContextProvider?.RunWithContext) {
57
+ const current = GetDiagnosticContext();
58
+ return _diagnosticContextProvider.RunWithContext({ ...(current ?? {}), suppressCapture: true, SuppressCapture: true, IsCaptured: false }, fn);
59
+ }
60
+ return runWithSuppressionCounter(fn);
61
+ }
62
+ /** Runs `fn` with the process-wide suppression counter raised until it returns or its promise settles. */
63
+ function runWithSuppressionCounter(fn) {
64
+ _suppressCaptureDepth++;
65
+ const release = () => {
66
+ _suppressCaptureDepth = Math.max(0, _suppressCaptureDepth - 1);
67
+ };
68
+ try {
69
+ const result = fn();
70
+ if (result != null && typeof result.then === 'function') {
71
+ return result.finally(release);
72
+ }
73
+ release();
74
+ return result;
75
+ }
76
+ catch (err) {
77
+ release();
78
+ throw err;
79
+ }
80
+ }
81
+ /**
82
+ * Runs `fn` detached from any active request/session DiagnosticContext.
83
+ * Use when spawning fire-and-forget background timers or daemons from inside a request
84
+ * so they do not keep the request's diagnostic session context alive indefinitely.
85
+ */
86
+ export function RunDetachedFromDiagnosticContext(fn) {
87
+ if (_diagnosticContextProvider?.RunDetached) {
88
+ return _diagnosticContextProvider.RunDetached(fn);
89
+ }
90
+ if (_diagnosticContextProvider?.RunWithContext) {
91
+ return _diagnosticContextProvider.RunWithContext(undefined, fn);
92
+ }
93
+ return fn();
94
+ }
95
+ export const RunDetachedDiagnosticContext = RunDetachedFromDiagnosticContext;
96
+ /**
97
+ * Returns true while `logToConsole()` is actively invoking `console.log` / `console.error`.
98
+ * Used by the server console tap to avoid capturing duplicate entries for logs already
99
+ * routed through `RegisterLogSink`.
100
+ */
101
+ export function IsInMJLogToConsole() {
102
+ return _inMJLogToConsole;
103
+ }
104
+ function dispatchToLogSinks(entry) {
105
+ if (_logSinks.size === 0 || IsDiagnosticCaptureSuppressed()) {
106
+ return;
107
+ }
108
+ const fullEntry = {
109
+ ...entry,
110
+ timestamp: entry.timestamp ?? new Date(entry.ts).toISOString(),
111
+ };
112
+ const ctx = GetDiagnosticContext();
113
+ if (ctx) {
114
+ if (fullEntry.sessionId === undefined && (ctx.sessionId ?? ctx.SessionID) !== undefined) {
115
+ fullEntry.sessionId = ctx.sessionId ?? ctx.SessionID;
116
+ }
117
+ if (fullEntry.traceId === undefined && (ctx.traceId ?? ctx.TraceID) !== undefined) {
118
+ fullEntry.traceId = ctx.traceId ?? ctx.TraceID;
119
+ }
120
+ }
121
+ for (const sink of _logSinks) {
122
+ try {
123
+ sink(fullEntry, ctx);
124
+ }
125
+ catch {
126
+ // Sinks must never disrupt application logging
127
+ }
128
+ }
129
+ }
5
130
  /**
6
131
  * Logs a debug message using the default 'MJGlobal' namespace logger.
7
132
  *
@@ -53,9 +178,34 @@ export function LogDebug(...args) {
53
178
  export function LogErrorEx(options) {
54
179
  // Handle simple string message for backward compatibility
55
180
  if (typeof options === 'string') {
181
+ dispatchToLogSinks({
182
+ ts: Date.now(),
183
+ severity: 'error',
184
+ message: options,
185
+ });
56
186
  logToConsole(options, true);
57
187
  return;
58
188
  }
189
+ const severity = options.severity === 'warning'
190
+ ? 'warning'
191
+ : options.severity === 'critical'
192
+ ? 'critical'
193
+ : 'error';
194
+ dispatchToLogSinks({
195
+ ts: Date.now(),
196
+ severity,
197
+ category: options.category,
198
+ message: options.message,
199
+ error: options.error
200
+ ? {
201
+ name: options.error.name || 'Error',
202
+ message: options.error.message,
203
+ stack: options.includeStack !== false ? options.error.stack : undefined,
204
+ }
205
+ : undefined,
206
+ metadata: options.metadata,
207
+ additionalArgsCount: options.additionalArgs?.length,
208
+ });
59
209
  // Build the error message with optional metadata
60
210
  let fullMessage = options.message;
61
211
  // Add category if provided
@@ -147,12 +297,40 @@ export function LogError(message, logToFileName = null, ...args) {
147
297
  * logToFileName: '/logs/batch.log'
148
298
  * });
149
299
  */
300
+ function mapStatusSeverity(sev, verboseOnly) {
301
+ switch (sev) {
302
+ case SeverityType.Trace:
303
+ case SeverityType.Debug:
304
+ return 'debug';
305
+ case SeverityType.Warning:
306
+ return 'warning';
307
+ case SeverityType.Critical:
308
+ return 'critical';
309
+ case SeverityType.Info:
310
+ return 'info';
311
+ default:
312
+ return verboseOnly ? 'debug' : 'info';
313
+ }
314
+ }
150
315
  export function LogStatusEx(options) {
151
316
  // Handle simple string message for backward compatibility
152
317
  if (typeof options === 'string') {
318
+ dispatchToLogSinks({
319
+ ts: Date.now(),
320
+ severity: 'info',
321
+ message: options,
322
+ });
153
323
  logToConsole(options, false);
154
324
  return;
155
325
  }
326
+ dispatchToLogSinks({
327
+ ts: Date.now(),
328
+ severity: mapStatusSeverity(options.severity, options.verboseOnly),
329
+ category: options.category,
330
+ message: options.message,
331
+ additionalArgsCount: options.additionalArgs?.length,
332
+ verboseOnly: options.verboseOnly,
333
+ });
156
334
  // Check if this is a verbose-only message
157
335
  if (options.verboseOnly) {
158
336
  const checkVerbose = options.isVerboseEnabled || IsVerboseLoggingEnabled;
@@ -180,6 +358,9 @@ export function LogStatusEx(options) {
180
358
  * @returns true if verbose logging is enabled
181
359
  */
182
360
  export function IsVerboseLoggingEnabled() {
361
+ if (_verboseLoggingOverride !== null) {
362
+ return _verboseLoggingOverride;
363
+ }
183
364
  // Node.js environment
184
365
  if (runningOnNode()) {
185
366
  const verbose = process.env.MJ_VERBOSE;
@@ -215,10 +396,14 @@ export function IsVerboseLoggingEnabled() {
215
396
  return false; // Default to non-verbose
216
397
  }
217
398
  /**
218
- * Sets verbose logging mode in browser environments
399
+ * Sets verbose logging mode in both Node.js and browser environments
219
400
  * @param enabled Whether to enable verbose logging
220
401
  */
221
402
  export function SetVerboseLogging(enabled) {
403
+ _verboseLoggingOverride = enabled;
404
+ if (runningOnNode()) {
405
+ process.env.MJ_VERBOSE = enabled ? 'true' : 'false';
406
+ }
222
407
  if (runningInBrowser()) {
223
408
  window.MJ_VERBOSE = enabled;
224
409
  try {
@@ -239,10 +424,16 @@ export function LogStatus(message, logToFileName = null, ...args) {
239
424
  });
240
425
  }
241
426
  function logToConsole(message, isError, ...args) {
242
- if (isError) // always do console.error() for errors even in production
243
- console.error(message, ...args);
244
- else if (!GetProductionStatus()) // only do console.log() if we're not in production
245
- console.log(message, ...args);
427
+ _inMJLogToConsole = true;
428
+ try {
429
+ if (isError) // always do console.error() for errors even in production
430
+ console.error(message, ...args);
431
+ else if (!GetProductionStatus()) // only do console.log() if we're not in production
432
+ console.log(message, ...args);
433
+ }
434
+ finally {
435
+ _inMJLogToConsole = false;
436
+ }
246
437
  }
247
438
  /**
248
439
  * Retrieves the FileSystemProvider from the global Metadata provider.
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/generic/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/generic/logging.ts"],"names":[],"mappings":"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"}
@@ -352,6 +352,11 @@ export declare abstract class ProviderBase implements IMetadataProvider, IRunVie
352
352
  * replaceable slot and not a process constant. See {@link _wiredBus}.
353
353
  */
354
354
  private static ensureStaticInvalidationSubscription;
355
+ /**
356
+ * Collects all lowercased entity names in the same IS-A hierarchy (`ParentEntityInfo` ancestors
357
+ * and `ChildEntities` descendants) as `entityInfo`, excluding `excludeLower`.
358
+ */
359
+ private static collectISAHierarchyEntityNamesLower;
355
360
  /**
356
361
  * Lazily registers this instance (once per provider instance) for write-invalidation
357
362
  * of in-flight/lingered RunView entries touching a written entity. Deleting an IN-FLIGHT
@@ -360,6 +365,25 @@ export declare abstract class ProviderBase implements IMetadataProvider, IRunVie
360
365
  * step no-ops safely.
361
366
  */
362
367
  private ensureInflightViewInvalidation;
368
+ /**
369
+ * Per-entity monotonic mutation counter incremented whenever an entity receives a
370
+ * BaseEntity save/delete/remote-invalidate or an explicit {@link InvalidateRunViewDedupCache}
371
+ * call. Used by dataset reads (`GetDatasetByName`) to detect that an entity was mutated while
372
+ * SQL execution or post-processing was in flight and avoid writing stale pre-mutation rows
373
+ * back into `LocalCacheManager`.
374
+ */
375
+ private _entityMutationVersions;
376
+ /**
377
+ * Monotonic counter incremented whenever any metadata-member entity is mutated against this
378
+ * provider's backend. Checked by `GetAllMetadata()` before caching `MJ_Metadata` into
379
+ * `DatasetCache` so an in-flight background reload does not overwrite `DatasetCache` with a
380
+ * pre-mutation snapshot after a save/delete has already landed.
381
+ */
382
+ private _metadataMemberMutationSeq;
383
+ /**
384
+ * Returns the current monotonic mutation version for `entityName` (case-insensitive).
385
+ */
386
+ GetEntityMutationVersion(entityName: string): number;
363
387
  /**
364
388
  * Drops this provider's in-flight/lingered RunView dedup entries so the next identical
365
389
  * RunView goes to the server instead of replaying a result from the last
@@ -1895,13 +1919,24 @@ export declare abstract class ProviderBase implements IMetadataProvider, IRunVie
1895
1919
  * @param contextUser
1896
1920
  */
1897
1921
  protected PostProcessRunViews(results: RunViewResult[], params: RunViewParams[], contextUser?: UserInfo): Promise<void>;
1922
+ /**
1923
+ * Two-phase batch entity transformation for `RunViews`:
1924
+ * 1. Transforms all non-IS-A-parent views in parallel first so lookup tables (`SubtypeSelector`)
1925
+ * and IS-A child tables in the same batch are hydrated before parent views run.
1926
+ * 2. Registers all unfiltered full-entity views from this batch on `BaseEntity` for the duration
1927
+ * of Phase 2, then transforms IS-A parent views so they can resolve child records and
1928
+ * `SubtypeSelector` targets directly from memory with 0 extra queries.
1929
+ */
1930
+ protected TransformBatchRunViewResults(params: RunViewParams[], results: RunViewResult[], skipTransformIndices?: ReadonlySet<number>, callerFieldsMap?: Map<number, string[]>, contextUser?: UserInfo): Promise<void>;
1931
+ private isUnfilteredFullEntityBatchView;
1898
1932
  /**
1899
1933
  * Transforms the result set from simple objects to entity objects if needed.
1900
1934
  * @param param - The RunViewParams used for the request
1901
1935
  * @param result - The RunViewResult returned from the request
1902
1936
  * @param contextUser - The user context for permissions
1937
+ * @param batchUnfilteredCache - Optional map of unfiltered full-entity sibling views from the same RunViews call
1903
1938
  */
1904
- protected TransformSimpleObjectToEntityObject(param: RunViewParams, result: RunViewResult, contextUser?: UserInfo): Promise<void>;
1939
+ protected TransformSimpleObjectToEntityObject(param: RunViewParams, result: RunViewResult, contextUser?: UserInfo, batchUnfilteredCache?: ReadonlyMap<string, ReadonlyArray<BaseEntity | Record<string, unknown>>>): Promise<void>;
1905
1940
  /**
1906
1941
  * Normalizes non-entity (`'simple'`) result rows so `Date` and numeric columns hold real
1907
1942
  * `Date`s and `number`s on EVERY tier, matching what the generated entity types declare.
@@ -2148,6 +2183,13 @@ export declare abstract class ProviderBase implements IMetadataProvider, IRunVie
2148
2183
  */
2149
2184
  protected BuildDatasetFilterFromConfig(): DatasetItemFilterType[];
2150
2185
  protected static _mjMetadataDatasetName: string;
2186
+ /**
2187
+ * Checks whether any item in a freshly fetched `MJ_Metadata` dataset has a row count that
2188
+ * disagrees with `_latestRemoteMetadataTimestamps` (when remote timestamps are populated).
2189
+ * Used to prevent `GetAllMetadata()` from caching a dataset snapshot into `DatasetCache`
2190
+ * whose row counts are already stale relative to remote status.
2191
+ */
2192
+ private hasDatasetRemoteRowCountMismatch;
2151
2193
  /**
2152
2194
  * Retrieves all metadata from the server and constructs typed instances.
2153
2195
  * Uses the MJ_Metadata dataset for efficient bulk loading.