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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod-tool.js","sourceRoot":"","sources":["../src/mod-tool.ts"],"names":[],"mappings":"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"}
package/dist/mod.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ export type ModuleRef = {
2
+ path: string;
3
+ major: number;
4
+ hash?: string;
5
+ };
6
+ export type ModuleFs = {
7
+ existsSync: (p: string) => boolean;
8
+ readFileSync: (p: string, enc: string) => string;
9
+ };
10
+ export declare function parseModuleRef(spec: string): ModuleRef | undefined;
11
+ export declare const MODULE_MAX_PATH = 512;
12
+ export declare const MODULE_MAX_ELEMS = 32;
13
+ export declare function validateModulePath(path: string): string | undefined;
14
+ export declare function moduleDir(store: string, ref: ModuleRef): string;
15
+ export declare function projectRoots(from: string, fs: ModuleFs): string[];
16
+ export declare function lockJson(text: string): string;
17
+ export declare function modCacheDir(): string | undefined;
18
+ export declare function modCacheDirFor(platform: string, env: Record<string, string | undefined>): string | undefined;
19
+ export declare function lockHash(root: string, ref: ModuleRef, fs: ModuleFs): string | undefined;
20
+ export type ModuleEval = (src: string, path: string) => {
21
+ gen: any;
22
+ hash: string;
23
+ };
24
+ export declare const MODULE_MAX_DEPTH = 16;
25
+ export type ModuleOptions = {
26
+ cache?: string;
27
+ eval: ModuleEval;
28
+ depth?: number;
29
+ };
30
+ export type ModuleFound = {
31
+ full: string;
32
+ src: string;
33
+ };
34
+ export declare const MODULE_REFUSAL_CODES: ReadonlySet<string>;
35
+ export declare function resolveModule(ref: ModuleRef, fromDir: string, fs: ModuleFs, options: ModuleOptions): ModuleFound;
package/dist/mod.js ADDED
@@ -0,0 +1,345 @@
1
+ "use strict";
2
+ /* Copyright (c) 2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.MODULE_REFUSAL_CODES = exports.MODULE_MAX_DEPTH = exports.MODULE_MAX_ELEMS = exports.MODULE_MAX_PATH = void 0;
5
+ exports.parseModuleRef = parseModuleRef;
6
+ exports.validateModulePath = validateModulePath;
7
+ exports.moduleDir = moduleDir;
8
+ exports.projectRoots = projectRoots;
9
+ exports.lockJson = lockJson;
10
+ exports.modCacheDir = modCacheDir;
11
+ exports.modCacheDirFor = modCacheDirFor;
12
+ exports.lockHash = lockHash;
13
+ exports.resolveModule = resolveModule;
14
+ // MODULE IDENTITY AND LOCAL RESOLUTION (G6 phase 2,
15
+ // docs/capability-review/g6-distribution.md).
16
+ //
17
+ // An import is still just `@"…"`; the string's SHAPE routes it, so the
18
+ // grammar is untouched and every existing include keeps its exact
19
+ // behaviour:
20
+ //
21
+ // service: @"corp.example/schemas/service@1"
22
+ // frozen: @"corp.example/schemas/service@1#aon1-4vJemVYtWFR2mQeN…"
23
+ // local: @"./fragment.aon" <- unchanged, not a module
24
+ //
25
+ // EVALUATION NEVER TOUCHES THE NETWORK. Resolution reads local stores
26
+ // only: `aon_vendor/` beside the project's `mod.aon`, then a
27
+ // content-addressed user cache keyed by canon-hash. Fetching is a
28
+ // separate, explicit tool step, and a module that is in neither store
29
+ // is an evaluation error that says so.
30
+ //
31
+ // TWO PINS, TWO ROLES. The lockfile's `oci` digest certifies that these
32
+ // are the bytes the registry served; the `canon` hash certifies that
33
+ // this is the MEANING that was reviewed. Only the second can be checked
34
+ // locally without the registry, and it is the one this file checks: the
35
+ // module is unified standalone and its canon-hash compared with the
36
+ // pin. An inline `#aon1-…` fragment is the same check without a
37
+ // lockfile — the degenerate mode for single-file and agent-sandbox use.
38
+ const node_path_1 = require("node:path");
39
+ // A module path is DOMAIN-SHAPED — the first segment carries a dot,
40
+ // which is what tells it apart from `./local.aon`, `pkg-name` and every
41
+ // other spelling already in use — and carries the major version in the
42
+ // path, CUE/Go-style, so two majors are two modules.
43
+ //
44
+ // The pattern is deliberately narrow: anything it does not match falls
45
+ // through to the existing resolver chain unchanged, so no document that
46
+ // worked before this phase can be routed somewhere new by it.
47
+ const MODULE_RE = /^([a-z0-9][a-z0-9-]*(?:\.[a-z0-9][a-z0-9-]*)+(?:\/[A-Za-z0-9._-]+)*)@(\d+)(?:#(aon1-[A-Za-z0-9_-]+))?$/;
48
+ function parseModuleRef(spec) {
49
+ const m = MODULE_RE.exec(spec);
50
+ if (null == m) {
51
+ return undefined;
52
+ }
53
+ return {
54
+ path: m[1],
55
+ major: +m[2],
56
+ ...(null == m[3] ? {} : { hash: m[3] }),
57
+ };
58
+ }
59
+ // SHAPE IS NOT VALIDITY, and the gap between them was a hole. MODULE_RE
60
+ // answers "does this string route to the module resolver" -- a
61
+ // ROUTING predicate, and it must stay one, because anything it rejects
62
+ // falls through to the file leg and a stricter pattern would silently
63
+ // re-route documents that work today. But its element class
64
+ // `[A-Za-z0-9._-]` admits `..`, and `moduleDir` joins elements with
65
+ // pathJoin, which CLEANS `..` rather than refusing it:
66
+ //
67
+ // moduleDir('/store/aon_vendor', 'corp.example/../../etc/passwd@1')
68
+ // -> /store/etc/passwd@1
69
+ //
70
+ // `mod vendor` then copied a tree THERE, outside the project entirely,
71
+ // and reported `verdict: ok`. So validity is a separate question asked
72
+ // separately, after the shape matched, and asked at every site that
73
+ // turns a module path into a directory.
74
+ //
75
+ // The rules are Go's (golang.org/x/mod/module.CheckPath), for the
76
+ // reason Go has them: a module path becomes a real directory on every
77
+ // platform the toolchain runs on, so it must be a legal one everywhere.
78
+ exports.MODULE_MAX_PATH = 512;
79
+ exports.MODULE_MAX_ELEMS = 32;
80
+ // Windows refuses these as file names whatever the extension, so a
81
+ // module path containing one cannot be materialised there at all. The
82
+ // check is on the element up to its first dot, which is where Windows
83
+ // stops looking too.
84
+ const RESERVED_ELEMS = new Set([
85
+ 'con', 'prn', 'aux', 'nul',
86
+ 'com1', 'com2', 'com3', 'com4', 'com5', 'com6', 'com7', 'com8', 'com9',
87
+ 'lpt1', 'lpt2', 'lpt3', 'lpt4', 'lpt5', 'lpt6', 'lpt7', 'lpt8', 'lpt9',
88
+ ]);
89
+ // Why a module path may not be used as a directory, or undefined when
90
+ // it may. The reason is user-facing: it goes in the refusal, because a
91
+ // path refused without saying which rule it broke is a puzzle.
92
+ function validateModulePath(path) {
93
+ if (exports.MODULE_MAX_PATH < path.length) {
94
+ return 'longer than ' + exports.MODULE_MAX_PATH + ' characters';
95
+ }
96
+ const elems = path.split('/');
97
+ if (exports.MODULE_MAX_ELEMS < elems.length) {
98
+ return 'more than ' + exports.MODULE_MAX_ELEMS + ' elements';
99
+ }
100
+ for (const elem of elems) {
101
+ if ('' === elem) {
102
+ return 'an element is empty';
103
+ }
104
+ // This one rule kills `.` and `..` -- the traversal -- along with
105
+ // `.hidden` and `trailing.`, exactly as Go's does. Stating it as
106
+ // the rule rather than as "no `..`" is deliberate: a check that
107
+ // named the two dangerous spellings would miss the next one.
108
+ if (elem.startsWith('.') || elem.endsWith('.')) {
109
+ return 'an element begins or ends with "."';
110
+ }
111
+ if (RESERVED_ELEMS.has(elem.split('.')[0].toLowerCase())) {
112
+ return 'an element is a reserved device name';
113
+ }
114
+ }
115
+ return undefined;
116
+ }
117
+ // An element as it is spelled ON DISK. Uppercase is escaped to
118
+ // `!`+lowercase, Go's rule (go.dev/ref/mod, module proxy protocol) and
119
+ // for Go's reason: `github.com/Alice/Widgets` and
120
+ // `github.com/alice/widgets` are two module identities and, on macOS
121
+ // and Windows, ONE directory -- so without this the second module
122
+ // fetched silently clobbers the first, and an unpinned import resolves
123
+ // to whichever won.
124
+ //
125
+ // The WRITTEN path stays the identity; only the directory is escaped.
126
+ function escapeElem(elem) {
127
+ return elem.replace(/[A-Z]/g, (c) => '!' + c.toLowerCase());
128
+ }
129
+ // The directory a module's files live in, under a store root.
130
+ //
131
+ // Callers must have validated the path (validateModulePath); this
132
+ // function cannot refuse, because it answers a location rather than a
133
+ // question, and every caller has a refusal shape of its own.
134
+ function moduleDir(store, ref) {
135
+ return (0, node_path_1.join)(store, ...ref.path.split('/').map(escapeElem)) + '@' + ref.major;
136
+ }
137
+ // EVERY project root at or above `from`, innermost first — a project
138
+ // root being a directory holding a `mod.aon`. This used to answer with
139
+ // the NEAREST one alone, and the plural is the fix, because a
140
+ // VENDORED MODULE IS A PROJECT INSIDE A PROJECT. A module in
141
+ // `aon_vendor/` carries its own `mod.aon`, which stopped the upward
142
+ // walk there, so a nested import resolved against the vendored
143
+ // module's own directory: a tree with no `aon_vendor/` of its own, and
144
+ // therefore a `module not fetched` for a dependency sitting flat
145
+ // beside it in the CONSUMER's vendor tree — the only layout `mod
146
+ // vendor` produces (use-cases/BUGS.md §31).
147
+ //
148
+ // The consumer's stores are searched after the module's own, so a
149
+ // module that vendors its dependencies nested still wins for its own
150
+ // tree, and one that does not falls through to the consumer that
151
+ // vendored it. The last element is `from` itself when nothing above it
152
+ // declares a module, which is the single-file inline-pin mode.
153
+ function projectRoots(from, fs) {
154
+ const roots = [];
155
+ let dir = from;
156
+ for (;;) {
157
+ if (fs.existsSync((0, node_path_1.join)(dir, 'mod.aon'))) {
158
+ roots.push(dir);
159
+ }
160
+ const up = (0, node_path_1.dirname)(dir);
161
+ if (up === dir) {
162
+ return 0 < roots.length ? roots : [from];
163
+ }
164
+ dir = up;
165
+ }
166
+ }
167
+ // The lockfile's pin for one import, or undefined.
168
+ //
169
+ // `mod-lock.aon` is machine-written CANONICAL Aontu, and canonical
170
+ // Aontu whose leaves are scalars IS JSON — which is why reading it here
171
+ // needs no evaluator, and why a hand-edited lockfile that is no longer
172
+ // canonical simply does not parse. It is generated; the file says so.
173
+ // The lockfile's JSON: its canonical line, with the generated-file
174
+ // header stripped. The file is AONTU, so it may carry `#` comments —
175
+ // and the header `aontu mod tidy` writes says not to edit it, which is
176
+ // worth more than the two lines it costs to skip. Everything below the
177
+ // comments is the canonical map, and canonical Aontu whose leaves are
178
+ // scalars is JSON.
179
+ function lockJson(text) {
180
+ return text
181
+ .split('\n')
182
+ .filter((line) => !line.trimStart().startsWith('#'))
183
+ .join('\n');
184
+ }
185
+ // The user cache: `$XDG_CACHE_HOME/aontu/mod` unless the host names
186
+ // another, else the platform's own cache location. A host with nowhere
187
+ // to put one has no cache, which is a miss rather than a failure. One
188
+ // rule, in one place: the resolver reads this cache during evaluation
189
+ // and `aontu mod` writes into it, and two spellings of "where the cache
190
+ // is" is one bug.
191
+ function modCacheDir() {
192
+ return modCacheDirFor(process.platform, process.env);
193
+ }
194
+ // That rule with the platform and the environment PASSED IN, so the
195
+ // Windows arm can be exercised off Windows — the only way a rule about
196
+ // a platform nobody here runs gets tested at all. The Go port splits
197
+ // the same way (modCacheDirFor, go/aontu.go).
198
+ //
199
+ // THE ORDER IS EXPLICIT BEFORE IMPLICIT, and LOCALAPPDATA is LAST.
200
+ // XDG_CACHE_HOME is the override and wins everywhere, Windows included:
201
+ // a caller who names a cache directory means it. HOME comes next and is
202
+ // also honoured on Windows, where it is not standard but IS set by Git
203
+ // Bash and by most development shells — a user who has one expects
204
+ // their tools to agree about where home is.
205
+ //
206
+ // LOCALAPPDATA is the PLATFORM DEFAULT beneath both, which is the whole
207
+ // addition: Windows sets neither XDG_CACHE_HOME nor HOME by default —
208
+ // it supplies USERPROFILE and LOCALAPPDATA, and LOCALAPPDATA is what a
209
+ // cache directory means there — so a rule that knew only the first two
210
+ // left every Windows user with NO cache. Putting it ABOVE HOME was the
211
+ // first attempt and was wrong: it made an explicitly set HOME
212
+ // unreachable on Windows, which broke the existing fallback test the
213
+ // moment CI ran it. A platform default that overrides what the
214
+ // environment was told is not a default.
215
+ function modCacheDirFor(platform, env) {
216
+ const xdg = env.XDG_CACHE_HOME;
217
+ if ('string' === typeof xdg && '' !== xdg) {
218
+ return (0, node_path_1.join)(xdg, 'aontu', 'mod');
219
+ }
220
+ const home = env.HOME;
221
+ if ('string' === typeof home && '' !== home) {
222
+ return (0, node_path_1.join)(home, '.cache', 'aontu', 'mod');
223
+ }
224
+ if ('win32' === platform) {
225
+ const local = env.LOCALAPPDATA;
226
+ if ('string' === typeof local && '' !== local) {
227
+ return (0, node_path_1.join)(local, 'aontu', 'mod');
228
+ }
229
+ }
230
+ return undefined;
231
+ }
232
+ function lockHash(root, ref, fs) {
233
+ const file = (0, node_path_1.join)(root, 'mod-lock.aon');
234
+ if (!fs.existsSync(file)) {
235
+ return undefined;
236
+ }
237
+ let lock;
238
+ try {
239
+ lock = JSON.parse(lockJson(fs.readFileSync(file, 'utf8')));
240
+ }
241
+ catch {
242
+ return undefined;
243
+ }
244
+ const entry = lock?.lock?.[ref.path + '@' + ref.major];
245
+ return 'string' === typeof entry?.canon ? entry.canon : undefined;
246
+ }
247
+ // How deep module verification may nest before it is refused. A module
248
+ // is verified by EVALUATING it, and that evaluation resolves the
249
+ // module's own imports -- so a vendor tree that leads back to itself
250
+ // (a symlink is enough) would recurse until the host's stack gave out,
251
+ // and a verdict that depends on the host's stack size is exactly what
252
+ // the determinism clause forbids (docs/trust.md, and the same argument
253
+ // unify_cycle rests on). Sixteen is far above any real vendor nesting.
254
+ exports.MODULE_MAX_DEPTH = 16;
255
+ // EVERY code `resolveModule` can refuse with. The list lives HERE,
256
+ // beside the refusals themselves, because the parse layer has to
257
+ // recognise them to turn the throw into a parse-stage nil
258
+ // (ts/src/lang.ts) -- and when that list was written out longhand
259
+ // there, adding a fourth code left it unhandled and the refusal
260
+ // surfaced as `unexpected error` instead of the message it carries.
261
+ // The Go port has no such list (recordModErr takes any code), which is
262
+ // why only this side could drift.
263
+ exports.MODULE_REFUSAL_CODES = new Set([
264
+ 'module_path', 'module_missing', 'module_integrity', 'module_depth',
265
+ ]);
266
+ // A refusal that carries its code to the parse layer, exactly as a
267
+ // denied include does (makeModelResolver's `deny`): the resolver
268
+ // THROWS, so a bare-member module import cannot vanish in the merge and
269
+ // leave a plausible, silently-partial document.
270
+ function refuse(code, message) {
271
+ const err = new Error(message);
272
+ err.code = code;
273
+ throw err;
274
+ }
275
+ // Resolve one module import against the local stores.
276
+ function resolveModule(ref, fromDir, fs, options) {
277
+ // THE PATH IS CHECKED BEFORE ANYTHING IS BUILT FROM IT. This is
278
+ // first because it is a question about the REQUEST, not about the
279
+ // state of the machine: a path that cannot legally be a directory is
280
+ // refused identically whether or not the module is present, and
281
+ // whether or not the depth bound is near.
282
+ const badpath = validateModulePath(ref.path);
283
+ if (undefined !== badpath) {
284
+ refuse('module_path', 'module path: ' + ref.path + '@' + ref.major + ' (' + badpath + ')');
285
+ }
286
+ if (exports.MODULE_MAX_DEPTH <= (options.depth ?? 0)) {
287
+ refuse('module_depth', 'module depth: ' + ref.path + '@' + ref.major +
288
+ ' (verification nested past ' + exports.MODULE_MAX_DEPTH + ')');
289
+ }
290
+ // EVERY enclosing project, innermost first (see projectRoots): a
291
+ // vendored module is a project inside a project, and its nested
292
+ // imports have to reach the tree the consumer vendored them into.
293
+ const roots = projectRoots(fromDir, fs);
294
+ // The PIN comes from the first lockfile that names this import. A
295
+ // vendored module usually ships none, so that is the consumer's --
296
+ // which is right: the consumer's lock is what its build is pinned to.
297
+ const expect = ref.hash ??
298
+ roots.map((r) => lockHash(r, ref, fs)).find((h) => null != h);
299
+ const stores = roots.map((r) => moduleDir((0, node_path_1.join)(r, 'aon_vendor'), ref));
300
+ if (null != options.cache && null != expect) {
301
+ // Content-addressed: the cache is keyed by the hash, so a cache hit
302
+ // is already the right MEANING before anything is read from it.
303
+ stores.push((0, node_path_1.join)(options.cache, expect));
304
+ }
305
+ const dir = stores.find((d) => fs.existsSync((0, node_path_1.join)(d, 'mod.aon')));
306
+ if (undefined === dir) {
307
+ // The wording is the contract (docs/capability-review/
308
+ // g6-distribution.md): it names the module AND the step that fixes
309
+ // it, because an agent reading this error is the audience.
310
+ refuse('module_missing', 'module not fetched: ' + ref.path + '@' + ref.major +
311
+ ' (run: aontu mod get)');
312
+ }
313
+ // The module's own `mod.aon` names its entry file. Read with the
314
+ // evaluator rather than a regexp: a module file is ordinary Aontu,
315
+ // and the language reading its own metadata is the point.
316
+ const main = moduleMain((0, node_path_1.join)(dir, 'mod.aon'), fs, options);
317
+ const full = (0, node_path_1.join)(dir, main);
318
+ if (!fs.existsSync(full)) {
319
+ refuse('module_missing', 'module not fetched: ' + ref.path + '@' + ref.major +
320
+ ' (run: aontu mod get)');
321
+ }
322
+ const src = fs.readFileSync(full, 'utf8');
323
+ if (null != expect) {
324
+ // VERIFICATION IS ALWAYS LOCAL. The registry's annotation is
325
+ // advisory; what decides is the hash of the module as it is on this
326
+ // machine, recomputed now.
327
+ const got = options.eval(src, full).hash;
328
+ if (got !== expect) {
329
+ refuse('module_integrity', 'module integrity: ' + ref.path + '@' + ref.major +
330
+ ' expected ' + expect + ' got ' + got);
331
+ }
332
+ }
333
+ return { full, src };
334
+ }
335
+ // The `mod.main` a module file declares, or the default entry name.
336
+ // The module file is ORDINARY AONTU, read by the language itself — the
337
+ // toolchain dogfooding its own evaluator rather than pattern-matching
338
+ // its own syntax with a regexp.
339
+ function moduleMain(file, fs, options) {
340
+ const gen = options.eval(fs.readFileSync(file, 'utf8'), file).gen;
341
+ const main = gen?.mod?.main;
342
+ return 'string' === typeof main && '' !== main ? main : DEFAULT_MAIN;
343
+ }
344
+ const DEFAULT_MAIN = 'main.aon';
345
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { TrustOptions } from './type';
2
+ import type { VetFinding, VetVerdict } from './vet';
3
+ import type { WhyConjunct } from './provenance';
4
+ export type PatchOptions = {
5
+ entryPath?: string;
6
+ overlayPath?: string;
7
+ inPlace?: boolean;
8
+ trust?: TrustOptions;
9
+ };
10
+ export type PatchReplacement = {
11
+ col: number;
12
+ file: string;
13
+ from: string;
14
+ path: string;
15
+ row: number;
16
+ to: string;
17
+ };
18
+ export type PatchReport = {
19
+ overlay: string;
20
+ appended: string[];
21
+ replaced: PatchReplacement[];
22
+ verdict: VetVerdict;
23
+ findings: VetFinding[];
24
+ };
25
+ export declare function parseAssignment(text: string): {
26
+ path: string;
27
+ value: string;
28
+ } | undefined;
29
+ export declare function overlayLine(path: string, value: string): string;
30
+ export declare function offsetAt(src: string, row: number, col: number): number;
31
+ export declare function spanAt(src: string, site: {
32
+ row: number;
33
+ col: number;
34
+ len: number;
35
+ }): string | undefined;
36
+ export declare function spanHolds(src: string, site: {
37
+ row: number;
38
+ col: number;
39
+ len: number;
40
+ }, expect: string): boolean;
41
+ export declare function verifiedSite(overlaySrc: string, path: string, one: WhyConjunct): {
42
+ site: PatchReplacement | undefined;
43
+ finding: VetFinding | undefined;
44
+ };
45
+ export declare function spanValue(src: string): {
46
+ canon: string;
47
+ concrete: boolean;
48
+ } | undefined;
49
+ export declare function patch(entrySrc: string, overlaySrc: string, assignments: string[], opts?: PatchOptions): PatchReport;