aontu 0.72.0 → 0.74.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 (50) hide show
  1. package/README.md +6 -6
  2. package/dist/agentsmd.js +2 -2
  3. package/dist/agentsmd.js.map +1 -1
  4. package/dist/aontu.d.ts +1 -1
  5. package/dist/aontu.js +1 -1
  6. package/dist/cli.js +27 -18
  7. package/dist/cli.js.map +1 -1
  8. package/dist/err.js +1 -1
  9. package/dist/err.js.map +1 -1
  10. package/dist/format.js +14 -16
  11. package/dist/format.js.map +1 -1
  12. package/dist/helpdoc.js +11 -11
  13. package/dist/helpdoc.js.map +1 -1
  14. package/dist/hints.js +6 -6
  15. package/dist/hints.js.map +1 -1
  16. package/dist/lang.js +5 -6
  17. package/dist/lang.js.map +1 -1
  18. package/dist/lsp.d.ts +1 -1
  19. package/dist/mod.d.ts +2 -2
  20. package/dist/mod.js +3 -3
  21. package/dist/mod.js.map +1 -1
  22. package/dist/pkg-net.js +30 -16
  23. package/dist/pkg-net.js.map +1 -1
  24. package/dist/pkg.d.ts +1 -1
  25. package/dist/pkg.js +6 -6
  26. package/dist/pkg.js.map +1 -1
  27. package/dist/view.js +3 -3
  28. package/dist/view.js.map +1 -1
  29. package/grammar/aontu.tmLanguage.json +2 -3
  30. package/package.json +17 -17
  31. package/skill/SKILL.md +7 -7
  32. package/skill/error-codes.md +3 -3
  33. package/skill/examples.md +5 -5
  34. package/skill/grammar-card.md +1 -1
  35. package/skill/init/check.sh +6 -6
  36. package/skill/init/{data.aon → data.aontu} +1 -1
  37. package/skill/init/{model.aon → model.aontu} +1 -1
  38. package/skill/tasks.md +21 -21
  39. package/src/agentsmd.ts +2 -2
  40. package/src/aontu.ts +1 -1
  41. package/src/cli.ts +28 -18
  42. package/src/err.ts +1 -1
  43. package/src/format.ts +16 -16
  44. package/src/helpdoc.ts +11 -11
  45. package/src/hints.ts +6 -6
  46. package/src/lang.ts +5 -6
  47. package/src/mod.ts +3 -3
  48. package/src/pkg-net.ts +32 -16
  49. package/src/pkg.ts +6 -6
  50. package/src/view.ts +4 -4
package/README.md CHANGED
@@ -24,7 +24,7 @@ host: "localhost"
24
24
  ```
25
25
 
26
26
  ```sh
27
- $ aontu service.aon
27
+ $ aontu service.aontu
28
28
  { "host": "localhost", "port": 8080 }
29
29
  ```
30
30
 
@@ -34,11 +34,11 @@ conflict, reported with both sites.
34
34
  ## Validate, query, explain
35
35
 
36
36
  ```sh
37
- aontu vet service.aon deploy.json # does this data satisfy this schema?
38
- aontu model get '$.services.auth' sys.aon # one evaluated slice
39
- aontu model why '$.services.auth.port' sys.aon # what contributed, and where
40
- aontu breaking --against git#main sys.aon # is the new version compatible?
41
- aontu hash sys.aon # a pin over MEANING, not bytes
37
+ aontu vet service.aontu deploy.json # does this data satisfy this schema?
38
+ aontu model get '$.services.auth' sys.aontu # one evaluated slice
39
+ aontu model why '$.services.auth.port' sys.aontu # what contributed, and where
40
+ aontu breaking --against git#main sys.aontu # is the new version compatible?
41
+ aontu hash sys.aontu # a pin over MEANING, not bytes
42
42
  ```
43
43
 
44
44
  `vet` exits by verdict class (0 valid, 1 invalid, 3 incomplete, 4 the
package/dist/agentsmd.js CHANGED
@@ -58,11 +58,11 @@ function agentsMd(src, opts) {
58
58
  'aontu model why ' + example + ' ' + name,
59
59
  '',
60
60
  '# does my document satisfy it?',
61
- 'aontu vet ' + name + ' mine.aon',
61
+ 'aontu vet ' + name + ' mine.aontu',
62
62
  '',
63
63
  '# change it without editing it',
64
64
  'aontu model set ' + example + '=<value> --entry ' + name +
65
- ' --overlay overlay.aon',
65
+ ' --overlay overlay.aontu',
66
66
  '',
67
67
  '# the language itself, offline: the whole grammar on one page',
68
68
  'aontu help language',
@@ -1 +1 @@
1
- {"version":3,"file":"agentsmd.js","sourceRoot":"","sources":["../src/agentsmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentsmd.js","sourceRoot":"","sources":["../src/agentsmd.ts"],"names":[],"mappings":"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"}
package/dist/aontu.d.ts CHANGED
@@ -23,7 +23,7 @@ import { loadProfile } from './profile';
23
23
  import { desugarTemplate, resugarTemplate, markerFor } from './template';
24
24
  import { format, unifiedDiff } from './format';
25
25
  export type { LintFinding, FormatReport, FormatOptions } from './format';
26
- declare const VERSION = "0.72.0";
26
+ declare const VERSION = "0.74.0";
27
27
  declare class Aontu {
28
28
  opts: AontuOptions;
29
29
  lang: Lang;
package/dist/aontu.js CHANGED
@@ -59,7 +59,7 @@ Object.defineProperty(exports, "markerFor", { enumerable: true, get: function ()
59
59
  const format_1 = require("./format");
60
60
  Object.defineProperty(exports, "format", { enumerable: true, get: function () { return format_1.format; } });
61
61
  Object.defineProperty(exports, "unifiedDiff", { enumerable: true, get: function () { return format_1.unifiedDiff; } });
62
- const VERSION = '0.72.0';
62
+ const VERSION = '0.74.0';
63
63
  exports.VERSION = VERSION;
64
64
  function genQuiet(val, aontu) {
65
65
  return val.gen(aontu.ctx({ collect: true }));
package/dist/cli.js CHANGED
@@ -175,7 +175,7 @@ Options:
175
175
 
176
176
  Package verbs (a module is imported; a package is published):
177
177
  sync Make the project correct: resolve by minimum version
178
- selection, fetch what is missing, write aontu_meta/pkg-lock.aon,
178
+ selection, fetch what is missing, write aontu_meta/pkg-lock.aontu,
179
179
  vendor, verify. --frozen refuses to change the lockfile
180
180
  add Take on a dependency the project does not have, then sync;
181
181
  refuses one it has and names get
@@ -196,15 +196,15 @@ Package options:
196
196
  signs the manifest, for the key provider
197
197
  --token <file> publish: the forge's OIDC token, read from a file
198
198
  --base <url> the repository to read from (repeatable; overrides
199
- pkg.aon repo.base)
200
- --write <url> publish: the write path (overrides pkg.aon repo.write)
199
+ pkg.aontu repo.base)
200
+ --write <url> publish: the write path (overrides pkg.aontu repo.write)
201
201
  --against <dir> manifest: a prior version's tree, to gate on
202
202
  --upstream <u> serve: fetch on miss from this repository (repeatable)
203
203
  --listen <a> serve: the address to listen on (default 127.0.0.1:8017)
204
204
 
205
205
  pkg subcommands (the rest of the package operations):
206
206
  tidy Resolve the closure by minimum version selection and
207
- rewrite aontu_meta/pkg-lock.aon in canonical form
207
+ rewrite aontu_meta/pkg-lock.aontu in canonical form
208
208
  verify Check every locked package still is and still means what
209
209
  the lockfile pins, bytes before meaning, and change nothing
210
210
  (the CI gate; tidy rewrites)
@@ -384,7 +384,7 @@ View exit codes: 0 rendered, 1 --check mismatch or lossy under
384
384
  --strict, 2 usage or --max-rows exceeded, 4 the document does not stand
385
385
  up on its own, or a relation, root or path that names nothing.
386
386
 
387
- A template entry file whose extension is not .aon is a GENERATOR: a
387
+ A template entry file whose extension is not .aontu is a GENERATOR: a
388
388
  document in the target's own syntax, whose marker lines carry aontu and
389
389
  whose other lines are output. It is desugared before it is evaluated,
390
390
  and a language the table does not know names its marker with --marker,
@@ -523,7 +523,7 @@ Fmt options:
523
523
  The fmt verb prints one document in the agreed form; with no file it
524
524
  reads standard input. Several files need one of the options above.
525
525
 
526
- A file whose extension is not .aon is a GENERATOR, as it is for
526
+ A file whose extension is not .aontu is a GENERATOR, as it is for
527
527
  template: the aontu its marker lines carry is formatted, the marker
528
528
  stands at the left margin with the aontu indented after it, and every
529
529
  line of output is held on a line of its own. A file with no marker line
@@ -1444,7 +1444,7 @@ function parseBreakingArgs(argv) {
1444
1444
  },
1445
1445
  };
1446
1446
  }
1447
- const INCLUDABLE = /\.(aon|aontu|jsonic|json)$/;
1447
+ const INCLUDABLE = /\.(aontu|jsonic|json)$/;
1448
1448
  function oldVersion(spec, file) {
1449
1449
  if (!spec.startsWith('git#')) {
1450
1450
  try {
@@ -1891,17 +1891,26 @@ function parsePkgArgs(argv, verb, io) {
1891
1891
  }
1892
1892
  return out;
1893
1893
  }
1894
- // A verb that finds the older layout names the current one, once, and
1895
- // reads nothing from it.
1894
+ // A verb that finds an older layout names the current one, once, and
1895
+ // reads nothing from it. `pkg.aon` is the sharper case: a project
1896
+ // carrying it declares nothing to any verb, so `verify` answers over an
1897
+ // empty package and `sync` writes a lock with every pin dropped.
1896
1898
  function nameOldLayout(dir, io) {
1897
- const old = ['aon_vendor', 'mod-lock.aon', 'mod.aon',
1898
- (0, node_path_1.join)(mod_1.META_DIR, 'mod-lock.aon')].filter((f) => (0, node_fs_1.existsSync)((0, node_path_1.join)(dir, f)));
1899
- if (0 < old.length) {
1900
- io.err('aontu: ' + old.join(', ') + ' belong to an older layout: the package ' +
1899
+ const here = (f) => (0, node_fs_1.existsSync)((0, node_path_1.join)(dir, f));
1900
+ const mod = ['aon_vendor', 'mod-lock.aon', 'mod.aon',
1901
+ (0, node_path_1.join)(mod_1.META_DIR, 'mod-lock.aon')].filter(here);
1902
+ const aon = ['pkg.aon', (0, node_path_1.join)(mod_1.META_DIR, 'pkg-lock.aon')].filter(here);
1903
+ if (0 < mod.length) {
1904
+ io.err('aontu: ' + mod.join(', ') + ' belong to an older layout: the package ' +
1901
1905
  'file is ' + mod_1.PKG_FILE + ', the lockfile ' + (0, node_path_1.join)(mod_1.META_DIR, mod_1.LOCK_FILE) +
1902
1906
  ' and the vendor tree ' + (0, node_path_1.join)(mod_1.META_DIR, 'vendor') + '; rename ' +
1903
1907
  mod_1.PKG_FILE + '\'s `mod` block to `pkg`, then run aontu sync\n');
1904
1908
  }
1909
+ if (0 < aon.length) {
1910
+ io.err('aontu: ' + aon.join(', ') + ' carry the withdrawn .aon extension, so ' +
1911
+ 'nothing here declares a package: rename them to ' + mod_1.PKG_FILE + ' and ' +
1912
+ (0, node_path_1.join)(mod_1.META_DIR, mod_1.LOCK_FILE) + ', then run aontu sync\n');
1913
+ }
1905
1914
  }
1906
1915
  function runPkg(argv, servers) {
1907
1916
  const io = servers.io ?? PROCESS_IO;
@@ -2482,7 +2491,7 @@ function runTrace(argv) {
2482
2491
  }
2483
2492
  // A GENERATOR IS AN ENTRY, not a preprocessing step: the file whose
2484
2493
  // provenance is asked for is the one the author edits.
2485
- if (!rest[0].endsWith('.aon')) {
2494
+ if (!rest[0].endsWith('.aontu')) {
2486
2495
  src = (0, template_1.desugarTemplate)(src, marker ??
2487
2496
  (0, template_1.markerFromProfiles)(declared, rest[0]) ?? (0, template_1.markerFor)(rest[0]));
2488
2497
  }
@@ -2670,7 +2679,7 @@ async function runRender(argv) {
2670
2679
  process.stderr.write(`aontu: cannot read ${err.path}: ${err.message}\n`);
2671
2680
  return 2;
2672
2681
  }
2673
- if (!/[.](aon|aontu)$/.test(f)) {
2682
+ if (!/[.]aontu$/.test(f)) {
2674
2683
  const mark = marker ?? (0, template_1.markerFromProfiles)(declared, f) ?? (0, template_1.markerFor)(f);
2675
2684
  if (!(0, template_1.templateOutputs)(src, mark).some((out) => !out)) {
2676
2685
  process.stderr.write(`aontu: ${f} carries no ${mark} marker line, ` +
@@ -4157,7 +4166,7 @@ function runFmt(argv) {
4157
4166
  }
4158
4167
  const mark = fmtMarker(file, src, marker ?? (0, template_1.markerFromProfiles)(declared, file));
4159
4168
  if (false === mark) {
4160
- process.stderr.write(`aontu: ${file} is not aontu source (.aon, .aontu) and carries no ` +
4169
+ process.stderr.write(`aontu: ${file} is not aontu source (.aontu) and carries no ` +
4161
4170
  `${(0, template_1.markerFor)(file)} marker line, so there is no aontu in it to ` +
4162
4171
  'format; --marker names the marker for a language the table ' +
4163
4172
  'does not know, and --profile reads one that declares it\n');
@@ -4171,7 +4180,7 @@ function fmtMarker(file, src, marker) {
4171
4180
  if (undefined !== marker) {
4172
4181
  return marker;
4173
4182
  }
4174
- if (/[.](aon|aontu)$/.test(file)) {
4183
+ if (/[.]aontu$/.test(file)) {
4175
4184
  return undefined;
4176
4185
  }
4177
4186
  const mark = (0, template_1.markerFor)(file);
@@ -4531,7 +4540,7 @@ const KNOWN_VERBS = [
4531
4540
  exports.KNOWN_VERBS = KNOWN_VERBS;
4532
4541
  // looksLikeVerb reports whether an unreadable argument was meant as a
4533
4542
  // verb rather than as a path. A bare word has no separator and no
4534
- // extension; `./help`, `help.aon`, `/tmp/help` and `sub/dir` are paths
4543
+ // extension; `./help`, `help.aontu`, `/tmp/help` and `sub/dir` are paths
4535
4544
  // and keep the file diagnosis. Mirrors go/cmd/aontu/main.go.
4536
4545
  function looksLikeVerb(arg) {
4537
4546
  return '' !== arg &&