@kehto/services 0.22.0 → 0.22.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
@@ -73,7 +73,10 @@ do not select a handler.
73
73
  `ok: true` means the selected target was ready and the convention was dispatched.
74
74
  The result includes `handled`, `handler`, `windowId`, and `convention`. The
75
75
  target receives the convention and opaque payload through one runtime-attested
76
- `inc.event`; there is no separate `intent.deliver` lifecycle.
76
+ `intent.deliver` envelope with a nested `delivery` object. The host-owned
77
+ `intent.onDelivery` binding buffers arrivals until a handler registers; INC is
78
+ not required. Invocation and result semantics remain on the existing package
79
+ contract pending the separate upstream NAP migration.
77
80
 
78
81
  Paja currently exposes only an exact-contract development simulator, and the
79
82
  playground currently exposes only a verified-manifest catalog builder. Phase
@@ -637,3 +640,13 @@ Generated API module: `docs/api/modules/_kehto_services.html` (run `pnpm docs:ap
637
640
  ## License
638
641
 
639
642
  MIT
643
+
644
+ ## NIP-5D event compatibility
645
+
646
+ Current manifests use a direct artifact `x` hash, plain-text `content`, independent
647
+ `z`/`i` routing declarations, and required `R` / optional `O` domains. Kehto also
648
+ accepts legacy aggregate events through an isolated compatibility adapter.
649
+ Existing `aggregateHash` host/cache/ACL fields carry the verified artifact hash
650
+ for current events; legacy identities keep their original aggregate. Both paths
651
+ verify signatures and bytes before runtime injection and `srcdoc` execution.
652
+ For the schema and removal boundary, see [event migration](https://kehto.github.io/web/docs/migrations/NIP-5D-EVENT-SCHEMA.html).
package/dist/index.d.ts CHANGED
@@ -2311,7 +2311,7 @@ declare function createCatalogIntentResolver(options: CatalogIntentResolverOptio
2311
2311
  /**
2312
2312
  * manifest-intent-catalog.ts — signed-manifest → NAP-INTENT catalog adapter.
2313
2313
  *
2314
- * Adapts a resolved NIP-5A/5D napplet manifest's archetype tags into an
2314
+ * Adapts a resolved NIP-5D manifest's normalized routing declarations into an
2315
2315
  * {@link IntentCatalogEntry} — the shape `createCatalogIntentResolver.loadCatalog`
2316
2316
  * consumes. This lets NAP-INTENT availability and handler candidacy flow from
2317
2317
  * verified manifest tags rather than host-injected catalog data.
@@ -2336,7 +2336,7 @@ interface ManifestArchetypeInput {
2336
2336
  /** Optional human-readable title from the manifest. */
2337
2337
  title?: string;
2338
2338
  /**
2339
- * Ordered convention contracts from the manifest's `archetype` tags.
2339
+ * Normalized current z/i combinations or exact legacy archetype pairs.
2340
2340
  */
2341
2341
  archetypes: Array<{
2342
2342
  slug: string;
package/dist/index.js CHANGED
@@ -4091,7 +4091,7 @@ function actionFromConvention(convention) {
4091
4091
  return match[2];
4092
4092
  }
4093
4093
  function manifestToIntentCatalogEntry(manifest) {
4094
- const archetypes = {};
4094
+ const archetypes = /* @__PURE__ */ Object.create(null);
4095
4095
  for (const { slug, convention } of manifest.archetypes) {
4096
4096
  if (!/^[a-z0-9][a-z0-9-]*$/.test(slug)) {
4097
4097
  throw new TypeError("manifest archetype slug is invalid");