ReadonlyaclAccess the ACL state container.
ReadonlyfirewallAccess the firewall state container (for tests to pre-set policy/rules).
ReadonlymanifestAccess the manifest cache.
ReadonlysessionAccess the identity registry (for shell adapter to read napplet session state).
Destroy the runtime, persisting state and clearing all internal state.
Clean up all state associated with a napplet window. Removes subscriptions, pending state, and notifies service handlers.
The window to clean up
Handle an incoming NIP-5D NappletMessage envelope from a napplet. The caller is responsible for identifying the source (windowId). Legacy NIP-01 arrays are silently dropped (clean break — no dual-mode).
The identifier of the napplet that sent the message
The raw message (NappletMessage envelopes are processed; other types dropped)
Inject a shell-originated event into subscription delivery.
The event topic tag value
The event content
Register a handler for consent requests on destructive signing kinds.
Register a service handler dynamically after runtime creation. If a handler is already registered for this name, it is replaced.
Service name (e.g., 'audio', 'notifications')
The service handler implementation
Unregister a service handler by name. No-op if the name is not registered.
Service name to remove
The napplet protocol engine — handles NIP-5D NAP domain dispatch, ACL enforcement, subscription lifecycle.
Example