aontu 0.52.1 → 0.54.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 (310) hide show
  1. package/README.md +88 -0
  2. package/bin/aontu-mcp.js +4 -0
  3. package/dist/agentsmd.d.ts +16 -0
  4. package/dist/agentsmd.js +107 -0
  5. package/dist/agentsmd.js.map +1 -0
  6. package/dist/aontu.d.ts +15 -3
  7. package/dist/aontu.js +126 -5
  8. package/dist/aontu.js.map +1 -1
  9. package/dist/cli.d.ts +45 -1
  10. package/dist/cli.js +2845 -69
  11. package/dist/cli.js.map +1 -1
  12. package/dist/ctx.d.ts +18 -0
  13. package/dist/ctx.js +44 -0
  14. package/dist/ctx.js.map +1 -1
  15. package/dist/diff.d.ts +22 -0
  16. package/dist/diff.js +141 -0
  17. package/dist/diff.js.map +1 -0
  18. package/dist/err.d.ts +3 -1
  19. package/dist/err.js +45 -8
  20. package/dist/err.js.map +1 -1
  21. package/dist/graph.d.ts +13 -0
  22. package/dist/graph.js +110 -0
  23. package/dist/graph.js.map +1 -0
  24. package/dist/hcanon.d.ts +3 -0
  25. package/dist/hcanon.js +145 -0
  26. package/dist/hcanon.js.map +1 -0
  27. package/dist/hints.js +235 -8
  28. package/dist/hints.js.map +1 -1
  29. package/dist/jsonschema.d.ts +20 -0
  30. package/dist/jsonschema.js +425 -0
  31. package/dist/jsonschema.js.map +1 -0
  32. package/dist/lang.js +955 -110
  33. package/dist/lang.js.map +1 -1
  34. package/dist/lsp.d.ts +9 -2
  35. package/dist/lsp.js +343 -48
  36. package/dist/lsp.js.map +1 -1
  37. package/dist/mcp-server.d.ts +20 -0
  38. package/dist/mcp-server.js +147 -0
  39. package/dist/mcp-server.js.map +1 -0
  40. package/dist/mcp.d.ts +42 -0
  41. package/dist/mcp.js +941 -0
  42. package/dist/mcp.js.map +1 -0
  43. package/dist/mod-tool.d.ts +58 -0
  44. package/dist/mod-tool.js +532 -0
  45. package/dist/mod-tool.js.map +1 -0
  46. package/dist/mod.d.ts +35 -0
  47. package/dist/mod.js +345 -0
  48. package/dist/mod.js.map +1 -0
  49. package/dist/patch.d.ts +49 -0
  50. package/dist/patch.js +506 -0
  51. package/dist/patch.js.map +1 -0
  52. package/dist/provenance.d.ts +41 -0
  53. package/dist/provenance.js +336 -0
  54. package/dist/provenance.js.map +1 -0
  55. package/dist/query.d.ts +27 -0
  56. package/dist/query.js +294 -0
  57. package/dist/query.js.map +1 -0
  58. package/dist/reach.d.ts +15 -0
  59. package/dist/reach.js +168 -0
  60. package/dist/reach.js.map +1 -0
  61. package/dist/relation.d.ts +23 -0
  62. package/dist/relation.js +230 -0
  63. package/dist/relation.js.map +1 -0
  64. package/dist/report-sarif.d.ts +14 -0
  65. package/dist/report-sarif.js +102 -0
  66. package/dist/report-sarif.js.map +1 -0
  67. package/dist/sig.d.ts +25 -0
  68. package/dist/sig.js +277 -0
  69. package/dist/sig.js.map +1 -0
  70. package/dist/sigdecl.d.ts +2 -0
  71. package/dist/sigdecl.js +11 -0
  72. package/dist/sigdecl.js.map +1 -0
  73. package/dist/siggate.d.ts +4 -0
  74. package/dist/siggate.js +90 -0
  75. package/dist/siggate.js.map +1 -0
  76. package/dist/site.d.ts +4 -0
  77. package/dist/site.js +31 -0
  78. package/dist/site.js.map +1 -1
  79. package/dist/std.d.ts +1 -0
  80. package/dist/std.js +129 -0
  81. package/dist/std.js.map +1 -0
  82. package/dist/subsume.d.ts +39 -0
  83. package/dist/subsume.js +573 -0
  84. package/dist/subsume.js.map +1 -0
  85. package/dist/trim.d.ts +19 -0
  86. package/dist/trim.js +155 -0
  87. package/dist/trim.js.map +1 -0
  88. package/dist/tsconfig.tsbuildinfo +1 -1
  89. package/dist/type.d.ts +17 -1
  90. package/dist/type.js.map +1 -1
  91. package/dist/unify.d.ts +2 -1
  92. package/dist/unify.js +234 -38
  93. package/dist/unify.js.map +1 -1
  94. package/dist/utility.d.ts +8 -1
  95. package/dist/utility.js +68 -1
  96. package/dist/utility.js.map +1 -1
  97. package/dist/val/AggFuncVal.d.ts +44 -0
  98. package/dist/val/AggFuncVal.js +364 -0
  99. package/dist/val/AggFuncVal.js.map +1 -0
  100. package/dist/val/ArithFuncVal.d.ts +31 -0
  101. package/dist/val/ArithFuncVal.js +62 -0
  102. package/dist/val/ArithFuncVal.js.map +1 -0
  103. package/dist/val/BagVal.d.ts +7 -0
  104. package/dist/val/BagVal.js +150 -11
  105. package/dist/val/BagVal.js.map +1 -1
  106. package/dist/val/CloseFuncVal.js +9 -1
  107. package/dist/val/CloseFuncVal.js.map +1 -1
  108. package/dist/val/ConjunctVal.d.ts +1 -1
  109. package/dist/val/ConjunctVal.js +19 -0
  110. package/dist/val/ConjunctVal.js.map +1 -1
  111. package/dist/val/ConstraintVal.d.ts +7 -1
  112. package/dist/val/ConstraintVal.js +523 -45
  113. package/dist/val/ConstraintVal.js.map +1 -1
  114. package/dist/val/ContainerKindVal.d.ts +35 -0
  115. package/dist/val/ContainerKindVal.js +99 -0
  116. package/dist/val/ContainerKindVal.js.map +1 -0
  117. package/dist/val/CopyFuncVal.d.ts +1 -2
  118. package/dist/val/CopyFuncVal.js.map +1 -1
  119. package/dist/val/Decimal.d.ts +1 -0
  120. package/dist/val/Decimal.js +13 -0
  121. package/dist/val/Decimal.js.map +1 -1
  122. package/dist/val/DeprecateFuncVal.d.ts +11 -0
  123. package/dist/val/DeprecateFuncVal.js +47 -0
  124. package/dist/val/DeprecateFuncVal.js.map +1 -0
  125. package/dist/val/DisjunctVal.d.ts +1 -2
  126. package/dist/val/DisjunctVal.js +269 -53
  127. package/dist/val/DisjunctVal.js.map +1 -1
  128. package/dist/val/EachFuncVal.d.ts +15 -0
  129. package/dist/val/EachFuncVal.js +75 -0
  130. package/dist/val/EachFuncVal.js.map +1 -0
  131. package/dist/val/ExpectVal.js +62 -4
  132. package/dist/val/ExpectVal.js.map +1 -1
  133. package/dist/val/FeatureVal.js +1 -1
  134. package/dist/val/FeatureVal.js.map +1 -1
  135. package/dist/val/FilterFuncVal.d.ts +15 -0
  136. package/dist/val/FilterFuncVal.js +91 -0
  137. package/dist/val/FilterFuncVal.js.map +1 -0
  138. package/dist/val/FuncBaseVal.d.ts +7 -1
  139. package/dist/val/FuncBaseVal.js +183 -2
  140. package/dist/val/FuncBaseVal.js.map +1 -1
  141. package/dist/val/GraphAtomVal.d.ts +39 -0
  142. package/dist/val/GraphAtomVal.js +184 -0
  143. package/dist/val/GraphAtomVal.js.map +1 -0
  144. package/dist/val/HideFuncVal.js.map +1 -1
  145. package/dist/val/JunctionVal.js +24 -1
  146. package/dist/val/JunctionVal.js.map +1 -1
  147. package/dist/val/KeyFuncVal.d.ts +1 -1
  148. package/dist/val/KeyFuncVal.js +38 -30
  149. package/dist/val/KeyFuncVal.js.map +1 -1
  150. package/dist/val/ListVal.js +94 -14
  151. package/dist/val/ListVal.js.map +1 -1
  152. package/dist/val/LowerFuncVal.js.map +1 -1
  153. package/dist/val/MapVal.d.ts +1 -0
  154. package/dist/val/MapVal.js +146 -14
  155. package/dist/val/MapVal.js.map +1 -1
  156. package/dist/val/MatchFuncVal.d.ts +15 -0
  157. package/dist/val/MatchFuncVal.js +107 -0
  158. package/dist/val/MatchFuncVal.js.map +1 -0
  159. package/dist/val/MoveFuncVal.js.map +1 -1
  160. package/dist/val/NilVal.js +24 -0
  161. package/dist/val/NilVal.js.map +1 -1
  162. package/dist/val/OpBaseVal.d.ts +1 -1
  163. package/dist/val/OpBaseVal.js +19 -1
  164. package/dist/val/OpBaseVal.js.map +1 -1
  165. package/dist/val/OpenFuncVal.js +4 -1
  166. package/dist/val/OpenFuncVal.js.map +1 -1
  167. package/dist/val/PackFuncVal.d.ts +15 -0
  168. package/dist/val/PackFuncVal.js +108 -0
  169. package/dist/val/PackFuncVal.js.map +1 -0
  170. package/dist/val/PathFuncVal.d.ts +2 -2
  171. package/dist/val/PathFuncVal.js +75 -16
  172. package/dist/val/PathFuncVal.js.map +1 -1
  173. package/dist/val/PathVal.d.ts +25 -0
  174. package/dist/val/PathVal.js +150 -0
  175. package/dist/val/PathVal.js.map +1 -0
  176. package/dist/val/PlaceVal.d.ts +13 -0
  177. package/dist/val/PlaceVal.js +131 -0
  178. package/dist/val/PlaceVal.js.map +1 -0
  179. package/dist/val/PlusOpVal.d.ts +2 -1
  180. package/dist/val/PlusOpVal.js +61 -37
  181. package/dist/val/PlusOpVal.js.map +1 -1
  182. package/dist/val/PrefFuncVal.js.map +1 -1
  183. package/dist/val/PrefVal.d.ts +4 -2
  184. package/dist/val/PrefVal.js +223 -41
  185. package/dist/val/PrefVal.js.map +1 -1
  186. package/dist/val/RecurseVal.d.ts +19 -0
  187. package/dist/val/RecurseVal.js +217 -0
  188. package/dist/val/RecurseVal.js.map +1 -0
  189. package/dist/val/RefVal.d.ts +3 -2
  190. package/dist/val/RefVal.js +181 -66
  191. package/dist/val/RefVal.js.map +1 -1
  192. package/dist/val/ReferFuncVal.d.ts +59 -0
  193. package/dist/val/ReferFuncVal.js +604 -0
  194. package/dist/val/ReferFuncVal.js.map +1 -0
  195. package/dist/val/ScalarKindVal.d.ts +4 -3
  196. package/dist/val/ScalarKindVal.js +12 -12
  197. package/dist/val/ScalarKindVal.js.map +1 -1
  198. package/dist/val/SuperFuncVal.d.ts +4 -2
  199. package/dist/val/SuperFuncVal.js +118 -14
  200. package/dist/val/SuperFuncVal.js.map +1 -1
  201. package/dist/val/TopVal.d.ts +1 -1
  202. package/dist/val/TopVal.js.map +1 -1
  203. package/dist/val/TypeFuncVal.js.map +1 -1
  204. package/dist/val/UpperFuncVal.js.map +1 -1
  205. package/dist/val/Val.d.ts +7 -1
  206. package/dist/val/Val.js +170 -2
  207. package/dist/val/Val.js.map +1 -1
  208. package/dist/val/VarVal.js.map +1 -1
  209. package/dist/val/arith.d.ts +6 -0
  210. package/dist/val/arith.js +173 -0
  211. package/dist/val/arith.js.map +1 -0
  212. package/dist/vet.d.ts +45 -0
  213. package/dist/vet.js +802 -0
  214. package/dist/vet.js.map +1 -0
  215. package/dist/view.d.ts +85 -0
  216. package/dist/view.js +1948 -0
  217. package/dist/view.js.map +1 -0
  218. package/dist/walk.d.ts +2 -0
  219. package/dist/walk.js +91 -0
  220. package/dist/walk.js.map +1 -0
  221. package/grammar/aontu.gbnf +138 -0
  222. package/grammar/aontu.lark +118 -0
  223. package/grammar/aontu.tmLanguage.json +184 -0
  224. package/package.json +30 -8
  225. package/skill/SKILL.md +37 -0
  226. package/skill/error-codes.md +62 -0
  227. package/skill/examples.md +99 -0
  228. package/skill/grammar-card.md +56 -0
  229. package/src/agentsmd.ts +135 -0
  230. package/src/aontu.ts +166 -5
  231. package/src/cli.ts +3324 -72
  232. package/src/ctx.ts +93 -1
  233. package/src/diff.ts +198 -0
  234. package/src/err.ts +50 -8
  235. package/src/graph.ts +185 -0
  236. package/src/hcanon.ts +167 -0
  237. package/src/hints.ts +291 -8
  238. package/src/jsonschema.ts +552 -0
  239. package/src/lang.ts +1049 -110
  240. package/src/lsp.ts +351 -49
  241. package/src/mcp-server.ts +187 -0
  242. package/src/mcp.ts +1130 -0
  243. package/src/mod-tool.ts +718 -0
  244. package/src/mod.ts +453 -0
  245. package/src/patch.ts +628 -0
  246. package/src/provenance.ts +437 -0
  247. package/src/query.ts +381 -0
  248. package/src/reach.ts +213 -0
  249. package/src/relation.ts +298 -0
  250. package/src/report-sarif.ts +137 -0
  251. package/src/sig.ts +345 -0
  252. package/src/sigdecl.ts +11 -0
  253. package/src/siggate.ts +144 -0
  254. package/src/site.ts +36 -1
  255. package/src/std.ts +131 -0
  256. package/src/subsume.ts +739 -0
  257. package/src/trim.ts +195 -0
  258. package/src/tsconfig.json +10 -4
  259. package/src/type.ts +51 -2
  260. package/src/unify.ts +253 -38
  261. package/src/utility.ts +79 -1
  262. package/src/val/AggFuncVal.ts +546 -0
  263. package/src/val/ArithFuncVal.ts +108 -0
  264. package/src/val/BagVal.ts +158 -12
  265. package/src/val/CloseFuncVal.ts +9 -1
  266. package/src/val/ConjunctVal.ts +20 -0
  267. package/src/val/ConstraintVal.ts +576 -48
  268. package/src/val/ContainerKindVal.ts +158 -0
  269. package/src/val/CopyFuncVal.ts +0 -1
  270. package/src/val/Decimal.ts +15 -0
  271. package/src/val/DeprecateFuncVal.ts +84 -0
  272. package/src/val/DisjunctVal.ts +282 -59
  273. package/src/val/EachFuncVal.ts +133 -0
  274. package/src/val/ExpectVal.ts +65 -8
  275. package/src/val/FeatureVal.ts +1 -1
  276. package/src/val/FilterFuncVal.ts +154 -0
  277. package/src/val/FuncBaseVal.ts +206 -2
  278. package/src/val/GraphAtomVal.ts +264 -0
  279. package/src/val/HideFuncVal.ts +0 -2
  280. package/src/val/JunctionVal.ts +24 -1
  281. package/src/val/KeyFuncVal.ts +39 -35
  282. package/src/val/ListVal.ts +101 -15
  283. package/src/val/LowerFuncVal.ts +0 -1
  284. package/src/val/MapVal.ts +153 -14
  285. package/src/val/MatchFuncVal.ts +176 -0
  286. package/src/val/MoveFuncVal.ts +0 -2
  287. package/src/val/NilVal.ts +25 -0
  288. package/src/val/OpBaseVal.ts +20 -1
  289. package/src/val/OpenFuncVal.ts +4 -2
  290. package/src/val/PackFuncVal.ts +175 -0
  291. package/src/val/PathFuncVal.ts +107 -20
  292. package/src/val/PathVal.ts +221 -0
  293. package/src/val/PlaceVal.ts +193 -0
  294. package/src/val/PlusOpVal.ts +67 -39
  295. package/src/val/PrefFuncVal.ts +0 -1
  296. package/src/val/PrefVal.ts +251 -60
  297. package/src/val/RecurseVal.ts +285 -0
  298. package/src/val/RefVal.ts +183 -78
  299. package/src/val/ReferFuncVal.ts +732 -0
  300. package/src/val/ScalarKindVal.ts +12 -13
  301. package/src/val/SuperFuncVal.ts +137 -13
  302. package/src/val/TopVal.ts +1 -2
  303. package/src/val/TypeFuncVal.ts +0 -2
  304. package/src/val/UpperFuncVal.ts +0 -1
  305. package/src/val/Val.ts +216 -4
  306. package/src/val/VarVal.ts +0 -1
  307. package/src/val/arith.ts +319 -0
  308. package/src/vet.ts +1025 -0
  309. package/src/view.ts +2563 -0
  310. package/src/walk.ts +99 -0
@@ -1,6 +1,7 @@
1
1
  import type { Val, ValSpec } from '../type';
2
2
  import { AontuContext } from '../ctx';
3
3
  import { FeatureVal } from './FeatureVal';
4
+ declare function pendingMarkWrapper(v: any): boolean;
4
5
  declare class RefVal extends FeatureVal {
5
6
  isRef: boolean;
6
7
  isGenable: boolean;
@@ -14,7 +15,7 @@ declare class RefVal extends FeatureVal {
14
15
  }, ctx?: AontuContext);
15
16
  append(part: any): void;
16
17
  unify(peer: Val, ctx: AontuContext): Val;
17
- find(ctx: AontuContext): Val | undefined;
18
+ find(ctx: AontuContext, snap?: boolean): import("./NilVal").NilVal | Val | undefined;
18
19
  detectRefCycle(ctx: AontuContext): boolean;
19
20
  plainRefPath(): string[] | undefined;
20
21
  same(peer: Val): boolean;
@@ -23,4 +24,4 @@ declare class RefVal extends FeatureVal {
23
24
  gen(ctx: AontuContext): undefined;
24
25
  inspection(): string;
25
26
  }
26
- export { RefVal, };
27
+ export { pendingMarkWrapper, RefVal, };
@@ -2,9 +2,11 @@
2
2
  /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.RefVal = void 0;
5
+ exports.pendingMarkWrapper = pendingMarkWrapper;
5
6
  const utility_1 = require("../utility");
6
7
  const type_1 = require("../type");
7
8
  const err_1 = require("../err");
9
+ const RecurseVal_1 = require("./RecurseVal");
8
10
  const unify_1 = require("../unify");
9
11
  const top_1 = require("./top");
10
12
  const StringVal_1 = require("./StringVal");
@@ -20,6 +22,28 @@ const BigDecimalVal_1 = require("./BigDecimalVal");
20
22
  // class it has no rule for. A key cannot contain a NUL, so this can never
21
23
  // match, which turns a silent path-shortening bug into a visible miss.
22
24
  const UNSPELLABLE_SEGMENT = '\u0000unspellable';
25
+ // Is this value an unresolved type()/hide() call — or a conjunct still
26
+ // carrying one? A reference that lands on one must defer rather than
27
+ // clone it (see the call site in `find`): the marks such a call will
28
+ // stamp belong to the field it was WRITTEN at, and a clone resolving
29
+ // at the reference's site re-applies them after the reference's
30
+ // mark-clearing walk has already run. Only the two mark wrappers
31
+ // qualify — every other pending call resolves to an unmarked value,
32
+ // and the existing early-clone behaviour for those is pinned
33
+ // (move()/copy() ghost rows, hole-filling conjuncts).
34
+ function pendingMarkWrapper(v) {
35
+ if (true === v.isTypeFunc || true === v.isHideFunc) {
36
+ return !v.done;
37
+ }
38
+ if (true === v.isConjunct && Array.isArray(v.peg)) {
39
+ for (const t of v.peg) {
40
+ if (pendingMarkWrapper(t)) {
41
+ return true;
42
+ }
43
+ }
44
+ }
45
+ return false;
46
+ }
23
47
  class RefVal extends FeatureVal_1.FeatureVal {
24
48
  constructor(spec, ctx) {
25
49
  super(spec, ctx);
@@ -116,7 +140,6 @@ class RefVal extends FeatureVal_1.FeatureVal {
116
140
  peer = peer ?? (0, top_1.top)();
117
141
  const te = ctx.explain && (0, utility_1.explainOpen)(ctx, ctx.explain, 'Ref', this, peer);
118
142
  let out = this;
119
- let why = 'id';
120
143
  if (this.id !== peer.id) {
121
144
  // TODO: not resolved when all Vals in path are done is an error
122
145
  // as path cannot be found
@@ -128,27 +151,22 @@ class RefVal extends FeatureVal_1.FeatureVal {
128
151
  if (resolved instanceof RefVal) {
129
152
  if (peer.isTop) {
130
153
  out = this;
131
- why = 'pt';
132
154
  }
133
155
  else if (peer.isNil) {
134
156
  out = (0, err_1.makeNilErr)(ctx, 'ref[' + this.peg + ']', this, peer);
135
- why = 'pn';
136
157
  }
137
158
  // same path
138
159
  else if (this.canon === peer.canon) {
139
160
  out = this;
140
- why = 'pp';
141
161
  }
142
162
  else {
143
163
  // Ensure RefVal done is incremented
144
164
  this.dc = type_1.DONE === this.dc ? type_1.DONE : this.dc + 1;
145
165
  out = new ConjunctVal_1.ConjunctVal({ peg: [this, peer] }, ctx);
146
- why = 'cj';
147
166
  }
148
167
  }
149
168
  else {
150
169
  out = (0, unify_1.unite)(te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'RES') }) : ctx, resolved, peer, 'ref');
151
- why = 'u';
152
170
  }
153
171
  out.dc = type_1.DONE === out.dc ? type_1.DONE : this.dc + 1;
154
172
  }
@@ -156,7 +174,15 @@ class RefVal extends FeatureVal_1.FeatureVal {
156
174
  (0, utility_1.explainClose)(te, out);
157
175
  return out;
158
176
  }
159
- find(ctx) {
177
+ // `snap` is set by snapshotRefSpread (MapVal): a SPREAD snapshot
178
+ // wants the target's pre-resolution STRUCTURE — key()/path() still
179
+ // unresolved, to be re-resolved per destination — so the
180
+ // pending-mark-wrapper defer below must not apply to it. Deferring
181
+ // there made the snapshot wait until the target's own key() had
182
+ // resolved at the target, and the literal leaked into every
183
+ // destination (the exact failure the snapshot exists to prevent —
184
+ // test/spec/spread-type.tsv, spread-type-key-ref).
185
+ find(ctx, snap) {
160
186
  let out = undefined;
161
187
  // Check if self.path starts with peg (cycle detection).
162
188
  // Element-by-element comparison avoids string join+startsWith allocations.
@@ -184,45 +210,54 @@ class RefVal extends FeatureVal_1.FeatureVal {
184
210
  let pI = 0;
185
211
  // let descent = ''
186
212
  if (isprefixpath) {
187
- // console.log('SELFPATH', selfpath, 'PEGPATH', pegpath)
188
- out = (0, err_1.makeNilErr)(ctx, 'path_cycle', this);
213
+ // THE DETECTOR'S ANSWER IS A RESIDUAL (RECURSION.0.md): a
214
+ // self-reference under a guarded shape is the fixpoint the
215
+ // author wrote, so the prefix hit mints the recursive residual
216
+ // instead of refusing -- except the degenerate all-empty
217
+ // spelling (path("")), which names nothing and keeps its
218
+ // path_cycle. Only all-string paths recurse; anything else
219
+ // keeps the conservative refusal.
220
+ let degenerate = 0 === this.path.length;
221
+ let target = [];
222
+ for (let i = 0; i < this.peg.length && !degenerate; i++) {
223
+ if ('string' !== typeof this.peg[i] || '' === this.peg[i]) {
224
+ degenerate = true;
225
+ break;
226
+ }
227
+ target.push(this.peg[i]);
228
+ }
229
+ if (degenerate) {
230
+ out = (0, err_1.makeNilErr)(ctx, 'path_cycle', this);
231
+ }
232
+ else {
233
+ const rec = new RecurseVal_1.RecurseVal({ target }, ctx);
234
+ rec.site = this.site;
235
+ rec.path = [...this.path];
236
+ out = rec;
237
+ }
189
238
  }
190
239
  else {
191
240
  let parts = [];
192
- let modes = [];
193
241
  for (let pI = 0; pI < this.peg.length; pI++) {
194
242
  let part = this.peg[pI];
243
+ // An unspellable segment MISSES BEFORE ANY LOOKUP. The marker
244
+ // is NUL-prefixed because no spelling produces one, but a
245
+ // document can still hold a key spelled with an escaped NUL
246
+ // (`a:{"unspellable":7}`), and matching it would turn the
247
+ // silent path-shortening this marker exists to prevent into a
248
+ // different silent wrong value. The marker is a marker, never a
249
+ // lookup key.
250
+ if (UNSPELLABLE_SEGMENT === part) {
251
+ return (0, err_1.makeNilErr)(ctx, 'no_path', this);
252
+ }
195
253
  if (part instanceof VarVal_1.VarVal) {
196
- let strval = part.peg;
197
- let name = strval ? '' + strval.peg : '';
198
- if ('KEY' === name) {
199
- if (pI === this.peg.length - 1) {
200
- modes.push(name);
201
- }
202
- else {
203
- // TODO: return a Nil explaining error
204
- return;
205
- }
206
- }
207
- if ('SELF' === name) {
208
- if (pI === 0) {
209
- modes.push(name);
210
- }
211
- else {
212
- // TODO: return a Nil explaining error
213
- return;
214
- }
215
- }
216
- else if ('PARENT' === name) {
217
- if (pI === 0) {
218
- modes.push(name);
219
- }
220
- else {
221
- // TODO: return a Nil explaining error
222
- return;
223
- }
224
- }
225
- else if (0 === modes.length) {
254
+ // EVERY `$name` IN A PATH IS AN ORDINARY VARIABLE. `$KEY`,
255
+ // `$SELF` and `$PARENT` used to be intercepted here by name;
256
+ // they are gone (ADR-009). `key()` is the replacement for
257
+ // `$KEY` and answers where a value LANDS rather than where it
258
+ // was written, `$SELF.x` was only ever `$.x`, and `$PARENT.x`
259
+ // was only ever `.x`.
260
+ {
226
261
  part = part.unify((0, top_1.top)(), ctx);
227
262
  if (part.isNil) {
228
263
  // TODO: var not found, so can't find path
@@ -256,35 +291,13 @@ class RefVal extends FeatureVal_1.FeatureVal {
256
291
  refpath = parts;
257
292
  }
258
293
  else {
259
- // TODO: deprecate $KEY, etc
260
- refpath = this.path.slice(0, (modes.includes('SELF') ? 0 :
261
- modes.includes('PARENT') ? -1 :
262
- -1 // siblings
263
- )).concat(parts);
294
+ // A relative reference reads from the SIBLING scope: drop this
295
+ // node's own key and append the written segments.
296
+ refpath = this.path.slice(0, -1).concat(parts);
264
297
  }
265
298
  let sep = '.';
266
299
  refpath = refpath
267
300
  .reduce(((a, p) => (p === sep ? a.length = a.length - 1 : a.push(p), a)), []);
268
- if (modes.includes('KEY')) {
269
- // STRINGIFY. A LIST index arrives here as a JS NUMBER (jsonic puts
270
- // it in the path as one, and lang.ts copies the path wholesale),
271
- // so `.$KEY` inside a list built a StringVal whose peg was the
272
- // number 0 -- an ill-formed value, not a design choice: it canoned
273
- // as a bare 0, generated a JSON number, satisfied `number` and
274
- // failed `string`. Go stringifies, and key() already agreed with
275
- // Go, so this port disagreed with itself.
276
- //
277
- // Coerced HERE, at the consumption site, rather than by
278
- // normalising Val.path: the numeric segment originates in jsonic's
279
- // own r.k.path and every other path consumer (find's descent,
280
- // key(), the clone/spread machinery) already handles it.
281
- let key = this.path[this.path.length - 2];
282
- let sv = new StringVal_1.StringVal({ peg: null == key ? '' : '' + key }, ctx);
283
- // TODO: other props?
284
- sv.dc = type_1.DONE;
285
- sv.path = this.path;
286
- return sv;
287
- }
288
301
  let node = ctx.root;
289
302
  let nopath = false;
290
303
  if (null != node) {
@@ -298,6 +311,21 @@ class RefVal extends FeatureVal_1.FeatureVal {
298
311
  else if (node.isList) {
299
312
  node = node.peg[part];
300
313
  }
314
+ // A PENDING MARK WRAPPER IS TRANSPARENT TO THE WALK: hide()
315
+ // and type() only mark, and their argument is the structure
316
+ // the path names. Without this, two sibling schemas in one
317
+ // hide() bag deadlock -- the wrapper waits for its argument,
318
+ // the argument's members wait for references that walk into
319
+ // the unresolved wrapper (BUGS.md §53's family; the
320
+ // recursive Policy/Step pair found it again). The found node
321
+ // is cloned and mark-cleared exactly as any reference target
322
+ // is, and the wrapper still marks its own field.
323
+ else if (true === node.isFunc
324
+ && (node.isHideFunc || node.isTypeFunc)
325
+ && (true === node.peg?.[0]?.isMap
326
+ || true === node.peg?.[0]?.isList)) {
327
+ node = node.peg[0].peg[part];
328
+ }
301
329
  else if (node.done) {
302
330
  nopath = true;
303
331
  break;
@@ -311,7 +339,41 @@ class RefVal extends FeatureVal_1.FeatureVal {
311
339
  }
312
340
  }
313
341
  }
314
- // console.log('REFPATH', ctx.cc, pI, refpath, nopath, ctx.root, node)
342
+ // THE ANCHORED-MEET FALLBACK (vet --at): an absolute reference
343
+ // inside a lifted subtree names the SCHEMA's namespace, and the
344
+ // meet's root does not contain it. The settled schema root the
345
+ // lifter kept (AontuContext._fixroot; see RecurseVal.body) is
346
+ // the tree such a reference means. Without this, a recursion
347
+ // re-entering through a list spread died as no_path at the
348
+ // first element under vet --at, while the map-tail form (whose
349
+ // residual was minted during schema settling) worked; the Go
350
+ // port answers the anchored meet from settled structures and
351
+ // never sees the gap.
352
+ const fixroot = ctx._fixroot;
353
+ if (this.absolute && null != fixroot
354
+ && (nopath || pI !== refpath.length)) {
355
+ nopath = false;
356
+ pI = 0;
357
+ let fnode = fixroot;
358
+ for (; pI < refpath.length; pI++) {
359
+ const part = refpath[pI];
360
+ if (true === fnode.isMap || true === fnode.isList) {
361
+ fnode = fnode.peg[part];
362
+ }
363
+ else {
364
+ break;
365
+ }
366
+ if (null == fnode) {
367
+ break;
368
+ }
369
+ }
370
+ if (null != fnode && pI === refpath.length) {
371
+ node = fnode;
372
+ }
373
+ else {
374
+ nopath = true;
375
+ }
376
+ }
315
377
  if (nopath) {
316
378
  out = (0, err_1.makeNilErr)(ctx, 'no_path', this);
317
379
  }
@@ -328,6 +390,53 @@ class RefVal extends FeatureVal_1.FeatureVal {
328
390
  this.detectRefCycle(ctx)) {
329
391
  out = (0, err_1.makeNilErr)(ctx, 'path_cycle', this);
330
392
  }
393
+ // A PENDING MARK WRAPPER IS NOT YET A VALUE TO COPY (ADR-005).
394
+ // A type()/hide() call still waiting for its argument — an
395
+ // alias reference inside a type() body, a generator inside a
396
+ // hide() — would be cloned here as the CALL, and the clone
397
+ // then resolves at the REFERENCE's site, stamping marks that
398
+ // the mark-clearing walk below has already run too early to
399
+ // clear. That is how a type-marked alias silently suppressed
400
+ // the referring field's emission (use-cases/BUGS.md §12), how
401
+ // `hide(pack(...))` leaked its mark onto downstream packs
402
+ // (§11), and how hide() around a computed field swallowed the
403
+ // value into a silent [] (§35b). Defer instead: the reference
404
+ // residuates until the wrapper has resolved at its OWN field,
405
+ // and the ordinary marked-value path below then clears the
406
+ // marks on the clone as documented. The move() reference
407
+ // (`_hide_found`) is exempt: a move TRANSPLANTS the pending
408
+ // call, and the ghost rows (test/spec/func.tsv) pin that its
409
+ // innards resolve at the destination.
410
+ else if (null != out && !snap && !this.mark._hide_found &&
411
+ pendingMarkWrapper(out)) {
412
+ out = undefined;
413
+ }
414
+ // A STAGED ARGUMENT SNAPSHOTS A SETTLED SOURCE (the argsnap
415
+ // flag, set by driveStagedArgs). A generator's data argument is
416
+ // a copy OUTSIDE the tree, so anything in the target that still
417
+ // resolves against its own tree location — a spread-injected
418
+ // relative reference, a pending template — must finish there
419
+ // BEFORE the copy is taken: cloned earlier, the copy's rebased
420
+ // relative refs dangle under the generator and the model dies
421
+ // as *_no_gen with the generator never firing. Deferring here
422
+ // is exactly the documented staging rule: the generator waits
423
+ // for the source, then snapshots it whole.
424
+ else if (null != out && !snap && true === ctx.argsnap &&
425
+ !out.done) {
426
+ out = undefined;
427
+ }
428
+ // A REFERENCE TO A RECURSIVE DEFINITION IS THE FIXPOINT
429
+ // REFERENCE (RECURSION.0.md): resolving it to a clone
430
+ // unrolled the schema one level, and every reparse of a
431
+ // canon then unrolled one more -- canon never converged. The
432
+ // residual is the resolved form, exactly as at the prefix
433
+ // positions inside the definition.
434
+ else if (null != out && !snap && (0, RecurseVal_1.containsRecurseOf)(out, this.peg)) {
435
+ const rec = new RecurseVal_1.RecurseVal({ target: [...this.peg] }, ctx);
436
+ rec.site = this.site;
437
+ rec.path = [...this.path];
438
+ out = rec;
439
+ }
331
440
  // Types and hidden values are cloned and made concrete
332
441
  else if (null != out) { // && (out.mark.type || out.mark.hide)) {
333
442
  // console.log('FOUND-A', out)
@@ -349,6 +458,12 @@ class RefVal extends FeatureVal_1.FeatureVal {
349
458
  (0, utility_1.walk)(out, (_key, val) => {
350
459
  val.mark.type = false;
351
460
  val.mark.hide = false;
461
+ // THE LINK IS NOT CLEARED (G4 phase 3): a link says what a
462
+ // value POINTS AT, and a copy of a link points at the same
463
+ // thing. An ABSOLUTE address still names the same node from
464
+ // the copy; a RELATIVE one is read from the copy's own
465
+ // position, which is what makes a referenced model resolve
466
+ // its internal links inside the copy (ADR-014).
352
467
  return val;
353
468
  });
354
469
  //}
@@ -1 +1 @@
1
- {"version":3,"file":"RefVal.js","sourceRoot":"","sources":["../../src/val/RefVal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RefVal.js","sourceRoot":"","sources":["../../src/val/RefVal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { Val, ValSpec } from '../type';
2
+ import { AontuContext } from '../ctx';
3
+ import { FuncBaseVal } from './FuncBaseVal';
4
+ import { Address } from './PathVal';
5
+ import { FeatureVal } from './FeatureVal';
6
+ export declare function addressPath(addr: Address, at: (string | number)[]): string[] | undefined;
7
+ export declare function findAt(root: Val | undefined, path: string[]): {
8
+ parent?: any;
9
+ key?: string;
10
+ val: Val;
11
+ } | undefined;
12
+ declare class ReferVal extends FeatureVal {
13
+ isRefer: boolean;
14
+ isGenable: boolean;
15
+ cjo: number;
16
+ tval: Val;
17
+ addr?: Address;
18
+ addrsrc?: string;
19
+ held?: Val;
20
+ relkey?: string;
21
+ addrcode: string;
22
+ unresolvedcode: string;
23
+ constructor(spec: ValSpec, ctx?: AontuContext);
24
+ clone(ctx: AontuContext, spec?: ValSpec): Val;
25
+ unify(peer: Val, ctx: AontuContext): Val;
26
+ with(ctx: AontuContext, spec: any, site: Val): Val;
27
+ settle(ctx: AontuContext, site: Val): Val;
28
+ get canon(): string;
29
+ }
30
+ declare class RelVal extends FeatureVal {
31
+ isRel: boolean;
32
+ isGenable: boolean;
33
+ cjo: number;
34
+ tval: Val;
35
+ held?: Val;
36
+ constructor(spec: ValSpec, ctx?: AontuContext);
37
+ clone(ctx: AontuContext, spec?: ValSpec): Val;
38
+ fieldkey(ctx: AontuContext): string | undefined;
39
+ leafRefer(ctx: AontuContext, relkey: string | undefined): ReferVal;
40
+ rewrite(ctx: AontuContext, container: any): Val;
41
+ rewriteUnder(ctx: AontuContext, container: any, relkey: string | undefined): Val;
42
+ unify(peer: Val, ctx: AontuContext): Val;
43
+ get canon(): string;
44
+ }
45
+ declare class RelFuncVal extends FuncBaseVal {
46
+ isRelFunc: boolean;
47
+ constructor(spec: ValSpec, ctx?: AontuContext);
48
+ make(_ctx: AontuContext, spec: ValSpec): Val;
49
+ funcname(): string;
50
+ resolve(ctx: AontuContext, args: Val[]): RelVal;
51
+ }
52
+ declare class ReferFuncVal extends FuncBaseVal {
53
+ isReferFunc: boolean;
54
+ constructor(spec: ValSpec, ctx?: AontuContext);
55
+ make(_ctx: AontuContext, spec: ValSpec): Val;
56
+ funcname(): string;
57
+ resolve(ctx: AontuContext, args: Val[]): ReferVal;
58
+ }
59
+ export { ReferFuncVal, ReferVal, RelFuncVal, RelVal, };