aontu 0.67.0 → 0.69.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 (86) hide show
  1. package/dist/alias.d.ts +12 -1
  2. package/dist/alias.js +176 -6
  3. package/dist/alias.js.map +1 -1
  4. package/dist/aliasname.d.ts +19 -0
  5. package/dist/aliasname.js +65 -0
  6. package/dist/aliasname.js.map +1 -0
  7. package/dist/aontu.d.ts +1 -1
  8. package/dist/aontu.js +21 -8
  9. package/dist/aontu.js.map +1 -1
  10. package/dist/aontumodel.js +1 -1
  11. package/dist/aontumodel.js.map +1 -1
  12. package/dist/cli.d.ts +4 -1
  13. package/dist/cli.js +29 -13
  14. package/dist/cli.js.map +1 -1
  15. package/dist/ctx.d.ts +1 -0
  16. package/dist/ctx.js +1 -0
  17. package/dist/ctx.js.map +1 -1
  18. package/dist/err.js +18 -1
  19. package/dist/err.js.map +1 -1
  20. package/dist/format.js +14 -0
  21. package/dist/format.js.map +1 -1
  22. package/dist/helpdoc.js +1 -1
  23. package/dist/helpdoc.js.map +1 -1
  24. package/dist/hints.js +171 -0
  25. package/dist/hints.js.map +1 -1
  26. package/dist/lang.js +325 -38
  27. package/dist/lang.js.map +1 -1
  28. package/dist/lsp.d.ts +10 -4
  29. package/dist/lsp.js +116 -7
  30. package/dist/lsp.js.map +1 -1
  31. package/dist/site.d.ts +9 -0
  32. package/dist/site.js +2 -1
  33. package/dist/site.js.map +1 -1
  34. package/dist/subsume.js +6 -1
  35. package/dist/subsume.js.map +1 -1
  36. package/dist/val/BagVal.d.ts +1 -0
  37. package/dist/val/BagVal.js +3 -0
  38. package/dist/val/BagVal.js.map +1 -1
  39. package/dist/val/EmitFuncVal.js +2 -1
  40. package/dist/val/EmitFuncVal.js.map +1 -1
  41. package/dist/val/FilterFuncVal.js +1 -1
  42. package/dist/val/FilterFuncVal.js.map +1 -1
  43. package/dist/val/FuncBaseVal.d.ts +2 -1
  44. package/dist/val/FuncBaseVal.js +25 -1
  45. package/dist/val/FuncBaseVal.js.map +1 -1
  46. package/dist/val/MapVal.js +10 -4
  47. package/dist/val/MapVal.js.map +1 -1
  48. package/dist/val/MatchFuncVal.js +2 -1
  49. package/dist/val/MatchFuncVal.js.map +1 -1
  50. package/dist/val/NilVal.js +3 -0
  51. package/dist/val/NilVal.js.map +1 -1
  52. package/dist/val/RecurseVal.d.ts +1 -0
  53. package/dist/val/RecurseVal.js +7 -3
  54. package/dist/val/RecurseVal.js.map +1 -1
  55. package/dist/val/RefVal.d.ts +1 -0
  56. package/dist/val/RefVal.js +47 -18
  57. package/dist/val/RefVal.js.map +1 -1
  58. package/dist/vet.d.ts +2 -1
  59. package/dist/vet.js +51 -6
  60. package/dist/vet.js.map +1 -1
  61. package/package.json +1 -1
  62. package/skill/error-codes.md +25 -1
  63. package/src/alias.ts +214 -6
  64. package/src/aliasname.ts +95 -0
  65. package/src/aontu.ts +23 -9
  66. package/src/aontumodel.ts +1 -1
  67. package/src/cli.ts +35 -13
  68. package/src/ctx.ts +4 -1
  69. package/src/err.ts +19 -1
  70. package/src/format.ts +14 -0
  71. package/src/helpdoc.ts +1 -1
  72. package/src/hints.ts +228 -0
  73. package/src/lang.ts +370 -33
  74. package/src/lsp.ts +136 -6
  75. package/src/site.ts +15 -1
  76. package/src/subsume.ts +9 -2
  77. package/src/val/BagVal.ts +4 -0
  78. package/src/val/EmitFuncVal.ts +3 -2
  79. package/src/val/FilterFuncVal.ts +2 -2
  80. package/src/val/FuncBaseVal.ts +30 -1
  81. package/src/val/MapVal.ts +10 -4
  82. package/src/val/MatchFuncVal.ts +3 -2
  83. package/src/val/NilVal.ts +3 -0
  84. package/src/val/RecurseVal.ts +8 -3
  85. package/src/val/RefVal.ts +49 -19
  86. package/src/vet.ts +55 -6
package/dist/alias.d.ts CHANGED
@@ -1,3 +1,14 @@
1
1
  import type { Val } from './type';
2
+ type AliasBinding = {
3
+ name: string;
4
+ row: number;
5
+ col: number;
6
+ decl: string;
7
+ from: string;
8
+ };
9
+ declare function aliasScope(src: string): AliasBinding[];
10
+ declare function aliasErrors(ctx: any, root: Val): void;
11
+ declare function aliasBudget(ctx: any, root: Val): Val | undefined;
2
12
  declare function expandAliases(root: Val, snapmap: Map<string, Val>): void;
3
- export { expandAliases, };
13
+ export { aliasBudget, aliasErrors, aliasScope, expandAliases, };
14
+ export type { AliasBinding, };
package/dist/alias.js CHANGED
@@ -1,9 +1,179 @@
1
1
  "use strict";
2
2
  /* Copyright (c) 2021-2026 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.aliasBudget = aliasBudget;
5
+ exports.aliasErrors = aliasErrors;
6
+ exports.aliasScope = aliasScope;
4
7
  exports.expandAliases = expandAliases;
8
+ const err_1 = require("./err");
5
9
  const keyorder_1 = require("./keyorder");
6
10
  const MapVal_1 = require("./val/MapVal");
11
+ const aliasname_1 = require("./aliasname");
12
+ const ALIAS_DECL_RE = new RegExp('^(' + aliasname_1.ALIAS_NAME + ')[ \\t]*=(?!=)');
13
+ // Whether the head IS a set is aliasSetItems's answer, not the shape's.
14
+ const ALIAS_TAKE_RE = /^(\{[^}]*\})[ \t]*=[ \t]*@[ \t]*"([^"]*)"/;
15
+ // THE NAMES A FILE BINDS, from its TEXT rather than its tree: an editor
16
+ // asks while the document is half-written and would not parse.
17
+ function aliasScope(src) {
18
+ const out = [];
19
+ const lines = src.split('\n');
20
+ for (let li = 0; li < lines.length; li++) {
21
+ const line = lines[li];
22
+ const lead = line.length - line.replace(/^[ \t]+/, '').length;
23
+ const rest = line.substring(lead);
24
+ const decl = line.trim();
25
+ const dm = ALIAS_DECL_RE.exec(rest);
26
+ if (null != dm) {
27
+ out.push({ name: dm[1], row: li + 1, col: lead + 1, decl, from: '' });
28
+ continue;
29
+ }
30
+ const tm = ALIAS_TAKE_RE.exec(rest);
31
+ const binds = null == tm ? undefined : (0, aliasname_1.aliasSetItems)(tm[1]);
32
+ if (null == tm || undefined === binds) {
33
+ continue;
34
+ }
35
+ // The column is each item's own, so a set jumps to the name asked
36
+ // for rather than to the pattern.
37
+ let at = lead;
38
+ for (const b of binds) {
39
+ at = line.indexOf(b.local, at);
40
+ out.push({ name: b.local, row: li + 1, col: at + 1, decl, from: tm[2] });
41
+ at += b.local.length;
42
+ }
43
+ }
44
+ return out;
45
+ }
46
+ // EVERY ALIAS REFERENCE NAMES A DECLARED NAME, whether or not anything
47
+ // reaches it. Resolution is lazy, so a reference inside a template that
48
+ // nothing instantiates is never tried and a misspelling compiles clean.
49
+ // Whether a NAME is declared does not depend on what the tree holds, so
50
+ // it is answered here instead. See docs/design/ALIASES.0.md
51
+ function aliasErrors(ctx, root) {
52
+ if (true !== root.isMap) {
53
+ return;
54
+ }
55
+ const declared = new Set(root.aliasKeys);
56
+ const seen = new Set();
57
+ const visit = (v) => {
58
+ if (null == v || true !== v.isVal || seen.has(v)) {
59
+ return;
60
+ }
61
+ seen.add(v);
62
+ if (true === v.isRef) {
63
+ const key = v.aliasKey;
64
+ if (undefined !== key && !declared.has(key)) {
65
+ ctx.adderr((0, err_1.makeNilErr)(ctx, 'no_path', v, undefined, 'resolve'));
66
+ }
67
+ return;
68
+ }
69
+ if (true === v.isMap) {
70
+ for (const k of Object.keys(v.peg)) {
71
+ visit(v.peg[k]);
72
+ }
73
+ }
74
+ else if (Array.isArray(v.peg)) {
75
+ for (const e of v.peg) {
76
+ visit(e);
77
+ }
78
+ }
79
+ else if (null != v.peg && true === v.peg.isVal) {
80
+ visit(v.peg);
81
+ }
82
+ if ((true === v.isMap || true === v.isList) && null != v.spread.cj) {
83
+ visit(v.spread.cj);
84
+ }
85
+ };
86
+ visit(root);
87
+ } /* node:coverage ignore next 3 */
88
+ // T-1 (ALIASES.0.md sections 7 and 9). Expansion TERMINATES -- no
89
+ // parameters, no recursion, a finite name set -- but a name that names
90
+ // names expands to the product of what they hold. The budget is on
91
+ // EXPANDED SIZE and charged here, ahead of evaluation.
92
+ function aliasBudget(ctx, root) {
93
+ // A DOCUMENT THAT INCLUDES parses to a conjunct, not a map: the
94
+ // deferred terms are where an included file's names arrive, so the
95
+ // budget must see all of them, not only the first.
96
+ const maps = [];
97
+ const gather = (v) => {
98
+ if (true === v?.isMap) {
99
+ maps.push(v);
100
+ }
101
+ else if (true === v?.isConjunct && Array.isArray(v.peg)) {
102
+ for (const t of v.peg) {
103
+ gather(t);
104
+ }
105
+ }
106
+ };
107
+ gather(root);
108
+ if (0 === maps.length) {
109
+ return undefined;
110
+ }
111
+ const decl = {};
112
+ for (const m of maps) {
113
+ for (const k of m.aliasKeys) {
114
+ decl[k] = m.peg[k];
115
+ }
116
+ }
117
+ const limit = ctx.budget.alias;
118
+ const size = new Map();
119
+ const open = new Set();
120
+ let over = undefined;
121
+ // A cycle is refused at resolution, which has not run yet, so a name
122
+ // already open costs nothing here rather than looping.
123
+ const nameSize = (key) => {
124
+ if (size.has(key)) {
125
+ return size.get(key);
126
+ }
127
+ if (open.has(key) || !(key in decl)) {
128
+ return 0;
129
+ }
130
+ open.add(key);
131
+ const n = valSize(decl[key]);
132
+ open.delete(key);
133
+ size.set(key, n);
134
+ return n;
135
+ };
136
+ const valSize = (v) => {
137
+ if (true === v.isRef) {
138
+ const key = v.aliasKey;
139
+ return undefined === key ? 1 : 1 + nameSize(key);
140
+ }
141
+ let n = 1;
142
+ if (true === v.isMap) {
143
+ for (const k of Object.keys(v.peg)) {
144
+ n += valSize(v.peg[k]);
145
+ }
146
+ }
147
+ else if (Array.isArray(v.peg)) {
148
+ for (const e of v.peg) {
149
+ n += valSize(e);
150
+ }
151
+ }
152
+ else if (null != v.peg && true === v.peg.isVal) {
153
+ n += valSize(v.peg);
154
+ }
155
+ if ((true === v.isMap || true === v.isList) && null != v.spread?.cj) {
156
+ n += valSize(v.spread.cj);
157
+ }
158
+ return limit < n ? limit + 1 : n;
159
+ };
160
+ let total = 0;
161
+ for (const m of maps) {
162
+ for (const k of Object.keys(m.peg)) {
163
+ if (!(k in decl)) {
164
+ total += valSize(m.peg[k]);
165
+ if (limit < total) {
166
+ break;
167
+ }
168
+ }
169
+ }
170
+ }
171
+ if (limit < total) {
172
+ over = (0, err_1.makeNilErr)(ctx, 'alias_budget', root, undefined, 'resolve');
173
+ over.details = { budget: '' + limit };
174
+ }
175
+ return over;
176
+ }
7
177
  function expandAliases(root, snapmap) {
8
178
  if (true !== root.isMap) {
9
179
  return;
@@ -15,20 +185,20 @@ function expandAliases(root, snapmap) {
15
185
  }
16
186
  seen.add(v);
17
187
  if (true === v.isRef) {
18
- const name = v.aliasName;
19
- if (undefined === name) {
188
+ const key = v.aliasKey;
189
+ if (undefined === key) {
20
190
  return;
21
191
  }
22
192
  v.expansion = undefined;
23
- if (stack.includes(name)) {
193
+ if (stack.includes(key)) {
24
194
  return;
25
195
  }
26
- const target = snapmap.get((0, MapVal_1.spreadSnapKey)(v)) ?? root.peg[name];
196
+ const target = snapmap.get((0, MapVal_1.spreadSnapKey)(v)) ?? root.peg[key];
27
197
  if (null == target) {
28
198
  return;
29
199
  }
30
200
  v.expansion = target;
31
- visit(target, [...stack, name]);
201
+ visit(target, [...stack, key]);
32
202
  return;
33
203
  }
34
204
  if (true === v.isMap) {
@@ -55,5 +225,5 @@ function expandAliases(root, snapmap) {
55
225
  }
56
226
  };
57
227
  visit(root, []);
58
- } /* node:coverage ignore next 5 */
228
+ } /* node:coverage ignore next 13 */
59
229
  //# sourceMappingURL=alias.js.map
package/dist/alias.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"alias.js","sourceRoot":"","sources":["../src/alias.ts"],"names":[],"mappings":";AAAA,yDAAyD;;QAuEvD,aAAa;AAlEf,yCAAyC;AACzC,yCAA4C;AAG5C,SAAS,aAAa,CAAC,IAAS,EAAE,OAAyB;IACzD,IAAI,IAAI,KAAM,IAAY,CAAC,KAAK,EAAE,CAAC;QACjC,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAO,CAAA;IAE3B,MAAM,KAAK,GAAG,CAAC,CAAM,EAAE,KAAe,EAAQ,EAAE;QAC9C,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAEX,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,GAAuB,CAAC,CAAC,SAAS,CAAA;YAC5C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAM;YACR,CAAC;YACD,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA;YACvB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAM;YACR,CAAC;YACD,MAAM,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,IAAA,sBAAa,EAAC,CAAC,CAAC,CAAC,IAAK,IAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC1D,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAM;YACR,CAAC;YACD,CAAC,CAAC,SAAS,GAAG,MAAM,CAAA;YACpB,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;YAC/B,OAAM;QACR,CAAC;QAED,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YACrB,8DAA8D;YAC9D,6DAA6D;YAC7D,8BAA8B;YAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;iBAC5B,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAC/C,IAAI,CAAC,uBAAY,CAAC,CAAA;YACrB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;aACI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACtB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;aACI,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAC/C,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,CAAC;QAED,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACnE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC,CAAA;IAED,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AACjB,CAAC,CAAC,iCAAiC"}
1
+ {"version":3,"file":"alias.js","sourceRoot":"","sources":["../src/alias.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ declare const ALIAS_NAME = "%[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)*";
2
+ declare const ALIAS_RE: RegExp;
3
+ declare const ALIAS_NAME_RE: RegExp;
4
+ declare const ALIAS_SET: string;
5
+ declare const ALIAS_SHORTHAND_RE: RegExp;
6
+ declare const RESERVED_KEY_PREFIX = "\0aontu_";
7
+ declare const EXPORT_DECL_NAME = "export";
8
+ declare function exportHoldKey(): string;
9
+ declare function isExportHoldKey(val: unknown): boolean;
10
+ type AliasBind = {
11
+ local: string;
12
+ remote: string;
13
+ };
14
+ declare function aliasScopedKey(name: string, url: string): string;
15
+ declare function aliasBareName(key: string): string;
16
+ declare function aliasPathSegment(seg: string): string;
17
+ declare function aliasSetItems(text: string): AliasBind[] | undefined;
18
+ export { ALIAS_NAME, ALIAS_RE, ALIAS_NAME_RE, ALIAS_SET, ALIAS_SHORTHAND_RE, EXPORT_DECL_NAME, RESERVED_KEY_PREFIX, exportHoldKey, isExportHoldKey, aliasScopedKey, aliasBareName, aliasPathSegment, aliasSetItems, };
19
+ export type { AliasBind, };
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ /* Copyright (c) 2026 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.RESERVED_KEY_PREFIX = exports.EXPORT_DECL_NAME = exports.ALIAS_SHORTHAND_RE = exports.ALIAS_SET = exports.ALIAS_NAME_RE = exports.ALIAS_RE = exports.ALIAS_NAME = void 0;
5
+ exports.exportHoldKey = exportHoldKey;
6
+ exports.isExportHoldKey = isExportHoldKey;
7
+ exports.aliasScopedKey = aliasScopedKey;
8
+ exports.aliasBareName = aliasBareName;
9
+ exports.aliasPathSegment = aliasPathSegment;
10
+ exports.aliasSetItems = aliasSetItems;
11
+ // ONE PATTERN FOR THE ALIAS NAME. See docs/design/ALIASES.0.md
12
+ const ALIAS_NAME = '%[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)*';
13
+ exports.ALIAS_NAME = ALIAS_NAME;
14
+ const ALIAS_RE = new RegExp('^' + ALIAS_NAME);
15
+ exports.ALIAS_RE = ALIAS_RE;
16
+ const ALIAS_NAME_RE = new RegExp('^' + ALIAS_NAME + '$');
17
+ exports.ALIAS_NAME_RE = ALIAS_NAME_RE;
18
+ // What `export` takes and a destructure heads with: `{%}` binds none.
19
+ const ALIAS_ITEM = '(' + ALIAS_NAME + ')(?:[ \\t]*:[ \\t]*(' + ALIAS_NAME + '))?';
20
+ const ALIAS_SET = '\\{[ \\t]*(?:%|' + ALIAS_ITEM +
21
+ '(?:[ \\t]*,[ \\t]*' + ALIAS_ITEM + ')*)[ \\t]*\\}';
22
+ exports.ALIAS_SET = ALIAS_SET;
23
+ const ALIAS_SET_RE = new RegExp('^' + ALIAS_SET + '$');
24
+ const ALIAS_ITEMS_RE = new RegExp(ALIAS_ITEM, 'g');
25
+ // THE SHORTHAND: `{ %a %b }` is `{ a: %a, b: %b }`. Names only.
26
+ const ALIAS_SHORTHAND = '\\{\\s*' + ALIAS_NAME +
27
+ '(?:(?:\\s*,\\s*|\\s+)' + ALIAS_NAME + ')*\\s*\\}';
28
+ const ALIAS_SHORTHAND_RE = new RegExp('^' + ALIAS_SHORTHAND);
29
+ exports.ALIAS_SHORTHAND_RE = ALIAS_SHORTHAND_RE;
30
+ // A key carries the url of the file that declared the name.
31
+ const ALIAS_SCOPE = '@';
32
+ // THE ENGINE'S KEY NAMESPACE, refused to a source key.
33
+ const RESERVED_KEY_PREFIX = '\u0000aontu_';
34
+ exports.RESERVED_KEY_PREFIX = RESERVED_KEY_PREFIX;
35
+ // `export(...)` is read as a pair, its value under a key that changes
36
+ // with each declaration, so a field of that name is the document's.
37
+ const EXPORT_DECL_NAME = 'export';
38
+ exports.EXPORT_DECL_NAME = EXPORT_DECL_NAME;
39
+ const EXPORT_HOLD_KEY = RESERVED_KEY_PREFIX + 'export@';
40
+ let EXPORT_SEQ = 0;
41
+ function exportHoldKey() {
42
+ return EXPORT_HOLD_KEY + (++EXPORT_SEQ);
43
+ }
44
+ function isExportHoldKey(val) {
45
+ return 'string' === typeof val && val.startsWith(EXPORT_HOLD_KEY);
46
+ }
47
+ function aliasScopedKey(name, url) {
48
+ return name + ALIAS_SCOPE + url;
49
+ }
50
+ function aliasBareName(key) {
51
+ const at = key.indexOf(ALIAS_SCOPE);
52
+ return -1 === at ? key : key.substring(0, at);
53
+ }
54
+ function aliasPathSegment(seg) {
55
+ const name = aliasBareName(seg);
56
+ return ALIAS_NAME_RE.test(name) ? name : seg;
57
+ }
58
+ // Undefined where the text is not a set; the wildcard answers EMPTY.
59
+ function aliasSetItems(text) {
60
+ if (!ALIAS_SET_RE.test(text)) {
61
+ return undefined;
62
+ }
63
+ return Array.from(text.matchAll(ALIAS_ITEMS_RE), (m) => ({ local: m[1], remote: m[2] ?? m[1] }));
64
+ } /* node:coverage ignore next 22 */
65
+ //# sourceMappingURL=aliasname.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliasname.js","sourceRoot":"","sources":["../src/aliasname.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.67.0";
26
+ declare const VERSION = "0.69.0";
27
27
  declare class Aontu {
28
28
  opts: AontuOptions;
29
29
  lang: Lang;
package/dist/aontu.js CHANGED
@@ -45,6 +45,7 @@ const graph_1 = require("./graph");
45
45
  Object.defineProperty(exports, "graphOf", { enumerable: true, get: function () { return graph_1.graphOf; } });
46
46
  const relation_1 = require("./relation");
47
47
  Object.defineProperty(exports, "relationCheck", { enumerable: true, get: function () { return relation_1.relationCheck; } });
48
+ const alias_1 = require("./alias");
48
49
  const view_1 = require("./view");
49
50
  Object.defineProperty(exports, "view", { enumerable: true, get: function () { return view_1.view; } });
50
51
  Object.defineProperty(exports, "viewSet", { enumerable: true, get: function () { return view_1.viewSet; } });
@@ -58,7 +59,7 @@ Object.defineProperty(exports, "markerFor", { enumerable: true, get: function ()
58
59
  const format_1 = require("./format");
59
60
  Object.defineProperty(exports, "format", { enumerable: true, get: function () { return format_1.format; } });
60
61
  Object.defineProperty(exports, "unifiedDiff", { enumerable: true, get: function () { return format_1.unifiedDiff; } });
61
- const VERSION = '0.67.0';
62
+ const VERSION = '0.69.0';
62
63
  exports.VERSION = VERSION;
63
64
  function genQuiet(val, aontu) {
64
65
  return val.gen(aontu.ctx({ collect: true }));
@@ -150,14 +151,25 @@ class Aontu {
150
151
  errs.push(out);
151
152
  }
152
153
  if (null != pval && 0 === errs.length) {
153
- let uni = new unify_1.Unify(pval, this.lang, ac, src);
154
- errs = uni.err;
155
- // Never nullish: Unify.res starts as the root Val, unite() returns a
156
- // Val on every arm, and its catch-all turns a throwing node into an
157
- // 'internal' NilVal.
158
- out = uni.res;
154
+ // T-1: EXPANDED SIZE IS CHARGED BEFORE EVALUATION, here rather
155
+ // than in generate, because an editor unifies on each keystroke
156
+ // and a document too big to evaluate must be turned away there
157
+ // too.
158
+ const over = (0, alias_1.aliasBudget)(ac, pval);
159
+ if (undefined !== over) {
160
+ out = over;
161
+ errs = [over];
162
+ }
163
+ else {
164
+ let uni = new unify_1.Unify(pval, this.lang, ac, src);
165
+ errs = uni.err;
166
+ // Never nullish: Unify.res starts as the root Val, unite() returns a
167
+ // Val on every arm, and its catch-all turns a throwing node into an
168
+ // 'internal' NilVal.
169
+ out = uni.res;
170
+ out.graph = (0, graph_1.graphOf)(out);
171
+ }
159
172
  out.deps = pval.deps;
160
- out.graph = (0, graph_1.graphOf)(out);
161
173
  out.err = errs;
162
174
  ac.root = out;
163
175
  }
@@ -177,6 +189,7 @@ class Aontu {
177
189
  : 0 < ac.err.length ? undefined
178
190
  : uval.gen(ac);
179
191
  if (!uval.isNil && 0 === ac.err.length) {
192
+ (0, alias_1.aliasErrors)(ac, uval);
180
193
  (0, relation_1.relationErrors)(ac, uval);
181
194
  if (0 < ac.err.length) {
182
195
  out = undefined;
package/dist/aontu.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"aontu.js","sourceRoot":"","sources":["../src/aontu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aontu.js","sourceRoot":"","sources":["../src/aontu.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ exports.AONTU_SCHEME = AONTU_SCHEME;
11
11
  const AONTU_SOURCES = {
12
12
  "aontu:lang/markdown": "# aontu:lang/markdown --- THE MARKDOWN PROFILE. The text profile plus\n# markdown's own two: the HTML comment form, and the template marker\n# its files carry.\n\n@\"aontu:profile\"\n\naontu: Lang: lang: \"markdown\"\naontu: Lang: indent: { unit:\" \" width:2 }\naontu: Lang: comment: block: { open:\"<!--\" close:\"-->\" }\naontu: Lang: template: { marker:\"<!---\" ext: [\"md\" \"markdown\"] }\n",
13
13
  "aontu:lang/text": "# aontu:lang/text --- THE TEXT PROFILE. Indentation and nothing else.\n# Every language without one of its own is read under it.\n\n@\"aontu:profile\"\n\naontu: Lang: { lang:\"text\" indent: { unit:\" \" width:2 } }\n",
14
- "aontu:profile": "# aontu:profile --- THE PROFILE VOCABULARY. A language declared as\n# data: its name, its indentation, its comment forms and the marker its\n# generators carry. `aontu template` and `aontu fmt` read one through\n# --profile. EXPERIMENTAL, versioned by canon-hash later.\n\n%comment = close({ open?:string prefix?:string close?:string })\n\n%profile = close({\n lang: string & length(min(1))\n indent: close({\n unit: *\" \"|string & length(min(1))\n width: *2|integer & min(0) & max(16)\n })\n comment?: close({ line?:%comment block?:%comment doc?:%comment })\n template?: close({\n marker: string & length(min(1))\n close?: string & length(min(1))\n ext?: [&: string & re(\"^[A-Za-z0-9_+-]+$\")]\n })\n})\n\n# Profile names the schema; Lang is where one lands. type() so naming\n# the schema neither generates it nor asks a document to fill it.\naontu: { Profile:type(%profile) Lang:%profile }\n",
14
+ "aontu:profile": "# aontu:profile --- THE PROFILE VOCABULARY. A language declared as\n# data: its name, its indentation, its comment forms and the marker its\n# generators carry. `aontu template` and `aontu fmt` read one through\n# --profile. EXPERIMENTAL, versioned by canon-hash later.\n\n%comment = close({ open?:string prefix?:string close?:string })\n\n%profile = close({\n lang: string & length(min(1))\n indent: close({\n unit: *\" \"|string & length(min(1))\n width: *2|integer & min(0) & max(16)\n })\n comment?: close({ line?:%comment block?:%comment doc?:%comment })\n template?: close({\n marker: string & length(min(1))\n close?: string & length(min(1))\n ext?: [&: string & re(\"^[A-Za-z0-9_+-]+$\")]\n })\n})\n\n# Published: a name crosses only to a document that asks for it.\nexport({ %profile, %comment })\n\n# Profile names the schema; Lang is where one lands. type() so naming\n# the schema neither generates it nor asks a document to fill it.\naontu: { Profile:type(%profile) Lang:%profile }\n",
15
15
  "aontu:system": "# aontu:system --- the SYSTEM VOCABULARY. EXPERIMENTAL until the\n# distribution layer can version it by canon-hash.\n\naontu: System: {\n Port: type({ direction: *in|out|inout protocol?:string })\n\n Component: type({ ports?: { &: $.aontu.System.Port } })\n\n # Written out rather than Component & { kind: service }: a reference\n # to a type()-marked member does not survive the include.\n Service: type({ kind:service ports?: { &: $.aontu.System.Port } })\n\n # A grammar, not re(): the identifier shape is a quantified group\n # holding a quantifier, which re() refuses. hide()n so a schema's\n # grammar does not generate into the document it checks.\n semverPreRelease: hide(\n abnf(\n `pre-release = pre-release-id *( \".\" pre-release-id )\npre-release-id = \"0\" [ *digit alnum-tail ]\n / positive-digit *digit [ alnum-tail ] / alnum-tail\nalnum-tail = non-digit *id-char\nid-char = digit / non-digit\nnon-digit = letter / \"-\"\ndigit = \"0\" / positive-digit\npositive-digit = %x31-39\nletter = %x41-5A / %x61-7A\n`\n )\n )\n semverBuild: hide(\n abnf(\n `build = build-id *( \".\" build-id )\nbuild-id = 1*id-char\nid-char = digit / non-digit\nnon-digit = letter / \"-\"\ndigit = \"0\" / positive-digit\npositive-digit = %x31-39\nletter = %x41-5A / %x61-7A\n`\n )\n )\n\n # major minor patch pre-release build, tail defaulted.\n Semver: type(\n [\n integer & min(0)\n *0|(integer & min(0))\n *0|(integer & min(0))\n *\"\"|parse($.aontu.System.semverPreRelease)\n *\"\"|parse($.aontu.System.semverBuild)\n ] & length(5)\n )\n}\n",
16
16
  "aontu:view": "# aontu:view --- the FIGURE VOCABULARY. EXPERIMENTAL until the\n# distribution layer can version it by canon-hash.\n\naontu: View: Figure: type({\n kind: doc|lattice|tree|matrix|graph|layer|sets|layers\n | ladder\n out: string\n\n # Every kind.\n as?: text|mermaid|dot|er|svg\n at?: string\n maxRows?: integer & min(0)\n\n # doc.\n depth?: integer & min(0)\n\n # tree, matrix, layer, graph.\n relation?: string\n relations?: [&: string]\n roots?: [&: string]\n\n # matrix.\n order?: canon|partition\n closure?: boolean\n\n # graph, layer.\n groupBy?: string\n label?: string\n layers?: [&: string]\n edges?: upward|all|none\n\n # sets, layers.\n sets?: string\n member?: string\n universe?: string\n minDegree?: integer & min(0)\n maxCols?: integer & min(0)\n minSize?: integer & min(0)\n})\n"
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"aontumodel.js","sourceRoot":"","sources":["../src/aontumodel.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,iEAAiE;AACjE,uCAAuC;AACvC,iEAAiE;AACjE,MAAM;AAEN,MAAM,YAAY,GAAG,QAAQ,CAAA;QAkBpB,YAAY;AAhBrB,MAAM,aAAa,GAA2B;IAC5C,qBAAqB,EAAE,+YAA+Y;IACta,iBAAiB,EAAE,2NAA2N;IAC9O,eAAe,EAAE,u5BAAu5B;IACx6B,cAAc,EAAE,0kDAA0kD;IAC1lD,YAAY,EAAE,wzBAAwzB;CACv0B,CAAA;QAUsB,aAAa;AARpC,MAAM,YAAY,GAAa;IAC7B,qBAAqB;IACrB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,YAAY;CACb,CAAA;QAEqC,YAAY"}
1
+ {"version":3,"file":"aontumodel.js","sourceRoot":"","sources":["../src/aontumodel.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,iEAAiE;AACjE,uCAAuC;AACvC,iEAAiE;AACjE,MAAM;AAEN,MAAM,YAAY,GAAG,QAAQ,CAAA;QAkBpB,YAAY;AAhBrB,MAAM,aAAa,GAA2B;IAC5C,qBAAqB,EAAE,+YAA+Y;IACta,iBAAiB,EAAE,2NAA2N;IAC9O,eAAe,EAAE,2/BAA2/B;IAC5gC,cAAc,EAAE,0kDAA0kD;IAC1lD,YAAY,EAAE,wzBAAwzB;CACv0B,CAAA;QAUsB,aAAa;AARpC,MAAM,YAAY,GAAa;IAC7B,qBAAqB;IACrB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,YAAY;CACb,CAAA;QAEqC,YAAY"}
package/dist/cli.d.ts CHANGED
@@ -76,10 +76,13 @@ type Servers = {
76
76
  };
77
77
  declare function serveUntilInterrupted(): Promise<void>;
78
78
  declare function runHelp(argv: string[]): number;
79
+ declare function canonExplainCode(code: string): string;
80
+ declare function explainBody(hint: string): string;
81
+ declare function noTextMark(hint: string): string;
79
82
  declare function runExplain(argv: string[]): number;
80
83
  declare function runInit(argv: string[]): number;
81
84
  declare const KNOWN_VERBS: string[];
82
85
  declare function looksLikeVerb(arg: string): boolean;
83
86
  declare function nearestVerb(word: string, verbs: string[]): string;
84
87
  declare function main(argv: string[], servers?: Servers): void;
85
- export { evalSource, main, runVet, runSubsume, runBreaking, runTrim, runRelations, runReaches, runView, runJsonSchema, runTemplate, runTrace, runRender, renderSkipped, runPkg, runModel, runPackageVerb, pkgToolOptions, serveUntilInterrupted, runHash, runGet, runHelp, runExplain, runInit, nearestVerb, looksLikeVerb, KNOWN_VERBS, runWhy, renderWhyText, runSet, runAllow, runAgentsMd, runFmt, watchChange, watchSignature, vetWaiter, deprecatedAt, };
88
+ export { evalSource, main, runVet, runSubsume, runBreaking, runTrim, runRelations, runReaches, runView, runJsonSchema, runTemplate, runTrace, runRender, renderSkipped, runPkg, runModel, runPackageVerb, pkgToolOptions, serveUntilInterrupted, runHash, runGet, runHelp, runExplain, runInit, nearestVerb, explainBody, noTextMark, canonExplainCode, looksLikeVerb, KNOWN_VERBS, runWhy, renderWhyText, runSet, runAllow, runAgentsMd, runFmt, watchChange, watchSignature, vetWaiter, deprecatedAt, };
package/dist/cli.js CHANGED
@@ -28,6 +28,9 @@ exports.runHelp = runHelp;
28
28
  exports.runExplain = runExplain;
29
29
  exports.runInit = runInit;
30
30
  exports.nearestVerb = nearestVerb;
31
+ exports.explainBody = explainBody;
32
+ exports.noTextMark = noTextMark;
33
+ exports.canonExplainCode = canonExplainCode;
31
34
  exports.looksLikeVerb = looksLikeVerb;
32
35
  exports.runWhy = runWhy;
33
36
  exports.renderWhyText = renderWhyText;
@@ -4346,6 +4349,14 @@ function runHelp(argv) {
4346
4349
  // exported; a code that extends one is registered through its prefix
4347
4350
  // and carries that prefix's hint.
4348
4351
  const EXPLAIN_PREFIXES = ['func:', 'op:', 'op[', 'var[', 'ref['];
4352
+ // A report prints the namespaced spelling in its brackets, which is the
4353
+ // span a reader copies. The answer names the registered one.
4354
+ const EXPLAIN_NAMESPACE = 'aontu/';
4355
+ function canonExplainCode(code) {
4356
+ return code.startsWith(EXPLAIN_NAMESPACE)
4357
+ ? code.slice(EXPLAIN_NAMESPACE.length)
4358
+ : code;
4359
+ }
4349
4360
  function explainCode(code) {
4350
4361
  const cls = (0, hints_1.codeClass)(code);
4351
4362
  let hint = hints_1.hints[code] ?? '';
@@ -4379,16 +4390,27 @@ function explainListText(format) {
4379
4390
  codes: codes.map((code) => ({
4380
4391
  code,
4381
4392
  class: (0, hints_1.codeClass)(code),
4382
- // Whether this port carries explanation text for the code. The
4383
- // registry is in parity; the hint tables are not, so a consumer
4384
- // that wants only explained codes can filter rather than guess.
4393
+ // Whether this port carries explanation text for the code. A
4394
+ // gate holds every registered code explained, so this reads
4395
+ // true throughout; it stays because the registry is
4396
+ // append-only and a consumer should filter rather than guess.
4385
4397
  explained: '' !== explainCode(code).hint,
4386
4398
  })),
4387
4399
  }, 2);
4388
4400
  }
4389
4401
  const width = codes.reduce((w, c) => Math.max(w, c.length), 0);
4390
4402
  return codes.map((c) => c.padEnd(width) + ' ' + (0, hints_1.codeClass)(c) +
4391
- ('' === explainCode(c).hint ? ' (no text)' : '')).join('\n');
4403
+ noTextMark(explainCode(c).hint)).join('\n');
4404
+ }
4405
+ // The registry is append-only, so a code can be registered before its
4406
+ // text is written; saying so beats printing an empty block.
4407
+ function explainBody(hint) {
4408
+ return '' === hint
4409
+ ? '(no explanation text is registered for this code)'
4410
+ : hint;
4411
+ }
4412
+ function noTextMark(hint) {
4413
+ return '' === hint ? ' (no text)' : '';
4392
4414
  }
4393
4415
  function runExplain(argv) {
4394
4416
  let format = 'text';
@@ -4431,7 +4453,7 @@ function runExplain(argv) {
4431
4453
  process.stderr.write(`aontu: explain needs one code\n${EXPLAIN_HELP}\n`);
4432
4454
  return 2;
4433
4455
  }
4434
- const code = codes[0];
4456
+ const code = canonExplainCode(codes[0]);
4435
4457
  const { cls, hint, registered } = explainCode(code);
4436
4458
  if (!registered) {
4437
4459
  // AN UNKNOWN CODE IS A USAGE ERROR AND NAMES NEAR MATCHES. A
@@ -4455,13 +4477,7 @@ function runExplain(argv) {
4455
4477
  }, 2) + '\n');
4456
4478
  return 0;
4457
4479
  }
4458
- // A REGISTERED CODE WITH NO HINT SAYS SO rather than printing an
4459
- // empty block, which would read as an explanation that happened to
4460
- // be blank.
4461
- const body = '' === hint
4462
- ? '(no explanation text is registered for this code)'
4463
- : hint;
4464
- process.stdout.write(`code: ${code}\nclass: ${cls}\n\n${body}\n`);
4480
+ process.stdout.write(`code: ${code}\nclass: ${cls}\n\n${explainBody(hint)}\n`);
4465
4481
  return 0;
4466
4482
  }
4467
4483
  const INIT_HELP = 'aontu init [dir] (try --help)';
@@ -4731,5 +4747,5 @@ function main(argv, servers = SERVERS) {
4731
4747
  else {
4732
4748
  runStdin(mode, format, trust).then((code) => finish(code));
4733
4749
  }
4734
- } /* node:coverage ignore next 21 */
4750
+ } /* node:coverage ignore next 22 */
4735
4751
  //# sourceMappingURL=cli.js.map