Route a napplet-originated keys.* envelope (e.g. keys.forward,
keys.registerAction) into the runtime.
The source napplet's windowId
The NIP-5D NappletMessage envelope
Push a shell-initiated keys-domain envelope (e.g. keys.action,
keys.bindings) into a napplet iframe.
Paired with keys-forwarder.ts: the forwarder targets the DOM
keydown → keys.forward path; this emit covers the complementary
host-initiated pushes (binding updates, action triggers).
No-op when the originRegistry cannot resolve the windowId (unknown or unregistered napplet). Never throws.
The target napplet's windowId
The NIP-5D NappletMessage envelope to deliver
Per-domain proxy for
keys.*envelopes.Shape:
dispatchroutes napplet→shell requests into the runtime;emitpushes shell→napplet envelopes through the iframe's Window.