aontu 0.65.0 → 0.66.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/dist/helpdoc.js CHANGED
@@ -7,7 +7,7 @@ const HELPDOC = [
7
7
  "topic": "tasks",
8
8
  "summary": "what do you want to do? — the verb for a job",
9
9
  "source": "docs/skill/tasks.md",
10
- "text": "# What do you want to do?\n\nThe verb for a job, found by the word you arrived with. aontu's own\nvocabulary is on the right; yours is probably on the left.\n\n## Start from a document that works\n\nNothing written yet? Do not invent the first document, edit one:\n\n```\naontu init # into the working directory\naontu init model/ # or into a named one\nsh check.sh # the four questions, on what was just written\n```\n\n`init` writes `model.aon` (an entity map constrained with `&:`),\n`data.aon` (an instance of it that holds) and `check.sh` (the four\nchecks to run after every edit). It never overwrites: if any\nof the three already stands there, it refuses and writes none of them.\n\n## Describe a domain\n\nAn **ontology**, a **schema**, a **data model**, a **contract** — in\naontu these are all one thing: a document. Write the entities as a\n**map keyed by name**, and say what every entry must satisfy with the\n`&:` template:\n\n```\nentity: {\n &: {\n table: string\n fields: { &: { type: string, required: *false | boolean } }\n }\n planet: { table: \"planets\", fields: { name: { type: \"string\" } } }\n moon: { table: \"moons\", fields: { name: { type: \"string\" } } }\n}\n```\n\n`&:` is the construct to reach for first, and the one most easily\nmissed. It meets **every** key of the map it sits in. A quoted `\"*\"`\nis not a wildcard — it is a key named `*`, and a schema written that\nway constrains nothing while still reporting `valid`.\n\nPrefer a named map to a list unless the order is a fact (a migration\nsequence, a rule table tried in order). A key is an address, a name\nother parts can refer to, and a diff that shows one insertion instead\nof every following element renumbered.\n\n## Check data against a model\n\n```\naontu vet model.aon data.aon\n```\n\nExit `0` valid, `1` a contradiction, `3` incomplete (nothing\ncontradicts, but the model is not yet satisfied), `4` the model does\nnot stand up on its own. `--format json` for the machine-readable\nreport, `--closed` to refuse keys the model does not declare,\n`--max-errors <n>` to cap the list.\n\n**Make the check prove it checked something.** A check that examined\nnothing answers exactly like one that passed:\n\n```\naontu vet --coverage model.aon data.aon # what did it examine?\naontu vet --strict-coverage model.aon data.aon # exit 1 if nothing\n```\n\n`--coverage` reports how many data leaves a declaration constrained,\nthe data paths none did, and the declarations no data met.\n`--strict-coverage` exits 1 when the answer is nothing. The usual\ncause is the `\"*\"` mistake above: reach for `&:`.\n\n## Check the model is coherent with itself\n\n```\naontu relations model.aon # declared entity edges: targets resolve, no cycles\naontu reaches planet moon model.aon # does one entity reach another, at any remove?\naontu trim --check model.aon # entries whose removal changes nothing\n```\n\n## Generate code from a model, and hold it\n\n```\naontu model get out gen.aon # the component tree: files, and the lines in them\naontu trace gen.aon # what rule wrote each line\n```\n\nA generator answers a **component tree** -- `file(name, [lines])` and\nits neighbours -- which a generator runtime writes to disk. Hand the\ntree to one and compare with what is committed: the model is the truth,\nthe code is the claim, and drift is a finding. `aontu trace` answers\nthe other direction: for a line of the output, the model node and the\nrule behind it.\n\n## Ask what a model says, and why\n\n```\naontu model get $.entity.planet.table model.aon\naontu model why $.entity.planet.table model.aon\naontu model get $.entity --keys model.aon\naontu model get $.entity --types model.aon\n```\n\n`why` names **every** contribution to a value, with the file and line\neach was written on. It is the first thing to run when a value is not\nwhat you expected, and the second thing to run when `vet` refuses.\n\n## Change a value without editing the file\n\n```\naontu model set '$.entity.planet.table=planet_v2' --entry model.aon --overlay local.aon\n```\n\nThe change is checked before it is written; a change that contradicts\na pinned value is refused, and the file is left alone.\n\n## Gate a change to the model itself\n\n```\naontu subsume old.aon new.aon # does the general admit every specific?\naontu breaking --against git#HEAD~1 model.aon\naontu hash model.aon # a pin that survives reformatting\n```\n\n## Hand a model to another agent\n\n```\naontu agentsmd --write AGENTS.md model.aon\n```\n\nSplices a derived stanza — the pin, the root keys, the shape, and the\ncommands spelled with paths that exist — between two markers, and\nleaves the rest of the file alone. Re-run it in the commit that\nchanges the model.\n\n## When something refuses\n\nRead the code in the brackets, then look it up:\n\n```\naontu explain no_scalar_unify\n```\n\nEvery finding carries a `code`, a `class`, a `path` and the **two\nsites** that disagree — the value and the constraint it failed, each\nwith its file and line. The class says what kind of answer it is:\n`conflict` (two things cannot both hold), `incomplete` (nothing is\nwrong yet, something is missing), `parse`, `reference`, `budget`.\n\nFull index: [`error-codes.md`](error-codes.md). The language on one\npage: [`grammar-card.md`](grammar-card.md). The worked ladder from\nplain JSON upward: [`examples.md`](examples.md).\n"
10
+ "text": "# What do you want to do?\n\nThe verb for a job, found by the word you arrived with. aontu's own\nvocabulary is on the right; yours is probably on the left.\n\n## Start from a document that works\n\nNothing written yet? Do not invent the first document, edit one:\n\n```\naontu init # into the working directory\naontu init model/ # or into a named one\nsh check.sh # the four questions, on what was just written\n```\n\n`init` writes `model.aon` (an entity map constrained with `&:`),\n`data.aon` (an instance of it that holds) and `check.sh` (the four\nchecks to run after every edit). It never overwrites: if any\nof the three already stands there, it refuses and writes none of them.\n\n## Describe a domain\n\nAn **ontology**, a **schema**, a **data model**, a **contract** — in\naontu these are all one thing: a document. Write the entities as a\n**map keyed by name**, and say what every entry must satisfy with the\n`&:` template:\n\n```\nentity: {\n &: {\n table: string\n fields: { &: { type: string, required: *false | boolean } }\n }\n planet: { table: \"planets\", fields: { name: { type: \"string\" } } }\n moon: { table: \"moons\", fields: { name: { type: \"string\" } } }\n}\n```\n\n`&:` is the construct to reach for first, and the one most easily\nmissed. It meets **every** key of the map it sits in. A quoted `\"*\"`\nis not a wildcard — it is a key named `*`, and a schema written that\nway constrains nothing while still reporting `valid`.\n\nPrefer a named map to a list unless the order is a fact (a migration\nsequence, a rule table tried in order). A key is an address, a name\nother parts can refer to, and a diff that shows one insertion instead\nof every following element renumbered.\n\n## Check data against a model\n\n```\naontu vet model.aon data.aon\n```\n\nExit `0` valid, `1` a contradiction, `3` incomplete (nothing\ncontradicts, but the model is not yet satisfied), `4` the model does\nnot stand up on its own. `--format json` for the machine-readable\nreport, `--closed` to refuse keys the model does not declare,\n`--max-errors <n>` to cap the list.\n\n**Make the check prove it checked something.** A check that examined\nnothing answers exactly like one that passed:\n\n```\naontu vet --coverage model.aon data.aon # what did it examine?\naontu vet --strict-coverage model.aon data.aon # exit 1 if nothing\n```\n\n`--coverage` reports how many data leaves a declaration constrained,\nthe data paths none did, and the declarations no data met.\n`--strict-coverage` exits 1 when the answer is nothing. The usual\ncause is the `\"*\"` mistake above: reach for `&:`.\n\n## Check the model is coherent with itself\n\n```\naontu relations model.aon # declared entity edges: targets resolve, no cycles\naontu reaches planet moon model.aon # does one entity reach another, at any remove?\naontu trim --check model.aon # entries whose removal changes nothing\n```\n\n## Generate code from a model, and hold it\n\n```\naontu render gen.aon build # write the files below build/\naontu render --check gen.aon build # write nothing; exit 1 when build/ has drifted\naontu render gen/ build # every generator directly in gen/, as one run\naontu model get out gen.aon # the component tree: files, and the lines in them\naontu trace gen.aon # what rule wrote each line\n```\n\nA generator answers a **component tree** -- `file(name, [lines])` and\nits neighbours -- which `aontu render` hands to jostraca, the generator\nruntime, to write. A tree that is one file is written to the path\nitself, and a folder of generators is one run. `--check` compares with\nwhat is committed: the model is the\ntruth, the code is the claim, and drift is a finding. `aontu trace`\nanswers the other direction: for a line of the output, the model node\nand the rule behind it.\n\n## Ask what a model says, and why\n\n```\naontu model get $.entity.planet.table model.aon\naontu model why $.entity.planet.table model.aon\naontu model get $.entity --keys model.aon\naontu model get $.entity --types model.aon\n```\n\n`why` names **every** contribution to a value, with the file and line\neach was written on. It is the first thing to run when a value is not\nwhat you expected, and the second thing to run when `vet` refuses.\n\n## Change a value without editing the file\n\n```\naontu model set '$.entity.planet.table=planet_v2' --entry model.aon --overlay local.aon\n```\n\nThe change is checked before it is written; a change that contradicts\na pinned value is refused, and the file is left alone.\n\n## Gate a change to the model itself\n\n```\naontu subsume old.aon new.aon # does the general admit every specific?\naontu breaking --against git#HEAD~1 model.aon\naontu hash model.aon # a pin that survives reformatting\n```\n\n## Hand a model to another agent\n\n```\naontu agentsmd --write AGENTS.md model.aon\n```\n\nSplices a derived stanza — the pin, the root keys, the shape, and the\ncommands spelled with paths that exist — between two markers, and\nleaves the rest of the file alone. Re-run it in the commit that\nchanges the model.\n\n## When something refuses\n\nRead the code in the brackets, then look it up:\n\n```\naontu explain no_scalar_unify\n```\n\nEvery finding carries a `code`, a `class`, a `path` and the **two\nsites** that disagree — the value and the constraint it failed, each\nwith its file and line. The class says what kind of answer it is:\n`conflict` (two things cannot both hold), `incomplete` (nothing is\nwrong yet, something is missing), `parse`, `reference`, `budget`.\n\nFull index: [`error-codes.md`](error-codes.md). The language on one\npage: [`grammar-card.md`](grammar-card.md). The worked ladder from\nplain JSON upward: [`examples.md`](examples.md).\n"
11
11
  },
12
12
  {
13
13
  "topic": "language",
@@ -1 +1 @@
1
- {"version":3,"file":"helpdoc.js","sourceRoot":"","sources":["../src/helpdoc.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAcpD,MAAM,OAAO,GAAgB;IAC3B;QACE,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,8CAA8C;QACzD,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,i4KAAi4K;KAC14K;IACD;QACE,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,gEAAgE;QAC3E,QAAQ,EAAE,4BAA4B;QACtC,MAAM,EAAE,muEAAmuE;KAC5uE;IACD;QACE,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,sDAAsD;QACjE,QAAQ,EAAE,wBAAwB;QAClC,MAAM,EAAE,2xEAA2xE;KACpyE;IACD;QACE,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,+CAA+C;QAC1D,QAAQ,EAAE,2BAA2B;QACrC,MAAM,EAAE,soGAAsoG;KAC/oG;IACD;QACE,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,2DAA2D;QACtE,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,urNAAurN;KAChsN;CACF,CAAA;QA+BQ,OAAO;AAtBhB,MAAM,OAAO,GAAe;IAC1B;QACE,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,opBAAopB;KAC7pB;IACD;QACE,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,2WAA2W;KACpX;IACD;QACE,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,++BAA++B;KACx/B;CACF,CAAA;QAGiB,OAAO"}
1
+ {"version":3,"file":"helpdoc.js","sourceRoot":"","sources":["../src/helpdoc.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAcpD,MAAM,OAAO,GAAgB;IAC3B;QACE,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,8CAA8C;QACzD,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,2uLAA2uL;KACpvL;IACD;QACE,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,gEAAgE;QAC3E,QAAQ,EAAE,4BAA4B;QACtC,MAAM,EAAE,muEAAmuE;KAC5uE;IACD;QACE,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,sDAAsD;QACjE,QAAQ,EAAE,wBAAwB;QAClC,MAAM,EAAE,2xEAA2xE;KACpyE;IACD;QACE,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,+CAA+C;QAC1D,QAAQ,EAAE,2BAA2B;QACrC,MAAM,EAAE,soGAAsoG;KAC/oG;IACD;QACE,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,2DAA2D;QACtE,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,urNAAurN;KAChsN;CACF,CAAA;QA+BQ,OAAO;AAtBhB,MAAM,OAAO,GAAe;IAC1B;QACE,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,opBAAopB;KAC7pB;IACD;QACE,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,2WAA2W;KACpX;IACD;QACE,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,++BAA++B;KACx/B;CACF,CAAA;QAGiB,OAAO"}
package/dist/lsp.d.ts CHANGED
@@ -4,7 +4,7 @@ declare const SEVERITY_ERROR = 1;
4
4
  declare const SEVERITY_WARNING = 2;
5
5
  declare const SEVERITY_INFORMATION = 3;
6
6
  declare const SEVERITY_HINT = 4;
7
- declare const LSP_VERSION = "0.65.0";
7
+ declare const LSP_VERSION = "0.66.0";
8
8
  type Position = {
9
9
  line: number;
10
10
  character: number;