@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.
- package/README.md +14 -17
- 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.
|
|
19
|
-
0.
|
|
20
|
-
`
|
|
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.
|
|
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
|
-
|
|
79
|
-
`
|
|
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
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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.
|
|
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/
|
|
103
|
+
[`naps/NAP-INC.md`](https://github.com/napplet/naps/blob/5ac0490461ca6fec2f0d2e45b4835cf9bc08de24/naps/NAP-INC.md)
|
|
107
104
|
on `napplet/naps` master
|
|
108
|
-
`
|
|
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.
|
|
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.
|
|
26
|
-
"@kehto/firewall": "^0.
|
|
25
|
+
"@kehto/acl": "^0.17.0",
|
|
26
|
+
"@kehto/firewall": "^0.5.0"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
|
-
"@napplet/core": ">=0.
|
|
30
|
-
"@napplet/nap": ">=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.
|
|
34
|
-
"@napplet/nap": ">=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"
|