interaqt 2.0.0 → 2.0.2
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/README.md +1 -0
- package/agent/agentspace/knowledge/generator/api-reference.md +28 -5
- package/agent/agentspace/knowledge/generator/computation-implementation.md +61 -14
- package/agent/agentspace/knowledge/usage/00-mindset-shift.md +2 -0
- package/agent/agentspace/knowledge/usage/04-reactive-computations.md +158 -101
- package/agent/agentspace/knowledge/usage/05-interactions.md +67 -22
- package/agent/agentspace/knowledge/usage/08-activities.md +10 -0
- package/agent/agentspace/knowledge/usage/09-filtered-entities.md +1 -0
- package/agent/agentspace/knowledge/usage/13-testing.md +52 -99
- package/agent/agentspace/knowledge/usage/14-api-reference.md +22 -5
- package/agent/agentspace/knowledge/usage/15-entity-crud-patterns.md +89 -28
- package/agent/agentspace/knowledge/usage/18-api-exports-reference.md +10 -8
- package/agent/agentspace/knowledge/usage/19-common-anti-patterns.md +11 -2
- package/dist/builtins/interaction/Action.d.ts.map +1 -1
- package/dist/builtins/interaction/Activity.d.ts.map +1 -1
- package/dist/builtins/interaction/Attributive.d.ts.map +1 -1
- package/dist/builtins/interaction/Condition.d.ts.map +1 -1
- package/dist/builtins/interaction/Conditions.d.ts.map +1 -1
- package/dist/builtins/interaction/Data.d.ts.map +1 -1
- package/dist/builtins/interaction/Event.d.ts.map +1 -1
- package/dist/builtins/interaction/Gateway.d.ts.map +1 -1
- package/dist/builtins/interaction/Interaction.d.ts.map +1 -1
- package/dist/builtins/interaction/Payload.d.ts.map +1 -1
- package/dist/builtins/interaction/PayloadItem.d.ts.map +1 -1
- package/dist/builtins/interaction/activity/ActivityCall.d.ts.map +1 -1
- package/dist/core/Entity.d.ts.map +1 -1
- package/dist/core/EventSource.d.ts +37 -0
- package/dist/core/EventSource.d.ts.map +1 -1
- package/dist/core/Relation.d.ts.map +1 -1
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/utils.d.ts.map +1 -1
- package/dist/drivers/Mysql.d.ts +4 -3
- package/dist/drivers/Mysql.d.ts.map +1 -1
- package/dist/drivers/PGLite.d.ts +2 -2
- package/dist/drivers/PGLite.d.ts.map +1 -1
- package/dist/drivers/PostgreSQL.d.ts +2 -2
- package/dist/drivers/PostgreSQL.d.ts.map +1 -1
- package/dist/drivers/SQLite.d.ts +3 -3
- package/dist/drivers/SQLite.d.ts.map +1 -1
- package/dist/drivers.d.ts +2 -0
- package/dist/drivers.js +984 -0
- package/dist/drivers.js.map +1 -0
- package/dist/index.js +5930 -5736
- package/dist/index.js.map +1 -1
- package/dist/runtime/ComputationSourceMap.d.ts +11 -0
- package/dist/runtime/ComputationSourceMap.d.ts.map +1 -1
- package/dist/runtime/Controller.d.ts.map +1 -1
- package/dist/runtime/Scheduler.d.ts +21 -3
- package/dist/runtime/Scheduler.d.ts.map +1 -1
- package/dist/runtime/System.d.ts +1 -0
- package/dist/runtime/System.d.ts.map +1 -1
- package/dist/runtime/computations/Any.d.ts +17 -52
- package/dist/runtime/computations/Any.d.ts.map +1 -1
- package/dist/runtime/computations/Average.d.ts +15 -49
- package/dist/runtime/computations/Average.d.ts.map +1 -1
- package/dist/runtime/computations/Computation.d.ts +8 -0
- package/dist/runtime/computations/Computation.d.ts.map +1 -1
- package/dist/runtime/computations/Count.d.ts +21 -64
- package/dist/runtime/computations/Count.d.ts.map +1 -1
- package/dist/runtime/computations/Custom.d.ts.map +1 -1
- package/dist/runtime/computations/Every.d.ts +18 -52
- package/dist/runtime/computations/Every.d.ts.map +1 -1
- package/dist/runtime/computations/StateMachine.d.ts +2 -2
- package/dist/runtime/computations/StateMachine.d.ts.map +1 -1
- package/dist/runtime/computations/Summation.d.ts +15 -49
- package/dist/runtime/computations/Summation.d.ts.map +1 -1
- package/dist/runtime/computations/Transform.d.ts.map +1 -1
- package/dist/runtime/computations/WeightedSummation.d.ts +18 -60
- package/dist/runtime/computations/WeightedSummation.d.ts.map +1 -1
- package/dist/runtime/computations/aggregationTemplate.d.ts +163 -0
- package/dist/runtime/computations/aggregationTemplate.d.ts.map +1 -0
- package/dist/runtime/migration.d.ts.map +1 -1
- package/dist/storage/erstorage/AttributeQuery.d.ts.map +1 -1
- package/dist/storage/erstorage/CreationExecutor.d.ts.map +1 -1
- package/dist/storage/erstorage/DeletionExecutor.d.ts.map +1 -1
- package/dist/storage/erstorage/EntityQueryHandle.d.ts +13 -0
- package/dist/storage/erstorage/EntityQueryHandle.d.ts.map +1 -1
- package/dist/storage/erstorage/EntityToTableMap.d.ts +2 -0
- package/dist/storage/erstorage/EntityToTableMap.d.ts.map +1 -1
- package/dist/storage/erstorage/LinkInfo.d.ts +1 -0
- package/dist/storage/erstorage/LinkInfo.d.ts.map +1 -1
- package/dist/storage/erstorage/MatchExp.d.ts +3 -2
- package/dist/storage/erstorage/MatchExp.d.ts.map +1 -1
- package/dist/storage/erstorage/MergedItemProcessor.d.ts +12 -0
- package/dist/storage/erstorage/MergedItemProcessor.d.ts.map +1 -1
- package/dist/storage/erstorage/NewRecordData.d.ts +1 -0
- package/dist/storage/erstorage/NewRecordData.d.ts.map +1 -1
- package/dist/storage/erstorage/QueryExecutor.d.ts.map +1 -1
- package/dist/storage/erstorage/RecordQueryAgent.d.ts +11 -0
- package/dist/storage/erstorage/RecordQueryAgent.d.ts.map +1 -1
- package/dist/storage/erstorage/Setup.d.ts +25 -0
- package/dist/storage/erstorage/Setup.d.ts.map +1 -1
- package/dist/storage/erstorage/UpdateExecutor.d.ts.map +1 -1
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Custom.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAK1B,uBAAe,2BAA4B,YAAW,oBAAoB;IAoBrD,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,cAAc;IAAS,WAAW,EAAE,WAAW;IAnBvG,MAAM,CAAC,eAAe,gBAAS;IAE/B,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;KAAC,CAAK;IACxE,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAK;IACvC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;IACjC,uBAAuB,CAAC,EAAE,QAAQ,CAAA;IAElC,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,0BAA0B,CAAC,EAAE,QAAQ,CAAA;IACrC,+BAA+B,CAAC,EAAE,QAAQ,CAAA;IAC1C,mBAAmB,CAAC,EAAE,QAAQ,CAAA;IAC9B,uBAAuB,CAAC,EAAE,QAAQ,CAAA;IAClC,mBAAmB,CAAC,EAAE,QAAQ,CAAA;IAE9B,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,GAAG,CAAC,CAAA;IACvE,uBAAuB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,sBAAsB,GAAC,sBAAsB,EAAE,GAAC,SAAS,CAAC,CAAA;IAClI,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,GAAG,CAAC,CAAA;gBAE7C,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,cAAc,EAAS,WAAW,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"Custom.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAK1B,uBAAe,2BAA4B,YAAW,oBAAoB;IAoBrD,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,cAAc;IAAS,WAAW,EAAE,WAAW;IAnBvG,MAAM,CAAC,eAAe,gBAAS;IAE/B,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;KAAC,CAAK;IACxE,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAK;IACvC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;IACjC,uBAAuB,CAAC,EAAE,QAAQ,CAAA;IAElC,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,0BAA0B,CAAC,EAAE,QAAQ,CAAA;IACrC,+BAA+B,CAAC,EAAE,QAAQ,CAAA;IAC1C,mBAAmB,CAAC,EAAE,QAAQ,CAAA;IAC9B,uBAAuB,CAAC,EAAE,QAAQ,CAAA;IAClC,mBAAmB,CAAC,EAAE,QAAQ,CAAA;IAE9B,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,GAAG,CAAC,CAAA;IACvE,uBAAuB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,sBAAsB,GAAC,sBAAsB,EAAE,GAAC,SAAS,CAAC,CAAA;IAClI,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,GAAG,CAAC,CAAA;gBAE7C,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,cAAc,EAAS,WAAW,EAAE,WAAW;IA+HvG,WAAW;IAaX,eAAe,CAAC,MAAM,CAAC,EAAC,GAAG;IAOrB,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,iBAAiB,GAAC,GAAG,CAAC;IAe7D,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,eAAe;CAqChG;AAGD,qBAAa,kBAAmB,SAAQ,2BAA2B;IACjE,MAAM,CAAC,WAAW,EAAG,QAAQ,CAAS;CACvC;AAED,qBAAa,kBAAmB,SAAQ,2BAA2B;IACjE,MAAM,CAAC,WAAW,EAAG,QAAQ,CAAS;CACvC;AAED,qBAAa,oBAAqB,SAAQ,2BAA2B;IACnE,MAAM,CAAC,WAAW,EAAG,UAAU,CAAS;CACzC;AAED,qBAAa,oBAAqB,SAAQ,2BAA2B;IACnE,MAAM,CAAC,WAAW,EAAG,UAAU,CAAS;gBAE5B,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB;CAU3F;AAGD,eAAO,MAAM,aAAa,uHAKzB,CAAA"}
|
|
@@ -1,23 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Every, EveryInstance, RelationInstance } from '../../core';
|
|
1
|
+
import { Every, EveryInstance } from '../../core';
|
|
3
2
|
import { Controller } from '../Controller.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
export declare class GlobalEveryHandle
|
|
7
|
-
controller: Controller;
|
|
8
|
-
args: EveryInstance;
|
|
9
|
-
dataContext: DataContext;
|
|
3
|
+
import { DataContext, GlobalBoundState, PropertyDataContext, RecordBoundState } from './Computation.js';
|
|
4
|
+
import { GlobalRecordsAggregationHandle, PropertyRelationAggregationHandle } from './aggregationTemplate.js';
|
|
5
|
+
export declare class GlobalEveryHandle extends GlobalRecordsAggregationHandle<boolean, boolean, EveryInstance> {
|
|
10
6
|
static computationType: typeof Every;
|
|
11
7
|
static contextType: "global";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}) => boolean;
|
|
15
|
-
state: ReturnType<typeof this.createState>;
|
|
16
|
-
useLastValue: boolean;
|
|
17
|
-
dataDeps: {
|
|
18
|
-
[key: string]: DataDep;
|
|
19
|
-
};
|
|
20
|
-
primaryDataDepKeys: string[];
|
|
8
|
+
protected readonly itemStateKey = "isItemMatch";
|
|
9
|
+
protected readonly emptyItemValue = false;
|
|
21
10
|
defaultValue: boolean;
|
|
22
11
|
constructor(controller: Controller, args: EveryInstance, dataContext: DataContext);
|
|
23
12
|
createState(): {
|
|
@@ -25,38 +14,18 @@ export declare class GlobalEveryHandle implements DataBasedComputation {
|
|
|
25
14
|
isItemMatch: RecordBoundState<boolean>;
|
|
26
15
|
};
|
|
27
16
|
getInitialValue(): boolean;
|
|
28
|
-
|
|
29
|
-
main: any[];
|
|
30
|
-
[key: string]: any;
|
|
31
|
-
}): Promise<boolean>;
|
|
32
|
-
planIncremental(_event: EtityMutationEvent, _record: unknown, context: DataDepEventContext): IncrementalPlan;
|
|
33
|
-
incrementalCompute(lastValue: boolean, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
|
|
17
|
+
protected computeItemValue(record: Record<string, unknown>, dataDeps: {
|
|
34
18
|
[key: string]: unknown;
|
|
35
|
-
}):
|
|
19
|
+
}): boolean;
|
|
20
|
+
protected applyDelta(newValue: boolean | null, oldValue: boolean | null, presenceDelta: 1 | 0 | -1): Promise<boolean>;
|
|
21
|
+
protected persistFullResult(values: boolean[]): Promise<boolean>;
|
|
36
22
|
}
|
|
37
|
-
export declare class PropertyEveryHandle
|
|
38
|
-
controller: Controller;
|
|
39
|
-
args: EveryInstance;
|
|
40
|
-
dataContext: PropertyDataContext;
|
|
23
|
+
export declare class PropertyEveryHandle extends PropertyRelationAggregationHandle<boolean, boolean, EveryInstance> {
|
|
41
24
|
static computationType: typeof Every;
|
|
42
25
|
static contextType: "property";
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
state: ReturnType<typeof this.createState>;
|
|
47
|
-
useLastValue: boolean;
|
|
48
|
-
dataDeps: {
|
|
49
|
-
[key: string]: DataDep;
|
|
50
|
-
};
|
|
51
|
-
primaryDataDepKeys: string[];
|
|
52
|
-
relationAttr: string;
|
|
53
|
-
relation: RelationInstance;
|
|
54
|
-
relatedRecordName: string;
|
|
55
|
-
property: string;
|
|
56
|
-
reverseProperty: string;
|
|
57
|
-
isSource: boolean;
|
|
58
|
-
relationAttributeQuery: AttributeQueryData;
|
|
59
|
-
relatedAttributeQuery: AttributeQueryData;
|
|
26
|
+
protected readonly itemStateKey = "isItemMatch";
|
|
27
|
+
protected readonly emptyItemValue = false;
|
|
28
|
+
defaultValue: boolean;
|
|
60
29
|
constructor(controller: Controller, args: EveryInstance, dataContext: PropertyDataContext);
|
|
61
30
|
createState(): {
|
|
62
31
|
matchCount: RecordBoundState<number>;
|
|
@@ -64,14 +33,11 @@ export declare class PropertyEveryHandle implements DataBasedComputation {
|
|
|
64
33
|
isItemMatch: RecordBoundState<boolean>;
|
|
65
34
|
};
|
|
66
35
|
getInitialValue(): boolean;
|
|
67
|
-
|
|
68
|
-
_current: any;
|
|
69
|
-
[key: string]: any;
|
|
70
|
-
}): Promise<boolean>;
|
|
71
|
-
planIncremental(_event: EtityMutationEvent, _record: unknown, context: DataDepEventContext): IncrementalPlan;
|
|
72
|
-
incrementalCompute(lastValue: boolean, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
|
|
36
|
+
protected computeItemValue(relatedItem: Record<string, unknown>, dataDeps: {
|
|
73
37
|
[key: string]: unknown;
|
|
74
|
-
}):
|
|
38
|
+
}): boolean;
|
|
39
|
+
protected applyDelta(hostRecord: Record<string, unknown>, newValue: boolean | null, oldValue: boolean | null, presenceDelta: 1 | 0 | -1): Promise<boolean>;
|
|
40
|
+
protected persistFullResult(hostRecord: Record<string, unknown>, values: boolean[]): Promise<boolean>;
|
|
75
41
|
}
|
|
76
42
|
export declare const EveryHandles: (typeof GlobalEveryHandle | typeof PropertyEveryHandle)[];
|
|
77
43
|
//# sourceMappingURL=Every.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Every.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Every.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Every.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Every.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAE,8BAA8B,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAE7G,qBAAa,iBAAkB,SAAQ,8BAA8B,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IAClG,MAAM,CAAC,eAAe,eAAQ;IAC9B,MAAM,CAAC,WAAW,EAAG,QAAQ,CAAS;IACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,iBAAgB;IAC/C,SAAS,CAAC,QAAQ,CAAC,cAAc,SAAQ;IACzC,YAAY,EAAE,OAAO,CAAA;gBAET,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW;IAKjF,WAAW;;;;IAOX,eAAe;IAIf,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO;cAI1F,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;cAkB3G,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAOzE;AAED,qBAAa,mBAAoB,SAAQ,iCAAiC,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IACvG,MAAM,CAAC,eAAe,eAAQ;IAC9B,MAAM,CAAC,WAAW,EAAG,UAAU,CAAS;IACxC,SAAS,CAAC,QAAQ,CAAC,YAAY,iBAAgB;IAC/C,SAAS,CAAC,QAAQ,CAAC,cAAc,SAAQ;IACzC,YAAY,EAAE,OAAO,CAAA;gBAET,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB;IAKzF,WAAW;;;;;IAQX,eAAe;IAIf,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO;cAI/F,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;cAShJ,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ9G;AAGD,eAAO,MAAM,YAAY,2DAA2C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StateMachine, StateMachineInstance, StateNodeInstance } from '../../core';
|
|
2
2
|
import { Controller } from '../Controller.js';
|
|
3
|
-
import { RecordMutationEvent } from '../System.js';
|
|
3
|
+
import { EntityIdRef, RecordMutationEvent } from '../System.js';
|
|
4
4
|
import { DataContext, PropertyDataContext, EventBasedComputation, EventDep, GlobalBoundState, RecordBoundState } from './Computation.js';
|
|
5
5
|
import { EtityMutationEvent } from '../Scheduler.js';
|
|
6
6
|
import { TransitionFinder } from './TransitionFinder.js';
|
|
@@ -48,7 +48,7 @@ export declare class PropertyStateMachineHandle implements EventBasedComputation
|
|
|
48
48
|
currentState: RecordBoundState<string>;
|
|
49
49
|
};
|
|
50
50
|
getInitialValue(initialRecord: any): Promise<unknown>;
|
|
51
|
-
computeDirtyRecords(mutationEvent: RecordMutationEvent): Promise<
|
|
51
|
+
computeDirtyRecords(mutationEvent: RecordMutationEvent): Promise<EntityIdRef[]>;
|
|
52
52
|
incrementalCompute(lastValue: string, mutationEvent: RecordMutationEvent, dirtyRecord: any): Promise<unknown>;
|
|
53
53
|
createStateData(state: StateNodeInstance): Promise<{
|
|
54
54
|
[x: string]: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateMachine.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/StateMachine.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"StateMachine.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/StateMachine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,oBAAoB,EAAa,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAqB,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAiIzD,qBAAa,wBAAyB,YAAW,qBAAqB;IAS/C,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,oBAAoB;IAAS,WAAW,EAAE,WAAW;IAR7G,MAAM,CAAC,eAAe,sBAAe;IACrC,MAAM,CAAC,WAAW,EAAG,QAAQ,CAAS;IACtC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,KAAK,EAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;KAAC,CAAA;IAC9C,YAAY,EAAE,OAAO,CAAQ;IAC7B,SAAS,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAC,CAAK;IACzC,gBAAgB,EAAE,OAAO,CAAO;IAChC,YAAY,EAAE,iBAAiB,CAAA;gBACZ,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,oBAAoB,EAAS,WAAW,EAAE,WAAW;IAgB7G,WAAW;;;IAKL,eAAe,CAAC,KAAK,EAAC,GAAG;IAGzB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG;CAWlG;AAGD,qBAAa,0BAA2B,YAAW,qBAAqB;IAUjD,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,oBAAoB;IAT5E,MAAM,CAAC,eAAe,sBAAe;IACrC,MAAM,CAAC,WAAW,EAAG,UAAU,CAAS;IACxC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,KAAK,EAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;KAAC,CAAA;IACpE,YAAY,EAAE,OAAO,CAAQ;IAC7B,SAAS,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAC,CAAK;IACzC,YAAY,EAAE,iBAAiB,CAAA;IAC/B,WAAW,EAAE,mBAAmB,CAAA;IAChC,gBAAgB,EAAE,OAAO,CAAO;gBACb,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW;IAwBtG,WAAW;;;IAKL,eAAe,CAAC,aAAa,EAAC,GAAG;IAejC,mBAAmB,CAAC,aAAa,EAAE,mBAAmB;IA2BtD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG;IAa1F,eAAe,CAAC,KAAK,EAAE,iBAAiB;;;CAKjD;AAED,eAAO,MAAM,eAAe,mBAG1B,CAAA;AAEF,eAAO,MAAM,iBAAiB,mBAG5B,CAAA;AAEF,eAAO,MAAM,aAAa,mBAGxB,CAAA;AAGF,eAAO,MAAM,mBAAmB,yEAAyD,CAAC"}
|
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Summation, SummationInstance, EntityInstance, RelationInstance } from '../../core';
|
|
1
|
+
import { Summation, SummationInstance } from '../../core';
|
|
3
2
|
import { Controller } from '../Controller.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
export declare class GlobalSumHandle
|
|
7
|
-
controller: Controller;
|
|
8
|
-
args: SummationInstance;
|
|
9
|
-
dataContext: DataContext;
|
|
3
|
+
import { DataContext, GlobalBoundState, PropertyDataContext, RecordBoundState } from './Computation.js';
|
|
4
|
+
import { GlobalRecordsAggregationHandle, PropertyRelationAggregationHandle } from './aggregationTemplate.js';
|
|
5
|
+
export declare class GlobalSumHandle extends GlobalRecordsAggregationHandle<number, number, SummationInstance> {
|
|
10
6
|
static computationType: typeof Summation;
|
|
11
7
|
static contextType: "global";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
dataDeps: {
|
|
15
|
-
[key: string]: DataDep;
|
|
16
|
-
};
|
|
17
|
-
primaryDataDepKeys: string[];
|
|
18
|
-
record: (EntityInstance | RelationInstance);
|
|
8
|
+
protected readonly itemStateKey = "itemValue";
|
|
9
|
+
protected readonly emptyItemValue = 0;
|
|
19
10
|
sumFieldPath: string[];
|
|
20
11
|
constructor(controller: Controller, args: SummationInstance, dataContext: DataContext);
|
|
21
12
|
createState(): {
|
|
@@ -23,35 +14,15 @@ export declare class GlobalSumHandle implements DataBasedComputation {
|
|
|
23
14
|
itemValue: RecordBoundState<number>;
|
|
24
15
|
};
|
|
25
16
|
getInitialValue(): number;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}): Promise<number>;
|
|
30
|
-
planIncremental(_event: EtityMutationEvent, _record: unknown, context: DataDepEventContext): IncrementalPlan;
|
|
31
|
-
incrementalCompute(lastValue: number, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
|
|
32
|
-
[key: string]: unknown;
|
|
33
|
-
}): Promise<number | ComputationResult>;
|
|
17
|
+
protected computeItemValue(record: Record<string, unknown>): number;
|
|
18
|
+
protected applyDelta(newValue: number | null, oldValue: number | null): Promise<number>;
|
|
19
|
+
protected persistFullResult(values: number[]): Promise<number>;
|
|
34
20
|
}
|
|
35
|
-
export declare class PropertySumHandle
|
|
36
|
-
controller: Controller;
|
|
37
|
-
args: SummationInstance;
|
|
38
|
-
dataContext: PropertyDataContext;
|
|
21
|
+
export declare class PropertySumHandle extends PropertyRelationAggregationHandle<number, number, SummationInstance> {
|
|
39
22
|
static computationType: typeof Summation;
|
|
40
23
|
static contextType: "property";
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
dataDeps: {
|
|
44
|
-
[key: string]: DataDep;
|
|
45
|
-
};
|
|
46
|
-
primaryDataDepKeys: string[];
|
|
47
|
-
relationAttr: string;
|
|
48
|
-
relatedRecordName: string;
|
|
49
|
-
isSource: boolean;
|
|
50
|
-
relation: RelationInstance;
|
|
51
|
-
property: string;
|
|
52
|
-
reverseProperty: string;
|
|
53
|
-
relationAttributeQuery: AttributeQueryData;
|
|
54
|
-
relatedAttributeQuery: AttributeQueryData;
|
|
24
|
+
protected readonly itemStateKey = "itemResult";
|
|
25
|
+
protected readonly emptyItemValue = 0;
|
|
55
26
|
sumFieldPath: string[];
|
|
56
27
|
constructor(controller: Controller, args: SummationInstance, dataContext: PropertyDataContext);
|
|
57
28
|
createState(): {
|
|
@@ -59,14 +30,9 @@ export declare class PropertySumHandle implements DataBasedComputation {
|
|
|
59
30
|
itemResult: RecordBoundState<number>;
|
|
60
31
|
};
|
|
61
32
|
getInitialValue(): number;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}): Promise<number>;
|
|
66
|
-
planIncremental(_event: EtityMutationEvent, _record: unknown, context: DataDepEventContext): IncrementalPlan;
|
|
67
|
-
incrementalCompute(lastValue: number, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
|
|
68
|
-
[key: string]: unknown;
|
|
69
|
-
}): Promise<number | ComputationResult>;
|
|
33
|
+
protected computeItemValue(relatedItem: Record<string, unknown>): number;
|
|
34
|
+
protected applyDelta(hostRecord: Record<string, unknown>, newValue: number | null, oldValue: number | null): Promise<number>;
|
|
35
|
+
protected persistFullResult(hostRecord: Record<string, unknown>, values: number[]): Promise<number>;
|
|
70
36
|
}
|
|
71
37
|
export declare const SummationHandles: (typeof GlobalSumHandle | typeof PropertySumHandle)[];
|
|
72
38
|
//# sourceMappingURL=Summation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Summation.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Summation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Summation.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Summation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAE,8BAA8B,EAA6B,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAaxI,qBAAa,eAAgB,SAAQ,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;IAClG,MAAM,CAAC,eAAe,mBAAY;IAClC,MAAM,CAAC,WAAW,EAAG,QAAQ,CAAS;IACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,eAAc;IAC7C,SAAS,CAAC,QAAQ,CAAC,cAAc,KAAI;IACrC,YAAY,EAAE,MAAM,EAAE,CAAA;gBAEV,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW;IAKrF,WAAW;;;;IAOX,eAAe;IAIf,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;cAInD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;cAI7E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAKvE;AAED,qBAAa,iBAAkB,SAAQ,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;IACvG,MAAM,CAAC,eAAe,mBAAY;IAClC,MAAM,CAAC,WAAW,EAAG,UAAU,CAAS;IACxC,SAAS,CAAC,QAAQ,CAAC,YAAY,gBAAe;IAC9C,SAAS,CAAC,QAAQ,CAAC,cAAc,KAAI;IACrC,YAAY,EAAE,MAAM,EAAE,CAAA;gBAEV,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB;IAK7F,WAAW;;;;IAOX,eAAe;IAIf,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;cAIxD,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;cAIlH,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAK5G;AAGD,eAAO,MAAM,gBAAgB,uDAAuC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAqB,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAA0B,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,gBAAgB,EAAkB,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIhE,qBAAa,sBAAuB,YAAW,oBAAoB;IAS5C,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,iBAAiB;IAAS,WAAW,EAAE,WAAW;IAR1G,MAAM,CAAC,eAAe,mBAAY;IAClC,MAAM,CAAC,WAAW,kCAAkC;IACpD,iBAAiB,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;IACvD,KAAK,EAAG,UAAU,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3C,YAAY,EAAE,OAAO,CAAQ;IAC7B,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAK;IACvC,kBAAkB,WAAc;IAChC,SAAS,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAC,CAAA;gBAClB,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,iBAAiB,EAAS,WAAW,EAAE,WAAW;IAiB1G,WAAW;;;;IAUX,eAAe;IAIT,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,EAAE;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAmB7D,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAItE,uBAAuB,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,GAAG,sBAAsB,EAAE,GAAC,SAAS,CAAC;IAOxJ,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,eAAe;IAStG,iCAAiC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,GAAG,sBAAsB,EAAE,GAAC,SAAS,CAAC;IAmB5J,gCAAgC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,GAAG,sBAAsB,EAAE,GAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAqB,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAA0B,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,gBAAgB,EAAkB,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIhE,qBAAa,sBAAuB,YAAW,oBAAoB;IAS5C,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,iBAAiB;IAAS,WAAW,EAAE,WAAW;IAR1G,MAAM,CAAC,eAAe,mBAAY;IAClC,MAAM,CAAC,WAAW,kCAAkC;IACpD,iBAAiB,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;IACvD,KAAK,EAAG,UAAU,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3C,YAAY,EAAE,OAAO,CAAQ;IAC7B,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAK;IACvC,kBAAkB,WAAc;IAChC,SAAS,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAC,CAAA;gBAClB,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,iBAAiB,EAAS,WAAW,EAAE,WAAW;IAiB1G,WAAW;;;;IAUX,eAAe;IAIT,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,EAAE;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAmB7D,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAItE,uBAAuB,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,GAAG,sBAAsB,EAAE,GAAC,SAAS,CAAC;IAOxJ,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,eAAe;IAStG,iCAAiC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,GAAG,sBAAsB,EAAE,GAAC,SAAS,CAAC;IAmB5J,gCAAgC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,GAAG,sBAAsB,EAAE,GAAC,SAAS,CAAC;CAwFpK;AAID,eAAO,MAAM,gBAAgB,mCAA2B,CAAC"}
|
|
@@ -1,82 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { WeightedSummation, WeightedSummationInstance, EntityInstance, RelationInstance } from '../../core';
|
|
1
|
+
import { WeightedSummation, WeightedSummationInstance } from '../../core';
|
|
3
2
|
import { Controller } from '../Controller.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
export declare class GlobalWeightedSummationHandle
|
|
7
|
-
controller: Controller;
|
|
8
|
-
args: WeightedSummationInstance;
|
|
9
|
-
dataContext: DataContext;
|
|
3
|
+
import { DataContext, GlobalBoundState, PropertyDataContext, RecordBoundState } from './Computation.js';
|
|
4
|
+
import { GlobalRecordsAggregationHandle, PropertyRelationAggregationHandle } from './aggregationTemplate.js';
|
|
5
|
+
export declare class GlobalWeightedSummationHandle extends GlobalRecordsAggregationHandle<number, number, WeightedSummationInstance> {
|
|
10
6
|
static computationType: typeof WeightedSummation;
|
|
11
7
|
static contextType: "global";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}) => {
|
|
15
|
-
weight: number;
|
|
16
|
-
value: number;
|
|
17
|
-
};
|
|
18
|
-
state: ReturnType<typeof this.createState>;
|
|
19
|
-
useLastValue: boolean;
|
|
20
|
-
dataDeps: {
|
|
21
|
-
[key: string]: DataDep;
|
|
22
|
-
};
|
|
23
|
-
primaryDataDepKeys: string[];
|
|
24
|
-
record: (EntityInstance | RelationInstance);
|
|
8
|
+
protected readonly itemStateKey = "itemResult";
|
|
9
|
+
protected readonly emptyItemValue = 0;
|
|
25
10
|
constructor(controller: Controller, args: WeightedSummationInstance, dataContext: DataContext);
|
|
26
|
-
getInitialValue(): number;
|
|
27
11
|
createState(): {
|
|
28
12
|
total: GlobalBoundState<number>;
|
|
29
13
|
itemResult: RecordBoundState<number>;
|
|
30
14
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
[key: string]: any;
|
|
34
|
-
}): Promise<number>;
|
|
35
|
-
planIncremental(_event: EtityMutationEvent, _record: unknown, context: DataDepEventContext): IncrementalPlan;
|
|
36
|
-
incrementalCompute(lastValue: number, mutationEvent: EtityMutationEvent, _record: any, dataDeps: {
|
|
15
|
+
getInitialValue(): number;
|
|
16
|
+
protected computeItemValue(record: Record<string, unknown>, dataDeps: {
|
|
37
17
|
[key: string]: unknown;
|
|
38
|
-
}):
|
|
18
|
+
}): number;
|
|
19
|
+
protected applyDelta(newValue: number | null, oldValue: number | null): Promise<number>;
|
|
20
|
+
protected persistFullResult(values: number[]): Promise<number>;
|
|
39
21
|
}
|
|
40
|
-
export declare class PropertyWeightedSummationHandle
|
|
41
|
-
controller: Controller;
|
|
42
|
-
args: WeightedSummationInstance;
|
|
43
|
-
dataContext: PropertyDataContext;
|
|
22
|
+
export declare class PropertyWeightedSummationHandle extends PropertyRelationAggregationHandle<number, number, WeightedSummationInstance> {
|
|
44
23
|
static computationType: typeof WeightedSummation;
|
|
45
24
|
static contextType: "property";
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}) => {
|
|
49
|
-
weight: number;
|
|
50
|
-
value: number;
|
|
51
|
-
};
|
|
52
|
-
state: ReturnType<typeof this.createState>;
|
|
53
|
-
useLastValue: boolean;
|
|
54
|
-
dataDeps: {
|
|
55
|
-
[key: string]: DataDep;
|
|
56
|
-
};
|
|
57
|
-
primaryDataDepKeys: string[];
|
|
58
|
-
relationAttr: string;
|
|
59
|
-
relatedRecordName: string;
|
|
60
|
-
isSource: boolean;
|
|
61
|
-
relation: RelationInstance;
|
|
62
|
-
property: string;
|
|
63
|
-
reverseProperty: string;
|
|
64
|
-
relationAttributeQuery: AttributeQueryData;
|
|
65
|
-
relatedAttributeQuery: AttributeQueryData;
|
|
25
|
+
protected readonly itemStateKey = "itemResult";
|
|
26
|
+
protected readonly emptyItemValue = 0;
|
|
66
27
|
constructor(controller: Controller, args: WeightedSummationInstance, dataContext: PropertyDataContext);
|
|
67
28
|
createState(): {
|
|
68
29
|
total: RecordBoundState<number>;
|
|
69
30
|
itemResult: RecordBoundState<number>;
|
|
70
31
|
};
|
|
71
32
|
getInitialValue(): number;
|
|
72
|
-
|
|
73
|
-
_current: any;
|
|
74
|
-
[key: string]: any;
|
|
75
|
-
}): Promise<number>;
|
|
76
|
-
planIncremental(_event: EtityMutationEvent, _record: unknown, context: DataDepEventContext): IncrementalPlan;
|
|
77
|
-
incrementalCompute(lastValue: number, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
|
|
33
|
+
protected computeItemValue(relatedItem: Record<string, unknown>, dataDeps: {
|
|
78
34
|
[key: string]: unknown;
|
|
79
|
-
}):
|
|
35
|
+
}): number;
|
|
36
|
+
protected applyDelta(hostRecord: Record<string, unknown>, newValue: number | null, oldValue: number | null): Promise<number>;
|
|
37
|
+
protected persistFullResult(hostRecord: Record<string, unknown>, values: number[]): Promise<number>;
|
|
80
38
|
}
|
|
81
39
|
export declare const WeightedSummationHandles: (typeof GlobalWeightedSummationHandle | typeof PropertyWeightedSummationHandle)[];
|
|
82
40
|
//# sourceMappingURL=WeightedSummation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WeightedSummation.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/WeightedSummation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"WeightedSummation.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/WeightedSummation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAE,8BAA8B,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAU7G,qBAAa,6BAA8B,SAAQ,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,yBAAyB,CAAC;IACxH,MAAM,CAAC,eAAe,2BAAoB;IAC1C,MAAM,CAAC,WAAW,EAAG,QAAQ,CAAS;IACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,gBAAe;IAC9C,SAAS,CAAC,QAAQ,CAAC,cAAc,KAAI;gBAEzB,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,WAAW;IAI7F,WAAW;;;;IAOX,eAAe;IAIf,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,MAAM;cAIzF,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;cAI7E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAKvE;AAED,qBAAa,+BAAgC,SAAQ,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,yBAAyB,CAAC;IAC7H,MAAM,CAAC,eAAe,2BAAoB;IAC1C,MAAM,CAAC,WAAW,EAAG,UAAU,CAAS;IACxC,SAAS,CAAC,QAAQ,CAAC,YAAY,gBAAe;IAC9C,SAAS,CAAC,QAAQ,CAAC,cAAc,KAAI;gBAEzB,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,mBAAmB;IAIrG,WAAW;;;;IAOX,eAAe;IAIf,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,MAAM;cAI9F,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;cAIlH,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAK5G;AAGD,eAAO,MAAM,wBAAwB,mFAAmE,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { EntityInstance, RelationInstance } from '../../core';
|
|
2
|
+
import { Controller } from '../Controller.js';
|
|
3
|
+
import { AttributeQueryData } from '../../storage';
|
|
4
|
+
import { ComputationResult, DataBasedComputation, DataContext, DataDep, DataDepEventContext, GlobalBoundState, IncrementalPlan, PropertyDataContext, RecordBoundState } from './Computation.js';
|
|
5
|
+
import { EtityMutationEvent } from '../ComputationSourceMap.js';
|
|
6
|
+
/**
|
|
7
|
+
* 六个内置聚合(Count / Summation / Average / Every / Any / WeightedSummation)的共享增量模板。
|
|
8
|
+
*
|
|
9
|
+
* 背景:六个聚合的 global / property 两个 handle 此前各自手写「事件守卫 → 拉全记录 →
|
|
10
|
+
* 逐项贡献状态维护 → 聚合增量应用」的骨架,历轮 review 累计 15+ 个缺陷全部源于
|
|
11
|
+
* 六份骨架的手工同步漂移(create 路径用局部事件 record、update 不注册监听、
|
|
12
|
+
* 负值无守卫、空集合语义、`&` 挂载不一致……)。模板把骨架收敛为单一实现:
|
|
13
|
+
*
|
|
14
|
+
* - 统一的 mutation 事件守卫(recordName / relatedAttribute 形态检查);
|
|
15
|
+
* - create/update 一律先按 attributeQuery 拉全记录再计算贡献(增量与全量重算同一取数口径);
|
|
16
|
+
* - 统一的「记录已不可见 → fullRecompute」竞态防御与 `Atomic replace target not found` 防御;
|
|
17
|
+
* - 统一的逐项贡献绑定状态维护(delete/成员资格退出时复位,避免重入读到陈旧值);
|
|
18
|
+
* - 统一的负值守卫入口(计数类聚合状态为负说明状态与事件流失步,必须 fail-fast)。
|
|
19
|
+
*
|
|
20
|
+
* 各聚合只声明三件事:单条记录的贡献值(computeItemValue)、一次贡献变化如何应用到
|
|
21
|
+
* 聚合状态(applyDelta)、全量重算如何落盘(persistFullResult)。绑定状态的名字与形状
|
|
22
|
+
* 由各 handle 自持(createState),保证与既有部署的状态列/dict key 兼容。
|
|
23
|
+
*/
|
|
24
|
+
export type AggregationItemValue = number | boolean;
|
|
25
|
+
export type AggregationArgs = {
|
|
26
|
+
record?: EntityInstance | RelationInstance;
|
|
27
|
+
property?: string;
|
|
28
|
+
direction?: string;
|
|
29
|
+
attributeQuery?: AttributeQueryData;
|
|
30
|
+
callback?: Function;
|
|
31
|
+
dataDeps?: {
|
|
32
|
+
[key: string]: unknown;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export type AggregationOptions = {
|
|
36
|
+
/** 用于错误信息与校验定位,如 'Count' */
|
|
37
|
+
computationName: string;
|
|
38
|
+
/** callback 是必填(Every/Any/WeightedSummation) */
|
|
39
|
+
requireCallback?: boolean;
|
|
40
|
+
/** attributeQuery 必须至少声明一个字段(Summation/Average:聚合字段来自 attributeQuery) */
|
|
41
|
+
requireAttributeQueryField?: boolean;
|
|
42
|
+
/** 允许 args.record 直接指定 relation(Count 的历史用法) */
|
|
43
|
+
allowRecordFallback?: boolean;
|
|
44
|
+
/** 宿主侧必须是 x:n 关系(Every/Any:对单值关系做全称/存在量词没有意义) */
|
|
45
|
+
requireXToMany?: boolean;
|
|
46
|
+
};
|
|
47
|
+
/** 从 attributeQuery 解析聚合字段路径(Summation/Average 共用) */
|
|
48
|
+
export declare function parseAggregationFieldPath(attributeQuery: AttributeQueryData): string[];
|
|
49
|
+
/**
|
|
50
|
+
* Global(records 源)聚合模板。
|
|
51
|
+
*/
|
|
52
|
+
export declare abstract class GlobalRecordsAggregationHandle<V extends AggregationItemValue, TResult, TArgs extends AggregationArgs = AggregationArgs> implements DataBasedComputation {
|
|
53
|
+
controller: Controller;
|
|
54
|
+
args: TArgs;
|
|
55
|
+
dataContext: DataContext;
|
|
56
|
+
state: any;
|
|
57
|
+
useLastValue: boolean;
|
|
58
|
+
dataDeps: {
|
|
59
|
+
[key: string]: DataDep;
|
|
60
|
+
};
|
|
61
|
+
primaryDataDepKeys: string[];
|
|
62
|
+
record: EntityInstance | RelationInstance;
|
|
63
|
+
callback?: (this: Controller, item: any, dataDeps?: {
|
|
64
|
+
[key: string]: unknown;
|
|
65
|
+
}) => any;
|
|
66
|
+
protected readonly options: AggregationOptions;
|
|
67
|
+
constructor(controller: Controller, args: TArgs, dataContext: DataContext, options: AggregationOptions);
|
|
68
|
+
/** this.state 里逐项贡献绑定状态的 key */
|
|
69
|
+
protected abstract readonly itemStateKey: string;
|
|
70
|
+
/** 贡献复位值(delete/成员资格退出时写回,防重入读到陈旧值) */
|
|
71
|
+
protected abstract readonly emptyItemValue: V;
|
|
72
|
+
/** 计算单条记录的贡献值。record 已按 attributeQuery 拉全(与全量重算同一口径)。 */
|
|
73
|
+
protected abstract computeItemValue(record: Record<string, unknown>, dataDeps: {
|
|
74
|
+
[key: string]: unknown;
|
|
75
|
+
}): V;
|
|
76
|
+
/** 把一次贡献变化应用到聚合状态并返回计算结果。presenceDelta:create=1 / update=0 / delete=-1。 */
|
|
77
|
+
protected abstract applyDelta(newValue: V | null, oldValue: V | null, presenceDelta: 1 | 0 | -1): Promise<TResult>;
|
|
78
|
+
/** 全量重算:把所有贡献写入聚合状态并返回计算结果。 */
|
|
79
|
+
protected abstract persistFullResult(values: V[]): Promise<TResult>;
|
|
80
|
+
/** 增量 create/update 是否需要按 attributeQuery 拉全记录。默认 true;仅 Count 无 callback 时可跳过。 */
|
|
81
|
+
protected requiresItemFetch(): boolean;
|
|
82
|
+
abstract createState(): {
|
|
83
|
+
[key: string]: RecordBoundState<unknown> | GlobalBoundState<unknown>;
|
|
84
|
+
};
|
|
85
|
+
abstract getInitialValue(): unknown;
|
|
86
|
+
protected get itemState(): RecordBoundState<V>;
|
|
87
|
+
protected assertNonNegative(name: string, value: number): void;
|
|
88
|
+
protected replaceItemState(record: Record<string, unknown>, value: V): Promise<{
|
|
89
|
+
oldValue: V | null;
|
|
90
|
+
} | ComputationResult>;
|
|
91
|
+
compute({ main: records, ...dataDeps }: {
|
|
92
|
+
main: any[];
|
|
93
|
+
[key: string]: any;
|
|
94
|
+
}): Promise<TResult>;
|
|
95
|
+
planIncremental(_event: EtityMutationEvent, _record: unknown, context: DataDepEventContext): IncrementalPlan;
|
|
96
|
+
incrementalCompute(lastValue: unknown, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
|
|
97
|
+
[key: string]: unknown;
|
|
98
|
+
}): Promise<TResult | ComputationResult>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Property(关系源)聚合模板。
|
|
102
|
+
* 宿主实体的属性 = 对关联关系集合的聚合。增量事件的形态是宿主 update 事件 +
|
|
103
|
+
* relatedAttribute 定位到关系/关联实体上的 create/delete/update。
|
|
104
|
+
*/
|
|
105
|
+
export declare abstract class PropertyRelationAggregationHandle<V extends AggregationItemValue, TResult, TArgs extends AggregationArgs = AggregationArgs> implements DataBasedComputation {
|
|
106
|
+
controller: Controller;
|
|
107
|
+
args: TArgs;
|
|
108
|
+
dataContext: PropertyDataContext;
|
|
109
|
+
state: any;
|
|
110
|
+
useLastValue: boolean;
|
|
111
|
+
dataDeps: {
|
|
112
|
+
[key: string]: DataDep;
|
|
113
|
+
};
|
|
114
|
+
primaryDataDepKeys: string[];
|
|
115
|
+
relation: RelationInstance;
|
|
116
|
+
isSource: boolean;
|
|
117
|
+
relationAttr: string;
|
|
118
|
+
relatedRecordName: string;
|
|
119
|
+
property: string;
|
|
120
|
+
reverseProperty: string;
|
|
121
|
+
relationAttributeQuery: AttributeQueryData;
|
|
122
|
+
relatedAttributeQuery: AttributeQueryData;
|
|
123
|
+
callback?: (this: Controller, item: any, dataDeps?: {
|
|
124
|
+
[key: string]: unknown;
|
|
125
|
+
}) => any;
|
|
126
|
+
protected readonly options: AggregationOptions;
|
|
127
|
+
constructor(controller: Controller, args: TArgs, dataContext: PropertyDataContext, options: AggregationOptions);
|
|
128
|
+
/**
|
|
129
|
+
* this.state 里逐项贡献绑定状态的 key;null 表示不维护逐项状态
|
|
130
|
+
* (Count 无 callback 时贡献恒为「存在即 1」,无需状态)。
|
|
131
|
+
*/
|
|
132
|
+
protected abstract readonly itemStateKey: string | null;
|
|
133
|
+
protected abstract readonly emptyItemValue: V;
|
|
134
|
+
/** 无逐项状态时,「存在性」贡献值(Count 无 callback:true)。 */
|
|
135
|
+
protected presenceItemValue(): V;
|
|
136
|
+
/** 计算单条关联记录的贡献值。relatedItem 已挂 `&`(关系记录,按 relationAttributeQuery 拉全)。 */
|
|
137
|
+
protected abstract computeItemValue(relatedItem: Record<string, unknown>, dataDeps: {
|
|
138
|
+
[key: string]: unknown;
|
|
139
|
+
}): V;
|
|
140
|
+
/** 把一次贡献变化应用到宿主聚合状态并返回计算结果。 */
|
|
141
|
+
protected abstract applyDelta(hostRecord: Record<string, unknown>, newValue: V | null, oldValue: V | null, presenceDelta: 1 | 0 | -1): Promise<TResult>;
|
|
142
|
+
/** 全量重算:把所有贡献写入宿主聚合状态并返回计算结果。 */
|
|
143
|
+
protected abstract persistFullResult(hostRecord: Record<string, unknown>, values: V[]): Promise<TResult>;
|
|
144
|
+
abstract createState(): {
|
|
145
|
+
[key: string]: RecordBoundState<unknown> | GlobalBoundState<unknown>;
|
|
146
|
+
};
|
|
147
|
+
abstract getInitialValue(): unknown;
|
|
148
|
+
protected get itemState(): RecordBoundState<V> | null;
|
|
149
|
+
protected get relationSide(): 'source' | 'target';
|
|
150
|
+
protected assertNonNegative(name: string, value: number): void;
|
|
151
|
+
protected replaceItemState(relationRecord: Record<string, unknown>, value: V): Promise<{
|
|
152
|
+
oldValue: V | null;
|
|
153
|
+
} | ComputationResult>;
|
|
154
|
+
compute({ _current, ...dataDeps }: {
|
|
155
|
+
_current: any;
|
|
156
|
+
[key: string]: any;
|
|
157
|
+
}): Promise<TResult>;
|
|
158
|
+
planIncremental(_event: EtityMutationEvent, _record: unknown, context: DataDepEventContext): IncrementalPlan;
|
|
159
|
+
incrementalCompute(lastValue: unknown, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
|
|
160
|
+
[key: string]: unknown;
|
|
161
|
+
}): Promise<TResult | ComputationResult>;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=aggregationTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregationTemplate.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/aggregationTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAA0C,MAAM,UAAU,CAAC;AAEtF,OAAO,EAGH,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,OAAO,EACP,mBAAmB,EAGnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,kBAAkB,CAAA;IAEnC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,4BAA4B;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,gDAAgD;IAChD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,yEAAyE;IACzE,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,sDAAsD;AACtD,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAStF;AAcD;;GAEG;AACH,8BAAsB,8BAA8B,CAAC,CAAC,SAAS,oBAAoB,EAAE,OAAO,EAAE,KAAK,SAAS,eAAe,GAAG,eAAe,CAAE,YAAW,oBAAoB;IAWvJ,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,KAAK;IAAS,WAAW,EAAE,WAAW;IAT9F,KAAK,EAAG,GAAG,CAAA;IACX,YAAY,EAAE,OAAO,CAAQ;IAC7B,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAK;IACzC,kBAAkB,WAAW;IAC7B,MAAM,EAAE,cAAc,GAAG,gBAAgB,CAAA;IAEzC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,GAAG,CAAA;IACtF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;gBAE3B,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,KAAK,EAAS,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB;IAiB3H,gCAAgC;IAChC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAChD,uCAAuC;IACvC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAA;IAC7C,yDAAyD;IACzD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,CAAC;IAC7G,2EAA2E;IAC3E,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAClH,+BAA+B;IAC/B,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IACnE,kFAAkF;IAClF,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAEtC,QAAQ,CAAC,WAAW,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;KAAE;IAChG,QAAQ,CAAC,eAAe,IAAI,OAAO;IAEnC,SAAS,KAAK,SAAS,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAE7C;IAED,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;cAS9C,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,iBAAiB,CAAC;IAa1H,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpG,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,eAAe;IAKtG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,GAAG,iBAAiB,CAAC;CAmC3K;AAED;;;;GAIG;AACH,8BAAsB,iCAAiC,CAAC,CAAC,SAAS,oBAAoB,EAAE,OAAO,EAAE,KAAK,SAAS,eAAe,GAAG,eAAe,CAAE,YAAW,oBAAoB;IAkB1J,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,KAAK;IAAS,WAAW,EAAE,mBAAmB;IAhBtG,KAAK,EAAG,GAAG,CAAA;IACX,YAAY,EAAE,OAAO,CAAQ;IAC7B,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAK;IACzC,kBAAkB,WAAe;IACjC,QAAQ,EAAG,gBAAgB,CAAA;IAC3B,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,sBAAsB,EAAE,kBAAkB,CAAA;IAC1C,qBAAqB,EAAE,kBAAkB,CAAA;IAEzC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,GAAG,CAAA;IACtF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;gBAE3B,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,KAAK,EAAS,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB;IAmDnI;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACvD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAA;IAC7C,8CAA8C;IAC9C,SAAS,CAAC,iBAAiB,IAAI,CAAC;IAChC,yEAAyE;IACzE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,CAAC;IAClH,+BAA+B;IAC/B,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IACvJ,iCAAiC;IACjC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAExG,QAAQ,CAAC,WAAW,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;KAAE;IAChG,QAAQ,CAAC,eAAe,IAAI,OAAO;IAEnC,SAAS,KAAK,SAAS,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEpD;IAED,SAAS,KAAK,YAAY,IAAI,QAAQ,GAAG,QAAQ,CAEhD;IAED,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;cAS9C,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,iBAAiB,CAAC;IAalI,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,GAAG,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAcjG,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,eAAe;IAKtG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,GAAG,iBAAiB,CAAC;CA0F3K"}
|