@kehto/paja 0.9.0 → 0.11.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 +36 -9
- package/dist/browser-host.js +642 -339
- package/dist/browser-host.js.map +1 -1
- package/dist/{chunk-OWVINAW7.js → chunk-EOCGC7A2.js} +30 -36
- package/dist/{chunk-OWVINAW7.js.map → chunk-EOCGC7A2.js.map} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.d.ts +17 -19
- package/dist/index.js +1 -1
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -67,6 +67,34 @@ canonical failure and is not added to Paja's in-memory relay view. Paja's
|
|
|
67
67
|
scoped-relay hook likewise waits for the backend result and returns `false`
|
|
68
68
|
after denial or transport failure.
|
|
69
69
|
|
|
70
|
+
## Standard identity and social-cache boundary
|
|
71
|
+
|
|
72
|
+
A signed-in napplet reads Paja identity and social data only through existing
|
|
73
|
+
`identity.getPublicKey`, `identity.getFollows`, and ordinary kind-0
|
|
74
|
+
`outbox.query` messages. Paja exposes no social namespace, direct networking,
|
|
75
|
+
or signer/key capability for this behavior.
|
|
76
|
+
|
|
77
|
+
Paja privately validates the active account's replacement kind-3 contact list,
|
|
78
|
+
then warms followed kind-0 profile records through its established outbox router.
|
|
79
|
+
The resulting snapshot is active-account-scoped and memory-only. It is distinct
|
|
80
|
+
from generic simulation cache mode; it is not napplet-owned storage and has no
|
|
81
|
+
durable-cache controls. Captured-key request correlation keeps a follows request
|
|
82
|
+
bound to the account that started it, while generation-safe background writes
|
|
83
|
+
prevent stale-account data from becoming the active snapshot.
|
|
84
|
+
|
|
85
|
+
A normal query can include matching cached `RelayEventResult` values, but Paja
|
|
86
|
+
retains the base router's query-wide `incomplete` and `error` fields. A cache hit
|
|
87
|
+
does not make a degraded query complete. Profile winner selection, pagination,
|
|
88
|
+
follow mutation, durable-cache management, and per-author completeness are
|
|
89
|
+
outside this behavior.
|
|
90
|
+
|
|
91
|
+
[NAP-IDENTITY at `6461e4b37c29dc09a20dff35d9515889c4433874`](https://github.com/napplet/naps/blob/6461e4b37c29dc09a20dff35d9515889c4433874/naps/NAP-IDENTITY.md)
|
|
92
|
+
is byte-identical to the recorded `napplet/naps` master document for this phase.
|
|
93
|
+
Pinned [NAP-OUTBOX at `4589a8f9a16d8aa29b3740e2b3b0cdca11e0976e`](https://github.com/napplet/naps/blob/4589a8f9a16d8aa29b3740e2b3b0cdca11e0976e/naps/NAP-OUTBOX.md)
|
|
94
|
+
together with installed `@napplet/nap@0.29.0` types is the PoC contract because
|
|
95
|
+
current master has no NAP-OUTBOX path. Paja therefore makes no current-master
|
|
96
|
+
OUTBOX conformance claim. Blossom behavior remains Phase 103 scope.
|
|
97
|
+
|
|
70
98
|
The static Paja Runtime build is served at `/web/paja/` in the GitHub Pages
|
|
71
99
|
artifact. It uses the same browser host and service adapters, but loads verified
|
|
72
100
|
napplet HTML from pasted `naddr` or `nevent` pointers with `hmr: none`. Each
|
|
@@ -93,17 +121,16 @@ accepted only when it is an installed compatible handler and the invoking sender
|
|
|
93
121
|
has been explicitly authorized for it. It is not a request to deliver to an
|
|
94
122
|
arbitrary running frame.
|
|
95
123
|
|
|
96
|
-
When Paja
|
|
97
|
-
|
|
98
|
-
target or start a cold target. The controller waits for the target generation's
|
|
124
|
+
When Paja receives an invocation, it selects and opens or reuses a verified
|
|
125
|
+
target. The controller waits for the target generation's
|
|
99
126
|
registered `MessageEvent.source` to establish its real `shell.ready` session;
|
|
100
|
-
it checks that generation is still current
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
127
|
+
it checks that generation is still current, sends one target-only `inc.event`
|
|
128
|
+
with the selected queryless convention, and returns the final handled target
|
|
129
|
+
identity. A superseded target/source, failed open/readiness, or terminal send is
|
|
130
|
+
handled by the controller's replacement/retry/terminal policy and produces a
|
|
131
|
+
canonical failed `IntentResult`.
|
|
105
132
|
|
|
106
|
-
`@napplet/shim@0.
|
|
133
|
+
`@napplet/shim@0.29.0` supplies no generic shell API. Kehto deliberately keeps
|
|
107
134
|
its host-owned mandatory `window.napplet.shell` prelude: it installs the live
|
|
108
135
|
receiver before the one bare `shell.ready`, caches the first `shell.init`, and
|
|
109
136
|
provides local `ready()`, `supports()`, read-only `services`, and one-shot
|