XTend Documentation
Enable dark mode

XTend Developer Center

Build with XTend today

RMT Reference: Remote Surfaces

Remote surfaces describe external UI areas with owner, version, origin, integrity, trust and event facts.

Syntax

OperatorFormAllowed contextsParametersFunctionDiagnosticsRelated operators
from remoteremote surface cart from remote "@scope/cart"remote surface headerstatic stringReferences remote package or manifest.Remote ID must be a string.remote surface
owner teamowner team "checkout-platform"Remote surface, remote eventowner IDSets enterprise ownership.Owner must be a string.version
versionversion "^2.4.0"Remote surfacestringDocuments expected version or range.Value must be a string.origin
originorigin "https://cdn.example"Remote surfacestringSets allowed remote origin.Value must be a string.integrity sha256
integrity sha256integrity sha256 "abc123"Remote surfacealgorithm, digestBinds artifact integrity.Digest must be a string.trust boundary
fallback surfacefallback surface checkout.fallbackRemote surfacesurface referenceDeclares local degradation.Fallback surface must be referenceable.surface
exposes lane ->exposes lane visible -> shell.slot "checkout"Remote surfacelane, shell targetBinds a remote lane to a shell target.-> and shell target are required.lane
emitsemits checkout.updated.v1 { ... }Remote surfaceevent nameDeclares outbound cross-surface event.Event needs direction and payload.direction outbound
consumesconsumes user.changed.v1 { ... }Remote surfaceevent nameDeclares inbound cross-surface event.Event needs direction and payload.direction inbound
direction outbounddirection outboundRemote eventdirectionMarks outbound event.Only outbound or inbound are allowed.emits
direction inbounddirection inboundRemote eventdirectionMarks inbound event.Only outbound or inbound are allowed.consumes
from shell.sessionfrom shell.sessionRemote eventshell scopeBinds event to shell session scope.Source scope must parse.payload
remote payloadpayload "xtend.schemas.event.v1"Remote eventstring schemaDeclares payload schema for remote events.Payload schema must be a string.emits, consumes

Allowed contexts

Remote clauses appear only in remote surface. Remote event clauses appear only in emits or consumes.

Parameters

Remote facts are intentionally static: strings, identifiers, lane names and shell targets.

Description

Remote surface syntax enables discovery and degradation without executing remote code in the RMT kernel.

Examples

remote surface checkout.cart from remote "@xtend/checkout-cart" {
  owner team "checkout-platform"
  version "^2.4.0"
  origin "https://cdn.xtend.example"
  integrity sha256 "abc123"
  trust boundary "xtend.security.remote-surface.v1"
  fallback surface checkout.cart.fallback
  exposes lane visible -> shell.slot "checkout"

  emits checkout.cart.updated.v1 {
    owner team "checkout-platform"
    direction outbound
    lane visible
    from shell.session
    payload "xtend.schemas.cartUpdated.v1"
  }

  consumes user.session.changed.v1 {
    owner team "identity-platform"
    direction inbound
    lane background
    from shell.session
    payload "xtend.schemas.sessionChanged.v1"
  }
}

Diagnostics

Missing owner, version, origin, integrity, trust, fallback or payload facts block remote tooling and security reports.

surface, lane, trust boundary, fallback, emits, consumes.

XScaler preflight

Remote surface hosts can validate scale-out readiness with XScaler Protocol before loading remote code. The preflight response complements owner, integrity, fallback and lane facts with SSR and XTension deployment compatibility.

(c) 2026 - CCS Networks | Powered by XRouter PHP Extension