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

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 (99) hide show
  1. package/dist/generic/InMemoryLocalStorageProvider.d.ts +5 -0
  2. package/dist/generic/InMemoryLocalStorageProvider.d.ts.map +1 -1
  3. package/dist/generic/InMemoryLocalStorageProvider.js +5 -0
  4. package/dist/generic/InMemoryLocalStorageProvider.js.map +1 -1
  5. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts +27 -0
  6. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts.map +1 -1
  7. package/dist/generic/JSONType-interfaces/IEntityRelationshipConfiguration.d.ts +19 -0
  8. package/dist/generic/JSONType-interfaces/IEntityRelationshipConfiguration.d.ts.map +1 -1
  9. package/dist/generic/RegisterForStartup.d.ts +44 -0
  10. package/dist/generic/RegisterForStartup.d.ts.map +1 -1
  11. package/dist/generic/RegisterForStartup.js +124 -48
  12. package/dist/generic/RegisterForStartup.js.map +1 -1
  13. package/dist/generic/baseEngine.d.ts +214 -3
  14. package/dist/generic/baseEngine.d.ts.map +1 -1
  15. package/dist/generic/baseEngine.js +460 -34
  16. package/dist/generic/baseEngine.js.map +1 -1
  17. package/dist/generic/baseEngineSweeper.d.ts +35 -0
  18. package/dist/generic/baseEngineSweeper.d.ts.map +1 -0
  19. package/dist/generic/baseEngineSweeper.js +97 -0
  20. package/dist/generic/baseEngineSweeper.js.map +1 -0
  21. package/dist/generic/baseEntity.d.ts +91 -7
  22. package/dist/generic/baseEntity.d.ts.map +1 -1
  23. package/dist/generic/baseEntity.js +161 -16
  24. package/dist/generic/baseEntity.js.map +1 -1
  25. package/dist/generic/databaseProviderBase.d.ts +54 -11
  26. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  27. package/dist/generic/databaseProviderBase.js +129 -35
  28. package/dist/generic/databaseProviderBase.js.map +1 -1
  29. package/dist/generic/entityConfiguration.d.ts +20 -0
  30. package/dist/generic/entityConfiguration.d.ts.map +1 -1
  31. package/dist/generic/entityConfiguration.js +34 -0
  32. package/dist/generic/entityConfiguration.js.map +1 -1
  33. package/dist/generic/entityEventBatch.d.ts +124 -0
  34. package/dist/generic/entityEventBatch.d.ts.map +1 -0
  35. package/dist/generic/entityEventBatch.js +194 -0
  36. package/dist/generic/entityEventBatch.js.map +1 -0
  37. package/dist/generic/entityInfo.d.ts +57 -6
  38. package/dist/generic/entityInfo.d.ts.map +1 -1
  39. package/dist/generic/entityInfo.js +72 -7
  40. package/dist/generic/entityInfo.js.map +1 -1
  41. package/dist/generic/entityRecordNameCache.d.ts +48 -0
  42. package/dist/generic/entityRecordNameCache.d.ts.map +1 -0
  43. package/dist/generic/entityRecordNameCache.js +92 -0
  44. package/dist/generic/entityRecordNameCache.js.map +1 -0
  45. package/dist/generic/interfaces.d.ts +151 -8
  46. package/dist/generic/interfaces.d.ts.map +1 -1
  47. package/dist/generic/interfaces.js.map +1 -1
  48. package/dist/generic/jsonFieldBinding.d.ts +196 -0
  49. package/dist/generic/jsonFieldBinding.d.ts.map +1 -0
  50. package/dist/generic/jsonFieldBinding.js +508 -0
  51. package/dist/generic/jsonFieldBinding.js.map +1 -0
  52. package/dist/generic/localCacheManager.d.ts +278 -16
  53. package/dist/generic/localCacheManager.d.ts.map +1 -1
  54. package/dist/generic/localCacheManager.js +737 -113
  55. package/dist/generic/localCacheManager.js.map +1 -1
  56. package/dist/generic/logging.d.ts +15 -0
  57. package/dist/generic/logging.d.ts.map +1 -1
  58. package/dist/generic/logging.js +17 -0
  59. package/dist/generic/logging.js.map +1 -1
  60. package/dist/generic/metadata.d.ts +1 -1
  61. package/dist/generic/metadata.d.ts.map +1 -1
  62. package/dist/generic/metadata.js.map +1 -1
  63. package/dist/generic/providerBase.d.ts +252 -35
  64. package/dist/generic/providerBase.d.ts.map +1 -1
  65. package/dist/generic/providerBase.js +503 -189
  66. package/dist/generic/providerBase.js.map +1 -1
  67. package/dist/generic/runQuery.d.ts +18 -1
  68. package/dist/generic/runQuery.d.ts.map +1 -1
  69. package/dist/generic/runQuery.js.map +1 -1
  70. package/dist/generic/runQuerySQLFilterImplementations.d.ts +7 -1
  71. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
  72. package/dist/generic/runQuerySQLFilterImplementations.js +65 -140
  73. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
  74. package/dist/generic/securityInfo.d.ts +5 -0
  75. package/dist/generic/securityInfo.d.ts.map +1 -1
  76. package/dist/generic/securityInfo.js +5 -0
  77. package/dist/generic/securityInfo.js.map +1 -1
  78. package/dist/generic/telemetryManager.d.ts +11 -0
  79. package/dist/generic/telemetryManager.d.ts.map +1 -1
  80. package/dist/generic/telemetryManager.js +43 -0
  81. package/dist/generic/telemetryManager.js.map +1 -1
  82. package/dist/generic/transactionGroup.d.ts +27 -0
  83. package/dist/generic/transactionGroup.d.ts.map +1 -1
  84. package/dist/generic/transactionGroup.js +58 -5
  85. package/dist/generic/transactionGroup.js.map +1 -1
  86. package/dist/generic/util.d.ts +6 -0
  87. package/dist/generic/util.d.ts.map +1 -1
  88. package/dist/generic/util.js +20 -0
  89. package/dist/generic/util.js.map +1 -1
  90. package/dist/index.d.ts +3 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +3 -0
  93. package/dist/index.js.map +1 -1
  94. package/dist/views/runView.d.ts +24 -0
  95. package/dist/views/runView.d.ts.map +1 -1
  96. package/dist/views/runView.js +4 -0
  97. package/dist/views/runView.js.map +1 -1
  98. package/package.json +3 -3
  99. package/readme.md +29 -2
@@ -21,6 +21,11 @@ export declare class InMemoryLocalStorageProvider implements ILocalStorageProvid
21
21
  * {@link ILocalStorageProvider.SharesReferences}.
22
22
  */
23
23
  readonly SharesReferences = true;
24
+ /**
25
+ * `false` — a `Map` on the heap. Nothing written here survives the process, so there is never
26
+ * a second reader; see {@link ILocalStorageProvider.SupportsCrossProcessPersistence}.
27
+ */
28
+ readonly SupportsCrossProcessPersistence = false;
24
29
  /**
25
30
  * Gets or creates a category map
26
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryLocalStorageProvider.d.ts","sourceRoot":"","sources":["../../src/generic/InMemoryLocalStorageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IACrD,OAAO,CAAC,QAAQ,CAAgD;IAEhE;;;;OAIG;IACH,SAAgB,gBAAgB,QAAQ;IAExC;;OAEG;IACH,OAAO,CAAC,cAAc;IAUT,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAMvE,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAcxF,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAIpE"}
1
+ {"version":3,"file":"InMemoryLocalStorageProvider.d.ts","sourceRoot":"","sources":["../../src/generic/InMemoryLocalStorageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IACrD,OAAO,CAAC,QAAQ,CAAgD;IAEhE;;;;OAIG;IACH,SAAgB,gBAAgB,QAAQ;IAExC;;;OAGG;IACH,SAAgB,+BAA+B,SAAS;IAExD;;OAEG;IACH,OAAO,CAAC,cAAc;IAUT,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAMvE,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAcxF,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAIpE"}
@@ -20,6 +20,11 @@ export class InMemoryLocalStorageProvider {
20
20
  * {@link ILocalStorageProvider.SharesReferences}.
21
21
  */
22
22
  this.SharesReferences = true;
23
+ /**
24
+ * `false` — a `Map` on the heap. Nothing written here survives the process, so there is never
25
+ * a second reader; see {@link ILocalStorageProvider.SupportsCrossProcessPersistence}.
26
+ */
27
+ this.SupportsCrossProcessPersistence = false;
23
28
  }
24
29
  static { this.DEFAULT_CATEGORY = 'default'; }
25
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryLocalStorageProvider.js","sourceRoot":"","sources":["../../src/generic/InMemoryLocalStorageProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InMemoryLocalStorageProvider.js","sourceRoot":"","sources":["../../src/generic/InMemoryLocalStorageProvider.ts"],"names":[],"mappings":"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"}
@@ -123,6 +123,18 @@ export interface IEntityFormConfiguration {
123
123
  * `inclusion: 'Primary'` is never capped by this number.
124
124
  */
125
125
  PrimaryRelatedBudget?: number;
126
+ /**
127
+ * Default empty-section behaviour for this form's related sections when a
128
+ * relationship does not set `UI.whenEmpty` itself.
129
+ * `'show'` | `'hide'` | `'more'` — see `IEntityRelationshipUIConfiguration.whenEmpty`.
130
+ * Omit to treat as `'show'`.
131
+ */
132
+ RelatedWhenEmpty?: 'show' | 'hide' | 'more';
133
+ /**
134
+ * Default for prefetching related-section row counts (badges) when a
135
+ * relationship does not set `UI.showCount` itself. Omit to treat as `true`.
136
+ */
137
+ ShowRelatedCounts?: boolean;
126
138
  }
127
139
  /**
128
140
  * Configuration for record cloning at the entity level.
@@ -135,6 +147,13 @@ export interface IEntityCloneConfiguration {
135
147
  Enabled?: boolean;
136
148
  /** Hard refusal: this entity's rows are never created by the clone engine, as root or as child. Overrides every relationship policy. Use for audit, run, credential and metadata entities. */
137
149
  NotCloneable?: boolean;
150
+ /**
151
+ * Lets a NotCloneable entity's rows be copied after all, but only as children of a template copy: a
152
+ * clone run under a preset with `TemplateSourceField` whose source record has that flag set. Use for
153
+ * rows that are private to a person (conversations, dashboard preferences) and must never be copied
154
+ * from one user to another, yet belong in a template built to be copied.
155
+ */
156
+ CloneableFromTemplate?: boolean;
138
157
  /** Shown to users and returned in warnings when NotCloneable or Enabled=false. */
139
158
  NotCloneableReason?: string;
140
159
  /** Authorization name checked with ancestors. Default 'Clone Records'; resolved per §9.1. */
@@ -296,5 +315,13 @@ export interface IClonePreset {
296
315
  Relationships?: Record<string, {
297
316
  Policy: 'Deep' | 'Reference' | 'Skip';
298
317
  }>;
318
+ /**
319
+ * Makes this a template preset. Names a boolean field on the root entity; the preset is offered and
320
+ * applied only when the source record has it set (e.g. `IsTemplate` on `MJ: Users`), and the plan is
321
+ * blocked otherwise. A template preset may open edges the configuration Locks and copy children whose
322
+ * entity is `CloneableFromTemplate`: those protections keep a person's private records from being
323
+ * copied to someone else, which does not apply to a record built to be copied.
324
+ */
325
+ TemplateSourceField?: string;
299
326
  }
300
327
  //# sourceMappingURL=IEntityConfiguration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IEntityConfiguration.d.ts","sourceRoot":"","sources":["../../../src/generic/JSONType-interfaces/IEntityConfiguration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IEntityConfiguration.d.ts","sourceRoot":"","sources":["../../../src/generic/JSONType-interfaces/IEntityConfiguration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,EAAE,CAAC,EAAE,sBAAsB,CAAC;IAE5B;;;OAGG;IACH,WAAW,CAAC,EAAE,+BAA+B,CAAC;IAE9C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,yBAAyB,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;OAGG;IACH,IAAI,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACrC;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAE3C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAEjD;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAE5C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACtC,iDAAiD;IACjD,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8LAA8L;IAC9L,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6FAA6F;IAC7F,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/B,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,mNAAmN;IACnN,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACzD,uKAAuK;IACvK,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,gJAAgJ;IAChJ,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,gGAAgG;IAChG,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,uHAAuH;IACvH,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,2IAA2I;IAC3I,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IACnD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,EAAE,CAAC,EAAE;QACD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,oFAAoF;QACpF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;CACL;AAED,MAAM,WAAW,kBAAkB;IAC/B,iLAAiL;IACjL,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8HAA8H;IAC9H,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kLAAkL;IAClL,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;CACzD;AAED,MAAM,WAAW,gBAAgB;IAC7B,sIAAsI;IACtI,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gGAAgG;IAChG,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,+HAA+H;IAC/H,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gEAAgE;IAChE,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,oIAAoI;IACpI,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAC3B,qFAAqF;IACrF,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxG,oKAAoK;IACpK,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,6GAA6G;IAC7G,IAAI,EAAE,MAAM,CAAC;IACb,6KAA6K;IAC7K,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;IACzD,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0HAA0H;IAC1H,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,8IAA8I;AAC9I,MAAM,WAAW,gBAAgB;IAC7B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,oDAAoD;IACpD,MAAM,CAAC,EAAE,qBAAqB,GAAG,6BAA6B,CAAC;CAClE;AAED,MAAM,WAAW,wBAAwB;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACvC,4BAA4B;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yHAAyH;IACzH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yJAAyJ;IACzJ,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,kIAAkI;AAClI,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC7B,2GAA2G;IAC3G,aAAa,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACpC,2FAA2F;IAC3F,SAAS,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAChC,gIAAgI;IAChI,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,mIAAmI;IACnI,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IACzB,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC"}
@@ -76,6 +76,25 @@ export interface IEntityRelationshipUIConfiguration {
76
76
  * after lead contributions such as Overview). Omit = 0.
77
77
  */
78
78
  sortKey?: number;
79
+ /**
80
+ * What the parent form does with this section when it has 0 rows.
81
+ * Counts are fetched in one batched round trip when the record loads.
82
+ *
83
+ * - `'show'` — always show (use when users create the first row here).
84
+ * - `'hide'` — hide while empty. The "show empty fields" toolbar toggle reveals it.
85
+ * - `'more'` — move into the More folder while empty; returns to its normal
86
+ * placement once it has rows.
87
+ *
88
+ * Omit = inherit the parent entity's `UI.Form.RelatedWhenEmpty`, else `'show'`.
89
+ */
90
+ whenEmpty?: 'show' | 'hide' | 'more';
91
+ /**
92
+ * Prefetch this section's row count when the record loads and show it as a
93
+ * badge. Set `false` for known-expensive related entities.
94
+ *
95
+ * Omit = inherit the parent entity's `UI.Form.ShowRelatedCounts`, else `true`.
96
+ */
97
+ showCount?: boolean;
79
98
  }
80
99
  /**
81
100
  * Clone policy for rows of RelatedEntity that point at this entity through RelatedEntityJoinField.
@@ -1 +1 @@
1
- {"version":3,"file":"IEntityRelationshipConfiguration.d.ts","sourceRoot":"","sources":["../../../src/generic/JSONType-interfaces/IEntityRelationshipConfiguration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IEntityRelationshipConfiguration.d.ts","sourceRoot":"","sources":["../../../src/generic/JSONType-interfaces/IEntityRelationshipConfiguration.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { BaseSingleton } from "@memberjunction/global";
2
2
  import { UserInfo } from "./securityInfo.js";
3
3
  import { IMetadataProvider } from "./interfaces.js";
4
+ import type { LocalCacheManagerConfig } from "./localCacheManager.js";
4
5
  /**
5
6
  * Options for the @RegisterForStartup decorator
6
7
  */
@@ -166,7 +167,22 @@ export interface StartupOptions {
166
167
  * Not surfaced in user-facing configuration.
167
168
  */
168
169
  engineFilter?: (reg: StartupRegistration) => boolean;
170
+ /**
171
+ * Settings for `LocalCacheManager`. Applied whether or not startup is the first to initialize
172
+ * it — a database provider initializes the manager from inside its own `Config()`, so these
173
+ * settings usually arrive second and are merged on top (see `LocalCacheManager.Initialize`).
174
+ */
175
+ cacheManagerConfig?: Partial<LocalCacheManagerConfig>;
176
+ /**
177
+ * On a shared cache, servers starting at the same time load their engines one after another
178
+ * so only the first reads the database; the others find the cache warm (plan: cold-start
179
+ * herd). This is how long one server may hold the turn, in milliseconds, and how long the
180
+ * others wait for it. 0 turns the coordination off. Default: 30000.
181
+ */
182
+ warmupLeaseMs?: number;
169
183
  }
184
+ /** Name of the lease that orders engine warm-up across servers sharing a cache. */
185
+ export declare const STARTUP_WARMUP_LEASE = "startup-warmup";
170
186
  /**
171
187
  * Where the resolved startup mode came from, highest precedence first:
172
188
  * MJ_STARTUP_MODE env var > programmatic option > config file > caller default.
@@ -300,6 +316,34 @@ export declare class StartupManager extends BaseSingleton<StartupManager> {
300
316
  * Internal method that performs the actual startup loading work.
301
317
  */
302
318
  private executeLoad;
319
+ /**
320
+ * Loads the synchronous engines, priority group by priority group.
321
+ * @returns Every result so far, and the first fatal failure (loading stops there).
322
+ */
323
+ private loadSyncGroups;
324
+ /** Loads one registered engine and reports how it went. Never throws. */
325
+ private loadRegistration;
326
+ /** Logs non-fatal load failures at their declared severity ('silent' logs nothing). */
327
+ private logLoadFailures;
328
+ /**
329
+ * Keeps this server's warm-up turn alive while its engines load, re-claiming the lease every
330
+ * third of its TTL. Without it a slow cold-database load loses the turn mid-flight and every
331
+ * waiting server starts loading too.
332
+ */
333
+ private startWarmupRenewal;
334
+ /**
335
+ * How many lease TTLs a server waits for another server's warm-up before loading anyway. The
336
+ * holder renews while it loads, so this bounds a warm-up that is slow, not one that died.
337
+ */
338
+ static WarmupWaitLeaseMultiple: number;
339
+ /**
340
+ * Waits for this server's turn to warm its engines when other servers share the cache (plan:
341
+ * cold-start herd). The first server loads from the database and fills the shared cache; the
342
+ * ones that start alongside it wait, then load from the warm cache. On a private cache the turn
343
+ * is granted at once. A turn that is not granted within `leaseMs` is taken anyway.
344
+ * @returns True when this server holds the turn and must release it.
345
+ */
346
+ private takeWarmupTurn;
303
347
  /**
304
348
  * Completes a 'task'-mode startup: no registered engines execute (sync or
305
349
  * deferred); each lazy-loads on first touch via its own Config()/EnsureLoaded().
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterForStartup.d.ts","sourceRoot":"","sources":["../../src/generic/RegisterForStartup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegisterForStartup.d.ts","sourceRoot":"","sources":["../../src/generic/RegisterForStartup.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@ import { BaseSingleton } from "@memberjunction/global";
2
2
  import { Metadata } from "./metadata.js";
3
3
  import { LocalCacheManager } from "./localCacheManager.js";
4
4
  import { LogStatus, LogStatusEx } from "./logging.js";
5
+ /** Name of the lease that orders engine warm-up across servers sharing a cache. */
6
+ export const STARTUP_WARMUP_LEASE = 'startup-warmup';
7
+ const DEFAULT_WARMUP_LEASE_MS = 30000;
5
8
  const STARTUP_MODES = ['full', 'task'];
6
9
  /**
7
10
  * Environment variable for per-invocation startup-mode override,
@@ -208,7 +211,7 @@ export class StartupManager extends BaseSingleton {
208
211
  // Get the storage provider from the metadata provider (uses IndexedDB)
209
212
  const cacheStart = Date.now();
210
213
  const storageProvider = (provider ?? Metadata.Provider).LocalStorageProvider;
211
- await LocalCacheManager.Instance.Initialize(storageProvider);
214
+ await LocalCacheManager.Instance.Initialize(storageProvider, options?.cacheManagerConfig);
212
215
  LogStatusEx({ message: `LocalCacheManager initialized in ${Date.now() - cacheStart}ms`, verboseOnly: true });
213
216
  const startTime = Date.now();
214
217
  const allRegistrations = this.GetRegistrations();
@@ -227,56 +230,34 @@ export class StartupManager extends BaseSingleton {
227
230
  const syncRegistrations = activeRegistrations.filter(r => !r.options.deferred);
228
231
  const deferredRegistrations = activeRegistrations.filter(r => r.options.deferred);
229
232
  const groups = this.groupByPriority(syncRegistrations);
230
- const results = [];
231
- for (const group of groups) {
232
- const groupResults = await Promise.all(group.map(async (reg) => {
233
- const loadStart = Date.now();
234
- try {
235
- const instance = reg.getInstance();
236
- await instance.HandleStartup(contextUser, provider);
237
- reg.loadedAt = new Date();
238
- reg.loadDurationMs = Date.now() - loadStart;
239
- return {
240
- className: reg.constructor.name,
241
- success: true,
242
- durationMs: reg.loadDurationMs
243
- };
244
- }
245
- catch (error) {
246
- const durationMs = Date.now() - loadStart;
247
- return {
248
- className: reg.constructor.name,
249
- success: false,
250
- error: error,
251
- severity: reg.options.severity || 'error',
252
- durationMs
253
- };
254
- }
255
- }));
256
- results.push(...groupResults);
257
- // Check for fatal errors - stop immediately
258
- const fatal = groupResults.find(r => !r.success && r.severity === 'fatal');
259
- if (fatal) {
260
- return {
261
- success: false,
262
- results,
263
- totalDurationMs: Date.now() - startTime,
264
- fatalError: fatal.error
265
- };
233
+ const warmupLeaseMs = options?.warmupLeaseMs ?? DEFAULT_WARMUP_LEASE_MS;
234
+ const warmup = await this.takeWarmupTurn(warmupLeaseMs, syncRegistrations.length);
235
+ let loaded;
236
+ // The lease's TTL doubles as the maximum another server waits for it, so a holder that
237
+ // takes longer than the TTL to load its engines has already let the others through — the
238
+ // herd re-forms against a cold database, which is what the lease exists to prevent. Renew
239
+ // it while the load runs.
240
+ const renewal = warmup ? this.startWarmupRenewal(warmupLeaseMs) : null;
241
+ try {
242
+ loaded = await this.loadSyncGroups(groups, contextUser, provider);
243
+ }
244
+ finally {
245
+ if (renewal) {
246
+ clearInterval(renewal);
266
247
  }
267
- // Log non-fatal errors
268
- for (const result of groupResults) {
269
- if (!result.success) {
270
- if (result.severity === 'error') {
271
- console.error(`[StartupManager] Error loading ${result.className}:`, result.error);
272
- }
273
- else if (result.severity === 'warn') {
274
- console.warn(`[StartupManager] Warning loading ${result.className}:`, result.error);
275
- }
276
- // 'silent' - do nothing
277
- }
248
+ if (warmup) {
249
+ await LocalCacheManager.Instance.ReleaseSharedLease(STARTUP_WARMUP_LEASE);
278
250
  }
279
251
  }
252
+ const results = loaded.results;
253
+ if (loaded.fatal) {
254
+ return {
255
+ success: false,
256
+ results,
257
+ totalDurationMs: Date.now() - startTime,
258
+ fatalError: loaded.fatal.error
259
+ };
260
+ }
280
261
  this._loadCompleted = true;
281
262
  // Log per-engine timing summary so slow engines are visible
282
263
  const totalMs = Date.now() - startTime;
@@ -296,6 +277,101 @@ export class StartupManager extends BaseSingleton {
296
277
  totalDurationMs: totalMs
297
278
  };
298
279
  }
280
+ /**
281
+ * Loads the synchronous engines, priority group by priority group.
282
+ * @returns Every result so far, and the first fatal failure (loading stops there).
283
+ */
284
+ async loadSyncGroups(groups, contextUser, provider) {
285
+ const results = [];
286
+ for (const group of groups) {
287
+ const groupResults = await Promise.all(group.map(reg => this.loadRegistration(reg, contextUser, provider)));
288
+ results.push(...groupResults);
289
+ const fatal = groupResults.find(r => !r.success && r.severity === 'fatal');
290
+ if (fatal) {
291
+ return { results, fatal };
292
+ }
293
+ this.logLoadFailures(groupResults);
294
+ }
295
+ return { results };
296
+ }
297
+ /** Loads one registered engine and reports how it went. Never throws. */
298
+ async loadRegistration(reg, contextUser, provider) {
299
+ const loadStart = Date.now();
300
+ try {
301
+ const instance = reg.getInstance();
302
+ await instance.HandleStartup(contextUser, provider);
303
+ reg.loadedAt = new Date();
304
+ reg.loadDurationMs = Date.now() - loadStart;
305
+ return { className: reg.constructor.name, success: true, durationMs: reg.loadDurationMs };
306
+ }
307
+ catch (error) {
308
+ return {
309
+ className: reg.constructor.name,
310
+ success: false,
311
+ error: error,
312
+ severity: reg.options.severity || 'error',
313
+ durationMs: Date.now() - loadStart
314
+ };
315
+ }
316
+ }
317
+ /** Logs non-fatal load failures at their declared severity ('silent' logs nothing). */
318
+ logLoadFailures(groupResults) {
319
+ for (const result of groupResults) {
320
+ if (result.success) {
321
+ continue;
322
+ }
323
+ if (result.severity === 'error') {
324
+ console.error(`[StartupManager] Error loading ${result.className}:`, result.error);
325
+ }
326
+ else if (result.severity === 'warn') {
327
+ console.warn(`[StartupManager] Warning loading ${result.className}:`, result.error);
328
+ }
329
+ }
330
+ }
331
+ /**
332
+ * Keeps this server's warm-up turn alive while its engines load, re-claiming the lease every
333
+ * third of its TTL. Without it a slow cold-database load loses the turn mid-flight and every
334
+ * waiting server starts loading too.
335
+ */
336
+ startWarmupRenewal(leaseMs) {
337
+ const everyMs = Math.max(1000, Math.floor(leaseMs / 3));
338
+ const timer = setInterval(() => {
339
+ LocalCacheManager.Instance.RenewSharedLease(STARTUP_WARMUP_LEASE, leaseMs).catch(() => undefined);
340
+ }, everyMs);
341
+ if (typeof timer === 'object' && timer !== null && 'unref' in timer) {
342
+ timer.unref();
343
+ }
344
+ return timer;
345
+ }
346
+ /**
347
+ * How many lease TTLs a server waits for another server's warm-up before loading anyway. The
348
+ * holder renews while it loads, so this bounds a warm-up that is slow, not one that died.
349
+ */
350
+ static { this.WarmupWaitLeaseMultiple = 4; }
351
+ /**
352
+ * Waits for this server's turn to warm its engines when other servers share the cache (plan:
353
+ * cold-start herd). The first server loads from the database and fills the shared cache; the
354
+ * ones that start alongside it wait, then load from the warm cache. On a private cache the turn
355
+ * is granted at once. A turn that is not granted within `leaseMs` is taken anyway.
356
+ * @returns True when this server holds the turn and must release it.
357
+ */
358
+ async takeWarmupTurn(leaseMs, engineCount) {
359
+ if (leaseMs <= 0 || engineCount === 0) {
360
+ return false;
361
+ }
362
+ // The wait is deliberately LONGER than the lease: the lease's TTL is how long a dead holder
363
+ // blocks others, while the wait is how long a live one is given to finish. Tying them
364
+ // together (they were both `leaseMs`) meant every waiter gave up at the moment the holder
365
+ // renewed, so a warm-up slower than one TTL let the whole herd through at once. A holder
366
+ // that releases early is picked up on the next poll, so a longer bound costs nothing in the
367
+ // normal case.
368
+ const maxWaitMs = leaseMs * StartupManager.WarmupWaitLeaseMultiple;
369
+ const turn = await LocalCacheManager.Instance.WaitForSharedLease(STARTUP_WARMUP_LEASE, leaseMs, maxWaitMs);
370
+ if (turn.WaitedMs > 0) {
371
+ LogStatusEx({ message: `[StartupManager] waited ${turn.WaitedMs}ms for another server to warm the shared cache${turn.Acquired ? '' : ' (gave up waiting)'}`, verboseOnly: true });
372
+ }
373
+ return turn.Acquired;
374
+ }
299
375
  /**
300
376
  * Completes a 'task'-mode startup: no registered engines execute (sync or
301
377
  * deferred); each lazy-loads on first touch via its own Config()/EnsureLoaded().
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterForStartup.js","sourceRoot":"","sources":["../../src/generic/RegisterForStartup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegisterForStartup.js","sourceRoot":"","sources":["../../src/generic/RegisterForStartup.ts"],"names":[],"mappings":"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"}