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/hints.js
CHANGED
|
@@ -26,6 +26,10 @@ const hints = {
|
|
|
26
26
|
'generated because nil is not a literal value.',
|
|
27
27
|
no_gen: 'This value was present after unification, and cannot be generated\n' +
|
|
28
28
|
'because it is not a literal value.',
|
|
29
|
+
disjunct_no_gen: 'More than one alternative of this disjunction is still admitted, so\n' +
|
|
30
|
+
'there is no single value to generate. Supply a value that selects\n' +
|
|
31
|
+
'one alternative, or write a preference (*) to say which one holds\n' +
|
|
32
|
+
'when nothing else does.',
|
|
29
33
|
// TODO: extend errors to have details so we can name the key
|
|
30
34
|
mapval_required: 'This map value is required.',
|
|
31
35
|
mapval_no_gen: 'This value was present after unification, and cannot be generated\n' +
|
|
@@ -38,6 +42,15 @@ const hints = {
|
|
|
38
42
|
unknown_function: 'This function name is not recognized.',
|
|
39
43
|
literal_nil: 'A literal nil cannot unify with any other value.',
|
|
40
44
|
unify_cycle: 'Circular reference detected during unification.',
|
|
45
|
+
pref_implicit_bag: 'A preference marks a VALUE, and a bare key is not one. Without\n' +
|
|
46
|
+
'braces the `*` took the whole implicit map as its operand, so the\n' +
|
|
47
|
+
'document became a preferred map rather than a map with a preferred\n' +
|
|
48
|
+
'entry. Brace the bag, or move the `*` onto the value it marks.' +
|
|
49
|
+
'\n \nExamples:\n' +
|
|
50
|
+
' *a: 1 -> nil # No braces: the `*` takes the whole map;\n' +
|
|
51
|
+
' a: *1 -> *1 # ... the `*` belongs on the value;\n' +
|
|
52
|
+
' *{a: 1} -> *{"a":1} # ... or brace the bag to prefer it whole;\n' +
|
|
53
|
+
' *{x:1}|*{y:2} -> *{"x":1}|*{"y":2} # which is what disjunction needs.',
|
|
41
54
|
constraint: 'This value does not satisfy the constraint. A constraint is the\n' +
|
|
42
55
|
'meet of bound atoms (min, max, above, below) and exclusions (neq)\n' +
|
|
43
56
|
'over one domain; the expected form shown is the normalised\n' +
|
|
@@ -110,8 +123,43 @@ const hints = {
|
|
|
110
123
|
// Parsing errors
|
|
111
124
|
'parse_bad_src': 'Invalid source provided for parsing. The source must be a non-empty string.',
|
|
112
125
|
merge_conflict: 'A version-control conflict marker was found in the source. The\nfile still holds an unresolved merge: resolve it and remove the\n`<<<<<<<`, `=======` and `>>>>>>>` lines before unifying.\n \nExamples:\n <<<<<<< HEAD -> nil # A conflict marker, not a `<` operation;\n ======= -> nil # ... nor a chain of `=` characters;\n >>>>>>> other -> nil # ... nor a `>` operation.',
|
|
126
|
+
include_denied: 'An @"..." include was refused by the active trust profile\n(docs/trust.md). The document asked to read a source the evaluation\'s\ninclude capability does not allow: widen the capability if the read is\nintended, or remove the include if it is not.\n \nExamples:\n a:@"in-root.aon" -> {..} # Inside the confinement root: allowed;\n a:@"../secret.aon" -> nil # ... but escaping the root is denied;\n a:@"/etc/hostname" -> nil # ... and so is an absolute path outside it.',
|
|
127
|
+
include_extension: 'An @\"...\" include named a file the engine does not read. THE\nEXTENSION DECIDES which of two things a file is: `.aon` and\n`.aontu` are Aontu source, with the whole language in them, and\n`.json`, `.jsonld`, `.jsonc`, `.json5`, `.jsonic`, `.jsc`, `.toml`,\n`.yaml`, `.yml` and `.ini` are configuration DATA, read by that\nformat\'s own parser. Anything else -- and a name with no extension\n-- is refused rather than guessed at: a guess produces a document\nthat looks right and is not.\n \nExamples:\n a:@\"model.aon\" -> {..} # Aontu source;\n a:@\"server.toml\" -> {..} # ... config data, read as TOML;\n a:@\"notes.txt\" -> nil # ... but text is not a document;\n a:@\"data\" -> nil # ... and neither is an unnamed kind.',
|
|
113
128
|
func_arity: 'This function was called with the wrong number of arguments:\n{func} takes {want}, but was given {got}.\n \nExamples:\n upper(\"a\") -> \"A\" # One argument, which is what upper takes;\n upper(\"a\",\"b\") -> nil # ... so two is a mistake in the source;\n key() -> \"\" # key takes none, or one level count;\n neq(1,2,3) -> neq # ... and neq takes one or more exclusions.',
|
|
129
|
+
func_arg: 'This argument does not fit the function\'s signature:\n \n {sig}\n argument {argn} (`{arg}`) was `{got}`.\n \nThe signature is the declared call surface (one line per builtin,\ntest/spec/signature.tsv); an argument slot admits a concrete value\nof its declared kind, `number` admitting every numeric leaf and\n`string` admitting a path.\n \nExamples:\n upper("a") -> "A" # A string fits upper(s: string|number);\n upper(1) -> 1 # ... and so does a number;\n upper(true) -> nil # ... but a boolean fits neither word;\n add([1],2) -> nil # ... and a list is no operand.',
|
|
114
130
|
elided_value: 'A key or element was written with no value after the colon. An\nelided value is a mistake in the source rather than a null: write\n`null` if that is what was meant, or supply the value.\n \nExamples:\n a:null -> null # An explicit null, which is a value;\n a: -> nil # ... but nothing at all is not;\n a: b:1 -> {..} # A colon chain is not an elision;\n [1,] -> [1] # ... nor is a trailing comma.',
|
|
131
|
+
recursion_unexpanded: 'A schema refers to itself here, and no data reached this position\nto expand it against. Guard the recursion -- an optional key\n(next?:) drops when nothing arrives, and a preferred alternative\n(*null | $.Node) generates -- or supply the data.\n \nExamples:\n Node: {v: integer, next?: $.Node}\n t: $.Node & {v: 1} -> {..} # next? drops;\n Node: {v: integer, next: $.Node}\n t: $.Node & {v: 1} -> nil # ... required refuses.',
|
|
132
|
+
recursion_budget: 'A recursive schema expanded past the evaluation depth budget\nwithout meeting concrete data. Expansion is driven by the data --\nfinite data always terminates -- so a chain this deep means two\ndefinitions feeding each other, or data deeper than the budget\n(docs/trust.md raises it deliberately).',
|
|
133
|
+
list_length: 'A literal list alternative in a disjunction admits only a list of\nits own length -- a spread (&:) makes it variadic. Outside a\ndisjunction two statements of one list still merge elementwise.\n \nExamples:\n x: [] | [&: integer]\n x: [1, 2] -> [1,2] # The variadic arm;\n x: [] -> [] # ... or exactly empty;\n y: [a] | [b]\n y: [a, extra] -> nil # ... a literal arm is its length.',
|
|
134
|
+
relation_cycle: 'This relation declared acyclic(), and its edges form a cycle. The\nverdict lands at generation, where every edge is known; the error\npoints at an edge on the cycle and names the nodes it runs\nthrough, closing back on the first.\n \nExamples:\n dependsOn: rel() & acyclic()\n a: {dependsOn: ["$.b"]}\n b: {dependsOn: ["$.a"]} -> nil # $.a -> $.b -> $.a;\n b: {dependsOn: []} -> {..} # ... one edge fewer passes.',
|
|
135
|
+
relation_inverse_missing: 'This relation declared inverse(name), and an edge has no mirroring\nedge under that name: A relates to B, and B does not name A back.\nThe declaration asks for the mirror to be WRITTEN, and never writes\nit for the author -- generation is refused until the document says\nboth directions.\n \nExamples:\n a: {dependsOn: rel() & inverse(dependedOnBy) & [b]}\n b: {dependedOnBy: rel() & [a]} -> {..} # Mirrored;\n b: {dependedOnBy: rel() & []} -> nil # ... and this is not.',
|
|
136
|
+
inverse_name: 'The argument to inverse() is not a relation name. The mirroring\npredicate is a D-1 name -- a letter or `_`, then letters, digits,\n`_` or `-` -- spelled bare or quoted.\n \nExamples:\n inverse(dependedOnBy) -> inverse # A name;\n inverse("dep-on") -> inverse # ... quoted when hyphenated;\n inverse(1) -> nil # ... a number is not a name.',
|
|
137
|
+
rel_address: 'A rel() field holds tree addresses: one path value, a list of path\nvalues, or a map whose leaves are path values. A bare string is never\nan address — `path("...")` is the one conversion — and this value can\nnever be one.\n \nExamples:\n dependsOn: rel() & [path($.ledger)] -> {..} # A list of addresses;\n hostedOn: rel() & path($.bastion) -> {..} # ... or one;\n dependsOn: rel() & ["$.ledger"] -> nil # ... a string is not a path;\n dependsOn: rel() & [7] -> nil # ... and neither is 7.',
|
|
138
|
+
refer_address: 'A refer() was given something that is not a tree address. An address\nis a PATH VALUE — `path($.a.b)` from the document root, `path(.b)`\nfrom the link\'s own sibling scope — and only a path value can be one:\na bare string never is, and `path("...")` is the one conversion.\n \nExamples:\n refer() & path($.services.auth) -> ... # From the root;\n refer() & path(.auth) -> ... # ... or beside the link;\n refer() & "$.services.auth" -> nil # ... a string is not a path;\n refer() & 1 -> nil # ... and neither is a number.',
|
|
139
|
+
path_address: 'This is not a tree address, so it cannot be a path value. An address\nis `$.a.b` from the document root, or `.b` from the sibling scope with\none more leading dot per parent step -- the grammar path() captures.\nString text with no anchor converts as RELATIVE, and a string\nconverts ONLY through the call\'s own argument.\n \nExamples:\n d: path("$.services.auth") -> path($.services.auth) # A converted string;\n d: path("auth") -> path(.auth) # ... anchorless text is relative;\n d: path("a..b") -> nil # ... but this spells nothing;\n d: path("$") -> nil # ... and the root is not addressable.',
|
|
140
|
+
rel_unresolved: 'The address names no node in this evaluation. Every position in the\ndocument is addressable; nothing outside it is.\n \nExamples:\n p: {}\n q: rel() & "$.p" -> {..} # $.p is a node;\n q: rel() & "$.nosuch" -> nil # ... $.nosuch is not.',
|
|
141
|
+
refer_unresolved: 'A refer() address names no node in this evaluation. Within one\nevaluation the document-set is fixed, so a link to nothing is an error\nrather than something to resolve later: check the spelling, or add the\nnode it was meant to reach. A relative address that climbs off the top\nof the tree lands here too.\n \nExamples:\n a:{p:1} b:refer()&"$.a" -> "$.a" # $.a is a node;\n a:{p:1} b:refer()&"$.a.p" -> "$.a.p" # ... and so is a node inside it;\n b:refer()&"$.nope" -> nil # ... but nothing is here.',
|
|
142
|
+
view_relation_unknown: 'The relation named to the view has no edges in this document, so\nthe figure would be empty -- and an empty figure and a misspelled name are\nthe same file on disk. Check the spelling against the relations the\nnote lists, or drop the relation to draw every relation at once.',
|
|
143
|
+
view_kind_unknown: 'The figure kind is not one the verb draws. The kinds are tree, matrix,\ngraph, layer, sets, layers, ladder and poset; the note lists them.',
|
|
144
|
+
view_profile_unknown: 'The figure kind does not render into the profile asked for: there is no\ntext form of a node-link drawing and no Mermaid form of a matrix. The\nnote lists the profiles the kind declares; the first is its default.',
|
|
145
|
+
view_rows_exceeded: 'The figure has more rows than --max-rows allows. This is a REFUSAL,\nnot a truncation: a view that quietly omits things is the failure the\nverb exists to avoid. Narrow the figure with --at or --relation, or\nraise the limit.',
|
|
146
|
+
view_line_break: 'A label the figure would draw holds a line terminator (U+000A, U+000D,\nU+2028 or U+2029), and a figure line cannot carry one. Label the node\nwith another field, or drop --label / --group-by.',
|
|
147
|
+
view_relation_ambiguous: 'The document has edges under several relations and the matrix (or the\nlayer diagram) draws exactly one. Name it with --relation; the note\nlists the relations with edges.',
|
|
148
|
+
view_sets_shape: 'The set panel reads generated values: --sets must name a map whose\nvalues each hold the --member field as a list of strings, and\n--universe a map or a list of strings. The path in the finding is the\nvalue that has another shape.',
|
|
149
|
+
view_sets_required: 'The set panel needs both --sets (the map whose keys are the sets) and\n--member (the field holding each set\'s members).',
|
|
150
|
+
view_at_required: 'The meet ladder draws the contributions at ONE path, and none was\nnamed. Pass --at with the path, as `aontu why` takes it.',
|
|
151
|
+
view_group_required: 'The layer diagram puts each node in the band its --group-by field\nnames, and no field was named. Pass --group-by with the field that\nholds each node\'s layer.',
|
|
152
|
+
view_document_shape: 'A view document declares each figure as a map of view options --\nthe flag names without the dashes -- and every declaration must name\nits `kind` and the `out` file it draws into. This one names an option\nthat is not one, gives a value of the wrong shape, or leaves out what\nevery declaration needs. `aontu view --help` lists the options.',
|
|
153
|
+
pack_data: 'The first argument to pack() is not a bag. `pack` makes one child\nper child of its DATA, so the data has to have children: a list of\nnames, or a map whose keys are the names.\n \nExamples:\n pack([a,b], {x:1}) -> {..} # A list of names;\n pack({a:1,b:2}, {x:1}) -> {..} # ... or a map, keyed by its keys;\n pack(1, {x:1}) -> nil # ... but a scalar has no children.',
|
|
154
|
+
pack_key: 'A list packed by pack() holds something that is not a string. The\nelements of a packed list ARE the generated keys, and only a string\nis a key — an element keyed by its position would churn every\ngenerated child the moment the list was reordered.\n \nExamples:\n pack([a,b], {x:1}) -> {..} # Names;\n pack(["a b"], {x:1}) -> {..} # ... a quoted name is still a name;\n pack([1,2], {x:1}) -> nil # ... but a number is not one.',
|
|
155
|
+
each_data: 'The first argument to each() is not a bag. `each` makes one list\nelement per child of its DATA, so the data has to have children: a\nlist, or a map whose values become the elements in sorted-key order.\n \nExamples:\n each([1,2]) -> [..] # A list, in source order;\n each({b:2,a:1}) -> [..] # ... a map, in sorted-key order;\n each(1) -> nil # ... but a scalar has no children.',
|
|
156
|
+
filter_data: 'The first argument to filter() is not a bag. `filter` keeps the\nchildren of its DATA that already satisfy a condition, so the data\nhas to have children: a list, or a map.\n \nExamples:\n filter([1,x], integer) -> [..] # A list;\n filter({a:1,b:x}, integer) -> {..} # ... or a map, keys kept;\n filter(1, integer) -> nil # ... but a scalar has none.',
|
|
157
|
+
match_none: 'No pattern matched, and there is no default. `match` tries each\npattern in the order written and takes the first the value unifies\nwith; the value {value} unified with none of {tried}. Add a trailing\ndefault — the argument after the last pair — if the rest was meant\nto be allowed.\n \nExamples:\n match(1, integer, ok) -> "ok" # The first pattern matches;\n match(x, integer, ok, other) -> "other" # ... or the default does;\n match(x, integer, ok) -> nil # ... but nothing here does.',
|
|
158
|
+
place_pair: 'Two placeholders met, and neither has a value to fill the other.\n`_` is a HOLE: it is filled by whatever the call is unified with, so\na call holding one needs a peer that does not. Give one side a\nvalue.\n \nExamples:\n upper(_) & hello -> "HELLO" # The peer fills the hole;\n _ + 2 & 1 -> 3 # ... whatever the call is;\n upper(_) & lower(_) -> nil # ... but two holes fill nothing.',
|
|
159
|
+
module_path: 'A module import is domain-shaped and carries a major, but its\npath cannot be a directory on every platform the toolchain runs on --\nso it is refused before anything is built from it. An element may not\nbe empty, may not begin or end with `.` (which is what forbids `..`),\nand may not be a reserved device name. These are Go\'s module-path\nrules, for Go\'s reason: a module path becomes a real directory.\n \nExamples:\n @"corp.example/s@1" -> {..} # An ordinary path is fine;\n @"corp.example/../s@1" -> nil # ... `..` would escape the store;\n @"corp.example/nul@1" -> nil # ... and Windows has no such file.',
|
|
160
|
+
module_missing: 'A module import names a module that is not in this project. A\nmodule is resolved from LOCAL stores only -- `aon_vendor/` beside the\nproject\'s mod.aon, then the user cache -- because evaluation never\ntouches the network. Fetching is a separate step, and the message\nnames it.\n \nExamples:\n @"corp.example/s@1" -> nil # Not fetched: run aontu mod get;\n @"./local.aon" -> {..} # ... a local path is not a module;\n @"corp.example/s@1#aon1-…" -> {..} # ... and a pin does not fetch it either.',
|
|
161
|
+
module_integrity: 'A module resolved locally does not have the MEANING it was pinned\nto. The pin is a canon-hash -- the hash of the module unified\nstandalone -- so it survives comments, formatting and refactoring and\nbreaks on any semantic change in the module\'s transitive closure.\nVerification is always local: the registry\'s annotation is advisory.\n \nExamples:\n @"corp.example/s@1" -> {..} # No pin, no check;\n @"corp.example/s@1#aon1-x" -> nil # ... a pin that disagrees refuses;\n aontu hash <file> # ... and this is what it should be.',
|
|
162
|
+
module_depth: 'Module verification nested too deep. A pinned module is checked by\nEVALUATING it, and that evaluation resolves the module\'s own imports\n-- so a vendor tree that leads back to itself would recurse until the\nhost ran out of stack. The bound makes that a stated refusal rather\nthan a crash whose verdict depends on the machine.\n \nExamples:\n @"corp.example/s@1" -> {..} # Ordinary nesting is far below it;\n aontu mod vendor # ... rebuild a vendor tree that loops;\n aontu hash <file> # ... and check what it hashes to.',
|
|
115
163
|
// Unification errors
|
|
116
164
|
'unify_no_src': 'No source provided for unification. Cannot unify without source values.',
|
|
117
165
|
'unify_no_res': 'Unification produced no result. The values could not be unified.',
|
|
@@ -152,11 +200,86 @@ const hints = {
|
|
|
152
200
|
' 1 + 2.0 -> 3.0 # ... and float still mixes with integer;\n' +
|
|
153
201
|
' 1.0 + 0d2 -> nil # float with biginteger;\n' +
|
|
154
202
|
' 0d0.5 + 1.0 -> nil # ... and the same the other way round.',
|
|
203
|
+
pick_key: 'A child of this bag has no key `{key}` to pick. Projection\n' +
|
|
204
|
+
'refuses rather than skipping: a shorter list would make the\n' +
|
|
205
|
+
'aggregate over it total a DIFFERENT set of records than the one\n' +
|
|
206
|
+
'the author named, which is the failure an aggregate exists to\n' +
|
|
207
|
+
'prevent. Give every child the key, or filter the bag first.' +
|
|
208
|
+
'\n \nExamples:\n' +
|
|
209
|
+
' pick([{a:1},{a:2}], a) -> [1,2] # Every child has it;\n' +
|
|
210
|
+
' pick([{a:1},{b:2}], a) -> nil # ... the second does not;\n' +
|
|
211
|
+
' pick([[9],[8]], 0) -> [9,8] # A list child takes an index.',
|
|
212
|
+
join_member: 'A member of this bag is not text and never will be: `{member}`.\n' +
|
|
213
|
+
'`join` folds with `+` seeded with the empty string, and `+` with a\n' +
|
|
214
|
+
'string on the left RESIDUATES on a map, a list or a null rather\n' +
|
|
215
|
+
'than refusing — so folding blindly would report the failure at\n' +
|
|
216
|
+
'generation, naming the whole call instead of the member. It is\n' +
|
|
217
|
+
'refused here, where the member can still be named. A member that\n' +
|
|
218
|
+
'is merely UNRESOLVED is a different thing: the call stays\n' +
|
|
219
|
+
'residual and generation reports it as ordinary incompleteness.' +
|
|
220
|
+
'\n \nExamples:\n' +
|
|
221
|
+
' join([1,2], "-") -> "1-2" # Numbers render as digits;\n' +
|
|
222
|
+
' join([true], ",") -> "true" # ... so do booleans;\n' +
|
|
223
|
+
' join([{a:1}], ",") -> nil # A map is not text;\n' +
|
|
224
|
+
' join([null], ",") -> nil # ... and neither is null;\n' +
|
|
225
|
+
' join(pick($.r, n), ",") -> "a,b" # Project first.',
|
|
226
|
+
aggregate_data: 'This aggregate needs a BAG to fold: a list or a map. `sum`,\n' +
|
|
227
|
+
'`least` and `greatest` walk the children of the value they are\n' +
|
|
228
|
+
'given, so a scalar, a kind or an unresolved reference is not\n' +
|
|
229
|
+
'something they can total.' +
|
|
230
|
+
'\n \nExamples:\n' +
|
|
231
|
+
' sum([1,2,3]) -> 6 # A list;\n' +
|
|
232
|
+
' sum({a:1,b:2}) -> 3 # ... or a map, by sorted key;\n' +
|
|
233
|
+
' sum(3) -> nil # A scalar is not a bag;\n' +
|
|
234
|
+
' x:[1,2] sum($.x) -> 3 # A reference to one is fine.',
|
|
235
|
+
aggregate_empty: 'There is no least or greatest element of an EMPTY bag. Addition\n' +
|
|
236
|
+
'has an identity, so `sum([])` is 0; comparison has none, and\n' +
|
|
237
|
+
'answering with a zero or an infinity would be inventing a value\n' +
|
|
238
|
+
'the data does not contain. Guard the bag, or give it a floor with\n' +
|
|
239
|
+
'a written element.' +
|
|
240
|
+
'\n \nExamples:\n' +
|
|
241
|
+
' sum([]) -> 0 # Zero IS the empty sum;\n' +
|
|
242
|
+
' least([]) -> nil # ... but nothing is the least of none;\n' +
|
|
243
|
+
' least([0]) -> 0 # A written floor answers.',
|
|
244
|
+
divide_by_zero: 'Division by zero. `div`, `mod` and `rem` refuse a zero divisor in\n' +
|
|
245
|
+
'every numeric leaf, including binary floats: Aontu is a JSON\n' +
|
|
246
|
+
'superset with no notation for an infinity, so there is no value\n' +
|
|
247
|
+
'the operation could answer with. A definition that divides by zero\n' +
|
|
248
|
+
'is wrong, and this says so where it is written rather than\n' +
|
|
249
|
+
'somewhere downstream.' +
|
|
250
|
+
'\n \nExamples:\n' +
|
|
251
|
+
' div(7, 0) -> nil # No answer exists;\n' +
|
|
252
|
+
' mod(7, 0) -> nil # ... nor for the modulus;\n' +
|
|
253
|
+
' div(7.0, 0.0) -> nil # ... and a float would say Infinity.',
|
|
254
|
+
inexact_divide: 'Exact decimal division is not closed: one third has no finite\n' +
|
|
255
|
+
'decimal form, so `div`, `mod` and `rem` refuse a `0d` operand\n' +
|
|
256
|
+
'rather than round one. Two ways out. Scale to integers and divide\n' +
|
|
257
|
+
'those -- which is the convention money should be carried in\n' +
|
|
258
|
+
'anyway, minor units as an integer -- or use binary floats if an\n' +
|
|
259
|
+
'approximation is acceptable here.' +
|
|
260
|
+
'\n \nExamples:\n' +
|
|
261
|
+
' div(0d10.0, 0d4.0) -> nil # Refused, though this one terminates;\n' +
|
|
262
|
+
' div(0d10, 0d4) -> 0d2 # A biginteger is not a decimal;\n' +
|
|
263
|
+
' div(1000, 4) -> 250 # Integer cents, exact;\n' +
|
|
264
|
+
' div(10.0, 4.0) -> 2.5 # ... or binary64, approximate;\n' +
|
|
265
|
+
' mul(0d10.0, 0d4.0) -> 0d40.0 # Multiplication IS exact and stays.',
|
|
266
|
+
float_overflow: 'This result is not a finite binary64 number, so it is not a value\n' +
|
|
267
|
+
'Aontu can carry. There is no notation for an infinity or a NaN in\n' +
|
|
268
|
+
'a JSON superset, and no JSON a generator could emit for one, so\n' +
|
|
269
|
+
'the operation is refused where it is written rather than escaping\n' +
|
|
270
|
+
'as an internal error or an unserialisable value.\n' +
|
|
271
|
+
'Use the exact leaves (`0d`) if the magnitude is real rather than\n' +
|
|
272
|
+
'an accident.' +
|
|
273
|
+
'\n \nExamples:\n' +
|
|
274
|
+
' 1.0e308 + 1.0e308 -> nil # Overflows binary64;\n' +
|
|
275
|
+
' mul(1.0e200, 1.0e200) -> nil # ... and so does this;\n' +
|
|
276
|
+
' 0d1e308 + 0d1e308 -> 0d2e308 # Exact, and well inside budget.',
|
|
155
277
|
inexact_integer_sum: 'The `integer` leaf holds a value only when it is integral, within\n' +
|
|
156
|
-
'the int64 range, and exactly representable in binary64. This
|
|
157
|
-
'is not: {sum}.\n' +
|
|
158
|
-
'Aontu
|
|
159
|
-
'-- write `0d<digits>` for an exact integer beyond that
|
|
278
|
+
'the int64 range, and exactly representable in binary64. This\n' +
|
|
279
|
+
'result is not: {sum}.\n' +
|
|
280
|
+
'Aontu computes integers exactly and refuses to store a rounded\n' +
|
|
281
|
+
'answer -- write `0d<digits>` for an exact integer beyond that\n' +
|
|
282
|
+
'window.' +
|
|
160
283
|
'\n \nExamples:\n' +
|
|
161
284
|
' 4503599627370496 + 4503599627370496 -> 9007199254740992 # Exact;\n' +
|
|
162
285
|
' 4503599627370496 + 4503599627370497 -> nil # 2^53+1 is not;\n' +
|
|
@@ -194,8 +317,13 @@ const hints = {
|
|
|
194
317
|
'closed': 'Cannot add to closed structure. The map or list is closed and does not accept new keys/elements.',
|
|
195
318
|
'required_listelem': 'Required list element is missing. A non-optional list element has no value.',
|
|
196
319
|
// Junction errors (disjunction/conjection)
|
|
197
|
-
'
|
|
198
|
-
'
|
|
320
|
+
'empty': 'Empty disjunction. The disjunction has no valid alternatives.',
|
|
321
|
+
'empty-dist': 'Empty disjunction distribution. All alternatives in the disjunction are invalid.',
|
|
322
|
+
// ADR-011 R2: two DEFAULTS of equal rank that cannot agree. The
|
|
323
|
+
// fix is a rank, so the hint names it.
|
|
324
|
+
'pref_rank_clash': 'Two defaults of the same rank disagree.' +
|
|
325
|
+
' Rank one of them (`**x`) to say which is the weaker layer,' +
|
|
326
|
+
' or give them the same value.',
|
|
199
327
|
'max_depth': 'Input nesting is too deep to process safely.',
|
|
200
328
|
// Function errors (dynamic patterns)
|
|
201
329
|
'func': 'Function operation failed. See the specific function name for details.',
|
|
@@ -230,10 +358,99 @@ const codeClasses = {
|
|
|
230
358
|
parse_unknown: 'parse',
|
|
231
359
|
parse_bad_src: 'parse',
|
|
232
360
|
merge_conflict: 'parse',
|
|
361
|
+
include_denied: 'parse',
|
|
362
|
+
include_extension: 'parse',
|
|
363
|
+
// G3 -- the subsumption query's report vocabulary (class compat):
|
|
364
|
+
// the compat_* codes are its findings, the sub_* codes its undecided
|
|
365
|
+
// reasons. Report-layer codes: no NilVal ever carries one, so they
|
|
366
|
+
// have no hint text.
|
|
367
|
+
compat_narrowed: 'compat',
|
|
368
|
+
compat_required_added: 'compat',
|
|
369
|
+
compat_default_changed: 'compat',
|
|
370
|
+
compat_marks_changed: 'compat',
|
|
371
|
+
sub_unresolved: 'compat',
|
|
372
|
+
sub_disjunct_distribution: 'compat',
|
|
373
|
+
sub_path_dependent_spread: 'compat',
|
|
374
|
+
sub_evaluate_only: 'compat',
|
|
375
|
+
sub_default_indeterminate: 'compat',
|
|
376
|
+
deprecated: 'compat',
|
|
377
|
+
pref_not_instance: 'compat',
|
|
378
|
+
// G7 phase 5 -- the overlay patch verb: an assignment that is not
|
|
379
|
+
// <path>=<value>. Class `parse`, because what is malformed IS
|
|
380
|
+
// source text; report-layer, so no NilVal carries it.
|
|
381
|
+
patch_assignment: 'parse',
|
|
382
|
+
patch_not_editable: 'reference',
|
|
383
|
+
patch_ambiguous: 'reference',
|
|
384
|
+
patch_span_mismatch: 'internal',
|
|
385
|
+
// G4 phase 2 -- the checked link: a string that is not a tree
|
|
386
|
+
// address (class `parse`, the text is wrong), and an address that
|
|
387
|
+
// names nothing in this evaluation (class `reference`, the same
|
|
388
|
+
// class as `no_path`, because it is the same kind of miss).
|
|
389
|
+
refer_address: 'parse',
|
|
390
|
+
rel_address: 'parse',
|
|
391
|
+
refer_unresolved: 'reference',
|
|
392
|
+
rel_unresolved: 'reference',
|
|
393
|
+
// The tree view (docs/design/VIEWS.0.md): a relation that draws
|
|
394
|
+
// nothing is refused rather than drawn empty. Class `reference`: a
|
|
395
|
+
// name that does not resolve.
|
|
396
|
+
view_relation_unknown: 'reference',
|
|
397
|
+
view_kind_unknown: 'reference',
|
|
398
|
+
view_profile_unknown: 'reference',
|
|
399
|
+
view_rows_exceeded: 'budget',
|
|
400
|
+
view_line_break: 'parse',
|
|
401
|
+
view_relation_ambiguous: 'reference',
|
|
402
|
+
view_sets_shape: 'reference',
|
|
403
|
+
view_sets_required: 'reference',
|
|
404
|
+
view_at_required: 'reference',
|
|
405
|
+
view_group_required: 'reference',
|
|
406
|
+
view_document_shape: 'reference',
|
|
407
|
+
// First-class paths (docs/design/PATHS.0.md): text that is not a
|
|
408
|
+
// tree address, met by path()'s capture or promotion. The same
|
|
409
|
+
// class as refer_address, because it is the same mistake.
|
|
410
|
+
path_address: 'parse',
|
|
411
|
+
// G8 phase 1 -- the generation combinators. All three are class
|
|
412
|
+
// `parse`: what is wrong is the CALL as written (data that is not a
|
|
413
|
+
// bag, a list element that is not a name), not any pair of values a
|
|
414
|
+
// meet brought together.
|
|
415
|
+
pack_data: 'parse',
|
|
416
|
+
pack_key: 'parse',
|
|
417
|
+
each_data: 'parse',
|
|
418
|
+
// G8 phase 2 -- selection. `filter_data` is class `parse` for the
|
|
419
|
+
// same reason `pack_data` is: the CALL names something with no
|
|
420
|
+
// children. `match_none` is class `conflict` -- the value and every
|
|
421
|
+
// pattern written for it disagreed, which is an ordinary failed
|
|
422
|
+
// meet, reported once for the whole form.
|
|
423
|
+
filter_data: 'parse',
|
|
424
|
+
match_none: 'conflict',
|
|
425
|
+
// G8 phase 3 -- the placeholder. Class `conflict`: two values met
|
|
426
|
+
// and neither could answer for the other, which is what every
|
|
427
|
+
// conflict is.
|
|
428
|
+
place_pair: 'conflict',
|
|
429
|
+
// G6 phase 2 -- modules. Both are class `parse`: a module import is
|
|
430
|
+
// resolved while the source is READ, and neither a module that is
|
|
431
|
+
// absent nor one whose meaning disagrees with its pin can be
|
|
432
|
+
// repaired by any later pass.
|
|
433
|
+
module_path: 'parse',
|
|
434
|
+
module_missing: 'parse',
|
|
435
|
+
module_integrity: 'parse',
|
|
436
|
+
module_depth: 'budget',
|
|
437
|
+
// G4 phase 5 -- the relation graph checks. Class `conflict`: the
|
|
438
|
+
// model contradicts a property it declared for itself. Report-layer,
|
|
439
|
+
// so no NilVal carries either -- both are global and non-monotone,
|
|
440
|
+
// and a lattice citizen may not be falsified by more information.
|
|
441
|
+
relation_cycle: 'conflict',
|
|
442
|
+
relation_inverse_missing: 'conflict',
|
|
443
|
+
inverse_name: 'parse',
|
|
444
|
+
list_length: 'conflict',
|
|
445
|
+
recursion_unexpanded: 'incomplete',
|
|
446
|
+
recursion_budget: 'budget',
|
|
233
447
|
func_arity: 'parse',
|
|
234
448
|
elided_value: 'parse',
|
|
235
449
|
unify_no_src: 'parse',
|
|
236
450
|
incomplete_expression: 'parse',
|
|
451
|
+
pref_implicit_bag: 'parse',
|
|
452
|
+
alias_not_toplevel: 'parse',
|
|
453
|
+
alias_in_path: 'parse',
|
|
237
454
|
not_number: 'parse',
|
|
238
455
|
negative: 'parse',
|
|
239
456
|
decimal_syntax: 'parse',
|
|
@@ -254,14 +471,23 @@ const codeClasses = {
|
|
|
254
471
|
literal_nil: 'conflict',
|
|
255
472
|
nil_gen: 'conflict',
|
|
256
473
|
unite: 'conflict',
|
|
257
|
-
'
|
|
258
|
-
'
|
|
474
|
+
'empty': 'conflict',
|
|
475
|
+
'empty-dist': 'conflict',
|
|
476
|
+
pref_rank_clash: 'conflict',
|
|
259
477
|
exact_float_mix: 'conflict',
|
|
260
478
|
inexact_integer_sum: 'conflict',
|
|
479
|
+
pick_key: 'conflict',
|
|
480
|
+
aggregate_data: 'conflict',
|
|
481
|
+
aggregate_empty: 'conflict',
|
|
482
|
+
join_member: 'conflict',
|
|
483
|
+
divide_by_zero: 'conflict',
|
|
484
|
+
inexact_divide: 'conflict',
|
|
485
|
+
float_overflow: 'conflict',
|
|
261
486
|
decimal_budget: 'conflict',
|
|
262
487
|
lossy_integer_literal: 'conflict',
|
|
263
488
|
arg: 'conflict',
|
|
264
489
|
'invalid-arg': 'conflict',
|
|
490
|
+
func_arg: 'conflict',
|
|
265
491
|
no_first_arg: 'conflict',
|
|
266
492
|
key_level: 'conflict',
|
|
267
493
|
func: 'conflict',
|
|
@@ -275,6 +501,7 @@ const codeClasses = {
|
|
|
275
501
|
close: 'conflict',
|
|
276
502
|
// incomplete -- residue: the truth requires more than was supplied
|
|
277
503
|
no_gen: 'incomplete',
|
|
504
|
+
disjunct_no_gen: 'incomplete',
|
|
278
505
|
conjunct: 'incomplete',
|
|
279
506
|
mapval_no_gen: 'incomplete',
|
|
280
507
|
mapval_required: 'incomplete',
|
package/dist/hints.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hints.js","sourceRoot":"","sources":["../src/hints.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;
|
|
1
|
+
{"version":3,"file":"hints.js","sourceRoot":"","sources":["../src/hints.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { VetFinding } from './vet';
|
|
2
|
+
import type { TrustOptions } from './type';
|
|
3
|
+
export type SchemaLoss = {
|
|
4
|
+
path: string;
|
|
5
|
+
construct: string;
|
|
6
|
+
reason: string;
|
|
7
|
+
};
|
|
8
|
+
export type SchemaVerdict = 'ok' | 'lossy' | 'error';
|
|
9
|
+
export type SchemaReport = {
|
|
10
|
+
verdict: SchemaVerdict;
|
|
11
|
+
schema: any;
|
|
12
|
+
lossy: SchemaLoss[];
|
|
13
|
+
errors?: VetFinding[];
|
|
14
|
+
};
|
|
15
|
+
export type SchemaOptions = {
|
|
16
|
+
at?: string;
|
|
17
|
+
path?: string;
|
|
18
|
+
trust?: TrustOptions;
|
|
19
|
+
};
|
|
20
|
+
export declare function jsonSchema(src: string, options?: SchemaOptions): SchemaReport;
|