@quo-systems/quo 0.2.9 → 0.2.11
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 +19 -10
- package/SPEC.md +301 -110
- package/dist/being/being.d.ts +2 -2
- package/dist/being/being.js +34 -12
- package/dist/being/digest.js +26 -8
- package/dist/being/index.d.ts +2 -2
- package/dist/being/index.js +2 -2
- package/dist/being/silence.d.ts +2 -0
- package/dist/being/silence.js +12 -0
- package/dist/being/types.d.ts +4 -2
- package/dist/being/types.js +25 -0
- package/dist/conformance/assert.js +40 -6
- package/dist/conformance/beings.d.ts +48 -5
- package/dist/conformance/beings.js +39 -8
- package/dist/conformance/estate.js +110 -21
- package/dist/conformance/index.d.ts +5 -2
- package/dist/conformance/index.js +165 -7
- package/dist/harbor/core.d.ts +5 -2
- package/dist/harbor/core.js +195 -45
- package/dist/harbor/dial.js +32 -15
- package/dist/harbor/index.d.ts +1 -0
- package/dist/harbor/index.js +3 -0
- package/dist/harbor/memory.d.ts +3 -3
- package/dist/harbor/memory.js +7 -12
- package/dist/harbor/reach.js +42 -17
- package/dist/ward/allowance.js +15 -4
- package/dist/ward/arithmetic.d.ts +1 -0
- package/dist/ward/arithmetic.js +22 -6
- package/dist/ward/cells.d.ts +3 -1
- package/dist/ward/cells.js +79 -21
- package/dist/ward/door.d.ts +3 -2
- package/dist/ward/door.js +38 -10
- package/dist/ward/ground.d.ts +5 -1
- package/dist/ward/ground.js +38 -1
- package/dist/ward/heirs.d.ts +2 -3
- package/dist/ward/heirs.js +19 -13
- package/dist/ward/index.d.ts +1 -0
- package/dist/ward/index.js +3 -0
- package/dist/ward/owner.d.ts +6 -27
- package/dist/ward/owner.js +59 -33
- package/dist/ward/partition.d.ts +3 -0
- package/dist/ward/partition.js +109 -4
- package/dist/ward/seal.d.ts +1 -0
- package/dist/ward/seal.js +41 -13
- package/dist/ward/stance.d.ts +7 -3
- package/dist/ward/stance.js +156 -66
- package/dist/ward/ward.d.ts +10 -0
- package/dist/ward/ward.js +123 -51
- package/package.json +4 -2
- package/src/being/being.ts +33 -11
- package/src/being/digest.ts +28 -13
- package/src/being/index.ts +2 -2
- package/src/being/silence.ts +14 -0
- package/src/being/types.ts +39 -5
- package/src/conformance/assert.ts +37 -4
- package/src/conformance/beings.ts +41 -10
- package/src/conformance/estate.ts +107 -20
- package/src/conformance/index.ts +188 -13
- package/src/harbor/core.ts +203 -46
- package/src/harbor/dial.ts +46 -17
- package/src/harbor/index.ts +3 -0
- package/src/harbor/memory.ts +8 -13
- package/src/harbor/reach.ts +47 -21
- package/src/ward/allowance.ts +15 -4
- package/src/ward/arithmetic.ts +25 -8
- package/src/ward/cells.ts +76 -25
- package/src/ward/door.ts +38 -12
- package/src/ward/ground.ts +52 -3
- package/src/ward/heirs.ts +19 -13
- package/src/ward/index.ts +3 -0
- package/src/ward/owner.ts +65 -46
- package/src/ward/partition.ts +109 -5
- package/src/ward/seal.ts +41 -12
- package/src/ward/stance.ts +163 -64
- package/src/ward/ward.ts +124 -52
- package/vectors/arithmetic.json +7 -0
- package/vectors/framing.json +30 -15
- package/vectors/wire.json +4 -4
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/
|
|
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
|
-
|
|
50
|
-
`npm run lint` (`lint:ts` is oxlint
|
|
51
|
-
markdownlint), `npm run lint:fix`, and
|
|
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.
|
|
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,
|
|
87
|
-
is the truth the source and the vectors
|
|
88
|
-
|
|
89
|
-
|
|
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
|
|