Skip to content

@kehto/runtime

Browser-agnostic protocol engine for NIP-5D napplet hosting.

Alpha status: Kehto is an early runtime implementation for a draft NIP-5D protocol. Runtime APIs and NAP dispatch contracts are not final.

Install

bash
pnpm add @kehto/runtime @kehto/acl @napplet/core @napplet/nap

Manifest Facts

FieldValue
Sourcepackages/runtime/package.json, packages/runtime/src/index.ts
Version0.15.0
Runtime entry./dist/index.js
Types entry./dist/index.d.ts
Dependencies@kehto/acl, @noble/hashes, @noble/curves
Side effectsfalse

Peer Dependencies

PackageRange
@napplet/core>=0.20.0 <0.21.0
@napplet/nap>=0.20.0 <0.21.0

Primary APIs

AreaExports
FactorycreateRuntime, Runtime
Adapter typesRuntimeAdapter, SendToNapplet, RelayPoolAdapter, CacheAdapter, AuthAdapter, Signer, ConfigAdapter, HotkeyAdapter, CryptoAdapter, WindowManagerAdapter, RelayConfigAdapter, DmAdapter
EnforcementcreateEnforceGate, createNapEnforceGate, resolveCapabilitiesNap, formatDenialReason, EnforceResult, EnforceConfig, NapEnforceConfig, IdentityResolver, AclChecker, NapMessage
Session and manifestscreateSessionRegistry, createNappKeyRegistry, createManifestCache, SessionRegistry, NappKeyRegistry, ManifestCache
State and replaycreateAclState, handleStorageNap, cleanupNappState, createReplayDetector, createEventBuffer, matchesFilter, matchesAnyFilter, RING_BUFFER_SIZE
Service dispatchrouteServiceMessage, notifyServiceWindowDestroyed, ServiceHandler, ServiceRegistry, ServiceInfo
Re-exportsCapability, ALL_CAPABILITIES, ServiceDescriptor

Scope Boundaries

  • Owns message dispatch, ACL gates, service routing, storage handling, manifest cache, replay checks, and runtime lifecycle.
  • Does not own browser window, iframe creation, DOM, postMessage listeners, or localStorage implementation details.
  • Browser concerns live in @kehto/shell.

API Reference