aontu 0.52.1 → 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 (272) 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 +96 -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 +13 -0
  13. package/dist/ctx.js +43 -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 +38 -7
  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 +167 -4
  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 +512 -69
  33. package/dist/lang.js.map +1 -1
  34. package/dist/lsp.d.ts +9 -2
  35. package/dist/lsp.js +262 -47
  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 +2 -1
  83. package/dist/unify.js +253 -36
  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 +7 -1
  103. package/dist/val/ConstraintVal.js +490 -40
  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.js +27 -4
  120. package/dist/val/ExpectVal.js.map +1 -1
  121. package/dist/val/FeatureVal.js +1 -1
  122. package/dist/val/FeatureVal.js.map +1 -1
  123. package/dist/val/FilterFuncVal.d.ts +15 -0
  124. package/dist/val/FilterFuncVal.js +91 -0
  125. package/dist/val/FilterFuncVal.js.map +1 -0
  126. package/dist/val/FuncBaseVal.d.ts +6 -1
  127. package/dist/val/FuncBaseVal.js +171 -1
  128. package/dist/val/FuncBaseVal.js.map +1 -1
  129. package/dist/val/HideFuncVal.js.map +1 -1
  130. package/dist/val/IdFuncVal.d.ts +13 -0
  131. package/dist/val/IdFuncVal.js +54 -0
  132. package/dist/val/IdFuncVal.js.map +1 -0
  133. package/dist/val/JunctionVal.js +7 -1
  134. package/dist/val/JunctionVal.js.map +1 -1
  135. package/dist/val/KeyFuncVal.d.ts +1 -1
  136. package/dist/val/KeyFuncVal.js +38 -30
  137. package/dist/val/KeyFuncVal.js.map +1 -1
  138. package/dist/val/ListVal.js +101 -14
  139. package/dist/val/ListVal.js.map +1 -1
  140. package/dist/val/LowerFuncVal.js.map +1 -1
  141. package/dist/val/MapVal.js +93 -8
  142. package/dist/val/MapVal.js.map +1 -1
  143. package/dist/val/MatchFuncVal.d.ts +15 -0
  144. package/dist/val/MatchFuncVal.js +107 -0
  145. package/dist/val/MatchFuncVal.js.map +1 -0
  146. package/dist/val/MoveFuncVal.js.map +1 -1
  147. package/dist/val/NilVal.js +24 -0
  148. package/dist/val/NilVal.js.map +1 -1
  149. package/dist/val/OpBaseVal.d.ts +1 -1
  150. package/dist/val/OpBaseVal.js +19 -1
  151. package/dist/val/OpBaseVal.js.map +1 -1
  152. package/dist/val/OpenFuncVal.js +4 -1
  153. package/dist/val/OpenFuncVal.js.map +1 -1
  154. package/dist/val/PackFuncVal.d.ts +15 -0
  155. package/dist/val/PackFuncVal.js +108 -0
  156. package/dist/val/PackFuncVal.js.map +1 -0
  157. package/dist/val/PathFuncVal.js.map +1 -1
  158. package/dist/val/PlaceVal.d.ts +13 -0
  159. package/dist/val/PlaceVal.js +131 -0
  160. package/dist/val/PlaceVal.js.map +1 -0
  161. package/dist/val/PlusOpVal.js +11 -2
  162. package/dist/val/PlusOpVal.js.map +1 -1
  163. package/dist/val/PrefFuncVal.js.map +1 -1
  164. package/dist/val/PrefVal.d.ts +2 -2
  165. package/dist/val/PrefVal.js +78 -23
  166. package/dist/val/PrefVal.js.map +1 -1
  167. package/dist/val/RefVal.d.ts +1 -1
  168. package/dist/val/RefVal.js +89 -7
  169. package/dist/val/RefVal.js.map +1 -1
  170. package/dist/val/ReferFuncVal.d.ts +36 -0
  171. package/dist/val/ReferFuncVal.js +303 -0
  172. package/dist/val/ReferFuncVal.js.map +1 -0
  173. package/dist/val/ScalarKindVal.d.ts +1 -2
  174. package/dist/val/ScalarKindVal.js +0 -11
  175. package/dist/val/ScalarKindVal.js.map +1 -1
  176. package/dist/val/TopVal.js.map +1 -1
  177. package/dist/val/TypeFuncVal.js.map +1 -1
  178. package/dist/val/UpperFuncVal.js.map +1 -1
  179. package/dist/val/Val.d.ts +8 -1
  180. package/dist/val/Val.js +150 -1
  181. package/dist/val/Val.js.map +1 -1
  182. package/dist/val/VarVal.js.map +1 -1
  183. package/dist/val/arith.d.ts +6 -0
  184. package/dist/val/arith.js +170 -0
  185. package/dist/val/arith.js.map +1 -0
  186. package/dist/vet.d.ts +45 -0
  187. package/dist/vet.js +776 -0
  188. package/dist/vet.js.map +1 -0
  189. package/dist/walk.d.ts +2 -0
  190. package/dist/walk.js +91 -0
  191. package/dist/walk.js.map +1 -0
  192. package/grammar/aontu.gbnf +130 -0
  193. package/grammar/aontu.lark +113 -0
  194. package/package.json +21 -6
  195. package/skill/SKILL.md +37 -0
  196. package/skill/error-codes.md +62 -0
  197. package/skill/examples.md +99 -0
  198. package/skill/grammar-card.md +57 -0
  199. package/src/agentsmd.ts +135 -0
  200. package/src/aontu.ts +135 -4
  201. package/src/cli.ts +2858 -71
  202. package/src/ctx.ts +73 -1
  203. package/src/diff.ts +196 -0
  204. package/src/err.ts +42 -7
  205. package/src/graph.ts +135 -0
  206. package/src/hcanon.ts +169 -0
  207. package/src/hints.ts +208 -4
  208. package/src/jsonschema.ts +511 -0
  209. package/src/lang.ts +570 -70
  210. package/src/lsp.ts +281 -48
  211. package/src/mcp-server.ts +187 -0
  212. package/src/mcp.ts +993 -0
  213. package/src/mod-tool.ts +679 -0
  214. package/src/mod.ts +344 -0
  215. package/src/patch.ts +624 -0
  216. package/src/provenance.ts +430 -0
  217. package/src/query.ts +379 -0
  218. package/src/reach.ts +184 -0
  219. package/src/relation.ts +395 -0
  220. package/src/report-sarif.ts +137 -0
  221. package/src/site.ts +36 -1
  222. package/src/std.ts +73 -0
  223. package/src/subsume.ts +690 -0
  224. package/src/trim.ts +195 -0
  225. package/src/tsconfig.json +10 -4
  226. package/src/type.ts +51 -2
  227. package/src/unify.ts +274 -36
  228. package/src/utility.ts +139 -1
  229. package/src/val/AggFuncVal.ts +319 -0
  230. package/src/val/ArithFuncVal.ts +108 -0
  231. package/src/val/BagVal.ts +101 -4
  232. package/src/val/CloseFuncVal.ts +9 -1
  233. package/src/val/ConjunctVal.ts +20 -0
  234. package/src/val/ConstraintVal.ts +542 -43
  235. package/src/val/CopyFuncVal.ts +7 -1
  236. package/src/val/Decimal.ts +15 -0
  237. package/src/val/DeprecateFuncVal.ts +84 -0
  238. package/src/val/DisjunctVal.ts +139 -28
  239. package/src/val/EachFuncVal.ts +133 -0
  240. package/src/val/ExpectVal.ts +28 -6
  241. package/src/val/FeatureVal.ts +1 -1
  242. package/src/val/FilterFuncVal.ts +154 -0
  243. package/src/val/FuncBaseVal.ts +192 -1
  244. package/src/val/HideFuncVal.ts +0 -2
  245. package/src/val/IdFuncVal.ts +91 -0
  246. package/src/val/JunctionVal.ts +7 -1
  247. package/src/val/KeyFuncVal.ts +39 -35
  248. package/src/val/ListVal.ts +108 -15
  249. package/src/val/LowerFuncVal.ts +0 -1
  250. package/src/val/MapVal.ts +99 -8
  251. package/src/val/MatchFuncVal.ts +176 -0
  252. package/src/val/MoveFuncVal.ts +0 -2
  253. package/src/val/NilVal.ts +25 -0
  254. package/src/val/OpBaseVal.ts +20 -1
  255. package/src/val/OpenFuncVal.ts +4 -2
  256. package/src/val/PackFuncVal.ts +175 -0
  257. package/src/val/PathFuncVal.ts +0 -1
  258. package/src/val/PlaceVal.ts +193 -0
  259. package/src/val/PlusOpVal.ts +11 -2
  260. package/src/val/PrefFuncVal.ts +0 -1
  261. package/src/val/PrefVal.ts +79 -36
  262. package/src/val/RefVal.ts +91 -8
  263. package/src/val/ReferFuncVal.ts +387 -0
  264. package/src/val/ScalarKindVal.ts +0 -13
  265. package/src/val/TopVal.ts +0 -1
  266. package/src/val/TypeFuncVal.ts +0 -2
  267. package/src/val/UpperFuncVal.ts +0 -1
  268. package/src/val/Val.ts +205 -2
  269. package/src/val/VarVal.ts +0 -1
  270. package/src/val/arith.ts +316 -0
  271. package/src/vet.ts +992 -0
  272. package/src/walk.ts +99 -0
package/dist/site.d.ts CHANGED
@@ -3,11 +3,15 @@ type SiteSpec = {
3
3
  row?: number;
4
4
  col?: number;
5
5
  url?: string;
6
+ len?: number;
7
+ src?: string;
6
8
  };
7
9
  declare class Site {
8
10
  row: number;
9
11
  col: number;
10
12
  url: string;
13
+ len: number;
14
+ src: string;
11
15
  constructor(val?: Val | SiteSpec);
12
16
  }
13
17
  export { Site, };
package/dist/site.js CHANGED
@@ -2,12 +2,43 @@
2
2
  /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Site = void 0;
5
+ // Site locates a value in the text that produced it: where it starts
6
+ // (row, col), HOW FAR IT RUNS (len), and the source text itself (src).
7
+ //
8
+ // THE EXTENT IS NOT OPTIONAL DETAIL — it is what makes a site safe to
9
+ // edit. Without it the only length available is the CANON, and canon is
10
+ // not source text: `port: 0x1F` has canon `31`, so replacing
11
+ // `(col, canon.length)` writes `port: 5x1F` and corrupts the document.
12
+ // The parser knew the extent all along — the token carries `len` and
13
+ // `src` beside the `rI`/`cI` this already read — and dropping it was
14
+ // the whole defect (status report 2026-08-21, §5).
15
+ //
16
+ // WHAT THE EXTENT COVERS is the TOKEN THE SITE POINTS AT, which is the
17
+ // same thing row and col have always pointed at:
18
+ //
19
+ // 0x1F a scalar literal len 4 the whole literal
20
+ // "hi there" a string len 10 quotes included
21
+ // {x:1} a map len 1 the opening brace
22
+ // min(3) a constraint len 3 the name, not the call
23
+ //
24
+ // So for a SCALAR — which is what a repair edits, and what `set` and
25
+ // the manual fallback rewrite — `(col, len)` is exactly the span to
26
+ // replace. For a container it under-reaches to the opening delimiter,
27
+ // which is safe in the direction that matters: a highlight that is too
28
+ // short is a cosmetic flaw, while canon.length on a map over-reaches
29
+ // across lines into text the value never occupied.
30
+ //
31
+ // -1 and '' mean UNKNOWN, the same convention row and col already use:
32
+ // a value minted by unification rather than written by a document has
33
+ // no site, and must not be edited as though it had one.
5
34
  class Site {
6
35
  constructor(val) {
7
36
  const site = (val?.site ?? val);
8
37
  this.row = site?.row ?? -1;
9
38
  this.col = site?.col ?? -1;
10
39
  this.url = site?.url ?? '';
40
+ this.len = site?.len ?? -1;
41
+ this.src = site?.src ?? '';
11
42
  }
12
43
  } /* node:coverage ignore next 6 */
13
44
  exports.Site = Site;
package/dist/site.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"site.js","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAUzD,MAAM,IAAI;IAKR,YAAY,GAAoB;QAC9B,MAAM,IAAI,GAAG,CAAE,GAAW,EAAE,IAAI,IAAI,GAAG,CAAa,CAAA;QAEpD,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAA;IAC5B,CAAC;CACF,CAAC,iCAAiC;QAIjC,IAAI"}
1
+ {"version":3,"file":"site.js","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,qEAAqE;AACrE,uEAAuE;AACvE,EAAE;AACF,sEAAsE;AACtE,wEAAwE;AACxE,6DAA6D;AAC7D,uEAAuE;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,mDAAmD;AACnD,EAAE;AACF,uEAAuE;AACvE,iDAAiD;AACjD,EAAE;AACF,8DAA8D;AAC9D,4DAA4D;AAC5D,8DAA8D;AAC9D,mEAAmE;AACnE,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,mDAAmD;AACnD,EAAE;AACF,uEAAuE;AACvE,sEAAsE;AACtE,wDAAwD;AACxD,MAAM,IAAI;IAOR,YAAY,GAAoB;QAC9B,MAAM,IAAI,GAAG,CAAE,GAAW,EAAE,IAAI,IAAI,GAAG,CAAa,CAAA;QAEpD,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAA;IAC5B,CAAC;CACF,CAAC,iCAAiC;QAIjC,IAAI"}
package/dist/std.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const STD_SOURCES: Record<string, string>;
package/dist/std.js ADDED
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ /* Copyright (c) 2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.STD_SOURCES = void 0;
5
+ // THE BUNDLED VOCABULARY (G4 phase 4,
6
+ // docs/capability-review/g4-identity-relations.md): `@"std/system"` is
7
+ // served from the engine itself — no filesystem, no package resolution
8
+ // — so a document may use it under every include capability except
9
+ // `none`, and the hermeticity posture is not widened by a source that
10
+ // never leaves the process.
11
+ //
12
+ // The TEXT is the shared artifact: go/std.go carries the same bytes,
13
+ // and test/spec/std-system.tsv pins its canon and its canon-hash in
14
+ // both engines, so the two copies cannot drift without a red suite.
15
+ // It carries no backtick for that reason: one string literal per port,
16
+ // and Go's raw string has no escape.
17
+ const STD_SYSTEM = `# std/system --- the SYSTEM VOCABULARY (G4 phase 4). Ports, components
18
+ # and relations need no syntax: they are schemas. Everything here is
19
+ # ordinary unification --- conjunction, spreads, marks, defaults ---
20
+ # so the vocabulary costs the language nothing, and an author who wants
21
+ # a different one writes it the same way.
22
+ #
23
+ # EXPERIMENTAL until the distribution layer can version it by
24
+ # canon-hash. Entity ids deliberately do NOT embed versions: fusing
25
+ # identity and version makes "v1 and v2 describe the same entity"
26
+ # inexpressible.
27
+
28
+ std: {
29
+
30
+ # One end of a connection.
31
+ Port: type({
32
+ direction: *in | out | inout
33
+ protocol?: string
34
+ })
35
+
36
+ # A node with ports. A Component that is not itself an entity is a
37
+ # component OF its nearest identified ancestor, which is the
38
+ # entity/component distinction and needs no mark of its own.
39
+ Component: type({
40
+ ports?: {&: $.std.Port}
41
+ })
42
+
43
+ # A component that is a service. Written out rather than as
44
+ # $.std.Component & {kind: service}: a reference from one member of
45
+ # this file to another does not survive being INCLUDED into a
46
+ # document (the marks the include carries make the referring member
47
+ # unusable), so the vocabulary states each schema on its own.
48
+ Service: type({
49
+ kind: service
50
+ ports?: {&: $.std.Port}
51
+ })
52
+
53
+ # A DECLARED RELATION. "target" is what the far end must satisfy,
54
+ # "inverse" names the relation that must mirror it, and "acyclic"
55
+ # asks that the edge set have no cycle. The last two are checked
56
+ # AFTER unification, not by it: they are global and non-monotone ---
57
+ # an acyclic graph becomes cyclic when one more edge unifies in ---
58
+ # and no lattice citizen may be falsified by more information.
59
+ Relation: type({
60
+ target?: top
61
+ inverse?: string
62
+ acyclic?: *false | boolean
63
+ })
64
+ }
65
+ `;
66
+ // The bundled sources, by the name a document writes. Both the bare
67
+ // name and the `.aon` spelling resolve, because both are what an
68
+ // author reaches for.
69
+ exports.STD_SOURCES = {
70
+ 'std/system': STD_SYSTEM,
71
+ 'std/system.aon': STD_SYSTEM,
72
+ };
73
+ //# sourceMappingURL=std.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"std.js","sourceRoot":"","sources":["../src/std.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,sCAAsC;AACtC,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,sEAAsE;AACtE,4BAA4B;AAC5B,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,uEAAuE;AACvE,qCAAqC;AAErC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDlB,CAAA;AAGD,oEAAoE;AACpE,iEAAiE;AACjE,sBAAsB;AACT,QAAA,WAAW,GAA2B;IACjD,YAAY,EAAE,UAAU;IACxB,gBAAgB,EAAE,UAAU;CAC7B,CAAA"}
@@ -0,0 +1,39 @@
1
+ import type { TrustOptions } from './type';
2
+ import type { VetFinding } from './vet';
3
+ export type SubsumeVerdict = 'subsumes' | 'does_not_subsume' | 'undecided' | 'error';
4
+ export type SubsumeProfile = 'values' | 'defaults' | 'gen';
5
+ export type SubsumeOptions = {
6
+ profile?: SubsumeProfile;
7
+ at?: string;
8
+ generalUrl?: string;
9
+ specificUrl?: string;
10
+ generalPath?: string;
11
+ specificPath?: string;
12
+ trust?: TrustOptions;
13
+ };
14
+ export type SubsumeReport = {
15
+ verdict: SubsumeVerdict;
16
+ findings: VetFinding[];
17
+ };
18
+ type SubState = {
19
+ profile: SubsumeProfile;
20
+ distributing?: boolean;
21
+ findings: VetFinding[];
22
+ generalUrl: string;
23
+ specificUrl: string;
24
+ };
25
+ type Tri = 'yes' | 'no' | 'undecided';
26
+ export declare function effectiveDefault(v: any): any;
27
+ export declare function subsumeNode(state: SubState, path: string[], g0: any, s0: any): Tri;
28
+ /**
29
+ * Does `generalSrc` subsume `specificSrc` — is every instance the
30
+ * specific admits admitted by the general too?
31
+ *
32
+ * Both sources are evaluated fresh (single-use trees make this
33
+ * mandatory), and the recursion runs on the finished values. The
34
+ * verdict is three-valued plus `error` (a source that does not stand up
35
+ * on its own, mirroring vet's schema-error verdict); findings reuse
36
+ * G2's object with class `compat`.
37
+ */
38
+ export declare function subsume(generalSrc: string, specificSrc: string, opts?: SubsumeOptions): SubsumeReport;
39
+ export {};