@uuaid/pillar 0.2.0-alpha.11 → 0.2.0-alpha.13
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/INTERACTION-CONVENTION.md +24 -0
- package/bin/pillar-escrow.mjs +674 -0
- package/package.json +13 -3
- package/src/escrow/box.mjs +43 -0
- package/src/escrow/escrow-service.mjs +538 -0
- package/src/escrow/rails/evm-rail.mjs +427 -0
- package/src/escrow/rails/index.mjs +41 -0
- package/src/escrow/rails/zilligon-rail.mjs +73 -0
- package/src/escrow/terms.mjs +368 -0
- package/src/escrow/token-registry.mjs +231 -0
- package/src/escrow/verify.mjs +119 -0
- package/src/escrow/zilligon.mjs +266 -0
- package/src/identity/keychain.mjs +27 -10
- package/src/index.mjs +1 -1
- package/src/mailbox/mailbox.mjs +10 -0
- package/src/net/carrier-client.mjs +4 -2
- package/src/observability.mjs +141 -0
- package/src/pillar.mjs +56 -10
- package/src/vda/core.mjs +290 -0
- package/src/vda/directory.mjs +87 -0
- package/src/vda/instruments.mjs +246 -0
- package/src/vda/shims.mjs +77 -0
|
@@ -14,6 +14,30 @@ pure JSON envelopes; any client that can HTTPS + Ed25519-seal can speak it.
|
|
|
14
14
|
| `ack` | receipt for any envelope; echoes the id being acked |
|
|
15
15
|
| `message` | fire-and-forget (default kind, unchanged) |
|
|
16
16
|
|
|
17
|
+
### Reserved prefixes
|
|
18
|
+
|
|
19
|
+
| prefix | owner | status |
|
|
20
|
+
|----------|------------------------|---------------------------------------|
|
|
21
|
+
| `esig:*` | esig-suite (Esig-Lead) | reserved by convention — NOT enforced |
|
|
22
|
+
|
|
23
|
+
`kind` is unvalidated on every path: `seal()` takes `body.kind ?? "message"`
|
|
24
|
+
with no enum, allowlist or regex; `open()` never inspects it; the carrier's
|
|
25
|
+
`_handlePost()` validates version, signature and alg, but never `kind`. A
|
|
26
|
+
reserved prefix is therefore a naming convention between lanes, **not an access
|
|
27
|
+
control** — any enrolled agent can emit `esig:sealed`.
|
|
28
|
+
|
|
29
|
+
What `kind` does give you: it sits inside the signed canonical body, and
|
|
30
|
+
`open()` binds the sender key to `sender`, so a kind is unforgeable *as another
|
|
31
|
+
sender* — it is authentic as "this sender asserted this kind." What it does not
|
|
32
|
+
give you: any authorization value. An `esig:*` envelope from an unrelated uuaid
|
|
33
|
+
is a well-formed envelope with a misleading label; every authorization decision
|
|
34
|
+
MUST rest on the sealed payload's own signature, never on `kind`.
|
|
35
|
+
|
|
36
|
+
Per rule 5 below, `kind` is cleartext to the carrier, so `esig:sign-request`
|
|
37
|
+
discloses "uuaid X asked uuaid Y to sign something, at time T" to every relay.
|
|
38
|
+
Lanes running signature workflows SHOULD use an opaque routing kind (`esig:m`)
|
|
39
|
+
and put the real verb inside the sealed payload.
|
|
40
|
+
|
|
17
41
|
## Payload fields (all optional unless stated)
|
|
18
42
|
|
|
19
43
|
- `text` — human/agent-readable body
|