@kehto/paja 0.15.2 → 0.16.1

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 CHANGED
@@ -156,7 +156,7 @@ outside this behavior.
156
156
  [NAP-IDENTITY at `6461e4b37c29dc09a20dff35d9515889c4433874`](https://github.com/napplet/naps/blob/6461e4b37c29dc09a20dff35d9515889c4433874/naps/NAP-IDENTITY.md)
157
157
  is byte-identical to the recorded `napplet/naps` master document for this phase.
158
158
  Pinned [NAP-OUTBOX at `4589a8f9a16d8aa29b3740e2b3b0cdca11e0976e`](https://github.com/napplet/naps/blob/4589a8f9a16d8aa29b3740e2b3b0cdca11e0976e/naps/NAP-OUTBOX.md)
159
- together with installed `@napplet/nap@0.31.2` types is the PoC contract because
159
+ together with installed `@napplet/nap@0.32.0` types is the PoC contract because
160
160
  current master has no NAP-OUTBOX path. Paja therefore makes no current-master
161
161
  OUTBOX conformance claim. Blossom upload behavior targets pinned
162
162
  [NAP-UPLOAD at `a7cc17463cbf5d9cb87884b31071bc4fc826034c`](https://github.com/napplet/naps/blob/a7cc17463cbf5d9cb87884b31071bc4fc826034c/naps/NAP-UPLOAD.md).
@@ -183,8 +183,10 @@ node scripts/build-paja-pages.mjs
183
183
  ```
184
184
 
185
185
  When `PAJA_UPLOAD_SERVERS` is set, the runtime enables the Blossom upload rail
186
- with server discovery and uses those servers for Blossom NAP-RESOURCE
187
- resolution too.
186
+ and also makes those servers explicit NAP-RESOURCE fallbacks. It is not needed
187
+ for read-side discovery: resources learned through OUTBOX use their event hints
188
+ and hinted-author/publisher server lists first, then the active shell user's
189
+ published list.
188
190
 
189
191
  ## Installed intent handlers and delivery
190
192
 
@@ -210,7 +212,7 @@ identity. A superseded target/source, failed open/readiness, or terminal send is
210
212
  handled by the controller's replacement/retry/terminal policy and produces a
211
213
  canonical failed `IntentResult`.
212
214
 
213
- `@napplet/shim@0.29.2` supplies no generic shell API. Kehto deliberately keeps
215
+ `@napplet/shim@0.30.0` supplies no generic shell API. Kehto deliberately keeps
214
216
  its host-owned mandatory `window.napplet.shell` prelude: it installs the live
215
217
  receiver before the one bare `shell.ready`, caches the first `shell.init`, and
216
218
  provides local `ready()`, `supports()`, read-only `services`, and one-shot
@@ -311,13 +313,30 @@ canonical `network-error`, while any CORS-readable response is returned as NAP
311
313
  bytes.
312
314
 
313
315
  `data:` remains locally decoded. `blossom:` is a separate, content-addressed
314
- boundary and is advertised only when at least one usable host-owned
315
- runtime-pointer or upload server is configured. The only accepted identifier is
316
- `blossom:sha256:<hex>`; Paja refuses redirects, verifies the requested SHA-256,
317
- and permits plain-HTTP Blossom transport only for configured loopback
318
- development servers. Resource-origin permissiveness does not alter Paja's
319
- independent signer confirmations. This behavior targets draft
320
- [NAP-RESOURCE at `fa6bcc6`](https://github.com/napplet/naps/blob/fa6bcc6935aa19e7b70ab2a2c721dafca77c78e1/naps/NAP-RESOURCE.md).
316
+ boundary and is advertised because each request may provide server locations
317
+ without a host default. Paja accepts only public-looking HTTPS origin hints,
318
+ discards invalid/private literals, and deduplicates them. For a canonical URL
319
+ previously returned to the same napplet window by `outbox.getEvent`,
320
+ `outbox.query`, or `outbox.subscribe`, Paja retains bounded event context
321
+ without prefetching bytes. Resolution tries request and
322
+ event-local server hints first, then lazily queries hinted authors' and the
323
+ event publisher's newest BUD-03 kind `10063` lists through the verified
324
+ NIP-65-aware OUTBOX router, then queries the active shell user's BUD-03 list
325
+ through that same router, then uses host-configured runtime-pointer and
326
+ upload-runtime fallbacks. The user-list
327
+ lookup works independently of upload mode; an upload runtime may reuse the same
328
+ servers when present. ROM-specific event and publisher locations retain
329
+ priority over the user/runtime fallbacks. The combined list is capped at eight
330
+ candidates. The only accepted identifier is `blossom:sha256:<hex>`;
331
+ Paja refuses redirects, verifies the requested SHA-256, and permits plain-HTTP
332
+ transport only for configured loopback development defaults. Browser-only Paja
333
+ cannot pin DNS results, so production runtimes must add the draft's DNS-time
334
+ private-address checks. This behavior targets draft
335
+ [NAP-RESOURCE at `9511232`](https://github.com/napplet/naps/blob/9511232f69313aa7953d110e35d32cc28d506f66/naps/NAP-RESOURCE.md), with the merged package implementation
336
+ [`napplet/web#206@19e0029b`](https://github.com/napplet/web/pull/206) released as
337
+ `@napplet/core`/`@napplet/nap` 0.32.0, `@napplet/shim` 0.30.0, and
338
+ `@napplet/sdk` 0.28.0. Publisher discovery follows
339
+ [Blossom BUD-03 at `b5bd280`](https://github.com/hzrd149/blossom/blob/b5bd2801d1763aa635fc8fea7a76597e0eb18990/buds/03.md).
321
340
 
322
341
  Full package docs: [`docs/packages/paja.md`](../../docs/packages/paja.md).
323
342
  Getting started: [`docs/how-tos/paja-getting-started.md`](../../docs/how-tos/paja-getting-started.md).