Перейти к основному содержимому

SES и ShadowRealm Runtime

Экспериментальный статус

Ссылка на заголовок

Интеграция с SES/ShadowRealm является экспериментальной. @omnicajs/vue-remote можно адаптировать под эту модель, но полноценная поддержка не гарантируется и зависит от возможностей host runtime.

Зачем рассматривать

Ссылка на заголовок
  • capability-oriented sandboxing в пределах одного процесса;
  • более строгие authority boundaries по сравнению с обычным in-memory;
  • потенциальная применимость в high-control extension runtime.

Что важно учитывать

Ссылка на заголовок
  1. Доступность runtime различается между платформами и tooling.
  2. Сторонние пакеты часто требуют адаптации.
  3. Нужен надежный bridge для channel-сообщений и lifecycle.

Концептуальный паттерн интеграции

Ссылка на заголовок
// Псевдокод: форма адаптера зависит от конкретной SES/ShadowRealm реализации.
const realm = createRealm()
const bridge = createRealmBridge(realm) // реализует MessageEndpoint-подобное поведение
const endpoint = createEndpoint<RemoteApi>(bridge)
await endpoint.call.run(receiver.receive, hostBridge)

Практические рекомендации

Ссылка на заголовок
  1. Рассматривайте режим как R&D или controlled pilot capability.
  2. Поддерживайте строгие capability allowlist для API, доступных realm.
  3. Сохраняйте стандартные run/release и cleanup semantics.
  4. Держите fallback transport для production rollout.

Связанные разделы

Ссылка на заголовок