aontu 0.53.0 → 0.55.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.
Files changed (197) hide show
  1. package/dist/aontu.d.ts +3 -2
  2. package/dist/aontu.js +36 -7
  3. package/dist/aontu.js.map +1 -1
  4. package/dist/cli.d.ts +2 -1
  5. package/dist/cli.js +500 -8
  6. package/dist/cli.js.map +1 -1
  7. package/dist/ctx.d.ts +5 -0
  8. package/dist/ctx.js +1 -0
  9. package/dist/ctx.js.map +1 -1
  10. package/dist/diff.js.map +1 -1
  11. package/dist/err.js +7 -1
  12. package/dist/err.js.map +1 -1
  13. package/dist/graph.d.ts +2 -5
  14. package/dist/graph.js +83 -46
  15. package/dist/graph.js.map +1 -1
  16. package/dist/hcanon.js +9 -10
  17. package/dist/hcanon.js.map +1 -1
  18. package/dist/hints.js +94 -26
  19. package/dist/hints.js.map +1 -1
  20. package/dist/jsonschema.js +34 -0
  21. package/dist/jsonschema.js.map +1 -1
  22. package/dist/lang.js +593 -191
  23. package/dist/lang.js.map +1 -1
  24. package/dist/lsp.d.ts +1 -1
  25. package/dist/lsp.js +86 -6
  26. package/dist/lsp.js.map +1 -1
  27. package/dist/mcp.js +153 -6
  28. package/dist/mcp.js.map +1 -1
  29. package/dist/mod-tool.js +42 -8
  30. package/dist/mod-tool.js.map +1 -1
  31. package/dist/mod.d.ts +4 -0
  32. package/dist/mod.js +97 -2
  33. package/dist/mod.js.map +1 -1
  34. package/dist/patch.d.ts +5 -0
  35. package/dist/patch.js +25 -25
  36. package/dist/patch.js.map +1 -1
  37. package/dist/provenance.d.ts +1 -0
  38. package/dist/provenance.js +2 -1
  39. package/dist/provenance.js.map +1 -1
  40. package/dist/query.js.map +1 -1
  41. package/dist/reach.d.ts +1 -0
  42. package/dist/reach.js +49 -21
  43. package/dist/reach.js.map +1 -1
  44. package/dist/relation.d.ts +4 -0
  45. package/dist/relation.js +125 -200
  46. package/dist/relation.js.map +1 -1
  47. package/dist/sig.d.ts +25 -0
  48. package/dist/sig.js +277 -0
  49. package/dist/sig.js.map +1 -0
  50. package/dist/sigdecl.d.ts +2 -0
  51. package/dist/sigdecl.js +11 -0
  52. package/dist/sigdecl.js.map +1 -0
  53. package/dist/siggate.d.ts +4 -0
  54. package/dist/siggate.js +90 -0
  55. package/dist/siggate.js.map +1 -0
  56. package/dist/std.js +75 -16
  57. package/dist/std.js.map +1 -1
  58. package/dist/subsume.js +57 -10
  59. package/dist/subsume.js.map +1 -1
  60. package/dist/tsconfig.tsbuildinfo +1 -1
  61. package/dist/unify.d.ts +2 -2
  62. package/dist/unify.js +93 -114
  63. package/dist/unify.js.map +1 -1
  64. package/dist/utility.d.ts +1 -2
  65. package/dist/utility.js +7 -61
  66. package/dist/utility.js.map +1 -1
  67. package/dist/val/AggFuncVal.d.ts +12 -1
  68. package/dist/val/AggFuncVal.js +165 -3
  69. package/dist/val/AggFuncVal.js.map +1 -1
  70. package/dist/val/BagVal.d.ts +2 -0
  71. package/dist/val/BagVal.js +56 -8
  72. package/dist/val/BagVal.js.map +1 -1
  73. package/dist/val/ConstraintVal.js +33 -5
  74. package/dist/val/ConstraintVal.js.map +1 -1
  75. package/dist/val/ContainerKindVal.d.ts +35 -0
  76. package/dist/val/ContainerKindVal.js +99 -0
  77. package/dist/val/ContainerKindVal.js.map +1 -0
  78. package/dist/val/CopyFuncVal.js +0 -7
  79. package/dist/val/CopyFuncVal.js.map +1 -1
  80. package/dist/val/DisjunctVal.d.ts +1 -2
  81. package/dist/val/DisjunctVal.js +146 -39
  82. package/dist/val/DisjunctVal.js.map +1 -1
  83. package/dist/val/ExpectVal.js +37 -2
  84. package/dist/val/ExpectVal.js.map +1 -1
  85. package/dist/val/FuncBaseVal.d.ts +1 -0
  86. package/dist/val/FuncBaseVal.js +19 -8
  87. package/dist/val/FuncBaseVal.js.map +1 -1
  88. package/dist/val/GraphAtomVal.d.ts +39 -0
  89. package/dist/val/GraphAtomVal.js +184 -0
  90. package/dist/val/GraphAtomVal.js.map +1 -0
  91. package/dist/val/JunctionVal.js +22 -5
  92. package/dist/val/JunctionVal.js.map +1 -1
  93. package/dist/val/ListVal.js +27 -34
  94. package/dist/val/ListVal.js.map +1 -1
  95. package/dist/val/MapVal.d.ts +1 -0
  96. package/dist/val/MapVal.js +82 -35
  97. package/dist/val/MapVal.js.map +1 -1
  98. package/dist/val/PathFuncVal.d.ts +2 -2
  99. package/dist/val/PathFuncVal.js +75 -16
  100. package/dist/val/PathFuncVal.js.map +1 -1
  101. package/dist/val/PathVal.d.ts +25 -0
  102. package/dist/val/PathVal.js +150 -0
  103. package/dist/val/PathVal.js.map +1 -0
  104. package/dist/val/PlusOpVal.d.ts +2 -1
  105. package/dist/val/PlusOpVal.js +50 -35
  106. package/dist/val/PlusOpVal.js.map +1 -1
  107. package/dist/val/PrefVal.d.ts +2 -0
  108. package/dist/val/PrefVal.js +159 -32
  109. package/dist/val/PrefVal.js.map +1 -1
  110. package/dist/val/RecurseVal.d.ts +19 -0
  111. package/dist/val/RecurseVal.js +217 -0
  112. package/dist/val/RecurseVal.js.map +1 -0
  113. package/dist/val/RefVal.d.ts +2 -1
  114. package/dist/val/RefVal.js +105 -72
  115. package/dist/val/RefVal.js.map +1 -1
  116. package/dist/val/ReferFuncVal.d.ts +30 -7
  117. package/dist/val/ReferFuncVal.js +395 -94
  118. package/dist/val/ReferFuncVal.js.map +1 -1
  119. package/dist/val/ScalarKindVal.d.ts +4 -2
  120. package/dist/val/ScalarKindVal.js +12 -1
  121. package/dist/val/ScalarKindVal.js.map +1 -1
  122. package/dist/val/SuperFuncVal.d.ts +4 -2
  123. package/dist/val/SuperFuncVal.js +118 -14
  124. package/dist/val/SuperFuncVal.js.map +1 -1
  125. package/dist/val/TopVal.d.ts +1 -1
  126. package/dist/val/Val.d.ts +2 -3
  127. package/dist/val/Val.js +39 -20
  128. package/dist/val/Val.js.map +1 -1
  129. package/dist/val/arith.js +4 -1
  130. package/dist/val/arith.js.map +1 -1
  131. package/dist/vet.d.ts +1 -0
  132. package/dist/vet.js +32 -1
  133. package/dist/vet.js.map +1 -1
  134. package/dist/view.d.ts +90 -0
  135. package/dist/view.js +2168 -0
  136. package/dist/view.js.map +1 -0
  137. package/grammar/aontu.gbnf +18 -10
  138. package/grammar/aontu.lark +15 -10
  139. package/grammar/aontu.tmLanguage.json +184 -0
  140. package/package.json +10 -3
  141. package/skill/grammar-card.md +1 -2
  142. package/src/aontu.ts +37 -7
  143. package/src/cli.ts +553 -8
  144. package/src/ctx.ts +20 -0
  145. package/src/diff.ts +4 -2
  146. package/src/err.ts +8 -1
  147. package/src/graph.ts +125 -75
  148. package/src/hcanon.ts +9 -11
  149. package/src/hints.ts +112 -29
  150. package/src/jsonschema.ts +41 -0
  151. package/src/lang.ts +642 -203
  152. package/src/lsp.ts +75 -6
  153. package/src/mcp.ts +164 -6
  154. package/src/mod-tool.ts +48 -9
  155. package/src/mod.ts +110 -1
  156. package/src/patch.ts +31 -27
  157. package/src/provenance.ts +8 -1
  158. package/src/query.ts +4 -2
  159. package/src/reach.ts +52 -23
  160. package/src/relation.ts +139 -236
  161. package/src/sig.ts +345 -0
  162. package/src/sigdecl.ts +11 -0
  163. package/src/siggate.ts +144 -0
  164. package/src/std.ts +77 -16
  165. package/src/subsume.ts +59 -10
  166. package/src/unify.ts +102 -125
  167. package/src/utility.ts +7 -67
  168. package/src/val/AggFuncVal.ts +231 -4
  169. package/src/val/BagVal.ts +58 -9
  170. package/src/val/ConstraintVal.ts +34 -5
  171. package/src/val/ContainerKindVal.ts +158 -0
  172. package/src/val/CopyFuncVal.ts +0 -7
  173. package/src/val/DisjunctVal.ts +152 -40
  174. package/src/val/ExpectVal.ts +39 -4
  175. package/src/val/FuncBaseVal.ts +21 -8
  176. package/src/val/GraphAtomVal.ts +264 -0
  177. package/src/val/JunctionVal.ts +23 -6
  178. package/src/val/ListVal.ts +30 -37
  179. package/src/val/MapVal.ts +87 -39
  180. package/src/val/PathFuncVal.ts +107 -19
  181. package/src/val/PathVal.ts +221 -0
  182. package/src/val/PlusOpVal.ts +56 -37
  183. package/src/val/PrefVal.ts +186 -38
  184. package/src/val/RecurseVal.ts +285 -0
  185. package/src/val/RefVal.ts +105 -83
  186. package/src/val/ReferFuncVal.ts +445 -100
  187. package/src/val/ScalarKindVal.ts +12 -0
  188. package/src/val/SuperFuncVal.ts +137 -13
  189. package/src/val/TopVal.ts +1 -1
  190. package/src/val/Val.ts +44 -35
  191. package/src/val/arith.ts +4 -1
  192. package/src/vet.ts +41 -4
  193. package/src/view.ts +2882 -0
  194. package/dist/val/IdFuncVal.d.ts +0 -13
  195. package/dist/val/IdFuncVal.js +0 -54
  196. package/dist/val/IdFuncVal.js.map +0 -1
  197. package/src/val/IdFuncVal.ts +0 -91
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ /* Copyright (c) 2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.InverseFuncVal = exports.AcyclicFuncVal = exports.GraphAtomVal = void 0;
5
+ exports.relDecls = relDecls;
6
+ const type_1 = require("../type");
7
+ const err_1 = require("../err");
8
+ const FuncBaseVal_1 = require("./FuncBaseVal");
9
+ const FeatureVal_1 = require("./FeatureVal");
10
+ const unify_1 = require("../unify");
11
+ const utility_1 = require("../utility");
12
+ function relDecls(ctx) {
13
+ return ctx._reldecls;
14
+ }
15
+ class GraphAtomVal extends FeatureVal_1.FeatureVal {
16
+ constructor(spec, ctx) {
17
+ super(spec, ctx);
18
+ this.isGraphAtom = true;
19
+ this.isGenable = true;
20
+ // AFTER rel() (45000): the atoms say nothing about the value.
21
+ this.cjo = 46000;
22
+ this.akind = spec.akind ?? 'acyclic';
23
+ this.invname = spec.invname;
24
+ this.held = spec.held;
25
+ // A settled residual, like an unmet rel(): the bare atom is its
26
+ // own value, and a type() body carrying one must settle. Holding
27
+ // an unsettled value, it is exactly as done as the value.
28
+ this.dc = undefined === this.held || true === this.held.done
29
+ ? type_1.DONE : 0;
30
+ }
31
+ clone(ctx, spec) {
32
+ const out = super.clone(ctx, spec);
33
+ out.akind = this.akind;
34
+ out.invname = this.invname;
35
+ out.held = this.held;
36
+ out.dc = this.dc;
37
+ return out;
38
+ }
39
+ // A rebuilt atom around a new held, at this atom's position.
40
+ carry(ctx, held) {
41
+ const out = new GraphAtomVal({ akind: this.akind, invname: this.invname, held }, ctx);
42
+ (0, utility_1.propagateMarks)(this, out);
43
+ out.site = this.site;
44
+ out.path = this.path;
45
+ return out;
46
+ }
47
+ // The predicate is the key the atom sits on -- and a predicate is a
48
+ // D-1 NAME, by exactly fieldkey's rule: an atom landed anywhere
49
+ // else declares nothing. Registration is idempotent (the
50
+ // declaration set is a set) and happens at every drive, so
51
+ // whichever pass first sees the atom at its landed position records
52
+ // it.
53
+ register(ctx) {
54
+ const seg = this.path[this.path.length - 1];
55
+ if ('string' !== typeof seg || !GRAPH_ATOM_NAME.test(seg)) {
56
+ return;
57
+ }
58
+ const decls = relDecls(ctx);
59
+ let d = decls.get(seg);
60
+ if (undefined === d) {
61
+ d = { inverses: new Set() };
62
+ decls.set(seg, d);
63
+ }
64
+ if ('acyclic' === this.akind) {
65
+ d.acyclic = true;
66
+ }
67
+ else if (undefined !== this.invname) {
68
+ d.inverses.add(this.invname);
69
+ }
70
+ }
71
+ unify(peer, ctx) {
72
+ const p = peer;
73
+ this.register(ctx);
74
+ // The self-drive: unite's tail calls unify(top) directly on any
75
+ // not-done result, and the held is what still has work to do.
76
+ // (A null/nil peer never arrives -- unite's ladder absorbs both.)
77
+ if (null == peer || true === p.isTop) {
78
+ if (undefined === this.held) {
79
+ return this;
80
+ }
81
+ if (true === this.held.done) {
82
+ // Doneness is monotone, so recording it in place is safe --
83
+ // and without it the bag walk keeps asking and generation
84
+ // refuses a finished value.
85
+ this.dc = type_1.DONE;
86
+ return this;
87
+ }
88
+ // The self-drive refines IN PLACE (the MapVal top-peer
89
+ // pattern): a fresh atom per pass changes object identity, so
90
+ // spread apply-once stamps and the entity merge's fast paths
91
+ // stop holding, and the enclosing bags re-open every pass --
92
+ // the service catalog never converged.
93
+ const held = (0, unify_1.unite)(ctx, this.held, undefined, 'atom-drive');
94
+ if (true === held.isNil) {
95
+ return held;
96
+ }
97
+ this.held = held;
98
+ if (true === held.done) {
99
+ this.dc = type_1.DONE;
100
+ }
101
+ return this;
102
+ }
103
+ // The SAME declaration twice is one declaration; their helds
104
+ // merge.
105
+ if (true === p.isGraphAtom &&
106
+ p.akind === this.akind && p.invname === this.invname) {
107
+ const held = undefined === this.held ? p.held
108
+ : undefined === p.held ? this.held
109
+ : (0, unify_1.unite)(ctx, this.held, p.held, 'atom-dup');
110
+ if (undefined !== held && true === held.isNil) {
111
+ return held;
112
+ }
113
+ return undefined === held ? this : this.carry(ctx, held);
114
+ }
115
+ // Anything else -- the rel, the container, a different atom -- is
116
+ // ABSORBED: the atom carries the value and the fold's pairwise
117
+ // walk merges across it.
118
+ const held = undefined === this.held ? peer
119
+ : (0, unify_1.unite)(ctx, this.held, peer, 'atom-held');
120
+ return true === held.isNil ? held : this.carry(ctx, held);
121
+ }
122
+ get canon() {
123
+ const own = 'acyclic' === this.akind
124
+ ? 'acyclic()'
125
+ : 'inverse(' + JSON.stringify(this.invname) + ')';
126
+ return undefined === this.held ? own : this.held.canon + '&' + own;
127
+ }
128
+ gen(ctx) {
129
+ // The atom is transparent at generation -- its verdict is global
130
+ // (relationVerdict), never a value at this field -- and a BARE
131
+ // atom is silent, exactly as an unmet rel() is.
132
+ return undefined === this.held ? undefined : this.held.gen(ctx);
133
+ }
134
+ }
135
+ exports.GraphAtomVal = GraphAtomVal;
136
+ // D-1 (docs/design/RELATIONS.0.md): the name grammar shared by entity
137
+ // names, edge predicates and inverse names.
138
+ const GRAPH_ATOM_NAME = /^[_a-zA-Z][-_a-zA-Z0-9]*$/;
139
+ class AcyclicFuncVal extends FuncBaseVal_1.FuncBaseVal {
140
+ constructor(spec, ctx) {
141
+ super(spec, ctx);
142
+ this.isAcyclicFunc = true;
143
+ }
144
+ make(_ctx, spec) {
145
+ return new AcyclicFuncVal(spec);
146
+ }
147
+ funcname() {
148
+ return 'acyclic';
149
+ }
150
+ resolve(ctx, _args) {
151
+ const out = new GraphAtomVal({ akind: 'acyclic' }, ctx);
152
+ out.site = this.site;
153
+ out.path = this.path;
154
+ return out;
155
+ }
156
+ }
157
+ exports.AcyclicFuncVal = AcyclicFuncVal;
158
+ class InverseFuncVal extends FuncBaseVal_1.FuncBaseVal {
159
+ constructor(spec, ctx) {
160
+ super(spec, ctx);
161
+ this.isInverseFunc = true;
162
+ }
163
+ make(_ctx, spec) {
164
+ return new InverseFuncVal(spec);
165
+ }
166
+ funcname() {
167
+ return 'inverse';
168
+ }
169
+ resolve(ctx, args) {
170
+ const a = args[0];
171
+ // The mirroring predicate is a NAME -- D-1, spelled bare or
172
+ // quoted. A relation is a vocabulary term, not an address.
173
+ if (true !== a?.isScalar || 'string' !== typeof a.peg
174
+ || !GRAPH_ATOM_NAME.test(a.peg)) {
175
+ return (0, err_1.makeNilErr)(ctx, 'inverse_name', this, undefined, 'inverse');
176
+ }
177
+ const out = new GraphAtomVal({ akind: 'inverse', invname: a.peg }, ctx);
178
+ out.site = this.site;
179
+ out.path = this.path;
180
+ return out;
181
+ }
182
+ } /* node:coverage ignore next 7 */
183
+ exports.InverseFuncVal = InverseFuncVal;
184
+ //# sourceMappingURL=GraphAtomVal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphAtomVal.js","sourceRoot":"","sources":["../../src/val/GraphAtomVal.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,29 @@ class JunctionVal extends FeatureVal_1.FeatureVal {
17
17
  }
18
18
  clone(ctx, spec) {
19
19
  let out = super.clone(ctx, spec);
20
- // The instantiation flag descends with the mark (ADR-005): a
21
- // junction inside a template clones its members as instances (the
22
- // instantiation sites re-path the whole clone afterwards — see
23
- // repathInstance in Val.ts).
20
+ // A JUNCTION'S MEMBERS SIT AT THE JUNCTION'S OWN POSITION. That is
21
+ // the rule `repathInstance` (Val.ts) states for the instance walk
22
+ // -- a conjunct's members occupy the conjunct's position, which is
23
+ // what `A & B` means -- and it holds for every clone, not only for
24
+ // marked ones.
25
+ //
26
+ // Val.clone's ctx cut cannot derive it: MapVal.clone hands a child
27
+ // its path through the SPEC rather than by descending the ctx, so
28
+ // a member left to the cut takes the DRIVING context's path -- the
29
+ // map's -- and loses the field key it sits under. A conjunct
30
+ // member reached through a reference into a position at least as
31
+ // deep as its definition then carried the entity's path, and every
32
+ // reader of `Val.path` was told the wrong position: a rel()-minted
33
+ // link took the ENTITY's key as its predicate, so `inverse(n)`
34
+ // looked for a mirror under a relation nobody declared and
35
+ // reported a written mirror missing.
36
+ //
37
+ // The instantiation flag still descends with the mark (ADR-005).
38
+ // Go states the same invariant directly (go/clone.go, cloneAt), so
39
+ // this restores parity rather than inventing a behaviour.
24
40
  const childspec = spec?.mark || spec?.dup ?
25
- { mark: spec?.mark, dup: spec?.dup } : {};
41
+ { mark: spec?.mark, dup: spec?.dup, path: out.path }
42
+ : { path: out.path };
26
43
  out.peg = this.peg.map((entry) => entry.clone(ctx, childspec));
27
44
  return out;
28
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JunctionVal.js","sourceRoot":"","sources":["../../src/val/JunctionVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,6CAAyC;AAGzC,iFAAiF;AACjF,gCAAgC;AAChC,MAAe,WAAY,SAAQ,uBAAU;IAG3C,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,eAAU,GAAG,IAAI,CAAA;IAOjB,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,IAAS;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,IAAI,GAAG,GAAI,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAiB,CAAA;QACjD,6DAA6D;QAC7D,kEAAkE;QAClE,+DAA+D;QAC/D,6BAA6B;QAC7B,MAAM,SAAS,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YACzC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3C,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;QACnE,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC7B,OAAQ,CAAS,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxE,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,uBAAuB;QACzD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA,CAAC,4CAA4C;IAChF,CAAC;CAIF,CAAC,iCAAiC;QAIjC,WAAW"}
1
+ {"version":3,"file":"JunctionVal.js","sourceRoot":"","sources":["../../src/val/JunctionVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,6CAAyC;AAGzC,iFAAiF;AACjF,gCAAgC;AAChC,MAAe,WAAY,SAAQ,uBAAU;IAG3C,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,eAAU,GAAG,IAAI,CAAA;IAOjB,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,IAAS;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,IAAI,GAAG,GAAI,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAiB,CAAA;QACjD,mEAAmE;QACnE,kEAAkE;QAClE,mEAAmE;QACnE,mEAAmE;QACnE,eAAe;QACf,EAAE;QACF,mEAAmE;QACnE,kEAAkE;QAClE,mEAAmE;QACnE,6DAA6D;QAC7D,iEAAiE;QACjE,mEAAmE;QACnE,mEAAmE;QACnE,+DAA+D;QAC/D,2DAA2D;QAC3D,qCAAqC;QACrC,EAAE;QACF,iEAAiE;QACjE,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,SAAS,GAAQ,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE;YACpD,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;QACtB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;QACnE,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC7B,OAAQ,CAAS,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxE,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,uBAAuB;QACzD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA,CAAC,4CAA4C;IAChF,CAAC;CAIF,CAAC,iCAAiC;QAIjC,WAAW"}
@@ -8,7 +8,6 @@ const utility_1 = require("../utility");
8
8
  const err_1 = require("../err");
9
9
  const top_1 = require("./top");
10
10
  const ConjunctVal_1 = require("./ConjunctVal");
11
- const NilVal_1 = require("./NilVal");
12
11
  const BagVal_1 = require("./BagVal");
13
12
  const Val_1 = require("./Val");
14
13
  const provenance_1 = require("../provenance");
@@ -33,21 +32,6 @@ class ListVal extends BagVal_1.BagVal {
33
32
  new ConjunctVal_1.ConjunctVal({ peg: spread.v }, ctx) :
34
33
  spread.v[0] :
35
34
  spread.v;
36
- // Clearing rule 3 (G4 phase 1): a CONSTANT id in the template
37
- // would declare every child to be one entity. The refusal
38
- // replaces the template, so it reaches every child and the
39
- // bag itself (see the isNil arm where the spread is applied)
40
- // as ONE nil identity — made here, once, rather than per
41
- // pass, so the report names it once.
42
- const idfn = (0, utility_1.constantIdFunc)(this.spread.cj);
43
- if (undefined !== idfn) {
44
- const nil = new NilVal_1.NilVal({ why: 'id_spread' }, ctx);
45
- nil.site.row = idfn.site.row;
46
- nil.site.col = idfn.site.col;
47
- nil.site.url = idfn.site.url;
48
- nil.primary = idfn;
49
- this.spread.cj = nil;
50
- }
51
35
  // let tmv = Array.isArray(spread.v) ? spread.v : [spread.v]
52
36
  // this.spread.cj = new ConjunctVal({ peg: tmv }, ctx)
53
37
  }
@@ -56,6 +40,11 @@ class ListVal extends BagVal_1.BagVal {
56
40
  // NOTE: order of keys is not preserved!
57
41
  // not possible in any case - consider {a,b} unify {b,a}
58
42
  unify(peer, ctx) {
43
+ // A rel() peer drives: the relation constraint rewrites this list
44
+ // leaf by leaf (RELATIONS.0.md §3.2); see the twin arm in MapVal.
45
+ if (true === peer?.isRel) {
46
+ return peer.unify(this, ctx);
47
+ }
59
48
  const TOP = (0, top_1.top)();
60
49
  peer = peer ?? TOP;
61
50
  // A sizing residual (`length`, `unique`) sorts AFTER containers in a
@@ -67,6 +56,18 @@ class ListVal extends BagVal_1.BagVal {
67
56
  if (true === peer.isConstraint) {
68
57
  return peer.unify(this, ctx);
69
58
  }
59
+ // A DISJUNCT ALTERNATIVE MATCHES ITS OWN LENGTH (BUGS.md §52
60
+ // regime 4, the X-C3 adjudication): in a trial, a literal list
61
+ // with no spread admits only a peer list of the same length -- a
62
+ // spread makes it variadic. Outside trials the ordinary
63
+ // elementwise merge stands (two statements of one list are one
64
+ // list), so `[] | [&: T]` stops admitting every list through the
65
+ // empty arm while `a: [] a: [1]` still merges.
66
+ if (true === ctx._trialMode && true === peer.isList
67
+ && null == this.spread.cj && null == peer.spread.cj
68
+ && this.peg.length !== peer.peg.length) {
69
+ return (0, err_1.makeNilErr)(ctx, 'list_length', this, peer);
70
+ }
70
71
  const te = ctx.explain && (0, utility_1.explainOpen)(ctx, ctx.explain, 'List', this, peer);
71
72
  let done = true;
72
73
  let exit = false;
@@ -90,20 +91,6 @@ class ListVal extends BagVal_1.BagVal {
90
91
  if (!exit) {
91
92
  out.dc = this.dc + 1;
92
93
  let spread_cj = out.spread.cj || TOP;
93
- // The template REFUSED at construction (clearing rule 3, G4
94
- // phase 1): the bag itself is that refusal. Returning the nil
95
- // here rather than only letting it reach the children is what
96
- // makes an EMPTY bag with a bad template an error too — there
97
- // are no children to carry it.
98
- //
99
- // Narrow to THIS code on purpose. A nil spread from any other
100
- // cause keeps its existing behaviour of driving every key
101
- // (coverage3 `nil-spread-drives-every-key`): a template that has
102
- // merely not resolved yet must not permanently kill the bag that
103
- // holds it.
104
- if ('id_spread' === spread_cj.why) {
105
- return spread_cj;
106
- }
107
94
  // Always unify children first
108
95
  for (let key in this.peg) {
109
96
  const keyctx = ctx.descend(key);
@@ -115,7 +102,7 @@ class ListVal extends BagVal_1.BagVal {
115
102
  // instead of having the template met into it a second time.
116
103
  // Re-applying is the identity for a template that has already
117
104
  // RESOLVED, which is why the missing guard went unnoticed here
118
- // — but a template that residuates (`&: id(key(1))`, G8 phase
105
+ // — but a template that residuates (`&: {k: key(1)}`, G8 phase
119
106
  // 0) is not yet a value to be idempotent about, so each pass
120
107
  // conjoined another copy and the element's canon DOUBLED per
121
108
  // pass. The old `ctx.cc < 3` key delay hid it by ending the
@@ -124,10 +111,10 @@ class ListVal extends BagVal_1.BagVal {
124
111
  // does.
125
112
  let oval;
126
113
  if (!spread_cj.isTop
127
- && child._spr === spread_cj.id) {
114
+ && child._spr === (0, Val_1.spreadId)(spread_cj)) {
128
115
  oval = child.done ? child :
129
116
  (0, unify_1.unite)(te ? keyctx.clone({ explain: (0, utility_1.ec)(te, 'PEG:' + key) }) : keyctx, child, TOP, 'list-own');
130
- oval._spr = spread_cj.id;
117
+ oval._spr = (0, Val_1.spreadId)(spread_cj);
131
118
  }
132
119
  else {
133
120
  const key_spread_cj = spread_cj.spreadClone(keyctx);
@@ -152,7 +139,7 @@ class ListVal extends BagVal_1.BagVal {
152
139
  (0, unify_1.unite)(te ? keyctx.clone({ explain: (0, utility_1.ec)(te, 'PEG:' + key) }) : keyctx, child, key_spread_cj, 'list-own');
153
140
  if (!spread_cj.isTop && !oval.isNil) {
154
141
  ;
155
- oval._spr = spread_cj.id;
142
+ oval._spr = (0, Val_1.spreadId)(spread_cj);
156
143
  }
157
144
  }
158
145
  out.peg[key] = oval;
@@ -188,6 +175,12 @@ class ListVal extends BagVal_1.BagVal {
188
175
  done = (done && type_1.DONE === oval.dc);
189
176
  }
190
177
  }
178
+ else if (true === peer.isContainerKind) {
179
+ // The container KIND delegates to its own arm, exactly as a
180
+ // scalar delegates to a ScalarKindVal peer (MapVal has the
181
+ // same arm).
182
+ out = peer.unify(this, ctx);
183
+ }
191
184
  else if (!peer.isTop) {
192
185
  out = (0, err_1.makeNilErr)(ctx, 'list', this, peer);
193
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ListVal.js","sourceRoot":"","sources":["../../src/val/ListVal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListVal.js","sourceRoot":"","sources":["../../src/val/ListVal.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { BagVal } from './BagVal';
4
4
  declare class MapVal extends BagVal {
5
5
  isMap: boolean;
6
6
  constructor(spec: ValSpec, ctx?: AontuContext);
7
+ aliasDeclarationsAreRooted(ctx: AontuContext): Val | undefined;
7
8
  unify(peer: Val, ctx: AontuContext): Val;
8
9
  spreadClone(ctx: AontuContext): Val;
9
10
  clone(ctx: AontuContext, spec?: ValSpec): Val;
@@ -7,6 +7,7 @@ const unify_1 = require("../unify");
7
7
  const utility_1 = require("../utility");
8
8
  const err_1 = require("../err");
9
9
  const top_1 = require("./top");
10
+ const RefVal_1 = require("./RefVal");
10
11
  const ConjunctVal_1 = require("./ConjunctVal");
11
12
  const NilVal_1 = require("./NilVal");
12
13
  const BagVal_1 = require("./BagVal");
@@ -44,6 +45,15 @@ function snapshotRefSpread(cj, ctx) {
44
45
  // so a type-wrapped ref behaves like a plain-map ref spread.
45
46
  if (tgt && tgt.isTypeFunc)
46
47
  tgt = tgt.peg?.[0];
48
+ // A pending type()/hide() CALL is not yet a value to snapshot
49
+ // (ADR-005, the same rule find's non-snap path defers on): cached
50
+ // here it resolves at every destination and STAMPS marks the
51
+ // clearing walk ran too early to clear -- a mutual recursive
52
+ // schema's members vanished from generation this way. No cache;
53
+ // retry once the wrapper has resolved at its own field.
54
+ if (tgt && (0, RefVal_1.pendingMarkWrapper)(tgt)) {
55
+ return undefined;
56
+ }
47
57
  // Only snapshot a found, path-dependent target. If the target is not
48
58
  // present yet (it may be introduced by a later conjunct/merge), do
49
59
  // NOT cache — retry on the next fixpoint pass.
@@ -86,28 +96,39 @@ class MapVal extends BagVal_1.BagVal {
86
96
  new ConjunctVal_1.ConjunctVal({ peg: spread.v }, ctx) :
87
97
  spread.v[0] :
88
98
  spread.v;
89
- // Clearing rule 3 (G4 phase 1): a CONSTANT id in the template
90
- // would declare every child to be one entity. The refusal
91
- // replaces the template, so it reaches every child and the
92
- // bag itself (see the isNil arm where the spread is applied)
93
- // as ONE nil identity — made here, once, rather than per
94
- // pass, so the report names it once.
95
- const idfn = (0, utility_1.constantIdFunc)(this.spread.cj);
96
- if (undefined !== idfn) {
97
- const nil = new NilVal_1.NilVal({ why: 'id_spread' }, ctx);
98
- nil.site.row = idfn.site.row;
99
- nil.site.col = idfn.site.col;
100
- nil.site.url = idfn.site.url;
101
- nil.primary = idfn;
102
- this.spread.cj = nil;
103
- }
104
99
  }
105
100
  }
106
101
  // console.log('MAPVAL-ctor', this.type, spec)
107
102
  }
108
103
  // NOTE: order of keys is not preserved!
109
104
  // not possible in any case - consider {a,b} unify {b,a}
105
+ // ALIAS DECLARATIONS MUST SIT AT THE DOCUMENT ROOT. Stated on the
106
+ // VALUE rather than at the parse, because the parse cannot see it: an
107
+ // INCLUDED file's declarations are at the root of their own text, and
108
+ // only once the loaded map is placed does it become apparent that
109
+ // root is not the document's. `%name` is spelled as a reference from
110
+ // the document root, so an included file's own `%b` would otherwise
111
+ // reach the INCLUDER's `%b` -- cross-file capture, the hazard the
112
+ // sigil exists to prevent, one level up.
113
+ //
114
+ // P1 is single-file by construction; carrying a name ACROSS files is
115
+ // what `export` and the destructure are for (P2, not built), and this
116
+ // refusal is what keeps the two from being confused meanwhile. Pathed
117
+ // at the DECLARATION, which is what is wrong, not at the map.
118
+ aliasDeclarationsAreRooted(ctx) {
119
+ if (0 === this.aliasKeys.length || 0 === this.path.length) {
120
+ return undefined;
121
+ }
122
+ const nv = new NilVal_1.NilVal({ why: 'alias_not_toplevel' }, ctx);
123
+ nv.site = this.site;
124
+ nv.path = [...this.path, this.aliasKeys[0]];
125
+ return nv;
126
+ }
110
127
  unify(peer, ctx) {
128
+ const arooted = this.aliasDeclarationsAreRooted(ctx);
129
+ if (undefined !== arooted) {
130
+ return arooted;
131
+ }
111
132
  // console.log('MAPVAL-UNIFY', this.id, this.canon, peer.id, peer.canon)
112
133
  const TOP = (0, top_1.top)();
113
134
  peer = peer ?? TOP;
@@ -127,8 +148,16 @@ class MapVal extends BagVal_1.BagVal {
127
148
  let out = (peer.isTop ? this : new MapVal({ peg: {} }, ctx));
128
149
  out.closed = this.closed;
129
150
  out.optionalKeys = [...this.optionalKeys];
151
+ out.aliasKeys = [...this.aliasKeys];
130
152
  out.spread.cj = this.spread.cj;
131
153
  out.site = this.site;
154
+ // A rel() peer DRIVES whichever side the fold hands it on: the
155
+ // relation constraint rewrites this container leaf by leaf
156
+ // (RELATIONS.0.md §3.2), exactly as a sizing residual takes the
157
+ // driver's seat above.
158
+ if (true === peer?.isRel) {
159
+ return peer.unify(this, te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'REL') }) : ctx);
160
+ }
132
161
  if (peer instanceof MapVal) {
133
162
  if (!this.closed && peer.closed) {
134
163
  out = peer.unify(this, te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'PMC') }) : ctx);
@@ -176,20 +205,6 @@ class MapVal extends BagVal_1.BagVal {
176
205
  out.dc = this.dc + 1;
177
206
  // let newtype = this.type || peer.type
178
207
  let spread_cj = out.spread.cj ?? TOP;
179
- // The template REFUSED at construction (clearing rule 3, G4
180
- // phase 1): the bag itself is that refusal. Returning the nil
181
- // here rather than only letting it reach the children is what
182
- // makes an EMPTY bag with a bad template an error too — there
183
- // are no children to carry it.
184
- //
185
- // Narrow to THIS code on purpose. A nil spread from any other
186
- // cause keeps its existing behaviour of driving every key
187
- // (coverage3 `nil-spread-drives-every-key`): a template that has
188
- // merely not resolved yet must not permanently kill the bag that
189
- // holds it.
190
- if ('id_spread' === spread_cj.why) {
191
- return spread_cj;
192
- }
193
208
  // Snapshot a path-dependent *ref* spread to its structural target
194
209
  // once (while inner key()/path() funcs are still unresolved), so
195
210
  // later fixpoint passes don't re-resolve the ref against the mutated
@@ -226,10 +241,10 @@ class MapVal extends BagVal_1.BagVal {
226
241
  // No `undefined !== child` here: propagateMarks above already
227
242
  // dereferenced it, so a missing child would have thrown there.
228
243
  if (!spread_cj.isTop
229
- && child._spr === spread_cj.id) {
244
+ && child._spr === (0, Val_1.spreadId)(spread_cj)) {
230
245
  oval = child.done ? child :
231
246
  (0, unify_1.unite)(te ? keyctx.clone({ explain: (0, utility_1.ec)(te, 'KEY:' + key) }) : keyctx, child, TOP, 'map-own');
232
- oval._spr = spread_cj.id;
247
+ oval._spr = (0, Val_1.spreadId)(spread_cj);
233
248
  }
234
249
  else {
235
250
  const key_spread_cj = spread_cj.spreadClone(keyctx);
@@ -255,7 +270,7 @@ class MapVal extends BagVal_1.BagVal {
255
270
  (0, unify_1.unite)(te ? keyctx.clone({ explain: (0, utility_1.ec)(te, 'KEY:' + key) }) : keyctx, child, key_spread_cj, 'map-own');
256
271
  if (!spread_cj.isTop && !oval.isNil) {
257
272
  ;
258
- oval._spr = spread_cj.id;
273
+ oval._spr = (0, Val_1.spreadId)(spread_cj);
259
274
  }
260
275
  }
261
276
  out.peg[key] = oval;
@@ -274,6 +289,12 @@ class MapVal extends BagVal_1.BagVal {
274
289
  if (upeer.optionalKeys.includes(peerkey) && !out.optionalKeys.includes(peerkey)) {
275
290
  out.optionalKeys.push(peerkey);
276
291
  }
292
+ // ... and so is an alias declaration, for the same reason:
293
+ // two statements for one map are one map, and a name declared
294
+ // in either is declared in the result.
295
+ if (upeer.aliasKeys.includes(peerkey) && !out.aliasKeys.includes(peerkey)) {
296
+ out.aliasKeys.push(peerkey);
297
+ }
277
298
  let child = out.peg[peerkey];
278
299
  const peerctx = ctx.descend(peerkey);
279
300
  let oval = out.peg[peerkey] =
@@ -298,13 +319,24 @@ class MapVal extends BagVal_1.BagVal {
298
319
  // Same apply-once discipline as the own-key loop: once the
299
320
  // constraint is merged into the value (marked with the
300
321
  // constraint's id), later passes only self-unify.
301
- if (oval._spr !== spread_cj.id) {
322
+ if (oval._spr !== (0, Val_1.spreadId)(spread_cj)) {
302
323
  let key_spread_cj = spread_cj.spreadClone(peerctx);
324
+ // A SPREAD IS A SPREAD FROM EITHER SIDE. The own-key loop
325
+ // above marks its template so `why` can say the
326
+ // contribution came from `&:` rather than from the key;
327
+ // this arm did not, so the SAME document reported the
328
+ // role or dropped it depending on whether the template
329
+ // and the keys were written in one statement or two --
330
+ // `services: &: {..}` plus `services: {web:{}}` took the
331
+ // peer path and lost `(spread)` (use-cases/BUGS.md §55).
332
+ if (undefined !== peerctx.prov) {
333
+ (0, provenance_1.markSpread)(key_spread_cj);
334
+ }
303
335
  oval = out.peg[peerkey] =
304
336
  (0, unify_1.unite)(te ? peerctx.clone({ explain: (0, utility_1.ec)(te, 'PSP:' + peerkey) }) : peerctx, oval, key_spread_cj, 'map-peer-spread');
305
337
  if (!spread_cj.isTop && !oval.isNil) {
306
338
  ;
307
- oval._spr = spread_cj.id;
339
+ oval._spr = (0, Val_1.spreadId)(spread_cj);
308
340
  }
309
341
  }
310
342
  }
@@ -312,6 +344,12 @@ class MapVal extends BagVal_1.BagVal {
312
344
  done = (done && type_1.DONE === oval.dc);
313
345
  }
314
346
  }
347
+ else if (true === peer.isContainerKind) {
348
+ // The container KIND delegates to its own arm, exactly as a
349
+ // scalar delegates to a ScalarKindVal peer: the kind knows to
350
+ // admit this map, and this map knows nothing about kinds.
351
+ out = peer.unify(this, ctx);
352
+ }
315
353
  else if (!peer.isTop) {
316
354
  out = (0, err_1.makeNilErr)(ctx, 'map', this, peer);
317
355
  }
@@ -378,6 +416,7 @@ class MapVal extends BagVal_1.BagVal {
378
416
  };
379
417
  out.closed = this.closed;
380
418
  out.optionalKeys = [...this.optionalKeys];
419
+ out.aliasKeys = [...this.aliasKeys];
381
420
  return out;
382
421
  }
383
422
  clone(ctx, spec) {
@@ -402,6 +441,7 @@ class MapVal extends BagVal_1.BagVal {
402
441
  }
403
442
  out.closed = this.closed;
404
443
  out.optionalKeys = [...this.optionalKeys];
444
+ out.aliasKeys = [...this.aliasKeys];
405
445
  // out.from = this.from
406
446
  // console.log('MAPVAL-CLONE', this.canon, '->', out.canon)
407
447
  return out;
@@ -411,7 +451,14 @@ class MapVal extends BagVal_1.BagVal {
411
451
  // independent of insertion/unification order and matches the Go
412
452
  // port. A bare .sort() is UTF-16 code-unit order, which puts an
413
453
  // astral key ahead of everything in U+E000-U+FFFF -- see cmpCodePoint.
414
- let keys = Object.keys(this.peg).sort(keyorder_1.cmpCodePoint);
454
+ // An alias declaration is not part of the document, so canon does
455
+ // not render it: a document with aliases and the document with
456
+ // every alias written out longhand must produce the same text and
457
+ // therefore the same `aon1-` hash. That is the sharpest statement
458
+ // of what an alias IS -- a name for a value, and nothing more.
459
+ let keys = Object.keys(this.peg)
460
+ .filter(k => !this.aliasKeys.includes(k))
461
+ .sort(keyorder_1.cmpCodePoint);
415
462
  return '' +
416
463
  // this.errcanon() +
417
464
  // (this.mark.type ? '<type>' : '') +