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
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ /* Copyright (c) 2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LineCodec = void 0;
5
+ exports.parseArgs = parseArgs;
6
+ exports.main = main;
7
+ // Aontu MCP server (stdio).
8
+ //
9
+ // aontu-mcp [--root <dir>]
10
+ //
11
+ // Speaks the Model Context Protocol over stdio: newline-delimited
12
+ // JSON-RPC 2.0, one message per line. This binary is intentionally
13
+ // thin — every tool and every protocol decision lives in the reusable
14
+ // library ./mcp, the same three-layer split the language server uses
15
+ // (docs/lsp.md).
16
+ //
17
+ // NDJSON, not the LSP's Content-Length framing: MCP stdio transport
18
+ // is line-delimited, and a server that invented its own framing would
19
+ // not be reachable by any client.
20
+ //
21
+ // The one startup decision is the PATH CAPABILITY: `--root <dir>`
22
+ // grants the served evaluation the CLI's `--trust root:<dir>` posture
23
+ // — includes resolve confined below the root, and every tool's
24
+ // document arguments accept `<name>Path` file alternatives, confined
25
+ // the same way. Without it the server denies all includes and refuses
26
+ // path arguments (./mcp). The root is realpath'd HERE, once, so the
27
+ // confinement prefix the library compares against is the real
28
+ // directory, not a spelling of it.
29
+ const node_fs_1 = require("node:fs");
30
+ const mcp_1 = require("./mcp");
31
+ const aontu_1 = require("./aontu");
32
+ const USAGE = 'aontu-mcp - Aontu MCP server (stdio, NDJSON JSON-RPC)\n' +
33
+ '\n' +
34
+ ' aontu-mcp [--root <dir>]\n' +
35
+ '\n' +
36
+ ' --root <dir> Serve <name>Path file arguments and resolve\n' +
37
+ ' @"..." includes, confined below <dir>\n' +
38
+ ' (realpath-checked). Without it, served evaluation\n' +
39
+ ' denies every include and refuses path arguments.\n';
40
+ function parseArgs(argv) {
41
+ let root;
42
+ for (let i = 0; i < argv.length; i++) {
43
+ const arg = argv[i];
44
+ if ('-h' === arg || '--help' === arg) {
45
+ return { help: true };
46
+ }
47
+ if ('--root' === arg) {
48
+ const dir = argv[++i];
49
+ if (null == dir) {
50
+ return { err: 'aontu-mcp: --root needs a directory' };
51
+ }
52
+ root = dir;
53
+ }
54
+ else {
55
+ return { err: `aontu-mcp: unknown option ${arg} (try --help)` };
56
+ }
57
+ }
58
+ return { root };
59
+ }
60
+ // A line-oriented JSON-RPC codec: feed it incoming chunks, and it
61
+ // splits lines, dispatches them, and writes replies. Kept
62
+ // transport-injectable (write/onExit) so the wiring is unit-testable
63
+ // without real stdio, exactly as the LSP's FrameCodec is.
64
+ class LineCodec {
65
+ constructor(write, onExit, version, root) {
66
+ this.write = write;
67
+ this.onExit = onExit;
68
+ this.version = version;
69
+ this.root = root;
70
+ this.buffer = '';
71
+ }
72
+ push(chunk) {
73
+ this.buffer += chunk.toString();
74
+ for (;;) {
75
+ const nl = this.buffer.indexOf('\n');
76
+ if (nl < 0) {
77
+ return;
78
+ }
79
+ const line = this.buffer.slice(0, nl).trim();
80
+ this.buffer = this.buffer.slice(nl + 1);
81
+ if ('' !== line) {
82
+ this.line(line);
83
+ }
84
+ }
85
+ }
86
+ end() {
87
+ this.onExit(0);
88
+ }
89
+ line(line) {
90
+ let msg;
91
+ try {
92
+ msg = JSON.parse(line);
93
+ }
94
+ catch {
95
+ this.send((0, mcp_1.parseError)());
96
+ return;
97
+ }
98
+ const out = (0, mcp_1.handle)(msg, this.version, this.root);
99
+ if (null != out) {
100
+ this.send(out);
101
+ }
102
+ }
103
+ send(out) {
104
+ this.write(JSON.stringify(out) + '\n');
105
+ }
106
+ }
107
+ exports.LineCodec = LineCodec;
108
+ // The streams and exit are injectable (defaulting to real stdio) so
109
+ // the full wiring is unit-testable. Returns undefined when the
110
+ // arguments end the run before a codec exists (--help, a bad option,
111
+ // a --root that is not a directory).
112
+ function main(stdin = process.stdin, write = (line) => void process.stdout.write(line), exit = (code) => process.exit(code), version = aontu_1.VERSION, argv = process.argv.slice(2), errwrite = (line) => void process.stderr.write(line)) {
113
+ const args = parseArgs(argv);
114
+ if (true === args.help) {
115
+ write(USAGE);
116
+ exit(0);
117
+ return undefined;
118
+ }
119
+ if (null != args.err) {
120
+ errwrite(args.err + '\n');
121
+ exit(2);
122
+ return undefined;
123
+ }
124
+ // FAIL FAST on a root that is not a real directory: every later
125
+ // call would refuse anyway, but a misconfigured server that answers
126
+ // a thousand confusing refusals is worse than one that says so at
127
+ // startup.
128
+ let root;
129
+ if (null != args.root) {
130
+ try {
131
+ root = (0, node_fs_1.realpathSync)(args.root);
132
+ if (!(0, node_fs_1.statSync)(root).isDirectory()) {
133
+ throw new Error('not a directory');
134
+ }
135
+ }
136
+ catch {
137
+ errwrite(`aontu-mcp: --root ${args.root} is not a directory\n`);
138
+ exit(2);
139
+ return undefined;
140
+ }
141
+ }
142
+ const codec = new LineCodec(write, exit, version, root);
143
+ stdin.on('data', (chunk) => codec.push(chunk));
144
+ stdin.on('end', () => codec.end());
145
+ return codec;
146
+ } /* node:coverage ignore next 11 */
147
+ //# sourceMappingURL=mcp-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts ADDED
@@ -0,0 +1,42 @@
1
+ import type { TrustOptions } from './type';
2
+ import type { VetFinding } from './vet';
3
+ export declare const MCP_PROTOCOL = "2024-11-05";
4
+ export type McpRequest = {
5
+ id?: number | string | null;
6
+ jsonrpc?: string;
7
+ method?: string;
8
+ params?: any;
9
+ };
10
+ export type McpResponse = {
11
+ error?: {
12
+ code: number;
13
+ message: string;
14
+ };
15
+ id: number | string | null;
16
+ jsonrpc: '2.0';
17
+ result?: any;
18
+ };
19
+ export type ToolDef = {
20
+ name: string;
21
+ description: string;
22
+ properties: Record<string, {
23
+ type: string;
24
+ description: string;
25
+ items?: any;
26
+ }>;
27
+ required: string[];
28
+ docs?: string[];
29
+ check?: (a: any) => string | undefined;
30
+ refuse?: (a: any, finding: VetFinding, trust: TrustOptions, paths: Record<string, string>) => any;
31
+ run: (a: any, trust: TrustOptions, paths: Record<string, string>) => any;
32
+ };
33
+ export declare function servedTrust(root?: string): TrustOptions;
34
+ export declare function confinedParseFailure(src: string, trust: TrustOptions, path?: string): VetFinding | undefined;
35
+ export declare function toolList(root?: string): any[];
36
+ export declare function callTool(name: string, args: any, opts?: {
37
+ root?: string;
38
+ tools?: ToolDef[];
39
+ }): any;
40
+ export declare function serverInstructions(root?: string): string;
41
+ export declare function handle(msg: McpRequest, version: string, root?: string): McpResponse | undefined;
42
+ export declare function parseError(): McpResponse;