@memberjunction/core 6.2.0-edge.5 → 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 (121) hide show
  1. package/dist/generic/BaseEntitySaveQueue.d.ts +15 -0
  2. package/dist/generic/BaseEntitySaveQueue.d.ts.map +1 -1
  3. package/dist/generic/BaseEntitySaveQueue.js +21 -0
  4. package/dist/generic/BaseEntitySaveQueue.js.map +1 -1
  5. package/dist/generic/alternateBaseViews.d.ts +119 -0
  6. package/dist/generic/alternateBaseViews.d.ts.map +1 -0
  7. package/dist/generic/alternateBaseViews.js +223 -0
  8. package/dist/generic/alternateBaseViews.js.map +1 -0
  9. package/dist/generic/baseEngine.d.ts +53 -9
  10. package/dist/generic/baseEngine.d.ts.map +1 -1
  11. package/dist/generic/baseEngine.js +194 -35
  12. package/dist/generic/baseEngine.js.map +1 -1
  13. package/dist/generic/baseEngineRegistry.d.ts.map +1 -1
  14. package/dist/generic/baseEngineRegistry.js +2 -1
  15. package/dist/generic/baseEngineRegistry.js.map +1 -1
  16. package/dist/generic/baseEntity.d.ts +153 -17
  17. package/dist/generic/baseEntity.d.ts.map +1 -1
  18. package/dist/generic/baseEntity.js +345 -46
  19. package/dist/generic/baseEntity.js.map +1 -1
  20. package/dist/generic/contextTokens.d.ts +136 -0
  21. package/dist/generic/contextTokens.d.ts.map +1 -0
  22. package/dist/generic/contextTokens.js +319 -0
  23. package/dist/generic/contextTokens.js.map +1 -0
  24. package/dist/generic/databaseProviderBase.d.ts +66 -5
  25. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  26. package/dist/generic/databaseProviderBase.js +159 -12
  27. package/dist/generic/databaseProviderBase.js.map +1 -1
  28. package/dist/generic/embeddedRecord.d.ts +6 -0
  29. package/dist/generic/embeddedRecord.d.ts.map +1 -1
  30. package/dist/generic/embeddedRecord.js +15 -1
  31. package/dist/generic/embeddedRecord.js.map +1 -1
  32. package/dist/generic/entityCompanion.d.ts +7 -0
  33. package/dist/generic/entityCompanion.d.ts.map +1 -1
  34. package/dist/generic/entityCompanion.js +8 -0
  35. package/dist/generic/entityCompanion.js.map +1 -1
  36. package/dist/generic/entityInfo.d.ts +228 -9
  37. package/dist/generic/entityInfo.d.ts.map +1 -1
  38. package/dist/generic/entityInfo.js +574 -65
  39. package/dist/generic/entityInfo.js.map +1 -1
  40. package/dist/generic/entityValueFieldSecurity.d.ts +139 -0
  41. package/dist/generic/entityValueFieldSecurity.d.ts.map +1 -0
  42. package/dist/generic/entityValueFieldSecurity.js +250 -0
  43. package/dist/generic/entityValueFieldSecurity.js.map +1 -0
  44. package/dist/generic/fieldSecuritySQLGate.d.ts +350 -0
  45. package/dist/generic/fieldSecuritySQLGate.d.ts.map +1 -0
  46. package/dist/generic/fieldSecuritySQLGate.js +898 -0
  47. package/dist/generic/fieldSecuritySQLGate.js.map +1 -0
  48. package/dist/generic/indexRestrictedFields.d.ts +47 -0
  49. package/dist/generic/indexRestrictedFields.d.ts.map +1 -0
  50. package/dist/generic/indexRestrictedFields.js +129 -0
  51. package/dist/generic/indexRestrictedFields.js.map +1 -0
  52. package/dist/generic/interfaces.d.ts +14 -1
  53. package/dist/generic/interfaces.d.ts.map +1 -1
  54. package/dist/generic/interfaces.js.map +1 -1
  55. package/dist/generic/localCacheManager.d.ts +80 -11
  56. package/dist/generic/localCacheManager.d.ts.map +1 -1
  57. package/dist/generic/localCacheManager.js +209 -38
  58. package/dist/generic/localCacheManager.js.map +1 -1
  59. package/dist/generic/logging.d.ts.map +1 -1
  60. package/dist/generic/logging.js +7 -1
  61. package/dist/generic/logging.js.map +1 -1
  62. package/dist/generic/metadata.d.ts +3 -2
  63. package/dist/generic/metadata.d.ts.map +1 -1
  64. package/dist/generic/metadata.js +5 -2
  65. package/dist/generic/metadata.js.map +1 -1
  66. package/dist/generic/platformSQL.d.ts +54 -0
  67. package/dist/generic/platformSQL.d.ts.map +1 -1
  68. package/dist/generic/platformSQL.js +55 -0
  69. package/dist/generic/platformSQL.js.map +1 -1
  70. package/dist/generic/providerBase.d.ts +254 -56
  71. package/dist/generic/providerBase.d.ts.map +1 -1
  72. package/dist/generic/providerBase.js +698 -195
  73. package/dist/generic/providerBase.js.map +1 -1
  74. package/dist/generic/queryInfo.d.ts +13 -0
  75. package/dist/generic/queryInfo.d.ts.map +1 -1
  76. package/dist/generic/queryInfo.js +13 -0
  77. package/dist/generic/queryInfo.js.map +1 -1
  78. package/dist/generic/queryInfoInterfaces.d.ts +8 -0
  79. package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
  80. package/dist/generic/queryTemplateContext.d.ts +49 -0
  81. package/dist/generic/queryTemplateContext.d.ts.map +1 -0
  82. package/dist/generic/queryTemplateContext.js +113 -0
  83. package/dist/generic/queryTemplateContext.js.map +1 -0
  84. package/dist/generic/recordChangeFieldSecurity.d.ts.map +1 -1
  85. package/dist/generic/recordChangeFieldSecurity.js +13 -2
  86. package/dist/generic/recordChangeFieldSecurity.js.map +1 -1
  87. package/dist/generic/relatedRecordCollection.d.ts +13 -0
  88. package/dist/generic/relatedRecordCollection.d.ts.map +1 -1
  89. package/dist/generic/relatedRecordCollection.js +44 -5
  90. package/dist/generic/relatedRecordCollection.js.map +1 -1
  91. package/dist/generic/runQuery.d.ts +42 -0
  92. package/dist/generic/runQuery.d.ts.map +1 -1
  93. package/dist/generic/runQuery.js +14 -0
  94. package/dist/generic/runQuery.js.map +1 -1
  95. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
  96. package/dist/generic/runQuerySQLFilterImplementations.js +38 -2
  97. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
  98. package/dist/generic/saveEntityGraphOperation.d.ts.map +1 -1
  99. package/dist/generic/saveEntityGraphOperation.js +3 -0
  100. package/dist/generic/saveEntityGraphOperation.js.map +1 -1
  101. package/dist/generic/securityInfo.d.ts +11 -0
  102. package/dist/generic/securityInfo.d.ts.map +1 -1
  103. package/dist/generic/securityInfo.js +15 -0
  104. package/dist/generic/securityInfo.js.map +1 -1
  105. package/dist/generic/telemetryManager.d.ts +9 -0
  106. package/dist/generic/telemetryManager.d.ts.map +1 -1
  107. package/dist/generic/telemetryManager.js +5 -1
  108. package/dist/generic/telemetryManager.js.map +1 -1
  109. package/dist/index.d.ts +7 -0
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +7 -0
  112. package/dist/index.js.map +1 -1
  113. package/dist/views/runView.d.ts +89 -0
  114. package/dist/views/runView.d.ts.map +1 -1
  115. package/dist/views/runView.js +36 -0
  116. package/dist/views/runView.js.map +1 -1
  117. package/dist/views/viewProperties.d.ts +55 -0
  118. package/dist/views/viewProperties.d.ts.map +1 -0
  119. package/dist/views/viewProperties.js +258 -0
  120. package/dist/views/viewProperties.js.map +1 -0
  121. package/package.json +3 -3
@@ -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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"}
@@ -1,5 +1,7 @@
1
1
  import { BaseSingleton, MJGlobal, MJEventType } from "@memberjunction/global";
2
- import { IsMaterializedDataSource } from "../views/runView.js";
2
+ import { IsMaterializedDataSource, NormalizeAlternateBaseViewName } from "../views/runView.js";
3
+ import { GetEffectiveAlternateBaseViewName } from "./alternateBaseViews.js";
4
+ import { ViewPropertyValuesKey } from "../views/viewProperties.js";
3
5
  import { LogError, LogStatusEx, LogWarning } from "./logging.js";
4
6
  import { BaseEntity } from "./baseEntity.js";
5
7
  import { Metadata } from "./metadata.js";
@@ -156,6 +158,7 @@ export class LocalCacheManager extends BaseSingleton {
156
158
  */
157
159
  this._sharesReferences = false;
158
160
  this._registry = new Map();
161
+ this._lastVerifiedAt = new Map();
159
162
  this._initialized = false;
160
163
  this._initializePromise = null;
161
164
  this._stats = { hits: 0, misses: 0 };
@@ -567,6 +570,9 @@ export class LocalCacheManager extends BaseSingleton {
567
570
  * segment is built. Same misclassification, worse consequence: a save by
568
571
  * user A was upserted into user B's RLS-scoped slot, injecting a row B's
569
572
  * predicate excludes. That is an RLS bypass.
573
+ * - `fls:<h>` — the slot holds only the columns one permission class may read. Upserting a
574
+ * saver's row would put columns into it that its readers may not see (or
575
+ * take away ones they may), so it is invalidated like the two above.
570
576
  *
571
577
  * ## Why it is written as a DENY-by-default allowlist
572
578
  * Enumerating the narrowing segments would repeat the original mistake: the next segment
@@ -590,6 +596,9 @@ export class LocalCacheManager extends BaseSingleton {
590
596
  if (!seg) {
591
597
  continue;
592
598
  }
599
+ if (seg.startsWith('abv:')) {
600
+ return true; // alternate base view applies a canonical WHERE/JOIN — never maintain in place on save
601
+ }
593
602
  if (seg.startsWith('imr:')) {
594
603
  continue; // widens the set — safe to maintain
595
604
  }
@@ -1327,11 +1336,12 @@ export class LocalCacheManager extends BaseSingleton {
1327
1336
  }
1328
1337
  const snapshot = [...fingerprints];
1329
1338
  const nowISO = new Date().toISOString();
1339
+ const savesComplete = LocalCacheManager.everySavedRowComplete(changes); // per change, not per slot
1330
1340
  const BATCH_SIZE = 8;
1331
1341
  for (let i = 0; i < snapshot.length; i += BATCH_SIZE) {
1332
1342
  await Promise.all(snapshot.slice(i, i + BATCH_SIZE).map(async (fingerprint) => {
1333
1343
  try {
1334
- await this.applyEntityChangesToSlot(fingerprint, changes, nowISO);
1344
+ await this.applyEntityChangesToSlot(fingerprint, changes, nowISO, savesComplete);
1335
1345
  }
1336
1346
  catch (err) {
1337
1347
  LogError(`LocalCacheManager: failed to apply batched changes to "${fingerprint}": ${err.message}`);
@@ -1343,12 +1353,14 @@ export class LocalCacheManager extends BaseSingleton {
1343
1353
  * One slot, several changes: the same decisions {@link processEntityEventForFingerprint} makes
1344
1354
  * per event, made once for the whole list.
1345
1355
  */
1346
- async applyEntityChangesToSlot(fingerprint, changes, nowISO) {
1356
+ async applyEntityChangesToSlot(fingerprint, changes, nowISO, savesComplete = LocalCacheManager.everySavedRowComplete(changes)) {
1347
1357
  const hasSave = changes.some(c => c.Type === 'save');
1348
1358
  // Subset and aggregate slots cannot be maintained in place; filtered slots cannot take an
1349
1359
  // upsert (the new row may not match the filter) but can drop deleted rows.
1360
+ // A saved row missing columns cannot replace a full-width row either (see RowHasEveryField).
1350
1361
  if (this.isSubsetFingerprint(fingerprint) || this.hasAggregates(fingerprint.split('|'))
1351
- || (hasSave && this.isFilteredFingerprint(fingerprint))) {
1362
+ || (hasSave && this.isFilteredFingerprint(fingerprint))
1363
+ || !savesComplete) {
1352
1364
  await this.InvalidateRunViewResult(fingerprint);
1353
1365
  return;
1354
1366
  }
@@ -1445,11 +1457,12 @@ export class LocalCacheManager extends BaseSingleton {
1445
1457
  if (key.KeyValuePairs.some(kv => kv.Value == null))
1446
1458
  return;
1447
1459
  LogStatusVerbose(`LocalCacheManager: remote-invalidate (save) for "${entityName}" PK=${key.ToConcatenatedString()}, updating ${fingerprints.size} cached fingerprint(s)`);
1460
+ const rowComplete = LocalCacheManager.RowHasEveryField(entityInfo, recordData); // per row, not per slot
1448
1461
  for (const fingerprint of fingerprintSnapshot) {
1449
1462
  try {
1450
1463
  // Subset slot (MaxRows/StartRow): upserting would grow the slot past the
1451
1464
  // caller's own row limit. Invalidate, same as a filtered slot.
1452
- if (!this.isFilteredFingerprint(fingerprint) && !this.isSubsetFingerprint(fingerprint)) {
1465
+ if (rowComplete && !this.isFilteredFingerprint(fingerprint) && !this.isSubsetFingerprint(fingerprint)) {
1453
1466
  await this.UpsertSingleEntity(fingerprint, recordData, key, nowISO);
1454
1467
  }
1455
1468
  else {
@@ -1567,9 +1580,14 @@ export class LocalCacheManager extends BaseSingleton {
1567
1580
  await this.invalidateIfNotMaintained(fingerprint, maintained);
1568
1581
  }
1569
1582
  else if (!this.isFilteredFingerprint(fingerprint)) {
1570
- // Unfiltered cache: update the record in place
1571
- LogStatusVerbose(`LocalCacheManager: Upserting entity ${keyStr} in unfiltered cache "${fingerprint.substring(0, 60)}"`);
1583
+ // Unfiltered cache: update the record in place, unless the saved row is missing columns
1572
1584
  const entityData = baseEntity.GetAll();
1585
+ if (!LocalCacheManager.RowHasEveryField(baseEntity.EntityInfo, entityData)) {
1586
+ LogStatusVerbose(`LocalCacheManager: Invalidating "${fingerprint.substring(0, 60)}" — the saved row is missing columns`);
1587
+ await this.InvalidateRunViewResult(fingerprint);
1588
+ return;
1589
+ }
1590
+ LogStatusVerbose(`LocalCacheManager: Upserting entity ${keyStr} in unfiltered cache "${fingerprint.substring(0, 60)}"`);
1573
1591
  const maintained = await this.UpsertSingleEntity(fingerprint, entityData, key, nowISO);
1574
1592
  await this.invalidateIfNotMaintained(fingerprint, maintained);
1575
1593
  }
@@ -1579,6 +1597,58 @@ export class LocalCacheManager extends BaseSingleton {
1579
1597
  await this.InvalidateRunViewResult(fingerprint);
1580
1598
  }
1581
1599
  }
1600
+ /**
1601
+ * True when `row` has a key for every non-binary field of `entity`, so it may replace the
1602
+ * cached copy of its record in place.
1603
+ *
1604
+ * A save event carries the saver's own values (`GetAll()`), and an object leaves out every
1605
+ * field it does not hold: one its user may not read, or one that was never loaded. Upserting
1606
+ * such a row into a full-width slot would replace a complete cached row with a partial one,
1607
+ * and every later reader of that slot, including users entitled to the missing columns, would
1608
+ * be served the row without them. A partial row therefore clears the slot instead, and the
1609
+ * next read refills it from the database. Binary fields are not required, because slots
1610
+ * leave them out unless asked for.
1611
+ *
1612
+ * A row is judged against the entity's field list, so without one (no entity metadata on
1613
+ * the event, which a real entity always carries) there is nothing to compare and the row is
1614
+ * accepted, as before this check existed.
1615
+ *
1616
+ * @param entity - The saved record's entity
1617
+ * @param row - The values the event carries
1618
+ */
1619
+ static RowHasEveryField(entity, row) {
1620
+ if (!row || typeof row !== 'object') {
1621
+ return false;
1622
+ }
1623
+ const fields = entity?.Fields;
1624
+ if (!Array.isArray(fields) || fields.length === 0) {
1625
+ return true;
1626
+ }
1627
+ for (const field of fields) {
1628
+ if (!field.IsBinaryFieldType && !Object.prototype.hasOwnProperty.call(row, field.Name)) {
1629
+ return false;
1630
+ }
1631
+ }
1632
+ return true;
1633
+ }
1634
+ /** Whether every saved row among `changes` carries every column ({@link RowHasEveryField}). */
1635
+ static everySavedRowComplete(changes) {
1636
+ return changes.every(c => c.Type !== 'save' || LocalCacheManager.RowHasEveryField(c.EntityInfo, c.Record));
1637
+ }
1638
+ /**
1639
+ * True when a saved row may be written into `fingerprint`'s slot in place: the slot is neither
1640
+ * filtered (including row-security and field-security segments) nor a subset, and the row
1641
+ * carries every column ({@link RowHasEveryField}). Otherwise the slot must be invalidated.
1642
+ *
1643
+ * @param fingerprint - The slot to maintain
1644
+ * @param entity - The saved record's entity
1645
+ * @param row - The values the save carries
1646
+ */
1647
+ CanUpsertRowIntoSlot(fingerprint, entity, row) {
1648
+ return !this.isFilteredFingerprint(fingerprint)
1649
+ && !this.isSubsetFingerprint(fingerprint)
1650
+ && LocalCacheManager.RowHasEveryField(entity, row);
1651
+ }
1582
1652
  /**
1583
1653
  * Handles a save/delete that could not be applied to a slot this process indexed — in practice
1584
1654
  * because the slot expired or was removed by someone else.
@@ -1867,16 +1937,12 @@ export class LocalCacheManager extends BaseSingleton {
1867
1937
  * what goes in it, and `ProviderBase.ComputeRunViewFLSFingerprintKey` is the single place
1868
1938
  * that decision lives so the two tiers cannot drift.
1869
1939
  *
1870
- * **CLIENT-ONLY in practice.** The client passes its ALLOWED set
1871
- * (`ProviderBase.ComputeClientFLSAllowedKey`); the SERVER passes nothing. Server slots are
1872
- * full-width and shared by every user, with narrowing applied at read time by
1873
- * `ApplyFieldSecurityProjection` on both the hit and miss paths — a segment there would
1874
- * fragment one shared slot into one per permission class and protect nothing. Client slots
1875
- * are stored exactly as the server returned them (already narrowed on the wire) and are
1876
- * never projected on read, so the field set has to be part of slot identity: without it a
1877
- * user whose access is tightened keeps being served their persisted IndexedDB slot, because
1878
- * the currency check compares only `maxUpdatedAt` and `rowCount` and neither notices a
1879
- * column.
1940
+ * **Both tiers pass it.** Each slot holds the rows of one permission class: the provider
1941
+ * fetches only the columns the reading user may see, so the field set has to be part of slot
1942
+ * identity on the server exactly as it is in the browser, where rows are stored as the server
1943
+ * returned them and never projected on read. Users with the same allowed set share a slot;
1944
+ * users with different sets never do. That also keeps a user search's row set apart, since
1945
+ * which rows match depends on which columns the reader may search.
1880
1946
  *
1881
1947
  * Keyed on the ALLOWED set rather than the denied one deliberately: once client metadata is
1882
1948
  * filtered for restricted users ([#3485](https://github.com/MemberJunction/MJ/issues/3485))
@@ -1887,7 +1953,7 @@ export class LocalCacheManager extends BaseSingleton {
1887
1953
  * Empty for unrestricted users and non-FLS entities, which appends no segment at all — so
1888
1954
  * their fingerprints stay byte-identical and keep sharing slots (the `rls:` rule). A
1889
1955
  * permission change produces a new hash → fresh slot; slots keyed to the old hash strand
1890
- * until eviction (memory cost, not a leak).
1956
+ * until eviction (memory cost, not a leak). Hashed with {@link HashSecuritySegment}.
1891
1957
  * @param datasetSegment - Namespace for dataset-item slots (see the `ds:` append below): keeps
1892
1958
  * `GetDatasetByName` item caching from colliding with a plain unfiltered read of the same
1893
1959
  * entity. Appended only when supplied, so ordinary reads keep their pre-existing key.
@@ -1952,6 +2018,14 @@ export class LocalCacheManager extends BaseSingleton {
1952
2018
  if (params.IncludeBinaryFields === true) {
1953
2019
  parts.push('bin:1');
1954
2020
  }
2021
+ // SkipTotalRowCount segment. A call that skips the fallback COUNT stores a result whose
2022
+ // TotalRowCount was never counted, so it must not share a slot with the otherwise
2023
+ // identical counted call (each would be served the other's TotalRowCount). Appended only
2024
+ // when true, so every existing fingerprint stays byte-for-byte identical. Not allowlisted
2025
+ // in hasNarrowingSegment, so such a slot is invalidated on save rather than maintained.
2026
+ if (params.SkipTotalRowCount === true) {
2027
+ parts.push('strc:1');
2028
+ }
1955
2029
  // DataSource segment. RunViewParams.DataSource:'Materialized' routes the read to the entity's
1956
2030
  // materialized snapshot view (GetEffectiveBaseView), a DIFFERENT physical source than the default
1957
2031
  // live base view — so a Live read and a Materialized read of the same entity/filter/orderBy MUST
@@ -1961,6 +2035,15 @@ export class LocalCacheManager extends BaseSingleton {
1961
2035
  if (IsMaterializedDataSource(params.DataSource)) {
1962
2036
  parts.push('ds:materialized');
1963
2037
  }
2038
+ // AlternateBaseView segment. Routing a read through an alternate base view (explicitly via
2039
+ // params.AlternateBaseView or pinned inside a loaded params.ViewEntity's DisplayState JSON)
2040
+ // targets a different physical SQL view with its own canonical WHERE/JOIN, so it MUST NOT
2041
+ // share a cache slot with the entity's canonical BaseView or another alternate view.
2042
+ // Appended only when non-empty so canonical reads keep their exact pre-existing fingerprint.
2043
+ const effectiveAbv = NormalizeAlternateBaseViewName(GetEffectiveAlternateBaseViewName(params));
2044
+ if (effectiveAbv.length > 0) {
2045
+ parts.push(`abv:${effectiveAbv}`);
2046
+ }
1964
2047
  // Keyset (AfterKey) seek cursor MUST be part of the fingerprint. Each keyset page
1965
2048
  // sends a different AfterKey but otherwise-identical params; without this, sequential
1966
2049
  // pages collide on the same fingerprint and the dedup/linger layer hands page N+1 the
@@ -1978,25 +2061,24 @@ export class LocalCacheManager extends BaseSingleton {
1978
2061
  // substitutions) hash differently and therefore never collide.
1979
2062
  const rls = (rlsWhereClause ?? '').trim();
1980
2063
  if (rls.length > 0) {
1981
- parts.push(`rls:${this.simpleHash(rls)}`);
2064
+ parts.push(`rls:${this.HashSecuritySegment(rls)}`);
1982
2065
  }
1983
- // Field-Level-Security segment — the column counterpart of `rls:`, and CLIENT-ONLY.
2066
+ // Field-Level-Security segment — the column counterpart of `rls:`.
1984
2067
  //
1985
- // A browser stores rows exactly as the server returned them (already narrowed to the
1986
- // user's allowed columns) and never projects on read, so the field set has to be part
1987
- // of slot identity. Without it, a user whose access is tightened keeps being served
1988
- // their persisted IndexedDB slot: the currency check compares maxUpdatedAt and rowCount
1989
- // only, neither of which notices a column.
1990
- //
1991
- // The server passes nothing here — its slots are full-width and shared, with narrowing
1992
- // applied at read time by ApplyFieldSecurityProjection.
1993
- // ProviderBase.ComputeRunViewFLSFingerprintKey is where that split is decided.
2068
+ // A slot holds the columns one permission class may read, on both tiers: the server
2069
+ // fetches only the reader's allowed columns, and a browser stores rows exactly as the
2070
+ // server returned them. So the field set is part of slot identity, and a user is only
2071
+ // ever served a slot filled for the same allowed set. Without it, a user whose access is
2072
+ // tightened keeps being served a slot with the column in it (the currency check compares
2073
+ // maxUpdatedAt and rowCount only, neither of which notices a column), and a restricted
2074
+ // reader's narrow rows would be served to an unrestricted one.
2075
+ // ProviderBase.ComputeRunViewFLSFingerprintKey decides what the key contains.
1994
2076
  //
1995
2077
  // Appended ONLY when non-empty, so unrestricted users and non-FLS entities keep
1996
2078
  // byte-identical fingerprints and shared slots (the rls: rule).
1997
2079
  const fls = (flsFieldsKey ?? '').trim();
1998
2080
  if (fls.length > 0) {
1999
- parts.push(`fls:${this.simpleHash(fls)}`);
2081
+ parts.push(`fls:${this.HashSecuritySegment(fls)}`);
2000
2082
  }
2001
2083
  // Stored-view identity. A saved view's WhereClause/OrderBy live on the view, not in
2002
2084
  // params.ExtraFilter, so a view run and a plain entity read (or a different view) can
@@ -2009,6 +2091,17 @@ export class LocalCacheManager extends BaseSingleton {
2009
2091
  if (viewKey.length > 0) {
2010
2092
  parts.push(`vw:${viewKey}`);
2011
2093
  }
2094
+ // View-property segment. A stored view's property values (RunViewParams.Properties and
2095
+ // ServerProperties) each add a predicate the provider builds, so one chapter's run must
2096
+ // never be served another chapter's slot. On the server the provider has already replaced
2097
+ // both with the resolved values (token defaults included) before this runs. The values go
2098
+ // in as canonical JSON rather than a hash: a 32-bit hash of values a client partly chooses
2099
+ // could be steered onto another run's slot. Appended ONLY when a value is present, so every
2100
+ // run without properties keeps its exact fingerprint.
2101
+ const propertyKey = ViewPropertyValuesKey(params.Properties, params.ServerProperties);
2102
+ if (propertyKey.length > 0) {
2103
+ parts.push(`vp:${propertyKey}`);
2104
+ }
2012
2105
  // Dataset namespace. `GetDatasetByName` caches each dataset ITEM's rows through this same
2013
2106
  // builder, supplying only entity + the item's WhereClause — and every shipped item has a
2014
2107
  // NULL WhereClause, so without this segment a dataset item emits the identical fingerprint
@@ -2091,6 +2184,39 @@ export class LocalCacheManager extends BaseSingleton {
2091
2184
  }
2092
2185
  return reordered;
2093
2186
  }
2187
+ /**
2188
+ * A 128-bit hash, as 32 hex characters, of a security key that becomes part of a slot's
2189
+ * identity: the `rls:` and `fls:` fingerprint segments, and the field-security key a browser
2190
+ * sends with its cache status.
2191
+ *
2192
+ * These keys decide which users may share a slot, so two different keys must not land on the
2193
+ * same value. The 32-bit {@link simpleHash} used for the other segments is too short for that:
2194
+ * at a few tens of thousands of distinct row filters a collision becomes likely, and a
2195
+ * collision here serves one user's rows to another. Four independent 32-bit multiply-xor lanes
2196
+ * keep it synchronous, deterministic and identical in Node and the browser.
2197
+ *
2198
+ * @param str - The security key
2199
+ * @returns 32 lowercase hex characters
2200
+ */
2201
+ HashSecuritySegment(str) {
2202
+ let h1 = 1779033703, h2 = 3144134277, h3 = 1013904242, h4 = 2773480762;
2203
+ for (let i = 0; i < str.length; i++) {
2204
+ const k = str.charCodeAt(i);
2205
+ h1 = h2 ^ Math.imul(h1 ^ k, 597399067);
2206
+ h2 = h3 ^ Math.imul(h2 ^ k, 2869860233);
2207
+ h3 = h4 ^ Math.imul(h3 ^ k, 951274213);
2208
+ h4 = h1 ^ Math.imul(h4 ^ k, 2716044179);
2209
+ }
2210
+ h1 = Math.imul(h3 ^ (h1 >>> 18), 597399067);
2211
+ h2 = Math.imul(h4 ^ (h2 >>> 22), 2869860233);
2212
+ h3 = Math.imul(h1 ^ (h3 >>> 17), 951274213);
2213
+ h4 = Math.imul(h2 ^ (h4 >>> 19), 2716044179);
2214
+ h1 ^= (h2 ^ h3 ^ h4);
2215
+ h2 ^= h1;
2216
+ h3 ^= h1;
2217
+ h4 ^= h1;
2218
+ return [h1, h2, h3, h4].map(h => (h >>> 0).toString(16).padStart(8, '0')).join('');
2219
+ }
2094
2220
  /**
2095
2221
  * Simple hash function for creating short fingerprints from strings.
2096
2222
  * Not cryptographic, just for deduplication/fingerprinting purposes.
@@ -2295,7 +2421,8 @@ export class LocalCacheManager extends BaseSingleton {
2295
2421
  maxUpdatedAt = coerced;
2296
2422
  }
2297
2423
  // Persist results, maxUpdatedAt, aggregateResults, totalRowCount, and schemaHash
2298
- const data = { results, maxUpdatedAt };
2424
+ const initialNow = Date.now();
2425
+ const data = { results, maxUpdatedAt, cachedAt: initialNow, lastVerifiedAt: initialNow };
2299
2426
  if (options?.ProviderInternalScaffolding) {
2300
2427
  // Persisted so event-driven in-place maintenance carries the exemption forward.
2301
2428
  data.providerInternalScaffolding = true;
@@ -2352,8 +2479,10 @@ export class LocalCacheManager extends BaseSingleton {
2352
2479
  await this.evictIfNeeded(sizeBytes);
2353
2480
  try {
2354
2481
  // Native object storage — IDB structured-clones, localStorage / Redis serialize internally.
2355
- const expiresAt = ttlMs ? Date.now() + ttlMs : undefined;
2482
+ const writeNow = Date.now();
2483
+ const expiresAt = ttlMs ? writeNow + ttlMs : undefined;
2356
2484
  await this._storageProvider.SetItem(fingerprint, data, CacheCategory.RunViewCache, this.runViewWriteOptions(fingerprint, expiresAt));
2485
+ this._lastVerifiedAt.set(fingerprint, writeNow);
2357
2486
  this.registerEntry({
2358
2487
  key: fingerprint,
2359
2488
  type: 'runview',
@@ -2367,8 +2496,9 @@ export class LocalCacheManager extends BaseSingleton {
2367
2496
  MaxRows: params.MaxRows,
2368
2497
  HasAggregates: (params.Aggregates?.length ?? 0) > 0
2369
2498
  },
2370
- cachedAt: Date.now(),
2371
- lastAccessedAt: Date.now(),
2499
+ cachedAt: writeNow,
2500
+ lastAccessedAt: writeNow,
2501
+ lastVerifiedAt: writeNow,
2372
2502
  accessCount: 1,
2373
2503
  sizeBytes,
2374
2504
  maxUpdatedAt,
@@ -2493,6 +2623,11 @@ export class LocalCacheManager extends BaseSingleton {
2493
2623
  this.indexSlotThisProcessDidNotWrite(fingerprint);
2494
2624
  this._stats.hits++;
2495
2625
  const results = parsed.results || [];
2626
+ const cachedAt = registryEntry?.cachedAt ?? parsed.cachedAt;
2627
+ const lastVerifiedAt = this._lastVerifiedAt.get(fingerprint)
2628
+ ?? registryEntry?.lastVerifiedAt
2629
+ ?? parsed.lastVerifiedAt
2630
+ ?? cachedAt;
2496
2631
  const result = {
2497
2632
  results,
2498
2633
  maxUpdatedAt: parsed.maxUpdatedAt,
@@ -2503,12 +2638,31 @@ export class LocalCacheManager extends BaseSingleton {
2503
2638
  schemaStamp: parsed.schemaStamp,
2504
2639
  // Same carry-forward rationale: a maintained scaffolding slot must stay exempt.
2505
2640
  providerInternalScaffolding: parsed.providerInternalScaffolding,
2641
+ cachedAt,
2642
+ lastVerifiedAt,
2506
2643
  };
2507
2644
  if (parsed.aggregateResults) {
2508
2645
  result.aggregateResults = parsed.aggregateResults;
2509
2646
  }
2510
2647
  return result;
2511
2648
  }
2649
+ /**
2650
+ * Updates the `lastVerifiedAt` timestamp for a cached RunView slot in O(1) time
2651
+ * without re-cloning, re-freezing, or rewriting its stored row array.
2652
+ *
2653
+ * Used by server-side smart-cache verification after a lightweight SQL status probe
2654
+ * (`MAX(__mj_UpdatedAt)`, `COUNT(*)`) confirms that a cached slot is still current.
2655
+ *
2656
+ * @param fingerprint - The cache fingerprint to touch
2657
+ * @param timestamp - Verification timestamp in epoch ms (defaults to `Date.now()`)
2658
+ */
2659
+ TouchRunViewResultVerifiedAt(fingerprint, timestamp = Date.now()) {
2660
+ this._lastVerifiedAt.set(fingerprint, timestamp);
2661
+ const entry = this._registry.get(fingerprint);
2662
+ if (entry) {
2663
+ entry.lastVerifiedAt = timestamp;
2664
+ }
2665
+ }
2512
2666
  /**
2513
2667
  * Records a slot this process READ, so a later save can still find it once it has expired.
2514
2668
  *
@@ -2669,11 +2823,16 @@ export class LocalCacheManager extends BaseSingleton {
2669
2823
  // Note: If aggregateResults not provided, cached aggregates are cleared (they'd be stale)
2670
2824
  await this.SetRunViewResult(fingerprint, params, mergedResults, newMaxUpdatedAt, aggregateResults, mergedTotalRowCount, provider);
2671
2825
  // Return with rowCount derived from merged results and aggregates if provided
2826
+ const verifiedNow = this._lastVerifiedAt.get(fingerprint) ?? Date.now();
2827
+ this._lastVerifiedAt.set(fingerprint, verifiedNow);
2828
+ const registryEntry = this._registry.get(fingerprint);
2672
2829
  const result = {
2673
2830
  results: mergedResults,
2674
2831
  maxUpdatedAt: newMaxUpdatedAt,
2675
2832
  rowCount: mergedResults.length,
2676
- totalRowCount: mergedTotalRowCount
2833
+ totalRowCount: mergedTotalRowCount,
2834
+ cachedAt: registryEntry?.cachedAt ?? verifiedNow,
2835
+ lastVerifiedAt: verifiedNow
2677
2836
  };
2678
2837
  if (aggregateResults) {
2679
2838
  result.aggregateResults = aggregateResults;
@@ -2851,9 +3010,13 @@ export class LocalCacheManager extends BaseSingleton {
2851
3010
  // reports for the same rows (the client smart-cache check compares the two). The caller's
2852
3011
  // value (the event time) is used only when the rows carry no timestamp column.
2853
3012
  const maxUpdatedAt = LocalCacheManager.MaxUpdatedAtOfRows(updatedResults) ?? newMaxUpdatedAt;
3013
+ const now = Date.now();
3014
+ const existingEntry = this._registry.get(fingerprint);
2854
3015
  const data = {
2855
3016
  results: updatedResults,
2856
- maxUpdatedAt
3017
+ maxUpdatedAt,
3018
+ cachedAt: existingEntry?.cachedAt ?? now,
3019
+ lastVerifiedAt: now
2857
3020
  };
2858
3021
  // Carry the schemaHash FORWARD — never recompute it here (B38).
2859
3022
  //
@@ -2895,13 +3058,14 @@ export class LocalCacheManager extends BaseSingleton {
2895
3058
  if (!prior?.providerInternalScaffolding) {
2896
3059
  this.freezeRowDataIfProviderSharesReferences(data);
2897
3060
  }
2898
- const existingEntry = this._registry.get(fingerprint);
2899
3061
  await this._storageProvider.SetItem(fingerprint, data, CacheCategory.RunViewCache, this.runViewWriteOptions(fingerprint, existingEntry?.expiresAt));
3062
+ this._lastVerifiedAt.set(fingerprint, now);
2900
3063
  if (existingEntry) {
2901
3064
  existingEntry.maxUpdatedAt = maxUpdatedAt;
2902
3065
  existingEntry.rowCount = updatedResults.length;
2903
3066
  existingEntry.sizeBytes = sizeBytes;
2904
- existingEntry.lastAccessedAt = Date.now();
3067
+ existingEntry.lastAccessedAt = now;
3068
+ existingEntry.lastVerifiedAt = now;
2905
3069
  this.debouncedPersistRegistry();
2906
3070
  }
2907
3071
  return true;
@@ -2924,6 +3088,7 @@ export class LocalCacheManager extends BaseSingleton {
2924
3088
  try {
2925
3089
  await this._storageProvider.Remove(key, CacheCategory.RunViewCache);
2926
3090
  this._registry.delete(key);
3091
+ this._lastVerifiedAt.delete(key);
2927
3092
  this.removeFromEntityIndex(key);
2928
3093
  }
2929
3094
  catch (e) {
@@ -3338,6 +3503,7 @@ export class LocalCacheManager extends BaseSingleton {
3338
3503
  await this._storageProvider.Remove(entry.key + '_date', category);
3339
3504
  }
3340
3505
  this._registry.delete(entry.key);
3506
+ this._lastVerifiedAt.delete(entry.key);
3341
3507
  }
3342
3508
  catch (e) {
3343
3509
  LogError(`LocalCacheManager.ClearByType failed for key ${entry.key}: ${e}`);
@@ -3368,6 +3534,7 @@ export class LocalCacheManager extends BaseSingleton {
3368
3534
  }
3369
3535
  }
3370
3536
  this._registry.clear();
3537
+ this._lastVerifiedAt.clear();
3371
3538
  this._stats = { hits: 0, misses: 0 };
3372
3539
  await this.persistRegistry();
3373
3540
  return count;
@@ -3418,6 +3585,7 @@ export class LocalCacheManager extends BaseSingleton {
3418
3585
  */
3419
3586
  unregisterEntry(key) {
3420
3587
  this._registry.delete(key);
3588
+ this._lastVerifiedAt.delete(key);
3421
3589
  this.debouncedPersistRegistry();
3422
3590
  }
3423
3591
  /**
@@ -3675,6 +3843,7 @@ export class LocalCacheManager extends BaseSingleton {
3675
3843
  this.removeFromEntityIndex(entry.fingerprint);
3676
3844
  }
3677
3845
  this._registry.delete(key);
3846
+ this._lastVerifiedAt.delete(key);
3678
3847
  }
3679
3848
  catch (e) {
3680
3849
  // Continue evicting other entries
@@ -3727,6 +3896,7 @@ export class LocalCacheManager extends BaseSingleton {
3727
3896
  this.removeFromEntityIndex(entry.key);
3728
3897
  bytesToFree -= entry.sizeBytes;
3729
3898
  this._registry.delete(entry.key);
3899
+ this._lastVerifiedAt.delete(entry.key);
3730
3900
  }
3731
3901
  catch {
3732
3902
  // Continue evicting
@@ -3831,6 +4001,7 @@ export class LocalCacheManager extends BaseSingleton {
3831
4001
  this.removeFromEntityIndex(entry.fingerprint);
3832
4002
  }
3833
4003
  this._registry.delete(key);
4004
+ this._lastVerifiedAt.delete(key);
3834
4005
  }
3835
4006
  }
3836
4007
  //# sourceMappingURL=localCacheManager.js.map