@kehto/runtime 0.19.0 → 0.20.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.
Files changed (2) hide show
  1. package/README.md +14 -17
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -15,9 +15,9 @@ pnpm add @kehto/runtime
15
15
  ## Published Napplet Compatibility
16
16
 
17
17
  `@kehto/runtime` publishes against `@napplet/core` and `@napplet/nap`
18
- `>=0.29.0 <0.30.0`. The exact installed convention contracts are core/nap
19
- 0.29.0 from source `dd7b3a728eb9c838b7218fcec7bb7bb00e7cc88b` and release
20
- `60889f1c2476e063500c7ab6624af6abe0dbcbe5`.
18
+ `>=0.31.0 <0.32.0`. The exact installed convention contracts are core/nap
19
+ 0.31.0 from source `7b675622e13870628ce174833d7b2a33cf32a0ab` and release
20
+ `03ad65b66413e5798536ef48695ffc4c2508f2c3`.
21
21
 
22
22
  ## Overview
23
23
 
@@ -48,7 +48,7 @@ the relay backend. Success returns exactly one correlated
48
48
  Signing, replay, relay, and service failures return `ok: false` plus `error`
49
49
  and are never buffered as successful local publications.
50
50
 
51
- The released `@napplet/nap@0.29.0` SDK accepts `EventTemplate`, while its
51
+ The released `@napplet/nap@0.31.0` SDK accepts `EventTemplate`, while its
52
52
  `RelayPublishMessage.event` declaration still says `NostrEvent`; Kehto records
53
53
  that mismatch as upstream package drift and follows the NAP wire direction.
54
54
 
@@ -75,8 +75,8 @@ phase records remain history rather than active compatibility guidance.
75
75
 
76
76
  ## NAP-INTENT runtime boundary
77
77
 
78
- Phase 104 implements the draft [NAP-INTENT PR #91 at
79
- `a718915ddefa2f03a0126579601f59d8bd86f7c4`](https://github.com/napplet/naps/pull/91).
78
+ Kehto implements merged [NAP-INTENT at
79
+ `5ac0490461ca6fec2f0d2e45b4835cf9bc08de24`](https://github.com/napplet/naps/blob/5ac0490461ca6fec2f0d2e45b4835cf9bc08de24/naps/NAP-INTENT.md).
80
80
  The runtime accepts only source-side `intent.invoke`, `intent.available`, and
81
81
  `intent.handlers` requests. It validates the exact queryless
82
82
  `napplet:<archetype>/<action>` identity, derives the sender dTag from the live
@@ -85,17 +85,14 @@ envelopes without exposing ACL or firewall details.
85
85
 
86
86
  Registered services receive a frozen `ServiceRuntimeContext`: current dTag
87
87
  resolution, a frozen live-window snapshot, and recipient-policy-aware sends.
88
- An `intent.invoke.result` with `ok: true` means only that a host controller has
89
- already retained delivery responsibility. The service sends that result before
90
- starting the retained task; target startup, readiness, reuse, replacement,
91
- retry, and terminal failure remain private host policy. A ready target receives
92
- one no-ID `intent.deliver` with the runtime-attested sender, never a visible INC
93
- carrier or window/lifecycle fields.
88
+ An `intent.invoke.result` with `ok: true` means a host controller selected and
89
+ readied the verified target and dispatched its convention. The final result
90
+ includes `handled`, `handler`, `windowId`, and `convention`. The target receives
91
+ one runtime-attested `inc.event` carrying that queryless convention and opaque
92
+ payload; `intent.deliver` is not part of the merged contract.
94
93
 
95
94
  The canonical public `Intent*` contracts are the released `@napplet/core` /
96
- `@napplet/nap` declarations; Kehto retains no local type mirror. An accepted
97
- result transfers delivery responsibility before a retained task starts, and a
98
- post-acceptance outcome never creates a second source result.
95
+ `@napplet/nap` declarations; Kehto retains no local type mirror.
99
96
 
100
97
  Phase 105 completed released package adoption and persistent installed-manifest
101
98
  controllers for the live Paja and playground hosts.
@@ -103,9 +100,9 @@ controllers for the live Paja and playground hosts.
103
100
  ## NAP-INC Contract
104
101
 
105
102
  The active INC boundary follows merged
106
- [`naps/NAP-INC.md`](https://github.com/napplet/naps/blob/6461e4b37c29dc09a20dff35d9515889c4433874/naps/NAP-INC.md)
103
+ [`naps/NAP-INC.md`](https://github.com/napplet/naps/blob/5ac0490461ca6fec2f0d2e45b4835cf9bc08de24/naps/NAP-INC.md)
107
104
  on `napplet/naps` master
108
- `6461e4b37c29dc09a20dff35d9515889c4433874`. The document remains marked
105
+ `5ac0490461ca6fec2f0d2e45b4835cf9bc08de24`. The document remains marked
109
106
  draft, but the merged path is the protocol authority.
110
107
 
111
108
  The released projection binding converts a convention query to a text payload
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kehto/runtime",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "description": "Browser-agnostic protocol engine for the napplet protocol — message dispatch, ACL enforcement, AUTH handshake",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,16 +22,16 @@
22
22
  "dependencies": {
23
23
  "@noble/hashes": "^2.0.0",
24
24
  "@noble/curves": "^2.0.0",
25
- "@kehto/acl": "^0.16.0",
26
- "@kehto/firewall": "^0.4.0"
25
+ "@kehto/acl": "^0.17.0",
26
+ "@kehto/firewall": "^0.5.0"
27
27
  },
28
28
  "peerDependencies": {
29
- "@napplet/core": ">=0.29.0 <0.30.0",
30
- "@napplet/nap": ">=0.29.0 <0.30.0"
29
+ "@napplet/core": ">=0.31.0 <0.32.0",
30
+ "@napplet/nap": ">=0.31.0 <0.32.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@napplet/core": ">=0.29.0 <0.30.0",
34
- "@napplet/nap": ">=0.29.0 <0.30.0",
33
+ "@napplet/core": ">=0.31.0 <0.32.0",
34
+ "@napplet/nap": ">=0.31.0 <0.32.0",
35
35
  "tsup": "^8.5.0",
36
36
  "typescript": "^5.9.3",
37
37
  "vitest": "^4.1.2"