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/README.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# aontu
|
|
2
|
+
|
|
3
|
+
**JSON structure unifier.** A small language, and an engine that merges
|
|
4
|
+
partial structures into one consistent result — or reports exactly
|
|
5
|
+
where they conflict.
|
|
6
|
+
|
|
7
|
+
Schema, defaults and data are the same kind of thing, combined by one
|
|
8
|
+
operation: *unification*. Any JSON document is already valid Aontu, so
|
|
9
|
+
an agent's output can be checked against a definition with no
|
|
10
|
+
conversion step.
|
|
11
|
+
|
|
12
|
+
```sh
|
|
13
|
+
npm install -g aontu
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## The 30-second version
|
|
17
|
+
|
|
18
|
+
```aontu
|
|
19
|
+
# a schema, a default, and data — one notation, one operation
|
|
20
|
+
port: integer
|
|
21
|
+
port: *8080 | integer
|
|
22
|
+
host: string
|
|
23
|
+
host: "localhost"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```sh
|
|
27
|
+
$ aontu service.aon
|
|
28
|
+
{ "host": "localhost", "port": 8080 }
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
A second `port: "high"` does not overwrite anything: it is a located
|
|
32
|
+
conflict, reported with both sites.
|
|
33
|
+
|
|
34
|
+
## Validate, query, explain
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
aontu vet service.aon deploy.json # does this data satisfy this schema?
|
|
38
|
+
aontu get '$.services.auth' sys.aon # one evaluated slice
|
|
39
|
+
aontu why '$.services.auth.port' sys.aon # what contributed, and where
|
|
40
|
+
aontu breaking --against git#main sys.aon # is the new version compatible?
|
|
41
|
+
aontu hash sys.aon # a pin over MEANING, not bytes
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
`vet` exits by verdict class (0 valid, 1 invalid, 3 incomplete, 4 the
|
|
45
|
+
schema itself is broken), so an agent loop can branch on it, and speaks
|
|
46
|
+
JSON and SARIF as well as text.
|
|
47
|
+
|
|
48
|
+
There is also an MCP server (`aontu-mcp`) exposing `vet`, `get`, `why`,
|
|
49
|
+
`diff`, `canon` and `summary` over the same contracts the CLI prints,
|
|
50
|
+
and a language server (`aontu-lsp`).
|
|
51
|
+
|
|
52
|
+
## Library
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
const { Aontu, vet } = require('aontu')
|
|
56
|
+
|
|
57
|
+
const report = vet(schemaSrc, dataSrc, { trust: { include: 'none' } })
|
|
58
|
+
report.verdict // 'valid' | 'invalid' | 'incomplete' | 'error'
|
|
59
|
+
report.findings // located, coded, with the sites that conflicted
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Evaluating a document you did not write runs it.** `@"…"` resolves
|
|
63
|
+
through the filesystem and package chain by default, so pass a `trust`
|
|
64
|
+
profile — `{ include: 'none' }`, a virtual file set, or a confined
|
|
65
|
+
root — whenever the source is not yours. See
|
|
66
|
+
[the trust contract](https://github.com/rjrodger/aontu/blob/main/docs/trust.md).
|
|
67
|
+
|
|
68
|
+
## Two implementations, one specification
|
|
69
|
+
|
|
70
|
+
TypeScript (this package) is canonical; a Go port
|
|
71
|
+
(`github.com/aontu-lang/aontu/go`) mirrors it. Both are checked against
|
|
72
|
+
one language-agnostic suite of `.tsv` rows, so the same document means
|
|
73
|
+
the same thing in a Node agent harness and a Go gateway.
|
|
74
|
+
|
|
75
|
+
## Documentation
|
|
76
|
+
|
|
77
|
+
- [Documentation home](https://github.com/rjrodger/aontu/blob/main/docs/index.md)
|
|
78
|
+
- [Tutorial](https://github.com/rjrodger/aontu/blob/main/docs/tutorial.md)
|
|
79
|
+
- [Language reference](https://github.com/rjrodger/aontu/blob/main/docs/reference-language.md)
|
|
80
|
+
- [API and CLI reference](https://github.com/rjrodger/aontu/blob/main/docs/reference-api.md)
|
|
81
|
+
- [Agent skill](https://github.com/rjrodger/aontu/blob/main/docs/skill/SKILL.md)
|
|
82
|
+
|
|
83
|
+
Aontu is inspired by [CUE](https://cuelang.org/), as a
|
|
84
|
+
purpose-specific dialect.
|
|
85
|
+
|
|
86
|
+
## License
|
|
87
|
+
|
|
88
|
+
MIT
|
package/bin/aontu-mcp.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TrustOptions } from './type';
|
|
2
|
+
import type { VetFinding } from './vet';
|
|
3
|
+
export declare const AGENTSMD_BEGIN = "<!-- aontu:begin -->";
|
|
4
|
+
export declare const AGENTSMD_END = "<!-- aontu:end -->";
|
|
5
|
+
export type AgentsMdReport = {
|
|
6
|
+
findings: VetFinding[];
|
|
7
|
+
ok: boolean;
|
|
8
|
+
stanza: string;
|
|
9
|
+
};
|
|
10
|
+
export type AgentsMdOptions = {
|
|
11
|
+
name?: string;
|
|
12
|
+
path?: string;
|
|
13
|
+
trust?: TrustOptions;
|
|
14
|
+
};
|
|
15
|
+
export declare function agentsMd(src: string, opts?: AgentsMdOptions): AgentsMdReport;
|
|
16
|
+
export declare function agentsMdSplice(existing: string, stanza: string): string;
|
package/dist/agentsmd.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Copyright (c) 2025 Richard Rodger, MIT License */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AGENTSMD_END = exports.AGENTSMD_BEGIN = void 0;
|
|
5
|
+
exports.agentsMd = agentsMd;
|
|
6
|
+
exports.agentsMdSplice = agentsMdSplice;
|
|
7
|
+
// THE AGENTS.md STANZA (G7 phase 6,
|
|
8
|
+
// docs/capability-review/g7-machine-access.md): generated FROM the
|
|
9
|
+
// definition, so the prose entrypoint cannot drift from the formal
|
|
10
|
+
// source it points at.
|
|
11
|
+
//
|
|
12
|
+
// A hand-written "here is where the config lives" paragraph is stale
|
|
13
|
+
// the first time a key is renamed. This one is derived: the root keys
|
|
14
|
+
// come from the document, the pin comes from G6's canon-hash, and the
|
|
15
|
+
// commands are spelled with paths that exist. Re-running the verb
|
|
16
|
+
// after an edit produces the stanza that edit implies.
|
|
17
|
+
const aontu_1 = require("./aontu");
|
|
18
|
+
const hcanon_1 = require("./hcanon");
|
|
19
|
+
const query_1 = require("./query");
|
|
20
|
+
const query_2 = require("./query");
|
|
21
|
+
const keyorder_1 = require("./keyorder");
|
|
22
|
+
// The markers an update rewrites between. A stanza outside them is
|
|
23
|
+
// prose someone wrote, and is left alone.
|
|
24
|
+
exports.AGENTSMD_BEGIN = '<!-- aontu:begin -->';
|
|
25
|
+
exports.AGENTSMD_END = '<!-- aontu:end -->';
|
|
26
|
+
// The stanza for one document.
|
|
27
|
+
function agentsMd(src, opts) {
|
|
28
|
+
const options = opts ?? {};
|
|
29
|
+
const name = options.name ?? 'the definition';
|
|
30
|
+
const aontu = new aontu_1.Aontu(null == options.trust ? undefined : { trust: options.trust });
|
|
31
|
+
const ctx = aontu.ctx({ collect: true });
|
|
32
|
+
const parseOpts = null == options.path ? undefined : { path: options.path };
|
|
33
|
+
const v = aontu.unify(src, parseOpts, ctx);
|
|
34
|
+
if (0 < ctx.err.length) {
|
|
35
|
+
return { findings: [(0, query_2.evalFailure)(ctx)], ok: false, stanza: '' };
|
|
36
|
+
}
|
|
37
|
+
const keys = true === v.isMap ? Object.keys(v.peg).sort(keyorder_1.cmpCodePoint) : [];
|
|
38
|
+
const shape = (0, query_1.get)(src, '$', { view: 'types', depth: 2, path: options.path });
|
|
39
|
+
// A REAL path, so the example command works as written: the first
|
|
40
|
+
// root key when there is one, the root itself when there is not.
|
|
41
|
+
const example = 0 < keys.length ? '$.' + keys[0] : '$';
|
|
42
|
+
const lines = [
|
|
43
|
+
exports.AGENTSMD_BEGIN,
|
|
44
|
+
'## Ground truth: `' + name + '`',
|
|
45
|
+
'',
|
|
46
|
+
'The values below are DERIVED from `' + name + '`, an Aontu',
|
|
47
|
+
'definition. Do not restate them here — read them from the source,',
|
|
48
|
+
'which is the only copy that cannot go stale.',
|
|
49
|
+
'',
|
|
50
|
+
'- Pin: `' + (0, hcanon_1.canonHash)(v) + '`',
|
|
51
|
+
' (the canon-hash: it survives reformatting and moves on any',
|
|
52
|
+
' change of meaning — `aontu hash ' + name + '` re-derives it)',
|
|
53
|
+
'- Top-level keys: ' +
|
|
54
|
+
(0 === keys.length ? '_none_' : keys.map((k) => '`' + k + '`').join(', ')),
|
|
55
|
+
'- Shape: `' + shape.out + '`',
|
|
56
|
+
'',
|
|
57
|
+
'How to work with it:',
|
|
58
|
+
'',
|
|
59
|
+
'```',
|
|
60
|
+
'# what does it say at a path?',
|
|
61
|
+
'aontu get ' + example + ' ' + name,
|
|
62
|
+
'',
|
|
63
|
+
'# why does that value hold?',
|
|
64
|
+
'aontu why ' + example + ' ' + name,
|
|
65
|
+
'',
|
|
66
|
+
'# does my document satisfy it?',
|
|
67
|
+
'aontu vet ' + name + ' mine.aon',
|
|
68
|
+
'',
|
|
69
|
+
'# change it without editing it',
|
|
70
|
+
'aontu set ' + example + '=<value> --entry ' + name +
|
|
71
|
+
' --overlay overlay.aon',
|
|
72
|
+
'```',
|
|
73
|
+
'',
|
|
74
|
+
'Regenerate this section with `aontu agentsmd ' + name + '`.',
|
|
75
|
+
exports.AGENTSMD_END,
|
|
76
|
+
];
|
|
77
|
+
return { findings: [], ok: true, stanza: lines.join('\n') + '\n' };
|
|
78
|
+
}
|
|
79
|
+
// Splice the stanza into an existing document: replace what stands
|
|
80
|
+
// between the markers, or append when there is nothing to replace. A
|
|
81
|
+
// document is otherwise LEFT ALONE — the rest of an AGENTS.md is
|
|
82
|
+
// someone's prose, and a generator that rewrote it would be a
|
|
83
|
+
// generator nobody dared run twice.
|
|
84
|
+
function agentsMdSplice(existing, stanza) {
|
|
85
|
+
const from = existing.indexOf(exports.AGENTSMD_BEGIN);
|
|
86
|
+
const to = existing.indexOf(exports.AGENTSMD_END);
|
|
87
|
+
if (from < 0 || to < from) {
|
|
88
|
+
const head = '' === existing || existing.endsWith('\n')
|
|
89
|
+
? existing : existing + '\n';
|
|
90
|
+
return head + ('' === existing ? '' : '\n') + stanza;
|
|
91
|
+
}
|
|
92
|
+
// Skip the end marker's line terminator, whatever it is, and only if
|
|
93
|
+
// it is there. The full note is on the Go twin (go/agentsmd.go): `+1`
|
|
94
|
+
// assumed one byte and got the CR of a CRLF document, leaving the LF
|
|
95
|
+
// to become a blank line on every regeneration -- and past the end of
|
|
96
|
+
// a document whose marker is its last content, where Go panicked and
|
|
97
|
+
// this side quietly did not.
|
|
98
|
+
let end = to + exports.AGENTSMD_END.length;
|
|
99
|
+
if ('\r' === existing[end]) {
|
|
100
|
+
end++;
|
|
101
|
+
}
|
|
102
|
+
if ('\n' === existing[end]) {
|
|
103
|
+
end++;
|
|
104
|
+
}
|
|
105
|
+
return existing.slice(0, from) + stanza + existing.slice(end);
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=agentsmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentsmd.js","sourceRoot":"","sources":["../src/agentsmd.ts"],"names":[],"mappings":"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"}
|
package/dist/aontu.d.ts
CHANGED
|
@@ -4,8 +4,20 @@ import { AontuContext, AontuContextConfig } from './ctx';
|
|
|
4
4
|
import { Decimal } from './val/Decimal';
|
|
5
5
|
import { exactJSON } from './exactjson';
|
|
6
6
|
import { formatExplain } from './utility';
|
|
7
|
-
import { AontuError } from './err';
|
|
8
|
-
|
|
7
|
+
import { AontuError, setColor, colorActive } from './err';
|
|
8
|
+
import { vet } from './vet';
|
|
9
|
+
import { sarifReport } from './report-sarif';
|
|
10
|
+
import { subsume } from './subsume';
|
|
11
|
+
import { trimCheck } from './trim';
|
|
12
|
+
import { hcanon, canonHash } from './hcanon';
|
|
13
|
+
import { get, why } from './query';
|
|
14
|
+
import { patch } from './patch';
|
|
15
|
+
import { diff } from './diff';
|
|
16
|
+
import { agentsMd } from './agentsmd';
|
|
17
|
+
import { graphOf } from './graph';
|
|
18
|
+
import { relationCheck } from './relation';
|
|
19
|
+
import { view, viewSet, viewTree } from './view';
|
|
20
|
+
declare const VERSION = "0.54.0";
|
|
9
21
|
declare class Aontu {
|
|
10
22
|
opts: AontuOptions;
|
|
11
23
|
lang: Lang;
|
|
@@ -19,5 +31,5 @@ declare function runparse(src: string, lang: Lang, ctx: AontuContext): Val;
|
|
|
19
31
|
declare const util: {
|
|
20
32
|
runparse: typeof runparse;
|
|
21
33
|
};
|
|
22
|
-
export { VERSION, Aontu, AontuOptions, AontuContext, AontuError, Val, Lang, runparse, util, formatExplain, exactJSON, Decimal, };
|
|
34
|
+
export { VERSION, Aontu, AontuOptions, AontuContext, AontuError, setColor, colorActive, Val, Lang, runparse, util, formatExplain, exactJSON, Decimal, vet, sarifReport, subsume, trimCheck, hcanon, canonHash, get, why, patch, diff, agentsMd, graphOf, relationCheck, view, viewSet, viewTree, };
|
|
23
35
|
export default Aontu;
|
package/dist/aontu.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Copyright (c) 2021-2025 Richard Rodger, MIT License */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Decimal = exports.exactJSON = exports.formatExplain = exports.util = exports.Lang = exports.AontuError = exports.AontuContext = exports.Aontu = exports.VERSION = void 0;
|
|
4
|
+
exports.viewTree = exports.viewSet = exports.view = exports.relationCheck = exports.graphOf = exports.agentsMd = exports.diff = exports.patch = exports.why = exports.get = exports.canonHash = exports.hcanon = exports.trimCheck = exports.subsume = exports.sarifReport = exports.vet = exports.Decimal = exports.exactJSON = exports.formatExplain = exports.util = exports.Lang = exports.colorActive = exports.setColor = exports.AontuError = exports.AontuContext = exports.Aontu = exports.VERSION = void 0;
|
|
5
5
|
exports.runparse = runparse;
|
|
6
6
|
const lang_1 = require("./lang");
|
|
7
7
|
Object.defineProperty(exports, "Lang", { enumerable: true, get: function () { return lang_1.Lang; } });
|
|
@@ -17,6 +17,36 @@ const utility_1 = require("./utility");
|
|
|
17
17
|
Object.defineProperty(exports, "formatExplain", { enumerable: true, get: function () { return utility_1.formatExplain; } });
|
|
18
18
|
const err_1 = require("./err");
|
|
19
19
|
Object.defineProperty(exports, "AontuError", { enumerable: true, get: function () { return err_1.AontuError; } });
|
|
20
|
+
Object.defineProperty(exports, "setColor", { enumerable: true, get: function () { return err_1.setColor; } });
|
|
21
|
+
Object.defineProperty(exports, "colorActive", { enumerable: true, get: function () { return err_1.colorActive; } });
|
|
22
|
+
const vet_1 = require("./vet");
|
|
23
|
+
Object.defineProperty(exports, "vet", { enumerable: true, get: function () { return vet_1.vet; } });
|
|
24
|
+
const report_sarif_1 = require("./report-sarif");
|
|
25
|
+
Object.defineProperty(exports, "sarifReport", { enumerable: true, get: function () { return report_sarif_1.sarifReport; } });
|
|
26
|
+
const subsume_1 = require("./subsume");
|
|
27
|
+
Object.defineProperty(exports, "subsume", { enumerable: true, get: function () { return subsume_1.subsume; } });
|
|
28
|
+
const trim_1 = require("./trim");
|
|
29
|
+
Object.defineProperty(exports, "trimCheck", { enumerable: true, get: function () { return trim_1.trimCheck; } });
|
|
30
|
+
const hcanon_1 = require("./hcanon");
|
|
31
|
+
Object.defineProperty(exports, "hcanon", { enumerable: true, get: function () { return hcanon_1.hcanon; } });
|
|
32
|
+
Object.defineProperty(exports, "canonHash", { enumerable: true, get: function () { return hcanon_1.canonHash; } });
|
|
33
|
+
const query_1 = require("./query");
|
|
34
|
+
Object.defineProperty(exports, "get", { enumerable: true, get: function () { return query_1.get; } });
|
|
35
|
+
Object.defineProperty(exports, "why", { enumerable: true, get: function () { return query_1.why; } });
|
|
36
|
+
const patch_1 = require("./patch");
|
|
37
|
+
Object.defineProperty(exports, "patch", { enumerable: true, get: function () { return patch_1.patch; } });
|
|
38
|
+
const diff_1 = require("./diff");
|
|
39
|
+
Object.defineProperty(exports, "diff", { enumerable: true, get: function () { return diff_1.diff; } });
|
|
40
|
+
const agentsmd_1 = require("./agentsmd");
|
|
41
|
+
Object.defineProperty(exports, "agentsMd", { enumerable: true, get: function () { return agentsmd_1.agentsMd; } });
|
|
42
|
+
const graph_1 = require("./graph");
|
|
43
|
+
Object.defineProperty(exports, "graphOf", { enumerable: true, get: function () { return graph_1.graphOf; } });
|
|
44
|
+
const relation_1 = require("./relation");
|
|
45
|
+
Object.defineProperty(exports, "relationCheck", { enumerable: true, get: function () { return relation_1.relationCheck; } });
|
|
46
|
+
const view_1 = require("./view");
|
|
47
|
+
Object.defineProperty(exports, "view", { enumerable: true, get: function () { return view_1.view; } });
|
|
48
|
+
Object.defineProperty(exports, "viewSet", { enumerable: true, get: function () { return view_1.viewSet; } });
|
|
49
|
+
Object.defineProperty(exports, "viewTree", { enumerable: true, get: function () { return view_1.viewTree; } });
|
|
20
50
|
// VERSION is the Aontu npm package version, and mirrors
|
|
21
51
|
// go/aontu.go's `Version` (which tracks the Go module version
|
|
22
52
|
// separately — the two version series are independent).
|
|
@@ -24,17 +54,52 @@ Object.defineProperty(exports, "AontuError", { enumerable: true, get: function (
|
|
|
24
54
|
// Kept in step with package.json by the `version` npm lifecycle script,
|
|
25
55
|
// which runs on `npm version` / `npm run repo-bump`. version.test.ts
|
|
26
56
|
// fails if the two ever drift.
|
|
27
|
-
const VERSION = '0.
|
|
57
|
+
const VERSION = '0.54.0';
|
|
28
58
|
exports.VERSION = VERSION;
|
|
59
|
+
// A module file's VALUE, as far as it goes. COLLECTED, not raised: a
|
|
60
|
+
// module file that does not stand up has no `mod.main` to read, and
|
|
61
|
+
// the default entry name is the answer -- the resolution itself fails
|
|
62
|
+
// later, on the file that is not there, rather than here on a metadata
|
|
63
|
+
// read. That is what a collecting context does, so there is nothing to
|
|
64
|
+
// catch: it answers what it could generate and records the rest.
|
|
65
|
+
function genQuiet(val, aontu) {
|
|
66
|
+
return val.gen(aontu.ctx({ collect: true }));
|
|
67
|
+
}
|
|
29
68
|
class Aontu {
|
|
30
69
|
constructor(popts) {
|
|
31
70
|
this.opts = popts ?? {};
|
|
71
|
+
this.opts.mod = {
|
|
72
|
+
...(this.opts.mod ?? {}),
|
|
73
|
+
eval: this.opts.mod?.eval ?? ((src, path) => {
|
|
74
|
+
// One deeper: a module verified from inside a module
|
|
75
|
+
// verification is one more level of nesting, and the resolver
|
|
76
|
+
// refuses past its bound (MODULE_MAX_DEPTH in ts/src/mod.ts).
|
|
77
|
+
const inner = new Aontu({
|
|
78
|
+
...this.opts,
|
|
79
|
+
mod: {
|
|
80
|
+
// Never absent: the assignment this closure is part of has
|
|
81
|
+
// already run by the time it is called.
|
|
82
|
+
...this.opts.mod,
|
|
83
|
+
eval: undefined,
|
|
84
|
+
depth: (this.opts.mod?.depth ?? 0) + 1,
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
const ctx = inner.ctx({ collect: true });
|
|
88
|
+
const val = inner.unify(src, { path }, ctx);
|
|
89
|
+
return { gen: genQuiet(val, inner), hash: (0, hcanon_1.canonHash)(val) };
|
|
90
|
+
}),
|
|
91
|
+
};
|
|
32
92
|
this.lang = new lang_1.Lang(this.opts);
|
|
33
93
|
}
|
|
34
94
|
// Create a new context.
|
|
35
95
|
ctx(cfg) {
|
|
36
96
|
cfg = cfg ?? {};
|
|
37
97
|
cfg.fs = cfg.fs ?? this.opts.fs;
|
|
98
|
+
// The trust profile rides the instance (its resolver is built once,
|
|
99
|
+
// in the Lang constructor); the context needs it too, for the
|
|
100
|
+
// budgets (G5, docs/trust.md).
|
|
101
|
+
cfg.opts = cfg.opts ?? {};
|
|
102
|
+
cfg.opts.trust = cfg.opts.trust ?? this.opts.trust;
|
|
38
103
|
const ac = new ctx_1.AontuContext(cfg);
|
|
39
104
|
return ac;
|
|
40
105
|
}
|
|
@@ -74,7 +139,11 @@ class Aontu {
|
|
|
74
139
|
}
|
|
75
140
|
if (0 === errs.length) {
|
|
76
141
|
out = runparse(src, this.lang, ac);
|
|
77
|
-
|
|
142
|
+
// The include MANIFEST (G5, docs/trust.md): the resolved include
|
|
143
|
+
// closure as `{ path, capability }`, sorted and deduplicated so
|
|
144
|
+
// it is deterministic — the "file set" of hermeticity clause 1
|
|
145
|
+
// made observable. Content hashing and pinning stay with G6.
|
|
146
|
+
out.deps = manifestOf(ac.manifest);
|
|
78
147
|
ac.root = out;
|
|
79
148
|
}
|
|
80
149
|
handleErrors(errs, out, ac);
|
|
@@ -108,6 +177,11 @@ class Aontu {
|
|
|
108
177
|
// 'internal' NilVal.
|
|
109
178
|
out = uni.res;
|
|
110
179
|
out.deps = pval.deps;
|
|
180
|
+
// THE DERIVED STRUCTURE (G4 phase 3): the edge set, computed
|
|
181
|
+
// once from the unified tree. Cheap on a document with no links
|
|
182
|
+
// — one guarded walk — and the thing impact analysis and the
|
|
183
|
+
// relation checks are traversals over.
|
|
184
|
+
out.graph = (0, graph_1.graphOf)(out);
|
|
111
185
|
out.err = errs;
|
|
112
186
|
ac.root = out;
|
|
113
187
|
}
|
|
@@ -137,7 +211,32 @@ class Aontu {
|
|
|
137
211
|
let uval = this.unify(pval, undefined, ac);
|
|
138
212
|
// console.log('AONTU-GENERATE-UVAL', uval.constructor, uval.mark)
|
|
139
213
|
if (undefined !== uval && 0 === uval.err.length) {
|
|
140
|
-
out = uval.isNil ? (ac.adderr(uval), undefined)
|
|
214
|
+
out = uval.isNil ? (ac.adderr(uval), undefined)
|
|
215
|
+
: 0 < ac.err.length ? undefined
|
|
216
|
+
: uval.gen(ac);
|
|
217
|
+
// The relation verdict (RELATIONS P2): declarations the
|
|
218
|
+
// graph atoms registered during unification are decided
|
|
219
|
+
// HERE, where no more information can arrive -- the sizing
|
|
220
|
+
// atoms' model. A violated declaration is a located
|
|
221
|
+
// evaluation error at the offending edge, and the generated
|
|
222
|
+
// value is discarded below.
|
|
223
|
+
//
|
|
224
|
+
// AFTER GENERATION, and only when generation SUCCEEDED. A
|
|
225
|
+
// document that cannot be generated has no finished model
|
|
226
|
+
// to have a graph verdict about: an unsettled disjunction
|
|
227
|
+
// leaves alternatives the graph walk cannot read, so a
|
|
228
|
+
// mirror the document writes is absent from the edge set
|
|
229
|
+
// and `inverse(n)` reports it missing -- a false finding,
|
|
230
|
+
// and one that buried the `disjunct_no_gen` that actually
|
|
231
|
+
// stopped the document. The check that a broken document is
|
|
232
|
+
// not blamed on its relations (`relations` verb, finding F)
|
|
233
|
+
// holds here too.
|
|
234
|
+
if (!uval.isNil && 0 === ac.err.length) {
|
|
235
|
+
(0, relation_1.relationErrors)(ac, uval);
|
|
236
|
+
if (0 < ac.err.length) {
|
|
237
|
+
out = undefined;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
141
240
|
if (0 < ac.err.length) {
|
|
142
241
|
if (!ac.collect) {
|
|
143
242
|
throw new err_1.AontuError(ac.errmsg(), ac.err);
|
|
@@ -217,12 +316,34 @@ function findConflictMarker(src) {
|
|
|
217
316
|
}
|
|
218
317
|
return miss;
|
|
219
318
|
}
|
|
319
|
+
// Sort and deduplicate the raw manifest sink into the deterministic
|
|
320
|
+
// include closure: by path then capability, code-point order, one entry
|
|
321
|
+
// per (path, capability) pair.
|
|
322
|
+
function manifestOf(sink) {
|
|
323
|
+
const seen = new Set();
|
|
324
|
+
const out = [];
|
|
325
|
+
for (const dep of sink) {
|
|
326
|
+
const key = dep.path + ' ' + dep.capability;
|
|
327
|
+
if (!seen.has(key)) {
|
|
328
|
+
seen.add(key);
|
|
329
|
+
out.push({ path: dep.path, capability: dep.capability });
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
// No equal case: entries were deduplicated on exactly this key.
|
|
333
|
+
out.sort((a, b) => {
|
|
334
|
+
const ka = a.path + ' ' + a.capability;
|
|
335
|
+
const kb = b.path + ' ' + b.capability;
|
|
336
|
+
return ka < kb ? -1 : 1;
|
|
337
|
+
});
|
|
338
|
+
return out;
|
|
339
|
+
}
|
|
220
340
|
// Perform parse of source code (minor customizations over Lang.parse).
|
|
221
341
|
function runparse(src, lang, ctx) {
|
|
222
342
|
const popts = {
|
|
223
343
|
deps: ctx.deps,
|
|
224
344
|
fs: ctx.fs,
|
|
225
|
-
path: ctx.opts.path
|
|
345
|
+
path: ctx.opts.path,
|
|
346
|
+
manifest: ctx.manifest,
|
|
226
347
|
};
|
|
227
348
|
let val;
|
|
228
349
|
const tsrc = src.trim().replace(/^(\n\s*)+/, '');
|
package/dist/aontu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aontu.js","sourceRoot":"","sources":["../src/aontu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aontu.js","sourceRoot":"","sources":["../src/aontu.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,8 +1,52 @@
|
|
|
1
1
|
import { Aontu } from './aontu';
|
|
2
|
+
import type { WhyRecord } from './provenance';
|
|
2
3
|
type Mode = 'json' | 'canon';
|
|
3
4
|
declare function evalSource(aontu: Aontu, src: string, mode: Mode): {
|
|
4
5
|
ok: boolean;
|
|
5
6
|
text: string;
|
|
6
7
|
};
|
|
8
|
+
type TrustArg = {
|
|
9
|
+
kind: 'system-warn';
|
|
10
|
+
} | {
|
|
11
|
+
kind: 'system';
|
|
12
|
+
} | {
|
|
13
|
+
kind: 'none';
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'root';
|
|
16
|
+
dir?: string;
|
|
17
|
+
};
|
|
18
|
+
export type ReplState = {
|
|
19
|
+
mode: Mode;
|
|
20
|
+
jsonl: boolean;
|
|
21
|
+
name?: string;
|
|
22
|
+
src?: string;
|
|
23
|
+
trust?: TrustArg;
|
|
24
|
+
};
|
|
25
|
+
export type ReplAnswer = {
|
|
26
|
+
close: boolean;
|
|
27
|
+
out: string;
|
|
28
|
+
state: ReplState;
|
|
29
|
+
};
|
|
30
|
+
export declare function replCommand(state: ReplState, line: string, read: (file: string) => string): ReplAnswer;
|
|
31
|
+
declare function watchSignature(files: string[]): string;
|
|
32
|
+
declare function watchChange(files: string[], before: string, pollMs: number): Promise<boolean>;
|
|
33
|
+
type VetWaiter = (files: string[], before: string) => Promise<boolean>;
|
|
34
|
+
declare const vetWaiter: VetWaiter;
|
|
35
|
+
declare function runVet(argv: string[], wait?: VetWaiter): number | Promise<number>;
|
|
36
|
+
declare function runSubsume(argv: string[]): number;
|
|
37
|
+
declare function deprecatedAt(oldSrc: string, path: string, filePath: string): boolean;
|
|
38
|
+
declare function runBreaking(argv: string[]): number;
|
|
39
|
+
declare function runTrim(argv: string[]): number;
|
|
40
|
+
declare function runMod(argv: string[]): number;
|
|
41
|
+
declare function runRelations(argv: string[]): number;
|
|
42
|
+
declare function runReaches(argv: string[]): number;
|
|
43
|
+
declare function runView(argv: string[]): number;
|
|
44
|
+
declare function runJsonSchema(argv: string[]): number;
|
|
45
|
+
declare function runHash(argv: string[]): number;
|
|
46
|
+
declare function runGet(argv: string[]): number;
|
|
47
|
+
declare function runWhy(argv: string[]): number;
|
|
48
|
+
declare function renderWhyText(record: WhyRecord): string;
|
|
49
|
+
declare function runSet(argv: string[]): number;
|
|
50
|
+
declare function runAgentsMd(argv: string[]): number;
|
|
7
51
|
declare function main(argv: string[]): void;
|
|
8
|
-
export { evalSource, main };
|
|
52
|
+
export { evalSource, main, runVet, runSubsume, runBreaking, runTrim, runRelations, runReaches, runView, runJsonSchema, runMod, runHash, runGet, runWhy, renderWhyText, runSet, runAgentsMd, watchChange, watchSignature, vetWaiter, deprecatedAt, };
|