aontu 0.63.0 → 0.65.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 (101) hide show
  1. package/README.md +8 -8
  2. package/dist/agentsmd.js +3 -3
  3. package/dist/agentsmd.js.map +1 -1
  4. package/dist/aontu.d.ts +3 -3
  5. package/dist/aontu.js +4 -6
  6. package/dist/aontu.js.map +1 -1
  7. package/dist/aontumodel.js +6 -12
  8. package/dist/aontumodel.js.map +1 -1
  9. package/dist/casing.d.ts +5 -0
  10. package/dist/casing.js +90 -0
  11. package/dist/casing.js.map +1 -0
  12. package/dist/cli.d.ts +16 -3
  13. package/dist/cli.js +653 -455
  14. package/dist/cli.js.map +1 -1
  15. package/dist/compat.d.ts +7 -0
  16. package/dist/compat.js +113 -0
  17. package/dist/compat.js.map +1 -0
  18. package/dist/helpdoc.js +5 -5
  19. package/dist/helpdoc.js.map +1 -1
  20. package/dist/hints.js +14 -5
  21. package/dist/hints.js.map +1 -1
  22. package/dist/lang.d.ts +1 -0
  23. package/dist/lang.js +8 -0
  24. package/dist/lang.js.map +1 -1
  25. package/dist/lsp.d.ts +1 -1
  26. package/dist/mcp.js +0 -36
  27. package/dist/mcp.js.map +1 -1
  28. package/dist/mod.d.ts +18 -3
  29. package/dist/mod.js +117 -46
  30. package/dist/mod.js.map +1 -1
  31. package/dist/pkg-net.d.ts +227 -0
  32. package/dist/pkg-net.js +1598 -0
  33. package/dist/pkg-net.js.map +1 -0
  34. package/dist/pkg-zip.d.ts +8 -0
  35. package/dist/pkg-zip.js +196 -0
  36. package/dist/pkg-zip.js.map +1 -0
  37. package/dist/pkg.d.ts +159 -0
  38. package/dist/pkg.js +767 -0
  39. package/dist/pkg.js.map +1 -0
  40. package/dist/profile.d.ts +9 -0
  41. package/dist/profile.js +28 -0
  42. package/dist/profile.js.map +1 -0
  43. package/dist/report-sarif.js +1 -1
  44. package/dist/report-sarif.js.map +1 -1
  45. package/dist/subsume.d.ts +3 -1
  46. package/dist/subsume.js +2 -0
  47. package/dist/subsume.js.map +1 -1
  48. package/dist/trace.d.ts +21 -0
  49. package/dist/trace.js +107 -0
  50. package/dist/trace.js.map +1 -0
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/dist/unify.js +1 -6
  53. package/dist/unify.js.map +1 -1
  54. package/dist/val/CmpFuncVal.d.ts +2 -0
  55. package/dist/val/CmpFuncVal.js +47 -13
  56. package/dist/val/CmpFuncVal.js.map +1 -1
  57. package/dist/val/NomFuncVal.js +11 -13
  58. package/dist/val/NomFuncVal.js.map +1 -1
  59. package/dist/val/ReferFuncVal.js +3 -0
  60. package/dist/val/ReferFuncVal.js.map +1 -1
  61. package/package.json +1 -1
  62. package/skill/SKILL.md +3 -3
  63. package/skill/error-codes.md +4 -4
  64. package/skill/examples.md +4 -4
  65. package/skill/grammar-card.md +1 -1
  66. package/skill/init/check.sh +2 -2
  67. package/skill/tasks.md +14 -12
  68. package/src/agentsmd.ts +3 -3
  69. package/src/aontu.ts +3 -8
  70. package/src/aontumodel.ts +6 -12
  71. package/src/casing.ts +95 -0
  72. package/src/cli.ts +758 -495
  73. package/src/compat.ts +148 -0
  74. package/src/helpdoc.ts +5 -5
  75. package/src/hints.ts +14 -7
  76. package/src/lang.ts +9 -1
  77. package/src/mcp.ts +0 -39
  78. package/src/mod.ts +142 -51
  79. package/src/pkg-net.ts +1945 -0
  80. package/src/pkg-zip.ts +228 -0
  81. package/src/pkg.ts +1018 -0
  82. package/src/profile.ts +42 -0
  83. package/src/report-sarif.ts +1 -1
  84. package/src/subsume.ts +2 -2
  85. package/src/trace.ts +157 -0
  86. package/src/unify.ts +1 -6
  87. package/src/val/CmpFuncVal.ts +66 -20
  88. package/src/val/NomFuncVal.ts +3 -5
  89. package/src/val/ReferFuncVal.ts +4 -0
  90. package/dist/lower.d.ts +0 -23
  91. package/dist/lower.js +0 -528
  92. package/dist/lower.js.map +0 -1
  93. package/dist/mod-tool.d.ts +0 -58
  94. package/dist/mod-tool.js +0 -403
  95. package/dist/mod-tool.js.map +0 -1
  96. package/dist/render.d.ts +0 -53
  97. package/dist/render.js +0 -432
  98. package/dist/render.js.map +0 -1
  99. package/src/lower.ts +0 -586
  100. package/src/mod-tool.ts +0 -561
  101. package/src/render.ts +0 -580
package/dist/mod-tool.js DELETED
@@ -1,403 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2025 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.MODULE_ANNOTATION_MAJOR = exports.MODULE_ANNOTATION_CANON = exports.MODULE_CONFIG_MEDIA_TYPE = void 0;
5
- exports.versionCompare = versionCompare;
6
- exports.lockText = lockText;
7
- exports.modTidy = modTidy;
8
- exports.modVerify = modVerify;
9
- exports.modVendor = modVendor;
10
- exports.modManifest = modManifest;
11
- const node_fs_1 = require("node:fs");
12
- const node_path_1 = require("node:path");
13
- const mod_1 = require("./mod");
14
- const subsume_1 = require("./subsume");
15
- // The `dep` block a module file declares: import string -> version.
16
- function declaredDeps(file, options) {
17
- if (!(0, node_fs_1.existsSync)(file)) {
18
- return {};
19
- }
20
- const gen = options.eval((0, node_fs_1.readFileSync)(file, 'utf8'), file).gen;
21
- const dep = gen?.dep;
22
- if (null == dep || 'object' !== typeof dep) {
23
- return {};
24
- }
25
- const out = {};
26
- for (const key of Object.keys(dep)) {
27
- const v = dep[key]?.v;
28
- if ('string' === typeof v && '' !== v) {
29
- out[key] = v;
30
- }
31
- }
32
- return out;
33
- }
34
- function versionCompare(a, b) {
35
- const ap = a.split('.');
36
- const bp = b.split('.');
37
- for (let i = 0; i < Math.max(ap.length, bp.length); i++) {
38
- // A part the shorter version does not have is ZERO, so `1.2` and
39
- // `1.2.0` are the same version -- which is what everyone means by
40
- // them, and what a lockfile rewritten from either must agree on.
41
- const x = ap[i] ?? '0';
42
- const y = bp[i] ?? '0';
43
- if (x === y) {
44
- continue;
45
- }
46
- const xn = /^\d+$/.test(x);
47
- const yn = /^\d+$/.test(y);
48
- if (xn && yn) {
49
- return +x < +y ? -1 : 1;
50
- }
51
- if (xn !== yn) {
52
- return xn ? -1 : 1;
53
- }
54
- return x < y ? -1 : 1;
55
- }
56
- return 0;
57
- }
58
- function usableRef(mod) {
59
- const ref = (0, mod_1.parseModuleRef)(mod);
60
- if (undefined === ref || undefined !== (0, mod_1.validateModulePath)(ref.path)) {
61
- return undefined;
62
- }
63
- return ref;
64
- }
65
- // The directory a module is in, in the local stores: the project's
66
- // vendor tree first, then the cache under the hash the lockfile pins.
67
- function storeDir(root, ref, hash, options) {
68
- const stores = [(0, mod_1.moduleDir)((0, node_path_1.join)(root, 'aontu_meta', 'vendor'), ref)];
69
- if (null != options.cache && '' !== hash) {
70
- stores.push((0, node_path_1.join)(options.cache, hash));
71
- }
72
- return stores.find((d) => (0, node_fs_1.existsSync)((0, node_path_1.join)(d, 'mod.aon')));
73
- }
74
- // The lockfile's entries, as written.
75
- function readLock(root) {
76
- const file = (0, node_path_1.join)(root, 'aontu_meta', 'mod-lock.aon');
77
- if (!(0, node_fs_1.existsSync)(file)) {
78
- return {};
79
- }
80
- let lock;
81
- try {
82
- lock = JSON.parse((0, mod_1.lockJson)((0, node_fs_1.readFileSync)(file, 'utf8')));
83
- }
84
- catch {
85
- return {};
86
- }
87
- const out = {};
88
- for (const mod of Object.keys(lock?.lock ?? {})) {
89
- const e = lock.lock[mod];
90
- out[mod] = {
91
- mod,
92
- v: 'string' === typeof e?.v ? e.v : '',
93
- canon: 'string' === typeof e?.canon ? e.canon : '',
94
- oci: 'string' === typeof e?.oci ? e.oci : '',
95
- };
96
- }
97
- return out;
98
- }
99
- function lockText(entries, options) {
100
- const parts = entries.map((e) => JSON.stringify(e.mod) + ':{' +
101
- '"canon":' + JSON.stringify(e.canon) + ',' +
102
- '"oci":' + JSON.stringify(e.oci) + ',' +
103
- '"v":' + JSON.stringify(e.v) + '}');
104
- return options.eval('{"lock":{' + parts.join(',') + '}}', 'mod-lock.aon').canon;
105
- }
106
- // `aontu mod tidy`: resolve the closure by MVS and rewrite the lockfile.
107
- function modTidy(root, options) {
108
- const previous = readLock(root);
109
- const selected = {};
110
- const missing = [];
111
- let frontier = declaredDeps((0, node_path_1.join)(root, 'mod.aon'), options);
112
- for (; 0 < Object.keys(frontier).length;) {
113
- const next = {};
114
- for (const mod of Object.keys(frontier)) {
115
- const want = frontier[mod];
116
- const have = selected[mod];
117
- if (null != have && 0 <= versionCompare(have, want)) {
118
- continue;
119
- }
120
- selected[mod] = want;
121
- const ref = usableRef(mod);
122
- if (undefined === ref) {
123
- // A dependency key this tooling cannot act on names nothing
124
- // this resolver can find, which is the same answer as a module
125
- // that is not there (see usableRef).
126
- missing.push(mod);
127
- continue;
128
- }
129
- const dir = storeDir(root, ref, previous[mod]?.canon ?? '', options);
130
- if (undefined === dir) {
131
- missing.push(mod);
132
- continue;
133
- }
134
- const deps = declaredDeps((0, node_path_1.join)(dir, 'mod.aon'), options);
135
- for (const key of Object.keys(deps)) {
136
- const bid = next[key];
137
- if (null == bid || 0 > versionCompare(bid, deps[key])) {
138
- next[key] = deps[key];
139
- }
140
- }
141
- }
142
- frontier = next;
143
- }
144
- const lock = [];
145
- const unevaluable = [];
146
- for (const mod of Object.keys(selected).sort()) {
147
- if (missing.includes(mod)) {
148
- continue;
149
- }
150
- const ref = usableRef(mod);
151
- const dir = storeDir(root, ref, previous[mod]?.canon ?? '', options);
152
- const main = (0, node_path_1.join)(dir, mainOf(dir, options));
153
- const got = (0, node_fs_1.existsSync)(main) ?
154
- options.eval((0, node_fs_1.readFileSync)(main, 'utf8'), main) : undefined;
155
- if (null != got && !got.ok) {
156
- unevaluable.push(mod);
157
- continue;
158
- }
159
- lock.push({
160
- mod,
161
- v: selected[mod],
162
- canon: null == got ? '' : got.hash,
163
- // Carried over: the OCI digest is the registry's word about the
164
- // bytes it served, and nothing local can hear it.
165
- oci: previous[mod]?.oci ?? '',
166
- });
167
- }
168
- const uniqueMissing = [...new Set(missing)].sort();
169
- const uniqueUnevaluable = [...new Set(unevaluable)].sort();
170
- const held = 0 === uniqueMissing.length && 0 === uniqueUnevaluable.length;
171
- if (held) {
172
- (0, node_fs_1.mkdirSync)((0, node_path_1.join)(root, 'aontu_meta'), { recursive: true });
173
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(root, 'aontu_meta', 'mod-lock.aon'), LOCK_HEADER + lockText(lock, options) + '\n');
174
- }
175
- return {
176
- verdict: held ? 'ok' :
177
- 0 < uniqueUnevaluable.length ? 'error' : 'missing',
178
- lock,
179
- missing: uniqueMissing,
180
- unevaluable: uniqueUnevaluable,
181
- };
182
- }
183
- // The generated-file header. A lockfile is machine-written, and the
184
- // file says so where an editor will see it.
185
- const LOCK_HEADER = '# mod-lock.aon (generated by `aontu mod tidy`; do not edit)\n';
186
- // The entry file a module declares, or the default. `dir` is always a
187
- // STORE directory, and `storeDir` only answers one that holds a
188
- // `mod.aon` -- so there is no missing-file arm to take here.
189
- function mainOf(dir, options) {
190
- const file = (0, node_path_1.join)(dir, 'mod.aon');
191
- const gen = options.eval((0, node_fs_1.readFileSync)(file, 'utf8'), file).gen;
192
- const main = gen?.mod?.main;
193
- return 'string' === typeof main && '' !== main ? main : 'main.aon';
194
- }
195
- function modVerify(root, options) {
196
- const locked = readLock(root);
197
- const verified = [];
198
- const mismatched = [];
199
- const missing = [];
200
- const declared = declaredDeps((0, node_path_1.join)(root, 'mod.aon'), options);
201
- const unlocked = Object.keys(declared)
202
- .filter((mod) => null == locked[mod]).sort();
203
- for (const mod of Object.keys(locked).sort()) {
204
- const ref = usableRef(mod);
205
- if (undefined === ref) {
206
- missing.push(mod);
207
- continue;
208
- }
209
- const dir = storeDir(root, ref, locked[mod].canon, options);
210
- if (undefined === dir) {
211
- missing.push(mod);
212
- continue;
213
- }
214
- const main = (0, node_path_1.join)(dir, mainOf(dir, options));
215
- if (!(0, node_fs_1.existsSync)(main)) {
216
- missing.push(mod);
217
- continue;
218
- }
219
- const got = options.eval((0, node_fs_1.readFileSync)(main, 'utf8'), main);
220
- const want = locked[mod].canon;
221
- if (got.ok && want === got.hash) {
222
- verified.push(mod);
223
- continue;
224
- }
225
- mismatched.push({ mod, want, got: got.ok ? got.hash : '' });
226
- }
227
- return {
228
- verdict: 0 < mismatched.length ? 'mismatch' :
229
- 0 < unlocked.length ? 'unlocked' :
230
- 0 < missing.length ? 'missing' : 'ok',
231
- verified,
232
- mismatched,
233
- unlocked,
234
- missing: missing.sort(),
235
- };
236
- }
237
- // `aontu mod vendor`: materialise the locked closure into `aontu_meta/vendor/`.
238
- function modVendor(root, options) {
239
- const locked = readLock(root);
240
- const vendored = [];
241
- const missing = [];
242
- const vendorRoot = (0, node_path_1.join)(root, 'aontu_meta', 'vendor');
243
- for (const mod of Object.keys(locked).sort()) {
244
- const ref = usableRef(mod);
245
- if (undefined === ref) {
246
- missing.push(mod);
247
- continue;
248
- }
249
- const from = storeDir(root, ref, locked[mod].canon, options);
250
- if (undefined === from) {
251
- missing.push(mod);
252
- continue;
253
- }
254
- const to = (0, mod_1.moduleDir)(vendorRoot, ref);
255
- if (from !== to) {
256
- copyTree(from, to);
257
- }
258
- vendored.push(mod);
259
- }
260
- return {
261
- verdict: 0 === missing.length ? 'ok' : 'missing',
262
- vendored,
263
- missing: missing.sort(),
264
- };
265
- }
266
- // A whole module directory, copied. Modules are source trees — that is
267
- // what an OCI layer holds — so this walks rather than reading one file.
268
- function copyTree(from, to) {
269
- (0, node_fs_1.mkdirSync)(to, { recursive: true });
270
- for (const name of (0, node_fs_1.readdirSync)(from).sort()) {
271
- const src = (0, node_path_1.join)(from, name);
272
- const dst = (0, node_path_1.join)(to, name);
273
- if ((0, node_fs_1.statSync)(src).isDirectory()) {
274
- copyTree(src, dst);
275
- }
276
- else {
277
- (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(dst), { recursive: true });
278
- (0, node_fs_1.copyFileSync)(src, dst);
279
- }
280
- }
281
- }
282
- // The config media type the design fixes: an Aontu module is not an
283
- // image, and the type is what tells a registry so.
284
- exports.MODULE_CONFIG_MEDIA_TYPE = 'application/vnd.aontu.module.v1+json';
285
- exports.MODULE_ANNOTATION_CANON = 'com.github.rjrodger.aontu.canon';
286
- exports.MODULE_ANNOTATION_MAJOR = 'com.github.rjrodger.aontu.major';
287
- function modSelf(dir, options) {
288
- const file = (0, node_path_1.join)(dir, 'mod.aon');
289
- if (!(0, node_fs_1.existsSync)(file)) {
290
- return { path: '', version: '', main: 'main.aon' };
291
- }
292
- const gen = options.eval((0, node_fs_1.readFileSync)(file, 'utf8'), file).gen;
293
- const mod = gen?.mod;
294
- const str = (k) => 'string' === typeof mod?.[k] ? mod[k] : '';
295
- return {
296
- path: str('path'),
297
- version: str('version'),
298
- main: '' === str('main') ? 'main.aon' : str('main'),
299
- };
300
- }
301
- function majorOf(version) {
302
- const m = /^(\d+)/.exec(version);
303
- return null == m ? '' : m[1];
304
- }
305
- function layerFiles(dir, prefix = '') {
306
- const out = [];
307
- for (const name of (0, node_fs_1.readdirSync)(dir).sort()) {
308
- if ('aontu_meta' === name) {
309
- continue;
310
- }
311
- const full = (0, node_path_1.join)(dir, name);
312
- const rel = '' === prefix ? name : prefix + '/' + name;
313
- if ((0, node_fs_1.statSync)(full).isDirectory()) {
314
- out.push(...layerFiles(full, rel));
315
- }
316
- else {
317
- out.push(rel);
318
- }
319
- }
320
- return out;
321
- }
322
- // `aontu mod manifest`: the OCI artifact description a publish would
323
- // push, and the gate that decides whether it may be.
324
- function modManifest(root, options, against) {
325
- const self = modSelf(root, options);
326
- const major = majorOf(self.version);
327
- const missing = [];
328
- if ('' === self.path) {
329
- missing.push('mod.path');
330
- }
331
- if ('' === major) {
332
- missing.push('mod.version');
333
- }
334
- const main = (0, node_path_1.join)(root, self.main);
335
- if (!(0, node_fs_1.existsSync)(main)) {
336
- missing.push(self.main);
337
- }
338
- const mod = '' === self.path || '' === major ?
339
- '' : self.path + '@' + major;
340
- if (0 < missing.length) {
341
- return {
342
- verdict: 'error',
343
- mod,
344
- version: self.version,
345
- canon: '',
346
- config: exports.MODULE_CONFIG_MEDIA_TYPE,
347
- files: [],
348
- annotations: {},
349
- missing: missing.sort(),
350
- findings: [],
351
- };
352
- }
353
- const newSrc = (0, node_fs_1.readFileSync)(main, 'utf8');
354
- const canon = options.eval(newSrc, main).hash;
355
- const report = {
356
- verdict: 'ok',
357
- mod,
358
- version: self.version,
359
- canon,
360
- config: exports.MODULE_CONFIG_MEDIA_TYPE,
361
- files: layerFiles(root),
362
- annotations: {
363
- [exports.MODULE_ANNOTATION_CANON]: canon,
364
- [exports.MODULE_ANNOTATION_MAJOR]: major,
365
- 'org.opencontainers.image.title': self.path,
366
- 'org.opencontainers.image.version': self.version,
367
- },
368
- missing: [],
369
- findings: [],
370
- };
371
- if (null == against) {
372
- return report;
373
- }
374
- // THE PUBLISH-TIME BREAKING GATE. The semantics of "breaking" belong
375
- // wholly to G3 (ts/src/subsume.ts); this is the wiring, at the one
376
- // place versions are minted.
377
- const prior = modSelf(against, options);
378
- const priorMain = (0, node_path_1.join)(against, prior.main);
379
- if (!(0, node_fs_1.existsSync)(priorMain)) {
380
- report.verdict = 'error';
381
- report.missing = [prior.main];
382
- return report;
383
- }
384
- if (majorOf(prior.version) !== major) {
385
- return report;
386
- }
387
- const gate = (0, subsume_1.subsume)(newSrc, (0, node_fs_1.readFileSync)(priorMain, 'utf8'), {
388
- generalUrl: main,
389
- specificUrl: priorMain,
390
- generalPath: main,
391
- specificPath: priorMain,
392
- });
393
- report.findings = gate.findings;
394
- report.verdict = MANIFEST_VERDICT[gate.verdict];
395
- return report;
396
- }
397
- const MANIFEST_VERDICT = {
398
- subsumes: 'ok',
399
- does_not_subsume: 'breaking',
400
- undecided: 'undecided',
401
- error: 'error',
402
- };
403
- //# sourceMappingURL=mod-tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mod-tool.js","sourceRoot":"","sources":["../src/mod-tool.ts"],"names":[],"mappings":"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"}
package/dist/render.d.ts DELETED
@@ -1,53 +0,0 @@
1
- import type { VetFinding } from './vet';
2
- import type { IncludeOptions } from './utility';
3
- export type RenderVerdict = 'ok' | 'lossy' | 'error';
4
- export type RenderUnit = {
5
- path: string;
6
- lang: string;
7
- text: string;
8
- };
9
- export type RenderLoss = {
10
- unit: string;
11
- path: string;
12
- tier: 1 | 2 | 3;
13
- construct: string;
14
- reason: string;
15
- };
16
- export type RenderTrace = {
17
- unit: string;
18
- piece: string;
19
- node: string;
20
- rule: string;
21
- };
22
- export type RenderCoverage = {
23
- read: string[];
24
- dead: string[];
25
- unruled: {
26
- unit: string;
27
- path: string;
28
- }[];
29
- };
30
- export type RenderReport = {
31
- verdict: RenderVerdict;
32
- units: RenderUnit[];
33
- lossy: RenderLoss[];
34
- errors?: VetFinding[];
35
- trace?: RenderTrace[];
36
- coverage?: RenderCoverage;
37
- };
38
- export type RenderOptions = IncludeOptions & {
39
- at?: string;
40
- path?: string;
41
- profiles?: any[];
42
- unit?: string;
43
- strict?: boolean;
44
- trace?: boolean;
45
- coverage?: boolean;
46
- coverageAt?: string;
47
- };
48
- export declare function render(src: string, options?: RenderOptions): RenderReport;
49
- export declare function renderProfile(src: string, options?: RenderOptions): {
50
- profile?: any;
51
- errors?: VetFinding[];
52
- };
53
- export declare function renderValue(instance: any, options?: RenderOptions): RenderReport;