@quo-systems/quo 0.2.8 → 0.2.10

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.
Files changed (52) hide show
  1. package/README.md +19 -10
  2. package/SPEC.md +161 -89
  3. package/dist/being/being.d.ts +2 -2
  4. package/dist/being/being.js +27 -11
  5. package/dist/being/digest.js +11 -7
  6. package/dist/being/types.d.ts +2 -2
  7. package/dist/conformance/estate.js +1 -3
  8. package/dist/conformance/index.js +1 -1
  9. package/dist/harbor/core.d.ts +2 -0
  10. package/dist/harbor/core.js +114 -25
  11. package/dist/harbor/dial.js +5 -3
  12. package/dist/harbor/memory.d.ts +1 -1
  13. package/dist/harbor/memory.js +3 -2
  14. package/dist/harbor/reach.js +32 -7
  15. package/dist/ward/allowance.js +8 -2
  16. package/dist/ward/arithmetic.js +11 -3
  17. package/dist/ward/cells.d.ts +3 -1
  18. package/dist/ward/cells.js +79 -21
  19. package/dist/ward/door.d.ts +1 -0
  20. package/dist/ward/door.js +24 -5
  21. package/dist/ward/ground.d.ts +1 -0
  22. package/dist/ward/heirs.d.ts +1 -1
  23. package/dist/ward/heirs.js +15 -8
  24. package/dist/ward/owner.d.ts +5 -26
  25. package/dist/ward/owner.js +24 -15
  26. package/dist/ward/seal.js +3 -0
  27. package/dist/ward/stance.d.ts +4 -1
  28. package/dist/ward/stance.js +116 -54
  29. package/dist/ward/ward.d.ts +10 -0
  30. package/dist/ward/ward.js +87 -36
  31. package/package.json +4 -2
  32. package/src/being/being.ts +26 -10
  33. package/src/being/digest.ts +13 -11
  34. package/src/being/types.ts +10 -4
  35. package/src/conformance/estate.ts +1 -3
  36. package/src/conformance/index.ts +1 -1
  37. package/src/harbor/core.ts +110 -26
  38. package/src/harbor/dial.ts +6 -4
  39. package/src/harbor/memory.ts +3 -2
  40. package/src/harbor/reach.ts +38 -11
  41. package/src/ward/allowance.ts +8 -2
  42. package/src/ward/arithmetic.ts +11 -3
  43. package/src/ward/cells.ts +76 -25
  44. package/src/ward/door.ts +22 -5
  45. package/src/ward/ground.ts +9 -2
  46. package/src/ward/heirs.ts +13 -6
  47. package/src/ward/owner.ts +24 -24
  48. package/src/ward/seal.ts +2 -0
  49. package/src/ward/stance.ts +117 -48
  50. package/src/ward/ward.ts +86 -35
  51. package/vectors/arithmetic.json +7 -0
  52. package/vectors/framing.json +14 -5
package/README.md CHANGED
@@ -25,8 +25,8 @@ types nowhere under `node_modules`.
25
25
 
26
26
  ```
27
27
  src/being/ the Being side: what a being author imports, if anything
28
- src/ward/ the ward: door, seal, arithmetic, heirs, stance, allowance
29
- src/harbor/ the Ground contract, MemoryHarbor, and the harbor core with its store and reach
28
+ src/ward/ the ward: the Ground contract, door, seal, arithmetic, heirs, stance, allowance
29
+ src/harbor/ MemoryHarbor, and the harbor core with its store, reach and dialer
30
30
  src/conformance/ behaviours any ward must show, written against the truth
31
31
  test/ the suites
32
32
  vectors/ fixed inputs and outputs, so another language proves its bytes
@@ -42,13 +42,19 @@ chromium` once. A terrain whose binary is missing skips and says so.
42
42
 
43
43
  ## Check
44
44
 
45
+ The gate lives at the root of the repository this package is developed in,
46
+ and runs from there:
47
+
45
48
  ```
46
49
  npm run check
47
50
  ```
48
51
 
49
- Typecheck, lint, then tests. The pieces run alone too: `npm run typecheck`,
50
- `npm run lint` (`lint:ts` is oxlint with type-aware rules, `lint:md` is
51
- markdownlint), `npm run lint:fix`, and `npm test`.
52
+ Build, typecheck, lint, then the suites of every package. The pieces run
53
+ alone there too: `npm run typecheck`, `npm run lint` (`lint:ts` is oxlint
54
+ with type-aware rules, `lint:md` is markdownlint), `npm run lint:fix`, and
55
+ `npm test`. Inside this package three scripts exist and no more: `npm test`
56
+ runs the suites under `test/`, `npm run build` emits `dist/`, and
57
+ `npm run check:terrain` runs the terrains.
52
58
 
53
59
  The toolchain is TypeScript 7, the native compiler, and oxlint, which is the
54
60
  linter built for it. Both are in Rust or Go rather than JavaScript, so the
@@ -73,7 +79,9 @@ vectors are the byte-level hand, everything a stranger can observe:
73
79
  Ed25519, X25519, HKDF and AES-256-GCM; `vectors/framing.json`, Quo's own,
74
80
  the ward pk, the digest, the signed ask body, the sealed shapes, the
75
81
  invitation and the knock; `vectors/wire.json`, the frames on a socket and
76
- the one request a door takes. A kit reproduces them or it is not this
82
+ the one request a door takes. They import by name,
83
+ `@quo-systems/quo/vectors/framing.json`, so a kit's own suite can read them
84
+ from the package. A kit reproduces them or it is not this
77
85
  protocol. `src/conformance/` is the behavioural hand, and it is a checklist
78
86
  a kit ports, not a harness it runs: the beings it is shown with run only in
79
87
  a TypeScript ward. `SPEC.md` "The tree" says the whole of it.
@@ -83,10 +91,11 @@ a TypeScript ward. `SPEC.md` "The tree" says the whole of it.
83
91
  Published from 0.1.0, the first version under this name, with no
84
92
  compatibility promise before 1.0.0: the words may still move. `npm pack
85
93
  --dry-run` shows what ships: the emitted `dist/`, the source, the vectors,
86
- the spec, and the licence no tests, no configs. The spec ships because it
87
- is the truth the source and the vectors are read against. `npm publish`
88
- runs both gates first, `check` and `check:terrain`, and refuses on a
89
- failure.
94
+ the spec, this file, the licence and the notice, and no tests and no
95
+ configs. The spec ships because it is the truth the source and the vectors
96
+ are read against. Publishing is gated from the root of the repository:
97
+ `npm run release` there runs both gates, `check` and `check:terrain`, and
98
+ publishes on green; `npm publish` inside this package refuses and says so.
90
99
 
91
100
  ## License
92
101