aontu 0.52.1 → 0.54.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 +15 -3
- package/dist/aontu.js +126 -5
- package/dist/aontu.js.map +1 -1
- package/dist/cli.d.ts +45 -1
- package/dist/cli.js +2845 -69
- package/dist/cli.js.map +1 -1
- package/dist/ctx.d.ts +18 -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 +45 -8
- package/dist/err.js.map +1 -1
- package/dist/graph.d.ts +13 -0
- package/dist/graph.js +110 -0
- package/dist/graph.js.map +1 -0
- package/dist/hcanon.d.ts +3 -0
- package/dist/hcanon.js +145 -0
- package/dist/hcanon.js.map +1 -0
- package/dist/hints.js +235 -8
- package/dist/hints.js.map +1 -1
- package/dist/jsonschema.d.ts +20 -0
- package/dist/jsonschema.js +425 -0
- package/dist/jsonschema.js.map +1 -0
- package/dist/lang.js +955 -110
- package/dist/lang.js.map +1 -1
- package/dist/lsp.d.ts +9 -2
- package/dist/lsp.js +343 -48
- 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 +941 -0
- package/dist/mcp.js.map +1 -0
- package/dist/mod-tool.d.ts +58 -0
- package/dist/mod-tool.js +532 -0
- package/dist/mod-tool.js.map +1 -0
- package/dist/mod.d.ts +35 -0
- package/dist/mod.js +345 -0
- package/dist/mod.js.map +1 -0
- package/dist/patch.d.ts +49 -0
- package/dist/patch.js +506 -0
- package/dist/patch.js.map +1 -0
- package/dist/provenance.d.ts +41 -0
- package/dist/provenance.js +336 -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 +15 -0
- package/dist/reach.js +168 -0
- package/dist/reach.js.map +1 -0
- package/dist/relation.d.ts +23 -0
- package/dist/relation.js +230 -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/sig.d.ts +25 -0
- package/dist/sig.js +277 -0
- package/dist/sig.js.map +1 -0
- package/dist/sigdecl.d.ts +2 -0
- package/dist/sigdecl.js +11 -0
- package/dist/sigdecl.js.map +1 -0
- package/dist/siggate.d.ts +4 -0
- package/dist/siggate.js +90 -0
- package/dist/siggate.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 +129 -0
- package/dist/std.js.map +1 -0
- package/dist/subsume.d.ts +39 -0
- package/dist/subsume.js +573 -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 +2 -1
- package/dist/unify.js +234 -38
- package/dist/unify.js.map +1 -1
- package/dist/utility.d.ts +8 -1
- package/dist/utility.js +68 -1
- package/dist/utility.js.map +1 -1
- package/dist/val/AggFuncVal.d.ts +44 -0
- package/dist/val/AggFuncVal.js +364 -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 +7 -0
- package/dist/val/BagVal.js +150 -11
- 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 +7 -1
- package/dist/val/ConstraintVal.js +523 -45
- package/dist/val/ConstraintVal.js.map +1 -1
- package/dist/val/ContainerKindVal.d.ts +35 -0
- package/dist/val/ContainerKindVal.js +99 -0
- package/dist/val/ContainerKindVal.js.map +1 -0
- package/dist/val/CopyFuncVal.d.ts +1 -2
- 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.d.ts +1 -2
- package/dist/val/DisjunctVal.js +269 -53
- 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.js +62 -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 +7 -1
- package/dist/val/FuncBaseVal.js +183 -2
- package/dist/val/FuncBaseVal.js.map +1 -1
- package/dist/val/GraphAtomVal.d.ts +39 -0
- package/dist/val/GraphAtomVal.js +184 -0
- package/dist/val/GraphAtomVal.js.map +1 -0
- package/dist/val/HideFuncVal.js.map +1 -1
- package/dist/val/JunctionVal.js +24 -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 +94 -14
- package/dist/val/ListVal.js.map +1 -1
- package/dist/val/LowerFuncVal.js.map +1 -1
- package/dist/val/MapVal.d.ts +1 -0
- package/dist/val/MapVal.js +146 -14
- 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 +19 -1
- 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.d.ts +2 -2
- package/dist/val/PathFuncVal.js +75 -16
- package/dist/val/PathFuncVal.js.map +1 -1
- package/dist/val/PathVal.d.ts +25 -0
- package/dist/val/PathVal.js +150 -0
- package/dist/val/PathVal.js.map +1 -0
- 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.d.ts +2 -1
- package/dist/val/PlusOpVal.js +61 -37
- package/dist/val/PlusOpVal.js.map +1 -1
- package/dist/val/PrefFuncVal.js.map +1 -1
- package/dist/val/PrefVal.d.ts +4 -2
- package/dist/val/PrefVal.js +223 -41
- package/dist/val/PrefVal.js.map +1 -1
- package/dist/val/RecurseVal.d.ts +19 -0
- package/dist/val/RecurseVal.js +217 -0
- package/dist/val/RecurseVal.js.map +1 -0
- package/dist/val/RefVal.d.ts +3 -2
- package/dist/val/RefVal.js +181 -66
- package/dist/val/RefVal.js.map +1 -1
- package/dist/val/ReferFuncVal.d.ts +59 -0
- package/dist/val/ReferFuncVal.js +604 -0
- package/dist/val/ReferFuncVal.js.map +1 -0
- package/dist/val/ScalarKindVal.d.ts +4 -3
- package/dist/val/ScalarKindVal.js +12 -12
- package/dist/val/ScalarKindVal.js.map +1 -1
- package/dist/val/SuperFuncVal.d.ts +4 -2
- package/dist/val/SuperFuncVal.js +118 -14
- package/dist/val/SuperFuncVal.js.map +1 -1
- package/dist/val/TopVal.d.ts +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 +7 -1
- package/dist/val/Val.js +170 -2
- 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 +173 -0
- package/dist/val/arith.js.map +1 -0
- package/dist/vet.d.ts +45 -0
- package/dist/vet.js +802 -0
- package/dist/vet.js.map +1 -0
- package/dist/view.d.ts +85 -0
- package/dist/view.js +1948 -0
- package/dist/view.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 +138 -0
- package/grammar/aontu.lark +118 -0
- package/grammar/aontu.tmLanguage.json +184 -0
- package/package.json +30 -8
- package/skill/SKILL.md +37 -0
- package/skill/error-codes.md +62 -0
- package/skill/examples.md +99 -0
- package/skill/grammar-card.md +56 -0
- package/src/agentsmd.ts +135 -0
- package/src/aontu.ts +166 -5
- package/src/cli.ts +3324 -72
- package/src/ctx.ts +93 -1
- package/src/diff.ts +198 -0
- package/src/err.ts +50 -8
- package/src/graph.ts +185 -0
- package/src/hcanon.ts +167 -0
- package/src/hints.ts +291 -8
- package/src/jsonschema.ts +552 -0
- package/src/lang.ts +1049 -110
- package/src/lsp.ts +351 -49
- package/src/mcp-server.ts +187 -0
- package/src/mcp.ts +1130 -0
- package/src/mod-tool.ts +718 -0
- package/src/mod.ts +453 -0
- package/src/patch.ts +628 -0
- package/src/provenance.ts +437 -0
- package/src/query.ts +381 -0
- package/src/reach.ts +213 -0
- package/src/relation.ts +298 -0
- package/src/report-sarif.ts +137 -0
- package/src/sig.ts +345 -0
- package/src/sigdecl.ts +11 -0
- package/src/siggate.ts +144 -0
- package/src/site.ts +36 -1
- package/src/std.ts +131 -0
- package/src/subsume.ts +739 -0
- package/src/trim.ts +195 -0
- package/src/tsconfig.json +10 -4
- package/src/type.ts +51 -2
- package/src/unify.ts +253 -38
- package/src/utility.ts +79 -1
- package/src/val/AggFuncVal.ts +546 -0
- package/src/val/ArithFuncVal.ts +108 -0
- package/src/val/BagVal.ts +158 -12
- package/src/val/CloseFuncVal.ts +9 -1
- package/src/val/ConjunctVal.ts +20 -0
- package/src/val/ConstraintVal.ts +576 -48
- package/src/val/ContainerKindVal.ts +158 -0
- package/src/val/CopyFuncVal.ts +0 -1
- package/src/val/Decimal.ts +15 -0
- package/src/val/DeprecateFuncVal.ts +84 -0
- package/src/val/DisjunctVal.ts +282 -59
- package/src/val/EachFuncVal.ts +133 -0
- package/src/val/ExpectVal.ts +65 -8
- package/src/val/FeatureVal.ts +1 -1
- package/src/val/FilterFuncVal.ts +154 -0
- package/src/val/FuncBaseVal.ts +206 -2
- package/src/val/GraphAtomVal.ts +264 -0
- package/src/val/HideFuncVal.ts +0 -2
- package/src/val/JunctionVal.ts +24 -1
- package/src/val/KeyFuncVal.ts +39 -35
- package/src/val/ListVal.ts +101 -15
- package/src/val/LowerFuncVal.ts +0 -1
- package/src/val/MapVal.ts +153 -14
- 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 +20 -1
- package/src/val/OpenFuncVal.ts +4 -2
- package/src/val/PackFuncVal.ts +175 -0
- package/src/val/PathFuncVal.ts +107 -20
- package/src/val/PathVal.ts +221 -0
- package/src/val/PlaceVal.ts +193 -0
- package/src/val/PlusOpVal.ts +67 -39
- package/src/val/PrefFuncVal.ts +0 -1
- package/src/val/PrefVal.ts +251 -60
- package/src/val/RecurseVal.ts +285 -0
- package/src/val/RefVal.ts +183 -78
- package/src/val/ReferFuncVal.ts +732 -0
- package/src/val/ScalarKindVal.ts +12 -13
- package/src/val/SuperFuncVal.ts +137 -13
- package/src/val/TopVal.ts +1 -2
- package/src/val/TypeFuncVal.ts +0 -2
- package/src/val/UpperFuncVal.ts +0 -1
- package/src/val/Val.ts +216 -4
- package/src/val/VarVal.ts +0 -1
- package/src/val/arith.ts +319 -0
- package/src/vet.ts +1025 -0
- package/src/view.ts +2563 -0
- package/src/walk.ts +99 -0
package/dist/sig.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sig.js","sourceRoot":"","sources":["../src/sig.ts"],"names":[],"mappings":"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"}
|
package/dist/sigdecl.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Copyright (c) 2021-2026 Richard Rodger, MIT License */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SIGDECL = void 0;
|
|
5
|
+
// GENERATED by ts/scripts/sigdecl.cjs (`make sig`) from
|
|
6
|
+
// test/spec/signature.tsv — DO NOT EDIT. The declaration is the
|
|
7
|
+
// source (docs/design/SIGNATURES.0.md); ts/test/sig.test.ts asserts
|
|
8
|
+
// this copy is identical with the shared file.
|
|
9
|
+
const SIGDECL = "# The call surface: one declaration line per built-in function\n# (docs/design/SIGNATURES.0.md). THIS FILE IS THE SOURCE — both ports\n# carry a build-time-inlined copy (ts/src/sigdecl.ts, go/sigdecl.txt;\n# `make sig` regenerates both, and each port's suite asserts its copy\n# is byte-identical with this file) and parse it at initialisation\n# with the signature grammar, a tabnas grammar (ts/src/sig.ts,\n# go/sig.go). The suites also round-trip every line:\n# render(parse(line)) must be the line exactly, in both ports.\n#\n# The syntax (rendered TypeScript-ish, honest about argument MODES):\n# line = name '(' [ arg {',' arg} ] ')' ':' type\n# arg = [mode] name ['?'] ':' type\n# | '...' name ':' '(' [mode] type {',' [mode] type} ')'\n# type = word {'|' word}\n# mode = 'capture' | 'template' | 'trial' | 'projector' | 'text'\n# `value` mode is unmarked. `constraint` is the result word for\n# residuals whose meet depends on the peer; `any` is the honest type\n# where a function is a wrapper.\nupper(s: string|number) : string\nlower(s: string|number) : string\ncopy(v: any) : any\npref(v: any) : any\nsuper(t: any) : any\ntype(t: any) : any\nhide(v: any) : any\nclose(m: any) : any\nopen(m: any) : any\nmove(v: any) : any\npath(capture p?: path) : path\nmap() : map\nlist() : list\nmin(n: number|string) : constraint\nmax(n: number|string) : constraint\nabove(n: number|string) : constraint\nbelow(n: number|string) : constraint\nre(text p: string) : constraint\nlength(n: number|constraint) : constraint\nkey(up?: integer|biginteger) : string\nunique(projector k?: string) : constraint\nneq(...vals: number|string) : constraint\nmust(trial c: any, text msg: string) : constraint\ndeprecate(v: any, r?: map) : any\nacyclic() : constraint\ninverse(projector k: string) : constraint\nrefer(template t?: any) : constraint\nrel(template t?: any) : constraint\npack(d: map|list, template t: any) : map\neach(d: map|list, template t?: any) : list\nfilter(d: map|list, trial c: any) : map|list\nmatch(s: any, ...pr: (trial any, any), dflt?: any) : any\nadd(a: number, b: number) : number\nsub(a: number, b: number) : number\nmul(a: number, b: number) : number\ndiv(a: number, b: number) : number\nmod(a: number, b: number) : number\nrem(a: number, b: number) : number\nsum(d: map|list) : number\nleast(d: map|list) : number\ngreatest(d: map|list) : number\npick(d: map|list, projector k: string|integer) : any\njoin(d: map|list, sep?: string) : string\n";
|
|
10
|
+
exports.SIGDECL = SIGDECL;
|
|
11
|
+
//# sourceMappingURL=sigdecl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sigdecl.js","sourceRoot":"","sources":["../src/sigdecl.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAEzD,wDAAwD;AACxD,gEAAgE;AAChE,oEAAoE;AACpE,+CAA+C;AAE/C,MAAM,OAAO,GACb,46EAA46E,CAAA;QAEn6E,OAAO"}
|
package/dist/siggate.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Copyright (c) 2021-2026 Richard Rodger, MIT License */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.sigRefuse = sigRefuse;
|
|
5
|
+
const err_1 = require("./err");
|
|
6
|
+
const sig_1 = require("./sig");
|
|
7
|
+
const ScalarKindVal_1 = require("./val/ScalarKindVal");
|
|
8
|
+
// The scalar-kind words the gate enforces, each to its lattice
|
|
9
|
+
// marker. A declared type is gate-checkable only when EVERY union
|
|
10
|
+
// word is here: `any`, `constraint`, and the container words leave
|
|
11
|
+
// the argument to the builtin.
|
|
12
|
+
const SIG_KIND = new Map([
|
|
13
|
+
['string', String],
|
|
14
|
+
['number', Number],
|
|
15
|
+
['integer', ScalarKindVal_1.Integer],
|
|
16
|
+
['float', ScalarKindVal_1.Float],
|
|
17
|
+
['biginteger', ScalarKindVal_1.BigInteger],
|
|
18
|
+
['bigdecimal', ScalarKindVal_1.BigDecimal],
|
|
19
|
+
['boolean', Boolean],
|
|
20
|
+
['path', ScalarKindVal_1.Path],
|
|
21
|
+
]);
|
|
22
|
+
function gateWords(type) {
|
|
23
|
+
const out = [];
|
|
24
|
+
for (const word of type.split('|')) {
|
|
25
|
+
const marker = SIG_KIND.get(word);
|
|
26
|
+
if (undefined === marker) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
out.push(marker);
|
|
30
|
+
}
|
|
31
|
+
return out;
|
|
32
|
+
}
|
|
33
|
+
// The declared type admits a driven Val when the Val is a concrete
|
|
34
|
+
// scalar whose leaf kind is, or sits below, one of the declared
|
|
35
|
+
// words -- the same walk subsumption makes, so `number` admits every
|
|
36
|
+
// numeric leaf and `string` admits a path value.
|
|
37
|
+
function admits(markers, arg) {
|
|
38
|
+
const leaf = arg.superior?.();
|
|
39
|
+
if (true !== arg.isScalar || true !== leaf?.isScalarKind) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
for (const marker of markers) {
|
|
43
|
+
if (marker === leaf.peg || (0, ScalarKindVal_1.kindSubsumes)(marker, leaf.peg)) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
// The gate. Answers the func_arg refusal, or undefined to let the
|
|
50
|
+
// call resolve.
|
|
51
|
+
function sigRefuse(ctx, fn, args) {
|
|
52
|
+
const sig = sig_1.funcSig[fn.funcname()];
|
|
53
|
+
// key() reads its level off the written peg and `key_level` names
|
|
54
|
+
// what is wrong with a bad one; the gate leaves the meaning where
|
|
55
|
+
// it lives.
|
|
56
|
+
if (undefined === sig || 'key' === sig.name) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
for (let i = 0; i < sig.args.length; i++) {
|
|
60
|
+
const a = sig.args[i];
|
|
61
|
+
if (true === a.rest) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
if ('value' !== a.mode) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
const markers = gateWords(a.type);
|
|
68
|
+
if (undefined === markers) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const arg = args[i];
|
|
72
|
+
if (undefined === arg || true === arg.isNil || true !== arg.done) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const shaped = (true === arg.isScalar) ||
|
|
76
|
+
(true === arg.isMap) || (true === arg.isList) ||
|
|
77
|
+
(true === arg.isScalarKind);
|
|
78
|
+
if (shaped && !admits(markers, arg)) {
|
|
79
|
+
return (0, err_1.makeNilErr)(ctx, 'func_arg', fn, arg, undefined, {
|
|
80
|
+
func: sig.name,
|
|
81
|
+
sig: (0, sig_1.renderSig)(sig),
|
|
82
|
+
arg: a.name,
|
|
83
|
+
argn: '' + (i + 1),
|
|
84
|
+
got: arg.canon,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return undefined;
|
|
89
|
+
} /* node:coverage ignore next 5 */
|
|
90
|
+
//# sourceMappingURL=siggate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siggate.js","sourceRoot":"","sources":["../src/siggate.ts"],"names":[],"mappings":"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"}
|
package/dist/site.d.ts
CHANGED
|
@@ -3,11 +3,15 @@ type SiteSpec = {
|
|
|
3
3
|
row?: number;
|
|
4
4
|
col?: number;
|
|
5
5
|
url?: string;
|
|
6
|
+
len?: number;
|
|
7
|
+
src?: string;
|
|
6
8
|
};
|
|
7
9
|
declare class Site {
|
|
8
10
|
row: number;
|
|
9
11
|
col: number;
|
|
10
12
|
url: string;
|
|
13
|
+
len: number;
|
|
14
|
+
src: string;
|
|
11
15
|
constructor(val?: Val | SiteSpec);
|
|
12
16
|
}
|
|
13
17
|
export { Site, };
|
package/dist/site.js
CHANGED
|
@@ -2,12 +2,43 @@
|
|
|
2
2
|
/* Copyright (c) 2021-2025 Richard Rodger, MIT License */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.Site = void 0;
|
|
5
|
+
// Site locates a value in the text that produced it: where it starts
|
|
6
|
+
// (row, col), HOW FAR IT RUNS (len), and the source text itself (src).
|
|
7
|
+
//
|
|
8
|
+
// THE EXTENT IS NOT OPTIONAL DETAIL — it is what makes a site safe to
|
|
9
|
+
// edit. Without it the only length available is the CANON, and canon is
|
|
10
|
+
// not source text: `port: 0x1F` has canon `31`, so replacing
|
|
11
|
+
// `(col, canon.length)` writes `port: 5x1F` and corrupts the document.
|
|
12
|
+
// The parser knew the extent all along — the token carries `len` and
|
|
13
|
+
// `src` beside the `rI`/`cI` this already read — and dropping it was
|
|
14
|
+
// the whole defect (status report 2026-08-21, §5).
|
|
15
|
+
//
|
|
16
|
+
// WHAT THE EXTENT COVERS is the TOKEN THE SITE POINTS AT, which is the
|
|
17
|
+
// same thing row and col have always pointed at:
|
|
18
|
+
//
|
|
19
|
+
// 0x1F a scalar literal len 4 the whole literal
|
|
20
|
+
// "hi there" a string len 10 quotes included
|
|
21
|
+
// {x:1} a map len 1 the opening brace
|
|
22
|
+
// min(3) a constraint len 3 the name, not the call
|
|
23
|
+
//
|
|
24
|
+
// So for a SCALAR — which is what a repair edits, and what `set` and
|
|
25
|
+
// the manual fallback rewrite — `(col, len)` is exactly the span to
|
|
26
|
+
// replace. For a container it under-reaches to the opening delimiter,
|
|
27
|
+
// which is safe in the direction that matters: a highlight that is too
|
|
28
|
+
// short is a cosmetic flaw, while canon.length on a map over-reaches
|
|
29
|
+
// across lines into text the value never occupied.
|
|
30
|
+
//
|
|
31
|
+
// -1 and '' mean UNKNOWN, the same convention row and col already use:
|
|
32
|
+
// a value minted by unification rather than written by a document has
|
|
33
|
+
// no site, and must not be edited as though it had one.
|
|
5
34
|
class Site {
|
|
6
35
|
constructor(val) {
|
|
7
36
|
const site = (val?.site ?? val);
|
|
8
37
|
this.row = site?.row ?? -1;
|
|
9
38
|
this.col = site?.col ?? -1;
|
|
10
39
|
this.url = site?.url ?? '';
|
|
40
|
+
this.len = site?.len ?? -1;
|
|
41
|
+
this.src = site?.src ?? '';
|
|
11
42
|
}
|
|
12
43
|
} /* node:coverage ignore next 6 */
|
|
13
44
|
exports.Site = Site;
|
package/dist/site.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site.js","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;
|
|
1
|
+
{"version":3,"file":"site.js","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,qEAAqE;AACrE,uEAAuE;AACvE,EAAE;AACF,sEAAsE;AACtE,wEAAwE;AACxE,6DAA6D;AAC7D,uEAAuE;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,mDAAmD;AACnD,EAAE;AACF,uEAAuE;AACvE,iDAAiD;AACjD,EAAE;AACF,8DAA8D;AAC9D,4DAA4D;AAC5D,8DAA8D;AAC9D,mEAAmE;AACnE,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,mDAAmD;AACnD,EAAE;AACF,uEAAuE;AACvE,sEAAsE;AACtE,wDAAwD;AACxD,MAAM,IAAI;IAOR,YAAY,GAAoB;QAC9B,MAAM,IAAI,GAAG,CAAE,GAAW,EAAE,IAAI,IAAI,GAAG,CAAa,CAAA;QAEpD,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAA;IAC5B,CAAC;CACF,CAAC,iCAAiC;QAIjC,IAAI"}
|
package/dist/std.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const STD_SOURCES: Record<string, string>;
|
package/dist/std.js
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Copyright (c) 2025 Richard Rodger, MIT License */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.STD_SOURCES = void 0;
|
|
5
|
+
// THE BUNDLED VOCABULARY (G4 phase 4,
|
|
6
|
+
// docs/capability-review/g4-identity-relations.md): `@"std/system"` is
|
|
7
|
+
// served from the engine itself — no filesystem, no package resolution
|
|
8
|
+
// — so a document may use it under every include capability except
|
|
9
|
+
// `none`, and the hermeticity posture is not widened by a source that
|
|
10
|
+
// never leaves the process.
|
|
11
|
+
//
|
|
12
|
+
// The TEXT is the shared artifact: go/std.go carries the same bytes,
|
|
13
|
+
// and test/spec/std-system.tsv pins its canon and its canon-hash in
|
|
14
|
+
// both engines, so the two copies cannot drift without a red suite.
|
|
15
|
+
// It carries no backtick for that reason: one string literal per port,
|
|
16
|
+
// and Go's raw string has no escape.
|
|
17
|
+
const STD_SYSTEM = `# std/system --- the SYSTEM VOCABULARY (G4 phase 4). Ports, components
|
|
18
|
+
# and relations need no syntax: they are schemas. Everything here is
|
|
19
|
+
# ordinary unification --- conjunction, spreads, marks, defaults ---
|
|
20
|
+
# so the vocabulary costs the language nothing, and an author who wants
|
|
21
|
+
# a different one writes it the same way.
|
|
22
|
+
#
|
|
23
|
+
# EXPERIMENTAL until the distribution layer can version it by
|
|
24
|
+
# canon-hash. Entity ids deliberately do NOT embed versions: fusing
|
|
25
|
+
# identity and version makes "v1 and v2 describe the same entity"
|
|
26
|
+
# inexpressible.
|
|
27
|
+
|
|
28
|
+
std: {
|
|
29
|
+
|
|
30
|
+
# One end of a connection.
|
|
31
|
+
Port: type({
|
|
32
|
+
direction: *in | out | inout
|
|
33
|
+
protocol?: string
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
# A node with ports. Where a Component sits in the tree is what it
|
|
37
|
+
# is a component OF -- containment is the document's own structure
|
|
38
|
+
# and needs no mark of its own.
|
|
39
|
+
Component: type({
|
|
40
|
+
ports?: {&: $.std.Port}
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
# A component that is a service. Written out rather than as
|
|
44
|
+
# $.std.Component & {kind: service}: a reference from one member of
|
|
45
|
+
# this file to another does not survive being INCLUDED into a
|
|
46
|
+
# document (the marks the include carries make the referring member
|
|
47
|
+
# unusable), so the vocabulary states each schema on its own.
|
|
48
|
+
Service: type({
|
|
49
|
+
kind: service
|
|
50
|
+
ports?: {&: $.std.Port}
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
# (The Relation schema that used to sit here is retired with the
|
|
54
|
+
# relations: magic key, RELATIONS.0.md P2: a relation is declared
|
|
55
|
+
# by the graph atoms at its field -- rel(t) & acyclic() &
|
|
56
|
+
# inverse(name) -- and the target half is rel(t)'s flow.)
|
|
57
|
+
}
|
|
58
|
+
`;
|
|
59
|
+
const STD_VIEW = `# std/view --- the FIGURE VOCABULARY (VIEWS.0.md, "6. The view
|
|
60
|
+
# document"). A view document declares its figures as data, and a
|
|
61
|
+
# declaration is just a map: this is the schema for one, so a typo is
|
|
62
|
+
# refused where every other mistake in an Aontu document is refused --
|
|
63
|
+
# at evaluation, by unification -- rather than by the verb that reads
|
|
64
|
+
# it afterwards.
|
|
65
|
+
#
|
|
66
|
+
# @"std/view"
|
|
67
|
+
# @"./system.aon"
|
|
68
|
+
#
|
|
69
|
+
# views: {&: $.view.Figure} & {
|
|
70
|
+
# arch: {kind: matrix, order: partition, out: "docs/arch.dsm.txt"}
|
|
71
|
+
# }
|
|
72
|
+
#
|
|
73
|
+
# The keys ARE the view options: the command-line flags without the
|
|
74
|
+
# dashes, one vocabulary for the CLI, the library and the file. The
|
|
75
|
+
# poset is not among the kinds, because a view document declares
|
|
76
|
+
# figures of the ONE document it includes and the poset compares
|
|
77
|
+
# several.
|
|
78
|
+
#
|
|
79
|
+
# EXPERIMENTAL until the distribution layer can version it by
|
|
80
|
+
# canon-hash. This file carries no backtick: it is one string literal
|
|
81
|
+
# per port, and Go raw strings have no escape.
|
|
82
|
+
|
|
83
|
+
view: {
|
|
84
|
+
|
|
85
|
+
# One declared figure. The kind says what to draw and out says where
|
|
86
|
+
# it belongs; everything else narrows the drawing, and each option
|
|
87
|
+
# belongs to the kinds that read it.
|
|
88
|
+
Figure: type({
|
|
89
|
+
kind: tree | matrix | graph | layer | sets | layers | ladder
|
|
90
|
+
out: string
|
|
91
|
+
|
|
92
|
+
# Every kind.
|
|
93
|
+
as?: text | mermaid | dot | er | svg
|
|
94
|
+
at?: string
|
|
95
|
+
maxRows?: integer & min(0)
|
|
96
|
+
|
|
97
|
+
# tree, matrix, layer: the relation drawn. graph: the predicates
|
|
98
|
+
# kept. tree: the subtrees drawn.
|
|
99
|
+
relation?: string
|
|
100
|
+
relations?: [&: string]
|
|
101
|
+
roots?: [&: string]
|
|
102
|
+
|
|
103
|
+
# matrix.
|
|
104
|
+
order?: canon | partition
|
|
105
|
+
closure?: boolean
|
|
106
|
+
|
|
107
|
+
# graph, layer.
|
|
108
|
+
groupBy?: string
|
|
109
|
+
label?: string
|
|
110
|
+
layers?: [&: string]
|
|
111
|
+
edges?: upward | all | none
|
|
112
|
+
|
|
113
|
+
# sets, layers.
|
|
114
|
+
sets?: string
|
|
115
|
+
member?: string
|
|
116
|
+
universe?: string
|
|
117
|
+
minDegree?: integer & min(0)
|
|
118
|
+
maxCols?: integer & min(0)
|
|
119
|
+
minSize?: integer & min(0)
|
|
120
|
+
})
|
|
121
|
+
}
|
|
122
|
+
`;
|
|
123
|
+
exports.STD_SOURCES = {
|
|
124
|
+
'std/system': STD_SYSTEM,
|
|
125
|
+
'std/system.aon': STD_SYSTEM,
|
|
126
|
+
'std/view': STD_VIEW,
|
|
127
|
+
'std/view.aon': STD_VIEW,
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=std.js.map
|
package/dist/std.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"std.js","sourceRoot":"","sources":["../src/std.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,sCAAsC;AACtC,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,sEAAsE;AACtE,4BAA4B;AAC5B,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,uEAAuE;AACvE,qCAAqC;AAErC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAA;AAGD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DhB,CAAA;AAGY,QAAA,WAAW,GAA2B;IACjD,YAAY,EAAE,UAAU;IACxB,gBAAgB,EAAE,UAAU;IAC5B,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;CACzB,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { TrustOptions } from './type';
|
|
2
|
+
import type { VetFinding } from './vet';
|
|
3
|
+
export type SubsumeVerdict = 'subsumes' | 'does_not_subsume' | 'undecided' | 'error';
|
|
4
|
+
export type SubsumeProfile = 'values' | 'defaults' | 'gen';
|
|
5
|
+
export type SubsumeOptions = {
|
|
6
|
+
profile?: SubsumeProfile;
|
|
7
|
+
at?: string;
|
|
8
|
+
generalUrl?: string;
|
|
9
|
+
specificUrl?: string;
|
|
10
|
+
generalPath?: string;
|
|
11
|
+
specificPath?: string;
|
|
12
|
+
trust?: TrustOptions;
|
|
13
|
+
};
|
|
14
|
+
export type SubsumeReport = {
|
|
15
|
+
verdict: SubsumeVerdict;
|
|
16
|
+
findings: VetFinding[];
|
|
17
|
+
};
|
|
18
|
+
type SubState = {
|
|
19
|
+
profile: SubsumeProfile;
|
|
20
|
+
distributing?: boolean;
|
|
21
|
+
findings: VetFinding[];
|
|
22
|
+
generalUrl: string;
|
|
23
|
+
specificUrl: string;
|
|
24
|
+
};
|
|
25
|
+
type Tri = 'yes' | 'no' | 'undecided';
|
|
26
|
+
export declare function effectiveDefault(v: any): any;
|
|
27
|
+
export declare function subsumeNode(state: SubState, path: string[], g0: any, s0: any): Tri;
|
|
28
|
+
/**
|
|
29
|
+
* Does `generalSrc` subsume `specificSrc` — is every instance the
|
|
30
|
+
* specific admits admitted by the general too?
|
|
31
|
+
*
|
|
32
|
+
* Both sources are evaluated fresh (single-use trees make this
|
|
33
|
+
* mandatory), and the recursion runs on the finished values. The
|
|
34
|
+
* verdict is three-valued plus `error` (a source that does not stand up
|
|
35
|
+
* on its own, mirroring vet's schema-error verdict); findings reuse
|
|
36
|
+
* G2's object with class `compat`.
|
|
37
|
+
*/
|
|
38
|
+
export declare function subsume(generalSrc: string, specificSrc: string, opts?: SubsumeOptions): SubsumeReport;
|
|
39
|
+
export {};
|