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.
- package/README.md +88 -0
- package/bin/aontu-mcp.js +4 -0
- package/dist/agentsmd.d.ts +16 -0
- package/dist/agentsmd.js +107 -0
- package/dist/agentsmd.js.map +1 -0
- package/dist/aontu.d.ts +14 -3
- package/dist/aontu.js +145 -4
- package/dist/aontu.js.map +1 -1
- package/dist/cli.d.ts +44 -1
- package/dist/cli.js +2401 -44
- package/dist/cli.js.map +1 -1
- package/dist/ctx.d.ts +16 -0
- package/dist/ctx.js +44 -0
- package/dist/ctx.js.map +1 -1
- package/dist/diff.d.ts +22 -0
- package/dist/diff.js +141 -0
- package/dist/diff.js.map +1 -0
- package/dist/err.d.ts +3 -1
- package/dist/err.js +48 -8
- package/dist/err.js.map +1 -1
- package/dist/graph.d.ts +16 -0
- package/dist/graph.js +73 -0
- package/dist/graph.js.map +1 -0
- package/dist/hcanon.d.ts +3 -0
- package/dist/hcanon.js +146 -0
- package/dist/hcanon.js.map +1 -0
- package/dist/hints.js +223 -5
- package/dist/hints.js.map +1 -1
- package/dist/jsonschema.d.ts +20 -0
- package/dist/jsonschema.js +391 -0
- package/dist/jsonschema.js.map +1 -0
- package/dist/lang.js +698 -35
- package/dist/lang.js.map +1 -1
- package/dist/lsp.d.ts +9 -2
- package/dist/lsp.js +262 -46
- package/dist/lsp.js.map +1 -1
- package/dist/mcp-server.d.ts +20 -0
- package/dist/mcp-server.js +147 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/mcp.d.ts +42 -0
- package/dist/mcp.js +814 -0
- package/dist/mcp.js.map +1 -0
- package/dist/mod-tool.d.ts +58 -0
- package/dist/mod-tool.js +498 -0
- package/dist/mod-tool.js.map +1 -0
- package/dist/mod.d.ts +31 -0
- package/dist/mod.js +250 -0
- package/dist/mod.js.map +1 -0
- package/dist/patch.d.ts +44 -0
- package/dist/patch.js +506 -0
- package/dist/patch.js.map +1 -0
- package/dist/provenance.d.ts +40 -0
- package/dist/provenance.js +335 -0
- package/dist/provenance.js.map +1 -0
- package/dist/query.d.ts +27 -0
- package/dist/query.js +294 -0
- package/dist/query.js.map +1 -0
- package/dist/reach.d.ts +14 -0
- package/dist/reach.js +140 -0
- package/dist/reach.js.map +1 -0
- package/dist/relation.d.ts +19 -0
- package/dist/relation.js +305 -0
- package/dist/relation.js.map +1 -0
- package/dist/report-sarif.d.ts +14 -0
- package/dist/report-sarif.js +102 -0
- package/dist/report-sarif.js.map +1 -0
- package/dist/site.d.ts +4 -0
- package/dist/site.js +31 -0
- package/dist/site.js.map +1 -1
- package/dist/std.d.ts +1 -0
- package/dist/std.js +73 -0
- package/dist/std.js.map +1 -0
- package/dist/subsume.d.ts +39 -0
- package/dist/subsume.js +526 -0
- package/dist/subsume.js.map +1 -0
- package/dist/trim.d.ts +19 -0
- package/dist/trim.js +155 -0
- package/dist/trim.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/type.d.ts +17 -1
- package/dist/type.js.map +1 -1
- package/dist/unify.d.ts +3 -1
- package/dist/unify.js +287 -18
- package/dist/unify.js.map +1 -1
- package/dist/utility.d.ts +9 -1
- package/dist/utility.js +122 -1
- package/dist/utility.js.map +1 -1
- package/dist/val/AggFuncVal.d.ts +33 -0
- package/dist/val/AggFuncVal.js +202 -0
- package/dist/val/AggFuncVal.js.map +1 -0
- package/dist/val/ArithFuncVal.d.ts +31 -0
- package/dist/val/ArithFuncVal.js +62 -0
- package/dist/val/ArithFuncVal.js.map +1 -0
- package/dist/val/BagVal.d.ts +5 -0
- package/dist/val/BagVal.js +96 -5
- package/dist/val/BagVal.js.map +1 -1
- package/dist/val/CloseFuncVal.js +9 -1
- package/dist/val/CloseFuncVal.js.map +1 -1
- package/dist/val/ConjunctVal.d.ts +1 -1
- package/dist/val/ConjunctVal.js +19 -0
- package/dist/val/ConjunctVal.js.map +1 -1
- package/dist/val/ConstraintVal.d.ts +48 -1
- package/dist/val/ConstraintVal.js +1501 -110
- package/dist/val/ConstraintVal.js.map +1 -1
- package/dist/val/CopyFuncVal.d.ts +1 -2
- package/dist/val/CopyFuncVal.js +7 -0
- package/dist/val/CopyFuncVal.js.map +1 -1
- package/dist/val/Decimal.d.ts +1 -0
- package/dist/val/Decimal.js +13 -0
- package/dist/val/Decimal.js.map +1 -1
- package/dist/val/DeprecateFuncVal.d.ts +11 -0
- package/dist/val/DeprecateFuncVal.js +47 -0
- package/dist/val/DeprecateFuncVal.js.map +1 -0
- package/dist/val/DisjunctVal.js +130 -21
- package/dist/val/DisjunctVal.js.map +1 -1
- package/dist/val/EachFuncVal.d.ts +15 -0
- package/dist/val/EachFuncVal.js +75 -0
- package/dist/val/EachFuncVal.js.map +1 -0
- package/dist/val/ExpectVal.d.ts +1 -0
- package/dist/val/ExpectVal.js +41 -4
- package/dist/val/ExpectVal.js.map +1 -1
- package/dist/val/FeatureVal.js +1 -1
- package/dist/val/FeatureVal.js.map +1 -1
- package/dist/val/FilterFuncVal.d.ts +15 -0
- package/dist/val/FilterFuncVal.js +91 -0
- package/dist/val/FilterFuncVal.js.map +1 -0
- package/dist/val/FuncBaseVal.d.ts +6 -1
- package/dist/val/FuncBaseVal.js +178 -2
- package/dist/val/FuncBaseVal.js.map +1 -1
- package/dist/val/HideFuncVal.js.map +1 -1
- package/dist/val/IdFuncVal.d.ts +13 -0
- package/dist/val/IdFuncVal.js +54 -0
- package/dist/val/IdFuncVal.js.map +1 -0
- package/dist/val/JunctionVal.js +7 -1
- package/dist/val/JunctionVal.js.map +1 -1
- package/dist/val/KeyFuncVal.d.ts +1 -1
- package/dist/val/KeyFuncVal.js +38 -30
- package/dist/val/KeyFuncVal.js.map +1 -1
- package/dist/val/ListVal.js +117 -17
- package/dist/val/ListVal.js.map +1 -1
- package/dist/val/LowerFuncVal.js.map +1 -1
- package/dist/val/MapVal.js +102 -8
- package/dist/val/MapVal.js.map +1 -1
- package/dist/val/MatchFuncVal.d.ts +15 -0
- package/dist/val/MatchFuncVal.js +107 -0
- package/dist/val/MatchFuncVal.js.map +1 -0
- package/dist/val/MoveFuncVal.js.map +1 -1
- package/dist/val/NilVal.js +24 -0
- package/dist/val/NilVal.js.map +1 -1
- package/dist/val/OpBaseVal.d.ts +1 -1
- package/dist/val/OpBaseVal.js +24 -2
- package/dist/val/OpBaseVal.js.map +1 -1
- package/dist/val/OpenFuncVal.js +4 -1
- package/dist/val/OpenFuncVal.js.map +1 -1
- package/dist/val/PackFuncVal.d.ts +15 -0
- package/dist/val/PackFuncVal.js +108 -0
- package/dist/val/PackFuncVal.js.map +1 -0
- package/dist/val/PathFuncVal.js.map +1 -1
- package/dist/val/PlaceVal.d.ts +13 -0
- package/dist/val/PlaceVal.js +131 -0
- package/dist/val/PlaceVal.js.map +1 -0
- package/dist/val/PlusOpVal.js +11 -2
- package/dist/val/PlusOpVal.js.map +1 -1
- package/dist/val/PrefFuncVal.js.map +1 -1
- package/dist/val/PrefVal.d.ts +2 -2
- package/dist/val/PrefVal.js +78 -23
- package/dist/val/PrefVal.js.map +1 -1
- package/dist/val/RefVal.d.ts +1 -1
- package/dist/val/RefVal.js +158 -30
- package/dist/val/RefVal.js.map +1 -1
- package/dist/val/ReferFuncVal.d.ts +36 -0
- package/dist/val/ReferFuncVal.js +303 -0
- package/dist/val/ReferFuncVal.js.map +1 -0
- package/dist/val/ScalarKindVal.d.ts +1 -2
- package/dist/val/ScalarKindVal.js +0 -11
- package/dist/val/ScalarKindVal.js.map +1 -1
- package/dist/val/TopVal.js.map +1 -1
- package/dist/val/TypeFuncVal.js.map +1 -1
- package/dist/val/UpperFuncVal.js.map +1 -1
- package/dist/val/Val.d.ts +9 -2
- package/dist/val/Val.js +150 -4
- package/dist/val/Val.js.map +1 -1
- package/dist/val/VarVal.js.map +1 -1
- package/dist/val/arith.d.ts +6 -0
- package/dist/val/arith.js +170 -0
- package/dist/val/arith.js.map +1 -0
- package/dist/vet.d.ts +45 -0
- package/dist/vet.js +776 -0
- package/dist/vet.js.map +1 -0
- package/dist/walk.d.ts +2 -0
- package/dist/walk.js +91 -0
- package/dist/walk.js.map +1 -0
- package/grammar/aontu.gbnf +130 -0
- package/grammar/aontu.lark +113 -0
- package/package.json +30 -15
- package/skill/SKILL.md +37 -0
- package/skill/error-codes.md +62 -0
- package/skill/examples.md +99 -0
- package/skill/grammar-card.md +57 -0
- package/src/agentsmd.ts +135 -0
- package/src/aontu.ts +192 -4
- package/src/cli.ts +2858 -71
- package/src/ctx.ts +81 -0
- package/src/diff.ts +196 -0
- package/src/err.ts +52 -8
- package/src/graph.ts +135 -0
- package/src/hcanon.ts +169 -0
- package/src/hints.ts +271 -5
- package/src/jsonschema.ts +511 -0
- package/src/lang.ts +779 -37
- package/src/lsp.ts +281 -47
- package/src/mcp-server.ts +187 -0
- package/src/mcp.ts +993 -0
- package/src/mod-tool.ts +679 -0
- package/src/mod.ts +344 -0
- package/src/patch.ts +624 -0
- package/src/provenance.ts +430 -0
- package/src/query.ts +379 -0
- package/src/reach.ts +184 -0
- package/src/relation.ts +395 -0
- package/src/report-sarif.ts +137 -0
- package/src/site.ts +36 -1
- package/src/std.ts +73 -0
- package/src/subsume.ts +690 -0
- package/src/trim.ts +195 -0
- package/src/tsconfig.json +10 -4
- package/src/type.ts +51 -2
- package/src/unify.ts +311 -16
- package/src/utility.ts +139 -1
- package/src/val/AggFuncVal.ts +319 -0
- package/src/val/ArithFuncVal.ts +108 -0
- package/src/val/BagVal.ts +101 -4
- package/src/val/CloseFuncVal.ts +9 -1
- package/src/val/ConjunctVal.ts +20 -0
- package/src/val/ConstraintVal.ts +1699 -116
- package/src/val/CopyFuncVal.ts +7 -1
- package/src/val/Decimal.ts +15 -0
- package/src/val/DeprecateFuncVal.ts +84 -0
- package/src/val/DisjunctVal.ts +139 -28
- package/src/val/EachFuncVal.ts +133 -0
- package/src/val/ExpectVal.ts +43 -6
- package/src/val/FeatureVal.ts +1 -1
- package/src/val/FilterFuncVal.ts +154 -0
- package/src/val/FuncBaseVal.ts +200 -3
- package/src/val/HideFuncVal.ts +0 -2
- package/src/val/IdFuncVal.ts +91 -0
- package/src/val/JunctionVal.ts +7 -1
- package/src/val/KeyFuncVal.ts +39 -35
- package/src/val/ListVal.ts +125 -18
- package/src/val/LowerFuncVal.ts +0 -1
- package/src/val/MapVal.ts +110 -8
- package/src/val/MatchFuncVal.ts +176 -0
- package/src/val/MoveFuncVal.ts +0 -2
- package/src/val/NilVal.ts +25 -0
- package/src/val/OpBaseVal.ts +26 -3
- package/src/val/OpenFuncVal.ts +4 -2
- package/src/val/PackFuncVal.ts +175 -0
- package/src/val/PathFuncVal.ts +0 -1
- package/src/val/PlaceVal.ts +193 -0
- package/src/val/PlusOpVal.ts +11 -2
- package/src/val/PrefFuncVal.ts +0 -1
- package/src/val/PrefVal.ts +79 -36
- package/src/val/RefVal.ts +163 -30
- package/src/val/ReferFuncVal.ts +387 -0
- package/src/val/ScalarKindVal.ts +0 -13
- package/src/val/TopVal.ts +0 -1
- package/src/val/TypeFuncVal.ts +0 -2
- package/src/val/UpperFuncVal.ts +0 -1
- package/src/val/Val.ts +213 -3
- package/src/val/VarVal.ts +0 -1
- package/src/val/arith.ts +316 -0
- package/src/vet.ts +992 -0
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
58
|
-
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
// (
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
124
|
+
// SOURCE TEXT, used to size the diagnostic range (minimum 1).
|
|
112
125
|
function labelLength(nil) {
|
|
113
|
-
|
|
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
|
-
|
|
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: {
|
|
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
|
-
|
|
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 +
|
|
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
|
|
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', '
|
|
287
|
-
'
|
|
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
|
-
|
|
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)
|
|
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, };
|