@elaraai/e3-ui 1.0.3 → 1.0.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/README.md +3 -2
- package/dist/src/data.d.ts +22 -1
- package/dist/src/data.d.ts.map +1 -1
- package/dist/src/data.js.map +1 -1
- package/dist/src/decision/bind.d.ts +4594 -0
- package/dist/src/decision/bind.d.ts.map +1 -0
- package/dist/src/decision/bind.js +156 -0
- package/dist/src/decision/bind.js.map +1 -0
- package/dist/src/decision/index.d.ts +1787 -0
- package/dist/src/decision/index.d.ts.map +1 -0
- package/dist/src/decision/index.js +36 -0
- package/dist/src/decision/index.js.map +1 -0
- package/dist/src/decision/journal.d.ts +405 -0
- package/dist/src/decision/journal.d.ts.map +1 -0
- package/dist/src/decision/journal.js +74 -0
- package/dist/src/decision/journal.js.map +1 -0
- package/dist/src/decision/queue.d.ts +2876 -0
- package/dist/src/decision/queue.d.ts.map +1 -0
- package/dist/src/decision/queue.js +166 -0
- package/dist/src/decision/queue.js.map +1 -0
- package/dist/src/decision/types.d.ts +1338 -0
- package/dist/src/decision/types.d.ts.map +1 -0
- package/dist/src/decision/types.js +389 -0
- package/dist/src/decision/types.js.map +1 -0
- package/dist/src/diff.d.ts +72 -0
- package/dist/src/diff.d.ts.map +1 -1
- package/dist/src/diff.js +6 -0
- package/dist/src/diff.js.map +1 -1
- package/dist/src/index.d.ts +27 -11
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +30 -10
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +28 -0
- package/dist/src/internal.d.ts.map +1 -0
- package/dist/src/internal.js +28 -0
- package/dist/src/internal.js.map +1 -0
- package/dist/src/ontology.d.ts +205 -10
- package/dist/src/ontology.d.ts.map +1 -1
- package/dist/src/ontology.js +23 -4
- package/dist/src/ontology.js.map +1 -1
- package/dist/src/runtime/decision/journal.d.ts +29 -0
- package/dist/src/runtime/decision/journal.d.ts.map +1 -0
- package/dist/src/runtime/decision/journal.js +27 -0
- package/dist/src/runtime/decision/journal.js.map +1 -0
- package/dist/src/runtime/decision/queue.d.ts +47 -0
- package/dist/src/runtime/decision/queue.d.ts.map +1 -0
- package/dist/src/runtime/decision/queue.js +45 -0
- package/dist/src/runtime/decision/queue.js.map +1 -0
- package/dist/src/runtime/diff.d.ts +36 -0
- package/dist/src/runtime/diff.d.ts.map +1 -0
- package/dist/src/runtime/diff.js +34 -0
- package/dist/src/runtime/diff.js.map +1 -0
- package/dist/src/runtime/index.d.ts +15 -0
- package/dist/src/runtime/index.d.ts.map +1 -0
- package/dist/src/runtime/index.js +15 -0
- package/dist/src/runtime/index.js.map +1 -0
- package/dist/src/runtime/ontology.d.ts +36 -0
- package/dist/src/runtime/ontology.d.ts.map +1 -0
- package/dist/src/runtime/ontology.js +34 -0
- package/dist/src/runtime/ontology.js.map +1 -0
- package/dist/src/runtime/runtime.d.ts +7 -0
- package/dist/src/runtime/runtime.d.ts.map +1 -0
- package/dist/src/runtime/runtime.js +7 -0
- package/dist/src/runtime/runtime.js.map +1 -0
- package/dist/src/ui.d.ts +6 -6
- package/dist/src/ui.d.ts.map +1 -1
- package/dist/src/ui.js +9 -1
- package/dist/src/ui.js.map +1 -1
- package/dist/test/{data.examples.d.ts → data/data.examples.d.ts} +1 -0
- package/dist/test/data/data.examples.d.ts.map +1 -0
- package/dist/test/{data.examples.js → data/data.examples.js} +30 -68
- package/dist/test/data/data.examples.js.map +1 -0
- package/dist/test/decision/journal.examples.d.ts +266 -0
- package/dist/test/decision/journal.examples.d.ts.map +1 -0
- package/dist/test/decision/journal.examples.js +107 -0
- package/dist/test/decision/journal.examples.js.map +1 -0
- package/dist/test/decision/loop.examples.d.ts +455 -0
- package/dist/test/decision/loop.examples.d.ts.map +1 -0
- package/dist/test/decision/loop.examples.js +120 -0
- package/dist/test/decision/loop.examples.js.map +1 -0
- package/dist/test/decision/queue.examples.d.ts +269 -0
- package/dist/test/decision/queue.examples.d.ts.map +1 -0
- package/dist/test/decision/queue.examples.js +273 -0
- package/dist/test/decision/queue.examples.js.map +1 -0
- package/dist/test/{diff.examples.d.ts → diff/diff.examples.d.ts} +5 -4
- package/dist/test/diff/diff.examples.d.ts.map +1 -0
- package/dist/test/diff/diff.examples.js +582 -0
- package/dist/test/diff/diff.examples.js.map +1 -0
- package/dist/test/{ontology.examples.d.ts → ontology/ontology.examples.d.ts} +6 -4
- package/dist/test/ontology/ontology.examples.d.ts.map +1 -0
- package/dist/test/{ontology.examples.js → ontology/ontology.examples.js} +37 -57
- package/dist/test/ontology/ontology.examples.js.map +1 -0
- package/package.json +19 -19
- package/dist/test/data.examples.d.ts.map +0 -1
- package/dist/test/data.examples.js.map +0 -1
- package/dist/test/diff.examples.d.ts.map +0 -1
- package/dist/test/diff.examples.js +0 -964
- package/dist/test/diff.examples.js.map +0 -1
- package/dist/test/ontology.examples.d.ts.map +0 -1
- package/dist/test/ontology.examples.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decision/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAuC,MAAM,WAAW,CAAC;AAElH,eAAO,MAAM,QAAQ;IAEjB;;;OAGG;;;QAIC;sEAC8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAE9D,uDAAuD;;QAEvD,wCAAwC;;;;;;;QAExC;;gDAEwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGtC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The Decision platform namespace — constructors for the decision envelope
|
|
7
|
+
* (`make` / `option` / `reference` / `judgement`), the per-surface handle
|
|
8
|
+
* (`bind`), and the East `Types`.
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
import { Decision as constructors } from './types.js';
|
|
13
|
+
import { decisionBind, decisionHandleType, judgementsType, DecisionHandleType, CommitStateType } from './bind.js';
|
|
14
|
+
export const Decision = {
|
|
15
|
+
...constructors,
|
|
16
|
+
/**
|
|
17
|
+
* Build the per-surface decision handle from bound decision views + the
|
|
18
|
+
* bound judgements view — see {@link decisionBind}.
|
|
19
|
+
*/
|
|
20
|
+
bind: decisionBind,
|
|
21
|
+
Types: {
|
|
22
|
+
...constructors.Types,
|
|
23
|
+
/** The default handle struct returned by {@link decisionBind};
|
|
24
|
+
* `HandleFor(Contract)` builds the contract-specific one. */
|
|
25
|
+
Handle: DecisionHandleType,
|
|
26
|
+
/** Build the handle type for a constraint contract. */
|
|
27
|
+
HandleFor: decisionHandleType,
|
|
28
|
+
/** The derived per-case commit gate. */
|
|
29
|
+
CommitState: CommitStateType,
|
|
30
|
+
/** Build the judgements dataset type for a constraint contract —
|
|
31
|
+
* `Decision.Types.Judgements(Contract)`; call with no argument for
|
|
32
|
+
* the default primitive op-variant. */
|
|
33
|
+
Judgements: judgementsType,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decision/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAElH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,GAAG,YAAY;IACf;;;OAGG;IACH,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE;QACH,GAAG,YAAY,CAAC,KAAK;QACrB;sEAC8D;QAC9D,MAAM,EAAE,kBAAkB;QAC1B,uDAAuD;QACvD,SAAS,EAAE,kBAAkB;QAC7B,wCAAwC;QACxC,WAAW,EAAE,eAAe;QAC5B;;gDAEwC;QACxC,UAAU,EAAE,cAAc;KAC7B;CACK,CAAC"}
|
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `DecisionJournal` — the Decide↔Trust seam (the spec's `Decision.Journal`):
|
|
7
|
+
* the read-back of resolved cases. Each entry is a staged judgement whose
|
|
8
|
+
* verdict is set — how the case left the queue (accepted / rejected /
|
|
9
|
+
* deferred / handoff), when, with the operator's captured knowledge and
|
|
10
|
+
* injected constraints. The exact complement of the queue's projection:
|
|
11
|
+
* the queue shows cases *without* verdicts, the journal shows cases *with*
|
|
12
|
+
* them.
|
|
13
|
+
*
|
|
14
|
+
* @packageDocumentation
|
|
15
|
+
*/
|
|
16
|
+
import { StructType, OptionType, StringType, type ExprType, type SubtypeExprOrValue } from '@elaraai/east';
|
|
17
|
+
import { UIComponentType } from '@elaraai/east-ui';
|
|
18
|
+
import { type DecisionHandleLike } from './bind.js';
|
|
19
|
+
/**
|
|
20
|
+
* The `DecisionJournal` component payload.
|
|
21
|
+
*
|
|
22
|
+
* @property handle - The surface's decision handle ref (binding descriptors).
|
|
23
|
+
* @property heading - Optional header label (e.g. `"Decision journal"`).
|
|
24
|
+
* @property maxHeight - Optional cap on the journal's height (a CSS length,
|
|
25
|
+
* e.g. `"320px"`). The header stays pinned; the entries scroll.
|
|
26
|
+
*/
|
|
27
|
+
export declare const DecisionJournalPayloadType: StructType<{
|
|
28
|
+
readonly handle: StructType<{
|
|
29
|
+
readonly decisions: import("@elaraai/east").ArrayType<StructType<{
|
|
30
|
+
readonly source: import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
31
|
+
readonly field: StringType;
|
|
32
|
+
}>>;
|
|
33
|
+
readonly patch: OptionType<import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
34
|
+
readonly field: StringType;
|
|
35
|
+
}>>>;
|
|
36
|
+
readonly mode: import("@elaraai/east").VariantType<{
|
|
37
|
+
readonly staged: import("@elaraai/east").NullType;
|
|
38
|
+
readonly direct: import("@elaraai/east").NullType;
|
|
39
|
+
}>;
|
|
40
|
+
}>>;
|
|
41
|
+
readonly judgements: StructType<{
|
|
42
|
+
readonly source: import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
43
|
+
readonly field: StringType;
|
|
44
|
+
}>>;
|
|
45
|
+
readonly patch: OptionType<import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
46
|
+
readonly field: StringType;
|
|
47
|
+
}>>>;
|
|
48
|
+
readonly mode: import("@elaraai/east").VariantType<{
|
|
49
|
+
readonly staged: import("@elaraai/east").NullType;
|
|
50
|
+
readonly direct: import("@elaraai/east").NullType;
|
|
51
|
+
}>;
|
|
52
|
+
}>;
|
|
53
|
+
readonly slice: OptionType<StructType<{
|
|
54
|
+
readonly range: OptionType<import("@elaraai/east").VariantType<{
|
|
55
|
+
readonly datetime: StructType<{
|
|
56
|
+
readonly from: import("@elaraai/east").DateTimeType;
|
|
57
|
+
readonly to: import("@elaraai/east").DateTimeType;
|
|
58
|
+
}>;
|
|
59
|
+
readonly datetimePreset: import("@elaraai/east").VariantType<{
|
|
60
|
+
readonly today: import("@elaraai/east").NullType;
|
|
61
|
+
readonly last7d: import("@elaraai/east").NullType;
|
|
62
|
+
readonly last30d: import("@elaraai/east").NullType;
|
|
63
|
+
readonly last90d: import("@elaraai/east").NullType;
|
|
64
|
+
readonly ytd: import("@elaraai/east").NullType;
|
|
65
|
+
}>;
|
|
66
|
+
readonly integer: StructType<{
|
|
67
|
+
readonly from: import("@elaraai/east").IntegerType;
|
|
68
|
+
readonly to: import("@elaraai/east").IntegerType;
|
|
69
|
+
}>;
|
|
70
|
+
readonly float: StructType<{
|
|
71
|
+
readonly from: import("@elaraai/east").FloatType;
|
|
72
|
+
readonly to: import("@elaraai/east").FloatType;
|
|
73
|
+
}>;
|
|
74
|
+
}>>;
|
|
75
|
+
readonly compare: OptionType<import("@elaraai/east").VariantType<{
|
|
76
|
+
readonly previousPeriod: import("@elaraai/east").NullType;
|
|
77
|
+
readonly previousYear: import("@elaraai/east").NullType;
|
|
78
|
+
}>>;
|
|
79
|
+
readonly filters: import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
80
|
+
readonly string: StructType<{
|
|
81
|
+
readonly fieldId: StringType;
|
|
82
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
83
|
+
readonly eq: StringType;
|
|
84
|
+
readonly neq: StringType;
|
|
85
|
+
readonly in: import("@elaraai/east").SetType<StringType>;
|
|
86
|
+
readonly notIn: import("@elaraai/east").SetType<StringType>;
|
|
87
|
+
readonly contains: StringType;
|
|
88
|
+
readonly matches: StringType;
|
|
89
|
+
}>;
|
|
90
|
+
}>;
|
|
91
|
+
readonly integer: StructType<{
|
|
92
|
+
readonly fieldId: StringType;
|
|
93
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
94
|
+
readonly eq: import("@elaraai/east").IntegerType;
|
|
95
|
+
readonly neq: import("@elaraai/east").IntegerType;
|
|
96
|
+
readonly lt: import("@elaraai/east").IntegerType;
|
|
97
|
+
readonly lte: import("@elaraai/east").IntegerType;
|
|
98
|
+
readonly gt: import("@elaraai/east").IntegerType;
|
|
99
|
+
readonly gte: import("@elaraai/east").IntegerType;
|
|
100
|
+
readonly in: import("@elaraai/east").SetType<import("@elaraai/east").IntegerType>;
|
|
101
|
+
}>;
|
|
102
|
+
}>;
|
|
103
|
+
readonly float: StructType<{
|
|
104
|
+
readonly fieldId: StringType;
|
|
105
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
106
|
+
readonly lt: import("@elaraai/east").FloatType;
|
|
107
|
+
readonly lte: import("@elaraai/east").FloatType;
|
|
108
|
+
readonly gt: import("@elaraai/east").FloatType;
|
|
109
|
+
readonly gte: import("@elaraai/east").FloatType;
|
|
110
|
+
}>;
|
|
111
|
+
}>;
|
|
112
|
+
readonly datetime: StructType<{
|
|
113
|
+
readonly fieldId: StringType;
|
|
114
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
115
|
+
readonly before: import("@elaraai/east").DateTimeType;
|
|
116
|
+
readonly after: import("@elaraai/east").DateTimeType;
|
|
117
|
+
readonly between: StructType<{
|
|
118
|
+
readonly from: import("@elaraai/east").DateTimeType;
|
|
119
|
+
readonly to: import("@elaraai/east").DateTimeType;
|
|
120
|
+
}>;
|
|
121
|
+
}>;
|
|
122
|
+
}>;
|
|
123
|
+
readonly boolean: StructType<{
|
|
124
|
+
readonly fieldId: StringType;
|
|
125
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
126
|
+
readonly is: import("@elaraai/east").BooleanType;
|
|
127
|
+
}>;
|
|
128
|
+
}>;
|
|
129
|
+
}>>;
|
|
130
|
+
readonly cohorts: import("@elaraai/east").ArrayType<StructType<{
|
|
131
|
+
readonly id: StringType;
|
|
132
|
+
readonly name: StringType;
|
|
133
|
+
readonly filters: import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
134
|
+
readonly string: StructType<{
|
|
135
|
+
readonly fieldId: StringType;
|
|
136
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
137
|
+
readonly eq: StringType;
|
|
138
|
+
readonly neq: StringType;
|
|
139
|
+
readonly in: import("@elaraai/east").SetType<StringType>;
|
|
140
|
+
readonly notIn: import("@elaraai/east").SetType<StringType>;
|
|
141
|
+
readonly contains: StringType;
|
|
142
|
+
readonly matches: StringType;
|
|
143
|
+
}>;
|
|
144
|
+
}>;
|
|
145
|
+
readonly integer: StructType<{
|
|
146
|
+
readonly fieldId: StringType;
|
|
147
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
148
|
+
readonly eq: import("@elaraai/east").IntegerType;
|
|
149
|
+
readonly neq: import("@elaraai/east").IntegerType;
|
|
150
|
+
readonly lt: import("@elaraai/east").IntegerType;
|
|
151
|
+
readonly lte: import("@elaraai/east").IntegerType;
|
|
152
|
+
readonly gt: import("@elaraai/east").IntegerType;
|
|
153
|
+
readonly gte: import("@elaraai/east").IntegerType;
|
|
154
|
+
readonly in: import("@elaraai/east").SetType<import("@elaraai/east").IntegerType>;
|
|
155
|
+
}>;
|
|
156
|
+
}>;
|
|
157
|
+
readonly float: StructType<{
|
|
158
|
+
readonly fieldId: StringType;
|
|
159
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
160
|
+
readonly lt: import("@elaraai/east").FloatType;
|
|
161
|
+
readonly lte: import("@elaraai/east").FloatType;
|
|
162
|
+
readonly gt: import("@elaraai/east").FloatType;
|
|
163
|
+
readonly gte: import("@elaraai/east").FloatType;
|
|
164
|
+
}>;
|
|
165
|
+
}>;
|
|
166
|
+
readonly datetime: StructType<{
|
|
167
|
+
readonly fieldId: StringType;
|
|
168
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
169
|
+
readonly before: import("@elaraai/east").DateTimeType;
|
|
170
|
+
readonly after: import("@elaraai/east").DateTimeType;
|
|
171
|
+
readonly between: StructType<{
|
|
172
|
+
readonly from: import("@elaraai/east").DateTimeType;
|
|
173
|
+
readonly to: import("@elaraai/east").DateTimeType;
|
|
174
|
+
}>;
|
|
175
|
+
}>;
|
|
176
|
+
}>;
|
|
177
|
+
readonly boolean: StructType<{
|
|
178
|
+
readonly fieldId: StringType;
|
|
179
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
180
|
+
readonly is: import("@elaraai/east").BooleanType;
|
|
181
|
+
}>;
|
|
182
|
+
}>;
|
|
183
|
+
}>>;
|
|
184
|
+
}>>;
|
|
185
|
+
readonly activeCohorts: import("@elaraai/east").SetType<StringType>;
|
|
186
|
+
readonly breakdown: OptionType<StructType<{
|
|
187
|
+
readonly fieldId: StringType;
|
|
188
|
+
readonly limit: OptionType<import("@elaraai/east").IntegerType>;
|
|
189
|
+
}>>;
|
|
190
|
+
readonly search: OptionType<StringType>;
|
|
191
|
+
readonly visible: OptionType<import("@elaraai/east").SetType<StringType>>;
|
|
192
|
+
readonly selectedIndex: OptionType<import("@elaraai/east").IntegerType>;
|
|
193
|
+
}>>;
|
|
194
|
+
}>;
|
|
195
|
+
readonly heading: OptionType<StringType>;
|
|
196
|
+
readonly maxHeight: OptionType<StringType>;
|
|
197
|
+
}>;
|
|
198
|
+
/** Type alias for {@link DecisionJournalPayloadType}. */
|
|
199
|
+
export type DecisionJournalPayloadType = typeof DecisionJournalPayloadType;
|
|
200
|
+
/**
|
|
201
|
+
* Internal {@link EastUI.component} carrier. The React renderer registers
|
|
202
|
+
* against this in `@elaraai/e3-ui-components` via `implementUIComponent`.
|
|
203
|
+
*/
|
|
204
|
+
export declare const DecisionJournalComponent: import("@elaraai/east-ui").UIComponentDef<StructType<{
|
|
205
|
+
readonly handle: StructType<{
|
|
206
|
+
readonly decisions: import("@elaraai/east").ArrayType<StructType<{
|
|
207
|
+
readonly source: import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
208
|
+
readonly field: StringType;
|
|
209
|
+
}>>;
|
|
210
|
+
readonly patch: OptionType<import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
211
|
+
readonly field: StringType;
|
|
212
|
+
}>>>;
|
|
213
|
+
readonly mode: import("@elaraai/east").VariantType<{
|
|
214
|
+
readonly staged: import("@elaraai/east").NullType;
|
|
215
|
+
readonly direct: import("@elaraai/east").NullType;
|
|
216
|
+
}>;
|
|
217
|
+
}>>;
|
|
218
|
+
readonly judgements: StructType<{
|
|
219
|
+
readonly source: import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
220
|
+
readonly field: StringType;
|
|
221
|
+
}>>;
|
|
222
|
+
readonly patch: OptionType<import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
223
|
+
readonly field: StringType;
|
|
224
|
+
}>>>;
|
|
225
|
+
readonly mode: import("@elaraai/east").VariantType<{
|
|
226
|
+
readonly staged: import("@elaraai/east").NullType;
|
|
227
|
+
readonly direct: import("@elaraai/east").NullType;
|
|
228
|
+
}>;
|
|
229
|
+
}>;
|
|
230
|
+
readonly slice: OptionType<StructType<{
|
|
231
|
+
readonly range: OptionType<import("@elaraai/east").VariantType<{
|
|
232
|
+
readonly datetime: StructType<{
|
|
233
|
+
readonly from: import("@elaraai/east").DateTimeType;
|
|
234
|
+
readonly to: import("@elaraai/east").DateTimeType;
|
|
235
|
+
}>;
|
|
236
|
+
readonly datetimePreset: import("@elaraai/east").VariantType<{
|
|
237
|
+
readonly today: import("@elaraai/east").NullType;
|
|
238
|
+
readonly last7d: import("@elaraai/east").NullType;
|
|
239
|
+
readonly last30d: import("@elaraai/east").NullType;
|
|
240
|
+
readonly last90d: import("@elaraai/east").NullType;
|
|
241
|
+
readonly ytd: import("@elaraai/east").NullType;
|
|
242
|
+
}>;
|
|
243
|
+
readonly integer: StructType<{
|
|
244
|
+
readonly from: import("@elaraai/east").IntegerType;
|
|
245
|
+
readonly to: import("@elaraai/east").IntegerType;
|
|
246
|
+
}>;
|
|
247
|
+
readonly float: StructType<{
|
|
248
|
+
readonly from: import("@elaraai/east").FloatType;
|
|
249
|
+
readonly to: import("@elaraai/east").FloatType;
|
|
250
|
+
}>;
|
|
251
|
+
}>>;
|
|
252
|
+
readonly compare: OptionType<import("@elaraai/east").VariantType<{
|
|
253
|
+
readonly previousPeriod: import("@elaraai/east").NullType;
|
|
254
|
+
readonly previousYear: import("@elaraai/east").NullType;
|
|
255
|
+
}>>;
|
|
256
|
+
readonly filters: import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
257
|
+
readonly string: StructType<{
|
|
258
|
+
readonly fieldId: StringType;
|
|
259
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
260
|
+
readonly eq: StringType;
|
|
261
|
+
readonly neq: StringType;
|
|
262
|
+
readonly in: import("@elaraai/east").SetType<StringType>;
|
|
263
|
+
readonly notIn: import("@elaraai/east").SetType<StringType>;
|
|
264
|
+
readonly contains: StringType;
|
|
265
|
+
readonly matches: StringType;
|
|
266
|
+
}>;
|
|
267
|
+
}>;
|
|
268
|
+
readonly integer: StructType<{
|
|
269
|
+
readonly fieldId: StringType;
|
|
270
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
271
|
+
readonly eq: import("@elaraai/east").IntegerType;
|
|
272
|
+
readonly neq: import("@elaraai/east").IntegerType;
|
|
273
|
+
readonly lt: import("@elaraai/east").IntegerType;
|
|
274
|
+
readonly lte: import("@elaraai/east").IntegerType;
|
|
275
|
+
readonly gt: import("@elaraai/east").IntegerType;
|
|
276
|
+
readonly gte: import("@elaraai/east").IntegerType;
|
|
277
|
+
readonly in: import("@elaraai/east").SetType<import("@elaraai/east").IntegerType>;
|
|
278
|
+
}>;
|
|
279
|
+
}>;
|
|
280
|
+
readonly float: StructType<{
|
|
281
|
+
readonly fieldId: StringType;
|
|
282
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
283
|
+
readonly lt: import("@elaraai/east").FloatType;
|
|
284
|
+
readonly lte: import("@elaraai/east").FloatType;
|
|
285
|
+
readonly gt: import("@elaraai/east").FloatType;
|
|
286
|
+
readonly gte: import("@elaraai/east").FloatType;
|
|
287
|
+
}>;
|
|
288
|
+
}>;
|
|
289
|
+
readonly datetime: StructType<{
|
|
290
|
+
readonly fieldId: StringType;
|
|
291
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
292
|
+
readonly before: import("@elaraai/east").DateTimeType;
|
|
293
|
+
readonly after: import("@elaraai/east").DateTimeType;
|
|
294
|
+
readonly between: StructType<{
|
|
295
|
+
readonly from: import("@elaraai/east").DateTimeType;
|
|
296
|
+
readonly to: import("@elaraai/east").DateTimeType;
|
|
297
|
+
}>;
|
|
298
|
+
}>;
|
|
299
|
+
}>;
|
|
300
|
+
readonly boolean: StructType<{
|
|
301
|
+
readonly fieldId: StringType;
|
|
302
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
303
|
+
readonly is: import("@elaraai/east").BooleanType;
|
|
304
|
+
}>;
|
|
305
|
+
}>;
|
|
306
|
+
}>>;
|
|
307
|
+
readonly cohorts: import("@elaraai/east").ArrayType<StructType<{
|
|
308
|
+
readonly id: StringType;
|
|
309
|
+
readonly name: StringType;
|
|
310
|
+
readonly filters: import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
|
|
311
|
+
readonly string: StructType<{
|
|
312
|
+
readonly fieldId: StringType;
|
|
313
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
314
|
+
readonly eq: StringType;
|
|
315
|
+
readonly neq: StringType;
|
|
316
|
+
readonly in: import("@elaraai/east").SetType<StringType>;
|
|
317
|
+
readonly notIn: import("@elaraai/east").SetType<StringType>;
|
|
318
|
+
readonly contains: StringType;
|
|
319
|
+
readonly matches: StringType;
|
|
320
|
+
}>;
|
|
321
|
+
}>;
|
|
322
|
+
readonly integer: StructType<{
|
|
323
|
+
readonly fieldId: StringType;
|
|
324
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
325
|
+
readonly eq: import("@elaraai/east").IntegerType;
|
|
326
|
+
readonly neq: import("@elaraai/east").IntegerType;
|
|
327
|
+
readonly lt: import("@elaraai/east").IntegerType;
|
|
328
|
+
readonly lte: import("@elaraai/east").IntegerType;
|
|
329
|
+
readonly gt: import("@elaraai/east").IntegerType;
|
|
330
|
+
readonly gte: import("@elaraai/east").IntegerType;
|
|
331
|
+
readonly in: import("@elaraai/east").SetType<import("@elaraai/east").IntegerType>;
|
|
332
|
+
}>;
|
|
333
|
+
}>;
|
|
334
|
+
readonly float: StructType<{
|
|
335
|
+
readonly fieldId: StringType;
|
|
336
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
337
|
+
readonly lt: import("@elaraai/east").FloatType;
|
|
338
|
+
readonly lte: import("@elaraai/east").FloatType;
|
|
339
|
+
readonly gt: import("@elaraai/east").FloatType;
|
|
340
|
+
readonly gte: import("@elaraai/east").FloatType;
|
|
341
|
+
}>;
|
|
342
|
+
}>;
|
|
343
|
+
readonly datetime: StructType<{
|
|
344
|
+
readonly fieldId: StringType;
|
|
345
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
346
|
+
readonly before: import("@elaraai/east").DateTimeType;
|
|
347
|
+
readonly after: import("@elaraai/east").DateTimeType;
|
|
348
|
+
readonly between: StructType<{
|
|
349
|
+
readonly from: import("@elaraai/east").DateTimeType;
|
|
350
|
+
readonly to: import("@elaraai/east").DateTimeType;
|
|
351
|
+
}>;
|
|
352
|
+
}>;
|
|
353
|
+
}>;
|
|
354
|
+
readonly boolean: StructType<{
|
|
355
|
+
readonly fieldId: StringType;
|
|
356
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
357
|
+
readonly is: import("@elaraai/east").BooleanType;
|
|
358
|
+
}>;
|
|
359
|
+
}>;
|
|
360
|
+
}>>;
|
|
361
|
+
}>>;
|
|
362
|
+
readonly activeCohorts: import("@elaraai/east").SetType<StringType>;
|
|
363
|
+
readonly breakdown: OptionType<StructType<{
|
|
364
|
+
readonly fieldId: StringType;
|
|
365
|
+
readonly limit: OptionType<import("@elaraai/east").IntegerType>;
|
|
366
|
+
}>>;
|
|
367
|
+
readonly search: OptionType<StringType>;
|
|
368
|
+
readonly visible: OptionType<import("@elaraai/east").SetType<StringType>>;
|
|
369
|
+
readonly selectedIndex: OptionType<import("@elaraai/east").IntegerType>;
|
|
370
|
+
}>>;
|
|
371
|
+
}>;
|
|
372
|
+
readonly heading: OptionType<StringType>;
|
|
373
|
+
readonly maxHeight: OptionType<StringType>;
|
|
374
|
+
}>>;
|
|
375
|
+
/**
|
|
376
|
+
* Options for {@link DecisionJournal.Root}.
|
|
377
|
+
*
|
|
378
|
+
* @property handle - The surface's decision handle from `Decision.bind`.
|
|
379
|
+
* @property heading - Optional header label.
|
|
380
|
+
* @property maxHeight - Optional cap on the journal's height (a CSS length,
|
|
381
|
+
* e.g. `"320px"`). The header stays pinned; the entries scroll. Unset,
|
|
382
|
+
* the journal grows with its content.
|
|
383
|
+
*/
|
|
384
|
+
export interface DecisionJournalOptions {
|
|
385
|
+
handle: DecisionHandleLike;
|
|
386
|
+
heading?: SubtypeExprOrValue<StringType>;
|
|
387
|
+
maxHeight?: SubtypeExprOrValue<StringType>;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* The Decision journal component namespace — the resolved-cases read-back.
|
|
391
|
+
*
|
|
392
|
+
* @remarks
|
|
393
|
+
* Use `DecisionJournal.Root({ handle })` inside a `Reactive` block, with the
|
|
394
|
+
* same handle the queue consumes — as cases resolve they leave the queue and
|
|
395
|
+
* appear here, newest first. The `Component` property is the
|
|
396
|
+
* {@link EastUI.component} carrier the renderer registers against.
|
|
397
|
+
*/
|
|
398
|
+
export declare const DecisionJournal: {
|
|
399
|
+
Root(options: DecisionJournalOptions): ExprType<UIComponentType>;
|
|
400
|
+
Component: typeof DecisionJournalComponent;
|
|
401
|
+
Types: {
|
|
402
|
+
Payload: DecisionJournalPayloadType;
|
|
403
|
+
};
|
|
404
|
+
};
|
|
405
|
+
//# sourceMappingURL=journal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../../src/decision/journal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EAEH,UAAU,EACV,UAAU,EACV,UAAU,EAGV,KAAK,QAAQ,EACb,KAAK,kBAAkB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAU,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAM3E;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIrC,CAAC;AACH,yDAAyD;AACzD,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC;AAE3E;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAsF,CAAC;AAM5H;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;CAC9C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE;IAC1B,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IACjE,SAAS,EAAE,OAAO,wBAAwB,CAAC;IAC3C,KAAK,EAAE;QAAE,OAAO,EAAE,0BAA0B,CAAA;KAAE,CAAC;CAyBzC,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `DecisionJournal` — the Decide↔Trust seam (the spec's `Decision.Journal`):
|
|
7
|
+
* the read-back of resolved cases. Each entry is a staged judgement whose
|
|
8
|
+
* verdict is set — how the case left the queue (accepted / rejected /
|
|
9
|
+
* deferred / handoff), when, with the operator's captured knowledge and
|
|
10
|
+
* injected constraints. The exact complement of the queue's projection:
|
|
11
|
+
* the queue shows cases *without* verdicts, the journal shows cases *with*
|
|
12
|
+
* them.
|
|
13
|
+
*
|
|
14
|
+
* @packageDocumentation
|
|
15
|
+
*/
|
|
16
|
+
import { East, StructType, OptionType, StringType, some, none, } from '@elaraai/east';
|
|
17
|
+
import { EastUI, UIComponentType } from '@elaraai/east-ui';
|
|
18
|
+
import { DecisionHandleRefType } from './bind.js';
|
|
19
|
+
// ============================================================================
|
|
20
|
+
// Payload — the fixed IR shape the renderer decodes.
|
|
21
|
+
// ============================================================================
|
|
22
|
+
/**
|
|
23
|
+
* The `DecisionJournal` component payload.
|
|
24
|
+
*
|
|
25
|
+
* @property handle - The surface's decision handle ref (binding descriptors).
|
|
26
|
+
* @property heading - Optional header label (e.g. `"Decision journal"`).
|
|
27
|
+
* @property maxHeight - Optional cap on the journal's height (a CSS length,
|
|
28
|
+
* e.g. `"320px"`). The header stays pinned; the entries scroll.
|
|
29
|
+
*/
|
|
30
|
+
export const DecisionJournalPayloadType = StructType({
|
|
31
|
+
handle: DecisionHandleRefType,
|
|
32
|
+
heading: OptionType(StringType),
|
|
33
|
+
maxHeight: OptionType(StringType),
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Internal {@link EastUI.component} carrier. The React renderer registers
|
|
37
|
+
* against this in `@elaraai/e3-ui-components` via `implementUIComponent`.
|
|
38
|
+
*/
|
|
39
|
+
export const DecisionJournalComponent = EastUI.component("DecisionJournal", DecisionJournalPayloadType, { optional: true });
|
|
40
|
+
/**
|
|
41
|
+
* The Decision journal component namespace — the resolved-cases read-back.
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* Use `DecisionJournal.Root({ handle })` inside a `Reactive` block, with the
|
|
45
|
+
* same handle the queue consumes — as cases resolve they leave the queue and
|
|
46
|
+
* appear here, newest first. The `Component` property is the
|
|
47
|
+
* {@link EastUI.component} carrier the renderer registers against.
|
|
48
|
+
*/
|
|
49
|
+
export const DecisionJournal = {
|
|
50
|
+
/**
|
|
51
|
+
* Build a decision journal bound to a decision handle.
|
|
52
|
+
*
|
|
53
|
+
* @param options - {@link DecisionJournalOptions}. Only `handle` is required.
|
|
54
|
+
* @returns An East expression of {@link UIComponentType}.
|
|
55
|
+
*/
|
|
56
|
+
Root(options) {
|
|
57
|
+
return DecisionJournalComponent.Root({
|
|
58
|
+
handle: East.value({
|
|
59
|
+
decisions: options.handle.decisions,
|
|
60
|
+
judgements: options.handle.judgements,
|
|
61
|
+
slice: options.handle.sliceInit,
|
|
62
|
+
}, DecisionHandleRefType),
|
|
63
|
+
heading: options.heading !== undefined ? some(options.heading) : none,
|
|
64
|
+
maxHeight: options.maxHeight !== undefined ? some(options.maxHeight) : none,
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
/** The internal {@link EastUI.component} carrier renderers register against. */
|
|
68
|
+
Component: DecisionJournalComponent,
|
|
69
|
+
Types: {
|
|
70
|
+
/** The rendered payload struct. */
|
|
71
|
+
Payload: DecisionJournalPayloadType,
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=journal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journal.js","sourceRoot":"","sources":["../../../src/decision/journal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EACH,IAAI,EACJ,UAAU,EACV,UAAU,EACV,UAAU,EACV,IAAI,EACJ,IAAI,GAGP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAA2B,MAAM,WAAW,CAAC;AAE3E,+EAA+E;AAC/E,qDAAqD;AACrD,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;IACjD,MAAM,EAAE,qBAAqB;IAC7B,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC;IAC/B,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC;CACpC,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAqB5H;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAIxB;IACA;;;;;OAKG;IACH,IAAI,CAAC,OAA+B;QAChC,OAAO,wBAAwB,CAAC,IAAI,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;gBACf,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;gBACnC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;gBACrC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;aAClC,EAAE,qBAAqB,CAAC;YACzB,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YACrE,SAAS,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;SAC9E,CAAC,CAAC;IACP,CAAC;IACD,gFAAgF;IAChF,SAAS,EAAE,wBAAwB;IACnC,KAAK,EAAE;QACH,mCAAmC;QACnC,OAAO,EAAE,0BAA0B;KACtC;CACK,CAAC"}
|