Skip to content

SES And ShadowRealm Runtime

SES/ShadowRealm integration is experimental. @omnicajs/vue-remote can be adapted to this model, but full support is not guaranteed and depends on host runtime capabilities.

  • capability-oriented sandboxing in one process;
  • tighter authority boundaries than plain in-memory integration;
  • potential fit for high-control extension runtimes.
  1. Runtime availability varies by platform and tooling.
  2. Third-party packages may require adaptation.
  3. You still need a robust bridge for channel messages and lifecycle.
// Pseudocode: adapter shape depends on SES/ShadowRealm implementation.
const realm = createRealm()
const bridge = createRealmBridge(realm) // implements MessageEndpoint-like behavior
const endpoint = createEndpoint<RemoteApi>(bridge)
await endpoint.call.run(receiver.receive, hostBridge)
  1. Treat this as R&D or controlled pilot capability.
  2. Maintain strict capability allowlists for realm-exposed APIs.
  3. Preserve standard run/release and cleanup semantics.
  4. Keep a fallback transport for production rollout.