@memberjunction/core 6.2.0-edge.4 → 6.2.0-edge.5
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.
- package/dist/generic/BaseEntitySaveQueue.d.ts +7 -0
- package/dist/generic/BaseEntitySaveQueue.d.ts.map +1 -1
- package/dist/generic/BaseEntitySaveQueue.js +22 -4
- package/dist/generic/BaseEntitySaveQueue.js.map +1 -1
- package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts +18 -0
- package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts.map +1 -1
- package/dist/generic/baseEngine.d.ts +29 -5
- package/dist/generic/baseEngine.d.ts.map +1 -1
- package/dist/generic/baseEngine.js +117 -11
- package/dist/generic/baseEngine.js.map +1 -1
- package/dist/generic/baseEntity.d.ts +45 -1
- package/dist/generic/baseEntity.d.ts.map +1 -1
- package/dist/generic/baseEntity.js +308 -187
- package/dist/generic/baseEntity.js.map +1 -1
- package/dist/generic/baseInfo.d.ts +31 -3
- package/dist/generic/baseInfo.d.ts.map +1 -1
- package/dist/generic/baseInfo.js +138 -40
- package/dist/generic/baseInfo.js.map +1 -1
- package/dist/generic/databaseProviderBase.d.ts +37 -8
- package/dist/generic/databaseProviderBase.d.ts.map +1 -1
- package/dist/generic/databaseProviderBase.js +162 -65
- package/dist/generic/databaseProviderBase.js.map +1 -1
- package/dist/generic/entityConfiguration.d.ts +8 -2
- package/dist/generic/entityConfiguration.d.ts.map +1 -1
- package/dist/generic/entityConfiguration.js +9 -0
- package/dist/generic/entityConfiguration.js.map +1 -1
- package/dist/generic/entityInfo.d.ts +78 -3
- package/dist/generic/entityInfo.d.ts.map +1 -1
- package/dist/generic/entityInfo.js +348 -55
- package/dist/generic/entityInfo.js.map +1 -1
- package/dist/generic/infoProviderResolution.d.ts +16 -0
- package/dist/generic/infoProviderResolution.d.ts.map +1 -0
- package/dist/generic/infoProviderResolution.js +17 -0
- package/dist/generic/infoProviderResolution.js.map +1 -0
- package/dist/generic/interfaces.d.ts +25 -1
- package/dist/generic/interfaces.d.ts.map +1 -1
- package/dist/generic/interfaces.js.map +1 -1
- package/dist/generic/localCacheManager.d.ts +238 -40
- package/dist/generic/localCacheManager.d.ts.map +1 -1
- package/dist/generic/localCacheManager.js +466 -71
- package/dist/generic/localCacheManager.js.map +1 -1
- package/dist/generic/mjapiUrl.d.ts +21 -0
- package/dist/generic/mjapiUrl.d.ts.map +1 -0
- package/dist/generic/mjapiUrl.js +25 -0
- package/dist/generic/mjapiUrl.js.map +1 -0
- package/dist/generic/providerBase.d.ts +118 -3
- package/dist/generic/providerBase.d.ts.map +1 -1
- package/dist/generic/providerBase.js +398 -100
- package/dist/generic/providerBase.js.map +1 -1
- package/dist/generic/queryInfo.d.ts +10 -9
- package/dist/generic/queryInfo.d.ts.map +1 -1
- package/dist/generic/queryInfo.js +60 -33
- package/dist/generic/queryInfo.js.map +1 -1
- package/dist/generic/scoring/ReciprocalRankFusion.d.ts.map +1 -1
- package/dist/generic/scoring/ReciprocalRankFusion.js +10 -3
- package/dist/generic/scoring/ReciprocalRankFusion.js.map +1 -1
- package/dist/generic/securityInfo.d.ts +6 -6
- package/dist/generic/securityInfo.d.ts.map +1 -1
- package/dist/generic/securityInfo.js +10 -10
- package/dist/generic/securityInfo.js.map +1 -1
- package/dist/generic/util.d.ts.map +1 -1
- package/dist/generic/util.js +3 -0
- package/dist/generic/util.js.map +1 -1
- package/dist/generic/wellKnownUserSource.d.ts +3 -2
- package/dist/generic/wellKnownUserSource.d.ts.map +1 -1
- package/dist/generic/wellKnownUserSource.js +18 -9
- package/dist/generic/wellKnownUserSource.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/readme.md +29 -4
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { SerialTaskFlushResult } from '@memberjunction/global';
|
|
10
10
|
import { BaseEntity } from './baseEntity.js';
|
|
11
|
+
import type { EntitySaveReturnMode } from './entityConfiguration.js';
|
|
11
12
|
/**
|
|
12
13
|
* A per-entity-instance serial save queue. INSERT and UPDATE of the same `BaseEntity` instance are
|
|
13
14
|
* serialized (the UPDATE waits for the INSERT to land); different entities save concurrently. All
|
|
@@ -18,13 +19,18 @@ import { BaseEntity } from './baseEntity.js';
|
|
|
18
19
|
export declare class BaseEntitySaveQueue {
|
|
19
20
|
private readonly queue;
|
|
20
21
|
private readonly onError?;
|
|
22
|
+
private readonly saveReturnMode?;
|
|
21
23
|
/**
|
|
22
24
|
* @param opts.onError Optional handler for a failed save's diagnostic message. Defaults to the
|
|
23
25
|
* global `LogError`. Consumers with structured logging (e.g. a category/metadata logger) pass
|
|
24
26
|
* their own so failures stay in their log stream.
|
|
27
|
+
* @param opts.saveReturnMode Optional {@link EntitySaveReturnMode} forwarded to every queued
|
|
28
|
+
* `entity.Save(options)` call (e.g. `'datestamps_only'` for high-write execution log queues
|
|
29
|
+
* whose wide JSON/text payload columns are already in memory).
|
|
25
30
|
*/
|
|
26
31
|
constructor(opts?: {
|
|
27
32
|
onError?: (message: string) => void;
|
|
33
|
+
saveReturnMode?: EntitySaveReturnMode;
|
|
28
34
|
});
|
|
29
35
|
/**
|
|
30
36
|
* Fire-and-forget INSERT of a freshly `NewRecord()`'d entity. The entity instance is the
|
|
@@ -44,6 +50,7 @@ export declare class BaseEntitySaveQueue {
|
|
|
44
50
|
* AND cannot race an in-flight INSERT.
|
|
45
51
|
*/
|
|
46
52
|
Update(entity: BaseEntity, applyMutation?: (entity: BaseEntity) => void): void;
|
|
53
|
+
private buildSaveOptions;
|
|
47
54
|
/** Awaits all pending saves and returns failure diagnostics. Call at the run/goal finalize boundary. */
|
|
48
55
|
Flush(): Promise<SerialTaskFlushResult>;
|
|
49
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntitySaveQueue.d.ts","sourceRoot":"","sources":["../../src/generic/BaseEntitySaveQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAwB,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseEntitySaveQueue.d.ts","sourceRoot":"","sources":["../../src/generic/BaseEntitySaveQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAwB,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIlE;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAuB;IAEvD;;;;;;;OAOG;gBACS,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,cAAc,CAAC,EAAE,oBAAoB,CAAA;KAAE;IAKjG;;;OAGG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAMvC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAMpE;;;;;OAKG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAMrF,OAAO,CAAC,gBAAgB;IAcxB,wGAAwG;IACjG,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAI9C;;;;OAIG;YACW,OAAO;IAgBrB,oGAAoG;IACpG,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,SAAS;CAGpB"}
|
|
@@ -21,10 +21,14 @@ export class BaseEntitySaveQueue {
|
|
|
21
21
|
* @param opts.onError Optional handler for a failed save's diagnostic message. Defaults to the
|
|
22
22
|
* global `LogError`. Consumers with structured logging (e.g. a category/metadata logger) pass
|
|
23
23
|
* their own so failures stay in their log stream.
|
|
24
|
+
* @param opts.saveReturnMode Optional {@link EntitySaveReturnMode} forwarded to every queued
|
|
25
|
+
* `entity.Save(options)` call (e.g. `'datestamps_only'` for high-write execution log queues
|
|
26
|
+
* whose wide JSON/text payload columns are already in memory).
|
|
24
27
|
*/
|
|
25
28
|
constructor(opts) {
|
|
26
29
|
this.queue = new KeyedSerialTaskQueue();
|
|
27
30
|
this.onError = opts?.onError;
|
|
31
|
+
this.saveReturnMode = opts?.saveReturnMode;
|
|
28
32
|
}
|
|
29
33
|
/**
|
|
30
34
|
* Fire-and-forget INSERT of a freshly `NewRecord()`'d entity. The entity instance is the
|
|
@@ -32,7 +36,8 @@ export class BaseEntitySaveQueue {
|
|
|
32
36
|
*/
|
|
33
37
|
Insert(entity) {
|
|
34
38
|
const label = this.labelFor('Insert', entity);
|
|
35
|
-
|
|
39
|
+
const options = this.buildSaveOptions(false);
|
|
40
|
+
void this.queue.enqueue(entity, () => this.runSave(entity, label, options), { isOk: (ok) => ok === true, label });
|
|
36
41
|
}
|
|
37
42
|
/**
|
|
38
43
|
* Fire-and-forget INSERT that waits for `dependency`'s pending tasks to settle first. Use this for
|
|
@@ -41,7 +46,8 @@ export class BaseEntitySaveQueue {
|
|
|
41
46
|
*/
|
|
42
47
|
InsertAfter(entity, dependency) {
|
|
43
48
|
const label = this.labelFor('Insert', entity);
|
|
44
|
-
|
|
49
|
+
const options = this.buildSaveOptions(false);
|
|
50
|
+
void this.queue.enqueue(entity, () => this.runSave(entity, label, options), { isOk: (ok) => ok === true, label, after: dependency });
|
|
45
51
|
}
|
|
46
52
|
/**
|
|
47
53
|
* Fire-and-forget UPDATE chained after the entity's INSERT. `applyMutation` (if given) runs INSIDE
|
|
@@ -51,10 +57,22 @@ export class BaseEntitySaveQueue {
|
|
|
51
57
|
*/
|
|
52
58
|
Update(entity, applyMutation) {
|
|
53
59
|
const label = this.labelFor('Update', entity);
|
|
54
|
-
const options =
|
|
55
|
-
options.IgnoreDirtyState = true;
|
|
60
|
+
const options = this.buildSaveOptions(true);
|
|
56
61
|
void this.queue.enqueue(entity, () => this.runSave(entity, label, options, applyMutation), { isOk: (ok) => ok === true, label });
|
|
57
62
|
}
|
|
63
|
+
buildSaveOptions(ignoreDirtyState) {
|
|
64
|
+
if (!ignoreDirtyState && !this.saveReturnMode) {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
const options = new EntitySaveOptions();
|
|
68
|
+
if (ignoreDirtyState) {
|
|
69
|
+
options.IgnoreDirtyState = true;
|
|
70
|
+
}
|
|
71
|
+
if (this.saveReturnMode) {
|
|
72
|
+
options.SaveReturnMode = this.saveReturnMode;
|
|
73
|
+
}
|
|
74
|
+
return options;
|
|
75
|
+
}
|
|
58
76
|
/** Awaits all pending saves and returns failure diagnostics. Call at the run/goal finalize boundary. */
|
|
59
77
|
Flush() {
|
|
60
78
|
return this.queue.flush();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntitySaveQueue.js","sourceRoot":"","sources":["../../src/generic/BaseEntitySaveQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAyB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseEntitySaveQueue.js","sourceRoot":"","sources":["../../src/generic/BaseEntitySaveQueue.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,17 @@
|
|
|
20
20
|
*
|
|
21
21
|
* @see guides/FORMS_ARCHITECTURE_GUIDE.md §7d
|
|
22
22
|
*/
|
|
23
|
+
/**
|
|
24
|
+
* Controls which columns a save operation (`spCreate` / `spUpdate` and provider save wrappers)
|
|
25
|
+
* returns from the database:
|
|
26
|
+
* - `'full'` (default): Re-queries `SELECT * FROM <BaseView>` after `INSERT`/`UPDATE` so all
|
|
27
|
+
* columns (including virtual/joined columns) are returned from the database.
|
|
28
|
+
* - `'datestamps_only'`: Returns only the primary key column(s) plus `__mj_CreatedAt` and
|
|
29
|
+
* `__mj_UpdatedAt` (when present on the entity) directly from `<BaseTable>`, avoiding the
|
|
30
|
+
* expensive `BaseView` JOINs and large column reads while still returning exact DB-generated
|
|
31
|
+
* keys and timestamps for optimistic concurrency / inconsistency checks.
|
|
32
|
+
*/
|
|
33
|
+
export type EntitySaveReturnMode = 'full' | 'datestamps_only';
|
|
23
34
|
export interface IEntityConfiguration {
|
|
24
35
|
/**
|
|
25
36
|
* Presentation / chrome. Null = host defaults (`Layout: auto`,
|
|
@@ -38,6 +49,13 @@ export interface IEntityConfiguration {
|
|
|
38
49
|
* policy says Deep, unless NotCloneable is true.
|
|
39
50
|
*/
|
|
40
51
|
Clone?: IEntityCloneConfiguration;
|
|
52
|
+
/**
|
|
53
|
+
* Controls which columns a save operation (`spCreate` / `spUpdate`) returns from the database.
|
|
54
|
+
* - `'full'` (default when omitted): Re-queries `SELECT * FROM <BaseView>` after `INSERT`/`UPDATE`.
|
|
55
|
+
* - `'datestamps_only'`: Selects only the primary key(s) and `__mj_CreatedAt`/`__mj_UpdatedAt`
|
|
56
|
+
* directly from `<BaseTable>`, preserving in-memory field values on the saved entity.
|
|
57
|
+
*/
|
|
58
|
+
SaveReturnMode?: EntitySaveReturnMode;
|
|
41
59
|
}
|
|
42
60
|
/**
|
|
43
61
|
* Configuration for entity-level file attachments.
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"IEntityConfiguration.d.ts","sourceRoot":"","sources":["../../../src/generic/JSONType-interfaces/IEntityConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,11 +68,8 @@ export declare class BaseEnginePropertyConfig extends BaseInfo {
|
|
|
68
68
|
DebounceTime?: number;
|
|
69
69
|
/**
|
|
70
70
|
* When set to true, the engine will use the LocalCacheManager to cache results locally.
|
|
71
|
-
* On subsequent loads (unless forceRefresh is true), cached results will be
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* This is useful for frequently-accessed, relatively-static data that doesn't need
|
|
75
|
-
* real-time freshness. The cache is automatically invalidated when entity data changes.
|
|
71
|
+
* On subsequent loads (unless forceRefresh is true), cached results will be validated
|
|
72
|
+
* via smart cache check and returned from local storage if still current.
|
|
76
73
|
*
|
|
77
74
|
* @default false
|
|
78
75
|
*/
|
|
@@ -327,6 +324,12 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
|
|
|
327
324
|
* reconciles it. Keyed by config PropertyName. See {@link beginConfigRefresh}.
|
|
328
325
|
*/
|
|
329
326
|
private _configRefreshGeneration;
|
|
327
|
+
/**
|
|
328
|
+
* Reloads started by {@link OnExternalCacheChange}, keyed by config PropertyName. While one is
|
|
329
|
+
* running, further events for that property set `Again` instead of starting another, so a
|
|
330
|
+
* burst of peer events costs at most two reloads per property. See {@link reloadAfterExternalChange}.
|
|
331
|
+
*/
|
|
332
|
+
private _externalChangeReloads;
|
|
330
333
|
/**
|
|
331
334
|
* Returns an Observable for a specific engine array property. Subscribers receive the
|
|
332
335
|
* current array immediately (BehaviorSubject semantics), then re-receive the same array
|
|
@@ -868,6 +871,12 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
|
|
|
868
871
|
* @returns The original configs array (all permissions pass) or an empty array (any denied)
|
|
869
872
|
*/
|
|
870
873
|
protected CheckPermissionsOrSkipAll(configs: BaseEnginePropertyConfig[], contextUser: UserInfo): BaseEnginePropertyConfig[];
|
|
874
|
+
/**
|
|
875
|
+
* Returns entity names among `configs` that do not exist in the loaded metadata provider.
|
|
876
|
+
* Only checks when the metadata provider actually has entities loaded (`md.Entities.length > 0`)
|
|
877
|
+
* so unit tests with empty mock providers are unaffected.
|
|
878
|
+
*/
|
|
879
|
+
private findMissingEntities;
|
|
871
880
|
/** The entity names among `configs` that `user` cannot read, per current metadata. */
|
|
872
881
|
private findUnreadableEntities;
|
|
873
882
|
/**
|
|
@@ -999,6 +1008,21 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
|
|
|
999
1008
|
* @param event - The cache change event from the other server
|
|
1000
1009
|
*/
|
|
1001
1010
|
protected OnExternalCacheChange(config: BaseEnginePropertyConfig, event: CacheChangedEvent): Promise<void>;
|
|
1011
|
+
/**
|
|
1012
|
+
* True when a cache-change payload carries a schema hash and it differs from this engine's
|
|
1013
|
+
* hash for the config's entity. A payload without a hash, or an entity this process cannot
|
|
1014
|
+
* resolve, does not count as differing.
|
|
1015
|
+
*/
|
|
1016
|
+
private payloadSchemaDiffers;
|
|
1017
|
+
/**
|
|
1018
|
+
* Reloads a config after a peer's cache change, coalescing overlapping requests: an event that
|
|
1019
|
+
* arrives while a reload for the same property is running asks for one more reload after it
|
|
1020
|
+
* instead of starting its own. Every caller's promise settles only after a reload that began
|
|
1021
|
+
* after its event, so no change is missed, but N events in a burst cost at most two reloads.
|
|
1022
|
+
*/
|
|
1023
|
+
private reloadAfterExternalChange;
|
|
1024
|
+
/** Runs reloads for {@link reloadAfterExternalChange} until no further event asked for one. */
|
|
1025
|
+
private runExternalChangeReloads;
|
|
1002
1026
|
/**
|
|
1003
1027
|
* True when `payloadRows` are the same row versions this config currently holds: the same
|
|
1004
1028
|
* number of rows, and the same multiset of (primary key, `__mj_UpdatedAt`) pairs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAqC,MAAM,wBAAwB,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,UAAU,EAAW,MAAM,MAAM,CAAC;AAG5D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAW,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAI1D,OAAO,EAAE,qBAAqB,EAAqB,iBAAiB,EAAE,gBAAgB,EAAuC,aAAa,EAAE,MAAM,cAAc,CAAC;AACjK,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAqB,MAAM,qBAAqB,CAAC;AAK3E;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,QAAQ;IAClD;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAY;IACtC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC7C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,iBAAiB,GAAG,uBAAuB,CAAqB;IACxF;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAQ;IAC7B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAS;IAE7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;IAEvD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;gBAE5B,IAAI,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC;CAMvD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,MAAM,EAAE,wBAAwB,CAAC;IACjC;;;;;;OAMG;IACH,UAAU,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpD;;OAEG;IACH,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAC5B;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;CAAE,GAC7D;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE3B;;;;GAIG;AACH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;OAIG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAkCD;;;;;;;GAOG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACjD,kEAAkE;IAClE,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,wCAAwC;IACxC,SAAgB,cAAc,EAAE,MAAM,EAAE,CAAC;gBAE7B,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;CAU3D;AAUD,8BAAsB,UAAU,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAE,YAAW,YAAY;IAChF,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,eAAe,CAAiE;IACxF,OAAO,CAAC,YAAY,CAAW;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,eAAe,CAAoD;IAC3E,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,oBAAoB,CAAoD;IAChF,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,yBAAyB,CAAsB;IAEvD;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAoC;IAEhE;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpE,OAAO,CAAC,iBAAiB,CAAyD;IAClF,OAAO,CAAC,wBAAwB,CAAkB;IAClD,OAAO,CAAC,kBAAkB,CAAgB;IAC1C;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB,CAAkC;IAElE;;;;OAIG;IACH,OAAO,CAAC,sBAAsB,CAAgD;IAE9E;;;;;;;;;OASG;IACI,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IAUnF;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAOxD;;OAEG;;IAKH;;;;;;;;;;;;;;;;OAgBG;IACH,IAAW,WAAW,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAE1D;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,gBAAgB,CACtB,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,OAAO,EAAE,EACf,UAAU,GAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAoB,EAC/D,cAAc,CAAC,EAAE,UAAU,GAC5B,IAAI;IAUP;;;;;OAKG;IACH,IAAW,uBAAuB,IAAI,OAAO,CAE5C;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC,EAAE;IAWrD;;;OAGG;IACI,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAKrE;;;OAGG;IACH,IAAW,6BAA6B,IAAI,MAAM,EAAE,CAEnD;IAED;;;;;;;;;;OAUG;IACH,SAAS,KAAK,uBAAuB,IAAI,QAAQ,GAAG,eAAe,CAElE;IAED;;;;OAIG;IACU,aAAa,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/F;;OAEG;IACH,IAAW,aAAa,IAAI,iBAAiB,CAE5C;IAGD;;;OAGG;IACH,IAAW,oBAAoB,IAAI,gBAAgB,CAElD;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,wBAAwB,EAAE,CAG/C;IAED;;;;;;OAMG;IACH,IAAW,eAAe,IAAI,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAE9E;IAED;;;;;;OAMG;aACa,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAEtH;;;;;;;;;;;;;;;;OAgBG;IACU,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAStE;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,YAAY,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9F;;;;;;OAMG;cACa,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,GAAE,OAAe,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgFrK;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAA0B;IAElE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;cACa,kBAAkB,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCpF;;;;;;;;;;;;;;;2EAeuE;IACvE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA8D;IAE/F;;;;;OAKG;WACW,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAiB9H;;;;;OAKG;WACW,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIpE;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,iBAAiB;IAYjD,SAAS,CAAC,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB;IAiBjE,OAAO,CAAC,cAAc,CAAsB;IAC5C;;;;OAIG;cACa,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAe5D;;;;;;OAMG;cACa,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAUvE;;;;;;;;OAQG;cACa,+BAA+B,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAsEzF;;;;;;;;OAQG;cACa,2BAA2B,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAgErF;;;;;;OAMG;cACa,qBAAqB,CACjC,eAAe,EAAE,wBAAwB,EAAE,EAC3C,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IA2CnB;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CACvB,eAAe,EAAE,wBAAwB,EAAE,EAC3C,oBAAoB,EAAE,MAAM,GAC7B,OAAO;IAiCV;;;;;;;;;;;;;;OAcG;cACa,iCAAiC,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC3F,OAAO,CAAC,wBAAwB,CAAgB;IAChD;;;;;;;OAOG;IACH,SAAS,KAAK,uBAAuB,IAAI,MAAM,CAE9C;IAED;;;;;OAKG;cACa,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;cACa,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D7E;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,wBAAwB,EAAE,KAAK,EAAE,eAAe,GAAG,sBAAsB;IAkBlH;;;;;;;OAOG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO;IAQ/F;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAQ7I;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,4BAA4B,CAClC,MAAM,EAAE,wBAAwB,EAChC,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,EACvC,MAAM,EAAE,UAAU,GACnB,IAAI;IAgBP;;;;;OAKG;IACH,SAAS,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAIjE,OAAO,CAAC,wBAAwB,CAAyD;IAEzF;;;OAGG;IACH,SAAS,KAAK,sBAAsB,IAAI,MAAM,CAE7C;IAED;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA8B5F;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,EAAE,0BAA0B,GAAE,OAAe,GAAG,OAAO;IAoCzH;;;;;OAKG;IACH,SAAS,CAAC,4BAA4B,IAAI,OAAO;IAUjD;;;;;;;;;;;OAWG;cACa,sBAAsB,CAAC,MAAM,EAAE,wBAAwB,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA2F/G;;;;OAIG;cACa,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAmBrH;;;;;;;;;OASG;cACa,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkEhH;;;;;;;OAOG;IACH,SAAS,CAAC,4BAA4B,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,UAAU,GAAG,MAAM;IAiCjG;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,wBAAwB;IAQnE;;;;;;OAMG;cACa,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7I;;;;;;;;;;OAUG;IACH,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,wBAAwB,EAAE;IAgE3H;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAe3B,sFAAsF;IACtF,OAAO,CAAC,sBAAsB;IAe9B;;;;;OAKG;cACa,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAE,OAAe,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrK;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAM1D;;;;;OAKG;IACH,SAAS,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAIlF;;;OAGG;IACH,SAAS,CAAC,gCAAgC,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO;IAOrF;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,2BAA2B,CAAC,MAAM,EAAE,wBAAwB,EAAE,WAAW,GAAE,OAAe,GAAG,aAAa;IAkBpH;;;;;OAKG;cACa,sBAAsB,CAAC,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAE,OAAe,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3K;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,QAAQ;IAmChH;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO;IAmBpH;;;;;OAKG;IACH,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI;IAQvE;;;;;OAKG;cACa,yBAAyB,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BlJ;;;;;;;OAOG;cACa,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAmE7I;;;;;;;;;;OAUG;IACH,SAAS,CAAC,4BAA4B,CAAC,aAAa,EAAE,wBAAwB,EAAE,GAAG,IAAI;IAuBvF,+FAA+F;IAC/F,OAAO,CAAC,6BAA6B,CAA2C;IAEhF;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAepC;;;;;;;;;OASG;cACa,qBAAqB,CACjC,MAAM,EAAE,wBAAwB,EAChC,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAgFhB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAYjC,+FAA+F;YACjF,wBAAwB;IAiBtC;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO;IAUxH,OAAO,CAAC,eAAe;IAsBvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAkBtB;;;;;;;;;;;;;;;OAeG;IACU,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAoB/D;;;;;;;;OAQG;IACI,mBAAmB,IAAI,OAAO;IAIrC,4FAA4F;IAC5F,OAAO,CAAC,gBAAgB;IAUxB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,6BAA6B;IAOrC,2EAA2E;IAC3E,OAAO,CAAC,YAAY;IAgBpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,qBAAqB;IAuB7B,gGAAgG;YAClF,kBAAkB;IAoBhC;;;;OAIG;YACW,eAAe;IAmB7B,qGAAqG;IACrG,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM;IAMrE;;;;OAIG;IACI,cAAc,IAAI,iBAAiB;IAe1C;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIzD,OAAO,CAAC,iBAAiB;IA2BzB;;;;;;;;;;;;;OAaG;YACW,yBAAyB;IAgBvC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;OAIG;IACU,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtG;;;OAGG;IACI,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAUtD;;;;;;;;;;OAUG;IACU,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7D;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7C;;;OAGG;cACa,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ;IAIxD;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;;;OAIG;IACI,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAKhE;;;OAGG;IACH,IAAW,+BAA+B,IAAI,OAAO,CAMpD;IAED;;;;;OAKG;IACH,IAAW,cAAc,IAAI,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAEnE;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,eAAe,CAAC,OAAO,CAAC,CAEpD;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAW,WAAW,IAAI,QAAQ,CAEjC;IAED;;OAEG;IACH,SAAS,CAAC,mBAAmB;CAIhC"}
|
|
@@ -39,6 +39,14 @@ export class BaseEnginePropertyConfig extends BaseInfo {
|
|
|
39
39
|
* environment, and the same is true for MJAPI/Server based environments. If you need network based notification, additional infrastructure will be needed to implement that.
|
|
40
40
|
*/
|
|
41
41
|
this.AutoRefresh = true;
|
|
42
|
+
/**
|
|
43
|
+
* When set to true, the engine will use the LocalCacheManager to cache results locally.
|
|
44
|
+
* On subsequent loads (unless forceRefresh is true), cached results will be validated
|
|
45
|
+
* via smart cache check and returned from local storage if still current.
|
|
46
|
+
*
|
|
47
|
+
* @default false
|
|
48
|
+
*/
|
|
49
|
+
this.CacheLocal = false;
|
|
42
50
|
// now copy the values from init to this object
|
|
43
51
|
if (init)
|
|
44
52
|
Object.assign(this, init);
|
|
@@ -190,6 +198,12 @@ export class BaseEngine extends BaseSingleton {
|
|
|
190
198
|
* reconciles it. Keyed by config PropertyName. See {@link beginConfigRefresh}.
|
|
191
199
|
*/
|
|
192
200
|
this._configRefreshGeneration = new Map();
|
|
201
|
+
/**
|
|
202
|
+
* Reloads started by {@link OnExternalCacheChange}, keyed by config PropertyName. While one is
|
|
203
|
+
* running, further events for that property set `Again` instead of starting another, so a
|
|
204
|
+
* burst of peer events costs at most two reloads per property. See {@link reloadAfterExternalChange}.
|
|
205
|
+
*/
|
|
206
|
+
this._externalChangeReloads = new Map();
|
|
193
207
|
this._entityEventDebounceTime = 1500; // Default debounce time in milliseconds (1.5 seconds)
|
|
194
208
|
this._eventRefreshRetryTimers = new Map();
|
|
195
209
|
/** Configs waiting for the cache manager to initialize before their callbacks can register. */
|
|
@@ -659,7 +673,7 @@ export class BaseEngine extends BaseSingleton {
|
|
|
659
673
|
}
|
|
660
674
|
if (event.type === 'delete' || event.type === 'save') {
|
|
661
675
|
const eName = event.baseEntity.EntityInfo.Name.toLowerCase().trim();
|
|
662
|
-
const matchingConfigs = this.
|
|
676
|
+
const matchingConfigs = this._metadataConfigs.filter((config) => {
|
|
663
677
|
return config.AutoRefresh && config.EntityName && config.EntityName.trim().toLowerCase() === eName;
|
|
664
678
|
});
|
|
665
679
|
if (matchingConfigs.length === 0) {
|
|
@@ -726,7 +740,7 @@ export class BaseEngine extends BaseSingleton {
|
|
|
726
740
|
if (!entityName) {
|
|
727
741
|
return true; // No entity name, nothing to do
|
|
728
742
|
}
|
|
729
|
-
const matchingConfigs = this.
|
|
743
|
+
const matchingConfigs = this._metadataConfigs.filter((config) => {
|
|
730
744
|
return config.AutoRefresh && config.EntityName && config.EntityName.trim().toLowerCase() === entityName;
|
|
731
745
|
});
|
|
732
746
|
if (matchingConfigs.length === 0) {
|
|
@@ -875,7 +889,7 @@ export class BaseEngine extends BaseSingleton {
|
|
|
875
889
|
const entityName = event.baseEntity.EntityInfo.Name.toLowerCase().trim();
|
|
876
890
|
if (!this._entityEventSubjects.has(entityName)) {
|
|
877
891
|
// Find matching config to get custom debounce time
|
|
878
|
-
const matchingConfig = this.
|
|
892
|
+
const matchingConfig = this._metadataConfigs.find(c => c.EntityName?.trim().toLowerCase() === entityName);
|
|
879
893
|
// Use config-specific debounce time or fall back to default
|
|
880
894
|
const debounceTimeValue = matchingConfig?.DebounceTime ?? this.EntityEventDebounceTime;
|
|
881
895
|
const subject = new Subject();
|
|
@@ -947,7 +961,7 @@ export class BaseEngine extends BaseSingleton {
|
|
|
947
961
|
try {
|
|
948
962
|
const entityName = events[0].baseEntity.EntityInfo.Name.toLowerCase().trim();
|
|
949
963
|
let refreshCount = 0;
|
|
950
|
-
for (const config of this.
|
|
964
|
+
for (const config of this._metadataConfigs) {
|
|
951
965
|
if (config.AutoRefresh && config.Type === 'entity' && config.EntityName?.trim().toLowerCase() === entityName) {
|
|
952
966
|
const classified = events.map(e => ({ event: e, disposition: this.classifyEventForConfig(config, e) }));
|
|
953
967
|
const needingWork = classified.filter(c => c.disposition.action === 'refresh');
|
|
@@ -1508,6 +1522,29 @@ export class BaseEngine extends BaseSingleton {
|
|
|
1508
1522
|
CheckPermissionsOrSkipAll(configs, contextUser) {
|
|
1509
1523
|
if (configs.length === 0)
|
|
1510
1524
|
return configs;
|
|
1525
|
+
// First check whether any configured entity is missing from metadata altogether
|
|
1526
|
+
// (e.g., an optional OpenApp engine registered in the bundle whose database schema
|
|
1527
|
+
// is not installed in the target environment). Skip cleanly instead of firing N
|
|
1528
|
+
// guaranteed-to-fail RunView calls and logging N error stack traces at startup.
|
|
1529
|
+
const missingEntities = this.findMissingEntities(configs);
|
|
1530
|
+
if (missingEntities.length > 0) {
|
|
1531
|
+
LogStatusEx({
|
|
1532
|
+
message: `${this.constructor.name}: Skipping ${configs.length} entity config(s) — entity metadata not installed for: ${missingEntities.join(', ')}`,
|
|
1533
|
+
verboseOnly: true,
|
|
1534
|
+
category: 'Cache',
|
|
1535
|
+
});
|
|
1536
|
+
for (const config of configs) {
|
|
1537
|
+
if (config.AddToObject !== false) {
|
|
1538
|
+
this[config.PropertyName] = [];
|
|
1539
|
+
}
|
|
1540
|
+
this._dataMap.set(config.PropertyName, {
|
|
1541
|
+
entityName: config.EntityName,
|
|
1542
|
+
data: [],
|
|
1543
|
+
loadedSuccessfully: true,
|
|
1544
|
+
});
|
|
1545
|
+
}
|
|
1546
|
+
return [];
|
|
1547
|
+
}
|
|
1511
1548
|
// Determine the user to check permissions for — on the client side contextUser
|
|
1512
1549
|
// may be undefined, so fall back to the current logged-in user from Metadata.
|
|
1513
1550
|
const user = contextUser || this.ProviderToUse?.CurrentUser;
|
|
@@ -1537,6 +1574,26 @@ export class BaseEngine extends BaseSingleton {
|
|
|
1537
1574
|
}
|
|
1538
1575
|
return configs;
|
|
1539
1576
|
}
|
|
1577
|
+
/**
|
|
1578
|
+
* Returns entity names among `configs` that do not exist in the loaded metadata provider.
|
|
1579
|
+
* Only checks when the metadata provider actually has entities loaded (`md.Entities.length > 0`)
|
|
1580
|
+
* so unit tests with empty mock providers are unaffected.
|
|
1581
|
+
*/
|
|
1582
|
+
findMissingEntities(configs) {
|
|
1583
|
+
const md = this.ProviderToUse;
|
|
1584
|
+
if (!md?.Entities || md.Entities.length === 0) {
|
|
1585
|
+
return [];
|
|
1586
|
+
}
|
|
1587
|
+
const missing = [];
|
|
1588
|
+
for (const config of configs) {
|
|
1589
|
+
if (!config.EntityName)
|
|
1590
|
+
continue;
|
|
1591
|
+
if (!md.EntityByName(config.EntityName)) {
|
|
1592
|
+
missing.push(config.EntityName);
|
|
1593
|
+
}
|
|
1594
|
+
}
|
|
1595
|
+
return missing;
|
|
1596
|
+
}
|
|
1540
1597
|
/** The entity names among `configs` that `user` cannot read, per current metadata. */
|
|
1541
1598
|
findUnreadableEntities(configs, user) {
|
|
1542
1599
|
const md = this.ProviderToUse;
|
|
@@ -1925,6 +1982,14 @@ export class BaseEngine extends BaseSingleton {
|
|
|
1925
1982
|
LogStatusEx({ message: `BaseEngine.OnExternalCacheChange: '${config.PropertyName}' already holds the payload's rows — skipped`, verboseOnly: true });
|
|
1926
1983
|
return;
|
|
1927
1984
|
}
|
|
1985
|
+
// Rows written under a different field list (a server on the other side of a
|
|
1986
|
+
// migration) lack columns this process has, or carry ones it does not. Loading
|
|
1987
|
+
// them would blank the missing columns on every row, so read the rows instead.
|
|
1988
|
+
if (this.payloadSchemaDiffers(config, parsed.schemaHash)) {
|
|
1989
|
+
LogStatusEx({ message: `BaseEngine.OnExternalCacheChange: payload for '${config.PropertyName}' was written under a different schema — reloading instead`, verboseOnly: true });
|
|
1990
|
+
await this.reloadAfterExternalChange(config);
|
|
1991
|
+
return;
|
|
1992
|
+
}
|
|
1928
1993
|
// Claim a refresh generation BEFORE the awaited materialization — the same
|
|
1929
1994
|
// protocol LoadSingleConfig uses around its awaited RunView. Without it, two
|
|
1930
1995
|
// overlapping cache events (or an event racing a full reload) can resolve out
|
|
@@ -1977,13 +2042,54 @@ export class BaseEngine extends BaseSingleton {
|
|
|
1977
2042
|
LogWarning(`BaseEngine.OnExternalCacheChange: payload for '${config.PropertyName}' could not be applied (${e instanceof Error ? e.message : String(e)}) — falling back to full reload`, 'Cache');
|
|
1978
2043
|
}
|
|
1979
2044
|
}
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
2045
|
+
await this.reloadAfterExternalChange(config);
|
|
2046
|
+
}
|
|
2047
|
+
/**
|
|
2048
|
+
* True when a cache-change payload carries a schema hash and it differs from this engine's
|
|
2049
|
+
* hash for the config's entity. A payload without a hash, or an entity this process cannot
|
|
2050
|
+
* resolve, does not count as differing.
|
|
2051
|
+
*/
|
|
2052
|
+
payloadSchemaDiffers(config, payloadSchemaHash) {
|
|
2053
|
+
if (typeof payloadSchemaHash !== 'string' || !payloadSchemaHash || !config.EntityName) {
|
|
2054
|
+
return false;
|
|
2055
|
+
}
|
|
2056
|
+
const ownHash = LocalCacheManager.Instance.ComputeSchemaHash(this.ProviderToUse, config.EntityName);
|
|
2057
|
+
return ownHash !== undefined && ownHash !== payloadSchemaHash;
|
|
2058
|
+
}
|
|
2059
|
+
/**
|
|
2060
|
+
* Reloads a config after a peer's cache change, coalescing overlapping requests: an event that
|
|
2061
|
+
* arrives while a reload for the same property is running asks for one more reload after it
|
|
2062
|
+
* instead of starting its own. Every caller's promise settles only after a reload that began
|
|
2063
|
+
* after its event, so no change is missed, but N events in a burst cost at most two reloads.
|
|
2064
|
+
*/
|
|
2065
|
+
reloadAfterExternalChange(config) {
|
|
2066
|
+
const running = this._externalChangeReloads.get(config.PropertyName);
|
|
2067
|
+
if (running) {
|
|
2068
|
+
running.Again = true;
|
|
2069
|
+
return running.Done;
|
|
2070
|
+
}
|
|
2071
|
+
const reload = { Again: false, Done: Promise.resolve() };
|
|
2072
|
+
this._externalChangeReloads.set(config.PropertyName, reload);
|
|
2073
|
+
reload.Done = this.runExternalChangeReloads(config, reload);
|
|
2074
|
+
return reload.Done;
|
|
2075
|
+
}
|
|
2076
|
+
/** Runs reloads for {@link reloadAfterExternalChange} until no further event asked for one. */
|
|
2077
|
+
async runExternalChangeReloads(config, reload) {
|
|
2078
|
+
try {
|
|
2079
|
+
do {
|
|
2080
|
+
reload.Again = false;
|
|
2081
|
+
// The reload replaces the property, so the derived state has to be rebuilt too —
|
|
2082
|
+
// and the reload must NOT emit on its own, or a subscriber wakes between the new
|
|
2083
|
+
// rows and the rebuild and reads derived state still pointing at the instances
|
|
2084
|
+
// this reload discarded.
|
|
2085
|
+
await this.LoadSingleConfig(config, this._contextUser, /*bypassCache*/ false, /*suppressEmit*/ true);
|
|
2086
|
+
await this.RebuildDerivedState(this._contextUser);
|
|
2087
|
+
this.emitPropertyChange(config.PropertyName);
|
|
2088
|
+
} while (reload.Again);
|
|
2089
|
+
}
|
|
2090
|
+
finally {
|
|
2091
|
+
this._externalChangeReloads.delete(config.PropertyName);
|
|
2092
|
+
}
|
|
1987
2093
|
}
|
|
1988
2094
|
/**
|
|
1989
2095
|
* True when `payloadRows` are the same row versions this config currently holds: the same
|