@memberjunction/core 6.2.0-edge.4 → 6.2.0-edge.6

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 (150) hide show
  1. package/dist/generic/BaseEntitySaveQueue.d.ts +22 -0
  2. package/dist/generic/BaseEntitySaveQueue.d.ts.map +1 -1
  3. package/dist/generic/BaseEntitySaveQueue.js +43 -4
  4. package/dist/generic/BaseEntitySaveQueue.js.map +1 -1
  5. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts +18 -0
  6. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts.map +1 -1
  7. package/dist/generic/alternateBaseViews.d.ts +119 -0
  8. package/dist/generic/alternateBaseViews.d.ts.map +1 -0
  9. package/dist/generic/alternateBaseViews.js +223 -0
  10. package/dist/generic/alternateBaseViews.js.map +1 -0
  11. package/dist/generic/baseEngine.d.ts +82 -14
  12. package/dist/generic/baseEngine.d.ts.map +1 -1
  13. package/dist/generic/baseEngine.js +311 -46
  14. package/dist/generic/baseEngine.js.map +1 -1
  15. package/dist/generic/baseEngineRegistry.d.ts.map +1 -1
  16. package/dist/generic/baseEngineRegistry.js +2 -1
  17. package/dist/generic/baseEngineRegistry.js.map +1 -1
  18. package/dist/generic/baseEntity.d.ts +194 -14
  19. package/dist/generic/baseEntity.d.ts.map +1 -1
  20. package/dist/generic/baseEntity.js +638 -218
  21. package/dist/generic/baseEntity.js.map +1 -1
  22. package/dist/generic/baseInfo.d.ts +31 -3
  23. package/dist/generic/baseInfo.d.ts.map +1 -1
  24. package/dist/generic/baseInfo.js +138 -40
  25. package/dist/generic/baseInfo.js.map +1 -1
  26. package/dist/generic/contextTokens.d.ts +136 -0
  27. package/dist/generic/contextTokens.d.ts.map +1 -0
  28. package/dist/generic/contextTokens.js +319 -0
  29. package/dist/generic/contextTokens.js.map +1 -0
  30. package/dist/generic/databaseProviderBase.d.ts +103 -13
  31. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  32. package/dist/generic/databaseProviderBase.js +321 -77
  33. package/dist/generic/databaseProviderBase.js.map +1 -1
  34. package/dist/generic/embeddedRecord.d.ts +6 -0
  35. package/dist/generic/embeddedRecord.d.ts.map +1 -1
  36. package/dist/generic/embeddedRecord.js +15 -1
  37. package/dist/generic/embeddedRecord.js.map +1 -1
  38. package/dist/generic/entityCompanion.d.ts +7 -0
  39. package/dist/generic/entityCompanion.d.ts.map +1 -1
  40. package/dist/generic/entityCompanion.js +8 -0
  41. package/dist/generic/entityCompanion.js.map +1 -1
  42. package/dist/generic/entityConfiguration.d.ts +8 -2
  43. package/dist/generic/entityConfiguration.d.ts.map +1 -1
  44. package/dist/generic/entityConfiguration.js +9 -0
  45. package/dist/generic/entityConfiguration.js.map +1 -1
  46. package/dist/generic/entityInfo.d.ts +306 -12
  47. package/dist/generic/entityInfo.d.ts.map +1 -1
  48. package/dist/generic/entityInfo.js +894 -92
  49. package/dist/generic/entityInfo.js.map +1 -1
  50. package/dist/generic/entityValueFieldSecurity.d.ts +139 -0
  51. package/dist/generic/entityValueFieldSecurity.d.ts.map +1 -0
  52. package/dist/generic/entityValueFieldSecurity.js +250 -0
  53. package/dist/generic/entityValueFieldSecurity.js.map +1 -0
  54. package/dist/generic/fieldSecuritySQLGate.d.ts +350 -0
  55. package/dist/generic/fieldSecuritySQLGate.d.ts.map +1 -0
  56. package/dist/generic/fieldSecuritySQLGate.js +898 -0
  57. package/dist/generic/fieldSecuritySQLGate.js.map +1 -0
  58. package/dist/generic/indexRestrictedFields.d.ts +47 -0
  59. package/dist/generic/indexRestrictedFields.d.ts.map +1 -0
  60. package/dist/generic/indexRestrictedFields.js +129 -0
  61. package/dist/generic/indexRestrictedFields.js.map +1 -0
  62. package/dist/generic/infoProviderResolution.d.ts +16 -0
  63. package/dist/generic/infoProviderResolution.d.ts.map +1 -0
  64. package/dist/generic/infoProviderResolution.js +17 -0
  65. package/dist/generic/infoProviderResolution.js.map +1 -0
  66. package/dist/generic/interfaces.d.ts +39 -2
  67. package/dist/generic/interfaces.d.ts.map +1 -1
  68. package/dist/generic/interfaces.js.map +1 -1
  69. package/dist/generic/localCacheManager.d.ts +318 -51
  70. package/dist/generic/localCacheManager.d.ts.map +1 -1
  71. package/dist/generic/localCacheManager.js +675 -109
  72. package/dist/generic/localCacheManager.js.map +1 -1
  73. package/dist/generic/logging.d.ts.map +1 -1
  74. package/dist/generic/logging.js +7 -1
  75. package/dist/generic/logging.js.map +1 -1
  76. package/dist/generic/metadata.d.ts +3 -2
  77. package/dist/generic/metadata.d.ts.map +1 -1
  78. package/dist/generic/metadata.js +5 -2
  79. package/dist/generic/metadata.js.map +1 -1
  80. package/dist/generic/mjapiUrl.d.ts +21 -0
  81. package/dist/generic/mjapiUrl.d.ts.map +1 -0
  82. package/dist/generic/mjapiUrl.js +25 -0
  83. package/dist/generic/mjapiUrl.js.map +1 -0
  84. package/dist/generic/platformSQL.d.ts +54 -0
  85. package/dist/generic/platformSQL.d.ts.map +1 -1
  86. package/dist/generic/platformSQL.js +55 -0
  87. package/dist/generic/platformSQL.js.map +1 -1
  88. package/dist/generic/providerBase.d.ts +370 -57
  89. package/dist/generic/providerBase.d.ts.map +1 -1
  90. package/dist/generic/providerBase.js +1085 -284
  91. package/dist/generic/providerBase.js.map +1 -1
  92. package/dist/generic/queryInfo.d.ts +23 -9
  93. package/dist/generic/queryInfo.d.ts.map +1 -1
  94. package/dist/generic/queryInfo.js +73 -33
  95. package/dist/generic/queryInfo.js.map +1 -1
  96. package/dist/generic/queryInfoInterfaces.d.ts +8 -0
  97. package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
  98. package/dist/generic/queryTemplateContext.d.ts +49 -0
  99. package/dist/generic/queryTemplateContext.d.ts.map +1 -0
  100. package/dist/generic/queryTemplateContext.js +113 -0
  101. package/dist/generic/queryTemplateContext.js.map +1 -0
  102. package/dist/generic/recordChangeFieldSecurity.d.ts.map +1 -1
  103. package/dist/generic/recordChangeFieldSecurity.js +13 -2
  104. package/dist/generic/recordChangeFieldSecurity.js.map +1 -1
  105. package/dist/generic/relatedRecordCollection.d.ts +13 -0
  106. package/dist/generic/relatedRecordCollection.d.ts.map +1 -1
  107. package/dist/generic/relatedRecordCollection.js +44 -5
  108. package/dist/generic/relatedRecordCollection.js.map +1 -1
  109. package/dist/generic/runQuery.d.ts +42 -0
  110. package/dist/generic/runQuery.d.ts.map +1 -1
  111. package/dist/generic/runQuery.js +14 -0
  112. package/dist/generic/runQuery.js.map +1 -1
  113. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
  114. package/dist/generic/runQuerySQLFilterImplementations.js +38 -2
  115. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
  116. package/dist/generic/saveEntityGraphOperation.d.ts.map +1 -1
  117. package/dist/generic/saveEntityGraphOperation.js +3 -0
  118. package/dist/generic/saveEntityGraphOperation.js.map +1 -1
  119. package/dist/generic/scoring/ReciprocalRankFusion.d.ts.map +1 -1
  120. package/dist/generic/scoring/ReciprocalRankFusion.js +10 -3
  121. package/dist/generic/scoring/ReciprocalRankFusion.js.map +1 -1
  122. package/dist/generic/securityInfo.d.ts +17 -6
  123. package/dist/generic/securityInfo.d.ts.map +1 -1
  124. package/dist/generic/securityInfo.js +25 -10
  125. package/dist/generic/securityInfo.js.map +1 -1
  126. package/dist/generic/telemetryManager.d.ts +9 -0
  127. package/dist/generic/telemetryManager.d.ts.map +1 -1
  128. package/dist/generic/telemetryManager.js +5 -1
  129. package/dist/generic/telemetryManager.js.map +1 -1
  130. package/dist/generic/util.d.ts.map +1 -1
  131. package/dist/generic/util.js +3 -0
  132. package/dist/generic/util.js.map +1 -1
  133. package/dist/generic/wellKnownUserSource.d.ts +3 -2
  134. package/dist/generic/wellKnownUserSource.d.ts.map +1 -1
  135. package/dist/generic/wellKnownUserSource.js +18 -9
  136. package/dist/generic/wellKnownUserSource.js.map +1 -1
  137. package/dist/index.d.ts +8 -0
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +8 -0
  140. package/dist/index.js.map +1 -1
  141. package/dist/views/runView.d.ts +89 -0
  142. package/dist/views/runView.d.ts.map +1 -1
  143. package/dist/views/runView.js +36 -0
  144. package/dist/views/runView.js.map +1 -1
  145. package/dist/views/viewProperties.d.ts +55 -0
  146. package/dist/views/viewProperties.d.ts.map +1 -0
  147. package/dist/views/viewProperties.js +258 -0
  148. package/dist/views/viewProperties.js.map +1 -0
  149. package/package.json +3 -3
  150. package/readme.md +29 -4
@@ -3,6 +3,7 @@ import { AggregateResult, DatasetItemFilterType, DatasetResultType, IMetadataPro
3
3
  import { AggregateExpression, RunViewParams } from "../views/runView.js";
4
4
  import { BaseEntityEvent } from "./baseEntity.js";
5
5
  import { CompositeKey } from "./compositeKey.js";
6
+ import type { EntityInfo } from "./entityInfo.js";
6
7
  /**
7
8
  * One change for {@link LocalCacheManager.ApplyRowChanges}: `Row` adds or replaces the row with
8
9
  * `Key`; `Row: null` removes it.
@@ -43,6 +44,8 @@ export interface CacheEntryInfo {
43
44
  rowCount?: number;
44
45
  /** Optional TTL expiry timestamp */
45
46
  expiresAt?: number;
47
+ /** Timestamp (epoch ms) when this entry was last verified against the backing database */
48
+ lastVerifiedAt?: number;
46
49
  }
47
50
  /**
48
51
  * Statistics about the cache
@@ -98,6 +101,14 @@ export interface CachedRunViewData {
98
101
  * Backward-compatible: entries without this field are served normally (no regression).
99
102
  */
100
103
  schemaHash?: string;
104
+ /**
105
+ * The newest `__mj_UpdatedAt` (ISO string) across the entity's metadata row and its field rows,
106
+ * written alongside {@link schemaHash}. When two processes sharing a cache disagree on the hash,
107
+ * this says which of them holds the newer metadata, so the older one stops treating the newer
108
+ * one's slots as stale. Absent on entries from writers that predate it or whose metadata
109
+ * carries no timestamps.
110
+ */
111
+ schemaStamp?: string;
101
112
  /**
102
113
  * Set when the slot was written with {@link CacheWriteOptions.ProviderInternalScaffolding}.
103
114
  * Persisted so that in-place slot maintenance (`storeCachedResults`, driven by BaseEntity
@@ -105,6 +116,10 @@ export interface CachedRunViewData {
105
116
  * touching a scaffolding slot would freeze it and break the owner that mutates those rows.
106
117
  */
107
118
  providerInternalScaffolding?: boolean;
119
+ /** Timestamp (epoch ms) when this entry was initially cached */
120
+ cachedAt?: number;
121
+ /** Timestamp (epoch ms) when this entry was last verified against the backing database */
122
+ lastVerifiedAt?: number;
108
123
  }
109
124
  /**
110
125
  * Return type for GetRunViewResult and ApplyDifferentialUpdate.
@@ -132,11 +147,53 @@ export interface CachedRunViewResult {
132
147
  * permanently disabling post-migration drift detection for that slot.
133
148
  */
134
149
  schemaHash?: string;
150
+ /** Surfaced for the same carry-forward reason as {@link schemaHash}. See {@link CachedRunViewData.schemaStamp}. */
151
+ schemaStamp?: string;
135
152
  /**
136
153
  * Surfaced from the stored payload so in-place maintenance can carry the freeze exemption
137
154
  * forward. See {@link CachedRunViewData.providerInternalScaffolding}.
138
155
  */
139
156
  providerInternalScaffolding?: boolean;
157
+ /** Timestamp (epoch ms) when this entry was initially cached */
158
+ cachedAt?: number;
159
+ /** Timestamp (epoch ms) when this entry was last verified against the backing database */
160
+ lastVerifiedAt?: number;
161
+ }
162
+ /** A cached RunQuery result, as {@link LocalCacheManager.GetRunQueryResult} returns it. */
163
+ export interface CachedRunQuerySlot {
164
+ /**
165
+ * The cached result rows — shared and deep-frozen under a reference-sharing storage
166
+ * provider, exactly like {@link CachedRunViewData.results}. Do not mutate.
167
+ */
168
+ results: unknown[];
169
+ maxUpdatedAt: string;
170
+ rowCount: number;
171
+ queryId?: string;
172
+ /** User who executed the authorized miss that produced this slot (B43 tie-breaker). */
173
+ warmedForUserID?: string;
174
+ /** The definition hash the slot was written under; undefined for slots written without one. */
175
+ definitionHash?: string;
176
+ }
177
+ /**
178
+ * What a saved query's cached results were computed from. A RunQuery slot stores the hash and the
179
+ * stamp it was written under; a read that expects a different hash is a miss. Computed by the
180
+ * database provider from the query metadata it executes (`QueryEngine`), so every process that
181
+ * runs the query agrees on it once it holds the same definition.
182
+ */
183
+ export interface QueryDefinitionSignature {
184
+ /** The query the signature describes. Its RunQuery slots are indexed and held by this ID. */
185
+ QueryID: string;
186
+ /**
187
+ * Hash of everything that changes the query's results: its SQL for the platform, the columns
188
+ * that change how that SQL executes, its parameter definitions, and the hashes of the queries
189
+ * it composes.
190
+ */
191
+ Hash: string;
192
+ /**
193
+ * The newest `__mj_UpdatedAt` (ISO string) across the rows the hash covers. When two processes
194
+ * sharing a cache disagree on the hash, this says which of them holds the newer definition.
195
+ */
196
+ Stamp?: string;
140
197
  }
141
198
  /**
142
199
  * Per-write options for the cache write methods.
@@ -182,16 +239,29 @@ export interface LocalCacheManagerConfig {
182
239
  */
183
240
  maxPercentOfCachePerEntity: number;
184
241
  /**
185
- * Maximum size of any single cache entry, expressed as a percentage of
186
- * maxSizeBytes. An entry estimated larger than this cap is not cached at
187
- * all — the write is skipped (logged, data still returned to the caller
188
- * uncached). Without this cap, storing an oversized entry is strictly worse
189
- * than not caching it: evictIfNeeded frees max(incoming, 10% of budget), so
190
- * an entry larger than the whole budget evicts EVERY other entry and still
191
- * cannot be retained within budget — a full cache wipe on every store.
192
- * Applies to RunView and RunQuery entries. Default: 25. Set to 0 to disable.
193
- */
194
- maxEntryPercentOfCache: number;
242
+ * Ceiling on the size of any ONE cache entry. An entry estimated larger than the
243
+ * ceiling is not cached at all — the write is skipped (logged, data still returned
244
+ * to the caller uncached). Applies to RunView and RunQuery entries.
245
+ *
246
+ * The ceiling exists because an entry that cannot be RETAINED within the budget is
247
+ * worse than no entry: it evicts other entries to make room and is itself evicted on
248
+ * the next store, so the cache churns and nothing is ever served from it.
249
+ *
250
+ * Three modes:
251
+ * - `'auto'` (default): the ceiling is DERIVED from the budget — everything except a
252
+ * reserve of {@link SINGLE_ENTRY_RESERVE_PERCENT} held back for the rest of the
253
+ * cache. This is deliberately not a small fixed fraction: a fixed fraction sized for
254
+ * a small tenant makes the one entity worth caching (the biggest one) permanently
255
+ * uncacheable, which is the failure this mode exists to avoid. The only entries
256
+ * `'auto'` declines are entries that genuinely cannot be retained — and the decline
257
+ * message says which `maxMemoryMB` would admit them.
258
+ * - a positive number: an explicit percentage of `maxSizeBytes`, for an operator who
259
+ * wants a stricter ceiling than `'auto'`. Clamped to
260
+ * {@link HARD_MAX_ENTRY_PERCENT} — no configuration may admit an entry that leaves
261
+ * the cache less free space than one eviction cycle needs.
262
+ * - `0`: no ceiling at all (the original, unguarded behaviour — not recommended).
263
+ */
264
+ maxEntryPercentOfCache: number | 'auto';
195
265
  /**
196
266
  * Interval in milliseconds for the periodic eviction sweep.
197
267
  * Catches entries that should have been evicted (TTL expired) but weren't
@@ -326,6 +396,7 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
326
396
  */
327
397
  private _sharesReferences;
328
398
  private _registry;
399
+ private _lastVerifiedAt;
329
400
  private _initialized;
330
401
  private _initializePromise;
331
402
  private _stats;
@@ -343,6 +414,19 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
343
414
  private _entityEventBatches;
344
415
  /** Save/delete events a batch took when they were raised. See {@link WasTakenByEntityEventBatch}. */
345
416
  private _eventsTakenByBatch;
417
+ /**
418
+ * Write holds on entities whose shared slots were found under a different schema, keyed by
419
+ * lowercased entity name. While a hold applies, {@link SetRunViewResult} skips or rate-limits
420
+ * writes of that entity's slots. See {@link handleSchemaMismatch} and {@link mayWriteUnderSchemaHold}.
421
+ */
422
+ private _schemaWriteHolds;
423
+ /**
424
+ * How often, at most, a process writes an entity's shared slots while it keeps finding that
425
+ * entity's slots under a schema different from its own. See {@link handleSchemaMismatch}.
426
+ */
427
+ static readonly SCHEMA_MISMATCH_WRITE_INTERVAL_MS = 60000;
428
+ /** Schema mismatches already reported, so each entity/hash pair is logged once per process. */
429
+ private _reportedSchemaMismatches;
346
430
  private readonly REGISTRY_KEY;
347
431
  /**
348
432
  * Reverse index from entity name to the set of RunView cache fingerprints
@@ -542,6 +626,9 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
542
626
  * segment is built. Same misclassification, worse consequence: a save by
543
627
  * user A was upserted into user B's RLS-scoped slot, injecting a row B's
544
628
  * predicate excludes. That is an RLS bypass.
629
+ * - `fls:<h>` — the slot holds only the columns one permission class may read. Upserting a
630
+ * saver's row would put columns into it that its readers may not see (or
631
+ * take away ones they may), so it is invalidated like the two above.
545
632
  *
546
633
  * ## Why it is written as a DENY-by-default allowlist
547
634
  * Enumerating the narrowing segments would repeat the original mistake: the next segment
@@ -594,14 +681,65 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
594
681
  */
595
682
  protected isSubsetFingerprint(fingerprint: string): boolean;
596
683
  /**
597
- * Checks whether a cached RunView entry is structurally stale due to a schema change
598
- * (e.g., new columns added via migration + CodeGen). Compares the stored schema hash
599
- * against the current entity field list. If they differ, the entry is invalidated.
684
+ * Compares a cached RunView entry's schema hash against this process's current field list for
685
+ * the entity (a mismatch follows a migration + CodeGen that added, removed or reordered
686
+ * columns). Entries without a hash, and entities this process cannot resolve, never mismatch.
600
687
  * @param fingerprint - The cache fingerprint
601
688
  * @param data - The cached data to validate
602
- * @returns true if the entry is stale and should not be served
603
- */
604
- private isSchemaStaleCacheEntry;
689
+ * @returns The mismatch, or null when the entry may be served
690
+ */
691
+ private findSchemaMismatch;
692
+ /** The mismatch subject for an entity's RunView slots. */
693
+ private static runViewSubject;
694
+ /** The mismatch subject for a query's RunQuery slots. */
695
+ private static runQuerySubject;
696
+ /**
697
+ * True only when both stamps are present and the cached entry's is strictly newer than this
698
+ * process's. Equal or missing stamps leave the order unknown, which counts as not newer.
699
+ */
700
+ private static isNewerSchemaStamp;
701
+ /**
702
+ * Decides what a signature mismatch does to the slot: an entity schema mismatch on a RunView
703
+ * slot, or a query definition mismatch on a RunQuery slot. The entry is never served; the
704
+ * question is whether the slot is deleted, which on a shared store may also tell every peer to
705
+ * reload.
706
+ *
707
+ * - Process-local store, or a slot-maintenance read: delete it (`drop`). No other process reads a
708
+ * local store. A maintenance read happens because a row changed, and a slot that cannot take
709
+ * the change in place must go, whichever process wrote it.
710
+ * - Shared store, serving read: leave it, and hold back this process's writes of the subject's
711
+ * slots. Deleting a RunView slot publishes `removed`, every peer engine holding the slot
712
+ * reloads and rewrites it under its own hash, and processes on either side of a migration keep
713
+ * doing that to each other. The caller reads the database instead.
714
+ * - When the slot is known to come from newer metadata, this process is the one out of date.
715
+ * It stops writing the subject's slots until its own hash changes.
716
+ * - Otherwise it writes the subject's slots at most once per
717
+ * {@link SCHEMA_MISMATCH_WRITE_INTERVAL_MS} while mismatches keep appearing. That still
718
+ * replaces a slot left by older metadata, but a peer running code that deletes mismatched
719
+ * slots (any release before this check stopped deleting them) gets one slot to delete per
720
+ * interval instead of one per read. The hold lapses after an interval with no mismatch.
721
+ * For RunView slots the first replacement waits one interval. For RunQuery slots it is
722
+ * immediate: no release ever deleted a RunQuery slot over its definition and the category
723
+ * is not published, so an immediate replacement cannot feed a loop, and waiting would make
724
+ * every server run an edited query against the database for a full interval.
725
+ */
726
+ private handleSchemaMismatch;
727
+ /** The log text for a mismatch that left the slot in place and took a write hold. */
728
+ private static describeHeldMismatch;
729
+ /** The key of a subject's write hold. RunView and RunQuery holds share one map. */
730
+ private static holdKey;
731
+ /** Records or extends the write hold for a mismatch seen on a shared store. */
732
+ private holdSchemaWrites;
733
+ /** Logs a mismatch once per subject and hash pair per process. */
734
+ private reportSchemaMismatch;
735
+ /**
736
+ * Whether a slot of `subject` may be written now, given its write hold (see
737
+ * {@link handleSchemaMismatch}). A permitted write under a rate-limiting hold uses up the
738
+ * interval. The hold is dropped once this process's hash changes (a metadata refresh, or a
739
+ * query edit reaching this process) or, for a rate-limiting hold, once an interval passes with
740
+ * no mismatch.
741
+ */
742
+ private mayWriteUnderSchemaHold;
605
743
  /**
606
744
  * The newest `__mj_UpdatedAt` among `rows` as an ISO string, `''` for an empty set, or
607
745
  * `undefined` when the rows carry no such column (so the caller can fall back to its own stamp).
@@ -816,6 +954,38 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
816
954
  * Decomposed from HandleBaseEntityEvent for clarity and testability.
817
955
  */
818
956
  private processEntityEventForFingerprint;
957
+ /**
958
+ * True when `row` has a key for every non-binary field of `entity`, so it may replace the
959
+ * cached copy of its record in place.
960
+ *
961
+ * A save event carries the saver's own values (`GetAll()`), and an object leaves out every
962
+ * field it does not hold: one its user may not read, or one that was never loaded. Upserting
963
+ * such a row into a full-width slot would replace a complete cached row with a partial one,
964
+ * and every later reader of that slot, including users entitled to the missing columns, would
965
+ * be served the row without them. A partial row therefore clears the slot instead, and the
966
+ * next read refills it from the database. Binary fields are not required, because slots
967
+ * leave them out unless asked for.
968
+ *
969
+ * A row is judged against the entity's field list, so without one (no entity metadata on
970
+ * the event, which a real entity always carries) there is nothing to compare and the row is
971
+ * accepted, as before this check existed.
972
+ *
973
+ * @param entity - The saved record's entity
974
+ * @param row - The values the event carries
975
+ */
976
+ static RowHasEveryField(entity: EntityInfo | null | undefined, row: Record<string, unknown> | null | undefined): boolean;
977
+ /** Whether every saved row among `changes` carries every column ({@link RowHasEveryField}). */
978
+ private static everySavedRowComplete;
979
+ /**
980
+ * True when a saved row may be written into `fingerprint`'s slot in place: the slot is neither
981
+ * filtered (including row-security and field-security segments) nor a subset, and the row
982
+ * carries every column ({@link RowHasEveryField}). Otherwise the slot must be invalidated.
983
+ *
984
+ * @param fingerprint - The slot to maintain
985
+ * @param entity - The saved record's entity
986
+ * @param row - The values the save carries
987
+ */
988
+ CanUpsertRowIntoSlot(fingerprint: string, entity: EntityInfo | null | undefined, row: Record<string, unknown> | null | undefined): boolean;
819
989
  /**
820
990
  * Handles a save/delete that could not be applied to a slot this process indexed — in practice
821
991
  * because the slot expired or was removed by someone else.
@@ -951,16 +1121,12 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
951
1121
  * what goes in it, and `ProviderBase.ComputeRunViewFLSFingerprintKey` is the single place
952
1122
  * that decision lives so the two tiers cannot drift.
953
1123
  *
954
- * **CLIENT-ONLY in practice.** The client passes its ALLOWED set
955
- * (`ProviderBase.ComputeClientFLSAllowedKey`); the SERVER passes nothing. Server slots are
956
- * full-width and shared by every user, with narrowing applied at read time by
957
- * `ApplyFieldSecurityProjection` on both the hit and miss paths — a segment there would
958
- * fragment one shared slot into one per permission class and protect nothing. Client slots
959
- * are stored exactly as the server returned them (already narrowed on the wire) and are
960
- * never projected on read, so the field set has to be part of slot identity: without it a
961
- * user whose access is tightened keeps being served their persisted IndexedDB slot, because
962
- * the currency check compares only `maxUpdatedAt` and `rowCount` and neither notices a
963
- * column.
1124
+ * **Both tiers pass it.** Each slot holds the rows of one permission class: the provider
1125
+ * fetches only the columns the reading user may see, so the field set has to be part of slot
1126
+ * identity on the server exactly as it is in the browser, where rows are stored as the server
1127
+ * returned them and never projected on read. Users with the same allowed set share a slot;
1128
+ * users with different sets never do. That also keeps a user search's row set apart, since
1129
+ * which rows match depends on which columns the reader may search.
964
1130
  *
965
1131
  * Keyed on the ALLOWED set rather than the denied one deliberately: once client metadata is
966
1132
  * filtered for restricted users ([#3485](https://github.com/MemberJunction/MJ/issues/3485))
@@ -971,7 +1137,7 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
971
1137
  * Empty for unrestricted users and non-FLS entities, which appends no segment at all — so
972
1138
  * their fingerprints stay byte-identical and keep sharing slots (the `rls:` rule). A
973
1139
  * permission change produces a new hash → fresh slot; slots keyed to the old hash strand
974
- * until eviction (memory cost, not a leak).
1140
+ * until eviction (memory cost, not a leak). Hashed with {@link HashSecuritySegment}.
975
1141
  * @param datasetSegment - Namespace for dataset-item slots (see the `ds:` append below): keeps
976
1142
  * `GetDatasetByName` item caching from colliding with a plain unfiltered read of the same
977
1143
  * entity. Appended only when supplied, so ordinary reads keep their pre-existing key.
@@ -1002,6 +1168,21 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
1002
1168
  * fabricate a result.
1003
1169
  */
1004
1170
  ReorderAggregateResultsToRequest(cachedResults: AggregateResult[] | undefined, requestedAggregates: AggregateExpression[] | undefined): AggregateResult[] | undefined;
1171
+ /**
1172
+ * A 128-bit hash, as 32 hex characters, of a security key that becomes part of a slot's
1173
+ * identity: the `rls:` and `fls:` fingerprint segments, and the field-security key a browser
1174
+ * sends with its cache status.
1175
+ *
1176
+ * These keys decide which users may share a slot, so two different keys must not land on the
1177
+ * same value. The 32-bit {@link simpleHash} used for the other segments is too short for that:
1178
+ * at a few tens of thousands of distinct row filters a collision becomes likely, and a
1179
+ * collision here serves one user's rows to another. Four independent 32-bit multiply-xor lanes
1180
+ * keep it synchronous, deterministic and identical in Node and the browser.
1181
+ *
1182
+ * @param str - The security key
1183
+ * @returns 32 lowercase hex characters
1184
+ */
1185
+ HashSecuritySegment(str: string): string;
1005
1186
  /**
1006
1187
  * Simple hash function for creating short fingerprints from strings.
1007
1188
  * Not cryptographic, just for deduplication/fingerprinting purposes.
@@ -1019,6 +1200,14 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
1019
1200
  * @returns The schema hash string, or undefined if the entity can't be resolved
1020
1201
  */
1021
1202
  ComputeSchemaHash(provider: IMetadataProvider | undefined, entityName: string): string | undefined;
1203
+ /**
1204
+ * The entity's schema hash (see {@link ComputeSchemaHash}) together with its schema stamp: the
1205
+ * newest `__mj_UpdatedAt` across the entity row and its field rows, as an ISO string, or
1206
+ * undefined when the metadata carries no timestamps.
1207
+ */
1208
+ private computeSchemaSignature;
1209
+ /** Milliseconds since the epoch for a metadata timestamp (a Date or a string), or 0 when unreadable. */
1210
+ private static timestampMs;
1022
1211
  /**
1023
1212
  * Deep-freezes an about-to-be-stored cache payload when — and only when — the active
1024
1213
  * storage provider hands out live object references
@@ -1114,10 +1303,22 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
1114
1303
  * recording the appropriate hit/miss + access-tracking side effects.
1115
1304
  *
1116
1305
  * Also validates the schema hash (if present) to detect structurally stale
1117
- * cache entries after schema migrations. If the entity's field list changed
1118
- * since the entry was cached, the entry is invalidated and null is returned.
1306
+ * cache entries after schema migrations. If the entity's field list differs
1307
+ * from the one the entry was cached under, null is returned; whether the slot
1308
+ * is also deleted depends on `purpose` (see {@link handleSchemaMismatch}).
1119
1309
  */
1120
1310
  private materializeCachedRunViewResult;
1311
+ /**
1312
+ * Updates the `lastVerifiedAt` timestamp for a cached RunView slot in O(1) time
1313
+ * without re-cloning, re-freezing, or rewriting its stored row array.
1314
+ *
1315
+ * Used by server-side smart-cache verification after a lightweight SQL status probe
1316
+ * (`MAX(__mj_UpdatedAt)`, `COUNT(*)`) confirms that a cached slot is still current.
1317
+ *
1318
+ * @param fingerprint - The cache fingerprint to touch
1319
+ * @param timestamp - Verification timestamp in epoch ms (defaults to `Date.now()`)
1320
+ */
1321
+ TouchRunViewResultVerifiedAt(fingerprint: string, timestamp?: number): void;
1121
1322
  /**
1122
1323
  * Records a slot this process READ, so a later save can still find it once it has expired.
1123
1324
  *
@@ -1275,26 +1476,38 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
1275
1476
  * @param rowCount - Optional row count (defaults to results.length if not provided)
1276
1477
  * @param queryId - Optional query ID for reference
1277
1478
  * @param ttlMs - Optional TTL in milliseconds (for cache expiry tracking)
1479
+ * @param warmedForUserID - The user whose authorized execution produced the rows
1480
+ * @param definition - The query definition the rows were computed under. Stored with the slot so
1481
+ * a read under a different definition misses (see {@link GetRunQueryResult}), and used to index
1482
+ * the slot by query ID (see {@link InvalidateRunQueryResultsForQuery}). On a shared store the
1483
+ * write is skipped while the query's slots are under a write hold (see
1484
+ * `handleSchemaMismatch`).
1485
+ */
1486
+ SetRunQueryResult(fingerprint: string, queryName: string, results: unknown[], maxUpdatedAt: string, rowCount?: number, queryId?: string, ttlMs?: number, warmedForUserID?: string, definition?: QueryDefinitionSignature): Promise<void>;
1487
+ /**
1488
+ * Store options for a RunQuery slot: its expiry, and the query ID as the index group, so a
1489
+ * shared store can list every slot of one query whichever process wrote it.
1278
1490
  */
1279
- SetRunQueryResult(fingerprint: string, queryName: string, results: unknown[], maxUpdatedAt: string, rowCount?: number, queryId?: string, ttlMs?: number, warmedForUserID?: string): Promise<void>;
1491
+ private static runQueryWriteOptions;
1280
1492
  /**
1281
1493
  * Retrieves a cached RunQuery result.
1282
1494
  *
1283
1495
  * @param fingerprint - The cache fingerprint
1284
- * @returns The cached results, maxUpdatedAt, rowCount, and queryId, or null if not found
1285
- */
1286
- GetRunQueryResult(fingerprint: string): Promise<{
1287
- /**
1288
- * The cached result rows — shared and deep-frozen under a reference-sharing storage
1289
- * provider, exactly like {@link CachedRunViewData.results}. Do not mutate.
1290
- */
1291
- results: unknown[];
1292
- maxUpdatedAt: string;
1293
- rowCount: number;
1294
- queryId?: string;
1295
- /** User who executed the authorized miss that produced this slot (B43 tie-breaker). */
1296
- warmedForUserID?: string;
1297
- } | null>;
1496
+ * @param expectedDefinition - The query definition the caller would execute on a miss. When
1497
+ * given, a slot written under a different definition (or one that records none) is a miss.
1498
+ * On a process-local store the slot is also deleted; on a shared store it is left in place and
1499
+ * this process's writes of the query's slots are held (see `handleSchemaMismatch`). Omit it
1500
+ * where the caller cannot compute a definition (a client, whose slots the server validates).
1501
+ * @returns The cached results, maxUpdatedAt, rowCount, queryId and definition hash, or null if
1502
+ * not found, expired, or written under another definition
1503
+ */
1504
+ GetRunQueryResult(fingerprint: string, expectedDefinition?: QueryDefinitionSignature): Promise<CachedRunQuerySlot | null>;
1505
+ /**
1506
+ * Compares a RunQuery slot's definition hash with the definition the caller expects. A slot
1507
+ * that records no hash was written before slots carried one, so nothing says which SQL produced
1508
+ * its rows; it counts as a mismatch with an unknown order.
1509
+ */
1510
+ private static findDefinitionMismatch;
1298
1511
  /**
1299
1512
  * Invalidates a cached RunQuery result.
1300
1513
  *
@@ -1305,19 +1518,39 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
1305
1518
  * Invalidates all cached RunQuery results for a specific query.
1306
1519
  * Useful when a query's underlying data changes and all related caches should be cleared.
1307
1520
  *
1521
+ * Matches this process's registry by name only, so it misses slots written by other processes
1522
+ * on a shared store and slots written under a former name.
1523
+ *
1308
1524
  * @param queryName - The query name to invalidate
1525
+ * @deprecated Use {@link InvalidateRunQueryResultsForQuery}, which finds a query's slots by ID
1526
+ * in every process that shares the store.
1309
1527
  */
1310
1528
  InvalidateQueryCaches(queryName: string): Promise<void>;
1529
+ /**
1530
+ * Deletes every cached RunQuery result of one query: the slots this process wrote, and on a
1531
+ * shared store every slot any process wrote with the query's ID (see {@link SetRunQueryResult}).
1532
+ * Slots keyed by the query's name alone, or written before slots were indexed, are not found;
1533
+ * a definition check on read (see {@link GetRunQueryResult}) keeps them from being served.
1534
+ * Never throws.
1535
+ *
1536
+ * @param queryId - The query whose slots to delete
1537
+ * @returns The number of slots deleted
1538
+ */
1539
+ InvalidateRunQueryResultsForQuery(queryId: string): Promise<number>;
1540
+ /** The keys of one query's RunQuery slots: this process's registry, plus the shared index. */
1541
+ private findRunQueryKeysForQuery;
1311
1542
  /**
1312
1543
  * Gets the cache status (fingerprint data) for a RunQuery result.
1313
1544
  * Used for smart cache validation with the server.
1314
1545
  *
1315
1546
  * @param fingerprint - The cache fingerprint
1316
- * @returns The cache status with maxUpdatedAt and rowCount, or null if not found/expired
1547
+ * @returns The cache status with maxUpdatedAt, rowCount and the definition hash the slot was
1548
+ * written under, or null if not found/expired
1317
1549
  */
1318
1550
  GetRunQueryCacheStatus(fingerprint: string): Promise<{
1319
1551
  maxUpdatedAt: string;
1320
1552
  rowCount: number;
1553
+ definitionHash?: string;
1321
1554
  } | null>;
1322
1555
  /**
1323
1556
  * Returns all cache entries for dashboard display.
@@ -1413,16 +1646,50 @@ export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager>
1413
1646
  */
1414
1647
  private estimateResultsSize;
1415
1648
  /**
1416
- * Returns true when a single entry of the given estimated size exceeds the
1417
- * per-entry cap (maxEntryPercentOfCache of maxSizeBytes) and must not be
1418
- * cached. See the config property's doc comment for the full rationale —
1419
- * in short, an entry that large can only be stored by evicting most (or
1420
- * all) of the cache, and it would be evicted again on the next store, so
1421
- * caching it is strictly worse than skipping it.
1649
+ * The largest single entry this cache will store, in bytes, or 0 when no ceiling
1650
+ * applies (`maxEntryPercentOfCache: 0`).
1651
+ *
1652
+ * `'auto'` derives it from the budget — the whole budget less
1653
+ * {@link SINGLE_ENTRY_RESERVE_PERCENT} — so the ceiling grows with the memory the
1654
+ * operator gave the cache instead of being a small fixed fraction that the biggest
1655
+ * entity can never fit under. An explicit percentage is honoured as a stricter
1656
+ * ceiling, clamped to {@link HARD_MAX_ENTRY_PERCENT} so no configuration can admit an
1657
+ * entry that leaves the cache with less free space than one eviction pass needs.
1658
+ */
1659
+ get MaxEntrySizeBytes(): number;
1660
+ /**
1661
+ * The per-entry ceiling as a percentage of the budget, with `'auto'` resolved and an
1662
+ * explicit configuration clamped. 0 or below means "no ceiling".
1663
+ */
1664
+ private get effectiveMaxEntryPercent();
1665
+ /**
1666
+ * Returns true when a single entry of the given estimated size exceeds
1667
+ * {@link MaxEntrySizeBytes} and must not be cached. See the config property's doc
1668
+ * comment for the rationale — in short, an entry that cannot be RETAINED within the
1669
+ * budget would be evicted again on the next store, so caching it is churn. An entry
1670
+ * that fits is cached however large it is: the cases that most need caching are the
1671
+ * large ones.
1422
1672
  */
1423
1673
  private exceedsMaxEntrySize;
1674
+ /**
1675
+ * Renders the decline of an oversized entry as something an operator can act on: what
1676
+ * the ceiling is, and the `cacheSettings.maxMemoryMB` that would admit this entry.
1677
+ * The old message reported raw byte counts and a percentage, which named the symptom
1678
+ * but not the lever — and the entries it declines are exactly the expensive queries
1679
+ * whose absence from the cache costs the most.
1680
+ */
1681
+ private describeOversizedEntry;
1424
1682
  /**
1425
1683
  * Evicts entries if needed to make room for new data.
1684
+ *
1685
+ * Frees the DEFICIT — how far over budget the cache would be with the incoming entry —
1686
+ * rounded up to {@link EVICTION_THRASH_FLOOR_PERCENT} of the budget so a run of stores
1687
+ * near the budget does not evict on every one. It deliberately does not free the
1688
+ * incoming entry's whole size: for a large entry arriving into a mostly empty cache the
1689
+ * deficit is small, and freeing the entry's full size instead emptied the cache to make
1690
+ * room that was already there. That over-eviction is what made a large entry look
1691
+ * inherently destructive, and it is why the per-entry ceiling used to be set low enough
1692
+ * to exclude every large entry.
1426
1693
  */
1427
1694
  private evictIfNeeded;
1428
1695
  /**
@@ -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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"}