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/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":";AAAA,oDAAoD;;;;;AAEpD,oCAAoC;AACpC,mEAAmE;AACnE,mEAAmE;AACnE,uBAAuB;AACvB,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,kEAAkE;AAClE,uDAAuD;AAEvD,mCAA+B;AAE/B,qCAAoC;AACpC,mCAA6B;AAC7B,mCAAqC;AAErC,yCAAyC;AAGzC,mEAAmE;AACnE,0CAA0C;AAC7B,QAAA,cAAc,GAAG,sBAAsB,CAAA;AACvC,QAAA,YAAY,GAAG,oBAAoB,CAAA;AAoBhD,+BAA+B;AAC/B,kBACE,GAAW,EAAE,IAAsB;IACnC,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAgB,CAAA;IAE7C,MAAM,KAAK,GAAG,IAAI,aAAK,CACrB,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;IAC3E,MAAM,CAAC,GAAQ,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;IAC/C,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAChE,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1E,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAE5E,kEAAkE;IAClE,iEAAiE;IACjE,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAEtD,MAAM,KAAK,GAAG;QACZ,QAAA,cAAc;QACd,oBAAoB,GAAG,IAAI,GAAG,GAAG;QACjC,EAAE;QACF,qCAAqC,GAAG,IAAI,GAAG,aAAa;QAC5D,mEAAmE;QACnE,8CAA8C;QAC9C,EAAE;QACF,UAAU,GAAG,IAAA,kBAAS,EAAC,CAAC,CAAC,GAAG,GAAG;QAC/B,8DAA8D;QAC9D,oCAAoC,GAAG,IAAI,GAAG,kBAAkB;QAChE,oBAAoB;YACpB,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,YAAY,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG;QAC9B,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,KAAK;QACL,+BAA+B;QAC/B,YAAY,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI;QACnC,EAAE;QACF,6BAA6B;QAC7B,YAAY,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI;QACnC,EAAE;QACF,gCAAgC;QAChC,YAAY,GAAG,IAAI,GAAG,WAAW;QACjC,EAAE;QACF,gCAAgC;QAChC,YAAY,GAAG,OAAO,GAAG,mBAAmB,GAAG,IAAI;YACnD,wBAAwB;QACxB,KAAK;QACL,EAAE;QACF,+CAA+C,GAAG,IAAI,GAAG,IAAI;QAC7D,QAAA,YAAY;KACb,CAAA;IAED,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;AACpE,CAAC;AAGD,mEAAmE;AACnE,qEAAqE;AACrE,iEAAiE;AACjE,8DAA8D;AAC9D,oCAAoC;AACpC,wBAA+B,QAAgB,EAAE,MAAc;IAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAA,cAAc,CAAC,CAAA;IAC7C,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAA,YAAY,CAAC,CAAA;IACzC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,EAAE,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrD,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC9B,OAAO,IAAI,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;IACtD,CAAC;IACD,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,6BAA6B;IAC7B,IAAI,GAAG,GAAG,EAAE,GAAG,QAAA,YAAY,CAAC,MAAM,CAAA;IAClC,IAAI,IAAI,KAAK,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,EAAE,CAAA;IACP,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,EAAE,CAAA;IACP,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAC/D,CAAC"}
|
package/dist/aontu.d.ts
CHANGED
|
@@ -4,8 +4,19 @@ 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
|
+
declare const VERSION = "0.53.0";
|
|
9
20
|
declare class Aontu {
|
|
10
21
|
opts: AontuOptions;
|
|
11
22
|
lang: Lang;
|
|
@@ -19,5 +30,5 @@ declare function runparse(src: string, lang: Lang, ctx: AontuContext): Val;
|
|
|
19
30
|
declare const util: {
|
|
20
31
|
runparse: typeof runparse;
|
|
21
32
|
};
|
|
22
|
-
export { VERSION, Aontu, AontuOptions, AontuContext, AontuError, Val, Lang, runparse, util, formatExplain, exactJSON, Decimal, };
|
|
33
|
+
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, };
|
|
23
34
|
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.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,32 @@ 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; } });
|
|
20
46
|
// VERSION is the Aontu npm package version, and mirrors
|
|
21
47
|
// go/aontu.go's `Version` (which tracks the Go module version
|
|
22
48
|
// separately — the two version series are independent).
|
|
@@ -24,17 +50,52 @@ Object.defineProperty(exports, "AontuError", { enumerable: true, get: function (
|
|
|
24
50
|
// Kept in step with package.json by the `version` npm lifecycle script,
|
|
25
51
|
// which runs on `npm version` / `npm run repo-bump`. version.test.ts
|
|
26
52
|
// fails if the two ever drift.
|
|
27
|
-
const VERSION = '0.
|
|
53
|
+
const VERSION = '0.53.0';
|
|
28
54
|
exports.VERSION = VERSION;
|
|
55
|
+
// A module file's VALUE, as far as it goes. COLLECTED, not raised: a
|
|
56
|
+
// module file that does not stand up has no `mod.main` to read, and
|
|
57
|
+
// the default entry name is the answer -- the resolution itself fails
|
|
58
|
+
// later, on the file that is not there, rather than here on a metadata
|
|
59
|
+
// read. That is what a collecting context does, so there is nothing to
|
|
60
|
+
// catch: it answers what it could generate and records the rest.
|
|
61
|
+
function genQuiet(val, aontu) {
|
|
62
|
+
return val.gen(aontu.ctx({ collect: true }));
|
|
63
|
+
}
|
|
29
64
|
class Aontu {
|
|
30
65
|
constructor(popts) {
|
|
31
66
|
this.opts = popts ?? {};
|
|
67
|
+
this.opts.mod = {
|
|
68
|
+
...(this.opts.mod ?? {}),
|
|
69
|
+
eval: this.opts.mod?.eval ?? ((src, path) => {
|
|
70
|
+
// One deeper: a module verified from inside a module
|
|
71
|
+
// verification is one more level of nesting, and the resolver
|
|
72
|
+
// refuses past its bound (MODULE_MAX_DEPTH in ts/src/mod.ts).
|
|
73
|
+
const inner = new Aontu({
|
|
74
|
+
...this.opts,
|
|
75
|
+
mod: {
|
|
76
|
+
// Never absent: the assignment this closure is part of has
|
|
77
|
+
// already run by the time it is called.
|
|
78
|
+
...this.opts.mod,
|
|
79
|
+
eval: undefined,
|
|
80
|
+
depth: (this.opts.mod?.depth ?? 0) + 1,
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
const ctx = inner.ctx({ collect: true });
|
|
84
|
+
const val = inner.unify(src, { path }, ctx);
|
|
85
|
+
return { gen: genQuiet(val, inner), hash: (0, hcanon_1.canonHash)(val) };
|
|
86
|
+
}),
|
|
87
|
+
};
|
|
32
88
|
this.lang = new lang_1.Lang(this.opts);
|
|
33
89
|
}
|
|
34
90
|
// Create a new context.
|
|
35
91
|
ctx(cfg) {
|
|
36
92
|
cfg = cfg ?? {};
|
|
37
93
|
cfg.fs = cfg.fs ?? this.opts.fs;
|
|
94
|
+
// The trust profile rides the instance (its resolver is built once,
|
|
95
|
+
// in the Lang constructor); the context needs it too, for the
|
|
96
|
+
// budgets (G5, docs/trust.md).
|
|
97
|
+
cfg.opts = cfg.opts ?? {};
|
|
98
|
+
cfg.opts.trust = cfg.opts.trust ?? this.opts.trust;
|
|
38
99
|
const ac = new ctx_1.AontuContext(cfg);
|
|
39
100
|
return ac;
|
|
40
101
|
}
|
|
@@ -56,9 +117,29 @@ class Aontu {
|
|
|
56
117
|
out = (0, err_1.makeNilErr)(ac, 'parse_bad_src');
|
|
57
118
|
errs.push(out);
|
|
58
119
|
}
|
|
120
|
+
else {
|
|
121
|
+
// A version-control conflict marker is refused BEFORE the parse
|
|
122
|
+
// (issue #5). None of `<`, `=` or `>` is an aontu operator, so a
|
|
123
|
+
// marker line is ordinary text and `<<<<<<< HEAD` parsed happily
|
|
124
|
+
// into the two-string list ["<<<<<<<","HEAD"] -- an unresolved
|
|
125
|
+
// merge became a plausible document instead of an error, and the
|
|
126
|
+
// report of it read as a failed `<` operation.
|
|
127
|
+
const marker = findConflictMarker(src);
|
|
128
|
+
if (-1 !== marker.offset) {
|
|
129
|
+
const nil = (0, err_1.makeNilErr)(ac, 'merge_conflict');
|
|
130
|
+
nil.site.row = marker.row;
|
|
131
|
+
nil.site.col = marker.col;
|
|
132
|
+
out = nil;
|
|
133
|
+
errs.push(nil);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
59
136
|
if (0 === errs.length) {
|
|
60
137
|
out = runparse(src, this.lang, ac);
|
|
61
|
-
|
|
138
|
+
// The include MANIFEST (G5, docs/trust.md): the resolved include
|
|
139
|
+
// closure as `{ path, capability }`, sorted and deduplicated so
|
|
140
|
+
// it is deterministic — the "file set" of hermeticity clause 1
|
|
141
|
+
// made observable. Content hashing and pinning stay with G6.
|
|
142
|
+
out.deps = manifestOf(ac.manifest);
|
|
62
143
|
ac.root = out;
|
|
63
144
|
}
|
|
64
145
|
handleErrors(errs, out, ac);
|
|
@@ -92,6 +173,11 @@ class Aontu {
|
|
|
92
173
|
// 'internal' NilVal.
|
|
93
174
|
out = uni.res;
|
|
94
175
|
out.deps = pval.deps;
|
|
176
|
+
// THE DERIVED STRUCTURES (G4 phase 3): the entity index and the
|
|
177
|
+
// edge set, computed once from the unified tree. Cheap on a
|
|
178
|
+
// document with no identity — one guarded walk — and the thing
|
|
179
|
+
// impact analysis and the relation checks are traversals over.
|
|
180
|
+
out.graph = (0, graph_1.graphOf)(out);
|
|
95
181
|
out.err = errs;
|
|
96
182
|
ac.root = out;
|
|
97
183
|
}
|
|
@@ -168,12 +254,67 @@ function handleErrors(errs, out, ac) {
|
|
|
168
254
|
}
|
|
169
255
|
}
|
|
170
256
|
}
|
|
257
|
+
// Locate the first version-control conflict marker in a source, as a
|
|
258
|
+
// 1-based row and column (offset -1 when there is none).
|
|
259
|
+
//
|
|
260
|
+
// The shape is git's, and it is matched exactly: SEVEN of `<`, `=` or `>`
|
|
261
|
+
// at the very start of a line, then either the end of that line or a
|
|
262
|
+
// space before the branch label. Requiring the run length and the line
|
|
263
|
+
// start is what keeps a document that legitimately writes `a:"<<<<<<<"`,
|
|
264
|
+
// or a row of `=` inside a string, from being refused -- the marker is
|
|
265
|
+
// recognised as the artifact it is, not as a suspicious character.
|
|
266
|
+
//
|
|
267
|
+
// Kept byte-identical to findConflictMarker in go/lang.go.
|
|
268
|
+
function findConflictMarker(src) {
|
|
269
|
+
const miss = { offset: -1, row: -1, col: -1 };
|
|
270
|
+
let offset = 0;
|
|
271
|
+
let row = 1;
|
|
272
|
+
for (const rawline of src.split('\n')) {
|
|
273
|
+
// A CRLF source leaves the \r on the line; it is not part of the run.
|
|
274
|
+
const line = rawline.endsWith('\r') ? rawline.slice(0, -1) : rawline;
|
|
275
|
+
const c = line[0];
|
|
276
|
+
if ('<' === c || '=' === c || '>' === c) {
|
|
277
|
+
let run = 0;
|
|
278
|
+
while (run < line.length && line[run] === c) {
|
|
279
|
+
run++;
|
|
280
|
+
}
|
|
281
|
+
if (7 === run && (7 === line.length || ' ' === line[7])) {
|
|
282
|
+
return { offset, row, col: 1 };
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
offset += rawline.length + 1;
|
|
286
|
+
row++;
|
|
287
|
+
}
|
|
288
|
+
return miss;
|
|
289
|
+
}
|
|
290
|
+
// Sort and deduplicate the raw manifest sink into the deterministic
|
|
291
|
+
// include closure: by path then capability, code-point order, one entry
|
|
292
|
+
// per (path, capability) pair.
|
|
293
|
+
function manifestOf(sink) {
|
|
294
|
+
const seen = new Set();
|
|
295
|
+
const out = [];
|
|
296
|
+
for (const dep of sink) {
|
|
297
|
+
const key = dep.path + ' ' + dep.capability;
|
|
298
|
+
if (!seen.has(key)) {
|
|
299
|
+
seen.add(key);
|
|
300
|
+
out.push({ path: dep.path, capability: dep.capability });
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
// No equal case: entries were deduplicated on exactly this key.
|
|
304
|
+
out.sort((a, b) => {
|
|
305
|
+
const ka = a.path + ' ' + a.capability;
|
|
306
|
+
const kb = b.path + ' ' + b.capability;
|
|
307
|
+
return ka < kb ? -1 : 1;
|
|
308
|
+
});
|
|
309
|
+
return out;
|
|
310
|
+
}
|
|
171
311
|
// Perform parse of source code (minor customizations over Lang.parse).
|
|
172
312
|
function runparse(src, lang, ctx) {
|
|
173
313
|
const popts = {
|
|
174
314
|
deps: ctx.deps,
|
|
175
315
|
fs: ctx.fs,
|
|
176
|
-
path: ctx.opts.path
|
|
316
|
+
path: ctx.opts.path,
|
|
317
|
+
manifest: ctx.manifest,
|
|
177
318
|
};
|
|
178
319
|
let val;
|
|
179
320
|
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":";AAAA,yDAAyD;;;
|
|
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,51 @@
|
|
|
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 runJsonSchema(argv: string[]): number;
|
|
44
|
+
declare function runHash(argv: string[]): number;
|
|
45
|
+
declare function runGet(argv: string[]): number;
|
|
46
|
+
declare function runWhy(argv: string[]): number;
|
|
47
|
+
declare function renderWhyText(record: WhyRecord): string;
|
|
48
|
+
declare function runSet(argv: string[]): number;
|
|
49
|
+
declare function runAgentsMd(argv: string[]): number;
|
|
7
50
|
declare function main(argv: string[]): void;
|
|
8
|
-
export { evalSource, main };
|
|
51
|
+
export { evalSource, main, runVet, runSubsume, runBreaking, runTrim, runRelations, runReaches, runJsonSchema, runMod, runHash, runGet, runWhy, renderWhyText, runSet, runAgentsMd, watchChange, watchSignature, vetWaiter, deprecatedAt, };
|