aontu 0.62.0 → 0.64.0
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 +7 -7
- package/dist/agentsmd.js +0 -27
- package/dist/agentsmd.js.map +1 -1
- package/dist/alias.js.map +1 -1
- package/dist/allow.js +0 -92
- package/dist/allow.js.map +1 -1
- package/dist/aontu.d.ts +3 -3
- package/dist/aontu.js +4 -84
- package/dist/aontu.js.map +1 -1
- package/dist/aontumodel.d.ts +4 -0
- package/dist/aontumodel.js +27 -0
- package/dist/aontumodel.js.map +1 -0
- package/dist/casing.d.ts +5 -0
- package/dist/casing.js +90 -0
- package/dist/casing.js.map +1 -0
- package/dist/cli.d.ts +2 -2
- package/dist/cli.js +228 -935
- package/dist/cli.js.map +1 -1
- package/dist/ctx.js +0 -48
- package/dist/ctx.js.map +1 -1
- package/dist/diff.js +0 -32
- package/dist/diff.js.map +1 -1
- package/dist/err.js +0 -40
- package/dist/err.js.map +1 -1
- package/dist/escape.js +0 -45
- package/dist/escape.js.map +1 -1
- package/dist/exactjson.d.ts +0 -35
- package/dist/exactjson.js +0 -131
- package/dist/exactjson.js.map +1 -1
- package/dist/format.js +13 -203
- package/dist/format.js.map +1 -1
- package/dist/grammar.d.ts +9 -0
- package/dist/grammar.js +54 -0
- package/dist/grammar.js.map +1 -0
- package/dist/graph.js +0 -26
- package/dist/graph.js.map +1 -1
- package/dist/hcanon.js +0 -82
- package/dist/hcanon.js.map +1 -1
- package/dist/helpdoc.js +2 -2
- package/dist/helpdoc.js.map +1 -1
- package/dist/hints.d.ts +0 -6
- package/dist/hints.js +57 -55
- package/dist/hints.js.map +1 -1
- package/dist/jsonschema.js +0 -114
- package/dist/jsonschema.js.map +1 -1
- package/dist/keyorder.d.ts +0 -7
- package/dist/keyorder.js +0 -41
- package/dist/keyorder.js.map +1 -1
- package/dist/lang.js +17 -915
- package/dist/lang.js.map +1 -1
- package/dist/lsp-server.js +0 -16
- package/dist/lsp-server.js.map +1 -1
- package/dist/lsp.d.ts +1 -1
- package/dist/lsp.js +12 -159
- package/dist/lsp.js.map +1 -1
- package/dist/mcp-server.js +0 -26
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp.js +0 -149
- package/dist/mcp.js.map +1 -1
- package/dist/mod-tool.js +16 -131
- package/dist/mod-tool.js.map +1 -1
- package/dist/mod.js +0 -162
- package/dist/mod.js.map +1 -1
- package/dist/patch.js +0 -217
- package/dist/patch.js.map +1 -1
- package/dist/profile.d.ts +9 -0
- package/dist/profile.js +28 -0
- package/dist/profile.js.map +1 -0
- package/dist/provenance.js +0 -140
- package/dist/provenance.js.map +1 -1
- package/dist/query.js +0 -75
- package/dist/query.js.map +1 -1
- package/dist/reach.js +0 -43
- package/dist/reach.js.map +1 -1
- package/dist/relation.js +0 -61
- package/dist/relation.js.map +1 -1
- package/dist/report-sarif.d.ts +0 -11
- package/dist/report-sarif.js +0 -28
- package/dist/report-sarif.js.map +1 -1
- package/dist/sig.js +0 -35
- package/dist/sig.js.map +1 -1
- package/dist/sigdecl.js +1 -1
- package/dist/sigdecl.js.map +1 -1
- package/dist/siggate.js +0 -4
- package/dist/siggate.js.map +1 -1
- package/dist/site.js +3 -29
- package/dist/site.js.map +1 -1
- package/dist/subsume.d.ts +0 -10
- package/dist/subsume.js +0 -137
- package/dist/subsume.js.map +1 -1
- package/dist/template.d.ts +2 -1
- package/dist/template.js +58 -138
- package/dist/template.js.map +1 -1
- package/dist/trace.d.ts +21 -0
- package/dist/trace.js +107 -0
- package/dist/trace.js.map +1 -0
- package/dist/trim.js +0 -41
- package/dist/trim.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/type.js.map +1 -1
- package/dist/unify.js +13 -248
- package/dist/unify.js.map +1 -1
- package/dist/utility.js +0 -22
- package/dist/utility.js.map +1 -1
- package/dist/val/AbnfFuncVal.d.ts +18 -0
- package/dist/val/AbnfFuncVal.js +132 -0
- package/dist/val/AbnfFuncVal.js.map +1 -0
- package/dist/val/AbsentVal.d.ts +11 -0
- package/dist/val/AbsentVal.js +30 -0
- package/dist/val/AbsentVal.js.map +1 -0
- package/dist/val/AggFuncVal.d.ts +10 -1
- package/dist/val/AggFuncVal.js +104 -116
- package/dist/val/AggFuncVal.js.map +1 -1
- package/dist/val/ArithFuncVal.js +0 -12
- package/dist/val/ArithFuncVal.js.map +1 -1
- package/dist/val/BagVal.js +1 -78
- package/dist/val/BagVal.js.map +1 -1
- package/dist/val/BigDecimalVal.js +0 -16
- package/dist/val/BigDecimalVal.js.map +1 -1
- package/dist/val/BigIntegerVal.js +0 -16
- package/dist/val/BigIntegerVal.js.map +1 -1
- package/dist/val/CloseFuncVal.js +0 -9
- package/dist/val/CloseFuncVal.js.map +1 -1
- package/dist/val/CmpFuncVal.d.ts +2 -0
- package/dist/val/CmpFuncVal.js +49 -72
- package/dist/val/CmpFuncVal.js.map +1 -1
- package/dist/val/ConjunctVal.js +0 -29
- package/dist/val/ConjunctVal.js.map +1 -1
- package/dist/val/ConstraintVal.js +0 -500
- package/dist/val/ConstraintVal.js.map +1 -1
- package/dist/val/ContainerKindVal.js +0 -2
- package/dist/val/ContainerKindVal.js.map +1 -1
- package/dist/val/CopyFuncVal.js +0 -3
- package/dist/val/CopyFuncVal.js.map +1 -1
- package/dist/val/Decimal.js +0 -179
- package/dist/val/Decimal.js.map +1 -1
- package/dist/val/DeprecateFuncVal.js.map +1 -1
- package/dist/val/DisjunctVal.js +0 -152
- package/dist/val/DisjunctVal.js.map +1 -1
- package/dist/val/EachFuncVal.js +0 -3
- package/dist/val/EachFuncVal.js.map +1 -1
- package/dist/val/EmitFuncVal.d.ts +1 -1
- package/dist/val/EmitFuncVal.js +6 -119
- package/dist/val/EmitFuncVal.js.map +1 -1
- package/dist/val/ExpectVal.js +0 -62
- package/dist/val/ExpectVal.js.map +1 -1
- package/dist/val/FilterFuncVal.js +0 -25
- package/dist/val/FilterFuncVal.js.map +1 -1
- package/dist/val/FuncBaseVal.d.ts +1 -0
- package/dist/val/FuncBaseVal.js +7 -127
- package/dist/val/FuncBaseVal.js.map +1 -1
- package/dist/val/GraphAtomVal.js +0 -15
- package/dist/val/GraphAtomVal.js.map +1 -1
- package/dist/val/HideFuncVal.js +0 -13
- package/dist/val/HideFuncVal.js.map +1 -1
- package/dist/val/IntegerVal.js +0 -61
- package/dist/val/IntegerVal.js.map +1 -1
- package/dist/val/JunctionVal.js +0 -20
- package/dist/val/JunctionVal.js.map +1 -1
- package/dist/val/KeyFuncVal.js +0 -46
- package/dist/val/KeyFuncVal.js.map +1 -1
- package/dist/val/ListVal.js +0 -57
- package/dist/val/ListVal.js.map +1 -1
- package/dist/val/LowerFuncVal.js +0 -11
- package/dist/val/LowerFuncVal.js.map +1 -1
- package/dist/val/MapVal.js +0 -151
- package/dist/val/MapVal.js.map +1 -1
- package/dist/val/MatchFuncVal.js +0 -27
- package/dist/val/MatchFuncVal.js.map +1 -1
- package/dist/val/{FormFuncVal.d.ts → MaybeFuncVal.d.ts} +5 -5
- package/dist/val/MaybeFuncVal.js +50 -0
- package/dist/val/MaybeFuncVal.js.map +1 -0
- package/dist/val/MoveFuncVal.js +0 -18
- package/dist/val/MoveFuncVal.js.map +1 -1
- package/dist/val/NilVal.js +0 -60
- package/dist/val/NilVal.js.map +1 -1
- package/dist/val/NomFuncVal.js +18 -54
- package/dist/val/NomFuncVal.js.map +1 -1
- package/dist/val/NumberVal.js +0 -15
- package/dist/val/NumberVal.js.map +1 -1
- package/dist/val/OpBaseVal.d.ts +1 -0
- package/dist/val/OpBaseVal.js +3 -15
- package/dist/val/OpBaseVal.js.map +1 -1
- package/dist/val/PackFuncVal.js +0 -34
- package/dist/val/PackFuncVal.js.map +1 -1
- package/dist/val/PathFuncVal.js +0 -6
- package/dist/val/PathFuncVal.js.map +1 -1
- package/dist/val/PathVal.js +0 -41
- package/dist/val/PathVal.js.map +1 -1
- package/dist/val/PlaceVal.js +0 -25
- package/dist/val/PlaceVal.js.map +1 -1
- package/dist/val/PlusOpVal.d.ts +1 -7
- package/dist/val/PlusOpVal.js +13 -74
- package/dist/val/PlusOpVal.js.map +1 -1
- package/dist/val/PrefFuncVal.js +0 -1
- package/dist/val/PrefFuncVal.js.map +1 -1
- package/dist/val/PrefVal.js +0 -167
- package/dist/val/PrefVal.js.map +1 -1
- package/dist/val/RecurseVal.js +0 -55
- package/dist/val/RecurseVal.js.map +1 -1
- package/dist/val/RefVal.js +0 -282
- package/dist/val/RefVal.js.map +1 -1
- package/dist/val/ReferFuncVal.js +3 -232
- package/dist/val/ReferFuncVal.js.map +1 -1
- package/dist/val/ScalarKindVal.js +0 -49
- package/dist/val/ScalarKindVal.js.map +1 -1
- package/dist/val/ScalarVal.js +0 -11
- package/dist/val/ScalarVal.js.map +1 -1
- package/dist/val/StrFuncVal.js +0 -18
- package/dist/val/StrFuncVal.js.map +1 -1
- package/dist/val/SuperFuncVal.js +0 -32
- package/dist/val/SuperFuncVal.js.map +1 -1
- package/dist/val/TopVal.js +0 -1
- package/dist/val/TopVal.js.map +1 -1
- package/dist/val/TranslateFuncVal.js +1 -3
- package/dist/val/TranslateFuncVal.js.map +1 -1
- package/dist/val/UpperFuncVal.js +0 -11
- package/dist/val/UpperFuncVal.js.map +1 -1
- package/dist/val/Val.d.ts +1 -0
- package/dist/val/Val.js +2 -133
- package/dist/val/Val.js.map +1 -1
- package/dist/val/VarVal.js +0 -12
- package/dist/val/VarVal.js.map +1 -1
- package/dist/val/arith.js +0 -37
- package/dist/val/arith.js.map +1 -1
- package/dist/val/caserange.js +0 -61
- package/dist/val/caserange.js.map +1 -1
- package/dist/val/members.js +0 -6
- package/dist/val/members.js.map +1 -1
- package/dist/val/numcmp.js +0 -11
- package/dist/val/numcmp.js.map +1 -1
- package/dist/val/numkind.js +0 -145
- package/dist/val/numkind.js.map +1 -1
- package/dist/val/valutil.js +0 -16
- package/dist/val/valutil.js.map +1 -1
- package/dist/vet.js +0 -461
- package/dist/vet.js.map +1 -1
- package/dist/view.js +0 -414
- package/dist/view.js.map +1 -1
- package/dist/walk.js +0 -41
- package/dist/walk.js.map +1 -1
- package/grammar/aontu.abnf +8 -6
- package/grammar/aontu.gbnf +4 -4
- package/grammar/aontu.lark +4 -4
- package/grammar/aontu.tmLanguage.json +1 -1
- package/package.json +4 -2
- package/skill/tasks.md +9 -7
- package/src/agentsmd.ts +0 -35
- package/src/alias.ts +0 -39
- package/src/allow.ts +1 -96
- package/src/aontu.ts +4 -116
- package/src/aontumodel.ts +26 -0
- package/src/casing.ts +95 -0
- package/src/cli.ts +258 -1024
- package/src/ctx.ts +0 -103
- package/src/diff.ts +0 -40
- package/src/err.ts +0 -40
- package/src/escape.ts +0 -46
- package/src/exactjson.ts +0 -131
- package/src/format.ts +14 -257
- package/src/grammar.ts +72 -0
- package/src/graph.ts +0 -61
- package/src/hcanon.ts +0 -82
- package/src/helpdoc.ts +2 -2
- package/src/hints.ts +69 -57
- package/src/jsonschema.ts +0 -123
- package/src/keyorder.ts +0 -42
- package/src/lang.ts +19 -931
- package/src/lsp-server.ts +0 -16
- package/src/lsp.ts +12 -180
- package/src/mcp-server.ts +0 -31
- package/src/mcp.ts +0 -169
- package/src/mod-tool.ts +18 -159
- package/src/mod.ts +0 -178
- package/src/patch.ts +0 -232
- package/src/profile.ts +42 -0
- package/src/provenance.ts +0 -183
- package/src/query.ts +0 -84
- package/src/reach.ts +0 -53
- package/src/relation.ts +0 -84
- package/src/report-sarif.ts +0 -48
- package/src/sig.ts +0 -35
- package/src/sigdecl.ts +1 -1
- package/src/siggate.ts +0 -30
- package/src/site.ts +3 -29
- package/src/subsume.ts +1 -161
- package/src/template.ts +69 -140
- package/src/trace.ts +157 -0
- package/src/trim.ts +0 -53
- package/src/type.ts +2 -45
- package/src/unify.ts +14 -257
- package/src/utility.ts +0 -31
- package/src/val/AbnfFuncVal.ts +181 -0
- package/src/val/AbsentVal.ts +54 -0
- package/src/val/AggFuncVal.ts +152 -188
- package/src/val/ArithFuncVal.ts +0 -20
- package/src/val/BagVal.ts +1 -78
- package/src/val/BigDecimalVal.ts +0 -16
- package/src/val/BigIntegerVal.ts +0 -16
- package/src/val/CloseFuncVal.ts +0 -9
- package/src/val/CmpFuncVal.ts +68 -184
- package/src/val/ConjunctVal.ts +0 -33
- package/src/val/ConstraintVal.ts +2 -537
- package/src/val/ContainerKindVal.ts +0 -18
- package/src/val/CopyFuncVal.ts +0 -5
- package/src/val/Decimal.ts +1 -185
- package/src/val/DeprecateFuncVal.ts +0 -10
- package/src/val/DisjunctVal.ts +0 -157
- package/src/val/EachFuncVal.ts +0 -40
- package/src/val/EmitFuncVal.ts +8 -208
- package/src/val/ExpectVal.ts +0 -62
- package/src/val/FilterFuncVal.ts +0 -55
- package/src/val/FuncBaseVal.ts +9 -130
- package/src/val/GraphAtomVal.ts +0 -42
- package/src/val/HideFuncVal.ts +0 -15
- package/src/val/IntegerVal.ts +0 -61
- package/src/val/JunctionVal.ts +0 -20
- package/src/val/KeyFuncVal.ts +0 -48
- package/src/val/ListVal.ts +0 -59
- package/src/val/LowerFuncVal.ts +0 -12
- package/src/val/MapVal.ts +0 -151
- package/src/val/MatchFuncVal.ts +0 -59
- package/src/val/MaybeFuncVal.ts +86 -0
- package/src/val/MoveFuncVal.ts +0 -20
- package/src/val/NilVal.ts +0 -60
- package/src/val/NomFuncVal.ts +10 -99
- package/src/val/NumberVal.ts +0 -16
- package/src/val/OpBaseVal.ts +4 -17
- package/src/val/PackFuncVal.ts +0 -63
- package/src/val/PathFuncVal.ts +0 -32
- package/src/val/PathVal.ts +0 -66
- package/src/val/PlaceVal.ts +0 -45
- package/src/val/PlusOpVal.ts +18 -75
- package/src/val/PrefFuncVal.ts +0 -1
- package/src/val/PrefVal.ts +0 -179
- package/src/val/RecurseVal.ts +0 -81
- package/src/val/RefVal.ts +1 -285
- package/src/val/ReferFuncVal.ts +4 -255
- package/src/val/ScalarKindVal.ts +0 -50
- package/src/val/ScalarVal.ts +0 -12
- package/src/val/StrFuncVal.ts +0 -44
- package/src/val/SuperFuncVal.ts +0 -42
- package/src/val/TopVal.ts +0 -1
- package/src/val/TranslateFuncVal.ts +1 -51
- package/src/val/UpperFuncVal.ts +0 -12
- package/src/val/Val.ts +3 -192
- package/src/val/VarVal.ts +0 -15
- package/src/val/arith.ts +0 -92
- package/src/val/caserange.ts +0 -62
- package/src/val/members.ts +0 -23
- package/src/val/numcmp.ts +1 -27
- package/src/val/numkind.ts +0 -149
- package/src/val/valutil.ts +0 -16
- package/src/vet.ts +1 -582
- package/src/view.ts +0 -507
- package/src/walk.ts +0 -41
- package/dist/lower.d.ts +0 -23
- package/dist/lower.js +0 -578
- package/dist/lower.js.map +0 -1
- package/dist/render.d.ts +0 -53
- package/dist/render.js +0 -547
- package/dist/render.js.map +0 -1
- package/dist/std.d.ts +0 -3
- package/dist/std.js +0 -672
- package/dist/std.js.map +0 -1
- package/dist/val/FormFuncVal.js +0 -55
- package/dist/val/FormFuncVal.js.map +0 -1
- package/dist/val/NamerFuncVal.d.ts +0 -12
- package/dist/val/NamerFuncVal.js +0 -176
- package/dist/val/NamerFuncVal.js.map +0 -1
- package/src/lower.ts +0 -636
- package/src/render.ts +0 -732
- package/src/std.ts +0 -683
package/dist/val/ReferFuncVal.js
CHANGED
|
@@ -13,14 +13,7 @@ const ConjunctVal_1 = require("./ConjunctVal");
|
|
|
13
13
|
const unify_1 = require("../unify");
|
|
14
14
|
const top_1 = require("./top");
|
|
15
15
|
const utility_1 = require("../utility");
|
|
16
|
-
// A RELATION PREDICATE is still a declared D-1 name
|
|
17
|
-
// (docs/design/RELATIONS.0.md §3.2). Entity names are gone with
|
|
18
|
-
// ADR-014; predicate names are not -- a relation is a vocabulary term,
|
|
19
|
-
// not an address.
|
|
20
16
|
const PREDICATE_NAME = /^[_a-zA-Z][-_a-zA-Z0-9]*$/;
|
|
21
|
-
// The tree path an address resolves to from `at` -- the position of
|
|
22
|
-
// the link itself -- or undefined when a relative address climbs off
|
|
23
|
-
// the top of the tree.
|
|
24
17
|
function addressPath(addr, at) {
|
|
25
18
|
if (addr.absolute) {
|
|
26
19
|
return addr.parts;
|
|
@@ -33,10 +26,6 @@ function addressPath(addr, at) {
|
|
|
33
26
|
}
|
|
34
27
|
return at.slice(0, cut).map(String).concat(addr.parts);
|
|
35
28
|
}
|
|
36
|
-
// The node a tree path names, with the parent and key that hold it so
|
|
37
|
-
// a type flow can be written back. Pending is not failure: the target
|
|
38
|
-
// may be introduced by a later conjunct, include or spread, so `refer`
|
|
39
|
-
// residuates exactly as a forward reference does.
|
|
40
29
|
function findAt(root, path) {
|
|
41
30
|
if (null == root || 0 === path.length) {
|
|
42
31
|
return undefined;
|
|
@@ -58,10 +47,6 @@ function findAt(root, path) {
|
|
|
58
47
|
}
|
|
59
48
|
return { parent, key, val };
|
|
60
49
|
}
|
|
61
|
-
// concreteFlow is `t` as it enters the target: a copy with the
|
|
62
|
-
// type/hide marks cleared at every depth. The clone matters as much as
|
|
63
|
-
// the clearing — `t` is shared by every position that refers to the
|
|
64
|
-
// same thing, and clearing in place would unmark the schema itself.
|
|
65
50
|
function concreteFlow(ctx, t) {
|
|
66
51
|
let marked = false;
|
|
67
52
|
(0, utility_1.walk)(t, (_key, v) => {
|
|
@@ -82,22 +67,11 @@ function concreteFlow(ctx, t) {
|
|
|
82
67
|
});
|
|
83
68
|
return out;
|
|
84
69
|
}
|
|
85
|
-
// ReferVal is what `refer(t)` RESOLVES to: the residual constraint,
|
|
86
|
-
// carrying the type to flow and — once it has met a string — the
|
|
87
|
-
// address to flow it into. A separate value from the function for the
|
|
88
|
-
// reason every residual is: the function is written once and the
|
|
89
|
-
// constraint is met many times, and only the constraint has state
|
|
90
|
-
// worth carrying.
|
|
91
70
|
class ReferVal extends FeatureVal_1.FeatureVal {
|
|
92
71
|
constructor(spec, ctx) {
|
|
93
72
|
super(spec, ctx);
|
|
94
73
|
this.isRefer = true;
|
|
95
74
|
this.isGenable = true;
|
|
96
|
-
// AFTER the plain values (base 99999), BEFORE the sizing atoms
|
|
97
|
-
// (LATE_CJO): sibling path values fold together first under the
|
|
98
|
-
// prefix rule, and the residual then meets ONE merged address --
|
|
99
|
-
// without this, `refer() & path($.a) & path($.a.b)` settled on the
|
|
100
|
-
// first path and the second met the finished link too late.
|
|
101
75
|
this.cjo = 120000;
|
|
102
76
|
// The codes this residual refuses with: refer() keeps its own,
|
|
103
77
|
// rel()-minted residuals carry rel_address/rel_unresolved.
|
|
@@ -109,16 +83,6 @@ class ReferVal extends FeatureVal_1.FeatureVal {
|
|
|
109
83
|
this.held = spec.held;
|
|
110
84
|
this.dc = 0;
|
|
111
85
|
}
|
|
112
|
-
// The residual's own state — the type to flow, the address it has
|
|
113
|
-
// met, the constraints it holds — TRAVELS with the clone. A spread
|
|
114
|
-
// template holds the FUNCTION, so a template never needs this; a
|
|
115
|
-
// REFERENCE to a value that already contains a resolved link does
|
|
116
|
-
// (`z: {u: refer() & "$.a"}` then `s: $.z`). Without it the
|
|
117
|
-
// clone came back as a bare `refer()` — the address silently
|
|
118
|
-
// dropped, and the copied link resolving to nothing.
|
|
119
|
-
//
|
|
120
|
-
// No path-dependence hook, though: a residual is minted at its
|
|
121
|
-
// destination, so `key()` inside a template resolves there already.
|
|
122
86
|
clone(ctx, spec) {
|
|
123
87
|
const out = super.clone(ctx, spec);
|
|
124
88
|
out.tval = this.tval;
|
|
@@ -150,19 +114,10 @@ class ReferVal extends FeatureVal_1.FeatureVal {
|
|
|
150
114
|
if (true === p.isNil) {
|
|
151
115
|
return peer;
|
|
152
116
|
}
|
|
153
|
-
// A PATH VALUE is the ADDRESS, when there is not one yet. Only a
|
|
154
|
-
// path value can be one (PATHS.0.md, amended): a bare string is
|
|
155
|
-
// never a path -- `path("...")` is the one string conversion, and
|
|
156
|
-
// it happens at the call, not here. The peg is pre-validated by
|
|
157
|
-
// the capture, so no parse can fail.
|
|
158
117
|
if (undefined === this.addr && true === p.isPath) {
|
|
159
118
|
const addr = (0, PathVal_1.parseAddress)(p.peg);
|
|
160
119
|
return this.with(ctx, { addr, addrsrc: p.peg }, peer);
|
|
161
120
|
}
|
|
162
|
-
// A SECOND path peer refines the address by the prefix rule: the
|
|
163
|
-
// longer of the two when one opens the other, exactly as two path
|
|
164
|
-
// values meet on their own. Two incomparable addresses are the
|
|
165
|
-
// same conflict two unequal scalars are.
|
|
166
121
|
if (undefined !== this.addr && true === p.isPath) {
|
|
167
122
|
const merged = (0, PathVal_1.prefixMeet)(this.addrsrc, p.peg);
|
|
168
123
|
if (undefined === merged) {
|
|
@@ -170,23 +125,13 @@ class ReferVal extends FeatureVal_1.FeatureVal {
|
|
|
170
125
|
}
|
|
171
126
|
return this.with(ctx, { addr: (0, PathVal_1.parseAddress)(merged), addrsrc: merged }, peer);
|
|
172
127
|
}
|
|
173
|
-
// A value that can never BE a path cannot be the address, and no
|
|
174
|
-
// later pass can repair it — so this arm refuses rather than
|
|
175
|
-
// defers. A bare STRING is in it now (PATHS.0.md, amended):
|
|
176
|
-
// `path("...")` is the one conversion, at the call. A KIND or a
|
|
177
|
-
// constraint is not in it: `string`, `re("^svc_")` and the like
|
|
178
|
-
// are perfectly good constraints on an address, and are held
|
|
179
|
-
// below until there is one to apply them to.
|
|
180
128
|
if ((true === p.isScalar && true !== p.isPath)
|
|
181
129
|
|| true === p.isMap || true === p.isList) {
|
|
182
130
|
return (0, err_1.makeNilErr)(ctx, this.addrcode, this, peer, 'refer');
|
|
183
131
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
// meets the link the moment the address resolves, so
|
|
188
|
-
// `refer() & re("a") & re("b") & path($.z)` still applies both and
|
|
189
|
-
// `refer() & string & path($.z)` still passes.
|
|
132
|
+
if (true === p.isFunc) {
|
|
133
|
+
return peer.unify(this, ctx);
|
|
134
|
+
}
|
|
190
135
|
return this.with(ctx, {
|
|
191
136
|
held: null == this.held ? peer : (0, unify_1.unite)(ctx, this.held, peer, 'refer-held'),
|
|
192
137
|
}, this);
|
|
@@ -213,24 +158,6 @@ class ReferVal extends FeatureVal_1.FeatureVal {
|
|
|
213
158
|
// resolved string should take.
|
|
214
159
|
settle(ctx, site) {
|
|
215
160
|
if (undefined === this.addr) {
|
|
216
|
-
// DONE while unmet, as `string` and `min(1)` are, and as RelVal
|
|
217
|
-
// has been since it was written (see its constructor). An
|
|
218
|
-
// ADDRESS-LESS refer has nothing to check yet and nothing to
|
|
219
|
-
// refuse: it is its own settled residual, and the meet
|
|
220
|
-
// re-activates it the moment a value arrives, because map
|
|
221
|
-
// merges build the conjunct regardless.
|
|
222
|
-
//
|
|
223
|
-
// NOT-DONE here used to be justified as keeping the pass loop
|
|
224
|
-
// offering the refer a chance -- but that is the job of the
|
|
225
|
-
// OTHER pending branch below, where an address exists and its
|
|
226
|
-
// target has not appeared. This branch has no address to
|
|
227
|
-
// resolve, so staying not-done bought nothing and cost the
|
|
228
|
-
// schema idiom: a `type()` body holding a link never settled,
|
|
229
|
-
// so its mark never transferred, so generation could not skip
|
|
230
|
-
// the marked subtree and raised `mapval_no_gen` naming the
|
|
231
|
-
// definition. `type({p: integer})`, `type({p: path()})` and
|
|
232
|
-
// `type({p: min(1)})` all settled; only a link did not
|
|
233
|
-
// (aontu-lang/aontu#172, G4 phase 4's recorded cost).
|
|
234
161
|
this.dc = type_1.DONE;
|
|
235
162
|
return this;
|
|
236
163
|
}
|
|
@@ -243,70 +170,18 @@ class ReferVal extends FeatureVal_1.FeatureVal {
|
|
|
243
170
|
}
|
|
244
171
|
const found = findAt(ctx?.root, target);
|
|
245
172
|
if (undefined === found) {
|
|
246
|
-
// PENDING, not failed — until the last pass. The target may be
|
|
247
|
-
// introduced by a later conjunct, include or spread, so `refer`
|
|
248
|
-
// residuates as a forward reference does; but within ONE
|
|
249
|
-
// evaluation the document-set is fixed, so existence IS
|
|
250
|
-
// decidable, and the final pass is where it is decided. A
|
|
251
|
-
// pending refer keeps the tree not-done, so the pass loop always
|
|
252
|
-
// reaches that pass when there is one to decide.
|
|
253
173
|
if (ctx.cc + 1 >= ctx.budget.passes) {
|
|
254
174
|
return (0, err_1.makeNilErr)(ctx, this.unresolvedcode, this, undefined, 'refer', { addr: this.addrsrc });
|
|
255
175
|
}
|
|
256
176
|
this.dc = 0;
|
|
257
177
|
return this;
|
|
258
178
|
}
|
|
259
|
-
// THE FLOW. `t` is unified into the target and written back at the
|
|
260
|
-
// target's own position — one position, because the tree is the
|
|
261
|
-
// namespace and a path names exactly one node.
|
|
262
|
-
//
|
|
263
|
-
// RE-ENTRANT ONLY ONCE PER TARGET (use-cases/BUGS.md §19). Uniting
|
|
264
|
-
// the target drives the target's OWN subtree, and if the target
|
|
265
|
-
// links back — `a` typed-refers `b`, `b` typed-refers `a`, the
|
|
266
|
-
// shape every inverse pair has — that drives this target again,
|
|
267
|
-
// and the two flow into each other until the depth budget or the
|
|
268
|
-
// host stack ends it. `unify_cycle` on a model whose meet plainly
|
|
269
|
-
// converges: `{k:1}` meeting `{k:1}` is a fixpoint, and the
|
|
270
|
-
// evaluator never got far enough to notice.
|
|
271
|
-
//
|
|
272
|
-
// The guard is the set of paths a flow is currently inside, on the
|
|
273
|
-
// context. A flow that would re-enter one has its MEET skipped:
|
|
274
|
-
// the outer flow it is nested in is already uniting that node, and
|
|
275
|
-
// re-entering is what runs the host stack out.
|
|
276
|
-
//
|
|
277
|
-
// ITS RECORD IS STILL WRITTEN. The skip used to take the record
|
|
278
|
-
// with it, on the reasoning that "the same information arrives by
|
|
279
|
-
// the same channel one frame up" -- true of the outer flow's TYPE,
|
|
280
|
-
// and false of a nested flow carrying a DIFFERENT one. The outer
|
|
281
|
-
// flow delivers only its own type, the residual is consumed into a
|
|
282
|
-
// settled link in the same breath, and nothing re-offers it: the
|
|
283
|
-
// nested type was lost for good, and which of two flows was the
|
|
284
|
-
// nested one depended on which link the evaluator happened to
|
|
285
|
-
// reach first. A layering rule declared on one field and reached
|
|
286
|
-
// through another module's mirror therefore held in one
|
|
287
|
-
// declaration order and not in the other (BUGS.md 69).
|
|
288
|
-
//
|
|
289
|
-
// Recording it DEFERS the meet to `applyFlows`, which runs at the
|
|
290
|
-
// top of the tree with no flow in flight and so cannot re-enter
|
|
291
|
-
// anything -- the channel this record already exists to be.
|
|
292
179
|
const guard = target.join('.');
|
|
293
180
|
// Seeded on the unify root (ts/src/unify.ts): a `??=` here would
|
|
294
181
|
// make a fresh set on whichever descended context asked first.
|
|
295
182
|
const flowing = ctx._referflow ?? new Set();
|
|
296
183
|
if (!this.tval.isTop) {
|
|
297
|
-
// The flowed type is CONCRETE at the target: a schema flowing
|
|
298
|
-
// into a value must not make the value a schema. Same reasoning
|
|
299
|
-
// as a reference's clone clearing marks — `refer($.std.Service)`
|
|
300
|
-
// says the target IS a Service, not that it is the definition
|
|
301
|
-
// of one — and without it the target silently stopped
|
|
302
|
-
// generating.
|
|
303
184
|
const flow = concreteFlow(ctx, this.tval);
|
|
304
|
-
// THE RECORD, keyed by the target's path, replayed onto every
|
|
305
|
-
// later pass by applyFlows in ts/src/unify.ts. A pass rebuilds
|
|
306
|
-
// subtrees, so the write below does not survive one when the
|
|
307
|
-
// link sits inside its own target or two nodes link at each
|
|
308
|
-
// other; the record is what makes the flow reach the result
|
|
309
|
-
// rather than the tree it was computed from.
|
|
310
185
|
const flows = ctx.referflows ??
|
|
311
186
|
new Map();
|
|
312
187
|
const key = target.join('\x00');
|
|
@@ -319,18 +194,6 @@ class ReferVal extends FeatureVal_1.FeatureVal {
|
|
|
319
194
|
if (true === merged.isNil) {
|
|
320
195
|
return merged;
|
|
321
196
|
}
|
|
322
|
-
// The write into THIS pass's view, so the rest of the pass
|
|
323
|
-
// sees it. findAt refuses the empty path, so a resolved
|
|
324
|
-
// target always has a parent holding it.
|
|
325
|
-
//
|
|
326
|
-
// NOT FROM INSIDE A TRIAL. A disjunction member is a
|
|
327
|
-
// HYPOTHESIS, and writing its flow into the live tree
|
|
328
|
-
// asserts the member's type on another node before the
|
|
329
|
-
// member is known to survive. The `unite` above still runs:
|
|
330
|
-
// its nil is how a member legitimately fails. Only the
|
|
331
|
-
// COMMIT waits, and the surviving member's flow reaches the
|
|
332
|
-
// tree on the next pass, from the record DisjunctVal stages
|
|
333
|
-
// and merges for survivors alone.
|
|
334
197
|
if (true !== ctx._trialMode) {
|
|
335
198
|
found.parent.peg[found.key] = merged;
|
|
336
199
|
}
|
|
@@ -340,24 +203,8 @@ class ReferVal extends FeatureVal_1.FeatureVal {
|
|
|
340
203
|
}
|
|
341
204
|
}
|
|
342
205
|
}
|
|
343
|
-
// The value IS the address, as a PATH VALUE (ADR-016): a link,
|
|
344
|
-
// not an embedding -- and re-stating or refining the address
|
|
345
|
-
// still meets it, which a string link could not do under the
|
|
346
|
-
// strict rules.
|
|
347
206
|
const out = new PathVal_1.PathVal({ peg: this.addrsrc }, ctx);
|
|
348
207
|
out.dc = type_1.DONE;
|
|
349
|
-
// STAMPED as a link (G4 phase 3): the value is the address string,
|
|
350
|
-
// so without this nothing downstream could tell a checked link from
|
|
351
|
-
// a literal that happens to look like one. The edge set is exactly
|
|
352
|
-
// the set of these stamps. A rel()-minted link also carries its
|
|
353
|
-
// PREDICATE (the rel field's key), so the graph reports a declared
|
|
354
|
-
// relation rather than inferring one from the path.
|
|
355
|
-
//
|
|
356
|
-
// The stamp is the RESOLVED path, not the written one: a relative
|
|
357
|
-
// address means a different node from each position it is written
|
|
358
|
-
// at, and an edge set whose far ends were spellings rather than
|
|
359
|
-
// nodes could not be traversed. The VALUE stays what the author
|
|
360
|
-
// wrote --- the link is what it says, the edge is where it goes.
|
|
361
208
|
out.link = '$.' + target.join('.');
|
|
362
209
|
if (undefined !== this.relkey) {
|
|
363
210
|
out.relkey = this.relkey;
|
|
@@ -371,22 +218,11 @@ class ReferVal extends FeatureVal_1.FeatureVal {
|
|
|
371
218
|
const t = this.tval.isTop ? '' : this.tval.canon;
|
|
372
219
|
const call = 'refer(' + t + ')' +
|
|
373
220
|
(null == this.held ? '' : '&' + this.held.canon);
|
|
374
|
-
// The address renders as the path call: a bare string address no
|
|
375
|
-
// longer reparses (PATHS.0.md, amended), and canon must.
|
|
376
221
|
return undefined === this.addrsrc
|
|
377
222
|
? call : call + '&path(' + this.addrsrc + ')';
|
|
378
223
|
}
|
|
379
224
|
}
|
|
380
225
|
exports.ReferVal = ReferVal;
|
|
381
|
-
// RelVal is what `rel(t?)` RESOLVES to (RELATIONS.0.md §3.2): the
|
|
382
|
-
// relation constraint, sited on the FIELD the way the sizing atoms sit
|
|
383
|
-
// on containers. Its value may be one address, a LIST of addresses, or
|
|
384
|
-
// a MAP whose string leaves are addresses -- the container shapes are
|
|
385
|
-
// rewritten leaf by leaf through the refer machinery, so pending
|
|
386
|
-
// resolution, type flow and link stamping are the one battle-tested
|
|
387
|
-
// path, and the data side stays plain strings. The PREDICATE of every
|
|
388
|
-
// edge produced is the key the rel() sits on -- declared once, in the
|
|
389
|
-
// schema, never inferred from the path.
|
|
390
226
|
class RelVal extends FeatureVal_1.FeatureVal {
|
|
391
227
|
constructor(spec, ctx) {
|
|
392
228
|
super(spec, ctx);
|
|
@@ -395,15 +231,6 @@ class RelVal extends FeatureVal_1.FeatureVal {
|
|
|
395
231
|
this.cjo = 45000;
|
|
396
232
|
this.tval = spec.tval ?? (0, top_1.top)();
|
|
397
233
|
this.held = spec.held;
|
|
398
|
-
// DONE while unmet, deliberately: a type() body holding a rel()
|
|
399
|
-
// must SETTLE, or the schema idiom (`dependsOn?: rel($.T)` inside
|
|
400
|
-
// a vocabulary) leaves the type unresolved and every reference to
|
|
401
|
-
// it deferring forever. This was the property refer() lacked --
|
|
402
|
-
// G4 phase 4 recorded the cost -- until 2026-09-07, when an
|
|
403
|
-
// address-less refer was given it too (#172); the two now settle
|
|
404
|
-
// by the same rule, which is what the shared reasoning below is. An unmet rel is its own settled residual,
|
|
405
|
-
// like `min(1)`; the meet re-activates it whenever a value
|
|
406
|
-
// arrives, because map merges build the conjunct regardless.
|
|
407
234
|
this.dc = type_1.DONE;
|
|
408
235
|
}
|
|
409
236
|
clone(ctx, spec) {
|
|
@@ -412,31 +239,11 @@ class RelVal extends FeatureVal_1.FeatureVal {
|
|
|
412
239
|
out.held = this.held;
|
|
413
240
|
return out;
|
|
414
241
|
}
|
|
415
|
-
// The predicate: the last segment of the field path the constraint
|
|
416
|
-
// is being APPLIED at -- when that segment is a D-1 NAME. A relation
|
|
417
|
-
// predicate is a declared name (RELATIONS.0.md §3.2), so a list
|
|
418
|
-
// index or a key outside the name grammar produces unlabelled
|
|
419
|
-
// links, and the graph falls back to its old inference. The D-1
|
|
420
|
-
// test is also what keeps the two ports' edges identical: a list
|
|
421
|
-
// index is a number here and a string in Go.
|
|
422
|
-
//
|
|
423
|
-
// THE PATH COMES FROM THE CONTEXT, not from `this.path`. The val's
|
|
424
|
-
// own path records where this constraint was CLONED FROM, and the
|
|
425
|
-
// two part company the moment a second document merges into an
|
|
426
|
-
// entity: the field's constraint is then driven at the ENTITY, and
|
|
427
|
-
// `this.path` names the entity while the context names the field.
|
|
428
|
-
// The predicate became the entity's own key, every link under it
|
|
429
|
-
// minted an edge starting one level too high, and `inverse(n)`
|
|
430
|
-
// reported a mirror that was written as missing.
|
|
431
242
|
fieldkey(ctx) {
|
|
432
243
|
const path = ctx.path;
|
|
433
244
|
const seg = path[path.length - 1];
|
|
434
245
|
return 'string' === typeof seg && PREDICATE_NAME.test(seg) ? seg : undefined;
|
|
435
246
|
}
|
|
436
|
-
// One leaf's residual: the refer machinery carrying rel's codes,
|
|
437
|
-
// predicate and type. The predicate is passed IN, because the field
|
|
438
|
-
// it names is decided where the rewrite starts and must not be
|
|
439
|
-
// re-read on the way down (see `rewriteUnder`).
|
|
440
247
|
leafRefer(ctx, relkey) {
|
|
441
248
|
const rv = new ReferVal({ tval: this.tval }, ctx);
|
|
442
249
|
rv.addrcode = 'rel_address';
|
|
@@ -446,19 +253,9 @@ class RelVal extends FeatureVal_1.FeatureVal {
|
|
|
446
253
|
rv.path = this.path;
|
|
447
254
|
return rv;
|
|
448
255
|
}
|
|
449
|
-
// The container, every string leaf wrapped as a link. Nested
|
|
450
|
-
// containers descend; a leaf already STAMPED as a link is left
|
|
451
|
-
// alone, which is what makes a second application (a template
|
|
452
|
-
// re-applied, a later pass) a no-op.
|
|
453
256
|
rewrite(ctx, container) {
|
|
454
257
|
return this.rewriteUnder(ctx, container, this.fieldkey(ctx));
|
|
455
258
|
}
|
|
456
|
-
// The rewrite proper, carrying the predicate decided at the field.
|
|
457
|
-
// It is decided ONCE, at the top: a map-valued relation
|
|
458
|
-
// (`dependsOn: {primary: [...]}`) descends through the inner label
|
|
459
|
-
// and must still report `dependsOn`, which is the whole reason a
|
|
460
|
-
// link carries a declared predicate rather than letting the graph
|
|
461
|
-
// infer one from its position.
|
|
462
259
|
rewriteUnder(ctx, container, relkey) {
|
|
463
260
|
const out = container.clone(ctx);
|
|
464
261
|
const peg = out.peg;
|
|
@@ -479,10 +276,6 @@ class RelVal extends FeatureVal_1.FeatureVal {
|
|
|
479
276
|
}
|
|
480
277
|
else if (undefined === child.link) {
|
|
481
278
|
let leaf = (0, unify_1.unite)(ctx.descend('' + k), this.leafRefer(ctx, relkey), child, 'rel-leaf');
|
|
482
|
-
// The held constraints apply PER LEAF: a re() on the relation
|
|
483
|
-
// constrains every address, never the container that holds
|
|
484
|
-
// them (found by the service catalog, whose re("^svc_") met
|
|
485
|
-
// the whole list and refused it).
|
|
486
279
|
if (null != this.held) {
|
|
487
280
|
leaf = (0, unify_1.unite)(ctx.descend('' + k), leaf, this.held, 'rel-held');
|
|
488
281
|
}
|
|
@@ -490,26 +283,9 @@ class RelVal extends FeatureVal_1.FeatureVal {
|
|
|
490
283
|
pending = pending || true !== leaf.done;
|
|
491
284
|
}
|
|
492
285
|
}
|
|
493
|
-
// The rewrite holds its PENDING leaves open (an address whose
|
|
494
|
-
// entity a later statement declares), so the pass loop keeps
|
|
495
|
-
// driving the container until every link settles. A rewrite that
|
|
496
|
-
// minted NOTHING pending -- every leaf already linked or settled
|
|
497
|
-
// in place -- keeps the clone's doneness: re-applying a template
|
|
498
|
-
// over a settled value must converge in the same pass, or the
|
|
499
|
-
// enclosing bags reopen forever (the service catalog, where the
|
|
500
|
-
// entity merge drops the spread stamp each pass).
|
|
501
286
|
if (pending) {
|
|
502
287
|
out.dc = 0;
|
|
503
288
|
}
|
|
504
|
-
// Elements that arrive AFTER this rewrite -- another statement of
|
|
505
|
-
// the list, a patch position of the entity -- must convert too, so
|
|
506
|
-
// the rewrite installs its own leaf constraint as the container's
|
|
507
|
-
// ELEMENT SPREAD, exactly the machinery the old per-element
|
|
508
|
-
// `[&: refer()]` idiom used. Only on a FLAT address container (a
|
|
509
|
-
// labelled map's sub-containers get their own spread from the
|
|
510
|
-
// recursion above; a leaf template meeting a map child would
|
|
511
|
-
// refuse it), and only where no spread already stands: a schema's
|
|
512
|
-
// own template is not this rewrite's to clobber.
|
|
513
289
|
if (!nested && null == out.spread.cj) {
|
|
514
290
|
let tmpl = this.leafRefer(ctx, relkey);
|
|
515
291
|
if (null != this.held) {
|
|
@@ -534,11 +310,6 @@ class RelVal extends FeatureVal_1.FeatureVal {
|
|
|
534
310
|
out.path = this.path;
|
|
535
311
|
return out;
|
|
536
312
|
}
|
|
537
|
-
// No null/top/nil arms: unite's dispatch ladder absorbs those
|
|
538
|
-
// peers before any Val's own unify is consulted (a null or top
|
|
539
|
-
// peer returns this side; a nil peer returns the nil), and unite
|
|
540
|
-
// is the only entrance -- the container hand-offs pass the
|
|
541
|
-
// container itself.
|
|
542
313
|
// ONE ADDRESS: the scalar-valued field, refer's own shape. A path
|
|
543
314
|
// value only -- a bare string is never an address (PATHS.0.md,
|
|
544
315
|
// amended); the scalar arm below refuses it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferFuncVal.js","sourceRoot":"","sources":["../../src/val/ReferFuncVal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReferFuncVal.js","sourceRoot":"","sources":["../../src/val/ReferFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;AAQpD,kCAEgB;AAMhB,gCAAmC;AAEnC,+CAA2C;AAC3C,uCAKkB;AAClB,6CAAyC;AACzC,+CAA2C;AAC3C,oCAAgC;AAChC,+BAA2B;AAC3B,wCAAiD;AAGjD,MAAM,cAAc,GAAG,2BAA2B,CAAA;AAGlD,qBACE,IAAa,EAAE,EAAuB;IAEtC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IACD,mEAAmE;IACnE,sEAAsE;IACtE,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA;IACnC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACxD,CAAC;AAGD,gBACE,IAAqB,EAAE,IAAc;IAErC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,MAAM,GAAQ,SAAS,CAAA;IAC3B,IAAI,GAAG,GAAuB,SAAS,CAAA;IACvC,IAAI,GAAG,GAAQ,IAAI,CAAA;IACnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE,MAAM,EAAE,CAAC;YAChD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,GAAG,GAAG,CAAA;QACZ,GAAG,GAAG,GAAG,CAAA;QACT,GAAG,GAAG,IAAI,CAAA;IACZ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAC7B,CAAC;AAGD,SAAS,YAAY,CAAC,GAAiB,EAAE,CAAM;IAC7C,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAA,cAAI,EAAC,CAAC,EAAE,CAAC,IAAiC,EAAE,CAAM,EAAE,EAAE;QACpD,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QAC7C,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IACF,oEAAoE;IACpE,oEAAoE;IACpE,oBAAoB;IACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,IAAA,cAAI,EAAC,GAAG,EAAE,CAAC,IAAiC,EAAE,CAAM,EAAE,EAAE;QACtD,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACnB,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACnB,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,MAAM,QAAS,SAAQ,uBAAU;IAqB/B,YAAY,IAAa,EAAE,GAAkB;QAC3C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QArBlB,YAAO,GAAG,IAAI,CAAA;QACd,cAAS,GAAG,IAAI,CAAA;QAChB,QAAG,GAAG,MAAM,CAAA;QAaZ,+DAA+D;QAC/D,2DAA2D;QAC3D,aAAQ,GAAW,eAAe,CAAA;QAClC,mBAAc,GAAW,kBAAkB,CAAA;QAIzC,IAAI,CAAC,IAAI,GAAI,IAAY,CAAC,IAAI,IAAI,IAAA,SAAG,GAAE,CAAA;QACvC,IAAI,CAAC,IAAI,GAAI,IAAY,CAAC,IAAI,CAAA;QAC9B,IAAI,CAAC,OAAO,GAAI,IAAY,CAAC,OAAO,CAAA;QACpC,IAAI,CAAC,IAAI,GAAI,IAAY,CAAC,IAAI,CAAA;QAC9B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,MAAM,GAAG,GAAQ,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACvC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACxB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC5B,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACxC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,MAAM,CAAC,GAAQ,IAAI,CAAA;QAEnB,6DAA6D;QAC7D,8DAA8D;QAC9D,IAAI,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpB,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC;gBAC9C,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;gBAClC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC9B,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;wBAC1B,CAAC,CAAC,IAAA,aAAK,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC;aAClD,EAAE,IAAI,CAAC,CAAA;QACV,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC/B,CAAC;QAED,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,SAAS,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,CAAC,CAAC,GAAG,CAAY,CAAA;YAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;QACvD,CAAC;QAED,IAAI,SAAS,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,OAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;YACxD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBACzB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YACpD,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAClB,EAAE,IAAI,EAAE,IAAA,sBAAY,EAAC,MAAM,CAAY,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;QACrE,CAAC;QAED,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC;eACzC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5D,CAAC;QAED,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACpB,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,aAAK,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC;SAC3E,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;IAED,+DAA+D;IAC/D,sEAAsE;IACtE,sDAAsD;IACtD,IAAI,CAAC,GAAiB,EAAE,IAAS,EAAE,IAAS;QAC1C,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACjC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QACjC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QACjC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAA;QAC1C,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QACjC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACxB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC5B,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACxC,IAAA,wBAAc,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACzB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,8DAA8D;IAC9D,mEAAmE;IACnE,+BAA+B;IAC/B,MAAM,CAAC,GAAiB,EAAE,IAAS;QACjC,IAAI,SAAS,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,EAAE,GAAG,WAAI,CAAA;YACd,OAAO,IAAI,CAAA;QACb,CAAC;QACD,2DAA2D;QAC3D,mEAAmE;QACnE,4DAA4D;QAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAClE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAiB,EAAE,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QACvC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpC,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAClE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAiB,EAAE,CAAC,CAAA;YACrC,CAAC;YACD,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;YACX,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9B,iEAAiE;QACjE,+DAA+D;QAC/D,MAAM,OAAO,GAAiB,GAAW,CAAC,UAAU,IAAI,IAAI,GAAG,EAAU,CAAA;QACzE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAEzC,MAAM,KAAK,GAAsB,GAAW,CAAC,UAAU;gBACrD,IAAI,GAAG,EAAe,CAAA;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,aAAK,EAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EACxD,mBAAmB,CAAC,CAAC,CAAA;YAEvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAClB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAA,aAAK,EAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;oBACxD,IAAI,IAAI,KAAM,MAAc,CAAC,KAAK,EAAE,CAAC;wBACnC,OAAO,MAAM,CAAA;oBACf,CAAC;oBACD,IAAI,IAAI,KAAM,GAAW,CAAC,UAAU,EAAE,CAAC;wBACrC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAa,CAAC,GAAG,MAAM,CAAA;oBAChD,CAAC;gBACH,CAAC;wBACO,CAAC;oBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAQ,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAiB,EAAE,EAAE,GAAG,CAAC,CAAA;QAClE,GAAG,CAAC,EAAE,GAAG,WAAI,CAAA;QACb,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,CAAC;QACD,IAAA,wBAAc,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACzB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,aAAK,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAC3E,CAAC;IAED,IAAI,KAAK;QACP,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;QAChD,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAC,GAAG,GAAG;YAC7B,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClD,OAAO,SAAS,KAAK,IAAI,CAAC,OAAO;YAC/B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;IACjD,CAAC;CACF;QA6MC,QAAQ;AA1MV,MAAM,MAAO,SAAQ,uBAAU;IAY7B,YAAY,IAAa,EAAE,GAAkB;QAC3C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAZlB,UAAK,GAAG,IAAI,CAAA;QACZ,cAAS,GAAG,IAAI,CAAA;QAChB,QAAG,GAAG,KAAK,CAAA;QAWT,IAAI,CAAC,IAAI,GAAI,IAAY,CAAC,IAAI,IAAI,IAAA,SAAG,GAAE,CAAA;QACvC,IAAI,CAAC,IAAI,GAAI,IAAY,CAAC,IAAI,CAAA;QAC9B,IAAI,CAAC,EAAE,GAAG,WAAI,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,MAAM,GAAG,GAAQ,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACvC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,GAAiB;QACxB,MAAM,IAAI,GAAW,GAAW,CAAC,IAAI,CAAA;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,QAAQ,KAAK,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,CAAC;IAED,SAAS,CAAC,GAAiB,EAAE,MAA0B;QACrD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAS,EAAE,GAAG,CAAC,CAAA;QACxD,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAA;QAC3B,EAAE,CAAC,cAAc,GAAG,gBAAgB,CAAA;QACpC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAA;QAClB,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACnB,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACnB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,CAAC,GAAiB,EAAE,SAAc;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,YAAY,CACV,GAAiB,EAAE,SAAc,EAAE,MAA0B;QAE7D,MAAM,GAAG,GAAQ,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,GAAG,GAAQ,GAAG,CAAC,GAAG,CAAA;QACxB,MAAM,IAAI,GAAU,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACpC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACzD,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,gEAAgE;YAChE,8DAA8D;YAC9D,QAAQ;YACR,MAAM,KAAK,GAAQ,GAAG,CAAC,CAAC,CAAC,CAAA;YACzB,IAAI,IAAI,KAAK,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClD,MAAM,GAAG,IAAI,CAAA;gBACb,MAAM,GAAG,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;gBACtE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;gBACZ,OAAO,GAAG,OAAO,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAA;YACxC,CAAC;iBACI,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,IAAI,GAAG,IAAA,aAAK,EAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,EAC/D,KAAK,EAAE,UAAU,CAAC,CAAA;gBACpB,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACtB,IAAI,GAAG,IAAA,aAAK,EAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;gBAChE,CAAC;gBACD,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;gBACb,OAAO,GAAG,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAA;YACzC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;QACZ,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,IAAI,IAAK,GAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAI,GAAG,IAAI,yBAAW,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YACzD,CAAC;YACD,CAAC;YAAE,GAAW,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAA;QACjC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,MAAM,CAAC,GAAQ,IAAI,CAAA;QAEnB,oDAAoD;QACpD,IAAI,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,GAAQ,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YACpC,GAAG,CAAC,IAAI,GAAG,IAAA,aAAK,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACjD,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;oBAC1B,CAAC,CAAC,IAAA,aAAK,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAC/C,IAAA,wBAAc,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACzB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACpB,OAAO,GAAG,CAAA;QACZ,CAAC;QAGD,kEAAkE;QAClE,+DAA+D;QAC/D,6CAA6C;QAC7C,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAA,aAAK,EAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAClE,YAAY,CAAC,CAAA;YACf,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;gBAC5B,CAAC,CAAC,IAAA,aAAK,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC5C,CAAC;QAED,gEAAgE;QAChE,sDAAsD;QACtD,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5D,CAAC;QAED,4DAA4D;QAC5D,+DAA+D;QAC/D,QAAQ;QACR,MAAM,GAAG,GAAQ,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACpC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACjC,CAAC,CAAC,IAAA,aAAK,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;QAC3C,IAAA,wBAAc,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACzB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,KAAK;QACP,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;QAChD,OAAO,MAAM,GAAG,CAAC,GAAG,GAAG;YACrB,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpD,CAAC;CACF;QA2DC,MAAM;AAxDR,MAAM,UAAW,SAAQ,yBAAW;IAGlC,YAAY,IAAa,EAAE,GAAkB;QAC3C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAHlB,cAAS,GAAG,IAAI,CAAA;IAIhB,CAAC;IAED,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC/B,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,SAAG,GAAE,CAAA;QAC5C,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;QAiCC,UAAU;AA9BZ,MAAM,YAAa,SAAQ,yBAAW;IAGpC,YAAY,IAAa,EAAE,GAAkB;QAC3C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAHlB,gBAAW,GAAG,IAAI,CAAA;IAIlB,CAAC;IAED,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACjC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,SAAG,GAAE,CAAA;QAC5C,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAC,kCAAkC;QAMlC,YAAY"}
|
|
@@ -7,30 +7,7 @@ exports.kindSubsumes = kindSubsumes;
|
|
|
7
7
|
const type_1 = require("../type");
|
|
8
8
|
const utility_1 = require("../utility");
|
|
9
9
|
const err_1 = require("../err");
|
|
10
|
-
// import { BaseVal } from './BaseVal'
|
|
11
10
|
const FeatureVal_1 = require("./FeatureVal");
|
|
12
|
-
// Kind markers.
|
|
13
|
-
//
|
|
14
|
-
// A ScalarKindVal's canon is its marker's constructor name, lowercased,
|
|
15
|
-
// so these class names are load-bearing language surface: `Integer` is
|
|
16
|
-
// the keyword `integer`, `Float` is the keyword `float`.
|
|
17
|
-
//
|
|
18
|
-
// The numeric part of the lattice is a pure supertype over disjoint
|
|
19
|
-
// leaves:
|
|
20
|
-
//
|
|
21
|
-
// number (the global Number constructor)
|
|
22
|
-
// |- integer Integer int64-window exact
|
|
23
|
-
// |- float Float IEEE-754 binary64
|
|
24
|
-
// |- biginteger BigInteger exact, opt-in via 0d
|
|
25
|
-
// |- bigdecimal BigDecimal exact, opt-in via 0d
|
|
26
|
-
//
|
|
27
|
-
// The global `Number` constructor is the marker for the SUPERTYPE only:
|
|
28
|
-
// no concrete ScalarVal ever carries it. A binary64 value is FLOAT kind
|
|
29
|
-
// (NumberVal is the binary64 leaf; the class name is historical).
|
|
30
|
-
//
|
|
31
|
-
// A ScalarKindVal for `number` matches a concrete value of any numeric
|
|
32
|
-
// leaf, and meeting it with a leaf yields that leaf. Two distinct leaves
|
|
33
|
-
// are disjoint sets with no common lower bound, so they do not unify.
|
|
34
11
|
// A ScalarKind for the int64-window exact integers.
|
|
35
12
|
class Integer {
|
|
36
13
|
}
|
|
@@ -44,8 +21,6 @@ exports.Float = Float;
|
|
|
44
21
|
class BigInteger {
|
|
45
22
|
}
|
|
46
23
|
exports.BigInteger = BigInteger;
|
|
47
|
-
// A ScalarKind for the exact base-10 decimals, reached only by a `0d`
|
|
48
|
-
// literal carrying a `.` or an exponent.
|
|
49
24
|
class BigDecimal {
|
|
50
25
|
}
|
|
51
26
|
exports.BigDecimal = BigDecimal;
|
|
@@ -53,21 +28,9 @@ exports.BigDecimal = BigDecimal;
|
|
|
53
28
|
class Null {
|
|
54
29
|
}
|
|
55
30
|
exports.Null = Null;
|
|
56
|
-
// A ScalarKind for tree addresses (docs/design/PATHS.0.md): the value
|
|
57
|
-
// a `path(p)` call captures. Sits UNDER string -- an address is a
|
|
58
|
-
// string with more structure, so string-kinded schemas over address
|
|
59
|
-
// fields keep admitting -- while staying a distinct leaf, so a plain
|
|
60
|
-
// string literal and a path value refuse each other exactly as the
|
|
61
|
-
// number tower's leaves do. Reached only by the `path()` builtin, as
|
|
62
|
-
// the exact numeric leaves are reached only by `0d`.
|
|
63
31
|
class Path {
|
|
64
32
|
}
|
|
65
33
|
exports.Path = Path;
|
|
66
|
-
// The immediate lattice parent of each kind marker. A marker absent from
|
|
67
|
-
// this table sits directly under top (string, boolean, null -- and
|
|
68
|
-
// `number` itself, which is the root of the numeric family).
|
|
69
|
-
//
|
|
70
|
-
// Adding a leaf is one row.
|
|
71
34
|
const KIND_PARENT = new Map([
|
|
72
35
|
[Integer, Number],
|
|
73
36
|
[Float, Number],
|
|
@@ -91,7 +54,6 @@ function kindSubsumes(sup, sub) {
|
|
|
91
54
|
}
|
|
92
55
|
return false;
|
|
93
56
|
}
|
|
94
|
-
// class ScalarKindVal extends BaseVal {
|
|
95
57
|
class ScalarKindVal extends FeatureVal_1.FeatureVal {
|
|
96
58
|
constructor(spec, ctx) {
|
|
97
59
|
super(spec, ctx);
|
|
@@ -114,9 +76,6 @@ class ScalarKindVal extends FeatureVal_1.FeatureVal {
|
|
|
114
76
|
}
|
|
115
77
|
else if (peerIsScalarVal) {
|
|
116
78
|
let peerKind = peer.kind;
|
|
117
|
-
// A kind admits a concrete value of that kind, or of any kind
|
|
118
|
-
// below it: `float & 1.5` is 1.5, and `number & 1` is 1 because
|
|
119
|
-
// integer sits under number.
|
|
120
79
|
if (kindSubsumes(this.peg, peerKind)) {
|
|
121
80
|
out = peer;
|
|
122
81
|
}
|
|
@@ -125,9 +84,6 @@ class ScalarKindVal extends FeatureVal_1.FeatureVal {
|
|
|
125
84
|
}
|
|
126
85
|
}
|
|
127
86
|
else if (peerIsScalarKind) {
|
|
128
|
-
// The meet of two kinds is the narrower one when they are
|
|
129
|
-
// comparable. Distinct leaves (float & integer) are disjoint sets
|
|
130
|
-
// of values, so they have no common lower bound and fail.
|
|
131
87
|
if (this.peg === peer.peg) {
|
|
132
88
|
out = this;
|
|
133
89
|
}
|
|
@@ -145,17 +101,12 @@ class ScalarKindVal extends FeatureVal_1.FeatureVal {
|
|
|
145
101
|
out = (0, err_1.makeNilErr)(ctx, 'not-scalar-type', this, peer);
|
|
146
102
|
}
|
|
147
103
|
ctx.explain && (0, utility_1.explainClose)(te, out);
|
|
148
|
-
// console.log('SCALARKINDVAL', this.canon.peer.canon, '->', out.canon)
|
|
149
104
|
return out;
|
|
150
105
|
}
|
|
151
106
|
get canon() {
|
|
152
107
|
let ctor = this.peg;
|
|
153
108
|
return ctor.name.toLowerCase();
|
|
154
109
|
}
|
|
155
|
-
// The super() ladder: a leaf kind lifts to its parent kind
|
|
156
|
-
// (super(integer) -> number, super(float) -> number), and a kind with
|
|
157
|
-
// no parent lifts to top (super(number) -> top). A concrete value
|
|
158
|
-
// lifts to its own leaf via ScalarVal.superior.
|
|
159
110
|
superior() {
|
|
160
111
|
const parent = kindParent(this.peg);
|
|
161
112
|
return null == parent ?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarKindVal.js","sourceRoot":"","sources":["../../src/val/ScalarKindVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;
|
|
1
|
+
{"version":3,"file":"ScalarKindVal.js","sourceRoot":"","sources":["../../src/val/ScalarKindVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/ScalarVal.js
CHANGED
|
@@ -38,7 +38,6 @@ class ScalarVal extends Val_1.Val {
|
|
|
38
38
|
out = (0, err_1.makeNilErr)(ctx, 'scalar_' +
|
|
39
39
|
(peer.kind === this.kind ? 'value' : 'kind'), this, peer);
|
|
40
40
|
}
|
|
41
|
-
// console.log('SCALAR', this.canon, peer.canon, '->', out.canon)
|
|
42
41
|
(0, utility_1.explainClose)(te, out);
|
|
43
42
|
return out;
|
|
44
43
|
}
|
|
@@ -48,20 +47,10 @@ class ScalarVal extends Val_1.Val {
|
|
|
48
47
|
this.peg.toString();
|
|
49
48
|
}
|
|
50
49
|
same(peer) {
|
|
51
|
-
// Two concrete scalars are the same only when KIND and value both
|
|
52
|
-
// match. Comparing peg alone is a leftover from before integer and
|
|
53
|
-
// number were distinct kinds; without the kind test `1|1.0` would
|
|
54
|
-
// collapse to a single alternative and `(1|1.0) & 1.0` could pick
|
|
55
|
-
// the integer.
|
|
56
50
|
return peer?.isScalar ?
|
|
57
51
|
(peer.kind === this.kind && this.samePeg(peer.peg)) :
|
|
58
52
|
super.same(peer);
|
|
59
53
|
}
|
|
60
|
-
// Value comparison for this leaf's peg (D2: identity is kind AND
|
|
61
|
-
// value, NEVER the identity of the object holding the value). `===` is
|
|
62
|
-
// right for every peg that is a primitive -- including a bigint, where
|
|
63
|
-
// two separately built copies of the same number compare equal -- and
|
|
64
|
-
// wrong for a peg that is an object, so BigDecimalVal overrides it.
|
|
65
54
|
samePeg(peg) {
|
|
66
55
|
return peg === this.peg;
|
|
67
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarVal.js","sourceRoot":"","sources":["../../src/val/ScalarVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAMzD,kCAEgB;AAMhB,wCAGmB;AAEnB,gCAAmC;AAEnC,+BAA2B;AAC3B,mDAA+C;
|
|
1
|
+
{"version":3,"file":"ScalarVal.js","sourceRoot":"","sources":["../../src/val/ScalarVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAMzD,kCAEgB;AAMhB,wCAGmB;AAEnB,gCAAmC;AAEnC,+BAA2B;AAC3B,mDAA+C;AAG/C,MAAM,SAAU,SAAQ,SAAG;IAQzB,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QATlB,aAAQ,GAAG,IAAI,CAAA;QACf,cAAS,GAAG,IAAI,CAAA;QASd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;QACzB,IAAI,CAAC,EAAE,GAAG,WAAI,CAAA;IAChB,CAAC;IAGD,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAChB,CAAC,CAAA;QAEF,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAE7E,IAAI,GAAQ,CAAA;QAEZ,mDAAmD;QACnD,IAAI,IAAI,CAAC,YAAY,IAAK,IAAY,CAAC,YAAY,EAAE,CAAC;YACpD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC;aACI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,GAAG,GAAG,IAAI,CAAA;QACZ,CAAC;aACI,CAAC;YACJ,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,SAAS;gBAC7B,CAAE,IAAY,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACtE,CAAC;QAGD,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAErB,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACjC,SAAS,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBACnC,IAAI,CAAC,GAAW,CAAC,QAAQ,EAAE,CAAA;IAClC,CAAC;IAGD,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrB,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IAGD,OAAO,CAAC,GAAQ;QACd,OAAO,GAAG,KAAK,IAAI,CAAC,GAAG,CAAA;IACzB,CAAC;IAGD,GAAG,CAAC,IAAmB;QACrB,kEAAkE;QAClE,sCAAsC;QACtC,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;IAC/C,CAAC;IAGD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,6BAAa,CAAC;YAClC,GAAG,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAC,CAAA;IACL,CAAC;CAEF,CAAC,iCAAiC;QAIjC,SAAS"}
|