aontu 0.52.0 → 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 (273) 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 +145 -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 +16 -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 +48 -8
  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 +223 -5
  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 +698 -35
  33. package/dist/lang.js.map +1 -1
  34. package/dist/lsp.d.ts +9 -2
  35. package/dist/lsp.js +262 -46
  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 +3 -1
  83. package/dist/unify.js +287 -18
  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 +48 -1
  103. package/dist/val/ConstraintVal.js +1501 -110
  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.d.ts +1 -0
  120. package/dist/val/ExpectVal.js +41 -4
  121. package/dist/val/ExpectVal.js.map +1 -1
  122. package/dist/val/FeatureVal.js +1 -1
  123. package/dist/val/FeatureVal.js.map +1 -1
  124. package/dist/val/FilterFuncVal.d.ts +15 -0
  125. package/dist/val/FilterFuncVal.js +91 -0
  126. package/dist/val/FilterFuncVal.js.map +1 -0
  127. package/dist/val/FuncBaseVal.d.ts +6 -1
  128. package/dist/val/FuncBaseVal.js +178 -2
  129. package/dist/val/FuncBaseVal.js.map +1 -1
  130. package/dist/val/HideFuncVal.js.map +1 -1
  131. package/dist/val/IdFuncVal.d.ts +13 -0
  132. package/dist/val/IdFuncVal.js +54 -0
  133. package/dist/val/IdFuncVal.js.map +1 -0
  134. package/dist/val/JunctionVal.js +7 -1
  135. package/dist/val/JunctionVal.js.map +1 -1
  136. package/dist/val/KeyFuncVal.d.ts +1 -1
  137. package/dist/val/KeyFuncVal.js +38 -30
  138. package/dist/val/KeyFuncVal.js.map +1 -1
  139. package/dist/val/ListVal.js +117 -17
  140. package/dist/val/ListVal.js.map +1 -1
  141. package/dist/val/LowerFuncVal.js.map +1 -1
  142. package/dist/val/MapVal.js +102 -8
  143. package/dist/val/MapVal.js.map +1 -1
  144. package/dist/val/MatchFuncVal.d.ts +15 -0
  145. package/dist/val/MatchFuncVal.js +107 -0
  146. package/dist/val/MatchFuncVal.js.map +1 -0
  147. package/dist/val/MoveFuncVal.js.map +1 -1
  148. package/dist/val/NilVal.js +24 -0
  149. package/dist/val/NilVal.js.map +1 -1
  150. package/dist/val/OpBaseVal.d.ts +1 -1
  151. package/dist/val/OpBaseVal.js +24 -2
  152. package/dist/val/OpBaseVal.js.map +1 -1
  153. package/dist/val/OpenFuncVal.js +4 -1
  154. package/dist/val/OpenFuncVal.js.map +1 -1
  155. package/dist/val/PackFuncVal.d.ts +15 -0
  156. package/dist/val/PackFuncVal.js +108 -0
  157. package/dist/val/PackFuncVal.js.map +1 -0
  158. package/dist/val/PathFuncVal.js.map +1 -1
  159. package/dist/val/PlaceVal.d.ts +13 -0
  160. package/dist/val/PlaceVal.js +131 -0
  161. package/dist/val/PlaceVal.js.map +1 -0
  162. package/dist/val/PlusOpVal.js +11 -2
  163. package/dist/val/PlusOpVal.js.map +1 -1
  164. package/dist/val/PrefFuncVal.js.map +1 -1
  165. package/dist/val/PrefVal.d.ts +2 -2
  166. package/dist/val/PrefVal.js +78 -23
  167. package/dist/val/PrefVal.js.map +1 -1
  168. package/dist/val/RefVal.d.ts +1 -1
  169. package/dist/val/RefVal.js +158 -30
  170. package/dist/val/RefVal.js.map +1 -1
  171. package/dist/val/ReferFuncVal.d.ts +36 -0
  172. package/dist/val/ReferFuncVal.js +303 -0
  173. package/dist/val/ReferFuncVal.js.map +1 -0
  174. package/dist/val/ScalarKindVal.d.ts +1 -2
  175. package/dist/val/ScalarKindVal.js +0 -11
  176. package/dist/val/ScalarKindVal.js.map +1 -1
  177. package/dist/val/TopVal.js.map +1 -1
  178. package/dist/val/TypeFuncVal.js.map +1 -1
  179. package/dist/val/UpperFuncVal.js.map +1 -1
  180. package/dist/val/Val.d.ts +9 -2
  181. package/dist/val/Val.js +150 -4
  182. package/dist/val/Val.js.map +1 -1
  183. package/dist/val/VarVal.js.map +1 -1
  184. package/dist/val/arith.d.ts +6 -0
  185. package/dist/val/arith.js +170 -0
  186. package/dist/val/arith.js.map +1 -0
  187. package/dist/vet.d.ts +45 -0
  188. package/dist/vet.js +776 -0
  189. package/dist/vet.js.map +1 -0
  190. package/dist/walk.d.ts +2 -0
  191. package/dist/walk.js +91 -0
  192. package/dist/walk.js.map +1 -0
  193. package/grammar/aontu.gbnf +130 -0
  194. package/grammar/aontu.lark +113 -0
  195. package/package.json +30 -15
  196. package/skill/SKILL.md +37 -0
  197. package/skill/error-codes.md +62 -0
  198. package/skill/examples.md +99 -0
  199. package/skill/grammar-card.md +57 -0
  200. package/src/agentsmd.ts +135 -0
  201. package/src/aontu.ts +192 -4
  202. package/src/cli.ts +2858 -71
  203. package/src/ctx.ts +81 -0
  204. package/src/diff.ts +196 -0
  205. package/src/err.ts +52 -8
  206. package/src/graph.ts +135 -0
  207. package/src/hcanon.ts +169 -0
  208. package/src/hints.ts +271 -5
  209. package/src/jsonschema.ts +511 -0
  210. package/src/lang.ts +779 -37
  211. package/src/lsp.ts +281 -47
  212. package/src/mcp-server.ts +187 -0
  213. package/src/mcp.ts +993 -0
  214. package/src/mod-tool.ts +679 -0
  215. package/src/mod.ts +344 -0
  216. package/src/patch.ts +624 -0
  217. package/src/provenance.ts +430 -0
  218. package/src/query.ts +379 -0
  219. package/src/reach.ts +184 -0
  220. package/src/relation.ts +395 -0
  221. package/src/report-sarif.ts +137 -0
  222. package/src/site.ts +36 -1
  223. package/src/std.ts +73 -0
  224. package/src/subsume.ts +690 -0
  225. package/src/trim.ts +195 -0
  226. package/src/tsconfig.json +10 -4
  227. package/src/type.ts +51 -2
  228. package/src/unify.ts +311 -16
  229. package/src/utility.ts +139 -1
  230. package/src/val/AggFuncVal.ts +319 -0
  231. package/src/val/ArithFuncVal.ts +108 -0
  232. package/src/val/BagVal.ts +101 -4
  233. package/src/val/CloseFuncVal.ts +9 -1
  234. package/src/val/ConjunctVal.ts +20 -0
  235. package/src/val/ConstraintVal.ts +1699 -116
  236. package/src/val/CopyFuncVal.ts +7 -1
  237. package/src/val/Decimal.ts +15 -0
  238. package/src/val/DeprecateFuncVal.ts +84 -0
  239. package/src/val/DisjunctVal.ts +139 -28
  240. package/src/val/EachFuncVal.ts +133 -0
  241. package/src/val/ExpectVal.ts +43 -6
  242. package/src/val/FeatureVal.ts +1 -1
  243. package/src/val/FilterFuncVal.ts +154 -0
  244. package/src/val/FuncBaseVal.ts +200 -3
  245. package/src/val/HideFuncVal.ts +0 -2
  246. package/src/val/IdFuncVal.ts +91 -0
  247. package/src/val/JunctionVal.ts +7 -1
  248. package/src/val/KeyFuncVal.ts +39 -35
  249. package/src/val/ListVal.ts +125 -18
  250. package/src/val/LowerFuncVal.ts +0 -1
  251. package/src/val/MapVal.ts +110 -8
  252. package/src/val/MatchFuncVal.ts +176 -0
  253. package/src/val/MoveFuncVal.ts +0 -2
  254. package/src/val/NilVal.ts +25 -0
  255. package/src/val/OpBaseVal.ts +26 -3
  256. package/src/val/OpenFuncVal.ts +4 -2
  257. package/src/val/PackFuncVal.ts +175 -0
  258. package/src/val/PathFuncVal.ts +0 -1
  259. package/src/val/PlaceVal.ts +193 -0
  260. package/src/val/PlusOpVal.ts +11 -2
  261. package/src/val/PrefFuncVal.ts +0 -1
  262. package/src/val/PrefVal.ts +79 -36
  263. package/src/val/RefVal.ts +163 -30
  264. package/src/val/ReferFuncVal.ts +387 -0
  265. package/src/val/ScalarKindVal.ts +0 -13
  266. package/src/val/TopVal.ts +0 -1
  267. package/src/val/TypeFuncVal.ts +0 -2
  268. package/src/val/UpperFuncVal.ts +0 -1
  269. package/src/val/Val.ts +213 -3
  270. package/src/val/VarVal.ts +0 -1
  271. package/src/val/arith.ts +316 -0
  272. package/src/vet.ts +992 -0
  273. package/src/walk.ts +99 -0
package/dist/lsp.js CHANGED
@@ -2,11 +2,16 @@
2
2
  /* Copyright (c) 2025 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.COMPLETION_KEYWORD = exports.COMPLETION_FUNCTION = exports.SEVERITY_HINT = exports.SEVERITY_INFORMATION = exports.SEVERITY_WARNING = exports.SEVERITY_ERROR = exports.BUILTIN_FUNCS = exports.LSP_VERSION = exports.LspHandler = void 0;
5
+ exports.contributionsMarkdown = contributionsMarkdown;
6
+ exports.uriToPath = uriToPath;
5
7
  exports.computeDiagnostics = computeDiagnostics;
6
8
  exports.computeHover = computeHover;
7
9
  exports.computeCompletions = computeCompletions;
8
10
  const aontu_1 = require("./aontu");
9
11
  const err_1 = require("./err");
12
+ const walk_1 = require("./walk");
13
+ const utility_1 = require("./utility");
14
+ const query_1 = require("./query");
10
15
  // LSP DiagnosticSeverity subset.
11
16
  const SEVERITY_ERROR = 1;
12
17
  exports.SEVERITY_ERROR = SEVERITY_ERROR;
@@ -16,15 +21,23 @@ const SEVERITY_INFORMATION = 3;
16
21
  exports.SEVERITY_INFORMATION = SEVERITY_INFORMATION;
17
22
  const SEVERITY_HINT = 4;
18
23
  exports.SEVERITY_HINT = SEVERITY_HINT;
19
- // Reported to the client in the initialize response.
20
- const LSP_VERSION = '0.1.0';
24
+ // Reported to the client in the initialize response. It is the
25
+ // ENGINE's version, not a number of the server's own: a separately
26
+ // maintained one drifts, and had -- the server answered 0.1.0 against
27
+ // a package at 0.52.1, so a client could not tell which engine it was
28
+ // talking to (status-2026-08-21.md section 10).
29
+ const LSP_VERSION = aontu_1.VERSION;
21
30
  exports.LSP_VERSION = LSP_VERSION;
22
31
  // Compute LSP diagnostics for a unit of Aontu source. A valid document —
23
32
  // including a non-concrete schema such as `a:string` — returns an empty
24
33
  // array; only genuine errors (conflicts, unresolved references, unknown
25
34
  // functions, syntax errors) produce diagnostics.
26
35
  function computeDiagnostics(src, opts) {
27
- const aontu = new aontu_1.Aontu();
36
+ // The trust profile (G5, docs/trust.md): the LSP is the
37
+ // highest-exposure surface — merely OPENING a hostile .aon file in an
38
+ // editor performs its reads — so the handler confines evaluation to
39
+ // the workspace root and threads the profile through here.
40
+ const aontu = new aontu_1.Aontu(null == opts?.trust ? {} : { trust: opts.trust });
28
41
  let root;
29
42
  let ac;
30
43
  try {
@@ -39,9 +52,10 @@ function computeDiagnostics(src, opts) {
39
52
  // errors may carry 1-based line/col; fall back to the document start.
40
53
  return [parseErrorDiagnostic(err)];
41
54
  }
42
- const nils = [];
55
+ // The walk's `seen` set is reused below to dedup context errors
56
+ // against the nils already found in the tree.
43
57
  const seen = new Set();
44
- walkNils(root, nils, seen);
58
+ const nils = (0, walk_1.collectNils)(root, seen);
45
59
  // Errors recorded on the context but not present in the tree — e.g. a
46
60
  // budget_passes exhaustion nil, which is about the whole evaluation
47
61
  // rather than any node — would otherwise be invisible here, and the
@@ -54,34 +68,33 @@ function computeDiagnostics(src, opts) {
54
68
  nils.push(e);
55
69
  }
56
70
  }
57
- return nils.map(nilToDiagnostic);
58
- }
59
- // Walk a unified Val tree collecting every NilVal exactly once. A NilVal
60
- // in the result always represents an error; valid non-concrete values
61
- // (scalar kinds, refs, conjuncts) are never NilVals.
62
- function walkNils(v, out, seen) {
63
- if (null == v || 'object' !== typeof v || true !== v.isVal)
64
- return;
65
- if (seen.has(v))
66
- return;
67
- seen.add(v);
68
- if (v.isNil) {
69
- out.push(v);
70
- return;
71
- }
72
- const peg = v.peg;
73
- if (Array.isArray(peg)) {
74
- for (const c of peg)
75
- walkNils(c, out, seen);
76
- }
77
- else if (null != peg && 'object' === typeof peg) {
78
- for (const k in peg)
79
- walkNils(peg[k], out, seen);
71
+ const out = nils.map(nilToDiagnostic);
72
+ // Deprecation tags (G3 phase 4): every sited value carrying the
73
+ // deprecate() record — the declaration and, because the record rides
74
+ // meets and reference clones, every use resolving through it — gets
75
+ // the native Deprecated tag (2) at Hint severity, so editors strike
76
+ // it through without shouting.
77
+ for (const { val } of (0, utility_1.collectDeprecations)(root)) {
78
+ const v = val;
79
+ if (1 > (v.site?.row ?? -1) || 1 > (v.site?.col ?? -1)) {
80
+ continue;
81
+ }
82
+ out.push({
83
+ range: {
84
+ start: { line: v.site.row - 1, character: v.site.col - 1 },
85
+ end: {
86
+ line: v.site.row - 1,
87
+ character: v.site.col - 1 + siteExtent(v),
88
+ },
89
+ },
90
+ severity: 4,
91
+ code: 'deprecated',
92
+ source: 'aontu',
93
+ message: (0, utility_1.deprecationMessage)(v.deprecation),
94
+ tags: [2],
95
+ });
80
96
  }
81
- // Spread constraints live off-peg on Map/List Vals.
82
- const spreadCj = v.spread?.cj;
83
- if (spreadCj)
84
- walkNils(spreadCj, out, seen);
97
+ return out;
85
98
  }
86
99
  // Convert a NilVal (1-based site row/col) to an LSP diagnostic (0-based
87
100
  // line/character).
@@ -108,9 +121,42 @@ function nilToDiagnostic(nil) {
108
121
  };
109
122
  }
110
123
  // Length (UTF-16 units, like LSP characters) of the offending value's
111
- // canonical form, used to size the diagnostic range (minimum 1).
124
+ // SOURCE TEXT, used to size the diagnostic range (minimum 1).
112
125
  function labelLength(nil) {
113
- const c = nil.primary?.canon;
126
+ return null == nil.primary ? 1 : siteExtent(nil.primary);
127
+ }
128
+ // The extent to underline for a value: its SOURCE TEXT's length, with
129
+ // the canon as the fallback and 1 as the floor.
130
+ //
131
+ // CANON IS NOT SOURCE TEXT, which is the whole point of Site.len:
132
+ // `0x1F` has canon `31`, so sizing by canon underlines two characters
133
+ // of a four-character literal — hovering `0x1F` highlighted `0x` and
134
+ // hovering `1F` answered nothing. The Go twin is the same fallback in
135
+ // go/check.go (Problem.Len, ValueSpan.Len), in bytes there because it
136
+ // is added to a byte offset before conversion.
137
+ //
138
+ // The fallback is for a value carrying no stamped span — one propagated
139
+ // onto a result rather than written by a document — where canon is all
140
+ // there is and an approximate underline beats none. A REPORT never
141
+ // guesses this way: vet and why emit len only when it is known, because
142
+ // there a wrong length is a corrupted document rather than a wonky
143
+ // highlight.
144
+ function siteExtent(v) {
145
+ const len = v?.site?.len;
146
+ if ('number' === typeof len && len > 0) {
147
+ return len;
148
+ }
149
+ // CANON IS READ DEFENSIVELY, as every other reader here does: it is a
150
+ // getter that unifies, and a host-supplied value can throw from it
151
+ // (hover-refuses-bad-input). A hover that cannot measure a value
152
+ // still has to answer for the rest of the document.
153
+ let c = '';
154
+ try {
155
+ c = v?.canon;
156
+ }
157
+ catch {
158
+ c = '';
159
+ }
114
160
  return 'string' === typeof c && c.length > 0 ? c.length : 1;
115
161
  }
116
162
  // Build the human-readable message. Kept identical to the Go port's
@@ -174,10 +220,44 @@ function publishDiagnosticsMsg(uri, diagnostics) {
174
220
  // the position is not over a value with a known source location. Because
175
221
  // hover reads the *unified* tree, a literal shows its resolved value and
176
222
  // kind (e.g. a reference target resolves to the value it points at).
177
- function computeHover(src, position) {
223
+ // HOVER PROVENANCE (G7 phase 7) is CONFIG-GATED and off by default:
224
+ // the contributions that met at the hovered path, appended to the
225
+ // value's own hover. Hover already re-unifies the whole document per
226
+ // request, so an editor that asks for this pays a second instrumented
227
+ // evaluation knowingly, and one that does not pays nothing.
228
+ function provenanceMarkdown(src, path, trust) {
229
+ if (0 === path.length) {
230
+ return '';
231
+ }
232
+ // A document with an error ELSEWHERE still hovers — the tree the
233
+ // hover walked is there — while `why` refuses it, so the record may
234
+ // be absent for a value the cursor is sitting on.
235
+ const report = (0, query_1.why)(src, '$.' + path.join('.'), { trust });
236
+ return contributionsMarkdown(report.record?.conjuncts ?? []);
237
+ }
238
+ // The contributions as hover markdown. Exported for the direct test
239
+ // (ADR-002): a siteless contribution and a named file are both shapes
240
+ // the record allows and no hover produces, hover evaluating one
241
+ // unnamed document.
242
+ function contributionsMarkdown(conjuncts) {
243
+ if (0 === conjuncts.length) {
244
+ return '';
245
+ }
246
+ return '\n\n---\n\nContributions:\n' + conjuncts.map((c) => '- `' + c.canon + '` — ' + c.role +
247
+ (0 > c.site.row ? '' : ' (' +
248
+ ('' === c.site.file ? '' : c.site.file + ':') +
249
+ c.site.row + ':' + c.site.col + ')')).join('\n');
250
+ }
251
+ // HOVER RUNS UNDER THE SAME CAPABILITY AS DIAGNOSTICS. It used to
252
+ // evaluate through `new Aontu()` -- the full system resolver -- BESIDE
253
+ // confined diagnostics in the same server, so a workspace-confined
254
+ // session still resolved an escaping include the moment a cursor rested
255
+ // on it (use-cases/REVIEW.md finding G). One document, two postures, is
256
+ // not a confinement.
257
+ function computeHover(src, position, provenance, trust) {
178
258
  let root;
179
259
  try {
180
- root = new aontu_1.Aontu().unify(src, { collect: true });
260
+ root = new aontu_1.Aontu(null == trust ? {} : { trust }).unify(src, { collect: true });
181
261
  }
182
262
  catch {
183
263
  return null;
@@ -196,7 +276,12 @@ function computeHover(src, position) {
196
276
  if (null == best)
197
277
  return null;
198
278
  return {
199
- contents: { kind: 'markdown', value: hoverMarkdown(best.val) },
279
+ contents: {
280
+ kind: 'markdown',
281
+ value: hoverMarkdown(best.val) +
282
+ (true === provenance
283
+ ? provenanceMarkdown(src, best.val.path, trust) : ''),
284
+ },
200
285
  range: {
201
286
  start: { line: best.line, character: best.start },
202
287
  end: { line: best.line, character: best.end },
@@ -218,15 +303,24 @@ function collectHoverCandidates(v, out, seen) {
218
303
  catch {
219
304
  canon = '';
220
305
  }
306
+ // The span to highlight: the value's own source text where it has
307
+ // one, canon otherwise. See siteExtent.
308
+ const span = siteExtent(v);
309
+ const spanSrc = 'string' === typeof v.site?.src ? v.site.src : '';
221
310
  // Hover targets concrete values (scalars, kinds, refs, …), not
222
311
  // containers: a map/list source span is not reliably reconstructable
223
312
  // from a single site, and the same restriction in the Go port keeps
224
313
  // hover behaviour identical across implementations. The walk still
225
314
  // recurses into containers below to reach their leaf values. Canon is
226
315
  // single-line, so its length approximates the on-line source span.
227
- if (row >= 1 && col >= 1 && canon.length > 0 && !canon.includes('\n') &&
316
+ // Single-line is decided by the SOURCE TEXT when there is one: a
317
+ // multi-line token cannot be described by one line's start and end,
318
+ // and canon's newlines are not the token's. Falling back to canon
319
+ // keeps the old test for a value with no stamped span.
320
+ const multiline = '' === spanSrc ? canon.includes('\n') : spanSrc.includes('\n');
321
+ if (row >= 1 && col >= 1 && canon.length > 0 && !multiline &&
228
322
  !v.isMap && !v.isList) {
229
- out.push({ val: v, line: row - 1, start: col - 1, end: col - 1 + canon.length });
323
+ out.push({ val: v, line: row - 1, start: col - 1, end: col - 1 + span });
230
324
  }
231
325
  const peg = v.peg;
232
326
  if (Array.isArray(peg)) {
@@ -280,11 +374,20 @@ const COMPLETION_FUNCTION = 3;
280
374
  exports.COMPLETION_FUNCTION = COMPLETION_FUNCTION;
281
375
  const COMPLETION_KEYWORD = 14;
282
376
  exports.COMPLETION_KEYWORD = COMPLETION_KEYWORD;
283
- // The seventeen built-in functions. Kept in sync with the engine by
377
+ // The twenty-eight built-in functions. Kept in sync with the engine by
284
378
  // `lsp.test.ts`, which asserts each is recognised and no others are.
379
+ // The Go port derives its list from the engine's own name set
380
+ // (`BuiltinFuncNames`, go/func.go), which is why a name added there
381
+ // and forgotten here diverges silently — as `id` and `refer` did
382
+ // between G4 phases 1/2 and G8 phase 1.
285
383
  const BUILTIN_FUNCS = [
286
- 'above', 'below', 'close', 'copy', 'hide', 'key', 'lower', 'max',
287
- 'min', 'move', 'neq', 'open', 'path', 'pref', 'super', 'type', 'upper',
384
+ 'above', 'add', 'below', 'close', 'copy', 'deprecate', 'div', 'each',
385
+ 'filter', 'greatest',
386
+ 'hide', 'id', 'key', 'least', 'length', 'lower',
387
+ 'match', 'max', 'min', 'mod', 'move', 'mul', 'must', 'neq', 'open',
388
+ 'pack', 'path', 'pick',
389
+ 'pref', 're', 'refer', 'rem', 'sub', 'sum', 'super', 'type', 'unique',
390
+ 'upper',
288
391
  ];
289
392
  exports.BUILTIN_FUNCS = BUILTIN_FUNCS;
290
393
  // Scalar-kind and literal keywords.
@@ -293,7 +396,9 @@ exports.BUILTIN_FUNCS = BUILTIN_FUNCS;
293
396
  const KIND_KEYWORDS = [
294
397
  'string', 'number', 'integer', 'float', 'biginteger', 'bigdecimal', 'boolean',
295
398
  ];
296
- const LITERAL_KEYWORDS = ['true', 'false', 'null', 'top'];
399
+ // `_` joins these as of G8 phase 3: it is a literal of the language
400
+ // now, not text.
401
+ const LITERAL_KEYWORDS = ['_', 'true', 'false', 'null', 'top'];
297
402
  // Context-free completion: the built-in functions, scalar-kind keywords
298
403
  // and literals. Clients filter by the typed prefix.
299
404
  function computeCompletions() {
@@ -313,11 +418,95 @@ function computeCompletions() {
313
418
  // messages and returns the messages to send back, tracking open document
314
419
  // text and recomputing diagnostics on open/change/close. Not safe for
315
420
  // concurrent use; drive it from a single loop (as the stdio server does).
421
+ // A file:// uri's filesystem path, for the workspace-root confinement.
422
+ // Percent-decoded; a non-file uri (or none) yields undefined.
423
+ //
424
+ // EXPORTED, inline as contributionsMarkdown is: part of the reusable
425
+ // LSP library surface, and the twin of the package-visible uriToPath in
426
+ // go/lsp/handler.go. Anything driving this module with its own
427
+ // transport has to turn a client's uri into a path the same way the
428
+ // confinement does, and the rules below are not guessable from outside.
429
+ //
430
+ // THE DRIVE-LETTER SLASH. A file uri names an absolute path after the
431
+ // authority, so on Windows the standard spelling every editor sends is
432
+ // file:///C:/Users/me/project — three slashes, and the third belongs to
433
+ // the PATH. Stripping only `file://` leaves `/C:/Users/me/project`,
434
+ // which is not a Windows path at all, so the workspace-root
435
+ // confinement below compared real paths against nonsense and an editor
436
+ // on Windows got no confinement it could rely on. Both ports carried
437
+ // the defect identically (go/lsp/handler.go uriToPath), and no test
438
+ // caught it because both ports' tests built the uri as `'file://' +
439
+ // path` — two slashes, which is not what a client sends and which
440
+ // accidentally produced a usable path.
441
+ //
442
+ // The leading slash is dropped only before a DRIVE LETTER, so a POSIX
443
+ // path keeps the root it needs: file:///tmp/x stays /tmp/x.
444
+ function uriToPath(uri) {
445
+ if ('string' !== typeof uri || !uri.startsWith('file://')) {
446
+ return undefined;
447
+ }
448
+ const path = percentDecode(uri.slice('file://'.length));
449
+ // AN EMPTY PATH IS NOT A ROOT. `file://` on its own yields '', and
450
+ // '' is not nullish — so it won the `??` chain below and arrived as
451
+ // `{ include: { root: '' } }`, a confinement root that then resolves
452
+ // against the process working directory: the same client params made
453
+ // the server allow or deny an include depending on where it was
454
+ // started from. The Go twin never had it, because its chain tests
455
+ // `"" != folder` explicitly (go/lsp/handler.go). Answering undefined
456
+ // is what makes the two chains agree.
457
+ if ('' === path) {
458
+ return undefined;
459
+ }
460
+ return driveLetterPath(path) ? path.slice(1) : path;
461
+ }
462
+ // Percent-decoding that CANNOT THROW. `decodeURIComponent` raises a
463
+ // URIError on a malformed escape (`%ZZ`), and this runs on a uri a
464
+ // CLIENT sent — so a stray percent in a workspace path took the
465
+ // exception straight out of the initialize handler, where the Go twin
466
+ // swallowed the same failure and used the raw text
467
+ // (go/lsp/handler.go). Two ports, two behaviours, for an input neither
468
+ // of them controls.
469
+ //
470
+ // The agreement runs the other way for the SECOND way an escape can
471
+ // fail to decode. `%FF` is well-formed and names a raw byte — a
472
+ // perfectly good Linux filename — which Go produced and a JavaScript
473
+ // string cannot hold at all, so the ports derived different workspace
474
+ // roots for a uri a byte-oriented client really sends. Only one
475
+ // direction is reachable from both languages, so Go now declines to
476
+ // unescape a result that is not valid UTF-8 and both ports keep the
477
+ // raw text. An undecodable path is still a path, and refusing to serve
478
+ // a session over it helps nobody.
479
+ function percentDecode(text) {
480
+ try {
481
+ return decodeURIComponent(text);
482
+ }
483
+ catch {
484
+ return text;
485
+ }
486
+ }
487
+ // Whether p is `/X:…` for a drive letter X — the one shape whose
488
+ // leading slash is uri syntax rather than path. Mirrors the same
489
+ // predicate in go/lsp/handler.go.
490
+ function driveLetterPath(p) {
491
+ return 3 <= p.length && '/' === p[0] && ':' === p[2] &&
492
+ /[A-Za-z]/.test(p[1]);
493
+ }
316
494
  class LspHandler {
317
495
  constructor() {
318
496
  this.docs = new Map();
319
497
  this.shutdownOK = false;
320
498
  this.exited = false;
499
+ // The trust profile evaluation runs under (G5, docs/trust.md):
500
+ // workspace-root confinement by default, set from the initialize
501
+ // params. An `initializationOptions.aontu.trust.include` of 'system',
502
+ // 'none' or { root } widens or narrows it explicitly. Undefined —
503
+ // no workspace root and no explicit option — falls back to today's
504
+ // unconfined behaviour, which single-file sessions rely on.
505
+ this.trust = undefined;
506
+ // Hover provenance (G7 phase 7): off unless an editor asks for it
507
+ // with `initializationOptions.aontu.provenance`. It costs a second,
508
+ // instrumented evaluation per hover, which is a cost to opt into.
509
+ this.provenance = false;
321
510
  }
322
511
  // True once an `exit` notification has been received.
323
512
  get shouldExit() { return this.exited; }
@@ -329,8 +518,34 @@ class LspHandler {
329
518
  // Process one incoming message, returning zero or more to send.
330
519
  handle(msg) {
331
520
  switch (msg.method) {
332
- case 'initialize':
521
+ case 'initialize': {
522
+ const params = msg.params ?? {};
523
+ this.provenance =
524
+ true === params.initializationOptions?.aontu?.provenance;
525
+ const explicit = params.initializationOptions?.aontu?.trust?.include;
526
+ if (null != explicit) {
527
+ // An explicit setting wins — validated, and an unrecognised
528
+ // value confines to NOTHING rather than silently widening:
529
+ // deny is the safe reading of a setting the server does not
530
+ // understand. The same rule as the Go handler.
531
+ this.trust =
532
+ 'system' === explicit ? undefined :
533
+ 'none' === explicit ? { include: 'none' } :
534
+ ('string' === typeof explicit?.root && '' !== explicit.root)
535
+ ? { include: { root: explicit.root } } :
536
+ (null != explicit?.mem && 'object' === typeof explicit.mem)
537
+ ? { include: { mem: explicit.mem } } :
538
+ { include: 'none' };
539
+ }
540
+ else {
541
+ const root = uriToPath(params.workspaceFolders?.[0]?.uri)
542
+ ?? uriToPath(params.rootUri)
543
+ ?? (('string' === typeof params.rootPath && '' !== params.rootPath)
544
+ ? params.rootPath : undefined);
545
+ this.trust = null != root ? { include: { root } } : undefined;
546
+ }
333
547
  return [{ jsonrpc: '2.0', id: msg.id, result: initializeResult() }];
548
+ }
334
549
  case 'initialized':
335
550
  return [];
336
551
  case 'shutdown':
@@ -367,7 +582,8 @@ class LspHandler {
367
582
  const uri = msg.params?.textDocument?.uri;
368
583
  const pos = msg.params?.position;
369
584
  const text = null != uri ? this.docs.get(uri) : undefined;
370
- const hover = (null != text && null != pos) ? computeHover(text, pos) : null;
585
+ const hover = (null != text && null != pos)
586
+ ? computeHover(text, pos, this.provenance, this.trust) : null;
371
587
  return [{ jsonrpc: '2.0', id: msg.id, result: hover }];
372
588
  }
373
589
  case 'textDocument/completion':
@@ -386,7 +602,7 @@ class LspHandler {
386
602
  }
387
603
  }
388
604
  publish(uri) {
389
- return publishDiagnosticsMsg(uri, computeDiagnostics(this.docs.get(uri) ?? ''));
605
+ return publishDiagnosticsMsg(uri, computeDiagnostics(this.docs.get(uri) ?? '', { trust: this.trust }));
390
606
  }
391
607
  } /* node:coverage ignore next 28 */
392
608
  exports.LspHandler = LspHandler;
package/dist/lsp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lsp.js","sourceRoot":"","sources":["../src/lsp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp.js","sourceRoot":"","sources":["../src/lsp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export type ServerArgs = {
2
+ root?: string;
3
+ help?: boolean;
4
+ err?: string;
5
+ };
6
+ export declare function parseArgs(argv: string[]): ServerArgs;
7
+ declare class LineCodec {
8
+ private write;
9
+ private onExit;
10
+ private version;
11
+ private root?;
12
+ private buffer;
13
+ constructor(write: (line: string) => void, onExit: (code: number) => void, version: string, root?: string | undefined);
14
+ push(chunk: string | Buffer): void;
15
+ end(): void;
16
+ private line;
17
+ private send;
18
+ }
19
+ declare function main(stdin?: NodeJS.ReadableStream, write?: (line: string) => void, exit?: (code: number) => void, version?: string, argv?: string[], errwrite?: (line: string) => void): LineCodec | undefined;
20
+ export { LineCodec, main, };