aontu 0.52.0 → 0.53.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 (273) 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 +14 -3
  7. package/dist/aontu.js +145 -4
  8. package/dist/aontu.js.map +1 -1
  9. package/dist/cli.d.ts +44 -1
  10. package/dist/cli.js +2401 -44
  11. package/dist/cli.js.map +1 -1
  12. package/dist/ctx.d.ts +16 -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 +48 -8
  20. package/dist/err.js.map +1 -1
  21. package/dist/graph.d.ts +16 -0
  22. package/dist/graph.js +73 -0
  23. package/dist/graph.js.map +1 -0
  24. package/dist/hcanon.d.ts +3 -0
  25. package/dist/hcanon.js +146 -0
  26. package/dist/hcanon.js.map +1 -0
  27. package/dist/hints.js +223 -5
  28. package/dist/hints.js.map +1 -1
  29. package/dist/jsonschema.d.ts +20 -0
  30. package/dist/jsonschema.js +391 -0
  31. package/dist/jsonschema.js.map +1 -0
  32. package/dist/lang.js +698 -35
  33. package/dist/lang.js.map +1 -1
  34. package/dist/lsp.d.ts +9 -2
  35. package/dist/lsp.js +262 -46
  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 +814 -0
  42. package/dist/mcp.js.map +1 -0
  43. package/dist/mod-tool.d.ts +58 -0
  44. package/dist/mod-tool.js +498 -0
  45. package/dist/mod-tool.js.map +1 -0
  46. package/dist/mod.d.ts +31 -0
  47. package/dist/mod.js +250 -0
  48. package/dist/mod.js.map +1 -0
  49. package/dist/patch.d.ts +44 -0
  50. package/dist/patch.js +506 -0
  51. package/dist/patch.js.map +1 -0
  52. package/dist/provenance.d.ts +40 -0
  53. package/dist/provenance.js +335 -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 +14 -0
  59. package/dist/reach.js +140 -0
  60. package/dist/reach.js.map +1 -0
  61. package/dist/relation.d.ts +19 -0
  62. package/dist/relation.js +305 -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/site.d.ts +4 -0
  68. package/dist/site.js +31 -0
  69. package/dist/site.js.map +1 -1
  70. package/dist/std.d.ts +1 -0
  71. package/dist/std.js +73 -0
  72. package/dist/std.js.map +1 -0
  73. package/dist/subsume.d.ts +39 -0
  74. package/dist/subsume.js +526 -0
  75. package/dist/subsume.js.map +1 -0
  76. package/dist/trim.d.ts +19 -0
  77. package/dist/trim.js +155 -0
  78. package/dist/trim.js.map +1 -0
  79. package/dist/tsconfig.tsbuildinfo +1 -1
  80. package/dist/type.d.ts +17 -1
  81. package/dist/type.js.map +1 -1
  82. package/dist/unify.d.ts +3 -1
  83. package/dist/unify.js +287 -18
  84. package/dist/unify.js.map +1 -1
  85. package/dist/utility.d.ts +9 -1
  86. package/dist/utility.js +122 -1
  87. package/dist/utility.js.map +1 -1
  88. package/dist/val/AggFuncVal.d.ts +33 -0
  89. package/dist/val/AggFuncVal.js +202 -0
  90. package/dist/val/AggFuncVal.js.map +1 -0
  91. package/dist/val/ArithFuncVal.d.ts +31 -0
  92. package/dist/val/ArithFuncVal.js +62 -0
  93. package/dist/val/ArithFuncVal.js.map +1 -0
  94. package/dist/val/BagVal.d.ts +5 -0
  95. package/dist/val/BagVal.js +96 -5
  96. package/dist/val/BagVal.js.map +1 -1
  97. package/dist/val/CloseFuncVal.js +9 -1
  98. package/dist/val/CloseFuncVal.js.map +1 -1
  99. package/dist/val/ConjunctVal.d.ts +1 -1
  100. package/dist/val/ConjunctVal.js +19 -0
  101. package/dist/val/ConjunctVal.js.map +1 -1
  102. package/dist/val/ConstraintVal.d.ts +48 -1
  103. package/dist/val/ConstraintVal.js +1501 -110
  104. package/dist/val/ConstraintVal.js.map +1 -1
  105. package/dist/val/CopyFuncVal.d.ts +1 -2
  106. package/dist/val/CopyFuncVal.js +7 -0
  107. package/dist/val/CopyFuncVal.js.map +1 -1
  108. package/dist/val/Decimal.d.ts +1 -0
  109. package/dist/val/Decimal.js +13 -0
  110. package/dist/val/Decimal.js.map +1 -1
  111. package/dist/val/DeprecateFuncVal.d.ts +11 -0
  112. package/dist/val/DeprecateFuncVal.js +47 -0
  113. package/dist/val/DeprecateFuncVal.js.map +1 -0
  114. package/dist/val/DisjunctVal.js +130 -21
  115. package/dist/val/DisjunctVal.js.map +1 -1
  116. package/dist/val/EachFuncVal.d.ts +15 -0
  117. package/dist/val/EachFuncVal.js +75 -0
  118. package/dist/val/EachFuncVal.js.map +1 -0
  119. package/dist/val/ExpectVal.d.ts +1 -0
  120. package/dist/val/ExpectVal.js +41 -4
  121. package/dist/val/ExpectVal.js.map +1 -1
  122. package/dist/val/FeatureVal.js +1 -1
  123. package/dist/val/FeatureVal.js.map +1 -1
  124. package/dist/val/FilterFuncVal.d.ts +15 -0
  125. package/dist/val/FilterFuncVal.js +91 -0
  126. package/dist/val/FilterFuncVal.js.map +1 -0
  127. package/dist/val/FuncBaseVal.d.ts +6 -1
  128. package/dist/val/FuncBaseVal.js +178 -2
  129. package/dist/val/FuncBaseVal.js.map +1 -1
  130. package/dist/val/HideFuncVal.js.map +1 -1
  131. package/dist/val/IdFuncVal.d.ts +13 -0
  132. package/dist/val/IdFuncVal.js +54 -0
  133. package/dist/val/IdFuncVal.js.map +1 -0
  134. package/dist/val/JunctionVal.js +7 -1
  135. package/dist/val/JunctionVal.js.map +1 -1
  136. package/dist/val/KeyFuncVal.d.ts +1 -1
  137. package/dist/val/KeyFuncVal.js +38 -30
  138. package/dist/val/KeyFuncVal.js.map +1 -1
  139. package/dist/val/ListVal.js +117 -17
  140. package/dist/val/ListVal.js.map +1 -1
  141. package/dist/val/LowerFuncVal.js.map +1 -1
  142. package/dist/val/MapVal.js +102 -8
  143. package/dist/val/MapVal.js.map +1 -1
  144. package/dist/val/MatchFuncVal.d.ts +15 -0
  145. package/dist/val/MatchFuncVal.js +107 -0
  146. package/dist/val/MatchFuncVal.js.map +1 -0
  147. package/dist/val/MoveFuncVal.js.map +1 -1
  148. package/dist/val/NilVal.js +24 -0
  149. package/dist/val/NilVal.js.map +1 -1
  150. package/dist/val/OpBaseVal.d.ts +1 -1
  151. package/dist/val/OpBaseVal.js +24 -2
  152. package/dist/val/OpBaseVal.js.map +1 -1
  153. package/dist/val/OpenFuncVal.js +4 -1
  154. package/dist/val/OpenFuncVal.js.map +1 -1
  155. package/dist/val/PackFuncVal.d.ts +15 -0
  156. package/dist/val/PackFuncVal.js +108 -0
  157. package/dist/val/PackFuncVal.js.map +1 -0
  158. package/dist/val/PathFuncVal.js.map +1 -1
  159. package/dist/val/PlaceVal.d.ts +13 -0
  160. package/dist/val/PlaceVal.js +131 -0
  161. package/dist/val/PlaceVal.js.map +1 -0
  162. package/dist/val/PlusOpVal.js +11 -2
  163. package/dist/val/PlusOpVal.js.map +1 -1
  164. package/dist/val/PrefFuncVal.js.map +1 -1
  165. package/dist/val/PrefVal.d.ts +2 -2
  166. package/dist/val/PrefVal.js +78 -23
  167. package/dist/val/PrefVal.js.map +1 -1
  168. package/dist/val/RefVal.d.ts +1 -1
  169. package/dist/val/RefVal.js +158 -30
  170. package/dist/val/RefVal.js.map +1 -1
  171. package/dist/val/ReferFuncVal.d.ts +36 -0
  172. package/dist/val/ReferFuncVal.js +303 -0
  173. package/dist/val/ReferFuncVal.js.map +1 -0
  174. package/dist/val/ScalarKindVal.d.ts +1 -2
  175. package/dist/val/ScalarKindVal.js +0 -11
  176. package/dist/val/ScalarKindVal.js.map +1 -1
  177. package/dist/val/TopVal.js.map +1 -1
  178. package/dist/val/TypeFuncVal.js.map +1 -1
  179. package/dist/val/UpperFuncVal.js.map +1 -1
  180. package/dist/val/Val.d.ts +9 -2
  181. package/dist/val/Val.js +150 -4
  182. package/dist/val/Val.js.map +1 -1
  183. package/dist/val/VarVal.js.map +1 -1
  184. package/dist/val/arith.d.ts +6 -0
  185. package/dist/val/arith.js +170 -0
  186. package/dist/val/arith.js.map +1 -0
  187. package/dist/vet.d.ts +45 -0
  188. package/dist/vet.js +776 -0
  189. package/dist/vet.js.map +1 -0
  190. package/dist/walk.d.ts +2 -0
  191. package/dist/walk.js +91 -0
  192. package/dist/walk.js.map +1 -0
  193. package/grammar/aontu.gbnf +130 -0
  194. package/grammar/aontu.lark +113 -0
  195. package/package.json +30 -15
  196. package/skill/SKILL.md +37 -0
  197. package/skill/error-codes.md +62 -0
  198. package/skill/examples.md +99 -0
  199. package/skill/grammar-card.md +57 -0
  200. package/src/agentsmd.ts +135 -0
  201. package/src/aontu.ts +192 -4
  202. package/src/cli.ts +2858 -71
  203. package/src/ctx.ts +81 -0
  204. package/src/diff.ts +196 -0
  205. package/src/err.ts +52 -8
  206. package/src/graph.ts +135 -0
  207. package/src/hcanon.ts +169 -0
  208. package/src/hints.ts +271 -5
  209. package/src/jsonschema.ts +511 -0
  210. package/src/lang.ts +779 -37
  211. package/src/lsp.ts +281 -47
  212. package/src/mcp-server.ts +187 -0
  213. package/src/mcp.ts +993 -0
  214. package/src/mod-tool.ts +679 -0
  215. package/src/mod.ts +344 -0
  216. package/src/patch.ts +624 -0
  217. package/src/provenance.ts +430 -0
  218. package/src/query.ts +379 -0
  219. package/src/reach.ts +184 -0
  220. package/src/relation.ts +395 -0
  221. package/src/report-sarif.ts +137 -0
  222. package/src/site.ts +36 -1
  223. package/src/std.ts +73 -0
  224. package/src/subsume.ts +690 -0
  225. package/src/trim.ts +195 -0
  226. package/src/tsconfig.json +10 -4
  227. package/src/type.ts +51 -2
  228. package/src/unify.ts +311 -16
  229. package/src/utility.ts +139 -1
  230. package/src/val/AggFuncVal.ts +319 -0
  231. package/src/val/ArithFuncVal.ts +108 -0
  232. package/src/val/BagVal.ts +101 -4
  233. package/src/val/CloseFuncVal.ts +9 -1
  234. package/src/val/ConjunctVal.ts +20 -0
  235. package/src/val/ConstraintVal.ts +1699 -116
  236. package/src/val/CopyFuncVal.ts +7 -1
  237. package/src/val/Decimal.ts +15 -0
  238. package/src/val/DeprecateFuncVal.ts +84 -0
  239. package/src/val/DisjunctVal.ts +139 -28
  240. package/src/val/EachFuncVal.ts +133 -0
  241. package/src/val/ExpectVal.ts +43 -6
  242. package/src/val/FeatureVal.ts +1 -1
  243. package/src/val/FilterFuncVal.ts +154 -0
  244. package/src/val/FuncBaseVal.ts +200 -3
  245. package/src/val/HideFuncVal.ts +0 -2
  246. package/src/val/IdFuncVal.ts +91 -0
  247. package/src/val/JunctionVal.ts +7 -1
  248. package/src/val/KeyFuncVal.ts +39 -35
  249. package/src/val/ListVal.ts +125 -18
  250. package/src/val/LowerFuncVal.ts +0 -1
  251. package/src/val/MapVal.ts +110 -8
  252. package/src/val/MatchFuncVal.ts +176 -0
  253. package/src/val/MoveFuncVal.ts +0 -2
  254. package/src/val/NilVal.ts +25 -0
  255. package/src/val/OpBaseVal.ts +26 -3
  256. package/src/val/OpenFuncVal.ts +4 -2
  257. package/src/val/PackFuncVal.ts +175 -0
  258. package/src/val/PathFuncVal.ts +0 -1
  259. package/src/val/PlaceVal.ts +193 -0
  260. package/src/val/PlusOpVal.ts +11 -2
  261. package/src/val/PrefFuncVal.ts +0 -1
  262. package/src/val/PrefVal.ts +79 -36
  263. package/src/val/RefVal.ts +163 -30
  264. package/src/val/ReferFuncVal.ts +387 -0
  265. package/src/val/ScalarKindVal.ts +0 -13
  266. package/src/val/TopVal.ts +0 -1
  267. package/src/val/TypeFuncVal.ts +0 -2
  268. package/src/val/UpperFuncVal.ts +0 -1
  269. package/src/val/Val.ts +213 -3
  270. package/src/val/VarVal.ts +0 -1
  271. package/src/val/arith.ts +316 -0
  272. package/src/vet.ts +992 -0
  273. package/src/walk.ts +99 -0
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ /* Copyright (c) 2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ReferVal = exports.ReferFuncVal = void 0;
5
+ exports.parseAddress = parseAddress;
6
+ exports.findEntity = findEntity;
7
+ const type_1 = require("../type");
8
+ const err_1 = require("../err");
9
+ const FuncBaseVal_1 = require("./FuncBaseVal");
10
+ const FeatureVal_1 = require("./FeatureVal");
11
+ const StringVal_1 = require("./StringVal");
12
+ const unify_1 = require("../unify");
13
+ const top_1 = require("./top");
14
+ const utility_1 = require("../utility");
15
+ // A segment of the path INSIDE an entity. The entity name's own
16
+ // grammar (no dots) is what makes the split unambiguous: everything
17
+ // before the first dot names the entity, everything after walks its
18
+ // value.
19
+ const ADDR_SEGMENT = /^[A-Za-z0-9_-]+$/;
20
+ const ADDR_NAME = /^[A-Za-z0-9_/-]+$/;
21
+ // The address a string spells, or undefined when it does not spell
22
+ // one. `svc/auth` is the entity; `svc/auth.ports.http` is a node
23
+ // inside it — the two addressing schemes reconciled: `$.a.b` answers
24
+ // WHERE, an address answers WHAT, and beneath entity granularity the
25
+ // tree is authoritative again.
26
+ function parseAddress(s) {
27
+ const parts = s.split('.');
28
+ if (!ADDR_NAME.test(parts[0])) {
29
+ return undefined;
30
+ }
31
+ for (const seg of parts.slice(1)) {
32
+ if (!ADDR_SEGMENT.test(seg)) {
33
+ return undefined;
34
+ }
35
+ }
36
+ return { name: parts[0], path: parts.slice(1) };
37
+ }
38
+ // The value an address names, or undefined when the evaluation does
39
+ // not (yet) have one. Pending is not failure: an entity may be
40
+ // declared by a later conjunct, include or spread, so `refer`
41
+ // residuates exactly as a forward reference does.
42
+ function findEntity(reg, addr) {
43
+ const rep = reg?.get(addr.name);
44
+ if (null == rep) {
45
+ return undefined;
46
+ }
47
+ let parent = undefined;
48
+ let key = undefined;
49
+ let val = rep;
50
+ for (const seg of addr.path) {
51
+ if (true !== val?.isMap && true !== val?.isList) {
52
+ return undefined;
53
+ }
54
+ const next = val.peg[seg];
55
+ if (null == next) {
56
+ return undefined;
57
+ }
58
+ parent = val;
59
+ key = seg;
60
+ val = next;
61
+ }
62
+ return { parent, key, val };
63
+ }
64
+ // concreteFlow is `t` as it enters the target: a copy with the
65
+ // type/hide marks cleared at every depth. The clone matters as much as
66
+ // the clearing — `t` is shared by every position that refers to the
67
+ // same thing, and clearing in place would unmark the schema itself.
68
+ function concreteFlow(ctx, t) {
69
+ let marked = false;
70
+ (0, utility_1.walk)(t, (_key, v) => {
71
+ marked = marked || v.mark.type || v.mark.hide;
72
+ return v;
73
+ });
74
+ // An unmarked flow type is passed THROUGH: cloning one anyway would
75
+ // move the site an error names, and a conflict has to point at what
76
+ // the author wrote.
77
+ if (!marked) {
78
+ return t;
79
+ }
80
+ const out = t.clone(ctx);
81
+ (0, utility_1.walk)(out, (_key, v) => {
82
+ v.mark.type = false;
83
+ v.mark.hide = false;
84
+ return v;
85
+ });
86
+ return out;
87
+ }
88
+ // ReferVal is what `refer(t)` RESOLVES to: the residual constraint,
89
+ // carrying the type to flow and — once it has met a string — the
90
+ // address to flow it into. A separate value from the function for the
91
+ // reason every residual is: the function is written once and the
92
+ // constraint is met many times, and only the constraint has state
93
+ // worth carrying.
94
+ class ReferVal extends FeatureVal_1.FeatureVal {
95
+ constructor(spec, ctx) {
96
+ super(spec, ctx);
97
+ this.isRefer = true;
98
+ this.isGenable = true;
99
+ this.tval = spec.tval ?? (0, top_1.top)();
100
+ this.addr = spec.addr;
101
+ this.addrsrc = spec.addrsrc;
102
+ this.held = spec.held;
103
+ this.dc = 0;
104
+ }
105
+ // The residual's own state — the type to flow, the address it has
106
+ // met, the constraints it holds — TRAVELS with the clone. A spread
107
+ // template holds the FUNCTION, so a template never needs this; a
108
+ // REFERENCE to a value that already contains a resolved link does
109
+ // (`z: id(a) & {u: refer() & "a"}` then `s: $.z`). Without it the
110
+ // clone came back as a bare `refer()` — the address silently
111
+ // dropped, and the copied link resolving to nothing.
112
+ //
113
+ // No path-dependence hook, though: a residual is minted at its
114
+ // destination, so `key()` inside a template resolves there already.
115
+ clone(ctx, spec) {
116
+ const out = super.clone(ctx, spec);
117
+ out.tval = this.tval;
118
+ out.addr = this.addr;
119
+ out.addrsrc = this.addrsrc;
120
+ out.held = this.held;
121
+ return out;
122
+ }
123
+ unify(peer, ctx) {
124
+ const p = peer;
125
+ // Another `refer` at the same position: one constraint, both
126
+ // types. `refer(A) & refer(B)` is a target that must be both.
127
+ if (true === p?.isRefer) {
128
+ return this.with(ctx, {
129
+ tval: (0, unify_1.unite)(ctx, this.tval, p.tval, 'refer-t'),
130
+ addr: this.addr ?? p.addr,
131
+ addrsrc: this.addrsrc ?? p.addrsrc,
132
+ held: null == this.held ? p.held
133
+ : null == p.held ? this.held
134
+ : (0, unify_1.unite)(ctx, this.held, p.held, 'refer-held'),
135
+ }, this);
136
+ }
137
+ if (null == peer || true === p.isTop) {
138
+ return this.settle(ctx, this);
139
+ }
140
+ if (true === p.isNil) {
141
+ return peer;
142
+ }
143
+ // A STRING is the ADDRESS, when there is not one yet. It is the
144
+ // only thing that can be: a link's value is its address.
145
+ if (undefined === this.addr
146
+ && true === p.isScalar && 'string' === typeof p.peg) {
147
+ const addr = parseAddress(p.peg);
148
+ if (undefined === addr) {
149
+ return (0, err_1.makeNilErr)(ctx, 'refer_address', this, peer, 'refer', { addr: p.peg });
150
+ }
151
+ return this.with(ctx, { addr, addrsrc: p.peg }, peer);
152
+ }
153
+ // A value that can never BE a string cannot constrain one either,
154
+ // and no later pass can repair it — so this arm refuses rather
155
+ // than defers. A KIND or a constraint is not in it: `string`,
156
+ // `re("^svc/")` and the like are perfectly good constraints on an
157
+ // address, and are held below until there is one to apply them to.
158
+ if ((true === p.isScalar && 'string' !== typeof p.peg)
159
+ || true === p.isMap || true === p.isList) {
160
+ return (0, err_1.makeNilErr)(ctx, 'refer_address', this, peer, 'refer');
161
+ }
162
+ // HELD: everything else waits for the address. Carried on the
163
+ // residual rather than parked in a conjunct, because a conjunct
164
+ // rebuilt every pass grows a level every pass; the held constraint
165
+ // meets the link the moment the address resolves, so
166
+ // `refer() & "x" & "y"` still conflicts and `refer() & string & "x"`
167
+ // still passes.
168
+ return this.with(ctx, {
169
+ held: null == this.held ? peer : (0, unify_1.unite)(ctx, this.held, peer, 'refer-held'),
170
+ }, this);
171
+ }
172
+ // with is the residual reshaped: every arm above answers a NEW
173
+ // ReferVal rather than mutating this one, because a spread template's
174
+ // residual is shared by every child it is applied to.
175
+ with(ctx, spec, site) {
176
+ const out = new ReferVal({}, ctx);
177
+ out.tval = spec.tval ?? this.tval;
178
+ out.addr = spec.addr ?? this.addr;
179
+ out.addrsrc = spec.addrsrc ?? this.addrsrc;
180
+ out.held = spec.held ?? this.held;
181
+ (0, utility_1.propagateMarks)(this, out);
182
+ out.site = site.site;
183
+ out.path = this.path;
184
+ return out.settle(ctx, site);
185
+ }
186
+ // settle answers the address if the evaluation can, and stays
187
+ // pending if it cannot YET. `site` is the value whose position the
188
+ // resolved string should take.
189
+ settle(ctx, site) {
190
+ if (undefined === this.addr) {
191
+ // NOT DONE, unlike `string` or `min(1)`. A refer without an
192
+ // address has not done its work — it exists to check one — and
193
+ // the pass loop must keep offering it the chance. The cost is
194
+ // that a SCHEMA mentioning a link never resolves either, so
195
+ // `type({from: refer($.std.Port)})` is not expressible today;
196
+ // G4 phase 4 records why, and what it would take.
197
+ this.dc = 0;
198
+ return this;
199
+ }
200
+ const reg = ctx?.entities;
201
+ const found = findEntity(reg, this.addr);
202
+ if (undefined === found) {
203
+ // PENDING, not failed — until the last pass. An entity may be
204
+ // declared by a later conjunct, include or spread, so `refer`
205
+ // residuates as a forward reference does; but within ONE
206
+ // evaluation the document-set is fixed, so existence IS
207
+ // decidable, and the final pass is where it is decided. A
208
+ // pending refer keeps the tree not-done, so the pass loop always
209
+ // reaches that pass when there is one to decide.
210
+ if (ctx.cc + 1 >= ctx.budget.passes) {
211
+ return (0, err_1.makeNilErr)(ctx, 'refer_unresolved', this, undefined, 'refer', { addr: this.addrsrc });
212
+ }
213
+ this.dc = 0;
214
+ return this;
215
+ }
216
+ // THE FLOW. `t` is unified into the target and written back, so
217
+ // every position of the entity carries it after the pass's
218
+ // identity merge — the same channel the merge itself uses.
219
+ //
220
+ // RE-ENTRANT ONLY ONCE PER ENTITY (use-cases/BUGS.md §19). Uniting
221
+ // the target drives the target's OWN subtree, and if the target
222
+ // links back — `a` typed-refers `b`, `b` typed-refers `a`, the
223
+ // shape every inverse pair has — that drives this entity again,
224
+ // and the two flow into each other until the depth budget or the
225
+ // host stack ends it. `unify_cycle` on a model whose meet plainly
226
+ // converges: `{k:1}` meeting `{k:1}` is a fixpoint, and the
227
+ // evaluator never got far enough to notice.
228
+ //
229
+ // The guard is the set of entities a flow is currently inside, on
230
+ // the context. A flow that would re-enter one is SKIPPED, not
231
+ // failed: the outer flow it is nested in is already uniting that
232
+ // entity, so the same information arrives by the same channel one
233
+ // frame up. What each flow contributes is unchanged; only the
234
+ // order it arrives in is, and unification does not care.
235
+ const flowing = (ctx._referflow ??=
236
+ new Set());
237
+ if (!this.tval.isTop && !flowing.has(this.addr.name)) {
238
+ flowing.add(this.addr.name);
239
+ try {
240
+ // The flowed type is CONCRETE at the target: a schema flowing
241
+ // into a value must not make the value a schema. Same reasoning
242
+ // as a reference's clone clearing marks — `refer($.std.Service)`
243
+ // says the target IS a Service, not that it is the definition
244
+ // of one — and without it the target silently stopped
245
+ // generating.
246
+ const merged = (0, unify_1.unite)(ctx, found.val, concreteFlow(ctx, this.tval), 'refer-flow');
247
+ if (true === merged.isNil) {
248
+ return merged;
249
+ }
250
+ if (undefined === found.parent) {
251
+ reg.set(this.addr.name, merged);
252
+ }
253
+ else {
254
+ found.parent.peg[found.key] = merged;
255
+ }
256
+ }
257
+ finally {
258
+ flowing.delete(this.addr.name);
259
+ }
260
+ }
261
+ // The value IS the address string: a link, not an embedding.
262
+ const out = new StringVal_1.StringVal({ peg: this.addrsrc }, ctx);
263
+ out.dc = type_1.DONE;
264
+ // STAMPED as a link (G4 phase 3): the value is the address string,
265
+ // so without this nothing downstream could tell a checked link from
266
+ // a literal that happens to look like one. The edge set is exactly
267
+ // the set of these stamps.
268
+ out.link = this.addrsrc;
269
+ (0, utility_1.propagateMarks)(this, out);
270
+ out.site = site.site;
271
+ out.path = this.path;
272
+ return null == this.held ? out : (0, unify_1.unite)(ctx, out, this.held, 'refer-held');
273
+ }
274
+ get canon() {
275
+ const t = this.tval.isTop ? '' : this.tval.canon;
276
+ const call = 'refer(' + t + ')' +
277
+ (null == this.held ? '' : '&' + this.held.canon);
278
+ return undefined === this.addrsrc
279
+ ? call : call + '&' + JSON.stringify(this.addrsrc);
280
+ }
281
+ }
282
+ exports.ReferVal = ReferVal;
283
+ class ReferFuncVal extends FuncBaseVal_1.FuncBaseVal {
284
+ constructor(spec, ctx) {
285
+ super(spec, ctx);
286
+ this.isReferFunc = true;
287
+ }
288
+ make(_ctx, spec) {
289
+ return new ReferFuncVal(spec);
290
+ }
291
+ funcname() {
292
+ return 'refer';
293
+ }
294
+ resolve(ctx, args) {
295
+ const out = new ReferVal({}, ctx);
296
+ out.tval = 0 < args.length ? args[0] : (0, top_1.top)();
297
+ out.site = this.site;
298
+ out.path = this.path;
299
+ return out;
300
+ }
301
+ } /* node:coverage ignore next 6 */
302
+ exports.ReferFuncVal = ReferFuncVal;
303
+ //# sourceMappingURL=ReferFuncVal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferFuncVal.js","sourceRoot":"","sources":["../../src/val/ReferFuncVal.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ declare class BigDecimal {
12
12
  declare class Null {
13
13
  }
14
14
  declare function kindParent(kind: any): any;
15
- declare function kindFamily(kind: any): any;
16
15
  declare function kindSubsumes(sup: any, sub: any): boolean;
17
16
  type ScalarConstructor = StringConstructor | NumberConstructor | BooleanConstructor | (typeof Integer) | (typeof Float) | (typeof BigInteger) | (typeof BigDecimal) | (typeof Null) | (typeof Integer.constructor);
18
17
  declare class ScalarKindVal extends FeatureVal {
@@ -23,4 +22,4 @@ declare class ScalarKindVal extends FeatureVal {
23
22
  superior(): Val;
24
23
  same(peer: any): boolean;
25
24
  }
26
- export { BigDecimal, BigInteger, Float, Integer, Null, ScalarConstructor, ScalarKindVal, kindFamily, kindParent, kindSubsumes, };
25
+ export { BigDecimal, BigInteger, Float, Integer, Null, ScalarConstructor, ScalarKindVal, kindParent, kindSubsumes, };
@@ -2,7 +2,6 @@
2
2
  /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.ScalarKindVal = exports.Null = exports.Integer = exports.Float = exports.BigInteger = exports.BigDecimal = void 0;
5
- exports.kindFamily = kindFamily;
6
5
  exports.kindParent = kindParent;
7
6
  exports.kindSubsumes = kindSubsumes;
8
7
  const type_1 = require("../type");
@@ -70,16 +69,6 @@ const KIND_PARENT = new Map([
70
69
  function kindParent(kind) {
71
70
  return KIND_PARENT.get(kind);
72
71
  }
73
- // The root of a kind marker's family: the highest ancestor below top.
74
- // Every numeric leaf answers `number`; a kind with no parent is its own
75
- // family root (string, boolean, null).
76
- function kindFamily(kind) {
77
- let root = kind;
78
- for (let k = KIND_PARENT.get(kind); null != k; k = KIND_PARENT.get(k)) {
79
- root = k;
80
- }
81
- return root;
82
- }
83
72
  // True when `sub` is `sup`, or sits anywhere below it. The numeric
84
73
  // lattice is two deep today; walking the chain keeps this correct if it
85
74
  // ever deepens.
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarKindVal.js","sourceRoot":"","sources":["../../src/val/ScalarKindVal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScalarKindVal.js","sourceRoot":"","sources":["../../src/val/ScalarKindVal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TopVal.js","sourceRoot":"","sources":["../../src/val/TopVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAQzD,kCAEgB;AAMhB,+BAEc;AAGd,yBAAyB;AACzB,MAAM,MAAO,SAAQ,SAAG;IAMtB,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QATlB,UAAK,GAAG,IAAI,CAAA;QAEZ,OAAE,GAAG,CAAC,CAAA;QACN,OAAE,GAAG,WAAI,CAAA;QAQP,qCAAqC;QACrC,IAAI,CAAC,EAAE,GAAG,WAAI,CAAA;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,CAAC,IAAS;QACZ,uBAAuB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,KAAK,CAAA,CAAC,CAAC;IAE5B,QAAQ;QACN,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAkB,EAAE,KAAe;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,IAAmB;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;CAEF,CAAC,iCAAiC;QAIjC,MAAM"}
1
+ {"version":3,"file":"TopVal.js","sourceRoot":"","sources":["../../src/val/TopVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAOzD,kCAEgB;AAMhB,+BAEc;AAGd,yBAAyB;AACzB,MAAM,MAAO,SAAQ,SAAG;IAMtB,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QATlB,UAAK,GAAG,IAAI,CAAA;QAEZ,OAAE,GAAG,CAAC,CAAA;QACN,OAAE,GAAG,WAAI,CAAA;QAQP,qCAAqC;QACrC,IAAI,CAAC,EAAE,GAAG,WAAI,CAAA;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,CAAC,IAAS;QACZ,uBAAuB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,KAAK,CAAA,CAAC,CAAC;IAE5B,QAAQ;QACN,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAkB,EAAE,KAAe;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,IAAmB;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;CAEF,CAAC,iCAAiC;QAIjC,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"TypeFuncVal.js","sourceRoot":"","sources":["../../src/val/TypeFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAEnC,wCAImB;AAGnB,+CAA2C;AAG3C,MAAM,WAAY,SAAQ,yBAAW;IAKnC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QARlB,eAAU,GAAG,IAAI,CAAA;QAUf,qCAAqC;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACxB,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAA,gBAAU,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEpB,IAAA,cAAI,EAAC,GAAG,EAAE,CAAC,IAAiC,EAAE,GAAQ,EAAE,EAAE;gBACxD,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;gBACpB,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAC,iCAAiC;QAIjC,WAAW"}
1
+ {"version":3,"file":"TypeFuncVal.js","sourceRoot":"","sources":["../../src/val/TypeFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAEnC,wCAEmB;AAGnB,+CAA2C;AAG3C,MAAM,WAAY,SAAQ,yBAAW;IAKnC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QARlB,eAAU,GAAG,IAAI,CAAA;QAUf,qCAAqC;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACxB,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAA,gBAAU,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEpB,IAAA,cAAI,EAAC,GAAG,EAAE,CAAC,IAAiC,EAAE,GAAQ,EAAE,EAAE;gBACxD,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;gBACpB,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAC,iCAAiC;QAIjC,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpperFuncVal.js","sourceRoot":"","sources":["../../src/val/UpperFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAInC,wDAAoD;AACpD,4CAA+C;AAC/C,4CAAwC;AAIxC,+CAA2C;AAG3C,MAAM,YAAa,SAAQ,yBAAW;IAGpC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,gBAAW,GAAG,IAAI,CAAA;IAOlB,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,OAAO,CAAC,GAA6B,EAAE,IAAW;QAChD,mEAAmE;QACnE,gEAAgE;QAChE,4DAA4D;QAC5D,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,CAAA;QACvB,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7D,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9C,gEAAgE;gBAChE,iEAAiE;gBACjE,+DAA+D;gBAC/D,gEAAgE;gBAChE,4DAA4D;gBAC5D,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnC,MAAM,YAAY,iBAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;wBACzC,SAAS,CAAA;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,IAAI,IAAI,GAAG,CAAC,CAAC;YACX,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;YACtC,gEAAgE;YAChE,8DAA8D;YAC9D,gEAAgE;YAChE,8CAA8C;YAC9C,IAAA,wBAAc,EAAC,GAAG,EAAE,GAAG,CAAC,CAC3B,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QACzB,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,IAAI,6BAAa,CAAC;gBAC3B,GAAG,EAAE,GAAG,CAAC,IAAI;aACd,CAAC,CAAC,CAAC,CAAC;YACL,KAAK,CAAC,QAAQ,EAAE,CAAA;IACpB,CAAC;CACF,CAAC,iCAAiC;QAIjC,YAAY"}
1
+ {"version":3,"file":"UpperFuncVal.js","sourceRoot":"","sources":["../../src/val/UpperFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAGnC,wDAAoD;AACpD,4CAA+C;AAC/C,4CAAwC;AAIxC,+CAA2C;AAG3C,MAAM,YAAa,SAAQ,yBAAW;IAGpC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,gBAAW,GAAG,IAAI,CAAA;IAOlB,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,OAAO,CAAC,GAA6B,EAAE,IAAW;QAChD,mEAAmE;QACnE,gEAAgE;QAChE,4DAA4D;QAC5D,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,CAAA;QACvB,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7D,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9C,gEAAgE;gBAChE,iEAAiE;gBACjE,+DAA+D;gBAC/D,gEAAgE;gBAChE,4DAA4D;gBAC5D,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnC,MAAM,YAAY,iBAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;wBACzC,SAAS,CAAA;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,IAAI,IAAI,GAAG,CAAC,CAAC;YACX,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;YACtC,gEAAgE;YAChE,8DAA8D;YAC9D,gEAAgE;YAChE,8CAA8C;YAC9C,IAAA,wBAAc,EAAC,GAAG,EAAE,GAAG,CAAC,CAC3B,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QACzB,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,IAAI,6BAAa,CAAC;gBAC3B,GAAG,EAAE,GAAG,CAAC,IAAI;aACd,CAAC,CAAC,CAAC,CAAC;YACL,KAAK,CAAC,QAAQ,EAAE,CAAA;IACpB,CAAC;CACF,CAAC,iCAAiC;QAIjC,YAAY"}
package/dist/val/Val.d.ts CHANGED
@@ -10,6 +10,7 @@ type ValSpec = {
10
10
  peg?: any;
11
11
  mark?: Partial<ValMark>;
12
12
  kind?: any;
13
+ dup?: boolean;
13
14
  row?: number;
14
15
  col?: number;
15
16
  url?: string;
@@ -25,6 +26,7 @@ type ValSpec = {
25
26
  declare const DONE = -1;
26
27
  declare const SPREAD: unique symbol;
27
28
  declare const EMPTY_ERR: any[];
29
+ export declare function nextValId(): number;
28
30
  declare abstract class Val {
29
31
  isVal: boolean;
30
32
  isTop: boolean;
@@ -70,6 +72,10 @@ declare abstract class Val {
70
72
  get site(): Site;
71
73
  set site(s: Site);
72
74
  mark: ValMark;
75
+ deprecation?: Record<string, string>;
76
+ entity?: string;
77
+ link?: string;
78
+ graph?: any;
73
79
  peg: any;
74
80
  err: any[];
75
81
  explain: any[] | null;
@@ -86,7 +92,7 @@ declare abstract class Val {
86
92
  get isPathDependent(): boolean;
87
93
  place(v: Val): Val;
88
94
  unify(_peer: Val, _ctx: AontuContext): Val;
89
- get canon(): string;
95
+ abstract get canon(): string;
90
96
  errcanon(): string;
91
97
  gen(_ctx: AontuContext): any;
92
98
  notdone(): void;
@@ -95,6 +101,7 @@ declare abstract class Val {
95
101
  inspect(d?: number): string;
96
102
  inspection(_d?: number): string;
97
103
  }
104
+ declare function repathInstance(v: any, path: string[]): void;
98
105
  declare function empty(o: any): boolean;
99
106
  export type { ValMark, ValSpec, };
100
- export { Val, DONE, SPREAD, EMPTY_ERR, empty };
107
+ export { Val, DONE, SPREAD, EMPTY_ERR, empty, repathInstance, };